UNPKG

@ton/ton

Version:

[![Version npm](https://img.shields.io/npm/v/ton.svg?logo=npm)](https://www.npmjs.com/package/ton)

115 lines (114 loc) 4.26 kB
/** * Copyright (c) Whales Corp. * All Rights Reserved. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import { Address, Cell, Contract, ContractProvider, MessageRelaxed, Sender, SendMode, StateInit } from "@ton/core"; import { Maybe } from "../../utils/maybe"; import { SendArgsSignable, SendArgsSigned } from "../signing/singer"; import { OutActionWalletV4, WalletV4SendArgs, WalletV4SendArgsSignable } from "./WalletContractV4Actions"; export type WalletV4BasicSendArgs = { seqno: number; messages: MessageRelaxed[]; sendMode?: Maybe<SendMode>; timeout?: Maybe<number>; }; export type Wallet4SendArgsSigned = WalletV4BasicSendArgs & SendArgsSigned; export type Wallet4SendArgsSignable = WalletV4BasicSendArgs & SendArgsSignable; export declare class WalletContractV4 implements Contract { static create(args: { workchain: number; publicKey: Buffer; walletId?: Maybe<number>; }): WalletContractV4; readonly workchain: number; readonly publicKey: Buffer; readonly address: Address; readonly walletId: number; readonly init: { data: Cell; code: Cell; }; constructor(workchain: number, publicKey: Buffer, walletId?: Maybe<number>); /** * Get Wallet Balance */ getBalance(provider: ContractProvider): Promise<bigint>; /** * Get Wallet Seqno */ getSeqno(provider: ContractProvider): Promise<number>; getIsPluginInstalled(provider: ContractProvider, pluginAddress: Address): Promise<boolean>; getPluginsArray(provider: ContractProvider): Promise<Address[]>; /** * Send signed transfer */ send(provider: ContractProvider, message: Cell): Promise<void>; /** * Sign and send transfer */ sendTransfer(provider: ContractProvider, args: { seqno: number; secretKey: Buffer; messages: MessageRelaxed[]; sendMode?: Maybe<SendMode>; timeout?: Maybe<number>; }): Promise<void>; /** * Create signed transfer */ createTransfer<T extends Wallet4SendArgsSigned | Wallet4SendArgsSignable>(args: T): T extends SendArgsSignable ? Promise<Cell> : Cell; sendRequest<T extends WalletV4SendArgs & { action: OutActionWalletV4; }>(provider: ContractProvider, args: T): Promise<void>; createRequest<T extends WalletV4SendArgs & { action: OutActionWalletV4; }>(args: T): T extends WalletV4SendArgsSignable ? Promise<Cell> : Cell; /** * Create sender */ sender(provider: ContractProvider, secretKey: Buffer): Sender; sendAddPlugin<T extends WalletV4SendArgs & { address: Address; forwardAmount: bigint; queryId?: bigint; }>(provider: ContractProvider, args: T): Promise<void>; sendRemovePlugin<T extends WalletV4SendArgs & { address: Address; forwardAmount: bigint; queryId?: bigint; }>(provider: ContractProvider, args: T): Promise<void>; sendAddAndDeployPlugin<T extends WalletV4SendArgs & { workchain: number; stateInit: StateInit; body: Cell; forwardAmount: bigint; }>(provider: ContractProvider, args: T): Promise<void>; createAddPlugin<T extends WalletV4SendArgs & { address: Address; forwardAmount: bigint; queryId?: bigint; }>(args: T): Cell | Promise<Cell>; createRemovePlugin<T extends WalletV4SendArgs & { address: Address; forwardAmount: bigint; queryId?: bigint; }>(args: T): Cell | Promise<Cell>; createAddAndDeployPlugin<T extends WalletV4SendArgs & { workchain: number; stateInit: StateInit; body: Cell; forwardAmount: bigint; }>(args: T): Cell | Promise<Cell>; sendPluginRequestFunds(provider: ContractProvider, sender: Sender, args: { forwardAmount: bigint; toncoinsToWithdraw: bigint; queryId?: bigint; sendMode?: SendMode; }): Promise<void>; private createPluginRequestFundsMessage; sendPluginRemovePlugin(provider: ContractProvider, sender: Sender, amount: bigint, queryId?: bigint): Promise<void>; private createPluginRemovePluginMessage; }