@qidao/sdk 5.0.0-canary.117

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +53 -0
  3. package/dist/constants/addresses.d.ts +31 -0
  4. package/dist/constants/index.d.ts +20 -0
  5. package/dist/constants/kashi.d.ts +29 -0
  6. package/dist/constants/natives.d.ts +30 -0
  7. package/dist/constants/numbers.d.ts +11 -0
  8. package/dist/constants/tokens.d.ts +5 -0
  9. package/dist/entities/AbstractCurrency.d.ts +53 -0
  10. package/dist/entities/ConstantProductPool.d.ts +43 -0
  11. package/dist/entities/Currency.d.ts +3 -0
  12. package/dist/entities/CurrencyAmount.d.ts +38 -0
  13. package/dist/entities/Fraction.d.ts +25 -0
  14. package/dist/entities/MultiRouter.d.ts +59 -0
  15. package/dist/entities/Native/Avalanche.d.ts +10 -0
  16. package/dist/entities/Native/Binance.d.ts +10 -0
  17. package/dist/entities/Native/Celo.d.ts +10 -0
  18. package/dist/entities/Native/Ether.d.ts +13 -0
  19. package/dist/entities/Native/Fantom.d.ts +10 -0
  20. package/dist/entities/Native/Fuse.d.ts +10 -0
  21. package/dist/entities/Native/Harmony.d.ts +10 -0
  22. package/dist/entities/Native/Heco.d.ts +10 -0
  23. package/dist/entities/Native/Matic.d.ts +10 -0
  24. package/dist/entities/Native/Movr.d.ts +10 -0
  25. package/dist/entities/Native/Okex.d.ts +10 -0
  26. package/dist/entities/Native/Palm.d.ts +10 -0
  27. package/dist/entities/Native/Telos.d.ts +10 -0
  28. package/dist/entities/Native/index.d.ts +14 -0
  29. package/dist/entities/Native/xDai.d.ts +10 -0
  30. package/dist/entities/NativeCurrency.d.ts +8 -0
  31. package/dist/entities/Pair.d.ts +41 -0
  32. package/dist/entities/Percent.d.ts +15 -0
  33. package/dist/entities/Price.d.ts +39 -0
  34. package/dist/entities/Route.d.ts +14 -0
  35. package/dist/entities/Token.d.ts +33 -0
  36. package/dist/entities/Trade.d.ts +107 -0
  37. package/dist/entities/eip712.d.ts +78 -0
  38. package/dist/entities/index.d.ts +14 -0
  39. package/dist/enums/ChainId.d.ts +31 -0
  40. package/dist/enums/Fee.d.ts +3 -0
  41. package/dist/enums/KashiAction.d.ts +18 -0
  42. package/dist/enums/OrderStatus.d.ts +6 -0
  43. package/dist/enums/Rounding.d.ts +5 -0
  44. package/dist/enums/TradeType.d.ts +4 -0
  45. package/dist/enums/index.d.ts +6 -0
  46. package/dist/errors.d.ts +16 -0
  47. package/dist/functions/bentobox.d.ts +3 -0
  48. package/dist/functions/computeConstantProductPoolAddress.d.ts +9 -0
  49. package/dist/functions/computePairAddress.d.ts +6 -0
  50. package/dist/functions/computePoolInitCodeHash.d.ts +5 -0
  51. package/dist/functions/computePriceImpact.d.ts +11 -0
  52. package/dist/functions/index.d.ts +8 -0
  53. package/dist/functions/kashi.d.ts +9 -0
  54. package/dist/functions/rebase.d.ts +4 -0
  55. package/dist/functions/sortedInsert.d.ts +1 -0
  56. package/dist/functions/sqrt.d.ts +7 -0
  57. package/dist/functions/validateAndParseAddress.d.ts +1 -0
  58. package/dist/functions/validateSolidityTypeInstance.d.ts +3 -0
  59. package/dist/index.d.ts +12 -0
  60. package/dist/index.js +8 -0
  61. package/dist/interfaces/AccrueInfo.d.ts +6 -0
  62. package/dist/interfaces/Rebase.d.ts +5 -0
  63. package/dist/interfaces/index.d.ts +2 -0
  64. package/dist/limitorder.d.ts +115 -0
  65. package/dist/router.d.ts +68 -0
  66. package/dist/sdk.cjs.development.js +5303 -0
  67. package/dist/sdk.cjs.development.js.map +1 -0
  68. package/dist/sdk.cjs.production.min.js +2 -0
  69. package/dist/sdk.cjs.production.min.js.map +1 -0
  70. package/dist/sdk.esm.js +5164 -0
  71. package/dist/sdk.esm.js.map +1 -0
  72. package/dist/types/AddressMap.d.ts +3 -0
  73. package/dist/types/BigIntIsh.d.ts +2 -0
  74. package/dist/types/ChainTokenMap.d.ts +5 -0
  75. package/dist/types/LimitOrderTypes.d.ts +21 -0
  76. package/dist/types/MultiRouterTypes.d.ts +97 -0
  77. package/dist/types/TokenMap.d.ts +4 -0
  78. package/dist/types/index.d.ts +4 -0
  79. package/dist/utils/MultiRouterMath.d.ts +15 -0
  80. package/package.json +70 -0
