request

package
v0.97.3 Latest Latest
Warning

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

Go to latest
Published: Oct 13, 2021 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StringT paramType
	NumberT
	BooleanT
	ArrayT
	FuncParamT
	BlockFilterT
	TxFilterT
	NotificationFilterT
	ExecutionFilterT
	SignerWithWitnessT
)

These are parameter types accepted by RPC server.

View Source
const (
	// JSONRPCVersion is the only JSON-RPC protocol version supported.
	JSONRPCVersion = "2.0"
)

Variables

This section is empty.

Functions

func CreateFunctionInvocationScript

func CreateFunctionInvocationScript(contract util.Uint160, method string, params Params) ([]byte, error)

CreateFunctionInvocationScript creates a script to invoke given contract with given parameters.

func ExpandArrayIntoScript added in v0.94.0

func ExpandArrayIntoScript(script *io.BinWriter, slice []Param) error

ExpandArrayIntoScript pushes all FuncParam parameters from the given array into the given buffer in reverse order.

Types

type Batch added in v0.78.2

type Batch []In

Batch represents a standard JSON-RPC 2.0 batch: https://www.jsonrpc.org/specification#batch.

type BlockFilter added in v0.90.0

type BlockFilter struct {
	Primary int `json:"primary"`
}

BlockFilter is a wrapper structure for block event filter. The only allowed filter is primary index.

type ExecutionFilter added in v0.75.0

type ExecutionFilter struct {
	State string `json:"state"`
}

ExecutionFilter is a wrapper structure used for transaction execution events. It allows to choose failing or successful transactions based on their VM state.

type FuncParam

type FuncParam struct {
	Type  smartcontract.ParamType `json:"type"`
	Value Param                   `json:"value"`
}

FuncParam represents a function argument parameter used in the invokefunction RPC method.

type In

type In struct {
	JSONRPC   string          `json:"jsonrpc"`
	Method    string          `json:"method"`
	RawParams json.RawMessage `json:"params,omitempty"`
	RawID     json.RawMessage `json:"id,omitempty"`
}

In represents a standard JSON-RPC 2.0 request: http://www.jsonrpc.org/specification#request_object.

func NewIn

func NewIn() *In

NewIn creates a new In struct.

func (*In) Params

func (r *In) Params() (*Params, error)

Params takes a slice of any type and attempts to bind the params to it.

type NotificationFilter added in v0.75.0

type NotificationFilter struct {
	Contract *util.Uint160 `json:"contract,omitempty"`
	Name     *string       `json:"name,omitempty"`
}

NotificationFilter is a wrapper structure representing filter used for notifications generated during transaction execution. Notifications can be filtered by contract hash and by name.

type Param

type Param struct {
	Type  paramType
	Value interface{}
}

Param represents a param either passed to the server or to send to a server using the client.

func (*Param) GetArray

func (p *Param) GetArray() ([]Param, error)

GetArray returns a slice of Params stored in the parameter.

func (*Param) GetBoolean added in v0.76.0

func (p *Param) GetBoolean() bool

GetBoolean returns boolean value of the parameter.

func (*Param) GetBytesBase64 added in v0.90.0

func (p *Param) GetBytesBase64() ([]byte, error)

GetBytesBase64 returns []byte value of the parameter if it is a base64-encoded string.

func (*Param) GetBytesHex

func (p *Param) GetBytesHex() ([]byte, error)

GetBytesHex returns []byte value of the parameter if it is a hex-encoded string.

func (*Param) GetFuncParam

func (p *Param) GetFuncParam() (FuncParam, error)

GetFuncParam returns current parameter as a function call parameter.

func (*Param) GetInt

func (p *Param) GetInt() (int, error)

GetInt returns int value of te parameter.

func (*Param) GetSignerWithWitness added in v0.92.0

func (p *Param) GetSignerWithWitness() (SignerWithWitness, error)

GetSignerWithWitness returns SignerWithWitness value of the parameter.

func (Param) GetSignersWithWitnesses added in v0.92.0

func (p Param) GetSignersWithWitnesses() ([]transaction.Signer, []transaction.Witness, error)

GetSignersWithWitnesses returns a slice of SignerWithWitness with CalledByEntry scope from array of Uint160 or array of serialized transaction.Signer stored in the parameter.

func (*Param) GetString

func (p *Param) GetString() (string, error)

GetString returns string value of the parameter.

func (*Param) GetUint160FromAddress

func (p *Param) GetUint160FromAddress() (util.Uint160, error)

GetUint160FromAddress returns Uint160 value of the parameter that was supplied as an address.

func (*Param) GetUint160FromAddressOrHex added in v0.76.1

func (p *Param) GetUint160FromAddressOrHex() (util.Uint160, error)

GetUint160FromAddressOrHex returns Uint160 value of the parameter that was supplied either as raw hex or as an address.

func (*Param) GetUint160FromHex

func (p *Param) GetUint160FromHex() (util.Uint160, error)

GetUint160FromHex returns Uint160 value of the parameter encoded in hex.

func (*Param) GetUint256

func (p *Param) GetUint256() (util.Uint256, error)

GetUint256 returns Uint256 value of the parameter.

func (Param) String

func (p Param) String() string

func (*Param) UnmarshalJSON

func (p *Param) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler interface.

type Params

type Params []Param

Params represents the JSON-RPC params.

func (Params) String added in v0.92.0

func (p Params) String() string

func (Params) Value

func (p Params) Value(index int) *Param

Value returns the param struct for the given index if it exists.

func (Params) ValueWithType

func (p Params) ValueWithType(index int, valType paramType) *Param

ValueWithType returns the param struct at the given index if it exists and matches the given type.

type Raw

type Raw struct {
	JSONRPC   string        `json:"jsonrpc"`
	Method    string        `json:"method"`
	RawParams []interface{} `json:"params"`
	ID        int           `json:"id"`
}

Raw represents JSON-RPC request.

type RawParams

type RawParams struct {
	Values []interface{}
}

RawParams is just a slice of abstract values, used to represent parameters passed from client to server.

func NewRawParams

func NewRawParams(vals ...interface{}) RawParams

NewRawParams creates RawParams from its parameters.

type Request added in v0.78.2

type Request struct {
	In    *In
	Batch Batch
}

Request contains standard JSON-RPC 2.0 request and batch of requests: http://www.jsonrpc.org/specification. It's used in server to represent incoming queries.

func NewRequest added in v0.78.2

func NewRequest() *Request

NewRequest creates a new Request struct.

func (*Request) DecodeData added in v0.78.2

func (r *Request) DecodeData(data io.ReadCloser) error

DecodeData decodes the given reader into the the request struct.

func (Request) MarshalJSON added in v0.78.2

func (r Request) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler interface.

func (*Request) UnmarshalJSON added in v0.78.2

func (r *Request) UnmarshalJSON(data []byte) error

UnmarshalJSON implements json.Unmarshaler interface.

type SignerWithWitness added in v0.92.0

type SignerWithWitness struct {
	transaction.Signer
	transaction.Witness
}

SignerWithWitness represents transaction's signer with the corresponding witness.

func (*SignerWithWitness) MarshalJSON added in v0.92.0

func (s *SignerWithWitness) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Unmarshaler interface.

type TxFilter added in v0.75.0

type TxFilter struct {
	Sender *util.Uint160 `json:"sender,omitempty"`
	Signer *util.Uint160 `json:"signer,omitempty"`
}

TxFilter is a wrapper structure for transaction event filter. It allows to filter transactions by senders and signers.

Jump to

Keyboard shortcuts

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