UNPKG

@broxus/js-core

Version:

MobX-based JavaScript Core library

43 lines (42 loc) 2.11 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.WrappedCurrencyVaultUtils = void 0; const bignumber_js_1 = __importDefault(require("bignumber.js")); const constants_1 = require("../../constants"); const contracts_1 = require("../../models/wrapped-currency-vault/contracts"); const utils_1 = require("../../utils"); class WrappedCurrencyVaultUtils { static async wrap(provider, vaultAddress, params, args) { return (0, contracts_1.wrappedNativeVaultContract)(provider, vaultAddress) .methods.wrap({ gas_back_address: (0, utils_1.resolveTvmAddress)(params.remainingGasTo), owner_address: (0, utils_1.resolveTvmAddress)(params.ownerAddress), payload: params.payload ?? '', tokens: params.tokens, }) .sendDelayed({ amount: (0, bignumber_js_1.default)(params.tokens).plus((0, utils_1.toInt)(5, constants_1.DEFAULT_NATIVE_CURRENCY_DECIMALS)).toFixed(), bounce: true, from: (0, utils_1.resolveTvmAddress)(params.remainingGasTo), ...args, }); } static async getOwner(connection, vaultAddress, cachedState) { const cache = cachedState ?? (await (0, utils_1.getFullContractState)(connection, vaultAddress)); const result = await (0, contracts_1.wrappedNativeVaultContract)(connection, vaultAddress) .methods.owner() .call({ cachedState: cache }); return result.owner; } static async getTotalWrapped(connection, vaultAddress, cachedState) { const cache = cachedState ?? (await (0, utils_1.getFullContractState)(connection, vaultAddress)); const result = await (0, contracts_1.wrappedNativeVaultContract)(connection, vaultAddress) .methods.total_wrapped() .call({ cachedState: cache }); return result.total_wrapped; } } exports.WrappedCurrencyVaultUtils = WrappedCurrencyVaultUtils;