@velora-dex/widget 0.3.4 → 0.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  2. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +4 -5
  3. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  4. package/dist/core/index.d.ts.map +1 -1
  5. package/dist/core/index.js +9 -3
  6. package/dist/core/index.js.map +1 -1
  7. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  8. package/dist/core/inputs/state/setTokenByAddressAtom.js +4 -3
  9. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  10. package/dist/core/state/configAtom.d.ts +3 -3
  11. package/dist/core/state/enabledTradeModesAtom.d.ts +1 -0
  12. package/dist/core/state/enabledTradeModesAtom.d.ts.map +1 -1
  13. package/dist/core/state/enabledTradeModesAtom.js +23 -3
  14. package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
  15. package/dist/hooks/otc/mutations/useFillOrder.js +2 -3
  16. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  17. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -1
  18. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +1 -1
  19. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  20. package/dist/hooks/useSDK.d.ts.map +1 -1
  21. package/dist/hooks/useSDK.js +10 -10
  22. package/dist/hooks/useSDK.js.map +1 -1
  23. package/dist/index.d.ts +1 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/lib/constants/delta.d.ts +3 -0
  26. package/dist/lib/constants/delta.d.ts.map +1 -1
  27. package/dist/lib/constants/delta.js +3 -1
  28. package/dist/lib/constants/delta.js.map +1 -1
  29. package/dist/lib/web3/privy/config.js +1 -1
  30. package/dist/lib/web3/wagmi/config.js +1 -1
  31. package/dist/styles.css +1 -1
  32. package/dist/tokens/state/allTokensByChainAtom.d.ts.map +1 -1
  33. package/dist/tokens/state/allTokensByChainAtom.js +0 -3
  34. package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
  35. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -6,5 +6,6 @@ export type { MinTradeFlowToken } from './components/widget/TradeOverview';
6
6
  export type { LimitOrderFormState, OTCOrderFormState, SwapFormState, SettingsState, TokenFormState, WidgetState, } from './events/types/common';
7
7
  export type { WidgetEventCallbacks, OnConnectWallet, OnAllowToken, OnWrapETH, OnSwap, OnLimitOrder, OnOTCOrder, OnSettingsChange, OnCancelOrder, OnFillOTCOrder, OnFormInputChange, OnPriceChange, } from './events/types';
8
8
  export type { FormInputProps } from './core/inputs/state/types';
9
+ export type { TradeMode } from './core/state/tradeModeAtom';
9
10
  export { defaults } from './core/constants';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,MAAM,EACN,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,YAAY,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,cAAc,EACd,WAAW,GACZ,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,MAAM,EACN,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,4 +1,7 @@
1
+ import { TradeMode } from '../../core/state/tradeModeAtom';
1
2
  import { SupportedChainId } from '../web3/wagmi/types';
2
3
  export declare const deltaEnabledOnAPI: Record<SupportedChainId, boolean>;
3
4
  export declare const CHAINS_WITH_DELTA: (1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[];
5
+ export declare const DELTA_FALLBACK_TRADE_MODE: "swap";
6
+ export declare const DELTA_ONLY_TRADE_MODES: TradeMode[];
4
7
  //# sourceMappingURL=delta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/delta.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAW/D,CAAC;AAEF,eAAO,MAAM,iBAAiB,gEAE7B,CAAC"}
1
+ {"version":3,"file":"delta.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/delta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAa5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAW/D,CAAC;AAEF,eAAO,MAAM,iBAAiB,gEAE7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,QAAsC,CAAC;AAC7E,eAAO,MAAM,sBAAsB,EAAE,SAAS,EAAc,CAAC"}
@@ -13,6 +13,8 @@ const deltaEnabledOnAPI = {
13
13
  [unichain.id]: true
14
14
  };
15
15
  const CHAINS_WITH_DELTA = Object.entries(deltaEnabledOnAPI).flatMap(([chainId, enabled]) => enabled ? [Number(chainId)] : []);
16
+ const DELTA_FALLBACK_TRADE_MODE = "swap";
17
+ const DELTA_ONLY_TRADE_MODES = ["limit"];
16
18
 
17
- export { CHAINS_WITH_DELTA, deltaEnabledOnAPI };
19
+ export { CHAINS_WITH_DELTA, DELTA_FALLBACK_TRADE_MODE, DELTA_ONLY_TRADE_MODES, deltaEnabledOnAPI };
18
20
  //# sourceMappingURL=delta.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delta.js","sources":["../../../src/lib/constants/delta.ts"],"sourcesContent":["import {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n sonic,\n unichain,\n} from \"../web3/wagmi/supportedChains\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\n\nexport const deltaEnabledOnAPI: Record<SupportedChainId, boolean> = {\n [mainnet.id]: true,\n [optimism.id]: true,\n [bsc.id]: true,\n [gnosis.id]: false,\n [polygon.id]: true,\n [arbitrum.id]: true,\n [avalanche.id]: false,\n [base.id]: true,\n [sonic.id]: false,\n [unichain.id]: true,\n};\n\nexport const CHAINS_WITH_DELTA = Object.entries(deltaEnabledOnAPI).flatMap(\n ([chainId, enabled]) => (enabled ? [Number(chainId) as SupportedChainId] : [])\n);\n"],"names":["deltaEnabledOnAPI","mainnet","id","optimism","bsc","gnosis","polygon","arbitrum","avalanche","base","sonic","unichain","CHAINS_WITH_DELTA","Object","entries","flatMap","chainId","enabled","Number"],"mappings":";;AAcO,MAAMA,iBAAAA,GAAuD;AAAA,EAClE,CAACC,OAAAA,CAAQC,EAAE,GAAG,IAAA;AAAA,EACd,CAACC,QAAAA,CAASD,EAAE,GAAG,IAAA;AAAA,EACf,CAACE,GAAAA,CAAIF,EAAE,GAAG,IAAA;AAAA,EACV,CAACG,MAAAA,CAAOH,EAAE,GAAG,KAAA;AAAA,EACb,CAACI,OAAAA,CAAQJ,EAAE,GAAG,IAAA;AAAA,EACd,CAACK,QAAAA,CAASL,EAAE,GAAG,IAAA;AAAA,EACf,CAACM,SAAAA,CAAUN,EAAE,GAAG,KAAA;AAAA,EAChB,CAACO,IAAAA,CAAKP,EAAE,GAAG,IAAA;AAAA,EACX,CAACQ,KAAAA,CAAMR,EAAE,GAAG,KAAA;AAAA,EACZ,CAACS,QAAAA,CAAST,EAAE,GAAG;AACjB;AAEO,MAAMU,oBAAoBC,MAAAA,CAAOC,OAAAA,CAAQd,iBAAiB,CAAA,CAAEe,OAAAA,CACjE,CAAC,CAACC,OAAAA,EAASC,OAAO,CAAA,KAAOA,UAAU,CAACC,MAAAA,CAAOF,OAAO,CAAqB,CAAA,GAAI,EAC7E;;;;"}
1
+ {"version":3,"file":"delta.js","sources":["../../../src/lib/constants/delta.ts"],"sourcesContent":["import type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport {\n arbitrum,\n avalanche,\n base,\n bsc,\n gnosis,\n mainnet,\n optimism,\n polygon,\n sonic,\n unichain,\n} from \"../web3/wagmi/supportedChains\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\n\nexport const deltaEnabledOnAPI: Record<SupportedChainId, boolean> = {\n [mainnet.id]: true,\n [optimism.id]: true,\n [bsc.id]: true,\n [gnosis.id]: false,\n [polygon.id]: true,\n [arbitrum.id]: true,\n [avalanche.id]: false,\n [base.id]: true,\n [sonic.id]: false,\n [unichain.id]: true,\n};\n\nexport const CHAINS_WITH_DELTA = Object.entries(deltaEnabledOnAPI).flatMap(\n ([chainId, enabled]) => (enabled ? [Number(chainId) as SupportedChainId] : [])\n);\n\nexport const DELTA_FALLBACK_TRADE_MODE = \"swap\" as const satisfies TradeMode;\nexport const DELTA_ONLY_TRADE_MODES: TradeMode[] = [\"limit\"];\n"],"names":["deltaEnabledOnAPI","mainnet","id","optimism","bsc","gnosis","polygon","arbitrum","avalanche","base","sonic","unichain","CHAINS_WITH_DELTA","Object","entries","flatMap","chainId","enabled","Number","DELTA_FALLBACK_TRADE_MODE","DELTA_ONLY_TRADE_MODES"],"mappings":";;AAeO,MAAMA,iBAAAA,GAAuD;AAAA,EAClE,CAACC,OAAAA,CAAQC,EAAE,GAAG,IAAA;AAAA,EACd,CAACC,QAAAA,CAASD,EAAE,GAAG,IAAA;AAAA,EACf,CAACE,GAAAA,CAAIF,EAAE,GAAG,IAAA;AAAA,EACV,CAACG,MAAAA,CAAOH,EAAE,GAAG,KAAA;AAAA,EACb,CAACI,OAAAA,CAAQJ,EAAE,GAAG,IAAA;AAAA,EACd,CAACK,QAAAA,CAASL,EAAE,GAAG,IAAA;AAAA,EACf,CAACM,SAAAA,CAAUN,EAAE,GAAG,KAAA;AAAA,EAChB,CAACO,IAAAA,CAAKP,EAAE,GAAG,IAAA;AAAA,EACX,CAACQ,KAAAA,CAAMR,EAAE,GAAG,KAAA;AAAA,EACZ,CAACS,QAAAA,CAAST,EAAE,GAAG;AACjB;AAEO,MAAMU,oBAAoBC,MAAAA,CAAOC,OAAAA,CAAQd,iBAAiB,CAAA,CAAEe,OAAAA,CACjE,CAAC,CAACC,OAAAA,EAASC,OAAO,CAAA,KAAOA,UAAU,CAACC,MAAAA,CAAOF,OAAO,CAAqB,CAAA,GAAI,EAC7E;AAEO,MAAMG,yBAAAA,GAA4B;AAClC,MAAMC,sBAAAA,GAAsC,CAAC,OAAO;;;;"}
@@ -28,7 +28,7 @@ const privyConfig = {
28
28
  },
29
29
  // another option is to give an invalid ID,
30
30
  // but then it retries indefinitely
31
- walletConnectCloudProjectId: "7535ce67d223b89670980f2442899904",
31
+ walletConnectCloudProjectId: "9796e40630a6bea7605ac281b0deb939",
32
32
  // Privy doesn't accept const Chain[]
33
33
  supportedChains: chains
34
34
  // defaultChain: chains[0], @TODO set to App's selected chain
@@ -7,7 +7,7 @@ import { LOCAL_STORAGE_PREFIX } from '../../constants/storage.js';
7
7
 
8
8
  const connectors = [
9
9
  walletConnect({
10
- projectId: "7535ce67d223b89670980f2442899904"
10
+ projectId: "9796e40630a6bea7605ac281b0deb939"
11
11
  }),
12
12
  injected(),
13
13
  // metaMask() as CreateConnectorFn, // injected() detects metamask already
package/dist/styles.css CHANGED
@@ -70,7 +70,7 @@
70
70
  }
71
71
  }
