Documentation ¶
Index ¶
- Constants
- Variables
- func GenerateWalletAddress(key ed25519.PublicKey, ver Version, workchain int, subWalletId *int) (tongo.AccountID, error)
- func GetCodeByVer(ver Version) *boc.Cell
- func GetCodeHashByVer(ver Version) tongo.Hash
- func SeedToPrivateKey(seed string) (ed25519.PrivateKey, error)
- type DataV1V2
- type DataV3
- type DataV4
- type Message
- type MessageV3
- type MessageV4
- type PayloadV1toV4
- type RawMessage
- type SimpleMockBlockchain
- func (b *SimpleMockBlockchain) GetAccountState(ctx context.Context, accountId tongo.AccountID) (tongo.AccountInfo, error)
- func (b *SimpleMockBlockchain) GetSeqno(ctx context.Context, account tongo.AccountID) (uint32, error)
- func (b *SimpleMockBlockchain) SendRawMessage(ctx context.Context, payload []byte) error
- type TextComment
- type TonTransfer
- type Version
- type Wallet
- func (w *Wallet) GetAddress() tongo.AccountID
- func (w *Wallet) GetBalance(ctx context.Context) (uint64, error)
- func (w *Wallet) RawSend(ctx context.Context, seqno uint32, validUntil time.Time, ...) error
- func (w *Wallet) SendJetton(ctx context.Context, messages []jetton.TransferMessage) error
- func (w *Wallet) SimpleSend(ctx context.Context, messages []Message) error
Constants ¶
const ( DefaultSubWalletIdV3V4 = 698983191 DefaultMessageLifetime = time.Minute * 3 DefaultMessageMode = 3 )
Variables ¶
var WORDLIST = []string{}/* 2048 elements not displayed */
Functions ¶
func GenerateWalletAddress ¶
func GenerateWalletAddress( key ed25519.PublicKey, ver Version, workchain int, subWalletId *int, ) (tongo.AccountID, error)
GenerateWalletAddress Generate wallet address from known workchain, public key and version. subWalletId is only used in V3 and V4 wallets. Use nil for default value. The version number is associated with a specific implementation of the wallet code (https://github.com/toncenter/tonweb/blob/master/src/contract/wallet/WalletSources.md)
func GetCodeByVer ¶
func GetCodeHashByVer ¶
func SeedToPrivateKey ¶
func SeedToPrivateKey(seed string) (ed25519.PrivateKey, error)
Types ¶
type MessageV3 ¶
type MessageV3 struct { SubWalletId uint32 ValidUntil uint32 Seqno uint32 Payload PayloadV1toV4 }
type MessageV4 ¶
type MessageV4 struct { // Op: 0 - simple send, 1 - deploy and install plugin, 2 - install plugin, 3 - remove plugin SubWalletId uint32 ValidUntil uint32 Seqno uint32 Op int32 `tlb:"8bits"` Payload PayloadV1toV4 }
type PayloadV1toV4 ¶
type PayloadV1toV4 []RawMessage
func (PayloadV1toV4) MarshalTLB ¶
func (p PayloadV1toV4) MarshalTLB(c *boc.Cell, tag string) error
func (*PayloadV1toV4) UnmarshalTLB ¶
func (p *PayloadV1toV4) UnmarshalTLB(c *boc.Cell, tag string) error
type RawMessage ¶
type SimpleMockBlockchain ¶
type SimpleMockBlockchain struct {
// contains filtered or unexported fields
}
SimpleMockBlockchain Very simple mock. It does not provide blockchain logic for calculating state and seqno for different addresses. Only for internal tests and demonstration purposes.
func NewMockBlockchain ¶
func NewMockBlockchain(seqno uint32, state tongo.AccountInfo) (*SimpleMockBlockchain, chan []byte)
func (*SimpleMockBlockchain) GetAccountState ¶
func (b *SimpleMockBlockchain) GetAccountState(ctx context.Context, accountId tongo.AccountID) (tongo.AccountInfo, error)
func (*SimpleMockBlockchain) SendRawMessage ¶
func (b *SimpleMockBlockchain) SendRawMessage(ctx context.Context, payload []byte) error
type TextComment ¶
type TextComment string
func (TextComment) MarshalTLB ¶
func (t TextComment) MarshalTLB(c *boc.Cell, tag string) error
func (*TextComment) UnmarshalTLB ¶
func (t *TextComment) UnmarshalTLB(c *boc.Cell, tag string) error
type TonTransfer ¶
type Wallet ¶
type Wallet struct {
// contains filtered or unexported fields
}
func DefaultWalletFromSeed ¶
func NewWallet ¶
func NewWallet(key ed25519.PrivateKey, ver Version, workchain int, subWalletId *int, blockchain blockchain) (Wallet, error)
NewWallet Fill new Wallet struct from known workchain, public key and version. subWalletId is only used in V3 and V4 wallets. Use nil for default value. The version number is associated with a specific implementation of the wallet code (https://github.com/toncenter/tonweb/blob/master/src/contract/wallet/WalletSources.md)
func (*Wallet) GetAddress ¶
func (*Wallet) GetBalance ¶
GetBalance Gets actual TON balance for wallet
func (*Wallet) RawSend ¶
func (w *Wallet) RawSend( ctx context.Context, seqno uint32, validUntil time.Time, internalMessages []RawMessage, init *tongo.StateInit, ) error
RawSend Generates a signed external message for wallet with custom internal messages, seqno, TTL and init The payload is serialized into bytes and sent by the method SendRawMessage
func (*Wallet) SendJetton ¶
SendJetton Sends Jettons to recipient address
func (*Wallet) SimpleSend ¶
SimpleSend Generates a signed external message for wallet with custom internal messages and default TTL Gets actual seqno and attach init for wallet if it needed The payload is serialized into bytes and sent by the method SendRawMessage