ethereum

package
v3.0.1 Latest Latest
Warning

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

Go to latest
Published: Dec 26, 2023 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package ethereum 以太坊交易适配的处理 一个以太坊交易按行为可以分成4种操作: 1.普通的ETH转账,Amount>0, InputData可能有备注信息 2.安装合约,To地址是0,而且InputData是合约ByteCode 3.合约调用,To地址是合约地址,而且InputData里面有FuncHash+Args 4.存证,Amount=0,InputData是存证的数据内容 另外,需要一个独立的mint方法能够被调用,

Index

Constants

This section is empty.

Variables

View Source
var (
	//ContractName current contract name
	ContractName = syscontract.SystemContract_ETHEREUM.String()
	//ErrInsufficientFunds  余额不足的错误
	ErrInsufficientFunds = errors.New("insufficient funds for gas * price + value")
)
View Source
var (
	//ErrIntrinsicGasOverflow  overflow error
	ErrIntrinsicGasOverflow = fmt.Errorf("overflow in intrinsic gas calculation")
)

Functions

This section is empty.

Types

type EthManagerRuntime

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

EthManagerRuntime runtime instance

func (*EthManagerRuntime) BalanceOf

func (r *EthManagerRuntime) BalanceOf(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)

BalanceOf 查询某个账户的Token余额 @param context @param parameters @return []byte @return error

func (*EthManagerRuntime) Call added in v3.0.1

func (r *EthManagerRuntime) Call(context protocol.TxSimContext,
	parameters map[string][]byte) *commonPb.ContractResult

Call 查询以太坊信息 @param context @param parameters @return *commonPb.ContractResult

func (*EthManagerRuntime) Decimals

func (r *EthManagerRuntime) Decimals(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)

Decimals Token的小数位数 @param context @param _ @return []byte @return error

func (*EthManagerRuntime) EstimateGas added in v3.0.1

func (r *EthManagerRuntime) EstimateGas(context protocol.TxSimContext,
	parameters map[string][]byte) *commonPb.ContractResult

EstimateGas 预估Gas @param context @param parameters @return *commonPb.ContractResult

func (*EthManagerRuntime) GetAccount

func (r *EthManagerRuntime) GetAccount(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)

GetAccount 根据地址获得指定账户的信息 @param context @param parameters @return []byte @return error

func (*EthManagerRuntime) GetAccountList

func (r *EthManagerRuntime) GetAccountList(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)

GetAccountList 获得账户列表 @param context @param _ @return []byte @return error

func (*EthManagerRuntime) Mint

func (r *EthManagerRuntime) Mint(context protocol.TxSimContext, parameters map[string][]byte) (
	[]byte, []*commonPb.ContractEvent, error)

Mint 发行Token @param context @param parameters @return []byte @return []*commonPb.ContractEvent @return error

func (*EthManagerRuntime) Name

func (r *EthManagerRuntime) Name(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)

Name Token的名字

func (*EthManagerRuntime) Nonce

func (r *EthManagerRuntime) Nonce(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)

Nonce 获得一个账户的Nonce值 @param context @param parameters @return []byte @return error

func (*EthManagerRuntime) Register

func (r *EthManagerRuntime) Register(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)

Register 注册用户的地址为合法用户 @param context @param parameters @return []byte @return error

func (*EthManagerRuntime) Symbol

func (r *EthManagerRuntime) Symbol(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)

Symbol Token的符号 @param context @param _ @return []byte @return error

func (*EthManagerRuntime) TotalSupply

func (r *EthManagerRuntime) TotalSupply(context protocol.TxSimContext, _ map[string][]byte) ([]byte, error)

TotalSupply Token总发行量 @param context @param _ @return []byte @return error

func (*EthManagerRuntime) Transfer

func (r *EthManagerRuntime) Transfer(context protocol.TxSimContext, parameters map[string][]byte) (
	[]byte, error)

Transfer 转账ETH,必须是pubkey模式用户 @param context @param parameters @return []byte @return error

func (*EthManagerRuntime) Unpack

func (r *EthManagerRuntime) Unpack(context protocol.TxSimContext,
	parameters map[string][]byte) *commonPb.ContractResult

Unpack 一个TxType为Ethereum的交易,进行解包,判断类型,调用其他合约 @param context @param parameters @return []byte @return []*commonPb.ContractEvent @return error

func (*EthManagerRuntime) Unregister

func (r *EthManagerRuntime) Unregister(context protocol.TxSimContext, parameters map[string][]byte) ([]byte, error)

Unregister 注销用户 @param context @param parameters @return []byte @return error

type Manager

type Manager struct {
	common.BaseContract
	// contains filtered or unexported fields
}

Manager contract manager

func NewManager

func NewManager(log protocol.Logger) *Manager

NewManager constructor of Manager @param log @return *Manager

Jump to

Keyboard shortcuts

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