Documentation ¶
Overview ¶
The acm package contains code relating to accounts and account state the abbreviation probably derives from 'ACcount Management'
Index ¶
- Variables
- type Account
- func (acc *Account) AddToBalance(amount uint64) error
- func (acc *Account) Code() []byte
- func (acc *Account) Copy() *Account
- func (*Account) Descriptor() ([]byte, []int)
- func (acc *Account) Equal(accOther *Account) bool
- func (acc *Account) Get(key string) (interface{}, bool)
- func (acc *Account) GetAddress() crypto.Address
- func (m *Account) GetBalance() uint64
- func (m *Account) GetContractMeta() []*ContractMeta
- func (m *Account) GetNativeName() string
- func (m *Account) GetPermissions() permission.AccountPermissions
- func (m *Account) GetPublicKey() *crypto.PublicKey
- func (m *Account) GetSequence() uint64
- func (m *Account) Marshal() (dAtA []byte, err error)
- func (m *Account) MarshalTo(dAtA []byte) (int, error)
- func (m *Account) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Account) ProtoMessage()
- func (m *Account) Reset()
- func (m *Account) Size() (n int)
- func (acc Account) String() string
- func (acc *Account) SubtractFromBalance(amount uint64) error
- func (m *Account) Unmarshal(dAtA []byte) error
- func (m *Account) XXX_DiscardUnknown()
- func (m *Account) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Account) XXX_Merge(src proto.Message)
- func (*Account) XXX_MessageName() string
- func (m *Account) XXX_Size() int
- func (m *Account) XXX_Unmarshal(b []byte) error
- type AddressableSigner
- type Bytecode
- func (bc Bytecode) Bytes() []byte
- func (bc Bytecode) Marshal() ([]byte, error)
- func (bc Bytecode) MarshalJSON() ([]byte, error)
- func (bc Bytecode) MarshalText() ([]byte, error)
- func (bc Bytecode) MarshalTo(data []byte) (int, error)
- func (bc Bytecode) MustTokens() []string
- func (bc Bytecode) Size() int
- func (bc Bytecode) String() string
- func (bc Bytecode) Tokens() ([]string, error)
- func (bc *Bytecode) Unmarshal(data []byte) error
- func (bc *Bytecode) UnmarshalJSON(data []byte) error
- func (bc *Bytecode) UnmarshalText(text []byte) error
- type ConcretePrivateAccount
- type ContractMeta
- func (*ContractMeta) Descriptor() ([]byte, []int)
- func (m *ContractMeta) GetMetadata() string
- func (m *ContractMeta) Marshal() (dAtA []byte, err error)
- func (m *ContractMeta) MarshalTo(dAtA []byte) (int, error)
- func (m *ContractMeta) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ContractMeta) ProtoMessage()
- func (m *ContractMeta) Reset()
- func (m *ContractMeta) Size() (n int)
- func (m *ContractMeta) String() string
- func (m *ContractMeta) Unmarshal(dAtA []byte) error
- func (m *ContractMeta) XXX_DiscardUnknown()
- func (m *ContractMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ContractMeta) XXX_Merge(src proto.Message)
- func (*ContractMeta) XXX_MessageName() string
- func (m *ContractMeta) XXX_Size() int
- func (m *ContractMeta) XXX_Unmarshal(b []byte) error
- type PrivateAccount
- func (pa *PrivateAccount) ConcretePrivateAccount() *ConcretePrivateAccount
- func (pa *PrivateAccount) GetAddress() crypto.Address
- func (pa *PrivateAccount) GetPublicKey() *crypto.PublicKey
- func (pa PrivateAccount) MarshalJSON() ([]byte, error)
- func (pa *PrivateAccount) PrivateKey() crypto.PrivateKey
- func (pa *PrivateAccount) Sign(msg []byte) (*crypto.Signature, error)
- func (pa *PrivateAccount) String() string
- func (pa *PrivateAccount) UnmarshalJSON(bytes []byte) error
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidLengthAcm = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowAcm = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupAcm = fmt.Errorf("proto: unexpected end of group") )
View Source
var GlobalPermissionsAddress = crypto.Address(binary.Zero160)
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account struct { Address github_com_hyperledger_burrow_crypto.Address `protobuf:"bytes,1,opt,name=Address,proto3,customtype=github.com/hyperledger/burrow/crypto.Address" json:"Address"` PublicKey *crypto.PublicKey `protobuf:"bytes,2,opt,name=PublicKey,proto3" json:"PublicKey,omitempty"` // Sequence counts the number of transactions that have been accepted from this account Sequence uint64 `protobuf:"varint,3,opt,name=Sequence,proto3" json:"Sequence,omitempty"` // The account's current native token balance Balance uint64 `protobuf:"varint,4,opt,name=Balance,proto3" json:"Balance,omitempty"` // We expect exactly one of EVMCode, WASMCode, and NativeName to be non-empty // EVM bytecode EVMCode Bytecode `protobuf:"bytes,5,opt,name=EVMCode,proto3,customtype=Bytecode" json:"EVMCode"` Permissions permission.AccountPermissions `protobuf:"bytes,6,opt,name=Permissions,proto3" json:"Permissions"` // WASM bytecode WASMCode Bytecode `protobuf:"bytes,7,opt,name=WASMCode,proto3,customtype=Bytecode" json:",omitempty"` // Fully qualified (`<contract name>.<function name>`) name of native contract this for which this account object // is a sentinel value. Which is to say this account object is a pointer to compiled code and does not contain // the contract logic in its entirety NativeName string `protobuf:"bytes,11,opt,name=NativeName,proto3" json:",omitempty"` // The sha3 hash of the code associated with the account CodeHash github_com_hyperledger_burrow_binary.HexBytes `protobuf:"bytes,8,opt,name=CodeHash,proto3,customtype=github.com/hyperledger/burrow/binary.HexBytes" json:"-"` // Pointer to the Metadata associated with this account ContractMeta []*ContractMeta `protobuf:"bytes,9,rep,name=ContractMeta,proto3" json:"ContractMeta,omitempty"` // The metadata is stored in the deployed account. When the deployed account creates new account // (from Solidity/EVM), they point to the original deployed account where the metadata is stored. // This original account is called the forebear. Forebear *github_com_hyperledger_burrow_crypto.Address `` /* 126-byte string literal not displayed */ XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func FromAddressable ¶
func FromAddressable(addressable crypto.Addressable) *Account
Creates an otherwise zeroed Account from an Addressable and returns it as MutableAccount
func NewAccount ¶ added in v0.23.0
func NewAccountFromSecret ¶ added in v0.23.0
func (*Account) AddToBalance ¶ added in v0.25.0
func (*Account) Descriptor ¶ added in v0.23.0
func (*Account) GetAddress ¶ added in v0.23.0
func (*Account) GetBalance ¶ added in v0.23.0
func (*Account) GetContractMeta ¶ added in v0.28.0
func (m *Account) GetContractMeta() []*ContractMeta
func (*Account) GetNativeName ¶ added in v0.29.0
func (*Account) GetPermissions ¶ added in v0.23.0
func (m *Account) GetPermissions() permission.AccountPermissions
func (*Account) GetPublicKey ¶ added in v0.23.0
func (*Account) GetSequence ¶ added in v0.23.0
func (*Account) MarshalToSizedBuffer ¶ added in v0.30.0
func (*Account) ProtoMessage ¶ added in v0.23.0
func (*Account) ProtoMessage()
func (*Account) SubtractFromBalance ¶ added in v0.25.0
func (*Account) XXX_DiscardUnknown ¶ added in v0.23.0
func (m *Account) XXX_DiscardUnknown()
func (*Account) XXX_Marshal ¶ added in v0.23.0
func (*Account) XXX_MessageName ¶ added in v0.23.0
func (*Account) XXX_Unmarshal ¶ added in v0.23.0
type AddressableSigner ¶
type AddressableSigner interface { crypto.Addressable crypto.Signer }
func SigningAccounts ¶
func SigningAccounts(concretePrivateAccounts []*PrivateAccount) []AddressableSigner
Convert slice of ConcretePrivateAccounts to slice of SigningAccounts
type Bytecode ¶
type Bytecode []byte
func BytecodeFromHex ¶
func NewBytecode ¶
Builds new bytecode using the Splice helper to map byte-like and byte-slice-like types to a flat bytecode slice
func (Bytecode) MarshalJSON ¶
func (Bytecode) MarshalText ¶
func (Bytecode) MustTokens ¶ added in v0.23.0
func (*Bytecode) UnmarshalJSON ¶
func (*Bytecode) UnmarshalText ¶
type ConcretePrivateAccount ¶
type ConcretePrivateAccount struct { Address crypto.Address PublicKey crypto.PublicKey PrivateKey crypto.PrivateKey }
func (ConcretePrivateAccount) PrivateAccount ¶
func (cpa ConcretePrivateAccount) PrivateAccount() *PrivateAccount
func (*ConcretePrivateAccount) String ¶
func (cpa *ConcretePrivateAccount) String() string
type ContractMeta ¶ added in v0.28.0
type ContractMeta struct { CodeHash github_com_hyperledger_burrow_binary.HexBytes `protobuf:"bytes,1,opt,name=CodeHash,proto3,customtype=github.com/hyperledger/burrow/binary.HexBytes" json:"CodeHash"` MetadataHash github_com_hyperledger_burrow_binary.HexBytes `protobuf:"bytes,2,opt,name=MetadataHash,proto3,customtype=github.com/hyperledger/burrow/binary.HexBytes" json:"MetadataHash"` // In the dump format we would like the ABI rather than its hash Metadata string `protobuf:"bytes,3,opt,name=Metadata,proto3" json:"Metadata,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*ContractMeta) Descriptor ¶ added in v0.28.0
func (*ContractMeta) Descriptor() ([]byte, []int)
func (*ContractMeta) GetMetadata ¶ added in v0.28.0
func (m *ContractMeta) GetMetadata() string
func (*ContractMeta) Marshal ¶ added in v0.28.0
func (m *ContractMeta) Marshal() (dAtA []byte, err error)
func (*ContractMeta) MarshalTo ¶ added in v0.28.0
func (m *ContractMeta) MarshalTo(dAtA []byte) (int, error)
func (*ContractMeta) MarshalToSizedBuffer ¶ added in v0.30.0
func (m *ContractMeta) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ContractMeta) ProtoMessage ¶ added in v0.28.0
func (*ContractMeta) ProtoMessage()
func (*ContractMeta) Reset ¶ added in v0.28.0
func (m *ContractMeta) Reset()
func (*ContractMeta) Size ¶ added in v0.28.0
func (m *ContractMeta) Size() (n int)
func (*ContractMeta) String ¶ added in v0.28.0
func (m *ContractMeta) String() string
func (*ContractMeta) Unmarshal ¶ added in v0.28.0
func (m *ContractMeta) Unmarshal(dAtA []byte) error
func (*ContractMeta) XXX_DiscardUnknown ¶ added in v0.28.0
func (m *ContractMeta) XXX_DiscardUnknown()
func (*ContractMeta) XXX_Marshal ¶ added in v0.28.0
func (m *ContractMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ContractMeta) XXX_Merge ¶ added in v0.28.0
func (m *ContractMeta) XXX_Merge(src proto.Message)
func (*ContractMeta) XXX_MessageName ¶ added in v0.28.0
func (*ContractMeta) XXX_MessageName() string
func (*ContractMeta) XXX_Size ¶ added in v0.28.0
func (m *ContractMeta) XXX_Size() int
func (*ContractMeta) XXX_Unmarshal ¶ added in v0.28.0
func (m *ContractMeta) XXX_Unmarshal(b []byte) error
type PrivateAccount ¶
type PrivateAccount struct {
// contains filtered or unexported fields
}
func GenerateEthereumAccountFromSecret ¶ added in v0.29.0
func GenerateEthereumAccountFromSecret(secret string) *PrivateAccount
func GeneratePrivateAccount ¶
func GeneratePrivateAccount(ct crypto.CurveType) (*PrivateAccount, error)
Generates a new account with private key.
func GeneratePrivateAccountFromSecret ¶
func GeneratePrivateAccountFromSecret(secret string) *PrivateAccount
Generates a new account with private key from SHA256 hash of a secret
func PrivateAccountFromPrivateKey ¶
func PrivateAccountFromPrivateKey(privateKey crypto.PrivateKey) *PrivateAccount
func (*PrivateAccount) ConcretePrivateAccount ¶
func (pa *PrivateAccount) ConcretePrivateAccount() *ConcretePrivateAccount
func (*PrivateAccount) GetAddress ¶ added in v0.23.0
func (pa *PrivateAccount) GetAddress() crypto.Address
func (*PrivateAccount) GetPublicKey ¶ added in v0.23.0
func (pa *PrivateAccount) GetPublicKey() *crypto.PublicKey
func (PrivateAccount) MarshalJSON ¶
func (pa PrivateAccount) MarshalJSON() ([]byte, error)
func (*PrivateAccount) PrivateKey ¶
func (pa *PrivateAccount) PrivateKey() crypto.PrivateKey
func (*PrivateAccount) String ¶
func (pa *PrivateAccount) String() string
func (*PrivateAccount) UnmarshalJSON ¶
func (pa *PrivateAccount) UnmarshalJSON(bytes []byte) error
Click to show internal directories.
Click to hide internal directories.