evm

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jun 26, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NetworkEnumForETH      string = "1"
	NetworkEnumForBNB      string = "56"
	NetworkEnumForHT       string = "128"
	NetworkEnumForOKC      string = "66"
	NetworkEnumForAVAXC    string = "43114"
	NetworkEnumForFTM      string = "250"
	NetworkEnumForETC      string = "61"
	NetworkEnumForETHW     string = "10001"
	NetworkEnumForETHF     string = "513100"
	NetworkEnumForFUSE     string = "122"
	NetworkEnumForPOLYGON  string = "137"
	NetworkEnumForAURORA   string = "1313161554"
	NetworkEnumForCAD      string = "256256"
	NetworkEnumForMETIS    string = "1088"
	NetworkEnumForCIC      string = "1353"
	NetworkEnumForRSK      string = "30"
	NetworkEnumForTARA     string = "841"
	NetworkEnumForKLAY     string = "8217"
	NetworkEnumForCRO      string = "25"
	NetworkEnumForCANTO    string = "7700"
	NetworkEnumForCORE     string = "1116"
	NetworkEnumForELA      string = "20"
	NetworkEnumForCFXEVM   string = "1030"
	NetworkEnumForSYSEVM   string = "57"
	NetworkEnumForFEVM     string = "314"
	NetworkEnumForTELOSEVM string = "40"
	NetworkEnumForARB      string = "42161"
	NetworkEnumForOP       string = "10"
	NetworkEnumForBASE     string = "8453"
	NetworkEnumForLINEA    string = "59144"
	NetworkEnumForZKEVM    string = "1101"
	NetworkEnumForZKSYNC   string = "324"
	NetworkEnumForOPBNB    string = "204"
	NetworkEnumForROLLUX   string = "570"
	NetworkEnumForSCROLL   string = "534352"
	NetworkEnumForSHIBA    string = "109"
	NetworkEnumForMERLIN   string = "4200"
	NetworkEnumForBLAST    string = "81457"
	NetworkEnumForXLAYER   string = "196"
	NetworkEnumForB2       string = "223"
	NetworkEnumForBTR      string = "200901"
	NetworkEnumForMANTA    string = "169"
	NetworkEnumForSKL      string = "2046399126"
	NetworkEnumForODYSSEY  string = "153153"
	NetworkEnumForONEROOT  string = "12193"
)
View Source
const ABIERC20 = `` /* 5459-byte string literal not displayed */
View Source
const ABIERC20ForTransferWithData = `` /* 5195-byte string literal not displayed */

Variables

This section is empty.

Functions

func ABIEncode

func ABIEncode(parts ...[]byte) []byte

func EIP712DomainSeparator

func EIP712DomainSeparator(name, version string, chainID int64, contract common.Address) []byte

func EIP712DomainSeparatorNameVersion

func EIP712DomainSeparatorNameVersion(name, version string) []byte

func EIP712Hash

func EIP712Hash(domainSeparator, structHash []byte) []byte

func GuaranteeNativeAmt

func GuaranteeNativeAmt(fee *Fee, gasLimitStr, nativeBalStr string, l1FeeStr string, isLegacy bool) (bool, error)

for GuaranteeNativeAmt

func IsZeroAddress

func IsZeroAddress(address string) bool

func NewAccountFromMnemonic

func NewAccountFromMnemonic(mnemonic, path string) (chain.AccountHandler, error)

func NewAccountFromPrivateKey

func NewAccountFromPrivateKey(privateKey []byte) (chain.AccountHandler, error)

func NewAccountFromPrivateKeyHex

func NewAccountFromPrivateKeyHex(privateKey string) (chain.AccountHandler, error)

func NormalizeAddress

func NormalizeAddress(address string) string

func PackPayloadForErc20

func PackPayloadForErc20(function string, params []byte) (string, error)

func Pad32

func Pad32(b []byte) []byte

func PublicKey2Address

func PublicKey2Address(publicKey []byte) (string, error)

func RecoverAddress

func RecoverAddress(data, signature []byte) (string, error)

func UnpackReturnsForErc20

func UnpackReturnsForErc20(function string, returns []byte) (string, error)

func ValidAddress

func ValidAddress(address string) bool

