Documentation
¶
Index ¶
- Variables
- func CollectAdditionalInfo(ctx context.Context, infoSource InformationSource, trace *Trace) error
- func GetNftMetaData(nftMetaUrl string) ([]byte, error)
- type Account
- type AccountInfo
- type Auction
- type BlockExtra
- type BlockHeader
- type BouncePhaseType
- type DecodedMessageBody
- type DnsExpiring
- type Filter
- type GenSoftware
- type InformationSource
- type JettonWallet
- type LiquidPool
- type Message
- type MessageID
- type NftCollection
- type NftItem
- type NftSaleContract
- type NftSaleInfo
- type Nominator
- type StateUpdate
- type StorageInfo
- type StorageProvider
- type Subscription
- type TFPool
- type Trace
- type TraceAdditionalInfo
- type Transaction
- type TransactionID
- type TransactionType
- type TxAccStatusChange
- type TxActionPhase
- type TxBouncePhase
- type TxComputePhase
- type TxComputeSkipReason
- type TxCreditPhase
- type TxStoragePhase
Constants ¶
This section is empty.
Variables ¶
var ErrEntityNotFound = errors.New("entity not found")
Functions ¶
func CollectAdditionalInfo ¶ added in v0.1.0
func CollectAdditionalInfo(ctx context.Context, infoSource InformationSource, trace *Trace) error
CollectAdditionalInfo goes over the whole trace and populates trace.TraceAdditionalInfo based on information provided by InformationSource.
func GetNftMetaData ¶
Types ¶
type Account ¶
type Account struct {
AccountAddress tongo.AccountID
Status string
TonBalance int64
ExtraBalances map[uint32]decimal.Decimal
LastTransactionLt uint64
Code []byte
Data []byte
FrozenHash *tongo.Bits256
Storage StorageInfo
Interfaces []string
LastActivityTime int64
GetMethods []string
}
Account holds low-level details about a particular account taken directly from the blockchain.
type AccountInfo ¶
type AccountInfo struct {
Account Account
MemoRequired *bool
Name *string
Icon *string
IsScam *bool
}
AccountInfo extends Account type to hold additional human-friendly information about a particular account.
type BlockExtra ¶
type BlockHeader ¶
type BlockHeader struct {
tongo.BlockIDExt
MasterRef *tongo.BlockIDExt
PrevBlocks []tongo.BlockIDExt
StartLt int64
EndLt int64
GlobalId int32
MinRefMcSeqno int32
CatchainSeqno int32
PrevKeyBlockSeqno int32
ValidatorListHashShort int32
GenUtime uint32
Version uint32
VertSeqno uint32
WantMerge bool
WantSplit bool
AfterMerge bool
AfterSplit bool
BeforeSplit bool
IsKeyBlock bool
// GenSoftware describes software that created this particular block.
// It is up to the software to include this piece of information.
GenSoftware *GenSoftware
BlockExtra BlockExtra
}
BlockHeader contains information extracted from a block.
func ConvertToBlockHeader ¶
func ConvertToBlockHeader(id tongo.BlockIDExt, block *tlb.Block) (*BlockHeader, error)
type BouncePhaseType ¶
type BouncePhaseType string
const ( BounceNegFunds BouncePhaseType = "TrPhaseBounceNegfunds" BounceNoFunds BouncePhaseType = "TrPhaseBounceNofunds " BounceOk BouncePhaseType = "TrPhaseBounceOk" )
type DecodedMessageBody ¶
DecodedMessageBody contains a message body decoded by tongo.abi package.
type DnsExpiring ¶
type GenSoftware ¶
GenSoftware describes version and capabilities of software that created a blockchain block.
type InformationSource ¶ added in v0.1.0
type InformationSource interface {
JettonMastersForWallets(ctx context.Context, wallets []tongo.AccountID) (map[tongo.AccountID]tongo.AccountID, error)
GetGemsContracts(ctx context.Context, getGems []tongo.AccountID) (map[tongo.AccountID]NftSaleContract, error)
NftSaleContracts(ctx context.Context, contracts []tongo.AccountID) (map[tongo.AccountID]NftSaleContract, error)
}
InformationSource provides methods to construct TraceAdditionalInfo.
type JettonWallet ¶
type LiquidPool ¶
type Message ¶
type Message struct {
MessageID
IhrDisabled bool
Bounce bool
Bounced bool
Value int64
FwdFee int64
IhrFee int64
ImportFee int64
Init []byte
Body []byte
CreatedAt uint32
// OpCode is the first 32 bits of a message body indicating a possible operation.
OpCode *uint32
DecodedBody *DecodedMessageBody
}
func (Message) IsEmission ¶
type MessageID ¶
func (MessageID) IsExternal ¶
type NftCollection ¶
type NftSaleContract ¶ added in v0.1.0
type NftSaleContract struct {
NftPrice int64
// Owner of an NFT according to a getgems/basic contract.
Owner *tongo.AccountID
}
NftSaleContract holds partial results of get_sale_data method.
type NftSaleInfo ¶
type StorageInfo ¶
type StorageInfo struct {
UsedCells big.Int
UsedBits big.Int
UsedPublicCells big.Int
LastPaid uint32
DuePayment int64
}
StorageInfo is taken from TLB storage_stat:StorageInfo.
type StorageProvider ¶
type StorageProvider struct {
Address tongo.AccountID
AcceptNewContracts bool
// RatePerMbDay specifies the cost of storage in nanoTON per megabyte per day.
RatePerMbDay int64
// MaxSpan specifies how often the provider provides proofs of Bag storage.
MaxSpan int64
// MinimalFileSize specifies min Bag size in bytes.
MinimalFileSize int64
// MaximalFileSize specifies max Bag size in bytes.
MaximalFileSize int64
}
StorageProvider is a smart contract that accepts storage requests and manages payments from clients.
type Subscription ¶ added in v0.1.0
type Trace ¶
type Trace struct {
// Transaction is slightly modified.
// For example, we have kept only external outbound messages in OutMsgs.
Transaction
AccountInterfaces []abi.ContractInterface
Children []*Trace
AdditionalInfo *TraceAdditionalInfo
}
func (*Trace) InProgress ¶
type TraceAdditionalInfo ¶ added in v0.1.0
type TraceAdditionalInfo struct {
JettonMaster *tongo.AccountID
// NftSaleContract is set, if a transaction's account implements "get_sale_data" method.
NftSaleContract *NftSaleContract
}
TraceAdditionalInfo holds information about a trace but not directly extracted from it or a corresponding transaction.
type Transaction ¶
type Transaction struct {
TransactionID
Type TransactionType
Success bool
Utime int64
InMsg *Message
OutMsgs []Message
BlockID tongo.BlockID
OrigStatus tlb.AccountStatus
EndStatus tlb.AccountStatus
PrevTransHash tongo.Bits256
PrevTransLt uint64
StateHashUpdate tlb.HashUpdate
ComputePhase *TxComputePhase
StoragePhase *TxStoragePhase
CreditPhase *TxCreditPhase
ActionPhase *TxActionPhase
BouncePhase *TxBouncePhase
Aborted bool
Destroyed bool
// StorageFee collected during the Storage Phase.
StorageFee int64
// TotalFee is the original total_fee of a transaction directly from the blockchain.
TotalFee int64
}
func ConvertTransaction ¶
func ConvertTransaction(workchain int32, tx tongo.Transaction) (*Transaction, error)
func ExtractTransactions ¶
func ExtractTransactions(id tongo.BlockIDExt, block *tlb.Block) ([]*Transaction, error)
type TransactionID ¶
type TransactionType ¶
type TransactionType string
TransactionType stands for transaction kind from [4.2.4] from the TON whitepaper.
const ( OrdinaryTx TransactionType = "TransOrd" TickTockTx TransactionType = "TransTickTock" SplitPrepareTx TransactionType = "TransSplitPrepare" SplitInstallTx TransactionType = "TransSplitInstall" MergePrepareTx TransactionType = "TransMergePrepare" MergeInstallTx TransactionType = "TransMergeInstall" StorageTx TransactionType = "TransStorage" )
type TxAccStatusChange ¶
type TxAccStatusChange = tlb.AccStatusChange
type TxActionPhase ¶
type TxBouncePhase ¶
type TxBouncePhase struct {
Type BouncePhaseType
}
type TxComputePhase ¶
type TxComputeSkipReason ¶
type TxComputeSkipReason = tlb.ComputeSkipReason
type TxCreditPhase ¶
type TxStoragePhase ¶
type TxStoragePhase struct {
StorageFeesCollected uint64
StorageFeesDue *uint64
StatusChange TxAccStatusChange
}