72
72
  }
73
- .velora-widget {
73
+ :root, :host {
74
74
  --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
75
75
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
76
76
  --color-red-800: oklch(44.4% .177 26.899);
@@ -1 +1 @@
1
- {"version":3,"file":"allTokensByChainAtom.d.ts","sourceRoot":"","sources":["../../../src/tokens/state/allTokensByChainAtom.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAK5D,eAAO,MAAM,oBAAoB,2EAyD/B,CAAC"}
1
+ {"version":3,"file":"allTokensByChainAtom.d.ts","sourceRoot":"","sources":["../../../src/tokens/state/allTokensByChainAtom.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAK5D,eAAO,MAAM,oBAAoB,2EA2D/B,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import { atom } from 'jotai';
2
2
  import { fromListsAtom } from './fromListsAtom.js';
3
3
  import { importedTokensAtom } from './importedTokensAtom.js';
4
- import { getLogger } from '../../core/logger.js';
5
4
  import { gatherObjectsByProp } from '../../lib/utils/index.js';
6
5
 
7
6
  const allTokensByChainAtom = atom((get) => {
@@ -26,8 +25,6 @@ const allTokensByChainAtom = atom((get) => {
26
25
  tokens.push(token);
27
26
  addressMap[addressKey] = token;
28
27
  result.tokensFromAllChains.push(token);
29
- } else {
30
- getLogger("AllTokensByChain").log(`LOGIC ERROR: Token ${token.address} on chain ${chainId} already exists in fromListsAtom, skipping import.`);
31
28
  }
32
29
  }
33
30
  result.listByChainId[chainId] = {
@@ -1 +1 @@
1
- {"version":3,"file":"allTokensByChainAtom.js","sources":["../../../src/tokens/state/allTokensByChainAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { fromListsAtom, type TokensFromListsState } from \"./fromListsAtom\";\nimport { importedTokensAtom } from \"./importedTokensAtom\";\nimport type { ImportedToken, TokenFromList } from \"./types\";\nimport { getLogger } from \"@/core/logger\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\n\n// returns TokenFromListState + ImportedTokenState merged, conforming the shape of the first one\nexport const allTokensByChainAtom = atom((get) => {\n const fromListsState = get(fromListsAtom);\n const importedByChain = get(importedTokensAtom);\n\n // start with a fresh result object to avoid mutating fromListsState\n const result: TokensFromListsState<TokenFromList | ImportedToken> = {\n listByChainId: {},\n // disabledListByChainId won't be deep-changed, so clone shallowly\n disabledListByChainId: fromListsState.disabledListByChainId,\n tokensFromAllChains: fromListsState.tokensFromAllChains.slice(),\n };\n\n // merge tokens list & map for chains present in fromListsState\n for (const [chainIdStr, fromListsArr] of Object.entries(\n fromListsState.listByChainId\n )) {\n const chainId = Number(chainIdStr);\n const imported = importedByChain[chainId] || [];\n\n // clone base tokens and addressMap to avoid mutation\n const tokens: (TokenFromList | ImportedToken)[] =\n fromListsArr.tokens.slice();\n const addressMap: { [address: string]: TokenFromList | ImportedToken } = {\n ...fromListsArr.addressMap,\n };\n\n // add imported tokens if not already present\n for (const token of imported) {\n const addressKey = token.address.toLowerCase();\n if (!addressMap[addressKey]) {\n tokens.push(token);\n addressMap[addressKey] = token;\n\n // add imported to all Tokens\n result.tokensFromAllChains.push(token);\n } else {\n getLogger(\"AllTokensByChain\").log(\n `LOGIC ERROR: Token ${token.address} on chain ${chainId} already exists in fromListsAtom, skipping import.`\n );\n }\n }\n\n result.listByChainId[chainId] = { tokens, addressMap };\n }\n\n // normally shouldn't happen, but add chains that only have imported tokens\n for (const [chainIdStr, importedArr] of Object.entries(importedByChain)) {\n const chainId = Number(chainIdStr);\n if (!result.listByChainId[chainId]) {\n const addressMap = gatherObjectsByProp(importedArr, (token) =>\n token.address.toLowerCase()\n );\n result.listByChainId[chainId] = { tokens: importedArr, addressMap };\n }\n }\n\n return result;\n});\n"],"names":["allTokensByChainAtom","atom","get","fromListsState","fromListsAtom","importedByChain","importedTokensAtom","result","listByChainId","disabledListByChainId","tokensFromAllChains","slice","chainIdStr","fromListsArr","Object","entries","chainId","Number","imported","tokens","addressMap","token","addressKey","address","toLowerCase","push","getLogger","log","importedArr","gatherObjectsByProp"],"mappings":";;;;;;AAQO,MAAMA,oBAAAA,GAAuBC,KAAMC,CAAAA,GAAAA,KAAQ;AAChD,EAAA,MAAMC,cAAAA,GAAiBD,IAAIE,aAAa,CAAA;AACxC,EAAA,MAAMC,eAAAA,GAAkBH,IAAII,kBAAkB,CAAA;AAG9C,EAAA,MAAMC,MAAAA,GAA8D;AAAA,IAClEC,eAAe,EAAC;AAAA;AAAA,IAEhBC,uBAAuBN,cAAAA,CAAeM,qBAAAA;AAAAA,IACtCC,mBAAAA,EAAqBP,cAAAA,CAAeO,mBAAAA,CAAoBC,KAAAA;AAAM,GAChE;AAGA,EAAA,KAAA,MAAW,CAACC,YAAYC,YAAY,CAAA,IAAKC,OAAOC,OAAAA,CAC9CZ,cAAAA,CAAeK,aACjB,CAAA,EAAG;AACD,IAAA,MAAMQ,OAAAA,GAAUC,OAAOL,UAAU,CAAA;AACjC,IAAA,MAAMM,QAAAA,GAAWb,eAAAA,CAAgBW,OAAO,CAAA,IAAK,EAAA;AAG7C,IAAA,MAAMG,MAAAA,GACJN,YAAAA,CAAaM,MAAAA,CAAOR,KAAAA,EAAM;AAC5B,IAAA,MAAMS,UAAAA,GAAmE;AAAA,MACvE,GAAGP,YAAAA,CAAaO;AAAAA,KAClB;AAGA,IAAA,KAAA,MAAWC,SAASH,QAAAA,EAAU;AAC5B,MAAA,MAAMI,UAAAA,GAAaD,KAAAA,CAAME,OAAAA,CAAQC,WAAAA,EAAY;AAC7C,MAAA,IAAI,CAACJ,UAAAA,CAAWE,UAAU,CAAA,EAAG;AAC3BH,QAAAA,MAAAA,CAAOM,KAAKJ,KAAK,CAAA;AACjBD,QAAAA,UAAAA,CAAWE,UAAU,CAAA,GAAID,KAAAA;AAGzBd,QAAAA,MAAAA,CAAOG,mBAAAA,CAAoBe,KAAKJ,KAAK,CAAA;AAAA,MACvC,CAAA,MAAO;AACLK,QAAAA,SAAAA,CAAU,kBAAkB,EAAEC,GAAAA,CAC5B,CAAA,mBAAA,EAAsBN,MAAME,OAAO,CAAA,UAAA,EAAaP,OAAO,CAAA,kDAAA,CACzD,CAAA;AAAA,MACF;AAAA,IACF;AAEAT,IAAAA,MAAAA,CAAOC,aAAAA,CAAcQ,OAAO,CAAA,GAAI;AAAA,MAAEG,MAAAA;AAAAA,MAAQC;AAAAA,KAAW;AAAA,EACvD;AAGA,EAAA,KAAA,MAAW,CAACR,UAAAA,EAAYgB,WAAW,KAAKd,MAAAA,CAAOC,OAAAA,CAAQV,eAAe,CAAA,EAAG;AACvE,IAAA,MAAMW,OAAAA,GAAUC,OAAOL,UAAU,CAAA;AACjC,IAAA,IAAI,CAACL,MAAAA,CAAOC,aAAAA,CAAcQ,OAAO,CAAA,EAAG;AAClC,MAAA,MAAMI,aAAaS,mBAAAA,CAAoBD,WAAAA,EAAcP,WACnDA,KAAAA,CAAME,OAAAA,CAAQC,aAChB,CAAA;AACAjB,MAAAA,MAAAA,CAAOC,aAAAA,CAAcQ,OAAO,CAAA,GAAI;AAAA,QAAEG,MAAAA,EAAQS,WAAAA;AAAAA,QAAaR;AAAAA,OAAW;AAAA,IACpE;AAAA,EACF;AAEA,EAAA,OAAOb,MAAAA;AACT,CAAC;;;;"}
1
+ {"version":3,"file":"allTokensByChainAtom.js","sources":["../../../src/tokens/state/allTokensByChainAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { fromListsAtom, type TokensFromListsState } from \"./fromListsAtom\";\nimport { importedTokensAtom } from \"./importedTokensAtom\";\nimport type { ImportedToken, TokenFromList } from \"./types\";\n// import { getLogger } from \"@/core/logger\";\nimport { gatherObjectsByProp } from \"@/lib/utils\";\n\n// returns TokenFromListState + ImportedTokenState merged, conforming the shape of the first one\nexport const allTokensByChainAtom = atom((get) => {\n const fromListsState = get(fromListsAtom);\n const importedByChain = get(importedTokensAtom);\n\n // start with a fresh result object to avoid mutating fromListsState\n const result: TokensFromListsState<TokenFromList | ImportedToken> = {\n listByChainId: {},\n // disabledListByChainId won't be deep-changed, so clone shallowly\n disabledListByChainId: fromListsState.disabledListByChainId,\n tokensFromAllChains: fromListsState.tokensFromAllChains.slice(),\n };\n\n // merge tokens list & map for chains present in fromListsState\n for (const [chainIdStr, fromListsArr] of Object.entries(\n fromListsState.listByChainId\n )) {\n const chainId = Number(chainIdStr);\n const imported = importedByChain[chainId] || [];\n\n // clone base tokens and addressMap to avoid mutation\n const tokens: (TokenFromList | ImportedToken)[] =\n fromListsArr.tokens.slice();\n const addressMap: { [address: string]: TokenFromList | ImportedToken } = {\n ...fromListsArr.addressMap,\n };\n\n // add imported tokens if not already present\n for (const token of imported) {\n const addressKey = token.address.toLowerCase();\n if (!addressMap[addressKey]) {\n tokens.push(token);\n addressMap[addressKey] = token;\n\n // add imported to all Tokens\n result.tokensFromAllChains.push(token);\n }\n // @TODO: suppressing the logs for now as it clutters the console\n // else {\n // getLogger(\"AllTokensByChain\").log(\n // `LOGIC ERROR: Token ${token.address} on chain ${chainId} already exists in fromListsAtom, skipping import.`\n // );\n // }\n }\n\n result.listByChainId[chainId] = { tokens, addressMap };\n }\n\n // normally shouldn't happen, but add chains that only have imported tokens\n for (const [chainIdStr, importedArr] of Object.entries(importedByChain)) {\n const chainId = Number(chainIdStr);\n if (!result.listByChainId[chainId]) {\n const addressMap = gatherObjectsByProp(importedArr, (token) =>\n token.address.toLowerCase()\n );\n result.listByChainId[chainId] = { tokens: importedArr, addressMap };\n }\n }\n\n return result;\n});\n"],"names":["allTokensByChainAtom","atom","get","fromListsState","fromListsAtom","importedByChain","importedTokensAtom","result","listByChainId","disabledListByChainId","tokensFromAllChains","slice","chainIdStr","fromListsArr","Object","entries","chainId","Number","imported","tokens","addressMap","token","addressKey","address","toLowerCase","push","importedArr","gatherObjectsByProp"],"mappings":";;;;;AAQO,MAAMA,oBAAAA,GAAuBC,KAAMC,CAAAA,GAAAA,KAAQ;AAChD,EAAA,MAAMC,cAAAA,GAAiBD,IAAIE,aAAa,CAAA;AACxC,EAAA,MAAMC,eAAAA,GAAkBH,IAAII,kBAAkB,CAAA;AAG9C,EAAA,MAAMC,MAAAA,GAA8D;AAAA,IAClEC,eAAe,EAAC;AAAA;AAAA,IAEhBC,uBAAuBN,cAAAA,CAAeM,qBAAAA;AAAAA,IACtCC,mBAAAA,EAAqBP,cAAAA,CAAeO,mBAAAA,CAAoBC,KAAAA;AAAM,GAChE;AAGA,EAAA,KAAA,MAAW,CAACC,YAAYC,YAAY,CAAA,IAAKC,OAAOC,OAAAA,CAC9CZ,cAAAA,CAAeK,aACjB,CAAA,EAAG;AACD,IAAA,MAAMQ,OAAAA,GAAUC,OAAOL,UAAU,CAAA;AACjC,IAAA,MAAMM,QAAAA,GAAWb,eAAAA,CAAgBW,OAAO,CAAA,IAAK,EAAA;AAG7C,IAAA,MAAMG,MAAAA,GACJN,YAAAA,CAAaM,MAAAA,CAAOR,KAAAA,EAAM;AAC5B,IAAA,MAAMS,UAAAA,GAAmE;AAAA,MACvE,GAAGP,YAAAA,CAAaO;AAAAA,KAClB;AAGA,IAAA,KAAA,MAAWC,SAASH,QAAAA,EAAU;AAC5B,MAAA,MAAMI,UAAAA,GAAaD,KAAAA,CAAME,OAAAA,CAAQC,WAAAA,EAAY;AAC7C,MAAA,IAAI,CAACJ,UAAAA,CAAWE,UAAU,CAAA,EAAG;AAC3BH,QAAAA,MAAAA,CAAOM,KAAKJ,KAAK,CAAA;AACjBD,QAAAA,UAAAA,CAAWE,UAAU,CAAA,GAAID,KAAAA;AAGzBd,QAAAA,MAAAA,CAAOG,mBAAAA,CAAoBe,KAAKJ,KAAK,CAAA;AAAA,MACvC;AAAA,IAOF;AAEAd,IAAAA,MAAAA,CAAOC,aAAAA,CAAcQ,OAAO,CAAA,GAAI;AAAA,MAAEG,MAAAA;AAAAA,MAAQC;AAAAA,KAAW;AAAA,EACvD;AAGA,EAAA,KAAA,MAAW,CAACR,UAAAA,EAAYc,WAAW,KAAKZ,MAAAA,CAAOC,OAAAA,CAAQV,eAAe,CAAA,EAAG;AACvE,IAAA,MAAMW,OAAAA,GAAUC,OAAOL,UAAU,CAAA;AACjC,IAAA,IAAI,CAACL,MAAAA,CAAOC,aAAAA,CAAcQ,OAAO,CAAA,EAAG;AAClC,MAAA,MAAMI,aAAaO,mBAAAA,CAAoBD,WAAAA,EAAcL,WACnDA,KAAAA,CAAME,OAAAA,CAAQC,aAChB,CAAA;AACAjB,MAAAA,MAAAA,CAAOC,aAAAA,CAAcQ,OAAO,CAAA,GAAI;AAAA,QAAEG,MAAAA,EAAQO,WAAAA;AAAAA,QAAaN;AAAAA,OAAW;AAAA,IACpE;AAAA,EACF;AAEA,EAAA,OAAOb,MAAAA;AACT,CAAC;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velora-dex/widget",
3
- "version": "0.3.4",
3
+ "version": "0.3.6",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [