sushi 6.6.8 → 6.6.9

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.
@@ -1 +1 @@
1
- {"version":3,"file":"for-chain.js","sourceRoot":"","sources":["../../../generic/currency/for-chain.ts"],"names":[],"mappings":";;AAqDA,oCA6BC;AAED,kCAgDC;AApID,yDAIkC;AAClC,4DAAwD;AACxD,0DAAsD;AACtD,yDAAyE;AACzE,0DAAsD;AACtD,6DAGsC;AACtC,8DAA8D;AAC9D,yDAIkC;AAClC,4DAAwD;AACxD,0DAAsD;AAGtD,8DAAsD;AA8BtD,SAAgB,YAAY,CAG1B,OAAiB,EAAE,QAAmB;IACtC,IAAI,IAAA,wBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAA,2BAAe,EAAC,OAAO,CAAC,CAAA;QAEtC,OAAO,IAAI,qBAAS,CAAC;YACnB,OAAO;YACP,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM;YAC7C,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI;YACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ;YACjD,QAAQ;SACT,CAAmC,CAAA;IACtC,CAAC;IAED,IAAI,IAAA,wBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAA,2BAAe,EAAC,OAAO,CAAC,CAAA;QAEtC,OAAO,IAAI,qBAAS,CAAC;YACnB,OAAO;YACP,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM;YACnC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI;YAC/B,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;YACvC,QAAQ;SACT,CAAmC,CAAA;IACtC,CAAC;IAED,IAAA,6BAAW,EAAC,OAAO,EAAE,sCAAsC,OAAO,EAAE,CAAC,CAAA;AACvE,CAAC;AAED,SAAgB,WAAW,CAIzB,OAAiB,EACjB,IAAkD;IAElD,IAAI,IAAA,wBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,mBAAQ,CAAC;YAClB,GAAG,IAAI;YACP,OAAO;SACgD,CAGxD,CAAA;IACH,CAAC;IAED,IAAI,IAAA,wBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,mBAAQ,CAAC;YAClB,GAAG,IAAI;YACP,OAAO;SACgD,CAGxD,CAAA;IACH,CAAC;IAED,IAAI,IAAA,wBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,mBAAQ,CAAC;YAClB,GAAG,IAAI;YACP,OAAO;SACgD,CAGxD,CAAA;IACH,CAAC;IAED,IAAI,IAAA,4BAAgB,EAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,uBAAY,CAAC;YACtB,GAAG,IAAI;YACP,OAAO;SACoD,CAG5D,CAAA;IACH,CAAC;IAED,IAAA,6BAAW,EAAC,OAAO,EAAE,qCAAqC,OAAO,EAAE,CAAC,CAAA;AACtE,CAAC"}
1
+ {"version":3,"file":"for-chain.js","sourceRoot":"","sources":["../../../generic/currency/for-chain.ts"],"names":[],"mappings":";;AAwEA,oCA6BC;AAED,kCAgDC;AAvJD,yDAIkC;AAClC,4DAAwD;AACxD,0DAAsD;AACtD,yDAAyE;AACzE,0DAAsD;AACtD,6DAGsC;AACtC,8DAA8D;AAC9D,yDAIkC;AAClC,4DAAwD;AACxD,0DAAsD;AAQtD,8DAAsD;AA4CtD,SAAgB,YAAY,CAG1B,OAAiB,EAAE,QAAmB;IACtC,IAAI,IAAA,wBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAA,2BAAe,EAAC,OAAO,CAAC,CAAA;QAEtC,OAAO,IAAI,qBAAS,CAAC;YACnB,OAAO;YACP,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM;YAC7C,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI;YACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ;YACjD,QAAQ;SACT,CAAmC,CAAA;IACtC,CAAC;IAED,IAAI,IAAA,wBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAA,2BAAe,EAAC,OAAO,CAAC,CAAA;QAEtC,OAAO,IAAI,qBAAS,CAAC;YACnB,OAAO;YACP,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM;YACnC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI;YAC/B,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;YACvC,QAAQ;SACT,CAAmC,CAAA;IACtC,CAAC;IAED,IAAA,6BAAW,EAAC,OAAO,EAAE,sCAAsC,OAAO,EAAE,CAAC,CAAA;AACvE,CAAC;AAED,SAAgB,WAAW,CAIzB,OAAiB,EACjB,IAAkD;IAElD,IAAI,IAAA,wBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,mBAAQ,CAAC;YAClB,GAAG,IAAI;YACP,OAAO;SACgD,CAGxD,CAAA;IACH,CAAC;IAED,IAAI,IAAA,wBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,mBAAQ,CAAC;YAClB,GAAG,IAAI;YACP,OAAO;SACgD,CAGxD,CAAA;IACH,CAAC;IAED,IAAI,IAAA,wBAAY,EAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,mBAAQ,CAAC;YAClB,GAAG,IAAI;YACP,OAAO;SACgD,CAGxD,CAAA;IACH,CAAC;IAED,IAAI,IAAA,4BAAgB,EAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,uBAAY,CAAC;YACtB,GAAG,IAAI;YACP,OAAO;SACoD,CAG5D,CAAA;IACH,CAAC;IAED,IAAA,6BAAW,EAAC,OAAO,EAAE,qCAAqC,OAAO,EAAE,CAAC,CAAA;AACtE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"for-chain.js","sourceRoot":"","sources":["../../../generic/currency/for-chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,YAAY,GACb,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAmB,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EACL,gBAAgB,GAEjB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EACL,eAAe,EACf,YAAY,GAEb,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AA8BtD,MAAM,UAAU,YAAY,CAG1B,OAAiB,EAAE,QAAmB;IACtC,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QAEtC,OAAO,IAAI,SAAS,CAAC;YACnB,OAAO;YACP,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM;YAC7C,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI;YACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ;YACjD,QAAQ;SACT,CAAmC,CAAA;IACtC,CAAC;IAED,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QAEtC,OAAO,IAAI,SAAS,CAAC;YACnB,OAAO;YACP,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM;YACnC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI;YAC/B,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;YACvC,QAAQ;SACT,CAAmC,CAAA;IACtC,CAAC;IAED,WAAW,CAAC,OAAO,EAAE,sCAAsC,OAAO,EAAE,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,WAAW,CAIzB,OAAiB,EACjB,IAAkD;IAElD,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,QAAQ,CAAC;YAClB,GAAG,IAAI;YACP,OAAO;SACgD,CAGxD,CAAA;IACH,CAAC;IAED,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,QAAQ,CAAC;YAClB,GAAG,IAAI;YACP,OAAO;SACgD,CAGxD,CAAA;IACH,CAAC;IAED,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,QAAQ,CAAC;YAClB,GAAG,IAAI;YACP,OAAO;SACgD,CAGxD,CAAA;IACH,CAAC;IAED,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,YAAY,CAAC;YACtB,GAAG,IAAI;YACP,OAAO;SACoD,CAG5D,CAAA;IACH,CAAC;IAED,WAAW,CAAC,OAAO,EAAE,qCAAqC,OAAO,EAAE,CAAC,CAAA;AACtE,CAAC"}
1
+ {"version":3,"file":"for-chain.js","sourceRoot":"","sources":["../../../generic/currency/for-chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,YAAY,GACb,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAmB,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EACL,gBAAgB,GAEjB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EACL,eAAe,EACf,YAAY,GAEb,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAQtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AA4CtD,MAAM,UAAU,YAAY,CAG1B,OAAiB,EAAE,QAAmB;IACtC,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QAEtC,OAAO,IAAI,SAAS,CAAC;YACnB,OAAO;YACP,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM;YAC7C,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI;YACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ;YACjD,QAAQ;SACT,CAAmC,CAAA;IACtC,CAAC;IAED,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;QAEtC,OAAO,IAAI,SAAS,CAAC;YACnB,OAAO;YACP,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM;YACnC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI;YAC/B,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ;YACvC,QAAQ;SACT,CAAmC,CAAA;IACtC,CAAC;IAED,WAAW,CAAC,OAAO,EAAE,sCAAsC,OAAO,EAAE,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,WAAW,CAIzB,OAAiB,EACjB,IAAkD;IAElD,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,QAAQ,CAAC;YAClB,GAAG,IAAI;YACP,OAAO;SACgD,CAGxD,CAAA;IACH,CAAC;IAED,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,QAAQ,CAAC;YAClB,GAAG,IAAI;YACP,OAAO;SACgD,CAGxD,CAAA;IACH,CAAC;IAED,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,QAAQ,CAAC;YAClB,GAAG,IAAI;YACP,OAAO;SACgD,CAGxD,CAAA;IACH,CAAC;IAED,IAAI,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,YAAY,CAAC;YACtB,GAAG,IAAI;YACP,OAAO;SACoD,CAG5D,CAAA;IACH,CAAC;IAED,WAAW,CAAC,OAAO,EAAE,qCAAqC,OAAO,EAAE,CAAC,CAAA;AACtE,CAAC"}
@@ -7,7 +7,7 @@ import { StellarToken } from '../../stellar/currency/token.js';
7
7
  import { type SvmChainId } from '../../svm/chain/chains.js';
8
8
  import { SvmToken } from '../../svm/currency/token.js';
9
9
  import type { ChainId } from '../chain/chains.js';
10
- import type { NativeChainId, NativeFor, TokenFor } from '../types/for-chain.js';
10
+ import type { AddressFor, NativeChainId, NativeFor, TokenFor } from '../types/for-chain.js';
11
11
  import type { CurrencyMetadata } from './currency.js';
12
12
  type ConstructorData<T extends abstract new (...args: any) => any> = ConstructorParameters<T>[0] extends {
13
13
  chainId: infer TChainId;
@@ -18,7 +18,15 @@ type EvmTokenConstructorData<TMetadata extends CurrencyMetadata> = ConstructorDa
18
18
  type MvmTokenConstructorData<TMetadata extends CurrencyMetadata> = ConstructorData<typeof MvmToken<TMetadata>>;
19
19
  type SvmTokenConstructorData<TMetadata extends CurrencyMetadata> = ConstructorData<typeof SvmToken<TMetadata>>;
20
20
  type StellarTokenConstructorData<TMetadata extends CurrencyMetadata> = ConstructorData<typeof StellarToken<TMetadata>>;
21
- export type TokenConstructorDataFor<TChainId extends ChainId, TMetadata extends CurrencyMetadata = CurrencyMetadata> = TChainId extends EvmChainId ? EvmTokenConstructorData<TMetadata> : TChainId extends MvmChainId ? MvmTokenConstructorData<TMetadata> : TChainId extends SvmChainId ? SvmTokenConstructorData<TMetadata> : TChainId extends StellarChainId ? StellarTokenConstructorData<TMetadata> : never;
21
+ type GenericTokenConstructorData<TChainId extends ChainId, TMetadata extends CurrencyMetadata> = {
22
+ chainId?: TChainId;
23
+ address: AddressFor<TChainId>;
24
+ symbol: string;
25
+ name: string;
26
+ decimals: number;
27
+ metadata?: TMetadata;
28
+ };
29
+ export type TokenConstructorDataFor<TChainId extends ChainId, TMetadata extends CurrencyMetadata = CurrencyMetadata> = GenericTokenConstructorData<TChainId, TMetadata> | (TChainId extends EvmChainId ? EvmTokenConstructorData<TMetadata> : TChainId extends MvmChainId ? MvmTokenConstructorData<TMetadata> : TChainId extends SvmChainId ? SvmTokenConstructorData<TMetadata> : TChainId extends StellarChainId ? StellarTokenConstructorData<TMetadata> : never);
22
30
  export declare function getNativeFor<TChainId extends NativeChainId, TMetadata extends CurrencyMetadata>(chainId: TChainId, metadata: TMetadata): NativeFor<TChainId, TMetadata>;
23
31
  export declare function getTokenFor<TChainId extends ChainId, TMetadata extends CurrencyMetadata = Record<string, unknown>>(chainId: TChainId, data: TokenConstructorDataFor<TChainId, TMetadata>): TokenFor<TChainId, TMetadata>;
24
32
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"for-chain.d.ts","sourceRoot":"","sources":["../../../generic/currency/for-chain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAGhB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,KAAK,eAAe,CAAC,CAAC,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,IAC/D,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;CAAE,GAC3D,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,QAAQ,CAAA;CAAE,GACrE,KAAK,CAAA;AAEX,KAAK,uBAAuB,CAAC,SAAS,SAAS,gBAAgB,IAC7D,eAAe,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;AAC7C,KAAK,uBAAuB,CAAC,SAAS,SAAS,gBAAgB,IAC7D,eAAe,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;AAC7C,KAAK,uBAAuB,CAAC,SAAS,SAAS,gBAAgB,IAC7D,eAAe,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;AAC7C,KAAK,2BAA2B,CAAC,SAAS,SAAS,gBAAgB,IACjE,eAAe,CAAC,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC,CAAA;AAEjD,MAAM,MAAM,uBAAuB,CACjC,QAAQ,SAAS,OAAO,EACxB,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,IACnD,QAAQ,SAAS,UAAU,GAC3B,uBAAuB,CAAC,SAAS,CAAC,GAClC,QAAQ,SAAS,UAAU,GACzB,uBAAuB,CAAC,SAAS,CAAC,GAClC,QAAQ,SAAS,UAAU,GACzB,uBAAuB,CAAC,SAAS,CAAC,GAClC,QAAQ,SAAS,cAAc,GAC7B,2BAA2B,CAAC,SAAS,CAAC,GACtC,KAAK,CAAA;AAEf,wBAAgB,YAAY,CAC1B,QAAQ,SAAS,aAAa,EAC9B,SAAS,SAAS,gBAAgB,EAClC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CA0BxE;AAED,wBAAgB,WAAW,CACzB,QAAQ,SAAS,OAAO,EACxB,SAAS,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE5D,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,GACjD,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CA0C/B"}
1
+ {"version":3,"file":"for-chain.d.ts","sourceRoot":"","sources":["../../../generic/currency/for-chain.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ import {
18
18
  type SvmToken,
19
19
  svmAddress,
20
20
  } from '../../svm/currency/token.js'
21
- import type { NativeChainId } from '../types/for-chain.js'
21
+ import type { AddressFor, NativeChainId, TokenFor } from '../types/for-chain.js'
22
22
  import {
23
23
  getNativeFor,
24
24
  getTokenFor,
@@ -202,6 +202,30 @@ describe('generic/currency/for-chain.ts types', () => {
202
202
  >()
203
203
  })
204
204
 
205
+ it('accepts generic EVM/SVM token input with address derived from the chain id', () => {
206
+ type GenericTokenInput<TChainId extends EvmChainId | SvmChainId> = {
207
+ address: AddressFor<TChainId>
208
+ symbol: string
209
+ name: string
210
+ decimals: number
211
+ metadata: Metadata
212
+ }
213
+
214
+ function getGenericTokenFor<TChainId extends EvmChainId | SvmChainId>(
215
+ chainId: TChainId,
216
+ input: GenericTokenInput<TChainId>,
217
+ ) {
218
+ return getTokenFor(chainId, input)
219
+ }
220
+
221
+ const chainId = {} as EvmChainId | SvmChainId
222
+ const input = {} as GenericTokenInput<typeof chainId>
223
+
224
+ expectTypeOf(getGenericTokenFor(chainId, input)).toEqualTypeOf<
225
+ TokenFor<EvmChainId | SvmChainId, Metadata>
226
+ >()
227
+ })
228
+
205
229
  it('rejects constructor data for a different chain family', () => {
206
230
  getTokenFor(SvmChainId.SOLANA, {
207
231
  // @ts-expect-error SVM token data requires an SVM address.
@@ -20,7 +20,12 @@ import {
20
20
  import { SvmNative } from '../../svm/currency/native.js'
21
21
  import { SvmToken } from '../../svm/currency/token.js'
22
22
  import type { ChainId } from '../chain/chains.js'
23
- import type { NativeChainId, NativeFor, TokenFor } from '../types/for-chain.js'
23
+ import type {
24
+ AddressFor,
25
+ NativeChainId,
26
+ NativeFor,
27
+ TokenFor,
28
+ } from '../types/for-chain.js'
24
29
  import { assertNever } from '../utils/assert-never.js'
25
30
  import type { CurrencyMetadata } from './currency.js'
26
31
 
@@ -38,18 +43,32 @@ type SvmTokenConstructorData<TMetadata extends CurrencyMetadata> =
38
43
  type StellarTokenConstructorData<TMetadata extends CurrencyMetadata> =
39
44
  ConstructorData<typeof StellarToken<TMetadata>>
40
45
 
46
+ type GenericTokenConstructorData<
47
+ TChainId extends ChainId,
48
+ TMetadata extends CurrencyMetadata,
49
+ > = {
50
+ chainId?: TChainId
51
+ address: AddressFor<TChainId>
52
+ symbol: string
53
+ name: string
54
+ decimals: number
55
+ metadata?: TMetadata
56
+ }
57
+
41
58
  export type TokenConstructorDataFor<
42
59
  TChainId extends ChainId,
43
60
  TMetadata extends CurrencyMetadata = CurrencyMetadata,
44
- > = TChainId extends EvmChainId
45
- ? EvmTokenConstructorData<TMetadata>
46
- : TChainId extends MvmChainId
47
- ? MvmTokenConstructorData<TMetadata>
48
- : TChainId extends SvmChainId
49
- ? SvmTokenConstructorData<TMetadata>
50
- : TChainId extends StellarChainId
51
- ? StellarTokenConstructorData<TMetadata>
52
- : never
61
+ > =
62
+ | GenericTokenConstructorData<TChainId, TMetadata>
63
+ | (TChainId extends EvmChainId
64
+ ? EvmTokenConstructorData<TMetadata>
65
+ : TChainId extends MvmChainId
66
+ ? MvmTokenConstructorData<TMetadata>
67
+ : TChainId extends SvmChainId
68
+ ? SvmTokenConstructorData<TMetadata>
69
+ : TChainId extends StellarChainId
70
+ ? StellarTokenConstructorData<TMetadata>
71
+ : never)
53
72
 
54
73
  export function getNativeFor<
55
74
  TChainId extends NativeChainId,
@@ -89,6 +89,18 @@ describe('generic/types/for-chain.ts types', () => {
89
89
  >()
90
90
  })
91
91
 
92
+ it('should be assignable to CurrencyFor for native chain families', () => {
93
+ expectTypeOf<NativeFor<EvmChainId, Metadata>>().toMatchTypeOf<
94
+ CurrencyFor<EvmChainId, Metadata>
95
+ >()
96
+ expectTypeOf<NativeFor<SvmChainId, Metadata>>().toMatchTypeOf<
97
+ CurrencyFor<SvmChainId, Metadata>
98
+ >()
99
+ expectTypeOf<NativeFor<NativeChainId, Metadata>>().toMatchTypeOf<
100
+ CurrencyFor<NativeChainId, Metadata>
101
+ >()
102
+ })
103
+
92
104
  it('should reject token-only chain families', () => {
93
105
  type NativeForMvm = NativeFor<
94
106
  // @ts-expect-error MVM is intentionally excluded from NativeChainId.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sushi",
3
3
  "description": "Sushi",
4
- "version": "6.6.8",
4
+ "version": "6.6.9",
5
5
  "type": "module",
6
6
  "main": "./_cjs/generic/index.js",
7
7
  "module": "./_esm/generic/index.js",