DiamondLoupeFacet

package
v0.0.0-...-7f37db9 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2025 License: MIT Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NativeTokenAddress = "0x0000000000000000000000000000000000000000"
)

Variables

View Source
var DiamondLoupeFacetABI = DiamondLoupeFacetMetaData.ABI

DiamondLoupeFacetABI is the input ABI used to generate the binding from. Deprecated: Use DiamondLoupeFacetMetaData.ABI instead.

View Source
var DiamondLoupeFacetBin = DiamondLoupeFacetMetaData.Bin

DiamondLoupeFacetBin is the compiled bytecode used for deploying new contracts. Deprecated: Use DiamondLoupeFacetMetaData.Bin instead.

View Source
var DiamondLoupeFacetMetaData = &bind.MetaData{
	ABI: "[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_functionSelector\",\"type\":\"bytes4\"}],\"name\":\"facetAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"facetAddress_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"facetAddresses\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"facetAddresses_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_facet\",\"type\":\"address\"}],\"name\":\"facetFunctionSelectors\",\"outputs\":[{\"internalType\":\"bytes4[]\",\"name\":\"facetFunctionSelectors_\",\"type\":\"bytes4[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"facets\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"facetAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"functionSelectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"structIDiamondLoupe.Facet[]\",\"name\":\"facets_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"_interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
	Bin: "0x6080604052348015600f57600080fd5b506107ea8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c80637a0ed627116100505780637a0ed627146100fa578063adfca15e1461010f578063cdffacc61461012f57600080fd5b806301ffc9a71461006c57806352ef6b2c146100e5575b600080fd5b6100d061007a36600461055d565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f602052604090205460ff1690565b60405190151581526020015b60405180910390f35b6100ed6101cb565b6040516100dc91906105a6565b61010261025d565b6040516100dc919061065d565b61012261011d36600461070d565b61045d565b6040516100dc9190610743565b6101a661013d36600461055d565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100dc565b606060007fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6002810180546040805160208084028201810190925282815293945083018282801561025257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610227575b505050505091505090565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e546060907fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c908067ffffffffffffffff8111156102bd576102bd610756565b60405190808252806020026020018201604052801561030357816020015b6040805180820190915260008152606060208201528152602001906001900390816102db5790505b50925060005b8181101561045757600083600201828154811061032857610328610785565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508085838151811061036857610368610785565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff928316905290821660009081526001860182526040908190208054825181850281018501909352808352919290919083018282801561042957602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116103d65790505b505050505085838151811061044057610440610785565b602090810291909101810151015250600101610309565b50505090565b73ffffffffffffffffffffffffffffffffffffffff811660009081527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d602090815260409182902080548351818402810184019094528084526060937fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c939092919083018282801561055057602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104fd5790505b5050505050915050919050565b60006020828403121561056f57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461059f57600080fd5b9392505050565b602080825282518282018190526000918401906040840190835b818110156105f457835173ffffffffffffffffffffffffffffffffffffffff168352602093840193909201916001016105c0565b509095945050505050565b600081518084526020840193506020830160005b828110156106535781517fffffffff0000000000000000000000000000000000000000000000000000000016865260209586019590910190600101610613565b5093949350505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015610701577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0878603018452815173ffffffffffffffffffffffffffffffffffffffff815116865260208101519050604060208701526106eb60408701826105ff565b9550506020938401939190910190600101610685565b50929695505050505050565b60006020828403121561071f57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461059f57600080fd5b60208152600061059f60208301846105ff565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea264697066735822122033b0e57e114ca0b2e6771fc71e95e93c8ddc6c6de77fdc29d6960b8b6629af6764736f6c634300081c0033",
}

DiamondLoupeFacetMetaData contains all meta data concerning the DiamondLoupeFacet contract.

View Source
var ErrNoRPCURL error = errors.New("no RPC URL provided -- please pass an RPC URL from the command line or set the DIAMOND_LOUPE_FACET_RPC_URL environment variable")

Functions

func CalculateSafeTxHash

func CalculateSafeTxHash(safeAddress common.Address, txData SafeTransactionData, chainID *big.Int) (common.Hash, error)

func CreateDiamondLoupeFacetCommand

func CreateDiamondLoupeFacetCommand() *cobra.Command

func CreateDiamondLoupeFacetDeploymentCommand

func CreateDiamondLoupeFacetDeploymentCommand() *cobra.Command

func CreateFacetAddressCommand

func CreateFacetAddressCommand() *cobra.Command

func CreateFacetAddressesCommand

func CreateFacetAddressesCommand() *cobra.Command

func CreateFacetFunctionSelectorsCommand

