Help us shape the future of Go! Take the 2026 Go Developer Survey

chainclient

package
v0.3.8 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2022 License: Apache-2.0, BSD-2-Clause Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	Layer1Client l1connection.Client
	WaspClient   *client.WaspClient
	ChainID      *isc.ChainID
	KeyPair      *cryptolib.KeyPair
	// contains filtered or unexported fields
}

Client allows to interact with a specific chain in the node, for example to send on-ledger or off-ledger requests

func New

func New(
	layer1Client l1connection.Client,
	waspClient *client.WaspClient,
	chainID *isc.ChainID,
	keyPair *cryptolib.KeyPair,
) *Client

New creates a new chainclient.Client

func (*Client) CallView

func (c *Client) CallView(hContract isc.Hname, functionName string, args dict.Dict, optimisticReadTimeout ...time.Duration) (dict.Dict, error)

CallView sends a request to call a view function of a given contract, and returns the result of the call

func (*Client) CheckRequestResult added in v0.2.0

func (c *Client) CheckRequestResult(reqID isc.RequestID) error

CheckRequestResult fetches the receipt for the given request ID, and returns an error indicating whether the request was processed successfully.

func (*Client) DepositFunds added in v0.2.0

func (c *Client) DepositFunds(n uint64) (*iotago.Transaction, error)

func (*Client) GetChainRecord

func (c *Client) GetChainRecord() (*registry.ChainRecord, error)

GetChainRecord fetches the chain's Record

func (*Client) Post1Request added in v0.2.0

func (c *Client) Post1Request(
	contractHname isc.Hname,
	entryPoint isc.Hname,
	params ...PostRequestParams,
) (*iotago.Transaction, error)

Post1Request sends an on-ledger transaction with one request on it to the chain

func (*Client) PostNRequests added in v0.3.0

func (c *Client) PostNRequests(
	contractHname isc.Hname,
	entryPoint isc.Hname,
	requestsCount int,
	params ...PostRequestParams,
) ([]*iotago.Transaction, error)

PostNRequest sends n consecutive on-ledger transactions with one request on each, to the chain

func (*Client) PostOffLedgerRequest added in v0.2.0

func (c *Client) PostOffLedgerRequest(
	contractHname isc.Hname,
	entrypoint isc.Hname,
	params ...PostRequestParams,
) (isc.OffLedgerRequest, error)

PostOffLedgerRequest sends an off-ledger tx via the wasp node web api

func (*Client) RequestIDByEVMTransactionHash added in v0.3.0

func (c *Client) RequestIDByEVMTransactionHash(txHash common.Hash) (isc.RequestID, error)

func (*Client) StateGet added in v0.2.0

func (c *Client) StateGet(key string) ([]byte, error)

StateGet fetches the raw value associated with the given key in the chain state

func (*Client) UploadBlob

func (c *Client) UploadBlob(fields dict.Dict) (hashing.HashValue, isc.OffLedgerRequest, *isc.Receipt, error)

UploadBlob sends an off-ledger request to call 'store' in the blob contract.

type PostRequestParams

type PostRequestParams struct {
	Transfer  *isc.FungibleTokens
	Args      dict.Dict
	Nonce     uint64
	NFT       *isc.NFT
	Allowance *isc.Allowance
	GasBudget *uint64
}

func NewPostRequestParams added in v0.2.0

func NewPostRequestParams(p ...interface{}) *PostRequestParams

NewPostRequestParams simplifies encoding of request parameters

func (*PostRequestParams) WithBaseTokens added in v0.3.0

func (par *PostRequestParams) WithBaseTokens(i uint64) *PostRequestParams

func (*PostRequestParams) WithGasBudget added in v0.3.0

func (par *PostRequestParams) WithGasBudget(budget uint64) *PostRequestParams

func (*PostRequestParams) WithTransfer added in v0.2.0

func (par *PostRequestParams) WithTransfer(transfer *isc.FungibleTokens) *PostRequestParams

Jump to

Keyboard shortcuts

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