emmet.sdk
Version:
Emmet.Bridge SDK library
37 lines • 1.5 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.estimateSend = void 0;
const FTBridge_1 = __importDefault(require("../../abi/FTBridge"));
const types_1 = require("../../types");
const getPublicClient_1 = require("./getPublicClient");
async function estimateSend(amount, account, fromChainName, toChainName, tokenName) {
try {
const selectedChain = types_1.testnets.filter(net => net.name === fromChainName)[0];
const publicClient = (0, getPublicClient_1.getPublicClient)(account, fromChainName, [selectedChain], true);
const chainId = types_1.allChainNameToIndex[toChainName];
const populatedArgs = [
BigInt(amount),
chainId,
tokenName,
account
];
const estimation = await publicClient?.estimateContractGas({
address: `0x${selectedChain.bridge.slice(2)}`,
abi: FTBridge_1.default,
functionName: 'sendInstallment',
args: [populatedArgs],
account: `0x${account.slice(2)}`
});
const gasPrice = await publicClient.getGasPrice();
return estimation * gasPrice;
}
catch (error) {
console.error("estimateSend Error:", error);
}
return 83889n * 20n;
}
exports.estimateSend = estimateSend;
//# sourceMappingURL=estimateSend.js.map