sushi 6.2.2 → 6.2.4

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 (107) hide show
  1. package/_cjs/evm/abi/sushiSwapV2RouterAbi/index.js +1 -0
  2. package/_cjs/evm/abi/sushiSwapV2RouterAbi/index.js.map +1 -1
  3. package/_cjs/evm/abi/sushiSwapV2RouterAbi/sushiswapV2RouterAbi.js +360 -0
  4. package/_cjs/evm/abi/sushiSwapV2RouterAbi/sushiswapV2RouterAbi.js.map +1 -0
  5. package/_cjs/evm/api/quote.js.map +1 -1
  6. package/_cjs/evm/api/swap.js.map +1 -1
  7. package/_cjs/evm/config/features/sushiswap-v3.js +33 -1
  8. package/_cjs/evm/config/features/sushiswap-v3.js.map +1 -1
  9. package/_cjs/evm/currency/native.js +9 -2
  10. package/_cjs/evm/currency/native.js.map +1 -1
  11. package/_cjs/evm/currency/token.js +13 -3
  12. package/_cjs/evm/currency/token.js.map +1 -1
  13. package/_cjs/evm/validate/zod.js +5 -2
  14. package/_cjs/evm/validate/zod.js.map +1 -1
  15. package/_cjs/kvm/currency/token.js +13 -3
  16. package/_cjs/kvm/currency/token.js.map +1 -1
  17. package/_cjs/mvm/currency/token.js +13 -3
  18. package/_cjs/mvm/currency/token.js.map +1 -1
  19. package/_cjs/tvm/currency/native.js +9 -2
  20. package/_cjs/tvm/currency/native.js.map +1 -1
  21. package/_cjs/tvm/currency/token.js +13 -3
  22. package/_cjs/tvm/currency/token.js.map +1 -1
  23. package/_esm/evm/abi/sushiSwapV2RouterAbi/index.js +1 -0
  24. package/_esm/evm/abi/sushiSwapV2RouterAbi/index.js.map +1 -1
  25. package/_esm/evm/abi/sushiSwapV2RouterAbi/sushiswapV2RouterAbi.js +357 -0
  26. package/_esm/evm/abi/sushiSwapV2RouterAbi/sushiswapV2RouterAbi.js.map +1 -0
  27. package/_esm/evm/api/quote.js.map +1 -1
  28. package/_esm/evm/api/swap.js.map +1 -1
  29. package/_esm/evm/config/features/sushiswap-v3.js +32 -0
  30. package/_esm/evm/config/features/sushiswap-v3.js.map +1 -1
  31. package/_esm/evm/currency/native.js +9 -2
  32. package/_esm/evm/currency/native.js.map +1 -1
  33. package/_esm/evm/currency/token.js +13 -3
  34. package/_esm/evm/currency/token.js.map +1 -1
  35. package/_esm/evm/validate/zod.js +5 -2
  36. package/_esm/evm/validate/zod.js.map +1 -1
  37. package/_esm/kvm/currency/token.js +13 -3
  38. package/_esm/kvm/currency/token.js.map +1 -1
  39. package/_esm/mvm/currency/token.js +13 -3
  40. package/_esm/mvm/currency/token.js.map +1 -1
  41. package/_esm/tvm/currency/native.js +9 -2
  42. package/_esm/tvm/currency/native.js.map +1 -1
  43. package/_esm/tvm/currency/token.js +13 -3
  44. package/_esm/tvm/currency/token.js.map +1 -1
  45. package/_types/evm/abi/sushiSwapV2RouterAbi/index.d.ts +1 -0
  46. package/_types/evm/abi/sushiSwapV2RouterAbi/index.d.ts.map +1 -1
  47. package/_types/evm/abi/sushiSwapV2RouterAbi/sushiswapV2RouterAbi.d.ts +753 -0
  48. package/_types/evm/abi/sushiSwapV2RouterAbi/sushiswapV2RouterAbi.d.ts.map +1 -0
  49. package/_types/evm/api/quote.d.ts +32 -212
  50. package/_types/evm/api/quote.d.ts.map +1 -1
  51. package/_types/evm/api/swap.d.ts +57 -230
  52. package/_types/evm/api/swap.d.ts.map +1 -1
  53. package/_types/evm/chain/chains.d.ts +289 -126
  54. package/_types/evm/chain/chains.d.ts.map +1 -1
  55. package/_types/evm/config/features/sushiswap-v3.d.ts +1 -0
  56. package/_types/evm/config/features/sushiswap-v3.d.ts.map +1 -1
  57. package/_types/evm/config/subgraphs/subgraphs/blade.d.ts +2 -2
  58. package/_types/evm/config/subgraphs/subgraphs/blocks.d.ts +2 -2
  59. package/_types/evm/config/subgraphs/subgraphs/master-chef-v1.d.ts +1 -1
  60. package/_types/evm/config/subgraphs/subgraphs/master-chef-v2.d.ts +1 -1
  61. package/_types/evm/config/subgraphs/subgraphs/sushi-bar.d.ts +1 -1
  62. package/_types/evm/config/tokens/token-maps/default-quote.d.ts +1 -1
  63. package/_types/evm/config/tokens/tokens/USDC.d.ts +1 -1
  64. package/_types/evm/config/tokens/tokens/USDT.d.ts +1 -1
  65. package/_types/evm/config/tokens/tokens/USDe.d.ts +1 -1
  66. package/_types/evm/config/tokens/tokens/WETH9.d.ts +1 -1
  67. package/_types/evm/currency/currency.d.ts +8 -68
  68. package/_types/evm/currency/currency.d.ts.map +1 -1
  69. package/_types/evm/currency/native.d.ts +2 -30
  70. package/_types/evm/currency/native.d.ts.map +1 -1
  71. package/_types/evm/currency/token.d.ts +3 -35
  72. package/_types/evm/currency/token.d.ts.map +1 -1
  73. package/_types/evm/pool/sushiswap-v2/zod.d.ts +11 -137
  74. package/_types/evm/pool/sushiswap-v2/zod.d.ts.map +1 -1
  75. package/_types/evm/validate/zod.d.ts +2 -2
  76. package/_types/evm/validate/zod.d.ts.map +1 -1
  77. package/_types/generic/chain/chains.d.ts +289 -126
  78. package/_types/generic/chain/chains.d.ts.map +1 -1
  79. package/_types/generic/currency/amount.d.ts +1 -13
  80. package/_types/generic/currency/amount.d.ts.map +1 -1
  81. package/_types/generic/currency/serialized-currency.d.ts +23 -207
  82. package/_types/generic/currency/serialized-currency.d.ts.map +1 -1
  83. package/_types/generic/validate/zod.d.ts +3 -3
  84. package/_types/generic/validate/zod.d.ts.map +1 -1
  85. package/_types/kvm/currency/token.d.ts +3 -35
  86. package/_types/kvm/currency/token.d.ts.map +1 -1
  87. package/_types/mvm/currency/token.d.ts +3 -35
  88. package/_types/mvm/currency/token.d.ts.map +1 -1
  89. package/_types/tvm/currency/currency.d.ts +8 -68
  90. package/_types/tvm/currency/currency.d.ts.map +1 -1
  91. package/_types/tvm/currency/native.d.ts +2 -30
  92. package/_types/tvm/currency/native.d.ts.map +1 -1
  93. package/_types/tvm/currency/token.d.ts +3 -35
  94. package/_types/tvm/currency/token.d.ts.map +1 -1
  95. package/evm/abi/sushiSwapV2RouterAbi/index.ts +1 -0
  96. package/evm/abi/sushiSwapV2RouterAbi/sushiswapV2RouterAbi.ts +356 -0
  97. package/evm/api/quote.ts +3 -1
  98. package/evm/api/swap.ts +3 -1
  99. package/evm/config/features/sushiswap-v3.ts +36 -0
  100. package/evm/currency/native.ts +9 -2
  101. package/evm/currency/token.ts +13 -3
  102. package/evm/validate/zod.ts +7 -4
  103. package/kvm/currency/token.ts +13 -3
  104. package/mvm/currency/token.ts +13 -3
  105. package/package.json +2 -2
  106. package/tvm/currency/native.ts +9 -2
  107. package/tvm/currency/token.ts +13 -3
