UNPKG

@broxus/js-bridge-essentials

Version:

Bridge JavaScript Essentials library

50 lines (49 loc) 2.61 kB
import { getFullContractState, resolveTvmAddress } from '@broxus/js-core'; import { tonNativeProxyV2Contract } from '../../models/ton-native-proxy/contracts'; export class TonNativeProxyV2Utils { static async getExpectedTokenFeeAddress(connection, proxyAddress, tokenAddress, cachedState) { const state = cachedState ?? await getFullContractState(connection, proxyAddress); const result = await tonNativeProxyV2Contract(connection, proxyAddress) .methods.getExpectedTokenFeeAddress({ _token: resolveTvmAddress(tokenAddress), answerId: 0, }) .call({ cachedState: state, responsible: true }); return result.value0; } static async getTvmTokenFee(connection, proxyAddress, tokenAddress, cachedState) { const state = cachedState ?? await getFullContractState(connection, proxyAddress); return tonNativeProxyV2Contract(connection, proxyAddress) .methods.getTvmTokenFee({ _token: resolveTvmAddress(tokenAddress), answerId: 0, }) .call({ cachedState: state, responsible: true }); } static async getConfiguration(connection, proxyAddress, cachedState) { const state = cachedState ?? await getFullContractState(connection, proxyAddress); return tonNativeProxyV2Contract(connection, proxyAddress) .methods.getConfiguration({ answerId: 0 }) .call({ cachedState: state, responsible: true }); } static async getTonEvmConfiguration(connection, proxyAddress, cachedState) { const result = await TonNativeProxyV2Utils.getConfiguration(connection, proxyAddress, cachedState); return result.value0.tvmConfiguration; } static async getDexMiddleware(connection, proxyAddress, cachedState) { const state = cachedState ?? await getFullContractState(connection, proxyAddress); const result = await tonNativeProxyV2Contract(connection, proxyAddress) .methods.dex_middleware() .call({ cachedState: state }); return result.dex_middleware; } static decodeEvent(connection, proxyAddress, args) { return tonNativeProxyV2Contract(connection, proxyAddress).decodeEvent(args); } static decodeTransaction(connection, proxyAddress, args) { return tonNativeProxyV2Contract(connection, proxyAddress).decodeTransaction(args); } static decodeTransactionEvents(connection, proxyAddress, transaction) { return tonNativeProxyV2Contract(connection, proxyAddress).decodeTransactionEvents({ transaction }); } }