@kaiachain/kss-bridges-celer
Version:
TypeScript client and use-cases for cBridge
23 lines • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.poolBasedTransfer = void 0;
const GatewayServiceClientPb_1 = require("../ts-proto/gateway/GatewayServiceClientPb");
const helper_1 = require("../helper");
const ethers_1 = require("ethers");
const poolBasedTransfer = async (bridge, rpc, addr, estimateRequest, transferObject, srcChainRPC, privateKey, isNative) => {
const client = new GatewayServiceClientPb_1.WebClient(rpc, null, null);
const estimateAmount = await client.estimateAmt(estimateRequest, null);
const { transferToken, toChain, value, nonce } = transferObject;
try {
const result = await (0, helper_1.transactor)(isNative
? bridge.sendNative(addr, value, ethers_1.BigNumber.from(toChain?.id), ethers_1.BigNumber.from(nonce), ethers_1.BigNumber.from(estimateRequest.getSlippageTolerance() || estimateAmount.getMaxSlippage() || 0), { value: value, gasLimit: 200000 })
: bridge.send(addr, transferToken?.token?.address, value, ethers_1.BigNumber.from(toChain?.id), ethers_1.BigNumber.from(nonce), ethers_1.BigNumber.from(estimateRequest.getSlippageTolerance() || estimateAmount.getMaxSlippage() || 0), { gasLimit: 200000 }), srcChainRPC, privateKey);
return result;
}
catch (err) {
console.log(err);
console.log("PoolBasedTransfer.ts - error:", err.reason);
}
};
exports.poolBasedTransfer = poolBasedTransfer;
//# sourceMappingURL=PoolBasedTransfer.js.map