Files
node/vms/platformvm/txs/visitor.go
T
zeekay 20d36b36aa Restore ConvertNetworkTx as the promote endomorphism (Create ≠ Convert)
Create and Convert are orthogonal arrows: CreateNetworkTx = ∅→Network (birth,
sovereign-or-inherited); ConvertNetworkTx = Network→Network (promote an
existing network: inherited→sovereign, re-anchor parent — L2→L1, L3→L1, with
owner auth). Only CreateSovereignL1 stays folded (it was birth+sovereign, not
a distinct op). Both reuse the NetworkValidator component. Round-trip green
incl L2→L1 promote.
2026-07-10 12:13:15 -07:00

32 lines
1.1 KiB
Go

// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
// See the file LICENSE for licensing terms.
package txs
// Allow vm to execute custom logic against the underlying transaction types.
type Visitor interface {
AddValidatorTx(*AddValidatorTx) error
AddChainValidatorTx(*AddChainValidatorTx) error
AddDelegatorTx(*AddDelegatorTx) error
CreateNetworkTx(*CreateNetworkTx) error
ConvertNetworkTx(*ConvertNetworkTx) error
CreateChainTx(*CreateChainTx) error
ImportTx(*ImportTx) error
ExportTx(*ExportTx) error
AdvanceTimeTx(*AdvanceTimeTx) error
RewardValidatorTx(*RewardValidatorTx) error
RemoveChainValidatorTx(*RemoveChainValidatorTx) error
TransformChainTx(*TransformChainTx) error
AddPermissionlessValidatorTx(*AddPermissionlessValidatorTx) error
AddPermissionlessDelegatorTx(*AddPermissionlessDelegatorTx) error
TransferChainOwnershipTx(*TransferChainOwnershipTx) error
BaseTx(*BaseTx) error
RegisterL1ValidatorTx(*RegisterL1ValidatorTx) error
SetL1ValidatorWeightTx(*SetL1ValidatorWeightTx) error
IncreaseL1ValidatorBalanceTx(*IncreaseL1ValidatorBalanceTx) error
DisableL1ValidatorTx(*DisableL1ValidatorTx) error
}