UNPKG

@ton.js/core

Version:

TonWeb - JavaScript API for TON blockchain

65 lines 3.85 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.JettonWallet = void 0; const bn_js_1 = __importDefault(require("bn.js")); const cell_1 = require("../../../boc/cell"); const contract_1 = require("../../contract"); const utils_1 = require("../nft/utils"); const codeHex = ('B5EE9C72410216010002CB000114FF00F4A413F4BCF2C80B0102016202030202CC04050009A0F605E00D02012006070201480E0F02F7D00E8698180B8D84A1818F805F07D207D2018FD0018B8EB90FD0018FD001801698FC00729105D471918B6117803290B6382F9716081E99FFD001809D0400838400864658293678B10FD0165B5658F89E59FE4C0207D802001F803F04005A9105D4A98A099F804704006A9105D4A989998F804F04008895D71812F82408090201200A0B00084133F00A0008840FF2F000115FA443070BAF2E14D80201200C0D00173B51343E803E903E90350C20001F3214013E809633C58073C5B3327B55200201201011020120141501F700F4CFFE803E90087C017C01944DA8548AB1C17CB8B04A30BFFCB8B0950D109C150804D50500F214013E809633C58073C5B33248B232C044BD003D0032C032483E401C1D3232C0B281F2FFF274013E90087C017D010C7E801DE0063232C1540233C59C3E8085F2DAC4F320037232C7C672CFD401FE8088B3C59401A01201F33C018174CFFE80145468017E903E90151C965C150804D50500F214013E809633C58073C5B33248B232C044BD003D0032C0327E401C1D3232C0B281F2FFF274140271C17CB8B0C1FE80086497C138C360822625A01CBEC0A0041C20043232C15401F3C589BE8085B2DA8572C7C532CFF2604020BEC01000FC01E013005ECF1625FA025003CF16C95005CC07AA0013A08208989680AA008208989680A0A014BCF2E2C504C98040FB001023F007005A718018C8CB0528CF165003FA0212CB6A800CC8CB1F5250CB3F5004FA0225CF1658CF1601CF16C901CCC971FB0000A73C0181F4CFFE803E900C145468549271C17CB8B049F0BFFCB8B0A0822625A02A8005A805AF3CB8B0E004B232C7C572CFD400FE8088B3C58073C5B25C60043232C14933C59C3E80B2DAB33260103EC01004FC01E00047200835C87C018134C7E00354882EA00484EE84AC7CB8B174CFCC7E800C04E81408FC01E0387A65F0'); /** * ATTENTION: this is a DRAFT, there will be changes. */ class JettonWallet extends contract_1.Contract { constructor(provider, options) { options.wc = 0; options.code = (options.code || cell_1.Cell.oneFromBoc(codeHex)); super(provider, options); } async getData() { const myAddress = await this.getAddress(); const result = await this.provider.call2(myAddress.toString(), 'get_wallet_data'); return { balance: result[0], ownerAddress: (0, utils_1.parseAddress)(result[1]), jettonMinterAddress: (0, utils_1.parseAddress)(result[2]), tokenWalletCode: result[3], }; } /** * @todo: should it be async? */ async createTransferBody(params) { const cell = new cell_1.Cell(); cell.bits.writeUint(11, 32); // request_transfer op cell.bits.writeUint((params.queryId || 0), 64); cell.bits.writeCoins(params.tokenAmount); cell.bits.writeAddress(params.toAddress); cell.bits.writeAddress(params.responseAddress); cell.bits.writeBit(false); // null custom_payload cell.bits.writeCoins(params.forwardAmount || new bn_js_1.default(0)); // forward_payload in this slice, not separate cell cell.bits.writeBit(false); if (params.forwardPayload) { cell.bits.writeBytes(params.forwardPayload); } return cell; } /** * @todo: should it be async? */ async createBurnBody(params) { const cell = new cell_1.Cell(); cell.bits.writeUint(17, 32); // burn op cell.bits.writeUint((params.queryId || 0), 64); cell.bits.writeCoins(params.tokenAmount); cell.bits.writeAddress(params.responseAddress); return cell; } } exports.JettonWallet = JettonWallet; JettonWallet.codeHex = codeHex; //# sourceMappingURL=jetton-wallet.js.map