api

package
v0.22.2-rc.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 8, 2020 License: LGPL-3.0 Imports: 38 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountApi

type AccountApi struct {
	// contains filtered or unexported fields
}

NetApi offers helper utils

func NewAccountApi

func NewAccountApi(baseApi *BaseApi) *AccountApi

func (*AccountApi) Create

func (api *AccountApi) Create(passPhrase string) (common.Address, error)

func (*AccountApi) List

func (api *AccountApi) List() []common.Address

func (*AccountApi) Lock

func (api *AccountApi) Lock(addr common.Address) error

func (*AccountApi) Unlock

func (api *AccountApi) Unlock(addr common.Address, passPhrase string, timeout time.Duration) error

type ActivateInviteArgs

type ActivateInviteArgs struct {
	Key string          `json:"key"`
	To  *common.Address `json:"to"`
	BaseTxArgs
}

type ActivateInviteToRandAddrArgs added in v0.21.0

type ActivateInviteToRandAddrArgs struct {
	Key string `json:"key"`
	BaseTxArgs
}

type ActivateInviteToRandAddrResponse added in v0.21.0

type ActivateInviteToRandAddrResponse struct {
	Hash    common.Hash    `json:"hash"`
	Address common.Address `json:"address"`
	Key     string         `json:"key"`
}

type Balance

type Balance struct {
	Stake   decimal.Decimal `json:"stake"`
	Balance decimal.Decimal `json:"balance"`
	Nonce   uint32          `json:"nonce"`
}

type BaseApi

type BaseApi struct {
	// contains filtered or unexported fields
}

func NewBaseApi

func NewBaseApi(engine *consensus.Engine, txpool *mempool.TxPool, ks *keystore.KeyStore, secStore *secstore.SecStore) *BaseApi

type BaseTxArgs

type BaseTxArgs struct {
	Nonce uint32 `json:"nonce"`
	Epoch uint16 `json:"epoch"`
}

type Block

type Block struct {
	Coinbase     common.Address  `json:"coinbase"`
	Hash         common.Hash     `json:"hash"`
	ParentHash   common.Hash     `json:"parentHash"`
	Height       uint64          `json:"height"`
	Time         int64           `json:"timestamp"`
	Root         common.Hash     `json:"root"`         // root of state tree
	IdentityRoot common.Hash     `json:"identityRoot"` // root of approved identities tree
	IpfsHash     *string         `json:"ipfsCid"`      // ipfs hash of block body
	Transactions []common.Hash   `json:"transactions"`
	Flags        []string        `json:"flags"`
	IsEmpty      bool            `json:"isEmpty"`
	OfflineAddr  *common.Address `json:"offlineAddress"`
}

type BlockchainApi

type BlockchainApi struct {
	// contains filtered or unexported fields
}

func (*BlockchainApi) Block

func (api *BlockchainApi) Block(hash common.Hash) *Block

func (*BlockchainApi) BlockAt

func (api *BlockchainApi) BlockAt(height uint64) *Block

func (*BlockchainApi) BurntCoins

func (api *BlockchainApi) BurntCoins() []BurntCoins

func (*BlockchainApi) FeePerGas added in v0.22.0

func (api *BlockchainApi) FeePerGas() *big.Int

func (*BlockchainApi) GetRawTx

func (api *BlockchainApi) GetRawTx(args SendTxArgs) (hexutil.Bytes, error)

func (*BlockchainApi) LastBlock

func (api *BlockchainApi) LastBlock() *Block

func (*BlockchainApi) Mempool

func (api *BlockchainApi) Mempool() []common.Hash

func (*BlockchainApi) PendingTransactions

func (api *BlockchainApi) PendingTransactions(args TransactionsArgs) Transactions

sorted by epoch \ nonce desc (the newest transactions are first)

func (*BlockchainApi) SendRawTx

func (api *BlockchainApi) SendRawTx(ctx context.Context, bytesTx hexutil.Bytes) (common.Hash, error)

func (*BlockchainApi) Syncing

