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"`
	// 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.