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