@@ -14,40 +14,12 @@ export declare class TvmNative<TMetadata extends CurrencyMetadata = Record<strin
14
14
  export declare const serializedTvmNativeSchema: <TMetadata extends {} = CurrencyMetadata>({ metadata, }?: {
15
15
  metadata?: z.ZodType<TMetadata>;
16
16
  }) => z.ZodObject<{
17
- chainId: z.ZodEffects<z.ZodNumber, -2, number>;
17
+ chainId: z.ZodPipe<z.ZodNumber, z.ZodTransform<-2, number>>;
18
18
  symbol: z.ZodString;
19
19
  name: z.ZodString;
20
20
  decimals: z.ZodNumber;
21
21
  type: z.ZodLiteral<"native">;
22
22
  metadata: z.ZodType<TMetadata>;
23
- }, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
24
- chainId: z.ZodEffects<z.ZodNumber, -2, number>;
25
- symbol: z.ZodString;
26
- name: z.ZodString;
27
- decimals: z.ZodNumber;
28
- type: z.ZodLiteral<"native">;
29
- metadata: z.ZodType<TMetadata>;
30
- }>, any> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
31
- chainId: z.ZodEffects<z.ZodNumber, -2, number>;
32
- symbol: z.ZodString;
33
- name: z.ZodString;
34
- decimals: z.ZodNumber;
35
- type: z.ZodLiteral<"native">;
36
- metadata: z.ZodType<TMetadata>;
37
- }>, any>[k]; } : never, z.baseObjectInputType<{
38
- chainId: z.ZodEffects<z.ZodNumber, -2, number>;
39
- symbol: z.ZodString;
40
- name: z.ZodString;
41
- decimals: z.ZodNumber;
42
- type: z.ZodLiteral<"native">;
43
- metadata: z.ZodType<TMetadata>;
44
- }> extends infer T_1 ? { [k_1 in keyof T_1]: z.baseObjectInputType<{
45
- chainId: z.ZodEffects<z.ZodNumber, -2, number>;
46
- symbol: z.ZodString;
47
- name: z.ZodString;
48
- decimals: z.ZodNumber;
49
- type: z.ZodLiteral<"native">;
50
- metadata: z.ZodType<TMetadata>;
51
- }>[k_1]; } : never>;
23
+ }, z.core.$strip>;
52
24
  export type SerializedTvmNative<TMetadata extends CurrencyMetadata = CurrencyMetadata> = z.infer<ReturnType<typeof serializedTvmNativeSchema<TMetadata>>>;
