Documentation ¶
Index ¶
- type Account
- func (a *Account) Decrypt(passphrase string, scrypt keys.ScryptParams) error
- func (a *Account) Encrypt(passphrase string, scrypt keys.ScryptParams) error
- func (a *Account) IsMultiSig() bool
- func (a *Account) PrivateKey() *keys.PrivateKey
- func (a *Account) SignTx(chainId uint64, t *transaction.Transaction) error
- type Extra
- type Token
- type Wallet
- func (w *Wallet) AddAccount(acc *Account)
- func (w *Wallet) AddToken(tok *Token)
- func (w *Wallet) Close()
- func (w *Wallet) CreateAccount(name, passphrase string) error
- func (w *Wallet) GetAccount(addr common.Address) *Account
- func (w *Wallet) GetChangeAddress() common.Address
- func (w *Wallet) JSON() ([]byte, error)
- func (w *Wallet) Path() string
- func (w *Wallet) RemoveAccount(addr string) error
- func (w *Wallet) RemoveToken(h common.Address) error
- func (w *Wallet) Save() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account struct { Script hexutil.Bytes `json:"script"` Address common.Address `json:"address"` // Encrypted WIF of the account also known as the key. EncryptedWIF string `json:"key"` // Label is a label the user had made for this account. Label string `json:"label"` // Indicates whether the account is locked by the user. // the client shouldn't spend the funds in a locked account. Locked bool `json:"lock"` // Indicates whether the account is the default change account. Default bool `json:"isDefault"` // contains filtered or unexported fields }
func NewAccount ¶
NewAccount creates a new Account with a random generated PrivateKey.
func NewAccountFromEncryptedWIF ¶
func NewAccountFromEncryptedWIF(wif string, pass string, scrypt keys.ScryptParams) (*Account, error)
NewAccountFromEncryptedWIF creates a new Account from the given encrypted WIF.
func NewAccountFromPrivateKey ¶
func NewAccountFromPrivateKey(p *keys.PrivateKey) *Account
NewAccountFromPrivateKey creates a wallet from the given PrivateKey.
func (*Account) Decrypt ¶
func (a *Account) Decrypt(passphrase string, scrypt keys.ScryptParams) error
Decrypt decrypts the EncryptedWIF with the given passphrase returning error if anything goes wrong.
func (*Account) Encrypt ¶
func (a *Account) Encrypt(passphrase string, scrypt keys.ScryptParams) error
Encrypt encrypts the wallet's PrivateKey with the given passphrase under the NEP-2 standard.
func (*Account) IsMultiSig ¶
func (*Account) PrivateKey ¶
func (a *Account) PrivateKey() *keys.PrivateKey
PrivateKey returns private key corresponding to the account.
func (*Account) SignTx ¶
func (a *Account) SignTx(chainId uint64, t *transaction.Transaction) error
SignTx signs transaction t and updates it's Witnesses.
type Extra ¶
type Extra struct { // Tokens is a list of imported token contracts. Tokens []*Token }
Extra stores imported token contracts.
type Token ¶
type Token struct { Name string `json:"name"` Hash common.Address `json:"script_hash"` Decimals int64 `json:"decimals"` Symbol string `json:"symbol"` Standard string `json:"standard"` }
Token represents imported token contract.
type Wallet ¶
type Wallet struct { // Version of the wallet, used for later upgrades. Version string `json:"version"` // A list of accounts which describes the details of each account // in the wallet. Accounts []*Account `json:"accounts"` Scrypt keys.ScryptParams `json:"scrypt"` // Extra metadata can be used for storing arbitrary data. // This field can be empty. Extra Extra `json:"extra"` // contains filtered or unexported fields }
func NewWalletFromFile ¶
NewWalletFromFile creates a Wallet from the given wallet file path.
func (*Wallet) AddAccount ¶
AddAccount adds an existing Account to the wallet.
func (*Wallet) Close ¶
func (w *Wallet) Close()
Close closes the internal rw if its an io.ReadCloser.
func (*Wallet) CreateAccount ¶
CreateAccount generates a new account for the end user and encrypts the private key with the given passphrase.
func (*Wallet) GetAccount ¶
GetAccount returns account corresponding to the provided scripthash.
func (*Wallet) GetChangeAddress ¶
GetChangeAddress returns the default address to send transaction's change to.
func (*Wallet) RemoveAccount ¶
RemoveAccount removes an Account with the specified addr from the wallet.
func (*Wallet) RemoveToken ¶
RemoveToken removes token with the specified hash from the wallet.