UNPKG

@factorial-finance/blueprint-node

Version:

blueprint-node-plugin

58 lines (57 loc) 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LocalTonClient = void 0; const ton_1 = require("@ton/ton"); const zod_1 = require("zod"); const successResponse = zod_1.z.object({ '@type': zod_1.z.literal('ok') }); const cellResponse = zod_1.z.object({ 'cell': zod_1.z.string().nullable() }); class LocalTonClient extends ton_1.TonClient { async setBalance(address, balance) { await this.api.doCall('setBalance', { address: address.toString(), balance: BigInt(balance).toString(), }, successResponse); } async increaseBalance(address, amount) { await this.api.doCall('increaseBalance', { address: address.toString(), amount: BigInt(amount).toString(), }, successResponse); } async setAccountCode(address, _code) { const code = _code instanceof ton_1.Cell ? _code.toBoc().toString("base64") : _code; await this.api.doCall('setAccountCode', { address: address.toString(), code: code, }, successResponse); } async setAccountData(address, _data) { const data = _data instanceof ton_1.Cell ? _data.toBoc().toString("base64") : _data; await this.api.doCall('setAccountData', { address: address.toString(), data: data, }, successResponse); } async addLibrary(_library) { const library = _library instanceof ton_1.Cell ? _library.toBoc().toString("base64") : _library; await this.api.doCall('addLibrary', { library: library, }, successResponse); } async setLibraries(_libraries) { const libraries = _libraries instanceof ton_1.Cell ? _libraries.toBoc().toString("base64") : _libraries; await this.api.doCall('setLibraries', { libraries: libraries, }, successResponse); } async getLibraries() { const response = await this.api.doCall('getLibraries', {}, cellResponse); return ton_1.Cell.fromBase64(response.cell).beginParse().loadDictDirect(ton_1.Dictionary.Keys.BigUint(256), ton_1.Dictionary.Values.Cell()); } } exports.LocalTonClient = LocalTonClient; exports.default = { LocalTonClient };