Documentation ¶
Index ¶
- Constants
- func CreateID(nonce []byte) (string, error)
- func GenerateID() (string, error)
- func VerifyID(id string) bool
- type Account
- type AccountData
- type AccountMetadata
- type Client
- type ClientImpl
- func (this *ClientImpl) ChangePassword(address string, oldPasswd, newPasswd []byte) error
- func (this *ClientImpl) ChangeSigScheme(address string, sigScheme s.SignatureScheme) error
- func (this *ClientImpl) DeleteAccount(address string, passwd []byte) (*Account, error)
- func (this *ClientImpl) GetAccountByAddress(address string, passwd []byte) (*Account, error)
- func (this *ClientImpl) GetAccountByIndex(index int, passwd []byte) (*Account, error)
- func (this *ClientImpl) GetAccountByLabel(label string, passwd []byte) (*Account, error)
- func (this *ClientImpl) GetAccountMetadataByAddress(address string) *AccountMetadata
- func (this *ClientImpl) GetAccountMetadataByIndex(index int) *AccountMetadata
- func (this *ClientImpl) GetAccountMetadataByLabel(label string) *AccountMetadata
- func (this *ClientImpl) GetAccountNum() int
- func (this *ClientImpl) GetDefaultAccount(passwd []byte) (*Account, error)
- func (this *ClientImpl) GetDefaultAccountMetadata() *AccountMetadata
- func (this *ClientImpl) GetUnlockAccount(address string) *Account
- func (this *ClientImpl) GetWalletData() *WalletData
- func (this *ClientImpl) ImportAccount(accMeta *AccountMetadata) error
- func (this *ClientImpl) LockAccount(address string)
- func (this *ClientImpl) NewAccount(label string, typeCode keypair.KeyType, curveCode byte, ...) (*Account, error)
- func (this *ClientImpl) SetDefaultAccount(address string) error
- func (this *ClientImpl) SetLabel(address, label string) error
- func (this *ClientImpl) UnLockAccount(address string, expiredAt int, passwd []byte) error
- type ClientStore
- type Controller
- type Identity
- type WalletData
- func (this *WalletData) AddAccount(acc *AccountData)
- func (this *WalletData) AddIdentity(id *Identity)
- func (this *WalletData) Clone() *WalletData
- func (this *WalletData) DelAccount(address string)
- func (this *WalletData) GetAccountByAddress(address string) (*AccountData, int)
- func (this *WalletData) GetAccountByIndex(index int) *AccountData
- func (this *WalletData) Load(path string) error
- func (this *WalletData) Save(path string) error
- func (this *WalletData) ToDefaultSecurity(passwords [][]byte) error
- func (this *WalletData) ToLowSecurity(passwords [][]byte) error
Constants ¶
View Source
const ( SCHEME = "did" METHOD = "onx" VER = 0x41 )
Variables ¶
This section is empty.
Functions ¶
func GenerateID ¶
Types ¶
type Account ¶
type Account struct { PrivateKey keypair.PrivateKey PublicKey keypair.PublicKey Address common.Address SigScheme s.SignatureScheme }
crypto object
func NewAccount ¶
func (*Account) PrivKey ¶
func (this *Account) PrivKey() keypair.PrivateKey
func (*Account) Scheme ¶
func (this *Account) Scheme() s.SignatureScheme
type AccountData ¶
type AccountData struct { keypair.ProtectedKey Label string `json:"label"` PubKey string `json:"publicKey"` SigSch string `json:"signatureScheme"` IsDefault bool `json:"isDefault"` Lock bool `json:"lock"` }
* AccountData - for wallet read and save, no crypto object included *
func (*AccountData) GetKeyPair ¶
func (this *AccountData) GetKeyPair() *keypair.ProtectedKey
func (*AccountData) SetKeyPair ¶
func (this *AccountData) SetKeyPair(keyinfo *keypair.ProtectedKey)
func (*AccountData) SetLabel ¶
func (this *AccountData) SetLabel(label string)
type AccountMetadata ¶
type AccountMetadata struct { IsDefault bool //Is default account Label string //Lable of account KeyType string //KeyType ECDSA,SM2 or EDDSA Curve string //Curve of key type Address string //Address(base58) of account PubKey string //Public key SigSch string //Signature scheme Salt []byte //Salt Key []byte //PrivateKey in encrypted EncAlg string //Encrypt alg of private key Hash string //Hash alg }
AccountMetadata all account info without private key
type Client ¶
type Client interface { //NewAccount create a new account. NewAccount(label string, typeCode keypair.KeyType, curveCode byte, sigScheme s.SignatureScheme, passwd []byte) (*Account, error) //ImportAccount import a already exist account to wallet ImportAccount(accMeta *AccountMetadata) error //GetAccountByAddress return account object by address GetAccountByAddress(address string, passwd []byte) (*Account, error) //GetAccountByLabel return account object by label GetAccountByLabel(label string, passwd []byte) (*Account, error) //GetAccountByIndex return account object by index. Index start from 1 GetAccountByIndex(index int, passwd []byte) (*Account, error) //GetDefaultAccount return default account GetDefaultAccount(passwd []byte) (*Account, error) //GetAccountMetadataByIndex return account Metadata info by address GetAccountMetadataByAddress(address string) *AccountMetadata //GetAccountMetadataByLabel return account Metadata info by label GetAccountMetadataByLabel(label string) *AccountMetadata //GetAccountMetadataByIndex return account Metadata info by index. Index start from 1 GetAccountMetadataByIndex(index int) *AccountMetadata //GetDefaultAccountMetadata return default account Metadata info GetDefaultAccountMetadata() *AccountMetadata //GetAccountNum return total account number GetAccountNum() int //DeleteAccount delete account DeleteAccount(address string, passwd []byte) (*Account, error) //UnLockAccount can get account without password in expire time UnLockAccount(address string, expiredAt int, passwd []byte) error //LockAccount lock unlock account LockAccount(address string) //GetUnlockAccount return account which was unlock and in expired time GetUnlockAccount(address string) *Account //Set a new account to default account SetDefaultAccount(address string) error //Set a new label to accont SetLabel(address, label string) error //Change pasword to account ChangePassword(address string, oldPasswd, newPasswd []byte) error //Change sig scheme to account ChangeSigScheme(address string, sigScheme s.SignatureScheme) error //Get the underlying wallet data GetWalletData() *WalletData }
Client of wallet
type ClientImpl ¶
type ClientImpl struct {
// contains filtered or unexported fields
}
func NewClientImpl ¶
func NewClientImpl(path string) (*ClientImpl, error)
func (*ClientImpl) ChangePassword ¶
func (this *ClientImpl) ChangePassword(address string, oldPasswd, newPasswd []byte) error
func (*ClientImpl) ChangeSigScheme ¶
func (this *ClientImpl) ChangeSigScheme(address string, sigScheme s.SignatureScheme) error
func (*ClientImpl) DeleteAccount ¶
func (this *ClientImpl) DeleteAccount(address string, passwd []byte) (*Account, error)
func (*ClientImpl) GetAccountByAddress ¶
func (this *ClientImpl) GetAccountByAddress(address string, passwd []byte) (*Account, error)
func (*ClientImpl) GetAccountByIndex ¶
func (this *ClientImpl) GetAccountByIndex(index int, passwd []byte) (*Account, error)
Index start from 1
func (*ClientImpl) GetAccountByLabel ¶
func (this *ClientImpl) GetAccountByLabel(label string, passwd []byte) (*Account, error)
func (*ClientImpl) GetAccountMetadataByAddress ¶
func (this *ClientImpl) GetAccountMetadataByAddress(address string) *AccountMetadata
func (*ClientImpl) GetAccountMetadataByIndex ¶
func (this *ClientImpl) GetAccountMetadataByIndex(index int) *AccountMetadata
Index start from 1
func (*ClientImpl) GetAccountMetadataByLabel ¶
func (this *ClientImpl) GetAccountMetadataByLabel(label string) *AccountMetadata
func (*ClientImpl) GetAccountNum ¶
func (this *ClientImpl) GetAccountNum() int
func (*ClientImpl) GetDefaultAccount ¶
func (this *ClientImpl) GetDefaultAccount(passwd []byte) (*Account, error)
func (*ClientImpl) GetDefaultAccountMetadata ¶
func (this *ClientImpl) GetDefaultAccountMetadata() *AccountMetadata
func (*ClientImpl) GetUnlockAccount ¶
func (this *ClientImpl) GetUnlockAccount(address string) *Account
func (*ClientImpl) GetWalletData ¶
func (this *ClientImpl) GetWalletData() *WalletData
func (*ClientImpl) ImportAccount ¶
func (this *ClientImpl) ImportAccount(accMeta *AccountMetadata) error
func (*ClientImpl) LockAccount ¶
func (this *ClientImpl) LockAccount(address string)
func (*ClientImpl) NewAccount ¶
func (this *ClientImpl) NewAccount(label string, typeCode keypair.KeyType, curveCode byte, sigScheme s.SignatureScheme, passwd []byte) (*Account, error)
func (*ClientImpl) SetDefaultAccount ¶
func (this *ClientImpl) SetDefaultAccount(address string) error
func (*ClientImpl) SetLabel ¶
func (this *ClientImpl) SetLabel(address, label string) error
func (*ClientImpl) UnLockAccount ¶
func (this *ClientImpl) UnLockAccount(address string, expiredAt int, passwd []byte) error
type ClientStore ¶
type Controller ¶
type Controller struct { ID string `json:"id"` Public string `json:"publicKey,omitempty"` keypair.ProtectedKey }
type Identity ¶
type Identity struct { ID string `json:"onxid"` Label string `json:"label,omitempty"` Lock bool `json:"lock"` Control []Controller `json:"controls,omitempty"` Extra interface{} `json:"extra,omitempty"` }
type WalletData ¶
type WalletData struct { Name string `json:"name"` Version string `json:"version"` Scrypt *keypair.ScryptParam `json:"scrypt"` Identities []Identity `json:"identities,omitempty"` Accounts []*AccountData `json:"accounts,omitempty"` Extra string `json:"extra,omitempty"` }
func NewWalletData ¶
func NewWalletData() *WalletData
func (*WalletData) AddAccount ¶
func (this *WalletData) AddAccount(acc *AccountData)
func (*WalletData) AddIdentity ¶
func (this *WalletData) AddIdentity(id *Identity)
func (*WalletData) Clone ¶
func (this *WalletData) Clone() *WalletData
func (*WalletData) DelAccount ¶
func (this *WalletData) DelAccount(address string)
func (*WalletData) GetAccountByAddress ¶
func (this *WalletData) GetAccountByAddress(address string) (*AccountData, int)
func (*WalletData) GetAccountByIndex ¶
func (this *WalletData) GetAccountByIndex(index int) *AccountData
func (*WalletData) Load ¶
func (this *WalletData) Load(path string) error
func (*WalletData) Save ¶
func (this *WalletData) Save(path string) error
func (*WalletData) ToDefaultSecurity ¶
func (this *WalletData) ToDefaultSecurity(passwords [][]byte) error
func (*WalletData) ToLowSecurity ¶
func (this *WalletData) ToLowSecurity(passwords [][]byte) error
Click to show internal directories.
Click to hide internal directories.