emmet.sdk
Version:
Emmet.Bridge SDK library
31 lines • 1.22 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.transferERC20 = void 0;
const FTBridge_1 = __importDefault(require("../../abi/FTBridge"));
const types_1 = require("../../types");
const format_1 = require("../format");
const config_1 = require("./config");
async function transferERC20(fromChain, toChainName, tokenName, amount, receiver) {
const { chain, publicClient, signer } = await (0, config_1.config)(fromChain);
const chainId = types_1.BridgeChainIds[(0, format_1.formatChainName)(toChainName)];
const bridgeAddress = chain.bridge;
const args = [[
BigInt(amount),
chainId,
tokenName.toUpperCase(),
receiver
]];
const { request } = await publicClient.simulateContract({
address: `0x${bridgeAddress.slice(2)}`,
abi: FTBridge_1.default,
functionName: 'sendInstallment',
args,
chain,
});
return await signer.writeContract(request);
}
exports.transferERC20 = transferERC20;
//# sourceMappingURL=transferERC20.js.map