Documentation ¶
Index ¶
- Constants
- type Account
- type AccountData
- type AddressType
- type Client
- type ClientImpl
- func (cl *ClientImpl) ChangePassword(oldPassword []byte, newPassword []byte) bool
- func (cl *ClientImpl) ContainsAccount(pubKey *crypto.PubKey) bool
- func (cl *ClientImpl) CreateAccount() (*Account, error)
- func (cl *ClientImpl) CreateAccountByPrivateKey(privateKey []byte) (*Account, error)
- func (cl *ClientImpl) CreateContract(account *Account) error
- func (cl *ClientImpl) CreateMultiSignContract(contractOwner Uint160, m int, publicKeys []*crypto.PubKey) error
- func (cl *ClientImpl) DecryptPrivateKey(prikey []byte) ([]byte, error)
- func (cl *ClientImpl) DeleteAccount(programHash Uint160) error
- func (client *ClientImpl) DeleteCoins() error
- func (cl *ClientImpl) DeleteContract(programHash Uint160) error
- func (cl *ClientImpl) EncryptPrivateKey(prikey []byte) ([]byte, error)
- func (cl *ClientImpl) GetAccount(pubKey *crypto.PubKey) (*Account, error)
- func (cl *ClientImpl) GetAccountByProgramHash(programHash Uint160) *Account
- func (client *ClientImpl) GetAccounts() []*Account
- func (client *ClientImpl) GetCoins() map[*transaction.UTXOTxInput]*Coin
- func (cl *ClientImpl) GetContract(programHash Uint160) *ct.Contract
- func (client *ClientImpl) GetContracts() []*ct.Contract
- func (cl *ClientImpl) GetDefaultAccount() (*Account, error)
- func (cl *ClientImpl) LoadAccounts() error
- func (client *ClientImpl) LoadCoins() error
- func (cl *ClientImpl) LoadContracts() error
- func (client *ClientImpl) ProcessBlocks()
- func (client *ClientImpl) ProcessOneBlock(block *ledger.Block)
- func (client *ClientImpl) ProcessSignals()
- func (client *ClientImpl) Rebuild() error
- func (cl *ClientImpl) SaveAccount(ac *Account) error
- func (client *ClientImpl) SaveCoins() error
- func (cl *ClientImpl) SaveContract(ct *contract.Contract) error
- func (cl *ClientImpl) Sign(context *ct.ContractContext) error
- type Coin
- type CoinData
- type ContractData
- type FileData
- type FileStore
- func (cs *FileStore) BuildDatabase(path string)
- func (cs *FileStore) DeleteAccountData(programHash string) error
- func (cs *FileStore) DeleteCoinsData(programHash Uint160) error
- func (cs *FileStore) DeleteContractData(programHash string) error
- func (cs *FileStore) LoadAccountData() ([]AccountData, error)
- func (cs *FileStore) LoadCoinsData() (map[*transaction.UTXOTxInput]*Coin, error)
- func (cs *FileStore) LoadContractData() ([]ContractData, error)
- func (cs *FileStore) LoadStoredData(name string) ([]byte, error)
- func (cs *FileStore) SaveAccountData(programHash []byte, encryptedPrivateKey []byte) error
- func (cs *FileStore) SaveCoinsData(coins map[*transaction.UTXOTxInput]*Coin) error
- func (cs *FileStore) SaveContractData(ct *ct.Contract) error
- func (cs *FileStore) SaveStoredData(name string, value []byte) error
- type IClientStore
- type WalletData
Constants ¶
View Source
const ( DefaultBookKeeperCount = 4 WalletFileName = "wallet.dat" MAINACCOUNT = "main-account" SUBACCOUNT = "sub-account" MaxSignalQueueLen = 5 )
View Source
const (
WalletStoreVersion = "1.0.0"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccountData ¶
type AddressType ¶
type AddressType byte
const ( SingleSign AddressType = 0 MultiSign AddressType = 1 )
type Client ¶
type Client interface { Sign(context *ct.ContractContext) error ContainsAccount(pubKey *crypto.PubKey) bool CreateAccount() (*Account, error) DeleteAccount(programHash Uint160) error GetAccount(pubKey *crypto.PubKey) (*Account, error) GetDefaultAccount() (*Account, error) GetAccountByProgramHash(programHash Uint160) *Account GetAccounts() []*Account CreateContract(account *Account) error CreateMultiSignContract(contractOwner Uint160, m int, publicKeys []*crypto.PubKey) error GetContracts() []*ct.Contract DeleteContract(programHash Uint160) error GetCoins() map[*transaction.UTXOTxInput]*Coin DeleteCoinsData(programHash Uint160) error }
type ClientImpl ¶
type ClientImpl struct { FileStore // contains filtered or unexported fields }
func Recover ¶
func Recover(path string, password []byte, privateKeyHex string) (*ClientImpl, error)
func (*ClientImpl) ChangePassword ¶
func (cl *ClientImpl) ChangePassword(oldPassword []byte, newPassword []byte) bool
func (*ClientImpl) ContainsAccount ¶
func (cl *ClientImpl) ContainsAccount(pubKey *crypto.PubKey) bool
func (*ClientImpl) CreateAccount ¶
func (cl *ClientImpl) CreateAccount() (*Account, error)
CreateAccount create a new Account then save it
func (*ClientImpl) CreateAccountByPrivateKey ¶
func (cl *ClientImpl) CreateAccountByPrivateKey(privateKey []byte) (*Account, error)
func (*ClientImpl) CreateContract ¶
func (cl *ClientImpl) CreateContract(account *Account) error
CreateContract create a singlesig contract to wallet
func (*ClientImpl) CreateMultiSignContract ¶
func (cl *ClientImpl) CreateMultiSignContract(contractOwner Uint160, m int, publicKeys []*crypto.PubKey) error
CreateMultiSignContract creates a multisig contract to wallet
func (*ClientImpl) DecryptPrivateKey ¶
func (cl *ClientImpl) DecryptPrivateKey(prikey []byte) ([]byte, error)
func (*ClientImpl) DeleteAccount ¶
func (cl *ClientImpl) DeleteAccount(programHash Uint160) error
func (*ClientImpl) DeleteCoins ¶
func (client *ClientImpl) DeleteCoins() error
func (*ClientImpl) DeleteContract ¶
func (cl *ClientImpl) DeleteContract(programHash Uint160) error
func (*ClientImpl) EncryptPrivateKey ¶
func (cl *ClientImpl) EncryptPrivateKey(prikey []byte) ([]byte, error)
func (*ClientImpl) GetAccount ¶
func (cl *ClientImpl) GetAccount(pubKey *crypto.PubKey) (*Account, error)
func (*ClientImpl) GetAccountByProgramHash ¶
func (cl *ClientImpl) GetAccountByProgramHash(programHash Uint160) *Account
func (*ClientImpl) GetAccounts ¶
func (client *ClientImpl) GetAccounts() []*Account
func (*ClientImpl) GetCoins ¶
func (client *ClientImpl) GetCoins() map[*transaction.UTXOTxInput]*Coin
func (*ClientImpl) GetContract ¶
func (cl *ClientImpl) GetContract(programHash Uint160) *ct.Contract
func (*ClientImpl) GetContracts ¶
func (client *ClientImpl) GetContracts() []*ct.Contract
GetContracts returns all contracts in wallet
func (*ClientImpl) GetDefaultAccount ¶
func (cl *ClientImpl) GetDefaultAccount() (*Account, error)
func (*ClientImpl) LoadAccounts ¶
func (cl *ClientImpl) LoadAccounts() error
LoadAccounts loads all accounts from db to memory
func (*ClientImpl) LoadCoins ¶
func (client *ClientImpl) LoadCoins() error
func (*ClientImpl) LoadContracts ¶
func (cl *ClientImpl) LoadContracts() error
LoadContracts loads all contracts from db to memory
func (*ClientImpl) ProcessBlocks ¶
func (client *ClientImpl) ProcessBlocks()
func (*ClientImpl) ProcessOneBlock ¶
func (client *ClientImpl) ProcessOneBlock(block *ledger.Block)
func (*ClientImpl) ProcessSignals ¶
func (client *ClientImpl) ProcessSignals()
func (*ClientImpl) Rebuild ¶
func (client *ClientImpl) Rebuild() error
func (*ClientImpl) SaveAccount ¶
func (cl *ClientImpl) SaveAccount(ac *Account) error
SaveAccount saves a Account to memory and db
func (*ClientImpl) SaveCoins ¶
func (client *ClientImpl) SaveCoins() error
func (*ClientImpl) SaveContract ¶
func (cl *ClientImpl) SaveContract(ct *contract.Contract) error
SaveContract saves a contract to memory and db
func (*ClientImpl) Sign ¶
func (cl *ClientImpl) Sign(context *ct.ContractContext) error
type Coin ¶
type Coin struct { Output *transaction.TxOutput AddressType AddressType Height uint32 }
type ContractData ¶
type FileData ¶
type FileData struct { WalletData Account []AccountData Contract []ContractData Coins CoinData }
type FileStore ¶
type FileStore struct { // this lock could be hold by readDB, writeDB and interrupt signals. sync.Mutex // contains filtered or unexported fields }
func (*FileStore) BuildDatabase ¶
func (*FileStore) DeleteAccountData ¶
func (*FileStore) DeleteCoinsData ¶
func (*FileStore) DeleteContractData ¶
func (*FileStore) LoadAccountData ¶
func (cs *FileStore) LoadAccountData() ([]AccountData, error)
func (*FileStore) LoadCoinsData ¶
func (cs *FileStore) LoadCoinsData() (map[*transaction.UTXOTxInput]*Coin, error)
func (*FileStore) LoadContractData ¶
func (cs *FileStore) LoadContractData() ([]ContractData, error)
func (*FileStore) SaveAccountData ¶
func (*FileStore) SaveCoinsData ¶
func (cs *FileStore) SaveCoinsData(coins map[*transaction.UTXOTxInput]*Coin) error
type IClientStore ¶
type IClientStore interface { BuildDatabase(path string) SaveStoredData(name string, value []byte) LoadStoredData(name string) []byte CreateAccount() (*Account, error) CreateAccountByPrivateKey(privateKey []byte) (*Account, error) LoadAccounts() map[Uint160]*Account CreateContract(account *Account) error LoadContracts() map[Uint160]*ct.Contract SaveHeight(height uint32) error LoadHeight() (uint32, error) }
Click to show internal directories.
Click to hide internal directories.