@broxus/js-bridge-essentials
Version:
Bridge JavaScript Essentials library
83 lines (82 loc) • 4.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TonNativeProxyV3Utils = void 0;
const js_core_1 = require("@broxus/js-core");
const contracts_1 = require("../../models/ton-native-proxy/contracts");
class TonNativeProxyV3Utils {
static async getExpectedTokenFeeAddress(connection, proxyAddress, tokenAddress, cachedState) {
const state = cachedState ?? await (0, js_core_1.getFullContractState)(connection, proxyAddress);
const result = await (0, contracts_1.tonNativeProxyV3Contract)(connection, proxyAddress)
.methods.getExpectedTokenFeeAddress({
_token: (0, js_core_1.resolveTvmAddress)(tokenAddress),
answerId: 0,
})
.call({ cachedState: state, responsible: true });
return result.value0;
}
static async getDailyLimits(connection, proxyAddress, tokenAddress, cachedState) {
const state = cachedState ?? await (0, js_core_1.getFullContractState)(connection, proxyAddress);
const result = await (0, contracts_1.tonNativeProxyV3Contract)(connection, proxyAddress)
.methods.getDailyLimits({
_token: (0, js_core_1.resolveTvmAddress)(tokenAddress),
answerId: 0,
})
.call({ cachedState: state, responsible: true });
return {
dailyIncomingVolume: result.value0.dailyIncomingVolume,
dailyOutgoingVolume: result.value0.dailyOutgoingVolume,
dayStartTimestamp: Number(result.value0.dayStartTimestamp),
incomingLimit: result.value0.incomingLimit,
outgoingLimit: result.value0.outgoingLimit,
};
}
static async getTvmDefaultFee(connection, proxyAddress, cachedState) {
const state = cachedState ?? await (0, js_core_1.getFullContractState)(connection, proxyAddress);
return (0, contracts_1.tonNativeProxyV3Contract)(connection, proxyAddress)
.methods.getTvmDefaultFee({ answerId: 0 })
.call({ cachedState: state, responsible: true });
}
static async getTvmFees(connection, proxyAddress, cachedState) {
const state = cachedState ?? await (0, js_core_1.getFullContractState)(connection, proxyAddress);
const result = await (0, contracts_1.tonNativeProxyV3Contract)(connection, proxyAddress)
.methods.getTvmFees({ answerId: 0 })
.call({ cachedState: state, responsible: true });
return new Map(result.value0.flat(0).map(([addr, value]) => [addr.toString(), value]));
}
static async getTvmTokenFee(connection, proxyAddress, tokenAddress, cachedState) {
const state = cachedState ?? await (0, js_core_1.getFullContractState)(connection, proxyAddress);
return (0, contracts_1.tonNativeProxyV3Contract)(connection, proxyAddress)
.methods.getTvmTokenFee({
_token: (0, js_core_1.resolveTvmAddress)(tokenAddress),
answerId: 0,
})
.call({ cachedState: state, responsible: true });
}
static async getConfiguration(connection, proxyAddress, cachedState) {
const state = cachedState ?? await (0, js_core_1.getFullContractState)(connection, proxyAddress);
return (0, contracts_1.tonNativeProxyV3Contract)(connection, proxyAddress)
.methods.getConfiguration({ answerId: 0 })
.call({ cachedState: state, responsible: true });
}
static async getTonEvmConfiguration(connection, proxyAddress, cachedState) {
const result = await TonNativeProxyV3Utils.getConfiguration(connection, proxyAddress, cachedState);
return result.value0.tvmConfiguration;
}
static async getDexMiddleware(connection, proxyAddress, cachedState) {
const state = cachedState ?? await (0, js_core_1.getFullContractState)(connection, proxyAddress);
const result = await (0, contracts_1.tonNativeProxyV3Contract)(connection, proxyAddress)
.methods.dex_middleware()
.call({ cachedState: state });
return result.dex_middleware;
}
static decodeEvent(connection, proxyAddress, args) {
return (0, contracts_1.tonNativeProxyV3Contract)(connection, proxyAddress).decodeEvent(args);
}
static decodeTransaction(connection, proxyAddress, args) {
return (0, contracts_1.tonNativeProxyV3Contract)(connection, proxyAddress).decodeTransaction(args);
}
static decodeTransactionEvents(connection, proxyAddress, transaction) {
return (0, contracts_1.tonNativeProxyV3Contract)(connection, proxyAddress).decodeTransactionEvents({ transaction });
}
}
exports.TonNativeProxyV3Utils = TonNativeProxyV3Utils;