@wormhole-foundation/sdk-base 0.1.8-beta.5 → 0.1.8-beta.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 (71) hide show
  1. package/dist/cjs/constants/chains.d.ts +3 -3
  2. package/dist/cjs/constants/chains.d.ts.map +1 -1
  3. package/dist/cjs/constants/circle.d.ts +4 -4
  4. package/dist/cjs/constants/circle.d.ts.map +1 -1
  5. package/dist/cjs/constants/platforms.d.ts +3 -3
  6. package/dist/cjs/constants/protocols.d.ts +2 -2
  7. package/dist/cjs/constants/protocols.d.ts.map +1 -1
  8. package/dist/cjs/constants/protocols.js +4 -7
  9. package/dist/cjs/constants/protocols.js.map +1 -1
  10. package/dist/cjs/utils/array.d.ts +8 -6
  11. package/dist/cjs/utils/array.d.ts.map +1 -1
  12. package/dist/cjs/utils/layout/deserialize.d.ts.map +1 -1
  13. package/dist/cjs/utils/layout/deserialize.js +47 -25
  14. package/dist/cjs/utils/layout/deserialize.js.map +1 -1
  15. package/dist/cjs/utils/layout/discriminate.d.ts.map +1 -1
  16. package/dist/cjs/utils/layout/discriminate.js +75 -17
  17. package/dist/cjs/utils/layout/discriminate.js.map +1 -1
  18. package/dist/cjs/utils/layout/fixedDynamic.d.ts +21 -15
  19. package/dist/cjs/utils/layout/fixedDynamic.d.ts.map +1 -1
  20. package/dist/cjs/utils/layout/fixedDynamic.js +67 -39
  21. package/dist/cjs/utils/layout/fixedDynamic.js.map +1 -1
  22. package/dist/cjs/utils/layout/index.d.ts +1 -1
  23. package/dist/cjs/utils/layout/index.d.ts.map +1 -1
  24. package/dist/cjs/utils/layout/index.js.map +1 -1
  25. package/dist/cjs/utils/layout/layout.d.ts +22 -7
  26. package/dist/cjs/utils/layout/layout.d.ts.map +1 -1
  27. package/dist/cjs/utils/layout/layout.js +0 -2
  28. package/dist/cjs/utils/layout/layout.js.map +1 -1
  29. package/dist/cjs/utils/layout/serialize.d.ts.map +1 -1
  30. package/dist/cjs/utils/layout/serialize.js +42 -25
  31. package/dist/cjs/utils/layout/serialize.js.map +1 -1
  32. package/dist/esm/constants/chains.d.ts +3 -3
  33. package/dist/esm/constants/chains.d.ts.map +1 -1
  34. package/dist/esm/constants/circle.d.ts +4 -4
  35. package/dist/esm/constants/circle.d.ts.map +1 -1
  36. package/dist/esm/constants/platforms.d.ts +3 -3
  37. package/dist/esm/constants/protocols.d.ts +2 -2
  38. package/dist/esm/constants/protocols.d.ts.map +1 -1
  39. package/dist/esm/constants/protocols.js +4 -7
  40. package/dist/esm/constants/protocols.js.map +1 -1
  41. package/dist/esm/utils/array.d.ts +8 -6
  42. package/dist/esm/utils/array.d.ts.map +1 -1
  43. package/dist/esm/utils/layout/deserialize.d.ts.map +1 -1
  44. package/dist/esm/utils/layout/deserialize.js +47 -25
  45. package/dist/esm/utils/layout/deserialize.js.map +1 -1
  46. package/dist/esm/utils/layout/discriminate.d.ts.map +1 -1
  47. package/dist/esm/utils/layout/discriminate.js +75 -17
  48. package/dist/esm/utils/layout/discriminate.js.map +1 -1
  49. package/dist/esm/utils/layout/fixedDynamic.d.ts +21 -15
  50. package/dist/esm/utils/layout/fixedDynamic.d.ts.map +1 -1
  51. package/dist/esm/utils/layout/fixedDynamic.js +67 -39
  52. package/dist/esm/utils/layout/fixedDynamic.js.map +1 -1
  53. package/dist/esm/utils/layout/index.d.ts +1 -1
  54. package/dist/esm/utils/layout/index.d.ts.map +1 -1
  55. package/dist/esm/utils/layout/index.js.map +1 -1
  56. package/dist/esm/utils/layout/layout.d.ts +22 -7
  57. package/dist/esm/utils/layout/layout.d.ts.map +1 -1
  58. package/dist/esm/utils/layout/layout.js +0 -2
  59. package/dist/esm/utils/layout/layout.js.map +1 -1
  60. package/dist/esm/utils/layout/serialize.d.ts.map +1 -1
  61. package/dist/esm/utils/layout/serialize.js +42 -25
  62. package/dist/esm/utils/layout/serialize.js.map +1 -1
  63. package/package.json +1 -1
  64. package/src/constants/protocols.ts +4 -7
  65. package/src/utils/array.ts +4 -4
  66. package/src/utils/layout/deserialize.ts +66 -32
  67. package/src/utils/layout/discriminate.ts +88 -19
  68. package/src/utils/layout/fixedDynamic.ts +137 -92
  69. package/src/utils/layout/index.ts +1 -0
  70. package/src/utils/layout/layout.ts +41 -20
  71. package/src/utils/layout/serialize.ts +65 -46
@@ -1,4 +1,4 @@
1
- export declare const chains: readonly ["Solana", "Ethereum", "Terra", "Bsc", "Polygon", "Avalanche", "Oasis", "Algorand", "Aurora", "Fantom", "Karura", "Acala", "Klaytn", "Celo", "Near", "Moonbeam", "Neon", "Terra2", "Injective", "Osmosis", "Sui", "Aptos", "Arbitrum", "Optimism", "Gnosis", "Pythnet", "Xpla", "Btc", "Base", "Sei", "Rootstock", "Wormchain", "Cosmoshub", "Evmos", "Kujira", "Sepolia"], chainIds: readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 32, 33, 3104, 4000, 4001, 4002, 10002];
1
+ export declare const chains: ["Solana", "Ethereum", "Terra", "Bsc", "Polygon", "Avalanche", "Oasis", "Algorand", "Aurora", "Fantom", "Karura", "Acala", "Klaytn", "Celo", "Near", "Moonbeam", "Neon", "Terra2", "Injective", "Osmosis", "Sui", "Aptos", "Arbitrum", "Optimism", "Gnosis", "Pythnet", "Xpla", "Btc", "Base", "Sei", "Rootstock", "Wormchain", "Cosmoshub", "Evmos", "Kujira", "Sepolia"], chainIds: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 32, 33, 3104, 4000, 4001, 4002, 10002];
2
2
  export type ChainName = (typeof chains)[number];
3
3
  export type ChainId = (typeof chainIds)[number];
4
4
  export type Chain = ChainName | ChainId;
@@ -10,11 +10,11 @@ export declare const chainToChainId: (<K1 extends "Solana" | "Ethereum" | "Terra
10
10
  get: (args_0: string) => 3 | 1 | 5 | 2 | 22 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 32 | 33 | 3104 | 4000 | 4001 | 4002 | 10002 | undefined;
11
11
  has: (args_0: string) => boolean;
12
12
  };
13
- export declare const chainIdToChain: (<K1 extends 3 | 1 | 5 | 2 | 22 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 32 | 33 | 3104 | 4000 | 4001 | 4002 | 10002>(args_0: K1) => (K1 extends bigint | boolean | PropertyKey ? import("..").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never) extends 3 | 1 | 5 | 2 | 22 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 32 | 33 | 3104 | 4000 | 4001 | 4002 | 10002 ? import("../utils/mapping").ObjectFromMappingEntries<[readonly [1, readonly [readonly ["Solana"]]], readonly [2, readonly [readonly ["Ethereum"]]], readonly [3, readonly [readonly ["Terra"]]], readonly [4, readonly [readonly ["Bsc"]]], readonly [5, readonly [readonly ["Polygon"]]], readonly [6, readonly [readonly ["Avalanche"]]], readonly [7, readonly [readonly ["Oasis"]]], readonly [8, readonly [readonly ["Algorand"]]], readonly [9, readonly [readonly ["Aurora"]]], readonly [10, readonly [readonly ["Fantom"]]], readonly [11, readonly [readonly ["Karura"]]], readonly [12, readonly [readonly ["Acala"]]], readonly [13, readonly [readonly ["Klaytn"]]], readonly [14, readonly [readonly ["Celo"]]], readonly [15, readonly [readonly ["Near"]]], readonly [16, readonly [readonly ["Moonbeam"]]], readonly [17, readonly [readonly ["Neon"]]], readonly [18, readonly [readonly ["Terra2"]]], readonly [19, readonly [readonly ["Injective"]]], readonly [20, readonly [readonly ["Osmosis"]]], readonly [21, readonly [readonly ["Sui"]]], readonly [22, readonly [readonly ["Aptos"]]], readonly [23, readonly [readonly ["Arbitrum"]]], readonly [24, readonly [readonly ["Optimism"]]], readonly [25, readonly [readonly ["Gnosis"]]], readonly [26, readonly [readonly ["Pythnet"]]], readonly [28, readonly [readonly ["Xpla"]]], readonly [29, readonly [readonly ["Btc"]]], readonly [30, readonly [readonly ["Base"]]], readonly [32, readonly [readonly ["Sei"]]], readonly [33, readonly [readonly ["Rootstock"]]], readonly [3104, readonly [readonly ["Wormchain"]]], readonly [4000, readonly [readonly ["Cosmoshub"]]], readonly [4001, readonly [readonly ["Evmos"]]], readonly [4002, readonly [readonly ["Kujira"]]], readonly [10002, readonly [readonly ["Sepolia"]]]]>[(3 | 1 | 5 | 2 | 22 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 32 | 33 | 3104 | 4000 | 4001 | 4002 | 10002) & (K1 extends bigint | boolean | PropertyKey ? import("..").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] extends {
13
+ export declare const chainIdToChain: (<K1 extends 3 | 1 | 5 | 2 | 22 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 32 | 33 | 3104 | 4000 | 4001 | 4002 | 10002>(args_0: K1) => (K1 extends bigint | boolean | PropertyKey ? import("..").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never) extends 3 | 1 | 5 | 2 | 22 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 32 | 33 | 3104 | 4000 | 4001 | 4002 | 10002 ? import("../utils/mapping").ObjectFromMappingEntries<[readonly [1, [["Solana"]]], readonly [2, [["Ethereum"]]], readonly [3, [["Terra"]]], readonly [4, [["Bsc"]]], readonly [5, [["Polygon"]]], readonly [6, [["Avalanche"]]], readonly [7, [["Oasis"]]], readonly [8, [["Algorand"]]], readonly [9, [["Aurora"]]], readonly [10, [["Fantom"]]], readonly [11, [["Karura"]]], readonly [12, [["Acala"]]], readonly [13, [["Klaytn"]]], readonly [14, [["Celo"]]], readonly [15, [["Near"]]], readonly [16, [["Moonbeam"]]], readonly [17, [["Neon"]]], readonly [18, [["Terra2"]]], readonly [19, [["Injective"]]], readonly [20, [["Osmosis"]]], readonly [21, [["Sui"]]], readonly [22, [["Aptos"]]], readonly [23, [["Arbitrum"]]], readonly [24, [["Optimism"]]], readonly [25, [["Gnosis"]]], readonly [26, [["Pythnet"]]], readonly [28, [["Xpla"]]], readonly [29, [["Btc"]]], readonly [30, [["Base"]]], readonly [32, [["Sei"]]], readonly [33, [["Rootstock"]]], readonly [3104, [["Wormchain"]]], readonly [4000, [["Cosmoshub"]]], readonly [4001, [["Evmos"]]], readonly [4002, [["Kujira"]]], readonly [10002, [["Sepolia"]]]]>[(3 | 1 | 5 | 2 | 22 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 32 | 33 | 3104 | 4000 | 4001 | 4002 | 10002) & (K1 extends bigint | boolean | PropertyKey ? import("..").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] extends {
14
14
  [key: string]: unknown;
15
15
  [key: number]: unknown;
16
16
  [key: symbol]: unknown;
17
- } ? import("../utils/mapping").ObjectFromMappingEntries<[readonly [1, readonly [readonly ["Solana"]]], readonly [2, readonly [readonly ["Ethereum"]]], readonly [3, readonly [readonly ["Terra"]]], readonly [4, readonly [readonly ["Bsc"]]], readonly [5, readonly [readonly ["Polygon"]]], readonly [6, readonly [readonly ["Avalanche"]]], readonly [7, readonly [readonly ["Oasis"]]], readonly [8, readonly [readonly ["Algorand"]]], readonly [9, readonly [readonly ["Aurora"]]], readonly [10, readonly [readonly ["Fantom"]]], readonly [11, readonly [readonly ["Karura"]]], readonly [12, readonly [readonly ["Acala"]]], readonly [13, readonly [readonly ["Klaytn"]]], readonly [14, readonly [readonly ["Celo"]]], readonly [15, readonly [readonly ["Near"]]], readonly [16, readonly [readonly ["Moonbeam"]]], readonly [17, readonly [readonly ["Neon"]]], readonly [18, readonly [readonly ["Terra2"]]], readonly [19, readonly [readonly ["Injective"]]], readonly [20, readonly [readonly ["Osmosis"]]], readonly [21, readonly [readonly ["Sui"]]], readonly [22, readonly [readonly ["Aptos"]]], readonly [23, readonly [readonly ["Arbitrum"]]], readonly [24, readonly [readonly ["Optimism"]]], readonly [25, readonly [readonly ["Gnosis"]]], readonly [26, readonly [readonly ["Pythnet"]]], readonly [28, readonly [readonly ["Xpla"]]], readonly [29, readonly [readonly ["Btc"]]], readonly [30, readonly [readonly ["Base"]]], readonly [32, readonly [readonly ["Sei"]]], readonly [33, readonly [readonly ["Rootstock"]]], readonly [3104, readonly [readonly ["Wormchain"]]], readonly [4000, readonly [readonly ["Cosmoshub"]]], readonly [4001, readonly [readonly ["Evmos"]]], readonly [4002, readonly [readonly ["Kujira"]]], readonly [10002, readonly [readonly ["Sepolia"]]]]>[(3 | 1 | 5 | 2 | 22 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 32 | 33 | 3104 | 4000 | 4001 | 4002 | 10002) & (K1 extends bigint | boolean | PropertyKey ? import("..").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : import("../utils/mapping").ObjectFromMappingEntries<[readonly [1, readonly [readonly ["Solana"]]], readonly [2, readonly [readonly ["Ethereum"]]], readonly [3, readonly [readonly ["Terra"]]], readonly [4, readonly [readonly ["Bsc"]]], readonly [5, readonly [readonly ["Polygon"]]], readonly [6, readonly [readonly ["Avalanche"]]], readonly [7, readonly [readonly ["Oasis"]]], readonly [8, readonly [readonly ["Algorand"]]], readonly [9, readonly [readonly ["Aurora"]]], readonly [10, readonly [readonly ["Fantom"]]], readonly [11, readonly [readonly ["Karura"]]], readonly [12, readonly [readonly ["Acala"]]], readonly [13, readonly [readonly ["Klaytn"]]], readonly [14, readonly [readonly ["Celo"]]], readonly [15, readonly [readonly ["Near"]]], readonly [16, readonly [readonly ["Moonbeam"]]], readonly [17, readonly [readonly ["Neon"]]], readonly [18, readonly [readonly ["Terra2"]]], readonly [19, readonly [readonly ["Injective"]]], readonly [20, readonly [readonly ["Osmosis"]]], readonly [21, readonly [readonly ["Sui"]]], readonly [22, readonly [readonly ["Aptos"]]], readonly [23, readonly [readonly ["Arbitrum"]]], readonly [24, readonly [readonly ["Optimism"]]], readonly [25, readonly [readonly ["Gnosis"]]], readonly [26, readonly [readonly ["Pythnet"]]], readonly [28, readonly [readonly ["Xpla"]]], readonly [29, readonly [readonly ["Btc"]]], readonly [30, readonly [readonly ["Base"]]], readonly [32, readonly [readonly ["Sei"]]], readonly [33, readonly [readonly ["Rootstock"]]], readonly [3104, readonly [readonly ["Wormchain"]]], readonly [4000, readonly [readonly ["Cosmoshub"]]], readonly [4001, readonly [readonly ["Evmos"]]], readonly [4002, readonly [readonly ["Kujira"]]], readonly [10002, readonly [readonly ["Sepolia"]]]]>[(3 | 1 | 5 | 2 | 22 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 32 | 33 | 3104 | 4000 | 4001 | 4002 | 10002) & (K1 extends bigint | boolean | PropertyKey ? import("..").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : never) & {
17
+ } ? import("../utils/mapping").ObjectFromMappingEntries<[readonly [1, [["Solana"]]], readonly [2, [["Ethereum"]]], readonly [3, [["Terra"]]], readonly [4, [["Bsc"]]], readonly [5, [["Polygon"]]], readonly [6, [["Avalanche"]]], readonly [7, [["Oasis"]]], readonly [8, [["Algorand"]]], readonly [9, [["Aurora"]]], readonly [10, [["Fantom"]]], readonly [11, [["Karura"]]], readonly [12, [["Acala"]]], readonly [13, [["Klaytn"]]], readonly [14, [["Celo"]]], readonly [15, [["Near"]]], readonly [16, [["Moonbeam"]]], readonly [17, [["Neon"]]], readonly [18, [["Terra2"]]], readonly [19, [["Injective"]]], readonly [20, [["Osmosis"]]], readonly [21, [["Sui"]]], readonly [22, [["Aptos"]]], readonly [23, [["Arbitrum"]]], readonly [24, [["Optimism"]]], readonly [25, [["Gnosis"]]], readonly [26, [["Pythnet"]]], readonly [28, [["Xpla"]]], readonly [29, [["Btc"]]], readonly [30, [["Base"]]], readonly [32, [["Sei"]]], readonly [33, [["Rootstock"]]], readonly [3104, [["Wormchain"]]], readonly [4000, [["Cosmoshub"]]], readonly [4001, [["Evmos"]]], readonly [4002, [["Kujira"]]], readonly [10002, [["Sepolia"]]]]>[(3 | 1 | 5 | 2 | 22 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 32 | 33 | 3104 | 4000 | 4001 | 4002 | 10002) & (K1 extends bigint | boolean | PropertyKey ? import("..").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : import("../utils/mapping").ObjectFromMappingEntries<[readonly [1, [["Solana"]]], readonly [2, [["Ethereum"]]], readonly [3, [["Terra"]]], readonly [4, [["Bsc"]]], readonly [5, [["Polygon"]]], readonly [6, [["Avalanche"]]], readonly [7, [["Oasis"]]], readonly [8, [["Algorand"]]], readonly [9, [["Aurora"]]], readonly [10, [["Fantom"]]], readonly [11, [["Karura"]]], readonly [12, [["Acala"]]], readonly [13, [["Klaytn"]]], readonly [14, [["Celo"]]], readonly [15, [["Near"]]], readonly [16, [["Moonbeam"]]], readonly [17, [["Neon"]]], readonly [18, [["Terra2"]]], readonly [19, [["Injective"]]], readonly [20, [["Osmosis"]]], readonly [21, [["Sui"]]], readonly [22, [["Aptos"]]], readonly [23, [["Arbitrum"]]], readonly [24, [["Optimism"]]], readonly [25, [["Gnosis"]]], readonly [26, [["Pythnet"]]], readonly [28, [["Xpla"]]], readonly [29, [["Btc"]]], readonly [30, [["Base"]]], readonly [32, [["Sei"]]], readonly [33, [["Rootstock"]]], readonly [3104, [["Wormchain"]]], readonly [4000, [["Cosmoshub"]]], readonly [4001, [["Evmos"]]], readonly [4002, [["Kujira"]]], readonly [10002, [["Sepolia"]]]]>[(3 | 1 | 5 | 2 | 22 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 28 | 29 | 30 | 32 | 33 | 3104 | 4000 | 4001 | 4002 | 10002) & (K1 extends bigint | boolean | PropertyKey ? import("..").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : never) & {
18
18
  get: (args_0: number) => "Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia" | undefined;
19
19
  has: (args_0: number) => boolean;
20
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../src/constants/chains.ts"],"names":[],"mappings":"AAoDA,eAAO,MAAO,MAAM,uXAAE,QAAQ,6JAAgC,CAAC;AAC/D,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;AAExC,eAAO,MAAM,cAAc;;;;;;;CAAoC,CAAC;AAChE,eAAO,MAAM,cAAc;;;;;;;CAA4C,CAAC;AAExE,eAAO,MAAM,OAAO,UAAW,MAAM,yZACV,CAAC;AAC5B,eAAO,MAAM,SAAS,YAAa,MAAM,mMACZ,CAAC;AAE9B,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAEzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAErE;AAGD,eAAO,MAAM,SAAS,YAAa,MAAM,KAAG,OAG3C,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,MAAM,GAAG,MAAM,GAAG,KAAK,KAAG,OAU1D,CAAC;AAEF,eAAO,MAAM,WAAW,UACf,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,KACtC,SAcF,CAAC"}
1
+ {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../src/constants/chains.ts"],"names":[],"mappings":"AAoDA,eAAO,MAAO,MAAM,8WAAE,QAAQ,oJAAgC,CAAC;AAC/D,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAChD,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;AAExC,eAAO,MAAM,cAAc;;;;;;;CAAoC,CAAC;AAChE,eAAO,MAAM,cAAc;;;;;;;CAA4C,CAAC;AAExE,eAAO,MAAM,OAAO,UAAW,MAAM,yZACV,CAAC;AAC5B,eAAO,MAAM,SAAS,YAAa,MAAM,mMACZ,CAAC;AAE9B,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAEzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAErE;AAGD,eAAO,MAAM,SAAS,YAAa,MAAM,KAAG,OAG3C,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,MAAM,GAAG,MAAM,GAAG,KAAK,KAAG,OAU1D,CAAC;AAEF,eAAO,MAAM,WAAW,UACf,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,KACtC,SAcF,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { Network } from "./networks";
2
2
  import { Chain, ChainName } from "./chains";
3
- export declare const circleChains: readonly ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base"], circleChainIds: readonly [0, 1, 2, 3, 6];
3
+ export declare const circleChains: ["Ethereum", "Avalanche", "Optimism", "Arbitrum", "Base"], circleChainIds: [0, 1, 2, 3, 6];
4
4
  export type CircleChainName = (typeof circleChains)[number];
5
5
  export type CircleChainId = (typeof circleChainIds)[number];
6
- export declare const circleNetworks: readonly ["Mainnet", "Testnet"], _: readonly [readonly [readonly ["Ethereum", "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"], readonly ["Avalanche", "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e"], readonly ["Arbitrum", "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"], readonly ["Optimism", "0x179522635726710dd7d2035a81d856de4aa7836c"], readonly ["Base", "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"]], readonly [readonly ["Avalanche", "0x5425890298aed601595a70AB815c96711a31Bc65"], readonly ["Arbitrum", "0xfd064A18f3BF249cf1f87FC203E90D8f650f2d63"], readonly ["Ethereum", "0x07865c6e87b9f70255377e024ace6630c1eaa37f"], readonly ["Optimism", "0xe05606174bac4A6364B31bd0eCA4bf4dD368f8C6"], readonly ["Base", "0xf175520c52418dfe19c8098071a252da48cd1c19"]]];
6
+ export declare const circleNetworks: ["Mainnet", "Testnet"], _: [readonly [readonly ["Ethereum", "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"], readonly ["Avalanche", "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e"], readonly ["Arbitrum", "0xaf88d065e77c8cC2239327C5EDb3A432268e5831"], readonly ["Optimism", "0x179522635726710dd7d2035a81d856de4aa7836c"], readonly ["Base", "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"]], readonly [readonly ["Avalanche", "0x5425890298aed601595a70AB815c96711a31Bc65"], readonly ["Arbitrum", "0xfd064A18f3BF249cf1f87FC203E90D8f650f2d63"], readonly ["Ethereum", "0x07865c6e87b9f70255377e024ace6630c1eaa37f"], readonly ["Optimism", "0xe05606174bac4A6364B31bd0eCA4bf4dD368f8C6"], readonly ["Base", "0xf175520c52418dfe19c8098071a252da48cd1c19"]]];
7
7
  export type CircleNetwork = (typeof circleNetworks)[number];
8
8
  export declare const circleChainId: (<K1 extends "Ethereum" | "Avalanche" | "Arbitrum" | "Optimism" | "Base">(args_0: K1) => (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never) extends "Ethereum" | "Avalanche" | "Arbitrum" | "Optimism" | "Base" ? import("../utils").ObjectFromMappingEntries<readonly [readonly ["Ethereum", 0], readonly ["Avalanche", 1], readonly ["Optimism", 2], readonly ["Arbitrum", 3], readonly ["Base", 6]]>[("Ethereum" | "Avalanche" | "Arbitrum" | "Optimism" | "Base") & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] extends {
9
9
  [key: string]: unknown;
@@ -13,11 +13,11 @@ export declare const circleChainId: (<K1 extends "Ethereum" | "Avalanche" | "Arb
13
13
  get: (args_0: string) => 0 | 3 | 1 | 2 | 6 | undefined;
14
14
  has: (args_0: string) => boolean;
15
15
  };
16
- export declare const circleChainIdToChainName: (<K1 extends 0 | 3 | 1 | 2 | 6>(args_0: K1) => (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never) extends 0 | 3 | 1 | 2 | 6 ? import("../utils").ObjectFromMappingEntries<[readonly [0, readonly [readonly ["Ethereum"]]], readonly [1, readonly [readonly ["Avalanche"]]], readonly [2, readonly [readonly ["Optimism"]]], readonly [3, readonly [readonly ["Arbitrum"]]], readonly [6, readonly [readonly ["Base"]]]]>[(0 | 3 | 1 | 2 | 6) & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] extends {
16
+ export declare const circleChainIdToChainName: (<K1 extends 0 | 3 | 1 | 2 | 6>(args_0: K1) => (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never) extends 0 | 3 | 1 | 2 | 6 ? import("../utils").ObjectFromMappingEntries<[readonly [0, [["Ethereum"]]], readonly [1, [["Avalanche"]]], readonly [2, [["Optimism"]]], readonly [3, [["Arbitrum"]]], readonly [6, [["Base"]]]]>[(0 | 3 | 1 | 2 | 6) & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] extends {
17
17
  [key: string]: unknown;
18
18
  [key: number]: unknown;
19
19
  [key: symbol]: unknown;
20
- } ? import("../utils").ObjectFromMappingEntries<[readonly [0, readonly [readonly ["Ethereum"]]], readonly [1, readonly [readonly ["Avalanche"]]], readonly [2, readonly [readonly ["Optimism"]]], readonly [3, readonly [readonly ["Arbitrum"]]], readonly [6, readonly [readonly ["Base"]]]]>[(0 | 3 | 1 | 2 | 6) & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : import("../utils").ObjectFromMappingEntries<[readonly [0, readonly [readonly ["Ethereum"]]], readonly [1, readonly [readonly ["Avalanche"]]], readonly [2, readonly [readonly ["Optimism"]]], readonly [3, readonly [readonly ["Arbitrum"]]], readonly [6, readonly [readonly ["Base"]]]]>[(0 | 3 | 1 | 2 | 6) & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : never) & {
20
+ } ? import("../utils").ObjectFromMappingEntries<[readonly [0, [["Ethereum"]]], readonly [1, [["Avalanche"]]], readonly [2, [["Optimism"]]], readonly [3, [["Arbitrum"]]], readonly [6, [["Base"]]]]>[(0 | 3 | 1 | 2 | 6) & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : import("../utils").ObjectFromMappingEntries<[readonly [0, [["Ethereum"]]], readonly [1, [["Avalanche"]]], readonly [2, [["Optimism"]]], readonly [3, [["Arbitrum"]]], readonly [6, [["Base"]]]]>[(0 | 3 | 1 | 2 | 6) & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : never) & {
21
21
  get: (args_0: number) => "Ethereum" | "Avalanche" | "Arbitrum" | "Optimism" | "Base" | undefined;
22
22
  has: (args_0: number) => boolean;
23
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"circle.d.ts","sourceRoot":"","sources":["../../../src/constants/circle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AA0C5C,eAAO,MAAO,YAAY,sEAAE,cAAc,0BAAsB,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,eAAO,MAAO,cAAc,mCAAE,CAAC,6sBAAsB,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,eAAO,MAAM,aAAa;;;;;;;CAA0B,CAAC;AACrD,eAAO,MAAM,wBAAwB;;;;;;;CAAkC,CAAC;AACxE,eAAO,MAAM,SAAS;;;;;;;CAAuB,CAAC;AAE9C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAA0B,CAAC;AAEpD,eAAO,MAAM,aAAa,UACjB,MAAM,GAAG,SAAS,GAAG,eAAe,yEACU,CAAC;AAExD,eAAO,MAAM,eAAe,YAAa,MAAM,iCACR,CAAC;AAExC,eAAO,MAAM,iBAAiB,YACnB,OAAO,SACT,MAAM,GAAG,SAAS,GAAG,eAAe,qCACkB,CAAC;AAEhE,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,IAAI,aAAa,CAGlC;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,KAAK,IAAI,eAAe,CAElC;AAGD,eAAO,MAAM,eAAe,YAAa,MAAM,KAAG,aAGjD,CAAC;AAEF,eAAO,MAAM,eAAe,UACnB,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,KACtC,aAcF,CAAC;AAEF,eAAO,MAAM,iBAAiB,UACrB,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,KACtC,SAcF,CAAC"}
1
+ {"version":3,"file":"circle.d.ts","sourceRoot":"","sources":["../../../src/constants/circle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AA0C5C,eAAO,MAAO,YAAY,6DAAE,cAAc,iBAAsB,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,eAAO,MAAO,cAAc,0BAAE,CAAC,osBAAsB,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D,eAAO,MAAM,aAAa;;;;;;;CAA0B,CAAC;AACrD,eAAO,MAAM,wBAAwB;;;;;;;CAAkC,CAAC;AACxE,eAAO,MAAM,SAAS;;;;;;;CAAuB,CAAC;AAE9C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAA0B,CAAC;AAEpD,eAAO,MAAM,aAAa,UACjB,MAAM,GAAG,SAAS,GAAG,eAAe,yEACU,CAAC;AAExD,eAAO,MAAM,eAAe,YAAa,MAAM,iCACR,CAAC;AAExC,eAAO,MAAM,iBAAiB,YACnB,OAAO,SACT,MAAM,GAAG,SAAS,GAAG,eAAe,qCACkB,CAAC;AAEhE,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,IAAI,aAAa,CAGlC;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,KAAK,IAAI,eAAe,CAElC;AAGD,eAAO,MAAM,eAAe,YAAa,MAAM,KAAG,aAGjD,CAAC;AAEF,eAAO,MAAM,eAAe,UACnB,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,KACtC,aAcF,CAAC;AAEF,eAAO,MAAM,iBAAiB,UACrB,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,KACtC,SAcF,CAAC"}
@@ -6,14 +6,14 @@ export declare const platformToChains: (<K1 extends "Solana" | "Algorand" | "Nea
6
6
  [key: number]: unknown;
7
7
  [key: symbol]: unknown;
8
8
  } ? import("../utils").ObjectFromMappingEntries<readonly [readonly ["Evm", readonly ["Acala", "Arbitrum", "Aurora", "Avalanche", "Base", "Bsc", "Celo", "Ethereum", "Fantom", "Gnosis", "Karura", "Klaytn", "Moonbeam", "Neon", "Oasis", "Optimism", "Polygon", "Rootstock", "Sepolia"]], readonly ["Solana", readonly ["Solana", "Pythnet"]], readonly ["Cosmwasm", readonly ["Cosmoshub", "Evmos", "Injective", "Kujira", "Osmosis", "Sei", "Terra", "Terra2", "Wormchain", "Xpla"]], readonly ["Btc", readonly ["Btc"]], readonly ["Algorand", readonly ["Algorand"]], readonly ["Sui", readonly ["Sui"]], readonly ["Aptos", readonly ["Aptos"]], readonly ["Near", readonly ["Near"]]]>[("Solana" | "Algorand" | "Near" | "Sui" | "Aptos" | "Btc" | "Evm" | "Cosmwasm") & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : import("../utils").ObjectFromMappingEntries<readonly [readonly ["Evm", readonly ["Acala", "Arbitrum", "Aurora", "Avalanche", "Base", "Bsc", "Celo", "Ethereum", "Fantom", "Gnosis", "Karura", "Klaytn", "Moonbeam", "Neon", "Oasis", "Optimism", "Polygon", "Rootstock", "Sepolia"]], readonly ["Solana", readonly ["Solana", "Pythnet"]], readonly ["Cosmwasm", readonly ["Cosmoshub", "Evmos", "Injective", "Kujira", "Osmosis", "Sei", "Terra", "Terra2", "Wormchain", "Xpla"]], readonly ["Btc", readonly ["Btc"]], readonly ["Algorand", readonly ["Algorand"]], readonly ["Sui", readonly ["Sui"]], readonly ["Aptos", readonly ["Aptos"]], readonly ["Near", readonly ["Near"]]]>[("Solana" | "Algorand" | "Near" | "Sui" | "Aptos" | "Btc" | "Evm" | "Cosmwasm") & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : never) & {
9
- get: (args_0: string) => readonly ["Algorand"] | readonly ["Near"] | readonly ["Sui"] | readonly ["Aptos"] | readonly ["Btc"] | readonly ["Acala", "Arbitrum", "Aurora", "Avalanche", "Base", "Bsc", "Celo", "Ethereum", "Fantom", "Gnosis", "Karura", "Klaytn", "Moonbeam", "Neon", "Oasis", "Optimism", "Polygon", "Rootstock", "Sepolia"] | readonly ["Solana", "Pythnet"] | readonly ["Cosmoshub", "Evmos", "Injective", "Kujira", "Osmosis", "Sei", "Terra", "Terra2", "Wormchain", "Xpla"] | undefined;
9
+ get: (args_0: string) => readonly ["Acala", "Arbitrum", "Aurora", "Avalanche", "Base", "Bsc", "Celo", "Ethereum", "Fantom", "Gnosis", "Karura", "Klaytn", "Moonbeam", "Neon", "Oasis", "Optimism", "Polygon", "Rootstock", "Sepolia"] | readonly ["Solana", "Pythnet"] | readonly ["Cosmoshub", "Evmos", "Injective", "Kujira", "Osmosis", "Sei", "Terra", "Terra2", "Wormchain", "Xpla"] | readonly ["Btc"] | readonly ["Algorand"] | readonly ["Sui"] | readonly ["Aptos"] | readonly ["Near"] | undefined;
10
10
  has: (args_0: string) => boolean;
11
11
  };
12
- export declare const chainToPlatform: (<K1 extends "Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia">(args_0: K1) => (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never) extends "Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia" ? import("../utils").ObjectFromMappingEntries<[readonly ["Acala", readonly [readonly ["Evm"]]], readonly ["Arbitrum", readonly [readonly ["Evm"]]], readonly ["Aurora", readonly [readonly ["Evm"]]], readonly ["Avalanche", readonly [readonly ["Evm"]]], readonly ["Base", readonly [readonly ["Evm"]]], readonly ["Bsc", readonly [readonly ["Evm"]]], readonly ["Celo", readonly [readonly ["Evm"]]], readonly ["Ethereum", readonly [readonly ["Evm"]]], readonly ["Fantom", readonly [readonly ["Evm"]]], readonly ["Gnosis", readonly [readonly ["Evm"]]], readonly ["Karura", readonly [readonly ["Evm"]]], readonly ["Klaytn", readonly [readonly ["Evm"]]], readonly ["Moonbeam", readonly [readonly ["Evm"]]], readonly ["Neon", readonly [readonly ["Evm"]]], readonly ["Oasis", readonly [readonly ["Evm"]]], readonly ["Optimism", readonly [readonly ["Evm"]]], readonly ["Polygon", readonly [readonly ["Evm"]]], readonly ["Rootstock", readonly [readonly ["Evm"]]], readonly ["Sepolia", readonly [readonly ["Evm"]]], readonly ["Solana", readonly [readonly ["Solana"]]], readonly ["Pythnet", readonly [readonly ["Solana"]]], readonly ["Cosmoshub", readonly [readonly ["Cosmwasm"]]], readonly ["Evmos", readonly [readonly ["Cosmwasm"]]], readonly ["Injective", readonly [readonly ["Cosmwasm"]]], readonly ["Kujira", readonly [readonly ["Cosmwasm"]]], readonly ["Osmosis", readonly [readonly ["Cosmwasm"]]], readonly ["Sei", readonly [readonly ["Cosmwasm"]]], readonly ["Terra", readonly [readonly ["Cosmwasm"]]], readonly ["Terra2", readonly [readonly ["Cosmwasm"]]], readonly ["Wormchain", readonly [readonly ["Cosmwasm"]]], readonly ["Xpla", readonly [readonly ["Cosmwasm"]]], readonly ["Btc", readonly [readonly ["Btc"]]], readonly ["Algorand", readonly [readonly ["Algorand"]]], readonly ["Sui", readonly [readonly ["Sui"]]], readonly ["Aptos", readonly [readonly ["Aptos"]]], readonly ["Near", readonly [readonly ["Near"]]]]>[("Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] extends {
12
+ export declare const chainToPlatform: (<K1 extends "Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia">(args_0: K1) => (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never) extends "Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia" ? import("../utils").ObjectFromMappingEntries<[readonly ["Acala", [["Evm"]]], readonly ["Arbitrum", [["Evm"]]], readonly ["Aurora", [["Evm"]]], readonly ["Avalanche", [["Evm"]]], readonly ["Base", [["Evm"]]], readonly ["Bsc", [["Evm"]]], readonly ["Celo", [["Evm"]]], readonly ["Ethereum", [["Evm"]]], readonly ["Fantom", [["Evm"]]], readonly ["Gnosis", [["Evm"]]], readonly ["Karura", [["Evm"]]], readonly ["Klaytn", [["Evm"]]], readonly ["Moonbeam", [["Evm"]]], readonly ["Neon", [["Evm"]]], readonly ["Oasis", [["Evm"]]], readonly ["Optimism", [["Evm"]]], readonly ["Polygon", [["Evm"]]], readonly ["Rootstock", [["Evm"]]], readonly ["Sepolia", [["Evm"]]], readonly ["Solana", [["Solana"]]], readonly ["Pythnet", [["Solana"]]], readonly ["Cosmoshub", [["Cosmwasm"]]], readonly ["Evmos", [["Cosmwasm"]]], readonly ["Injective", [["Cosmwasm"]]], readonly ["Kujira", [["Cosmwasm"]]], readonly ["Osmosis", [["Cosmwasm"]]], readonly ["Sei", [["Cosmwasm"]]], readonly ["Terra", [["Cosmwasm"]]], readonly ["Terra2", [["Cosmwasm"]]], readonly ["Wormchain", [["Cosmwasm"]]], readonly ["Xpla", [["Cosmwasm"]]], readonly ["Btc", [["Btc"]]], readonly ["Algorand", [["Algorand"]]], readonly ["Sui", [["Sui"]]], readonly ["Aptos", [["Aptos"]]], readonly ["Near", [["Near"]]]]>[("Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] extends {
13
13
  [key: string]: unknown;
14
14
  [key: number]: unknown;
15
15
  [key: symbol]: unknown;
16
- } ? import("../utils").ObjectFromMappingEntries<[readonly ["Acala", readonly [readonly ["Evm"]]], readonly ["Arbitrum", readonly [readonly ["Evm"]]], readonly ["Aurora", readonly [readonly ["Evm"]]], readonly ["Avalanche", readonly [readonly ["Evm"]]], readonly ["Base", readonly [readonly ["Evm"]]], readonly ["Bsc", readonly [readonly ["Evm"]]], readonly ["Celo", readonly [readonly ["Evm"]]], readonly ["Ethereum", readonly [readonly ["Evm"]]], readonly ["Fantom", readonly [readonly ["Evm"]]], readonly ["Gnosis", readonly [readonly ["Evm"]]], readonly ["Karura", readonly [readonly ["Evm"]]], readonly ["Klaytn", readonly [readonly ["Evm"]]], readonly ["Moonbeam", readonly [readonly ["Evm"]]], readonly ["Neon", readonly [readonly ["Evm"]]], readonly ["Oasis", readonly [readonly ["Evm"]]], readonly ["Optimism", readonly [readonly ["Evm"]]], readonly ["Polygon", readonly [readonly ["Evm"]]], readonly ["Rootstock", readonly [readonly ["Evm"]]], readonly ["Sepolia", readonly [readonly ["Evm"]]], readonly ["Solana", readonly [readonly ["Solana"]]], readonly ["Pythnet", readonly [readonly ["Solana"]]], readonly ["Cosmoshub", readonly [readonly ["Cosmwasm"]]], readonly ["Evmos", readonly [readonly ["Cosmwasm"]]], readonly ["Injective", readonly [readonly ["Cosmwasm"]]], readonly ["Kujira", readonly [readonly ["Cosmwasm"]]], readonly ["Osmosis", readonly [readonly ["Cosmwasm"]]], readonly ["Sei", readonly [readonly ["Cosmwasm"]]], readonly ["Terra", readonly [readonly ["Cosmwasm"]]], readonly ["Terra2", readonly [readonly ["Cosmwasm"]]], readonly ["Wormchain", readonly [readonly ["Cosmwasm"]]], readonly ["Xpla", readonly [readonly ["Cosmwasm"]]], readonly ["Btc", readonly [readonly ["Btc"]]], readonly ["Algorand", readonly [readonly ["Algorand"]]], readonly ["Sui", readonly [readonly ["Sui"]]], readonly ["Aptos", readonly [readonly ["Aptos"]]], readonly ["Near", readonly [readonly ["Near"]]]]>[("Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : import("../utils").ObjectFromMappingEntries<[readonly ["Acala", readonly [readonly ["Evm"]]], readonly ["Arbitrum", readonly [readonly ["Evm"]]], readonly ["Aurora", readonly [readonly ["Evm"]]], readonly ["Avalanche", readonly [readonly ["Evm"]]], readonly ["Base", readonly [readonly ["Evm"]]], readonly ["Bsc", readonly [readonly ["Evm"]]], readonly ["Celo", readonly [readonly ["Evm"]]], readonly ["Ethereum", readonly [readonly ["Evm"]]], readonly ["Fantom", readonly [readonly ["Evm"]]], readonly ["Gnosis", readonly [readonly ["Evm"]]], readonly ["Karura", readonly [readonly ["Evm"]]], readonly ["Klaytn", readonly [readonly ["Evm"]]], readonly ["Moonbeam", readonly [readonly ["Evm"]]], readonly ["Neon", readonly [readonly ["Evm"]]], readonly ["Oasis", readonly [readonly ["Evm"]]], readonly ["Optimism", readonly [readonly ["Evm"]]], readonly ["Polygon", readonly [readonly ["Evm"]]], readonly ["Rootstock", readonly [readonly ["Evm"]]], readonly ["Sepolia", readonly [readonly ["Evm"]]], readonly ["Solana", readonly [readonly ["Solana"]]], readonly ["Pythnet", readonly [readonly ["Solana"]]], readonly ["Cosmoshub", readonly [readonly ["Cosmwasm"]]], readonly ["Evmos", readonly [readonly ["Cosmwasm"]]], readonly ["Injective", readonly [readonly ["Cosmwasm"]]], readonly ["Kujira", readonly [readonly ["Cosmwasm"]]], readonly ["Osmosis", readonly [readonly ["Cosmwasm"]]], readonly ["Sei", readonly [readonly ["Cosmwasm"]]], readonly ["Terra", readonly [readonly ["Cosmwasm"]]], readonly ["Terra2", readonly [readonly ["Cosmwasm"]]], readonly ["Wormchain", readonly [readonly ["Cosmwasm"]]], readonly ["Xpla", readonly [readonly ["Cosmwasm"]]], readonly ["Btc", readonly [readonly ["Btc"]]], readonly ["Algorand", readonly [readonly ["Algorand"]]], readonly ["Sui", readonly [readonly ["Sui"]]], readonly ["Aptos", readonly [readonly ["Aptos"]]], readonly ["Near", readonly [readonly ["Near"]]]]>[("Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : never) & {
16
+ } ? import("../utils").ObjectFromMappingEntries<[readonly ["Acala", [["Evm"]]], readonly ["Arbitrum", [["Evm"]]], readonly ["Aurora", [["Evm"]]], readonly ["Avalanche", [["Evm"]]], readonly ["Base", [["Evm"]]], readonly ["Bsc", [["Evm"]]], readonly ["Celo", [["Evm"]]], readonly ["Ethereum", [["Evm"]]], readonly ["Fantom", [["Evm"]]], readonly ["Gnosis", [["Evm"]]], readonly ["Karura", [["Evm"]]], readonly ["Klaytn", [["Evm"]]], readonly ["Moonbeam", [["Evm"]]], readonly ["Neon", [["Evm"]]], readonly ["Oasis", [["Evm"]]], readonly ["Optimism", [["Evm"]]], readonly ["Polygon", [["Evm"]]], readonly ["Rootstock", [["Evm"]]], readonly ["Sepolia", [["Evm"]]], readonly ["Solana", [["Solana"]]], readonly ["Pythnet", [["Solana"]]], readonly ["Cosmoshub", [["Cosmwasm"]]], readonly ["Evmos", [["Cosmwasm"]]], readonly ["Injective", [["Cosmwasm"]]], readonly ["Kujira", [["Cosmwasm"]]], readonly ["Osmosis", [["Cosmwasm"]]], readonly ["Sei", [["Cosmwasm"]]], readonly ["Terra", [["Cosmwasm"]]], readonly ["Terra2", [["Cosmwasm"]]], readonly ["Wormchain", [["Cosmwasm"]]], readonly ["Xpla", [["Cosmwasm"]]], readonly ["Btc", [["Btc"]]], readonly ["Algorand", [["Algorand"]]], readonly ["Sui", [["Sui"]]], readonly ["Aptos", [["Aptos"]]], readonly ["Near", [["Near"]]]]>[("Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : import("../utils").ObjectFromMappingEntries<[readonly ["Acala", [["Evm"]]], readonly ["Arbitrum", [["Evm"]]], readonly ["Aurora", [["Evm"]]], readonly ["Avalanche", [["Evm"]]], readonly ["Base", [["Evm"]]], readonly ["Bsc", [["Evm"]]], readonly ["Celo", [["Evm"]]], readonly ["Ethereum", [["Evm"]]], readonly ["Fantom", [["Evm"]]], readonly ["Gnosis", [["Evm"]]], readonly ["Karura", [["Evm"]]], readonly ["Klaytn", [["Evm"]]], readonly ["Moonbeam", [["Evm"]]], readonly ["Neon", [["Evm"]]], readonly ["Oasis", [["Evm"]]], readonly ["Optimism", [["Evm"]]], readonly ["Polygon", [["Evm"]]], readonly ["Rootstock", [["Evm"]]], readonly ["Sepolia", [["Evm"]]], readonly ["Solana", [["Solana"]]], readonly ["Pythnet", [["Solana"]]], readonly ["Cosmoshub", [["Cosmwasm"]]], readonly ["Evmos", [["Cosmwasm"]]], readonly ["Injective", [["Cosmwasm"]]], readonly ["Kujira", [["Cosmwasm"]]], readonly ["Osmosis", [["Cosmwasm"]]], readonly ["Sei", [["Cosmwasm"]]], readonly ["Terra", [["Cosmwasm"]]], readonly ["Terra2", [["Cosmwasm"]]], readonly ["Wormchain", [["Cosmwasm"]]], readonly ["Xpla", [["Cosmwasm"]]], readonly ["Btc", [["Btc"]]], readonly ["Algorand", [["Algorand"]]], readonly ["Sui", [["Sui"]]], readonly ["Aptos", [["Aptos"]]], readonly ["Near", [["Near"]]]]>[("Solana" | "Ethereum" | "Terra" | "Bsc" | "Polygon" | "Avalanche" | "Oasis" | "Algorand" | "Aurora" | "Fantom" | "Karura" | "Acala" | "Klaytn" | "Celo" | "Near" | "Moonbeam" | "Neon" | "Terra2" | "Injective" | "Osmosis" | "Sui" | "Aptos" | "Arbitrum" | "Optimism" | "Gnosis" | "Pythnet" | "Xpla" | "Btc" | "Base" | "Sei" | "Rootstock" | "Wormchain" | "Cosmoshub" | "Evmos" | "Kujira" | "Sepolia") & (K1 extends bigint | boolean | PropertyKey ? import("../utils").AssertType<K1 extends bigint ? `bigint(${K1})` : K1 extends boolean ? `boolean(${K1})` : K1, PropertyKey> : never)] : never) & {
17
17
  get: (args_0: string) => "Solana" | "Algorand" | "Near" | "Sui" | "Aptos" | "Btc" | "Evm" | "Cosmwasm" | undefined;
18
18
  has: (args_0: string) => boolean;
19
19
  };
@@ -1,4 +1,4 @@
1
- export declare const protocols: readonly ["WormholeCore", "TokenBridge", "AutomaticTokenBridge", "CircleBridge", "AutomaticCircleBridge", "Relayer", "NftBridge"];
1
+ export declare const protocols: readonly ["CoreBridge", "TokenBridge", "NftBridge", "Relayer", "CCTP"];
2
2
  export type ProtocolName = (typeof protocols)[number];
3
- export declare const isProtocolName: (protocol: string) => protocol is "WormholeCore" | "TokenBridge" | "AutomaticTokenBridge" | "CircleBridge" | "AutomaticCircleBridge" | "Relayer" | "NftBridge";
3
+ export declare const isProtocolName: (protocol: string) => protocol is "CoreBridge" | "TokenBridge" | "NftBridge" | "Relayer" | "CCTP";
4
4
  //# sourceMappingURL=protocols.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../../../src/constants/protocols.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,SAAS,mIASZ,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AACtD,eAAO,MAAM,cAAc,aAAc,MAAM,6IACD,CAAC"}
1
+ {"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../../../src/constants/protocols.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,SAAS,wEAMZ,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AACtD,eAAO,MAAM,cAAc,aAAc,MAAM,gFACD,CAAC"}
@@ -19,21 +19,18 @@
19
19
  * (notice the clash with EVM where bridge refers to the token bridge...).
20
20
  *
21
21
  * With all of this in mind: What should we name modules here?
22
- * My preferred choice would be ["Wormholecore", "TokenBridge", "NftBridge", "Relayer"]
22
+ * My preferred choice would be ["CoreBridge", "TokenBridge", "NftBridge", "Relayer"]
23
23
  * but ["Core", "TokenBridge", "NFTBridge", "WormholeRelayer"] seems to be more consistent given
24
24
  * current naming "conventions"
25
25
  */
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.isProtocolName = exports.protocols = void 0;
28
28
  exports.protocols = [
29
- "WormholeCore",
29
+ "CoreBridge",
30
30
  "TokenBridge",
31
- "AutomaticTokenBridge",
32
- "CircleBridge",
33
- "AutomaticCircleBridge",
34
- "Relayer",
35
- // not implemented
36
31
  "NftBridge",
32
+ "Relayer",
33
+ "CCTP",
37
34
  ];
38
35
  const isProtocolName = (protocol) => exports.protocols.includes(protocol);
39
36
  exports.isProtocolName = isProtocolName;
@@ -1 +1 @@
1
- {"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../src/constants/protocols.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEU,QAAA,SAAS,GAAG;IACvB,cAAc;IACd,aAAa;IACb,sBAAsB;IACtB,cAAc;IACd,uBAAuB;IACvB,SAAS;IACT,kBAAkB;IAClB,WAAW;CACH,CAAC;AAGJ,MAAM,cAAc,GAAG,CAAC,QAAgB,EAA4B,EAAE,CAC3E,iBAAS,CAAC,QAAQ,CAAC,QAAwB,CAAC,CAAC;AADlC,QAAA,cAAc,kBACoB"}
1
+ {"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../src/constants/protocols.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;;AAEU,QAAA,SAAS,GAAG;IACvB,YAAY;IACZ,aAAa;IACb,WAAW;IACX,SAAS;IACT,MAAM;CACE,CAAC;AAGJ,MAAM,cAAc,GAAG,CAAC,QAAgB,EAA4B,EAAE,CAC3E,iBAAS,CAAC,QAAQ,CAAC,QAAwB,CAAC,CAAC;AADlC,QAAA,cAAc,kBACoB"}
@@ -1,9 +1,11 @@
1
1
  import { ParseNumber, RoArray, RoArray2D } from "./metaprogramming";
2
2
  export type IndexEs = number | RoArray<number>;
3
3
  export declare const range: (length: number) => number[];
4
- export type Entries<T extends RoArray> = readonly [...{
5
- [K in keyof T]: K extends `${number}` ? [T[K], ParseNumber<K>] : never;
6
- }];
4
+ export type Entries<T extends RoArray> = [
5
+ ...{
6
+ [K in keyof T]: K extends `${number}` ? [T[K], ParseNumber<K>] : never;
7
+ }
8
+ ];
7
9
  export type Flatten<T extends RoArray> = T extends readonly [infer Head, ...infer Tail] ? Head extends RoArray ? [...Head, ...Flatten<Tail>] : [Head, ...Flatten<Tail>] : [];
8
10
  export type InnerFlatten<T extends RoArray> = [
9
11
  ...{
@@ -13,7 +15,7 @@ export type InnerFlatten<T extends RoArray> = [
13
15
  export type IsFlat<T extends RoArray> = T extends readonly [infer Head, ...infer Tail] ? Head extends RoArray ? false : IsFlat<Tail> : true;
14
16
  export type Unflatten<T extends RoArray> = [
15
17
  ...{
16
- [K in keyof T]: K extends `${number}` ? readonly [T[K]] : never;
18
+ [K in keyof T]: K extends `${number}` ? [T[K]] : never;
17
19
  }
18
20
  ];
19
21
  export type AllSameLength<T extends RoArray2D, L extends number> = T extends readonly [infer Head extends RoArray, ...infer Tail extends RoArray2D] ? Head["length"] extends L ? AllSameLength<Tail, L> : false : true;
@@ -26,7 +28,7 @@ export type Column<A extends RoArray2D, I extends number> = [
26
28
  export declare const column: <A extends RoArray2D, I extends number>(tupArr: A, index: I) => [...{ [K in keyof A]: K extends `${number}` ? A[K][I] : never; }];
27
29
  export type Zip<A extends RoArray2D> = IsRectangular<A> extends true ? A[0] extends infer Head extends RoArray ? [
28
30
  ...{
29
- [K in keyof Head]: K extends `${number}` ? readonly [...{
31
+ [K in keyof Head]: K extends `${number}` ? [...{
30
32
  [K2 in keyof A]: K extends keyof A[K2] ? A[K2][K] : never;
31
33
  }] : never;
32
34
  }
@@ -38,7 +40,7 @@ export type ExcludeIndexes<T extends RoArray, C extends IndexEs> = ExcludeIndexe
38
40
  export type Cartesian<L, R> = L extends RoArray ? Flatten<[...{
39
41
  [K in keyof L]: K extends `${number}` ? Cartesian<L[K], R> : never;
40
42
  }]> : R extends RoArray ? [...{
41
- [K in keyof R]: K extends `${number}` ? readonly [L, R[K]] : never;
43
+ [K in keyof R]: K extends `${number}` ? [L, R[K]] : never;
42
44
  }] : [L, R];
43
45
  export {};
44
46
  //# sourceMappingURL=array.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/utils/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAKpE,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE/C,eAAO,MAAM,KAAK,WAAY,MAAM,aAA8B,CAAC;AAEnE,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,OAAO,IACnC,SAAS,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAAE,CAAC,CAAC;AAE3F,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,OAAO,IACnC,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GAC5C,IAAI,SAAS,OAAO,GAClB,CAAC,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAC3B,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAC1B,EAAE,CAAC;AAEP,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,IACxC;IAAC,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,GACjB,CAAC,SAAS,GAAG,MAAM,EAAE,GACnB,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,GAClB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACb,CAAC,CAAC,CAAC,CAAC,GACN,KAAK;KACR;CAAC,CAAC;AAEL,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,OAAO,IAClC,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GAC5C,IAAI,SAAS,OAAO,GAClB,KAAK,GACL,MAAM,CAAC,IAAI,CAAC,GACd,IAAI,CAAC;AAET,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,IACrC;IAAC,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;KAAE;CAAC,CAAC;AAE3E,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,MAAM,IAC7D,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,SAAS,OAAO,EAAE,GAAG,MAAM,IAAI,SAAS,SAAS,CAAC,GAC9E,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GACtB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,GACtB,KAAK,GACP,IAAI,CAAC;AAET,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,IACzC,CAAC,SAAS,SAAS,GACjB,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,SAAS,OAAO,EAAE,GAAG,MAAM,IAAI,SAAS,SAAS,CAAC,GAC9E,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GACnC,IAAI,GACN,MAAM,CAAC,CAAC,CAAC,CAAC;AAEd,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,MAAM,IACtD;IAAC,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;KAAE;CAAC,CAAC;AAEnE,eAAO,MAAM,MAAM,mIACkC,CAAC;AAEtD,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,SAAS,IAEjC,aAAa,CAAC,CAAC,CAAC,SAAS,IAAI,GAC3B,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,IAAI,SAAS,OAAO,GACrC;IAAC,GAAG;SAAG,CAAC,IAAI,MAAM,IAAI,GACpB,CAAC,SAAS,GAAG,MAAM,EAAE,GACnB,SAAS,CAAC,GAAG;aAAG,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;SAAE,CAAC,GAC3E,KAAK;KACR;CAAC,GACF,EAAE,GACJ,KAAK,CAAA;AAET,eAAO,MAAM,GAAG,kGAGuD,CAAC;AAExE,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,IAC1D,CAAC,SAAS,MAAM,GACd,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GACnB,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,SAAS,MAAM,EAAE,GAAG,MAAM,IAAI,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GACrF,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GACvB,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,GACpB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GACpC,EAAE,CAAC;AAEP,KAAK,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,MAAM,IACzD,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GAC5C,IAAI,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,SAAS,MAAM,CAAC,GACrD,CAAC,SAAS,CAAC,GACT,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,GAC3B,CAAC,CAAC,EAAE,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GACrC,KAAK,GACP,EAAE,CAAC;AAEP,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,IAC7D,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAE7F,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,IACxB,CAAC,SAAS,OAAO,GACf,OAAO,CAAC,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK;CAAE,CAAC,CAAC,GACpF,CAAC,SAAS,OAAO,GACjB,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAAE,CAAC,GAC3E,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../src/utils/array.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deserialize.d.ts","sourceRoot":"","sources":["../../../../src/utils/layout/deserialize.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAEN,YAAY,EAUb,MAAM,UAAU,CAAC;AAIlB,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACtD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,UAAU,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,IAAI,GAChB,YAAY,CAAC,CAAC,CAAC,CAAC;AAEnB,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACtD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,UAAU,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,KAAK,GACjB,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"deserialize.d.ts","sourceRoot":"","sources":["../../../../src/utils/layout/deserialize.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAEN,YAAY,EAWb,MAAM,UAAU,CAAC;AAIlB,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACtD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,UAAU,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,IAAI,GAChB,YAAY,CAAC,CAAC,CAAC,CAAC;AAEnB,wBAAgB,iBAAiB,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EACtD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,UAAU,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,KAAK,GACjB,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC"}
@@ -35,22 +35,20 @@ function deserializeUint(encoded, offset, size) {
35
35
  function deserializeLayoutItem(item, encoded, offset) {
36
36
  try {
37
37
  switch (item.binary) {
38
- case "object": {
39
- return internalDeserializeLayout(item.layout, encoded, offset);
40
- }
41
- case "array": {
42
- let ret = [];
43
- if (item.lengthSize !== undefined) {
44
- const [length, newOffset] = deserializeUint(encoded, offset, item.lengthSize);
45
- offset = newOffset;
46
- for (let i = 0; i < length; ++i)
47
- [ret[i], offset] = internalDeserializeLayout(item.layout, encoded, offset);
38
+ case "uint": {
39
+ const [value, newOffset] = deserializeUint(encoded, offset, item.size);
40
+ if ((0, layout_1.isUintType)(item.custom)) {
41
+ (0, utils_1.checkUintEquals)(item.custom, value);
42
+ return [item.custom, newOffset];
48
43
  }
49
- else {
50
- while (offset < encoded.length)
51
- [ret[ret.length], offset] = internalDeserializeLayout(item.layout, encoded, offset);
44
+ if ((0, layout_1.isUintType)(item?.custom?.from)) {
45
+ (0, utils_1.checkUintEquals)(item.custom.from, value);
46
+ return [item.custom.to, newOffset];
52
47
  }
53
- return [ret, offset];
48
+ return [
49
+ item.custom !== undefined ? item.custom.to(value) : value,
50
+ newOffset
51
+ ];
54
52
  }
55
53
  case "bytes": {
56
54
  let newOffset;
@@ -88,19 +86,43 @@ function deserializeLayoutItem(item, encoded, offset) {
88
86
  newOffset
89
87
  ];
90
88
  }
91
- case "uint": {
92
- const [value, newOffset] = deserializeUint(encoded, offset, item.size);
93
- if ((0, layout_1.isUintType)(item.custom)) {
94
- (0, utils_1.checkUintEquals)(item.custom, value);
95
- return [item.custom, newOffset];
96
- }
97
- if ((0, layout_1.isUintType)(item?.custom?.from)) {
98
- (0, utils_1.checkUintEquals)(item.custom.from, value);
99
- return [item.custom.to, newOffset];
89
+ case "array": {
90
+ let ret = [];
91
+ const { arrayItem } = item;
92
+ const deserializeArrayItem = (index) => {
93
+ const [deserializedItem, newOffset] = deserializeLayoutItem({ name: `${item.name}[${index}]`, ...arrayItem }, encoded, offset);
94
+ ret.push(deserializedItem);
95
+ offset = newOffset;
96
+ };
97
+ if (item.lengthSize !== undefined) {
98
+ const [length, newOffset] = deserializeUint(encoded, offset, item.lengthSize);
99
+ offset = newOffset;
100
+ for (let i = 0; i < length; ++i)
101
+ deserializeArrayItem(i);
100
102
  }
103
+ else
104
+ while (offset < encoded.length)
105
+ deserializeArrayItem(ret.length);
106
+ return [ret, offset];
107
+ }
108
+ case "object": {
109
+ return internalDeserializeLayout(item.layout, encoded, offset);
110
+ }
111
+ case "switch": {
112
+ const [id, newOffset] = deserializeUint(encoded, offset, item.idSize);
113
+ const { idLayoutPairs } = item;
114
+ if (idLayoutPairs.length === 0)
115
+ throw new Error(`switch item '${item.name}' has no idLayoutPairs`);
116
+ const hasPlainIds = typeof idLayoutPairs[0][0] === "number";
117
+ const pair = idLayoutPairs.find(([idOrConversionId]) => hasPlainIds ? idOrConversionId === id : (idOrConversionId)[0] === id);
118
+ if (pair === undefined)
119
+ throw new Error(`unknown id value: ${id}`);
120
+ const [idOrConversionId, idLayout] = pair;
121
+ const [decoded, nextOffset] = internalDeserializeLayout(idLayout, encoded, newOffset);
101
122
  return [
102
- item.custom !== undefined ? item.custom.to(value) : value,
103
- newOffset
123
+ { [item.idTag ?? "id"]: hasPlainIds ? id : idOrConversionId[1],
124
+ ...decoded },
125
+ nextOffset
104
126
  ];
105
127
  }
106
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deserialize.js","sourceRoot":"","sources":["../../../../src/utils/layout/deserialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserialize.js","sourceRoot":"","sources":["../../../../src/utils/layout/deserialize.ts"],"names":[],"mappings":";;;AAAA,qCAckB;AAElB,mCAAsE;AAgBtE,SAAgB,iBAAiB,CAC/B,MAAS,EACT,OAAmB,EACnB,MAAM,GAAG,CAAC,EACV,UAAU,GAAG,IAAI;IAEjB,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAElF,IAAI,UAAU,IAAI,WAAW,KAAK,OAAO,CAAC,MAAM;QAC9C,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,CAAC,MAAM,MAAM,WAAW,EAAE,CAAC,CAAC;IAE9F,OAAO,UAAU,CAAC,CAAC,CAAC,OAA0B,CAAC,CAAC,CAAC,CAAC,OAA0B,EAAE,WAAW,CAAC,CAAC;AAC7F,CAAC;AAZD,8CAYC;AAED,SAAS,yBAAyB,CAChC,MAAc,EACd,OAAmB,EACnB,MAAc;IAEd,IAAI,OAAO,GAAG,EAAS,CAAC;IACxB,KAAK,MAAM,IAAI,IAAI,MAAM;QACvB,CAAC,CAAE,IAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YACtD,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAEjD,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,YAAY,CACnB,OAAmB,EACnB,MAAc,EACd,IAAY;IAEZ,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM;QAC5B,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,CAAC;IAE7F,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CACtB,OAAmB,EACnB,MAAc,EACd,IAAO;IAEP,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC;QAC3B,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAErE,OAAO;QACL,CAAC,CAAC,IAAI,GAAG,sBAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAA2B;QAC1E,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC;KAC3B,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAqB,EACrB,OAAmB,EACnB,MAAc;IAEd,IAAI;QACF,QAAQ,IAAI,CAAC,MAAM,EAAE;YACnB,KAAK,MAAM,CAAC,CAAC;gBACX,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEvE,IAAI,IAAA,mBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBAC3B,IAAA,uBAAe,EAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACpC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;iBACjC;gBAED,IAAI,IAAA,mBAAU,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;oBAClC,IAAA,uBAAe,EAAC,IAAK,CAAC,MAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC3C,OAAO,CAAC,IAAK,CAAC,MAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;iBACtC;gBAMD,OAAO;oBACL,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,MAAyB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;oBAC7E,SAAS;iBACV,CAAC;aACH;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,SAAS,CAAC;gBACd,IAAI,SAAS,CAAC;gBACd,IAAI,OAAO,CAAC;gBACZ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;oBAC7B,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,MAAM,CAAC;wBAC1B,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;yBACrB,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;wBACtC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBAC7B,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;qBAC1B;iBACF;gBAED,IAAI,SAAS,KAAK,SAAS;oBACzB,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;qBACzD;oBACH,IAAI,GAAG,IAC0E,CAAC;oBAClF,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;wBAC3C,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;yBAClD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;wBACtC,IAAI,MAAM,CAAC;wBACX,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;wBACrE,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;qBACnD;;wBAEC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;iBAC9B;gBAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC/C,IAAI,SAAS,KAAK,SAAS,EAAE;oBAC3B,IAAA,kCAA0B,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC7C,OAAO,CAAC,OAAO,IAAI,SAAS,EAAE,SAAS,CAAC,CAAC;iBAC1C;gBAGD,OAAO;oBACL,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAE,IAAI,CAAC,MAAyB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;oBAC7E,SAAS;iBACV,CAAC;aACH;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,GAAG,GAAG,EAAW,CAAC;gBACtB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;gBAC3B,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAE,EAAE;oBAC7C,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG,qBAAqB,CACzD,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE,GAAG,SAAS,EAAE,EAChD,OAAO,EACP,MAAM,CACP,CAAC;oBACF,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAC3B,MAAM,GAAG,SAAS,CAAC;gBACrB,CAAC,CAAA;gBAED,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;oBACjC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC9E,MAAM,GAAG,SAAS,CAAC;oBACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC;wBAC7B,oBAAoB,CAAC,CAAC,CAAC,CAAC;iBAC3B;;oBAEC,OAAO,MAAM,GAAG,OAAO,CAAC,MAAM;wBAC5B,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAErC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;aACtB;YACD,KAAK,QAAQ,CAAC,CAAC;gBACb,OAAO,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;aAChE;YACD,KAAK,QAAQ,CAAC,CAAC;gBACb,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtE,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC;gBAC7B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,IAAI,wBAAwB,CAAC,CAAC;gBAErE,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;gBAC5D,MAAM,IAAI,GAAI,aAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAChE,WAAW,CAAC,CAAC,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAExE,IAAI,IAAI,KAAK,SAAS;oBACpB,MAAM,IAAI,KAAK,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;gBAE7C,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;gBAC1C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;gBACtF,OAAO;oBACL,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,gBAAwB,CAAC,CAAC,CAAC;wBACrE,GAAG,OAAO,EACX;oBACD,UAAU;iBACX,CAAC;aACH;SACF;KACF;IACD,OAAO,CAAC,EAAE;QACP,CAAW,CAAC,OAAO,GAAG,4BAA4B,IAAI,CAAC,IAAI,MAAO,CAAW,CAAC,OAAO,EAAE,CAAC;QACzF,MAAM,CAAC,CAAC;KACT;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"discriminate.d.ts","sourceRoot":"","sources":["../../../../src/utils/layout/discriminate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAKP,MAAM,UAAU,CAAC;AAKlB,KAAK,IAAI,GAAG,MAAM,CAAC;AAKnB,KAAK,WAAW,GAAG,IAAI,CAAC;AA6ZxB,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EAC3D,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,cAAc,CAAC,EAAE,CAAC,aAaH,UAAU,KAAK,CAAC,SAAS,KAAK,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,WAAW,EAAE,CAC5F"}
1
+ {"version":3,"file":"discriminate.d.ts","sourceRoot":"","sources":["../../../../src/utils/layout/discriminate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAKP,MAAM,UAAU,CAAC;AAKlB,KAAK,IAAI,GAAG,MAAM,CAAC;AAKnB,KAAK,WAAW,GAAG,IAAI,CAAC;AAkexB,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,EAC3D,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,cAAc,CAAC,EAAE,CAAC,aAaH,UAAU,KAAK,CAAC,SAAS,KAAK,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,WAAW,EAAE,CAC5F"}
@@ -26,11 +26,18 @@ function layoutItemMeta(item, offset, fixedBytes) {
26
26
  return [size, size];
27
27
  }
28
28
  switch (item.binary) {
29
- case "object": {
30
- return createLayoutMeta(item.layout, offset, fixedBytes);
31
- }
32
- case "array": {
33
- return [item.lengthSize !== undefined ? item.lengthSize : 0, Infinity];
29
+ case "uint": {
30
+ const fixedVal = (0, layout_1.isUintType)(item.custom)
31
+ ? item.custom
32
+ : (0, layout_1.isUintType)(item?.custom?.from)
33
+ ? item.custom.from
34
+ : null;
35
+ if (fixedVal !== null) {
36
+ const serialized = new Uint8Array(item.size);
37
+ (0, serialize_1.serializeUint)(serialized, 0, fixedVal, item.size);
38
+ return knownFixed(item.size, serialized);
39
+ }
40
+ return [item.size, item.size];
34
41
  }
35
42
  case "bytes": {
36
43
  if ("size" in item && item.size !== undefined)
@@ -44,18 +51,69 @@ function layoutItemMeta(item, offset, fixedBytes) {
44
51
  item = item;
45
52
  return [item.lengthSize !== undefined ? item.lengthSize : 0, Infinity];
46
53
  }
47
- case "uint": {
48
- const fixedVal = (0, layout_1.isUintType)(item.custom)
49
- ? item.custom
50
- : (0, layout_1.isUintType)(item?.custom?.from)
51
- ? item.custom.from
52
- : null;
53
- if (fixedVal !== null) {
54
- const serialized = new Uint8Array(item.size);
55
- (0, serialize_1.serializeUint)(serialized, 0, fixedVal, item.size);
56
- return knownFixed(item.size, serialized);
57
- }
58
- return [item.size, item.size];
54
+ case "array": {
55
+ return [item.lengthSize !== undefined ? item.lengthSize : 0, Infinity];
56
+ }
57
+ case "object": {
58
+ return createLayoutMeta(item.layout, offset, fixedBytes);
59
+ }
60
+ case "switch": {
61
+ const caseFixedBytes = item.idLayoutPairs.map(_ => []);
62
+ const { idSize } = item;
63
+ const caseBounds = item.idLayoutPairs.map(([idOrConversionId, layout], caseIndex) => {
64
+ const idVal = Array.isArray(idOrConversionId) ? idOrConversionId[0] : idOrConversionId;
65
+ if (offset !== null) {
66
+ const serializedId = new Uint8Array(idSize);
67
+ (0, serialize_1.serializeUint)(serializedId, 0, idVal, idSize);
68
+ caseFixedBytes[caseIndex].push([0, serializedId]);
69
+ }
70
+ const ret = createLayoutMeta(layout, offset ? idSize : null, caseFixedBytes[caseIndex]);
71
+ return [ret[0] + idSize, ret[1] + idSize];
72
+ });
73
+ if (offset !== null)
74
+ //find bytes that have the same value across all cases (turning this into a lambda to enable
75
+ // early return from inner loops)
76
+ (() => {
77
+ //constrain search to the minimum length of all cases
78
+ const minLen = Math.min(...caseFixedBytes.map(fbs => fbs.at(-1)[0] + fbs.at(-1)[1].length));
79
+ //keep track of the current index in each case's fixed bytes array
80
+ const itIndexes = caseFixedBytes.map(_ => 0);
81
+ for (let bytePos = 0; bytePos < minLen;) {
82
+ let byteVal = null;
83
+ let caseIndex = 0;
84
+ while (caseIndex < caseFixedBytes.length) {
85
+ let curItIndex = itIndexes[caseIndex];
86
+ const curFixedBytes = caseFixedBytes[caseIndex];
87
+ const [curOffset, curSerialized] = curFixedBytes[curItIndex];
88
+ if (curOffset + curSerialized.length <= bytePos) {
89
+ //no fixed byte at this position in this case
90
+ ++curItIndex;
91
+ if (curItIndex === curFixedBytes.length)
92
+ return; //we have exhausted all fixed bytes in at least one case
93
+ itIndexes[caseIndex] = curItIndex;
94
+ //jump to the next possible bytePos given the fixed bytes of the current case index
95
+ bytePos = curFixedBytes[curItIndex][0];
96
+ break;
97
+ }
98
+ const curByteVal = curSerialized[bytePos - curOffset];
99
+ if (byteVal === null)
100
+ byteVal = curByteVal;
101
+ if (curByteVal !== byteVal)
102
+ break;
103
+ caseIndex++;
104
+ }
105
+ //only if we made it through all cases without breaking do we have a fixed byte
106
+ // and hence add it to the list of fixed bytes
107
+ if (caseIndex === caseFixedBytes.length) {
108
+ fixedBytes.push([offset + bytePos, new Uint8Array([byteVal])]);
109
+ ++bytePos;
110
+ }
111
+ }
112
+ })();
113
+ return [
114
+ Math.min(...caseBounds.map(([lower]) => lower)),
115
+ Math.max(...caseBounds.map(([_, upper]) => upper))
116
+ ];
59
117
  }
60
118
  }
61
119
  }