53
25
  //# sourceMappingURL=native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../tvm/currency/native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAGlE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,qBAAa,SAAS,CACpB,SAAS,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC5D,SAAQ,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC;IACrB,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC;IAO3B,MAAM,IAAI,mBAAmB,CAAC,SAAS,CAAC;IAYxD,MAAM,CAAC,QAAQ,CAAC,SAAS,SAAS,gBAAgB,EAChD,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,GAAG;QACvD,QAAQ,CAAC,EAAE,SAAS,CAAA;KACrB,GACA,SAAS,CAAC,SAAS,CAAC;IAIvB,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS;CAGnD;AAED,eAAO,MAAM,yBAAyB,GACpC,SAAS,SAAS,EAAE,GAAG,gBAAgB,EACvC,gBAEC;IACD,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;CAC3B;;;;;;cASiD,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;;;;;;;cAApB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;;;;;;;cAApB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;;;;;;;cAApB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;;;;;;;cAApB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;mBACvE,CAAA;AAEJ,MAAM,MAAM,mBAAmB,CAC7B,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,IACnD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../tvm/currency/native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAGlE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,qBAAa,SAAS,CACpB,SAAS,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC5D,SAAQ,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC;IACrB,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC;IAO3B,MAAM,IAAI,mBAAmB,CAAC,SAAS,CAAC;IAYxD,MAAM,CAAC,QAAQ,CAAC,SAAS,SAAS,gBAAgB,EAChD,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,GAAG;QACvD,QAAQ,CAAC,EAAE,SAAS,CAAA;KACrB,GACA,SAAS,CAAC,SAAS,CAAC;IAIvB,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS;CAGnD;AAED,eAAO,MAAM,yBAAyB,GACpC,SAAS,SAAS,EAAE,GAAG,gBAAgB,EACvC,gBAEC;IACD,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;CAC3B;;;;;;cAgBmB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;iBACzC,CAAA;AAEJ,MAAM,MAAM,mBAAmB,CAC7B,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,IACnD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA"}
@@ -19,45 +19,13 @@ export declare class TvmToken<TMetadata extends CurrencyMetadata = Record<string
19
19
  export declare const serializedTvmTokenSchema: <TMetadata extends {} = CurrencyMetadata>({ metadata, }?: {
20
20
  metadata?: z.ZodType<TMetadata>;
21
21
  }) => z.ZodObject<{
22
- chainId: z.ZodEffects<z.ZodNumber, -2, number>;
23
- address: z.ZodEffects<z.ZodString, `T${string}`, string>;
22
+ chainId: z.ZodPipe<z.ZodNumber, z.ZodTransform<-2, number>>;
23
+ address: z.ZodPipe<z.ZodString, z.ZodTransform<`T${string}`, string>>;
24
24
  symbol: z.ZodString;
25
25
  name: z.ZodString;
26
26
  decimals: z.ZodNumber;
27
27
  type: z.ZodLiteral<"token">;
28
28
  metadata: z.ZodType<TMetadata>;
29
- }, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
30
- chainId: z.ZodEffects<z.ZodNumber, -2, number>;
31
- address: z.ZodEffects<z.ZodString, `T${string}`, string>;
32
- symbol: z.ZodString;
33
- name: z.ZodString;
34
- decimals: z.ZodNumber;
35
- type: z.ZodLiteral<"token">;
36
- metadata: z.ZodType<TMetadata>;
37
- }>, any> extends infer T ? { [k in keyof T]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
38
- chainId: z.ZodEffects<z.ZodNumber, -2, number>;
39
- address: z.ZodEffects<z.ZodString, `T${string}`, string>;
40
- symbol: z.ZodString;
41
- name: z.ZodString;
42
- decimals: z.ZodNumber;
43
- type: z.ZodLiteral<"token">;
44
- metadata: z.ZodType<TMetadata>;
45
- }>, any>[k]; } : never, z.baseObjectInputType<{
46
- chainId: z.ZodEffects<z.ZodNumber, -2, number>;
47
- address: z.ZodEffects<z.ZodString, `T${string}`, string>;
48
- symbol: z.ZodString;
49
- name: z.ZodString;
50
- decimals: z.ZodNumber;
51
- type: z.ZodLiteral<"token">;
52
- metadata: z.ZodType<TMetadata>;
53
- }> extends infer T_1 ? { [k_1 in keyof T_1]: z.baseObjectInputType<{
54
- chainId: z.ZodEffects<z.ZodNumber, -2, number>;
55
- address: z.ZodEffects<z.ZodString, `T${string}`, string>;
56
- symbol: z.ZodString;
57
- name: z.ZodString;
58
- decimals: z.ZodNumber;
59
- type: z.ZodLiteral<"token">;
60
- metadata: z.ZodType<TMetadata>;
61
- }>[k_1]; } : never>;
29
+ }, z.core.$strip>;
62
30
  export type SerializedTvmToken<TMetadata extends CurrencyMetadata = CurrencyMetadata> = z.infer<ReturnType<typeof serializedTvmTokenSchema<TMetadata>>>;
63
31
  //# sourceMappingURL=token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../tvm/currency/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AACvD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAElE,MAAM,MAAM,UAAU,GAAG,IAAI,MAAM,EAAE,CAAA;AAErC,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,UAAU,CAEnE;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAA;AAErC,qBAAa,QAAQ,CACnB,SAAS,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC5D,SAAQ,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;IAChD,SAAgB,MAAM,EAAE,cAAc,GAAG,SAAS,CAAA;gBAEtC,EACV,MAAM,EACN,OAAO,EACP,GAAG,IAAI,EACR,EAAE;QACD,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;KACpC,GAAG,qBAAqB,CACvB,OAAO,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAChD,CAAC,CAAC,CAAC;IAKY,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC;IAI3B,MAAM,IAAI,kBAAkB,CAAC,SAAS,CAAC;IAavD,MAAM,CAAC,QAAQ,CAAC,SAAS,SAAS,gBAAgB,EAChD,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,GAAG;QACtD,QAAQ,CAAC,EAAE,SAAS,CAAA;KACrB,GACA,QAAQ,CAAC,SAAS,CAAC;CAGvB;AAED,eAAO,MAAM,wBAAwB,GACnC,SAAS,SAAS,EAAE,GAAG,gBAAgB,EACvC,gBAEC;IACD,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;CAC3B;;;;;;;cAUiD,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;;;;;;;;cAApB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;;;;;;;;cAApB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;;;;;;;;cAApB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;;;;;;;;cAApB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;mBACvE,CAAA;AAEJ,MAAM,MAAM,kBAAkB,CAC5B,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,IACnD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../tvm/currency/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AACvD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAElE,MAAM,MAAM,UAAU,GAAG,IAAI,MAAM,EAAE,CAAA;AAErC,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,UAAU,CAEnE;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAA;AAErC,qBAAa,QAAQ,CACnB,SAAS,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAC5D,SAAQ,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;IAChD,SAAgB,MAAM,EAAE,cAAc,GAAG,SAAS,CAAA;gBAEtC,EACV,MAAM,EACN,OAAO,EACP,GAAG,IAAI,EACR,EAAE;QACD,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;KACpC,GAAG,qBAAqB,CACvB,OAAO,KAAK,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAChD,CAAC,CAAC,CAAC;IAKY,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC;IAI3B,MAAM,IAAI,kBAAkB,CAAC,SAAS,CAAC;IAavD,MAAM,CAAC,QAAQ,CAAC,SAAS,SAAS,gBAAgB,EAChD,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,GAAG;QACtD,QAAQ,CAAC,EAAE,SAAS,CAAA;KACrB,GACA,QAAQ,CAAC,SAAS,CAAC;CAGvB;AAED,eAAO,MAAM,wBAAwB,GACnC,SAAS,SAAS,EAAE,GAAG,gBAAgB,EACvC,gBAEC;IACD,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;CAC3B;;;;;;;cAoBmB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;iBACzC,CAAA;AAEJ,MAAM,MAAM,kBAAkB,CAC5B,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,IACnD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA"}
@@ -22,3 +22,4 @@ export * from './sushiSwapV2RouterAbi_swapExactTokensForTokensSupportingFeeOnTra
22
22
  export * from './sushiSwapV2RouterAbi_swapTokensForExactETH.js'
23
23
  export * from './sushiSwapV2RouterAbi_swapTokensForExactTokens.js'
24
24
  export * from './sushiSwapV2RouterAbi_WETH.js'