func (api *BlockchainApi) Syncing() Syncing

func (*BlockchainApi) Transaction

func (api *BlockchainApi) Transaction(hash common.Hash) *Transaction

func (*BlockchainApi) Transactions

func (api *BlockchainApi) Transactions(args TransactionsArgs) Transactions

func (*BlockchainApi) TxReceipt added in v0.22.0

func (api *BlockchainApi) TxReceipt(hash common.Hash) *TxReceipt

type BurnArgs

type BurnArgs struct {
	From   common.Address  `json:"from"`
	Key    string          `json:"key"`
	Amount decimal.Decimal `json:"amount"`
	MaxFee decimal.Decimal `json:"maxFee"`
	BaseTxArgs
}

type BurntCoins

type BurntCoins struct {
	Address common.Address  `json:"address"`
	Amount  decimal.Decimal `json:"amount"`
	Key     string          `json:"key"`
}

type CallArgs added in v0.22.0

type CallArgs struct {
	From           common.Address  `json:"from"`
	Contract       common.Address  `json:"contract"`
	Method         string          `json:"method"`
	Amount         decimal.Decimal `json:"amount"`
	Args           DynamicArgs     `json:"args"`
	MaxFee         decimal.Decimal `json:"maxFee"`
	BroadcastBlock uint64          `json:"broadcastBlock"`
}

type CeremonyIntervals

type CeremonyIntervals struct {
	FlipLotteryDuration  float64
	ShortSessionDuration float64
	LongSessionDuration  float64
}

type ChangeProfileArgs

type ChangeProfileArgs struct {
	Info     *hexutil.Bytes  `json:"info"`
	Nickname string          `json:"nickname"`
	MaxFee   decimal.Decimal `json:"maxFee"`
}

type ChangeProfileResponse

type ChangeProfileResponse struct {
	TxHash common.Hash `json:"txHash"`
	Hash   string      `json:"hash"`
}

type ContractApi added in v0.22.0

type ContractApi struct {
	// contains filtered or unexported fields
}

func NewContractApi added in v0.22.0

func NewContractApi(baseApi *BaseApi, bc *blockchain.Blockchain, deferredTxs *deferredtx.Job, subManager *subscriptions.Manager) *ContractApi

NewContractApi creates a new NetApi instance

func (*ContractApi) Call added in v0.22.0

func (api *ContractApi) Call(ctx context.Context, args CallArgs) (common.Hash, error)

func (*ContractApi) Deploy added in v0.22.0

func (api *ContractApi) Deploy(ctx context.Context, args DeployArgs) (common.Hash, error)

func (*ContractApi) EstimateCall added in v0.22.0

func (api *ContractApi) EstimateCall(args CallArgs) (*TxReceipt, error)

func (*ContractApi) EstimateDeploy added in v0.22.0

func (api *ContractApi) EstimateDeploy(args DeployArgs) (*TxReceipt, error)

func (*ContractApi) EstimateTerminate added in v0.22.0

func (api *ContractApi) EstimateTerminate(args TerminateArgs) (*TxReceipt, error)

func (*ContractApi) Events added in v0.22.0

func (api *ContractApi) Events(args EventsArgs) interface{}

func (*ContractApi) GetStake added in v0.22.0

func (api *ContractApi) GetStake(contract common.Address) interface{}

func (*ContractApi) ReadData added in v0.22.0

func (api *ContractApi) ReadData(contract common.Address, key string, format string) (interface{}, error)

func (*ContractApi) ReadonlyCall added in v0.22.0

func (api *ContractApi) ReadonlyCall(args ReadonlyCallArgs) (interface{}, error)

func (*ContractApi) SubscribeToEvent added in v0.22.0

func (api *ContractApi) SubscribeToEvent(contract common.Address, event string) error

func (*ContractApi) Terminate added in v0.22.0

func (api *ContractApi) Terminate(ctx context.Context, args TerminateArgs) (common.Hash, error)

