Skip to content
Snippets Groups Projects
params.go 1.8 KiB
Newer Older
Androlo's avatar
Androlo committed
package erisdb

import (
Casey Kuhlman's avatar
Casey Kuhlman committed
	"github.com/eris-ltd/eris-db/Godeps/_workspace/src/github.com/tendermint/tendermint/account"
	"github.com/eris-ltd/eris-db/Godeps/_workspace/src/github.com/tendermint/tendermint/types"
Androlo's avatar
Androlo committed
	"github.com/eris-ltd/eris-db/erisdb/pipe"
Androlo's avatar
Androlo committed
)

type (
Androlo's avatar
Androlo committed

Androlo's avatar
Androlo committed
	// Used to send an address. The address should be hex and properly formatted.
	// TODO enforce.
	AddressParam struct {
		Address []byte `json:"address"`
	}
Androlo's avatar
Androlo committed

Androlo's avatar
Androlo committed
	// Used to send an address
	AccountsParam struct {
		Filters []*pipe.FilterData `json:"filters"`
	}
Androlo's avatar
Androlo committed

Androlo's avatar
Androlo committed
	PrivKeyParam struct {
		PrivKey []byte `json:"priv_key"`
	}
Androlo's avatar
Androlo committed

Androlo's avatar
Androlo committed
	// StorageAt
	StorageAtParam struct {
		Address []byte `json:"address"`
		Key     []byte `json:"key"`
	}
Androlo's avatar
Androlo committed

Androlo's avatar
Androlo committed
	// Get a block
	HeightParam struct {
		Height int `json:"height"`
Androlo's avatar
Androlo committed
	}
Androlo's avatar
Androlo committed

Androlo's avatar
Androlo committed
	// Get a series of blocks
	BlocksParam struct {
		Filters []*pipe.FilterData `json:"filters"`
	}
Androlo's avatar
Androlo committed

Androlo's avatar
Androlo committed
	// Event Id
	EventIdParam struct {
		EventId string `json:"event_id"`
	}
Androlo's avatar
Androlo committed

Androlo's avatar
Androlo committed
	// Event Id
	SubIdParam struct {
		SubId string `json:"sub_id"`
	}
Androlo's avatar
Androlo committed

Androlo's avatar
Androlo committed
	PeerParam struct {
		Address string `json:"address"`
	}
Androlo's avatar
Androlo committed

Androlo's avatar
Androlo committed
	// Used when doing calls
	CallParam struct {
		Address []byte `json:"address"`
		Data    []byte `json:"data"`
	}
Androlo's avatar
Androlo committed

Androlo's avatar
Androlo committed
	// Used when doing code calls
	CallCodeParam struct {
		Code []byte `json:"code"`
		Data []byte `json:"data"`
	}
Androlo's avatar
Androlo committed

Androlo's avatar
Androlo committed
	// Used when signing a tx. Uses placeholders just like TxParam
	SignTxParam struct {
Androlo's avatar
Androlo committed
		Tx           *types.CallTx          `json:"tx"`
Androlo's avatar
Androlo committed
		PrivAccounts []*account.PrivAccount `json:"priv_accounts"`
	}
Androlo's avatar
Androlo committed

Androlo's avatar
Androlo committed
	// Used when sending a transaction to be created and signed on the server
Androlo's avatar
Androlo committed
	// (using the private key). This only uses the standard key type for now.
Androlo's avatar
Androlo committed
	TransactParam struct {
		PrivKey  []byte `json:"priv_key"`
		Data     []byte `json:"data"`
		Address  []byte `json:"address"`
		Fee      int64  `json:"fee"`
		GasLimit int64  `json:"gas_limit"`
Androlo's avatar
Androlo committed
	}
)