@factorial-finance/blueprint-node
Version:
blueprint-node-plugin
58 lines (57 loc) • 2.25 kB
JavaScript
;
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 };