func (*ContractApi) UnsubscribeFromEvent added in v0.22.0

func (api *ContractApi) UnsubscribeFromEvent(contract common.Address, event string) error

type DeployArgs added in v0.22.0

type DeployArgs struct {
	From     common.Address  `json:"from"`
	CodeHash hexutil.Bytes   `json:"codeHash"`
	Amount   decimal.Decimal `json:"amount"`
	Args     DynamicArgs     `json:"args"`
	MaxFee   decimal.Decimal `json:"maxFee"`
}

type DnaApi

type DnaApi struct {
	// contains filtered or unexported fields
}

func NewDnaApi

func NewDnaApi(baseApi *BaseApi, bc *blockchain.Blockchain, ceremony *ceremony.ValidationCeremony, appVersion string,
	profileManager *profile.Manager) *DnaApi

func (*DnaApi) ActivateInvite

func (api *DnaApi) ActivateInvite(ctx context.Context, args ActivateInviteArgs) (common.Hash, error)

func (*DnaApi) ActivateInviteToRandAddr added in v0.21.0

func (api *DnaApi) ActivateInviteToRandAddr(ctx context.Context, args ActivateInviteToRandAddrArgs) (ActivateInviteToRandAddrResponse, error)

func (*DnaApi) BecomeOffline

func (api *DnaApi) BecomeOffline(ctx context.Context, args BaseTxArgs) (common.Hash, error)

func (*DnaApi) BecomeOnline

func (api *DnaApi) BecomeOnline(ctx context.Context, args BaseTxArgs) (common.Hash, error)

func (*DnaApi) Burn

func (api *DnaApi) Burn(ctx context.Context, args BurnArgs) (common.Hash, error)

func (*DnaApi) CeremonyIntervals

func (api *DnaApi) CeremonyIntervals() CeremonyIntervals

func (*DnaApi) ChangeProfile

func (api *DnaApi) ChangeProfile(ctx context.Context, args ChangeProfileArgs) (ChangeProfileResponse, error)

func (*DnaApi) Epoch

func (api *DnaApi) Epoch() Epoch

func (*DnaApi) ExportKey

func (api *DnaApi) ExportKey(password string) (string, error)

func (*DnaApi) GetBalance

func (api *DnaApi) GetBalance(address common.Address) Balance

func (*DnaApi) GetCoinbaseAddr

func (api *DnaApi) GetCoinbaseAddr() common.Address

func (*DnaApi) Identities

func (api *DnaApi) Identities() []Identity

func (*DnaApi) Identity

func (api *DnaApi) Identity(address *common.Address) Identity

func (*DnaApi) ImportKey

func (api *DnaApi) ImportKey(args ImportKeyArgs) error

func (*DnaApi) IsValidationReady added in v0.23.1

func (api *DnaApi) IsValidationReady() bool

func (*DnaApi) Profile

func (api *DnaApi) Profile(address *common.Address) (ProfileResponse, error)

func (*DnaApi) SendInvite

func (api *DnaApi) SendInvite(ctx context.Context, args SendInviteArgs) (Invite, error)

func (*DnaApi) SendTransaction

func (api *DnaApi) SendTransaction(ctx context.Context, args SendTxArgs) (common.Hash, error)

func (*DnaApi) Sign

func (api *DnaApi) Sign(value string) hexutil.Bytes

func (*DnaApi) SignatureAddress

func (api *DnaApi) SignatureAddress(args SignatureAddressArgs) (common.Address, error)

func (*DnaApi) State

func (api *DnaApi) State() State

func (*DnaApi) Version

func (api *DnaApi) Version() string

func (*DnaApi) WordsSeed added in v0.23.1

func (api *DnaApi) WordsSeed() hexutil.Bytes

type DynamicArg added in v0.22.0

type DynamicArg struct {
	Index  int    `json:"index"`
	Format string `json:"format"`
	Value  string `json:"value"`
}

func (DynamicArg) ToBytes added in v0.22.0

func (a DynamicArg) ToBytes() []byte

type DynamicArgs added in v0.22.0

type DynamicArgs []*DynamicArg

func (DynamicArgs) ToSlice added in v0.22.0

func (d DynamicArgs) ToSlice() [][]byte

type EncryptionKeyArgs added in v0.23.1

type EncryptionKeyArgs struct {
	Data      hexutil.Bytes `json:"data"`
	Signature hexutil.Bytes `json:"signature"`
	Epoch     uint16        `json:"epoch"`
}

type Epoch

type Epoch struct {
	Epoch                  uint16    `json:"epoch"`
	NextValidation         time.Time `json:"nextValidation"`
	CurrentPeriod          string    `json:"currentPeriod"`
	CurrentValidationStart time.Time `json:"currentValidationStart"`
}

type Event added in v0.22.0

type Event struct {
	Contract common.Address  `json:"contract"`
	Event    string          `json:"event"`
	Args     []hexutil.Bytes `json:"args"`
}

type EventsArgs added in v0.22.0

type EventsArgs struct {
	Contract common.Address `json:"contract"`
}

type FlipAnswer

type FlipAnswer struct {
	// Deprecated
	WrongWords *bool        `json:"wrongWords"`
	Grade      types.Grade  `json:"grade"`
	Answer     types.Answer `json:"answer"`
	Hash       string       `json:"hash"`
}

type FlipApi

type FlipApi struct {
	// contains filtered or unexported fields
}

func NewFlipApi

func NewFlipApi(baseApi *BaseApi, fp *flip.Flipper, ipfsProxy ipfs.Proxy, ceremony *ceremony.ValidationCeremony) *FlipApi

NewFlipApi creates a new FlipApi instance

func (*FlipApi) Delete

func (api *FlipApi) Delete(ctx context.Context, hash string) (common.Hash, error)

func (*FlipApi) Get

func (api *FlipApi) Get(hash string) (FlipResponse, error)

Works only for coinbase address

func (*FlipApi) GetKeys added in v0.21.4

func (api *FlipApi) GetKeys(addr common.Address, hash string) (FlipKeysResponse, error)

func (*FlipApi) GetRaw added in v0.21.4

func (api *FlipApi) GetRaw(hash string) (FlipResponse2, error)

func (*FlipApi) LongHashes

func (api *FlipApi) LongHashes(addr *common.Address) ([]FlipHashesResponse, error)

func (*FlipApi) PrivateEncryptionKeyCandidates added in v0.23.1

func (api *FlipApi) PrivateEncryptionKeyCandidates(addr common.Address) ([]hexutil.Bytes, error)

func (*FlipApi) SendPrivateEncryptionKeysPackage added in v0.23.1

func (api *FlipApi) SendPrivateEncryptionKeysPackage(args EncryptionKeyArgs) error

func (*FlipApi) SendPublicEncryptionKey added in v0.23.1

func (api *FlipApi) SendPublicEncryptionKey(args EncryptionKeyArgs) error

func (*FlipApi) ShortHashes

func (api *FlipApi) ShortHashes(addr *common.Address) ([]FlipHashesResponse, error)

func (*FlipApi) Submit

func (api *FlipApi) Submit(args FlipSubmitArgs) (FlipSubmitResponse, error)

func (*FlipApi) SubmitLongAnswers

func (api *FlipApi) SubmitLongAnswers(args SubmitAnswersArgs) (SubmitAnswersResponse, error)

func (*FlipApi) SubmitShortAnswers

func (api *FlipApi) SubmitShortAnswers(args SubmitAnswersArgs) (SubmitAnswersResponse, error)

func (*FlipApi) Words

func (api *FlipApi) Words(hash string) (FlipWordsResponse, error)

type FlipHashesResponse

type FlipHashesResponse struct {
	Hash      string `json:"hash"`
	Ready     bool   `json:"ready"`
	Extra     bool   `json:"extra"`
	Available bool   `json:"available"`
}

type FlipKeysResponse added in v0.21.4

type FlipKeysResponse struct {
	PublicKey  hexutil.Bytes `json:"publicKey"`
	PrivateKey hexutil.Bytes `json:"privateKey"`
}

type FlipResponse

type FlipResponse struct {
	Hex        hexutil.Bytes `json:"hex"`
	PrivateHex hexutil.Bytes `json:"privateHex"`
}

type FlipResponse2 added in v0.21.4

type FlipResponse2 struct {
	PublicHex  hexutil.Bytes `json:"publicHex"`
	PrivateHex hexutil.Bytes `json:"privateHex"`
}

type FlipSubmitArgs

type FlipSubmitArgs struct {
	Hex        *hexutil.Bytes `json:"hex"`
	PublicHex  *hexutil.Bytes `json:"publicHex"`
	PrivateHex *hexutil.Bytes `json:"privateHex"`
	PairId     uint8          `json:"pairId"`
}

type FlipSubmitResponse

type FlipSubmitResponse struct {
	TxHash common.Hash `json:"txHash"`
	Hash   string      `json:"hash"`
}

type FlipWords

type FlipWords struct {
	Words [2]uint32 `json:"words"`
	Used  bool      `json:"used"`
	Id    int       `json:"id"`
}

type FlipWordsResponse

type FlipWordsResponse struct {
	Words [2]int `json:"words"`
}

type Identity

type Identity struct {
	Address             common.Address  `json:"address"`
	ProfileHash         string          `json:"profileHash"`
	Stake               decimal.Decimal `json:"stake"`
	Invites             uint8           `json:"invites"`
	Age                 uint16          `json:"age"`
	State               string          `json:"state"`
	PubKey              string          `json:"pubkey"`
	RequiredFlips       uint8           `json:"requiredFlips"`
	AvailableFlips      uint8           `json:"availableFlips"`
	FlipKeyWordPairs    []FlipWords     `json:"flipKeyWordPairs"`
	MadeFlips           uint8           `json:"madeFlips"`
	QualifiedFlips      uint32          `json:"totalQualifiedFlips"`
	ShortFlipPoints     float32         `json:"totalShortFlipPoints"`
	Flips               []string        `json:"flips"`
	Online              bool            `json:"online"`
	Generation          uint32          `json:"generation"`
	Code                hexutil.Bytes   `json:"code"`
	Invitees            []state.TxAddr  `json:"invitees"`
	Penalty             decimal.Decimal `json:"penalty"`
	LastValidationFlags []string        `json:"lastValidationFlags"`
}

type ImportKeyArgs

type ImportKeyArgs struct {
	Key      string `json:"key"`
	Password string `json:"password"`
}

type Invite

type Invite struct {
	Hash     common.Hash    `json:"hash"`
	Receiver common.Address `json:"receiver"`
	Key      string         `json:"key"`
}

type IpfsApi added in v0.22.0

type IpfsApi struct {
	// contains filtered or unexported fields
}

func NewIpfsApi added in v0.22.0

func NewIpfsApi(ipfsProxy ipfs.Proxy) *IpfsApi

NewNetApi creates a new NetApi instance

func (*IpfsApi) Add added in v0.22.0

func (api *IpfsApi) Add(data hexutil.Bytes, pin bool) (string, error)

func (*IpfsApi) Cid added in v0.22.0

func (api *IpfsApi) Cid(data hexutil.Bytes) (string, error)

func (*IpfsApi) Get added in v0.22.0

func (api *IpfsApi) Get(cid string) (hexutil.Bytes, error)

type NetApi

type NetApi struct {
	// contains filtered or unexported fields
}

NetApi offers helper utils

func NewNetApi

func NewNetApi(pm *protocol.IdenaGossipHandler, ipfsProxy ipfs.Proxy) *NetApi

NewNetApi creates a new NetApi instance

func (*NetApi) AddPeer

func (api *NetApi) AddPeer(url string) error

func (*NetApi) IpfsAddress

func (api *NetApi) IpfsAddress() string

func (*NetApi) Peers

