@accret/bridge-sdk
Version:
90 lines • 3.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AccretReferrerAddresses = void 0;
exports.initializeAcrossClient = initializeAcrossClient;
exports.getAccrossSupportedChainId = getAccrossSupportedChainId;
exports.fromReadableAmount = fromReadableAmount;
exports.toReadableAmount = toReadableAmount;
exports.getChainInfo = getChainInfo;
const types_1 = require("../types");
const ethers_1 = require("ethers");
const app_sdk_1 = require("@across-protocol/app-sdk");
const chains_1 = require("viem/chains");
const mayan_1 = require("../types/mayan");
const deBridge_1 = require("../types/deBridge");
const READABLE_FORMAT_LEN = 4; // Number of decimal places to show in the readable form
function initializeAcrossClient() {
const client = (0, app_sdk_1.createAcrossClient)({
// integratorId: "0xaccret", @TODO: Uncomment when integratorId is available need to register
chains: [chains_1.mainnet, chains_1.polygon, chains_1.arbitrum, chains_1.bsc, chains_1.base],
});
return client;
}
exports.AccretReferrerAddresses = {
solana: "69izdTrBfvhpuq8LgWifstGbHTZC6DKn1w5wLpdjapfF",
evm: "0xD0208Bfe9Ae201Cc2baE4e4b5a74561472A7a910",
};
function getAccrossSupportedChainId(chain) {
switch (chain) {
case types_1.AccretSupportedChain.ETHEREUM_CHAIN:
return chains_1.mainnet.id;
case types_1.AccretSupportedChain.POLYGON_CHAIN:
return chains_1.polygon.id;
case types_1.AccretSupportedChain.ARBITRUM_CHAIN:
return chains_1.arbitrum.id;
case types_1.AccretSupportedChain.BNB_CHAIN:
return chains_1.bsc.id;
case types_1.AccretSupportedChain.BASE_CHAIN:
return chains_1.base.id;
default:
throw new Error(`Unsupported chain: ${chain}`);
}
}
function fromReadableAmount(amount, decimals) {
return (0, ethers_1.parseUnits)(amount.toString(), decimals);
}
function toReadableAmount(rawAmount, decimals) {
return (0, ethers_1.formatUnits)(rawAmount, decimals).slice(0, READABLE_FORMAT_LEN);
}
function getChainInfo(chainId) {
switch (chainId) {
case types_1.AccretSupportedChain.ETHEREUM_CHAIN:
return {
mayan: mayan_1.mayanChainId.ETHEREUM_CHAIN,
deBridge: deBridge_1.deBridgeChainId.ETHEREUM_CHAIN,
};
case types_1.AccretSupportedChain.POLYGON_CHAIN:
return {
mayan: mayan_1.mayanChainId.POLYGON_CHAIN,
deBridge: deBridge_1.deBridgeChainId.POLYGON_CHAIN,
};
case types_1.AccretSupportedChain.ARBITRUM_CHAIN:
return {
mayan: mayan_1.mayanChainId.ARBITRUM_CHAIN,
deBridge: deBridge_1.deBridgeChainId.ARBITRUM_CHAIN,
};
case types_1.AccretSupportedChain.BNB_CHAIN:
return {
mayan: mayan_1.mayanChainId.BNB_CHAIN,
deBridge: deBridge_1.deBridgeChainId.BNB_CHAIN,
};
case types_1.AccretSupportedChain.BASE_CHAIN:
return {
mayan: mayan_1.mayanChainId.BASE_CHAIN,
deBridge: deBridge_1.deBridgeChainId.BASE_CHAIN,
};
case types_1.AccretSupportedChain.AVALANCHE_CHAIN:
return {
mayan: mayan_1.mayanChainId.AVALANCHE_CHAIN,
deBridge: deBridge_1.deBridgeChainId.AVALANCHE_CHAIN,
};
case types_1.AccretSupportedChain.SOLANA_CHAIN:
return {
mayan: mayan_1.mayanChainId.SOLANA_CHAIN,
deBridge: deBridge_1.deBridgeChainId.SOLANA_CHAIN,
};
default:
throw new Error(`Unsupported chain: ${chainId}`);
}
}
//# sourceMappingURL=index.js.map