UNPKG

@broxus/js-core

Version:

MobX-based JavaScript Core library

37 lines (36 loc) 1.75 kB
import { DEFAULT_NATIVE_CURRENCY_DECIMALS, ZeroAddress } from '../../constants'; import { tokenFactoryContract } from '../../models/tvm-token-factory/contracts'; import { resolveTvmAddress, toInt } from '../../utils'; export class TvmTokenFactoryUtils { static async createToken(provider, factoryAddress, params, args) { return tokenFactoryContract(provider, factoryAddress) .methods.createToken({ burnByRootDisabled: params.burnByRootDisabled, burnPaused: params.burnPaused, callId: params.callId, decimals: params.decimals, deployWalletValue: params.deployWalletValue ?? toInt(0.1, DEFAULT_NATIVE_CURRENCY_DECIMALS), initialSupply: params.initialSupply ?? 0, initialSupplyTo: resolveTvmAddress(params.initialSupplyTo || ZeroAddress), mintDisabled: params.mintDisabled, name: params.name, remainingGasTo: resolveTvmAddress(params.remainingGasTo), symbol: params.symbol, }) .sendDelayed({ amount: toInt(5, DEFAULT_NATIVE_CURRENCY_DECIMALS), bounce: true, from: resolveTvmAddress(params.remainingGasTo), ...args, }); } static decodeEvent(connection, factoryAddress, args) { return tokenFactoryContract(connection, factoryAddress).decodeEvent(args); } static decodeTransaction(connection, factoryAddress, args) { return tokenFactoryContract(connection, factoryAddress).decodeTransaction(args); } static decodeTransactionEvents(connection, factoryAddress, transaction) { return tokenFactoryContract(connection, factoryAddress).decodeTransactionEvents({ transaction }); } }