proposeutils

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2026 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultValidUntil = 72 * time.Hour
)

Variables

This section is empty.

Functions

func AggregateProposals deprecated

func AggregateProposals(
	env cldf.Environment,
	mcmsEVMState map[uint64]evmstate.MCMSWithTimelockState,
	mcmsSolanaState map[uint64]solstate.MCMSWithTimelockState,
	proposals []mcmslib.TimelockProposal,
	description string,
	mcmsConfig *cldfproposalutils.TimelockConfig,
) (*mcmslib.TimelockProposal, error)

AggregateProposals aggregates multiple MCMS proposals into a single proposal by combining their operations, and setting up the proposers and inspectors for each chain. It returns a single MCMS proposal that can be executed and signed.

Deprecated: Use extensible AggregateProposalsV2 instead. Which accepts multiple chain families.

func AggregateProposalsV2

func AggregateProposalsV2(
	env cldf.Environment,
	mcmsTimelockStates MCMSStates,
	proposals []mcmslib.TimelockProposal,
	description string,
	mcmsConfig *cldfproposalutils.TimelockConfig,
	opts ...BuildProposalOption,
) (*mcmslib.TimelockProposal, error)

AggregateProposalsV2 aggregates multiple MCMS proposals into a single proposal by combining their operations, and setting up the proposers and inspectors for each chain. It returns a single MCMS proposal that can be executed and signed. It has an extensible signature to allow for future chain families implementations

func BuildProposalFromBatchesV2

func BuildProposalFromBatchesV2(
	e cldf.Environment,
	timelockAddressPerChain map[uint64]string,
	mcmsAddressPerChain map[uint64]string,
	inspectorPerChain map[uint64]mcmssdk.Inspector,
	batches []types.BatchOperation,
	description string,
	mcmsCfg cldfproposalutils.TimelockConfig,
	opts ...BuildProposalOption,
) (*mcmslib.TimelockProposal, error)

BuildProposalFromBatchesV2 uses the new MCMS library which replaces the implementation in BuildProposalFromBatches.

Types

type BuildProposalOption

type BuildProposalOption func(*buildProposalOptions)

func WithChainMetadata

func WithChainMetadata(chainMetadata ChainMetadata) BuildProposalOption

type ChainMetadata

type ChainMetadata map[uint64]map[string]any

func (*ChainMetadata) Set

func (c *ChainMetadata) Set(chainSelector uint64, key string, value any) *ChainMetadata

type MCMSStates

type MCMSStates struct {
	MCMSEVMState    map[uint64]evmstate.MCMSWithTimelockState
	MCMSSolanaState map[uint64]solstate.MCMSWithTimelockState
	MCMSAptosState  map[uint64]aptos.AccountAddress
	MCMSTONState    map[uint64]tonstate.MCMSChainState
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL