@defiverse/balancer-sdk-megaeth 0.1.255 → 0.1.256

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.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@ethersproject/abi"),t=require("@ethersproject/constants"),a=require("@ethersproject/bignumber"),n=require("@ethersproject/address"),s=require("@ethersproject/contracts"),r=require("@ethersproject/bytes"),i=require("@ethersproject/abstract-signer"),o=require("axios"),d=require("lodash"),p=require("@defiverse/sor"),c=require("@balancer-labs/typechain"),l=require("@ethersproject/providers"),u=require("graphql-request"),y=require("graphql"),b=require("json-to-graphql-query");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function f(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var h,T,g,x,I,w=m(o),E=f(p);exports.StablePoolJoinKind=void 0,(h=exports.StablePoolJoinKind||(exports.StablePoolJoinKind={}))[h.INIT=0]="INIT",h[h.EXACT_TOKENS_IN_FOR_BPT_OUT=1]="EXACT_TOKENS_IN_FOR_BPT_OUT",h[h.TOKEN_IN_FOR_EXACT_BPT_OUT=2]="TOKEN_IN_FOR_EXACT_BPT_OUT",exports.StablePhantomPoolJoinKind=void 0,(T=exports.StablePhantomPoolJoinKind||(exports.StablePhantomPoolJoinKind={}))[T.INIT=0]="INIT",T[T.COLLECT_PROTOCOL_FEES=1]="COLLECT_PROTOCOL_FEES",exports.StablePoolExitKind=void 0,(g=exports.StablePoolExitKind||(exports.StablePoolExitKind={}))[g.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT=0]="EXACT_BPT_IN_FOR_ONE_TOKEN_OUT",g[g.EXACT_BPT_IN_FOR_TOKENS_OUT=1]="EXACT_BPT_IN_FOR_TOKENS_OUT",g[g.BPT_IN_FOR_EXACT_TOKENS_OUT=2]="BPT_IN_FOR_EXACT_TOKENS_OUT";class A{constructor(){}}A.joinInit=t=>e.defaultAbiCoder.encode(["uint256","uint256[]"],[exports.StablePoolJoinKind.INIT,t]),A.joinCollectProtocolFees=()=>e.defaultAbiCoder.encode(["uint256"],[exports.StablePhantomPoolJoinKind.COLLECT_PROTOCOL_FEES]),A.joinExactTokensInForBPTOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[exports.StablePoolJoinKind.EXACT_TOKENS_IN_FOR_BPT_OUT,t,a]),A.joinTokenInForExactBPTOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256","uint256"],[exports.StablePoolJoinKind.TOKEN_IN_FOR_EXACT_BPT_OUT,t,a]),A.exitExactBPTInForOneTokenOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256","uint256"],[exports.StablePoolExitKind.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT,t,a]),A.exitExactBPTInForTokensOut=t=>e.defaultAbiCoder.encode(["uint256","uint256"],[exports.StablePoolExitKind.EXACT_BPT_IN_FOR_TOKENS_OUT,t]),A.exitBPTInForExactTokensOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[exports.StablePoolExitKind.BPT_IN_FOR_EXACT_TOKENS_OUT,t,a]),exports.WeightedPoolJoinKind=void 0,(x=exports.WeightedPoolJoinKind||(exports.WeightedPoolJoinKind={}))[x.INIT=0]="INIT",x[x.EXACT_TOKENS_IN_FOR_BPT_OUT=1]="EXACT_TOKENS_IN_FOR_BPT_OUT",x[x.TOKEN_IN_FOR_EXACT_BPT_OUT=2]="TOKEN_IN_FOR_EXACT_BPT_OUT",x[x.ALL_TOKENS_IN_FOR_EXACT_BPT_OUT=3]="ALL_TOKENS_IN_FOR_EXACT_BPT_OUT",exports.WeightedPoolExitKind=void 0,(I=exports.WeightedPoolExitKind||(exports.WeightedPoolExitKind={}))[I.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT=0]="EXACT_BPT_IN_FOR_ONE_TOKEN_OUT",I[I.EXACT_BPT_IN_FOR_TOKENS_OUT=1]="EXACT_BPT_IN_FOR_TOKENS_OUT",I[I.BPT_IN_FOR_EXACT_TOKENS_OUT=2]="BPT_IN_FOR_EXACT_TOKENS_OUT",I[I.MANAGEMENT_FEE_TOKENS_OUT=3]="MANAGEMENT_FEE_TOKENS_OUT";class S{constructor(){}}S.joinInit=t=>e.defaultAbiCoder.encode(["uint256","uint256[]"],[exports.WeightedPoolJoinKind.INIT,t]),S.joinExactTokensInForBPTOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[exports.WeightedPoolJoinKind.EXACT_TOKENS_IN_FOR_BPT_OUT,t,a]),S.joinTokenInForExactBPTOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256","uint256"],[exports.WeightedPoolJoinKind.TOKEN_IN_FOR_EXACT_BPT_OUT,t,a]),S.joinAllTokensInForExactBPTOut=t=>e.defaultAbiCoder.encode(["uint256","uint256"],[exports.WeightedPoolJoinKind.ALL_TOKENS_IN_FOR_EXACT_BPT_OUT,t]),S.exitExactBPTInForOneTokenOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256","uint256"],[exports.WeightedPoolExitKind.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT,t,a]),S.exitExactBPTInForTokensOut=t=>e.defaultAbiCoder.encode(["uint256","uint256"],[exports.WeightedPoolExitKind.EXACT_BPT_IN_FOR_TOKENS_OUT,t]),S.exitBPTInForExactTokensOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[exports.WeightedPoolExitKind.BPT_IN_FOR_EXACT_TOKENS_OUT,t,a]);class P{constructor(){}}P.exitForManagementFees=()=>e.defaultAbiCoder.encode(["uint256"],[exports.WeightedPoolExitKind.MANAGEMENT_FEE_TOKENS_OUT]);var B,_;exports.ComposableStablePoolJoinKind=void 0,(B=exports.ComposableStablePoolJoinKind||(exports.ComposableStablePoolJoinKind={}))[B.INIT=0]="INIT",B[B.EXACT_TOKENS_IN_FOR_BPT_OUT=1]="EXACT_TOKENS_IN_FOR_BPT_OUT",B[B.TOKEN_IN_FOR_EXACT_BPT_OUT=2]="TOKEN_IN_FOR_EXACT_BPT_OUT",exports.ComposableStablePoolExitKind=void 0,(_=exports.ComposableStablePoolExitKind||(exports.ComposableStablePoolExitKind={}))[_.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT=0]="EXACT_BPT_IN_FOR_ONE_TOKEN_OUT",_[_.BPT_IN_FOR_EXACT_TOKENS_OUT=1]="BPT_IN_FOR_EXACT_TOKENS_OUT";class O{constructor(){}}O.joinInit=t=>e.defaultAbiCoder.encode(["uint256","uint256[]"],[exports.ComposableStablePoolJoinKind.INIT,t]),O.joinCollectProtocolFees=()=>e.defaultAbiCoder.encode(["uint256"],[exports.StablePhantomPoolJoinKind.COLLECT_PROTOCOL_FEES]),O.joinExactTokensInForBPTOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[exports.ComposableStablePoolJoinKind.EXACT_TOKENS_IN_FOR_BPT_OUT,t,a]),O.joinTokenInForExactBPTOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256","uint256"],[exports.ComposableStablePoolJoinKind.TOKEN_IN_FOR_EXACT_BPT_OUT,t,a]),O.exitExactBPTInForOneTokenOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256","uint256"],[exports.ComposableStablePoolExitKind.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT,t,a]),O.exitBPTInForExactTokensOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[exports.ComposableStablePoolExitKind.BPT_IN_FOR_EXACT_TOKENS_OUT,t,a]);var v="production"===process.env.NODE_ENV,k="Invariant failed";function N(e,t){if(!e){if(v)throw new Error(k);var a="function"==typeof t?t():t,n=a?"".concat(k,": ").concat(a):k;throw new Error(n)}}const C=e=>(N(66===e.length,"Invalid poolId length"),e.slice(0,42)),D=e=>{N(66===e.length,"Invalid poolId length");const t=parseInt(e[45]);return N(t<3,"Invalid pool specialization"),t},F=e=>(N(66===e.length,"Invalid poolId length"),a.BigNumber.from(`0x${e.slice(46)}`));var R;exports.Network=void 0,(R=exports.Network||(exports.Network={}))[R.MAINNET=1]="MAINNET",R[R.ROPSTEN=3]="ROPSTEN",R[R.RINKEBY=4]="RINKEBY",R[R.GOERLI=5]="GOERLI",R[R["GÖRLI"]=5]="GÖRLI",R[R.OPTIMISM=10]="OPTIMISM",R[R.KOVAN=42]="KOVAN",R[R.GNOSIS=100]="GNOSIS",R[R.POLYGON=137]="POLYGON",R[R.ARBITRUM=42161]="ARBITRUM",R[R.DEFIVERSE=16116]="DEFIVERSE",R[R.DEFIVERSE_TESTNET=17117]="DEFIVERSE_TESTNET",R[R.OASYS=248]="OASYS",R[R.OASYS_TESTNET=9372]="OASYS_TESTNET",R[R.MEGAETH_TESTNET=6343]="MEGAETH_TESTNET";const M={IdsMap:{},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear"],Stable:{AllowList:["0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000063","0xfeadd389a5c427952d8fdb8057d6c8ba1156cc56000000000000000000000066","0x9f19a375709baf0e8e35c2c5c65aca676c4c719100000000000000000000006e","0x32296969ef14eb0c6d29669c550d4a0449130230000200000000000000000080","0x1e19cf2d73a72ef1332c882f20534b6519be0276000200000000000000000112","0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000012","0xfeadd389a5c427952d8fdb8057d6c8ba1156cc5600020000000000000000001e","0x6b15a01b5d46a5321b627bd7deef1af57bc629070000000000000000000000d4","0xe08590bde837eb9b2d42aa1196469d6e08fe96ec000200000000000000000101","0xb4c23af48e79f73e3a7e36c0e54eb38e1ce1755e0002000000000000000000d3","0x9be7de742865d021c0e8fb9d64311b2c040c1ec1000200000000000000000012","0x9f19a375709baf0e8e35c2c5c65aca676c4c7191000200000000000000000022","0x1533a3278f3f9141d5f820a184ea4b017fce2382000000000000000000000016","0xf38cf113d2d4f60c36cbd95af2f48a9a0167045a00000000000000000000005b","0x0d34e5dd4d8f043557145598e4e2dc286b35fd4f000000000000000000000068","0x386b5d43ba8b97c43d4afb4cdae7877a1b295e8a000000000000000000000020","0x5028497af0c9a54ea8c6d42a054c0341b9fc616800020000000000000000007b","0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb20000000000000000000000fe","0x8fd162f338b770f7e879030830cde9173367f3010000000000000000000004d8","0xd387dfd3a786e7caa06e6cf0c675352c7ffff30400000000000000000000063e","0xaf5e0b5425de1f5a630a8cb5aa9d97b8141c908d000200000000000000000366"]},Investment:{AllowList:["0x4fd63966879300cafafbb35d157dc5229278ed23000100000000000000000169","0x37a6fc079cad790e556baedda879358e076ef1b3000100000000000000000348","0xccf5575570fac94cec733a58ff91bb3d073085c70002000000000000000000af","0xe7b1d394f3b40abeaa0b64a545dbcf89da1ecb3f00010000000000000000009a","0x3b40d7d5ae25df2561944dd68b252016c4c7b2800001000000000000000000c2"]},Factories:{"0xa5bf2ddf098bb0ef6d120c98217dd6b141c74ee0":"oracleWeightedPool","0x8e9aa87e45e92bad84d5f8dd1bff34fb92637de9":"weightedPool","0xc66ba2b6595d3613ccab350c886ace23866ede24":"stablePool","0x67d27634e44793fe63c467035e31ea8635117cd4":"stablePool","0x751dfdace1ad995ff13c927f6f761c6604532c79":"stablePool","0x590e544e7ca956bb878f8c873e82e65550d67d2f":"stablePool","0x7dfdef5f355096603419239ce743bfaf1120312b":"weightedPool","0xcf0a32bbef8f064969f21f7e02328fb577382018":"weightedPool","0x2433477a10fc5d31b9513c638f19ee85caed53fd":"stablePool","0xebfd5681977e38af65a7487dc70b8221d089ccad":"stablePool","0x751a0bc0e3f75b38e01cf25bfce7ff36de1c87de":"liquidityBootstrappingPool","0x0f3e0c4218b7b0108a3643cfe9d3ec0d4f57c54e":"liquidityBootstrappingPool","0x142b9666a0a3a30477b052962dda81547e7029ab":"liquidityBootstrappingPool","0x1802953277fd955f9a254b80aa0582f193cf1d77":"liquidityBootstrappingPool","0x48767f9f868a4a7b86a90736632f6e44c2df7fa9":"managedPool","0x0f7bb7ce7b6ed9366f9b6b910adefe72dc538193":"managedPool","0xacd615b3705b9c880e4e7293f1030b34e57b4c1c":"managedPool","0xb08e16cfc07c684daa2f93c70323badb2a6cbfd2":"boostedPool","0xdae7e32adc5d490a43ccba1f0c736033f2b4efca":"boostedPool","0xc128a9954e6c874ea3d62ce62b468ba073093f25":"boostedPool","0x6c7f4d97269ece163fd08d5c2584a21e4a33934c":"boostedPool"},Stakable:{AllowList:[]},Metadata:{"0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb20000000000000000000000fe":{name:"Balancer Boosted Aave USD",hasIcon:!0},"0x8fd162f338b770f7e879030830cde9173367f3010000000000000000000004d8":{name:"Balancer Boosted Aave USD",hasIcon:!0},"0xd387dfd3a786e7caa06e6cf0c675352c7ffff30400000000000000000000063e":{name:"Balancer Stable USD",hasIcon:!0}}},L={[exports.Network.KOVAN]:{IdsMap:{staBAL:"0xd387dfd3a786e7caa06e6cf0c675352c7ffff30400000000000000000000063e",bbAaveUSD:{v1:"0x8fd162f338b770f7e879030830cde9173367f3010000000000000000000004d8",v2:""},veBAL:"0xdc2ecfdf2688f92c85064be0b929693acc6dbca6000200000000000000000701"},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:["0x22d398c68030ef6b1c55321cca6e0cecc5c93b2f000200000000000000000678","0xca1eb8624be8e11418f629559321587197557e0c000200000000000000000682","0xa21da5768186c1bc0f56dd72aa94672d77bdf23e00020000000000000000067a","0x7f9db0d15eea32e205b7df0fa5184f4a8a905abb000200000000000000000683","0x72c5a86831f019df6fac146fc14ef60ebe0d5f2600020000000000000000067f","0x542b9f6fd4500b94d453974d8c70783ef794ff6a00020000000000000000067c","0x47f9309a8c5a68a93ac27a4cccc0e222cd3adfa2000200000000000000000684","0x3f3050a0fe84778aeff96906c9218b318f924d22000200000000000000000680","0x31e61587b5dc148ae42ae323655fb8d7af7bb86600020000000000000000067d","0x28efa7f86341aa0ad534bdfb033edb4f4ac6adf700020000000000000000067e","0x10ee90b9ff4b9a44a773107280c0ce083619286800020000000000000000067b"],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear"],Stable:{AllowList:["0x6b15a01b5d46a5321b627bd7deef1af57bc629070000000000000000000000d4","0xe08590bde837eb9b2d42aa1196469d6e08fe96ec000200000000000000000101","0xb4c23af48e79f73e3a7e36c0e54eb38e1ce1755e0002000000000000000000d3","0x8fd162f338b770f7e879030830cde9173367f3010000000000000000000004d8","0xd387dfd3a786e7caa06e6cf0c675352c7ffff30400000000000000000000063e"]},Investment:{AllowList:["0x4fd63966879300cafafbb35d157dc5229278ed23000100000000000000000169","0x37a6fc079cad790e556baedda879358e076ef1b3000100000000000000000348"]},Factories:{"0xa5bf2ddf098bb0ef6d120c98217dd6b141c74ee0":"oracleWeightedPool","0x8e9aa87e45e92bad84d5f8dd1bff34fb92637de9":"weightedPool","0xc66ba2b6595d3613ccab350c886ace23866ede24":"stablePool","0x1b57f637ce3408f1f834b0b70f9a595b062daea7":"liquidityBootstrappingPool","0x751dfdace1ad995ff13c927f6f761c6604532c79":"stablePool","0x590e544e7ca956bb878f8c873e82e65550d67d2f":"stablePool","0xb08e16cfc07c684daa2f93c70323badb2a6cbfd2":"managedPool","0x6c7f4d97269ece163fd08d5c2584a21e4a33934c":"boostedPool","0x1f47ab83420cd1f818df9acbd6ee68341bb91592":"stablePool"},Stakable:{AllowList:["0xf767f0a3fcf1eafec2180b7de79d0c559d7e7e370001000000000000000003e3","0xdc2ecfdf2688f92c85064be0b929693acc6dbca6000200000000000000000701","0x647c1fd457b95b75d0972ff08fe01d7d7bda05df000200000000000000000001","0x8fd162f338b770f7e879030830cde9173367f3010000000000000000000004d8"]},Metadata:{"0x8fd162f338b770f7e879030830cde9173367f3010000000000000000000004d8":{name:"Balancer Boosted Aave USD",hasIcon:!1},"0xd387dfd3a786e7caa06e6cf0c675352c7ffff30400000000000000000000063e":{name:"Balancer Stable USD",hasIcon:!1}}},[exports.Network.GOERLI]:{IdsMap:{staBAL:"0xdcdd4a3d36dec8d57594e89763d069a7e9b223e2000000000000000000000062",bbAaveUSD:{v1:"0x13acd41c585d7ebb4a9460f7c8f50be60dc080cd00000000000000000000005f",v2:"0x3d5981bdd8d3e49eb7bbdc1d2b156a3ee019c18e0000000000000000000001a7"},veBAL:"0xf8a0623ab66f985effc1c69d05f1af4badb01b00000200000000000000000060"},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:["0x22d398c68030ef6b1c55321cca6e0cecc5c93b2f000200000000000000000678"],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear"],Stable:{AllowList:["0x13acd41c585d7ebb4a9460f7c8f50be60dc080cd00000000000000000000005f","0xb60e46d90f2de35f7062a27d3a98749414036d5d000200000000000000000061","0xdcdd4a3d36dec8d57594e89763d069a7e9b223e2000000000000000000000062","0xc957b1acceb21707b782eb8eee2ed8e20088463d000200000000000000000076","0x3d5981bdd8d3e49eb7bbdc1d2b156a3ee019c18e0000000000000000000001a7","0x14f93df8a4e37bfdb49d2cec4789df7a010603d700000000000000000000011d","0x00a62d31b6c776b6813543bc99ff265f7222dbe100000000000000000000011e","0x0c925fce89a22e36ebd9b3c6e0262234e853d2f600000000000000000000019c"]},Investment:{AllowList:[]},Factories:{"0xa5bf2ddf098bb0ef6d120c98217dd6b141c74ee0":"oracleWeightedPool","0x8e9aa87e45e92bad84d5f8dd1bff34fb92637de9":"weightedPool","0x44afeb87c871d8fea9398a026dea2bd3a13f5769":"stablePool","0xa55f73e2281c60206ba43a3590db07b8955832be":"stablePool","0xb48cc42c45d262534e46d5965a9ac496f1b7a830":"liquidityBootstrappingPool","0xb0c726778c3ae4b3454d85557a48e8fa502bdd6a":"liquidityBootstrappingPool","0x41e9036ae350baedcc7107760a020dca3c0731ec":"boostedPool","0xb848f50141f3d4255b37ac288c25c109104f2158":"composableStablePool","0x94f68b54191f62f781fe8298a8a5fa3ed772d227":"weightedPool"},Stakable:{AllowList:["0x16faf9f73748013155b7bc116a3008b57332d1e600020000000000000000005b","0x13acd41c585d7ebb4a9460f7c8f50be60dc080cd00000000000000000000005f","0xdcdd4a3d36dec8d57594e89763d069a7e9b223e2000000000000000000000062","0x67f8fcb9d3c463da05de1392efdbb2a87f8599ea000200000000000000000059"]},Metadata:{"0x13acd41c585d7ebb4a9460f7c8f50be60dc080cd00000000000000000000005f":{name:"Balancer Boosted Aave USD",hasIcon:!1}}},[exports.Network.MAINNET]:{IdsMap:{staBAL:"0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000063",bbAaveUSD:{v1:"0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb20000000000000000000000fe",v2:"0xa13a9247ea42d743238089903570127dda72fe4400000000000000000000035d"},veBAL:"0x5c6ee304399dbdb9c8ef030ab642b10820db8f56000200000000000000000014"},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear","Gyro2","Gyro3"],Stable:{AllowList:["0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000063","0xfeadd389a5c427952d8fdb8057d6c8ba1156cc56000000000000000000000066","0x9f19a375709baf0e8e35c2c5c65aca676c4c719100000000000000000000006e","0x32296969ef14eb0c6d29669c550d4a0449130230000200000000000000000080","0x1e19cf2d73a72ef1332c882f20534b6519be0276000200000000000000000112","0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb20000000000000000000000fe","0x851523a36690bf267bbfec389c823072d82921a90002000000000000000001ed","0x3dd0843a028c86e0b760b1a76929d1c5ef93a2dd000200000000000000000249","0x2d011adf89f0576c9b722c28269fcb5d50c2d17900020000000000000000024d","0x178e029173417b1f9c8bc16dcec6f697bc32374600000000000000000000025d","0xf93579002dbe8046c43fefe86ec78b1112247bb80000000000000000000002bc","0xf3aeb3abba741f0eece8a1b1d2f11b85899951cb000200000000000000000351","0xa13a9247ea42d743238089903570127dda72fe4400000000000000000000035d","0x5b3240b6be3e7487d61cd1afdfc7fe4fa1d81e6400000000000000000000037b"]},Investment:{AllowList:["0xccf5575570fac94cec733a58ff91bb3d073085c70002000000000000000000af","0xe7b1d394f3b40abeaa0b64a545dbcf89da1ecb3f00010000000000000000009a","0x3b40d7d5ae25df2561944dd68b252016c4c7b2800001000000000000000000c2"]},Factories:{"0xa5bf2ddf098bb0ef6d120c98217dd6b141c74ee0":"oracleWeightedPool","0x8e9aa87e45e92bad84d5f8dd1bff34fb92637de9":"weightedPool","0xc66ba2b6595d3613ccab350c886ace23866ede24":"stablePool","0x67d27634e44793fe63c467035e31ea8635117cd4":"stablePool","0x751a0bc0e3f75b38e01cf25bfce7ff36de1c87de":"liquidityBootstrappingPool","0x0f3e0c4218b7b0108a3643cfe9d3ec0d4f57c54e":"liquidityBootstrappingPool","0x48767f9f868a4a7b86a90736632f6e44c2df7fa9":"managedPool","0xb08e16cfc07c684daa2f93c70323badb2a6cbfd2":"boostedPool","0x8df6efec5547e31b0eb7d1291b511ff8a2bf987c":"stablePool","0xf9ac7b9df2b3454e841110cce5550bd5ac6f875f":"composableStablePool","0xcc508a455f5b0073973107db6a878ddbdab957bc":"weightedPool"},Stakable:{AllowList:["0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000063","0x072f14b85add63488ddad88f855fda4a99d6ac9b000200000000000000000027","0x0b09dea16768f0799065c475be02919503cb2a3500020000000000000000001a","0x186084ff790c65088ba694df11758fae4943ee9e000200000000000000000013","0x1e19cf2d73a72ef1332c882f20534b6519be0276000200000000000000000112","0x27c9f71cc31464b906e0006d4fcbc8900f48f15f00020000000000000000010f","0x32296969ef14eb0c6d29669c550d4a0449130230000200000000000000000080","0x350196326aeaa9b98f1903fb5e8fc2686f85318c000200000000000000000084","0x3e5fa9518ea95c3e533eb377c001702a9aacaa32000200000000000000000052","0x51735bdfbfe3fc13dea8dc6502e2e958989429610002000000000000000000a0","0x5d66fff62c17d841935b60df5f07f6cf79bd0f4700020000000000000000014c","0x5f7fa48d765053f8dd85e052843e12d23e3d7bc50002000000000000000000c0","0x702605f43471183158938c1a3e5f5a359d7b31ba00020000000000000000009f","0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb20000000000000000000000fe","0x7edde0cb05ed19e03a9a47cd5e53fc57fde1c80c0002000000000000000000c8","0x8f4205e1604133d1875a3e771ae7e4f2b086563900020000000000000000010e","0x90291319f1d4ea3ad4db0dd8fe9e12baf749e84500020000000000000000013c","0x96646936b91d6b9d7d0c47c496afbf3d6ec7b6f8000200000000000000000019","0x96ba9025311e2f47b840a1f68ed57a3df1ea8747000200000000000000000160","0xa02e4b3d18d4e6b8d18ac421fbc3dfff8933c40a00020000000000000000004b","0xa6f548df93de924d73be7d25dc02554c6bd66db500020000000000000000000e","0xbaeec99c90e3420ec6c1e7a769d2a856d2898e4d00020000000000000000008a","0xbf96189eee9357a95c7719f4f5047f76bde804e5000200000000000000000087","0xe2469f47ab58cf9cf59f9822e3c5de4950a41c49000200000000000000000089","0xe99481dc77691d8e2456e5f3f61c1810adfc1503000200000000000000000018","0xec60a5fef79a92c741cb74fdd6bfc340c0279b01000200000000000000000015","0xedf085f65b4f6c155e13155502ef925c9a756003000200000000000000000123","0xefaa1604e82e1b3af8430b90192c1b9e8197e377000200000000000000000021","0xf4c0dd9b82da36c07605df83c8a416f11724d88b000200000000000000000026","0xf5aaf7ee8c39b651cebf5f1f50c10631e78e0ef9000200000000000000000069","0xfeadd389a5c427952d8fdb8057d6c8ba1156cc56000000000000000000000066","0x92762b42a06dcdddc5b7362cfb01e631c4d44b40000200000000000000000182","0xde8c195aa41c11a0c4787372defbbddaa31306d2000200000000000000000181","0x17ddd9646a69c9445cd8a9f921d4cd93bf50d108000200000000000000000159","0xc45d42f801105e861e86658648e3678ad7aa70f900010000000000000000011e","0x2d344a84bac123660b021eebe4eb6f12ba25fe8600020000000000000000018a","0xb460daa847c45f1c4a41cb05bfb3b51c92e41b36000200000000000000000194","0x5122e01d819e58bb2e22528c0d68d310f0aa6fd7000200000000000000000163","0x851523a36690bf267bbfec389c823072d82921a90002000000000000000001ed","0xe8cc7e765647625b95f59c15848379d10b9ab4af0002000000000000000001de","0x85370d9e3bb111391cc89f6de344e801760461830002000000000000000001ef","0xa7ff759dbef9f3efdd1d59beee44b966acafe214000200000000000000000180","0x3f7c10701b14197e2695dec6428a2ca4cf7fc3b800020000000000000000023c","0x2d011adf89f0576c9b722c28269fcb5d50c2d17900020000000000000000024d","0x178e029173417b1f9c8bc16dcec6f697bc32374600000000000000000000025d","0xcfca23ca9ca720b6e98e3eb9b6aa0ffc4a5c08b9000200000000000000000274","0x3dd0843a028c86e0b760b1a76929d1c5ef93a2dd000200000000000000000249","0x0578292cb20a443ba1cde459c985ce14ca2bdee5000100000000000000000269","0x8eb6c82c3081bbbd45dcac5afa631aac53478b7c000100000000000000000270","0x1b65fe4881800b91d4277ba738b567cbb200a60d0002000000000000000002cc","0x99a14324cfd525a34bbc93ac7e348929909d57fd00020000000000000000030e","0x9b532ab955417afd0d012eb9f7389457cd0ea712000000000000000000000338","0x48607651416a943bf5ac71c41be1420538e78f87000200000000000000000327","0x6a5ead5433a50472642cd268e584dafa5a394490000200000000000000000366","0x0fd5663d4893ae0d579d580584806aadd2dd0b8b000200000000000000000367","0x441b8a1980f2f2e43a9397099d15cc2fe6d3625000020000000000000000035f","0xf3aeb3abba741f0eece8a1b1d2f11b85899951cb000200000000000000000351","0xa13a9247ea42d743238089903570127dda72fe4400000000000000000000035d"]},Metadata:{"0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb20000000000000000000000fe":{name:"Balancer Boosted Aave USD",hasIcon:!0},"0xa13a9247ea42d743238089903570127dda72fe4400000000000000000000035d":{name:"Balancer Boosted Aave USD",hasIcon:!0},"0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000063":{name:"Balancer Stable USD",hasIcon:!0},"0x3dd0843a028c86e0b760b1a76929d1c5ef93a2dd000200000000000000000249":{name:"AuraBAL Stable Pool",hasIcon:!1}}},[exports.Network.POLYGON]:{IdsMap:{xMatic:{v1:"0xc17636e36398602dd37bb5d1b3a9008c7629005f0002000000000000000004c4",v2:"0xb20fc01d21a50d2c734c4a1262b4404d41fa7bf000000000000000000000075c"},stMatic:{v1:"0xaf5e0b5425de1f5a630a8cb5aa9d97b8141c908d000200000000000000000366",v2:"0x8159462d255c1d24915cb51ec361f700174cd99400000000000000000000075d"},mai4:{mai4:"0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000012",maiBbaUsd:"0xb54b2125b711cd183edd3dd09433439d5396165200000000000000000000075e"}},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear","Gyro2","Gyro3"],Stable:{AllowList:["0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000012","0xfeadd389a5c427952d8fdb8057d6c8ba1156cc5600020000000000000000001e","0xf38cf113d2d4f60c36cbd95af2f48a9a0167045a00000000000000000000005b","0x0d34e5dd4d8f043557145598e4e2dc286b35fd4f000000000000000000000068","0x5028497af0c9a54ea8c6d42a054c0341b9fc616800020000000000000000007b","0xaf5e0b5425de1f5a630a8cb5aa9d97b8141c908d000200000000000000000366","0xb4670d1389c758e4380c4211bcbc85342688b9c50002000000000000000003d8","0xc31a37105b94ab4efca1954a14f059af11fcd9bb000000000000000000000455","0xc17636e36398602dd37bb5d1b3a9008c7629005f0002000000000000000004c4","0xb4b22bd6cdad0ab828be6f8a4086dfa54e9b373600020000000000000000058f","0xb797adfb7b268faeaa90cadbfed464c76ee599cd0002000000000000000005ba","0x0b8319061732b34cab22445fa83b81f950e4b7ed000000000000000000000709","0xaf5e0b5425de1f5a630a8cb5aa9d97b8141c908d000200000000000000000366","0x8159462d255c1d24915cb51ec361f700174cd99400000000000000000000075d","0xb20fc01d21a50d2c734c4a1262b4404d41fa7bf000000000000000000000075c","0xb54b2125b711cd183edd3dd09433439d5396165200000000000000000000075e","0x48e6b98ef6329f8f0a30ebb8c7c960330d64808500000000000000000000075b","0xa48d164f6eb0edc68bd03b56fa59e12f24499ad10000000000000000000007c4"]},Investment:{AllowList:[""]},Factories:{"0xa5bf2ddf098bb0ef6d120c98217dd6b141c74ee0":"oracleWeightedPool","0x8e9aa87e45e92bad84d5f8dd1bff34fb92637de9":"weightedPool","0xc66ba2b6595d3613ccab350c886ace23866ede24":"stablePool","0xdae7e32adc5d490a43ccba1f0c736033f2b4efca":"stablePool","0x751a0bc0e3f75b38e01cf25bfce7ff36de1c87de":"liquidityBootstrappingPool","0x41b953164995c11c81da73d212ed8af25741b7ac":"liquidityBootstrappingPool","0x0f7bb7ce7b6ed9366f9b6b910adefe72dc538193":"managedPool","0xc128a9954e6c874ea3d62ce62b468ba073093f25":"boostedPool","0xca96c4f198d343e251b1a01f3eba061ef3da73c1":"stablePool","0x136fd06fa01ecf624c7f2b3cb15742c1339dc2c4":"composableStablePool","0x0e39c3d9b2ec765efd9c5c70bb290b1fcd8536e3":"weightedPool"},Stakable:{AllowList:["0x0297e37f1873d2dab4487aa67cd56b58e2f27875000100000000000000000002","0x03cd191f589d12b0582a99808cf19851e468e6b500010000000000000000000a","0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000012","0x0d34e5dd4d8f043557145598e4e2dc286b35fd4f000000000000000000000068","0x10f21c9bd8128a29aa785ab2de0d044dcdd79436000200000000000000000059","0x186084ff790c65088ba694df11758fae4943ee9e000200000000000000000032","0x36128d5436d2d70cab39c9af9cce146c38554ff0000100000000000000000008","0x5a6ae1fd70d04ba4a279fc219dfabc53825cb01d00020000000000000000020e","0x614b5038611729ed49e0ded154d8a5d3af9d1d9e00010000000000000000001d","0x7c9cf12d783821d5c63d8e9427af5c44bad92445000100000000000000000051","0x805ca3ccc61cc231851dee2da6aabff0a7714aa7000200000000000000000361","0xaf5e0b5425de1f5a630a8cb5aa9d97b8141c908d000200000000000000000366","0xb204bf10bc3a5435017d3db247f56da601dfe08a0002000000000000000000fe","0xc31a37105b94ab4efca1954a14f059af11fcd9bb000000000000000000000455","0xce66904b68f1f070332cbc631de7ee98b650b499000100000000000000000009","0xcf354603a9aebd2ff9f33e1b04246d8ea204ae9500020000000000000000005a","0xdb1db6e248d7bb4175f6e5a382d0a03fe3dcc813000100000000000000000035","0xea4e073c8ac859f2994c07e627178719c8002dc00002000000000000000003dc","0xfeadd389a5c427952d8fdb8057d6c8ba1156cc5600020000000000000000001e","0xc17636e36398602dd37bb5d1b3a9008c7629005f0002000000000000000004c4","0x2dbc9ab0160087ae59474fb7bed95b9e808fa6bc0001000000000000000003db","0xb797adfb7b268faeaa90cadbfed464c76ee599cd0002000000000000000005ba","0x8f9dd2064eb38e8e40f2ab67bde27c0e16ea9b080002000000000000000004ca","0x48e6b98ef6329f8f0a30ebb8c7c960330d64808500000000000000000000075b","0xb54b2125b711cd183edd3dd09433439d5396165200000000000000000000075e","0x8159462d255c1d24915cb51ec361f700174cd99400000000000000000000075d","0xb20fc01d21a50d2c734c4a1262b4404d41fa7bf000000000000000000000075c"]},Metadata:{}},[exports.Network.ARBITRUM]:{IdsMap:{},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear"],Stable:{AllowList:["0x9be7de742865d021c0e8fb9d64311b2c040c1ec1000200000000000000000012","0x1533a3278f3f9141d5f820a184ea4b017fce2382000000000000000000000016","0x386b5d43ba8b97c43d4afb4cdae7877a1b295e8a000000000000000000000020","0x0510ccf9eb3ab03c1508d3b9769e8ee2cfd6fdcf00000000000000000000005d","0x5a5884fc31948d59df2aeccca143de900d49e1a300000000000000000000006f","0xd89746affa5483627a87e55713ec1905114394950002000000000000000000bf","0x7bceaa9c5e7f4836fec3bce2d5346637c9b13970000000000000000000000102","0xfb5e6d0c1dfed2ba000fbc040ab8df3615ac329c000000000000000000000159"]},Investment:{AllowList:[""]},Factories:{"0x7dfdef5f355096603419239ce743bfaf1120312b":"weightedPool","0xcf0a32bbef8f064969f21f7e02328fb577382018":"weightedPool","0x2433477a10fc5d31b9513c638f19ee85caed53fd":"stablePool","0xebfd5681977e38af65a7487dc70b8221d089ccad":"stablePool","0x142b9666a0a3a30477b052962dda81547e7029ab":"liquidityBootstrappingPool","0x1802953277fd955f9a254b80aa0582f193cf1d77":"liquidityBootstrappingPool","0xacd615b3705b9c880e4e7293f1030b34e57b4c1c":"managedPool","0xdae7e32adc5d490a43ccba1f0c736033f2b4efca":"boostedPool","0xef44d6786b2b4d544b7850fe67ce6381626bf2d6":"stablePool","0xaeb406b0e430bf5ea2dc0b9fe62e4e53f74b3a33":"composableStablePool","0x8df6efec5547e31b0eb7d1291b511ff8a2bf987c":"weightedPool"},Stakable:{AllowList:["0x0510ccf9eb3ab03c1508d3b9769e8ee2cfd6fdcf00000000000000000000005d","0x0adeb25cb5920d4f7447af4a0428072edc2cee2200020000000000000000004a","0x1533a3278f3f9141d5f820a184ea4b017fce2382000000000000000000000016","0x1779900c7707885720d39aa741f4086886307e9e00020000000000000000004b","0x4a3a22a3e7fee0ffbb66f1c28bfac50f75546fc7000200000000000000000008","0x5a5884fc31948d59df2aeccca143de900d49e1a300000000000000000000006f","0x64541216bafffeec8ea535bb71fbc927831d0595000100000000000000000002","0x651e00ffd5ecfa7f3d4f33d62ede0a97cf62ede2000200000000000000000006","0xb28670b3e7ad27bd41fb5938136bf9e9cba90d6500020000000000000000001e","0xb340b6b1a34019853cb05b2de6ee8ffd0b89a008000100000000000000000036","0xb5b77f1ad2b520df01612399258e7787af63025d000200000000000000000010","0xc2f082d33b5b8ef3a7e3de30da54efd3114512ac000200000000000000000017","0xc61ff48f94d801c1ceface0289085197b5ec44f000020000000000000000004d","0xcc65a812ce382ab909a11e434dbf75b34f1cc59d000200000000000000000001","0xe1b40094f1446722c424c598ac412d590e0b3ffb000200000000000000000076","0xb3028ca124b80cfe6e9ca57b70ef2f0ccc41ebd40002000000000000000000ba","0x7bceaa9c5e7f4836fec3bce2d5346637c9b13970000000000000000000000102","0xfb5e6d0c1dfed2ba000fbc040ab8df3615ac329c000000000000000000000159","0x178e029173417b1f9c8bc16dcec6f697bc323746000200000000000000000158"]},Metadata:{}},[exports.Network.GNOSIS]:{IdsMap:{},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear","FX","Gyro2","Gyro3","GyroE","HighAmpComposableStable"],Stable:{AllowList:["0x11884da90fb4221b3aa288a7741c51ec4fc43b2f000000000000000000000004","0x707b7d4a1bae449d546dcab869256591bbb3d70b000000000000000000000000"]},Investment:{AllowList:[]},Factories:{},Stakable:{AllowList:[]},Metadata:{}},[exports.Network.DEFIVERSE]:{IdsMap:{veBAL:""},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","EulerLinear","Linear","ERC4626Linear","FX","Gyro2","Gyro3","GyroE","HighAmpComposableStable"],Stable:{AllowList:[]},Investment:{AllowList:[]},Factories:{"0xd01ad3085fb3e1fbb2541b5b3326b1f47b189747":"composableStablePool","0xd1920dd25e4998b0d7cc8de7f12beaf9796c7475":"weightedPool","0xe952b0409e6768e270a671ebbc5b8605a7c5a0b8":"weightedPool","0xc04ce4fe0f4013814ea1a4b0577d3678d5a7c91c":"weightedPool","0x9f9e8668ee128c365365f7d1963b4891034fb513":"weightedPool"},Stakable:{AllowList:[]},Metadata:{}},[exports.Network.DEFIVERSE_TESTNET]:{IdsMap:{veBAL:""},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","EulerLinear","Linear","ERC4626Linear","FX","Gyro2","Gyro3","GyroE","HighAmpComposableStable"],Stable:{AllowList:[]},Investment:{AllowList:[]},Factories:{"0xab6bac0f5f4c7c166c5234b528a1cd46fbcb9f4b":"weightedPool","0x58e6f99bb65378f47a520fc9630bd711f2cf3dc7":"composableStablePool","0x48494fa9ead46ee8e3fcb66487a6dbbd34dcafe3":"weightedPool"},Stakable:{AllowList:[]},Metadata:{}},[exports.Network.OASYS]:{IdsMap:{veBAL:""},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","EulerLinear","Linear","ERC4626Linear","FX","Gyro2","Gyro3","GyroE","HighAmpComposableStable"],Stable:{AllowList:[]},Investment:{AllowList:[]},Factories:{"0x061e05853fb45d3d41ec227459ec98bb25580ad3":"composableStablePool","0x4ef0b4827ce3d5fecbc2c6ab80ee81dbf9631d37":"weightedPool","0x5737600b98e7f1cf98daca2a36bca22c974370b0":"weightedPool"},Stakable:{AllowList:[]},Metadata:{}},[exports.Network.OASYS_TESTNET]:{IdsMap:{veBAL:""},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:["0x950f31e8a327a49ae4443284d0137f3b74858474000200000000000000000030"],ExcludedPoolTypes:["Element","AaveLinear","EulerLinear","Linear","ERC4626Linear","FX","Gyro2","Gyro3","GyroE","HighAmpComposableStable"],Stable:{AllowList:["0xeaac5ae5255407cf933dfcf2b0d3eb4f5dc042cd000000000000000000000035","0x34936c3e61371e9ebd1dcd580b23a52c26080b70000000000000000000000036"]},Investment:{AllowList:[]},Factories:{"0xfda8fa80dd77a99bf71becfce47077859e689898":"composableStablePool","0xd2d7f457b9749b6a0a637685a65681f03116125c":"weightedPool"},Stakable:{AllowList:["0x4e66d5f08e81979bd5951c93839bc97265681975000200000000000000000000","0x66180966de2a4180183d7e5dffd76e13b364efe2000200000000000000000001","0xe5b67bf732b7f96127454126069f94f939914d62000200000000000000000002","0x82bfc330a92789c02b3ce2daed3ca889b1a112b7000100000000000000000003","0x0b014863ba970f50b0ea2ad7d57151994b7cac21000100000000000000000004","0x4a54649fb507ee0bf3ad2e1661516b5700c520ab000100000000000000000005","0x981401f589c5768a41d3c4d1a39e84a86f11ad9f000200000000000000000006"]},Metadata:{}},[exports.Network.MEGAETH_TESTNET]:{IdsMap:{veBAL:""},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[],ExcludedPoolTypes:["Element","AaveLinear","EulerLinear","Linear","ERC4626Linear","FX","Gyro2","Gyro3","GyroE","HighAmpComposableStable"],Stable:{AllowList:[]},Investment:{AllowList:[]},Factories:{"0x84f75879c0ac87eafaf4f1e3e1a2372caab5273b":"weightedPool"},Stakable:{AllowList:[]},Metadata:{}}};var U=[{inputs:[{internalType:"contract IStaticAToken",name:"_waToken",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"getRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"waToken",outputs:[{internalType:"contract IStaticAToken",name:"",type:"address"}],stateMutability:"view",type:"function"}];const G=e=>e[0].map(((t,a)=>e.map((e=>e[a]))));class q{constructor(e){this.ETH=t.AddressZero,this.isETH=e=>q.isEqual(e,this.ETH),this.isWETH=e=>q.isEqual(e,this.WETH),this.translateToERC20=e=>this.isETH(e)?this.WETH:e,this.WETH=n.getAddress(e)}sortTokens(e,...t){t.forEach((t=>N(e.length===t.length,"array length mismatch")));const a=e.map(this.translateToERC20),n=G([a,...t]).sort((([e],[t])=>((e,t)=>e.toLowerCase()>t.toLowerCase()?1:-1)(e,t))),[s,...r]=G(n);return[e.includes(this.ETH)?s.map((e=>this.isWETH(e)?this.ETH:e)):s,...r]}}q.isEqual=(e,t)=>n.getAddress(e)===n.getAddress(t);const W={"000":"ADD_OVERFLOW","001":"SUB_OVERFLOW","002":"SUB_UNDERFLOW","003":"MUL_OVERFLOW","004":"ZERO_DIVISION","005":"DIV_INTERNAL","006":"X_OUT_OF_BOUNDS","007":"Y_OUT_OF_BOUNDS","008":"PRODUCT_OUT_OF_BOUNDS","009":"INVALID_EXPONENT",100:"OUT_OF_BOUNDS",101:"UNSORTED_ARRAY",102:"UNSORTED_TOKENS",103:"INPUT_LENGTH_MISMATCH",104:"ZERO_TOKEN",200:"MIN_TOKENS",201:"MAX_TOKENS",202:"MAX_SWAP_FEE_PERCENTAGE",203:"MIN_SWAP_FEE_PERCENTAGE",204:"MINIMUM_BPT",205:"CALLER_NOT_VAULT",206:"UNINITIALIZED",207:"BPT_IN_MAX_AMOUNT",208:"BPT_OUT_MIN_AMOUNT",209:"EXPIRED_PERMIT",210:"NOT_TWO_TOKENS",211:"DISABLED",300:"MIN_AMP",301:"MAX_AMP",302:"MIN_WEIGHT",303:"MAX_STABLE_TOKENS",304:"MAX_IN_RATIO",305:"MAX_OUT_RATIO",306:"MIN_BPT_IN_FOR_TOKEN_OUT",307:"MAX_OUT_BPT_FOR_TOKEN_IN",308:"NORMALIZED_WEIGHT_INVARIANT",309:"INVALID_TOKEN",310:"UNHANDLED_JOIN_KIND",311:"ZERO_INVARIANT",312:"ORACLE_INVALID_SECONDS_QUERY",313:"ORACLE_NOT_INITIALIZED",314:"ORACLE_QUERY_TOO_OLD",315:"ORACLE_INVALID_INDEX",316:"ORACLE_BAD_SECS",317:"AMP_END_TIME_TOO_CLOSE",318:"AMP_ONGOING_UPDATE",319:"AMP_RATE_TOO_HIGH",320:"AMP_NO_ONGOING_UPDATE",321:"STABLE_INVARIANT_DIDNT_CONVERGE",322:"STABLE_GET_BALANCE_DIDNT_CONVERGE",323:"RELAYER_NOT_CONTRACT",324:"BASE_POOL_RELAYER_NOT_CALLED",325:"REBALANCING_RELAYER_REENTERED",326:"GRADUAL_UPDATE_TIME_TRAVEL",327:"SWAPS_DISABLED",328:"CALLER_IS_NOT_LBP_OWNER",329:"PRICE_RATE_OVERFLOW",330:"INVALID_JOIN_EXIT_KIND_WHILE_SWAPS_DISABLED",331:"WEIGHT_CHANGE_TOO_FAST",332:"LOWER_GREATER_THAN_UPPER_TARGET",333:"UPPER_TARGET_TOO_HIGH",334:"UNHANDLED_BY_LINEAR_POOL",335:"OUT_OF_TARGET_RANGE",336:"UNHANDLED_EXIT_KIND ",337:"UNAUTHORIZED_EXIT",338:"MAX_MANAGEMENT_SWAP_FEE_PERCENTAGE",339:"UNHANDLED_BY_MANAGED_POOL",340:"UNHANDLED_BY_PHANTOM_POOL",341:"TOKEN_DOES_NOT_HAVE_RATE_PROVIDER",342:"INVALID_INITIALIZATION",343:"OUT_OF_NEW_TARGET_RANGE",344:"UNAUTHORIZED_OPERATION",345:"UNINITIALIZED_POOL_CONTROLLER",400:"REENTRANCY",401:"SENDER_NOT_ALLOWED",402:"PAUSED",403:"PAUSE_WINDOW_EXPIRED",404:"MAX_PAUSE_WINDOW_DURATION",405:"MAX_BUFFER_PERIOD_DURATION",406:"INSUFFICIENT_BALANCE",407:"INSUFFICIENT_ALLOWANCE",408:"ERC20_TRANSFER_FROM_ZERO_ADDRESS",409:"ERC20_TRANSFER_TO_ZERO_ADDRESS",410:"ERC20_MINT_TO_ZERO_ADDRESS",411:"ERC20_BURN_FROM_ZERO_ADDRESS",412:"ERC20_APPROVE_FROM_ZERO_ADDRESS",413:"ERC20_APPROVE_TO_ZERO_ADDRESS",414:"ERC20_TRANSFER_EXCEEDS_ALLOWANCE",415:"ERC20_DECREASED_ALLOWANCE_BELOW_ZERO",416:"ERC20_TRANSFER_EXCEEDS_BALANCE",417:"ERC20_BURN_EXCEEDS_ALLOWANCE",418:"SAFE_ERC20_CALL_FAILED",419:"ADDRESS_INSUFFICIENT_BALANCE",420:"ADDRESS_CANNOT_SEND_VALUE",421:"SAFE_CAST_VALUE_CANT_FIT_INT256",422:"GRANT_SENDER_NOT_ADMIN",423:"REVOKE_SENDER_NOT_ADMIN",424:"RENOUNCE_SENDER_NOT_ALLOWED",425:"BUFFER_PERIOD_EXPIRED",426:"CALLER_IS_NOT_OWNER",427:"NEW_OWNER_IS_ZERO",428:"CODE_DEPLOYMENT_FAILED",429:"CALL_TO_NON_CONTRACT",430:"LOW_LEVEL_CALL_FAILED",431:"NOT_PAUSED",432:"ADDRESS_ALREADY_ALLOWLISTED",433:"ADDRESS_NOT_ALLOWLISTED",434:"ERC20_BURN_EXCEEDS_BALANCE",500:"INVALID_POOL_ID",501:"CALLER_NOT_POOL",502:"SENDER_NOT_ASSET_MANAGER",503:"USER_DOESNT_ALLOW_RELAYER",504:"INVALID_SIGNATURE",505:"EXIT_BELOW_MIN",506:"JOIN_ABOVE_MAX",507:"SWAP_LIMIT",508:"SWAP_DEADLINE",509:"CANNOT_SWAP_SAME_TOKEN",510:"UNKNOWN_AMOUNT_IN_FIRST_SWAP",511:"MALCONSTRUCTED_MULTIHOP_SWAP",512:"INTERNAL_BALANCE_OVERFLOW",513:"INSUFFICIENT_INTERNAL_BALANCE",514:"INVALID_ETH_INTERNAL_BALANCE",515:"INVALID_POST_LOAN_BALANCE",516:"INSUFFICIENT_ETH",517:"UNALLOCATED_ETH",518:"ETH_TRANSFER",519:"CANNOT_USE_ETH_SENTINEL",520:"TOKENS_MISMATCH",521:"TOKEN_NOT_REGISTERED",522:"TOKEN_ALREADY_REGISTERED",523:"TOKENS_ALREADY_SET",524:"TOKENS_LENGTH_MUST_BE_2",525:"NONZERO_TOKEN_BALANCE",526:"BALANCE_TOTAL_OVERFLOW",527:"POOL_NO_TOKENS",528:"INSUFFICIENT_FLASH_LOAN_BALANCE",600:"SWAP_FEE_PERCENTAGE_TOO_HIGH",601:"FLASH_LOAN_FEE_PERCENTAGE_TOO_HIGH",602:"INSUFFICIENT_FLASH_LOAN_FEE_AMOUNT"};class ${constructor(){}}async function V(e){if("string"==typeof e)return e;if(i.Signer.isSigner(e))return e.getAddress();if(e.address)return e.address;throw new Error("Could not read account address")}var H;$.isErrorCode=e=>{if(!e.includes("BAL#"))return!1;const t=e.replace("BAL#","");return Object.keys(W).includes(t)},$.parseErrorCode=e=>{if(!e.includes("BAL#"))throw new Error("Error code not found");const t=e.replace("BAL#",""),a=W[t];if(!a)throw new Error("Error code not found");return a},$.tryParseErrorCode=e=>{try{return $.parseErrorCode(e)}catch{return e}},$.isBalancerError=e=>Object.values(W).includes(e),$.encodeError=e=>{const t=Object.entries(W).find((([,t])=>t===e));if(!t)throw Error("Error message not found");return`BAL#${t[0]}`},exports.RelayerAction=void 0,(H=exports.RelayerAction||(exports.RelayerAction={})).JoinPool="JoinPool",H.ExitPool="ExitPool",H.Swap="Swap",H.BatchSwap="BatchSwap",H.SetRelayerApproval="SetRelayerApproval";class j{constructor(){}}j.encodeCalldataAuthorization=(e,t,a)=>{const n=r.hexZeroPad(r.hexValue(t),32).slice(2),{v:s,r:i,s:o}=r.splitSignature(a);return`${e}${n}${r.hexZeroPad(r.hexValue(s),32).slice(2)}${i.slice(2)}${o.slice(2)}`},j.signJoinAuthorization=(e,t,a,n,s,r)=>j.signAuthorizationFor(exports.RelayerAction.JoinPool,e,t,a,n,s,r),j.signExitAuthorization=(e,t,a,n,s,r)=>j.signAuthorizationFor(exports.RelayerAction.ExitPool,e,t,a,n,s,r),j.signSwapAuthorization=(e,t,a,n,s,r)=>j.signAuthorizationFor(exports.RelayerAction.Swap,e,t,a,n,s,r),j.signBatchSwapAuthorization=(e,t,a,n,s,r)=>j.signAuthorizationFor(exports.RelayerAction.BatchSwap,e,t,a,n,s,r),j.signSetRelayerApprovalAuthorization=(e,t,a,n,s,r)=>j.signAuthorizationFor(exports.RelayerAction.SetRelayerApproval,e,t,a,n,s,r),j.signAuthorizationFor=async(e,a,n,s,r,i=t.MaxUint256,o)=>{const{chainId:d}=await a.provider.getNetwork();if(!o){const e=await n.getAddress();o=await a.getNextNonce(e)}const p={name:"Balancer V2 Vault",version:"1",chainId:d,verifyingContract:a.address},c={[e]:[{name:"calldata",type:"bytes"},{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},l={calldata:r,sender:await V(s),nonce:o.toString(),deadline:i.toString()};return n._signTypedData(p,c,l)};class K{constructor(){}}K.signSetMinterApproval=async(e,n,s,i,o=t.MaxUint256,d)=>{const{chainId:p}=await e.provider.getNetwork();if(!d){const t=await i.getAddress();d=await e.getNextNonce(t)}const c={name:"Balancer Minter",version:"1",chainId:p,verifyingContract:e.address},l={minter:await V(n),approval:s,nonce:d.toString(),deadline:o.toString()},u=await i._signTypedData(c,{SetMinterApproval:[{name:"minter",type:"address"},{name:"approval",type:"bool"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},l);return{...r.splitSignature(u),deadline:a.BigNumber.from(o)}};const Z=BigInt(0),X=BigInt(1),J=BigInt("1000000000000000000"),Y=(e,t)=>{if(!e)throw new Error(t)};function z(e){const t=BigInt(18)-e;return J*BigInt(10)**t}function Q(e,t){return te.mulDownFixed(e,t)}function ee(e,t){const a=new Array(e.length);for(let n=0;n<e.length;++n)a[n]=te.mulDownFixed(e[n],t[n]);return a}class te{static add(e,t){const a=e+t;return Y(t>=0&&a>=e||t<0&&a<e,"Errors.ADD_OVERFLOW"),a}static sub(e,t){Y(t<=e,"Errors.SUB_OVERFLOW");return e-t}static max(e,t){return e>=t?e:t}static min(e,t){return e<t?e:t}static mul(e,t){const a=e*t;return Y(e==Z||a/e==t,"Errors.MUL_OVERFLOW"),a}static div(e,t,a){return a?this.divUp(e,t):this.divDown(e,t)}static divDown(e,t){return Y(t!=Z,"Errors.ZERO_DIVISION"),e/t}static divUp(e,t){return Y(t!=Z,"Errors.ZERO_DIVISION"),e==Z?Z:X+(e-X)/t}static mulUpFixed(e,t){const a=e*t;return Y(e==Z||a/e==t,"Errors.MUL_OVERFLOW"),a==Z?Z:(a-X)/J+X}static divDownFixed(e,t){if(Y(t!=Z,"Errors.ZERO_DIVISION"),e==Z)return Z;return e*J/t}static divUpFixed(e,t){if(Y(t!=Z,"Errors.ZERO_DIVISION"),e==Z)return Z;{const a=e*J;return Y(a/e==J,"Errors.DIV_INTERNAL"),(a-X)/t+X}}static powUpFixed(e,t){const a=ae.pow(e,t),n=this.add(this.mulUpFixed(a,this.MAX_POW_RELATIVE_ERROR),X);return this.add(a,n)}static complementFixed(e){return e<J?J-e:Z}static mulDownFixed(e,t){const a=e*t;return Y(e==Z||a/e==t,"Errors.MUL_OVERFLOW"),a/J}}te.MAX_POW_RELATIVE_ERROR=BigInt(1e4);class ae{static pow(e,t){if(t===Z)return this.ONE_18;if(e==Z)return Z;Y(e<BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819968"),"Errors.X_OUT_OF_BOUNDS");const a=e;Y(t<this.MILD_EXPONENT_BOUND,"Errors.Y_OUT_OF_BOUNDS");const n=t;let s;if(this.LN_36_LOWER_BOUND<a&&a<this.LN_36_UPPER_BOUND){const e=this._ln_36(a);s=e/this.ONE_18*n+e%this.ONE_18*n/this.ONE_18}else s=this._ln(a)*n;return s/=this.ONE_18,Y(this.MIN_NATURAL_EXPONENT<=s&&s<=this.MAX_NATURAL_EXPONENT,"Errors.PRODUCT_OUT_OF_BOUNDS"),this.exp(s)}static exp(e){if(Y(e>=this.MIN_NATURAL_EXPONENT&&e<=this.MAX_NATURAL_EXPONENT,"Errors.INVALID_EXPONENT"),e<0)return this.ONE_18*this.ONE_18/this.exp(BigInt(-1)*e);let t;e>=this.x0?(e-=this.x0,t=this.a0):e>=this.x1?(e-=this.x1,t=this.a1):t=BigInt(1),e*=BigInt(100);let a=this.ONE_20;e>=this.x2&&(e-=this.x2,a=a*this.a2/this.ONE_20),e>=this.x3&&(e-=this.x3,a=a*this.a3/this.ONE_20),e>=this.x4&&(e-=this.x4,a=a*this.a4/this.ONE_20),e>=this.x5&&(e-=this.x5,a=a*this.a5/this.ONE_20),e>=this.x6&&(e-=this.x6,a=a*this.a6/this.ONE_20),e>=this.x7&&(e-=this.x7,a=a*this.a7/this.ONE_20),e>=this.x8&&(e-=this.x8,a=a*this.a8/this.ONE_20),e>=this.x9&&(e-=this.x9,a=a*this.a9/this.ONE_20);let n,s=this.ONE_20;return n=e,s+=n,n=n*e/this.ONE_20/BigInt(2),s+=n,n=n*e/this.ONE_20/BigInt(3),s+=n,n=n*e/this.ONE_20/BigInt(4),s+=n,n=n*e/this.ONE_20/BigInt(5),s+=n,n=n*e/this.ONE_20/BigInt(6),s+=n,n=n*e/this.ONE_20/BigInt(7),s+=n,n=n*e/this.ONE_20/BigInt(8),s+=n,n=n*e/this.ONE_20/BigInt(9),s+=n,n=n*e/this.ONE_20/BigInt(10),s+=n,n=n*e/this.ONE_20/BigInt(11),s+=n,n=n*e/this.ONE_20/BigInt(12),s+=n,a*s/this.ONE_20*t/BigInt(100)}static _ln_36(e){const t=((e*=this.ONE_18)-this.ONE_36)*this.ONE_36/(e+this.ONE_36),a=t*t/this.ONE_36;let n=t,s=n;return n=n*a/this.ONE_36,s+=n/BigInt(3),n=n*a/this.ONE_36,s+=n/BigInt(5),n=n*a/this.ONE_36,s+=n/BigInt(7),n=n*a/this.ONE_36,s+=n/BigInt(9),n=n*a/this.ONE_36,s+=n/BigInt(11),n=n*a/this.ONE_36,s+=n/BigInt(13),n=n*a/this.ONE_36,s+=n/BigInt(15),s*BigInt(2)}static _ln(e){if(e<this.ONE_18)return BigInt(-1)*this._ln(this.ONE_18*this.ONE_18/e);let t=Z;e>=this.a0*this.ONE_18&&(e/=this.a0,t+=this.x0),e>=this.a1*this.ONE_18&&(e/=this.a1,t+=this.x1),t*=BigInt(100),(e*=BigInt(100))>=this.a2&&(e=e*this.ONE_20/this.a2,t+=this.x2),e>=this.a3&&(e=e*this.ONE_20/this.a3,t+=this.x3),e>=this.a4&&(e=e*this.ONE_20/this.a4,t+=this.x4),e>=this.a5&&(e=e*this.ONE_20/this.a5,t+=this.x5),e>=this.a6&&(e=e*this.ONE_20/this.a6,t+=this.x6),e>=this.a7&&(e=e*this.ONE_20/this.a7,t+=this.x7),e>=this.a8&&(e=e*this.ONE_20/this.a8,t+=this.x8),e>=this.a9&&(e=e*this.ONE_20/this.a9,t+=this.x9),e>=this.a10&&(e=e*this.ONE_20/this.a10,t+=this.x10),e>=this.a11&&(e=e*this.ONE_20/this.a11,t+=this.x11);const a=(e-this.ONE_20)*this.ONE_20/(e+this.ONE_20),n=a*a/this.ONE_20;let s=a,r=s;return s=s*n/this.ONE_20,r+=s/BigInt(3),s=s*n/this.ONE_20,r+=s/BigInt(5),s=s*n/this.ONE_20,r+=s/BigInt(7),s=s*n/this.ONE_20,r+=s/BigInt(9),s=s*n/this.ONE_20,r+=s/BigInt(11),r*=BigInt(2),(t+r)/BigInt(100)}}ae.ONE_18=BigInt("1000000000000000000"),ae.ONE_20=BigInt("100000000000000000000"),ae.ONE_36=BigInt("1000000000000000000000000000000000000"),ae.MAX_NATURAL_EXPONENT=BigInt("130000000000000000000"),ae.MIN_NATURAL_EXPONENT=BigInt("-41000000000000000000"),ae.LN_36_LOWER_BOUND=BigInt(ae.ONE_18)-BigInt("100000000000000000"),ae.LN_36_UPPER_BOUND=BigInt(ae.ONE_18)+BigInt("100000000000000000"),ae.MILD_EXPONENT_BOUND=BigInt(2)**BigInt(254)/ae.ONE_20,ae.x0=BigInt("128000000000000000000"),ae.a0=BigInt("38877084059945950922200000000000000000000000000000000000"),ae.x1=BigInt("64000000000000000000"),ae.a1=BigInt("6235149080811616882910000000"),ae.x2=BigInt("3200000000000000000000"),ae.a2=BigInt("7896296018268069516100000000000000"),ae.x3=BigInt("1600000000000000000000"),ae.a3=BigInt("888611052050787263676000000"),ae.x4=BigInt("800000000000000000000"),ae.a4=BigInt("298095798704172827474000"),ae.x5=BigInt("400000000000000000000"),ae.a5=BigInt("5459815003314423907810"),ae.x6=BigInt("200000000000000000000"),ae.a6=BigInt("738905609893065022723"),ae.x7=BigInt("100000000000000000000"),ae.a7=BigInt("271828182845904523536"),ae.x8=BigInt("50000000000000000000"),ae.a8=BigInt("164872127070012814685"),ae.x9=BigInt("25000000000000000000"),ae.a9=BigInt("128402541668774148407"),ae.x10=BigInt("12500000000000000000"),ae.a10=BigInt("113314845306682631683"),ae.x11=BigInt("6250000000000000000"),ae.a11=BigInt("106449445891785942956");const ne=(e,t)=>{let n=e.tokens.map((e=>e.address)),s=e.tokens.map((e=>e.decimals?e.decimals.toString():void 0)),r=s.map((e=>z(BigInt(e)))),i=e.tokens.map((e=>a.parseFixed(e.balance,e.decimals).toString())),o=e.tokens.map((e=>a.parseFixed(e.balance,18).toString())),d=e.tokens.map((e=>e.weight?a.parseFixed(e.weight,18).toString():void 0)),p=e.tokens.map((e=>e.priceRate?a.parseFixed(e.priceRate,18).toString():void 0));if(t){const e=new q(t);let a;[n,s,a,i,o,d,p]=e.sortTokens(n,s,r,i,o,d,p),r=a.map(BigInt)}const c=e.amp?a.parseFixed(e.amp,3).toString():void 0,l=a.parseFixed(e.totalShares,18).toString(),u=a.parseFixed(e.swapFee,18).toString(),y=[],b=[],m=[],f=n.indexOf(e.address);return-1!==f&&r.forEach(((e,t)=>{t!==f&&(y.push(r[t]),b.push(n[t]),m.push(i[t]))})),{parsedTokens:n,parsedDecimals:s,parsedBalances:i,parsedWeights:d,parsedPriceRates:p,parsedAmp:c,parsedTotalShares:l,parsedSwapFee:u,upScaledBalances:o,scalingFactors:r,scalingFactorsWithoutBpt:y,parsedTokensWithoutBpt:b,parsedBalancesWithoutBpt:m,bptIndex:f}},se={Popular:{Symbols:["WBTC","DAI","USDC","BAL","AAVE","WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",WETH:"0x0000000000000000000000000000000000000000",BAL:"0x0000000000000000000000000000000000000000"}},re={[exports.Network.KOVAN]:{Popular:{Symbols:["WBTC","DAI","USDC","BAL","AAVE","WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1",WETH:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1",BAL:"0xcb355677E36f390Ccc4a5d4bEADFbF1Eb2071c81",bbaUSD:"0x8fd162f338B770F7E879030830cDe9173367f301"},PriceChainMap:{"0xdfcea9088c8a88a76ff74892c1457c17dfeef9c1":"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x1c8e3bcb3378a443cc591f154c5ce0ebb4da9648":"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599","0x8f4bebf498cc624a0797fe64114a6ff169eee078":"0xbc396689893d065f41bc2c6ecbee5e0085233447","0xaf9ac3235be96ed496db7969f60d354fe5e426b0":"0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2","0xcb355677e36f390ccc4a5d4beadfbf1eb2071c81":"0xba100000625a3754423978a60c9317c58a424e3d","0xc2569dd7d0fd715b054fbf16e75b001e5c0c1115":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","0x04df6e4121c27713ed22341e7c7df330f56f289b":"0x6b175474e89094c44da98b954eedeac495271d0f","0x4803bb90d18a1cb7a2187344fe4feb0e07878d05":"0xae7ab96520de3a18e5e111b5eaab095312d7fe84","0xff795577d9ac8bd7d90ee22b6c1703490b6512fd":"0x6b175474e89094c44da98b954eedeac495271d0f","0xe22da380ee6b445bb8273c81944adeb6e8450422":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","0x13512979ade267ab5100878e2e0f485b568328a4":"0xdac17f958d2ee523a2206206994597c13d831ec7","0xa387b91e393cfb9356a460370842bc8dbb2f29af":"0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0"}},[exports.Network.GOERLI]:{Popular:{Symbols:["WBTC","DAI","USDC","BAL","USDT","WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1",WETH:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1",BAL:"0xfA8449189744799aD2AcE7e0EBAC8BB7575eff47",bbaUSD:"0x13ACD41C585d7EbB4a9460f7C8f50BE60DC080Cd"},PriceChainMap:{"0xdfcea9088c8a88a76ff74892c1457c17dfeef9c1":"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x37f03a12241e9fd3658ad6777d289c3fb8512bc9":"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599","0xfa8449189744799ad2ace7e0ebac8bb7575eff47":"0xba100000625a3754423978a60c9317c58a424e3d","0xe0c9275e44ea80ef17579d33c55136b7da269aeb":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","0x8c9e6c40d3402480ace624730524facc5482798c":"0x6b175474e89094c44da98b954eedeac495271d0f","0x1f1f156e0317167c11aa412e3d1435ea29dc3cce":"0xdac17f958d2ee523a2206206994597c13d831ec7","0x4cb1892fddf14f772b2e39e299f44b2e5da90d04":"0x3ed3b47dd13ec9a98b44e6204a523e766b225811","0x811151066392fd641fe74a9b55a712670572d161":"0xbcca60bb61934080951369a648fb03df4f96263c","0x89534a24450081aa267c79b07411e9617d984052":"0x028171bca77440897b824ca71d1c56cac55b68a3","0x829f35cebbcd47d3c120793c12f7a232c903138b":"0x956f47f50a910163d8bf957cf5846d573e7f87ca","0xff386a3d08f80ac38c77930d173fa56c6286dc8b":"0x6810e776880c02933d47db1b9fc05908e5386b96"}},[exports.Network.MAINNET]:{Popular:{Symbols:["WBTC","DAI","USDC","BAL","AAVE","WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",WETH:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",BAL:"0xba100000625a3754423978a60c9317c58a424e3d",bbaUSD:"0x7B50775383d3D6f0215A8F290f2C9e2eEBBEceb2",bbaUSDv2:"0xA13a9247ea42D743238089903570127DdA72fE44"}},[exports.Network.POLYGON]:{Popular:{Symbols:["WBTC","DAI","USDC","BAL","AAVE","WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",WETH:"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",BAL:"0x9a71012b13ca4d3d0cdc72a177df3ef03b0e76a3"}},[exports.Network.ARBITRUM]:{Popular:{Symbols:["WBTC","DAI","USDC","BAL","AAVE","WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",WETH:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",BAL:"0x040d1EdC9569d4Bab2D15287Dc5A4F10F56a56B8"}},[exports.Network.GNOSIS]:{Popular:{Symbols:["xDAI","WXDAI","WETH","BAL"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0xe91d153e0b41518a2ce8dd3d7944fa863463a97d",WETH:"0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1",BAL:"0x7eF541E2a22058048904fE5744f9c7E4C57AF717"}},[exports.Network.DEFIVERSE]:{Popular:{Symbols:["GDT","BAL","WETH","OAS"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0x5a89E11Cb554E00c2f51C4bb7F05bc7Ab0Fa6351",WETH:"0x5a89E11Cb554E00c2f51C4bb7F05bc7Ab0Fa6351",BAL:"",GDT:""},PriceChainMap:{"0x5a89e11cb554e00c2f51c4bb7f05bc7ab0fa6351":"0x5a89e11cb554e00c2f51c4bb7f05bc7ab0fa6351","0x7c6b91d9be155a6db01f749217d76ff02a7227f2":"0x7c6b91d9be155a6db01f749217d76ff02a7227f2"}},[exports.Network.DEFIVERSE_TESTNET]:{Popular:{Symbols:["WETH","OAS"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0x6B382742b07AAbBA58c38d792B5d7CBAaB246e99",WETH:"0x6B382742b07AAbBA58c38d792B5d7CBAaB246e99",BAL:"",GDT:""},PriceChainMap:{}},[exports.Network.OASYS]:{Popular:{Symbols:["GDT","BAL","WETH","OAS"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0x5200000000000000000000000000000000000001",WETH:"0x5200000000000000000000000000000000000001",BAL:"0x2B726256AdD04e65403cEf6679A2f2dfF7DDe9F9",GDT:""},PriceChainMap:{"0x5200000000000000000000000000000000000001":"0x5a89e11cb554e00c2f51c4bb7f05bc7ab0fa6351"}},[exports.Network.OASYS_TESTNET]:{Popular:{Symbols:["GDT","BAL","WETH","OAS"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0x5200000000000000000000000000000000000001",WETH:"0x5200000000000000000000000000000000000001",BAL:"0x9288F664FEFc9f374A53C4307BD3c8F91e83f466",GDT:"0x9288F664FEFc9f374A53C4307BD3c8F91e83f466"},PriceChainMap:{"0x5200000000000000000000000000000000000001":"0x5a89e11cb554e00c2f51c4bb7f05bc7ab0fa6351"}},[exports.Network.MEGAETH_TESTNET]:{Popular:{Symbols:["WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0xAba76Cdc5910F6627856EB75Bcce0171376999C7",WETH:"0xAba76Cdc5910F6627856EB75Bcce0171376999C7",BAL:"0x8D23f3B57cF4B5Ed734574738Fa0Fc2C5b5e37d1"},PriceChainMap:{}}};var ie,oe,de,pe,ce,le,ue;exports.PoolGaugesAttributes=void 0,(ie=exports.PoolGaugesAttributes||(exports.PoolGaugesAttributes={})).Id="id",ie.Address="address",ie.PoolId="poolId",exports.PoolShareAttributes=void 0,(oe=exports.PoolShareAttributes||(exports.PoolShareAttributes={})).Balance="balance",oe.Id="id",oe.PoolId="poolId",oe.UserAddress="userAddress",exports.GaugeShareAttributes=void 0,(de=exports.GaugeShareAttributes||(exports.GaugeShareAttributes={})).Id="id",de.UserAddress="user",de.GaugeId="gauge",de.Balance="balance",exports.PoolSpecialization=void 0,(pe=exports.PoolSpecialization||(exports.PoolSpecialization={}))[pe.GeneralPool=0]="GeneralPool",pe[pe.MinimalSwapInfoPool=1]="MinimalSwapInfoPool",pe[pe.TwoTokenPool=2]="TwoTokenPool",exports.UserBalanceOpKind=void 0,(ce=exports.UserBalanceOpKind||(exports.UserBalanceOpKind={}))[ce.DepositInternal=0]="DepositInternal",ce[ce.WithdrawInternal=1]="WithdrawInternal",ce[ce.TransferInternal=2]="TransferInternal",ce[ce.TransferExternal=3]="TransferExternal",exports.PoolBalanceOpKind=void 0,(le=exports.PoolBalanceOpKind||(exports.PoolBalanceOpKind={}))[le.Withdraw=0]="Withdraw",le[le.Deposit=1]="Deposit",le[le.Update=2]="Update",exports.PoolType=void 0,(ue=exports.PoolType||(exports.PoolType={})).Weighted="Weighted",ue.Investment="Investment",ue.Stable="Stable",ue.HighAmpComposableStable="HighAmpComposableStable",ue.ComposableStable="ComposableStable",ue.MetaStable="MetaStable",ue.StablePhantom="StablePhantom",ue.LiquidityBootstrapping="LiquidityBootstrapping",ue.AaveLinear="AaveLinear",ue.Linear="Linear",ue.EulerLinear="EulerLinear",ue.ERC4626Linear="ERC4626Linear",ue.Element="Element",ue.Gyro2="Gyro2",ue.Gyro3="Gyro3",ue.Managed="Managed";let ye=!1,be=!1;const me={debug:1,default:2,info:2,warning:3,error:4,off:5};let fe=me.default,he=null;const Te=function(){try{const e=[];if(["NFD","NFC","NFKD","NFKC"].forEach((t=>{try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(a){e.push(t)}})),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();var ge,xe;!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(ge||(ge={})),function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",e.TRANSACTION_REPLACED="TRANSACTION_REPLACED",e.ACTION_REJECTED="ACTION_REJECTED"}(xe||(xe={}));const Ie="0123456789abcdef";class we{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const a=e.toLowerCase();null==me[a]&&this.throwArgumentError("invalid log level name","logLevel",e),fe>me[a]||console.log.apply(console,t)}debug(...e){this._log(we.levels.DEBUG,e)}info(...e){this._log(we.levels.INFO,e)}warn(...e){this._log(we.levels.WARNING,e)}makeError(e,t,a){if(be)return this.makeError("censored error",t,{});t||(t=we.errors.UNKNOWN_ERROR),a||(a={});const n=[];Object.keys(a).forEach((e=>{const t=a[e];try{if(t instanceof Uint8Array){let a="";for(let e=0;e<t.length;e++)a+=Ie[t[e]>>4],a+=Ie[15&t[e]];n.push(e+"=Uint8Array(0x"+a+")")}else n.push(e+"="+JSON.stringify(t))}catch(t){n.push(e+"="+JSON.stringify(a[e].toString()))}})),n.push(`code=${t}`),n.push(`version=${this.version}`);const s=e;let r="";switch(t){case xe.NUMERIC_FAULT:{r="NUMERIC_FAULT";const t=e;switch(t){case"overflow":case"underflow":case"division-by-zero":r+="-"+t;break;case"negative-power":case"negative-width":r+="-unsupported";break;case"unbound-bitwise-result":r+="-unbound-result"}break}case xe.CALL_EXCEPTION:case xe.INSUFFICIENT_FUNDS:case xe.MISSING_NEW:case xe.NONCE_EXPIRED:case xe.REPLACEMENT_UNDERPRICED:case xe.TRANSACTION_REPLACED:case xe.UNPREDICTABLE_GAS_LIMIT:r=t}r&&(e+=" [ See: https://links.ethers.org/v5-errors-"+r+" ]"),n.length&&(e+=" ("+n.join(", ")+")");const i=new Error(e);return i.reason=s,i.code=t,Object.keys(a).forEach((function(e){i[e]=a[e]})),i}throwError(e,t,a){throw this.makeError(e,t,a)}throwArgumentError(e,t,a){return this.throwError(e,we.errors.INVALID_ARGUMENT,{argument:t,value:a})}assert(e,t,a,n){e||this.throwError(t,a,n)}assertArgument(e,t,a,n){e||this.throwArgumentError(t,a,n)}checkNormalize(e){Te&&this.throwError("platform missing String.prototype.normalize",we.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Te})}checkSafeUint53(e,t){"number"==typeof e&&(null==t&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,we.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,we.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,t,a){a=a?": "+a:"",e<t&&this.throwError("missing argument"+a,we.errors.MISSING_ARGUMENT,{count:e,expectedCount:t}),e>t&&this.throwError("too many arguments"+a,we.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){e!==Object&&null!=e||this.throwError("missing new",we.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",we.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||this.throwError("missing new",we.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return he||(he=new we("logger/5.7.0")),he}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",we.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),ye){if(!e)return;this.globalLogger().throwError("error censorship permanent",we.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}be=!!e,ye=!!t}static setLogLevel(e){const t=me[e.toLowerCase()];null!=t?fe=t:we.globalLogger().warn("invalid log level - "+e)}static from(e){return new we(e)}}we.errors=xe,we.levels=ge;const Ee=new we("units/5.7.0"),Ae=["wei","kwei","mwei","gwei","szabo","finney","ether"];function Se(e,t){if("string"==typeof t){const e=Ae.indexOf(t);-1!==e&&(t=3*e)}return a.formatFixed(e,null!=t?t:18)}function Pe(e,t){if("string"!=typeof e&&Ee.throwArgumentError("value must be a string","value",e),"string"==typeof t){const e=Ae.indexOf(t);-1!==e&&(t=3*e)}return a.parseFixed(e,null!=t?t:18)}const Be={[exports.Network.MAINNET]:{waUSDT:"0xf8fd466f12e236f4c96f7cce6c79eadb819abf58",waUSDC:"0xd093fa4fb80d09bb30817fdcd442d4d02ed3e5de",waDAI:"0x02d60b84491589974263d922d9cc7a3152618ef6"},[exports.Network.POLYGON]:{wamDAI:"0xee029120c72b0607344f35b17cdd90025e647b00",wamUSDC:"0x221836a597948dce8f3568e044ff123108acc42a",wamUSDT:"0x19c60a251e525fa88cd6f3768416a8024e98fc19"}},_e={...Be[exports.Network.MAINNET],...Be[exports.Network.POLYGON]},Oe={[exports.Network.MAINNET]:{[Be[exports.Network.MAINNET].waUSDT]:{aToken:"0x3ed3b47dd13ec9a98b44e6204a523e766b225811",underlying:"0xdac17f958d2ee523a2206206994597c13d831ec7"},[Be[exports.Network.MAINNET].waUSDC]:{aToken:"0xbcca60bb61934080951369a648fb03df4f96263c",underlying:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},[Be[exports.Network.MAINNET].waDAI]:{aToken:"0x028171bca77440897b824ca71d1c56cac55b68a3",underlying:"0x6b175474e89094c44da98b954eedeac495271d0f"}},[exports.Network.POLYGON]:{[Be[exports.Network.POLYGON].wamUSDT]:{aToken:"0x60d55f02a771d515e077c9c2403a1ef324885cec",underlying:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f"},[Be[exports.Network.POLYGON].wamUSDC]:{aToken:"0x1a13f4ca1d028320a707d99520abfefca3998b7f",underlying:"0x2791bca1f2de4661ed88a30c99a7a9449aa84174"},[Be[exports.Network.POLYGON].wamDAI]:{aToken:"0x27f8d03b3a2196956ed754badc28d73be8830a6e",underlying:"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063"}}},ve={[exports.Network.MAINNET]:Object.values(Oe[exports.Network.MAINNET]).map((e=>e.aToken)),[exports.Network.POLYGON]:Object.values(Oe[exports.Network.POLYGON]).map((e=>e.aToken))},ke={[exports.Network.MAINNET]:Object.values(Oe[exports.Network.MAINNET]).map((e=>e.underlying)),[exports.Network.POLYGON]:Object.values(Oe[exports.Network.POLYGON]).map((e=>e.underlying))},Ne={[exports.Network.MAINNET]:Object.fromEntries(Object.keys(Oe[exports.Network.MAINNET]).map((e=>[Oe[exports.Network.MAINNET][e].underlying,e]))),[exports.Network.POLYGON]:Object.fromEntries(Object.keys(Oe[exports.Network.POLYGON]).map((e=>[Oe[exports.Network.POLYGON][e].underlying,e])))},Ce={[exports.Network.MAINNET]:"https://api.thegraph.com/subgraphs/name/aave/protocol-v2",[exports.Network.POLYGON]:"https://api.thegraph.com/subgraphs/name/aave/aave-v2-matic"},De=async e=>{const t=Object.fromEntries(Object.keys(Oe).map((e=>[e,0])));if(!e||e!=exports.Network.MAINNET&&e!=exports.Network.POLYGON)return t;try{const t={operationName:"getReserves",query:"\n query getReserves($aTokens: [String!], $underlyingAssets: [Bytes!]) {\n reserves(\n where: {\n aToken_in: $aTokens\n underlyingAsset_in: $underlyingAssets\n isActive: true\n }\n ) {\n underlyingAsset\n liquidityRate\n }\n }\n",variables:{aTokens:ve[e],underlyingAssets:ke[e]}},n=await w.default.post(Ce[e],t),{data:{reserves:s}}=n.data,r=s.map((t=>[Ne[e][t.underlyingAsset],Math.round(1e4*parseFloat(Se(a.BigNumber.from(t.liquidityRate),27)))]));return Object.fromEntries(r)}catch(e){return t}};function Fe(e,t){let a=e.toLowerCase();return a=Re(a,t),a=Me(a,t),a}const Re=(e,t)=>{const a=(n=t,re[n]?re[n]:se).PriceChainMap;var n;return a&&a[e.toLowerCase()]||e},Me=(e,t)=>{const a=e.toLocaleLowerCase(),n=t;return null!=Oe[n]&&null!=Oe[n]&&Object.keys(Oe[n]).includes(a)?Oe[n][a].aToken:a};class Le{constructor(e,t=200){this.fn=e,this.wait=t,this.requestSet=new Set,this.promisedCalls=[],this.promisedCount=0,this.debounceCancel=()=>{}}fetch(e){if(e&&this.requestSet.add(e),this.promisedCalls[this.promisedCount])return this.promisedCalls[this.promisedCount].promise;this.promisedCalls[this.promisedCount]=(()=>{let e=()=>{},t=()=>{};return{promise:new Promise(((a,n)=>{[e,t]=[a,n]})),reject:t,resolve:e}})();const{promise:t,resolve:a,reject:n}=this.promisedCalls[this.promisedCount];return this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout((()=>{this.promisedCount++;const e=[...this.requestSet];this.requestSet.clear(),this.fn(e).then((e=>{a(e),this.debounceCancel=()=>{}})).catch((e=>{e.response&&e.response.data&&e.response.data.error&&(e=e.response.data.error),n(e)}))}),this.wait),this.debounceCancel=()=>{this.timeout&&clearTimeout(this.timeout),n("Cancelled"),delete this.promisedCalls[this.promisedCount]},t}}function Ue(e,t){const n=new RegExp(`[0-9]+\\.?[0-9]{0,${t}}`),s=e.match(n);let r=e;return s&&(r=s[0]),a.parseFixed(r,t)}function Ge(e,t){return a.formatFixed(e,t).replace(/(.0$)/,"")}function qe(e){return Ue(e,18).toBigInt()}const We=(e,t)=>n.getAddress(e)===n.getAddress(t);function $e(e,t,a){return[...e.slice(0,t),a,...e.slice(t)]}class Ve{format(e){return e}}class He{constructor(){this.operatorMap={gt:"_gt",lt:"_lt",eq:"",in:"_in",not_in:"_not_in",contains:"_contains"}}format(e){const t={};return e.where&&Object.entries(e.where).forEach((([e,a])=>{Object.entries(a).forEach((([a,n])=>{t[`${e}${this.operatorMap[a]}`]=n}))})),{...e,where:t}}}class je{constructor(e){this.args=e}merge(e){const t=d.mergeWith(this.args,e.args,((e,t)=>{if(Array.isArray(e))return e.concat(t)}));return new je(t)}format(e){return e.format(this.args)}}var Ke;function Ze(e,n,s,r,i,o){const d=new Array(i.length).fill(t.Zero);return i.forEach(((i,p)=>{if(e.some((e=>We(i,e)))){const e=a.BigNumber.from(o).add(t.WeiPerEther);d[p]=s===exports.SwapType.SwapExactOut?d[p].add(a.BigNumber.from(r[p]).mul(e).div(t.WeiPerEther)):d[p].add(r[p])}if(n.some((e=>We(i,e)))){const e=t.WeiPerEther.sub(a.BigNumber.from(o));d[p]=s===exports.SwapType.SwapExactIn?d[p].add(a.BigNumber.from(r[p]).mul(e).div(t.WeiPerEther)):d[p].add(r[p])}})),d}exports.SwapType=void 0,(Ke=exports.SwapType||(exports.SwapType={}))[Ke.SwapExactIn=0]="SwapExactIn",Ke[Ke.SwapExactOut=1]="SwapExactOut";const Xe=a.BigNumber.from("10000"),Je=(e,t)=>e.mul(t).div(Xe),Ye=(e,t)=>{const a=Je(e,t);return e.sub(a)},ze=(e,t)=>{const a=Je(e,t);return e.add(a)},Qe="0x2FA699664752B34E90A414A42D62D7A8b2702B85",et={[exports.Network.MAINNET]:{chainId:exports.Network.MAINNET,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0xeefba1e63905ef1d7acba5a8513c70307c1ce441",balancerHelpers:"0x5aDDCCa35b7A0D07C74063c48700C8590E87864E",lidoRelayer:"0xdcdbf71A870cc60C6F9B621E28a7D3Ffd6Dd4965",relayerV3:"0x886A3Ec7bcC508B8795990B60Fa21f85F9dB7948",relayerV4:"0x2536dfeeCB7A0397CF98eDaDA8486254533b1aFA",gaugeController:"0xc128468b7ce63ea702c1f104d55a2566b13d3abd",feeDistributor:"0xD3cf852898b21fc233251427c2DC93d3d604F3BB",protocolFeePercentagesProvider:"0x97207B095e4D5C9a6e4cfbfcd2C3358E03B90c4A",veBal:"0xC128a9954e6c874eA3d62ce62B468bA073093F25",veBalProxy:"0x6f5a2eE11E7a772AeB5114A20d0D7c0ff61EB8A0",weightedPoolFactory:"0x8E9aa87E45e92bad84D5F8DD1bff34Fb92637dE9",composableStablePoolFactory:"0x85a80afee867adf27b50bdb7b76da70f1e853062"},tokens:{wrappedNativeAsset:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",lbpRaisingTokens:["0x6B175474E89094C44Da98b954EedeAC495271d0F","0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"],stETH:"0xae7ab96520de3a18e5e111b5eaab095312d7fe84",wstETH:"0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0",bal:"0xba100000625a3754423978a60c9317c58a424e3d",veBal:"0xC128a9954e6c874eA3d62ce62B468bA073093F25",bbaUsd:"0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb2"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-v2",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges",blockNumberSubgraph:"https://api.thegraph.com/subgraphs/name/blocklytics/ethereum-blocks"},pools:{wETHwstETH:{id:"0x32296969ef14eb0c6d29669c550d4a0449130230000200000000000000000080",address:"0x32296969ef14eb0c6d29669c550d4a0449130230"}},poolsToIgnore:["0xbd482ffb3e6e50dc1c437557c3bea2b68f3683ee"],sorConnectingTokens:[{symbol:"wEth",address:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},{symbol:"wstEth",address:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"},{symbol:"DOLA",address:"0x865377367054516e17014CcdED1e7d814EDC9ce4"}]},[exports.Network.POLYGON]:{chainId:exports.Network.POLYGON,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0xa1B2b503959aedD81512C37e9dce48164ec6a94d",relayerV3:"0xcf6a66E32dCa0e26AcC3426b851FD8aCbF12Dac7",relayerV4:"0x28A224d9d398a1eBB7BA69BCA515898966Bb1B6b",balancerHelpers:"0x239e55F427D44C3cc793f49bFB507ebe76638a2b",weightedPoolFactory:"0x0e39C3D9b2ec765eFd9c5c70BB290B1fCD8536E3",composableStablePoolFactory:"0x85a80afee867adf27b50bdb7b76da70f1e853062"},tokens:{bal:"0x9a71012b13ca4d3d0cdc72a177df3ef03b0e76a3",wrappedNativeAsset:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-polygon-prune-v2",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges-polygon",blockNumberSubgraph:"https://api.thegraph.com/subgraphs/name/ianlapham/polygon-blocks"},pools:{},poolsToIgnore:["0x600bd01b6526611079e12e1ff93aba7a3e34226f"],sorConnectingTokens:[{symbol:"weth",address:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"},{symbol:"bbrz2",address:"0xe22483774bd8611be2ad2f4194078dac9159f4ba"}]},[exports.Network.ARBITRUM]:{chainId:exports.Network.ARBITRUM,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0x269ff446d9892c9e19082564df3f5e8741e190a1",relayerV3:"0x42E49B48573c725ee32d2579060Ed06894f97002",relayerV4:"0x5bf3B7c14b10f16939d63Bd679264A1Aa951B4D5",balancerHelpers:"0x77d46184d22CA6a3726a2F500c776767b6A3d6Ab",weightedPoolFactory:"0x8df6EfEc5547e31B0eb7d1291B511FF8a2bf987c",composableStablePoolFactory:"0x85a80afee867adf27b50bdb7b76da70f1e853062"},tokens:{bal:"0x040d1edc9569d4bab2d15287dc5a4f10f56a56b8",wrappedNativeAsset:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-arbitrum-v2",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges-arbitrum",blockNumberSubgraph:"https://api.thegraph.com/subgraphs/name/ianlapham/arbitrum-one-blocks"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"}]},[exports.Network.KOVAN]:{chainId:exports.Network.KOVAN,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0x2cc8688C5f75E365aaEEb4ea8D6a480405A48D2A",veBal:"0x16ba924752EF283C7946db8A122a6742AA35C1DC",veBalProxy:"0x98D0d0a65cBeCCaa647a5a95cf27Cf2f00E1231C",balancerHelpers:"0x94905e703fEAd7f0fD0eEe355D267eE909784e6d",weightedPoolFactory:"0x8df6EfEc5547e31B0eb7d1291B511FF8a2bf987c"},tokens:{wrappedNativeAsset:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-kovan-v2",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges"},pools:{}},[exports.Network.ROPSTEN]:{chainId:exports.Network.ROPSTEN,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0x53c43764255c17bd724f74c4ef150724ac50a3ed",balancerHelpers:""},tokens:{wrappedNativeAsset:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1"}},urls:{subgraph:"",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges"},pools:{}},[exports.Network.RINKEBY]:{chainId:exports.Network.RINKEBY,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0x42ad527de7d4e9d9d011ac45b31d8551f8fe9821",balancerHelpers:"0x5aDDCCa35b7A0D07C74063c48700C8590E87864E",weightedPoolFactory:"0x8df6EfEc5547e31B0eb7d1291B511FF8a2bf987c"},tokens:{wrappedNativeAsset:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-rinkeby-v2",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges"},pools:{}},[exports.Network.GOERLI]:{chainId:exports.Network.GOERLI,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0x77dCa2C955b15e9dE4dbBCf1246B4B85b651e50e",relayerV3:"0x7b9B6f094DC2Bd1c12024b0D9CC63d6993Be1888",relayerV4:"0x00e695aA8000df01B8DC8401B4C34Fba5D56BBb2",gaugeController:"0xBB1CE49b16d55A1f2c6e88102f32144C7334B116",veBal:"0x33A99Dcc4C85C014cf12626959111D5898bbCAbF",veBalProxy:"0xA1F107D1cD709514AE8A914eCB757E95f9cedB31",balancerHelpers:"0x5aDDCCa35b7A0D07C74063c48700C8590E87864E",weightedPoolFactory:"0x8E9aa87E45e92bad84D5F8DD1bff34Fb92637dE9",composableStablePoolFactory:"0x85a80afee867adf27b50bdb7b76da70f1e853062"},tokens:{wrappedNativeAsset:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-goerli-v2",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges-goerli",blockNumberSubgraph:"https://api.thegraph.com/subgraphs/name/blocklytics/goerli-blocks"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1"}]},[exports.Network.OPTIMISM]:{chainId:exports.Network.OPTIMISM,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0x2dc0e2aa608532da689e89e237df582b783e552c",relayerV3:"0x195CcCBE464EF9073d1f7A1ba1C9Bf0f56dfFFff",relayerV4:"0x1a58897Ab366082028ced3740900ecBD765Af738",balancerHelpers:"0x8E9aa87E45e92bad84D5F8DD1bff34Fb92637dE9",weightedPoolFactory:"0x0e39C3D9b2ec765eFd9c5c70BB290B1fCD8536E3",composableStablePoolFactory:"0x85a80afee867adf27b50bdb7b76da70f1e853062"},tokens:{wrappedNativeAsset:"0x4200000000000000000000000000000000000006"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/beethovenxfi/beethovenx-optimism",gaugesSubgraph:""},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0x4200000000000000000000000000000000000006"}]},[exports.Network.GNOSIS]:{chainId:exports.Network.GNOSIS,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0xbb6fab6b627947dae0a75808250d8b2652952cb5",relayerV4:"0xeF606F58A4FD0fCcb066c6203d0994694d3eB2D3",balancerHelpers:"0x8E9aa87E45e92bad84D5F8DD1bff34Fb92637dE9",weightedPoolFactory:"0xf302f9F50958c5593770FDf4d4812309fF77414f",composableStablePoolFactory:"0x76578ecf9a141296ec657847fb45b0585bcda3a6"},tokens:{wrappedNativeAsset:"0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gnosis-chain-v2",gaugesSubgraph:""},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d"}]},[exports.Network.DEFIVERSE]:{chainId:exports.Network.DEFIVERSE,addresses:{contracts:{vault:"0x2FA699664752B34E90A414A42D62D7A8b2702B85",multicall:"0x8633dD7223f76c99bdc5a2D116FCF369d79852C4",relayerV4:"0x00e695aA8000df01B8DC8401B4C34Fba5D56BBb2",gaugeController:"",feeDistributor:"",protocolFeePercentagesProvider:"0xC462175C87672c7aad536c1248b72B1Cf46BEe27",veBal:"",veBalProxy:"",balancerHelpers:"0x4087EDb699803608A0214FD92e32119CAF57EcA3",weightedPoolFactory:"0xD1920DD25e4998B0d7cC8de7F12BeAf9796C7475",composableStablePoolFactory:"0xD01ad3085fb3e1fbB2541b5B3326B1F47B189747"},tokens:{wrappedNativeAsset:"0x5a89E11Cb554E00c2f51C4bb7F05bc7Ab0Fa6351",bal:"",veBal:""}},urls:{priceUrl:"https://price-api.gaming-dex.com/api/v1",subgraph:"https://graphnode.defi-verse.org/subgraphs/name/balancer-labs/defiverse",gaugesSubgraph:"https://graphnode.defi-verse.org/subgraphs/name/balancer-labs/gauges-defiverse"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0x5a89E11Cb554E00c2f51C4bb7F05bc7Ab0Fa6351"}]},[exports.Network.DEFIVERSE_TESTNET]:{chainId:exports.Network.DEFIVERSE_TESTNET,addresses:{contracts:{vault:"0x2Da016a77E290fb82F5af7051198304d57779f5d",multicall:"0xEB47269E97EeDB20EF782EB8caFb09ed55b02A39",relayerV4:"0x00e695aA8000df01B8DC8401B4C34Fba5D56BBb2",gaugeController:"",feeDistributor:"",protocolFeePercentagesProvider:"0x38d04d161247031484B31fB8403D20bed5287cf7",veBal:"",veBalProxy:"",balancerHelpers:"0x47404b46E0340F879ECC15977Ce196458cadc2DF",weightedPoolFactory:"0x48494Fa9eAd46EE8E3FcB66487a6dBBD34DcAFe3",composableStablePoolFactory:"0x58e6F99bB65378f47A520fC9630Bd711f2cf3Dc7"},tokens:{wrappedNativeAsset:"0x6B382742b07AAbBA58c38d792B5d7CBAaB246e99",bal:"0xb5C5C48D3082751f60EE1CAc8FC84a921931EC24"}},urls:{priceUrl:"https://price-api-testnet.gaming-dex.com/api/v1",subgraph:"https://graphnode-testnet.defi-verse.org/subgraphs/name/balancer-labs/defiverse-testnet-v2",gaugesSubgraph:"https://graphnode-testnet.defi-verse.org/subgraphs/name/balancer-labs/gauges-defiverse-testnet-v2"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0x6B382742b07AAbBA58c38d792B5d7CBAaB246e99"}]},[exports.Network.OASYS]:{chainId:exports.Network.OASYS,addresses:{contracts:{vault:"0xfb6f8FEdE0Cb63674Ab964affB93D65a4a7D55eA",multicall:"0xc52dc4a7dad06BEAB9230D482AcBEcFFc3aB009B",relayerV4:"0x00e695aA8000df01B8DC8401B4C34Fba5D56BBb2",gaugeController:"0x2D2BB676EfE00998ABf25aa499A19af16cC99F3e",feeDistributor:"0xE93F762E0d736fB2780bb9271233367942189B86",protocolFeePercentagesProvider:"0x56C181Ecf83e773978137b2B567d660768f8c8e3",veBal:"0x2B726256AdD04e65403cEf6679A2f2dfF7DDe9F9",veBalProxy:"0xe5276B39E604999c05d3051D896310A620E4Cc49",balancerHelpers:"0xf199DDb57d75225e13Fe13eb8BDDE8b16e188374",weightedPoolFactory:"0x4EF0b4827cE3D5FEcBc2C6ab80Ee81dBF9631D37",composableStablePoolFactory:"0x0A7A98c9553192755f22b282278f0FA26f4de742"},tokens:{wrappedNativeAsset:"0x5200000000000000000000000000000000000001",bal:"0x2B726256AdD04e65403cEf6679A2f2dfF7DDe9F9",veBal:"0x2B726256AdD04e65403cEf6679A2f2dfF7DDe9F9"}},urls:{priceUrl:"https://price-api.gaming-dex.com/api/v1",subgraph:"https://graphnode-oasys.defi-verse.org/subgraphs/name/balancer-labs/oasys",gaugesSubgraph:"https://graphnode-oasys.defi-verse.org/subgraphs/name/balancer-labs/gauges-oasys"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0x5200000000000000000000000000000000000001"}]},[exports.Network.OASYS_TESTNET]:{chainId:exports.Network.OASYS_TESTNET,addresses:{contracts:{vault:"0x1f7a0Bea1CB70FaA0f6b7B1126eCbd01Ef4E5BC8",multicall:"0xe5Fce05D922e3961F053bD2BF1F29F92d2a0a94B",relayerV4:"0x00e695aA8000df01B8DC8401B4C34Fba5D56BBb2",gaugeController:"0x82e3ACEE6e747B164327cca5e6309bb38f114848",feeDistributor:"0x8A55C4F4f178d62Da281c244e4AD98A9C72c418a",protocolFeePercentagesProvider:"0xACA587e675102f0fDcBc9FddC441f820cB2c64b9",veBal:"0x9288F664FEFc9f374A53C4307BD3c8F91e83f466",veBalProxy:"0x0b205Ed28BC51E7DE4686ef725488bCecEe87606",balancerHelpers:"0x3B847f3Fa5585Dc3aeDB40780fF47e31B0fF14C0",weightedPoolFactory:"0xd2d7F457B9749B6A0A637685A65681F03116125C",composableStablePoolFactory:"0xfDA8fa80dd77A99BF71BeCFce47077859e689898"},tokens:{wrappedNativeAsset:"0x5200000000000000000000000000000000000001",bal:"0x9288F664FEFc9f374A53C4307BD3c8F91e83f466",veBal:"0x9288F664FEFc9f374A53C4307BD3c8F91e83f466"}},urls:{priceUrl:"https://price-api-testnet.gaming-dex.com/api/v1",subgraph:"https://graphnode-oasys-testnet.defi-verse.org/subgraphs/name/balancer-labs/oasys-testnet",gaugesSubgraph:"https://graphnode-oasys-testnet.defi-verse.org/subgraphs/name/balancer-labs/gauges-oasys-testnet-v2"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0x5200000000000000000000000000000000000001"}]},[exports.Network.MEGAETH_TESTNET]:{chainId:exports.Network.MEGAETH_TESTNET,addresses:{contracts:{vault:"0x17e3debc39CD1239b08aC1df87593C57BE69171f",multicall:"0xC003DCBACe8a39fa6740284AbBd2FBf6467428ba",relayerV4:"0x00e695aA8000df01B8DC8401B4C34Fba5D56BBb2",gaugeController:"0x8b91eB206963A50B739fCe40CcB8E87384CE0576",feeDistributor:"",protocolFeePercentagesProvider:"0x379b189112a544976Fe7F5bdcF33fc787857c621",veBal:"0x8D23f3B57cF4B5Ed734574738Fa0Fc2C5b5e37d1",veBalProxy:"0x0AAea5d401Ea5f82a03edBBeE67cE665C349aA97",balancerHelpers:"0x0309DA369DF0f208d117c8291d34a041122Be0AD",weightedPoolFactory:"0x84F75879C0aC87eAFAF4f1E3E1A2372caAB5273b",composableStablePoolFactory:""},tokens:{wrappedNativeAsset:"0xAba76Cdc5910F6627856EB75Bcce0171376999C7",bal:"0x8D23f3B57cF4B5Ed734574738Fa0Fc2C5b5e37d1",veBal:"0x8D23f3B57cF4B5Ed734574738Fa0Fc2C5b5e37d1"}},urls:{priceUrl:"https://price-api-testnet.gaming-dex.com/api/v1",subgraph:"https://graphnode-megaeth-testnet.defi-verse.org/subgraphs/name/balancer-labs/megaeth-testnet",gaugesSubgraph:"https://graphnode-megaeth-testnet.defi-verse.org/subgraphs/name/balancer-labs/gauges-metaeth-testnet"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0xAba76Cdc5910F6627856EB75Bcce0171376999C7"}]}},tt=e=>et[e].addresses;var at;exports.BalancerErrorCode=void 0,(at=exports.BalancerErrorCode||(exports.BalancerErrorCode={})).SWAP_ZERO_RETURN_AMOUNT="SWAP_ZERO_RETURN_AMOUNT",at.UNWRAP_ZERO_AMOUNT="UNWRAP_ZERO_AMOUNT",at.WRAP_ZERO_AMOUNT="WRAP_ZERO_AMOUNT",at.QUERY_BATCH_SWAP="QUERY_BATCH_SWAP",at.POOL_DOESNT_EXIST="POOL_DOESNT_EXIST",at.UNSUPPORTED_POOL_TYPE="UNSUPPORTED_POOL_TYPE",at.UNSUPPORTED_PAIR="UNSUPPORTED_PAIR",at.NO_POOL_DATA="NO_POOL_DATA",at.INPUT_OUT_OF_BOUNDS="INPUT_OUT_OF_BOUNDS",at.INPUT_LENGTH_MISMATCH="INPUT_LENGTH_MISMATCH",at.INPUT_TOKEN_INVALID="INPUT_TOKEN_INVALID",at.INPUT_ZERO_NOT_ALLOWED="INPUT_ZERO_NOT_ALLOWED",at.INTERNAL_ERROR_INVALID_ABI="INTERNAL_ERROR_INVALID_ABI",at.TOKEN_MISMATCH="TOKEN_MISMATCH",at.MISSING_TOKENS="MISSING_TOKENS",at.MISSING_AMP="MISSING_AMP",at.MISSING_DECIMALS="MISSING_DECIMALS",at.MISSING_PRICE_RATE="MISSING_PRICE_RATE",at.MISSING_WEIGHT="MISSING_WEIGHT",at.RELAY_SWAP_AMOUNTS="RELAY_SWAP_AMOUNTS",at.NO_VALUE_PARAMETER="NO_VALUE_PARAMETER",at.ILLEGAL_PARAMETER="ILLEGAL_PARAMETER",at.TIMESTAMP_IN_THE_FUTURE="TIMESTAMP_IN_THE_FUTURE",at.JOIN_DELTA_AMOUNTS="JOIN_DELTA_AMOUNTS",at.EXIT_DELTA_AMOUNTS="EXIT_DELTA_AMOUNTS";class nt extends Error{constructor(e){super(nt.getMessage(e)),this.code=e,this.name="BalancerError"}static getMessage(e){switch(e){case exports.BalancerErrorCode.SWAP_ZERO_RETURN_AMOUNT:return"queryBatchSwapWithSor returned 0 amount";case exports.BalancerErrorCode.UNWRAP_ZERO_AMOUNT:return"swapUnwrapAaveStaticExactIn unwrapped amount < 0";case exports.BalancerErrorCode.WRAP_ZERO_AMOUNT:return"swapUnwrapAaveStaticExactOut wrapped amount < 0";case exports.BalancerErrorCode.QUERY_BATCH_SWAP:return"queryBatchSwap on chain call error";case exports.BalancerErrorCode.POOL_DOESNT_EXIST:return"balancer pool does not exist";case exports.BalancerErrorCode.UNSUPPORTED_POOL_TYPE:return"unsupported pool type";case exports.BalancerErrorCode.UNSUPPORTED_PAIR:return"unsupported token pair";case exports.BalancerErrorCode.NO_POOL_DATA:return"no pool data";case exports.BalancerErrorCode.INPUT_OUT_OF_BOUNDS:return"input out of bounds";case exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH:return"input length mismatch";case exports.BalancerErrorCode.INPUT_TOKEN_INVALID:return"input token invalid";case exports.BalancerErrorCode.TOKEN_MISMATCH:return"token mismatch";case exports.BalancerErrorCode.MISSING_DECIMALS:return"missing decimals";case exports.BalancerErrorCode.MISSING_TOKENS:return"missing tokens";case exports.BalancerErrorCode.MISSING_AMP:return"missing amp";case exports.BalancerErrorCode.MISSING_PRICE_RATE:return"missing price rate";case exports.BalancerErrorCode.MISSING_WEIGHT:return"missing weight";case exports.BalancerErrorCode.INPUT_ZERO_NOT_ALLOWED:return"zero input not allowed";case exports.BalancerErrorCode.RELAY_SWAP_AMOUNTS:return"Error when checking swap amounts";case exports.BalancerErrorCode.NO_VALUE_PARAMETER:return"Illegal value passed as parameter";case exports.BalancerErrorCode.TIMESTAMP_IN_THE_FUTURE:return"Timestamp cannot be in the future";case exports.BalancerErrorCode.ILLEGAL_PARAMETER:return"An illegal parameter has been passed";case exports.BalancerErrorCode.JOIN_DELTA_AMOUNTS:return"Error when checking join call deltas";case exports.BalancerErrorCode.EXIT_DELTA_AMOUNTS:return"Error when checking exit call deltas";default:return"Unknown error"}}}class st{constructor(){this.buildExitExactBPTIn=({exiter:e,pool:n,bptIn:s,slippage:r,shouldUnwrapNativeAsset:i,wrappedNativeAsset:o,singleTokenMaxOut:d})=>{if(!s.length||a.parseFixed(s,18).isNegative())throw new nt(exports.BalancerErrorCode.INPUT_OUT_OF_BOUNDS);if(d&&d!==t.AddressZero&&!n.tokens.map((e=>e.address)).some((e=>We(e,d))))throw new nt(exports.BalancerErrorCode.TOKEN_MISMATCH);if(!i&&d===t.AddressZero)throw new Error("shouldUnwrapNativeAsset and singleTokenMaxOut should not have conflicting values");if(n.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(!n.amp)throw new nt(exports.BalancerErrorCode.MISSING_AMP);const{parsedTokens:p,parsedAmp:l,parsedTotalShares:u,parsedSwapFee:y,upScaledBalances:b,scalingFactors:m}=ne(n),f=p.map((e=>e===o?t.AddressZero:e)),h=new q(o),[T,g,x]=h.sortTokens(i?f:p,b,m);let I,w=Array(p.length).fill("0"),S=Array(p.length).fill("0");if(d){const e=p.indexOf(d),t=E.StableMathBigInt._calcTokenOutGivenExactBptIn(BigInt(l),g.map((e=>BigInt(e))),e,BigInt(s),BigInt(u),BigInt(y)).toString();w[e]=t,S[e]=Ye(a.BigNumber.from(t),a.BigNumber.from(r)).toString(),I=A.exitExactBPTInForOneTokenOut(s,e)}else{const e=function(e,t){const a=new Array(e.length);for(let n=0;n<e.length;++n)a[n]=te.divDownFixed(e[n],t[n]);return a}(E.StableMathBigInt._calcTokensOutGivenExactBptIn(g.map((e=>BigInt(e))),BigInt(s),BigInt(u)).map((e=>e.toString())).map((e=>BigInt(e))),x.map((e=>BigInt(e))));w=e.map((e=>e.toString())),S=e.map((e=>Ye(a.BigNumber.from(e),a.BigNumber.from(r)).toString())),I=A.exitExactBPTInForTokensOut(s)}const P=Qe,B="exitPool",_={poolId:n.id,sender:e,recipient:e,exitPoolRequest:{assets:T,minAmountsOut:S,userData:I,toInternalBalance:!1}};return{to:P,functionName:B,attributes:_,data:c.Vault__factory.createInterface().encodeFunctionData(B,[_.poolId,_.sender,_.recipient,_.exitPoolRequest]),expectedAmountsOut:w,minAmountsOut:S}},this.buildExitExactTokensOut=({exiter:e,pool:t,tokensOut:n,amountsOut:s,slippage:r,wrappedNativeAsset:i})=>{if(n.length!=s.length||n.length!=t.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);if(t.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(!t.amp)throw new nt(exports.BalancerErrorCode.MISSING_AMP);const{parsedTokens:o,parsedAmp:d,parsedTotalShares:p,parsedSwapFee:l,upScaledBalances:u,scalingFactors:y}=ne(t),b=new q(i),[,m,f]=b.sortTokens(o,u,y),[h,T]=b.sortTokens(n,s),g=ee(T.map((e=>BigInt(e))),f.map((e=>BigInt(e)))),x=E.StableMathBigInt._calcBptInGivenExactTokensOut(BigInt(d),m.map((e=>BigInt(e))),g,BigInt(p),BigInt(l)).toString(),I=ze(a.BigNumber.from(x),a.BigNumber.from(r)).toString(),w=A.exitBPTInForExactTokensOut(T,I),S=Qe,P="exitPool",B={poolId:t.id,sender:e,recipient:e,exitPoolRequest:{assets:h,minAmountsOut:T,userData:w,toInternalBalance:!1}};return{to:S,functionName:P,attributes:B,data:c.Vault__factory.createInterface().encodeFunctionData(P,[B.poolId,B.sender,B.recipient,B.exitPoolRequest]),expectedBPTIn:x,maxBPTIn:I}}}}class rt{constructor(){this.buildJoin=({joiner:e,pool:n,tokensIn:s,amountsIn:r,slippage:i,wrappedNativeAsset:o})=>{if(s.length!=r.length||s.length!=n.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);if(n.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(!n.amp)throw new nt(exports.BalancerErrorCode.MISSING_AMP);const{parsedTokens:d,parsedAmp:p,parsedTotalShares:l,parsedSwapFee:u,scalingFactors:y,upScaledBalances:b}=ne(n),m=new q(o),[f,h]=m.sortTokens(s,r),[,T,g]=m.sortTokens(d,b,y),x=ee(h.map((e=>BigInt(e))),g.map((e=>BigInt(e)))),I=E.StableMathBigInt._calcBptOutGivenExactTokensIn(BigInt(p),T.map((e=>BigInt(e))),x,BigInt(l),BigInt(u)).toString(),w=Ye(a.BigNumber.from(I),a.BigNumber.from(i)).toString(),S=A.joinExactTokensInForBPTOut(h,w),P=Qe,B="joinPool",_={poolId:n.id,sender:e,recipient:e,joinPoolRequest:{assets:f,maxAmountsIn:h,userData:S,fromInternalBalance:!1}},O=c.Vault__factory.createInterface().encodeFunctionData(B,[_.poolId,_.sender,_.recipient,_.joinPoolRequest]),v=r.filter(((e,a)=>s[a]===t.AddressZero));return{to:P,functionName:B,attributes:_,data:O,value:v[0]?a.BigNumber.from(v[0]):void 0,minBPTOut:w,expectedBPTOut:I}}}}class it{calcTotal(e){var t,n;let s=a.BigNumber.from(0),r=a.BigNumber.from(0);for(let a=0;a<e.length;a++){const n=e[a];if(!(null===(t=n.price)||void 0===t?void 0:t.usd))continue;const i=Ue(n.price.usd.toString(),18),o=Ue(n.balance,18),d=o.mul(i);r=r.add(d),s=s.add(o)}if(s.gt(0)){const t=r.div(s);for(let a=0;a<e.length;a++){const i=e[a];if(null===(n=i.price)||void 0===n?void 0:n.usd)continue;const o=Ue(i.balance,18),d=o.mul(t);r=r.add(d),s=s.add(o)}}return a.formatFixed(r,36).toString()}}class ot{calcPoolSpotPrice(e,t,a){const n=p.StablePool.fromPool(a),s=n.parsePoolPairData(e,t);return n._spotPriceAfterSwapExactTokenInForTokenOut(s,p.ZERO).toString()}}function dt(e,t,a){return a?function(e,t){const a=J-te.divDownFixed(e,t);return a<0?BigInt(0):a}(e,t):function(e,t){const a=te.divDownFixed(e,t)-J;return a<0?BigInt(0):a}(e,t)}const pt=BigInt(1e3);function ct(e,t,a,n){const s=t.length,r=function(e,t,a){let n=Z;const s=t.length;for(let e=0;e<s;e++)n+=t[e];if(n==Z)return Z;let r=Z,i=n;const o=e*BigInt(s);for(let e=0;e<255;e++){let e=t[0]*BigInt(s);for(let n=1;n<s;n++)e=te.div(te.mul(te.mul(e,t[n]),BigInt(s)),i,a);if(r=i,i=te.div(te.mul(te.mul(BigInt(s),i),i)+te.div(te.mul(te.mul(o,n),e),pt,a),te.mul(BigInt(s+1),i)+te.div(te.mul(o-pt,e),pt,!a),a),i>r){if(i-r<=1)return i}else if(r-i<=1)return i}throw new Error("Errors.STABLE_INVARIANT_DIDNT_CONVERGE")}(e,t,!0);let i=Z,o=r/BigInt(s);for(let e=0;e<s;e++)e!=n&&(i+=t[e],o=o*r/(BigInt(s)*t[e]));const d=t[n],p=e*BigInt(s),c=p*i,l=BigInt(pt)-p,u=BigInt(2)*p*d+c+l*r,y=o*BigInt(s+1)*pt-l*d;return te.divUpFixed(u*a/y,r)}class lt{bptZeroPriceImpact(e,t){if(t.length!==e.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);const{parsedBalances:a,parsedDecimals:n,parsedAmp:s,parsedTotalShares:r}=ne(e),i=n.map((e=>{if(!e)throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);return BigInt(e)}));if(!s)throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);const o=BigInt(r),d=i.map((e=>z(BigInt(e)))),p=a.map(((e,t)=>Q(BigInt(e),d[t])));let c=Z;for(let e=0;e<p.length;e++){const a=ct(BigInt(s),p,o,e),n=z(BigInt(i[e]));c+=a*Q(t[e],n)/J}return c}calcPriceImpact(e,t,a,n){const s=this.bptZeroPriceImpact(e,t.map((e=>BigInt(e))));return dt(BigInt(a),s,n).toString()}}class ut{constructor(e=new st,t=new rt,a=new it,n=new ot,s=new lt){this.exit=e,this.join=t,this.liquidity=a,this.spotPriceCalculator=n,this.priceImpactCalculator=s}}class yt{calcPoolSpotPrice(e,t,a){const n=p.PhantomStablePool.fromPool(a),s=n.parsePoolPairData(e,t);return n._spotPriceAfterSwapExactTokenInForTokenOut(s,p.ZERO).toString()}}class bt{bptZeroPriceImpact(e,t){if(t.length!==e.tokensList.length-1)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);const a=d.cloneDeep(e.tokensList),n=a.findIndex((t=>t==e.address)),{parsedBalances:s,parsedDecimals:r,parsedPriceRates:i,parsedAmp:o,parsedTotalShares:p}=ne(e),c=r.map((e=>{if(!e)throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);return BigInt(e)})),l=i.map((e=>{if(!e)throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);return BigInt(e)}));if(!o)throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);const u=BigInt(p);a.splice(n,1);const y=c.map((e=>z(BigInt(e)))),b=s.map(((e,t)=>Q(BigInt(e),y[t])));if(t.length!==a.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);b.splice(n,1);const m=b.map(((e,t)=>te.mulDownFixed(e,l[t])));let f=Z;for(let e=0;e<a.length;e++){const a=ct(BigInt(o),m,u,e)*l[e]/J,n=z(BigInt(c[e]));f+=a*Q(t[e],n)/J}return f}calcPriceImpact(e,t,a,n){const s=this.bptZeroPriceImpact(e,t.map((e=>BigInt(e))));return dt(BigInt(a),s,n).toString()}}class mt{constructor(){this.buildJoin=({joiner:e,pool:n,tokensIn:s,amountsIn:r,slippage:i,wrappedNativeAsset:o})=>{if(s.length!=r.length||s.length!=n.tokensList.length-1)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);if(n.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);const d=new q(o),[,l]=d.sortTokens(s,r),{parsedTokens:u,parsedAmp:y,parsedSwapFee:b,parsedTotalShares:m,scalingFactorsWithoutBpt:f,parsedBalancesWithoutBpt:h,bptIndex:T}=ne(n,o);if(!y)throw new nt(exports.BalancerErrorCode.MISSING_AMP);const g=ee(l.map(BigInt),f.map(BigInt)),x=p.StableMathBigInt._calcBptOutGivenExactTokensIn(BigInt(y),h.map(BigInt),g,BigInt(m),BigInt(b)).toString(),I=Ye(a.BigNumber.from(x),a.BigNumber.from(i)).toString(),w=O.joinExactTokensInForBPTOut(l,I),E="joinPool",A={poolId:n.id,sender:e,recipient:e,joinPoolRequest:{assets:u,maxAmountsIn:$e(l,T,"0"),userData:w,fromInternalBalance:!1}},S=c.Vault__factory.createInterface().encodeFunctionData(E,[A.poolId,A.sender,A.recipient,A.joinPoolRequest]),P=r.filter(((e,a)=>s[a]===t.AddressZero)),B=P[0]?a.BigNumber.from(P[0]):void 0;return{to:Qe,functionName:E,attributes:A,data:S,value:B,minBPTOut:I,expectedBPTOut:x}}}}class ft{constructor(){this.buildExitExactBPTIn=({exiter:e,pool:t,bptIn:a,slippage:n,shouldUnwrapNativeAsset:s,wrappedNativeAsset:r,singleTokenMaxOut:i})=>{throw new Error("To be implemented")},this.buildExitExactTokensOut=({exiter:e,pool:t,tokensOut:a,amountsOut:n,slippage:s,wrappedNativeAsset:r})=>{throw new Error("To be implemented")}}}class ht{constructor(e=new ft,t=new it,a=new yt,n=new bt,s=new mt){this.exit=e,this.liquidity=t,this.spotPriceCalculator=a,this.priceImpactCalculator=n,this.join=s}}class Tt{constructor(){this.buildExitExactBPTIn=({exiter:e,pool:n,bptIn:s,slippage:r,shouldUnwrapNativeAsset:i,wrappedNativeAsset:o,singleTokenMaxOut:d})=>{if(!s.length||a.parseFixed(s,18).isNegative())throw new nt(exports.BalancerErrorCode.INPUT_OUT_OF_BOUNDS);if(d&&d!==t.AddressZero&&!n.tokens.map((e=>e.address)).some((e=>We(e,d))))throw new nt(exports.BalancerErrorCode.TOKEN_MISMATCH);if(!i&&d===t.AddressZero)throw new Error("shouldUnwrapNativeAsset and singleTokenMaxOut should not have conflicting values");const{parsedTokens:p,parsedBalances:l,parsedWeights:u,parsedTotalShares:y,parsedSwapFee:b}=ne(n),m=p.map((e=>e===o?t.AddressZero:e)),f=new q(o),[h,T,g]=f.sortTokens(i?m:p,l,u);let x,I=Array(h.length).fill("0"),w=Array(h.length).fill("0");if(d){const e=h.indexOf(d),t=E.WeightedMaths._calcTokenOutGivenExactBptIn(BigInt(T[e]),BigInt(g[e]),BigInt(s),BigInt(y),BigInt(b)).toString();I[e]=t,w[e]=Ye(a.BigNumber.from(t),a.BigNumber.from(r)).toString(),x=S.exitExactBPTInForOneTokenOut(s,e)}else I=E.WeightedMaths._calcTokensOutGivenExactBptIn(T.map((e=>BigInt(e))),BigInt(s),BigInt(y)).map((e=>e.toString())),w=I.map((e=>Ye(a.BigNumber.from(e),a.BigNumber.from(r)).toString())),x=S.exitExactBPTInForTokensOut(s);const A=Qe,P="exitPool",B={poolId:n.id,sender:e,recipient:e,exitPoolRequest:{assets:h,minAmountsOut:w,userData:x,toInternalBalance:!1}};return{to:A,functionName:P,attributes:B,data:c.Vault__factory.createInterface().encodeFunctionData(P,[B.poolId,B.sender,B.recipient,B.exitPoolRequest]),expectedAmountsOut:I,minAmountsOut:w}},this.buildExitExactTokensOut=({exiter:e,pool:t,tokensOut:n,amountsOut:s,slippage:r,wrappedNativeAsset:i})=>{if(n.length!=s.length||n.length!=t.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);const{parsedTokens:o,parsedBalances:d,parsedWeights:p,parsedTotalShares:l,parsedSwapFee:u}=ne(t),y=new q(i),[,b,m]=y.sortTokens(o,d,p),[f,h]=y.sortTokens(n,s),T=E.WeightedMaths._calcBptInGivenExactTokensOut(b.map((e=>BigInt(e))),m.map((e=>BigInt(e))),h.map((e=>BigInt(e))),BigInt(l),BigInt(u)).toString(),g=ze(a.BigNumber.from(T),a.BigNumber.from(r)).toString(),x=S.exitBPTInForExactTokensOut(h,g),I=Qe,w="exitPool",A={poolId:t.id,sender:e,recipient:e,exitPoolRequest:{assets:f,minAmountsOut:h,userData:x,toInternalBalance:!1}};return{to:I,functionName:w,attributes:A,data:c.Vault__factory.createInterface().encodeFunctionData(w,[A.poolId,A.sender,A.recipient,A.exitPoolRequest]),expectedBPTIn:T,maxBPTIn:g}}}}class gt{constructor(){this.buildJoin=({joiner:e,pool:n,tokensIn:s,amountsIn:r,slippage:i,wrappedNativeAsset:o})=>{if(s.length!=r.length||s.length!=n.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);if(n.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(n.tokens.some((e=>!e.weight)))throw new nt(exports.BalancerErrorCode.MISSING_WEIGHT);const{parsedTokens:d,parsedBalances:l,parsedWeights:u,parsedTotalShares:y,parsedSwapFee:b}=ne(n),m=new q(o),[f,h]=m.sortTokens(s,r),[,T,g]=m.sortTokens(d,l,u),x=p.WeightedMaths._calcBptOutGivenExactTokensIn(T.map((e=>BigInt(e))),g.map((e=>BigInt(e))),h.map((e=>BigInt(e))),BigInt(y),BigInt(b)).toString(),I=Ye(a.BigNumber.from(x),a.BigNumber.from(i)).toString(),w=S.joinExactTokensInForBPTOut(h,I),E=Qe,A="joinPool",P={poolId:n.id,sender:e,recipient:e,joinPoolRequest:{assets:f,maxAmountsIn:h,userData:w,fromInternalBalance:!1}},B=c.Vault__factory.createInterface().encodeFunctionData(A,[P.poolId,P.sender,P.recipient,P.joinPoolRequest]),_=r.filter(((e,a)=>s[a]===t.AddressZero));return{to:E,functionName:A,attributes:P,data:B,value:_[0]?a.BigNumber.from(_[0]):void 0,minBPTOut:I,expectedBPTOut:x}}}}class xt{calcTotal(e){var t;let n=a.BigNumber.from(0),s=a.BigNumber.from(0);for(let a=0;a<e.length;a++){const r=e[a];if(!(null===(t=r.price)||void 0===t?void 0:t.usd))continue;let i;i=parseFloat(r.price.usd)<1?Ue(parseFloat(r.price.usd).toFixed(10),10).mul(1e8):Ue(r.price.usd,18);const o=Ue(r.balance,18),d=Ue(r.weight||"0",18),p=o.mul(i);s=s.add(p),n=n.add(d)}const r=e.reduce(((e,t)=>e.add(Ue(t.weight||"0",18))),a.BigNumber.from(0));if(n.gt(0)){return Ge(s.mul(r).div(n),36)}return"0"}}class It{calcPoolSpotPrice(e,t,a){const n=e===a.address||t===a.address;if(n){const e={address:a.address,balance:a.totalShares,decimals:18,priceRate:"1",weight:"0"};a.tokens.push(e),a.tokensList.push(a.address)}const s=p.WeightedPool.fromPool(a),r=s.parsePoolPairData(e,t),i=s._spotPriceAfterSwapExactTokenInForTokenOut(r,p.ZERO).toString();return n&&(a.tokens.pop(),a.tokensList.pop()),i}}class wt{bptZeroPriceImpact(e,t){if(t.length!==e.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);const{parsedBalances:a,parsedDecimals:n,parsedTotalShares:s,parsedWeights:r}=ne(e),i=BigInt(s),o=d.cloneDeep(e.tokensList);let p=Z;for(let e=0;e<o.length;e++){const s=n[e];let o,d;if(!s)throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);o=z(BigInt(s)),d=Q(BigInt(a[e]),o);const c=r[e];let l;if(!c)throw new nt(exports.BalancerErrorCode.MISSING_WEIGHT);l=BigInt(c);p+=l*i/d*Q(t[e],o)/J}return p}calcPriceImpact(e,t,a,n){const s=this.bptZeroPriceImpact(e,t.map((e=>BigInt(e))));return dt(BigInt(a),s,n).toString()}}class Et{constructor(e=new Tt,t=new gt,a=new xt,n=new It,s=new wt){this.exit=e,this.join=t,this.liquidity=a,this.spotPriceCalculator=n,this.priceImpactCalculator=s}}class At{constructor(){this.buildExitExactBPTIn=({exiter:e,pool:n,bptIn:s,slippage:r,shouldUnwrapNativeAsset:i,wrappedNativeAsset:o,singleTokenMaxOut:d})=>{if(!s.length||a.parseFixed(s,18).isNegative())throw new nt(exports.BalancerErrorCode.INPUT_OUT_OF_BOUNDS);if(d&&d!==t.AddressZero&&!n.tokens.map((e=>e.address)).some((e=>We(e,d))))throw new nt(exports.BalancerErrorCode.TOKEN_MISMATCH);if(!i&&d===t.AddressZero)throw new Error("shouldUnwrapNativeAsset and singleTokenMaxOut should not have conflicting values");if(n.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(!n.amp)throw new nt(exports.BalancerErrorCode.MISSING_AMP);if(n.tokens.some((e=>!e.priceRate)))throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);const{parsedTokens:p,parsedBalances:l,parsedAmp:u,parsedPriceRates:y,parsedTotalShares:b,parsedSwapFee:m}=ne(n),f=p.map((e=>e===o?t.AddressZero:e)),h=new q(o),[T,g,x]=h.sortTokens(i?f:p,l,y),I=g.map(((e,t)=>a.BigNumber.from(e).mul(a.BigNumber.from(x[t])).div(a.parseFixed("1",18)).toString()));let w,S=Array(p.length).fill("0"),P=Array(p.length).fill("0");if(d){const e=T.indexOf(d),t=E.StableMathBigInt._calcTokenOutGivenExactBptIn(BigInt(u),I.map((e=>BigInt(e))),e,BigInt(s),BigInt(b),BigInt(m)).toString(),n=a.BigNumber.from(t).div(a.BigNumber.from(x[e])).mul(a.parseFixed("1",18)).toString();S[e]=n,P[e]=Ye(a.BigNumber.from(n),a.BigNumber.from(r)).toString(),w=A.exitExactBPTInForOneTokenOut(s,e)}else{S=E.StableMathBigInt._calcTokensOutGivenExactBptIn(I.map((e=>BigInt(e))),BigInt(s),BigInt(b)).map((e=>e.toString())).map(((e,t)=>a.BigNumber.from(e).mul(a.parseFixed("1",18)).div(a.BigNumber.from(x[t])).toString())),P=S.map((e=>Ye(a.BigNumber.from(e),a.BigNumber.from(r)).toString())),w=A.exitExactBPTInForTokensOut(s)}const B=Qe,_="exitPool",O={poolId:n.id,sender:e,recipient:e,exitPoolRequest:{assets:T,minAmountsOut:P,userData:w,toInternalBalance:!1}};return{to:B,functionName:_,attributes:O,data:c.Vault__factory.createInterface().encodeFunctionData(_,[O.poolId,O.sender,O.recipient,O.exitPoolRequest]),expectedAmountsOut:S,minAmountsOut:P}},this.buildExitExactTokensOut=({exiter:e,pool:t,tokensOut:n,amountsOut:s,slippage:r,wrappedNativeAsset:i})=>{if(n.length!=s.length||n.length!=t.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);if(t.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(!t.amp)throw new nt(exports.BalancerErrorCode.MISSING_AMP);if(t.tokens.some((e=>!e.priceRate)))throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);const{parsedTokens:o,parsedBalances:d,parsedPriceRates:p,parsedAmp:l,parsedTotalShares:u,parsedSwapFee:y}=ne(t),b=new q(i),[,m,f]=b.sortTokens(o,d,p),[h,T]=b.sortTokens(n,s),g=T.map(((e,t)=>a.BigNumber.from(e).mul(a.BigNumber.from(f[t])).div(a.parseFixed("1",18)).toString())),x=m.map(((e,t)=>a.BigNumber.from(e).mul(a.BigNumber.from(f[t])).div(a.parseFixed("1",18)).toString())),I=E.StableMathBigInt._calcBptInGivenExactTokensOut(BigInt(l),x.map((e=>BigInt(e))),g.map((e=>BigInt(e))),BigInt(u),BigInt(y)).toString(),w=ze(a.BigNumber.from(I),a.BigNumber.from(r)).toString(),S=A.exitBPTInForExactTokensOut(T,w),P=T.map(((e,t)=>e===g[t]?e:a.BigNumber.from(e).sub(1).toString())),B=Qe,_="exitPool",O={poolId:t.id,sender:e,recipient:e,exitPoolRequest:{assets:h,minAmountsOut:P,userData:S,toInternalBalance:!1}};return{to:B,functionName:_,attributes:O,data:c.Vault__factory.createInterface().encodeFunctionData(_,[O.poolId,O.sender,O.recipient,O.exitPoolRequest]),expectedBPTIn:I,maxBPTIn:w}}}}class St{constructor(){this.buildJoin=({joiner:e,pool:n,tokensIn:s,amountsIn:r,slippage:i,wrappedNativeAsset:o})=>{if(s.length!=r.length||s.length!=n.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);if(n.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(!n.amp)throw new nt(exports.BalancerErrorCode.MISSING_AMP);if(n.tokens.some((e=>!e.priceRate)))throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);const{parsedTokens:d,parsedBalances:p,parsedPriceRates:l,parsedAmp:u,parsedTotalShares:y,parsedSwapFee:b}=ne(n),m=new q(o),[f,h]=m.sortTokens(s,r),[,T,g]=m.sortTokens(d,p,l),x=h.map(((e,t)=>a.BigNumber.from(e).mul(a.BigNumber.from(g[t])).div(a.parseFixed("1",18)).toString())),I=T.map(((e,t)=>a.BigNumber.from(e).mul(a.BigNumber.from(g[t])).div(a.parseFixed("1",18)).toString())),w=E.StableMathBigInt._calcBptOutGivenExactTokensIn(BigInt(u),I.map((e=>BigInt(e))),x.map((e=>BigInt(e))),BigInt(y),BigInt(b)).toString(),S=Ye(a.BigNumber.from(w),a.BigNumber.from(i)).toString(),P=A.joinExactTokensInForBPTOut(h,S),B=Qe,_="joinPool",O={poolId:n.id,sender:e,recipient:e,joinPoolRequest:{assets:f,maxAmountsIn:h,userData:P,fromInternalBalance:!1}},v=c.Vault__factory.createInterface().encodeFunctionData(_,[O.poolId,O.sender,O.recipient,O.joinPoolRequest]),k=r.filter(((e,a)=>s[a]===t.AddressZero));return{to:B,functionName:_,attributes:O,data:v,value:k[0]?a.BigNumber.from(k[0]):void 0,minBPTOut:S,expectedBPTOut:w}}}}class Pt{calcTotal(e){var n,s;let r=t.Zero,i=t.Zero;for(let t=0;t<e.length;t++){const a=e[t];if(!(null===(n=a.price)||void 0===n?void 0:n.usd))continue;const s=Ue(a.price.usd.toString(),18),o=Ue(a.balance,18),d=o.mul(s);i=i.add(d),r=r.add(o)}if(r.gt(0)){const t=i.div(r);for(let a=0;a<e.length;a++){const n=e[a];if(null===(s=n.price)||void 0===s?void 0:s.usd)continue;const o=Ue(n.balance,18),d=o.mul(t);i=i.add(d),r=r.add(o)}}return a.formatFixed(i,36).toString()}}class Bt{calcPoolSpotPrice(e,t,a){const n=p.MetaStablePool.fromPool(a),s=n.parsePoolPairData(e,t);return n._spotPriceAfterSwapExactTokenInForTokenOut(s,p.ZERO).toString()}}class _t{bptZeroPriceImpact(e,t){if(t.length!==e.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);const{parsedBalances:a,parsedDecimals:n,parsedPriceRates:s,parsedAmp:r,parsedTotalShares:i}=ne(e),o=BigInt(i),d=n.map((e=>{if(!e)throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);return BigInt(e)})),p=s.map((e=>{if(!e)throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);return BigInt(e)}));if(!r)throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);const c=d.map((e=>z(BigInt(e)))),l=a.map(((e,t)=>Q(BigInt(e),c[t]))),u=l.map(((e,t)=>te.mulDownFixed(e,p[t])));let y=Z;for(let a=0;a<l.length;a++){const n=ct(BigInt(r),u,o,a)*p[a]/J,s=z(BigInt(e.tokens[a].decimals));y+=n*Q(t[a],s)/J}return y}calcPriceImpact(e,t,a,n){const s=this.bptZeroPriceImpact(e,t.map((e=>BigInt(e))));return dt(BigInt(a),s,n).toString()}}class Ot{constructor(e=new At,t=new St,a=new Pt,n=new Bt,s=new _t){this.exit=e,this.join=t,this.liquidity=a,this.spotPriceCalculator=n,this.priceImpactCalculator=s}}class vt{constructor(){this.buildExitExactBPTIn=({exiter:e,pool:t,bptIn:a,slippage:n,shouldUnwrapNativeAsset:s,wrappedNativeAsset:r,singleTokenMaxOut:i})=>{throw new Error("To be implemented")},this.buildExitExactTokensOut=({exiter:e,pool:t,tokensOut:a,amountsOut:n,slippage:s,wrappedNativeAsset:r})=>{throw new Error("To be implemented")}}}class kt{constructor(){this.buildJoin=({joiner:e,pool:t,tokensIn:a,amountsIn:n,slippage:s,wrappedNativeAsset:r})=>{throw new Error("To be implemented")}}}class Nt{constructor(e=new vt,t=new kt,a=new it,n=new yt,s=new bt){this.exit=e,this.join=t,this.liquidity=a,this.spotPriceCalculator=n,this.priceImpactCalculator=s}}class Ct{constructor(){this.buildExitExactBPTIn=({exiter:e,pool:t,bptIn:a,slippage:n,shouldUnwrapNativeAsset:s,wrappedNativeAsset:r,singleTokenMaxOut:i})=>{throw new Error("To be implemented")},this.buildExitExactTokensOut=({exiter:e,pool:t,tokensOut:a,amountsOut:n,slippage:s,wrappedNativeAsset:r})=>{throw new Error("To be implemented")}}}class Dt{constructor(){this.buildJoin=({joiner:e,pool:t,tokensIn:a,amountsIn:n,slippage:s,wrappedNativeAsset:r})=>{throw new Error("To be implemented")}}}const Ft=18,Rt=Ue("1",Ft);class Mt{calcTotal(e){var a,n;let s=t.Zero,r=t.Zero;for(let t=0;t<e.length;t++){const n=e[t];if(!(null===(a=n.price)||void 0===a?void 0:a.usd))continue;const i=Ue(n.price.usd.toString(),Ft),o=Ue(n.balance,Ft),d=o.mul(i);r=r.add(d),s=s.add(o)}if(s.gt(0)){const t=r.div(s);for(let a=0;a<e.length;a++){const i=e[a];if(null===(n=i.price)||void 0===n?void 0:n.usd)continue;const o=Ue(i.priceRate||"1",Ft),d=Ue(i.balance,Ft).mul(o).div(Rt),p=d.mul(t);r=r.add(p),s=s.add(d)}}return Ge(r,36)}}class Lt{calcPoolSpotPrice(e,t,a){const n=p.LinearPool.fromPool(a),s=n.parsePoolPairData(e,t);return n._spotPriceAfterSwapExactTokenInForTokenOut(s,p.ZERO).toString()}}class Ut{bptZeroPriceImpact(e,t){throw new Error("Linear Pool bptZeroPriceImpact Not Implented")}calcPriceImpact(e,t,a){throw new Error("Linear Pool Price Impact Not Implented")}}class Gt{constructor(e=new Ct,t=new Dt,a=new Mt,n=new Lt,s=new Ut){this.exit=e,this.join=t,this.liquidity=a,this.spotPriceCalculator=n,this.priceImpactCalculator=s}}class qt{constructor(e,t=new Et,a=new ut,n=new ht,s=new Ot,r=new Nt,i=new Gt){this.weighted=t,this.stable=a,this.composableStable=n,this.metaStable=s,this.stablePhantom=r,this.linear=i}static from(e){switch(e){case"Weighted":case"Investment":case"LiquidityBootstrapping":return new Et;case"Stable":return new ut;case"HighAmpComposableStable":case"ComposableStable":return new ht;case"MetaStable":return new Ot;case"StablePhantom":return new Nt;case"AaveLinear":case"EulerLinear":case"ERC4626Linear":return new Gt;default:throw new nt(exports.BalancerErrorCode.UNSUPPORTED_POOL_TYPE)}}}class Wt{constructor(e,t){this.pools=e,this.tokenPrices=t}async getLiquidity(e){if(e.totalLiquidity)return e.totalLiquidity;const t=e.tokens.filter((t=>t.address!==e.address)),n=await Promise.all(t.map((async e=>{const t=await this.pools.findBy("address",e.address);if(!t)return;const a=Ue(await this.getLiquidity(t),18),n=Ue(t.totalShares,18),s=Ue(e.balance,18),r=n.eq(0)?0:a.mul(s).div(n);return{address:t.address,liquidity:r.toString()}}))),s=n.reduce(((e,t)=>e.add(t?t.liquidity:a.BigNumber.from(0))),a.BigNumber.from(0)),r=t.filter((e=>!n.find((t=>(null==t?void 0:t.address)===e.address)))),i=await Promise.all(r.map((async e=>{var t;const a=await this.tokenPrices.find(e.address);return{address:e.address,decimals:e.decimals,priceRate:e.priceRate,price:(null==a?void 0:a.usd)&&a||{usd:null===(t=e.token)||void 0===t?void 0:t.latestUSDPrice},balance:e.balance,weight:e.weight}}))),o=Ue(qt.from(e.poolType).liquidity.calcTotal(i),18);return Ge(s.add(o),18)}}async function $t(e,a,n,s){const r={sender:t.AddressZero,recipient:t.AddressZero,fromInternalBalance:!1,toInternalBalance:!1};try{return(await e.callStatic.queryBatchSwap(a,n,s,r)).map((e=>e.toString()))}catch(e){throw`queryBatchSwap call error: ${e}`}}async function Vt(e,a,n){n.fetchPools.fetchPools&&await e.fetchPools();const s=[],r=[];for(let a=0;a<n.tokensIn.length;a++){const i=await Ht(n.tokensIn[a],n.tokensOut[a],n.swapType,n.amounts[a].toString(),e);if(!i.returnAmount.gt(t.Zero))throw new nt(exports.BalancerErrorCode.SWAP_ZERO_RETURN_AMOUNT);s.push(i.swaps),r.push(i.tokenAddresses)}const i=function(e,t){const a=[...new Set(e.flat())];t.forEach(((t,n)=>{t.forEach((t=>{t.assetInIndex=a.indexOf(e[n][t.assetInIndex]),t.assetOutIndex=a.indexOf(e[n][t.assetOutIndex])}))}));const n=t.flat();return{swaps:n,assets:a}}(r,s),o=n.swapType===exports.SwapType.SwapExactIn?n.tokensOut:n.tokensIn,d=Array(o.length).fill("0");let p=Array(i.assets.length).fill("0");try{p=await $t(a,n.swapType,i.swaps,i.assets),p.length>0&&o.forEach(((e,a)=>{var n;return d[a]=null!==(n=p[i.assets.indexOf(e.toLowerCase())].toString())&&void 0!==n?n:t.Zero.toString()}))}catch(e){throw new nt(exports.BalancerErrorCode.QUERY_BATCH_SWAP)}return{returnAmounts:d,swaps:i.swaps,assets:i.assets,deltas:p.map((e=>e.toString()))}}async function Ht(e,t,a,n,s){const r=a===exports.SwapType.SwapExactIn?p.SwapTypes.SwapExactIn:p.SwapTypes.SwapExactOut;return await s.getSwaps(e.toLowerCase(),t.toLowerCase(),r,n)}var jt=function(){return jt=Object.assign||function(e){for(var t,a=1,n=arguments.length;a<n;a++)for(var s in t=arguments[a])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},jt.apply(this,arguments)},Kt=new Map,Zt=new Map,Xt=!0,Jt=!1;function Yt(e){return e.replace(/[\s,]+/g," ").trim()}function zt(e){var t=new Set,a=[];return e.definitions.forEach((function(e){if("FragmentDefinition"===e.kind){var n=e.name.value,s=Yt((i=e.loc).source.body.substring(i.start,i.end)),r=Zt.get(n);r&&!r.has(s)?Xt&&console.warn("Warning: fragment with name "+n+" already exists.\ngraphql-tag enforces all fragment names across your application to be unique; read more about\nthis in the docs: http://dev.apollodata.com/core/fragments.html#unique-names"):r||Zt.set(n,r=new Set),r.add(s),t.has(s)||(t.add(s),a.push(e))}else a.push(e);var i})),jt(jt({},e),{definitions:a})}function Qt(e){var t=Yt(e);if(!Kt.has(t)){var a=y.parse(e,{experimentalFragmentVariables:Jt,allowLegacyFragmentVariables:Jt});if(!a||"Document"!==a.kind)throw new Error("Not a valid GraphQL document.");Kt.set(t,function(e){var t=new Set(e.definitions);t.forEach((function(e){e.loc&&delete e.loc,Object.keys(e).forEach((function(a){var n=e[a];n&&"object"==typeof n&&t.add(n)}))}));var a=e.loc;return a&&(delete a.startToken,delete a.endToken),e}(zt(a)))}return Kt.get(t)}function ea(e){for(var t=[],a=1;a<arguments.length;a++)t[a-1]=arguments[a];"string"==typeof e&&(e=[e]);var n=e[0];return t.forEach((function(t,a){t&&"Document"===t.kind?n+=t.loc.source.body:n+=t,n+=e[a+1]})),Qt(n)}var ta,aa=ea,na=function(){Kt.clear(),Zt.clear()},sa=function(){Xt=!1},ra=function(){Jt=!0},ia=function(){Jt=!1};(ta=ea||(ea={})).gql=aa,ta.resetCaches=na,ta.disableFragmentWarnings=sa,ta.enableExperimentalFragmentVariables=ra,ta.disableExperimentalFragmentVariables=ia,ea.default=ea;var oa,da,pa,ca,la,ua,ya,ba,ma,fa,ha,Ta,ga,xa,Ia,wa,Ea,Aa,Sa,Pa,Ba,_a,Oa,va,ka,Na,Ca,Da=ea;!function(e){e.EndAmp="endAmp",e.EndTimestamp="endTimestamp",e.Id="id",e.PoolId="poolId",e.ScheduledTimestamp="scheduledTimestamp",e.StartAmp="startAmp",e.StartTimestamp="startTimestamp"}(oa||(oa={})),function(e){e.Id="id",e.PoolCount="poolCount",e.Timestamp="timestamp",e.TotalLiquidity="totalLiquidity",e.TotalSwapCount="totalSwapCount",e.TotalSwapFee="totalSwapFee",e.TotalSwapVolume="totalSwapVolume",e.Vault="vault"}(da||(da={})),function(e){e.Id="id",e.PoolCount="poolCount",e.Pools="pools",e.TotalLiquidity="totalLiquidity",e.TotalSwapCount="totalSwapCount",e.TotalSwapFee="totalSwapFee",e.TotalSwapVolume="totalSwapVolume"}(pa||(pa={})),function(e){e.EndTimestamp="endTimestamp",e.EndWeights="endWeights",e.Id="id",e.PoolId="poolId",e.ScheduledTimestamp="scheduledTimestamp",e.StartTimestamp="startTimestamp",e.StartWeights="startWeights"}(ca||(ca={})),function(e){e.Exit="Exit",e.Join="Join"}(la||(la={})),function(e){e.Amounts="amounts",e.Id="id",e.Pool="pool",e.Sender="sender",e.Timestamp="timestamp",e.Tx="tx",e.Type="type",e.User="user",e.ValueUsd="valueUSD"}(ua||(ua={})),function(e){e.Asset="asset",e.Block="block",e.Id="id",e.PoolId="poolId",e.Price="price",e.PricingAsset="pricingAsset"}(ya||(ya={})),function(e){e.CashDelta="cashDelta",e.Id="id",e.ManagedDelta="managedDelta",e.PoolTokenId="poolTokenId",e.Timestamp="timestamp",e.Type="type"}(ba||(ba={})),function(e){e.Deposit="Deposit",e.Update="Update",e.Withdraw="Withdraw"}(ma||(ma={})),function(e){e.Asc="asc",e.Desc="desc"}(fa||(fa={})),function(e){e.Id="id",e.Pool="pool"}(ha||(ha={})),function(e){e.Block="block",e.Id="id",e.PoolId="poolId",e.PoolLiquidity="poolLiquidity",e.PoolShareValue="poolShareValue",e.PoolTotalShares="poolTotalShares",e.PricingAsset="pricingAsset"}(Ta||(Ta={})),function(e){e.Balance="balance",e.Id="id",e.PoolId="poolId",e.UserAddress="userAddress"}(ga||(ga={})),function(e){e.Amounts="amounts",e.HoldersCount="holdersCount",e.Id="id",e.Liquidity="liquidity",e.Pool="pool",e.SwapFees="swapFees",e.SwapVolume="swapVolume",e.SwapsCount="swapsCount",e.Timestamp="timestamp",e.TotalShares="totalShares"}(xa||(xa={})),function(e){e.Address="address",e.AssetManager="assetManager",e.Balance="balance",e.CashBalance="cashBalance",e.Decimals="decimals",e.Id="id",e.Index="index",e.IsExemptFromYieldProtocolFee="isExemptFromYieldProtocolFee",e.ManagedBalance="managedBalance",e.Managements="managements",e.Name="name",e.PoolId="poolId",e.PriceRate="priceRate",e.Symbol="symbol",e.Token="token",e.Weight="weight"}(Ia||(Ia={})),function(e){e.Address="address",e.Alpha="alpha",e.Amp="amp",e.BaseToken="baseToken",e.Beta="beta",e.C="c",e.CreateTime="createTime",e.DSq="dSq",e.Delta="delta",e.Epsilon="epsilon",e.ExpiryTime="expiryTime",e.Factory="factory",e.HistoricalValues="historicalValues",e.HoldersCount="holdersCount",e.Id="id",e.IsInRecoveryMode="isInRecoveryMode",e.IsPaused="isPaused",e.Lambda="lambda",e.LowerTarget="lowerTarget",e.MainIndex="mainIndex",e.ManagementFee="managementFee",e.Name="name",e.OracleEnabled="oracleEnabled",e.Owner="owner",e.PoolType="poolType",e.PoolTypeVersion="poolTypeVersion",e.PriceRateProviders="priceRateProviders",e.PrincipalToken="principalToken",e.ProtocolAumFeeCache="protocolAumFeeCache",e.ProtocolId="protocolId",e.ProtocolSwapFeeCache="protocolSwapFeeCache",e.ProtocolYieldFeeCache="protocolYieldFeeCache",e.Root3Alpha="root3Alpha",e.S="s",e.Shares="shares",e.Snapshots="snapshots",e.SqrtAlpha="sqrtAlpha",e.SqrtBeta="sqrtBeta",e.StrategyType="strategyType",e.SwapEnabled="swapEnabled",e.SwapFee="swapFee",e.Swaps="swaps",e.SwapsCount="swapsCount",e.Symbol="symbol",e.TauAlphaX="tauAlphaX",e.TauAlphaY="tauAlphaY",e.TauBetaX="tauBetaX",e.TauBetaY="tauBetaY",e.Tokens="tokens",e.TokensList="tokensList",e.TotalLiquidity="totalLiquidity",e.TotalShares="totalShares",e.TotalSwapFee="totalSwapFee",e.TotalSwapVolume="totalSwapVolume",e.TotalWeight="totalWeight",e.Tx="tx",e.U="u",e.UnitSeconds="unitSeconds",e.UpperTarget="upperTarget",e.V="v",e.VaultId="vaultID",e.W="w",e.WeightUpdates="weightUpdates",e.WrappedIndex="wrappedIndex",e.Z="z"}(wa||(wa={})),function(e){e.Address="address",e.CacheDuration="cacheDuration",e.CacheExpiry="cacheExpiry",e.Id="id",e.LastCached="lastCached",e.PoolId="poolId",e.Rate="rate",e.Token="token"}(Ea||(Ea={})),function(e){e.EndSwapFeePercentage="endSwapFeePercentage",e.EndTimestamp="endTimestamp",e.Id="id",e.Pool="pool",e.ScheduledTimestamp="scheduledTimestamp",e.StartSwapFeePercentage="startSwapFeePercentage",e.StartTimestamp="startTimestamp"}(Aa||(Aa={})),function(e){e.Caller="caller",e.Id="id",e.PoolId="poolId",e.Timestamp="timestamp",e.TokenAmountIn="tokenAmountIn",e.TokenAmountOut="tokenAmountOut",e.TokenIn="tokenIn",e.TokenInSym="tokenInSym",e.TokenOut="tokenOut",e.TokenOutSym="tokenOutSym",e.Tx="tx",e.UserAddress="userAddress",e.ValueUsd="valueUSD"}(Sa||(Sa={})),function(e){e.Amount="amount",e.Asset="asset",e.Block="block",e.Id="id",e.PoolId="poolId",e.Price="price",e.PricingAsset="pricingAsset",e.Timestamp="timestamp"}(Pa||(Pa={})),function(e){e.Id="id",e.Timestamp="timestamp",e.Token="token",e.TotalBalanceNotional="totalBalanceNotional",e.TotalBalanceUsd="totalBalanceUSD",e.TotalSwapCount="totalSwapCount",e.TotalVolumeNotional="totalVolumeNotional",e.TotalVolumeUsd="totalVolumeUSD"}(Ba||(Ba={})),function(e){e.Address="address",e.Decimals="decimals",e.Id="id",e.LatestFxPrice="latestFXPrice",e.LatestPrice="latestPrice",e.LatestUsdPrice="latestUSDPrice",e.Name="name",e.Pool="pool",e.Symbol="symbol",e.TotalBalanceNotional="totalBalanceNotional",e.TotalBalanceUsd="totalBalanceUSD",e.TotalSwapCount="totalSwapCount",e.TotalVolumeNotional="totalVolumeNotional",e.TotalVolumeUsd="totalVolumeUSD"}(_a||(_a={})),function(e){e.Id="id",e.Pair="pair",e.Timestamp="timestamp",e.TotalSwapFee="totalSwapFee",e.TotalSwapVolume="totalSwapVolume"}(Oa||(Oa={})),function(e){e.Id="id",e.Token0="token0",e.Token1="token1",e.TotalSwapFee="totalSwapFee",e.TotalSwapVolume="totalSwapVolume"}(va||(va={})),function(e){e.Balance="balance",e.Id="id",e.Token="token",e.UserAddress="userAddress"}(ka||(ka={})),function(e){e.Id="id",e.SharesOwned="sharesOwned",e.Swaps="swaps",e.UserInternalBalances="userInternalBalances"}(Na||(Na={})),function(e){e.Allow="allow",e.Deny="deny"}(Ca||(Ca={}));const Fa=Da`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@ethersproject/abi"),t=require("@ethersproject/constants"),a=require("@ethersproject/bignumber"),n=require("@ethersproject/address"),s=require("@ethersproject/contracts"),r=require("@ethersproject/bytes"),i=require("@ethersproject/abstract-signer"),o=require("axios"),d=require("lodash"),p=require("@defiverse/sor"),c=require("@balancer-labs/typechain"),l=require("@ethersproject/providers"),u=require("graphql-request"),y=require("graphql"),b=require("json-to-graphql-query");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function f(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,Object.freeze(t)}var h,T,g,x,I,w=m(o),E=f(p);exports.StablePoolJoinKind=void 0,(h=exports.StablePoolJoinKind||(exports.StablePoolJoinKind={}))[h.INIT=0]="INIT",h[h.EXACT_TOKENS_IN_FOR_BPT_OUT=1]="EXACT_TOKENS_IN_FOR_BPT_OUT",h[h.TOKEN_IN_FOR_EXACT_BPT_OUT=2]="TOKEN_IN_FOR_EXACT_BPT_OUT",exports.StablePhantomPoolJoinKind=void 0,(T=exports.StablePhantomPoolJoinKind||(exports.StablePhantomPoolJoinKind={}))[T.INIT=0]="INIT",T[T.COLLECT_PROTOCOL_FEES=1]="COLLECT_PROTOCOL_FEES",exports.StablePoolExitKind=void 0,(g=exports.StablePoolExitKind||(exports.StablePoolExitKind={}))[g.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT=0]="EXACT_BPT_IN_FOR_ONE_TOKEN_OUT",g[g.EXACT_BPT_IN_FOR_TOKENS_OUT=1]="EXACT_BPT_IN_FOR_TOKENS_OUT",g[g.BPT_IN_FOR_EXACT_TOKENS_OUT=2]="BPT_IN_FOR_EXACT_TOKENS_OUT";class A{constructor(){}}A.joinInit=t=>e.defaultAbiCoder.encode(["uint256","uint256[]"],[exports.StablePoolJoinKind.INIT,t]),A.joinCollectProtocolFees=()=>e.defaultAbiCoder.encode(["uint256"],[exports.StablePhantomPoolJoinKind.COLLECT_PROTOCOL_FEES]),A.joinExactTokensInForBPTOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[exports.StablePoolJoinKind.EXACT_TOKENS_IN_FOR_BPT_OUT,t,a]),A.joinTokenInForExactBPTOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256","uint256"],[exports.StablePoolJoinKind.TOKEN_IN_FOR_EXACT_BPT_OUT,t,a]),A.exitExactBPTInForOneTokenOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256","uint256"],[exports.StablePoolExitKind.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT,t,a]),A.exitExactBPTInForTokensOut=t=>e.defaultAbiCoder.encode(["uint256","uint256"],[exports.StablePoolExitKind.EXACT_BPT_IN_FOR_TOKENS_OUT,t]),A.exitBPTInForExactTokensOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[exports.StablePoolExitKind.BPT_IN_FOR_EXACT_TOKENS_OUT,t,a]),exports.WeightedPoolJoinKind=void 0,(x=exports.WeightedPoolJoinKind||(exports.WeightedPoolJoinKind={}))[x.INIT=0]="INIT",x[x.EXACT_TOKENS_IN_FOR_BPT_OUT=1]="EXACT_TOKENS_IN_FOR_BPT_OUT",x[x.TOKEN_IN_FOR_EXACT_BPT_OUT=2]="TOKEN_IN_FOR_EXACT_BPT_OUT",x[x.ALL_TOKENS_IN_FOR_EXACT_BPT_OUT=3]="ALL_TOKENS_IN_FOR_EXACT_BPT_OUT",exports.WeightedPoolExitKind=void 0,(I=exports.WeightedPoolExitKind||(exports.WeightedPoolExitKind={}))[I.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT=0]="EXACT_BPT_IN_FOR_ONE_TOKEN_OUT",I[I.EXACT_BPT_IN_FOR_TOKENS_OUT=1]="EXACT_BPT_IN_FOR_TOKENS_OUT",I[I.BPT_IN_FOR_EXACT_TOKENS_OUT=2]="BPT_IN_FOR_EXACT_TOKENS_OUT",I[I.MANAGEMENT_FEE_TOKENS_OUT=3]="MANAGEMENT_FEE_TOKENS_OUT";class S{constructor(){}}S.joinInit=t=>e.defaultAbiCoder.encode(["uint256","uint256[]"],[exports.WeightedPoolJoinKind.INIT,t]),S.joinExactTokensInForBPTOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[exports.WeightedPoolJoinKind.EXACT_TOKENS_IN_FOR_BPT_OUT,t,a]),S.joinTokenInForExactBPTOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256","uint256"],[exports.WeightedPoolJoinKind.TOKEN_IN_FOR_EXACT_BPT_OUT,t,a]),S.joinAllTokensInForExactBPTOut=t=>e.defaultAbiCoder.encode(["uint256","uint256"],[exports.WeightedPoolJoinKind.ALL_TOKENS_IN_FOR_EXACT_BPT_OUT,t]),S.exitExactBPTInForOneTokenOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256","uint256"],[exports.WeightedPoolExitKind.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT,t,a]),S.exitExactBPTInForTokensOut=t=>e.defaultAbiCoder.encode(["uint256","uint256"],[exports.WeightedPoolExitKind.EXACT_BPT_IN_FOR_TOKENS_OUT,t]),S.exitBPTInForExactTokensOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[exports.WeightedPoolExitKind.BPT_IN_FOR_EXACT_TOKENS_OUT,t,a]);class P{constructor(){}}P.exitForManagementFees=()=>e.defaultAbiCoder.encode(["uint256"],[exports.WeightedPoolExitKind.MANAGEMENT_FEE_TOKENS_OUT]);var B,_;exports.ComposableStablePoolJoinKind=void 0,(B=exports.ComposableStablePoolJoinKind||(exports.ComposableStablePoolJoinKind={}))[B.INIT=0]="INIT",B[B.EXACT_TOKENS_IN_FOR_BPT_OUT=1]="EXACT_TOKENS_IN_FOR_BPT_OUT",B[B.TOKEN_IN_FOR_EXACT_BPT_OUT=2]="TOKEN_IN_FOR_EXACT_BPT_OUT",exports.ComposableStablePoolExitKind=void 0,(_=exports.ComposableStablePoolExitKind||(exports.ComposableStablePoolExitKind={}))[_.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT=0]="EXACT_BPT_IN_FOR_ONE_TOKEN_OUT",_[_.BPT_IN_FOR_EXACT_TOKENS_OUT=1]="BPT_IN_FOR_EXACT_TOKENS_OUT";class O{constructor(){}}O.joinInit=t=>e.defaultAbiCoder.encode(["uint256","uint256[]"],[exports.ComposableStablePoolJoinKind.INIT,t]),O.joinCollectProtocolFees=()=>e.defaultAbiCoder.encode(["uint256"],[exports.StablePhantomPoolJoinKind.COLLECT_PROTOCOL_FEES]),O.joinExactTokensInForBPTOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[exports.ComposableStablePoolJoinKind.EXACT_TOKENS_IN_FOR_BPT_OUT,t,a]),O.joinTokenInForExactBPTOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256","uint256"],[exports.ComposableStablePoolJoinKind.TOKEN_IN_FOR_EXACT_BPT_OUT,t,a]),O.exitExactBPTInForOneTokenOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256","uint256"],[exports.ComposableStablePoolExitKind.EXACT_BPT_IN_FOR_ONE_TOKEN_OUT,t,a]),O.exitBPTInForExactTokensOut=(t,a)=>e.defaultAbiCoder.encode(["uint256","uint256[]","uint256"],[exports.ComposableStablePoolExitKind.BPT_IN_FOR_EXACT_TOKENS_OUT,t,a]);var v="production"===process.env.NODE_ENV,k="Invariant failed";function N(e,t){if(!e){if(v)throw new Error(k);var a="function"==typeof t?t():t,n=a?"".concat(k,": ").concat(a):k;throw new Error(n)}}const C=e=>(N(66===e.length,"Invalid poolId length"),e.slice(0,42)),D=e=>{N(66===e.length,"Invalid poolId length");const t=parseInt(e[45]);return N(t<3,"Invalid pool specialization"),t},F=e=>(N(66===e.length,"Invalid poolId length"),a.BigNumber.from(`0x${e.slice(46)}`));var R;exports.Network=void 0,(R=exports.Network||(exports.Network={}))[R.MAINNET=1]="MAINNET",R[R.ROPSTEN=3]="ROPSTEN",R[R.RINKEBY=4]="RINKEBY",R[R.GOERLI=5]="GOERLI",R[R["GÖRLI"]=5]="GÖRLI",R[R.OPTIMISM=10]="OPTIMISM",R[R.KOVAN=42]="KOVAN",R[R.GNOSIS=100]="GNOSIS",R[R.POLYGON=137]="POLYGON",R[R.ARBITRUM=42161]="ARBITRUM",R[R.DEFIVERSE=16116]="DEFIVERSE",R[R.DEFIVERSE_TESTNET=17117]="DEFIVERSE_TESTNET",R[R.OASYS=248]="OASYS",R[R.OASYS_TESTNET=9372]="OASYS_TESTNET",R[R.MEGAETH_TESTNET=6343]="MEGAETH_TESTNET";const M={IdsMap:{},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear"],Stable:{AllowList:["0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000063","0xfeadd389a5c427952d8fdb8057d6c8ba1156cc56000000000000000000000066","0x9f19a375709baf0e8e35c2c5c65aca676c4c719100000000000000000000006e","0x32296969ef14eb0c6d29669c550d4a0449130230000200000000000000000080","0x1e19cf2d73a72ef1332c882f20534b6519be0276000200000000000000000112","0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000012","0xfeadd389a5c427952d8fdb8057d6c8ba1156cc5600020000000000000000001e","0x6b15a01b5d46a5321b627bd7deef1af57bc629070000000000000000000000d4","0xe08590bde837eb9b2d42aa1196469d6e08fe96ec000200000000000000000101","0xb4c23af48e79f73e3a7e36c0e54eb38e1ce1755e0002000000000000000000d3","0x9be7de742865d021c0e8fb9d64311b2c040c1ec1000200000000000000000012","0x9f19a375709baf0e8e35c2c5c65aca676c4c7191000200000000000000000022","0x1533a3278f3f9141d5f820a184ea4b017fce2382000000000000000000000016","0xf38cf113d2d4f60c36cbd95af2f48a9a0167045a00000000000000000000005b","0x0d34e5dd4d8f043557145598e4e2dc286b35fd4f000000000000000000000068","0x386b5d43ba8b97c43d4afb4cdae7877a1b295e8a000000000000000000000020","0x5028497af0c9a54ea8c6d42a054c0341b9fc616800020000000000000000007b","0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb20000000000000000000000fe","0x8fd162f338b770f7e879030830cde9173367f3010000000000000000000004d8","0xd387dfd3a786e7caa06e6cf0c675352c7ffff30400000000000000000000063e","0xaf5e0b5425de1f5a630a8cb5aa9d97b8141c908d000200000000000000000366"]},Investment:{AllowList:["0x4fd63966879300cafafbb35d157dc5229278ed23000100000000000000000169","0x37a6fc079cad790e556baedda879358e076ef1b3000100000000000000000348","0xccf5575570fac94cec733a58ff91bb3d073085c70002000000000000000000af","0xe7b1d394f3b40abeaa0b64a545dbcf89da1ecb3f00010000000000000000009a","0x3b40d7d5ae25df2561944dd68b252016c4c7b2800001000000000000000000c2"]},Factories:{"0xa5bf2ddf098bb0ef6d120c98217dd6b141c74ee0":"oracleWeightedPool","0x8e9aa87e45e92bad84d5f8dd1bff34fb92637de9":"weightedPool","0xc66ba2b6595d3613ccab350c886ace23866ede24":"stablePool","0x67d27634e44793fe63c467035e31ea8635117cd4":"stablePool","0x751dfdace1ad995ff13c927f6f761c6604532c79":"stablePool","0x590e544e7ca956bb878f8c873e82e65550d67d2f":"stablePool","0x7dfdef5f355096603419239ce743bfaf1120312b":"weightedPool","0xcf0a32bbef8f064969f21f7e02328fb577382018":"weightedPool","0x2433477a10fc5d31b9513c638f19ee85caed53fd":"stablePool","0xebfd5681977e38af65a7487dc70b8221d089ccad":"stablePool","0x751a0bc0e3f75b38e01cf25bfce7ff36de1c87de":"liquidityBootstrappingPool","0x0f3e0c4218b7b0108a3643cfe9d3ec0d4f57c54e":"liquidityBootstrappingPool","0x142b9666a0a3a30477b052962dda81547e7029ab":"liquidityBootstrappingPool","0x1802953277fd955f9a254b80aa0582f193cf1d77":"liquidityBootstrappingPool","0x48767f9f868a4a7b86a90736632f6e44c2df7fa9":"managedPool","0x0f7bb7ce7b6ed9366f9b6b910adefe72dc538193":"managedPool","0xacd615b3705b9c880e4e7293f1030b34e57b4c1c":"managedPool","0xb08e16cfc07c684daa2f93c70323badb2a6cbfd2":"boostedPool","0xdae7e32adc5d490a43ccba1f0c736033f2b4efca":"boostedPool","0xc128a9954e6c874ea3d62ce62b468ba073093f25":"boostedPool","0x6c7f4d97269ece163fd08d5c2584a21e4a33934c":"boostedPool"},Stakable:{AllowList:[]},Metadata:{"0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb20000000000000000000000fe":{name:"Balancer Boosted Aave USD",hasIcon:!0},"0x8fd162f338b770f7e879030830cde9173367f3010000000000000000000004d8":{name:"Balancer Boosted Aave USD",hasIcon:!0},"0xd387dfd3a786e7caa06e6cf0c675352c7ffff30400000000000000000000063e":{name:"Balancer Stable USD",hasIcon:!0}}},L={[exports.Network.KOVAN]:{IdsMap:{staBAL:"0xd387dfd3a786e7caa06e6cf0c675352c7ffff30400000000000000000000063e",bbAaveUSD:{v1:"0x8fd162f338b770f7e879030830cde9173367f3010000000000000000000004d8",v2:""},veBAL:"0xdc2ecfdf2688f92c85064be0b929693acc6dbca6000200000000000000000701"},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:["0x22d398c68030ef6b1c55321cca6e0cecc5c93b2f000200000000000000000678","0xca1eb8624be8e11418f629559321587197557e0c000200000000000000000682","0xa21da5768186c1bc0f56dd72aa94672d77bdf23e00020000000000000000067a","0x7f9db0d15eea32e205b7df0fa5184f4a8a905abb000200000000000000000683","0x72c5a86831f019df6fac146fc14ef60ebe0d5f2600020000000000000000067f","0x542b9f6fd4500b94d453974d8c70783ef794ff6a00020000000000000000067c","0x47f9309a8c5a68a93ac27a4cccc0e222cd3adfa2000200000000000000000684","0x3f3050a0fe84778aeff96906c9218b318f924d22000200000000000000000680","0x31e61587b5dc148ae42ae323655fb8d7af7bb86600020000000000000000067d","0x28efa7f86341aa0ad534bdfb033edb4f4ac6adf700020000000000000000067e","0x10ee90b9ff4b9a44a773107280c0ce083619286800020000000000000000067b"],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear"],Stable:{AllowList:["0x6b15a01b5d46a5321b627bd7deef1af57bc629070000000000000000000000d4","0xe08590bde837eb9b2d42aa1196469d6e08fe96ec000200000000000000000101","0xb4c23af48e79f73e3a7e36c0e54eb38e1ce1755e0002000000000000000000d3","0x8fd162f338b770f7e879030830cde9173367f3010000000000000000000004d8","0xd387dfd3a786e7caa06e6cf0c675352c7ffff30400000000000000000000063e"]},Investment:{AllowList:["0x4fd63966879300cafafbb35d157dc5229278ed23000100000000000000000169","0x37a6fc079cad790e556baedda879358e076ef1b3000100000000000000000348"]},Factories:{"0xa5bf2ddf098bb0ef6d120c98217dd6b141c74ee0":"oracleWeightedPool","0x8e9aa87e45e92bad84d5f8dd1bff34fb92637de9":"weightedPool","0xc66ba2b6595d3613ccab350c886ace23866ede24":"stablePool","0x1b57f637ce3408f1f834b0b70f9a595b062daea7":"liquidityBootstrappingPool","0x751dfdace1ad995ff13c927f6f761c6604532c79":"stablePool","0x590e544e7ca956bb878f8c873e82e65550d67d2f":"stablePool","0xb08e16cfc07c684daa2f93c70323badb2a6cbfd2":"managedPool","0x6c7f4d97269ece163fd08d5c2584a21e4a33934c":"boostedPool","0x1f47ab83420cd1f818df9acbd6ee68341bb91592":"stablePool"},Stakable:{AllowList:["0xf767f0a3fcf1eafec2180b7de79d0c559d7e7e370001000000000000000003e3","0xdc2ecfdf2688f92c85064be0b929693acc6dbca6000200000000000000000701","0x647c1fd457b95b75d0972ff08fe01d7d7bda05df000200000000000000000001","0x8fd162f338b770f7e879030830cde9173367f3010000000000000000000004d8"]},Metadata:{"0x8fd162f338b770f7e879030830cde9173367f3010000000000000000000004d8":{name:"Balancer Boosted Aave USD",hasIcon:!1},"0xd387dfd3a786e7caa06e6cf0c675352c7ffff30400000000000000000000063e":{name:"Balancer Stable USD",hasIcon:!1}}},[exports.Network.GOERLI]:{IdsMap:{staBAL:"0xdcdd4a3d36dec8d57594e89763d069a7e9b223e2000000000000000000000062",bbAaveUSD:{v1:"0x13acd41c585d7ebb4a9460f7c8f50be60dc080cd00000000000000000000005f",v2:"0x3d5981bdd8d3e49eb7bbdc1d2b156a3ee019c18e0000000000000000000001a7"},veBAL:"0xf8a0623ab66f985effc1c69d05f1af4badb01b00000200000000000000000060"},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:["0x22d398c68030ef6b1c55321cca6e0cecc5c93b2f000200000000000000000678"],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear"],Stable:{AllowList:["0x13acd41c585d7ebb4a9460f7c8f50be60dc080cd00000000000000000000005f","0xb60e46d90f2de35f7062a27d3a98749414036d5d000200000000000000000061","0xdcdd4a3d36dec8d57594e89763d069a7e9b223e2000000000000000000000062","0xc957b1acceb21707b782eb8eee2ed8e20088463d000200000000000000000076","0x3d5981bdd8d3e49eb7bbdc1d2b156a3ee019c18e0000000000000000000001a7","0x14f93df8a4e37bfdb49d2cec4789df7a010603d700000000000000000000011d","0x00a62d31b6c776b6813543bc99ff265f7222dbe100000000000000000000011e","0x0c925fce89a22e36ebd9b3c6e0262234e853d2f600000000000000000000019c"]},Investment:{AllowList:[]},Factories:{"0xa5bf2ddf098bb0ef6d120c98217dd6b141c74ee0":"oracleWeightedPool","0x8e9aa87e45e92bad84d5f8dd1bff34fb92637de9":"weightedPool","0x44afeb87c871d8fea9398a026dea2bd3a13f5769":"stablePool","0xa55f73e2281c60206ba43a3590db07b8955832be":"stablePool","0xb48cc42c45d262534e46d5965a9ac496f1b7a830":"liquidityBootstrappingPool","0xb0c726778c3ae4b3454d85557a48e8fa502bdd6a":"liquidityBootstrappingPool","0x41e9036ae350baedcc7107760a020dca3c0731ec":"boostedPool","0xb848f50141f3d4255b37ac288c25c109104f2158":"composableStablePool","0x94f68b54191f62f781fe8298a8a5fa3ed772d227":"weightedPool"},Stakable:{AllowList:["0x16faf9f73748013155b7bc116a3008b57332d1e600020000000000000000005b","0x13acd41c585d7ebb4a9460f7c8f50be60dc080cd00000000000000000000005f","0xdcdd4a3d36dec8d57594e89763d069a7e9b223e2000000000000000000000062","0x67f8fcb9d3c463da05de1392efdbb2a87f8599ea000200000000000000000059"]},Metadata:{"0x13acd41c585d7ebb4a9460f7c8f50be60dc080cd00000000000000000000005f":{name:"Balancer Boosted Aave USD",hasIcon:!1}}},[exports.Network.MAINNET]:{IdsMap:{staBAL:"0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000063",bbAaveUSD:{v1:"0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb20000000000000000000000fe",v2:"0xa13a9247ea42d743238089903570127dda72fe4400000000000000000000035d"},veBAL:"0x5c6ee304399dbdb9c8ef030ab642b10820db8f56000200000000000000000014"},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear","Gyro2","Gyro3"],Stable:{AllowList:["0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000063","0xfeadd389a5c427952d8fdb8057d6c8ba1156cc56000000000000000000000066","0x9f19a375709baf0e8e35c2c5c65aca676c4c719100000000000000000000006e","0x32296969ef14eb0c6d29669c550d4a0449130230000200000000000000000080","0x1e19cf2d73a72ef1332c882f20534b6519be0276000200000000000000000112","0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb20000000000000000000000fe","0x851523a36690bf267bbfec389c823072d82921a90002000000000000000001ed","0x3dd0843a028c86e0b760b1a76929d1c5ef93a2dd000200000000000000000249","0x2d011adf89f0576c9b722c28269fcb5d50c2d17900020000000000000000024d","0x178e029173417b1f9c8bc16dcec6f697bc32374600000000000000000000025d","0xf93579002dbe8046c43fefe86ec78b1112247bb80000000000000000000002bc","0xf3aeb3abba741f0eece8a1b1d2f11b85899951cb000200000000000000000351","0xa13a9247ea42d743238089903570127dda72fe4400000000000000000000035d","0x5b3240b6be3e7487d61cd1afdfc7fe4fa1d81e6400000000000000000000037b"]},Investment:{AllowList:["0xccf5575570fac94cec733a58ff91bb3d073085c70002000000000000000000af","0xe7b1d394f3b40abeaa0b64a545dbcf89da1ecb3f00010000000000000000009a","0x3b40d7d5ae25df2561944dd68b252016c4c7b2800001000000000000000000c2"]},Factories:{"0xa5bf2ddf098bb0ef6d120c98217dd6b141c74ee0":"oracleWeightedPool","0x8e9aa87e45e92bad84d5f8dd1bff34fb92637de9":"weightedPool","0xc66ba2b6595d3613ccab350c886ace23866ede24":"stablePool","0x67d27634e44793fe63c467035e31ea8635117cd4":"stablePool","0x751a0bc0e3f75b38e01cf25bfce7ff36de1c87de":"liquidityBootstrappingPool","0x0f3e0c4218b7b0108a3643cfe9d3ec0d4f57c54e":"liquidityBootstrappingPool","0x48767f9f868a4a7b86a90736632f6e44c2df7fa9":"managedPool","0xb08e16cfc07c684daa2f93c70323badb2a6cbfd2":"boostedPool","0x8df6efec5547e31b0eb7d1291b511ff8a2bf987c":"stablePool","0xf9ac7b9df2b3454e841110cce5550bd5ac6f875f":"composableStablePool","0xcc508a455f5b0073973107db6a878ddbdab957bc":"weightedPool"},Stakable:{AllowList:["0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000063","0x072f14b85add63488ddad88f855fda4a99d6ac9b000200000000000000000027","0x0b09dea16768f0799065c475be02919503cb2a3500020000000000000000001a","0x186084ff790c65088ba694df11758fae4943ee9e000200000000000000000013","0x1e19cf2d73a72ef1332c882f20534b6519be0276000200000000000000000112","0x27c9f71cc31464b906e0006d4fcbc8900f48f15f00020000000000000000010f","0x32296969ef14eb0c6d29669c550d4a0449130230000200000000000000000080","0x350196326aeaa9b98f1903fb5e8fc2686f85318c000200000000000000000084","0x3e5fa9518ea95c3e533eb377c001702a9aacaa32000200000000000000000052","0x51735bdfbfe3fc13dea8dc6502e2e958989429610002000000000000000000a0","0x5d66fff62c17d841935b60df5f07f6cf79bd0f4700020000000000000000014c","0x5f7fa48d765053f8dd85e052843e12d23e3d7bc50002000000000000000000c0","0x702605f43471183158938c1a3e5f5a359d7b31ba00020000000000000000009f","0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb20000000000000000000000fe","0x7edde0cb05ed19e03a9a47cd5e53fc57fde1c80c0002000000000000000000c8","0x8f4205e1604133d1875a3e771ae7e4f2b086563900020000000000000000010e","0x90291319f1d4ea3ad4db0dd8fe9e12baf749e84500020000000000000000013c","0x96646936b91d6b9d7d0c47c496afbf3d6ec7b6f8000200000000000000000019","0x96ba9025311e2f47b840a1f68ed57a3df1ea8747000200000000000000000160","0xa02e4b3d18d4e6b8d18ac421fbc3dfff8933c40a00020000000000000000004b","0xa6f548df93de924d73be7d25dc02554c6bd66db500020000000000000000000e","0xbaeec99c90e3420ec6c1e7a769d2a856d2898e4d00020000000000000000008a","0xbf96189eee9357a95c7719f4f5047f76bde804e5000200000000000000000087","0xe2469f47ab58cf9cf59f9822e3c5de4950a41c49000200000000000000000089","0xe99481dc77691d8e2456e5f3f61c1810adfc1503000200000000000000000018","0xec60a5fef79a92c741cb74fdd6bfc340c0279b01000200000000000000000015","0xedf085f65b4f6c155e13155502ef925c9a756003000200000000000000000123","0xefaa1604e82e1b3af8430b90192c1b9e8197e377000200000000000000000021","0xf4c0dd9b82da36c07605df83c8a416f11724d88b000200000000000000000026","0xf5aaf7ee8c39b651cebf5f1f50c10631e78e0ef9000200000000000000000069","0xfeadd389a5c427952d8fdb8057d6c8ba1156cc56000000000000000000000066","0x92762b42a06dcdddc5b7362cfb01e631c4d44b40000200000000000000000182","0xde8c195aa41c11a0c4787372defbbddaa31306d2000200000000000000000181","0x17ddd9646a69c9445cd8a9f921d4cd93bf50d108000200000000000000000159","0xc45d42f801105e861e86658648e3678ad7aa70f900010000000000000000011e","0x2d344a84bac123660b021eebe4eb6f12ba25fe8600020000000000000000018a","0xb460daa847c45f1c4a41cb05bfb3b51c92e41b36000200000000000000000194","0x5122e01d819e58bb2e22528c0d68d310f0aa6fd7000200000000000000000163","0x851523a36690bf267bbfec389c823072d82921a90002000000000000000001ed","0xe8cc7e765647625b95f59c15848379d10b9ab4af0002000000000000000001de","0x85370d9e3bb111391cc89f6de344e801760461830002000000000000000001ef","0xa7ff759dbef9f3efdd1d59beee44b966acafe214000200000000000000000180","0x3f7c10701b14197e2695dec6428a2ca4cf7fc3b800020000000000000000023c","0x2d011adf89f0576c9b722c28269fcb5d50c2d17900020000000000000000024d","0x178e029173417b1f9c8bc16dcec6f697bc32374600000000000000000000025d","0xcfca23ca9ca720b6e98e3eb9b6aa0ffc4a5c08b9000200000000000000000274","0x3dd0843a028c86e0b760b1a76929d1c5ef93a2dd000200000000000000000249","0x0578292cb20a443ba1cde459c985ce14ca2bdee5000100000000000000000269","0x8eb6c82c3081bbbd45dcac5afa631aac53478b7c000100000000000000000270","0x1b65fe4881800b91d4277ba738b567cbb200a60d0002000000000000000002cc","0x99a14324cfd525a34bbc93ac7e348929909d57fd00020000000000000000030e","0x9b532ab955417afd0d012eb9f7389457cd0ea712000000000000000000000338","0x48607651416a943bf5ac71c41be1420538e78f87000200000000000000000327","0x6a5ead5433a50472642cd268e584dafa5a394490000200000000000000000366","0x0fd5663d4893ae0d579d580584806aadd2dd0b8b000200000000000000000367","0x441b8a1980f2f2e43a9397099d15cc2fe6d3625000020000000000000000035f","0xf3aeb3abba741f0eece8a1b1d2f11b85899951cb000200000000000000000351","0xa13a9247ea42d743238089903570127dda72fe4400000000000000000000035d"]},Metadata:{"0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb20000000000000000000000fe":{name:"Balancer Boosted Aave USD",hasIcon:!0},"0xa13a9247ea42d743238089903570127dda72fe4400000000000000000000035d":{name:"Balancer Boosted Aave USD",hasIcon:!0},"0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000063":{name:"Balancer Stable USD",hasIcon:!0},"0x3dd0843a028c86e0b760b1a76929d1c5ef93a2dd000200000000000000000249":{name:"AuraBAL Stable Pool",hasIcon:!1}}},[exports.Network.POLYGON]:{IdsMap:{xMatic:{v1:"0xc17636e36398602dd37bb5d1b3a9008c7629005f0002000000000000000004c4",v2:"0xb20fc01d21a50d2c734c4a1262b4404d41fa7bf000000000000000000000075c"},stMatic:{v1:"0xaf5e0b5425de1f5a630a8cb5aa9d97b8141c908d000200000000000000000366",v2:"0x8159462d255c1d24915cb51ec361f700174cd99400000000000000000000075d"},mai4:{mai4:"0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000012",maiBbaUsd:"0xb54b2125b711cd183edd3dd09433439d5396165200000000000000000000075e"}},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear","Gyro2","Gyro3"],Stable:{AllowList:["0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000012","0xfeadd389a5c427952d8fdb8057d6c8ba1156cc5600020000000000000000001e","0xf38cf113d2d4f60c36cbd95af2f48a9a0167045a00000000000000000000005b","0x0d34e5dd4d8f043557145598e4e2dc286b35fd4f000000000000000000000068","0x5028497af0c9a54ea8c6d42a054c0341b9fc616800020000000000000000007b","0xaf5e0b5425de1f5a630a8cb5aa9d97b8141c908d000200000000000000000366","0xb4670d1389c758e4380c4211bcbc85342688b9c50002000000000000000003d8","0xc31a37105b94ab4efca1954a14f059af11fcd9bb000000000000000000000455","0xc17636e36398602dd37bb5d1b3a9008c7629005f0002000000000000000004c4","0xb4b22bd6cdad0ab828be6f8a4086dfa54e9b373600020000000000000000058f","0xb797adfb7b268faeaa90cadbfed464c76ee599cd0002000000000000000005ba","0x0b8319061732b34cab22445fa83b81f950e4b7ed000000000000000000000709","0xaf5e0b5425de1f5a630a8cb5aa9d97b8141c908d000200000000000000000366","0x8159462d255c1d24915cb51ec361f700174cd99400000000000000000000075d","0xb20fc01d21a50d2c734c4a1262b4404d41fa7bf000000000000000000000075c","0xb54b2125b711cd183edd3dd09433439d5396165200000000000000000000075e","0x48e6b98ef6329f8f0a30ebb8c7c960330d64808500000000000000000000075b","0xa48d164f6eb0edc68bd03b56fa59e12f24499ad10000000000000000000007c4"]},Investment:{AllowList:[""]},Factories:{"0xa5bf2ddf098bb0ef6d120c98217dd6b141c74ee0":"oracleWeightedPool","0x8e9aa87e45e92bad84d5f8dd1bff34fb92637de9":"weightedPool","0xc66ba2b6595d3613ccab350c886ace23866ede24":"stablePool","0xdae7e32adc5d490a43ccba1f0c736033f2b4efca":"stablePool","0x751a0bc0e3f75b38e01cf25bfce7ff36de1c87de":"liquidityBootstrappingPool","0x41b953164995c11c81da73d212ed8af25741b7ac":"liquidityBootstrappingPool","0x0f7bb7ce7b6ed9366f9b6b910adefe72dc538193":"managedPool","0xc128a9954e6c874ea3d62ce62b468ba073093f25":"boostedPool","0xca96c4f198d343e251b1a01f3eba061ef3da73c1":"stablePool","0x136fd06fa01ecf624c7f2b3cb15742c1339dc2c4":"composableStablePool","0x0e39c3d9b2ec765efd9c5c70bb290b1fcd8536e3":"weightedPool"},Stakable:{AllowList:["0x0297e37f1873d2dab4487aa67cd56b58e2f27875000100000000000000000002","0x03cd191f589d12b0582a99808cf19851e468e6b500010000000000000000000a","0x06df3b2bbb68adc8b0e302443692037ed9f91b42000000000000000000000012","0x0d34e5dd4d8f043557145598e4e2dc286b35fd4f000000000000000000000068","0x10f21c9bd8128a29aa785ab2de0d044dcdd79436000200000000000000000059","0x186084ff790c65088ba694df11758fae4943ee9e000200000000000000000032","0x36128d5436d2d70cab39c9af9cce146c38554ff0000100000000000000000008","0x5a6ae1fd70d04ba4a279fc219dfabc53825cb01d00020000000000000000020e","0x614b5038611729ed49e0ded154d8a5d3af9d1d9e00010000000000000000001d","0x7c9cf12d783821d5c63d8e9427af5c44bad92445000100000000000000000051","0x805ca3ccc61cc231851dee2da6aabff0a7714aa7000200000000000000000361","0xaf5e0b5425de1f5a630a8cb5aa9d97b8141c908d000200000000000000000366","0xb204bf10bc3a5435017d3db247f56da601dfe08a0002000000000000000000fe","0xc31a37105b94ab4efca1954a14f059af11fcd9bb000000000000000000000455","0xce66904b68f1f070332cbc631de7ee98b650b499000100000000000000000009","0xcf354603a9aebd2ff9f33e1b04246d8ea204ae9500020000000000000000005a","0xdb1db6e248d7bb4175f6e5a382d0a03fe3dcc813000100000000000000000035","0xea4e073c8ac859f2994c07e627178719c8002dc00002000000000000000003dc","0xfeadd389a5c427952d8fdb8057d6c8ba1156cc5600020000000000000000001e","0xc17636e36398602dd37bb5d1b3a9008c7629005f0002000000000000000004c4","0x2dbc9ab0160087ae59474fb7bed95b9e808fa6bc0001000000000000000003db","0xb797adfb7b268faeaa90cadbfed464c76ee599cd0002000000000000000005ba","0x8f9dd2064eb38e8e40f2ab67bde27c0e16ea9b080002000000000000000004ca","0x48e6b98ef6329f8f0a30ebb8c7c960330d64808500000000000000000000075b","0xb54b2125b711cd183edd3dd09433439d5396165200000000000000000000075e","0x8159462d255c1d24915cb51ec361f700174cd99400000000000000000000075d","0xb20fc01d21a50d2c734c4a1262b4404d41fa7bf000000000000000000000075c"]},Metadata:{}},[exports.Network.ARBITRUM]:{IdsMap:{},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear"],Stable:{AllowList:["0x9be7de742865d021c0e8fb9d64311b2c040c1ec1000200000000000000000012","0x1533a3278f3f9141d5f820a184ea4b017fce2382000000000000000000000016","0x386b5d43ba8b97c43d4afb4cdae7877a1b295e8a000000000000000000000020","0x0510ccf9eb3ab03c1508d3b9769e8ee2cfd6fdcf00000000000000000000005d","0x5a5884fc31948d59df2aeccca143de900d49e1a300000000000000000000006f","0xd89746affa5483627a87e55713ec1905114394950002000000000000000000bf","0x7bceaa9c5e7f4836fec3bce2d5346637c9b13970000000000000000000000102","0xfb5e6d0c1dfed2ba000fbc040ab8df3615ac329c000000000000000000000159"]},Investment:{AllowList:[""]},Factories:{"0x7dfdef5f355096603419239ce743bfaf1120312b":"weightedPool","0xcf0a32bbef8f064969f21f7e02328fb577382018":"weightedPool","0x2433477a10fc5d31b9513c638f19ee85caed53fd":"stablePool","0xebfd5681977e38af65a7487dc70b8221d089ccad":"stablePool","0x142b9666a0a3a30477b052962dda81547e7029ab":"liquidityBootstrappingPool","0x1802953277fd955f9a254b80aa0582f193cf1d77":"liquidityBootstrappingPool","0xacd615b3705b9c880e4e7293f1030b34e57b4c1c":"managedPool","0xdae7e32adc5d490a43ccba1f0c736033f2b4efca":"boostedPool","0xef44d6786b2b4d544b7850fe67ce6381626bf2d6":"stablePool","0xaeb406b0e430bf5ea2dc0b9fe62e4e53f74b3a33":"composableStablePool","0x8df6efec5547e31b0eb7d1291b511ff8a2bf987c":"weightedPool"},Stakable:{AllowList:["0x0510ccf9eb3ab03c1508d3b9769e8ee2cfd6fdcf00000000000000000000005d","0x0adeb25cb5920d4f7447af4a0428072edc2cee2200020000000000000000004a","0x1533a3278f3f9141d5f820a184ea4b017fce2382000000000000000000000016","0x1779900c7707885720d39aa741f4086886307e9e00020000000000000000004b","0x4a3a22a3e7fee0ffbb66f1c28bfac50f75546fc7000200000000000000000008","0x5a5884fc31948d59df2aeccca143de900d49e1a300000000000000000000006f","0x64541216bafffeec8ea535bb71fbc927831d0595000100000000000000000002","0x651e00ffd5ecfa7f3d4f33d62ede0a97cf62ede2000200000000000000000006","0xb28670b3e7ad27bd41fb5938136bf9e9cba90d6500020000000000000000001e","0xb340b6b1a34019853cb05b2de6ee8ffd0b89a008000100000000000000000036","0xb5b77f1ad2b520df01612399258e7787af63025d000200000000000000000010","0xc2f082d33b5b8ef3a7e3de30da54efd3114512ac000200000000000000000017","0xc61ff48f94d801c1ceface0289085197b5ec44f000020000000000000000004d","0xcc65a812ce382ab909a11e434dbf75b34f1cc59d000200000000000000000001","0xe1b40094f1446722c424c598ac412d590e0b3ffb000200000000000000000076","0xb3028ca124b80cfe6e9ca57b70ef2f0ccc41ebd40002000000000000000000ba","0x7bceaa9c5e7f4836fec3bce2d5346637c9b13970000000000000000000000102","0xfb5e6d0c1dfed2ba000fbc040ab8df3615ac329c000000000000000000000159","0x178e029173417b1f9c8bc16dcec6f697bc323746000200000000000000000158"]},Metadata:{}},[exports.Network.GNOSIS]:{IdsMap:{},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","Linear","ERC4626Linear","FX","Gyro2","Gyro3","GyroE","HighAmpComposableStable"],Stable:{AllowList:["0x11884da90fb4221b3aa288a7741c51ec4fc43b2f000000000000000000000004","0x707b7d4a1bae449d546dcab869256591bbb3d70b000000000000000000000000"]},Investment:{AllowList:[]},Factories:{},Stakable:{AllowList:[]},Metadata:{}},[exports.Network.DEFIVERSE]:{IdsMap:{veBAL:""},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","EulerLinear","Linear","ERC4626Linear","FX","Gyro2","Gyro3","GyroE","HighAmpComposableStable"],Stable:{AllowList:[]},Investment:{AllowList:[]},Factories:{"0xd01ad3085fb3e1fbb2541b5b3326b1f47b189747":"composableStablePool","0xd1920dd25e4998b0d7cc8de7f12beaf9796c7475":"weightedPool","0xe952b0409e6768e270a671ebbc5b8605a7c5a0b8":"weightedPool","0xc04ce4fe0f4013814ea1a4b0577d3678d5a7c91c":"weightedPool","0x9f9e8668ee128c365365f7d1963b4891034fb513":"weightedPool"},Stakable:{AllowList:[]},Metadata:{}},[exports.Network.DEFIVERSE_TESTNET]:{IdsMap:{veBAL:""},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","EulerLinear","Linear","ERC4626Linear","FX","Gyro2","Gyro3","GyroE","HighAmpComposableStable"],Stable:{AllowList:[]},Investment:{AllowList:[]},Factories:{"0xab6bac0f5f4c7c166c5234b528a1cd46fbcb9f4b":"weightedPool","0x58e6f99bb65378f47a520fc9630bd711f2cf3dc7":"composableStablePool","0x48494fa9ead46ee8e3fcb66487a6dbbd34dcafe3":"weightedPool"},Stakable:{AllowList:[]},Metadata:{}},[exports.Network.OASYS]:{IdsMap:{veBAL:""},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[""],ExcludedPoolTypes:["Element","AaveLinear","EulerLinear","Linear","ERC4626Linear","FX","Gyro2","Gyro3","GyroE","HighAmpComposableStable"],Stable:{AllowList:[]},Investment:{AllowList:[]},Factories:{"0x061e05853fb45d3d41ec227459ec98bb25580ad3":"composableStablePool","0x4ef0b4827ce3d5fecbc2c6ab80ee81dbf9631d37":"weightedPool","0x5737600b98e7f1cf98daca2a36bca22c974370b0":"weightedPool"},Stakable:{AllowList:[]},Metadata:{}},[exports.Network.OASYS_TESTNET]:{IdsMap:{veBAL:""},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:["0x950f31e8a327a49ae4443284d0137f3b74858474000200000000000000000030"],ExcludedPoolTypes:["Element","AaveLinear","EulerLinear","Linear","ERC4626Linear","FX","Gyro2","Gyro3","GyroE","HighAmpComposableStable"],Stable:{AllowList:["0xeaac5ae5255407cf933dfcf2b0d3eb4f5dc042cd000000000000000000000035","0x34936c3e61371e9ebd1dcd580b23a52c26080b70000000000000000000000036"]},Investment:{AllowList:[]},Factories:{"0xfda8fa80dd77a99bf71becfce47077859e689898":"composableStablePool","0xd2d7f457b9749b6a0a637685a65681f03116125c":"weightedPool"},Stakable:{AllowList:["0x4e66d5f08e81979bd5951c93839bc97265681975000200000000000000000000","0x66180966de2a4180183d7e5dffd76e13b364efe2000200000000000000000001","0xe5b67bf732b7f96127454126069f94f939914d62000200000000000000000002","0x82bfc330a92789c02b3ce2daed3ca889b1a112b7000100000000000000000003","0x0b014863ba970f50b0ea2ad7d57151994b7cac21000100000000000000000004","0x4a54649fb507ee0bf3ad2e1661516b5700c520ab000100000000000000000005","0x981401f589c5768a41d3c4d1a39e84a86f11ad9f000200000000000000000006"]},Metadata:{}},[exports.Network.MEGAETH_TESTNET]:{IdsMap:{veBAL:""},Pagination:{PerPage:10,PerPool:10,PerPoolInitial:5},DelegateOwner:"0xba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b",ZeroAddress:"0x0000000000000000000000000000000000000000",DynamicFees:{Gauntlet:[]},BlockList:[],ExcludedPoolTypes:["Element","AaveLinear","EulerLinear","Linear","ERC4626Linear","FX","Gyro2","Gyro3","GyroE","HighAmpComposableStable"],Stable:{AllowList:[]},Investment:{AllowList:[]},Factories:{"0x84f75879c0ac87eafaf4f1e3e1a2372caab5273b":"weightedPool"},Stakable:{AllowList:[]},Metadata:{}}};var U=[{inputs:[{internalType:"contract IStaticAToken",name:"_waToken",type:"address"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"getRate",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"waToken",outputs:[{internalType:"contract IStaticAToken",name:"",type:"address"}],stateMutability:"view",type:"function"}];const G=e=>e[0].map(((t,a)=>e.map((e=>e[a]))));class q{constructor(e){this.ETH=t.AddressZero,this.isETH=e=>q.isEqual(e,this.ETH),this.isWETH=e=>q.isEqual(e,this.WETH),this.translateToERC20=e=>this.isETH(e)?this.WETH:e,this.WETH=n.getAddress(e)}sortTokens(e,...t){t.forEach((t=>N(e.length===t.length,"array length mismatch")));const a=e.map(this.translateToERC20),n=G([a,...t]).sort((([e],[t])=>((e,t)=>e.toLowerCase()>t.toLowerCase()?1:-1)(e,t))),[s,...r]=G(n);return[e.includes(this.ETH)?s.map((e=>this.isWETH(e)?this.ETH:e)):s,...r]}}q.isEqual=(e,t)=>n.getAddress(e)===n.getAddress(t);const W={"000":"ADD_OVERFLOW","001":"SUB_OVERFLOW","002":"SUB_UNDERFLOW","003":"MUL_OVERFLOW","004":"ZERO_DIVISION","005":"DIV_INTERNAL","006":"X_OUT_OF_BOUNDS","007":"Y_OUT_OF_BOUNDS","008":"PRODUCT_OUT_OF_BOUNDS","009":"INVALID_EXPONENT",100:"OUT_OF_BOUNDS",101:"UNSORTED_ARRAY",102:"UNSORTED_TOKENS",103:"INPUT_LENGTH_MISMATCH",104:"ZERO_TOKEN",200:"MIN_TOKENS",201:"MAX_TOKENS",202:"MAX_SWAP_FEE_PERCENTAGE",203:"MIN_SWAP_FEE_PERCENTAGE",204:"MINIMUM_BPT",205:"CALLER_NOT_VAULT",206:"UNINITIALIZED",207:"BPT_IN_MAX_AMOUNT",208:"BPT_OUT_MIN_AMOUNT",209:"EXPIRED_PERMIT",210:"NOT_TWO_TOKENS",211:"DISABLED",300:"MIN_AMP",301:"MAX_AMP",302:"MIN_WEIGHT",303:"MAX_STABLE_TOKENS",304:"MAX_IN_RATIO",305:"MAX_OUT_RATIO",306:"MIN_BPT_IN_FOR_TOKEN_OUT",307:"MAX_OUT_BPT_FOR_TOKEN_IN",308:"NORMALIZED_WEIGHT_INVARIANT",309:"INVALID_TOKEN",310:"UNHANDLED_JOIN_KIND",311:"ZERO_INVARIANT",312:"ORACLE_INVALID_SECONDS_QUERY",313:"ORACLE_NOT_INITIALIZED",314:"ORACLE_QUERY_TOO_OLD",315:"ORACLE_INVALID_INDEX",316:"ORACLE_BAD_SECS",317:"AMP_END_TIME_TOO_CLOSE",318:"AMP_ONGOING_UPDATE",319:"AMP_RATE_TOO_HIGH",320:"AMP_NO_ONGOING_UPDATE",321:"STABLE_INVARIANT_DIDNT_CONVERGE",322:"STABLE_GET_BALANCE_DIDNT_CONVERGE",323:"RELAYER_NOT_CONTRACT",324:"BASE_POOL_RELAYER_NOT_CALLED",325:"REBALANCING_RELAYER_REENTERED",326:"GRADUAL_UPDATE_TIME_TRAVEL",327:"SWAPS_DISABLED",328:"CALLER_IS_NOT_LBP_OWNER",329:"PRICE_RATE_OVERFLOW",330:"INVALID_JOIN_EXIT_KIND_WHILE_SWAPS_DISABLED",331:"WEIGHT_CHANGE_TOO_FAST",332:"LOWER_GREATER_THAN_UPPER_TARGET",333:"UPPER_TARGET_TOO_HIGH",334:"UNHANDLED_BY_LINEAR_POOL",335:"OUT_OF_TARGET_RANGE",336:"UNHANDLED_EXIT_KIND ",337:"UNAUTHORIZED_EXIT",338:"MAX_MANAGEMENT_SWAP_FEE_PERCENTAGE",339:"UNHANDLED_BY_MANAGED_POOL",340:"UNHANDLED_BY_PHANTOM_POOL",341:"TOKEN_DOES_NOT_HAVE_RATE_PROVIDER",342:"INVALID_INITIALIZATION",343:"OUT_OF_NEW_TARGET_RANGE",344:"UNAUTHORIZED_OPERATION",345:"UNINITIALIZED_POOL_CONTROLLER",400:"REENTRANCY",401:"SENDER_NOT_ALLOWED",402:"PAUSED",403:"PAUSE_WINDOW_EXPIRED",404:"MAX_PAUSE_WINDOW_DURATION",405:"MAX_BUFFER_PERIOD_DURATION",406:"INSUFFICIENT_BALANCE",407:"INSUFFICIENT_ALLOWANCE",408:"ERC20_TRANSFER_FROM_ZERO_ADDRESS",409:"ERC20_TRANSFER_TO_ZERO_ADDRESS",410:"ERC20_MINT_TO_ZERO_ADDRESS",411:"ERC20_BURN_FROM_ZERO_ADDRESS",412:"ERC20_APPROVE_FROM_ZERO_ADDRESS",413:"ERC20_APPROVE_TO_ZERO_ADDRESS",414:"ERC20_TRANSFER_EXCEEDS_ALLOWANCE",415:"ERC20_DECREASED_ALLOWANCE_BELOW_ZERO",416:"ERC20_TRANSFER_EXCEEDS_BALANCE",417:"ERC20_BURN_EXCEEDS_ALLOWANCE",418:"SAFE_ERC20_CALL_FAILED",419:"ADDRESS_INSUFFICIENT_BALANCE",420:"ADDRESS_CANNOT_SEND_VALUE",421:"SAFE_CAST_VALUE_CANT_FIT_INT256",422:"GRANT_SENDER_NOT_ADMIN",423:"REVOKE_SENDER_NOT_ADMIN",424:"RENOUNCE_SENDER_NOT_ALLOWED",425:"BUFFER_PERIOD_EXPIRED",426:"CALLER_IS_NOT_OWNER",427:"NEW_OWNER_IS_ZERO",428:"CODE_DEPLOYMENT_FAILED",429:"CALL_TO_NON_CONTRACT",430:"LOW_LEVEL_CALL_FAILED",431:"NOT_PAUSED",432:"ADDRESS_ALREADY_ALLOWLISTED",433:"ADDRESS_NOT_ALLOWLISTED",434:"ERC20_BURN_EXCEEDS_BALANCE",500:"INVALID_POOL_ID",501:"CALLER_NOT_POOL",502:"SENDER_NOT_ASSET_MANAGER",503:"USER_DOESNT_ALLOW_RELAYER",504:"INVALID_SIGNATURE",505:"EXIT_BELOW_MIN",506:"JOIN_ABOVE_MAX",507:"SWAP_LIMIT",508:"SWAP_DEADLINE",509:"CANNOT_SWAP_SAME_TOKEN",510:"UNKNOWN_AMOUNT_IN_FIRST_SWAP",511:"MALCONSTRUCTED_MULTIHOP_SWAP",512:"INTERNAL_BALANCE_OVERFLOW",513:"INSUFFICIENT_INTERNAL_BALANCE",514:"INVALID_ETH_INTERNAL_BALANCE",515:"INVALID_POST_LOAN_BALANCE",516:"INSUFFICIENT_ETH",517:"UNALLOCATED_ETH",518:"ETH_TRANSFER",519:"CANNOT_USE_ETH_SENTINEL",520:"TOKENS_MISMATCH",521:"TOKEN_NOT_REGISTERED",522:"TOKEN_ALREADY_REGISTERED",523:"TOKENS_ALREADY_SET",524:"TOKENS_LENGTH_MUST_BE_2",525:"NONZERO_TOKEN_BALANCE",526:"BALANCE_TOTAL_OVERFLOW",527:"POOL_NO_TOKENS",528:"INSUFFICIENT_FLASH_LOAN_BALANCE",600:"SWAP_FEE_PERCENTAGE_TOO_HIGH",601:"FLASH_LOAN_FEE_PERCENTAGE_TOO_HIGH",602:"INSUFFICIENT_FLASH_LOAN_FEE_AMOUNT"};class ${constructor(){}}async function V(e){if("string"==typeof e)return e;if(i.Signer.isSigner(e))return e.getAddress();if(e.address)return e.address;throw new Error("Could not read account address")}var H;$.isErrorCode=e=>{if(!e.includes("BAL#"))return!1;const t=e.replace("BAL#","");return Object.keys(W).includes(t)},$.parseErrorCode=e=>{if(!e.includes("BAL#"))throw new Error("Error code not found");const t=e.replace("BAL#",""),a=W[t];if(!a)throw new Error("Error code not found");return a},$.tryParseErrorCode=e=>{try{return $.parseErrorCode(e)}catch{return e}},$.isBalancerError=e=>Object.values(W).includes(e),$.encodeError=e=>{const t=Object.entries(W).find((([,t])=>t===e));if(!t)throw Error("Error message not found");return`BAL#${t[0]}`},exports.RelayerAction=void 0,(H=exports.RelayerAction||(exports.RelayerAction={})).JoinPool="JoinPool",H.ExitPool="ExitPool",H.Swap="Swap",H.BatchSwap="BatchSwap",H.SetRelayerApproval="SetRelayerApproval";class j{constructor(){}}j.encodeCalldataAuthorization=(e,t,a)=>{const n=r.hexZeroPad(r.hexValue(t),32).slice(2),{v:s,r:i,s:o}=r.splitSignature(a);return`${e}${n}${r.hexZeroPad(r.hexValue(s),32).slice(2)}${i.slice(2)}${o.slice(2)}`},j.signJoinAuthorization=(e,t,a,n,s,r)=>j.signAuthorizationFor(exports.RelayerAction.JoinPool,e,t,a,n,s,r),j.signExitAuthorization=(e,t,a,n,s,r)=>j.signAuthorizationFor(exports.RelayerAction.ExitPool,e,t,a,n,s,r),j.signSwapAuthorization=(e,t,a,n,s,r)=>j.signAuthorizationFor(exports.RelayerAction.Swap,e,t,a,n,s,r),j.signBatchSwapAuthorization=(e,t,a,n,s,r)=>j.signAuthorizationFor(exports.RelayerAction.BatchSwap,e,t,a,n,s,r),j.signSetRelayerApprovalAuthorization=(e,t,a,n,s,r)=>j.signAuthorizationFor(exports.RelayerAction.SetRelayerApproval,e,t,a,n,s,r),j.signAuthorizationFor=async(e,a,n,s,r,i=t.MaxUint256,o)=>{const{chainId:d}=await a.provider.getNetwork();if(!o){const e=await n.getAddress();o=await a.getNextNonce(e)}const p={name:"Balancer V2 Vault",version:"1",chainId:d,verifyingContract:a.address},c={[e]:[{name:"calldata",type:"bytes"},{name:"sender",type:"address"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},l={calldata:r,sender:await V(s),nonce:o.toString(),deadline:i.toString()};return n._signTypedData(p,c,l)};class K{constructor(){}}K.signSetMinterApproval=async(e,n,s,i,o=t.MaxUint256,d)=>{const{chainId:p}=await e.provider.getNetwork();if(!d){const t=await i.getAddress();d=await e.getNextNonce(t)}const c={name:"Balancer Minter",version:"1",chainId:p,verifyingContract:e.address},l={minter:await V(n),approval:s,nonce:d.toString(),deadline:o.toString()},u=await i._signTypedData(c,{SetMinterApproval:[{name:"minter",type:"address"},{name:"approval",type:"bool"},{name:"nonce",type:"uint256"},{name:"deadline",type:"uint256"}]},l);return{...r.splitSignature(u),deadline:a.BigNumber.from(o)}};const Z=BigInt(0),X=BigInt(1),J=BigInt("1000000000000000000"),Y=(e,t)=>{if(!e)throw new Error(t)};function z(e){const t=BigInt(18)-e;return J*BigInt(10)**t}function Q(e,t){return te.mulDownFixed(e,t)}function ee(e,t){const a=new Array(e.length);for(let n=0;n<e.length;++n)a[n]=te.mulDownFixed(e[n],t[n]);return a}class te{static add(e,t){const a=e+t;return Y(t>=0&&a>=e||t<0&&a<e,"Errors.ADD_OVERFLOW"),a}static sub(e,t){Y(t<=e,"Errors.SUB_OVERFLOW");return e-t}static max(e,t){return e>=t?e:t}static min(e,t){return e<t?e:t}static mul(e,t){const a=e*t;return Y(e==Z||a/e==t,"Errors.MUL_OVERFLOW"),a}static div(e,t,a){return a?this.divUp(e,t):this.divDown(e,t)}static divDown(e,t){return Y(t!=Z,"Errors.ZERO_DIVISION"),e/t}static divUp(e,t){return Y(t!=Z,"Errors.ZERO_DIVISION"),e==Z?Z:X+(e-X)/t}static mulUpFixed(e,t){const a=e*t;return Y(e==Z||a/e==t,"Errors.MUL_OVERFLOW"),a==Z?Z:(a-X)/J+X}static divDownFixed(e,t){if(Y(t!=Z,"Errors.ZERO_DIVISION"),e==Z)return Z;return e*J/t}static divUpFixed(e,t){if(Y(t!=Z,"Errors.ZERO_DIVISION"),e==Z)return Z;{const a=e*J;return Y(a/e==J,"Errors.DIV_INTERNAL"),(a-X)/t+X}}static powUpFixed(e,t){const a=ae.pow(e,t),n=this.add(this.mulUpFixed(a,this.MAX_POW_RELATIVE_ERROR),X);return this.add(a,n)}static complementFixed(e){return e<J?J-e:Z}static mulDownFixed(e,t){const a=e*t;return Y(e==Z||a/e==t,"Errors.MUL_OVERFLOW"),a/J}}te.MAX_POW_RELATIVE_ERROR=BigInt(1e4);class ae{static pow(e,t){if(t===Z)return this.ONE_18;if(e==Z)return Z;Y(e<BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819968"),"Errors.X_OUT_OF_BOUNDS");const a=e;Y(t<this.MILD_EXPONENT_BOUND,"Errors.Y_OUT_OF_BOUNDS");const n=t;let s;if(this.LN_36_LOWER_BOUND<a&&a<this.LN_36_UPPER_BOUND){const e=this._ln_36(a);s=e/this.ONE_18*n+e%this.ONE_18*n/this.ONE_18}else s=this._ln(a)*n;return s/=this.ONE_18,Y(this.MIN_NATURAL_EXPONENT<=s&&s<=this.MAX_NATURAL_EXPONENT,"Errors.PRODUCT_OUT_OF_BOUNDS"),this.exp(s)}static exp(e){if(Y(e>=this.MIN_NATURAL_EXPONENT&&e<=this.MAX_NATURAL_EXPONENT,"Errors.INVALID_EXPONENT"),e<0)return this.ONE_18*this.ONE_18/this.exp(BigInt(-1)*e);let t;e>=this.x0?(e-=this.x0,t=this.a0):e>=this.x1?(e-=this.x1,t=this.a1):t=BigInt(1),e*=BigInt(100);let a=this.ONE_20;e>=this.x2&&(e-=this.x2,a=a*this.a2/this.ONE_20),e>=this.x3&&(e-=this.x3,a=a*this.a3/this.ONE_20),e>=this.x4&&(e-=this.x4,a=a*this.a4/this.ONE_20),e>=this.x5&&(e-=this.x5,a=a*this.a5/this.ONE_20),e>=this.x6&&(e-=this.x6,a=a*this.a6/this.ONE_20),e>=this.x7&&(e-=this.x7,a=a*this.a7/this.ONE_20),e>=this.x8&&(e-=this.x8,a=a*this.a8/this.ONE_20),e>=this.x9&&(e-=this.x9,a=a*this.a9/this.ONE_20);let n,s=this.ONE_20;return n=e,s+=n,n=n*e/this.ONE_20/BigInt(2),s+=n,n=n*e/this.ONE_20/BigInt(3),s+=n,n=n*e/this.ONE_20/BigInt(4),s+=n,n=n*e/this.ONE_20/BigInt(5),s+=n,n=n*e/this.ONE_20/BigInt(6),s+=n,n=n*e/this.ONE_20/BigInt(7),s+=n,n=n*e/this.ONE_20/BigInt(8),s+=n,n=n*e/this.ONE_20/BigInt(9),s+=n,n=n*e/this.ONE_20/BigInt(10),s+=n,n=n*e/this.ONE_20/BigInt(11),s+=n,n=n*e/this.ONE_20/BigInt(12),s+=n,a*s/this.ONE_20*t/BigInt(100)}static _ln_36(e){const t=((e*=this.ONE_18)-this.ONE_36)*this.ONE_36/(e+this.ONE_36),a=t*t/this.ONE_36;let n=t,s=n;return n=n*a/this.ONE_36,s+=n/BigInt(3),n=n*a/this.ONE_36,s+=n/BigInt(5),n=n*a/this.ONE_36,s+=n/BigInt(7),n=n*a/this.ONE_36,s+=n/BigInt(9),n=n*a/this.ONE_36,s+=n/BigInt(11),n=n*a/this.ONE_36,s+=n/BigInt(13),n=n*a/this.ONE_36,s+=n/BigInt(15),s*BigInt(2)}static _ln(e){if(e<this.ONE_18)return BigInt(-1)*this._ln(this.ONE_18*this.ONE_18/e);let t=Z;e>=this.a0*this.ONE_18&&(e/=this.a0,t+=this.x0),e>=this.a1*this.ONE_18&&(e/=this.a1,t+=this.x1),t*=BigInt(100),(e*=BigInt(100))>=this.a2&&(e=e*this.ONE_20/this.a2,t+=this.x2),e>=this.a3&&(e=e*this.ONE_20/this.a3,t+=this.x3),e>=this.a4&&(e=e*this.ONE_20/this.a4,t+=this.x4),e>=this.a5&&(e=e*this.ONE_20/this.a5,t+=this.x5),e>=this.a6&&(e=e*this.ONE_20/this.a6,t+=this.x6),e>=this.a7&&(e=e*this.ONE_20/this.a7,t+=this.x7),e>=this.a8&&(e=e*this.ONE_20/this.a8,t+=this.x8),e>=this.a9&&(e=e*this.ONE_20/this.a9,t+=this.x9),e>=this.a10&&(e=e*this.ONE_20/this.a10,t+=this.x10),e>=this.a11&&(e=e*this.ONE_20/this.a11,t+=this.x11);const a=(e-this.ONE_20)*this.ONE_20/(e+this.ONE_20),n=a*a/this.ONE_20;let s=a,r=s;return s=s*n/this.ONE_20,r+=s/BigInt(3),s=s*n/this.ONE_20,r+=s/BigInt(5),s=s*n/this.ONE_20,r+=s/BigInt(7),s=s*n/this.ONE_20,r+=s/BigInt(9),s=s*n/this.ONE_20,r+=s/BigInt(11),r*=BigInt(2),(t+r)/BigInt(100)}}ae.ONE_18=BigInt("1000000000000000000"),ae.ONE_20=BigInt("100000000000000000000"),ae.ONE_36=BigInt("1000000000000000000000000000000000000"),ae.MAX_NATURAL_EXPONENT=BigInt("130000000000000000000"),ae.MIN_NATURAL_EXPONENT=BigInt("-41000000000000000000"),ae.LN_36_LOWER_BOUND=BigInt(ae.ONE_18)-BigInt("100000000000000000"),ae.LN_36_UPPER_BOUND=BigInt(ae.ONE_18)+BigInt("100000000000000000"),ae.MILD_EXPONENT_BOUND=BigInt(2)**BigInt(254)/ae.ONE_20,ae.x0=BigInt("128000000000000000000"),ae.a0=BigInt("38877084059945950922200000000000000000000000000000000000"),ae.x1=BigInt("64000000000000000000"),ae.a1=BigInt("6235149080811616882910000000"),ae.x2=BigInt("3200000000000000000000"),ae.a2=BigInt("7896296018268069516100000000000000"),ae.x3=BigInt("1600000000000000000000"),ae.a3=BigInt("888611052050787263676000000"),ae.x4=BigInt("800000000000000000000"),ae.a4=BigInt("298095798704172827474000"),ae.x5=BigInt("400000000000000000000"),ae.a5=BigInt("5459815003314423907810"),ae.x6=BigInt("200000000000000000000"),ae.a6=BigInt("738905609893065022723"),ae.x7=BigInt("100000000000000000000"),ae.a7=BigInt("271828182845904523536"),ae.x8=BigInt("50000000000000000000"),ae.a8=BigInt("164872127070012814685"),ae.x9=BigInt("25000000000000000000"),ae.a9=BigInt("128402541668774148407"),ae.x10=BigInt("12500000000000000000"),ae.a10=BigInt("113314845306682631683"),ae.x11=BigInt("6250000000000000000"),ae.a11=BigInt("106449445891785942956");const ne=(e,t)=>{let n=e.tokens.map((e=>e.address)),s=e.tokens.map((e=>e.decimals?e.decimals.toString():void 0)),r=s.map((e=>z(BigInt(e)))),i=e.tokens.map((e=>a.parseFixed(e.balance,e.decimals).toString())),o=e.tokens.map((e=>a.parseFixed(e.balance,18).toString())),d=e.tokens.map((e=>e.weight?a.parseFixed(e.weight,18).toString():void 0)),p=e.tokens.map((e=>e.priceRate?a.parseFixed(e.priceRate,18).toString():void 0));if(t){const e=new q(t);let a;[n,s,a,i,o,d,p]=e.sortTokens(n,s,r,i,o,d,p),r=a.map(BigInt)}const c=e.amp?a.parseFixed(e.amp,3).toString():void 0,l=a.parseFixed(e.totalShares,18).toString(),u=a.parseFixed(e.swapFee,18).toString(),y=[],b=[],m=[],f=n.indexOf(e.address);return-1!==f&&r.forEach(((e,t)=>{t!==f&&(y.push(r[t]),b.push(n[t]),m.push(i[t]))})),{parsedTokens:n,parsedDecimals:s,parsedBalances:i,parsedWeights:d,parsedPriceRates:p,parsedAmp:c,parsedTotalShares:l,parsedSwapFee:u,upScaledBalances:o,scalingFactors:r,scalingFactorsWithoutBpt:y,parsedTokensWithoutBpt:b,parsedBalancesWithoutBpt:m,bptIndex:f}},se={Popular:{Symbols:["WBTC","DAI","USDC","BAL","AAVE","WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",WETH:"0x0000000000000000000000000000000000000000",BAL:"0x0000000000000000000000000000000000000000"}},re={[exports.Network.KOVAN]:{Popular:{Symbols:["WBTC","DAI","USDC","BAL","AAVE","WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1",WETH:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1",BAL:"0xcb355677E36f390Ccc4a5d4bEADFbF1Eb2071c81",bbaUSD:"0x8fd162f338B770F7E879030830cDe9173367f301"},PriceChainMap:{"0xdfcea9088c8a88a76ff74892c1457c17dfeef9c1":"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x1c8e3bcb3378a443cc591f154c5ce0ebb4da9648":"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599","0x8f4bebf498cc624a0797fe64114a6ff169eee078":"0xbc396689893d065f41bc2c6ecbee5e0085233447","0xaf9ac3235be96ed496db7969f60d354fe5e426b0":"0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2","0xcb355677e36f390ccc4a5d4beadfbf1eb2071c81":"0xba100000625a3754423978a60c9317c58a424e3d","0xc2569dd7d0fd715b054fbf16e75b001e5c0c1115":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","0x04df6e4121c27713ed22341e7c7df330f56f289b":"0x6b175474e89094c44da98b954eedeac495271d0f","0x4803bb90d18a1cb7a2187344fe4feb0e07878d05":"0xae7ab96520de3a18e5e111b5eaab095312d7fe84","0xff795577d9ac8bd7d90ee22b6c1703490b6512fd":"0x6b175474e89094c44da98b954eedeac495271d0f","0xe22da380ee6b445bb8273c81944adeb6e8450422":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","0x13512979ade267ab5100878e2e0f485b568328a4":"0xdac17f958d2ee523a2206206994597c13d831ec7","0xa387b91e393cfb9356a460370842bc8dbb2f29af":"0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0"}},[exports.Network.GOERLI]:{Popular:{Symbols:["WBTC","DAI","USDC","BAL","USDT","WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1",WETH:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1",BAL:"0xfA8449189744799aD2AcE7e0EBAC8BB7575eff47",bbaUSD:"0x13ACD41C585d7EbB4a9460f7C8f50BE60DC080Cd"},PriceChainMap:{"0xdfcea9088c8a88a76ff74892c1457c17dfeef9c1":"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x37f03a12241e9fd3658ad6777d289c3fb8512bc9":"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599","0xfa8449189744799ad2ace7e0ebac8bb7575eff47":"0xba100000625a3754423978a60c9317c58a424e3d","0xe0c9275e44ea80ef17579d33c55136b7da269aeb":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","0x8c9e6c40d3402480ace624730524facc5482798c":"0x6b175474e89094c44da98b954eedeac495271d0f","0x1f1f156e0317167c11aa412e3d1435ea29dc3cce":"0xdac17f958d2ee523a2206206994597c13d831ec7","0x4cb1892fddf14f772b2e39e299f44b2e5da90d04":"0x3ed3b47dd13ec9a98b44e6204a523e766b225811","0x811151066392fd641fe74a9b55a712670572d161":"0xbcca60bb61934080951369a648fb03df4f96263c","0x89534a24450081aa267c79b07411e9617d984052":"0x028171bca77440897b824ca71d1c56cac55b68a3","0x829f35cebbcd47d3c120793c12f7a232c903138b":"0x956f47f50a910163d8bf957cf5846d573e7f87ca","0xff386a3d08f80ac38c77930d173fa56c6286dc8b":"0x6810e776880c02933d47db1b9fc05908e5386b96"}},[exports.Network.MAINNET]:{Popular:{Symbols:["WBTC","DAI","USDC","BAL","AAVE","WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",WETH:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",BAL:"0xba100000625a3754423978a60c9317c58a424e3d",bbaUSD:"0x7B50775383d3D6f0215A8F290f2C9e2eEBBEceb2",bbaUSDv2:"0xA13a9247ea42D743238089903570127DdA72fE44"}},[exports.Network.POLYGON]:{Popular:{Symbols:["WBTC","DAI","USDC","BAL","AAVE","WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",WETH:"0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",BAL:"0x9a71012b13ca4d3d0cdc72a177df3ef03b0e76a3"}},[exports.Network.ARBITRUM]:{Popular:{Symbols:["WBTC","DAI","USDC","BAL","AAVE","WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",WETH:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",BAL:"0x040d1EdC9569d4Bab2D15287Dc5A4F10F56a56B8"}},[exports.Network.GNOSIS]:{Popular:{Symbols:["xDAI","WXDAI","WETH","BAL"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0xe91d153e0b41518a2ce8dd3d7944fa863463a97d",WETH:"0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1",BAL:"0x7eF541E2a22058048904fE5744f9c7E4C57AF717"}},[exports.Network.DEFIVERSE]:{Popular:{Symbols:["GDT","BAL","WETH","OAS"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0x5a89E11Cb554E00c2f51C4bb7F05bc7Ab0Fa6351",WETH:"0x5a89E11Cb554E00c2f51C4bb7F05bc7Ab0Fa6351",BAL:"",GDT:""},PriceChainMap:{"0x5a89e11cb554e00c2f51c4bb7f05bc7ab0fa6351":"0x5a89e11cb554e00c2f51c4bb7f05bc7ab0fa6351","0x7c6b91d9be155a6db01f749217d76ff02a7227f2":"0x7c6b91d9be155a6db01f749217d76ff02a7227f2"}},[exports.Network.DEFIVERSE_TESTNET]:{Popular:{Symbols:["WETH","OAS"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0x6B382742b07AAbBA58c38d792B5d7CBAaB246e99",WETH:"0x6B382742b07AAbBA58c38d792B5d7CBAaB246e99",BAL:"",GDT:""},PriceChainMap:{}},[exports.Network.OASYS]:{Popular:{Symbols:["GDT","BAL","WETH","OAS"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0x5200000000000000000000000000000000000001",WETH:"0x5200000000000000000000000000000000000001",BAL:"0x2B726256AdD04e65403cEf6679A2f2dfF7DDe9F9",GDT:""},PriceChainMap:{"0x5200000000000000000000000000000000000001":"0x5a89e11cb554e00c2f51c4bb7f05bc7ab0fa6351"}},[exports.Network.OASYS_TESTNET]:{Popular:{Symbols:["GDT","BAL","WETH","OAS"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0x5200000000000000000000000000000000000001",WETH:"0x5200000000000000000000000000000000000001",BAL:"0x9288F664FEFc9f374A53C4307BD3c8F91e83f466",GDT:"0x9288F664FEFc9f374A53C4307BD3c8F91e83f466"},PriceChainMap:{"0x5200000000000000000000000000000000000001":"0x5a89e11cb554e00c2f51c4bb7f05bc7ab0fa6351"}},[exports.Network.MEGAETH_TESTNET]:{Popular:{Symbols:["WETH"]},Addresses:{nativeAsset:"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",wNativeAsset:"0xAba76Cdc5910F6627856EB75Bcce0171376999C7",WETH:"0xAba76Cdc5910F6627856EB75Bcce0171376999C7",BAL:"0x8D23f3B57cF4B5Ed734574738Fa0Fc2C5b5e37d1"},PriceChainMap:{}}};var ie,oe,de,pe,ce,le,ue;exports.PoolGaugesAttributes=void 0,(ie=exports.PoolGaugesAttributes||(exports.PoolGaugesAttributes={})).Id="id",ie.Address="address",ie.PoolId="poolId",exports.PoolShareAttributes=void 0,(oe=exports.PoolShareAttributes||(exports.PoolShareAttributes={})).Balance="balance",oe.Id="id",oe.PoolId="poolId",oe.UserAddress="userAddress",exports.GaugeShareAttributes=void 0,(de=exports.GaugeShareAttributes||(exports.GaugeShareAttributes={})).Id="id",de.UserAddress="user",de.GaugeId="gauge",de.Balance="balance",exports.PoolSpecialization=void 0,(pe=exports.PoolSpecialization||(exports.PoolSpecialization={}))[pe.GeneralPool=0]="GeneralPool",pe[pe.MinimalSwapInfoPool=1]="MinimalSwapInfoPool",pe[pe.TwoTokenPool=2]="TwoTokenPool",exports.UserBalanceOpKind=void 0,(ce=exports.UserBalanceOpKind||(exports.UserBalanceOpKind={}))[ce.DepositInternal=0]="DepositInternal",ce[ce.WithdrawInternal=1]="WithdrawInternal",ce[ce.TransferInternal=2]="TransferInternal",ce[ce.TransferExternal=3]="TransferExternal",exports.PoolBalanceOpKind=void 0,(le=exports.PoolBalanceOpKind||(exports.PoolBalanceOpKind={}))[le.Withdraw=0]="Withdraw",le[le.Deposit=1]="Deposit",le[le.Update=2]="Update",exports.PoolType=void 0,(ue=exports.PoolType||(exports.PoolType={})).Weighted="Weighted",ue.Investment="Investment",ue.Stable="Stable",ue.HighAmpComposableStable="HighAmpComposableStable",ue.ComposableStable="ComposableStable",ue.MetaStable="MetaStable",ue.StablePhantom="StablePhantom",ue.LiquidityBootstrapping="LiquidityBootstrapping",ue.AaveLinear="AaveLinear",ue.Linear="Linear",ue.EulerLinear="EulerLinear",ue.ERC4626Linear="ERC4626Linear",ue.Element="Element",ue.Gyro2="Gyro2",ue.Gyro3="Gyro3",ue.Managed="Managed";let ye=!1,be=!1;const me={debug:1,default:2,info:2,warning:3,error:4,off:5};let fe=me.default,he=null;const Te=function(){try{const e=[];if(["NFD","NFC","NFKD","NFKC"].forEach((t=>{try{if("test"!=="test".normalize(t))throw new Error("bad normalize")}catch(a){e.push(t)}})),e.length)throw new Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(e){return e.message}return null}();var ge,xe;!function(e){e.DEBUG="DEBUG",e.INFO="INFO",e.WARNING="WARNING",e.ERROR="ERROR",e.OFF="OFF"}(ge||(ge={})),function(e){e.UNKNOWN_ERROR="UNKNOWN_ERROR",e.NOT_IMPLEMENTED="NOT_IMPLEMENTED",e.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",e.NETWORK_ERROR="NETWORK_ERROR",e.SERVER_ERROR="SERVER_ERROR",e.TIMEOUT="TIMEOUT",e.BUFFER_OVERRUN="BUFFER_OVERRUN",e.NUMERIC_FAULT="NUMERIC_FAULT",e.MISSING_NEW="MISSING_NEW",e.INVALID_ARGUMENT="INVALID_ARGUMENT",e.MISSING_ARGUMENT="MISSING_ARGUMENT",e.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",e.CALL_EXCEPTION="CALL_EXCEPTION",e.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",e.NONCE_EXPIRED="NONCE_EXPIRED",e.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",e.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",e.TRANSACTION_REPLACED="TRANSACTION_REPLACED",e.ACTION_REJECTED="ACTION_REJECTED"}(xe||(xe={}));const Ie="0123456789abcdef";class we{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){const a=e.toLowerCase();null==me[a]&&this.throwArgumentError("invalid log level name","logLevel",e),fe>me[a]||console.log.apply(console,t)}debug(...e){this._log(we.levels.DEBUG,e)}info(...e){this._log(we.levels.INFO,e)}warn(...e){this._log(we.levels.WARNING,e)}makeError(e,t,a){if(be)return this.makeError("censored error",t,{});t||(t=we.errors.UNKNOWN_ERROR),a||(a={});const n=[];Object.keys(a).forEach((e=>{const t=a[e];try{if(t instanceof Uint8Array){let a="";for(let e=0;e<t.length;e++)a+=Ie[t[e]>>4],a+=Ie[15&t[e]];n.push(e+"=Uint8Array(0x"+a+")")}else n.push(e+"="+JSON.stringify(t))}catch(t){n.push(e+"="+JSON.stringify(a[e].toString()))}})),n.push(`code=${t}`),n.push(`version=${this.version}`);const s=e;let r="";switch(t){case xe.NUMERIC_FAULT:{r="NUMERIC_FAULT";const t=e;switch(t){case"overflow":case"underflow":case"division-by-zero":r+="-"+t;break;case"negative-power":case"negative-width":r+="-unsupported";break;case"unbound-bitwise-result":r+="-unbound-result"}break}case xe.CALL_EXCEPTION:case xe.INSUFFICIENT_FUNDS:case xe.MISSING_NEW:case xe.NONCE_EXPIRED:case xe.REPLACEMENT_UNDERPRICED:case xe.TRANSACTION_REPLACED:case xe.UNPREDICTABLE_GAS_LIMIT:r=t}r&&(e+=" [ See: https://links.ethers.org/v5-errors-"+r+" ]"),n.length&&(e+=" ("+n.join(", ")+")");const i=new Error(e);return i.reason=s,i.code=t,Object.keys(a).forEach((function(e){i[e]=a[e]})),i}throwError(e,t,a){throw this.makeError(e,t,a)}throwArgumentError(e,t,a){return this.throwError(e,we.errors.INVALID_ARGUMENT,{argument:t,value:a})}assert(e,t,a,n){e||this.throwError(t,a,n)}assertArgument(e,t,a,n){e||this.throwArgumentError(t,a,n)}checkNormalize(e){Te&&this.throwError("platform missing String.prototype.normalize",we.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:Te})}checkSafeUint53(e,t){"number"==typeof e&&(null==t&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,we.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,we.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,t,a){a=a?": "+a:"",e<t&&this.throwError("missing argument"+a,we.errors.MISSING_ARGUMENT,{count:e,expectedCount:t}),e>t&&this.throwError("too many arguments"+a,we.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){e!==Object&&null!=e||this.throwError("missing new",we.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",we.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):e!==Object&&null!=e||this.throwError("missing new",we.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return he||(he=new we("logger/5.7.0")),he}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",we.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),ye){if(!e)return;this.globalLogger().throwError("error censorship permanent",we.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}be=!!e,ye=!!t}static setLogLevel(e){const t=me[e.toLowerCase()];null!=t?fe=t:we.globalLogger().warn("invalid log level - "+e)}static from(e){return new we(e)}}we.errors=xe,we.levels=ge;const Ee=new we("units/5.7.0"),Ae=["wei","kwei","mwei","gwei","szabo","finney","ether"];function Se(e,t){if("string"==typeof t){const e=Ae.indexOf(t);-1!==e&&(t=3*e)}return a.formatFixed(e,null!=t?t:18)}function Pe(e,t){if("string"!=typeof e&&Ee.throwArgumentError("value must be a string","value",e),"string"==typeof t){const e=Ae.indexOf(t);-1!==e&&(t=3*e)}return a.parseFixed(e,null!=t?t:18)}const Be={[exports.Network.MAINNET]:{waUSDT:"0xf8fd466f12e236f4c96f7cce6c79eadb819abf58",waUSDC:"0xd093fa4fb80d09bb30817fdcd442d4d02ed3e5de",waDAI:"0x02d60b84491589974263d922d9cc7a3152618ef6"},[exports.Network.POLYGON]:{wamDAI:"0xee029120c72b0607344f35b17cdd90025e647b00",wamUSDC:"0x221836a597948dce8f3568e044ff123108acc42a",wamUSDT:"0x19c60a251e525fa88cd6f3768416a8024e98fc19"}},_e={...Be[exports.Network.MAINNET],...Be[exports.Network.POLYGON]},Oe={[exports.Network.MAINNET]:{[Be[exports.Network.MAINNET].waUSDT]:{aToken:"0x3ed3b47dd13ec9a98b44e6204a523e766b225811",underlying:"0xdac17f958d2ee523a2206206994597c13d831ec7"},[Be[exports.Network.MAINNET].waUSDC]:{aToken:"0xbcca60bb61934080951369a648fb03df4f96263c",underlying:"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},[Be[exports.Network.MAINNET].waDAI]:{aToken:"0x028171bca77440897b824ca71d1c56cac55b68a3",underlying:"0x6b175474e89094c44da98b954eedeac495271d0f"}},[exports.Network.POLYGON]:{[Be[exports.Network.POLYGON].wamUSDT]:{aToken:"0x60d55f02a771d515e077c9c2403a1ef324885cec",underlying:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f"},[Be[exports.Network.POLYGON].wamUSDC]:{aToken:"0x1a13f4ca1d028320a707d99520abfefca3998b7f",underlying:"0x2791bca1f2de4661ed88a30c99a7a9449aa84174"},[Be[exports.Network.POLYGON].wamDAI]:{aToken:"0x27f8d03b3a2196956ed754badc28d73be8830a6e",underlying:"0x8f3cf7ad23cd3cadbd9735aff958023239c6a063"}}},ve={[exports.Network.MAINNET]:Object.values(Oe[exports.Network.MAINNET]).map((e=>e.aToken)),[exports.Network.POLYGON]:Object.values(Oe[exports.Network.POLYGON]).map((e=>e.aToken))},ke={[exports.Network.MAINNET]:Object.values(Oe[exports.Network.MAINNET]).map((e=>e.underlying)),[exports.Network.POLYGON]:Object.values(Oe[exports.Network.POLYGON]).map((e=>e.underlying))},Ne={[exports.Network.MAINNET]:Object.fromEntries(Object.keys(Oe[exports.Network.MAINNET]).map((e=>[Oe[exports.Network.MAINNET][e].underlying,e]))),[exports.Network.POLYGON]:Object.fromEntries(Object.keys(Oe[exports.Network.POLYGON]).map((e=>[Oe[exports.Network.POLYGON][e].underlying,e])))},Ce={[exports.Network.MAINNET]:"https://api.thegraph.com/subgraphs/name/aave/protocol-v2",[exports.Network.POLYGON]:"https://api.thegraph.com/subgraphs/name/aave/aave-v2-matic"},De=async e=>{const t=Object.fromEntries(Object.keys(Oe).map((e=>[e,0])));if(!e||e!=exports.Network.MAINNET&&e!=exports.Network.POLYGON)return t;try{const t={operationName:"getReserves",query:"\n query getReserves($aTokens: [String!], $underlyingAssets: [Bytes!]) {\n reserves(\n where: {\n aToken_in: $aTokens\n underlyingAsset_in: $underlyingAssets\n isActive: true\n }\n ) {\n underlyingAsset\n liquidityRate\n }\n }\n",variables:{aTokens:ve[e],underlyingAssets:ke[e]}},n=await w.default.post(Ce[e],t),{data:{reserves:s}}=n.data,r=s.map((t=>[Ne[e][t.underlyingAsset],Math.round(1e4*parseFloat(Se(a.BigNumber.from(t.liquidityRate),27)))]));return Object.fromEntries(r)}catch(e){return t}};function Fe(e,t){let a=e.toLowerCase();return a=Re(a,t),a=Me(a,t),a}const Re=(e,t)=>{const a=(n=t,re[n]?re[n]:se).PriceChainMap;var n;return a&&a[e.toLowerCase()]||e},Me=(e,t)=>{const a=e.toLocaleLowerCase(),n=t;return null!=Oe[n]&&null!=Oe[n]&&Object.keys(Oe[n]).includes(a)?Oe[n][a].aToken:a};class Le{constructor(e,t=200){this.fn=e,this.wait=t,this.requestSet=new Set,this.promisedCalls=[],this.promisedCount=0,this.debounceCancel=()=>{}}fetch(e){if(e&&this.requestSet.add(e),this.promisedCalls[this.promisedCount])return this.promisedCalls[this.promisedCount].promise;this.promisedCalls[this.promisedCount]=(()=>{let e=()=>{},t=()=>{};return{promise:new Promise(((a,n)=>{[e,t]=[a,n]})),reject:t,resolve:e}})();const{promise:t,resolve:a,reject:n}=this.promisedCalls[this.promisedCount];return this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout((()=>{this.promisedCount++;const e=[...this.requestSet];this.requestSet.clear(),this.fn(e).then((e=>{a(e),this.debounceCancel=()=>{}})).catch((e=>{e.response&&e.response.data&&e.response.data.error&&(e=e.response.data.error),n(e)}))}),this.wait),this.debounceCancel=()=>{this.timeout&&clearTimeout(this.timeout),n("Cancelled"),delete this.promisedCalls[this.promisedCount]},t}}function Ue(e,t){const n=new RegExp(`[0-9]+\\.?[0-9]{0,${t}}`),s=e.match(n);let r=e;return s&&(r=s[0]),a.parseFixed(r,t)}function Ge(e,t){return a.formatFixed(e,t).replace(/(.0$)/,"")}function qe(e){return Ue(e,18).toBigInt()}const We=(e,t)=>n.getAddress(e)===n.getAddress(t);function $e(e,t,a){return[...e.slice(0,t),a,...e.slice(t)]}class Ve{format(e){return e}}class He{constructor(){this.operatorMap={gt:"_gt",lt:"_lt",eq:"",in:"_in",not_in:"_not_in",contains:"_contains"}}format(e){const t={};return e.where&&Object.entries(e.where).forEach((([e,a])=>{Object.entries(a).forEach((([a,n])=>{t[`${e}${this.operatorMap[a]}`]=n}))})),{...e,where:t}}}class je{constructor(e){this.args=e}merge(e){const t=d.mergeWith(this.args,e.args,((e,t)=>{if(Array.isArray(e))return e.concat(t)}));return new je(t)}format(e){return e.format(this.args)}}var Ke;function Ze(e,n,s,r,i,o){const d=new Array(i.length).fill(t.Zero);return i.forEach(((i,p)=>{if(e.some((e=>We(i,e)))){const e=a.BigNumber.from(o).add(t.WeiPerEther);d[p]=s===exports.SwapType.SwapExactOut?d[p].add(a.BigNumber.from(r[p]).mul(e).div(t.WeiPerEther)):d[p].add(r[p])}if(n.some((e=>We(i,e)))){const e=t.WeiPerEther.sub(a.BigNumber.from(o));d[p]=s===exports.SwapType.SwapExactIn?d[p].add(a.BigNumber.from(r[p]).mul(e).div(t.WeiPerEther)):d[p].add(r[p])}})),d}exports.SwapType=void 0,(Ke=exports.SwapType||(exports.SwapType={}))[Ke.SwapExactIn=0]="SwapExactIn",Ke[Ke.SwapExactOut=1]="SwapExactOut";const Xe=a.BigNumber.from("10000"),Je=(e,t)=>e.mul(t).div(Xe),Ye=(e,t)=>{const a=Je(e,t);return e.sub(a)},ze=(e,t)=>{const a=Je(e,t);return e.add(a)},Qe="0x2FA699664752B34E90A414A42D62D7A8b2702B85",et={[exports.Network.MAINNET]:{chainId:exports.Network.MAINNET,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0xeefba1e63905ef1d7acba5a8513c70307c1ce441",balancerHelpers:"0x5aDDCCa35b7A0D07C74063c48700C8590E87864E",lidoRelayer:"0xdcdbf71A870cc60C6F9B621E28a7D3Ffd6Dd4965",relayerV3:"0x886A3Ec7bcC508B8795990B60Fa21f85F9dB7948",relayerV4:"0x2536dfeeCB7A0397CF98eDaDA8486254533b1aFA",gaugeController:"0xc128468b7ce63ea702c1f104d55a2566b13d3abd",feeDistributor:"0xD3cf852898b21fc233251427c2DC93d3d604F3BB",protocolFeePercentagesProvider:"0x97207B095e4D5C9a6e4cfbfcd2C3358E03B90c4A",veBal:"0xC128a9954e6c874eA3d62ce62B468bA073093F25",veBalProxy:"0x6f5a2eE11E7a772AeB5114A20d0D7c0ff61EB8A0",weightedPoolFactory:"0x8E9aa87E45e92bad84D5F8DD1bff34Fb92637dE9",composableStablePoolFactory:"0x85a80afee867adf27b50bdb7b76da70f1e853062"},tokens:{wrappedNativeAsset:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",lbpRaisingTokens:["0x6B175474E89094C44Da98b954EedeAC495271d0F","0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"],stETH:"0xae7ab96520de3a18e5e111b5eaab095312d7fe84",wstETH:"0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0",bal:"0xba100000625a3754423978a60c9317c58a424e3d",veBal:"0xC128a9954e6c874eA3d62ce62B468bA073093F25",bbaUsd:"0x7b50775383d3d6f0215a8f290f2c9e2eebbeceb2"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-v2",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges",blockNumberSubgraph:"https://api.thegraph.com/subgraphs/name/blocklytics/ethereum-blocks"},pools:{wETHwstETH:{id:"0x32296969ef14eb0c6d29669c550d4a0449130230000200000000000000000080",address:"0x32296969ef14eb0c6d29669c550d4a0449130230"}},poolsToIgnore:["0xbd482ffb3e6e50dc1c437557c3bea2b68f3683ee"],sorConnectingTokens:[{symbol:"wEth",address:"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"},{symbol:"wstEth",address:"0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"},{symbol:"DOLA",address:"0x865377367054516e17014CcdED1e7d814EDC9ce4"}]},[exports.Network.POLYGON]:{chainId:exports.Network.POLYGON,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0xa1B2b503959aedD81512C37e9dce48164ec6a94d",relayerV3:"0xcf6a66E32dCa0e26AcC3426b851FD8aCbF12Dac7",relayerV4:"0x28A224d9d398a1eBB7BA69BCA515898966Bb1B6b",balancerHelpers:"0x239e55F427D44C3cc793f49bFB507ebe76638a2b",weightedPoolFactory:"0x0e39C3D9b2ec765eFd9c5c70BB290B1fCD8536E3",composableStablePoolFactory:"0x85a80afee867adf27b50bdb7b76da70f1e853062"},tokens:{bal:"0x9a71012b13ca4d3d0cdc72a177df3ef03b0e76a3",wrappedNativeAsset:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-polygon-prune-v2",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges-polygon",blockNumberSubgraph:"https://api.thegraph.com/subgraphs/name/ianlapham/polygon-blocks"},pools:{},poolsToIgnore:["0x600bd01b6526611079e12e1ff93aba7a3e34226f"],sorConnectingTokens:[{symbol:"weth",address:"0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270"},{symbol:"bbrz2",address:"0xe22483774bd8611be2ad2f4194078dac9159f4ba"}]},[exports.Network.ARBITRUM]:{chainId:exports.Network.ARBITRUM,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0x269ff446d9892c9e19082564df3f5e8741e190a1",relayerV3:"0x42E49B48573c725ee32d2579060Ed06894f97002",relayerV4:"0x5bf3B7c14b10f16939d63Bd679264A1Aa951B4D5",balancerHelpers:"0x77d46184d22CA6a3726a2F500c776767b6A3d6Ab",weightedPoolFactory:"0x8df6EfEc5547e31B0eb7d1291B511FF8a2bf987c",composableStablePoolFactory:"0x85a80afee867adf27b50bdb7b76da70f1e853062"},tokens:{bal:"0x040d1edc9569d4bab2d15287dc5a4f10f56a56b8",wrappedNativeAsset:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-arbitrum-v2",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges-arbitrum",blockNumberSubgraph:"https://api.thegraph.com/subgraphs/name/ianlapham/arbitrum-one-blocks"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"}]},[exports.Network.KOVAN]:{chainId:exports.Network.KOVAN,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0x2cc8688C5f75E365aaEEb4ea8D6a480405A48D2A",veBal:"0x16ba924752EF283C7946db8A122a6742AA35C1DC",veBalProxy:"0x98D0d0a65cBeCCaa647a5a95cf27Cf2f00E1231C",balancerHelpers:"0x94905e703fEAd7f0fD0eEe355D267eE909784e6d",weightedPoolFactory:"0x8df6EfEc5547e31B0eb7d1291B511FF8a2bf987c"},tokens:{wrappedNativeAsset:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-kovan-v2",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges"},pools:{}},[exports.Network.ROPSTEN]:{chainId:exports.Network.ROPSTEN,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0x53c43764255c17bd724f74c4ef150724ac50a3ed",balancerHelpers:""},tokens:{wrappedNativeAsset:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1"}},urls:{subgraph:"",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges"},pools:{}},[exports.Network.RINKEBY]:{chainId:exports.Network.RINKEBY,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0x42ad527de7d4e9d9d011ac45b31d8551f8fe9821",balancerHelpers:"0x5aDDCCa35b7A0D07C74063c48700C8590E87864E",weightedPoolFactory:"0x8df6EfEc5547e31B0eb7d1291B511FF8a2bf987c"},tokens:{wrappedNativeAsset:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-rinkeby-v2",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges"},pools:{}},[exports.Network.GOERLI]:{chainId:exports.Network.GOERLI,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0x77dCa2C955b15e9dE4dbBCf1246B4B85b651e50e",relayerV3:"0x7b9B6f094DC2Bd1c12024b0D9CC63d6993Be1888",relayerV4:"0x00e695aA8000df01B8DC8401B4C34Fba5D56BBb2",gaugeController:"0xBB1CE49b16d55A1f2c6e88102f32144C7334B116",veBal:"0x33A99Dcc4C85C014cf12626959111D5898bbCAbF",veBalProxy:"0xA1F107D1cD709514AE8A914eCB757E95f9cedB31",balancerHelpers:"0x5aDDCCa35b7A0D07C74063c48700C8590E87864E",weightedPoolFactory:"0x8E9aa87E45e92bad84D5F8DD1bff34Fb92637dE9",composableStablePoolFactory:"0x85a80afee867adf27b50bdb7b76da70f1e853062"},tokens:{wrappedNativeAsset:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-goerli-v2",gaugesSubgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gauges-goerli",blockNumberSubgraph:"https://api.thegraph.com/subgraphs/name/blocklytics/goerli-blocks"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0xdFCeA9088c8A88A76FF74892C1457C17dfeef9C1"}]},[exports.Network.OPTIMISM]:{chainId:exports.Network.OPTIMISM,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0x2dc0e2aa608532da689e89e237df582b783e552c",relayerV3:"0x195CcCBE464EF9073d1f7A1ba1C9Bf0f56dfFFff",relayerV4:"0x1a58897Ab366082028ced3740900ecBD765Af738",balancerHelpers:"0x8E9aa87E45e92bad84D5F8DD1bff34Fb92637dE9",weightedPoolFactory:"0x0e39C3D9b2ec765eFd9c5c70BB290B1fCD8536E3",composableStablePoolFactory:"0x85a80afee867adf27b50bdb7b76da70f1e853062"},tokens:{wrappedNativeAsset:"0x4200000000000000000000000000000000000006"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/beethovenxfi/beethovenx-optimism",gaugesSubgraph:""},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0x4200000000000000000000000000000000000006"}]},[exports.Network.GNOSIS]:{chainId:exports.Network.GNOSIS,addresses:{contracts:{vault:"0xBA12222222228d8Ba445958a75a0704d566BF2C8",multicall:"0xbb6fab6b627947dae0a75808250d8b2652952cb5",relayerV4:"0xeF606F58A4FD0fCcb066c6203d0994694d3eB2D3",balancerHelpers:"0x8E9aa87E45e92bad84D5F8DD1bff34Fb92637dE9",weightedPoolFactory:"0xf302f9F50958c5593770FDf4d4812309fF77414f",composableStablePoolFactory:"0x76578ecf9a141296ec657847fb45b0585bcda3a6"},tokens:{wrappedNativeAsset:"0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d"}},urls:{subgraph:"https://api.thegraph.com/subgraphs/name/balancer-labs/balancer-gnosis-chain-v2",gaugesSubgraph:""},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d"}]},[exports.Network.DEFIVERSE]:{chainId:exports.Network.DEFIVERSE,addresses:{contracts:{vault:"0x2FA699664752B34E90A414A42D62D7A8b2702B85",multicall:"0x8633dD7223f76c99bdc5a2D116FCF369d79852C4",relayerV4:"0x00e695aA8000df01B8DC8401B4C34Fba5D56BBb2",gaugeController:"",feeDistributor:"",protocolFeePercentagesProvider:"0xC462175C87672c7aad536c1248b72B1Cf46BEe27",veBal:"",veBalProxy:"",balancerHelpers:"0x4087EDb699803608A0214FD92e32119CAF57EcA3",weightedPoolFactory:"0xD1920DD25e4998B0d7cC8de7F12BeAf9796C7475",composableStablePoolFactory:"0xD01ad3085fb3e1fbB2541b5B3326B1F47B189747"},tokens:{wrappedNativeAsset:"0x5a89E11Cb554E00c2f51C4bb7F05bc7Ab0Fa6351",bal:"",veBal:""}},urls:{priceUrl:"https://price-api.gaming-dex.com/api/v1",subgraph:"https://graphnode.defi-verse.org/subgraphs/name/balancer-labs/defiverse",gaugesSubgraph:"https://graphnode.defi-verse.org/subgraphs/name/balancer-labs/gauges-defiverse"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0x5a89E11Cb554E00c2f51C4bb7F05bc7Ab0Fa6351"}]},[exports.Network.DEFIVERSE_TESTNET]:{chainId:exports.Network.DEFIVERSE_TESTNET,addresses:{contracts:{vault:"0x2Da016a77E290fb82F5af7051198304d57779f5d",multicall:"0xEB47269E97EeDB20EF782EB8caFb09ed55b02A39",relayerV4:"0x00e695aA8000df01B8DC8401B4C34Fba5D56BBb2",gaugeController:"",feeDistributor:"",protocolFeePercentagesProvider:"0x38d04d161247031484B31fB8403D20bed5287cf7",veBal:"",veBalProxy:"",balancerHelpers:"0x47404b46E0340F879ECC15977Ce196458cadc2DF",weightedPoolFactory:"0x48494Fa9eAd46EE8E3FcB66487a6dBBD34DcAFe3",composableStablePoolFactory:"0x58e6F99bB65378f47A520fC9630Bd711f2cf3Dc7"},tokens:{wrappedNativeAsset:"0x6B382742b07AAbBA58c38d792B5d7CBAaB246e99",bal:"0xb5C5C48D3082751f60EE1CAc8FC84a921931EC24"}},urls:{priceUrl:"https://price-api-testnet.gaming-dex.com/api/v1",subgraph:"https://graphnode-testnet.defi-verse.org/subgraphs/name/balancer-labs/defiverse-testnet-v2",gaugesSubgraph:"https://graphnode-testnet.defi-verse.org/subgraphs/name/balancer-labs/gauges-defiverse-testnet-v2"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0x6B382742b07AAbBA58c38d792B5d7CBAaB246e99"}]},[exports.Network.OASYS]:{chainId:exports.Network.OASYS,addresses:{contracts:{vault:"0xfb6f8FEdE0Cb63674Ab964affB93D65a4a7D55eA",multicall:"0xc52dc4a7dad06BEAB9230D482AcBEcFFc3aB009B",relayerV4:"0x00e695aA8000df01B8DC8401B4C34Fba5D56BBb2",gaugeController:"0x2D2BB676EfE00998ABf25aa499A19af16cC99F3e",feeDistributor:"0xE93F762E0d736fB2780bb9271233367942189B86",protocolFeePercentagesProvider:"0x56C181Ecf83e773978137b2B567d660768f8c8e3",veBal:"0x2B726256AdD04e65403cEf6679A2f2dfF7DDe9F9",veBalProxy:"0xe5276B39E604999c05d3051D896310A620E4Cc49",balancerHelpers:"0xf199DDb57d75225e13Fe13eb8BDDE8b16e188374",weightedPoolFactory:"0x4EF0b4827cE3D5FEcBc2C6ab80Ee81dBF9631D37",composableStablePoolFactory:"0x0A7A98c9553192755f22b282278f0FA26f4de742"},tokens:{wrappedNativeAsset:"0x5200000000000000000000000000000000000001",bal:"0x2B726256AdD04e65403cEf6679A2f2dfF7DDe9F9",veBal:"0x2B726256AdD04e65403cEf6679A2f2dfF7DDe9F9"}},urls:{priceUrl:"https://price-api.gaming-dex.com/api/v1",subgraph:"https://graphnode-oasys.defi-verse.org/subgraphs/name/balancer-labs/oasys",gaugesSubgraph:"https://graphnode-oasys.defi-verse.org/subgraphs/name/balancer-labs/gauges-oasys"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0x5200000000000000000000000000000000000001"}]},[exports.Network.OASYS_TESTNET]:{chainId:exports.Network.OASYS_TESTNET,addresses:{contracts:{vault:"0x1f7a0Bea1CB70FaA0f6b7B1126eCbd01Ef4E5BC8",multicall:"0xe5Fce05D922e3961F053bD2BF1F29F92d2a0a94B",relayerV4:"0x00e695aA8000df01B8DC8401B4C34Fba5D56BBb2",gaugeController:"0x82e3ACEE6e747B164327cca5e6309bb38f114848",feeDistributor:"0x8A55C4F4f178d62Da281c244e4AD98A9C72c418a",protocolFeePercentagesProvider:"0xACA587e675102f0fDcBc9FddC441f820cB2c64b9",veBal:"0x9288F664FEFc9f374A53C4307BD3c8F91e83f466",veBalProxy:"0x0b205Ed28BC51E7DE4686ef725488bCecEe87606",balancerHelpers:"0x3B847f3Fa5585Dc3aeDB40780fF47e31B0fF14C0",weightedPoolFactory:"0xd2d7F457B9749B6A0A637685A65681F03116125C",composableStablePoolFactory:"0xfDA8fa80dd77A99BF71BeCFce47077859e689898"},tokens:{wrappedNativeAsset:"0x5200000000000000000000000000000000000001",bal:"0x9288F664FEFc9f374A53C4307BD3c8F91e83f466",veBal:"0x9288F664FEFc9f374A53C4307BD3c8F91e83f466"}},urls:{priceUrl:"https://price-api-testnet.gaming-dex.com/api/v1",subgraph:"https://graphnode-oasys-testnet.defi-verse.org/subgraphs/name/balancer-labs/oasys-testnet",gaugesSubgraph:"https://graphnode-oasys-testnet.defi-verse.org/subgraphs/name/balancer-labs/gauges-oasys-testnet-v2"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0x5200000000000000000000000000000000000001"}]},[exports.Network.MEGAETH_TESTNET]:{chainId:exports.Network.MEGAETH_TESTNET,addresses:{contracts:{vault:"0x17e3debc39CD1239b08aC1df87593C57BE69171f",multicall:"0xC003DCBACe8a39fa6740284AbBd2FBf6467428ba",relayerV4:"0x00e695aA8000df01B8DC8401B4C34Fba5D56BBb2",gaugeController:"0x8b91eB206963A50B739fCe40CcB8E87384CE0576",feeDistributor:"",protocolFeePercentagesProvider:"0x379b189112a544976Fe7F5bdcF33fc787857c621",veBal:"0x8D23f3B57cF4B5Ed734574738Fa0Fc2C5b5e37d1",veBalProxy:"0x0AAea5d401Ea5f82a03edBBeE67cE665C349aA97",balancerHelpers:"0x0309DA369DF0f208d117c8291d34a041122Be0AD",weightedPoolFactory:"0x84F75879C0aC87eAFAF4f1E3E1A2372caAB5273b",composableStablePoolFactory:""},tokens:{wrappedNativeAsset:"0xAba76Cdc5910F6627856EB75Bcce0171376999C7",bal:"0x8D23f3B57cF4B5Ed734574738Fa0Fc2C5b5e37d1",veBal:"0x8D23f3B57cF4B5Ed734574738Fa0Fc2C5b5e37d1"}},urls:{priceUrl:"https://price-api-testnet.gaming-dex.com/api/v1",subgraph:"https://graphnode-megaeth-testnet.defi-verse.org/subgraphs/name/balancer-labs/megaeth-testnet",gaugesSubgraph:"https://graphnode-megaeth-testnet.defi-verse.org/subgraphs/name/balancer-labs/gauges-megaeth-testnet"},pools:{},sorConnectingTokens:[{symbol:"weth",address:"0xAba76Cdc5910F6627856EB75Bcce0171376999C7"}]}},tt=e=>et[e].addresses;var at;exports.BalancerErrorCode=void 0,(at=exports.BalancerErrorCode||(exports.BalancerErrorCode={})).SWAP_ZERO_RETURN_AMOUNT="SWAP_ZERO_RETURN_AMOUNT",at.UNWRAP_ZERO_AMOUNT="UNWRAP_ZERO_AMOUNT",at.WRAP_ZERO_AMOUNT="WRAP_ZERO_AMOUNT",at.QUERY_BATCH_SWAP="QUERY_BATCH_SWAP",at.POOL_DOESNT_EXIST="POOL_DOESNT_EXIST",at.UNSUPPORTED_POOL_TYPE="UNSUPPORTED_POOL_TYPE",at.UNSUPPORTED_PAIR="UNSUPPORTED_PAIR",at.NO_POOL_DATA="NO_POOL_DATA",at.INPUT_OUT_OF_BOUNDS="INPUT_OUT_OF_BOUNDS",at.INPUT_LENGTH_MISMATCH="INPUT_LENGTH_MISMATCH",at.INPUT_TOKEN_INVALID="INPUT_TOKEN_INVALID",at.INPUT_ZERO_NOT_ALLOWED="INPUT_ZERO_NOT_ALLOWED",at.INTERNAL_ERROR_INVALID_ABI="INTERNAL_ERROR_INVALID_ABI",at.TOKEN_MISMATCH="TOKEN_MISMATCH",at.MISSING_TOKENS="MISSING_TOKENS",at.MISSING_AMP="MISSING_AMP",at.MISSING_DECIMALS="MISSING_DECIMALS",at.MISSING_PRICE_RATE="MISSING_PRICE_RATE",at.MISSING_WEIGHT="MISSING_WEIGHT",at.RELAY_SWAP_AMOUNTS="RELAY_SWAP_AMOUNTS",at.NO_VALUE_PARAMETER="NO_VALUE_PARAMETER",at.ILLEGAL_PARAMETER="ILLEGAL_PARAMETER",at.TIMESTAMP_IN_THE_FUTURE="TIMESTAMP_IN_THE_FUTURE",at.JOIN_DELTA_AMOUNTS="JOIN_DELTA_AMOUNTS",at.EXIT_DELTA_AMOUNTS="EXIT_DELTA_AMOUNTS";class nt extends Error{constructor(e){super(nt.getMessage(e)),this.code=e,this.name="BalancerError"}static getMessage(e){switch(e){case exports.BalancerErrorCode.SWAP_ZERO_RETURN_AMOUNT:return"queryBatchSwapWithSor returned 0 amount";case exports.BalancerErrorCode.UNWRAP_ZERO_AMOUNT:return"swapUnwrapAaveStaticExactIn unwrapped amount < 0";case exports.BalancerErrorCode.WRAP_ZERO_AMOUNT:return"swapUnwrapAaveStaticExactOut wrapped amount < 0";case exports.BalancerErrorCode.QUERY_BATCH_SWAP:return"queryBatchSwap on chain call error";case exports.BalancerErrorCode.POOL_DOESNT_EXIST:return"balancer pool does not exist";case exports.BalancerErrorCode.UNSUPPORTED_POOL_TYPE:return"unsupported pool type";case exports.BalancerErrorCode.UNSUPPORTED_PAIR:return"unsupported token pair";case exports.BalancerErrorCode.NO_POOL_DATA:return"no pool data";case exports.BalancerErrorCode.INPUT_OUT_OF_BOUNDS:return"input out of bounds";case exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH:return"input length mismatch";case exports.BalancerErrorCode.INPUT_TOKEN_INVALID:return"input token invalid";case exports.BalancerErrorCode.TOKEN_MISMATCH:return"token mismatch";case exports.BalancerErrorCode.MISSING_DECIMALS:return"missing decimals";case exports.BalancerErrorCode.MISSING_TOKENS:return"missing tokens";case exports.BalancerErrorCode.MISSING_AMP:return"missing amp";case exports.BalancerErrorCode.MISSING_PRICE_RATE:return"missing price rate";case exports.BalancerErrorCode.MISSING_WEIGHT:return"missing weight";case exports.BalancerErrorCode.INPUT_ZERO_NOT_ALLOWED:return"zero input not allowed";case exports.BalancerErrorCode.RELAY_SWAP_AMOUNTS:return"Error when checking swap amounts";case exports.BalancerErrorCode.NO_VALUE_PARAMETER:return"Illegal value passed as parameter";case exports.BalancerErrorCode.TIMESTAMP_IN_THE_FUTURE:return"Timestamp cannot be in the future";case exports.BalancerErrorCode.ILLEGAL_PARAMETER:return"An illegal parameter has been passed";case exports.BalancerErrorCode.JOIN_DELTA_AMOUNTS:return"Error when checking join call deltas";case exports.BalancerErrorCode.EXIT_DELTA_AMOUNTS:return"Error when checking exit call deltas";default:return"Unknown error"}}}class st{constructor(){this.buildExitExactBPTIn=({exiter:e,pool:n,bptIn:s,slippage:r,shouldUnwrapNativeAsset:i,wrappedNativeAsset:o,singleTokenMaxOut:d})=>{if(!s.length||a.parseFixed(s,18).isNegative())throw new nt(exports.BalancerErrorCode.INPUT_OUT_OF_BOUNDS);if(d&&d!==t.AddressZero&&!n.tokens.map((e=>e.address)).some((e=>We(e,d))))throw new nt(exports.BalancerErrorCode.TOKEN_MISMATCH);if(!i&&d===t.AddressZero)throw new Error("shouldUnwrapNativeAsset and singleTokenMaxOut should not have conflicting values");if(n.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(!n.amp)throw new nt(exports.BalancerErrorCode.MISSING_AMP);const{parsedTokens:p,parsedAmp:l,parsedTotalShares:u,parsedSwapFee:y,upScaledBalances:b,scalingFactors:m}=ne(n),f=p.map((e=>e===o?t.AddressZero:e)),h=new q(o),[T,g,x]=h.sortTokens(i?f:p,b,m);let I,w=Array(p.length).fill("0"),S=Array(p.length).fill("0");if(d){const e=p.indexOf(d),t=E.StableMathBigInt._calcTokenOutGivenExactBptIn(BigInt(l),g.map((e=>BigInt(e))),e,BigInt(s),BigInt(u),BigInt(y)).toString();w[e]=t,S[e]=Ye(a.BigNumber.from(t),a.BigNumber.from(r)).toString(),I=A.exitExactBPTInForOneTokenOut(s,e)}else{const e=function(e,t){const a=new Array(e.length);for(let n=0;n<e.length;++n)a[n]=te.divDownFixed(e[n],t[n]);return a}(E.StableMathBigInt._calcTokensOutGivenExactBptIn(g.map((e=>BigInt(e))),BigInt(s),BigInt(u)).map((e=>e.toString())).map((e=>BigInt(e))),x.map((e=>BigInt(e))));w=e.map((e=>e.toString())),S=e.map((e=>Ye(a.BigNumber.from(e),a.BigNumber.from(r)).toString())),I=A.exitExactBPTInForTokensOut(s)}const P=Qe,B="exitPool",_={poolId:n.id,sender:e,recipient:e,exitPoolRequest:{assets:T,minAmountsOut:S,userData:I,toInternalBalance:!1}};return{to:P,functionName:B,attributes:_,data:c.Vault__factory.createInterface().encodeFunctionData(B,[_.poolId,_.sender,_.recipient,_.exitPoolRequest]),expectedAmountsOut:w,minAmountsOut:S}},this.buildExitExactTokensOut=({exiter:e,pool:t,tokensOut:n,amountsOut:s,slippage:r,wrappedNativeAsset:i})=>{if(n.length!=s.length||n.length!=t.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);if(t.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(!t.amp)throw new nt(exports.BalancerErrorCode.MISSING_AMP);const{parsedTokens:o,parsedAmp:d,parsedTotalShares:p,parsedSwapFee:l,upScaledBalances:u,scalingFactors:y}=ne(t),b=new q(i),[,m,f]=b.sortTokens(o,u,y),[h,T]=b.sortTokens(n,s),g=ee(T.map((e=>BigInt(e))),f.map((e=>BigInt(e)))),x=E.StableMathBigInt._calcBptInGivenExactTokensOut(BigInt(d),m.map((e=>BigInt(e))),g,BigInt(p),BigInt(l)).toString(),I=ze(a.BigNumber.from(x),a.BigNumber.from(r)).toString(),w=A.exitBPTInForExactTokensOut(T,I),S=Qe,P="exitPool",B={poolId:t.id,sender:e,recipient:e,exitPoolRequest:{assets:h,minAmountsOut:T,userData:w,toInternalBalance:!1}};return{to:S,functionName:P,attributes:B,data:c.Vault__factory.createInterface().encodeFunctionData(P,[B.poolId,B.sender,B.recipient,B.exitPoolRequest]),expectedBPTIn:x,maxBPTIn:I}}}}class rt{constructor(){this.buildJoin=({joiner:e,pool:n,tokensIn:s,amountsIn:r,slippage:i,wrappedNativeAsset:o})=>{if(s.length!=r.length||s.length!=n.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);if(n.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(!n.amp)throw new nt(exports.BalancerErrorCode.MISSING_AMP);const{parsedTokens:d,parsedAmp:p,parsedTotalShares:l,parsedSwapFee:u,scalingFactors:y,upScaledBalances:b}=ne(n),m=new q(o),[f,h]=m.sortTokens(s,r),[,T,g]=m.sortTokens(d,b,y),x=ee(h.map((e=>BigInt(e))),g.map((e=>BigInt(e)))),I=E.StableMathBigInt._calcBptOutGivenExactTokensIn(BigInt(p),T.map((e=>BigInt(e))),x,BigInt(l),BigInt(u)).toString(),w=Ye(a.BigNumber.from(I),a.BigNumber.from(i)).toString(),S=A.joinExactTokensInForBPTOut(h,w),P=Qe,B="joinPool",_={poolId:n.id,sender:e,recipient:e,joinPoolRequest:{assets:f,maxAmountsIn:h,userData:S,fromInternalBalance:!1}},O=c.Vault__factory.createInterface().encodeFunctionData(B,[_.poolId,_.sender,_.recipient,_.joinPoolRequest]),v=r.filter(((e,a)=>s[a]===t.AddressZero));return{to:P,functionName:B,attributes:_,data:O,value:v[0]?a.BigNumber.from(v[0]):void 0,minBPTOut:w,expectedBPTOut:I}}}}class it{calcTotal(e){var t,n;let s=a.BigNumber.from(0),r=a.BigNumber.from(0);for(let a=0;a<e.length;a++){const n=e[a];if(!(null===(t=n.price)||void 0===t?void 0:t.usd))continue;const i=Ue(n.price.usd.toString(),18),o=Ue(n.balance,18),d=o.mul(i);r=r.add(d),s=s.add(o)}if(s.gt(0)){const t=r.div(s);for(let a=0;a<e.length;a++){const i=e[a];if(null===(n=i.price)||void 0===n?void 0:n.usd)continue;const o=Ue(i.balance,18),d=o.mul(t);r=r.add(d),s=s.add(o)}}return a.formatFixed(r,36).toString()}}class ot{calcPoolSpotPrice(e,t,a){const n=p.StablePool.fromPool(a),s=n.parsePoolPairData(e,t);return n._spotPriceAfterSwapExactTokenInForTokenOut(s,p.ZERO).toString()}}function dt(e,t,a){return a?function(e,t){const a=J-te.divDownFixed(e,t);return a<0?BigInt(0):a}(e,t):function(e,t){const a=te.divDownFixed(e,t)-J;return a<0?BigInt(0):a}(e,t)}const pt=BigInt(1e3);function ct(e,t,a,n){const s=t.length,r=function(e,t,a){let n=Z;const s=t.length;for(let e=0;e<s;e++)n+=t[e];if(n==Z)return Z;let r=Z,i=n;const o=e*BigInt(s);for(let e=0;e<255;e++){let e=t[0]*BigInt(s);for(let n=1;n<s;n++)e=te.div(te.mul(te.mul(e,t[n]),BigInt(s)),i,a);if(r=i,i=te.div(te.mul(te.mul(BigInt(s),i),i)+te.div(te.mul(te.mul(o,n),e),pt,a),te.mul(BigInt(s+1),i)+te.div(te.mul(o-pt,e),pt,!a),a),i>r){if(i-r<=1)return i}else if(r-i<=1)return i}throw new Error("Errors.STABLE_INVARIANT_DIDNT_CONVERGE")}(e,t,!0);let i=Z,o=r/BigInt(s);for(let e=0;e<s;e++)e!=n&&(i+=t[e],o=o*r/(BigInt(s)*t[e]));const d=t[n],p=e*BigInt(s),c=p*i,l=BigInt(pt)-p,u=BigInt(2)*p*d+c+l*r,y=o*BigInt(s+1)*pt-l*d;return te.divUpFixed(u*a/y,r)}class lt{bptZeroPriceImpact(e,t){if(t.length!==e.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);const{parsedBalances:a,parsedDecimals:n,parsedAmp:s,parsedTotalShares:r}=ne(e),i=n.map((e=>{if(!e)throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);return BigInt(e)}));if(!s)throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);const o=BigInt(r),d=i.map((e=>z(BigInt(e)))),p=a.map(((e,t)=>Q(BigInt(e),d[t])));let c=Z;for(let e=0;e<p.length;e++){const a=ct(BigInt(s),p,o,e),n=z(BigInt(i[e]));c+=a*Q(t[e],n)/J}return c}calcPriceImpact(e,t,a,n){const s=this.bptZeroPriceImpact(e,t.map((e=>BigInt(e))));return dt(BigInt(a),s,n).toString()}}class ut{constructor(e=new st,t=new rt,a=new it,n=new ot,s=new lt){this.exit=e,this.join=t,this.liquidity=a,this.spotPriceCalculator=n,this.priceImpactCalculator=s}}class yt{calcPoolSpotPrice(e,t,a){const n=p.PhantomStablePool.fromPool(a),s=n.parsePoolPairData(e,t);return n._spotPriceAfterSwapExactTokenInForTokenOut(s,p.ZERO).toString()}}class bt{bptZeroPriceImpact(e,t){if(t.length!==e.tokensList.length-1)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);const a=d.cloneDeep(e.tokensList),n=a.findIndex((t=>t==e.address)),{parsedBalances:s,parsedDecimals:r,parsedPriceRates:i,parsedAmp:o,parsedTotalShares:p}=ne(e),c=r.map((e=>{if(!e)throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);return BigInt(e)})),l=i.map((e=>{if(!e)throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);return BigInt(e)}));if(!o)throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);const u=BigInt(p);a.splice(n,1);const y=c.map((e=>z(BigInt(e)))),b=s.map(((e,t)=>Q(BigInt(e),y[t])));if(t.length!==a.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);b.splice(n,1);const m=b.map(((e,t)=>te.mulDownFixed(e,l[t])));let f=Z;for(let e=0;e<a.length;e++){const a=ct(BigInt(o),m,u,e)*l[e]/J,n=z(BigInt(c[e]));f+=a*Q(t[e],n)/J}return f}calcPriceImpact(e,t,a,n){const s=this.bptZeroPriceImpact(e,t.map((e=>BigInt(e))));return dt(BigInt(a),s,n).toString()}}class mt{constructor(){this.buildJoin=({joiner:e,pool:n,tokensIn:s,amountsIn:r,slippage:i,wrappedNativeAsset:o})=>{if(s.length!=r.length||s.length!=n.tokensList.length-1)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);if(n.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);const d=new q(o),[,l]=d.sortTokens(s,r),{parsedTokens:u,parsedAmp:y,parsedSwapFee:b,parsedTotalShares:m,scalingFactorsWithoutBpt:f,parsedBalancesWithoutBpt:h,bptIndex:T}=ne(n,o);if(!y)throw new nt(exports.BalancerErrorCode.MISSING_AMP);const g=ee(l.map(BigInt),f.map(BigInt)),x=p.StableMathBigInt._calcBptOutGivenExactTokensIn(BigInt(y),h.map(BigInt),g,BigInt(m),BigInt(b)).toString(),I=Ye(a.BigNumber.from(x),a.BigNumber.from(i)).toString(),w=O.joinExactTokensInForBPTOut(l,I),E="joinPool",A={poolId:n.id,sender:e,recipient:e,joinPoolRequest:{assets:u,maxAmountsIn:$e(l,T,"0"),userData:w,fromInternalBalance:!1}},S=c.Vault__factory.createInterface().encodeFunctionData(E,[A.poolId,A.sender,A.recipient,A.joinPoolRequest]),P=r.filter(((e,a)=>s[a]===t.AddressZero)),B=P[0]?a.BigNumber.from(P[0]):void 0;return{to:Qe,functionName:E,attributes:A,data:S,value:B,minBPTOut:I,expectedBPTOut:x}}}}class ft{constructor(){this.buildExitExactBPTIn=({exiter:e,pool:t,bptIn:a,slippage:n,shouldUnwrapNativeAsset:s,wrappedNativeAsset:r,singleTokenMaxOut:i})=>{throw new Error("To be implemented")},this.buildExitExactTokensOut=({exiter:e,pool:t,tokensOut:a,amountsOut:n,slippage:s,wrappedNativeAsset:r})=>{throw new Error("To be implemented")}}}class ht{constructor(e=new ft,t=new it,a=new yt,n=new bt,s=new mt){this.exit=e,this.liquidity=t,this.spotPriceCalculator=a,this.priceImpactCalculator=n,this.join=s}}class Tt{constructor(){this.buildExitExactBPTIn=({exiter:e,pool:n,bptIn:s,slippage:r,shouldUnwrapNativeAsset:i,wrappedNativeAsset:o,singleTokenMaxOut:d})=>{if(!s.length||a.parseFixed(s,18).isNegative())throw new nt(exports.BalancerErrorCode.INPUT_OUT_OF_BOUNDS);if(d&&d!==t.AddressZero&&!n.tokens.map((e=>e.address)).some((e=>We(e,d))))throw new nt(exports.BalancerErrorCode.TOKEN_MISMATCH);if(!i&&d===t.AddressZero)throw new Error("shouldUnwrapNativeAsset and singleTokenMaxOut should not have conflicting values");const{parsedTokens:p,parsedBalances:l,parsedWeights:u,parsedTotalShares:y,parsedSwapFee:b}=ne(n),m=p.map((e=>e===o?t.AddressZero:e)),f=new q(o),[h,T,g]=f.sortTokens(i?m:p,l,u);let x,I=Array(h.length).fill("0"),w=Array(h.length).fill("0");if(d){const e=h.indexOf(d),t=E.WeightedMaths._calcTokenOutGivenExactBptIn(BigInt(T[e]),BigInt(g[e]),BigInt(s),BigInt(y),BigInt(b)).toString();I[e]=t,w[e]=Ye(a.BigNumber.from(t),a.BigNumber.from(r)).toString(),x=S.exitExactBPTInForOneTokenOut(s,e)}else I=E.WeightedMaths._calcTokensOutGivenExactBptIn(T.map((e=>BigInt(e))),BigInt(s),BigInt(y)).map((e=>e.toString())),w=I.map((e=>Ye(a.BigNumber.from(e),a.BigNumber.from(r)).toString())),x=S.exitExactBPTInForTokensOut(s);const A=Qe,P="exitPool",B={poolId:n.id,sender:e,recipient:e,exitPoolRequest:{assets:h,minAmountsOut:w,userData:x,toInternalBalance:!1}};return{to:A,functionName:P,attributes:B,data:c.Vault__factory.createInterface().encodeFunctionData(P,[B.poolId,B.sender,B.recipient,B.exitPoolRequest]),expectedAmountsOut:I,minAmountsOut:w}},this.buildExitExactTokensOut=({exiter:e,pool:t,tokensOut:n,amountsOut:s,slippage:r,wrappedNativeAsset:i})=>{if(n.length!=s.length||n.length!=t.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);const{parsedTokens:o,parsedBalances:d,parsedWeights:p,parsedTotalShares:l,parsedSwapFee:u}=ne(t),y=new q(i),[,b,m]=y.sortTokens(o,d,p),[f,h]=y.sortTokens(n,s),T=E.WeightedMaths._calcBptInGivenExactTokensOut(b.map((e=>BigInt(e))),m.map((e=>BigInt(e))),h.map((e=>BigInt(e))),BigInt(l),BigInt(u)).toString(),g=ze(a.BigNumber.from(T),a.BigNumber.from(r)).toString(),x=S.exitBPTInForExactTokensOut(h,g),I=Qe,w="exitPool",A={poolId:t.id,sender:e,recipient:e,exitPoolRequest:{assets:f,minAmountsOut:h,userData:x,toInternalBalance:!1}};return{to:I,functionName:w,attributes:A,data:c.Vault__factory.createInterface().encodeFunctionData(w,[A.poolId,A.sender,A.recipient,A.exitPoolRequest]),expectedBPTIn:T,maxBPTIn:g}}}}class gt{constructor(){this.buildJoin=({joiner:e,pool:n,tokensIn:s,amountsIn:r,slippage:i,wrappedNativeAsset:o})=>{if(s.length!=r.length||s.length!=n.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);if(n.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(n.tokens.some((e=>!e.weight)))throw new nt(exports.BalancerErrorCode.MISSING_WEIGHT);const{parsedTokens:d,parsedBalances:l,parsedWeights:u,parsedTotalShares:y,parsedSwapFee:b}=ne(n),m=new q(o),[f,h]=m.sortTokens(s,r),[,T,g]=m.sortTokens(d,l,u),x=p.WeightedMaths._calcBptOutGivenExactTokensIn(T.map((e=>BigInt(e))),g.map((e=>BigInt(e))),h.map((e=>BigInt(e))),BigInt(y),BigInt(b)).toString(),I=Ye(a.BigNumber.from(x),a.BigNumber.from(i)).toString(),w=S.joinExactTokensInForBPTOut(h,I),E=Qe,A="joinPool",P={poolId:n.id,sender:e,recipient:e,joinPoolRequest:{assets:f,maxAmountsIn:h,userData:w,fromInternalBalance:!1}},B=c.Vault__factory.createInterface().encodeFunctionData(A,[P.poolId,P.sender,P.recipient,P.joinPoolRequest]),_=r.filter(((e,a)=>s[a]===t.AddressZero));return{to:E,functionName:A,attributes:P,data:B,value:_[0]?a.BigNumber.from(_[0]):void 0,minBPTOut:I,expectedBPTOut:x}}}}class xt{calcTotal(e){var t;let n=a.BigNumber.from(0),s=a.BigNumber.from(0);for(let a=0;a<e.length;a++){const r=e[a];if(!(null===(t=r.price)||void 0===t?void 0:t.usd))continue;let i;i=parseFloat(r.price.usd)<1?Ue(parseFloat(r.price.usd).toFixed(10),10).mul(1e8):Ue(r.price.usd,18);const o=Ue(r.balance,18),d=Ue(r.weight||"0",18),p=o.mul(i);s=s.add(p),n=n.add(d)}const r=e.reduce(((e,t)=>e.add(Ue(t.weight||"0",18))),a.BigNumber.from(0));if(n.gt(0)){return Ge(s.mul(r).div(n),36)}return"0"}}class It{calcPoolSpotPrice(e,t,a){const n=e===a.address||t===a.address;if(n){const e={address:a.address,balance:a.totalShares,decimals:18,priceRate:"1",weight:"0"};a.tokens.push(e),a.tokensList.push(a.address)}const s=p.WeightedPool.fromPool(a),r=s.parsePoolPairData(e,t),i=s._spotPriceAfterSwapExactTokenInForTokenOut(r,p.ZERO).toString();return n&&(a.tokens.pop(),a.tokensList.pop()),i}}class wt{bptZeroPriceImpact(e,t){if(t.length!==e.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);const{parsedBalances:a,parsedDecimals:n,parsedTotalShares:s,parsedWeights:r}=ne(e),i=BigInt(s),o=d.cloneDeep(e.tokensList);let p=Z;for(let e=0;e<o.length;e++){const s=n[e];let o,d;if(!s)throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);o=z(BigInt(s)),d=Q(BigInt(a[e]),o);const c=r[e];let l;if(!c)throw new nt(exports.BalancerErrorCode.MISSING_WEIGHT);l=BigInt(c);p+=l*i/d*Q(t[e],o)/J}return p}calcPriceImpact(e,t,a,n){const s=this.bptZeroPriceImpact(e,t.map((e=>BigInt(e))));return dt(BigInt(a),s,n).toString()}}class Et{constructor(e=new Tt,t=new gt,a=new xt,n=new It,s=new wt){this.exit=e,this.join=t,this.liquidity=a,this.spotPriceCalculator=n,this.priceImpactCalculator=s}}class At{constructor(){this.buildExitExactBPTIn=({exiter:e,pool:n,bptIn:s,slippage:r,shouldUnwrapNativeAsset:i,wrappedNativeAsset:o,singleTokenMaxOut:d})=>{if(!s.length||a.parseFixed(s,18).isNegative())throw new nt(exports.BalancerErrorCode.INPUT_OUT_OF_BOUNDS);if(d&&d!==t.AddressZero&&!n.tokens.map((e=>e.address)).some((e=>We(e,d))))throw new nt(exports.BalancerErrorCode.TOKEN_MISMATCH);if(!i&&d===t.AddressZero)throw new Error("shouldUnwrapNativeAsset and singleTokenMaxOut should not have conflicting values");if(n.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(!n.amp)throw new nt(exports.BalancerErrorCode.MISSING_AMP);if(n.tokens.some((e=>!e.priceRate)))throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);const{parsedTokens:p,parsedBalances:l,parsedAmp:u,parsedPriceRates:y,parsedTotalShares:b,parsedSwapFee:m}=ne(n),f=p.map((e=>e===o?t.AddressZero:e)),h=new q(o),[T,g,x]=h.sortTokens(i?f:p,l,y),I=g.map(((e,t)=>a.BigNumber.from(e).mul(a.BigNumber.from(x[t])).div(a.parseFixed("1",18)).toString()));let w,S=Array(p.length).fill("0"),P=Array(p.length).fill("0");if(d){const e=T.indexOf(d),t=E.StableMathBigInt._calcTokenOutGivenExactBptIn(BigInt(u),I.map((e=>BigInt(e))),e,BigInt(s),BigInt(b),BigInt(m)).toString(),n=a.BigNumber.from(t).div(a.BigNumber.from(x[e])).mul(a.parseFixed("1",18)).toString();S[e]=n,P[e]=Ye(a.BigNumber.from(n),a.BigNumber.from(r)).toString(),w=A.exitExactBPTInForOneTokenOut(s,e)}else{S=E.StableMathBigInt._calcTokensOutGivenExactBptIn(I.map((e=>BigInt(e))),BigInt(s),BigInt(b)).map((e=>e.toString())).map(((e,t)=>a.BigNumber.from(e).mul(a.parseFixed("1",18)).div(a.BigNumber.from(x[t])).toString())),P=S.map((e=>Ye(a.BigNumber.from(e),a.BigNumber.from(r)).toString())),w=A.exitExactBPTInForTokensOut(s)}const B=Qe,_="exitPool",O={poolId:n.id,sender:e,recipient:e,exitPoolRequest:{assets:T,minAmountsOut:P,userData:w,toInternalBalance:!1}};return{to:B,functionName:_,attributes:O,data:c.Vault__factory.createInterface().encodeFunctionData(_,[O.poolId,O.sender,O.recipient,O.exitPoolRequest]),expectedAmountsOut:S,minAmountsOut:P}},this.buildExitExactTokensOut=({exiter:e,pool:t,tokensOut:n,amountsOut:s,slippage:r,wrappedNativeAsset:i})=>{if(n.length!=s.length||n.length!=t.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);if(t.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(!t.amp)throw new nt(exports.BalancerErrorCode.MISSING_AMP);if(t.tokens.some((e=>!e.priceRate)))throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);const{parsedTokens:o,parsedBalances:d,parsedPriceRates:p,parsedAmp:l,parsedTotalShares:u,parsedSwapFee:y}=ne(t),b=new q(i),[,m,f]=b.sortTokens(o,d,p),[h,T]=b.sortTokens(n,s),g=T.map(((e,t)=>a.BigNumber.from(e).mul(a.BigNumber.from(f[t])).div(a.parseFixed("1",18)).toString())),x=m.map(((e,t)=>a.BigNumber.from(e).mul(a.BigNumber.from(f[t])).div(a.parseFixed("1",18)).toString())),I=E.StableMathBigInt._calcBptInGivenExactTokensOut(BigInt(l),x.map((e=>BigInt(e))),g.map((e=>BigInt(e))),BigInt(u),BigInt(y)).toString(),w=ze(a.BigNumber.from(I),a.BigNumber.from(r)).toString(),S=A.exitBPTInForExactTokensOut(T,w),P=T.map(((e,t)=>e===g[t]?e:a.BigNumber.from(e).sub(1).toString())),B=Qe,_="exitPool",O={poolId:t.id,sender:e,recipient:e,exitPoolRequest:{assets:h,minAmountsOut:P,userData:S,toInternalBalance:!1}};return{to:B,functionName:_,attributes:O,data:c.Vault__factory.createInterface().encodeFunctionData(_,[O.poolId,O.sender,O.recipient,O.exitPoolRequest]),expectedBPTIn:I,maxBPTIn:w}}}}class St{constructor(){this.buildJoin=({joiner:e,pool:n,tokensIn:s,amountsIn:r,slippage:i,wrappedNativeAsset:o})=>{if(s.length!=r.length||s.length!=n.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);if(n.tokens.some((e=>!e.decimals)))throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);if(!n.amp)throw new nt(exports.BalancerErrorCode.MISSING_AMP);if(n.tokens.some((e=>!e.priceRate)))throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);const{parsedTokens:d,parsedBalances:p,parsedPriceRates:l,parsedAmp:u,parsedTotalShares:y,parsedSwapFee:b}=ne(n),m=new q(o),[f,h]=m.sortTokens(s,r),[,T,g]=m.sortTokens(d,p,l),x=h.map(((e,t)=>a.BigNumber.from(e).mul(a.BigNumber.from(g[t])).div(a.parseFixed("1",18)).toString())),I=T.map(((e,t)=>a.BigNumber.from(e).mul(a.BigNumber.from(g[t])).div(a.parseFixed("1",18)).toString())),w=E.StableMathBigInt._calcBptOutGivenExactTokensIn(BigInt(u),I.map((e=>BigInt(e))),x.map((e=>BigInt(e))),BigInt(y),BigInt(b)).toString(),S=Ye(a.BigNumber.from(w),a.BigNumber.from(i)).toString(),P=A.joinExactTokensInForBPTOut(h,S),B=Qe,_="joinPool",O={poolId:n.id,sender:e,recipient:e,joinPoolRequest:{assets:f,maxAmountsIn:h,userData:P,fromInternalBalance:!1}},v=c.Vault__factory.createInterface().encodeFunctionData(_,[O.poolId,O.sender,O.recipient,O.joinPoolRequest]),k=r.filter(((e,a)=>s[a]===t.AddressZero));return{to:B,functionName:_,attributes:O,data:v,value:k[0]?a.BigNumber.from(k[0]):void 0,minBPTOut:S,expectedBPTOut:w}}}}class Pt{calcTotal(e){var n,s;let r=t.Zero,i=t.Zero;for(let t=0;t<e.length;t++){const a=e[t];if(!(null===(n=a.price)||void 0===n?void 0:n.usd))continue;const s=Ue(a.price.usd.toString(),18),o=Ue(a.balance,18),d=o.mul(s);i=i.add(d),r=r.add(o)}if(r.gt(0)){const t=i.div(r);for(let a=0;a<e.length;a++){const n=e[a];if(null===(s=n.price)||void 0===s?void 0:s.usd)continue;const o=Ue(n.balance,18),d=o.mul(t);i=i.add(d),r=r.add(o)}}return a.formatFixed(i,36).toString()}}class Bt{calcPoolSpotPrice(e,t,a){const n=p.MetaStablePool.fromPool(a),s=n.parsePoolPairData(e,t);return n._spotPriceAfterSwapExactTokenInForTokenOut(s,p.ZERO).toString()}}class _t{bptZeroPriceImpact(e,t){if(t.length!==e.tokensList.length)throw new nt(exports.BalancerErrorCode.INPUT_LENGTH_MISMATCH);const{parsedBalances:a,parsedDecimals:n,parsedPriceRates:s,parsedAmp:r,parsedTotalShares:i}=ne(e),o=BigInt(i),d=n.map((e=>{if(!e)throw new nt(exports.BalancerErrorCode.MISSING_DECIMALS);return BigInt(e)})),p=s.map((e=>{if(!e)throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);return BigInt(e)}));if(!r)throw new nt(exports.BalancerErrorCode.MISSING_PRICE_RATE);const c=d.map((e=>z(BigInt(e)))),l=a.map(((e,t)=>Q(BigInt(e),c[t]))),u=l.map(((e,t)=>te.mulDownFixed(e,p[t])));let y=Z;for(let a=0;a<l.length;a++){const n=ct(BigInt(r),u,o,a)*p[a]/J,s=z(BigInt(e.tokens[a].decimals));y+=n*Q(t[a],s)/J}return y}calcPriceImpact(e,t,a,n){const s=this.bptZeroPriceImpact(e,t.map((e=>BigInt(e))));return dt(BigInt(a),s,n).toString()}}class Ot{constructor(e=new At,t=new St,a=new Pt,n=new Bt,s=new _t){this.exit=e,this.join=t,this.liquidity=a,this.spotPriceCalculator=n,this.priceImpactCalculator=s}}class vt{constructor(){this.buildExitExactBPTIn=({exiter:e,pool:t,bptIn:a,slippage:n,shouldUnwrapNativeAsset:s,wrappedNativeAsset:r,singleTokenMaxOut:i})=>{throw new Error("To be implemented")},this.buildExitExactTokensOut=({exiter:e,pool:t,tokensOut:a,amountsOut:n,slippage:s,wrappedNativeAsset:r})=>{throw new Error("To be implemented")}}}class kt{constructor(){this.buildJoin=({joiner:e,pool:t,tokensIn:a,amountsIn:n,slippage:s,wrappedNativeAsset:r})=>{throw new Error("To be implemented")}}}class Nt{constructor(e=new vt,t=new kt,a=new it,n=new yt,s=new bt){this.exit=e,this.join=t,this.liquidity=a,this.spotPriceCalculator=n,this.priceImpactCalculator=s}}class Ct{constructor(){this.buildExitExactBPTIn=({exiter:e,pool:t,bptIn:a,slippage:n,shouldUnwrapNativeAsset:s,wrappedNativeAsset:r,singleTokenMaxOut:i})=>{throw new Error("To be implemented")},this.buildExitExactTokensOut=({exiter:e,pool:t,tokensOut:a,amountsOut:n,slippage:s,wrappedNativeAsset:r})=>{throw new Error("To be implemented")}}}class Dt{constructor(){this.buildJoin=({joiner:e,pool:t,tokensIn:a,amountsIn:n,slippage:s,wrappedNativeAsset:r})=>{throw new Error("To be implemented")}}}const Ft=18,Rt=Ue("1",Ft);class Mt{calcTotal(e){var a,n;let s=t.Zero,r=t.Zero;for(let t=0;t<e.length;t++){const n=e[t];if(!(null===(a=n.price)||void 0===a?void 0:a.usd))continue;const i=Ue(n.price.usd.toString(),Ft),o=Ue(n.balance,Ft),d=o.mul(i);r=r.add(d),s=s.add(o)}if(s.gt(0)){const t=r.div(s);for(let a=0;a<e.length;a++){const i=e[a];if(null===(n=i.price)||void 0===n?void 0:n.usd)continue;const o=Ue(i.priceRate||"1",Ft),d=Ue(i.balance,Ft).mul(o).div(Rt),p=d.mul(t);r=r.add(p),s=s.add(d)}}return Ge(r,36)}}class Lt{calcPoolSpotPrice(e,t,a){const n=p.LinearPool.fromPool(a),s=n.parsePoolPairData(e,t);return n._spotPriceAfterSwapExactTokenInForTokenOut(s,p.ZERO).toString()}}class Ut{bptZeroPriceImpact(e,t){throw new Error("Linear Pool bptZeroPriceImpact Not Implented")}calcPriceImpact(e,t,a){throw new Error("Linear Pool Price Impact Not Implented")}}class Gt{constructor(e=new Ct,t=new Dt,a=new Mt,n=new Lt,s=new Ut){this.exit=e,this.join=t,this.liquidity=a,this.spotPriceCalculator=n,this.priceImpactCalculator=s}}class qt{constructor(e,t=new Et,a=new ut,n=new ht,s=new Ot,r=new Nt,i=new Gt){this.weighted=t,this.stable=a,this.composableStable=n,this.metaStable=s,this.stablePhantom=r,this.linear=i}static from(e){switch(e){case"Weighted":case"Investment":case"LiquidityBootstrapping":return new Et;case"Stable":return new ut;case"HighAmpComposableStable":case"ComposableStable":return new ht;case"MetaStable":return new Ot;case"StablePhantom":return new Nt;case"AaveLinear":case"EulerLinear":case"ERC4626Linear":return new Gt;default:throw new nt(exports.BalancerErrorCode.UNSUPPORTED_POOL_TYPE)}}}class Wt{constructor(e,t){this.pools=e,this.tokenPrices=t}async getLiquidity(e){if(e.totalLiquidity)return e.totalLiquidity;const t=e.tokens.filter((t=>t.address!==e.address)),n=await Promise.all(t.map((async e=>{const t=await this.pools.findBy("address",e.address);if(!t)return;const a=Ue(await this.getLiquidity(t),18),n=Ue(t.totalShares,18),s=Ue(e.balance,18),r=n.eq(0)?0:a.mul(s).div(n);return{address:t.address,liquidity:r.toString()}}))),s=n.reduce(((e,t)=>e.add(t?t.liquidity:a.BigNumber.from(0))),a.BigNumber.from(0)),r=t.filter((e=>!n.find((t=>(null==t?void 0:t.address)===e.address)))),i=await Promise.all(r.map((async e=>{var t;const a=await this.tokenPrices.find(e.address);return{address:e.address,decimals:e.decimals,priceRate:e.priceRate,price:(null==a?void 0:a.usd)&&a||{usd:null===(t=e.token)||void 0===t?void 0:t.latestUSDPrice},balance:e.balance,weight:e.weight}}))),o=Ue(qt.from(e.poolType).liquidity.calcTotal(i),18);return Ge(s.add(o),18)}}async function $t(e,a,n,s){const r={sender:t.AddressZero,recipient:t.AddressZero,fromInternalBalance:!1,toInternalBalance:!1};try{return(await e.callStatic.queryBatchSwap(a,n,s,r)).map((e=>e.toString()))}catch(e){throw`queryBatchSwap call error: ${e}`}}async function Vt(e,a,n){n.fetchPools.fetchPools&&await e.fetchPools();const s=[],r=[];for(let a=0;a<n.tokensIn.length;a++){const i=await Ht(n.tokensIn[a],n.tokensOut[a],n.swapType,n.amounts[a].toString(),e);if(!i.returnAmount.gt(t.Zero))throw new nt(exports.BalancerErrorCode.SWAP_ZERO_RETURN_AMOUNT);s.push(i.swaps),r.push(i.tokenAddresses)}const i=function(e,t){const a=[...new Set(e.flat())];t.forEach(((t,n)=>{t.forEach((t=>{t.assetInIndex=a.indexOf(e[n][t.assetInIndex]),t.assetOutIndex=a.indexOf(e[n][t.assetOutIndex])}))}));const n=t.flat();return{swaps:n,assets:a}}(r,s),o=n.swapType===exports.SwapType.SwapExactIn?n.tokensOut:n.tokensIn,d=Array(o.length).fill("0");let p=Array(i.assets.length).fill("0");try{p=await $t(a,n.swapType,i.swaps,i.assets),p.length>0&&o.forEach(((e,a)=>{var n;return d[a]=null!==(n=p[i.assets.indexOf(e.toLowerCase())].toString())&&void 0!==n?n:t.Zero.toString()}))}catch(e){throw new nt(exports.BalancerErrorCode.QUERY_BATCH_SWAP)}return{returnAmounts:d,swaps:i.swaps,assets:i.assets,deltas:p.map((e=>e.toString()))}}async function Ht(e,t,a,n,s){const r=a===exports.SwapType.SwapExactIn?p.SwapTypes.SwapExactIn:p.SwapTypes.SwapExactOut;return await s.getSwaps(e.toLowerCase(),t.toLowerCase(),r,n)}var jt=function(){return jt=Object.assign||function(e){for(var t,a=1,n=arguments.length;a<n;a++)for(var s in t=arguments[a])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},jt.apply(this,arguments)},Kt=new Map,Zt=new Map,Xt=!0,Jt=!1;function Yt(e){return e.replace(/[\s,]+/g," ").trim()}function zt(e){var t=new Set,a=[];return e.definitions.forEach((function(e){if("FragmentDefinition"===e.kind){var n=e.name.value,s=Yt((i=e.loc).source.body.substring(i.start,i.end)),r=Zt.get(n);r&&!r.has(s)?Xt&&console.warn("Warning: fragment with name "+n+" already exists.\ngraphql-tag enforces all fragment names across your application to be unique; read more about\nthis in the docs: http://dev.apollodata.com/core/fragments.html#unique-names"):r||Zt.set(n,r=new Set),r.add(s),t.has(s)||(t.add(s),a.push(e))}else a.push(e);var i})),jt(jt({},e),{definitions:a})}function Qt(e){var t=Yt(e);if(!Kt.has(t)){var a=y.parse(e,{experimentalFragmentVariables:Jt,allowLegacyFragmentVariables:Jt});if(!a||"Document"!==a.kind)throw new Error("Not a valid GraphQL document.");Kt.set(t,function(e){var t=new Set(e.definitions);t.forEach((function(e){e.loc&&delete e.loc,Object.keys(e).forEach((function(a){var n=e[a];n&&"object"==typeof n&&t.add(n)}))}));var a=e.loc;return a&&(delete a.startToken,delete a.endToken),e}(zt(a)))}return Kt.get(t)}function ea(e){for(var t=[],a=1;a<arguments.length;a++)t[a-1]=arguments[a];"string"==typeof e&&(e=[e]);var n=e[0];return t.forEach((function(t,a){t&&"Document"===t.kind?n+=t.loc.source.body:n+=t,n+=e[a+1]})),Qt(n)}var ta,aa=ea,na=function(){Kt.clear(),Zt.clear()},sa=function(){Xt=!1},ra=function(){Jt=!0},ia=function(){Jt=!1};(ta=ea||(ea={})).gql=aa,ta.resetCaches=na,ta.disableFragmentWarnings=sa,ta.enableExperimentalFragmentVariables=ra,ta.disableExperimentalFragmentVariables=ia,ea.default=ea;var oa,da,pa,ca,la,ua,ya,ba,ma,fa,ha,Ta,ga,xa,Ia,wa,Ea,Aa,Sa,Pa,Ba,_a,Oa,va,ka,Na,Ca,Da=ea;!function(e){e.EndAmp="endAmp",e.EndTimestamp="endTimestamp",e.Id="id",e.PoolId="poolId",e.ScheduledTimestamp="scheduledTimestamp",e.StartAmp="startAmp",e.StartTimestamp="startTimestamp"}(oa||(oa={})),function(e){e.Id="id",e.PoolCount="poolCount",e.Timestamp="timestamp",e.TotalLiquidity="totalLiquidity",e.TotalSwapCount="totalSwapCount",e.TotalSwapFee="totalSwapFee",e.TotalSwapVolume="totalSwapVolume",e.Vault="vault"}(da||(da={})),function(e){e.Id="id",e.PoolCount="poolCount",e.Pools="pools",e.TotalLiquidity="totalLiquidity",e.TotalSwapCount="totalSwapCount",e.TotalSwapFee="totalSwapFee",e.TotalSwapVolume="totalSwapVolume"}(pa||(pa={})),function(e){e.EndTimestamp="endTimestamp",e.EndWeights="endWeights",e.Id="id",e.PoolId="poolId",e.ScheduledTimestamp="scheduledTimestamp",e.StartTimestamp="startTimestamp",e.StartWeights="startWeights"}(ca||(ca={})),function(e){e.Exit="Exit",e.Join="Join"}(la||(la={})),function(e){e.Amounts="amounts",e.Id="id",e.Pool="pool",e.Sender="sender",e.Timestamp="timestamp",e.Tx="tx",e.Type="type",e.User="user",e.ValueUsd="valueUSD"}(ua||(ua={})),function(e){e.Asset="asset",e.Block="block",e.Id="id",e.PoolId="poolId",e.Price="price",e.PricingAsset="pricingAsset"}(ya||(ya={})),function(e){e.CashDelta="cashDelta",e.Id="id",e.ManagedDelta="managedDelta",e.PoolTokenId="poolTokenId",e.Timestamp="timestamp",e.Type="type"}(ba||(ba={})),function(e){e.Deposit="Deposit",e.Update="Update",e.Withdraw="Withdraw"}(ma||(ma={})),function(e){e.Asc="asc",e.Desc="desc"}(fa||(fa={})),function(e){e.Id="id",e.Pool="pool"}(ha||(ha={})),function(e){e.Block="block",e.Id="id",e.PoolId="poolId",e.PoolLiquidity="poolLiquidity",e.PoolShareValue="poolShareValue",e.PoolTotalShares="poolTotalShares",e.PricingAsset="pricingAsset"}(Ta||(Ta={})),function(e){e.Balance="balance",e.Id="id",e.PoolId="poolId",e.UserAddress="userAddress"}(ga||(ga={})),function(e){e.Amounts="amounts",e.HoldersCount="holdersCount",e.Id="id",e.Liquidity="liquidity",e.Pool="pool",e.SwapFees="swapFees",e.SwapVolume="swapVolume",e.SwapsCount="swapsCount",e.Timestamp="timestamp",e.TotalShares="totalShares"}(xa||(xa={})),function(e){e.Address="address",e.AssetManager="assetManager",e.Balance="balance",e.CashBalance="cashBalance",e.Decimals="decimals",e.Id="id",e.Index="index",e.IsExemptFromYieldProtocolFee="isExemptFromYieldProtocolFee",e.ManagedBalance="managedBalance",e.Managements="managements",e.Name="name",e.PoolId="poolId",e.PriceRate="priceRate",e.Symbol="symbol",e.Token="token",e.Weight="weight"}(Ia||(Ia={})),function(e){e.Address="address",e.Alpha="alpha",e.Amp="amp",e.BaseToken="baseToken",e.Beta="beta",e.C="c",e.CreateTime="createTime",e.DSq="dSq",e.Delta="delta",e.Epsilon="epsilon",e.ExpiryTime="expiryTime",e.Factory="factory",e.HistoricalValues="historicalValues",e.HoldersCount="holdersCount",e.Id="id",e.IsInRecoveryMode="isInRecoveryMode",e.IsPaused="isPaused",e.Lambda="lambda",e.LowerTarget="lowerTarget",e.MainIndex="mainIndex",e.ManagementFee="managementFee",e.Name="name",e.OracleEnabled="oracleEnabled",e.Owner="owner",e.PoolType="poolType",e.PoolTypeVersion="poolTypeVersion",e.PriceRateProviders="priceRateProviders",e.PrincipalToken="principalToken",e.ProtocolAumFeeCache="protocolAumFeeCache",e.ProtocolId="protocolId",e.ProtocolSwapFeeCache="protocolSwapFeeCache",e.ProtocolYieldFeeCache="protocolYieldFeeCache",e.Root3Alpha="root3Alpha",e.S="s",e.Shares="shares",e.Snapshots="snapshots",e.SqrtAlpha="sqrtAlpha",e.SqrtBeta="sqrtBeta",e.StrategyType="strategyType",e.SwapEnabled="swapEnabled",e.SwapFee="swapFee",e.Swaps="swaps",e.SwapsCount="swapsCount",e.Symbol="symbol",e.TauAlphaX="tauAlphaX",e.TauAlphaY="tauAlphaY",e.TauBetaX="tauBetaX",e.TauBetaY="tauBetaY",e.Tokens="tokens",e.TokensList="tokensList",e.TotalLiquidity="totalLiquidity",e.TotalShares="totalShares",e.TotalSwapFee="totalSwapFee",e.TotalSwapVolume="totalSwapVolume",e.TotalWeight="totalWeight",e.Tx="tx",e.U="u",e.UnitSeconds="unitSeconds",e.UpperTarget="upperTarget",e.V="v",e.VaultId="vaultID",e.W="w",e.WeightUpdates="weightUpdates",e.WrappedIndex="wrappedIndex",e.Z="z"}(wa||(wa={})),function(e){e.Address="address",e.CacheDuration="cacheDuration",e.CacheExpiry="cacheExpiry",e.Id="id",e.LastCached="lastCached",e.PoolId="poolId",e.Rate="rate",e.Token="token"}(Ea||(Ea={})),function(e){e.EndSwapFeePercentage="endSwapFeePercentage",e.EndTimestamp="endTimestamp",e.Id="id",e.Pool="pool",e.ScheduledTimestamp="scheduledTimestamp",e.StartSwapFeePercentage="startSwapFeePercentage",e.StartTimestamp="startTimestamp"}(Aa||(Aa={})),function(e){e.Caller="caller",e.Id="id",e.PoolId="poolId",e.Timestamp="timestamp",e.TokenAmountIn="tokenAmountIn",e.TokenAmountOut="tokenAmountOut",e.TokenIn="tokenIn",e.TokenInSym="tokenInSym",e.TokenOut="tokenOut",e.TokenOutSym="tokenOutSym",e.Tx="tx",e.UserAddress="userAddress",e.ValueUsd="valueUSD"}(Sa||(Sa={})),function(e){e.Amount="amount",e.Asset="asset",e.Block="block",e.Id="id",e.PoolId="poolId",e.Price="price",e.PricingAsset="pricingAsset",e.Timestamp="timestamp"}(Pa||(Pa={})),function(e){e.Id="id",e.Timestamp="timestamp",e.Token="token",e.TotalBalanceNotional="totalBalanceNotional",e.TotalBalanceUsd="totalBalanceUSD",e.TotalSwapCount="totalSwapCount",e.TotalVolumeNotional="totalVolumeNotional",e.TotalVolumeUsd="totalVolumeUSD"}(Ba||(Ba={})),function(e){e.Address="address",e.Decimals="decimals",e.Id="id",e.LatestFxPrice="latestFXPrice",e.LatestPrice="latestPrice",e.LatestUsdPrice="latestUSDPrice",e.Name="name",e.Pool="pool",e.Symbol="symbol",e.TotalBalanceNotional="totalBalanceNotional",e.TotalBalanceUsd="totalBalanceUSD",e.TotalSwapCount="totalSwapCount",e.TotalVolumeNotional="totalVolumeNotional",e.TotalVolumeUsd="totalVolumeUSD"}(_a||(_a={})),function(e){e.Id="id",e.Pair="pair",e.Timestamp="timestamp",e.TotalSwapFee="totalSwapFee",e.TotalSwapVolume="totalSwapVolume"}(Oa||(Oa={})),function(e){e.Id="id",e.Token0="token0",e.Token1="token1",e.TotalSwapFee="totalSwapFee",e.TotalSwapVolume="totalSwapVolume"}(va||(va={})),function(e){e.Balance="balance",e.Id="id",e.Token="token",e.UserAddress="userAddress"}(ka||(ka={})),function(e){e.Id="id",e.SharesOwned="sharesOwned",e.Swaps="swaps",e.UserInternalBalances="userInternalBalances"}(Na||(Na={})),function(e){e.Allow="allow",e.Deny="deny"}(Ca||(Ca={}));const Fa=Da`
2
2
  fragment SubgraphPoolShare on PoolShare {
3
3
  id
4
4
  balance