{"version":3,"file":"useDisabledJoinPool-a3d8a6ad.js","sources":["../../src/components/_global/icons/StarsIcon.vue","../../src/composables/useDisabledJoinPool.ts"],"sourcesContent":["\n\n\n \n\n","import {\n createdAfterTimestamp,\n filterTokensInList,\n isFx,\n isJoinsDisabled,\n isManaged,\n isStableLike,\n isWeighted,\n noInitLiquidity,\n} from '@/composables/usePoolHelpers';\nimport { computed } from 'vue';\n\nimport { isSameAddress } from '@/lib/utils';\nimport { useTokenLists } from '@/providers/token-lists.provider';\nimport { configService } from '@/services/config/config.service';\nimport { Pool } from '@/services/pool/types';\nimport useWeb3 from '@/services/web3/useWeb3';\nimport { isAddress } from '@ethersproject/address';\nimport { isTestnet } from './useNetwork';\n\nconst POOLS = configService.network.pools;\n\nfunction doesRequireAllowListing(pool: Pool, account: string): boolean {\n const requiresAllowlisting =\n (isStableLike(pool.poolType) && !isFx(pool.poolType)) ||\n isManaged(pool.poolType);\n const isOwnedByUser =\n pool.owner && isAddress(account) && isSameAddress(pool.owner, account);\n const isAllowlisted =\n POOLS.Stable.AllowList.includes(pool.id) ||\n POOLS.Investment.AllowList.includes(pool.id);\n return (\n !isTestnet.value && requiresAllowlisting && !isAllowlisted && !isOwnedByUser\n );\n}\n\nexport function useDisabledJoinPool(pool: Pool) {\n const { account } = useWeb3();\n const { balancerTokenList } = useTokenLists();\n\n const notVettedTokens = computed(() => {\n const vettedTokenAddresses = balancerTokenList.value.tokens.map(\n t => t.address\n );\n\n // Returns tokens whose addresses are not included inside vetted token list\n return filterTokensInList(pool, vettedTokenAddresses);\n });\n\n const nonVettedTokensAfterTimestamp = computed(() => {\n return (\n !isTestnet.value &&\n createdAfterTimestamp(pool) &&\n notVettedTokens.value.length > 0\n );\n });\n\n const nonAllowedWeightedPoolAfterTimestamp = computed(() => {\n return (\n !isTestnet.value &&\n isWeighted(pool.poolType) &&\n createdAfterTimestamp(pool) &&\n !POOLS.Weighted.AllowList.includes(pool.id)\n );\n });\n\n const nonAllowedSymbols = computed(() => {\n return notVettedTokens.value.map(token => token.symbol).join(',');\n });\n\n const notInitialLiquidity = computed(() => {\n return noInitLiquidity(pool);\n });\n\n const requiresAllowListing = computed(() => {\n return doesRequireAllowListing(pool, account.value);\n });\n\n const disableJoinsReason = computed(() => ({\n notInitialLiquidity: notInitialLiquidity.value,\n requiresAllowListing: requiresAllowListing.value,\n nonVettedTokensAfterTimestamp: nonVettedTokensAfterTimestamp.value,\n nonAllowedWeightedPoolAfterTimestamp:\n nonAllowedWeightedPoolAfterTimestamp.value,\n hardcoded: isJoinsDisabled(pool.id),\n }));\n\n const shouldDisableJoins = computed(() => {\n // Returns true if at least one of the disable reasons is true\n return Object.values(disableJoinsReason.value).some(\n reason => reason === true\n );\n });\n\n return {\n nonAllowedSymbols,\n disableJoinsReason,\n shouldDisableJoins,\n };\n}\n"],"names":["theme","useTailwind","gradientId","computed","props","POOLS","configService","doesRequireAllowListing","pool","account","requiresAllowlisting","isStableLike","isFx","isManaged","isOwnedByUser","isAddress","isSameAddress","isAllowlisted","isTestnet","useDisabledJoinPool","useWeb3","balancerTokenList","useTokenLists","notVettedTokens","vettedTokenAddresses","t","filterTokensInList","nonVettedTokensAfterTimestamp","createdAfterTimestamp","nonAllowedWeightedPoolAfterTimestamp","isWeighted","nonAllowedSymbols","token","notInitialLiquidity","noInitLiquidity","requiresAllowListing","disableJoinsReason","isJoinsDisabled","shouldDisableJoins","reason"],"mappings":"kpBAsBA,CAAA,MAAAA,GAAAC,IAKAC,EAAAC,EAAmB,IAAA,kBAAAC,EAAA,YAAAA,EAAA,QACuC,s7ECRpDC,EAAQC,EAAc,QAAQ,MAEpC,SAASC,EAAwBC,EAAYC,EAA0B,CACrE,MAAMC,EACHC,EAAaH,EAAK,QAAQ,GAAK,CAACI,EAAKJ,EAAK,QAAQ,GACnDK,EAAUL,EAAK,QAAQ,EACnBM,EACJN,EAAK,OAASO,EAAUN,CAAO,GAAKO,EAAcR,EAAK,MAAOC,CAAO,EACjEQ,EACJZ,EAAM,OAAO,UAAU,SAASG,EAAK,EAAE,GACvCH,EAAM,WAAW,UAAU,SAASG,EAAK,EAAE,EAC7C,MACE,CAACU,EAAU,OAASR,GAAwB,CAACO,GAAiB,CAACH,CAEnE,CAEO,SAASK,EAAoBX,EAAY,CACxC,KAAA,CAAE,QAAAC,GAAYW,IACd,CAAE,kBAAAC,GAAsBC,IAExBC,EAAkBpB,EAAS,IAAM,CAC/B,MAAAqB,EAAuBH,EAAkB,MAAM,OAAO,OACrDI,EAAE,OAAA,EAIF,OAAAC,EAAmBlB,EAAMgB,CAAoB,CAAA,CACrD,EAEKG,EAAgCxB,EAAS,IAE3C,CAACe,EAAU,OACXU,EAAsBpB,CAAI,GAC1Be,EAAgB,MAAM,OAAS,CAElC,EAEKM,EAAuC1B,EAAS,IAElD,CAACe,EAAU,OACXY,EAAWtB,EAAK,QAAQ,GACxBoB,EAAsBpB,CAAI,GAC1B,CAACH,EAAM,SAAS,UAAU,SAASG,EAAK,EAAE,CAE7C,EAEKuB,EAAoB5B,EAAS,IAC1BoB,EAAgB,MAAM,IAAIS,GAASA,EAAM,MAAM,EAAE,KAAK,GAAG,CACjE,EAEKC,EAAsB9B,EAAS,IAC5B+B,EAAgB1B,CAAI,CAC5B,EAEK2B,EAAuBhC,EAAS,IAC7BI,EAAwBC,EAAMC,EAAQ,KAAK,CACnD,EAEK2B,EAAqBjC,EAAS,KAAO,CACzC,oBAAqB8B,EAAoB,MACzC,qBAAsBE,EAAqB,MAC3C,8BAA+BR,EAA8B,MAC7D,qCACEE,EAAqC,MACvC,UAAWQ,EAAgB7B,EAAK,EAAE,CAClC,EAAA,EAEI8B,EAAqBnC,EAAS,IAE3B,OAAO,OAAOiC,EAAmB,KAAK,EAAE,QACnCG,IAAW,EAAA,CAExB,EAEM,MAAA,CACL,kBAAAR,EACA,mBAAAK,EACA,mBAAAE,CAAA,CAEJ"}