25
+ export * from './sushiswapV2RouterAbi.js'
@@ -0,0 +1,356 @@
1
+ export const sushiSwapV2RouterAbi = [
2
+ {
3
+ inputs: [
4
+ { internalType: 'address', name: '_factory', type: 'address' },
5
+ { internalType: 'address', name: '_WETH', type: 'address' },
6
+ ],
7
+ stateMutability: 'nonpayable',
8
+ type: 'constructor',
9
+ },
10
+ {
11
+ inputs: [],
12
+ name: 'WETH',
13
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
14
+ stateMutability: 'view',
15
+ type: 'function',
16
+ },
17
+ {
18
+ inputs: [
19
+ { internalType: 'address', name: 'tokenA', type: 'address' },
20
+ { internalType: 'address', name: 'tokenB', type: 'address' },
21
+ { internalType: 'uint256', name: 'amountADesired', type: 'uint256' },
22
+ { internalType: 'uint256', name: 'amountBDesired', type: 'uint256' },
23
+ { internalType: 'uint256', name: 'amountAMin', type: 'uint256' },
24
+ { internalType: 'uint256', name: 'amountBMin', type: 'uint256' },
25
+ { internalType: 'address', name: 'to', type: 'address' },
26
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
27
+ ],
28
+ name: 'addLiquidity',
29
+ outputs: [
30
+ { internalType: 'uint256', name: 'amountA', type: 'uint256' },
31
+ { internalType: 'uint256', name: 'amountB', type: 'uint256' },
32
+ { internalType: 'uint256', name: 'liquidity', type: 'uint256' },
33
+ ],
34
+ stateMutability: 'nonpayable',
35
+ type: 'function',
36
+ },
37
+ {
38
+ inputs: [
39
+ { internalType: 'address', name: 'token', type: 'address' },
40
+ { internalType: 'uint256', name: 'amountTokenDesired', type: 'uint256' },
41
+ { internalType: 'uint256', name: 'amountTokenMin', type: 'uint256' },
42
+ { internalType: 'uint256', name: 'amountETHMin', type: 'uint256' },
43
+ { internalType: 'address', name: 'to', type: 'address' },
44
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
45
+ ],
46
+ name: 'addLiquidityETH',
47
+ outputs: [
48
+ { internalType: 'uint256', name: 'amountToken', type: 'uint256' },
49
+ { internalType: 'uint256', name: 'amountETH', type: 'uint256' },
50
+ { internalType: 'uint256', name: 'liquidity', type: 'uint256' },
51
+ ],
52
+ stateMutability: 'payable',
53
+ type: 'function',
54
+ },
55
+ {
56
+ inputs: [],
57
+ name: 'factory',
58
+ outputs: [{ internalType: 'address', name: '', type: 'address' }],
59
+ stateMutability: 'view',
60
+ type: 'function',
61
+ },
62
+ {
63
+ inputs: [
64
+ { internalType: 'uint256', name: 'amountOut', type: 'uint256' },
65
+ { internalType: 'uint256', name: 'reserveIn', type: 'uint256' },
66
+ { internalType: 'uint256', name: 'reserveOut', type: 'uint256' },
67
+ ],
68
+ name: 'getAmountIn',
69
+ outputs: [{ internalType: 'uint256', name: 'amountIn', type: 'uint256' }],
70
+ stateMutability: 'pure',
71
+ type: 'function',
72
+ },
73
+ {
74
+ inputs: [
75
+ { internalType: 'uint256', name: 'amountIn', type: 'uint256' },
76
+ { internalType: 'uint256', name: 'reserveIn', type: 'uint256' },
77
+ { internalType: 'uint256', name: 'reserveOut', type: 'uint256' },
78
+ ],
79
+ name: 'getAmountOut',
80
+ outputs: [{ internalType: 'uint256', name: 'amountOut', type: 'uint256' }],
81
+ stateMutability: 'pure',
82
+ type: 'function',
83
+ },
84
+ {
85
+ inputs: [
86
+ { internalType: 'uint256', name: 'amountOut', type: 'uint256' },
87
+ { internalType: 'address[]', name: 'path', type: 'address[]' },
88
+ ],
89
+ name: 'getAmountsIn',
90
+ outputs: [
91
+ { internalType: 'uint256[]', name: 'amounts', type: 'uint256[]' },
92
+ ],
93
+ stateMutability: 'view',
94
+ type: 'function',
95
+ },
96
+ {
97
+ inputs: [
98
+ { internalType: 'uint256', name: 'amountIn', type: 'uint256' },
99
+ { internalType: 'address[]', name: 'path', type: 'address[]' },
100
+ ],
101
+ name: 'getAmountsOut',
102
+ outputs: [
103
+ { internalType: 'uint256[]', name: 'amounts', type: 'uint256[]' },
104
+ ],
105
+ stateMutability: 'view',
106
+ type: 'function',
107
+ },
108
+ {
109
+ inputs: [
110
+ { internalType: 'uint256', name: 'amountA', type: 'uint256' },
111
+ { internalType: 'uint256', name: 'reserveA', type: 'uint256' },
112
+ { internalType: 'uint256', name: 'reserveB', type: 'uint256' },
113
+ ],
114
+ name: 'quote',
115
+ outputs: [{ internalType: 'uint256', name: 'amountB', type: 'uint256' }],
116
+ stateMutability: 'pure',
117
+ type: 'function',
118
+ },
119
+ {
120
+ inputs: [
121
+ { internalType: 'address', name: 'tokenA', type: 'address' },
122
+ { internalType: 'address', name: 'tokenB', type: 'address' },
123
+ { internalType: 'uint256', name: 'liquidity', type: 'uint256' },
124
+ { internalType: 'uint256', name: 'amountAMin', type: 'uint256' },
125
+ { internalType: 'uint256', name: 'amountBMin', type: 'uint256' },
126
+ { internalType: 'address', name: 'to', type: 'address' },
127
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
128
+ ],
129
+ name: 'removeLiquidity',
130
+ outputs: [
131
+ { internalType: 'uint256', name: 'amountA', type: 'uint256' },
132
+ { internalType: 'uint256', name: 'amountB', type: 'uint256' },
133
+ ],
134
+ stateMutability: 'nonpayable',
135
+ type: 'function',
136
+ },
137
+ {
138
+ inputs: [
139
+ { internalType: 'address', name: 'token', type: 'address' },
140
+ { internalType: 'uint256', name: 'liquidity', type: 'uint256' },
141
+ { internalType: 'uint256', name: 'amountTokenMin', type: 'uint256' },
142
+ { internalType: 'uint256', name: 'amountETHMin', type: 'uint256' },
143
+ { internalType: 'address', name: 'to', type: 'address' },
144
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
145
+ ],
146
+ name: 'removeLiquidityETH',
147
+ outputs: [
148
+ { internalType: 'uint256', name: 'amountToken', type: 'uint256' },
149
+ { internalType: 'uint256', name: 'amountETH', type: 'uint256' },
150
+ ],
151
+ stateMutability: 'nonpayable',
152
+ type: 'function',
153
+ },
154
+ {
155
+ inputs: [
156
+ { internalType: 'address', name: 'token', type: 'address' },
157
+ { internalType: 'uint256', name: 'liquidity', type: 'uint256' },
158
+ { internalType: 'uint256', name: 'amountTokenMin', type: 'uint256' },
159
+ { internalType: 'uint256', name: 'amountETHMin', type: 'uint256' },
160
+ { internalType: 'address', name: 'to', type: 'address' },
161
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
162
+ ],
163
+ name: 'removeLiquidityETHSupportingFeeOnTransferTokens',
164
+ outputs: [{ internalType: 'uint256', name: 'amountETH', type: 'uint256' }],
165
+ stateMutability: 'nonpayable',
166
+ type: 'function',
167
+ },
168
+ {
169
+ inputs: [
170
+ { internalType: 'address', name: 'token', type: 'address' },
171
+ { internalType: 'uint256', name: 'liquidity', type: 'uint256' },
172
+ { internalType: 'uint256', name: 'amountTokenMin', type: 'uint256' },
173
+ { internalType: 'uint256', name: 'amountETHMin', type: 'uint256' },
174
+ { internalType: 'address', name: 'to', type: 'address' },
175
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
176
+ { internalType: 'bool', name: 'approveMax', type: 'bool' },
177
+ { internalType: 'uint8', name: 'v', type: 'uint8' },
178
+ { internalType: 'bytes32', name: 'r', type: 'bytes32' },
179
+ { internalType: 'bytes32', name: 's', type: 'bytes32' },
180
+ ],
181
+ name: 'removeLiquidityETHWithPermit',
182
+ outputs: [
183
+ { internalType: 'uint256', name: 'amountToken', type: 'uint256' },
184
+ { internalType: 'uint256', name: 'amountETH', type: 'uint256' },
185
+ ],
186
+ stateMutability: 'nonpayable',
187
+ type: 'function',
188
+ },
189
+ {
190
+ inputs: [
191
+ { internalType: 'address', name: 'token', type: 'address' },
192
+ { internalType: 'uint256', name: 'liquidity', type: 'uint256' },
193
+ { internalType: 'uint256', name: 'amountTokenMin', type: 'uint256' },
194
+ { internalType: 'uint256', name: 'amountETHMin', type: 'uint256' },
195
+ { internalType: 'address', name: 'to', type: 'address' },
196
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
197
+ { internalType: 'bool', name: 'approveMax', type: 'bool' },
198
+ { internalType: 'uint8', name: 'v', type: 'uint8' },
199
+ { internalType: 'bytes32', name: 'r', type: 'bytes32' },
200
+ { internalType: 'bytes32', name: 's', type: 'bytes32' },
201
+ ],
202
+ name: 'removeLiquidityETHWithPermitSupportingFeeOnTransferTokens',
203
+ outputs: [{ internalType: 'uint256', name: 'amountETH', type: 'uint256' }],
204
+ stateMutability: 'nonpayable',
205
+ type: 'function',
206
+ },
207
+ {
208
+ inputs: [
209
+ { internalType: 'address', name: 'tokenA', type: 'address' },
210
+ { internalType: 'address', name: 'tokenB', type: 'address' },
211
+ { internalType: 'uint256', name: 'liquidity', type: 'uint256' },
212
+ { internalType: 'uint256', name: 'amountAMin', type: 'uint256' },
213
+ { internalType: 'uint256', name: 'amountBMin', type: 'uint256' },
214
+ { internalType: 'address', name: 'to', type: 'address' },
215
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
216
+ { internalType: 'bool', name: 'approveMax', type: 'bool' },
217
+ { internalType: 'uint8', name: 'v', type: 'uint8' },
218
+ { internalType: 'bytes32', name: 'r', type: 'bytes32' },
219
+ { internalType: 'bytes32', name: 's', type: 'bytes32' },
220
+ ],
221
+ name: 'removeLiquidityWithPermit',
222
+ outputs: [
223
+ { internalType: 'uint256', name: 'amountA', type: 'uint256' },
224
+ { internalType: 'uint256', name: 'amountB', type: 'uint256' },
225
+ ],
226
+ stateMutability: 'nonpayable',
227
+ type: 'function',
228
+ },
229
+ {
230
+ inputs: [
231
+ { internalType: 'uint256', name: 'amountOut', type: 'uint256' },
232
+ { internalType: 'address[]', name: 'path', type: 'address[]' },
233
+ { internalType: 'address', name: 'to', type: 'address' },
234
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
235
+ ],
236
+ name: 'swapETHForExactTokens',
237
+ outputs: [
238
+ { internalType: 'uint256[]', name: 'amounts', type: 'uint256[]' },
239
+ ],
240
+ stateMutability: 'payable',
241
+ type: 'function',
242
+ },
243
+ {
244
+ inputs: [
245
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
246
+ { internalType: 'address[]', name: 'path', type: 'address[]' },
247
+ { internalType: 'address', name: 'to', type: 'address' },
248
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
249
+ ],
250
+ name: 'swapExactETHForTokens',
251
+ outputs: [
252
+ { internalType: 'uint256[]', name: 'amounts', type: 'uint256[]' },
253
+ ],
254
+ stateMutability: 'payable',
255
+ type: 'function',
256
+ },
257
+ {
258
+ inputs: [
259
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
260
+ { internalType: 'address[]', name: 'path', type: 'address[]' },
261
+ { internalType: 'address', name: 'to', type: 'address' },
262
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
263
+ ],
264
+ name: 'swapExactETHForTokensSupportingFeeOnTransferTokens',
265
+ outputs: [],
266
+ stateMutability: 'payable',
267
+ type: 'function',
268
+ },
269
+ {
270
+ inputs: [
271
+ { internalType: 'uint256', name: 'amountIn', type: 'uint256' },
272
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
273
+ { internalType: 'address[]', name: 'path', type: 'address[]' },
274
+ { internalType: 'address', name: 'to', type: 'address' },
275
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
276
+ ],
277
+ name: 'swapExactTokensForETH',
278
+ outputs: [
279
+ { internalType: 'uint256[]', name: 'amounts', type: 'uint256[]' },
280
+ ],
281
+ stateMutability: 'nonpayable',
282
+ type: 'function',
283
+ },
284
+ {
285
+ inputs: [
286
+ { internalType: 'uint256', name: 'amountIn', type: 'uint256' },
287
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
288
+ { internalType: 'address[]', name: 'path', type: 'address[]' },
289
+ { internalType: 'address', name: 'to', type: 'address' },
290
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
291
+ ],
292
+ name: 'swapExactTokensForETHSupportingFeeOnTransferTokens',
293
+ outputs: [],
294
+ stateMutability: 'nonpayable',
295
+ type: 'function',
296
+ },
297
+ {
298
+ inputs: [
299
+ { internalType: 'uint256', name: 'amountIn', type: 'uint256' },
300
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
301
+ { internalType: 'address[]', name: 'path', type: 'address[]' },
302
+ { internalType: 'address', name: 'to', type: 'address' },
303
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
304
+ ],
305
+ name: 'swapExactTokensForTokens',
306
+ outputs: [
307
+ { internalType: 'uint256[]', name: 'amounts', type: 'uint256[]' },
308
+ ],
309
+ stateMutability: 'nonpayable',
310
+ type: 'function',
311
+ },
312
+ {
313
+ inputs: [
314
+ { internalType: 'uint256', name: 'amountIn', type: 'uint256' },
315
+ { internalType: 'uint256', name: 'amountOutMin', type: 'uint256' },
316
+ { internalType: 'address[]', name: 'path', type: 'address[]' },
317
+ { internalType: 'address', name: 'to', type: 'address' },
318
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
319
+ ],
320
+ name: 'swapExactTokensForTokensSupportingFeeOnTransferTokens',
321
+ outputs: [],
322
+ stateMutability: 'nonpayable',
323
+ type: 'function',
324
+ },
325
+ {
326
+ inputs: [
327
+ { internalType: 'uint256', name: 'amountOut', type: 'uint256' },
328
+ { internalType: 'uint256', name: 'amountInMax', type: 'uint256' },
329
+ { internalType: 'address[]', name: 'path', type: 'address[]' },
330
+ { internalType: 'address', name: 'to', type: 'address' },
331
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
332
+ ],
333
+ name: 'swapTokensForExactETH',
334
+ outputs: [
335
+ { internalType: 'uint256[]', name: 'amounts', type: 'uint256[]' },
336
+ ],
337
+ stateMutability: 'nonpayable',
338
+ type: 'function',
339
+ },
340
+ {
341
+ inputs: [
342
+ { internalType: 'uint256', name: 'amountOut', type: 'uint256' },
343
+ { internalType: 'uint256', name: 'amountInMax', type: 'uint256' },
344
+ { internalType: 'address[]', name: 'path', type: 'address[]' },
345
+ { internalType: 'address', name: 'to', type: 'address' },
346
+ { internalType: 'uint256', name: 'deadline', type: 'uint256' },
347
+ ],
348
+ name: 'swapTokensForExactTokens',
349
+ outputs: [
350
+ { internalType: 'uint256[]', name: 'amounts', type: 'uint256[]' },
351
+ ],
352
+ stateMutability: 'nonpayable',
353
+ type: 'function',
354
+ },
355
+ { stateMutability: 'payable', type: 'receive' },
356
+ ] as const
package/evm/api/quote.ts CHANGED
@@ -132,5 +132,7 @@ export async function getQuote<Visualize extends boolean = false>(
132
132
  throw new Error(`Failed to fetch quote: ${await res.text()}`)
133
133
  }
