sushi 6.6.9 → 6.6.10

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.
@@ -18,7 +18,7 @@ import type { SvmID } from '../../svm/types/id.js';
18
18
  import type { ChainId } from '../chain/chains.js';
19
19
  import type { CurrencyMetadata } from '../currency/currency.js';
20
20
  export type TokenFor<TChainId extends ChainId, Metadata extends CurrencyMetadata = CurrencyMetadata> = TChainId extends EvmChainId ? EvmToken<Metadata> : TChainId extends MvmChainId ? MvmToken<Metadata> : TChainId extends SvmChainId ? SvmToken<Metadata> : TChainId extends StellarChainId ? StellarToken<Metadata> : never;
21
- export type CurrencyFor<TChainId extends ChainId, Metadata extends CurrencyMetadata = CurrencyMetadata> = TChainId extends EvmChainId ? EvmCurrency<Metadata> : TChainId extends MvmChainId ? MvmToken<Metadata> : TChainId extends SvmChainId ? SvmCurrency<Metadata> : TChainId extends StellarChainId ? StellarCurrency<Metadata> : never;
21
+ export type CurrencyFor<TChainId extends ChainId, Metadata extends CurrencyMetadata = CurrencyMetadata> = TChainId extends EvmChainId ? EvmCurrency<Metadata> : TChainId extends SvmChainId ? SvmCurrency<Metadata> : TChainId extends MvmChainId ? MvmToken<Metadata> : TChainId extends StellarChainId ? StellarCurrency<Metadata> : never;
22
22
  export type NativeChainId = EvmChainId | SvmChainId;
23
23
  export type NativeFor<TChainId extends NativeChainId, Metadata extends CurrencyMetadata = CurrencyMetadata> = TChainId extends EvmChainId ? EvmNative<Metadata> : TChainId extends SvmChainId ? SvmNative<Metadata> : never;
24
24
  export type AddressFor<TChainId extends ChainId> = TChainId extends EvmChainId ? EvmAddress : TChainId extends MvmChainId ? MvmAddress : TChainId extends SvmChainId ? SvmAddress : TChainId extends StellarChainId ? StellarAddress : never;
@@ -1 +1 @@
1
- {"version":3,"file":"for-chain.d.ts","sourceRoot":"","sources":["../../../generic/types/for-chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"for-chain.d.ts","sourceRoot":"","sources":["../../../generic/types/for-chain.ts"],"names":[],"mappings":"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"}
@@ -101,6 +101,22 @@ describe('generic/types/for-chain.ts types', () => {
101
101
  >()
102
102
  })
103
103
 
104
+ it('should be assignable to CurrencyFor for a generic native chain id', () => {
105
+ // Regression guard: this only holds because CurrencyFor's branch order
106
+ // matches NativeFor's, letting TypeScript relate the two conditional
107
+ // types for an unresolved generic `T`. Concrete-type checks above pass
108
+ // regardless of order, so they don't cover this case. The constraint
109
+ // `A extends B` fails to compile if NativeFor<T> is not assignable to
110
+ // CurrencyFor<T>.
111
+ type AssertAssignable<_A extends B, B> = true
112
+ type _Guard<T extends NativeChainId> = AssertAssignable<
113
+ NativeFor<T, Metadata>,
114
+ CurrencyFor<T, Metadata>
115
+ >
116
+
117
+ expectTypeOf<_Guard<NativeChainId>>().toEqualTypeOf<true>()
118
+ })
119
+
104
120
  it('should reject token-only chain families', () => {
105
121
  type NativeForMvm = NativeFor<
106
122
  // @ts-expect-error MVM is intentionally excluded from NativeChainId.
@@ -43,15 +43,19 @@ export type TokenFor<
43
43
  ? StellarToken<Metadata>
44
44
  : never
45
45
 
46
+ // Branch order matches `NativeFor` (Evm, then Svm) so TypeScript can relate the
47
+ // two conditional types and prove `NativeFor<T>` is assignable to
48
+ // `CurrencyFor<T>` for a generic `T`. The chain families are disjoint, so the
49
+ // order has no effect on the resolved type.
46
50
  export type CurrencyFor<
47
51
  TChainId extends ChainId,
48
52
  Metadata extends CurrencyMetadata = CurrencyMetadata,
49
53
  > = TChainId extends EvmChainId
50
54
  ? EvmCurrency<Metadata>
51
- : TChainId extends MvmChainId
52
- ? MvmToken<Metadata>
53
- : TChainId extends SvmChainId
54
- ? SvmCurrency<Metadata>
55
+ : TChainId extends SvmChainId
56
+ ? SvmCurrency<Metadata>
57
+ : TChainId extends MvmChainId
58
+ ? MvmToken<Metadata>
55
59
  : TChainId extends StellarChainId
56
60
  ? StellarCurrency<Metadata>
57
61
  : never
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sushi",
3
3
  "description": "Sushi",
4
- "version": "6.6.9",
4
+ "version": "6.6.10",
5
5
  "type": "module",
6
6
  "main": "./_cjs/generic/index.js",
7
7
  "module": "./_esm/generic/index.js",