@ton/ton
Version:
[](https://www.npmjs.com/package/ton)
115 lines (114 loc) • 4.26 kB
TypeScript
/**
* 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;
}