func CreateFacetFunctionSelectorsCommand() *cobra.Command

func CreateFacetsCommand

func CreateFacetsCommand() *cobra.Command

func CreateSafeProposal

func CreateSafeProposal(client *ethclient.Client, key *keystore.Key, safeAddress common.Address, to common.Address, data []byte, value *big.Int, safeApi string, safeOperationType SafeOperationType, safeNonce *big.Int) error

func CreateSupportsInterfaceCommand

func CreateSupportsInterfaceCommand() *cobra.Command

func DeployWithSafe

func DeployWithSafe(client *ethclient.Client, key *keystore.Key, safeAddress common.Address, factoryAddress common.Address, value *big.Int, safeApi string, deployBytecode []byte, safeOperationType SafeOperationType, salt [32]byte, safeNonce *big.Int) error

func KeyFromFile

func KeyFromFile(keystoreFile string, password string) (*keystore.Key, error)

Loads a key from file, prompting the user for the password if it is not provided as a function argument.

func NewChainContext

func NewChainContext(timeout uint) (context.Context, context.CancelFunc)

Creates a new context to be used when interacting with the chain client.

func NewClient

func NewClient(rpcURL string) (*ethclient.Client, error)

Generates an Ethereum client to the JSONRPC API at the given URL. If rpcURL is empty, then it attempts to read the RPC URL from the DIAMOND_LOUPE_FACET_RPC_URL environment variable. If that is empty, too, then it returns an error.

func PredictDeploymentAddressSafe

func PredictDeploymentAddressSafe(from common.Address, salt [32]byte, deployBytecode []byte) (common.Address, error)

func SetCallParametersFromArgs

func SetCallParametersFromArgs(opts *bind.CallOpts, pending bool, fromAddress, blockNumber string)

This method is used to set the parameters on a view call from command line arguments (represented mostly as strings).

func SetTransactionParametersFromArgs

func SetTransactionParametersFromArgs(opts *bind.TransactOpts, nonce, value, gasPrice, maxFeePerGas, maxPriorityFeePerGas string, gasLimit uint64, noSend bool)

This method is used to set the parameters on a transaction from command line arguments (represented mostly as strings).

func UnlockKeystore

func UnlockKeystore(keystoreData []byte, password string) (*keystore.Key, error)

Unlocks a key from a keystore (byte contents of a keystore file) with the given password.

Types

type DiamondLoupeFacet

type DiamondLoupeFacet struct {
	DiamondLoupeFacetCaller     // Read-only binding to the contract
	DiamondLoupeFacetTransactor // Write-only binding to the contract
	DiamondLoupeFacetFilterer   // Log filterer for contract events
}

DiamondLoupeFacet is an auto generated Go binding around an Ethereum contract.

func DeployDiamondLoupeFacet

func DeployDiamondLoupeFacet(auth *bind.TransactOpts, backend bind.ContractBackend) (common.Address, *types.Transaction, *DiamondLoupeFacet, error)

DeployDiamondLoupeFacet deploys a new Ethereum contract, binding an instance of DiamondLoupeFacet to it.

func NewDiamondLoupeFacet

func NewDiamondLoupeFacet(address common.Address, backend bind.ContractBackend) (*DiamondLoupeFacet, error)

NewDiamondLoupeFacet creates a new instance of DiamondLoupeFacet, bound to a specific deployed contract.

type DiamondLoupeFacetCaller

type DiamondLoupeFacetCaller struct {
	// contains filtered or unexported fields
}

DiamondLoupeFacetCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewDiamondLoupeFacetCaller

func NewDiamondLoupeFacetCaller(address common.Address, caller bind.ContractCaller) (*DiamondLoupeFacetCaller, error)

NewDiamondLoupeFacetCaller creates a new read-only instance of DiamondLoupeFacet, bound to a specific deployed contract.

func (*DiamondLoupeFacetCaller) FacetAddress

func (_DiamondLoupeFacet *DiamondLoupeFacetCaller) FacetAddress(opts *bind.CallOpts, _functionSelector [4]byte) (common.Address, error)

FacetAddress is a free data retrieval call binding the contract method 0xcdffacc6.

Solidity: function facetAddress(bytes4 _functionSelector) view returns(address facetAddress_)

func (*DiamondLoupeFacetCaller) FacetAddresses

func (_DiamondLoupeFacet *DiamondLoupeFacetCaller) FacetAddresses(opts *bind.CallOpts) ([]common.Address, error)

FacetAddresses is a free data retrieval call binding the contract method 0x52ef6b2c.

Solidity: function facetAddresses() view returns(address[] facetAddresses_)

func (*DiamondLoupeFacetCaller) FacetFunctionSelectors