func (api *NetApi) Peers() []Peer

func (*NetApi) PeersCount

func (api *NetApi) PeersCount() int

type Peer

type Peer struct {
	ID         string `json:"id"`
	RemoteAddr string `json:"addr"`
}

type ProfileResponse

type ProfileResponse struct {
	Info     *hexutil.Bytes `json:"info"`
	Nickname string         `json:"nickname"`
}

type ReadonlyCallArgs added in v0.22.0

type ReadonlyCallArgs struct {
	Contract common.Address `json:"contract"`
	Method   string         `json:"method"`
	Format   string         `json:"format"`
	Args     DynamicArgs    `json:"args"`
}

type SendInviteArgs

type SendInviteArgs struct {
	To     common.Address  `json:"to"`
	Amount decimal.Decimal `json:"amount"`
	BaseTxArgs
}

SendInviteArgs represents the arguments to send invite

type SendTxArgs

type SendTxArgs struct {
	Type     types.TxType    `json:"type"`
	From     common.Address  `json:"from"`
	To       *common.Address `json:"to"`
	Amount   decimal.Decimal `json:"amount"`
	MaxFee   decimal.Decimal `json:"maxFee"`
	Payload  *hexutil.Bytes  `json:"payload"`
	Tips     decimal.Decimal `json:"tips"`
	UseProto bool            `json:"useProto"`
	BaseTxArgs
}

SendTxArgs represents the arguments to submit a new transaction into the transaction pool.

type SignatureAddressArgs

type SignatureAddressArgs struct {
	Value     string
	Signature hexutil.Bytes
}

type State

type State struct {
	Name string `json:"name"`
}

type SubmitAnswersArgs

type SubmitAnswersArgs struct {
	Answers []FlipAnswer `json:"answers"`
}

type SubmitAnswersResponse

type SubmitAnswersResponse struct {
	TxHash common.Hash `json:"txHash"`
}

type Syncing

type Syncing struct {
	Syncing      bool   `json:"syncing"`
	CurrentBlock uint64 `json:"currentBlock"`
	HighestBlock uint64 `json:"highestBlock"`
	WrongTime    bool   `json:"wrongTime"`
	GenesisBlock uint64 `json:"genesisBlock"`
}

type TerminateArgs added in v0.22.0

type TerminateArgs struct {
	From     common.Address  `json:"from"`
	Contract common.Address  `json:"contract"`
	Args     DynamicArgs     `json:"args"`
	MaxFee   decimal.Decimal `json:"maxFee"`
}

type Transaction

type Transaction struct {
	Hash      common.Hash     `json:"hash"`
	Type      string          `json:"type"`
	From      common.Address  `json:"from"`
	To        *common.Address `json:"to"`
	Amount    decimal.Decimal `json:"amount"`
	Tips      decimal.Decimal `json:"tips"`
	MaxFee    decimal.Decimal `json:"maxFee"`
	Nonce     uint32          `json:"nonce"`
	Epoch     uint16          `json:"epoch"`
	Payload   hexutil.Bytes   `json:"payload"`
	BlockHash common.Hash     `json:"blockHash"`
	UsedFee   decimal.Decimal `json:"usedFee"`
	Timestamp int64           `json:"timestamp"`
}

type Transactions

type Transactions struct {
	Transactions []*Transaction `json:"transactions"`
	Token        *hexutil.Bytes `json:"token"`
}

type TransactionsArgs

type TransactionsArgs struct {
	Address common.Address `json:"address"`
	Count   int            `json:"count"`
	Token   hexutil.Bytes  `json:"token"`
}

type TxReceipt added in v0.22.0

type TxReceipt struct {
	Contract common.Address  `json:"contract"`
	Success  bool            `json:"success"`
	GasUsed  uint64          `json:"gasUsed"`
	TxHash   common.Hash     `json:"txHash"`
	Error    string          `json:"error"`
	GasCost  decimal.Decimal `json:"gasCost"`
	TxFee    decimal.Decimal `json:"txFee"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL