ton

package
v0.0.0-...-bcde84c Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2023 License: AGPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrCodeContractNotInitialized = -256
)

Variables

View Source
var ErrBlockNotFound = errors.New("block not found")
View Source
var ErrIncorrectResultType = errors.New("incorrect result type")
View Source
var ErrMessageNotAccepted = errors.New("message was not accepted by the contract")
View Source
var ErrNoNewBlocks = errors.New("no new blocks in a given timeout or in 10 seconds")
View Source
var ErrResultIndexOutOfRange = errors.New("result index is out of range")

Functions

This section is empty.

Types

type APIClient

type APIClient struct {
	// contains filtered or unexported fields
}

func NewAPIClient

func NewAPIClient(client LiteClient) *APIClient

func (*APIClient) Client

func (c *APIClient) Client() LiteClient

func (*APIClient) CurrentMasterchainInfo

func (c *APIClient) CurrentMasterchainInfo(ctx context.Context) (_ *BlockIDExt, err error)

CurrentMasterchainInfo - cached version of GetMasterchainInfo to not do it in parallel many times

func (*APIClient) GetAccount

func (c *APIClient) GetAccount(ctx context.Context, block *BlockIDExt, addr *address.Address) (*tlb.Account, error)

func (*APIClient) GetBlockData

func (c *APIClient) GetBlockData(ctx context.Context, block *BlockIDExt) (*tlb.Block, error)

GetBlockData - get block detailed information

func (*APIClient) GetBlockShardsInfo

func (c *APIClient) GetBlockShardsInfo(ctx context.Context, master *BlockIDExt) ([]*BlockIDExt, error)

GetBlockShardsInfo - gets the information about workchains and its shards at given masterchain state

func (*APIClient) GetBlockTransactions

func (c *APIClient) GetBlockTransactions(ctx context.Context, block *BlockIDExt, count uint32, after ...*tlb.TransactionID) ([]*tlb.TransactionID, bool, error)

GetBlockTransactions - list of block transactions Deprecated: Will be removed in the next release, use GetBlockTransactionsV2

func (*APIClient) GetBlockTransactionsV2

func (c *APIClient) GetBlockTransactionsV2(ctx context.Context, block *BlockIDExt, count uint32, after ...*TransactionID3) ([]TransactionShortInfo, bool, error)

GetBlockTransactionsV2 - list of block transactions

func (*APIClient) GetBlockchainConfig

func (c *APIClient) GetBlockchainConfig(ctx context.Context, block *BlockIDExt, onlyParams ...int32) (*BlockchainConfig, error)

func (*APIClient) GetMasterchainInfo

func (c *APIClient) GetMasterchainInfo(ctx context.Context) (*BlockIDExt, error)

GetMasterchainInfo - gets the latest state of master chain

func (*APIClient) GetTime

func (c *APIClient) GetTime(ctx context.Context) (uint32, error)

func (*APIClient) GetTransaction

func (c *APIClient) GetTransaction(ctx context.Context, block *BlockIDExt, addr *address.Address, lt uint64) (*tlb.Transaction, error)

func (*APIClient) ListTransactions

func (c *APIClient) ListTransactions(ctx context.Context, addr *address.Address, limit uint32, lt uint64, txHash []byte) ([]*tlb.Transaction, error)

ListTransactions - returns list of transactions before (including) passed lt and hash, the oldest one is first in result slice

func (*APIClient) LookupBlock

func (c *APIClient) LookupBlock(ctx context.Context, workchain int32, shard int64, seqno uint32) (*BlockIDExt, error)

LookupBlock - find block information by seqno, shard and chain

func (*APIClient) RunGetMethod

func (c *APIClient) RunGetMethod(ctx context.Context, blockInfo *BlockIDExt, addr *address.Address, method string, params ...any) (*ExecutionResult, error)

func (*APIClient) SendExternalMessage

func (c *APIClient) SendExternalMessage(ctx context.Context, msg *tlb.ExternalMessage) error

func (*APIClient) WaitNextMasterBlock

func (c *APIClient) WaitNextMasterBlock(ctx context.Context, master *BlockIDExt) (*BlockIDExt, error)

type AccountID

type AccountID struct {
	Workchain int32  `tl:"int"`
	ID        []byte `tl:"int256"`
}

type AccountState

type AccountState struct {
	ID         *BlockIDExt `tl:"struct"`
	Shard      *BlockIDExt `tl:"struct"`
	ShardProof []byte      `tl:"bytes"`
	Proof      []byte      `tl:"bytes"`
	State      []byte      `tl:"bytes"`
}

type AllShardsInfo

type AllShardsInfo struct {
	ID    *BlockIDExt `tl:"struct"`
	Proof []byte      `tl:"bytes"`
	Data  []byte      `tl:"bytes"`
}

type BlockData

type BlockData struct {
	ID      *BlockIDExt `tl:"struct"`
	Payload []byte      `tl:"bytes"`
}

type BlockHeader

type BlockHeader struct {
	ID          *BlockIDExt `tl:"struct"`
	Mode        uint32      `tl:"flags"`
	HeaderProof []byte      `tl:"bytes"`
}

type BlockIDExt

type BlockIDExt = tlb.BlockInfo

TODO: will be moved here in the next version

type BlockInfoShort

type BlockInfoShort struct {
	Workchain int32 `tl:"int"`
	Shard     int64 `tl:"long"`
	Seqno     int32 `tl:"int"`
}

type BlockTransactions

type BlockTransactions struct {
	ID             *BlockIDExt     `tl:"struct"`
	ReqCount       int32           `tl:"int"`
	Incomplete     bool            `tl:"bool"`
	TransactionIds []TransactionID `tl:"vector struct"`
	Proof          []byte          `tl:"bytes"`
}

type BlockchainConfig

type BlockchainConfig struct {
	// contains filtered or unexported fields
}

func (*BlockchainConfig) All

func (b *BlockchainConfig) All() map[int32]*cell.Cell

func (*BlockchainConfig) Get

func (b *BlockchainConfig) Get(id int32) *cell.Cell

type ConfigAll

type ConfigAll struct {
	Mode        int         `tl:"int"`
	ID          *BlockIDExt `tl:"struct"`
	StateProof  []byte      `tl:"bytes"`
	ConfigProof []byte      `tl:"bytes"`
}

type ContractExecError

type ContractExecError struct {
	Code int32
}

func (ContractExecError) Error

func (e ContractExecError) Error() string

func (ContractExecError) Is

func (e ContractExecError) Is(err error) bool

type CurrentTime

type CurrentTime struct {
	Now uint32 `tl:"int"`
}

type ExecutionResult

type ExecutionResult struct {
	// contains filtered or unexported fields
}

func NewExecutionResult

func NewExecutionResult(data []any) *ExecutionResult

func (ExecutionResult) AsTuple

func (r ExecutionResult) AsTuple() []any

func (ExecutionResult) Builder

func (r ExecutionResult) Builder(index uint) (*cell.Builder, error)

func (ExecutionResult) Cell

func (r ExecutionResult) Cell(index uint) (*cell.Cell, error)

func (ExecutionResult) Int

func (r ExecutionResult) Int(index uint) (*big.Int, error)

func (ExecutionResult) IsNil

func (r ExecutionResult) IsNil(index uint) (bool, error)

func (ExecutionResult) MustBuilder

func (r ExecutionResult) MustBuilder(index uint) *cell.Builder

func (ExecutionResult) MustCell

func (r ExecutionResult) MustCell(index uint) *cell.Cell

func (ExecutionResult) MustInt

func (r ExecutionResult) MustInt(index uint) *big.Int

func (ExecutionResult) MustIsNil

func (r ExecutionResult) MustIsNil(index uint) bool

func (ExecutionResult) MustSlice

func (r ExecutionResult) MustSlice(index uint) *cell.Slice

func (ExecutionResult) MustTuple

func (r ExecutionResult) MustTuple(index uint) []any

func (ExecutionResult) Slice

func (r ExecutionResult) Slice(index uint) (*cell.Slice, error)

func (ExecutionResult) Tuple

func (r ExecutionResult) Tuple(index uint) ([]any, error)

type GetAccountState

type GetAccountState struct {
	ID      *BlockIDExt `tl:"struct"`
	Account AccountID   `tl:"struct"`
}

type GetAllShardsInfo

type GetAllShardsInfo struct {
	ID *BlockIDExt `tl:"struct"`
}

type GetBlockData

type GetBlockData struct {
	ID *BlockIDExt `tl:"struct"`
}

type GetConfigAll

type GetConfigAll struct {
	Mode    int32       `tl:"int"`
	BlockID *BlockIDExt `tl:"struct"`
}

type GetConfigParams

type GetConfigParams struct {
	Mode    int32       `tl:"int"`
	BlockID *BlockIDExt `tl:"struct"`
	Params  []int32     `tl:"vector int"`
}

type GetMasterchainInf

type GetMasterchainInf struct{}

type GetOneTransaction

type GetOneTransaction struct {
	ID    *BlockIDExt `tl:"struct"`
	AccID *AccountID  `tl:"struct"`
	LT    int64       `tl:"long"`
}

type GetTime

type GetTime struct{}

type GetTransactions

type GetTransactions struct {
	Limit  int32      `tl:"int"`
	AccID  *AccountID `tl:"struct"`
	LT     int64      `tl:"long"`
	TxHash []byte     `tl:"int256"`
}

type LSError

type LSError struct {
	Code int32  `tl:"int"`
	Text string `tl:"string"`
}

func (LSError) Error

func (e LSError) Error() string

func (LSError) Is

func (e LSError) Is(err error) bool

type ListBlockTransactions

type ListBlockTransactions struct {
	ID           *BlockIDExt     `tl:"struct"`
	Mode         uint32          `tl:"flags"`
	Count        uint32          `tl:"int"`
	After        *TransactionID3 `tl:"?7 struct"`
	ReverseOrder *True           `tl:"?6 struct boxed"`
	WantProof    *True           `tl:"?5 struct boxed"`
}

type LiteClient

type LiteClient interface {
	QueryLiteserver(ctx context.Context, payload tl.Serializable, result tl.Serializable) error
	StickyContext(ctx context.Context) context.Context
	StickyNodeID(ctx context.Context) uint32
}

type LookupBlock

type LookupBlock struct {
	Mode  uint32          `tl:"flags"`
	ID    *BlockInfoShort `tl:"struct"`
	LT    uint64          `tl:"?1 long"`
	UTime uint32          `tl:"?2 int"`
}

type MasterchainInfo

type MasterchainInfo struct {
	Last          *BlockIDExt     `tl:"struct"`
	StateRootHash []byte          `tl:"int256"`
	Init          *ZeroStateIDExt `tl:"struct"`
}

type Object

type Object struct{}

type RunMethodResult

type RunMethodResult struct {
	Mode       uint32      `tl:"flags"`
	ID         *BlockIDExt `tl:"struct"`
	ShardBlock *BlockIDExt `tl:"struct"`
	ShardProof []byte      `tl:"?0 bytes"`
	Proof      []byte      `tl:"?0 bytes"`
	StateProof []byte      `tl:"?1 bytes"`
	InitC7     []byte      `tl:"?3 bytes"`
	LibExtras  []byte      `tl:"?4 bytes"`
	ExitCode   int32       `tl:"int"`
	Result     []byte      `tl:"?2 bytes"`
}

type RunSmcMethod

type RunSmcMethod struct {
	Mode     uint32      `tl:"int"`
	ID       *BlockIDExt `tl:"struct"`
	Account  AccountID   `tl:"struct"`
	MethodID uint64      `tl:"long"`
	Params   []byte      `tl:"bytes"`
}

type SendMessage

type SendMessage struct {
	Body []byte `tl:"bytes"`
}

type SendMessageStatus

type SendMessageStatus struct {
	Status int32 `tl:"int"`
}

type TransactionID

type TransactionID struct {
	Flags   uint32 `tl:"flags"`
	Account []byte `tl:"?0 int256"`
	LT      uint64 `tl:"?1 long"`
	Hash    []byte `tl:"?2 int256"`
}

type TransactionID3

type TransactionID3 struct {
	Account []byte `tl:"int256"`
	LT      uint64 `tl:"long"`
}

type TransactionInfo

type TransactionInfo struct {
	ID          *BlockIDExt `tl:"struct"`
	Proof       []byte      `tl:"bytes"`
	Transaction []byte      `tl:"bytes"`
}

type TransactionList

type TransactionList struct {
	IDs          []*BlockIDExt `tl:"vector struct"`
	Transactions []byte        `tl:"bytes"`
}

type TransactionShortInfo

type TransactionShortInfo struct {
	Account []byte
	LT      uint64
	Hash    []byte
}

func (*TransactionShortInfo) ID3

type True

type True struct{}

type WaitMasterchainSeqno

type WaitMasterchainSeqno struct {
	Seqno   int32 `tl:"int"`
	Timeout int32 `tl:"int"`
}

type ZeroStateIDExt

type ZeroStateIDExt struct {
	Workchain int32  `tl:"int"`
	RootHash  []byte `tl:"int256"`
	FileHash  []byte `tl:"int256"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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