134
134
 
135
- return quoteResponseSchema(params.visualize).parse(await res.json())
135
+ return quoteResponseSchema(params.visualize).parse(
136
+ await res.json(),
137
+ ) as QuoteResponse<Visualize>
136
138
  }
package/evm/api/swap.ts CHANGED
@@ -152,5 +152,7 @@ export async function getSwap<Simulate extends boolean = true>(
152
152
  throw new Error(`Failed to fetch swap: ${await res.text()}`)
153
153
  }
154
154
 
155
- return swapResponseSchema(params.simulate).parse(await res.json())
155
+ return swapResponseSchema(params.simulate).parse(
156
+ await res.json(),
157
+ ) as SwapResponse<Simulate>
156
158
  }
@@ -176,6 +176,42 @@ export const SUSHISWAP_V3_TICK_LENS: Record<
176
176
  [EvmChainId.SEPOLIA]: '0xc3ec4e1511c6935ed2f92b9a61881a1b95bb1566',
177
177
  } as const
178
178
 
179
+ export const SUSHISWAP_V3_QUOTER: Record<
180
+ SushiSwapV3ChainId | DeprecatedSushiSwapV3ChainId,
181
+ Address
182
+ > = {
183
+ [EvmChainId.ARBITRUM_NOVA]: '0xb1e835dc2785b52265711e17fccb0fd018226a6e',
184
+ [EvmChainId.ARBITRUM]: '0x0524e833ccd057e4d7a296e3aaab9f7675964ce1',
185
+ [EvmChainId.AVALANCHE]: '0xb1e835dc2785b52265711e17fccb0fd018226a6e',
186
+ [EvmChainId.BSC]: '0xb1e835dc2785b52265711e17fccb0fd018226a6e',
187
+ [EvmChainId.BTTC]: '0x0389879e0156033202c44bf784ac18fc02edee4f',
188
+ [EvmChainId.ETHEREUM]: '0x64e8802fe490fa7cc61d3463958199161bb608a7',
189
+ [EvmChainId.FANTOM]: '0xb1e835dc2785b52265711e17fccb0fd018226a6e',
190
+ [EvmChainId.GNOSIS]: '0xb1e835dc2785b52265711e17fccb0fd018226a6e',
191
+ [EvmChainId.KAVA]: '0x5abedac449a8301467c3e124b98e7151641f1e56',
192
+ [EvmChainId.METIS]: '0xfbc12984689e5f15626bad03ad60160fe98b303c',
193
+ [EvmChainId.OPTIMISM]: '0xb1e835dc2785b52265711e17fccb0fd018226a6e',
194
+ [EvmChainId.POLYGON]: '0xb1e835dc2785b52265711e17fccb0fd018226a6e',
195
+ [EvmChainId.BOBA]: '0xb1e835dc2785b52265711e17fccb0fd018226a6e',
196
+ [EvmChainId.POLYGON_ZKEVM]: '0xb1e835dc2785b52265711e17fccb0fd018226a6e',
197
+ [EvmChainId.THUNDERCORE]: '0x49244385bd56f557ce5201d8504c6d7f42da8ef6',
198
+ [EvmChainId.HAQQ]: '0x734583f62bb6ace3c9ba9bd5a53143ca2ce8c55a',
199
+ [EvmChainId.CORE]: '0x640129e6b5c31b3b12640a5b39fecdca9f81c640',
200
+ [EvmChainId.LINEA]: '0xfb7ef66a7e61224dd6fcd0d7d9c3be5c8b049b9f',
201
+ [EvmChainId.BASE]: '0xb1e835dc2785b52265711e17fccb0fd018226a6e',
202
+ [EvmChainId.SCROLL]: '0xe43ca1dee3f0fc1e2df73a0745674545f11a59f5',
203
+ [EvmChainId.FILECOIN]: '0x9b3ff703fa9c8b467f5886d7b61e61ba07a9b51c',
204
+ [EvmChainId.ZETACHAIN]: '0x57bffa72db682f7eb6c132dae03ff36bbeb0c459',
205
+ [EvmChainId.BLAST]: '0xd93a91442afd80243cf12f7110f48ab276fff33f',
206
+ [EvmChainId.SKALE_EUROPA]: '0x25281328d69fd3452d16ffab96e5edd1c0a0ac43',
207
+ [EvmChainId.ROOTSTOCK]: '0xe43ca1dee3f0fc1e2df73a0745674545f11a59f5',
208
+ [EvmChainId.SONIC]: '0xe43ca1dee3f0fc1e2df73a0745674545f11a59f5',
209
+ [EvmChainId.HEMI]: '0x1400fefd6f9b897970f00df6237ff2b8b27dc82c',
210
+ [EvmChainId.TATARA]: '0x33d91116e0370970444b0281ab117e161febfcdd',
211
+ [EvmChainId.KATANA]: '0x92dea23ed1c683940ff1a2f8fe23fe98c5d3041c',
212
+ [EvmChainId.SEPOLIA]: '0x039e87ab90205f9d87c5b40d4b28e2be45da4a20',
213
+ } as const
214
+
179
215
  export const SUSHISWAP_V3_SUPPORTED_CHAIN_IDS = [
180
216
  EvmChainId.ARBITRUM_NOVA,
181
217
  EvmChainId.ARBITRUM,
@@ -59,14 +59,21 @@ export const serializedEvmNativeSchema = <
59
59
  metadata?: z.ZodType<TMetadata>
60
60
  } = {}) =>
61
61
  z.object({
62
- chainId: z.number().int().refine(isEvmChainId),
62
+ chainId: z
63
+ .number()
64
+ .int()
65
+ .refine(isEvmChainId)
66
+ .transform((chainId) => chainId as EvmChainId),
63
67
  symbol: z.string(),
64
68
  name: z.string(),
65
69
  decimals: z.number().int().nonnegative(),
66
70
  type: z.literal('native'),
67
71
 
68
72
  metadata: (metadata ||
69
- z.record(z.unknown()).optional().default({})) as z.ZodType<TMetadata>,
73
+ z
74
+ .record(z.string(), z.unknown())
75
+ .optional()
76
+ .default({})) as z.ZodType<TMetadata>,
70
77
  })
71
78
 
72
79
  export type SerializedEvmNative<
@@ -82,15 +82,25 @@ export const serializedEvmTokenSchema = <
82
82
  metadata?: z.ZodType<TMetadata>
83
83
  } = {}) =>
84
84
  z.object({
85
- chainId: z.number().int().refine(isEvmChainId),
86
- address: z.string().refine(isEvmAddress),
85
+ chainId: z
86
+ .number()
87
+ .int()
88
+ .refine(isEvmChainId)
89
+ .transform((chainId) => chainId as EvmChainId),
90
+ address: z
91
+ .string()
92
+ .refine(isEvmAddress)
93
+ .transform((address) => address as EvmAddress),
87
94
  symbol: z.string(),
88
95
  name: z.string(),
89
96
  decimals: z.number().int().nonnegative(),
90
97
  type: z.literal('token'),
91
98
 
92
99
  metadata: (metadata ||
93
- z.record(z.unknown()).optional().default({})) as z.ZodType<TMetadata>,
100
+ z
101
+ .record(z.string(), z.unknown())
102
+ .optional()
103
+ .default({})) as z.ZodType<TMetadata>,
94
104
  })