Types

type Account

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

func (*Account) Address

func (a *Account) Address() string

func (*Account) PrivateKey

func (a *Account) PrivateKey() []byte

func (*Account) PrivateKeyHex

func (a *Account) PrivateKeyHex() string

func (*Account) PublicKey

func (a *Account) PublicKey() []byte

func (*Account) PublicKeyHex

func (a *Account) PublicKeyHex() string

func (*Account) SignData

func (a *Account) SignData(data []byte) ([]byte, error)

func (*Account) VerifySignData

func (a *Account) VerifySignData(data, sig []byte) bool

type CallErc20In

type CallErc20In struct {
	Address   string `json:"address,omitempty"`
	Owner     string `json:"owner,omitempty"`
	Spender   string `json:"spender,omitempty"`
	From      string `json:"from,omitempty"`
	To        string `json:"to,omitempty"`
	Recipient string `json:"recipient,omitempty"`

	Amount string `json:"amount,omitempty"`
	Memo   string `json:"data,omitempty"`
}

for call contract

type Fee

type Fee struct {
	BaseFee     string
	PriorityFee string // wei, for 1559
	MaxFeeCap   string // wei, for 1559
	GasPrice    string // wei, for legacy
}

type FeeTiers

type FeeTiers struct {
	Slow, Avg, Fast *Fee
}

func SuggestFees

func SuggestFees(baseFeeStr, tipCapStr, floorTipCapStr, gasPriceStr string, isLegacy bool) (FeeTiers, error)

type Ingredient

type Ingredient struct {
	TxType          string `json:"txType" validate:"required,oneof=0 1 2 3 4 5 6"`
	ContractAddress string `json:"contractAddress" validate:"required,evm_addr"`
	Sender          string `json:"sender" validate:"required,evm_addr"`
	Recipient       string `json:"recipient,omitempty" validate:"omitempty,evm_addr"`
	Amount          string `json:"amount,omitempty" validate:"omitempty,bigint_gte0"`
	Payload         string `json:"payload,omitempty" validate:"omitempty,hex_str"`
	Memo            string `json:"memo,omitempty" validate:"omitempty,hex_str"`
	Nonce           string `json:"nonce" validate:"required,u64"`
	GasPrice        string `json:"gasPrice,omitempty" validate:"omitempty,bigint_gt0"`
	GasFeeCap       string `json:"gasFeeCap,omitempty" validate:"omitempty,bigint_gt0"`
	GasTipCap       string `json:"gasTipCap,omitempty" validate:"omitempty,bigint_gt0"`
	GasLimit        string `json:"gasLimit" validate:"required,u64_gt0"`
	IsLegacyTx      string `json:"isLegacyTx" validate:"required,bool_str"`
}

types

type TxBuilder

type TxBuilder struct {
	*Ingredient
	// contains filtered or unexported fields
}

types

func NewTxBuilder

func NewTxBuilder(ti *Ingredient, network string) *TxBuilder

func (*TxBuilder) Build

func (tx *TxBuilder) Build() error

func (*TxBuilder) ConcatSignature

func (tx *TxBuilder) ConcatSignature(signature string, isDerFormat bool) (string, error)

func (*TxBuilder) GetSigHash

func (tx *TxBuilder) GetSigHash() []string

func (*TxBuilder) GetTxHash

func (tx *TxBuilder) GetTxHash() string

func (*TxBuilder) GetUnsignedHex

func (tx *TxBuilder) GetUnsignedHex() string

func (*TxBuilder) PrintSignerParams

func (tx *TxBuilder) PrintSignerParams(chain string, index string)

func (*TxBuilder) SetSigHash

func (tx *TxBuilder) SetSigHash(sigHash []string)

func (*TxBuilder) SetUnsignedHex

func (tx *TxBuilder) SetUnsignedHex(unsignedHex string)

func (*TxBuilder) Sign

func (tx *TxBuilder) Sign(privateKey []byte) (string, error)

type UnpackErc20

type UnpackErc20 struct {
	Function string
	CallErc20In
}

for call contract

func UnpackPayloadForErc20

func UnpackPayloadForErc20(payload string) (*UnpackErc20, error)

Jump to

Keyboard shortcuts

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