Documentation
¶
Index ¶
- Variables
- func NewNewAccount(creator, newAccount eos.AccountName, publicKey ecc.PublicKey) *eos.Action
- func NewNonce(nonce string) *eos.Action
- func NewRegProducer(producer eos.AccountName, producerKey ecc.PublicKey, params EOSIOParameters) *eos.Action
- func NewSetCodeTx(account eos.AccountName, wasmPath, abiPath string) (out *eos.Transaction, err error)
- func NewSetPriv(account eos.AccountName) *eos.Action
- func NewSetProds(version uint32, producers []ProducerKey) *eos.Action
- func NewUpdateAuth(account eos.AccountName, permission, parent eos.PermissionName, ...) *eos.Action
- func NewVoteProducer(voter eos.AccountName, proxy eos.AccountName, producers ...eos.AccountName) *eos.Action
- type ClaimRewards
- type DelegateBW
- type DelegatedBandwidth
- type EOSIOGlobalState
- type EOSIOParameters
- type NewAccount
- type Nonce
- type ProducerKey
- type Refund
- type RegProducer
- type RegProxy
- type SetABI
- type SetCode
- type SetPriv
- type SetProds
- type TotalResources
- type UndelegateBW
- type UnregProducer
- type UnregProxy
- type UpdateAuth
- type VoteProducer
Constants ¶
This section is empty.
Variables ¶
var AN = eos.AN
var ActN = eos.ActN
var PN = eos.PN
Functions ¶
func NewNewAccount ¶
NewNewAccount returns a `newaccount` action that lives on the `eosio.system` contract.
func NewNonce ¶
NewNonce returns a `nonce` action that lives on the `eosio.bios` contract. It should exist only when booting a new network, as it is replaced using the `eos-bios` boot process by the `eosio.system` contract.
func NewRegProducer ¶
func NewRegProducer(producer eos.AccountName, producerKey ecc.PublicKey, params EOSIOParameters) *eos.Action
NewSetPriv returns a `setpriv` action that lives on the `eosio.bios` contract. It should exist only when booting a new network, as it is replaced using the `eos-bios` boot process by the `eosio.system` contract.
func NewSetCodeTx ¶
func NewSetCodeTx(account eos.AccountName, wasmPath, abiPath string) (out *eos.Transaction, err error)
func NewSetPriv ¶
func NewSetPriv(account eos.AccountName) *eos.Action
NewSetPriv returns a `setpriv` action that lives on the `eosio.bios` contract. It should exist only when booting a new network, as it is replaced using the `eos-bios` boot process by the `eosio.system` contract.
func NewSetProds ¶
func NewSetProds(version uint32, producers []ProducerKey) *eos.Action
NewSetPriv returns a `setpriv` action that lives on the `eosio.bios` contract. It should exist only when booting a new network, as it is replaced using the `eos-bios` boot process by the `eosio.system` contract.
func NewUpdateAuth ¶
func NewUpdateAuth(account eos.AccountName, permission, parent eos.PermissionName, authority eos.Authority, usingPermission eos.PermissionName) *eos.Action
NewUpdateAuth creates an action from the `eosio.system` contract called `updateauth`.
usingPermission needs to be `owner` if you want to modify the `owner` authorization, otherwise `active` will do for the rest.
func NewVoteProducer ¶
func NewVoteProducer(voter eos.AccountName, proxy eos.AccountName, producers ...eos.AccountName) *eos.Action
NewNonce returns a `nonce` action that lives on the `eosio.bios` contract. It should exist only when booting a new network, as it is replaced using the `eos-bios` boot process by the `eosio.system` contract.
Types ¶
type ClaimRewards ¶
type ClaimRewards struct {
Owner eos.AccountName `json:"owner"`
}
ClaimRewards repreents the `eosio.system::claimrewards` action
type DelegateBW ¶
type DelegateBW struct {
From eos.AccountName `json:"from"`
Receiver eos.AccountName `json:"receiver"`
StakeNet eos.Asset `json:"stake_net"`
StakeCPU eos.Asset `json:"stake_cpu"`
StakeStorage eos.Asset `json:"stake_storage"`
}
DelegateBW represents the `eosio.system::delegatebw` action.
type DelegatedBandwidth ¶
type EOSIOGlobalState ¶
type EOSIOGlobalState struct {
EOSIOParameters
TotalStorageBytesReserved uint64 `json:"total_storage_bytes_reserved"`
TotalStorageStake uint64 `json:"total_storage_stake"`
PaymentPerBlock uint64 `json:"payment_per_block"`
}
type EOSIOParameters ¶
type EOSIOParameters struct {
BasePerTransactionNetUsage uint32 `json:"base_per_transaction_net_usage" yaml:"base_per_transaction_net_usage"`
BasePerTransactionCPUUsage uint32 `json:"base_per_transaction_cpu_usage" yaml:"base_per_transaction_cpu_usage"`
BasePerActionCPUUsage uint32 `json:"base_per_action_cpu_usage" yaml:"base_per_action_cpu_usage"`
BaseSetcodeCPUUsage uint32 `json:"base_setcode_cpu_usage" yaml:"base_setcode_cpu_usage"`
PerSignatureCPUUsage uint32 `json:"per_signature_cpu_usage" yaml:"per_signature_cpu_usage"`
PerLockNetUsage uint32 `json:"per_lock_net_usage" yaml:"per_lock_net_usage"`
ContextFreeDiscountCPUUsageNum uint64 `json:"context_free_discount_cpu_usage_num" yaml:"context_free_discount_cpu_usage_num"`
ContextFreeDiscountCPUUsageDen uint64 `json:"context_free_discount_cpu_usage_den" yaml:"context_free_discount_cpu_usage_den"`
MaxTransactionCPUUsage uint32 `json:"max_transaction_cpu_usage" yaml:"max_transaction_cpu_usage"`
MaxTransactionNetUsage uint32 `json:"max_transaction_net_usage" yaml:"max_transaction_net_usage"`
MaxBlockCPUUsage uint64 `json:"max_block_cpu_usage" yaml:"max_block_cpu_usage"`
TargetBlockCPUUsagePct uint32 `json:"target_block_cpu_usage_pct" yaml:"target_block_cpu_usage_pct"` //< the target percent (1% == 100, 100%= 10,000) of maximum cpu usage; exceeding this triggers congestion handling
MaxBblockNetUsage uint64 `json:"max_block_net_usage" yaml:"max_block_net_usage"` //< the maxiumum net usage in instructions for a block
TargetBlockNetUsagePct uint32 `json:"target_block_net_usage_pct" yaml:"target_block_net_usage_pct"` //< the target percent (1% == 100, 100%= 10,000) of maximum net usage; exceeding this triggers congestion handling
MaxTransactionLifetime uint32 `json:"max_transaction_lifetime" yaml:"max_transaction_lifetime"`
MaxTransactionExecTime uint32 `json:"max_transaction_exec_time" yaml:"max_transaction_exec_time"`
MaxAuthorityDepth uint16 `json:"max_authority_depth" yaml:"max_authority_depth"`
MaxInlineDepth uint16 `json:"max_inline_depth" yaml:"max_inline_depth"`
MaxInlineActionSize uint32 `json:"max_inline_action_size" yaml:"max_inline_action_size"`
MaxGeneratedTransactionCount uint32 `json:"max_generated_transaction_count" yaml:"max_generated_transaction_count"`
// FIXME: does not appear in the `abi` for `eosio.system`.
// MaxStorageSize uint64 `json:"max_storage_size" yaml:"max_storage_size"`
PercentOfMaxInflationRate uint32 `json:"percent_of_max_inflation_rate" yaml:"percent_of_max_inflation_rate"`
StorageReserveRatio uint32 `json:"storage_reserve_ratio" yaml:"storage_reserve_ratio"`
}
EOSIOParameters are all the params that can be set on the system contract.
type NewAccount ¶
type NewAccount struct {
Creator eos.AccountName `json:"creator"`
Name eos.AccountName `json:"name"`
Owner eos.Authority `json:"owner"`
Active eos.Authority `json:"active"`
Recovery eos.Authority `json:"recovery"`
}
NewAccount represents a `newaccount` action on the `eosio.system` contract. It is one of the rare ones to be hard-coded into the blockchain.
type Nonce ¶
type Nonce struct {
Value string `json:"value"`
}
Nonce represents the `eosio.system::nonce` action. It is used to add variability in a transaction, so you can send the same many times in the same block, without it having the same Tx hash.
type ProducerKey ¶
type ProducerKey struct {
ProducerName eos.AccountName `json:"producer_name"`
BlockSigningKey ecc.PublicKey `json:"block_signing_key"`
}
type Refund ¶
type Refund struct {
Owner eos.AccountName `json:"owner"`
}
Refund represents the `eosio.system::refund` action
type RegProducer ¶
type RegProducer struct {
Producer eos.AccountName `json:"producer"`
ProducerKey []byte `json:"producer_key"`
Prefs EOSIOParameters `json:"eosio_parameters"`
}
RegProducer represents the `eosio.system::regproducer` action
type RegProxy ¶
type RegProxy struct {
Proxy eos.AccountName `json:"proxy"`
}
RegProxy represents the `eosio.system::regproxy` action
type SetABI ¶
type SetABI struct {
Account eos.AccountName `json:"account"`
ABI eos.ABI `json:"abi"`
}
SetABI represents the hard-coded `setabi` action.
type SetCode ¶
type SetCode struct {
Account eos.AccountName `json:"account"`
VMType byte `json:"vmtype"`
VMVersion byte `json:"vmversion"`
Code eos.HexBytes `json:"bytes"`
}
SetCode represents the hard-coded `setcode` action.
type SetPriv ¶
type SetPriv struct {
Account eos.AccountName `json:"account"`
IsPriv bool `json:"is_priv"`
}
SetPriv sets privileged account status. Used in the bios boot mechanism.
type SetProds ¶
type SetProds struct {
Version uint32 `json:"version"`
Producers []ProducerKey `json:"producers"`
}
SetProds is present in `eosio.bios` contract. Used only at boot time.
type TotalResources ¶
type TotalResources struct {
}
type UndelegateBW ¶
type UndelegateBW struct {
From eos.AccountName `json:"from"`
Receiver eos.AccountName `json:"receiver"`
UnstakeNet eos.Asset `json:"unstake_net"`
UnstakeCPU eos.Asset `json:"unstake_cpu"`
UnstakeBytes uint64 `json:"unstake_bytes"`
}
UndelegateBW represents the `eosio.system::undelegatebw` action.
type UnregProducer ¶
type UnregProducer struct {
Producer eos.AccountName `json:"producer"`
}
UnregProducer represents the `eosio.system::unregprod` action
type UnregProxy ¶
type UnregProxy struct {
Proxy eos.AccountName `json:"proxy"`
}
UnregProxy represents the `eosio.system::unregproxy` action
type UpdateAuth ¶
type UpdateAuth struct {
Account eos.AccountName `json:"account"`
Permission eos.PermissionName `json:"permission"`
Parent eos.PermissionName `json:"parent"`
Data eos.Authority `json:"data"`
Delay uint32 `json:"delay"` // this represents what exactly?
}
UpdateAuth represents the hard-coded `updateauth` action.
If you change the `active` permission, `owner` is the required parent.
If you change the `owner` permission, there should be no parent.
type VoteProducer ¶
type VoteProducer struct {
Voter eos.AccountName `json:"voter"`
Proxy eos.AccountName `json:"proxy"`
Producers []eos.AccountName `json:"producers"`
}
VoteProducer represents the `eosio.system::voteproducer` action