ethcli

package module
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Feb 19, 2025 License: MIT Imports: 14 Imported by: 1

README

evm client

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BytesToHex

func BytesToHex(bz []byte) string

func BytesToHexWith0x

func BytesToHexWith0x(bz []byte) string

func GenKey

func GenKey() (string, string, string, error)

GenKey return pk,address,sk

func HashToAddress

func HashToAddress(hx common.Hash) common.Address

func HashToBigInt

func HashToBigInt(hx common.Hash) *big.Int

func HexToBytes

func HexToBytes(str string) []byte

func ToEther

func ToEther(v *big.Int) *big.Int

func ToWei

func ToWei(v *big.Int) *big.Int

func ValidAddress

func ValidAddress(address string) bool

Types

type EvmClient

type EvmClient struct {
	*ethclient.Client
	// contains filtered or unexported fields
}

func New

func New(rawurl string) (*EvmClient, error)

func (*EvmClient) BuildLegacyTx

func (cli *EvmClient) BuildLegacyTx(nonce uint64, gasPrice *big.Int,
	gas uint64, to *common.Address, value *big.Int, data []byte) *types.Transaction

BuildLegacyTx generate transaction nonce: nonce from, query through PendingNonceAt gasPrice has 18 decimal places, the minimum is 1*1e10, the suggested value can be queried through SuggestGasPrice Gas ether ordinary transfer is 21,000, contract execution can be estimated first through EstimateGas Deploy the contract when to nil value ether amount, 18 decimal places, minimum 1*1e10 data contract execution bytecode

func (*EvmClient) ERC20Allowance

func (cli *EvmClient) ERC20Allowance(token, owner, spender string, blockNumber *big.Int) (*big.Int, error)

func (*EvmClient) ERC20Approve

func (cli *EvmClient) ERC20Approve(token, key, spender, value string) (string, error)

func (*EvmClient) ERC20BalanceOf

func (cli *EvmClient) ERC20BalanceOf(token string, address string, blockNumber *big.Int) (*big.Int, error)

func (*EvmClient) ERC20Burn

func (cli *EvmClient) ERC20Burn(token, key, value string) (string, error)

func (*EvmClient) ERC20BurnFrom

func (cli *EvmClient) ERC20BurnFrom(token, key, owner, value string) (string, error)

func (*EvmClient) ERC20Decimals

func (cli *EvmClient) ERC20Decimals(token string, blockNumber *big.Int) (uint8, error)

func (*EvmClient) ERC20Mint

func (cli *EvmClient) ERC20Mint(token, key, to, value string) (string, error)

func (*EvmClient) ERC20Name

func (cli *EvmClient) ERC20Name(token string, blockNumber *big.Int) (string, error)

func (*EvmClient) ERC20Symbol

func (cli *EvmClient) ERC20Symbol(token string, blockNumber *big.Int) (string, error)

func (*EvmClient) ERC20TotalSupply

func (cli *EvmClient) ERC20TotalSupply(token string, blockNumber *big.Int) (*big.Int, error)

func (*EvmClient) ERC20Transfer

func (cli *EvmClient) ERC20Transfer(token, key, to, value string) (string, error)

func (*EvmClient) ERC20TransferFrom

func (cli *EvmClient) ERC20TransferFrom(token, key, from, to, value string) (string, error)

func (*EvmClient) ERC721Approve

func (cli *EvmClient) ERC721Approve(token string, key, to string, tokenId *big.Int) (string, error)

func (*EvmClient) ERC721BalanceOf

func (cli *EvmClient) ERC721BalanceOf(token string, owner string, blockNumber *big.Int) (*big.Int, error)

func (*EvmClient) ERC721Burn

func (cli *EvmClient) ERC721Burn(token string, key string, tokenId *big.Int) (string, error)

func (*EvmClient) ERC721Exists

func (cli *EvmClient) ERC721Exists(token string, tokenId *big.Int, blockNumber *big.Int) (bool, error)

func (*EvmClient) ERC721GetApproved

func (cli *EvmClient) ERC721GetApproved(token string, tokenId *big.Int, blockNumber *big.Int) (string, error)

func (*EvmClient) ERC721IsApprovedForAll

func (cli *EvmClient) ERC721IsApprovedForAll(token string, owner, operator string, blockNumber *big.Int) (bool, error)

func (*EvmClient) ERC721Mint

func (cli *EvmClient) ERC721Mint(token string, key string, to string) (string, error)

func (*EvmClient) ERC721MintWithTokenIdAndURI

func (cli *EvmClient) ERC721MintWithTokenIdAndURI(token string, key string, to string, tokenId *big.Int, uri string) (string, error)

func (*EvmClient) ERC721MintWithTokenURI

func (cli *EvmClient) ERC721MintWithTokenURI(token string, key string, to string, uri string) (string, error)

func (*EvmClient) ERC721Name

func (cli *EvmClient) ERC721Name(token string, blockNumber *big.Int) (string, error)

func (*EvmClient) ERC721OwnerOf

func (cli *EvmClient) ERC721OwnerOf(token string, tokenId *big.Int, blockNumber *big.Int) (string, error)

func (*EvmClient) ERC721Pause

func (cli *EvmClient) ERC721Pause(token string, key string) (string, error)

func (*EvmClient) ERC721Paused

func (cli *EvmClient) ERC721Paused(token string, blockNumber *big.Int) (bool, error)

func (*EvmClient) ERC721SafeTransferFrom

func (cli *EvmClient) ERC721SafeTransferFrom(token string, key, from, to string, tokenId *big.Int) (string, error)

