UNPKG

@ton.js/core

Version:

TonWeb - JavaScript API for TON blockchain

53 lines 2.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JettonMinter = void 0; const cell_1 = require("../../../boc/cell"); const contract_1 = require("../../contract"); const utils_1 = require("../nft/utils"); const codeHex = ('B5EE9C7241020701000133000114FF00F4A413F4BCF2C80B0102016202030202CD0405001FA13C5BDA89A1F401F481A9A860FEAA4101C1D1910E38048ADF068698180B8D848ADF07D201800E98FE99FF6A2687D007D206A6A18400AA9385D47149B28B0E382F97024817D007D207D00182A0900AA2383F803AC502099E428027D012C678B666664F6AA701AC0090B5D71812F834207F97840600A5F7C142281B82A1009AA0A01E428027D012C678B00E78B666491646580897A007A00658064907C80383A6465816503E5FFE4E840073B400C646582A801E78B28037D0165B5E609E58F89659F80FD0164B87D804009E02FA00FA4030F8282570542013541403C85004FA0258CF1601CF16CCC922C8CB0112F400F400CB00C9F9007074C8CB02CA07CBFFC9D05006C705F2E2C35004A15520C85004FA0258CF16CCCCC9ED549C3AF745'); /** * ATTENTION: this is a DRAFT, there will be changes. */ class JettonMinter extends contract_1.Contract { constructor(provider, options) { options.wc = 0; options.code = (options.code || cell_1.Cell.oneFromBoc(codeHex)); super(provider, options); } createMintBody(params) { const body = new cell_1.Cell(); body.bits.writeUint(21, 32); // OP mint body.bits.writeUint(params.queryId || 0, 64); // query_id body.bits.writeCoins(params.tokenAmount); body.bits.writeAddress(params.destination); body.bits.writeCoins(params.amount); return body; } async getJettonData() { const myAddress = await this.getAddress(); const result = await this.provider.call2(myAddress.toString(), 'get_jetton_data'); return { totalSupply: result[0], isMutable: (result[1].toNumber() === -1), adminAddress: (0, utils_1.parseAddress)(result[2]), jettonContentUri: (0, utils_1.parseOffchainUriCell)(result[3]), tokenWalletCode: result[4], }; } /** * Returns cell that contains jetton minter data. */ createDataCell() { const cell = new cell_1.Cell(); cell.bits.writeCoins(0); // total supply cell.bits.writeAddress(this.options.adminAddress); cell.refs = [ (0, utils_1.createOffchainUriCell)(this.options.jettonContentUri), cell_1.Cell.oneFromBoc(this.options.jettonWalletCodeHex), ]; return cell; } } exports.JettonMinter = JettonMinter; //# sourceMappingURL=jetton-minter.js.map