@broxus/js-bridge-essentials
Version:
Bridge JavaScript Essentials library
50 lines (49 loc) • 2.61 kB
JavaScript
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 });
}
}