import * as c from '@ton/core'; import { ContractProvider, Sender, SendMode } from '@ton/core'; type RemainingBitsAndRefs = c.Slice; export type CellRef = { ref: T; }; type coins = bigint; type uint16 = bigint; type uint64 = bigint; type uint256 = bigint; /** > struct PartnerConfig { > partnerId: uint256 > partnerFeeBps: uint16 > } */ export interface PartnerConfig { readonly $: 'PartnerConfig'; partnerId: uint256; partnerFeeBps: uint16; } export declare const PartnerConfig: { create(args: { partnerId: uint256; partnerFeeBps: uint16; }): PartnerConfig; fromSlice(s: c.Slice): PartnerConfig; store(self: PartnerConfig, b: c.Builder): void; toCell(self: PartnerConfig): c.Cell; }; /** > struct ReferrerConfig { > referrerId: uint256 > referrerFeeBps: uint16 > } */ export interface ReferrerConfig { readonly $: 'ReferrerConfig'; referrerId: uint256; referrerFeeBps: uint16; } export declare const ReferrerConfig: { create(args: { referrerId: uint256; referrerFeeBps: uint16; }): ReferrerConfig; fromSlice(s: c.Slice): ReferrerConfig; store(self: ReferrerConfig, b: c.Builder): void; toCell(self: ReferrerConfig): c.Cell; }; /** > struct (0x646ad424) SellMessage { > queryId: uint64 > amount: coins > minimalAmountOut: coins > from: address > excessesTo: address? > partnerConfig: Cell? > referrerConfig: Cell? > } */ export interface SellMessage { readonly $: 'SellMessage'; queryId: uint64; amount: coins; minimalAmountOut: coins; from: c.Address; excessesTo: c.Address | null; partnerConfig: CellRef | null; referrerConfig: CellRef | null; } export declare const SellMessage: { PREFIX: number; create(args: { queryId: uint64; amount: coins; minimalAmountOut: coins; from: c.Address; excessesTo: c.Address | null; partnerConfig: CellRef | null; referrerConfig: CellRef | null; }): SellMessage; fromSlice(s: c.Slice): SellMessage; store(self: SellMessage, b: c.Builder): void; toCell(self: SellMessage): c.Cell; }; /** > struct MemeWalletStorage { > balance: coins > ownerAddress: address > memeAddress: address > } */ export interface MemeWalletStorage { readonly $: 'MemeWalletStorage'; balance: coins; ownerAddress: c.Address; memeAddress: c.Address; } export declare const MemeWalletStorage: { create(args: { balance?: coins; ownerAddress: c.Address; memeAddress: c.Address; }): MemeWalletStorage; fromSlice(s: c.Slice): MemeWalletStorage; store(self: MemeWalletStorage, b: c.Builder): void; toCell(self: MemeWalletStorage): c.Cell; }; /** > struct GetMemeWalletDataReply { > balance: coins > ownerAddress: address > memeAddress: address > walletCode: cell > } */ export interface GetMemeWalletDataReply { readonly $: 'GetMemeWalletDataReply'; balance: coins; ownerAddress: c.Address; memeAddress: c.Address; walletCode: c.Cell; } export declare const GetMemeWalletDataReply: { create(args: { balance: coins; ownerAddress: c.Address; memeAddress: c.Address; walletCode: c.Cell; }): GetMemeWalletDataReply; fromSlice(s: c.Slice): GetMemeWalletDataReply; store(self: GetMemeWalletDataReply, b: c.Builder): void; toCell(self: GetMemeWalletDataReply): c.Cell; }; /** > struct (0x0f8a7ea5) TransferTokensMessage { > queryId: uint64 > amount: coins > to: address > excessesTo: address? > customPayload: cell? > forwardToncoinAmount: coins > forwardPayload: RemainingBitsAndRefs | cell > } */ export interface TransferTokensMessage { readonly $: 'TransferTokensMessage'; queryId: uint64; amount: coins; to: c.Address; excessesTo: c.Address | null; customPayload: c.Cell | null; forwardToncoinAmount: coins; forwardPayload: { $: 'RemainingBitsAndRefs'; value: RemainingBitsAndRefs; } | { $: 'cell'; value: c.Cell; }; } export declare const TransferTokensMessage: { PREFIX: number; create(args: { queryId: uint64; amount: coins; to: c.Address; excessesTo: c.Address | null; customPayload?: c.Cell | null; forwardToncoinAmount?: coins; forwardPayload: { $: "RemainingBitsAndRefs"; value: RemainingBitsAndRefs; } | { $: "cell"; value: c.Cell; }; }): TransferTokensMessage; fromSlice(s: c.Slice): TransferTokensMessage; store(self: TransferTokensMessage, b: c.Builder): void; toCell(self: TransferTokensMessage): c.Cell; }; /** > struct (0x178d4519) ReceiveTokensMessage { > queryId: uint64 > amount: coins > from: address? > excessesTo: address? > forwardAmount: coins > forwardPayload: RemainingBitsAndRefs | cell > } */ export interface ReceiveTokensMessage { readonly $: 'ReceiveTokensMessage'; queryId: uint64; amount: coins; from: c.Address | null; excessesTo: c.Address | null; forwardAmount: coins; forwardPayload: { $: 'RemainingBitsAndRefs'; value: RemainingBitsAndRefs; } | { $: 'cell'; value: c.Cell; }; } export declare const ReceiveTokensMessage: { PREFIX: number; create(args: { queryId: uint64; amount: coins; from: c.Address | null; excessesTo: c.Address | null; forwardAmount?: coins; forwardPayload: { $: "RemainingBitsAndRefs"; value: RemainingBitsAndRefs; } | { $: "cell"; value: c.Cell; }; }): ReceiveTokensMessage; fromSlice(s: c.Slice): ReceiveTokensMessage; store(self: ReceiveTokensMessage, b: c.Builder): void; toCell(self: ReceiveTokensMessage): c.Cell; }; /** > struct (0xd53276db) ExcessesMessage { > queryId: uint64 > } */ export interface ExcessesMessage { readonly $: 'ExcessesMessage'; queryId: uint64; } export declare const ExcessesMessage: { PREFIX: number; create(args: { queryId: uint64; }): ExcessesMessage; fromSlice(s: c.Slice): ExcessesMessage; store(self: ExcessesMessage, b: c.Builder): void; toCell(self: ExcessesMessage): c.Cell; }; /** > struct (0x7362d09c) TransferNotificationMessage { > queryId: uint64 > amount: coins > from: address? > forwardPayload: RemainingBitsAndRefs | cell > } */ export interface TransferNotificationMessage { readonly $: 'TransferNotificationMessage'; queryId: uint64; amount: coins; from: c.Address | null; forwardPayload: { $: 'RemainingBitsAndRefs'; value: RemainingBitsAndRefs; } | { $: 'cell'; value: c.Cell; }; } export declare const TransferNotificationMessage: { PREFIX: number; create(args: { queryId: uint64; amount: coins; from: c.Address | null; forwardPayload: { $: "RemainingBitsAndRefs"; value: RemainingBitsAndRefs; } | { $: "cell"; value: c.Cell; }; }): TransferNotificationMessage; fromSlice(s: c.Slice): TransferNotificationMessage; store(self: TransferNotificationMessage, b: c.Builder): void; toCell(self: TransferNotificationMessage): c.Cell; }; /** > struct (0x595f07bc) BurnTokensMessage { > queryId: uint64 > amount: coins > excessesTo: address? > customPayload: cell? > } */ export interface BurnTokensMessage { readonly $: 'BurnTokensMessage'; queryId: uint64; amount: coins; excessesTo: c.Address | null; customPayload: c.Cell | null; } export declare const BurnTokensMessage: { PREFIX: number; create(args: { queryId: uint64; amount: coins; excessesTo: c.Address | null; customPayload?: c.Cell | null; }): BurnTokensMessage; fromSlice(s: c.Slice): BurnTokensMessage; store(self: BurnTokensMessage, b: c.Builder): void; toCell(self: BurnTokensMessage): c.Cell; }; /** > struct (0x7bdd97de) BurnNotificationMessage { > queryId: uint64 > amount: coins > from: address > excessesTo: address? > } */ export interface BurnNotificationMessage { readonly $: 'BurnNotificationMessage'; queryId: uint64; amount: coins; from: c.Address; excessesTo: c.Address | null; } export declare const BurnNotificationMessage: { PREFIX: number; create(args: { queryId: uint64; amount: coins; from: c.Address; excessesTo: c.Address | null; }): BurnNotificationMessage; fromSlice(s: c.Slice): BurnNotificationMessage; store(self: BurnNotificationMessage, b: c.Builder): void; toCell(self: BurnNotificationMessage): c.Cell; }; /** > struct (0xb7459e2c) SellTokensMessage { > queryId: uint64 > amount: coins > minimalAmountOut: coins > excessesTo: address? > partnerConfig: Cell? > referrerConfig: Cell? > } */ export interface SellTokensMessage { readonly $: 'SellTokensMessage'; queryId: uint64; amount: coins; minimalAmountOut: coins; excessesTo: c.Address | null; partnerConfig: CellRef | null; referrerConfig: CellRef | null; } export declare const SellTokensMessage: { PREFIX: number; create(args: { queryId: uint64; amount: coins; minimalAmountOut: coins; excessesTo: c.Address | null; partnerConfig: CellRef | null; referrerConfig: CellRef | null; }): SellTokensMessage; fromSlice(s: c.Slice): SellTokensMessage; store(self: SellTokensMessage, b: c.Builder): void; toCell(self: SellTokensMessage): c.Cell; }; interface ExtraSendOptions { bounce?: boolean; sendMode?: SendMode; extraCurrencies?: c.ExtraCurrency; } interface DeployedAddrOptions { workchain?: number; toShard?: { fixedPrefixLength: number; closeTo: c.Address; }; overrideContractCode?: c.Cell; } export declare class MemeWallet implements c.Contract { static CodeCell: c.Cell; static Errors: { 'ErrorCode.MessageValueTooLow': number; 'ErrorCode.SenderUnauthorized': number; 'ErrorCode.BalanceExceeded': number; 'ErrorCode.CrossWorkchainTransfer': number; 'ErrorCode.UnknownOperation': number; }; readonly address: c.Address; readonly init?: { code: c.Cell; data: c.Cell; }; constructor(address: c.Address, init?: { code: c.Cell; data: c.Cell; }); static fromAddress(address: c.Address): MemeWallet; static fromStorage(emptyStorage: { balance?: coins; ownerAddress: c.Address; memeAddress: c.Address; }, deployedOptions?: DeployedAddrOptions): MemeWallet; static createCellOfReceiveTokensMessage(body: { queryId: uint64; amount: coins; from: c.Address | null; excessesTo: c.Address | null; forwardAmount?: coins; forwardPayload: { $: 'RemainingBitsAndRefs'; value: RemainingBitsAndRefs; } | { $: 'cell'; value: c.Cell; }; }): c.Cell; static createCellOfTransferTokensMessage(body: { queryId: uint64; amount: coins; to: c.Address; excessesTo: c.Address | null; customPayload?: c.Cell | null; forwardToncoinAmount?: coins; forwardPayload: { $: 'RemainingBitsAndRefs'; value: RemainingBitsAndRefs; } | { $: 'cell'; value: c.Cell; }; }): c.Cell; static createCellOfBurnTokensMessage(body: { queryId: uint64; amount: coins; excessesTo: c.Address | null; customPayload?: c.Cell | null; }): c.Cell; static createCellOfSellTokensMessage(body: { queryId: uint64; amount: coins; minimalAmountOut: coins; excessesTo: c.Address | null; partnerConfig: CellRef | null; referrerConfig: CellRef | null; }): c.Cell; sendDeploy(provider: ContractProvider, via: Sender, msgValue: coins, extraOptions?: ExtraSendOptions): Promise; sendReceiveTokensMessage(provider: ContractProvider, via: Sender, msgValue: coins, body: { queryId: uint64; amount: coins; from: c.Address | null; excessesTo: c.Address | null; forwardAmount?: coins; forwardPayload: { $: 'RemainingBitsAndRefs'; value: RemainingBitsAndRefs; } | { $: 'cell'; value: c.Cell; }; }, extraOptions?: ExtraSendOptions): Promise; sendTransferTokensMessage(provider: ContractProvider, via: Sender, msgValue: coins, body: { queryId: uint64; amount: coins; to: c.Address; excessesTo: c.Address | null; customPayload?: c.Cell | null; forwardToncoinAmount?: coins; forwardPayload: { $: 'RemainingBitsAndRefs'; value: RemainingBitsAndRefs; } | { $: 'cell'; value: c.Cell; }; }, extraOptions?: ExtraSendOptions): Promise; sendBurnTokensMessage(provider: ContractProvider, via: Sender, msgValue: coins, body: { queryId: uint64; amount: coins; excessesTo: c.Address | null; customPayload?: c.Cell | null; }, extraOptions?: ExtraSendOptions): Promise; sendSellTokensMessage(provider: ContractProvider, via: Sender, msgValue: coins, body: { queryId: uint64; amount: coins; minimalAmountOut: coins; excessesTo: c.Address | null; partnerConfig: CellRef | null; referrerConfig: CellRef | null; }, extraOptions?: ExtraSendOptions): Promise; getWalletData(provider: ContractProvider): Promise; } export {};