func (*EvmClient) ERC721SafeTransferFromWithData

func (cli *EvmClient) ERC721SafeTransferFromWithData(token string, key, from, to string, tokenId *big.Int, calldata []byte) (string, error)

func (*EvmClient) ERC721SetApprovalForAll

func (cli *EvmClient) ERC721SetApprovalForAll(token string, key, operator string, approved bool) (string, error)

func (*EvmClient) ERC721SupportsInterface

func (cli *EvmClient) ERC721SupportsInterface(token string, blockNumber *big.Int) (bool, error)

func (*EvmClient) ERC721Symbol

func (cli *EvmClient) ERC721Symbol(token string, blockNumber *big.Int) (string, error)

func (*EvmClient) ERC721TokenByIndex

func (cli *EvmClient) ERC721TokenByIndex(token string, index *big.Int, blockNumber *big.Int) (*big.Int, error)

func (*EvmClient) ERC721TokenOfOwnerByIndex

func (cli *EvmClient) ERC721TokenOfOwnerByIndex(token string, owner string, index *big.Int, blockNumber *big.Int) (*big.Int, error)

func (*EvmClient) ERC721TokenURI

func (cli *EvmClient) ERC721TokenURI(token string, tokenId *big.Int, blockNumber *big.Int) (string, error)

ERC721TokenURI for ERC721Metadata && ERC721URIStorage

func (*EvmClient) ERC721TotalSupply

func (cli *EvmClient) ERC721TotalSupply(token string, blockNumber *big.Int) (*big.Int, error)

func (*EvmClient) ERC721TransferFrom

func (cli *EvmClient) ERC721TransferFrom(token string, key, from, to string, tokenId *big.Int) (string, error)

func (*EvmClient) ERC721Unpause

func (cli *EvmClient) ERC721Unpause(token string, key string) (string, error)

func (*EvmClient) ERC1155BalanceOf

func (cli *EvmClient) ERC1155BalanceOf(token string, owner string, tokenId *big.Int, blockNumber *big.Int) (*big.Int, error)

func (*EvmClient) ERC1155BalanceOfBatch

func (cli *EvmClient) ERC1155BalanceOfBatch(token string, owners []string, tokenIds []*big.Int, blockNumber *big.Int) ([]*big.Int, error)

func (*EvmClient) ERC1155Burn

func (cli *EvmClient) ERC1155Burn(key string, token string, to string, id *big.Int, amount *big.Int) (string, error)

func (*EvmClient) ERC1155BurnBatch

func (cli *EvmClient) ERC1155BurnBatch(key string, token string, to string, ids []*big.Int, amounts []*big.Int) (string, error)

func (*EvmClient) ERC1155IsApprovedForAll

func (cli *EvmClient) ERC1155IsApprovedForAll(token string, owner string, operator string, blockNumber *big.Int) (bool, error)

func (*EvmClient) ERC1155Mint

func (cli *EvmClient) ERC1155Mint(key string, token string, to string, id *big.Int, amount *big.Int, data []byte) (string, error)

func (*EvmClient) ERC1155MintBatch

func (cli *EvmClient) ERC1155MintBatch(key string, token string, to string, ids []*big.Int, amounts []*big.Int, data []byte) (string, error)

func (*EvmClient) ERC1155SafeBatchTransferFrom

func (cli *EvmClient) ERC1155SafeBatchTransferFrom(key string, token string, owner string, to string, ids []*big.Int, amounts []*big.Int) (string, error)

func (*EvmClient) ERC1155SafeTransferFrom

func (cli *EvmClient) ERC1155SafeTransferFrom(key string, token string, owner string, to string, id *big.Int, amount *big.Int, data []byte) (string, error)

func (*EvmClient) ERC1155SetApprovalForAll

func (cli *EvmClient) ERC1155SetApprovalForAll(key string, token string, owner string, operator string, id *big.Int) (string, error)

func (*EvmClient) ERC1155SupportsInterface

func (cli *EvmClient) ERC1155SupportsInterface(token string, interfaceId [4]byte, blockNumber *big.Int) (bool, error)

func (*EvmClient) ERC1155Uri

func (cli *EvmClient) ERC1155Uri(token string, tokenId *big.Int, blockNumber *big.Int) (string, error)

func (*EvmClient) ID

func (cli *EvmClient) ID() *big.Int

ID return chainId

func (*EvmClient) SendLegacyTx

func (cli *EvmClient) SendLegacyTx(key string, to *string, amount string, payload string, gasPrice string, gasLimit uint64) (string, error)

SendLegacyTx High-level Send Legacy Transactions key private key, no hex format starting from 0x to address, empty or all 0 is the deployment contract amount, decimal string, integer, decimal digit 18, decimal digit 9-18 will be ignored payload contract load, hex format starting from 0x and not starting from 0x gasPrice optional, amount, decimal string, integer, decimal digit 18, decimal digit 9-18 will be ignored; price is recommended when it is 0 or not filled from the chain gasLimit optional, real-time estimation for 0

func (*EvmClient) SendTx

func (cli *EvmClient) SendTx(ctx context.Context, signedTx *types.Transaction) error

SendTx Send signed transactions

func (*EvmClient) SignLegacyTx

func (cli *EvmClient) SignLegacyTx(tx *types.Transaction, key string) (*types.Transaction, error)

SignLegacyTx sign transaction tx transaction to be signed key private key, without 0x prefix Return signed tx, tx.Hash returns transaction hash

Jump to

Keyboard shortcuts

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