Documentation
¶
Index ¶
- func GenerateGenesisActions(genesis []GenesisEntity) []*state.GenesisAction
- type GenesisAccount
- type GenesisEntity
- type GenesisSmartContract
- type Leaf
- type LeafV2
- type Overwrite
- type Receipt
- type StateTransitionTestCase
- type StateTransitionTestCaseV2
- type TestReceipt
- type Tx
- type TxEventsSendBatchTestCase
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateGenesisActions ¶
func GenerateGenesisActions(genesis []GenesisEntity) []*state.GenesisAction
Types ¶
type GenesisAccount ¶
type GenesisAccount struct {
Address string `json:"address"`
PvtKey string `json:"pvtKey"`
Balance argBigInt `json:"balance"`
Nonce string `json:"nonce"`
}
GenesisAccount represents the state of an account when the network starts
type GenesisEntity ¶
type GenesisEntity struct {
Address string `json:"address"`
PvtKey *string `json:"pvtKey"`
Balance argBigInt `json:"balance"`
Nonce string `json:"nonce"`
Storage map[string]string `json:"storage"`
IsSmartContract bool `json:"isSmartContract"`
Bytecode *string `json:"bytecode"`
}
GenesisEntity represents the state of an account or smart contract when the network starts
type GenesisSmartContract ¶
GenesisSmartContract represents the smart contract to init when the network starts
type Leaf ¶
type Leaf struct {
Balance argBigInt `json:"balance"`
Nonce string `json:"nonce"`
}
Leaf represents the state of a leaf in the merkle tree
type LeafV2 ¶
type LeafV2 struct {
Address string `json:"address"`
Balance argBigInt `json:"balance"`
Nonce string `json:"nonce"`
Storage map[string]string `json:"storage"`
IsSmartContract bool `json:"isSmartContract"`
Bytecode string `json:"bytecode"`
HashBytecode string `json:"hashBytecode"`
BytecodeLength int `json:"bytecodeLength"`
}
LeafV2 represents the state of a leaf in the merkle tree
type Overwrite ¶
type Overwrite struct {
S string `json:"s"`
}
Overwrite is used by Protocol team for testing
type Receipt ¶
type Receipt struct {
TransactionHash string `json:"transactionHash"`
TransactionIndex uint `json:"transactionIndex"`
BlockNumber uint64 `json:"blockNumber"`
From string `json:"from"`
To string `json:"to"`
CumulativeGastUsed uint64 `json:"cumulativeGasUsed"`
GasUsedForTx uint64 `json:"gasUsedForTx"`
ContractAddress string `json:"contractAddress"`
Logs uint64 `json:"logs"`
LogsBloom uint64 `json:"logsBloom"`
Status uint64 `json:"status"`
BlockHash string `json:"blockHash"`
}
Receipt is the receipt used for receipts tests
type StateTransitionTestCase ¶
type StateTransitionTestCase struct {
ID uint `json:"id"`
Description string `json:"description"`
ChainIDSequencer uint64 `json:"chainIdSequencer"`
SequencerAddress string `json:"sequencerAddress"`
SequencerPrivateKey string `json:"sequencerPvtKey"`
GenesisAccounts []GenesisAccount `json:"genesis"`
GenesisSmartContracts []GenesisSmartContract `json:"genesisSC"`
ExpectedOldRoot string `json:"expectedOldRoot"`
Txs []Tx `json:"txs"`
ExpectedNewRoot string `json:"expectedNewRoot"`
ExpectedNewLeafs map[string]Leaf `json:"expectedNewLeafs"`
Receipts []TestReceipt `json:"receipts"`
GlobalExitRoot string `json:"globalExitRoot"`
}
StateTransitionTestCase holds the metadata needed to run a state transition test
func LoadStateTransitionTestCases ¶
func LoadStateTransitionTestCases(path string) ([]StateTransitionTestCase, error)
LoadStateTransitionTestCases loads the state-transition.json into a StateTransitionVector instance
type StateTransitionTestCaseV2 ¶
type StateTransitionTestCaseV2 struct {
Description string `json:"Description"`
Genesis []GenesisEntity `json:"genesis"`
ExpectedOldStateRoot string `json:"expectedOldStateRoot"`
ExpectedNewStateRoot string `json:"expectedNewStateRoot"`
ExpectedNewLeafs []LeafV2 `json:"expectedNewLeafs"`
Receipts []TestReceipt `json:"receipts"`
GlobalExitRoot string `json:"globalExitRoot"`
BatchL2Data string `json:"batchL2Data"`
}
StateTransitionTestCaseV2 holds the metadata needed to run a state transition test
func LoadStateTransitionTestCaseV2 ¶
func LoadStateTransitionTestCaseV2(path string) (StateTransitionTestCaseV2, error)
LoadStateTransitionTestCaseV2 loads the state-transition JSON file into a StateTransitionTestCaseV2 instance
type TestReceipt ¶
TestReceipt holds the metadata needed to run the receipt tests
type Tx ¶
type Tx struct {
ID uint `json:"id"`
From string `json:"from"`
To string `json:"to"`
Nonce uint64 `json:"nonce"`
Value *big.Float `json:"value"`
GasLimit uint64 `json:"gasLimit"`
GasPrice *big.Float `json:"gasPrice"`
ChainID uint64 `json:"chainId"`
RawTx string `json:"rawTx"`
Overwrite Overwrite `json:"overwrite"`
EncodeInvalidData bool `json:"encodeInvalidData"`
Reason string `json:"reason"`
}
Tx represents a transactions that will be applied during the test
type TxEventsSendBatchTestCase ¶
type TxEventsSendBatchTestCase struct {
ID uint `json:"id"`
Txs []Tx `json:"txs"`
BatchL2Data string `json:"batchL2Data"`
BatchHashData common.Hash `json:"batchHashData"`
MaticAmount string `json:"maticAmount"`
FullCallData string `json:"fullCallData"`
}
TxEventsSendBatchTestCase holds the metadata needed to run a etherman test
func LoadTxEventsSendBatchTestCases ¶
func LoadTxEventsSendBatchTestCases(path string) ([]TxEventsSendBatchTestCase, error)
LoadTxEventsSendBatchTestCases loads the calldata-test-vector.json