UNPKG

lotus-sdk-core

Version:

⚒️ An SDK for building applications on top of Lotus

848 lines (837 loc) 63.6 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var JSBI = _interopDefault(require('jsbi')); var invariant = _interopDefault(require('tiny-invariant')); var _Decimal = _interopDefault(require('decimal.js-light')); var _Big = _interopDefault(require('big.js')); var toFormat = _interopDefault(require('toformat')); var bignumber = require('@ethersproject/bignumber'); var address = require('@ethersproject/address'); var bytes = require('@ethersproject/bytes'); var keccak256 = require('@ethersproject/keccak256'); var strings = require('@ethersproject/strings'); function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); } function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } (function (ChainId) { ChainId[ChainId["MAINNET"] = 1] = "MAINNET"; ChainId[ChainId["GOERLI"] = 5] = "GOERLI"; ChainId[ChainId["SEPOLIA"] = 11155111] = "SEPOLIA"; ChainId[ChainId["OPTIMISM"] = 10] = "OPTIMISM"; ChainId[ChainId["OPTIMISM_GOERLI"] = 420] = "OPTIMISM_GOERLI"; ChainId[ChainId["OPTIMISM_SEPOLIA"] = 11155420] = "OPTIMISM_SEPOLIA"; ChainId[ChainId["ARBITRUM_ONE"] = 42161] = "ARBITRUM_ONE"; ChainId[ChainId["ARBITRUM_GOERLI"] = 421613] = "ARBITRUM_GOERLI"; ChainId[ChainId["ARBITRUM_SEPOLIA"] = 421614] = "ARBITRUM_SEPOLIA"; ChainId[ChainId["POLYGON"] = 137] = "POLYGON"; ChainId[ChainId["POLYGON_MUMBAI"] = 80001] = "POLYGON_MUMBAI"; ChainId[ChainId["CELO"] = 42220] = "CELO"; ChainId[ChainId["CELO_ALFAJORES"] = 44787] = "CELO_ALFAJORES"; ChainId[ChainId["GNOSIS"] = 100] = "GNOSIS"; ChainId[ChainId["MOONBEAM"] = 1284] = "MOONBEAM"; ChainId[ChainId["BNB"] = 56] = "BNB"; ChainId[ChainId["AVALANCHE"] = 43114] = "AVALANCHE"; ChainId[ChainId["BASE_GOERLI"] = 84531] = "BASE_GOERLI"; ChainId[ChainId["BASE_SEPOLIA"] = 84532] = "BASE_SEPOLIA"; ChainId[ChainId["BASE"] = 8453] = "BASE"; ChainId[ChainId["ZORA"] = 7777777] = "ZORA"; ChainId[ChainId["ZORA_SEPOLIA"] = 999999999] = "ZORA_SEPOLIA"; ChainId[ChainId["ROOTSTOCK"] = 30] = "ROOTSTOCK"; ChainId[ChainId["BLAST"] = 81457] = "BLAST"; ChainId[ChainId["ZKSYNC"] = 324] = "ZKSYNC"; ChainId[ChainId["WORLDCHAIN"] = 480] = "WORLDCHAIN"; ChainId[ChainId["UNICHAIN_SEPOLIA"] = 1301] = "UNICHAIN_SEPOLIA"; ChainId[ChainId["UNICHAIN"] = 130] = "UNICHAIN"; ChainId[ChainId["MONAD_TESTNET"] = 10143] = "MONAD_TESTNET"; ChainId[ChainId["SONEIUM"] = 1868] = "SONEIUM"; ChainId[ChainId["STORY"] = 1514] = "STORY"; ChainId[ChainId["MANTRA_DUKONG"] = 5887] = "MANTRA_DUKONG"; ChainId[ChainId["MANTRA_MAINNET"] = 5888] = "MANTRA_MAINNET"; })(exports.ChainId || (exports.ChainId = {})); var SUPPORTED_CHAINS = [exports.ChainId.MAINNET, exports.ChainId.OPTIMISM, exports.ChainId.OPTIMISM_GOERLI, exports.ChainId.OPTIMISM_SEPOLIA, exports.ChainId.ARBITRUM_ONE, exports.ChainId.ARBITRUM_GOERLI, exports.ChainId.ARBITRUM_SEPOLIA, exports.ChainId.POLYGON, exports.ChainId.POLYGON_MUMBAI, exports.ChainId.GOERLI, exports.ChainId.SEPOLIA, exports.ChainId.CELO_ALFAJORES, exports.ChainId.CELO, exports.ChainId.BNB, exports.ChainId.AVALANCHE, exports.ChainId.BASE, exports.ChainId.BASE_GOERLI, exports.ChainId.BASE_SEPOLIA, exports.ChainId.ZORA, exports.ChainId.ZORA_SEPOLIA, exports.ChainId.ROOTSTOCK, exports.ChainId.BLAST, exports.ChainId.ZKSYNC, exports.ChainId.WORLDCHAIN, exports.ChainId.UNICHAIN_SEPOLIA, exports.ChainId.UNICHAIN, exports.ChainId.MONAD_TESTNET, exports.ChainId.SONEIUM, exports.ChainId.STORY, exports.ChainId.MANTRA_DUKONG, exports.ChainId.MANTRA_MAINNET]; (function (NativeCurrencyName) { // Strings match input for CLI NativeCurrencyName["ETHER"] = "ETH"; NativeCurrencyName["MATIC"] = "MATIC"; NativeCurrencyName["CELO"] = "CELO"; NativeCurrencyName["GNOSIS"] = "XDAI"; NativeCurrencyName["MOONBEAM"] = "GLMR"; NativeCurrencyName["BNB"] = "BNB"; NativeCurrencyName["AVAX"] = "AVAX"; NativeCurrencyName["ROOTSTOCK"] = "RBTC"; NativeCurrencyName["IP"] = "IP"; NativeCurrencyName["MANTRA"] = "OM"; })(exports.NativeCurrencyName || (exports.NativeCurrencyName = {})); var _V2_FACTORY_ADDRESSES, _V2_ROUTER_ADDRESSES, _CHAIN_TO_ADDRESSES_M, _GOVERNANCE_ALPHA_V1_, _GOVERNANCE_BRAVO_ADD, _MERKLE_DISTRIBUTOR_A, _ARGENT_WALLET_DETECT, _SOCKS_CONTROLLER_ADD; var DEFAULT_NETWORKS = [exports.ChainId.MAINNET, exports.ChainId.GOERLI, exports.ChainId.SEPOLIA]; function constructSameAddressMap(address, additionalNetworks) { if (additionalNetworks === void 0) { additionalNetworks = []; } return DEFAULT_NETWORKS.concat(additionalNetworks).reduce(function (memo, chainId) { memo[chainId] = address; return memo; }, {}); } var UNI_ADDRESSES = /*#__PURE__*/constructSameAddressMap('0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', [exports.ChainId.OPTIMISM, exports.ChainId.ARBITRUM_ONE, exports.ChainId.POLYGON, exports.ChainId.POLYGON_MUMBAI, exports.ChainId.SEPOLIA]); var UNISWAP_NFT_AIRDROP_CLAIM_ADDRESS = '0x8B799381ac40b838BBA4131ffB26197C432AFe78'; /** * @deprecated use V2_FACTORY_ADDRESSES instead */ var V2_FACTORY_ADDRESS = '0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f'; var V2_FACTORY_ADDRESSES = (_V2_FACTORY_ADDRESSES = {}, _V2_FACTORY_ADDRESSES[exports.ChainId.MAINNET] = '0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f', _V2_FACTORY_ADDRESSES[exports.ChainId.GOERLI] = '0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f', _V2_FACTORY_ADDRESSES[exports.ChainId.SEPOLIA] = '0xF62c03E08ada871A0bEb309762E260a7a6a880E6', _V2_FACTORY_ADDRESSES[exports.ChainId.OPTIMISM] = '0x0c3c1c532F1e39EdF36BE9Fe0bE1410313E074Bf', _V2_FACTORY_ADDRESSES[exports.ChainId.ARBITRUM_ONE] = '0xf1D7CC64Fb4452F05c498126312eBE29f30Fbcf9', _V2_FACTORY_ADDRESSES[exports.ChainId.AVALANCHE] = '0x9e5A52f57b3038F1B8EeE45F28b3C1967e22799C', _V2_FACTORY_ADDRESSES[exports.ChainId.BASE_SEPOLIA] = '0x7Ae58f10f7849cA6F5fB71b7f45CB416c9204b1e', _V2_FACTORY_ADDRESSES[exports.ChainId.BASE] = '0x8909dc15e40173ff4699343b6eb8132c65e18ec6', _V2_FACTORY_ADDRESSES[exports.ChainId.BNB] = '0x8909Dc15e40173Ff4699343b6eB8132c65e18eC6', _V2_FACTORY_ADDRESSES[exports.ChainId.POLYGON] = '0x9e5A52f57b3038F1B8EeE45F28b3C1967e22799C', _V2_FACTORY_ADDRESSES[exports.ChainId.CELO] = '0x79a530c8e2fA8748B7B40dd3629C0520c2cCf03f', _V2_FACTORY_ADDRESSES[exports.ChainId.BLAST] = '0x5C346464d33F90bABaf70dB6388507CC889C1070', _V2_FACTORY_ADDRESSES[exports.ChainId.WORLDCHAIN] = '0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f', _V2_FACTORY_ADDRESSES[exports.ChainId.UNICHAIN_SEPOLIA] = '0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f', _V2_FACTORY_ADDRESSES[exports.ChainId.UNICHAIN] = '0x1f98400000000000000000000000000000000002', _V2_FACTORY_ADDRESSES[exports.ChainId.MONAD_TESTNET] = '0x733e88f248b742db6c14c0b1713af5ad7fdd59d0', _V2_FACTORY_ADDRESSES[exports.ChainId.SONEIUM] = '0x97febbc2adbd5644ba22736e962564b23f5828ce', _V2_FACTORY_ADDRESSES[exports.ChainId.STORY] = '0xf5b053DF62a830cE7b8D5E472F6BF765054687f1', _V2_FACTORY_ADDRESSES[exports.ChainId.MANTRA_DUKONG] = '0x27F4dc58505BF5008dF0A7eb5045406eE984e1A3', _V2_FACTORY_ADDRESSES[exports.ChainId.MANTRA_MAINNET] = '0xf8f54C91E868c7CF87774C388B6793807921BAa1', _V2_FACTORY_ADDRESSES); /** * @deprecated use V2_ROUTER_ADDRESSES instead */ var V2_ROUTER_ADDRESS = '0x0C8933dD45c97ebA71306600b1f4085cCAEA3d26'; var V2_ROUTER_ADDRESSES = (_V2_ROUTER_ADDRESSES = {}, _V2_ROUTER_ADDRESSES[exports.ChainId.MAINNET] = '0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D', _V2_ROUTER_ADDRESSES[exports.ChainId.GOERLI] = '0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D', _V2_ROUTER_ADDRESSES[exports.ChainId.SEPOLIA] = '0xeE567Fe1712Faf6149d80dA1E6934E354124CfE3', _V2_ROUTER_ADDRESSES[exports.ChainId.ARBITRUM_ONE] = '0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24', _V2_ROUTER_ADDRESSES[exports.ChainId.OPTIMISM] = '0x4a7b5da61326a6379179b40d00f57e5bbdc962c2', _V2_ROUTER_ADDRESSES[exports.ChainId.BASE_SEPOLIA] = '0x1689E7B1F10000AE47eBfE339a4f69dECd19F602', _V2_ROUTER_ADDRESSES[exports.ChainId.BASE] = '0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24', _V2_ROUTER_ADDRESSES[exports.ChainId.AVALANCHE] = '0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24', _V2_ROUTER_ADDRESSES[exports.ChainId.BNB] = '0x4752ba5dbc23f44d87826276bf6fd6b1c372ad24', _V2_ROUTER_ADDRESSES[exports.ChainId.POLYGON] = '0xedf6066a2b290c185783862c7f4776a2c8077ad1', _V2_ROUTER_ADDRESSES[exports.ChainId.BLAST] = '0xBB66Eb1c5e875933D44DAe661dbD80e5D9B03035', _V2_ROUTER_ADDRESSES[exports.ChainId.WORLDCHAIN] = '0x541aB7c31A119441eF3575F6973277DE0eF460bd', _V2_ROUTER_ADDRESSES[exports.ChainId.UNICHAIN_SEPOLIA] = '0x920b806E40A00E02E7D2b94fFc89860fDaEd3640', _V2_ROUTER_ADDRESSES[exports.ChainId.UNICHAIN] = '0x284f11109359a7e1306c3e447ef14d38400063ff', _V2_ROUTER_ADDRESSES[exports.ChainId.MONAD_TESTNET] = '0xfb8e1c3b833f9e67a71c859a132cf783b645e436', _V2_ROUTER_ADDRESSES[exports.ChainId.SONEIUM] = '0x273f68c234fa55b550b40e563c4a488e0d334320', _V2_ROUTER_ADDRESSES[exports.ChainId.STORY] = '0x4BCD850357250c4912AB2cf5857cdd9E243b7314', _V2_ROUTER_ADDRESSES[exports.ChainId.MANTRA_DUKONG] = '0x4b926835859ca98caA31A04a18435dfa79da9d18', _V2_ROUTER_ADDRESSES[exports.ChainId.MANTRA_MAINNET] = '0x0C8933dD45c97ebA71306600b1f4085cCAEA3d26', _V2_ROUTER_ADDRESSES); // Networks that share most of the same addresses i.e. Mainnet, Goerli, Optimism, Arbitrum, Polygon var DEFAULT_ADDRESSES = { v3CoreFactoryAddress: '0x1F98431c8aD98523631AE4a59f267346ea31F984', multicallAddress: '0x1F98415757620B543A52E61c46B32eB19261F984', quoterAddress: '0xb27308f9F90D607463bb33eA1BeBb41C27CE5AB6', v3MigratorAddress: '0xA5644E29708357803b5A882D272c41cC0dF92B34', nonfungiblePositionManagerAddress: '0xC36442b4a4522E871399CD717aBDD847Ab11FE88' }; var MAINNET_ADDRESSES = /*#__PURE__*/_extends({}, DEFAULT_ADDRESSES, { mixedRouteQuoterV1Address: '0x84E44095eeBfEC7793Cd7d5b57B7e401D7f1cA2E', v4PoolManagerAddress: '0x000000000004444c5dc75cB358380D2e3dE08A90', v4PositionManagerAddress: '0xbd216513d74c8cf14cf4747e6aaa6420ff64ee9e', v4StateView: '0x7ffe42c4a5deea5b0fec41c94c136cf115597227', v4QuoterAddress: '0x52f0e24d1c21c8a0cb1e5a5dd6198556bd9e1203' }); var GOERLI_ADDRESSES = /*#__PURE__*/_extends({}, DEFAULT_ADDRESSES, { mixedRouteQuoterV1Address: '0xBa60b6e6fF25488308789E6e0A65D838be34194e' }); var OPTIMISM_ADDRESSES = /*#__PURE__*/_extends({}, DEFAULT_ADDRESSES, { v4PoolManagerAddress: '0x9a13f98cb987694c9f086b1f5eb990eea8264ec3', v4PositionManagerAddress: '0x3c3ea4b57a46241e54610e5f022e5c45859a1017', v4StateView: '0xc18a3169788f4f75a170290584eca6395c75ecdb', v4QuoterAddress: '0x1f3131a13296fb91c90870043742c3cdbff1a8d7' }); var ARBITRUM_ONE_ADDRESSES = /*#__PURE__*/_extends({}, DEFAULT_ADDRESSES, { multicallAddress: '0xadF885960B47eA2CD9B55E6DAc6B42b7Cb2806dB', tickLensAddress: '0xbfd8137f7d1516D3ea5cA83523914859ec47F573', v4PoolManagerAddress: '0x360e68faccca8ca495c1b759fd9eee466db9fb32', v4PositionManagerAddress: '0xd88f38f930b7952f2db2432cb002e7abbf3dd869', v4StateView: '0x76fd297e2d437cd7f76d50f01afe6160f86e9990', v4QuoterAddress: '0x3972c00f7ed4885e145823eb7c655375d275a1c5' }); var POLYGON_ADDRESSES = /*#__PURE__*/_extends({}, DEFAULT_ADDRESSES, { v4PoolManagerAddress: '0x67366782805870060151383f4bbff9dab53e5cd6', v4PositionManagerAddress: '0x1ec2ebf4f37e7363fdfe3551602425af0b3ceef9', v4StateView: '0x5ea1bd7974c8a611cbab0bdcafcb1d9cc9b3ba5a', v4QuoterAddress: '0xb3d5c3dfc3a7aebff71895a7191796bffc2c81b9' }); // celo v3 addresses var CELO_ADDRESSES = { v3CoreFactoryAddress: '0xAfE208a311B21f13EF87E33A90049fC17A7acDEc', multicallAddress: '0x633987602DE5C4F337e3DbF265303A1080324204', quoterAddress: '0x82825d0554fA07f7FC52Ab63c961F330fdEFa8E8', v3MigratorAddress: '0x3cFd4d48EDfDCC53D3f173F596f621064614C582', nonfungiblePositionManagerAddress: '0x3d79EdAaBC0EaB6F08ED885C05Fc0B014290D95A', tickLensAddress: '0x5f115D9113F88e0a0Db1b5033D90D4a9690AcD3D' }; // BNB v3 addresses var BNB_ADDRESSES = { v3CoreFactoryAddress: '0xdB1d10011AD0Ff90774D0C6Bb92e5C5c8b4461F7', multicallAddress: '0x963Df249eD09c358A4819E39d9Cd5736c3087184', quoterAddress: '0x78D78E420Da98ad378D7799bE8f4AF69033EB077', v3MigratorAddress: '0x32681814957e0C13117ddc0c2aba232b5c9e760f', nonfungiblePositionManagerAddress: '0x7b8A01B39D58278b5DE7e48c8449c9f4F5170613', tickLensAddress: '0xD9270014D396281579760619CCf4c3af0501A47C', swapRouter02Address: '0xB971eF87ede563556b2ED4b1C0b0019111Dd85d2', v4PoolManagerAddress: '0x28e2ea090877bf75740558f6bfb36a5ffee9e9df', v4PositionManagerAddress: '0x7a4a5c919ae2541aed11041a1aeee68f1287f95b', v4StateView: '0xd13dd3d6e93f276fafc9db9e6bb47c1180aee0c4', v4QuoterAddress: '0x9f75dd27d6664c475b90e105573e550ff69437b0' }; // optimism goerli addresses var OPTIMISM_GOERLI_ADDRESSES = { v3CoreFactoryAddress: '0xB656dA17129e7EB733A557f4EBc57B76CFbB5d10', multicallAddress: '0x07F2D8a2a02251B62af965f22fC4744A5f96BCCd', quoterAddress: '0x9569CbA925c8ca2248772A9A4976A516743A246F', v3MigratorAddress: '0xf6c55fBe84B1C8c3283533c53F51bC32F5C7Aba8', nonfungiblePositionManagerAddress: '0x39Ca85Af2F383190cBf7d7c41ED9202D27426EF6', tickLensAddress: '0xe6140Bd164b63E8BfCfc40D5dF952f83e171758e' }; // optimism sepolia addresses var OPTIMISM_SEPOLIA_ADDRESSES = { v3CoreFactoryAddress: '0x8CE191193D15ea94e11d327b4c7ad8bbE520f6aF', multicallAddress: '0x80e4e06841bb76AA9735E0448cB8d003C0EF009a', quoterAddress: '0x0FBEa6cf957d95ee9313490050F6A0DA68039404', v3MigratorAddress: '0xE7EcbAAaA54D007A00dbb6c1d2f150066D69dA07', nonfungiblePositionManagerAddress: '0xdA75cEf1C93078e8b736FCA5D5a30adb97C8957d', tickLensAddress: '0xCb7f54747F58F8944973cea5b8f4ac2209BadDC5', swapRouter02Address: '0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4' }; // arbitrum goerli v3 addresses var ARBITRUM_GOERLI_ADDRESSES = { v3CoreFactoryAddress: '0x4893376342d5D7b3e31d4184c08b265e5aB2A3f6', multicallAddress: '0x8260CB40247290317a4c062F3542622367F206Ee', quoterAddress: '0x1dd92b83591781D0C6d98d07391eea4b9a6008FA', v3MigratorAddress: '0xA815919D2584Ac3F76ea9CB62E6Fd40a43BCe0C3', nonfungiblePositionManagerAddress: '0x622e4726a167799826d1E1D150b076A7725f5D81', tickLensAddress: '0xb52429333da969a0C79a60930a4Bf0020E5D1DE8' }; // arbitrum sepolia v3 addresses var ARBITRUM_SEPOLIA_ADDRESSES = { v3CoreFactoryAddress: '0x248AB79Bbb9bC29bB72f7Cd42F17e054Fc40188e', multicallAddress: '0x2B718b475e385eD29F56775a66aAB1F5cC6B2A0A', quoterAddress: '0x2779a0CC1c3e0E44D2542EC3e79e3864Ae93Ef0B', v3MigratorAddress: '0x398f43ef2c67B941147157DA1c5a868E906E043D', nonfungiblePositionManagerAddress: '0x6b2937Bde17889EDCf8fbD8dE31C3C2a70Bc4d65', tickLensAddress: '0x0fd18587734e5C2dcE2dccDcC7DD1EC89ba557d9', swapRouter02Address: '0x101F443B4d1b059569D643917553c771E1b9663E', v4PoolManagerAddress: '0xFB3e0C6F74eB1a21CC1Da29aeC80D2Dfe6C9a317', v4PositionManagerAddress: '0xAc631556d3d4019C95769033B5E719dD77124BAc', v4StateView: '0x9d467fa9062b6e9b1a46e26007ad82db116c67cb', v4QuoterAddress: '0x7de51022d70a725b508085468052e25e22b5c4c9' }; // sepolia v3 addresses var SEPOLIA_ADDRESSES = { v3CoreFactoryAddress: '0x0227628f3F023bb0B980b67D528571c95c6DaC1c', multicallAddress: '0xD7F33bCdb21b359c8ee6F0251d30E94832baAd07', quoterAddress: '0xEd1f6473345F45b75F8179591dd5bA1888cf2FB3', v3MigratorAddress: '0x729004182cF005CEC8Bd85df140094b6aCbe8b15', nonfungiblePositionManagerAddress: '0x1238536071E1c677A632429e3655c799b22cDA52', tickLensAddress: '0xd7f33bcdb21b359c8ee6f0251d30e94832baad07', swapRouter02Address: '0x3bFA4769FB09eefC5a80d6E87c3B9C650f7Ae48E', // TODO: update mixedRouteQuoterV2Address once v4 on sepolia redeployed mixedRouteQuoterV2Address: '0x4745f77b56a0e2294426e3936dc4fab68d9543cd', // TODO: update all below once v4 on sepolia redeployed v4PoolManagerAddress: '0xE03A1074c86CFeDd5C142C4F04F1a1536e203543', v4PositionManagerAddress: '0x429ba70129df741B2Ca2a85BC3A2a3328e5c09b4', v4StateView: '0xe1dd9c3fa50edb962e442f60dfbc432e24537e4c', v4QuoterAddress: '0x61b3f2011a92d183c7dbadbda940a7555ccf9227' }; // Avalanche v3 addresses var AVALANCHE_ADDRESSES = { v3CoreFactoryAddress: '0x740b1c1de25031C31FF4fC9A62f554A55cdC1baD', multicallAddress: '0x0139141Cd4Ee88dF3Cdb65881D411bAE271Ef0C2', quoterAddress: '0xbe0F5544EC67e9B3b2D979aaA43f18Fd87E6257F', v3MigratorAddress: '0x44f5f1f5E452ea8d29C890E8F6e893fC0f1f0f97', nonfungiblePositionManagerAddress: '0x655C406EBFa14EE2006250925e54ec43AD184f8B', tickLensAddress: '0xEB9fFC8bf81b4fFd11fb6A63a6B0f098c6e21950', swapRouter02Address: '0xbb00FF08d01D300023C629E8fFfFcb65A5a578cE', v4PoolManagerAddress: '0x06380c0e0912312b5150364b9dc4542ba0dbbc85', v4PositionManagerAddress: '0xb74b1f14d2754acfcbbe1a221023a5cf50ab8acd', v4StateView: '0xc3c9e198c735a4b97e3e683f391ccbdd60b69286', v4QuoterAddress: '0xbe40675bb704506a3c2ccfb762dcfd1e979845c2' }; var BASE_ADDRESSES = { v3CoreFactoryAddress: '0x33128a8fC17869897dcE68Ed026d694621f6FDfD', multicallAddress: '0x091e99cb1C49331a94dD62755D168E941AbD0693', quoterAddress: '0x3d4e44Eb1374240CE5F1B871ab261CD16335B76a', v3MigratorAddress: '0x23cF10b1ee3AdfCA73B0eF17C07F7577e7ACd2d7', nonfungiblePositionManagerAddress: '0x03a520b32C04BF3bEEf7BEb72E919cf822Ed34f1', tickLensAddress: '0x0CdeE061c75D43c82520eD998C23ac2991c9ac6d', swapRouter02Address: '0x2626664c2603336E57B271c5C0b26F421741e481', mixedRouteQuoterV1Address: '0xe544efae946f0008ae9a8d64493efa7886b73776', v4PoolManagerAddress: '0x498581ff718922c3f8e6a244956af099b2652b2b', v4PositionManagerAddress: '0x7c5f5a4bbd8fd63184577525326123b519429bdc', v4StateView: '0xa3c0c9b65bad0b08107aa264b0f3db444b867a71', v4QuoterAddress: '0x0d5e0f971ed27fbff6c2837bf31316121532048d' }; // Base Goerli v3 addresses var BASE_GOERLI_ADDRESSES = { v3CoreFactoryAddress: '0x9323c1d6D800ed51Bd7C6B216cfBec678B7d0BC2', multicallAddress: '0xB206027a9E0E13F05eBEFa5D2402Bab3eA716439', quoterAddress: '0xedf539058e28E5937dAef3f69cEd0b25fbE66Ae9', v3MigratorAddress: '0x3efe5d02a04b7351D671Db7008ec6eBA9AD9e3aE', nonfungiblePositionManagerAddress: '0x3c61369ef0D1D2AFa70d8feC2F31C5D6Ce134F30', tickLensAddress: '0x1acB873Ee909D0c98adB18e4474943249F931b92', swapRouter02Address: '0x8357227D4eDc78991Db6FDB9bD6ADE250536dE1d' }; // Base Sepolia v3 addresses var BASE_SEPOLIA_ADDRESSES = { v3CoreFactoryAddress: '0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24', multicallAddress: '0xd867e273eAbD6c853fCd0Ca0bFB6a3aE6491d2C1', quoterAddress: '0xC5290058841028F1614F3A6F0F5816cAd0df5E27', v3MigratorAddress: '0xCbf8b7f80800bd4888Fbc7bf1713B80FE4E23E10', nonfungiblePositionManagerAddress: '0x27F971cb582BF9E50F397e4d29a5C7A34f11faA2', tickLensAddress: '0xedf6066a2b290C185783862C7F4776A2C8077AD1', swapRouter02Address: '0x94cC0AaC535CCDB3C01d6787D6413C739ae12bc4', // v4 v4PoolManagerAddress: '0x05E73354cFDd6745C338b50BcFDfA3Aa6fA03408', v4PositionManagerAddress: '0x4b2c77d209d3405f41a037ec6c77f7f5b8e2ca80', v4StateView: '0x571291b572ed32ce6751a2cb2486ebee8defb9b4', v4QuoterAddress: '0x4a6513c898fe1b2d0e78d3b0e0a4a151589b1cba' }; var ZORA_ADDRESSES = { v3CoreFactoryAddress: '0x7145F8aeef1f6510E92164038E1B6F8cB2c42Cbb', multicallAddress: '0xA51c76bEE6746cB487a7e9312E43e2b8f4A37C15', quoterAddress: '0x11867e1b3348F3ce4FcC170BC5af3d23E07E64Df', v3MigratorAddress: '0x048352d8dCF13686982C799da63fA6426a9D0b60', nonfungiblePositionManagerAddress: '0xbC91e8DfA3fF18De43853372A3d7dfe585137D78', tickLensAddress: '0x209AAda09D74Ad3B8D0E92910Eaf85D2357e3044', swapRouter02Address: '0x7De04c96BE5159c3b5CeffC82aa176dc81281557', v4PoolManagerAddress: '0x0575338e4c17006ae181b47900a84404247ca30f', v4PositionManagerAddress: '0xf66c7b99e2040f0d9b326b3b7c152e9663543d63', v4StateView: '0x385785af07d63b50d0a0ea57c4ff89d06adf7328', v4QuoterAddress: '0x5edaccc0660e0a2c44b06e07ce8b915e625dc2c6' }; var ZORA_SEPOLIA_ADDRESSES = { v3CoreFactoryAddress: '0x4324A677D74764f46f33ED447964252441aA8Db6', multicallAddress: '0xA1E7e3A69671C4494EC59Dbd442de930a93F911A', quoterAddress: '0xC195976fEF0985886E37036E2DF62bF371E12Df0', v3MigratorAddress: '0x65ef259b31bf1d977c37e9434658694267674897', nonfungiblePositionManagerAddress: '0xB8458EaAe43292e3c1F7994EFd016bd653d23c20', tickLensAddress: '0x23C0F71877a1Fc4e20A78018f9831365c85f3064' }; var ROOTSTOCK_ADDRESSES = { v3CoreFactoryAddress: '0xaF37EC98A00FD63689CF3060BF3B6784E00caD82', multicallAddress: '0x996a9858cDfa45Ad68E47c9A30a7201E29c6a386', quoterAddress: '0xb51727c996C68E60F598A923a5006853cd2fEB31', v3MigratorAddress: '0x16678977CA4ec3DAD5efc7b15780295FE5f56162', nonfungiblePositionManagerAddress: '0x9d9386c042F194B460Ec424a1e57ACDE25f5C4b1', tickLensAddress: '0x55B9dF5bF68ADe972191a91980459f48ecA16afC', swapRouter02Address: '0x0B14ff67f0014046b4b99057Aec4509640b3947A' }; var BLAST_ADDRESSES = { v3CoreFactoryAddress: '0x792edAdE80af5fC680d96a2eD80A44247D2Cf6Fd', multicallAddress: '0xdC7f370de7631cE9e2c2e1DCDA6B3B5744Cf4705', quoterAddress: '0x6Cdcd65e03c1CEc3730AeeCd45bc140D57A25C77', v3MigratorAddress: '0x15CA7043CD84C5D21Ae76Ba0A1A967d42c40ecE0', nonfungiblePositionManagerAddress: '0xB218e4f7cF0533d4696fDfC419A0023D33345F28', tickLensAddress: '0x2E95185bCdD928a3e984B7e2D6560Ab1b17d7274', swapRouter02Address: '0x549FEB8c9bd4c12Ad2AB27022dA12492aC452B66', v4PoolManagerAddress: '0x1631559198a9e474033433b2958dabc135ab6446', v4PositionManagerAddress: '0x4ad2f4cca2682cbb5b950d660dd458a1d3f1baad', v4StateView: '0x12a88ae16f46dce4e8b15368008ab3380885df30', v4QuoterAddress: '0x6f71cdcb0d119ff72c6eb501abceb576fbf62bcf' }; var ZKSYNC_ADDRESSES = { v3CoreFactoryAddress: '0x8FdA5a7a8dCA67BBcDd10F02Fa0649A937215422', multicallAddress: '0x0c68a7C72f074d1c45C16d41fa74eEbC6D16a65C', quoterAddress: '0x8Cb537fc92E26d8EBBb760E632c95484b6Ea3e28', v3MigratorAddress: '0x611841b24E43C4ACfd290B427a3D6cf1A59dac8E', nonfungiblePositionManagerAddress: '0x0616e5762c1E7Dc3723c50663dF10a162D690a86', tickLensAddress: '0xe10FF11b809f8EE07b056B452c3B2caa7FE24f89', swapRouter02Address: '0x99c56385daBCE3E81d8499d0b8d0257aBC07E8A3' }; var WORLDCHAIN_ADDRESSES = { v3CoreFactoryAddress: '0x7a5028BDa40e7B173C278C5342087826455ea25a', multicallAddress: '0x0a22c04215c97E3F532F4eF30e0aD9458792dAB9', quoterAddress: '0x10158D43e6cc414deE1Bd1eB0EfC6a5cBCfF244c', v3MigratorAddress: '0x9EBDdCBa71C9027E1eB45135672a30bcFEec9de3', nonfungiblePositionManagerAddress: '0xec12a9F9a09f50550686363766Cc153D03c27b5e', tickLensAddress: '0xE61df0CaC9d85876aCE5E3037005D80943570623', swapRouter02Address: '0x091AD9e2e6e5eD44c1c66dB50e49A601F9f36cF6', v4PoolManagerAddress: '0xb1860d529182ac3bc1f51fa2abd56662b7d13f33', v4PositionManagerAddress: '0xc585e0f504613b5fbf874f21af14c65260fb41fa', v4StateView: '0x51d394718bc09297262e368c1a481217fdeb71eb', v4QuoterAddress: '0x55d235b3ff2daf7c3ede0defc9521f1d6fe6c5c0' }; var UNICHAIN_SEPOLIA_ADDRESSES = { v3CoreFactoryAddress: '0x1F98431c8aD98523631AE4a59f267346ea31F984', multicallAddress: '0x9D0F15f2cf58655fDDcD1EE6129C547fDaeD01b1', quoterAddress: '0x6Dd37329A1A225a6Fca658265D460423DCafBF89', v3MigratorAddress: '0xb5FA244C9d6D04B2FBac84418b3c4910ED1Ae5f2', nonfungiblePositionManagerAddress: '0xB7F724d6dDDFd008eFf5cc2834edDE5F9eF0d075', tickLensAddress: '0x5f739c790a48E97eec0efb81bab5D152c0A0ecA0', swapRouter02Address: '0xd1AAE39293221B77B0C71fBD6dCb7Ea29Bb5B166', v4PoolManagerAddress: '0x00b036b58a818b1bc34d502d3fe730db729e62ac', v4PositionManagerAddress: '0xf969aee60879c54baaed9f3ed26147db216fd664', v4StateView: '0xc199f1072a74d4e905aba1a84d9a45e2546b6222', v4QuoterAddress: '0x56dcd40a3f2d466f48e7f48bdbe5cc9b92ae4472' }; var UNICHAIN_ADDRESSES = { v3CoreFactoryAddress: '0x1f98400000000000000000000000000000000003', multicallAddress: '0xb7610f9b733e7d45184be3a1bc966960ccc54f0b', quoterAddress: '0x565ac8c7863d9bb16d07e809ff49fe5cd467634c', v3MigratorAddress: '0xb9d0c246f306b1aaf02ae6ba112d5ef25e5b60dc', nonfungiblePositionManagerAddress: '0x943e6e07a7e8e791dafc44083e54041d743c46e9', tickLensAddress: '0xd5d76fa166ab8d8ad4c9f61aaa81457b66cbe443', swapRouter02Address: '0x73855d06de49d0fe4a9c42636ba96c62da12ff9c', v4PoolManagerAddress: '0x1f98400000000000000000000000000000000004', v4PositionManagerAddress: '0x4529a01c7a0410167c5740c487a8de60232617bf', v4StateView: '0x86e8631a016f9068c3f085faf484ee3f5fdee8f2', v4QuoterAddress: '0x333e3c607b141b18ff6de9f258db6e77fe7491e0' }; var MONAD_TESTNET_ADDRESSES = { v3CoreFactoryAddress: '0x961235a9020b05c44df1026d956d1f4d78014276', multicallAddress: '0xa707ceb989cc3728551ed0e6e44b718dd114cf44', quoterAddress: '0x1ba215c17565de7b0cb7ecab971bcf540c24a862', v3MigratorAddress: '0x0a78348b71f8ae8caff2f8f9d4d74a2f36516661', nonfungiblePositionManagerAddress: '0x3dcc735c74f10fe2b9db2bb55c40fbbbf24490f7', tickLensAddress: '0x337478eb6058455ecb3696184b30dd6a29e3a893', swapRouter02Address: '0x4c4eabd5fb1d1a7234a48692551eaecff8194ca7' }; var SONEIUM_ADDRESSES = { v3CoreFactoryAddress: '0x42ae7ec7ff020412639d443e245d936429fbe717', multicallAddress: '0x8ad5ef2f2508288d2de66f04dd883ad5f4ef62b2', quoterAddress: '0x3e6c707d0125226ff60f291b6bd1404634f00aba', v3MigratorAddress: '0xa107580f73bd797bd8b87ff24e98346d99f93ddb', nonfungiblePositionManagerAddress: '0x56c1205b0244332011c1e866f4ea5384eb6bfa2c', tickLensAddress: '0xcd08eefb928c86499e6235ac155906bb7c4dc41a', swapRouter02Address: '0x7e40db01736f88464e5f4e42394f3d5bbb6705b9', v4PoolManagerAddress: '0x360e68faccca8ca495c1b759fd9eee466db9fb32', v4PositionManagerAddress: '0x1b35d13a2e2528f192637f14b05f0dc0e7deb566', v4StateView: '0x76fd297e2d437cd7f76d50f01afe6160f86e9990', v4QuoterAddress: '0x3972c00f7ed4885e145823eb7c655375d275a1c5' }; var STORY_ADDRESSES = { v3CoreFactoryAddress: '0x9B43512A837cfA2Eb8C2ceb0B303e83ac5032Bdb', multicallAddress: '0x072e66ac948eE1ad2e8fB7d09aCD541dCDD571f8', quoterAddress: '0x5bDa80cCc17bD8427BB32391f7A19354a7c54E9F', v3MigratorAddress: '0xa107580f73bd797bd8b87ff24e98346d99f93ddb', nonfungiblePositionManagerAddress: '0x48a3315D98218193102B56054F214e026eb34F8D', tickLensAddress: '0xC9C6Ed9A89Faaa2d0dc4ec1A728D77cB04FdE6ba', swapRouter02Address: '0x4BCD850357250c4912AB2cf5857cdd9E243b7314', v4PoolManagerAddress: '0x360e68faccca8ca495c1b759fd9eee466db9fb32', v4PositionManagerAddress: '0x1b35d13a2e2528f192637f14b05f0dc0e7deb566', v4StateView: '0x76fd297e2d437cd7f76d50f01afe6160f86e9990', v4QuoterAddress: '0x3972c00f7ed4885e145823eb7c655375d275a1c5' }; var MANTRA_DUKONG_ADDRESSES = { v3CoreFactoryAddress: '0x17E1ebf15BE528b179d34148fB9aB2466555F605', multicallAddress: '0x7850703C95Df326fcCf9ed686D5DaA60693D0ce7', quoterAddress: '0x24E97Eb82d8cd4866ca1Cc3F487346fBE2CC7F9a', v3MigratorAddress: '0xa107580f73bd797bd8b87ff24e98346d99f93ddb', nonfungiblePositionManagerAddress: '0x84fb9302f2232050bB30D0C15Cef44823153De6f', tickLensAddress: '0xa83Bca78B4A99112Fd995CC79422d21E5dc34587', swapRouter02Address: '0xae52Aa627D6eFAce03Fecd41a79DEEcbc168cb0c', v4PoolManagerAddress: '0x360e68faccca8ca495c1b759fd9eee466db9fb32', v4PositionManagerAddress: '0x1b35d13a2e2528f192637f14b05f0dc0e7deb566', v4StateView: '0x76fd297e2d437cd7f76d50f01afe6160f86e9990', v4QuoterAddress: '0x3972c00f7ed4885e145823eb7c655375d275a1c5' }; var MANTRA_MAINNET_ADDRESSES = { v3CoreFactoryAddress: '0xf091964417222474f1835B1bF096995d66303d96', multicallAddress: '0x852EeF31C7268C55c45198a018715BCddd6870Ce', quoterAddress: '0xC0089a25fb8EB0EFd85346D10Cd6Edf8bfd5CbC1', v3MigratorAddress: '0xa107580f73bd797bd8b87ff24e98346d99f93ddb', nonfungiblePositionManagerAddress: '0x3F3B1dE6F4D3c3CB2c4097156bE0EdCB5CE22591', tickLensAddress: '0xE982bb280E5fE1Ac698195f774E83629b3e8953B', swapRouter02Address: '0x3FBcFa6d2B523E0b4223146ba3d60A92a17a7b82', v4PoolManagerAddress: '0x360e68faccca8ca495c1b759fd9eee466db9fb32', v4PositionManagerAddress: '0x1b35d13a2e2528f192637f14b05f0dc0e7deb566', v4StateView: '0x76fd297e2d437cd7f76d50f01afe6160f86e9990', v4QuoterAddress: '0x3972c00f7ed4885e145823eb7c655375d275a1c5' }; var CHAIN_TO_ADDRESSES_MAP = (_CHAIN_TO_ADDRESSES_M = {}, _CHAIN_TO_ADDRESSES_M[exports.ChainId.MAINNET] = MAINNET_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.OPTIMISM] = OPTIMISM_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.ARBITRUM_ONE] = ARBITRUM_ONE_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.POLYGON] = POLYGON_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.POLYGON_MUMBAI] = POLYGON_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.GOERLI] = GOERLI_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.CELO] = CELO_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.CELO_ALFAJORES] = CELO_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.BNB] = BNB_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.OPTIMISM_GOERLI] = OPTIMISM_GOERLI_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.OPTIMISM_SEPOLIA] = OPTIMISM_SEPOLIA_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.ARBITRUM_GOERLI] = ARBITRUM_GOERLI_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.ARBITRUM_SEPOLIA] = ARBITRUM_SEPOLIA_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.SEPOLIA] = SEPOLIA_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.AVALANCHE] = AVALANCHE_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.BASE] = BASE_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.BASE_GOERLI] = BASE_GOERLI_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.BASE_SEPOLIA] = BASE_SEPOLIA_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.ZORA] = ZORA_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.ZORA_SEPOLIA] = ZORA_SEPOLIA_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.ROOTSTOCK] = ROOTSTOCK_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.BLAST] = BLAST_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.ZKSYNC] = ZKSYNC_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.WORLDCHAIN] = WORLDCHAIN_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.UNICHAIN_SEPOLIA] = UNICHAIN_SEPOLIA_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.UNICHAIN] = UNICHAIN_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.MONAD_TESTNET] = MONAD_TESTNET_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.SONEIUM] = SONEIUM_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.STORY] = STORY_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.MANTRA_DUKONG] = MANTRA_DUKONG_ADDRESSES, _CHAIN_TO_ADDRESSES_M[exports.ChainId.MANTRA_MAINNET] = MANTRA_MAINNET_ADDRESSES, _CHAIN_TO_ADDRESSES_M); /* V3 Contract Addresses */ var V3_CORE_FACTORY_ADDRESSES = /*#__PURE__*/_extends({}, /*#__PURE__*/SUPPORTED_CHAINS.reduce(function (memo, chainId) { memo[chainId] = CHAIN_TO_ADDRESSES_MAP[chainId].v3CoreFactoryAddress; return memo; }, {})); var V3_MIGRATOR_ADDRESSES = /*#__PURE__*/_extends({}, /*#__PURE__*/SUPPORTED_CHAINS.reduce(function (memo, chainId) { var v3MigratorAddress = CHAIN_TO_ADDRESSES_MAP[chainId].v3MigratorAddress; if (v3MigratorAddress) { memo[chainId] = v3MigratorAddress; } return memo; }, {})); var MULTICALL_ADDRESSES = /*#__PURE__*/_extends({}, /*#__PURE__*/SUPPORTED_CHAINS.reduce(function (memo, chainId) { memo[chainId] = CHAIN_TO_ADDRESSES_MAP[chainId].multicallAddress; return memo; }, {})); /** * The oldest V0 governance address */ var GOVERNANCE_ALPHA_V0_ADDRESSES = /*#__PURE__*/constructSameAddressMap('0x5e4be8Bc9637f0EAA1A755019e06A68ce081D58F'); /** * The older V1 governance address */ var GOVERNANCE_ALPHA_V1_ADDRESSES = (_GOVERNANCE_ALPHA_V1_ = {}, _GOVERNANCE_ALPHA_V1_[exports.ChainId.MAINNET] = '0xC4e172459f1E7939D522503B81AFAaC1014CE6F6', _GOVERNANCE_ALPHA_V1_); /** * The latest governor bravo that is currently admin of timelock */ var GOVERNANCE_BRAVO_ADDRESSES = (_GOVERNANCE_BRAVO_ADD = {}, _GOVERNANCE_BRAVO_ADD[exports.ChainId.MAINNET] = '0x408ED6354d4973f66138C91495F2f2FCbd8724C3', _GOVERNANCE_BRAVO_ADD); var TIMELOCK_ADDRESSES = /*#__PURE__*/constructSameAddressMap('0x1a9C8182C09F50C8318d769245beA52c32BE35BC'); var MERKLE_DISTRIBUTOR_ADDRESS = (_MERKLE_DISTRIBUTOR_A = {}, _MERKLE_DISTRIBUTOR_A[exports.ChainId.MAINNET] = '0x090D4613473dEE047c3f2706764f49E0821D256e', _MERKLE_DISTRIBUTOR_A); var ARGENT_WALLET_DETECTOR_ADDRESS = (_ARGENT_WALLET_DETECT = {}, _ARGENT_WALLET_DETECT[exports.ChainId.MAINNET] = '0xeca4B0bDBf7c55E9b7925919d03CbF8Dc82537E8', _ARGENT_WALLET_DETECT); var QUOTER_ADDRESSES = /*#__PURE__*/_extends({}, /*#__PURE__*/SUPPORTED_CHAINS.reduce(function (memo, chainId) { memo[chainId] = CHAIN_TO_ADDRESSES_MAP[chainId].quoterAddress; return memo; }, {})); var NONFUNGIBLE_POSITION_MANAGER_ADDRESSES = /*#__PURE__*/_extends({}, /*#__PURE__*/SUPPORTED_CHAINS.reduce(function (memo, chainId) { var nonfungiblePositionManagerAddress = CHAIN_TO_ADDRESSES_MAP[chainId].nonfungiblePositionManagerAddress; if (nonfungiblePositionManagerAddress) { memo[chainId] = nonfungiblePositionManagerAddress; } return memo; }, {})); var ENS_REGISTRAR_ADDRESSES = /*#__PURE__*/_extends({}, /*#__PURE__*/constructSameAddressMap('0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e')); var SOCKS_CONTROLLER_ADDRESSES = (_SOCKS_CONTROLLER_ADD = {}, _SOCKS_CONTROLLER_ADD[exports.ChainId.MAINNET] = '0x65770b5283117639760beA3F867b69b3697a91dd', _SOCKS_CONTROLLER_ADD); var TICK_LENS_ADDRESSES = /*#__PURE__*/_extends({}, /*#__PURE__*/SUPPORTED_CHAINS.reduce(function (memo, chainId) { var tickLensAddress = CHAIN_TO_ADDRESSES_MAP[chainId].tickLensAddress; if (tickLensAddress) { memo[chainId] = tickLensAddress; } return memo; }, {})); var MIXED_ROUTE_QUOTER_V1_ADDRESSES = /*#__PURE__*/SUPPORTED_CHAINS.reduce(function (memo, chainId) { var mixedRouteQuoterV1Address = CHAIN_TO_ADDRESSES_MAP[chainId].mixedRouteQuoterV1Address; if (mixedRouteQuoterV1Address) { memo[chainId] = mixedRouteQuoterV1Address; } return memo; }, {}); var SWAP_ROUTER_02_ADDRESSES = function SWAP_ROUTER_02_ADDRESSES(chainId) { if (SUPPORTED_CHAINS.includes(chainId)) { var _CHAIN_TO_ADDRESSES_M2; var id = chainId; return (_CHAIN_TO_ADDRESSES_M2 = CHAIN_TO_ADDRESSES_MAP[id].swapRouter02Address) != null ? _CHAIN_TO_ADDRESSES_M2 : '0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45'; } return ''; }; (function (TradeType) { TradeType[TradeType["EXACT_INPUT"] = 0] = "EXACT_INPUT"; TradeType[TradeType["EXACT_OUTPUT"] = 1] = "EXACT_OUTPUT"; })(exports.TradeType || (exports.TradeType = {})); (function (Rounding) { Rounding[Rounding["ROUND_DOWN"] = 0] = "ROUND_DOWN"; Rounding[Rounding["ROUND_HALF_UP"] = 1] = "ROUND_HALF_UP"; Rounding[Rounding["ROUND_UP"] = 2] = "ROUND_UP"; })(exports.Rounding || (exports.Rounding = {})); var MaxUint256 = /*#__PURE__*/JSBI.BigInt('0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'); var _toSignificantRoundin, _toFixedRounding; var Decimal = /*#__PURE__*/toFormat(_Decimal); var Big = /*#__PURE__*/toFormat(_Big); var toSignificantRounding = (_toSignificantRoundin = {}, _toSignificantRoundin[exports.Rounding.ROUND_DOWN] = Decimal.ROUND_DOWN, _toSignificantRoundin[exports.Rounding.ROUND_HALF_UP] = Decimal.ROUND_HALF_UP, _toSignificantRoundin[exports.Rounding.ROUND_UP] = Decimal.ROUND_UP, _toSignificantRoundin); var toFixedRounding = (_toFixedRounding = {}, _toFixedRounding[exports.Rounding.ROUND_DOWN] = 0, _toFixedRounding[exports.Rounding.ROUND_HALF_UP] = 1, _toFixedRounding[exports.Rounding.ROUND_UP] = 3, _toFixedRounding); var Fraction = /*#__PURE__*/function () { function Fraction(numerator, denominator) { if (denominator === void 0) { denominator = JSBI.BigInt(1); } this.numerator = JSBI.BigInt(numerator); this.denominator = JSBI.BigInt(denominator); } Fraction.tryParseFraction = function tryParseFraction(fractionish) { if (fractionish instanceof JSBI || typeof fractionish === 'number' || typeof fractionish === 'string') return new Fraction(fractionish); if ('numerator' in fractionish && 'denominator' in fractionish) return fractionish; throw new Error('Could not parse fraction'); } // performs floor division ; var _proto = Fraction.prototype; _proto.invert = function invert() { return new Fraction(this.denominator, this.numerator); }; _proto.add = function add(other) { var otherParsed = Fraction.tryParseFraction(other); if (JSBI.equal(this.denominator, otherParsed.denominator)) { return new Fraction(JSBI.add(this.numerator, otherParsed.numerator), this.denominator); } return new Fraction(JSBI.add(JSBI.multiply(this.numerator, otherParsed.denominator), JSBI.multiply(otherParsed.numerator, this.denominator)), JSBI.multiply(this.denominator, otherParsed.denominator)); }; _proto.subtract = function subtract(other) { var otherParsed = Fraction.tryParseFraction(other); if (JSBI.equal(this.denominator, otherParsed.denominator)) { return new Fraction(JSBI.subtract(this.numerator, otherParsed.numerator), this.denominator); } return new Fraction(JSBI.subtract(JSBI.multiply(this.numerator, otherParsed.denominator), JSBI.multiply(otherParsed.numerator, this.denominator)), JSBI.multiply(this.denominator, otherParsed.denominator)); }; _proto.lessThan = function lessThan(other) { var otherParsed = Fraction.tryParseFraction(other); return JSBI.lessThan(JSBI.multiply(this.numerator, otherParsed.denominator), JSBI.multiply(otherParsed.numerator, this.denominator)); }; _proto.equalTo = function equalTo(other) { var otherParsed = Fraction.tryParseFraction(other); return JSBI.equal(JSBI.multiply(this.numerator, otherParsed.denominator), JSBI.multiply(otherParsed.numerator, this.denominator)); }; _proto.greaterThan = function greaterThan(other) { var otherParsed = Fraction.tryParseFraction(other); return JSBI.greaterThan(JSBI.multiply(this.numerator, otherParsed.denominator), JSBI.multiply(otherParsed.numerator, this.denominator)); }; _proto.multiply = function multiply(other) { var otherParsed = Fraction.tryParseFraction(other); return new Fraction(JSBI.multiply(this.numerator, otherParsed.numerator), JSBI.multiply(this.denominator, otherParsed.denominator)); }; _proto.divide = function divide(other) { var otherParsed = Fraction.tryParseFraction(other); return new Fraction(JSBI.multiply(this.numerator, otherParsed.denominator), JSBI.multiply(this.denominator, otherParsed.numerator)); }; _proto.toSignificant = function toSignificant(significantDigits, format, rounding) { if (format === void 0) { format = { groupSeparator: '' }; } if (rounding === void 0) { rounding = exports.Rounding.ROUND_HALF_UP; } !Number.isInteger(significantDigits) ? invariant(false, significantDigits + " is not an integer.") : void 0; !(significantDigits > 0) ? invariant(false, significantDigits + " is not positive.") : void 0; Decimal.set({ precision: significantDigits + 1, rounding: toSignificantRounding[rounding] }); var quotient = new Decimal(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(significantDigits); return quotient.toFormat(quotient.decimalPlaces(), format); }; _proto.toFixed = function toFixed(decimalPlaces, format, rounding) { if (format === void 0) { format = { groupSeparator: '' }; } if (rounding === void 0) { rounding = exports.Rounding.ROUND_HALF_UP; } !Number.isInteger(decimalPlaces) ? invariant(false, decimalPlaces + " is not an integer.") : void 0; !(decimalPlaces >= 0) ? invariant(false, decimalPlaces + " is negative.") : void 0; Big.DP = decimalPlaces; Big.RM = toFixedRounding[rounding]; return new Big(this.numerator.toString()).div(this.denominator.toString()).toFormat(decimalPlaces, format); } /** * Helper method for converting any super class back to a fraction */; return _createClass(Fraction, [{ key: "quotient", get: function get() { return JSBI.divide(this.numerator, this.denominator); } // remainder after floor division }, { key: "remainder", get: function get() { return new Fraction(JSBI.remainder(this.numerator, this.denominator), this.denominator); } }, { key: "asFraction", get: function get() { return new Fraction(this.numerator, this.denominator); } }]); }(); var Big$1 = /*#__PURE__*/toFormat(_Big); var CurrencyAmount = /*#__PURE__*/function (_Fraction) { function CurrencyAmount(currency, numerator, denominator) { var _this; _this = _Fraction.call(this, numerator, denominator) || this; !JSBI.lessThanOrEqual(_this.quotient, MaxUint256) ? invariant(false, 'AMOUNT') : void 0; _this.currency = currency; _this.decimalScale = JSBI.exponentiate(JSBI.BigInt(10), JSBI.BigInt(currency.decimals)); return _this; } /** * Returns a new currency amount instance from the unitless amount of token, i.e. the raw amount * @param currency the currency in the amount * @param rawAmount the raw token or ether amount */ _inheritsLoose(CurrencyAmount, _Fraction); CurrencyAmount.fromRawAmount = function fromRawAmount(currency, rawAmount) { return new CurrencyAmount(currency, rawAmount); } /** * Construct a currency amount with a denominator that is not equal to 1 * @param currency the currency * @param numerator the numerator of the fractional token amount * @param denominator the denominator of the fractional token amount */; CurrencyAmount.fromFractionalAmount = function fromFractionalAmount(currency, numerator, denominator) { return new CurrencyAmount(currency, numerator, denominator); }; var _proto = CurrencyAmount.prototype; _proto.add = function add(other) { !this.currency.equals(other.currency) ? invariant(false, 'CURRENCY') : void 0; var added = _Fraction.prototype.add.call(this, other); return CurrencyAmount.fromFractionalAmount(this.currency, added.numerator, added.denominator); }; _proto.subtract = function subtract(other) { !this.currency.equals(other.currency) ? invariant(false, 'CURRENCY') : void 0; var subtracted = _Fraction.prototype.subtract.call(this, other); return CurrencyAmount.fromFractionalAmount(this.currency, subtracted.numerator, subtracted.denominator); }; _proto.multiply = function multiply(other) { var multiplied = _Fraction.prototype.multiply.call(this, other); return CurrencyAmount.fromFractionalAmount(this.currency, multiplied.numerator, multiplied.denominator); }; _proto.divide = function divide(other) { var divided = _Fraction.prototype.divide.call(this, other); return CurrencyAmount.fromFractionalAmount(this.currency, divided.numerator, divided.denominator); }; _proto.toSignificant = function toSignificant(significantDigits, format, rounding) { if (significantDigits === void 0) { significantDigits = 6; } if (rounding === void 0) { rounding = exports.Rounding.ROUND_DOWN; } return _Fraction.prototype.divide.call(this, this.decimalScale).toSignificant(significantDigits, format, rounding); }; _proto.toFixed = function toFixed(decimalPlaces, format, rounding) { if (decimalPlaces === void 0) { decimalPlaces = this.currency.decimals; } if (rounding === void 0) { rounding = exports.Rounding.ROUND_DOWN; } !(decimalPlaces <= this.currency.decimals) ? invariant(false, 'DECIMALS') : void 0; return _Fraction.prototype.divide.call(this, this.decimalScale).toFixed(decimalPlaces, format, rounding); }; _proto.toExact = function toExact(format) { if (format === void 0) { format = { groupSeparator: '' }; } Big$1.DP = this.currency.decimals; return new Big$1(this.quotient.toString()).div(this.decimalScale.toString()).toFormat(format); }; return _createClass(CurrencyAmount, [{ key: "wrapped", get: function get() { if (this.currency.isToken) return this; return CurrencyAmount.fromFractionalAmount(this.currency.wrapped, this.numerator, this.denominator); } }]); }(Fraction); var ONE_HUNDRED = /*#__PURE__*/new Fraction(/*#__PURE__*/JSBI.BigInt(100)); /** * Converts a fraction to a percent * @param fraction the fraction to convert */ function toPercent(fraction) { return new Percent(fraction.numerator, fraction.denominator); } var Percent = /*#__PURE__*/function (_Fraction) { function Percent() { var _this; _this = _Fraction.apply(this, arguments) || this; /** * This boolean prevents a fraction from being interpreted as a Percent */ _this.isPercent = true; return _this; } _inheritsLoose(Percent, _Fraction); var _proto = Percent.prototype; _proto.add = function add(other) { return toPercent(_Fraction.prototype.add.call(this, other)); }; _proto.subtract = function subtract(other) { return toPercent(_Fraction.prototype.subtract.call(this, other)); }; _proto.multiply = function multiply(other) { return toPercent(_Fraction.prototype.multiply.call(this, other)); }; _proto.divide = function divide(other) { return toPercent(_Fraction.prototype.divide.call(this, other)); }; _proto.toSignificant = function toSignificant(significantDigits, format, rounding) { if (significantDigits === void 0) { significantDigits = 5; } return _Fraction.prototype.multiply.call(this, ONE_HUNDRED).toSignificant(significantDigits, format, rounding); }; _proto.toFixed = function toFixed(decimalPlaces, format, rounding) { if (decimalPlaces === void 0) { decimalPlaces = 2; } return _Fraction.prototype.multiply.call(this, ONE_HUNDRED).toFixed(decimalPlaces, format, rounding); }; return Percent; }(Fraction); var Price = /*#__PURE__*/function (_Fraction) { /** * Construct a price, either with the base and quote currency amount, or the * @param args */ function Price() { var _this; var baseCurrency, quoteCurrency, denominator, numerator; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } if (args.length === 4) { baseCurrency = args[0]; quoteCurrency = args[1]; denominator = args[2]; numerator = args[3]; } else { var result = args[0].quoteAmount.divide(args[0].baseAmount); var _ref = [args[0].baseAmount.currency, args[0].quoteAmount.currency, result.denominator, result.numerator]; baseCurrency = _ref[0]; quoteCurrency = _ref[1]; denominator = _ref[2]; numerator = _ref[3]; } _this = _Fraction.call(this, numerator, denominator) || this; _this.baseCurrency = baseCurrency; _this.quoteCurrency = quoteCurrency; _this.scalar = new Fraction(JSBI.exponentiate(JSBI.BigInt(10), JSBI.BigInt(baseCurrency.decimals)), JSBI.exponentiate(JSBI.BigInt(10), JSBI.BigInt(quoteCurrency.decimals))); return _this; } /** * Flip the price, switching the base and quote currency */ _inheritsLoose(Price, _Fraction); var _proto = Price.prototype; _proto.invert = function invert() { return new Price(this.quoteCurrency, this.baseCurrency, this.numerator, this.denominator); } /** * Multiply the price by another price, returning a new price. The other price must have the same base currency as this price's quote currency * @param other the other price */; _proto.multiply = function multiply(other) { !this.quoteCurrency.equals(other.baseCurrency) ? invariant(false, 'TOKEN') : void 0; var fraction = _Fraction.prototype.multiply.call(this, other); return new Price(this.baseCurrency, other.quoteCurrency, fraction.denominator, fraction.numerator); } /** * Return the amount of quote currency corresponding to a given amount of the base currency * @param currencyAmount the amount of base currency to quote against the price */; _proto.quote = function quote(currencyAmount) { !currencyAmount.currency.equals(this.baseCurrency) ? invariant(false, 'TOKEN') : void 0; var result = _Fraction.prototype.multiply.call(this, currencyAmount); return CurrencyAmount.fromFractionalAmount(this.quoteCurrency, result.numerator, result.denominator); } /** * Get the value scaled by decimals for formatting * @private */; _proto.toSignificant = function toSignificant(significantDigits, format, rounding) { if (significantDigits === void 0) { significantDigits = 6; } return this.adjustedForDecimals.toSignificant(significantDigits, format, rounding); }; _proto.toFixed = function toFixed(decimalPlaces, format, rounding