@syncswap/sdk
Version:
SyncSwap TypeScript SDK for building DeFi applications
41 lines • 1.4 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCachedMulticall3Contract = getCachedMulticall3Contract;
exports.useWETHIfPossible = useWETHIfPossible;
const contractRegistry_1 = __importDefault(require("../contracts/contractRegistry"));
const token_1 = require("../tokens/token");
const tokenRegistry_1 = require("../tokens/tokenRegistry");
let cachedMulticall3 = null;
function getCachedMulticall3Contract(targetNetwork) {
if (!targetNetwork) {
targetNetwork = "";
}
if (cachedMulticall3 && cachedMulticall3.network === targetNetwork) {
return cachedMulticall3.multicall3;
}
const multicall3 = contractRegistry_1.default.getContractByName("multicall3");
cachedMulticall3 = {
network: targetNetwork,
multicall3: multicall3,
};
return multicall3;
}
function useWETHIfPossible(addressOrToken) {
let address;
if (typeof addressOrToken === "string") {
address = addressOrToken.toLowerCase();
}
else {
address = addressOrToken.address;
}
if (address === token_1.Token.ETHER.address) {
return (0, tokenRegistry_1.getWETHAddress)();
}
else {
return address;
}
}
//# sourceMappingURL=helper.js.map