Documentation ¶
Index ¶
- Constants
- Variables
- func CloseLog()
- func ConvertToToken(value int64) float64
- func ConvertToValue(token float64) int64
- func CreateMSVote(proposal, grpClientID, signerWalletstr, toClientID string, token int64) (string, error)
- func CreateMSWallet(t, n int) (string, string, []string, error)
- func CreateWallet(statusCb WalletCallback) error
- func Decrypt(key, text string) (string, error)
- func Encrypt(key, text string) (string, error)
- func GetAllocation(allocID string, cb GetInfoCallback) (err error)
- func GetAllocations(clientID string, cb GetInfoCallback) (err error)
- func GetBalance(cb GetBalanceCallback) error
- func GetBalanceWallet(walletStr string, cb GetBalanceCallback) error
- func GetBlobber(blobberID string, cb GetInfoCallback) (err error)
- func GetBlobbers(cb GetInfoCallback) (err error)
- func GetBlockByRound(ctx context.Context, numSharders int, round int64) (b *block.Block, err error)
- func GetChainStats(ctx context.Context) (b *block.ChainStats, err error)
- func GetChallengePoolInfo(allocID string, cb GetInfoCallback) (err error)
- func GetClientID(pkey string) string
- func GetIdForUrl(url string) string
- func GetLatestFinalized(ctx context.Context, numSharders int) (b *block.Header, err error)
- func GetLatestFinalizedMagicBlock(ctx context.Context, numSharders int) (m *block.MagicBlock, err error)
- func GetLockConfig(cb GetInfoCallback) error
- func GetLockedTokens(cb GetInfoCallback) error
- func GetMagicBlockByNumber(ctx context.Context, numSharders int, number int64) (m *block.MagicBlock, err error)
- func GetMinShardersVerify() int
- func GetMinerSCConfig(cb GetInfoCallback) (err error)
- func GetMinerSCNodeInfo(id string, cb GetInfoCallback) (err error)
- func GetMinerSCNodePool(id, poolID string, cb GetInfoCallback) (err error)
- func GetMinerSCUserInfo(clientID string, cb GetInfoCallback) (err error)
- func GetMiners(cb GetInfoCallback) (err error)
- func GetMultisigPayload(mswstr string) (interface{}, error)
- func GetMultisigVotePayload(msvstr string) (interface{}, error)
- func GetNetworkJSON() string
- func GetReadPoolInfo(clientID string, cb GetInfoCallback) (err error)
- func GetSharders(cb GetInfoCallback) (err error)
- func GetStakePoolInfo(blobberID string, cb GetInfoCallback) (err error)
- func GetStakePoolUserInfo(clientID string, cb GetInfoCallback) (err error)
- func GetStorageSCConfig(cb GetInfoCallback) (err error)
- func GetVersion() string
- func GetVestingClientList(clientID string, cb GetInfoCallback) (err error)
- func GetVestingPoolInfo(poolID string, cb GetInfoCallback) (err error)
- func GetVestingSCConfig(cb GetInfoCallback) (err error)
- func GetWallet(walletStr string) (*zcncrypto.Wallet, error)
- func GetWalletClientID(walletStr string) (string, error)
- func GetWritePoolInfo(clientID string, cb GetInfoCallback) (err error)
- func GetZcnUSDInfo(cb GetUSDInfoCallback) error
- func Init(c string) error
- func InitZCNSDK(blockWorker string, signscheme string, configs ...func(*ChainConfig) error) error
- func IsMnemonicValid(mnemonic string) bool
- func RecoverWallet(mnemonic string, statusCb WalletCallback) error
- func RegisterToMiners(wallet *zcncrypto.Wallet, statusCb WalletCallback) error
- func RegisterWallet(walletString string, cb WalletCallback)
- func SetAuthUrl(url string) error
- func SetLogFile(logFile string, verbose bool)
- func SetLogLevel(lvl int)
- func SetNetwork(miners []string, sharders []string)
- func SetWalletInfo(w string, splitKeyWallet bool) error
- func SetupAuth(authHost, clientID, clientKey, publicKey, privateKey, localPublicKey string, ...) error
- func SplitKeys(privateKey string, numSplits int) (string, error)
- func UpdateNetworkDetails() error
- func UpdateNetworkDetailsWorker(ctx context.Context)
- func UpdateRequired(networkDetails *Network) bool
- func VerifyContentHash(metaTxnDataJSON string) (bool, error)
- func WithChainID(id string) func(c *ChainConfig) error
- func WithConfirmationChainLength(m int) func(c *ChainConfig) error
- func WithMinConfirmation(m int) func(c *ChainConfig) error
- func WithMinSubmit(m int) func(c *ChainConfig) error
- type AuthCallback
- type Blobber
- type ChainConfig
- type CreateAllocationRequest
- type GetBalanceCallback
- type GetClientResponse
- type GetInfoCallback
- type GetUSDInfoCallback
- type MSTransfer
- type MSVote
- type MSVoteCallback
- type MSWallet
- type Miner
- type MinerSCConfig
- type MinerSCDelegatePool
- type MinerSCDelegatePoolInfo
- type MinerSCLock
- type MinerSCMinerInfo
- type MinerSCMinerStat
- type MinerSCNodes
- type MinerSCPool
- type MinerSCPoolStats
- type MinerSCUnlock
- type MinerSCUserPoolsInfo
- type MultisigSCWallet
- type Network
- type Node
- type Params
- type PriceRange
- type StakePoolSettings
- type Terms
- type Transaction
- func (t *Transaction) CancelAllocation(allocID string, fee int64) (err error)
- func (t *Transaction) CreateAllocation(car *CreateAllocationRequest, lock, fee int64) (err error)
- func (t *Transaction) CreateReadPool(fee int64) (err error)
- func (t *Transaction) ExecuteFaucetSCWallet(walletStr string, methodName string, input []byte) error
- func (t *Transaction) ExecuteSmartContract(address, methodName, jsoninput string, val int64) error
- func (t *Transaction) FinalizeAllocation(allocID string, fee int64) (err error)
- func (t *Transaction) GetTransactionError() string
- func (t *Transaction) GetTransactionHash() string
- func (t *Transaction) GetVerifyError() string
- func (t *Transaction) GetVerifyOutput() string
- func (t *Transaction) LockTokens(val int64, durationHr int64, durationMin int) error
- func (t *Transaction) MienrSCUnlock(nodeID, poolID string) (err error)
- func (t *Transaction) MinerSCLock(nodeID string, lock int64) (err error)
- func (t *Transaction) MinerSCSettings(info *MinerSCMinerInfo) (err error)
- func (t *Transaction) Output() []byte
- func (t *Transaction) ReadPoolLock(allocID, blobberID string, duration int64, lock, fee int64) (err error)
- func (t *Transaction) ReadPoolUnlock(poolID string, fee int64) (err error)
- func (t *Transaction) RegisterMultiSig(walletstr string, mswallet string) error
- func (t *Transaction) RegisterVote(signerwalletstr string, msvstr string) error
- func (t *Transaction) Send(toClientID string, val int64, desc string) error
- func (t *Transaction) SendWithSignatureHash(toClientID string, val int64, desc string, sig string, CreationDate int64, ...) error
- func (t *Transaction) SetTransactionCallback(cb TransactionCallback) error
- func (t *Transaction) SetTransactionFee(txnFee int64) error
- func (t *Transaction) SetTransactionHash(hash string) error
- func (t *Transaction) StakePoolLock(blobberID string, lock, fee int64) (err error)
- func (t *Transaction) StakePoolPayInterests(blobberID string, fee int64) (err error)
- func (t *Transaction) StakePoolUnlock(blobberID, poolID string, fee int64) (err error)
- func (t *Transaction) StoreData(data string) error
- func (t *Transaction) UnlockTokens(poolID string) error
- func (t *Transaction) UpdateAllocation(allocID string, sizeDiff int64, expirationDiff int64, lock, fee int64) (err error)
- func (t *Transaction) UpdateBlobberSettings(b *Blobber, fee int64) (err error)
- func (t *Transaction) Verify() error
- func (t *Transaction) VestingAdd(ar *VestingAddRequest, value int64) (err error)
- func (t *Transaction) VestingDelete(poolID string) (err error)
- func (t *Transaction) VestingStop(sr *VestingStopRequest) (err error)
- func (t *Transaction) VestingTrigger(poolID string) (err error)
- func (t *Transaction) VestingUnlock(poolID string) (err error)
- func (t *Transaction) VestingUpdateConfig(vscc *VestingSCConfig) (err error)
- func (t *Transaction) WritePoolLock(allocID, blobberID string, duration int64, lock, fee int64) (err error)
- func (t *Transaction) WritePoolUnlock(poolID string, fee int64) (err error)
- type TransactionCallback
- type TransactionScheme
- type TransactionWithAuth
- func (ta *TransactionWithAuth) CancelAllocation(allocID string, fee int64) (err error)
- func (ta *TransactionWithAuth) CreateAllocation(car *CreateAllocationRequest, lock, fee int64) (err error)
- func (ta *TransactionWithAuth) CreateReadPool(fee int64) (err error)
- func (ta *TransactionWithAuth) ExecuteFaucetSCWallet(walletStr string, methodName string, input []byte) error
- func (ta *TransactionWithAuth) ExecuteSmartContract(address, methodName, jsoninput string, val int64) error
- func (ta *TransactionWithAuth) FinalizeAllocation(allocID string, fee int64) (err error)
- func (ta *TransactionWithAuth) GetTransactionError() string
- func (ta *TransactionWithAuth) GetTransactionHash() string
- func (ta *TransactionWithAuth) GetVerifyError() string
- func (ta *TransactionWithAuth) GetVerifyOutput() string
- func (ta *TransactionWithAuth) LockTokens(val int64, durationHr int64, durationMin int) error
- func (ta *TransactionWithAuth) MienrSCUnlock(nodeID, poolID string) (err error)
- func (ta *TransactionWithAuth) MinerSCLock(minerID string, lock int64) (err error)
- func (ta *TransactionWithAuth) MinerSCSettings(info *MinerSCMinerInfo) (err error)
- func (ta *TransactionWithAuth) Output() []byte
- func (ta *TransactionWithAuth) ReadPoolLock(allocID, blobberID string, duration int64, lock, fee int64) (err error)
- func (ta *TransactionWithAuth) ReadPoolUnlock(poolID string, fee int64) (err error)
- func (ta *TransactionWithAuth) RegisterMultiSig(walletstr string, mswallet string) error
- func (ta *TransactionWithAuth) Send(toClientID string, val int64, desc string) error
- func (ta *TransactionWithAuth) SetTransactionCallback(cb TransactionCallback) error
- func (ta *TransactionWithAuth) SetTransactionFee(txnFee int64) error
- func (ta *TransactionWithAuth) SetTransactionHash(hash string) error
- func (ta *TransactionWithAuth) StakePoolLock(blobberID string, lock, fee int64) (err error)
- func (ta *TransactionWithAuth) StakePoolPayInterests(blobberID string, fee int64) (err error)
- func (ta *TransactionWithAuth) StakePoolUnlock(blobberID, poolID string, fee int64) (err error)
- func (ta *TransactionWithAuth) StoreData(data string) error
- func (ta *TransactionWithAuth) UnlockTokens(poolID string) error
- func (ta *TransactionWithAuth) UpdateAllocation(allocID string, sizeDiff int64, expirationDiff int64, lock, fee int64) (err error)
- func (ta *TransactionWithAuth) UpdateBlobberSettings(blob *Blobber, fee int64) (err error)
- func (ta *TransactionWithAuth) Verify() error
- func (ta *TransactionWithAuth) VestingAdd(ar *VestingAddRequest, value int64) (err error)
- func (ta *TransactionWithAuth) VestingDelete(poolID string) (err error)
- func (ta *TransactionWithAuth) VestingStop(sr *VestingStopRequest) (err error)
- func (ta *TransactionWithAuth) VestingTrigger(poolID string) (err error)
- func (ta *TransactionWithAuth) VestingUnlock(poolID string) (err error)
- func (ta *TransactionWithAuth) VestingUpdateConfig(vscc *VestingSCConfig) (err error)
- func (ta *TransactionWithAuth) WritePoolLock(allocID, blobberID string, duration int64, lock, fee int64) (err error)
- func (ta *TransactionWithAuth) WritePoolUnlock(poolID string, fee int64) (err error)
- type VestingAddRequest
- type VestingClientList
- type VestingDest
- type VestingDestInfo
- type VestingPoolInfo
- type VestingSCConfig
- type VestingStopRequest
- type WalletCallback
Constants ¶
const ( REGISTER_CLIENT = `/v1/client/put` GET_CLIENT = `/v1/client/get` PUT_TRANSACTION = `/v1/transaction/put` TXN_VERIFY_URL = `/v1/transaction/get/confirmation?hash=` GET_BALANCE = `/v1/client/get/balance?client_id=` GET_LOCK_CONFIG = `/v1/screst/` + InterestPoolSmartContractAddress + `/getLockConfig` GET_LOCKED_TOKENS = `/v1/screst/` + InterestPoolSmartContractAddress + `/getPoolsStats?client_id=` GET_BLOCK_INFO = `/v1/block/get?` GET_MAGIC_BLOCK_INFO = `/v1/block/magic/get?` GET_LATEST_FINALIZED = `/v1/block/get/latest_finalized` GET_LATEST_FINALIZED_MAGIC_BLOCK = `/v1/block/get/latest_finalized_magic_block` GET_CHAIN_STATS = `/v1/chain/get/stats` VESTINGSC_PFX = `/v1/screst/` + VestingSmartContractAddress GET_VESTING_CONFIG = VESTINGSC_PFX + `/getConfig` GET_VESTING_POOL_INFO = VESTINGSC_PFX + `/getPoolInfo` GET_VESTING_CLIENT_POOLS = VESTINGSC_PFX + `/getClientPools` MINERSC_PFX = `/v1/screst/` + MinerSmartContractAddress GET_MINERSC_NODE = MINERSC_PFX + "/nodeStat" GET_MINERSC_POOL = MINERSC_PFX + "/nodePoolStat" GET_MINERSC_CONFIG = MINERSC_PFX + "/configs" GET_MINERSC_USER = MINERSC_PFX + "/getUserPools" GET_MINERSC_MINERS = MINERSC_PFX + "/getMinerList" GET_MINERSC_SHARDERS = MINERSC_PFX + "/getSharderList" STORAGESC_PFX = "/v1/screst/" + StorageSmartContractAddress STORAGESC_GET_SC_CONFIG = STORAGESC_PFX + "/getConfig" STORAGESC_GET_CHALLENGE_POOL_INFO = STORAGESC_PFX + "/getChallengePoolStat" STORAGESC_GET_ALLOCATION = STORAGESC_PFX + "/allocation" STORAGESC_GET_ALLOCATIONS = STORAGESC_PFX + "/allocations" STORAGESC_GET_READ_POOL_INFO = STORAGESC_PFX + "/getReadPoolStat" STORAGESC_GET_STAKE_POOL_INFO = STORAGESC_PFX + "/getStakePoolStat" STORAGESC_GET_STAKE_POOL_USER_INFO = STORAGESC_PFX + "/getUserStakePoolStat" STORAGESC_GET_BLOBBERS = STORAGESC_PFX + "/getblobbers" STORAGESC_GET_BLOBBER = STORAGESC_PFX + "/getBlobber" STORAGESC_GET_WRITE_POOL_INFO = STORAGESC_PFX + "/getWritePoolStat" )
const ( StorageSmartContractAddress = `6dba10422e368813802877a85039d3985d96760ed844092319743fb3a76712d7` VestingSmartContractAddress = `2bba5b05949ea59c80aed3ac3474d7379d3be737e8eb5a968c52295e48333ead` FaucetSmartContractAddress = `6dba10422e368813802877a85039d3985d96760ed844092319743fb3a76712d3` InterestPoolSmartContractAddress = `cf8d0df9bd8cc637a4ff4e792ffe3686da6220c45f0e1103baa609f3f1751ef4` MultiSigSmartContractAddress = `27b5ef7120252b79f9dd9c05505dd28f328c80f6863ee446daede08a84d651a7` MinerSmartContractAddress = `6dba10422e368813802877a85039d3985d96760ed844092319743fb3a76712d9` MultiSigRegisterFuncName = "register" MultiSigVoteFuncName = "vote" )
const ( StatusSuccess int = 0 StatusNetworkError int = 1 // TODO: Change to specific error StatusError int = 2 StatusRejectedByUser int = 3 StatusInvalidSignature int = 4 StatusAuthError int = 5 StatusAuthVerifyFailed int = 6 StatusAuthTimeout int = 7 StatusUnknown int = -1 )
const ( OpGetTokenLockConfig int = iota OpGetLockedTokens OpGetUserPools OpGetUserPoolDetail // storage SC ops OpStorageSCGetConfig OpStorageSCGetChallengePoolInfo OpStorageSCGetAllocation OpStorageSCGetAllocations OpStorageSCGetReadPoolInfo OpStorageSCGetStakePoolInfo OpStorageSCGetBlobbers OpStorageSCGetBlobber OpStorageSCGetWritePoolInfo )
const NETWORK_ENDPOINT = "/network"
const TOKEN_UNIT int64 = 1e10
Variables ¶
var Logger logger.Logger
Functions ¶
func ConvertToToken ¶
ConvertToToken converts the value to ZCN tokens
func ConvertToValue ¶
ConvertToValue converts ZCN tokens to value
func CreateMSVote ¶
func CreateMSVote(proposal, grpClientID, signerWalletstr, toClientID string, token int64) (string, error)
CreateMSVote create a vote for multisig
func CreateMSWallet ¶
CreateMSWallet returns multisig wallet information
func CreateWallet ¶
func CreateWallet(statusCb WalletCallback) error
CreateWallet creates the a wallet for the configure signature scheme. It also registers the wallet again to block chain.
func GetAllocation ¶
func GetAllocation(allocID string, cb GetInfoCallback) (err error)
GetAllocation obtains allocation information.
func GetAllocations ¶
func GetAllocations(clientID string, cb GetInfoCallback) (err error)
GetAllocations obtains list of allocations of a user.
func GetBalance ¶
func GetBalance(cb GetBalanceCallback) error
GetBalance retreives wallet balance from sharders
func GetBalanceWallet ¶
func GetBalanceWallet(walletStr string, cb GetBalanceCallback) error
GetBalance retreives wallet balance from sharders
func GetBlobber ¶
func GetBlobber(blobberID string, cb GetInfoCallback) (err error)
GetBlobber obtains blobber information.
func GetBlobbers ¶
func GetBlobbers(cb GetInfoCallback) (err error)
GetBlobbers obtains list of all active blobbers.
func GetBlockByRound ¶
func GetChainStats ¶
func GetChainStats(ctx context.Context) (b *block.ChainStats, err error)
func GetChallengePoolInfo ¶
func GetChallengePoolInfo(allocID string, cb GetInfoCallback) (err error)
GetChallengePoolInfo obtains challenge pool information for an allocation.
func GetClientID ¶
GetClientID -- computes Client ID from publickey
func GetIdForUrl ¶
func GetLatestFinalized ¶
func GetLockConfig ¶
func GetLockConfig(cb GetInfoCallback) error
GetLockConfig returns the lock token configuration information such as interest rate from blockchain
func GetLockedTokens ¶
func GetLockedTokens(cb GetInfoCallback) error
GetLockedTokens returns the ealier locked token pool stats
func GetMagicBlockByNumber ¶
func GetMinShardersVerify ¶
func GetMinShardersVerify() int
func GetMinerSCConfig ¶
func GetMinerSCConfig(cb GetInfoCallback) (err error)
func GetMinerSCNodeInfo ¶
func GetMinerSCNodeInfo(id string, cb GetInfoCallback) (err error)
func GetMinerSCNodePool ¶
func GetMinerSCNodePool(id, poolID string, cb GetInfoCallback) (err error)
func GetMinerSCUserInfo ¶
func GetMinerSCUserInfo(clientID string, cb GetInfoCallback) (err error)
func GetMiners ¶
func GetMiners(cb GetInfoCallback) (err error)
GetMiners obtains list of all active miners.
func GetMultisigPayload ¶
GetMultisigPayload given a multisig wallet as a string, makes a multisig wallet payload to register
func GetMultisigVotePayload ¶
GetMultisigVotePayload given a multisig vote as a string, makes a multisig vote payload to register
func GetNetworkJSON ¶
func GetNetworkJSON() string
func GetReadPoolInfo ¶
func GetReadPoolInfo(clientID string, cb GetInfoCallback) (err error)
GetReadPoolInfo obtains information about read pool of a user.
func GetSharders ¶
func GetSharders(cb GetInfoCallback) (err error)
GetSharders obtains list of all active sharders.
func GetStakePoolInfo ¶
func GetStakePoolInfo(blobberID string, cb GetInfoCallback) (err error)
GetStakePoolInfo obtains information about stake pool of a blobber and related validator.
func GetStakePoolUserInfo ¶
func GetStakePoolUserInfo(clientID string, cb GetInfoCallback) (err error)
GetStakePoolUserInfo for a user.
func GetStorageSCConfig ¶
func GetStorageSCConfig(cb GetInfoCallback) (err error)
GetStorageSCConfig obtains Storage SC configurations.
func GetVestingClientList ¶
func GetVestingClientList(clientID string, cb GetInfoCallback) (err error)
func GetVestingPoolInfo ¶
func GetVestingPoolInfo(poolID string, cb GetInfoCallback) (err error)
func GetVestingSCConfig ¶
func GetVestingSCConfig(cb GetInfoCallback) (err error)
func GetWalletClientID ¶
GetWalletClientID -- given a walletstr return ClientID
func GetWritePoolInfo ¶
func GetWritePoolInfo(clientID string, cb GetInfoCallback) (err error)
GetWritePoolInfo obtains information about all write pools of a user. If given clientID is empty, then current user used.
func GetZcnUSDInfo ¶
func GetZcnUSDInfo(cb GetUSDInfoCallback) error
GetZcnUSDInfo returns USD value for ZCN token from coinmarketcap.com
func Init ¶
Init inializes the SDK with miner, sharder and signature scheme provided in configuration provided in JSON format
func InitZCNSDK ¶
func InitZCNSDK(blockWorker string, signscheme string, configs ...func(*ChainConfig) error) error
InitZCNSDK initializes the SDK with miner, sharder and signature scheme provided.
func IsMnemonicValid ¶
IsMnemonicValid is an utility function to check the mnemonic valid
func RecoverWallet ¶
func RecoverWallet(mnemonic string, statusCb WalletCallback) error
RecoverWallet recovers the previously generated wallet using the mnemonic. It also registers the wallet again to block chain.
func RegisterToMiners ¶
func RegisterToMiners(wallet *zcncrypto.Wallet, statusCb WalletCallback) error
RegisterToMiners can be used to register the wallet.
func RegisterWallet ¶
func RegisterWallet(walletString string, cb WalletCallback)
RegisterWallet registers multisig related wallets
func SetAuthUrl ¶
SetAuthUrl will be called by app to set zauth URL to SDK.
func SetLogFile ¶
SetLogFile - sets file path to write log verbose - true - console output; false - no console output
func SetLogLevel ¶
func SetLogLevel(lvl int)
SetLogLevel set the log level. lvl - 0 disabled; higher number (upto 4) more verbosity
func SetNetwork ¶
func SetWalletInfo ¶
SetWalletInfo should be set before any transaction or client specific APIs splitKeyWallet parameter is valid only if SignatureScheme is "BLS0Chain"
func SetupAuth ¶
func SetupAuth(authHost, clientID, clientKey, publicKey, privateKey, localPublicKey string, cb AuthCallback) error
SetupAuth prepare auth app with clientid, key and a set of public, private key and local publickey which is running on PC/Mac.
func UpdateNetworkDetails ¶
func UpdateNetworkDetails() error
func UpdateRequired ¶
func VerifyContentHash ¶
func WithChainID ¶
func WithChainID(id string) func(c *ChainConfig) error
func WithConfirmationChainLength ¶
func WithConfirmationChainLength(m int) func(c *ChainConfig) error
func WithMinConfirmation ¶
func WithMinConfirmation(m int) func(c *ChainConfig) error
func WithMinSubmit ¶
func WithMinSubmit(m int) func(c *ChainConfig) error
Types ¶
type AuthCallback ¶
type AuthCallback interface { // This call back gives the status of the Two factor authenticator(zauth) setup. OnSetupComplete(status int, err string) }
AuthCallback needs to be implemented by the caller SetupAuth()
type ChainConfig ¶
type ChainConfig struct { ChainID string `json:"chain_id,omitempty"` BlockWorker string `json:"block_worker"` Miners []string `json:"miners"` Sharders []string `json:"sharders"` SignatureScheme string `json:"signature_scheme"` MinSubmit int `json:"min_submit"` MinConfirmation int `json:"min_confirmation"` ConfirmationChainLength int `json:"confirmation_chain_length"` }
type CreateAllocationRequest ¶
type CreateAllocationRequest struct { DataShards int `json:"data_shards"` ParityShards int `json:"parity_shards"` Size common.Size `json:"size"` Expiration common.Timestamp `json:"expiration_date"` Owner string `json:"owner_id"` OwnerPublicKey string `json:"owner_public_key"` PreferredBlobbers []string `json:"preferred_blobbers"` ReadPriceRange PriceRange `json:"read_price_range"` WritePriceRange PriceRange `json:"write_price_range"` MaxChallengeCompletionTime time.Duration `json:"max_challenge_completion_time"` }
CreateAllocationRequest is information to create allocation.
type GetBalanceCallback ¶
GetBalanceCallback needs to be implemented by the caller of GetBalance() to get the status
type GetClientResponse ¶
type GetClientResponse struct { ID string `json:"id"` Version string `json:"version"` CreationDate int `json:"creation_date"` PublicKey string `json:"public_key"` }
func GetClientDetails ¶
func GetClientDetails(clientID string) (*GetClientResponse, error)
type GetInfoCallback ¶
type GetInfoCallback interface { // OnInfoAvailable will be called when GetLockTokenConfig is complete // if status == StatusSuccess then info is valid // is status != StatusSuccess then err will give the reason OnInfoAvailable(op int, status int, info string, err string) }
GetInfoCallback needs to be implemented by the caller of GetLockTokenConfig() and GetLockedTokens()
type GetUSDInfoCallback ¶
type GetUSDInfoCallback interface { // This will be called when GetZcnUSDInfo completes. // if status == StatusSuccess then info is valid // is status != StatusSuccess then err will give the reason OnUSDInfoAvailable(status int, info string, err string) }
GetUSDInfoCallback needs to be implemented by the caller of GetZcnUSDInfo()
type MSTransfer ¶
type MSTransfer struct { ClientID string `json:"from"` ToClientID string `json:"to"` Amount int64 `json:"amount"` }
MSTransfer - a data structure to hold state transfer from one client to another
type MSVote ¶
type MSVote struct { ProposalID string `json:"proposal_id"` // Client ID in transfer is that of the multi-sig wallet, not the signer. Transfer MSTransfer `json:"transfer"` Signature string `json:"signature"` }
MSVote -- this should mimic the type Vote defined in MultiSig SC
type MSVoteCallback ¶
MSVoteCallback callback definition multisig Vote function
type MSWallet ¶
type MSWallet struct { Id int `json:"id"` SignatureScheme string `json:"signature_scheme"` GroupClientID string `json:"group_client_id"` GroupKey *zcncrypto.BLS0ChainScheme `json:"group_key"` SignerClientIDs []string `json:"sig_client_ids"` SignerKeys []zcncrypto.BLS0ChainThresholdScheme `json:"signer_keys"` T int `json:"threshold"` N int `json:"num_subkeys"` }
MSWallet Client data necessary for a multi-sig wallet.
type Miner ¶
type Miner struct { ID string `json:"id"` N2NHost string `json:"n2n_host"` Host string `json:"host"` Port int `json:"port"` PublicKey string `json:"public_key"` ShortName string `json:"short_name"` BuildTag string `json:"build_tag"` TotalStake int `json:"total_stake"` DelegateWallet string `json:"delegate_wallet"` ServiceCharge float64 `json:"service_charge"` NumberOfDelegates int `json:"number_of_delegates"` MinStake int64 `json:"min_stake"` MaxStake int64 `json:"max_stake"` Stat interface{} `json:"stat"` }
type MinerSCConfig ¶
type MinerSCConfig struct { ViewChange int64 `json:"view_change"` MaxN int `json:"max_n"` MinN int `json:"min_n"` MinS int `json:"min_s"` MaxS int `json:"max_s"` TPercent float64 `json:"t_percent"` KPercent float64 `json:"k_percent"` LastRound int64 `json:"last_round"` MaxStake common.Balance `json:"max_stake"` MinStake common.Balance `json:"min_stake"` InterestRate float64 `json:"interest_rate"` RewardRate float64 `json:"reward_rate"` BlockReward common.Balance `json:"block_reward"` MaxCharge float64 `json:"max_charge"` Epoch int64 `json:"epoch"` RewardDeclineRate float64 `json:"reward_decline_rate"` InterestDeclineRate float64 `json:"interest_decline_rate"` MaxMint common.Balance `json:"max_mint"` Minted common.Balance `json:"minted"` MaxDelegates int `json:"max_delegates"` }
type MinerSCDelegatePool ¶
type MinerSCDelegatePool struct { MinerSCPoolStats `json:"stats"` MinerSCPool `json:"pool"` }
type MinerSCDelegatePoolInfo ¶
type MinerSCDelegatePoolInfo struct { ID common.Key `json:"id"` // pool ID Balance common.Balance `json:"balance"` // InterestPaid common.Balance `json:"interest_paid"` // RewardPaid common.Balance `json:"reward_paid"` // Status string `json:"status"` // High common.Balance `json:"high"` // } Low common.Balance `json:"low"` // } }
type MinerSCLock ¶
type MinerSCLock struct {
ID string `json:"id"`
}
type MinerSCMinerInfo ¶
type MinerSCMinerInfo struct { ID string `json:"id"` BaseURL string `json:"url"` DelegateWallet string `json:"delegate_wallet"` // ServiceCharge float64 `json:"service_charge"` // % NumberOfDelegates int `json:"number_of_delegates"` // MinStake common.Balance `json:"min_stake"` // MaxStake common.Balance `json:"max_stake"` // Stat MinerSCMinerStat `json:"stat"` Pending map[string]MinerSCDelegatePool `json:"pending"` Active map[string]MinerSCDelegatePool `json:"active"` Deleting map[string]MinerSCDelegatePool `json:"deleting"` }
type MinerSCMinerStat ¶
type MinerSCMinerStat struct { // for miner (totals) BlockReward common.Balance `json:"block_reward,omitempty"` ServiceCharge common.Balance `json:"service_charge,omitempty"` UsersFee common.Balance `json:"users_fee,omitempty"` BlockShardersFee common.Balance `json:"block_sharders_fee,omitempty"` // for sharder (total) SharderRewards common.Balance `json:"sharder_rewards,omitempty"` }
type MinerSCNodes ¶
type MinerSCNodes struct {
Nodes []Node `json:"Nodes"`
}
type MinerSCPool ¶
type MinerSCPoolStats ¶
type MinerSCUnlock ¶
type MinerSCUserPoolsInfo ¶
type MinerSCUserPoolsInfo struct {
Pools map[string]map[string][]*MinerSCDelegatePoolInfo `json:"pools"`
}
type MultisigSCWallet ¶
type MultisigSCWallet struct { ClientID string `json:"client_id"` SignatureScheme string `json:"signature_scheme"` PublicKey string `json:"public_key"` SignerThresholdIDs []string `json:"signer_threshold_ids"` SignerPublicKeys []string `json:"signer_public_keys"` NumRequired int `json:"num_required"` }
MultisigSCWallet --this should mimic MultisigWallet definition in MultiSig SC
type PriceRange ¶
PriceRange represents a price range allowed by user to filter blobbers.
type StakePoolSettings ¶
type Terms ¶
type Terms struct { ReadPrice common.Balance `json:"read_price"` // tokens / GB WritePrice common.Balance `json:"write_price"` // tokens / GB MinLockDemand float64 `json:"min_lock_demand"` MaxOfferDuration time.Duration `json:"max_offer_duration"` ChallengeCompletionTime time.Duration `json:"challenge_completion_time"` }
type Transaction ¶
type Transaction struct {
// contains filtered or unexported fields
}
func NewMSTransaction ¶
func NewMSTransaction(walletstr string, cb TransactionCallback) (*Transaction, error)
NewMSTransaction new transaction object for multisig operation
func (*Transaction) CancelAllocation ¶
func (t *Transaction) CancelAllocation(allocID string, fee int64) ( err error)
CancelAllocation transaction.
func (*Transaction) CreateAllocation ¶
func (t *Transaction) CreateAllocation(car *CreateAllocationRequest, lock, fee int64) (err error)
CreateAllocation transaction.
func (*Transaction) CreateReadPool ¶
func (t *Transaction) CreateReadPool(fee int64) (err error)
CreateReadPool for current user.
func (*Transaction) ExecuteFaucetSCWallet ¶
func (t *Transaction) ExecuteFaucetSCWallet(walletStr string, methodName string, input []byte) error
ExecuteFaucetSCWallet impements the Faucet Smart contract for a given wallet
func (*Transaction) ExecuteSmartContract ¶
func (t *Transaction) ExecuteSmartContract(address, methodName, jsoninput string, val int64) error
func (*Transaction) FinalizeAllocation ¶
func (t *Transaction) FinalizeAllocation(allocID string, fee int64) ( err error)
FinalizeAllocation transaction.
func (*Transaction) GetTransactionError ¶
func (t *Transaction) GetTransactionError() string
func (*Transaction) GetTransactionHash ¶
func (t *Transaction) GetTransactionHash() string
func (*Transaction) GetVerifyError ¶
func (t *Transaction) GetVerifyError() string
func (*Transaction) GetVerifyOutput ¶
func (t *Transaction) GetVerifyOutput() string
func (*Transaction) LockTokens ¶
func (t *Transaction) LockTokens(val int64, durationHr int64, durationMin int) error
func (*Transaction) MienrSCUnlock ¶
func (t *Transaction) MienrSCUnlock(nodeID, poolID string) (err error)
func (*Transaction) MinerSCLock ¶
func (t *Transaction) MinerSCLock(nodeID string, lock int64) (err error)
func (*Transaction) MinerSCSettings ¶
func (t *Transaction) MinerSCSettings(info *MinerSCMinerInfo) (err error)
func (*Transaction) Output ¶
func (t *Transaction) Output() []byte
func (*Transaction) ReadPoolLock ¶
func (t *Transaction) ReadPoolLock(allocID, blobberID string, duration int64, lock, fee int64) (err error)
ReadPoolLock locks tokens for current user and given allocation, using given duration. If blobberID is not empty, then tokens will be locked for given allocation->blobber only.
func (*Transaction) ReadPoolUnlock ¶
func (t *Transaction) ReadPoolUnlock(poolID string, fee int64) (err error)
ReadPoolUnlock for current user and given pool.
func (*Transaction) RegisterMultiSig ¶
func (t *Transaction) RegisterMultiSig(walletstr string, mswallet string) error
RegisterMultiSig register a multisig wallet with the SC.
func (*Transaction) RegisterVote ¶
func (t *Transaction) RegisterVote(signerwalletstr string, msvstr string) error
RegisterVote register a multisig wallet with the SC.
func (*Transaction) Send ¶
func (t *Transaction) Send(toClientID string, val int64, desc string) error
func (*Transaction) SendWithSignatureHash ¶
func (*Transaction) SetTransactionCallback ¶
func (t *Transaction) SetTransactionCallback(cb TransactionCallback) error
func (*Transaction) SetTransactionFee ¶
func (t *Transaction) SetTransactionFee(txnFee int64) error
func (*Transaction) SetTransactionHash ¶
func (t *Transaction) SetTransactionHash(hash string) error
func (*Transaction) StakePoolLock ¶
func (t *Transaction) StakePoolLock(blobberID string, lock, fee int64) ( err error)
StakePoolLock used to lock tokens in a stake pool of a blobber.
func (*Transaction) StakePoolPayInterests ¶
func (t *Transaction) StakePoolPayInterests(blobberID string, fee int64) ( err error)
StakePoolPayInterests trigger interests payments.
func (*Transaction) StakePoolUnlock ¶
func (t *Transaction) StakePoolUnlock(blobberID, poolID string, fee int64) (err error)
StakePoolUnlock by blobberID and poolID.
func (*Transaction) StoreData ¶
func (t *Transaction) StoreData(data string) error
func (*Transaction) UnlockTokens ¶
func (t *Transaction) UnlockTokens(poolID string) error
func (*Transaction) UpdateAllocation ¶
func (t *Transaction) UpdateAllocation(allocID string, sizeDiff int64, expirationDiff int64, lock, fee int64) (err error)
UpdateAllocation transaction.
func (*Transaction) UpdateBlobberSettings ¶
func (t *Transaction) UpdateBlobberSettings(b *Blobber, fee int64) (err error)
UpdateBlobberSettings update settings of a blobber.
func (*Transaction) Verify ¶
func (t *Transaction) Verify() error
func (*Transaction) VestingAdd ¶
func (t *Transaction) VestingAdd(ar *VestingAddRequest, value int64) ( err error)
func (*Transaction) VestingDelete ¶
func (t *Transaction) VestingDelete(poolID string) (err error)
func (*Transaction) VestingStop ¶
func (t *Transaction) VestingStop(sr *VestingStopRequest) (err error)
func (*Transaction) VestingTrigger ¶
func (t *Transaction) VestingTrigger(poolID string) (err error)
func (*Transaction) VestingUnlock ¶
func (t *Transaction) VestingUnlock(poolID string) (err error)
func (*Transaction) VestingUpdateConfig ¶
func (t *Transaction) VestingUpdateConfig(vscc *VestingSCConfig) (err error)
func (*Transaction) WritePoolLock ¶
func (t *Transaction) WritePoolLock(allocID, blobberID string, duration int64, lock, fee int64) (err error)
WritePoolLock locks tokens for current user and given allocation, using given duration. If blobberID is not empty, then tokens will be locked for given allocation->blobber only.
func (*Transaction) WritePoolUnlock ¶
func (t *Transaction) WritePoolUnlock(poolID string, fee int64) ( err error)
WritePoolUnlock for current user and given pool.
type TransactionCallback ¶
type TransactionCallback interface { OnTransactionComplete(t *Transaction, status int) OnVerifyComplete(t *Transaction, status int) OnAuthComplete(t *Transaction, status int) }
TransactionCallback needs to be implemented by the caller for transaction related APIs
type TransactionScheme ¶
type TransactionScheme interface { // SetTransactionCallback implements storing the callback // used to call after the transaction or verification is completed SetTransactionCallback(cb TransactionCallback) error // Send implements sending token to a given clientid Send(toClientID string, val int64, desc string) error // StoreData implements store the data to blockchain StoreData(data string) error // ExecuteSmartContract impements the Faucet Smart contract ExecuteSmartContract(address, methodName, jsoninput string, val int64) error // ExecuteFaucetSCWallet impements the Faucet Smart contract for a given wallet ExecuteFaucetSCWallet(walletStr string, methodName string, input []byte) error // GetTransactionHash implements retrieval of hash of the submitted transaction GetTransactionHash() string // LockTokens implements the lock token. LockTokens(val int64, durationHr int64, durationMin int) error // UnlockTokens implements unlocking of earlier locked tokens. UnlockTokens(poolID string) error //RegisterMultiSig registers a group wallet and subwallets with MultisigSC RegisterMultiSig(walletstr, mswallet string) error // SetTransactionHash implements verify a previous transation status SetTransactionHash(hash string) error // SetTransactionFee implements method to set the transaction fee SetTransactionFee(txnFee int64) error // Verify implements verify the transaction Verify() error // GetVerifyOutput implements the verifcation output from sharders GetVerifyOutput() string // GetTransactionError implements error string incase of transaction failure GetTransactionError() string // GetVerifyError implements error string incase of verify failure error GetVerifyError() string // Output of transaction. Output() []byte // vesting SC VestingTrigger(poolID string) error VestingStop(sr *VestingStopRequest) error VestingUnlock(poolID string) error VestingAdd(ar *VestingAddRequest, value int64) error VestingDelete(poolID string) error VestingUpdateConfig(vscc *VestingSCConfig) error MinerSCSettings(*MinerSCMinerInfo) error MinerSCLock(minerID string, lock int64) error MienrSCUnlock(minerID, poolID string) error FinalizeAllocation(allocID string, fee int64) error CancelAllocation(allocID string, fee int64) error CreateAllocation(car *CreateAllocationRequest, lock, fee int64) error // CreateReadPool(fee int64) error ReadPoolLock(allocID string, blobberID string, duration int64, lock, fee int64) error ReadPoolUnlock(poolID string, fee int64) error StakePoolLock(blobberID string, lock, fee int64) error StakePoolUnlock(blobberID string, poolID string, fee int64) error StakePoolPayInterests(blobberID string, fee int64) error UpdateBlobberSettings(blobber *Blobber, fee int64) error UpdateAllocation(allocID string, sizeDiff int64, expirationDiff int64, lock, fee int64) error WritePoolLock(allocID string, blobberID string, duration int64, lock, fee int64) error WritePoolUnlock(poolID string, fee int64) error }
TransactionScheme implements few methods for block chain.
Note: to be buildable on MacOSX all arguments should have names.
func NewTransaction ¶
func NewTransaction(cb TransactionCallback, txnFee int64) (TransactionScheme, error)
NewTransaction allocation new generic transaction object for any operation
type TransactionWithAuth ¶
type TransactionWithAuth struct {
// contains filtered or unexported fields
}
func (*TransactionWithAuth) CancelAllocation ¶
func (ta *TransactionWithAuth) CancelAllocation(allocID string, fee int64) ( err error)
CancelAllocation transaction.
func (*TransactionWithAuth) CreateAllocation ¶
func (ta *TransactionWithAuth) CreateAllocation(car *CreateAllocationRequest, lock, fee int64) (err error)
CreateAllocation transaction.
func (*TransactionWithAuth) CreateReadPool ¶
func (ta *TransactionWithAuth) CreateReadPool(fee int64) (err error)
CreateReadPool for current user.
func (*TransactionWithAuth) ExecuteFaucetSCWallet ¶
func (ta *TransactionWithAuth) ExecuteFaucetSCWallet(walletStr string, methodName string, input []byte) error
ExecuteFaucetSCWallet impements the Faucet Smart contract for a given wallet
func (*TransactionWithAuth) ExecuteSmartContract ¶
func (ta *TransactionWithAuth) ExecuteSmartContract(address, methodName, jsoninput string, val int64) error
func (*TransactionWithAuth) FinalizeAllocation ¶
func (ta *TransactionWithAuth) FinalizeAllocation(allocID string, fee int64) ( err error)
FinalizeAllocation transaction.
func (*TransactionWithAuth) GetTransactionError ¶
func (ta *TransactionWithAuth) GetTransactionError() string
func (*TransactionWithAuth) GetTransactionHash ¶
func (ta *TransactionWithAuth) GetTransactionHash() string
func (*TransactionWithAuth) GetVerifyError ¶
func (ta *TransactionWithAuth) GetVerifyError() string
func (*TransactionWithAuth) GetVerifyOutput ¶
func (ta *TransactionWithAuth) GetVerifyOutput() string
func (*TransactionWithAuth) LockTokens ¶
func (ta *TransactionWithAuth) LockTokens(val int64, durationHr int64, durationMin int) error
func (*TransactionWithAuth) MienrSCUnlock ¶
func (ta *TransactionWithAuth) MienrSCUnlock(nodeID, poolID string) ( err error)
func (*TransactionWithAuth) MinerSCLock ¶
func (ta *TransactionWithAuth) MinerSCLock(minerID string, lock int64) (err error)
func (*TransactionWithAuth) MinerSCSettings ¶
func (ta *TransactionWithAuth) MinerSCSettings(info *MinerSCMinerInfo) ( err error)
func (*TransactionWithAuth) Output ¶
func (ta *TransactionWithAuth) Output() []byte
func (*TransactionWithAuth) ReadPoolLock ¶
func (ta *TransactionWithAuth) ReadPoolLock(allocID, blobberID string, duration int64, lock, fee int64) (err error)
ReadPoolLock locks tokens for current user and given allocation, using given duration. If blobberID is not empty, then tokens will be locked for given allocation->blobber only.
func (*TransactionWithAuth) ReadPoolUnlock ¶
func (ta *TransactionWithAuth) ReadPoolUnlock(poolID string, fee int64) ( err error)
ReadPoolUnlock for current user and given pool.
func (*TransactionWithAuth) RegisterMultiSig ¶
func (ta *TransactionWithAuth) RegisterMultiSig(walletstr string, mswallet string) error
RegisterMultiSig register a multisig wallet with the SC.
func (*TransactionWithAuth) Send ¶
func (ta *TransactionWithAuth) Send(toClientID string, val int64, desc string) error
func (*TransactionWithAuth) SetTransactionCallback ¶
func (ta *TransactionWithAuth) SetTransactionCallback(cb TransactionCallback) error
func (*TransactionWithAuth) SetTransactionFee ¶
func (ta *TransactionWithAuth) SetTransactionFee(txnFee int64) error
func (*TransactionWithAuth) SetTransactionHash ¶
func (ta *TransactionWithAuth) SetTransactionHash(hash string) error
func (*TransactionWithAuth) StakePoolLock ¶
func (ta *TransactionWithAuth) StakePoolLock(blobberID string, lock, fee int64) (err error)
StakePoolLock used to lock tokens in a stake pool of a blobber.
func (*TransactionWithAuth) StakePoolPayInterests ¶
func (ta *TransactionWithAuth) StakePoolPayInterests(blobberID string, fee int64) (err error)
StakePoolPayInterests trigger interests payments.
func (*TransactionWithAuth) StakePoolUnlock ¶
func (ta *TransactionWithAuth) StakePoolUnlock(blobberID, poolID string, fee int64) (err error)
StakePoolUnlock by blobberID and poolID.
func (*TransactionWithAuth) StoreData ¶
func (ta *TransactionWithAuth) StoreData(data string) error
func (*TransactionWithAuth) UnlockTokens ¶
func (ta *TransactionWithAuth) UnlockTokens(poolID string) error
func (*TransactionWithAuth) UpdateAllocation ¶
func (ta *TransactionWithAuth) UpdateAllocation(allocID string, sizeDiff int64, expirationDiff int64, lock, fee int64) (err error)
UpdateAllocation transaction.
func (*TransactionWithAuth) UpdateBlobberSettings ¶
func (ta *TransactionWithAuth) UpdateBlobberSettings(blob *Blobber, fee int64) ( err error)
UpdateBlobberSettings update settings of a blobber.
func (*TransactionWithAuth) Verify ¶
func (ta *TransactionWithAuth) Verify() error
func (*TransactionWithAuth) VestingAdd ¶
func (ta *TransactionWithAuth) VestingAdd(ar *VestingAddRequest, value int64) (err error)
func (*TransactionWithAuth) VestingDelete ¶
func (ta *TransactionWithAuth) VestingDelete(poolID string) (err error)
func (*TransactionWithAuth) VestingStop ¶
func (ta *TransactionWithAuth) VestingStop(sr *VestingStopRequest) (err error)
func (*TransactionWithAuth) VestingTrigger ¶
func (ta *TransactionWithAuth) VestingTrigger(poolID string) (err error)
func (*TransactionWithAuth) VestingUnlock ¶
func (ta *TransactionWithAuth) VestingUnlock(poolID string) (err error)
func (*TransactionWithAuth) VestingUpdateConfig ¶
func (ta *TransactionWithAuth) VestingUpdateConfig( vscc *VestingSCConfig) (err error)
func (*TransactionWithAuth) WritePoolLock ¶
func (ta *TransactionWithAuth) WritePoolLock(allocID, blobberID string, duration int64, lock, fee int64) (err error)
WritePoolLock locks tokens for current user and given allocation, using given duration. If blobberID is not empty, then tokens will be locked for given allocation->blobber only.
func (*TransactionWithAuth) WritePoolUnlock ¶
func (ta *TransactionWithAuth) WritePoolUnlock(poolID string, fee int64) ( err error)
WritePoolUnlock for current user and given pool.
type VestingAddRequest ¶
type VestingClientList ¶
type VestingDest ¶
type VestingDestInfo ¶
type VestingDestInfo struct { ID common.Key `json:"id"` // identifier Wanted common.Balance `json:"wanted"` // wanted amount for entire period Earned common.Balance `json:"earned"` // can unlock Vested common.Balance `json:"vested"` // already vested Last common.Timestamp `json:"last"` // last time unlocked }
type VestingPoolInfo ¶
type VestingPoolInfo struct { ID common.Key `json:"pool_id"` // pool ID Balance common.Balance `json:"balance"` // real pool balance Left common.Balance `json:"left"` // owner can unlock Description string `json:"description"` // description StartTime common.Timestamp `json:"start_time"` // from ExpireAt common.Timestamp `json:"expire_at"` // until Destinations []*VestingDestInfo `json:"destinations"` // receivers ClientID common.Key `json:"client_id"` // owner }
type VestingSCConfig ¶
type VestingStopRequest ¶
type WalletCallback ¶
WalletCallback needs to be implmented for wallet creation.