func (_DiamondLoupeFacet *DiamondLoupeFacetCaller) FacetFunctionSelectors(opts *bind.CallOpts, _facet common.Address) ([][4]byte, error)

FacetFunctionSelectors is a free data retrieval call binding the contract method 0xadfca15e.

Solidity: function facetFunctionSelectors(address _facet) view returns(bytes4[] facetFunctionSelectors_)

func (*DiamondLoupeFacetCaller) Facets

func (_DiamondLoupeFacet *DiamondLoupeFacetCaller) Facets(opts *bind.CallOpts) ([]IDiamondLoupeFacet, error)

Facets is a free data retrieval call binding the contract method 0x7a0ed627.

Solidity: function facets() view returns((address,bytes4[])[] facets_)

func (*DiamondLoupeFacetCaller) SupportsInterface

func (_DiamondLoupeFacet *DiamondLoupeFacetCaller) SupportsInterface(opts *bind.CallOpts, _interfaceId [4]byte) (bool, error)

SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.

Solidity: function supportsInterface(bytes4 _interfaceId) view returns(bool)

type DiamondLoupeFacetCallerRaw

type DiamondLoupeFacetCallerRaw struct {
	Contract *DiamondLoupeFacetCaller // Generic read-only contract binding to access the raw methods on
}

DiamondLoupeFacetCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*DiamondLoupeFacetCallerRaw) Call

func (_DiamondLoupeFacet *DiamondLoupeFacetCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type DiamondLoupeFacetCallerSession

type DiamondLoupeFacetCallerSession struct {
	Contract *DiamondLoupeFacetCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts            // Call options to use throughout this session
}

DiamondLoupeFacetCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*DiamondLoupeFacetCallerSession) FacetAddress

func (_DiamondLoupeFacet *DiamondLoupeFacetCallerSession) FacetAddress(_functionSelector [4]byte) (common.Address, error)

FacetAddress is a free data retrieval call binding the contract method 0xcdffacc6.

Solidity: function facetAddress(bytes4 _functionSelector) view returns(address facetAddress_)

func (*DiamondLoupeFacetCallerSession) FacetAddresses

func (_DiamondLoupeFacet *DiamondLoupeFacetCallerSession) FacetAddresses() ([]common.Address, error)

FacetAddresses is a free data retrieval call binding the contract method 0x52ef6b2c.

Solidity: function facetAddresses() view returns(address[] facetAddresses_)

func (*DiamondLoupeFacetCallerSession) FacetFunctionSelectors

func (_DiamondLoupeFacet *DiamondLoupeFacetCallerSession) FacetFunctionSelectors(_facet common.Address) ([][4]byte, error)

FacetFunctionSelectors is a free data retrieval call binding the contract method 0xadfca15e.

Solidity: function facetFunctionSelectors(address _facet) view returns(bytes4[] facetFunctionSelectors_)

func (*DiamondLoupeFacetCallerSession) Facets

func (_DiamondLoupeFacet *DiamondLoupeFacetCallerSession) Facets() ([]IDiamondLoupeFacet, error)

Facets is a free data retrieval call binding the contract method 0x7a0ed627.

Solidity: function facets() view returns((address,bytes4[])[] facets_)

func (*DiamondLoupeFacetCallerSession) SupportsInterface

func (_DiamondLoupeFacet *DiamondLoupeFacetCallerSession) SupportsInterface(_interfaceId [4]byte) (bool, error)

SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.

Solidity: function supportsInterface(bytes4 _interfaceId) view returns(bool)

type DiamondLoupeFacetFilterer

type DiamondLoupeFacetFilterer struct {
	// contains filtered or unexported fields
}

DiamondLoupeFacetFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewDiamondLoupeFacetFilterer

func NewDiamondLoupeFacetFilterer(address common.Address, filterer bind.ContractFilterer) (*DiamondLoupeFacetFilterer, error)

NewDiamondLoupeFacetFilterer creates a new log filterer instance of DiamondLoupeFacet, bound to a specific deployed contract.

type DiamondLoupeFacetRaw

type DiamondLoupeFacetRaw struct {
	Contract *DiamondLoupeFacet // Generic contract binding to access the raw methods on
}

DiamondLoupeFacetRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*DiamondLoupeFacetRaw) Call

func (_DiamondLoupeFacet *DiamondLoupeFacetRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*DiamondLoupeFacetRaw) Transact

func (_DiamondLoupeFacet *DiamondLoupeFacetRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*DiamondLoupeFacetRaw) Transfer

func (_DiamondLoupeFacet *DiamondLoupeFacetRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type DiamondLoupeFacetSession

type DiamondLoupeFacetSession struct {
	Contract     *DiamondLoupeFacet // Generic contract binding to set the session for
	CallOpts     bind.CallOpts      // Call options to use throughout this session
	TransactOpts bind.TransactOpts  // Transaction auth options to use throughout this session
}

DiamondLoupeFacetSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*DiamondLoupeFacetSession) FacetAddress

func (_DiamondLoupeFacet *DiamondLoupeFacetSession) FacetAddress(_functionSelector [4]byte) (common.Address, error)

FacetAddress is a free data retrieval call binding the contract method 0xcdffacc6.

Solidity: function facetAddress(bytes4 _functionSelector) view returns(address facetAddress_)

func (*DiamondLoupeFacetSession) FacetAddresses

func (_DiamondLoupeFacet *DiamondLoupeFacetSession) FacetAddresses() ([]common.Address, error)

FacetAddresses is a free data retrieval call binding the contract method 0x52ef6b2c.

Solidity: function facetAddresses() view returns(address[] facetAddresses_)

func (*DiamondLoupeFacetSession) FacetFunctionSelectors

func (_DiamondLoupeFacet *DiamondLoupeFacetSession) FacetFunctionSelectors(_facet common.Address) ([][4]byte, error)

FacetFunctionSelectors is a free data retrieval call binding the contract method 0xadfca15e.

Solidity: function facetFunctionSelectors(address _facet) view returns(bytes4[] facetFunctionSelectors_)

func (*DiamondLoupeFacetSession) Facets

func (_DiamondLoupeFacet *DiamondLoupeFacetSession) Facets() ([]IDiamondLoupeFacet, error)

Facets is a free data retrieval call binding the contract method 0x7a0ed627.

Solidity: function facets() view returns((address,bytes4[])[] facets_)

func (*DiamondLoupeFacetSession) SupportsInterface

func (_DiamondLoupeFacet *DiamondLoupeFacetSession) SupportsInterface(_interfaceId [4]byte) (bool, error)

SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.

Solidity: function supportsInterface(bytes4 _interfaceId) view returns(bool)

type DiamondLoupeFacetTransactor

type DiamondLoupeFacetTransactor struct {
	// contains filtered or unexported fields
}

DiamondLoupeFacetTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewDiamondLoupeFacetTransactor

func NewDiamondLoupeFacetTransactor(address common.Address, transactor bind.ContractTransactor) (*DiamondLoupeFacetTransactor, error)

NewDiamondLoupeFacetTransactor creates a new write-only instance of DiamondLoupeFacet, bound to a specific deployed contract.

type DiamondLoupeFacetTransactorRaw

type DiamondLoupeFacetTransactorRaw struct {
	Contract *DiamondLoupeFacetTransactor // Generic write-only contract binding to access the raw methods on
}

DiamondLoupeFacetTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*DiamondLoupeFacetTransactorRaw) Transact

func (_DiamondLoupeFacet *DiamondLoupeFacetTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*DiamondLoupeFacetTransactorRaw) Transfer

func (_DiamondLoupeFacet *DiamondLoupeFacetTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type DiamondLoupeFacetTransactorSession

type DiamondLoupeFacetTransactorSession struct {
	Contract     *DiamondLoupeFacetTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts            // Transaction auth options to use throughout this session
}

DiamondLoupeFacetTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

type IDiamondLoupeFacet

type IDiamondLoupeFacet struct {
	FacetAddress      common.Address
	FunctionSelectors [][4]byte
}

type SafeOperationType

type SafeOperationType uint8

SafeOperationType represents the type of operation for a Safe transaction

const (
	Call         SafeOperationType = 0
	DelegateCall SafeOperationType = 1
)

func (SafeOperationType) String

func (o SafeOperationType) String() string

String returns the string representation of the SafeOperationType

type SafeTransactionData

type SafeTransactionData struct {
	To             string            `json:"to"`
	Value          string            `json:"value"`
	Data           string            `json:"data"`
	Operation      SafeOperationType `json:"operation"`
	SafeTxGas      uint64            `json:"safeTxGas"`
	BaseGas        uint64            `json:"baseGas"`
	GasPrice       string            `json:"gasPrice"`
	GasToken       string            `json:"gasToken"`
	RefundReceiver string            `json:"refundReceiver"`
	Nonce          *big.Int          `json:"nonce"`
	SafeTxHash     string            `json:"safeTxHash"`
	Sender         string            `json:"sender"`
	Signature      string            `json:"signature"`
	Origin         string            `json:"origin"`
}

SafeTransactionData represents the data for a Safe transaction

Jump to

Keyboard shortcuts

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