api

package
v0.21.3 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2020 License: LGPL-3.0 Imports: 32 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) FeePerByte

func (api *BlockchainApi) FeePerByte() *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

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 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 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) 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

type Epoch

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

type FlipAnswer

type FlipAnswer struct {
	WrongWords bool         `json:"wrongWords"`
	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)

func (*FlipApi) LongHashes

func (api *FlipApi) LongHashes() ([]FlipHashesResponse, error)

func (*FlipApi) ShortHashes

func (api *FlipApi) ShortHashes() ([]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"`
}

type FlipResponse

type FlipResponse struct {
	Hex        hexutil.Bytes `json:"hex"`
	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 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 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 sumbit 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"`
	Nonce   uint32       `json:"nonce"`
	Epoch   uint16       `json:"epoch"`
}

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"`
}

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"`
}

Jump to

Keyboard shortcuts

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