95
105
 
96
106
  export type SerializedEvmToken<
@@ -1,10 +1,13 @@
1
- import { isAddress } from 'viem'
1
+ import { type Address, isAddress } from 'viem'
2
2
  import * as z from 'zod'
3
3
 
4
4
  export const evmAddress = () =>
5
- z.string().refine((value) => isAddress(value, { strict: false }), {
6
- message: 'Invalid address',
7
- })
5
+ z
6
+ .string()
7
+ .refine((value) => isAddress(value, { strict: false }), {
8
+ message: 'Invalid address',
9
+ })
10
+ .transform((value) => value as Address)
8
11
 
9
12
  export const szevm = {
10
13
  address: evmAddress,
@@ -65,15 +65,25 @@ export const serializedKvmTokenSchema = <
65
65
  metadata?: z.ZodType<TMetadata>
66
66
  } = {}) =>
67
67
  z.object({
68
- chainId: z.number().int().refine(isKvmChainId),
69
- address: z.string().refine(isKvmTokenAddress),
68
+ chainId: z
69
+ .number()
70
+ .int()
71
+ .refine(isKvmChainId)
72
+ .transform((chainId) => chainId as KvmChainId),
73
+ address: z
74
+ .string()
75
+ .refine(isKvmTokenAddress)
76
+ .transform((address) => address as KvmTokenAddress),
70
77
  symbol: z.string(),
71
78
  name: z.string(),
72
79
  decimals: z.number().int().nonnegative(),
73
80
  type: z.literal('token'),
74
81
 
75
82
  metadata: (metadata ||
76
- z.record(z.unknown()).optional().default({})) as z.ZodType<TMetadata>,
83
+ z
84
+ .record(z.string(), z.unknown())
85
+ .optional()
86
+ .default({})) as z.ZodType<TMetadata>,
77
87
  })
78
88
 
79
89
  export type SerializedKvmToken<