@@ -0,0 +1,2 @@
1
+ "use strict";function f(f){return f&&"object"==typeof f&&"default"in f?f.default:f}Object.defineProperty(exports,"__esModule",{value:!0});var e,t,n,r,a,i,o,s,d,c,u,p,h,b,C,x,I,A,l,T,E,y,m,D,O,v,N,B,R,S,F,g,_,M=f(require("jsbi")),w=require("@ethersproject/bignumber"),k=f(require("tiny-invariant")),L=require("@ethersproject/address"),P=(f(require("tiny-warning")),f(require("big.js"))),q=f(require("decimal.js-light")),H=f(require("toformat")),U=require("@ethersproject/solidity"),V=require("@ethersproject/abi"),W=require("@ethersproject/signing-key"),K=require("eip-712"),X=require("@ethersproject/bytes"),Y=require("@ethersproject/contracts"),G=f(require("isomorphic-unfetch"));(e=exports.ChainId||(exports.ChainId={}))[e.MAINNET=1]="MAINNET",e[e.ROPSTEN=3]="ROPSTEN",e[e.RINKEBY=4]="RINKEBY",e[e["GÖRLI"]=5]="GÖRLI",e[e.KOVAN=42]="KOVAN",e[e.MATIC=137]="MATIC",e[e.MATIC_TESTNET=80001]="MATIC_TESTNET",e[e.FANTOM=250]="FANTOM",e[e.FANTOM_TESTNET=4002]="FANTOM_TESTNET",e[e.XDAI=100]="XDAI",e[e.BSC=56]="BSC",e[e.BSC_TESTNET=97]="BSC_TESTNET",e[e.ARBITRUM=42161]="ARBITRUM",e[e.ARBITRUM_TESTNET=79377087078960]="ARBITRUM_TESTNET",e[e.MOONBEAM_TESTNET=1287]="MOONBEAM_TESTNET",e[e.AVALANCHE=43114]="AVALANCHE",e[e.AVALANCHE_TESTNET=43113]="AVALANCHE_TESTNET",e[e.HECO=128]="HECO",e[e.HECO_TESTNET=256]="HECO_TESTNET",e[e.HARMONY=16666e5]="HARMONY",e[e.HARMONY_TESTNET=16667e5]="HARMONY_TESTNET",e[e.OKEX=66]="OKEX",e[e.OKEX_TESTNET=65]="OKEX_TESTNET",e[e.CELO=42220]="CELO",e[e.PALM=11297108109]="PALM",e[e.PALM_TESTNET=11297108099]="PALM_TESTNET",e[e.MOONRIVER=1285]="MOONRIVER",e[e.FUSE=122]="FUSE",e[e.TELOS=40]="TELOS",(t=exports.Rounding||(exports.Rounding={}))[t.ROUND_DOWN=0]="ROUND_DOWN",t[t.ROUND_HALF_UP=1]="ROUND_HALF_UP",t[t.ROUND_UP=2]="ROUND_UP",(n=exports.TradeType||(exports.TradeType={}))[n.EXACT_INPUT=0]="EXACT_INPUT",n[n.EXACT_OUTPUT=1]="EXACT_OUTPUT",(r=exports.KashiAction||(exports.KashiAction={}))[r.ADD_ASSET=1]="ADD_ASSET",r[r.REPAY=2]="REPAY",r[r.REMOVE_ASSET=3]="REMOVE_ASSET",r[r.REMOVE_COLLATERAL=4]="REMOVE_COLLATERAL",r[r.BORROW=5]="BORROW",r[r.GET_REPAY_SHARE=6]="GET_REPAY_SHARE",r[r.GET_REPAY_PART=7]="GET_REPAY_PART",r[r.ACCRUE=8]="ACCRUE",r[r.ADD_COLLATERAL=10]="ADD_COLLATERAL",r[r.UPDATE_EXCHANGE_RATE=11]="UPDATE_EXCHANGE_RATE",r[r.BENTO_DEPOSIT=20]="BENTO_DEPOSIT",r[r.BENTO_WITHDRAW=21]="BENTO_WITHDRAW",r[r.BENTO_TRANSFER=22]="BENTO_TRANSFER",r[r.BENTO_TRANSFER_MULTIPLE=23]="BENTO_TRANSFER_MULTIPLE",r[r.BENTO_SETAPPROVAL=24]="BENTO_SETAPPROVAL",r[r.CALL=30]="CALL",(a=exports.Fee||(exports.Fee={}))[a.DEFAULT=30]="DEFAULT",(i=exports.OrderStatus||(exports.OrderStatus={})).FILLED="FILLED",i.CANCELLED="CANCELLED",i.EXPIRED="EXPIRED",i.PENDING="PENDING";var j=((o={})[exports.ChainId.MAINNET]="0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",o[exports.ChainId.ROPSTEN]="0x0D9C8723B343A8368BebE0B5E89273fF8D712e3C",o[exports.ChainId.KOVAN]="0xb7a4F3E9097C08dA09517b5aB877F7a917224ede",o[exports.ChainId.MATIC]="0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",o[exports.ChainId.FANTOM]="0x04068DA6C83AFCFA0e13ba15A6696662335D5B75",o[exports.ChainId.BSC]="0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",o[exports.ChainId.HARMONY]="0x985458E523dB3d53125813eD68c274899e9DfAb4",o[exports.ChainId.HECO]="0x9362Bbef4B8313A8Aa9f0c9808B80577Aa26B73B",o[exports.ChainId.OKEX]="0xc946DAf81b08146B1C7A8Da2A851Ddf2B3EAaf85",o[exports.ChainId.XDAI]="0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83",o[exports.ChainId.ARBITRUM]="0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8",o[exports.ChainId.AVALANCHE]="0xA7D7079b0FEaD91F3e65f86E8915Cb59c1a4C664",o[exports.ChainId.MOONRIVER]="0xE3F5a90F9cb311505cd691a46596599aA1A0AD7D",o[exports.ChainId.FUSE]="0x620fd5fa44BE6af63715Ef4E65DDFA0387aD13F5",o),Z=((s={})[exports.ChainId.MAINNET]=j[exports.ChainId.MAINNET],s[exports.ChainId.ROPSTEN]=j[exports.ChainId.ROPSTEN],s[exports.ChainId.KOVAN]=j[exports.ChainId.KOVAN],s[exports.ChainId.MATIC]=j[exports.ChainId.MATIC],s[exports.ChainId.FANTOM]=j[exports.ChainId.FANTOM],s[exports.ChainId.BSC]=j[exports.ChainId.BSC],s[exports.ChainId.HARMONY]=j[exports.ChainId.HARMONY],s[exports.ChainId.HECO]=j[exports.ChainId.HECO],s[exports.ChainId.OKEX]=j[exports.ChainId.OKEX],s[exports.ChainId.XDAI]=j[exports.ChainId.XDAI],s[exports.ChainId.ARBITRUM]=j[exports.ChainId.ARBITRUM],s[exports.ChainId.AVALANCHE]=j[exports.ChainId.AVALANCHE],s[exports.ChainId.MOONRIVER]=j[exports.ChainId.MOONRIVER],s[exports.ChainId.CELO]="0x765DE816845861e75A25fCA122bb6898B8B1282a",s[exports.ChainId.FUSE]=j[exports.ChainId.FUSE],s),z=((d={})[exports.ChainId.MAINNET]="0xC0AEe478e3658e2610c5F7A4A2E1777cE9e4f2Ac",d[exports.ChainId.ROPSTEN]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.RINKEBY]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.GÖRLI]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.KOVAN]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.FANTOM]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.FANTOM_TESTNET]="",d[exports.ChainId.MATIC]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.MATIC_TESTNET]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.XDAI]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.BSC]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.BSC_TESTNET]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.ARBITRUM]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.ARBITRUM_TESTNET]="",d[exports.ChainId.MOONBEAM_TESTNET]="0x2Ce3F07dD4c62b56a502E223A7cBE38b1d77A1b5",d[exports.ChainId.AVALANCHE]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.AVALANCHE_TESTNET]="0xd00ae08403B9bbb9124bB305C09058E32C39A48c",d[exports.ChainId.HECO]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.HECO_TESTNET]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.HARMONY]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.HARMONY_TESTNET]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.OKEX]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.OKEX_TESTNET]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.CELO]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.PALM]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.PALM_TESTNET]="",d[exports.ChainId.MOONRIVER]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d[exports.ChainId.FUSE]="0x43eA90e2b786728520e4f930d2A71a477BF2737C",d[exports.ChainId.TELOS]="0xc35DADB65012eC5796536bD9864eD8773aBc74C4",d),J=((c={})[exports.ChainId.MAINNET]="0xd9e1cE17f2641f24aE83637ab66a2cca9C378B9F",c[exports.ChainId.RINKEBY]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.ROPSTEN]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.GÖRLI]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.KOVAN]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.FANTOM]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.FANTOM_TESTNET]="",c[exports.ChainId.MATIC]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.MATIC_TESTNET]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.XDAI]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.BSC]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.BSC_TESTNET]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.ARBITRUM]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.ARBITRUM_TESTNET]="",c[exports.ChainId.MOONBEAM_TESTNET]="0xeB5c2BB5E83B51d83F3534Ae21E84336B8B376ef",c[exports.ChainId.AVALANCHE]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.AVALANCHE_TESTNET]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.HECO]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.HECO_TESTNET]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.HARMONY]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.HARMONY_TESTNET]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.OKEX]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.OKEX_TESTNET]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.CELO]="0x1421bDe4B10e8dd459b3BCb598810B1337D56842",c[exports.ChainId.PALM]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.PALM_TESTNET]="",c[exports.ChainId.MOONRIVER]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c[exports.ChainId.FUSE]="0xF4d73326C13a4Fc5FD7A064217e12780e9Bd62c3",c[exports.ChainId.TELOS]="0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506",c),Q=((u={})[exports.ChainId.MAINNET]="0x6B3595068778DD592e39A122f4f5a5cF09C90fE2",u[exports.ChainId.ROPSTEN]="0x0769fd68dFb93167989C6f7254cd0D766Fb2841F",u[exports.ChainId.RINKEBY]="0x0769fd68dFb93167989C6f7254cd0D766Fb2841F",u[exports.ChainId.GÖRLI]="0x0769fd68dFb93167989C6f7254cd0D766Fb2841F",u[exports.ChainId.KOVAN]="0x0769fd68dFb93167989C6f7254cd0D766Fb2841F",u[exports.ChainId.FANTOM]="0xae75A438b2E0cB8Bb01Ec1E1e376De11D44477CC",u[exports.ChainId.MATIC]="0x0b3F868E0BE5597D5DB7fEB59E1CADBb0fdDa50a",u[exports.ChainId.XDAI]="0x2995D1317DcD4f0aB89f4AE60F3f020A4F17C7CE",u[exports.ChainId.BSC]="0x947950BcC74888a40Ffa2593C5798F11Fc9124C4",u[exports.ChainId.ARBITRUM]="0xd4d42F0b6DEF4CE0383636770eF773390d85c61A",u[exports.ChainId.AVALANCHE]="0x37B608519F91f70F2EeB0e5Ed9AF4061722e4F76",u[exports.ChainId.HECO]="0x52E00B2dA5Bd7940fFe26B609A42F957f31118D5",u[exports.ChainId.HARMONY]="0xBEC775Cb42AbFa4288dE81F387a9b1A3c4Bc552A",u[exports.ChainId.OKEX]="0x2218E0D5E0173769F5b4939a3aE423f7e5E4EAB7",u[exports.ChainId.OKEX_TESTNET]="",u[exports.ChainId.CELO]="0x29dFce9c22003A4999930382Fd00f9Fd6133Acd1",u[exports.ChainId.PALM]="",u[exports.ChainId.PALM_TESTNET]="",u[exports.ChainId.MOONRIVER]="0xf390830DF829cf22c53c8840554B98eafC5dCBc2",u[exports.ChainId.TELOS]="0x922D641a426DcFFaeF11680e5358F34d97d112E1",u[exports.ChainId.FUSE]="0x90708b20ccC1eb95a4FA7C8b18Fd2C22a0Ff9E78",u),$=((p={})[exports.ChainId.MAINNET]="0xc2EdaD668740f1aA35E4D8f227fB8E17dcA888Cd",p[exports.ChainId.ROPSTEN]="0x80C7DD17B01855a6D2347444a0FCC36136a314de",p[exports.ChainId.RINKEBY]="0x80C7DD17B01855a6D2347444a0FCC36136a314de",p[exports.ChainId.GÖRLI]="0x80C7DD17B01855a6D2347444a0FCC36136a314de",p[exports.ChainId.KOVAN]="0x80C7DD17B01855a6D2347444a0FCC36136a314de",p),ff=((h={})[exports.ChainId.MAINNET]="0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272",h[exports.ChainId.ROPSTEN]="0x1be211D8DA40BC0ae8719c6663307Bfc987b1d6c",h[exports.ChainId.RINKEBY]="0x1be211D8DA40BC0ae8719c6663307Bfc987b1d6c",h[exports.ChainId.GÖRLI]="0x1be211D8DA40BC0ae8719c6663307Bfc987b1d6c",h[exports.ChainId.KOVAN]="0x1be211D8DA40BC0ae8719c6663307Bfc987b1d6c",h),ef=((b={})[exports.ChainId.MAINNET]="0xE11fc0B43ab98Eb91e9836129d1ee7c3Bc95df50",b[exports.ChainId.ROPSTEN]="0x1b9d177CcdeA3c79B6c8F40761fc8Dc9d0500EAa",b[exports.ChainId.RINKEBY]="0x1b9d177CcdeA3c79B6c8F40761fc8Dc9d0500EAa",b[exports.ChainId.GÖRLI]="0x1b9d177CcdeA3c79B6c8F40761fc8Dc9d0500EAa",b[exports.ChainId.KOVAN]="0x1b9d177CcdeA3c79B6c8F40761fc8Dc9d0500EAa",b),tf=((C={})[exports.ChainId.MAINNET]="0x9a8541Ddf3a932a9A922B607e9CF7301f1d47bD1",C),nf=((x={})[exports.ChainId.MAINNET]="0xF5BCE5077908a1b7370B9ae04AdC565EBd643966",x[exports.ChainId.ROPSTEN]="0x6BdD85290001C8Aef74f35A7606065FA15aD5ACF",x[exports.ChainId.RINKEBY]="0xF5BCE5077908a1b7370B9ae04AdC565EBd643966",x[exports.ChainId.GÖRLI]="0xF5BCE5077908a1b7370B9ae04AdC565EBd643966",x[exports.ChainId.KOVAN]="0x9A0D9920D92c178a58D99B455898Df2df22A2eE4",x[exports.ChainId.FANTOM]="0xF5BCE5077908a1b7370B9ae04AdC565EBd643966",x[exports.ChainId.MATIC]="0x0319000133d3AdA02600f0875d2cf03D442C3367",x[exports.ChainId.MATIC_TESTNET]="0xF5BCE5077908a1b7370B9ae04AdC565EBd643966",x[exports.ChainId.XDAI]="0xE2d7F5dd869Fc7c126D21b13a9080e75a4bDb324",x[exports.ChainId.BSC]="0xF5BCE5077908a1b7370B9ae04AdC565EBd643966",x[exports.ChainId.BSC_TESTNET]="0xF5BCE5077908a1b7370B9ae04AdC565EBd643966",x[exports.ChainId.ARBITRUM]="0x74c764D41B77DBbb4fe771daB1939B00b146894A",x[exports.ChainId.AVALANCHE]="0x0711B6026068f736bae6B213031fCE978D48E026",x[exports.ChainId.HECO]="0xF5BCE5077908a1b7370B9ae04AdC565EBd643966",x[exports.ChainId.CELO]="0x0711B6026068f736bae6B213031fCE978D48E026",x[exports.ChainId.HARMONY]="0xA28cfF72b04f83A7E3f912e6ad34d5537708a2C2",x),rf=((I={})[exports.ChainId.MAINNET]="0x2cBA6Ab6574646Badc84F0544d05059e57a5dc42",I[exports.ChainId.KOVAN]="0x2cBA6Ab6574646Badc84F0544d05059e57a5dc42",I[exports.ChainId.MATIC]="0xB527C5295c4Bc348cBb3a2E96B2494fD292075a7",I[exports.ChainId.XDAI]="0x7a6DA9903d0a481F40b8336c1463487BC8C0407e",I[exports.ChainId.BSC]="0x2cBA6Ab6574646Badc84F0544d05059e57a5dc42",I[exports.ChainId.ARBITRUM]="0xa010eE0226cd071BeBd8919A1F675cAE1f1f5D3e",I[exports.ChainId.AVALANCHE]="0x513037395FA0C9c35E41f89189ceDfE3bD42fAdb",I[exports.ChainId.AVALANCHE_TESTNET]="",I[exports.ChainId.HECO]="0x2cBA6Ab6574646Badc84F0544d05059e57a5dc42",I),af=((A={})[exports.ChainId.MAINNET]="0x1766733112408b95239aD1951925567CB1203084",A[exports.ChainId.MATIC]="0xe9589382130Ded5DF2397E2fD7A3E9b41DD2701D",A[exports.ChainId.XDAI]="0xE02BDb31C353CE95A1D74F81C93eEa70Bf7371B9",A[exports.ChainId.BSC]="0x1766733112408b95239aD1951925567CB1203084",A[exports.ChainId.ARBITRUM]="0x0bFcD5dD76218bF9e3BE8A1055f9e6D27E5745eb",A[exports.ChainId.AVALANCHE]="0x062eee8B38ab5E8ee3bc58CE505939db53E63785",A[exports.ChainId.HECO]="0x1766733112408b95239aD1951925567CB1203084",A),of=((l={})[exports.ChainId.MAINNET]="0x545820d5Cc05248da112419fEfb18522c63C8e12",l[exports.ChainId.KOVAN]="0xc0c1649b2c67f1a9f5ff1dd618188165e2555bcf",l[exports.ChainId.MATIC]="0x73BE093B84c773fe8eE0f76DDc0829E45c215415",l[exports.ChainId.XDAI]="0x735f0FbEb3b6389986BcaAf073Af07D2F8be2b93",l[exports.ChainId.BSC]="0x86c655cAc122e9A2fd9Ae1f79Df27b30E357968c",l[exports.ChainId.ARBITRUM]="0xbe7D5968296843756109D42946D01195320922EF",l[exports.ChainId.AVALANCHE]="0xB7C8b5BFcd7212f034Be42a2aAb08b8773B76920",l),sf=((T={})[exports.ChainId.MAINNET]="0xB527C5295c4Bc348cBb3a2E96B2494fD292075a7",T[exports.ChainId.KOVAN]="0x75AE0Aa596D39b20addC921DeB5EE3c96279dABE",T[exports.ChainId.MATIC]="0xDB6C4EDd9545d3b815dA85E6429B699c418886f9",T[exports.ChainId.XDAI]="0x07b6e34EeCF38B02e83b6B4702699717e298967E",T[exports.ChainId.BSC]="0x1B16149Edaf1EFa6ADE6aEEF33e63C6e08c9bB1B",T[exports.ChainId.ARBITRUM]="0x860D841bfD1cfEf72A14B2b734005799F07dC7ED",T[exports.ChainId.AVALANCHE]="0x2c46217Fae90D302d1Fb5467ADA504bC2A84f448",T),df=((E={})[exports.ChainId.MAINNET]="0x00632CFe43d8F9f8E6cD0d39Ffa3D4fa7ec73CFB",E[exports.ChainId.MATIC]="0x00632CFe43d8F9f8E6cD0d39Ffa3D4fa7ec73CFB",E[exports.ChainId.XDAI]="0x00632CFe43d8F9f8E6cD0d39Ffa3D4fa7ec73CFB",E[exports.ChainId.BSC]="0x00632CFe43d8F9f8E6cD0d39Ffa3D4fa7ec73CFB",E[exports.ChainId.ARBITRUM]="0xB2B5C26B6868be10fF77e4E233fD231ceB90162a",E[exports.ChainId.AVALANCHE]="0x43198B6fA5d89B88D2E072fA4841724571De5A59",E),cf=((y={})[exports.ChainId.MAINNET]="0x11Ca5375AdAfd6205E41131A4409f182677996E6",y[exports.ChainId.KOVAN]="0x11Ca5375AdAfd6205E41131A4409f182677996E6",y[exports.ChainId.MATIC]="0xA77a7fD5a16237B85E0FAd02C51f459D18AE93Cd",y[exports.ChainId.XDAI]="0x97e4a0fb71243A83A6FbaEF7Cf73617594e4cF2F",y[exports.ChainId.BSC]="0x11Ca5375AdAfd6205E41131A4409f182677996E6",y[exports.ChainId.ARBITRUM]="0x9AF28d4f7Fa007686958c306BD4c8c52c2b615b8",y[exports.ChainId.AVALANCHE]="0xD18cA07a599bf5eBb9B7327871ad682F0b660748",y[exports.ChainId.HECO]="0x11Ca5375AdAfd6205E41131A4409f182677996E6",y),uf=((m={})[exports.ChainId.KOVAN]="0xce9365dB1C99897f04B3923C03ba9a5f80E8DB87",m[exports.ChainId.MATIC]="0x1aDb3Bd86bb01797667eC382a0BC6A9854b4005f",m[exports.ChainId.AVALANCHE]="0xf6f9c9DB78AF5791A296c4bF34d59E0236E990E0",m),pf=((D={})[exports.ChainId.MAINNET]="0x9917C083FF9FbD29Df1367FBF7F2388A9a202431",D),hf=((O={})[exports.ChainId.MATIC]="0x0769fd68dFb93167989C6f7254cd0D766Fb2841F",O[exports.ChainId.XDAI]="0xdDCbf776dF3dE60163066A5ddDF2277cB445E0F3",O[exports.ChainId.HARMONY]="0x67dA5f2FfaDDfF067AB9d5F025F8810634d84287",O[exports.ChainId.ARBITRUM]="0xF4d73326C13a4Fc5FD7A064217e12780e9Bd62c3",O[exports.ChainId.CELO]="0x8084936982D089130e001b470eDf58faCA445008",O[exports.ChainId.MOONRIVER]="0x3dB01570D97631f69bbb0ba39796865456Cf89A5",O[exports.ChainId.FUSE]="0x182CD0C6F1FaEc0aED2eA83cd0e160c8Bd4cb063",O),bf=((v={})[exports.ChainId.CELO]="0x0769fd68dFb93167989C6f7254cd0D766Fb2841F",v),Cf=((N={})[exports.ChainId.MAINNET]="0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",N[exports.ChainId.ROPSTEN]="0xc778417E063141139Fce010982780140Aa0cD5Ab",N[exports.ChainId.RINKEBY]="0xc778417E063141139Fce010982780140Aa0cD5Ab",N[exports.ChainId.GÖRLI]="0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6",N[exports.ChainId.KOVAN]="0xd0A1E359811322d97991E03f863a0C30C2cF029C",N[exports.ChainId.ARBITRUM]="0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",N[exports.ChainId.ARBITRUM_TESTNET]="0xf8456e5e6A225C2C1D74D8C9a4cB2B1d5dc1153b",N[exports.ChainId.BSC]="0x2170Ed0880ac9A755fd29B2688956BD959F933F8",N[exports.ChainId.FANTOM]="0x74b23882a30290451A17c44f4F05243b6b58C76d",N[exports.ChainId.MATIC]="0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619",N[exports.ChainId.OKEX]="0x2170Ed0880ac9A755fd29B2688956BD959F933F8",N[exports.ChainId.HECO]="0x64FF637fB478863B7468bc97D30a5bF3A428a1fD",N[exports.ChainId.HARMONY]="0x6983D1E6DEf3690C4d616b13597A09e6193EA013",N[exports.ChainId.XDAI]="0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1",N[exports.ChainId.AVALANCHE]="0xf20d962a6c8f70c731bd838a3a388D7d48fA6e15",N[exports.ChainId.CELO]="0x122013fd7dF1C6F636a5bb8f03108E876548b455",N),xf=((B={})[exports.ChainId.MAINNET]=Cf[exports.ChainId.MAINNET],B[exports.ChainId.ROPSTEN]=Cf[exports.ChainId.ROPSTEN],B[exports.ChainId.RINKEBY]=Cf[exports.ChainId.RINKEBY],B[exports.ChainId.GÖRLI]=Cf[exports.ChainId.GÖRLI],B[exports.ChainId.KOVAN]=Cf[exports.ChainId.KOVAN],B[exports.ChainId.ARBITRUM]=Cf[exports.ChainId.ARBITRUM],B[exports.ChainId.ARBITRUM_TESTNET]=Cf[exports.ChainId.ARBITRUM_TESTNET],B[exports.ChainId.FANTOM]="0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83",B[exports.ChainId.FANTOM_TESTNET]="0xf1277d1Ed8AD466beddF92ef448A132661956621",B[exports.ChainId.MATIC]="0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",B[exports.ChainId.MATIC_TESTNET]="0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",B[exports.ChainId.XDAI]="0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d",B[exports.ChainId.BSC]="0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c",B[exports.ChainId.BSC_TESTNET]="0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd",B[exports.ChainId.MOONBEAM_TESTNET]="0xe73763DB808ecCDC0E36bC8E32510ED126910394",B[exports.ChainId.AVALANCHE]="0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7",B[exports.ChainId.AVALANCHE_TESTNET]="0xd00ae08403B9bbb9124bB305C09058E32C39A48c",B[exports.ChainId.HECO]="0x5545153CCFcA01fbd7Dd11C0b23ba694D9509A6F",B[exports.ChainId.HECO_TESTNET]="0x5B2DA6F42CA09C77D577a12BeaD0446148830687",B[exports.ChainId.HARMONY]="0xcF664087a5bB0237a0BAd6742852ec6c8d69A27a",B[exports.ChainId.HARMONY_TESTNET]="0x7a2afac38517d512E55C0bCe3b6805c10a04D60F",B[exports.ChainId.OKEX]="0x8F8526dbfd6E38E3D8307702cA8469Bae6C56C15",B[exports.ChainId.OKEX_TESTNET]="0x2219845942d28716c0F7C605765fABDcA1a7d9E0",B[exports.ChainId.CELO]="0x471EcE3750Da237f93B8E339c536989b8978a438",B[exports.ChainId.PALM]="0xF98cABF0a963452C5536330408B2590567611a71",B[exports.ChainId.MOONRIVER]="0xf50225a84382c74CbdeA10b0c176f71fc3DE0C4d",B[exports.ChainId.FUSE]="0x0BE9e53fd7EDaC9F859882AfdDa116645287C629",B[exports.ChainId.TELOS]="0xD102cE6A4dB07D247fcc28F366A623Df0938CA9E",B),If=((R={})[exports.ChainId.MAINNET]="0xEF0881eC094552b2e128Cf945EF17a6752B4Ec5d",R),Af=((S={})[exports.ChainId.MAINNET]="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",S[exports.ChainId.GÖRLI]="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",S[exports.ChainId.ROPSTEN]="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",S[exports.ChainId.RINKEBY]="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",S),lf=((F={})[exports.ChainId.MAINNET]="0xcff6eF0B9916682B37D80c19cFF8949bc1886bC2",F[exports.ChainId.ROPSTEN]="0xcff6eF0B9916682B37D80c19cFF8949bc1886bC2",F),Tf=((g={})[exports.ChainId.MAINNET]="0xcBE6B83e77cdc011Cc18F6f0Df8444E5783ed982",g[exports.ChainId.ROPSTEN]="0x84d1f7202e0e7dac211617017ca72a2cb5e2b955",g),Ef=((_={})[exports.ChainId.MAINNET]="0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696",_[exports.ChainId.ROPSTEN]="0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696",_[exports.ChainId.RINKEBY]="0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696",_[exports.ChainId.GÖRLI]="0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696",_[exports.ChainId.KOVAN]="0x5BA1e12693Dc8F9c48aAD8770482f4739bEeD696",_[exports.ChainId.ARBITRUM]="0x80C7DD17B01855a6D2347444a0FCC36136a314de",_[exports.ChainId.ARBITRUM_TESTNET]="0xa501c031958F579dB7676fF1CE78AD305794d579",_[exports.ChainId.CELO]="0x9aac9048fC8139667D6a2597B902865bfdc225d3",_[exports.ChainId.FANTOM]="0x22D4cF72C45F8198CfbF4B568dBdB5A85e8DC0B5",_[exports.ChainId.MATIC]="0x02817C1e3543c2d908a590F5dB6bc97f933dB4BD",_[exports.ChainId.MATIC_TESTNET]="0xc1400d49baa8e307B4462cD46E0a20109D25F50f",_[exports.ChainId.XDAI]="0x67dA5f2FfaDDfF067AB9d5F025F8810634d84287",_[exports.ChainId.BSC]="0xa9193376D09C7f31283C54e56D013fCF370Cd9D9",_[exports.ChainId.AVALANCHE]="0xdDCbf776dF3dE60163066A5ddDF2277cB445E0F3",_[exports.ChainId.HECO]="0xdDCbf776dF3dE60163066A5ddDF2277cB445E0F3",_[exports.ChainId.HARMONY]="0xdDCbf776dF3dE60163066A5ddDF2277cB445E0F3",_[exports.ChainId.OKEX]="0xF4d73326C13a4Fc5FD7A064217e12780e9Bd62c3",_[exports.ChainId.PALM]="0x0769fd68dFb93167989C6f7254cd0D766Fb2841F",_[exports.ChainId.MOONRIVER]="0x270f2F35bED92B7A59eA5F08F6B3fd34c8D9D9b5",_[exports.ChainId.FUSE]="0x0769fd68dFb93167989C6f7254cd0D766Fb2841F",_[exports.ChainId.TELOS]="0xdDCbf776dF3dE60163066A5ddDF2277cB445E0F3",_),yf=w.BigNumber.from("700000000000000000"),mf=w.BigNumber.from("800000000000000000"),Df=w.BigNumber.from("1000000000000000000"),Of=w.BigNumber.from("1000000000000000000"),vf=Of.sub(mf),Nf=w.BigNumber.from(317097920).mul(w.BigNumber.from(60)).mul(w.BigNumber.from(60)).mul(w.BigNumber.from(24)).mul(w.BigNumber.from(365)),Bf=w.BigNumber.from(79274480).mul(w.BigNumber.from(60)).mul(w.BigNumber.from(60)).mul(w.BigNumber.from(24)).mul(w.BigNumber.from(365)),Rf=w.BigNumber.from(31709792e4).mul(w.BigNumber.from(60)).mul(w.BigNumber.from(60)).mul(w.BigNumber.from(24)).mul(w.BigNumber.from(365)),Sf=w.BigNumber.from("28800000000000000000000000000000000000000"),Ff=w.BigNumber.from("1000000000000000000"),gf=w.BigNumber.from("10000"),_f=w.BigNumber.from("100000");function Mf(f,e,t,n,r,a,i){try{var o=f[a](i),s=o.value}catch(f){return void t(f)}o.done?e(s):Promise.resolve(s).then(n,r)}function wf(f){return function(){var e=this,t=arguments;return new Promise((function(n,r){var a=f.apply(e,t);function i(f){Mf(a,n,r,i,o,"next",f)}function o(f){Mf(a,n,r,i,o,"throw",f)}i(void 0)}))}}function kf(f,e){for(var t=0;t<e.length;t++){var n=e[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(f,n.key,n)}}function Lf(f,e,t){return e&&kf(f.prototype,e),t&&kf(f,t),Object.defineProperty(f,"prototype",{writable:!1}),f}function Pf(){return(Pf=Object.assign||function(f){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(f[n]=t[n])}return f}).apply(this,arguments)}function qf(f,e){f.prototype=Object.create(e.prototype),f.prototype.constructor=f,Uf(f,e)}function Hf(f){return(Hf=Object.setPrototypeOf?Object.getPrototypeOf:function(f){return f.__proto__||Object.getPrototypeOf(f)})(f)}function Uf(f,e){return(Uf=Object.setPrototypeOf||function(f,e){return f.__proto__=e,f})(f,e)}function Vf(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(f){return!1}}function Wf(f,e,t){return(Wf=Vf()?Reflect.construct:function(f,e,t){var n=[null];n.push.apply(n,e);var r=new(Function.bind.apply(f,n));return t&&Uf(r,t.prototype),r}).apply(null,arguments)}function Kf(f){var e="function"==typeof Map?new Map:void 0;return(Kf=function(f){if(null===f||-1===Function.toString.call(f).indexOf("[native code]"))return f;if("function"!=typeof f)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(f))return e.get(f);e.set(f,t)}function t(){return Wf(f,arguments,Hf(this).constructor)}return t.prototype=Object.create(f.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Uf(t,f)})(f)}function Xf(f){if(void 0===f)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f}function Yf(f,e){(null==e||e>f.length)&&(e=f.length);for(var t=0,n=new Array(e);t<e;t++)n[t]=f[t];return n}function Gf(f,e){var t="undefined"!=typeof Symbol&&f[Symbol.iterator]||f["@@iterator"];if(t)return(t=t.call(f)).next.bind(t);if(Array.isArray(f)||(t=function(f,e){if(f){if("string"==typeof f)return Yf(f,void 0);var t=Object.prototype.toString.call(f).slice(8,-1);return"Object"===t&&f.constructor&&(t=f.constructor.name),"Map"===t||"Set"===t?Array.from(f):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Yf(f,void 0):void 0}}(f))||e&&f&&"number"==typeof f.length){t&&(f=t);var n=0;return function(){return n>=f.length?{done:!0}:{done:!1,value:f[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var jf=function(){function f(f,e,t,n){Number.isSafeInteger(f)||k(!1),e>=0&&e<255&&Number.isInteger(e)||k(!1),this.chainId=f,this.decimals=e,this.symbol=t,this.name=n}return f.prototype.serialize=function(){return this.wrapped.address},f}(),Zf=function(f){function e(){var e;return(e=f.apply(this,arguments)||this).isNative=!0,e.isToken=!1,e}return qf(e,f),e}(jf);function zf(f){try{return L.getAddress(f)}catch(f){k(!1)}}var Jf,Qf,$f,fe,ee=function(f){function e(e,t,n,r,a){var i;return(i=f.call(this,e,n,r,a)||this).isNative=!1,i.isToken=!0,i.chainId=e,i.address=zf(t),i}qf(e,f);var t=e.prototype;return t.equals=function(f){return f.isToken&&this.chainId===f.chainId&&this.address===f.address},t.sortsBefore=function(f){return this.chainId!==f.chainId&&k(!1),this.address===f.address&&k(!1),this.address.toLowerCase()<f.address.toLowerCase()},Lf(e,[{key:"wrapped",get:function(){return this}}]),e}(jf),te=((Jf={})[exports.ChainId.MAINNET]=new ee(exports.ChainId.MAINNET,j[exports.ChainId.MAINNET],6,"USDC","USD Coin"),Jf[exports.ChainId.ROPSTEN]=new ee(exports.ChainId.ROPSTEN,j[exports.ChainId.ROPSTEN],6,"USDC","USD Coin"),Jf[exports.ChainId.KOVAN]=new ee(exports.ChainId.KOVAN,j[exports.ChainId.KOVAN],6,"USDC","USD Coin"),Jf[exports.ChainId.MATIC]=new ee(exports.ChainId.MATIC,j[exports.ChainId.MATIC],6,"USDC","USD Coin"),Jf[exports.ChainId.FANTOM]=new ee(exports.ChainId.FANTOM,j[exports.ChainId.FANTOM],6,"USDC","USD Coin"),Jf[exports.ChainId.BSC]=new ee(exports.ChainId.BSC,j[exports.ChainId.BSC],18,"USDC","USD Coin"),Jf[exports.ChainId.HARMONY]=new ee(exports.ChainId.HARMONY,j[exports.ChainId.HARMONY],6,"USDC","USD Coin"),Jf[exports.ChainId.HECO]=new ee(exports.ChainId.HECO,j[exports.ChainId.HECO],6,"USDC","USD Coin"),Jf[exports.ChainId.OKEX]=new ee(exports.ChainId.OKEX,j[exports.ChainId.OKEX],18,"USDC","USD Coin"),Jf[exports.ChainId.XDAI]=new ee(exports.ChainId.XDAI,j[exports.ChainId.XDAI],6,"USDC","USD Coin"),Jf[exports.ChainId.ARBITRUM]=new ee(exports.ChainId.ARBITRUM,j[exports.ChainId.ARBITRUM],6,"USDC","USD Coin"),Jf[exports.ChainId.MOONRIVER]=new ee(exports.ChainId.MOONRIVER,j[exports.ChainId.MOONRIVER],6,"USDC","USD Coin"),Jf[exports.ChainId.FUSE]=new ee(exports.ChainId.FUSE,j[exports.ChainId.FUSE],6,"USDC","USD Coin"),Jf),ne=Pf({},te,((Qf={})[exports.ChainId.CELO]=new ee(exports.ChainId.CELO,Z[exports.ChainId.CELO],18,"cUSD","Celo Dollar"),Qf)),re=(($f={})[exports.ChainId.MAINNET]=new ee(exports.ChainId.MAINNET,Cf[exports.ChainId.MAINNET],18,"WETH","Wrapped Ether"),$f[exports.ChainId.ROPSTEN]=new ee(exports.ChainId.ROPSTEN,Cf[exports.ChainId.ROPSTEN],18,"WETH","Wrapped Ether"),$f[exports.ChainId.RINKEBY]=new ee(exports.ChainId.RINKEBY,Cf[exports.ChainId.RINKEBY],18,"WETH","Wrapped Ether"),$f[exports.ChainId.GÖRLI]=new ee(exports.ChainId.GÖRLI,Cf[exports.ChainId.GÖRLI],18,"WETH","Wrapped Ether"),$f[exports.ChainId.KOVAN]=new ee(exports.ChainId.KOVAN,Cf[exports.ChainId.KOVAN],18,"WETH","Wrapped Ether"),$f[exports.ChainId.ARBITRUM]=new ee(exports.ChainId.ARBITRUM,Cf[exports.ChainId.ARBITRUM],18,"WETH","Wrapped Ether"),$f[exports.ChainId.ARBITRUM_TESTNET]=new ee(exports.ChainId.ARBITRUM_TESTNET,Cf[exports.ChainId.ARBITRUM_TESTNET],18,"WETH","Wrapped Ether"),$f[exports.ChainId.BSC]=new ee(exports.ChainId.BSC,Cf[exports.ChainId.BSC],18,"WETH","Wrapped Ether"),$f[exports.ChainId.FANTOM]=new ee(exports.ChainId.FANTOM,Cf[exports.ChainId.FANTOM],18,"WETH","Wrapped Ether"),$f[exports.ChainId.MATIC]=new ee(exports.ChainId.MATIC,Cf[exports.ChainId.MATIC],18,"WETH","Wrapped Ether"),$f[exports.ChainId.OKEX]=new ee(exports.ChainId.OKEX,Cf[exports.ChainId.OKEX],18,"WETH","Wrapped Ether"),$f[exports.ChainId.HECO]=new ee(exports.ChainId.HECO,Cf[exports.ChainId.HECO],18,"WETH","Wrapped Ether"),$f[exports.ChainId.HARMONY]=new ee(exports.ChainId.HARMONY,Cf[exports.ChainId.HARMONY],18,"WETH","Wrapped Ether"),$f[exports.ChainId.XDAI]=new ee(exports.ChainId.XDAI,Cf[exports.ChainId.XDAI],18,"WETH","Wrapped Ether"),$f[exports.ChainId.AVALANCHE]=new ee(exports.ChainId.AVALANCHE,Cf[exports.ChainId.AVALANCHE],18,"WETH","Wrapped Ether"),$f),ae=((fe={})[exports.ChainId.MAINNET]=re[exports.ChainId.MAINNET],fe[exports.ChainId.ROPSTEN]=re[exports.ChainId.ROPSTEN],fe[exports.ChainId.RINKEBY]=re[exports.ChainId.RINKEBY],fe[exports.ChainId.GÖRLI]=re[exports.ChainId.GÖRLI],fe[exports.ChainId.KOVAN]=re[exports.ChainId.KOVAN],fe[exports.ChainId.FANTOM]=new ee(exports.ChainId.FANTOM,xf[exports.ChainId.FANTOM],18,"WFTM","Wrapped FTM"),fe[exports.ChainId.FANTOM_TESTNET]=new ee(exports.ChainId.FANTOM_TESTNET,xf[exports.ChainId.FANTOM_TESTNET],18,"FTM","Wrapped FTM"),fe[exports.ChainId.MATIC]=new ee(exports.ChainId.MATIC,xf[exports.ChainId.MATIC],18,"WMATIC","Wrapped Matic"),fe[exports.ChainId.MATIC_TESTNET]=new ee(exports.ChainId.MATIC_TESTNET,xf[exports.ChainId.MATIC_TESTNET],18,"WMATIC","Wrapped Matic"),fe[exports.ChainId.XDAI]=new ee(exports.ChainId.XDAI,xf[exports.ChainId.XDAI],18,"WXDAI","Wrapped xDai"),fe[exports.ChainId.BSC]=new ee(exports.ChainId.BSC,xf[exports.ChainId.BSC],18,"WBNB","Wrapped BNB"),fe[exports.ChainId.BSC_TESTNET]=new ee(exports.ChainId.BSC_TESTNET,xf[exports.ChainId.BSC_TESTNET],18,"WBNB","Wrapped BNB"),fe[exports.ChainId.ARBITRUM]=re[exports.ChainId.ARBITRUM],fe[exports.ChainId.ARBITRUM_TESTNET]=re[exports.ChainId.ARBITRUM_TESTNET],fe[exports.ChainId.MOONBEAM_TESTNET]=new ee(exports.ChainId.MOONBEAM_TESTNET,xf[exports.ChainId.MOONBEAM_TESTNET],18,"WETH","Wrapped Ether"),fe[exports.ChainId.AVALANCHE]=new ee(exports.ChainId.AVALANCHE,xf[exports.ChainId.AVALANCHE],18,"WAVAX","Wrapped AVAX"),fe[exports.ChainId.AVALANCHE_TESTNET]=new ee(exports.ChainId.AVALANCHE_TESTNET,xf[exports.ChainId.AVALANCHE_TESTNET],18,"WAVAX","Wrapped AVAX"),fe[exports.ChainId.HECO]=new ee(exports.ChainId.HECO,xf[exports.ChainId.HECO],18,"WHT","Wrapped HT"),fe[exports.ChainId.HECO_TESTNET]=new ee(exports.ChainId.HECO_TESTNET,xf[exports.ChainId.HECO_TESTNET],18,"WHT","Wrapped HT"),fe[exports.ChainId.HARMONY]=new ee(exports.ChainId.HARMONY,xf[exports.ChainId.HARMONY],18,"WONE","Wrapped ONE"),fe[exports.ChainId.HARMONY_TESTNET]=new ee(exports.ChainId.HARMONY_TESTNET,xf[exports.ChainId.HARMONY_TESTNET],18,"WONE","Wrapped ONE"),fe[exports.ChainId.OKEX]=new ee(exports.ChainId.OKEX,xf[exports.ChainId.OKEX],18,"WOKT","Wrapped OKExChain"),fe[exports.ChainId.OKEX_TESTNET]=new ee(exports.ChainId.OKEX_TESTNET,xf[exports.ChainId.OKEX_TESTNET],18,"WOKT","Wrapped OKExChain"),fe[exports.ChainId.CELO]=new ee(exports.ChainId.CELO,xf[exports.ChainId.CELO],18,"CELO","Celo"),fe[exports.ChainId.PALM]=new ee(exports.ChainId.PALM,xf[exports.ChainId.PALM],18,"WPALM","Wrapped Palm"),fe[exports.ChainId.MOONRIVER]=new ee(exports.ChainId.MOONRIVER,xf[exports.ChainId.MOONRIVER],18,"WMOVR","Wrapped Moonriver"),fe[exports.ChainId.FUSE]=new ee(exports.ChainId.FUSE,xf[exports.ChainId.FUSE],18,"WFUSE","Wrapped Fuse"),fe[exports.ChainId.TELOS]=new ee(exports.ChainId.TELOS,xf[exports.ChainId.TELOS],18,"WTLOS","Wrapped Telos"),fe),ie=function(f){function e(e){return f.call(this,e,18,"AVAX","Avalanche")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._cache[f])?t:this._cache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=ae[this.chainId];return f||k(!1),f}}]),e}(Zf);ie._cache={};var oe=function(f){function e(e){return f.call(this,e,18,"BNB","Binance Coin")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._cache[f])?t:this._cache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=ae[this.chainId];return f||k(!1),f}}]),e}(Zf);oe._cache={};var se=function(f){function e(e){return f.call(this,e,18,"CELO","Celo")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._cache[f])?t:this._cache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=ae[this.chainId];return f||k(!1),f}}]),e}(Zf);se._cache={};var de=function(f){function e(e){return f.call(this,e,18,"ETH","Ether")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._etherCache[f])?t:this._etherCache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=re[this.chainId];return f||k(!1),f}}]),e}(Zf);de._etherCache={};var ce=function(f){function e(e){return f.call(this,e,18,"FTM","Fantom")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._cache[f])?t:this._cache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=ae[this.chainId];return f||k(!1),f}}]),e}(Zf);ce._cache={};var ue=function(f){function e(e){return f.call(this,e,18,"ONE","Harmony")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._cache[f])?t:this._cache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=ae[this.chainId];return f||k(!1),f}}]),e}(Zf);ue._cache={};var pe=function(f){function e(e){return f.call(this,e,18,"HT","Huobi Token")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._cache[f])?t:this._cache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=ae[this.chainId];return f||k(!1),f}}]),e}(Zf);pe._cache={};var he=function(f){function e(e){return f.call(this,e,18,"MATIC","Matic")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._cache[f])?t:this._cache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=ae[this.chainId];return f||k(!1),f}}]),e}(Zf);he._cache={};var be=function(f){function e(e){return f.call(this,e,18,"MOVR","Moonriver")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._cache[f])?t:this._cache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=ae[this.chainId];return f||k(!1),f}}]),e}(Zf);be._cache={};var Ce=function(f){function e(e){return f.call(this,e,18,"OKT","OKExChain")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._cache[f])?t:this._cache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=ae[this.chainId];return f||k(!1),f}}]),e}(Zf);Ce._cache={};var xe=function(f){function e(e){return f.call(this,e,18,"XDAI","xDai")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._cache[f])?t:this._cache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=ae[this.chainId];return f||k(!1),f}}]),e}(Zf);xe._cache={};var Ie=function(f){function e(e){return f.call(this,e,18,"PALM","Palm")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._cache[f])?t:this._cache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=ae[this.chainId];return f||k(!1),f}}]),e}(Zf);Ie._cache={};var Ae=function(f){function e(e){return f.call(this,e,18,"FUSE","Fuse")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._cache[f])?t:this._cache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=ae[this.chainId];return f||k(!1),f}}]),e}(Zf);Ae._cache={};var le,Te=function(f){function e(e){return f.call(this,e,18,"TLOS","Telos")||this}return qf(e,f),e.onChain=function(f){var t;return null!=(t=this._cache[f])?t:this._cache[f]=new e(f)},e.prototype.equals=function(f){return f.isNative&&f.chainId===this.chainId},Lf(e,[{key:"wrapped",get:function(){var f=ae[this.chainId];return f||k(!1),f}}]),e}(Zf);Te._cache={};var Ee,ye,me,De=((le={})[exports.ChainId.MAINNET]=de.onChain(exports.ChainId.MAINNET),le[exports.ChainId.ROPSTEN]=de.onChain(exports.ChainId.ROPSTEN),le[exports.ChainId.RINKEBY]=de.onChain(exports.ChainId.RINKEBY),le[exports.ChainId.GÖRLI]=de.onChain(exports.ChainId.GÖRLI),le[exports.ChainId.KOVAN]=de.onChain(exports.ChainId.KOVAN),le[exports.ChainId.FANTOM]=ce.onChain(exports.ChainId.FANTOM),le[exports.ChainId.FANTOM_TESTNET]=ce.onChain(exports.ChainId.FANTOM_TESTNET),le[exports.ChainId.MATIC]=he.onChain(exports.ChainId.MATIC),le[exports.ChainId.MATIC_TESTNET]=he.onChain(exports.ChainId.MATIC_TESTNET),le[exports.ChainId.XDAI]=xe.onChain(exports.ChainId.XDAI),le[exports.ChainId.BSC]=oe.onChain(exports.ChainId.BSC),le[exports.ChainId.BSC_TESTNET]=oe.onChain(exports.ChainId.BSC_TESTNET),le[exports.ChainId.ARBITRUM]=de.onChain(exports.ChainId.ARBITRUM),le[exports.ChainId.AVALANCHE]=ie.onChain(exports.ChainId.AVALANCHE),le[exports.ChainId.AVALANCHE_TESTNET]=ie.onChain(exports.ChainId.AVALANCHE_TESTNET),le[exports.ChainId.HECO]=pe.onChain(exports.ChainId.HECO),le[exports.ChainId.HECO_TESTNET]=pe.onChain(exports.ChainId.HECO_TESTNET),le[exports.ChainId.HARMONY]=ue.onChain(exports.ChainId.HARMONY),le[exports.ChainId.HARMONY_TESTNET]=ue.onChain(exports.ChainId.HARMONY_TESTNET),le[exports.ChainId.OKEX]=Ce.onChain(exports.ChainId.OKEX),le[exports.ChainId.OKEX_TESTNET]=Ce.onChain(exports.ChainId.OKEX_TESTNET),le[exports.ChainId.CELO]=se.onChain(exports.ChainId.CELO),le[exports.ChainId.PALM]=Ie.onChain(exports.ChainId.PALM),le[exports.ChainId.MOONRIVER]=be.onChain(exports.ChainId.MOONRIVER),le[exports.ChainId.FUSE]=Ae.onChain(exports.ChainId.FUSE),le[exports.ChainId.TELOS]=Te.onChain(exports.ChainId.TELOS),le),Oe=M.BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),ve=M.BigInt(0),Ne=M.BigInt(1),Be=M.BigInt(2),Re=M.BigInt(3),Se=M.BigInt(5),Fe=M.BigInt(10),ge=M.BigInt(100),_e=M.BigInt(997),Me=M.BigInt(1e3),we=((Ee={})[exports.ChainId.MAINNET]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.ROPSTEN]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.RINKEBY]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.GÖRLI]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.KOVAN]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.FANTOM]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.MATIC]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.MATIC_TESTNET]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.XDAI]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.BSC]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.BSC_TESTNET]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.ARBITRUM]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.MOONBEAM_TESTNET]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.AVALANCHE]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.AVALANCHE_TESTNET]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.HECO]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.HECO_TESTNET]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.HARMONY]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.HARMONY_TESTNET]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.OKEX]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.OKEX_TESTNET]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.CELO]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.PALM]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.MOONRIVER]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee[exports.ChainId.FUSE]="0x1901958ef8b470f2c0a3875a79ee0bd303866d85102c0f1ea820d317024d50b5",Ee[exports.ChainId.TELOS]="0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303",Ee),ke=M.BigInt(1e3);(me=exports.SolidityType||(exports.SolidityType={})).uint8="uint8",me.uint256="uint256";var Le,Pe,qe=((ye={})[exports.SolidityType.uint8]=M.BigInt("0xff"),ye[exports.SolidityType.uint256]=M.BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),ye),He="https://9epjsvomc4.execute-api.us-east-1.amazonaws.com/dev",Ue="setPrototypeOf"in Object,Ve=function(f){function e(){var t;return(t=f.call(this)||this).isInsufficientReservesError=!0,t.name=t.constructor.name,Ue&&Object.setPrototypeOf(Xf(t),(this instanceof e?this.constructor:void 0).prototype),t}return qf(e,f),e}(Kf(Error)),We=function(f){function e(){var t;return(t=f.call(this)||this).isInsufficientInputAmountError=!0,t.name=t.constructor.name,Ue&&Object.setPrototypeOf(Xf(t),(this instanceof e?this.constructor:void 0).prototype),t}return qf(e,f),e}(Kf(Error)),Ke=H(q),Xe=H(P);Xe.strict=!0;var Ye=((Le={})[exports.Rounding.ROUND_DOWN]=Ke.ROUND_DOWN,Le[exports.Rounding.ROUND_HALF_UP]=Ke.ROUND_HALF_UP,Le[exports.Rounding.ROUND_UP]=Ke.ROUND_UP,Le),Ge=((Pe={})[exports.Rounding.ROUND_DOWN]=0,Pe[exports.Rounding.ROUND_HALF_UP]=1,Pe[exports.Rounding.ROUND_UP]=3,Pe),je=function(){function f(f,e){void 0===e&&(e=M.BigInt(1)),this.numerator=M.BigInt(f),this.denominator=M.BigInt(e)}f.tryParseFraction=function(e){if(e instanceof M||"number"==typeof e||"string"==typeof e)return new f(e);if("numerator"in e&&"denominator"in e)return e;throw new Error("Could not parse fraction")};var e=f.prototype;return e.invert=function(){return new f(this.denominator,this.numerator)},e.add=function(e){var t=f.tryParseFraction(e);return M.equal(this.denominator,t.denominator)?new f(M.add(this.numerator,t.numerator),this.denominator):new f(M.add(M.multiply(this.numerator,t.denominator),M.multiply(t.numerator,this.denominator)),M.multiply(this.denominator,t.denominator))},e.subtract=function(e){var t=f.tryParseFraction(e);return M.equal(this.denominator,t.denominator)?new f(M.subtract(this.numerator,t.numerator),this.denominator):new f(M.subtract(M.multiply(this.numerator,t.denominator),M.multiply(t.numerator,this.denominator)),M.multiply(this.denominator,t.denominator))},e.lessThan=function(e){var t=f.tryParseFraction(e);return M.lessThan(M.multiply(this.numerator,t.denominator),M.multiply(t.numerator,this.denominator))},e.equalTo=function(e){var t=f.tryParseFraction(e);return M.equal(M.multiply(this.numerator,t.denominator),M.multiply(t.numerator,this.denominator))},e.greaterThan=function(e){var t=f.tryParseFraction(e);return M.greaterThan(M.multiply(this.numerator,t.denominator),M.multiply(t.numerator,this.denominator))},e.multiply=function(e){var t=f.tryParseFraction(e);return new f(M.multiply(this.numerator,t.numerator),M.multiply(this.denominator,t.denominator))},e.divide=function(e){var t=f.tryParseFraction(e);return new f(M.multiply(this.numerator,t.denominator),M.multiply(this.denominator,t.numerator))},e.toSignificant=function(f,e,t){void 0===e&&(e={groupSeparator:""}),void 0===t&&(t=exports.Rounding.ROUND_HALF_UP),Number.isInteger(f)||k(!1),f>0||k(!1),Ke.set({precision:f+1,rounding:Ye[t]});var n=new Ke(this.numerator.toString()).div(this.denominator.toString()).toSignificantDigits(f);return n.toFormat(n.decimalPlaces(),e)},e.toFixed=function(f,e,t){return void 0===e&&(e={groupSeparator:""}),void 0===t&&(t=exports.Rounding.ROUND_HALF_UP),Number.isInteger(f)||k(!1),f>=0||k(!1),Xe.DP=f,Xe.RM=Ge[t],new Xe(this.numerator.toString()).div(this.denominator.toString()).toFormat(f,e)},Lf(f,[{key:"quotient",get:function(){return M.divide(this.numerator,this.denominator)}},{key:"remainder",get:function(){return new f(M.remainder(this.numerator,this.denominator),this.denominator)}},{key:"asFraction",get:function(){return new f(this.numerator,this.denominator)}}]),f}(),Ze=H(P);Ze.strict=!0;var ze=function(f){function e(e,t,n){var r;return r=f.call(this,t,n)||this,M.lessThanOrEqual(r.quotient,Oe)||k(!1),r.currency=e,r.decimalScale=M.exponentiate(M.BigInt(10),M.BigInt(e.decimals)),r}qf(e,f),e.fromRawAmount=function(f,t){return new e(f,t)},e.fromFractionalAmount=function(f,t,n){return new e(f,t,n)};var t=e.prototype;return t.add=function(t){this.currency.equals(t.currency)||k(!1);var n=f.prototype.add.call(this,t);return e.fromFractionalAmount(this.currency,n.numerator,n.denominator)},t.subtract=function(t){this.currency.equals(t.currency)||k(!1);var n=f.prototype.subtract.call(this,t);return e.fromFractionalAmount(this.currency,n.numerator,n.denominator)},t.multiply=function(t){var n=f.prototype.multiply.call(this,t);return e.fromFractionalAmount(this.currency,n.numerator,n.denominator)},t.divide=function(t){var n=f.prototype.divide.call(this,t);return e.fromFractionalAmount(this.currency,n.numerator,n.denominator)},t.toSignificant=function(e,t,n){return void 0===e&&(e=6),void 0===n&&(n=exports.Rounding.ROUND_DOWN),f.prototype.divide.call(this,this.decimalScale).toSignificant(e,t,n)},t.toFixed=function(e,t,n){return void 0===e&&(e=this.currency.decimals),void 0===n&&(n=exports.Rounding.ROUND_DOWN),e<=this.currency.decimals||k(!1),f.prototype.divide.call(this,this.decimalScale).toFixed(e,t,n)},t.toExact=function(f){return void 0===f&&(f={groupSeparator:""}),Ze.DP=this.currency.decimals,new Ze(this.quotient.toString()).div(this.decimalScale.toString()).toFormat(f)},t.serialize=function(){return"["+this.currency.wrapped.address+" - "+this.toExact()+"]"},Lf(e,[{key:"wrapped",get:function(){return this.currency.isToken?this:e.fromFractionalAmount(this.currency.wrapped,this.numerator,this.denominator)}}]),e}(je),Je=function(f){function e(){for(var e,t,n,r,a,i=arguments.length,o=new Array(i),s=0;s<i;s++)o[s]=arguments[s];if(4===o.length)t=o[0],n=o[1],r=o[2],a=o[3];else{var d=o[0].quoteAmount.divide(o[0].baseAmount),c=[o[0].baseAmount.currency,o[0].quoteAmount.currency,d.denominator,d.numerator];t=c[0],n=c[1],r=c[2],a=c[3]}return(e=f.call(this,a,r)||this).baseCurrency=t,e.quoteCurrency=n,e.scalar=new je(M.exponentiate(M.BigInt(10),M.BigInt(t.decimals)),M.exponentiate(M.BigInt(10),M.BigInt(n.decimals))),e}qf(e,f);var t=e.prototype;return t.invert=function(){return new e(this.quoteCurrency,this.baseCurrency,this.numerator,this.denominator)},t.multiply=function(t){this.quoteCurrency.equals(t.baseCurrency)||k(!1);var n=f.prototype.multiply.call(this,t);return new e(this.baseCurrency,t.quoteCurrency,n.denominator,n.numerator)},t.quote=function(e){e.currency.equals(this.baseCurrency)||k(!1);var t=f.prototype.multiply.call(this,e);return ze.fromFractionalAmount(this.quoteCurrency,t.numerator,t.denominator)},t.toSignificant=function(f,e,t){return void 0===f&&(f=6),this.adjustedForDecimals.toSignificant(f,e,t)},t.toFixed=function(f,e,t){return void 0===f&&(f=4),this.adjustedForDecimals.toFixed(f,e,t)},Lf(e,[{key:"adjustedForDecimals",get:function(){return f.prototype.multiply.call(this,this.scalar)}}]),e}(je),Qe=function(f){return U.keccak256(["bytes"],[U.pack(["bytes","bytes"],[f.creationCode,V.defaultAbiCoder.encode(["bytes","address"],[f.deployData,f.masterDeployerAddress])])])},$e=function(f){var e=f.factoryAddress,t=f.tokenA,n=f.tokenB,r=f.fee,a=f.twap,i=t.sortsBefore(n)?[t,n]:[n,t],o=V.defaultAbiCoder.encode(["address","address","uint256","bool"],[].concat([i[0].address,i[1].address].sort(),[r,a])),s=Qe({creationCode:"0x6101806040523480156200001257600080fd5b5060405162004195380380620041958339810160408190526200003591620005d2565b604080518082018252600e81526d29bab9b434902628102a37b5b2b760911b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f918101919091527fc2bf45081e840722410522aa366600d7fe4da5bfb5a5b417f4d5125b4ed180a4918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015246608082018190523060a08301529060c0016040516020818303038152906040528051906020012060808181525050506000806000808580602001905181019062000132919062000572565b929650909450925090506001600160a01b038416620001875760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b60448201526064015b60405180910390fd5b826001600160a01b0316846001600160a01b03161415620001eb5760405162461bcd60e51b815260206004820152601360248201527f4944454e544943414c5f4144445245535345530000000000000000000000000060448201526064016200017e565b6001600160a01b038416301415620002365760405162461bcd60e51b815260206004820152600d60248201526c24a72b20a624a22faa27a5a2a760991b60448201526064016200017e565b6001600160a01b038316301415620002815760405162461bcd60e51b815260206004820152600d60248201526c24a72b20a624a22faa27a5a2a760991b60448201526064016200017e565b612710821115620002c85760405162461bcd60e51b815260206004820152601060248201526f494e56414c49445f535741505f46454560801b60448201526064016200017e565b60408051600481526024810182526020810180516001600160e01b03166360a56c0160e11b17905290516000916001600160a01b038816916200030c9190620006b9565b600060405180830381855afa9150503d806000811462000349576040519150601f19603f3d011682016040523d82523d6000602084013e6200034e565b606091505b5060408051600481526024810182526020810180516001600160e01b0316630605066960e11b1790529051919350600092506001600160a01b03891691620003979190620006b9565b600060405180830381855afa9150503d8060008114620003d4576040519150601f19603f3d011682016040523d82523d6000602084013e620003d9565b606091505b5060408051600481526024810182526020810180516001600160e01b0316634da3182760e01b1790529051919350600092506001600160a01b038a1691620004229190620006b9565b600060405180830381855afa9150503d80600081146200045f576040519150601f19603f3d011682016040523d82523d6000602084013e62000464565b606091505b506001600160601b031960608a811b82166101405289901b166101605260a087905261271087900360c0528451909250620004aa9150840160209081019085016200069f565b6004558151620004c490830160209081019084016200054b565b60601b6001600160601b03191660e0528051620004eb90602090830181019083016200054b565b6001600160601b0319606091821b8116610100529089901b1661012052600160095583156200052a57600880546001600160e01b0316600160e01b1790555b50505050505050505062000739565b8051620005468162000720565b919050565b6000602082840312156200055e57600080fd5b81516200056b8162000720565b9392505050565b600080600080608085870312156200058957600080fd5b8451620005968162000720565b6020860151909450620005a98162000720565b6040860151606087015191945092508015158114620005c757600080fd5b939692955090935050565b60008060408385031215620005e657600080fd5b82516001600160401b0380821115620005fe57600080fd5b818501915085601f8301126200061357600080fd5b8151818111156200062857620006286200070a565b604051601f8201601f19908116603f011681019083821181831017156200065357620006536200070a565b816040528281528860208487010111156200066d57600080fd5b62000680836020830160208801620006d7565b8096505050505050620006966020840162000539565b90509250929050565b600060208284031215620006b257600080fd5b5051919050565b60008251620006cd818460208701620006d7565b9190910192915050565b60005b83811015620006f4578181015183820152602001620006da565b8381111562000704576000848401525b50505050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146200073657600080fd5b50565b60805160a05160c05160e05160601c6101005160601c6101205160601c6101405160601c6101605160601c61390062000895600039600081816105b301528181610791015281816108c00152818161096e01528181610ff6015281816110fe01528181611336015281816113a5015281816115e701528181611fc30152818161204a01526129e701526000818161032e0152818161070d01528181610a5301528181610b8201528181610fca01528181611095015281816112e2015281816114860152818161157901528181611d24015281816120830152818161216e01526128e801526000818161058c015281816118070152611c240152600081816103f901528181612650015281816127c6015281816128ac0152612a900152600081816102e20152612eb3015260006125520152600081816104200152818161315501526131c00152600081816103d2015261233901526139006000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c8063627dd56a1161012a578063a69840a8116100bd578063c14ad8021161008c578063d21220a711610071578063d21220a7146105ae578063d505accf146105d5578063dd62ed3e146105e857600080fd5b8063c14ad8021461057e578063cf58879a1461058757600080fd5b8063a69840a81461051e578063a8f1f52e14610545578063a9059cbb14610558578063af8c09bf1461056b57600080fd5b80637ba0e2e7116100f95780637ba0e2e7146104a55780637ecebe00146104b857806392bc3219146104d857806395d89b41146104e257600080fd5b8063627dd56a1461045457806367e4ac2c1461046757806370a082311461047c5780637464fc3d1461049c57600080fd5b80632a07b6c7116101a25780634da31827116101715780634da31827146103f457806354cf2aeb1461041b5780635909c0d5146104425780635a3d54931461044b57600080fd5b80632a07b6c71461036c57806330adf81f1461038c578063313ce567146103b35780633644e515146103cd57600080fd5b80630c0a0cd2116101de5780630c0a0cd2146102dd5780630dfe16811461032957806318160ddd1461035057806323b872dd1461035957600080fd5b8063053da1c81461021057806306fdde03146102365780630902f1ac1461027f578063095ea7b3146102ba575b600080fd5b61022361021e366004613566565b610613565b6040519081526020015b60405180910390f35b6102726040518060400160405280600e81526020017f5375736869204c5020546f6b656e00000000000000000000000000000000000081525081565b60405161022d9190613716565b610287610c3e565b604080516dffffffffffffffffffffffffffff948516815293909216602084015263ffffffff169082015260600161022d565b6102cd6102c8366004613449565b610ca7565b604051901515815260200161022d565b6103047f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161022d565b6103047f000000000000000000000000000000000000000000000000000000000000000081565b61022360005481565b6102cd6103673660046134ae565b610d20565b61037f61037a366004613566565b610e6c565b60405161022d91906136b1565b6102237f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6103bb601281565b60405160ff909116815260200161022d565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b6103047f000000000000000000000000000000000000000000000000000000000000000081565b6102237f000000000000000000000000000000000000000000000000000000000000000081565b61022360055481565b61022360065481565b610223610462366004613566565b6111e1565b61046f611557565b60405161022d9190613657565b61022361048a36600461327d565b60016020526000908152604090205481565b61022360075481565b6102236104b3366004613566565b611656565b6102236104c636600461327d565b60036020526000908152604090205481565b6104e0611bb2565b005b6102726040518060400160405280600381526020017f534c50000000000000000000000000000000000000000000000000000000000081525081565b6102237f54726964656e743a436f6e7374616e7450726f6475637400000000000000000081565b610223610553366004613566565b611cad565b6102cd610566366004613449565b611de0565b610223610579366004613566565b611e65565b61022360045481565b6103047f000000000000000000000000000000000000000000000000000000000000000081565b6103047f000000000000000000000000000000000000000000000000000000000000000081565b6104e06105e33660046134ef565b61220e565b6102236105f6366004613475565b600260209081526000928352604080842090915290825290205481565b6000600954600114610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b4544000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600260095560008080808061069d87890189613305565b9450945094509450945060008060006107056008546dffffffffffffffffffffffffffff808216926e01000000000000000000000000000083049091169163ffffffff7c01000000000000000000000000000000000000000000000000000000009091041690565b9250925092507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141561096c5761078a85846dffffffffffffffffffffffffffff16846dffffffffffffffffffffffffffff1661254a565b98506107b87f00000000000000000000000000000000000000000000000000000000000000008a89896125ad565b6040517fbd50c7b1000000000000000000000000000000000000000000000000000000008152339063bd50c7b1906107f4908790600401613716565b600060405180830381600087803b15801561080e57600080fd5b505af1158015610822573d6000803e3d6000fd5b505050506000806108316128a5565b9150915086856dffffffffffffffffffffffffffff16830310156108b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f494e53554646494349454e545f414d4f554e545f494e00000000000000000000604482015260640161067d565b6108be8282878787612b1d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fcd3829a3813dc3cdd188fd3d01dcf3268c16be2fdd2dd21d0665418816e460628a8f60405161095d929190918252602082015260400190565b60405180910390a45050610c2a565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614610a21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e56414c49445f494e5055545f544f4b454e00000000000000000000000000604482015260640161067d565b610a4c85836dffffffffffffffffffffffffffff16856dffffffffffffffffffffffffffff1661254a565b9850610a7a7f00000000000000000000000000000000000000000000000000000000000000008a89896125ad565b6040517fbd50c7b1000000000000000000000000000000000000000000000000000000008152339063bd50c7b190610ab6908790600401613716565b600060405180830381600087803b158015610ad057600080fd5b505af1158015610ae4573d6000803e3d6000fd5b50505050600080610af36128a5565b9150915086846dffffffffffffffffffffffffffff1682031015610b73576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f494e53554646494349454e545f414d4f554e545f494e00000000000000000000604482015260640161067d565b610b808282878787612b1d565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fcd3829a3813dc3cdd188fd3d01dcf3268c16be2fdd2dd21d0665418816e460628a8f604051610c1f929190918252602082015260400190565b60405180910390a450505b505060016009555094979650505050505050565b6000806000610c9c6008546dffffffffffffffffffffffffffff808216926e01000000000000000000000000000083049091169163ffffffff7c01000000000000000000000000000000000000000000000000000000009091041690565b925092509250909192565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610d0f9086815260200190565b60405180910390a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610dbd5773ffffffffffffffffffffffffffffffffffffffff8416600090815260026020908152604080832033845290915281208054849290610db7908490613792565b90915550505b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604081208054849290610df2908490613792565b909155505073ffffffffffffffffffffffffffffffffffffffff808416600081815260016020526040908190208054860190555190918616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e5a9086815260200190565b60405180910390a35060019392505050565b6060600954600114610eda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b45440000000000000000000000000000000000000000000000000000604482015260640161067d565b6002600955600080610eee84860186613414565b915091506000806000610f506008546dffffffffffffffffffffffffffff808216926e01000000000000000000000000000083049091169163ffffffff7c01000000000000000000000000000000000000000000000000000000009091041690565b925092509250600080610f616128a5565b60008054308252600160205260409091205492945090925090610f85878784612e33565b90910190600082610f968684613755565b610fa09190613741565b9050600083610faf8685613755565b610fb99190613741565b9050610fc53084612ee2565b610ff17f0000000000000000000000000000000000000000000000000000000000000000838d8d6125ad565b61101d7f0000000000000000000000000000000000000000000000000000000000000000828d8d6125ad565b8186039550808503945061103486868b8b8b612b1d565b6110466110418688613755565b612f75565b6007556040805160028082526060820190925290816020015b604080518082019091526000808252602082015281526020019060019003908161105f579050509b5060405180604001604052807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168152602001838152508c6000815181106110e6576110e6613847565b602002602001018190525060405180604001604052807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168152602001828152508c60018151811061114f5761114f613847565b60200260200101819052508a73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d8193649684846040516111c2929190918252602082015260400190565b60405180910390a35050600160095550979a9950505050505050505050565b600060095460011461124f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b45440000000000000000000000000000000000000000000000000000604482015260640161067d565b600260095560008080611264858701876132be565b92509250925060008060006112c86008546dffffffffffffffffffffffffffff808216926e01000000000000000000000000000083049091169163ffffffff7c01000000000000000000000000000000000000000000000000000000009091041690565b9250925092506000806112d96128a5565b915091506000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614156113a3577f00000000000000000000000000000000000000000000000000000000000000009050866dffffffffffffffffffffffffffff168403915061139782886dffffffffffffffffffffffffffff16886dffffffffffffffffffffffffffff1661254a565b9a508a830392506114bf565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614611458576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e56414c49445f494e5055545f544f4b454e00000000000000000000000000604482015260640161067d565b50506008546dffffffffffffffffffffffffffff6e01000000000000000000000000000090910481168203907f0000000000000000000000000000000000000000000000000000000000000000906114b7908390888116908a1661254a565b9a508a840393505b6114cb818c8b8b6125ad565b6114d88484898989612b1d565b8073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fcd3829a3813dc3cdd188fd3d01dcf3268c16be2fdd2dd21d0665418816e46062858f604051610c1f929190918252602082015260400190565b60408051600280825260608083018452926020830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000816000815181106115ab576115ab613847565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061161957611619613847565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505090565b60006009546001146116c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b45440000000000000000000000000000000000000000000000000000604482015260640161067d565b600260095560006116d78385018561327d565b905060008060006117376008546dffffffffffffffffffffffffffff808216926e01000000000000000000000000000083049091169163ffffffff7c01000000000000000000000000000000000000000000000000000000009091041690565b9250925092506000806117486128a5565b600054919350915061175b868683612e33565b0160006117786dffffffffffffffffffffffffffff881685613792565b905060006117966dffffffffffffffffffffffffffff881685613792565b90506000806117c784848c6dffffffffffffffffffffffffffff168c6dffffffffffffffffffffffffffff166130fa565b909250905060006117ef6117db8389613792565b6117e5858b613792565b6110419190613755565b905085611a705761180360006103e86131fd565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637cd07e476040518163ffffffff1660e01b815260040160206040518083038186803b15801561186b57600080fd5b505afa15801561187f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a391906132a1565b90503373ffffffffffffffffffffffffffffffffffffffff821614156119dd578073ffffffffffffffffffffffffffffffffffffffff166340dc0e376040518163ffffffff1660e01b815260040160206040518083038186803b15801561190957600080fd5b505afa15801561191d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194191906135d8565b9d508d1580159061197257507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8e14155b6119d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4241445f444553495245445f4c49515549444954590000000000000000000000604482015260640161067d565b611a6a565b73ffffffffffffffffffffffffffffffffffffffff811615611a5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4f4e4c595f4d49475241544f5200000000000000000000000000000000000000604482015260640161067d565b611a676103e883613792565b9d505b50611ab8565b6000611a926110416dffffffffffffffffffffffffffff808e16908f16613755565b90508087611aa08285613792565b611aaa9190613755565b611ab49190613741565b9d50505b8c611b1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f494e53554646494349454e545f4c49515549444954595f4d494e544544000000604482015260640161067d565b611b298c8e6131fd565b611b3688888d8d8d612b1d565b611b43611041888a613755565b600755604080518681526020810186905273ffffffffffffffffffffffffffffffffffffffff8e169133917fdbba30eb0402b389513e87f51f4db2db80bed454384ec6925a24097c3548a02a91015b60405180910390a35050600160095550989b9a5050505050505050505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fc14ad80200000000000000000000000000000000000000000000000000000000179052905160009173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691611c4f919061363b565b600060405180830381855afa9150503d8060008114611c8a576040519150601f19603f3d011682016040523d82523d6000602084013e611c8f565b606091505b5091505080806020019051810190611ca791906135d8565b60045550565b60008080611cbd84860186613449565b91509150600080611d1d6008546dffffffffffffffffffffffffffff808216926e01000000000000000000000000000083049091169163ffffffff7c01000000000000000000000000000000000000000000000000000000009091041690565b50915091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611da857611da183836dffffffffffffffffffffffffffff16836dffffffffffffffffffffffffffff1661254a565b9450611dd6565b611dd383826dffffffffffffffffffffffffffff16846dffffffffffffffffffffffffffff1661254a565b94505b5050505092915050565b33600090815260016020526040812080548391908390611e01908490613792565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600081815260016020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d0f9086815260200190565b6000600954600114611ed3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4c4f434b45440000000000000000000000000000000000000000000000000000604482015260640161067d565b600260095560008080611ee8858701876132be565b9250925092506000806000611f4c6008546dffffffffffffffffffffffffffff808216926e01000000000000000000000000000083049091169163ffffffff7c01000000000000000000000000000000000000000000000000000000009091041690565b925092509250600080611f5d6128a5565b60008054308252600160205260409091205492945090925090611f81878784612e33565b90910190600082611f928684613755565b611f9c9190613741565b9050600083611fab8685613755565b611fb59190613741565b9050611fc13084612ee2565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614156120815761204482838b6dffffffffffffffffffffffffffff1603838b6dffffffffffffffffffffffffffff160361254a565b016120717f0000000000000000000000000000000000000000000000000000000000000000828d8d6125ad565b9b5050918a90039160008b6121a1565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614612136576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f4f55545055545f544f4b454e000000000000000000000000604482015260640161067d565b61216581828a6dffffffffffffffffffffffffffff1603848c6dffffffffffffffffffffffffffff160361254a565b820191506121957f0000000000000000000000000000000000000000000000000000000000000000838d8d6125ad565b509a50928a9003928a60005b6121ae86868b8b8b612b1d565b6121bb6110418688613755565b600755604080518381526020810183905273ffffffffffffffffffffffffffffffffffffffff8d169133917fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d819364969101611b92565b42841015612278576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f45585049524544000000000000000000604482015260640161067d565b73ffffffffffffffffffffffffffffffffffffffff878116600081815260036020908152604080832080546001810190915581517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98185015280830195909552948b166060850152608084018a905260a084019490945260c08084018990528451808503909101815260e0840190945283519301929092207f19010000000000000000000000000000000000000000000000000000000000006101008301527f000000000000000000000000000000000000000000000000000000000000000061010283015261012282015261014201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156123f1573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061246c57508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b6124d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f494e56414c49445f5045524d49545f5349474e41545552450000000000000000604482015260640161067d565b73ffffffffffffffffffffffffffffffffffffffff90811660009081526002602090815260408083208b8516808552908352928190208a905551898152919350918a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6000806125777f000000000000000000000000000000000000000000000000000000000000000086613755565b90508061258661271086613755565b6125909190613729565b61259a8483613755565b6125a49190613741565b95945050505050565b801561272f576040805173ffffffffffffffffffffffffffffffffffffffff8681166024830152306044830152848116606483015260006084830181905260a48084018890528451808503909101815260c490930184526020830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f97da6d300000000000000000000000000000000000000000000000000000000017905292517f00000000000000000000000000000000000000000000000000000000000000009091169161267c9161363b565b6000604051808303816000865af19150503d80600081146126b9576040519150601f19603f3d011682016040523d82523d6000602084013e6126be565b606091505b5050905080612729576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f57495448445241575f4641494c45440000000000000000000000000000000000604482015260640161067d565b5061289f565b6040805173ffffffffffffffffffffffffffffffffffffffff8681166024830152306044830152848116606483015260848083018790528351808403909101815260a490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff18d03cc0000000000000000000000000000000000000000000000000000000017905291516000927f000000000000000000000000000000000000000000000000000000000000000016916127f09161363b565b6000604051808303816000865af19150503d806000811461282d576040519150601f19603f3d011682016040523d82523d6000602084013e612832565b606091505b505090508061289d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c45440000000000000000000000000000000000604482015260640161067d565b505b50505050565b60008060007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f7888aec7f00000000000000000000000000000000000000000000000000000000000000003060405160240161293b92919073ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051612989919061363b565b600060405180830381855afa9150503d80600081146129c4576040519150601f19603f3d011682016040523d82523d6000602084013e6129c9565b606091505b50915050808060200190518101906129e191906135d8565b604080517f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff90811660248301523060448084019190915283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff7888aec0000000000000000000000000000000000000000000000000000000017905291519295506000927f000000000000000000000000000000000000000000000000000000000000000090921691612abd919061363b565b600060405180830381855afa9150503d8060008114612af8576040519150601f19603f3d011682016040523d82523d6000602084013e612afd565b606091505b5091505080806020019051810190612b1591906135d8565b925050509091565b6dffffffffffffffffffffffffffff8511801590612b4957506dffffffffffffffffffffffffffff8411155b612baf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4f564552464c4f57000000000000000000000000000000000000000000000000604482015260640161067d565b6008547c0100000000000000000000000000000000000000000000000000000000900463ffffffff16612c3357600880546dffffffffffffffffffffffffffff8681166e010000000000000000000000000000027fffffffff0000000000000000000000000000000000000000000000000000000090921690881617179055612df3565b6000612c44640100000000426137d5565b90508163ffffffff168163ffffffff1614158015612c7157506dffffffffffffffffffffffffffff841615155b8015612c8c57506dffffffffffffffffffffffffffff831615155b15612d515781810360006dffffffffffffffffffffffffffff86167bffffffffffffffffffffffffffff0000000000000000000000000000607087901b1681612cd757612cd7613818565b600580549290910463ffffffff851681029092019055905060006dffffffffffffffffffffffffffff8616607088901b7bffffffffffffffffffffffffffff00000000000000000000000000001681612d3257612d32613818565b0490508263ffffffff1681026006600082825401925050819055505050505b6008805463ffffffff9092167c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff6dffffffffffffffffffffffffffff8881166e010000000000000000000000000000027fffffffff00000000000000000000000000000000000000000000000000000000909516908a161793909317929092169190911790555b60408051868152602081018690527fcf2aa50876cdfbb541206f89af0ee78d44a2abf8d328e37fa4917f982149848a910160405180910390a15050505050565b6007546000908015612eda576000612e616110416dffffffffffffffffffffffffffff808816908916613755565b905081811115612ed857612710816004548484612e7e9190613792565b612e889088613755565b612e929190613755565b612e9c9190613741565b612ea69190613741565b92508215612ed857612ed87f0000000000000000000000000000000000000000000000000000000000000000846131fd565b505b509392505050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604081208054839290612f17908490613792565b909155505060008054829003815560405182815273ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b600081612f8457506000919050565b8160017001000000000000000000000000000000008210612faa5760809190911c9060401b5b680100000000000000008210612fc55760409190911c9060201b5b6401000000008210612fdc5760209190911c9060101b5b620100008210612ff15760109190911c9060081b5b61010082106130055760089190911c9060041b5b601082106130185760049190911c9060021b5b600882106130245760011b5b600181858161303557613035613818565b048201901c9050600181858161304d5761304d613818565b048201901c9050600181858161306557613065613818565b048201901c9050600181858161307d5761307d613818565b048201901c9050600181858161309557613095613818565b048201901c905060018185816130ad576130ad613818565b048201901c905060018185816130c5576130c5613818565b048201901c905060008185816130dd576130dd613818565b0490508082106130ed57806130ef565b815b93505050505b919050565b600080831580613108575082155b15613118575060009050806131f4565b6000846131258589613755565b61312f9190613741565b905085811161318a576131456127106002613755565b61314f8288613792565b613179907f0000000000000000000000000000000000000000000000000000000000000000613755565b6131839190613741565b91506131f2565b6000846131978789613755565b6131a19190613741565b90506131b06127106002613755565b6131ba828a613792565b6131e4907f0000000000000000000000000000000000000000000000000000000000000000613755565b6131ee9190613741565b9350505b505b94509492505050565b8060008082825461320e9190613729565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101612f69565b803580151581146130f557600080fd5b60006020828403121561328f57600080fd5b813561329a816138a5565b9392505050565b6000602082840312156132b357600080fd5b815161329a816138a5565b6000806000606084860312156132d357600080fd5b83356132de816138a5565b925060208401356132ee816138a5565b91506132fc6040850161326d565b90509250925092565b600080600080600060a0868803121561331d57600080fd5b8535613328816138a5565b94506020860135613338816138a5565b93506133466040870161326d565b925060608601359150608086013567ffffffffffffffff8082111561336a57600080fd5b818801915088601f83011261337e57600080fd5b81358181111561339057613390613876565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156133d6576133d6613876565b816040528281528b60208487010111156133ef57600080fd5b8260208601602083013760006020848301015280955050505050509295509295909350565b6000806040838503121561342757600080fd5b8235613432816138a5565b91506134406020840161326d565b90509250929050565b6000806040838503121561345c57600080fd5b8235613467816138a5565b946020939093013593505050565b6000806040838503121561348857600080fd5b8235613493816138a5565b915060208301356134a3816138a5565b809150509250929050565b6000806000606084860312156134c357600080fd5b83356134ce816138a5565b925060208401356134de816138a5565b929592945050506040919091013590565b600080600080600080600060e0888a03121561350a57600080fd5b8735613515816138a5565b96506020880135613525816138a5565b95506040880135945060608801359350608088013560ff8116811461354957600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806020838503121561357957600080fd5b823567ffffffffffffffff8082111561359157600080fd5b818501915085601f8301126135a557600080fd5b8135818111156135b457600080fd5b8660208285010111156135c657600080fd5b60209290920196919550909350505050565b6000602082840312156135ea57600080fd5b5051919050565b600081518084526136098160208601602086016137a9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000825161364d8184602087016137a9565b9190910192915050565b6020808252825182820181905260009190848201906040850190845b818110156136a557835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101613673565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b82811015613709578151805173ffffffffffffffffffffffffffffffffffffffff1685528601518685015292840192908501906001016136ce565b5091979650505050505050565b60208152600061329a60208301846135f1565b6000821982111561373c5761373c6137e9565b500190565b60008261375057613750613818565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561378d5761378d6137e9565b500290565b6000828210156137a4576137a46137e9565b500390565b60005b838110156137c45781810151838201526020016137ac565b8381111561289f5750506000910152565b6000826137e4576137e4613818565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff811681146138c757600080fd5b5056fea264697066735822122004f193ad403a2048e6ef0c1fc9da9b9f522fe2ad030c99737c73f0f04901cf7464736f6c63430008070033",deployData:o,masterDeployerAddress:"0xa2A7Aa74cb94f37221FD49F5BA6F3fF876092700"});return L.getCreate2Address(e,U.keccak256(["bytes"],[o]),s)},ft=M.BigInt(Number.MAX_SAFE_INTEGER),et=M.BigInt(0),tt=M.BigInt(1),nt=M.BigInt(2);function rt(f){if(M.greaterThanOrEqual(f,et)||k(!1),M.lessThan(f,ft))return M.BigInt(Math.floor(Math.sqrt(M.toNumber(f))));var e,t;for(e=f,t=M.add(M.divide(f,nt),tt);M.lessThan(t,e);)e=t,t=M.divide(M.add(M.divide(f,t),t),nt);return e}var at=function(){function f(e,t,n,r){void 0===n&&(n=25),void 0===r&&(r=!0);var a=e.currency.sortsBefore(t.currency)?[e,t]:[t,e];this.liquidityToken=new ee(a[0].currency.chainId,f.getAddress(a[0].currency,a[1].currency,n,r),18,"SLP","Sushi LP Token"),this.fee=n,this.twap=r,this.tokenAmounts=a}f.getAddress=function(f,e,t,n){return void 0===t&&(t=25),void 0===n&&(n=!0),$e({factoryAddress:z[f.chainId],tokenA:f,tokenB:e,fee:t,twap:n})};var e=f.prototype;return e.involvesToken=function(f){return f.equals(this.token0)||f.equals(this.token1)},e.priceOf=function(f){return this.involvesToken(f)||k(!1),f.equals(this.token0)?this.token0Price:this.token1Price},e.reserveOf=function(f){return this.involvesToken(f)||k(!1),f.equals(this.token0)?this.reserve0:this.reserve1},e.getOutputAmount=function(e){if(this.involvesToken(e.currency)||k(!1),M.equal(this.reserve0.quotient,ve)||M.equal(this.reserve1.quotient,ve))throw new Ve;var t=this.reserveOf(e.currency),n=this.reserveOf(e.currency.equals(this.token0)?this.token1:this.token0),r=M.multiply(e.quotient,_e),a=M.multiply(r,n.quotient),i=M.add(M.multiply(t.quotient,Me),r),o=ze.fromRawAmount(e.currency.equals(this.token0)?this.token1:this.token0,M.divide(a,i));if(M.equal(o.quotient,ve))throw new We;return[o,new f(t.add(e),n.subtract(o))]},e.getInputAmount=function(e){if(this.involvesToken(e.currency)||k(!1),M.equal(this.reserve0.quotient,ve)||M.equal(this.reserve1.quotient,ve)||M.greaterThanOrEqual(e.quotient,this.reserveOf(e.currency).quotient))throw new Ve;var t=this.reserveOf(e.currency),n=this.reserveOf(e.currency.equals(this.token0)?this.token1:this.token0),r=M.multiply(M.multiply(n.quotient,e.quotient),Me),a=M.multiply(M.subtract(t.quotient,e.quotient),_e),i=ze.fromRawAmount(e.currency.equals(this.token0)?this.token1:this.token0,M.add(M.divide(r,a),Ne));return[i,new f(n.add(i),t.subtract(e),this.fee,this.twap)]},e.getLiquidityMinted=function(f,e,t){f.currency.equals(this.liquidityToken)||k(!1);var n,r=e.currency.sortsBefore(t.currency)?[e,t]:[t,e];if(r[0].currency.equals(this.token0)&&r[1].currency.equals(this.token1)||k(!1),M.equal(f.quotient,ve))n=M.subtract(rt(M.multiply(r[0].quotient,r[1].quotient)),ke);else{var a=M.divide(M.multiply(r[0].quotient,f.quotient),this.reserve0.quotient),i=M.divide(M.multiply(r[1].quotient,f.quotient),this.reserve1.quotient);n=M.lessThanOrEqual(a,i)?a:i}if(!M.greaterThan(n,ve))throw new We;return ze.fromRawAmount(this.liquidityToken,n)},e.getLiquidityValue=function(f,e,t){return this.involvesToken(f)||k(!1),e.currency.equals(this.liquidityToken)||k(!1),t.currency.equals(this.liquidityToken)||k(!1),M.lessThanOrEqual(t.quotient,e.quotient)||k(!1),ze.fromRawAmount(f,M.divide(M.multiply(t.quotient,this.reserveOf(f).quotient),e.quotient))},Lf(f,[{key:"token0Price",get:function(){var f=this.tokenAmounts[1].divide(this.tokenAmounts[0]);return new Je(this.token0,this.token1,f.denominator,f.numerator)}},{key:"token1Price",get:function(){var f=this.tokenAmounts[0].divide(this.tokenAmounts[1]);return new Je(this.token1,this.token0,f.denominator,f.numerator)}},{key:"chainId",get:function(){return this.token0.chainId}},{key:"token0",get:function(){return this.tokenAmounts[0].currency}},{key:"token1",get:function(){return this.tokenAmounts[1].currency}},{key:"reserve0",get:function(){return this.tokenAmounts[0]}},{key:"reserve1",get:function(){return this.tokenAmounts[1]}}]),f}(),it=function(f){var e=f.factoryAddress,t=f.tokenA,n=f.tokenB,r=t.sortsBefore(n)?[t,n]:[n,t],a=r[0];return L.getCreate2Address(e,U.keccak256(["bytes"],[U.pack(["address","address"],[a.address,r[1].address])]),we[a.chainId])},ot=function(){function f(e,t){var n=e.currency.sortsBefore(t.currency)?[e,t]:[t,e];this.liquidityToken=new ee(n[0].currency.chainId,f.getAddress(n[0].currency,n[1].currency),18,"UNI-V2","Uniswap V2"),this.tokenAmounts=n}f.getAddress=function(f,e){return it({factoryAddress:z[f.chainId],tokenA:f,tokenB:e})};var e=f.prototype;return e.involvesToken=function(f){return f.equals(this.token0)||f.equals(this.token1)},e.priceOf=function(f){return this.involvesToken(f)||k(!1),f.equals(this.token0)?this.token0Price:this.token1Price},e.reserveOf=function(f){return this.involvesToken(f)||k(!1),f.equals(this.token0)?this.reserve0:this.reserve1},e.getOutputAmount=function(e){if(this.involvesToken(e.currency)||k(!1),M.equal(this.reserve0.quotient,ve)||M.equal(this.reserve1.quotient,ve))throw new Ve;var t=this.reserveOf(e.currency),n=this.reserveOf(e.currency.equals(this.token0)?this.token1:this.token0),r=M.multiply(e.quotient,_e),a=M.multiply(r,n.quotient),i=M.add(M.multiply(t.quotient,Me),r),o=ze.fromRawAmount(e.currency.equals(this.token0)?this.token1:this.token0,M.divide(a,i));if(M.equal(o.quotient,ve))throw new We;return[o,new f(t.add(e),n.subtract(o))]},e.getInputAmount=function(e){if(this.involvesToken(e.currency)||k(!1),M.equal(this.reserve0.quotient,ve)||M.equal(this.reserve1.quotient,ve)||M.greaterThanOrEqual(e.quotient,this.reserveOf(e.currency).quotient))throw new Ve;var t=this.reserveOf(e.currency),n=this.reserveOf(e.currency.equals(this.token0)?this.token1:this.token0),r=M.multiply(M.multiply(n.quotient,e.quotient),Me),a=M.multiply(M.subtract(t.quotient,e.quotient),_e),i=ze.fromRawAmount(e.currency.equals(this.token0)?this.token1:this.token0,M.add(M.divide(r,a),Ne));return[i,new f(n.add(i),t.subtract(e))]},e.getLiquidityMinted=function(f,e,t){f.currency.equals(this.liquidityToken)||k(!1);var n,r=e.currency.sortsBefore(t.currency)?[e,t]:[t,e];if(r[0].currency.equals(this.token0)&&r[1].currency.equals(this.token1)||k(!1),M.equal(f.quotient,ve))n=M.subtract(rt(M.multiply(r[0].quotient,r[1].quotient)),ke);else{var a=M.divide(M.multiply(r[0].quotient,f.quotient),this.reserve0.quotient),i=M.divide(M.multiply(r[1].quotient,f.quotient),this.reserve1.quotient);n=M.lessThanOrEqual(a,i)?a:i}if(!M.greaterThan(n,ve))throw new We;return ze.fromRawAmount(this.liquidityToken,n)},e.getLiquidityValue=function(f,e,t,n,r){var a;if(void 0===n&&(n=!1),this.involvesToken(f)||k(!1),e.currency.equals(this.liquidityToken)||k(!1),t.currency.equals(this.liquidityToken)||k(!1),M.lessThanOrEqual(t.quotient,e.quotient)||k(!1),n){r||k(!1);var i=M.BigInt(r);if(M.equal(i,ve))a=e;else{var o=rt(M.multiply(this.reserve0.quotient,this.reserve1.quotient)),s=rt(i);if(M.greaterThan(o,s)){var d=M.multiply(e.quotient,M.subtract(o,s)),c=M.add(M.multiply(o,Se),s),u=M.divide(d,c);a=e.add(ze.fromRawAmount(this.liquidityToken,u))}else a=e}}else a=e;return ze.fromRawAmount(f,M.divide(M.multiply(t.quotient,this.reserveOf(f).quotient),a.quotient))},Lf(f,[{key:"token0Price",get:function(){var f=this.tokenAmounts[1].divide(this.tokenAmounts[0]);return new Je(this.token0,this.token1,f.denominator,f.numerator)}},{key:"token1Price",get:function(){var f=this.tokenAmounts[0].divide(this.tokenAmounts[1]);return new Je(this.token1,this.token0,f.denominator,f.numerator)}},{key:"chainId",get:function(){return this.token0.chainId}},{key:"token0",get:function(){return this.tokenAmounts[0].currency}},{key:"token1",get:function(){return this.tokenAmounts[1].currency}},{key:"reserve0",get:function(){return this.tokenAmounts[0]}},{key:"reserve1",get:function(){return this.tokenAmounts[1]}}]),f}(),st=new je(M.BigInt(100));function dt(f){return new ct(f.numerator,f.denominator)}var ct=function(f){function e(){var e;return(e=f.apply(this,arguments)||this).isPercent=!0,e}qf(e,f);var t=e.prototype;return t.add=function(e){return dt(f.prototype.add.call(this,e))},t.subtract=function(e){return dt(f.prototype.subtract.call(this,e))},t.multiply=function(e){return dt(f.prototype.multiply.call(this,e))},t.divide=function(e){return dt(f.prototype.divide.call(this,e))},t.toSignificant=function(e,t,n){return void 0===e&&(e=5),f.prototype.multiply.call(this,st).toSignificant(e,t,n)},t.toFixed=function(e,t,n){return void 0===e&&(e=2),f.prototype.multiply.call(this,st).toFixed(e,t,n)},e}(je),ut=function(){function f(f,e,t){this._midPrice=null,f.length>0||k(!1);var n=f[0].chainId;f.every((function(f){return f.chainId===n}))||k(!1);var r=e.wrapped;f[0].involvesToken(r)||k(!1),void 0===t||f[f.length-1].involvesToken(t.wrapped)||k(!1);for(var a,i=[r],o=Gf(f.entries());!(a=o()).done;){var s=a.value,d=s[1],c=i[s[0]];c.equals(d.token0)||c.equals(d.token1)||k(!1);var u=c.equals(d.token0)?d.token1:d.token0;i.push(u)}this.pairs=f,this.path=i,this.input=e,this.output=t}return Lf(f,[{key:"midPrice",get:function(){if(null!==this._midPrice)return this._midPrice;for(var f,e=[],t=Gf(this.pairs.entries());!(f=t()).done;){var n=f.value,r=n[1];e.push(this.path[n[0]].equals(r.token0)?new Je(r.reserve0.currency,r.reserve1.currency,r.reserve0.quotient,r.reserve1.quotient):new Je(r.reserve1.currency,r.reserve0.currency,r.reserve1.quotient,r.reserve0.quotient))}var a=e.slice(1).reduce((function(f,e){return f.multiply(e)}),e[0]);return this._midPrice=new Je(this.input,this.output,a.denominator,a.numerator)}},{key:"chainId",get:function(){return this.pairs[0].chainId}}]),f}();function pt(f,e,t){var n=f.quote(e),r=n.subtract(t).divide(n);return new ct(r.numerator,r.denominator)}function ht(f,e,t,n){if(t>0||k(!1),f.length<=t||k(!1),0===f.length)return f.push(e),null;var r=f.length===t;if(r&&n(f[f.length-1],e)<=0)return e;for(var a=0,i=f.length;a<i;){var o=a+i>>>1;n(f[o],e)<=0?a=o+1:i=o}return f.splice(a,0,e),r?f.pop():null}function bt(f,e){return f.inputAmount.currency.equals(e.inputAmount.currency)||k(!1),f.outputAmount.currency.equals(e.outputAmount.currency)||k(!1),f.outputAmount.equalTo(e.outputAmount)?f.inputAmount.equalTo(e.inputAmount)?0:f.inputAmount.lessThan(e.inputAmount)?-1:1:f.outputAmount.lessThan(e.outputAmount)?1:-1}function Ct(f,e){var t=bt(f,e);return 0!==t?t:f.priceImpact.lessThan(e.priceImpact)?-1:f.priceImpact.greaterThan(e.priceImpact)?1:f.route.path.length-e.route.path.length}var xt,It,At=function(){function f(f,e,t){this.route=f,this.tradeType=t;var n=new Array(f.path.length);if(t===exports.TradeType.EXACT_INPUT){e.currency.equals(f.input)||k(!1),n[0]=e.wrapped;for(var r=0;r<f.path.length-1;r++){var a=f.pairs[r].getOutputAmount(n[r]);n[r+1]=a[0]}this.inputAmount=ze.fromFractionalAmount(f.input,e.numerator,e.denominator),this.outputAmount=ze.fromFractionalAmount(f.output,n[n.length-1].numerator,n[n.length-1].denominator)}else{e.currency.equals(f.output)||k(!1),n[n.length-1]=e.wrapped;for(var i=f.path.length-1;i>0;i--){var o=f.pairs[i-1].getInputAmount(n[i]);n[i-1]=o[0]}this.inputAmount=ze.fromFractionalAmount(f.input,n[0].numerator,n[0].denominator),this.outputAmount=ze.fromFractionalAmount(f.output,e.numerator,e.denominator)}this.executionPrice=new Je(this.inputAmount.currency,this.outputAmount.currency,this.inputAmount.quotient,this.outputAmount.quotient),this.priceImpact=pt(f.midPrice,this.inputAmount,this.outputAmount)}f.exactIn=function(e,t){return new f(e,t,exports.TradeType.EXACT_INPUT)},f.exactOut=function(e,t){return new f(e,t,exports.TradeType.EXACT_OUTPUT)};var e=f.prototype;return e.minimumAmountOut=function(f){if(f.lessThan(ve)&&k(!1),this.tradeType===exports.TradeType.EXACT_OUTPUT)return this.outputAmount;var e=new je(Ne).add(f).invert().multiply(this.outputAmount.quotient).quotient;return ze.fromRawAmount(this.outputAmount.currency,e)},e.maximumAmountIn=function(f){if(f.lessThan(ve)&&k(!1),this.tradeType===exports.TradeType.EXACT_INPUT)return this.inputAmount;var e=new je(Ne).add(f).multiply(this.inputAmount.quotient).quotient;return ze.fromRawAmount(this.inputAmount.currency,e)},f.bestTradeExactIn=function(e,t,n,r,a,i,o){var s=void 0===r?{}:r,d=s.maxNumResults,c=void 0===d?3:d,u=s.maxHops,p=void 0===u?3:u;void 0===a&&(a=[]),void 0===i&&(i=t),void 0===o&&(o=[]),e.length>0||k(!1),p>0||k(!1),t===i||a.length>0||k(!1);for(var h=i.wrapped,b=n.wrapped,C=0;C<e.length;C++){var x=e[C];if((x.token0.equals(h.currency)||x.token1.equals(h.currency))&&!x.reserve0.equalTo(ve)&&!x.reserve1.equalTo(ve)){var I=void 0;try{I=x.getOutputAmount(h)[0]}catch(f){if(f.isInsufficientInputAmountError)continue;throw f}if(I.currency.equals(b))ht(o,new f(new ut([].concat(a,[x]),t.currency,n),t,exports.TradeType.EXACT_INPUT),c,Ct);else if(p>1&&e.length>1){var A=e.slice(0,C).concat(e.slice(C+1,e.length));f.bestTradeExactIn(A,t,n,{maxNumResults:c,maxHops:p-1},[].concat(a,[x]),I,o)}}}return o},e.worstExecutionPrice=function(f){return new Je(this.inputAmount.currency,this.outputAmount.currency,this.maximumAmountIn(f).quotient,this.minimumAmountOut(f).quotient)},f.bestTradeExactOut=function(e,t,n,r,a,i,o){var s=void 0===r?{}:r,d=s.maxNumResults,c=void 0===d?3:d,u=s.maxHops,p=void 0===u?3:u;void 0===a&&(a=[]),void 0===i&&(i=n),void 0===o&&(o=[]),e.length>0||k(!1),p>0||k(!1),n===i||a.length>0||k(!1);for(var h=i.wrapped,b=t.wrapped,C=0;C<e.length;C++){var x=e[C];if((x.token0.equals(h.currency)||x.token1.equals(h.currency))&&!x.reserve0.equalTo(ve)&&!x.reserve1.equalTo(ve)){var I=void 0;try{I=x.getInputAmount(h)[0]}catch(f){if(f.isInsufficientReservesError)continue;throw f}if(I.currency.equals(b))ht(o,new f(new ut([x].concat(a),t,n.currency),n,exports.TradeType.EXACT_OUTPUT),c,Ct);else if(p>1&&e.length>1){var A=e.slice(0,C).concat(e.slice(C+1,e.length));f.bestTradeExactOut(A,t,n,{maxNumResults:c,maxHops:p-1},[x].concat(a),I,o)}}}return o},f}(),lt=(function(f){var e=function(f){var e=Object.prototype,t=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",a=n.asyncIterator||"@@asyncIterator",i=n.toStringTag||"@@toStringTag";function o(f,e,t){return Object.defineProperty(f,e,{value:t,enumerable:!0,configurable:!0,writable:!0}),f[e]}try{o({},"")}catch(f){o=function(f,e,t){return f[e]=t}}function s(f,e,t,n){var r=Object.create((e&&e.prototype instanceof u?e:u).prototype),a=new m(n||[]);return r._invoke=function(f,e,t){var n="suspendedStart";return function(r,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===r)throw a;return{value:void 0,done:!0}}for(t.method=r,t.arg=a;;){var i=t.delegate;if(i){var o=T(i,t);if(o){if(o===c)continue;return o}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if("suspendedStart"===n)throw n="completed",t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);n="executing";var s=d(f,e,t);if("normal"===s.type){if(n=t.done?"completed":"suspendedYield",s.arg===c)continue;return{value:s.arg,done:t.done}}"throw"===s.type&&(n="completed",t.method="throw",t.arg=s.arg)}}}(f,t,a),r}function d(f,e,t){try{return{type:"normal",arg:f.call(e,t)}}catch(f){return{type:"throw",arg:f}}}f.wrap=s;var c={};function u(){}function p(){}function h(){}var b={};o(b,r,(function(){return this}));var C=Object.getPrototypeOf,x=C&&C(C(D([])));x&&x!==e&&t.call(x,r)&&(b=x);var I=h.prototype=u.prototype=Object.create(b);function A(f){["next","throw","return"].forEach((function(e){o(f,e,(function(f){return this._invoke(e,f)}))}))}function l(f,e){var n;this._invoke=function(r,a){function i(){return new e((function(n,i){!function n(r,a,i,o){var s=d(f[r],f,a);if("throw"!==s.type){var c=s.arg,u=c.value;return u&&"object"==typeof u&&t.call(u,"__await")?e.resolve(u.__await).then((function(f){n("next",f,i,o)}),(function(f){n("throw",f,i,o)})):e.resolve(u).then((function(f){c.value=f,i(c)}),(function(f){return n("throw",f,i,o)}))}o(s.arg)}(r,a,n,i)}))}return n=n?n.then(i,i):i()}}function T(f,e){var t=f.iterator[e.method];if(void 0===t){if(e.delegate=null,"throw"===e.method){if(f.iterator.return&&(e.method="return",e.arg=void 0,T(f,e),"throw"===e.method))return c;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return c}var n=d(t,f.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,c;var r=n.arg;return r?r.done?(e[f.resultName]=r.value,e.next=f.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,c):r:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,c)}function E(f){var e={tryLoc:f[0]};1 in f&&(e.catchLoc=f[1]),2 in f&&(e.finallyLoc=f[2],e.afterLoc=f[3]),this.tryEntries.push(e)}function y(f){var e=f.completion||{};e.type="normal",delete e.arg,f.completion=e}function m(f){this.tryEntries=[{tryLoc:"root"}],f.forEach(E,this),this.reset(!0)}function D(f){if(f){var e=f[r];if(e)return e.call(f);if("function"==typeof f.next)return f;if(!isNaN(f.length)){var n=-1,a=function e(){for(;++n<f.length;)if(t.call(f,n))return e.value=f[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return a.next=a}}return{next:O}}function O(){return{value:void 0,done:!0}}return p.prototype=h,o(I,"constructor",h),o(h,"constructor",p),p.displayName=o(h,i,"GeneratorFunction"),f.isGeneratorFunction=function(f){var e="function"==typeof f&&f.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},f.mark=function(f){return Object.setPrototypeOf?Object.setPrototypeOf(f,h):(f.__proto__=h,o(f,i,"GeneratorFunction")),f.prototype=Object.create(I),f},f.awrap=function(f){return{__await:f}},A(l.prototype),o(l.prototype,a,(function(){return this})),f.AsyncIterator=l,f.async=function(e,t,n,r,a){void 0===a&&(a=Promise);var i=new l(s(e,t,n,r),a);return f.isGeneratorFunction(t)?i:i.next().then((function(f){return f.done?f.value:i.next()}))},A(I),o(I,i,"Generator"),o(I,r,(function(){return this})),o(I,"toString",(function(){return"[object Generator]"})),f.keys=function(f){var e=[];for(var t in f)e.push(t);return e.reverse(),function t(){for(;e.length;){var n=e.pop();if(n in f)return t.value=n,t.done=!1,t}return t.done=!0,t}},f.values=D,m.prototype={constructor:m,reset:function(f){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(y),!f)for(var e in this)"t"===e.charAt(0)&&t.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var f=this.tryEntries[0].completion;if("throw"===f.type)throw f.arg;return this.rval},dispatchException:function(f){if(this.done)throw f;var e=this;function n(t,n){return i.type="throw",i.arg=f,e.next=t,n&&(e.method="next",e.arg=void 0),!!n}for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var o=t.call(a,"catchLoc"),s=t.call(a,"finallyLoc");if(o&&s){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(o){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(f,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&t.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var a=r;break}}a&&("break"===f||"continue"===f)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=f,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,c):this.complete(i)},complete:function(f,e){if("throw"===f.type)throw f.arg;return"break"===f.type||"continue"===f.type?this.next=f.arg:"return"===f.type?(this.rval=this.arg=f.arg,this.method="return",this.next="end"):"normal"===f.type&&e&&(this.next=e),c},finish:function(f){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.finallyLoc===f)return this.complete(t.completion,t.afterLoc),y(t),c}},catch:function(f){for(var e=this.tryEntries.length-1;e>=0;--e){var t=this.tryEntries[e];if(t.tryLoc===f){var n=t.completion;if("throw"===n.type){var r=n.arg;y(t)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(f,e,t){return this.delegate={iterator:D(f),resultName:e,nextLoc:t},"next"===this.method&&(this.arg=void 0),c}},f}(f.exports);try{regeneratorRuntime=e}catch(f){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}}(It={exports:{}}),It.exports);(xt=exports.PoolType||(exports.PoolType={})).ConstantProduct="ConstantProduct",xt.Weighted="Weighted",xt.Hybrid="Hybrid",xt.ConcentratedLiquidity="ConcentratedLiquidity";var Tt,Et=function(f){var e=Pf({minLiquidity:1e3,swapGasCost:4e4},f);this.address=e.address,this.token0=e.token0,this.token1=e.token1,this.type=e.type,this.reserve0=e.reserve0,this.reserve1=e.reserve1,this.fee=e.fee,this.minLiquidity=e.minLiquidity,this.swapGasCost=e.swapGasCost},yt=function(f){function e(e){return f.call(this,Pf({type:exports.PoolType.ConstantProduct},e))||this}return qf(e,f),e}(Et),mt=function(f){function e(e){var t;return(t=f.call(this,Pf({type:exports.PoolType.Hybrid},e))||this).A=e.A,t}return qf(e,f),e}(Et),Dt=function(f){function e(e){var t;return(t=f.call(this,Pf({type:exports.PoolType.Weighted},e))||this).weight0=e.weight0,t.weight1=e.weight1,t}return qf(e,f),e}(Et),Ot=function(f){function e(e){var t;return(t=f.call(this,Pf({type:exports.PoolType.ConcentratedLiquidity,reserve0:w.BigNumber.from(0),reserve1:w.BigNumber.from(0)},e))||this).liquidity=e.liquidity,t.sqrtPrice=e.sqrtPrice,t.nearestTick=e.nearestTick,t.ticks=e.ticks,t}return qf(e,f),e}(Et);(Tt=exports.RouteStatus||(exports.RouteStatus={})).Success="Success",Tt.NoWay="NoWay",Tt.Partial="Partial";var vt={EIP712Domain:[{name:"name",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],LimitOrder:[{name:"maker",type:"address"},{name:"tokenIn",type:"address"},{name:"tokenOut",type:"address"},{name:"amountIn",type:"uint256"},{name:"amountOut",type:"uint256"},{name:"recipient",type:"address"},{name:"startTime",type:"uint256"},{name:"endTime",type:"uint256"},{name:"stopPrice",type:"uint256"},{name:"oracleAddress",type:"address"},{name:"oracleData",type:"bytes32"}]},Nt={EIP712Domain:[{name:"name",type:"string"},{name:"chainId",type:"uint256"},{name:"verifyingContract",type:"address"}],SetMasterContractApproval:[{name:"warning",type:"string"},{name:"user",type:"address"},{name:"masterContract",type:"address"},{name:"approved",type:"bool"},{name:"nonce",type:"uint256"}]},Bt="LimitOrder",Rt=function(f,e,t){return _t({types:vt,primaryType:"LimitOrder",domain:{name:Bt,chainId:e,verifyingContract:uf[e]},message:f},t)},St=function(f,e){return{types:vt,primaryType:"LimitOrder",domain:{name:Bt,chainId:e,verifyingContract:uf[e]},message:f}},Ft=function(f,e){return{types:Nt,primaryType:"SetMasterContractApproval",domain:{name:"BentoBox V1",chainId:e,verifyingContract:nf[e]},message:f}},gt=function(f){return"0x"+K.getMessage(f,!0).toString("hex")},_t=function(f,e){var t=K.getMessage(f,!0),n=new W.SigningKey(e).signDigest(t);return{v:n.v,r:n.r,s:n.s}},Mt=function(){var f=wf(lt.mark((function f(e,t,n){var r,a;return lt.wrap((function(f){for(;;)switch(f.prev=f.next){case 0:return r=St(e,t),f.next=3,n.send("eth_signTypedData_v4",[e.maker,JSON.stringify(r)]);case 3:return a=X.splitSignature(f.sent),f.abrupt("return",{v:a.v,r:a.r,s:a.s});case 6:case"end":return f.stop()}}),f)})));return function(e,t,n){return f.apply(this,arguments)}}(),wt=function(){var f=wf(lt.mark((function f(e,t,n){var r,a;return lt.wrap((function(f){for(;;)switch(f.prev=f.next){case 0:return r=Ft(e,t),f.next=3,n.send("eth_signTypedData_v4",[e.user,JSON.stringify(r)]);case 3:return a=X.splitSignature(f.sent),f.abrupt("return",{v:a.v,r:a.r,s:a.s});case 6:case"end":return f.stop()}}),f)})));return function(e,t,n){return f.apply(this,arguments)}}(),kt=function(){var f=wf(lt.mark((function f(e,t,n){return lt.wrap((function(f){for(;;)switch(f.prev=f.next){case 0:return f.abrupt("return",_t({types:Nt,primaryType:"SetMasterContractApproval",domain:{name:"BentoBox V1",chainId:t,verifyingContract:nf[t]},message:e},n));case 2:case"end":return f.stop()}}),f)})));return function(e,t,n){return f.apply(this,arguments)}}();function Lt(f){return"0x"+f.quotient.toString(16)}var Pt=function(){function f(){}return f.swapCallParameters=function(f,e){var t=f.inputAmount.currency.isNative,n=f.outputAmount.currency.isNative;t&&n&&k(!1),!("ttl"in e)||e.ttl>0||k(!1);var r,a,i,o=zf(e.recipient),s=Lt(f.maximumAmountIn(e.allowedSlippage)),d=Lt(f.minimumAmountOut(e.allowedSlippage)),c=f.route.path.map((function(f){return f.address})),u="ttl"in e?"0x"+(Math.floor((new Date).getTime()/1e3)+e.ttl).toString(16):"0x"+e.deadline.toString(16),p=Boolean(e.feeOnTransfer);switch(f.tradeType){case exports.TradeType.EXACT_INPUT:t?(r=p?"swapExactETHForTokensSupportingFeeOnTransferTokens":"swapExactETHForTokens",a=[d,c,o,u],i=s):n?(r=p?"swapExactTokensForETHSupportingFeeOnTransferTokens":"swapExactTokensForETH",a=[s,d,c,o,u],i="0x0"):(r=p?"swapExactTokensForTokensSupportingFeeOnTransferTokens":"swapExactTokensForTokens",a=[s,d,c,o,u],i="0x0");break;case exports.TradeType.EXACT_OUTPUT:p&&k(!1),t?(r="swapETHForExactTokens",a=[d,c,o,u],i=s):n?(r="swapTokensForExactETH",a=[d,s,c,o,u],i="0x0"):(r="swapTokensForExactTokens",a=[d,s,c,o,u],i="0x0")}return{methodName:r,args:a,value:i}},f}(),qt=new Map;function Ht(f){var e=qt.get(f);if(void 0!==e)return e;var t=f.reserve0,n=f.reserve1;if(t.isZero()&&n.isZero())return qt.set(f,w.BigNumber.from(0)),w.BigNumber.from(0);for(var r,a=t.add(n),i=w.BigNumber.from(2*f.A),o=a,s=0;s<256;s++){var d=o.mul(o).div(t).mul(o).div(n).div(4);if(r=o,(o=i.mul(a).div(100).add(d.mul(2)).mul(o).div(i.div(100).sub(1).mul(o).add(d.mul(3)))).sub(r).abs().lte(1))break}return qt.set(f,o),o}function Ut(f,e){for(var t,n=Ht(f),r=2*f.A,a=n.mul(n).div(e.mul(2)).mul(n).div(2*r/100),i=n.mul(100).div(r).add(e),o=n,s=0;s<256&&(t=o,!(o=o.mul(o).add(a).div(o.mul(2).add(i).sub(n))).sub(t).abs().lte(1));s++);return o}var Vt=function(f){function e(){return f.apply(this,arguments)||this}return qf(e,f),e}(Kf(Error));function Wt(f,e,t){void 0===t&&(t=!0);var n=parseInt(f.reserve0.toString()),r=parseInt(f.reserve1.toString()),a=t?1-f.fee:1;switch(f.type){case exports.PoolType.ConstantProduct:var i=n/a;return r*i/(i+e)/(i+e);case exports.PoolType.Weighted:var o=f.weight0/f.weight1,s=n+e*a;return r*o*a*Math.pow(n/s,o)/s;case exports.PoolType.Hybrid:var d=f,c=parseInt(Ht(d).toString()),u=d.A/100,p=n+e,h=4*u*p+c-4*u*c,b=c*c*c/p;return(.5-(2*h-b/p)/Math.sqrt(h*h+4*u*b)/4)*a}return 0}function Kt(f,e,t){void 0===t&&(t=1);try{if(e<=f(0))return 0;var n,r;if(f(t)>e){for(n=t/2;f(n)>e;)n/=2;r=2*n}else{for(r=2*t;f(r)<e;)r*=2;n=r/2}for(;r/n-1>1e-4;){var a=(n+r)/2,i=f(a);if(e===i)return a;e<i?r=a:n=a}return(n+r)/2}catch(f){return 0}}function Xt(f,e){if(void 0!==f)return f;if(e<Number.MAX_SAFE_INTEGER)return w.BigNumber.from(Math.round(e));var t=Math.floor(Math.log(e)/Math.LN2);console.assert(t>=51,"Internal Error 314");var n=t-51,r=Math.round(e/Math.pow(2,n));return w.BigNumber.from(r).mul(w.BigNumber.from(2).pow(n))}var Yt=[{inputs:[{internalType:"uint256",name:"_externalOrderFee",type:"uint256"},{internalType:"contract IBentoBoxV1",name:"_bentoBox",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract IERC20",name:"token",type:"address"},{indexed:!0,internalType:"address",name:"feeTo",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"LogFeesCollected",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"maker",type:"address"},{indexed:!0,internalType:"bytes32",name:"digest",type:"bytes32"},{indexed:!1,internalType:"contract ILimitOrderReceiver",name:"receiver",type:"address"},{indexed:!1,internalType:"uint256",name:"fillAmount",type:"uint256"}],name:"LogFillOrder",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"user",type:"address"},{indexed:!0,internalType:"bytes32",name:"digest",type:"bytes32"}],name:"LogOrderCancelled",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"feeTo",type:"address"},{indexed:!1,internalType:"uint256",name:"externalOrderFee",type:"uint256"}],name:"LogSetFees",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"contract ILimitOrderReceiver",name:"receiver",type:"address"}],name:"LogWhiteListReceiver",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{inputs:[],name:"FEE_DIVISOR",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes[]",name:"calls",type:"bytes[]"},{internalType:"bool",name:"revertOnFail",type:"bool"}],name:"batch",outputs:[{internalType:"bool[]",name:"successes",type:"bool[]"},{internalType:"bytes[]",name:"results",type:"bytes[]"}],stateMutability:"payable",type:"function"},{inputs:[{components:[{internalType:"address",name:"maker",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"stopPrice",type:"uint256"},{internalType:"contract IOracle",name:"oracleAddress",type:"address"},{internalType:"bytes",name:"oracleData",type:"bytes"},{internalType:"uint256",name:"amountToFill",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct StopLimitOrder.OrderArgs[]",name:"order",type:"tuple[]"},{internalType:"contract IERC20",name:"tokenIn",type:"address"},{internalType:"contract IERC20",name:"tokenOut",type:"address"},{internalType:"contract ILimitOrderReceiver",name:"receiver",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"batchFillOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"maker",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"stopPrice",type:"uint256"},{internalType:"contract IOracle",name:"oracleAddress",type:"address"},{internalType:"bytes",name:"oracleData",type:"bytes"},{internalType:"uint256",name:"amountToFill",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct StopLimitOrder.OrderArgs[]",name:"order",type:"tuple[]"},{internalType:"contract IERC20",name:"tokenIn",type:"address"},{internalType:"contract IERC20",name:"tokenOut",type:"address"},{internalType:"contract ILimitOrderReceiver",name:"receiver",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"batchFillOrderOpen",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"hash",type:"bytes32"}],name:"cancelOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"cancelledOrder",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"claimOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"deploymentChainId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"externalOrderFee",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"feeTo",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"",type:"address"}],name:"feesCollected",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"address",name:"maker",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"stopPrice",type:"uint256"},{internalType:"contract IOracle",name:"oracleAddress",type:"address"},{internalType:"bytes",name:"oracleData",type:"bytes"},{internalType:"uint256",name:"amountToFill",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct StopLimitOrder.OrderArgs",name:"order",type:"tuple"},{internalType:"contract IERC20",name:"tokenIn",type:"address"},{internalType:"contract IERC20",name:"tokenOut",type:"address"},{internalType:"contract ILimitOrderReceiver",name:"receiver",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"fillOrder",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{components:[{internalType:"address",name:"maker",type:"address"},{internalType:"uint256",name:"amountIn",type:"uint256"},{internalType:"uint256",name:"amountOut",type:"uint256"},{internalType:"address",name:"recipient",type:"address"},{internalType:"uint256",name:"startTime",type:"uint256"},{internalType:"uint256",name:"endTime",type:"uint256"},{internalType:"uint256",name:"stopPrice",type:"uint256"},{internalType:"contract IOracle",name:"oracleAddress",type:"address"},{internalType:"bytes",name:"oracleData",type:"bytes"},{internalType:"uint256",name:"amountToFill",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],internalType:"struct StopLimitOrder.OrderArgs",name:"order",type:"tuple"},{internalType:"contract IERC20",name:"tokenIn",type:"address"},{internalType:"contract IERC20",name:"tokenOut",type:"address"},{internalType:"contract ILimitOrderReceiver",name:"receiver",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"fillOrderOpen",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"orderStatus",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pendingOwner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"},{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"uint256",name:"deadline",type:"uint256"},{internalType:"uint8",name:"v",type:"uint8"},{internalType:"bytes32",name:"r",type:"bytes32"},{internalType:"bytes32",name:"s",type:"bytes32"}],name:"permitToken",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_feeTo",type:"address"},{internalType:"uint256",name:"_externalOrderFee",type:"uint256"}],name:"setFees",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"}],name:"swipe",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract IERC20",name:"token",type:"address"}],name:"swipeFees",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"},{internalType:"bool",name:"direct",type:"bool"},{internalType:"bool",name:"renounce",type:"bool"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"contract ILimitOrderReceiver",name:"receiver",type:"address"}],name:"whiteListReceiver",outputs:[],stateMutability:"nonpayable",type:"function"}],Gt=function(){function f(f,e,t,n,r,a,i,o,s,d,c,u){void 0===i&&(i="0"),void 0===o&&(o="0x0000000000000000000000000000000000000000"),void 0===s&&(s="0x00000000000000000000000000000000000000000000000000000000000000"),void 0===d&&(d=0),void 0===c&&(c=""),void 0===u&&(u=""),this.maker=zf(f),this.amountIn=e,this.amountOut=t,this.recipient=zf(n),this.startTime=r.toString(),this.endTime=a.toString(),this.stopPrice=i,this.oracleAddress=zf(o),this.oracleData=s,this.v=d,this.r=c,this.s=u}f.getLimitOrder=function(e){return new f(e.maker,ze.fromRawAmount(new ee(e.chainId,e.tokenIn,e.tokenInDecimals,e.tokenInSymbol),e.amountIn),ze.fromRawAmount(new ee(e.chainId,e.tokenOut,e.tokenOutDecimals,e.tokenOutSymbol),e.amountOut),e.recipient,e.startTime,e.endTime,e.stopPrice,e.oracleAddress,e.oracleData,e.v,e.r,e.s)};var e=f.prototype;return e.usePrice=function(e){return new f(this.maker,this.amountIn,ze.fromRawAmount(this.amountOut.currency,e.quote(this.amountIn).quotient.toString()),this.recipient,this.startTime,this.endTime,this.stopPrice,this.oracleAddress,this.oracleData)},e.signdOrderWithPrivatekey=function(f,e){var t={maker:this.maker,tokenIn:this.tokenInAddress,tokenOut:this.tokenOutAddress,amountIn:this.amountInRaw,amountOut:this.amountOutRaw,recipient:this.recipient,startTime:this.startTime,endTime:this.endTime,stopPrice:this.stopPrice,oracleAddress:this.oracleAddress,oracleData:U.keccak256(["bytes"],[this.oracleData])},n=Rt(t,f,e),r=n.v,a=n.r,i=n.s;return this.v=r,this.r=a,this.s=i,{v:r,r:a,s:i}},e.signOrderWithProvider=function(){var f=wf(lt.mark((function f(e,t){var n,r,a,i,o;return lt.wrap((function(f){for(;;)switch(f.prev=f.next){case 0:return n={maker:this.maker,tokenIn:this.tokenInAddress,tokenOut:this.tokenOutAddress,amountIn:this.amountInRaw,amountOut:this.amountOutRaw,recipient:this.recipient,startTime:this.startTime,endTime:this.endTime,stopPrice:this.stopPrice,oracleAddress:this.oracleAddress,oracleData:U.keccak256(["bytes"],[this.oracleData])},f.next=3,Mt(n,e,t);case 3:return i=(r=f.sent).r,o=r.s,this.v=a=r.v,this.r=i,this.s=o,f.abrupt("return",{v:a,r:i,s:o});case 11:case"end":return f.stop()}}),f,this)})));return function(e,t){return f.apply(this,arguments)}}(),e.getTypedData=function(){var f={maker:this.maker,tokenIn:this.tokenInAddress,tokenOut:this.tokenOutAddress,amountIn:this.amountInRaw,amountOut:this.amountOutRaw,recipient:this.recipient,startTime:this.startTime,endTime:this.endTime,stopPrice:this.stopPrice,oracleAddress:this.oracleAddress,oracleData:U.keccak256(["bytes"],[this.oracleData])};return St(f,this.chainId)},e.getTypeHash=function(){var f=this.getTypedData();return gt(f)},e.send=function(){var f=wf(lt.mark((function f(){return lt.wrap((function(f){for(;;)switch(f.prev=f.next){case 0:return f.next=2,G(He+"/orders/create",{method:"POST",body:JSON.stringify({maker:this.maker,tokenIn:this.tokenInAddress,tokenOut:this.tokenOutAddress,tokenInDecimals:this.tokenInDecimals,tokenOutDecimals:this.tokenOutDecimals,tokenInSymbol:this.tokenInSymbol,tokenOutSymbol:this.tokenOutSymbol,amountIn:this.amountInRaw,amountOut:this.amountOutRaw,recipient:this.recipient,startTime:this.startTime,endTime:this.endTime,stopPrice:this.stopPrice,oracleAddress:this.oracleAddress,oracleData:this.oracleData,v:this.v,r:this.r,s:this.s,chainId:this.amountIn.currency.chainId})});case 2:return f.abrupt("return",f.sent.json());case 4:case"end":return f.stop()}}),f,this)})));return function(){return f.apply(this,arguments)}}(),Lf(f,[{key:"amountInRaw",get:function(){return this.amountIn.quotient.toString()}},{key:"amountOutRaw",get:function(){return this.amountOut.quotient.toString()}},{key:"tokenInAddress",get:function(){return this.amountIn.currency.address}},{key:"tokenOutAddress",get:function(){return this.amountOut.currency.address}},{key:"tokenInDecimals",get:function(){return this.amountIn.currency.decimals}},{key:"tokenOutDecimals",get:function(){return this.amountOut.currency.decimals}},{key:"tokenInSymbol",get:function(){return this.amountIn.currency.symbol||""}},{key:"tokenOutSymbol",get:function(){return this.amountOut.currency.symbol||""}},{key:"chainId",get:function(){return this.amountIn.currency.chainId}}]),f}(),jt=function(){function f(f,e,t,n,r,a,i){void 0===i&&(i=!1),this.order=f,this.path=e.map(zf),this.amountExternal=t,this.amountToFill=n,this.limitOrderReceiver=zf(r),this.to=zf(a),this.tokenIn=f.amountIn.currency.address,this.tokenOut=f.amountOut.currency.address,this.limitOrderReceiverData=V.defaultAbiCoder.encode(["address[]","uint256","address","bool"],[this.path,this.amountExternal.toString(),this.to,i])}var e=f.prototype;return e.fillOrderOpen=function(f,e){return e.open=!0,this.fillOrder(f,e)},e.fillOrder=function(){var f=wf(lt.mark((function f(e,t){var n,r,a,i,o,s,d,c,u,p;return lt.wrap((function(f){for(;;)switch(f.prev=f.next){case 0:return n=t.gasPrice,r=t.nonce,i=void 0!==(a=t.forceExecution)&&a,s=void 0!==(o=t.open)&&o?"fillOrderOpen":"fillOrder",d=[this.order.maker,this.order.amountInRaw,this.order.amountOutRaw,this.order.recipient,this.order.startTime,this.order.endTime,this.order.stopPrice,this.order.oracleAddress,this.order.oracleData,this.amountToFill.toString(),this.order.v,this.order.r,this.order.s],c=new Y.Contract(uf[this.order.chainId],Yt,e),p=!0,t.debug&&console.log(d,this.path,this.limitOrderReceiver,this.limitOrderReceiverData),f.prev=6,f.next=9,c.estimateGas[s](d,this.path[0],this.path[this.path.length-1],this.limitOrderReceiver,this.limitOrderReceiverData);case 9:u=(u=f.sent).mul(11).div(10),f.next=22;break;case 13:if(f.prev=13,f.t0=f.catch(6),!i){f.next=21;break}console.log("Failed to estimate gas, forcing execution"),u=w.BigNumber.from("400000"),p=!0,f.next=22;break;case 21:return f.abrupt("return",{executed:!1});case 22:return f.next=24,c.fillOrder(d,this.path[0],this.path[this.path.length-1],this.limitOrderReceiver,this.limitOrderReceiverData,{gasLimit:u,gasPrice:n,nonce:r});case 24:return f.abrupt("return",{executed:p,transaction:f.sent});case 26:case"end":return f.stop()}}),f,this,[[6,13]])})));return function(e,t){return f.apply(this,arguments)}}(),f}();exports.JSBI=M,exports.ACTION_ACCRUE=8,exports.ACTION_ADD_ASSET=1,exports.ACTION_ADD_COLLATERAL=10,exports.ACTION_BENTO_DEPOSIT=20,exports.ACTION_BENTO_SETAPPROVAL=24,exports.ACTION_BENTO_TRANSFER=22,exports.ACTION_BENTO_TRANSFER_MULTIPLE=23,exports.ACTION_BENTO_WITHDRAW=21,exports.ACTION_BORROW=5,exports.ACTION_CALL=30,exports.ACTION_GET_REPAY_PART=7,exports.ACTION_GET_REPAY_SHARE=6,exports.ACTION_REMOVE_ASSET=3,exports.ACTION_REMOVE_COLLATERAL=4,exports.ACTION_REPAY=2,exports.ACTION_UPDATE_EXCHANGE_RATE=11,exports.ARCHER_ROUTER_ADDRESS=pf,exports.ASSERT=function(f,e){!f()&&e&&console.error(e)},exports.AbstractCurrency=jf,exports.Avalanche=ie,exports.BAR_ADDRESS=ff,exports.BENTOBOX_ADDRESS=nf,exports.BORING_HELPER_ADDRESS=cf,exports.Binance=oe,exports.CHAINLINK_ORACLE_ADDRESS=df,exports.CL_MAX_TICK=887271,exports.CL_MIN_TICK=-887272,exports.Celo=se,exports.ConstantProductPool=at,exports.CurrencyAmount=ze,exports.ENS_REGISTRAR_ADDRESS=Af,exports.Ether=de,exports.FACTORY_ADDRESS=z,exports.FACTOR_PRECISION=Ff,exports.FIVE=Se,exports.FULL_UTILIZATION=Of,exports.FULL_UTILIZATION_MINUS_MAX=vf,exports.Fantom=ce,exports.FillLimitOrder=jt,exports.Fraction=je,exports.Fuse=Ae,exports.Harmony=ue,exports.Heco=pe,exports.HybridComputeLiquidity=Ht,exports.HybridgetY=Ut,exports.INIT_CODE_HASH=we,exports.INTEREST_ELASTICITY=Sf,exports.InsufficientInputAmountError=We,exports.InsufficientReservesError=Ve,exports.KASHI_ADDRESS=rf,exports.LAMBDA_URL=He,exports.LimitOrder=Gt,exports.MAKER_ADDRESS=ef,exports.MASTERCHEF_ADDRESS=$,exports.MASTERCHEF_V2_ADDRESS=If,exports.MAXIMUM_INTEREST_PER_YEAR=Rf,exports.MAXIMUM_TARGET_UTILIZATION=mf,exports.MERKLE_DISTRIBUTOR_ADDRESS=Tf,exports.MINICHEF_ADDRESS=hf,exports.MINIMUM_INTEREST_PER_YEAR=Bf,exports.MINIMUM_LIQUIDITY=ke,exports.MINIMUM_TARGET_UTILIZATION=yf,exports.MULTICALL2_ADDRESS=Ef,exports.Matic=he,exports.MaxUint256=Oe,exports.Movr=be,exports.NATIVE=De,exports.NativeCurrency=Zf,exports.OLD_FARMS=bf,exports.ONE=Ne,exports.Okex=Ce,exports.OutOfLiquidity=Vt,exports.PEGGED_ORACLE_ADDRESS="0x6cbfbB38498Df0E1e7A4506593cDB02db9001564",exports.PROTOCOL_FEE=gf,exports.PROTOCOL_FEE_DIVISOR=_f,exports.Pair=ot,exports.Palm=Ie,exports.Percent=ct,exports.Pool=Et,exports.Price=Je,exports.RConcentratedLiquidityPool=Ot,exports.RConstantProductPool=yt,exports.RHybridPool=mt,exports.ROUTER_ADDRESS=J,exports.RWeightedPool=Dt,exports.Route=ut,exports.Router=Pt,exports.SOCKET_URL="wss://hfimt374ge.execute-api.us-east-1.amazonaws.com/dev",exports.SOLIDITY_TYPE_MAXIMA=qe,exports.STARTING_INTEREST_PER_YEAR=Nf,exports.STOP_LIMIT_ORDER_ADDRESS=uf,exports.SUSHISWAP_MULTISWAPPER_ADDRESS=of,exports.SUSHISWAP_MULTI_EXACT_SWAPPER_ADDRESS=sf,exports.SUSHISWAP_SWAPPER_ADDRESS=af,exports.SUSHISWAP_TWAP_0_ORACLE_ADDRESS="0x66F03B0d30838A3fee971928627ea6F59B236065",exports.SUSHISWAP_TWAP_1_ORACLE_ADDRESS="0x0D51b575591F8f74a2763Ade75D3CDCf6789266f",exports.SUSHI_ADDRESS=Q,exports.TEN=Fe,exports.THREE=Re,exports.TIMELOCK_ADDRESS=tf,exports.TWO=Be,exports.Telos=Te,exports.Token=ee,exports.Trade=At,exports.USD=ne,exports.USDC=te,exports.USDC_ADDRESS=j,exports.USD_ADDRESS=Z,exports.UTILIZATION_PRECISION=Df,exports.WETH9=re,exports.WETH9_ADDRESS=Cf,exports.WNATIVE=ae,exports.WNATIVE_ADDRESS=xf,exports.ZAPPER_ADDRESS=lf,exports.ZERO=ve,exports._100=ge,exports._1000=Me,exports._997=_e,exports.bentoTypes=Nt,exports.calcInByOut=function(f,e,t){var n=0,r=t?f.reserve0:f.reserve1,a=t?f.reserve1:f.reserve0;switch(f.type){case exports.PoolType.ConstantProduct:var i=parseInt(r.toString()),o=parseInt(a.toString());n=i*e/(1-f.fee)/(o-e);break;case exports.PoolType.Weighted:var s=parseInt(r.toString()),d=parseInt(a.toString());n=s*(1-f.fee)*(Math.pow(1-e/d,-(t?f.weight0/f.weight1:f.weight1/f.weight0))-1);break;case exports.PoolType.Hybrid:var c=a.sub(Xt(void 0,e));c.lt(1)&&(c=w.BigNumber.from(1));var u=Ut(f,c);n=Math.round(parseInt(u.sub(r).toString())/(1-f.fee));break;default:console.error("Unknown pool type")}return n<1&&(n=1),n},exports.calcInputByPrice=function(f,e,t){switch(void 0===t&&(t=1),f.type){case exports.PoolType.ConstantProduct:var n=parseInt(f.reserve0.toString()),r=parseInt(f.reserve1.toString()),a=n/(1-f.fee);return Math.sqrt(r*a*e)-a;case exports.PoolType.Weighted:return function(f,e){var t=parseInt(f.reserve0.toString()),n=parseInt(f.reserve1.toString()),r=f.weight0/f.weight1,a=n*e*r*(1-f.fee)*Math.pow(t,r);return(Math.pow(a,1/(r+1))-t)/(1-f.fee)}(f,e);case exports.PoolType.Hybrid:return Kt((function(e){return 1/Wt(f,e)}),e,t)}return 0},exports.calcOutByIn=function(f,e,t){void 0===t&&(t=!0);var n=t?f.reserve0:f.reserve1,r=t?f.reserve1:f.reserve0;switch(f.type){case exports.PoolType.ConstantProduct:var a=parseInt(n.toString());return parseInt(r.toString())*e/(a/(1-f.fee)+e);case exports.PoolType.Weighted:var i=parseInt(n.toString());return parseInt(r.toString())*(1-Math.pow(i/(i+e*(1-f.fee)),t?f.weight0/f.weight1:f.weight1/f.weight0));case exports.PoolType.Hybrid:var o=Ut(f,n.add(Xt(void 0,e*(1-f.fee))));return parseInt(r.sub(o).toString());case exports.PoolType.ConcentratedLiquidity:return function(f,e,t){if(0===f.ticks.length)return 0;f.ticks[0].index>-887272&&f.ticks.unshift({index:-887272,DLiquidity:0}),f.ticks[f.ticks.length-1].index<887271&&f.ticks.push({index:887271,DLiquidity:0});for(var n=t?f.nearestTick:f.nearestTick+1,r=f.sqrtPrice,a=f.liquidity,i=0,o=e;o>0;){if(n<0||n>=f.ticks.length)throw new Vt;var s=Math.sqrt(Math.pow(1.0001,f.ticks[n].index)),d=0;if(t){var c=a*(r-s)/r/s;o<=c?(d=a*r*o/(o+a/r),o=0):(d=a*(r-s),r=s,o-=c,f.ticks[n].index%2==0?a-=f.ticks[n].DLiquidity:a+=f.ticks[n].DLiquidity,n--)}else{var u=a*(s-r);o<=u?(d=o/r/(r+o/a),o=0):(d=a*(s-r)/r/s,r=s,o-=u,f.ticks[n].index%2==0?a+=f.ticks[n].DLiquidity:a-=f.ticks[n].DLiquidity,n++)}i+=d*(1-f.fee)}return i}(f,e,t)}},exports.calcPrice=Wt,exports.calcSquareEquation=function(f,e,t){var n=e*e-4*f*t;console.assert(n>=0,"Discriminant is negative! "+f+" "+e+" "+t);var r=Math.sqrt(n);return[(-e-r)/2/f,(-e+r)/2/f]},exports.closeValues=function(f,e,t){return 0===t?f===e:f<1/t?Math.abs(f-e)<=10:Math.abs(f/e-1)<t},exports.computeConstantProductPoolAddress=$e,exports.computePairAddress=it,exports.computePoolInitCodeHash=Qe,exports.computePriceImpact=pt,exports.currencyEquals=function(f,e){return f instanceof ee&&e instanceof ee?f.equals(e):!(f instanceof ee||e instanceof ee||f!==e)},exports.getBigNumber=Xt,exports.getSignature=Rt,exports.getSignatureBento=kt,exports.getSignatureWithProvider=Mt,exports.getSignatureWithProviderBentobox=wt,exports.getTypeHash=gt,exports.getTypedData=St,exports.getTypedDataBento=Ft,exports.inputOutputComparator=bt,exports.name=Bt,exports.revertPositive=Kt,exports.sortedInsert=ht,exports.sqrt=rt,exports.toHex=Lt,exports.tradeComparator=Ct,exports.types=vt,exports.validateAndParseAddress=zf,exports.validateSolidityTypeInstance=function(f,e){M.greaterThanOrEqual(f,ve)||k(!1),M.lessThanOrEqual(f,qe[e])||k(!1)},exports.xDai=xe;
2
+ //# sourceMappingURL=sdk.cjs.production.min.js.map