/** * 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, SignatureDomain } from "@ton/core"; import { Maybe } from "../../utils/maybe"; import { SendArgsSignable, SendArgsSigned } from "../signing/singer"; import { OutActionWalletV5 } from "./WalletV5OutActions"; import { WalletIdV5Beta } from "./WalletV5BetaWalletId"; export type WalletV5BetaBasicSendArgs = { seqno: number; timeout?: Maybe; }; export type WalletV5BetaSendArgsSigned = WalletV5BetaBasicSendArgs & SendArgsSigned & { authType?: "external" | "internal"; }; export type WalletV5BetaSendArgsSignable = WalletV5BetaBasicSendArgs & SendArgsSignable & { authType?: "external" | "internal"; }; export type WalletV5BetaSendArgsExtensionAuth = WalletV5BetaBasicSendArgs & { authType: "extension"; }; export type WalletV5BetaSendArgs = WalletV5BetaSendArgsSigned | WalletV5BetaSendArgsSignable | WalletV5BetaSendArgsExtensionAuth; export type WalletV5BetaPackedCell = T extends WalletV5BetaSendArgsSignable ? Promise : Cell; /** * @deprecated * use WalletContractV5R1 instead */ export declare class WalletContractV5Beta implements Contract { readonly walletId: WalletIdV5Beta; readonly publicKey: Buffer; static OpCodes: { auth_extension: number; auth_signed_external: number; auth_signed_internal: number; }; static create(args: { walletId?: Partial; publicKey: Buffer; domain?: SignatureDomain; }): WalletContractV5Beta; readonly address: Address; readonly init: { data: Cell; code: Cell; }; domain?: SignatureDomain; constructor(walletId: WalletIdV5Beta, publicKey: Buffer, domain?: SignatureDomain); /** * Get Wallet Balance */ getBalance(provider: ContractProvider): Promise; /** * Get Wallet Seqno */ getSeqno(provider: ContractProvider): Promise; /** * Get Wallet Extensions */ getExtensions(provider: ContractProvider): Promise; /** * Get Wallet Extensions */ getExtensionsArray(provider: ContractProvider): Promise; /** * Get is secret-key authentication enabled */ getIsSecretKeyAuthEnabled(provider: ContractProvider): Promise; /** * Send signed transfer */ send(provider: ContractProvider, message: Cell): Promise; /** * Sign and send transfer */ sendTransfer(provider: ContractProvider, args: WalletV5BetaSendArgs & { messages: MessageRelaxed[]; sendMode: SendMode; }): Promise; /** * Sign and send add extension request */ sendAddExtension(provider: ContractProvider, args: WalletV5BetaSendArgs & { extensionAddress: Address; }): Promise; /** * Sign and send remove extension request */ sendRemoveExtension(provider: ContractProvider, args: WalletV5BetaSendArgs & { extensionAddress: Address; }): Promise; /** * Sign and send actions batch */ sendActionsBatch(provider: ContractProvider, args: WalletV5BetaSendArgs & { actions: OutActionWalletV5[]; }): Promise; private createActions; /** * Create signed transfer */ createTransfer(args: T & { messages: MessageRelaxed[]; sendMode: SendMode; }): WalletV5BetaPackedCell; /** * Create signed add extension request */ createAddExtension(args: T & { extensionAddress: Address; }): WalletV5BetaPackedCell; /** * Create signed remove extension request */ createRemoveExtension(args: T & { extensionAddress: Address; }): WalletV5BetaPackedCell; /** * Create signed request or extension auth request */ createRequest(args: T & { actions: OutActionWalletV5[]; }): WalletV5BetaPackedCell; /** * Create sender */ sender(provider: ContractProvider, secretKey: Buffer): Sender; }