Documentation ¶
Overview ¶
Copyright (c) 2023-2024 Nibi, Inc.
Copyright (c) 2023-2024 Nibi, Inc.
Index ¶
- Variables
- func AssertERC20BalanceEqual(t *testing.T, deps TestDeps, erc20, account gethcommon.Address, ...)
- func CreateContractMsgEthereumTx(args ArgsCreateContract) (msgEthereumTx *evm.MsgEthereumTx, err error)
- func CreateFunTokenForBankCoin(deps *TestDeps, bankDenom string, s *suite.Suite) (funtoken evm.FunToken)
- func DeployAndExecuteERC20Transfer(deps *TestDeps, t *testing.T) (*evm.MsgEthereumTx, []*evm.MsgEthereumTx)
- func ExecuteContractMsgEthereumTx(args ArgsExecuteContract) (msgEthereumTx *evm.MsgEthereumTx, err error)
- func ExecuteNibiTransfer(deps *TestDeps, t *testing.T) *evm.MsgEthereumTx
- func GasLimitCreateContract() *big.Int
- func GenerateAndSignEthTxMsg(jsonTxArgs evm.JsonTxArgs, deps *TestDeps) (*evm.MsgEthereumTx, error)
- func HappyCreateContractTx(deps *TestDeps) *evm.MsgEthereumTx
- func HappyTransferTx(deps *TestDeps, nonce uint64) *evm.MsgEthereumTx
- func NewEthTxMsgAsCmt(t *testing.T) (txBz cmt.Tx, ethTxMsgs []*evm.MsgEthereumTx, clientCtx client.Context)
- func NewEthTxMsgFromTxData(deps *TestDeps, txType GethTxType, innerTxData []byte, nonce uint64, ...) (*evm.MsgEthereumTx, error)
- func NewEthTxMsgs(count uint64) (ethTxMsgs []*evm.MsgEthereumTx)
- func NewSigner(sk cryptotypes.PrivKey) keyring.Signer
- func NonEvmMsgTx(deps *TestDeps) sdk.Tx
- func TransferWei(deps *TestDeps, to gethcommon.Address, amountWei *big.Int) error
- func TxTemplateAccessListTx() *gethcore.AccessListTx
- func TxTemplateDynamicFeeTx() *gethcore.DynamicFeeTx
- func TxTemplateLegacyTx() *gethcore.LegacyTx
- func ValidLegacyTx() *evm.LegacyTx
- type ArgsCreateContract
- type ArgsExecuteContract
- type DeployContractResult
- type EthPrivKeyAcc
- type GethTxType
- type Signer
- type TestDeps
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func AssertERC20BalanceEqual ¶
func CreateContractMsgEthereumTx ¶
func CreateContractMsgEthereumTx( args ArgsCreateContract, ) (msgEthereumTx *evm.MsgEthereumTx, err error)
func CreateFunTokenForBankCoin ¶
func CreateFunTokenForBankCoin( deps *TestDeps, bankDenom string, s *suite.Suite, ) (funtoken evm.FunToken)
CreateFunTokenForBankCoin: Uses the "TestDeps.Sender" account to create a "FunToken" mapping for a new coin
func DeployAndExecuteERC20Transfer ¶
func DeployAndExecuteERC20Transfer( deps *TestDeps, t *testing.T, ) (*evm.MsgEthereumTx, []*evm.MsgEthereumTx)
DeployAndExecuteERC20Transfer deploys contract, executes transfer and returns tx hash
func ExecuteContractMsgEthereumTx ¶
func ExecuteContractMsgEthereumTx(args ArgsExecuteContract) (msgEthereumTx *evm.MsgEthereumTx, err error)
func ExecuteNibiTransfer ¶
func ExecuteNibiTransfer(deps *TestDeps, t *testing.T) *evm.MsgEthereumTx
ExecuteNibiTransfer executes nibi transfer
func GasLimitCreateContract ¶
func GenerateAndSignEthTxMsg ¶
func GenerateAndSignEthTxMsg( jsonTxArgs evm.JsonTxArgs, deps *TestDeps, ) (*evm.MsgEthereumTx, error)
GenerateAndSignEthTxMsg estimates gas, sets gas limit and sings the tx
func HappyCreateContractTx ¶
func HappyCreateContractTx(deps *TestDeps) *evm.MsgEthereumTx
func HappyTransferTx ¶
func HappyTransferTx(deps *TestDeps, nonce uint64) *evm.MsgEthereumTx
func NewEthTxMsgAsCmt ¶
func NewEthTxMsgAsCmt(t *testing.T) ( txBz cmt.Tx, ethTxMsgs []*evm.MsgEthereumTx, clientCtx client.Context, )
NewEthTxMsgAsCmt: Helper that returns an Ethereum tx msg converted into tx bytes used in the Consensus Engine.
func NewEthTxMsgFromTxData ¶
func NewEthTxMsgFromTxData( deps *TestDeps, txType GethTxType, innerTxData []byte, nonce uint64, to *gethcommon.Address, value *big.Int, gas uint64, accessList gethcore.AccessList, ) (*evm.MsgEthereumTx, error)
func NewEthTxMsgs ¶
func NewEthTxMsgs(count uint64) (ethTxMsgs []*evm.MsgEthereumTx)
func NonEvmMsgTx ¶
func TransferWei ¶
func TxTemplateAccessListTx ¶
func TxTemplateAccessListTx() *gethcore.AccessListTx
func TxTemplateDynamicFeeTx ¶
func TxTemplateDynamicFeeTx() *gethcore.DynamicFeeTx
func TxTemplateLegacyTx ¶
func ValidLegacyTx ¶
ValidLegacyTx: Useful initial condition for tests Exported only for use in tests.
Types ¶
type ArgsCreateContract ¶
type ArgsCreateContract struct { EthAcc EthPrivKeyAcc EthChainIDInt *big.Int GasPrice *big.Int Nonce uint64 GasLimit *big.Int }
ArgsCreateContract: Arguments to call with `CreateContractTxMsg` to make Ethereum transactions that create contracts.
It is recommended to use a gas price of `big.NewInt(1)` for simpler op code calculations in gas units.
type ArgsExecuteContract ¶
type ArgsExecuteContract struct { EthAcc EthPrivKeyAcc EthChainIDInt *big.Int ContractAddress *gethcommon.Address Data []byte GasPrice *big.Int Nonce uint64 GasLimit *big.Int }
ArgsExecuteContract: Arguments to call with `ExecuteContractTxMsg` to make Ethereum transactions that execute contracts.
type DeployContractResult ¶
type DeployContractResult struct { TxResp *evm.MsgEthereumTxResponse EthTxMsg *evm.MsgEthereumTx ContractData embeds.CompiledEvmContract Nonce uint64 ContractAddr gethcommon.Address }
func DeployContract ¶
func DeployContract( deps *TestDeps, contract embeds.CompiledEvmContract, args ...any, ) (result *DeployContractResult, err error)
type EthPrivKeyAcc ¶
type EthPrivKeyAcc struct { EthAddr gethcommon.Address NibiruAddr sdk.AccAddress PrivKey *ethsecp256k1.PrivKey KeyringSigner keyring.Signer }
func NewEthPrivAcc ¶
func NewEthPrivAcc() EthPrivKeyAcc
NewEthPrivAcc returns an Ethereum private key, its corresponding Eth address, Nibiru address, and keyring signer.
func NewEthPrivAccs ¶
func NewEthPrivAccs(n int) []EthPrivKeyAcc
NewEthPrivAccs calls [NewEthAccInfo] n times.
type GethTxType ¶
type GethTxType = uint8
type Signer ¶
type Signer struct {
// contains filtered or unexported fields
}
Signer defines a type that is used on testing for signing MsgEthereumTx
func (Signer) SignByAddress ¶
SignByAddress sign byte messages with a user key providing the address.
type TestDeps ¶
type TestDeps struct { App *app.NibiruApp Ctx sdk.Context EncCfg codec.EncodingConfig EvmKeeper keeper.Keeper GenState *evm.GenesisState Sender EthPrivKeyAcc }
func NewTestDeps ¶
func NewTestDeps() TestDeps