intentbuilder

package
v1.13.1 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2025 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func KeyToAddrProvider

func KeyToAddrProvider(t require.TestingT, dk devkeys.Keys) func(k devkeys.Key) common.Address

func RoleToAddrProvider

func RoleToAddrProvider(t require.TestingT, dk devkeys.Keys, chainID eth.ChainID) func(k devkeys.Role) common.Address

func WithDevkeyRoles

func WithDevkeyRoles(t require.TestingT, dk devkeys.Keys, configurator L2Configurator)

func WithDevkeySuperRoles

func WithDevkeySuperRoles(t require.TestingT, dk devkeys.Keys, l1ID eth.ChainID, configurator SuperchainConfigurator)

func WithDevkeyVaults

func WithDevkeyVaults(t require.TestingT, dk devkeys.Keys, configurator L2Configurator)

Types

type Builder

type Builder interface {
	WithL1ContractsLocator(loc *artifacts.Locator) Builder
	WithL2ContractsLocator(loc *artifacts.Locator) Builder

	WithSuperchain() (Builder, SuperchainConfigurator)
	WithL1(l1ChainID eth.ChainID) (Builder, L1Configurator)
	WithL2(l2ChainID eth.ChainID) (Builder, L2Configurator)
	Build() (*state.Intent, error)
}

func New

func New() Builder

type ContractsConfigurator

type ContractsConfigurator interface {
	WithL1ContractsLocator(url string)
	WithL2ContractsLocator(url string)
}

type L1Configurator

type L1Configurator interface {
	WithChainID(chainID eth.ChainID) L1Configurator
	WithTimestamp(v uint64) L1Configurator
	WithGasLimit(v uint64) L1Configurator
	WithExcessBlobGas(v uint64) L1Configurator
	WithPragueOffset(v uint64) L1Configurator
	WithPrefundedAccount(addr common.Address, amount uint256.Int) L1Configurator
}

type L2Configurator

type L2Configurator interface {
	L1Config() L1Configurator
	ChainID() eth.ChainID
	WithBlockTime(uint64)
	WithL1StartBlockHash(hash common.Hash)
	ContractsConfigurator
	L2VaultsConfigurator
	L2RolesConfigurator
	L2FeesConfigurator
	L2HardforkConfigurator
	WithPrefundedAccount(addr common.Address, amount uint256.Int) L2Configurator
}

type L2FeesConfigurator

type L2FeesConfigurator interface {
	WithEIP1559DenominatorCanyon(uint64)
	WithEIP1559Denominator(uint64)
	WithEIP1559Elasticity(uint64)
	WithOperatorFeeScalar(uint64)
	WithOperatorFeeConstant(uint64)
}

type L2HardforkConfigurator

type L2HardforkConfigurator interface {
	WithForkAtGenesis(fork rollup.ForkName)
	WithForkAtOffset(fork rollup.ForkName, offset *uint64)
}

type L2RolesConfigurator

type L2RolesConfigurator interface {
	WithL1ProxyAdminOwner(address common.Address)
	WithL2ProxyAdminOwner(address common.Address)
	WithSystemConfigOwner(address common.Address)
	WithUnsafeBlockSigner(address common.Address)
	WithBatcher(address common.Address)
	WithProposer(address common.Address)
	WithChallenger(address common.Address)
}

type L2VaultsConfigurator

type L2VaultsConfigurator interface {
	WithBaseFeeVaultRecipient(address common.Address)
	WithSequencerFeeVaultRecipient(address common.Address)
	WithL1FeeVaultRecipient(address common.Address)
}

type SuperchainConfigurator

type SuperchainConfigurator interface {
	ID() SuperchainID
	WithSuperchainConfigProxy(address common.Address) SuperchainConfigurator
	WithProxyAdminOwner(address common.Address) SuperchainConfigurator
	WithGuardian(address common.Address) SuperchainConfigurator
	WithProtocolVersionsOwner(address common.Address) SuperchainConfigurator
}

type SuperchainID

type SuperchainID string

Jump to

Keyboard shortcuts

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