sushi 6.4.5 → 6.4.7
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.
- package/_cjs/evm/config/simple-constants.js +2 -2
- package/_cjs/evm/config/simple-constants.js.map +1 -1
- package/_cjs/evm/config/tokens/wrapped-native.js +3 -3
- package/_cjs/evm/config/tokens/wrapped-native.js.map +1 -1
- package/_cjs/evm/currency/currency.js +1 -1
- package/_cjs/evm/currency/currency.js.map +1 -1
- package/_cjs/evm/currency/token.js +2 -1
- package/_cjs/evm/currency/token.js.map +1 -1
- package/_cjs/evm/utils/index.js +1 -0
- package/_cjs/evm/utils/index.js.map +1 -1
- package/_cjs/evm/utils/normalize-address.js +7 -0
- package/_cjs/evm/utils/normalize-address.js.map +1 -0
- package/_cjs/generic/utils/assert-never.js +8 -0
- package/_cjs/generic/utils/assert-never.js.map +1 -0
- package/_cjs/generic/utils/id.js +9 -10
- package/_cjs/generic/utils/id.js.map +1 -1
- package/_cjs/generic/utils/index.js +4 -0
- package/_cjs/generic/utils/index.js.map +1 -1
- package/_cjs/generic/utils/native-address.js +38 -0
- package/_cjs/generic/utils/native-address.js.map +1 -0
- package/_cjs/generic/utils/normalize-address.js +38 -0
- package/_cjs/generic/utils/normalize-address.js.map +1 -0
- package/_cjs/generic/utils/wrapped-native.js +16 -0
- package/_cjs/generic/utils/wrapped-native.js.map +1 -0
- package/_cjs/kvm/config/index.js +18 -0
- package/_cjs/kvm/config/index.js.map +1 -0
- package/_cjs/kvm/config/simple-constants.js +5 -0
- package/_cjs/kvm/config/simple-constants.js.map +1 -0
- package/_cjs/kvm/index.js +2 -0
- package/_cjs/kvm/index.js.map +1 -1
- package/_cjs/kvm/utils/index.js +18 -0
- package/_cjs/kvm/utils/index.js.map +1 -0
- package/_cjs/kvm/utils/normalize-address.js +7 -0
- package/_cjs/kvm/utils/normalize-address.js.map +1 -0
- package/_cjs/mvm/config/index.js +18 -0
- package/_cjs/mvm/config/index.js.map +1 -0
- package/_cjs/mvm/config/simple-constants.js +5 -0
- package/_cjs/mvm/config/simple-constants.js.map +1 -0
- package/_cjs/mvm/currency/token.js +2 -1
- package/_cjs/mvm/currency/token.js.map +1 -1
- package/_cjs/mvm/index.js +2 -0
- package/_cjs/mvm/index.js.map +1 -1
- package/_cjs/mvm/utils/index.js +18 -0
- package/_cjs/mvm/utils/index.js.map +1 -0
- package/_cjs/mvm/utils/normalize-address.js +7 -0
- package/_cjs/mvm/utils/normalize-address.js.map +1 -0
- package/_cjs/stellar/address.js +8 -0
- package/_cjs/stellar/address.js.map +1 -0
- package/_cjs/stellar/config/index.js +18 -0
- package/_cjs/stellar/config/index.js.map +1 -0
- package/_cjs/stellar/config/simple-constants.js +5 -0
- package/_cjs/stellar/config/simple-constants.js.map +1 -0
- package/_cjs/stellar/index.js +3 -0
- package/_cjs/stellar/index.js.map +1 -1
- package/_cjs/stellar/utils/index.js +18 -0
- package/_cjs/stellar/utils/index.js.map +1 -0
- package/_cjs/stellar/utils/normalize-address.js +7 -0
- package/_cjs/stellar/utils/normalize-address.js.map +1 -0
- package/_cjs/svm/config/tokens/wrapped-native.js +3 -1
- package/_cjs/svm/config/tokens/wrapped-native.js.map +1 -1
- package/_cjs/svm/currency/token.js +3 -2
- package/_cjs/svm/currency/token.js.map +1 -1
- package/_cjs/svm/index.js +1 -0
- package/_cjs/svm/index.js.map +1 -1
- package/_cjs/svm/types/id.js +3 -0
- package/_cjs/svm/types/id.js.map +1 -0
- package/_cjs/svm/utils/index.js +18 -0
- package/_cjs/svm/utils/index.js.map +1 -0
- package/_cjs/svm/utils/normalize-address.js +7 -0
- package/_cjs/svm/utils/normalize-address.js.map +1 -0
- package/_cjs/tvm/config/index.js +1 -0
- package/_cjs/tvm/config/index.js.map +1 -1
- package/_cjs/tvm/config/simple-constants.js +5 -0
- package/_cjs/tvm/config/simple-constants.js.map +1 -0
- package/_cjs/tvm/currency/token.js +2 -1
- package/_cjs/tvm/currency/token.js.map +1 -1
- package/_cjs/tvm/index.js +1 -0
- package/_cjs/tvm/index.js.map +1 -1
- package/_cjs/tvm/utils/index.js +18 -0
- package/_cjs/tvm/utils/index.js.map +1 -0
- package/_cjs/tvm/utils/normalize-address.js +7 -0
- package/_cjs/tvm/utils/normalize-address.js.map +1 -0
- package/_esm/evm/config/simple-constants.js +1 -1
- package/_esm/evm/config/simple-constants.js.map +1 -1
- package/_esm/evm/config/tokens/wrapped-native.js +1 -1
- package/_esm/evm/config/tokens/wrapped-native.js.map +1 -1
- package/_esm/evm/currency/currency.js +2 -2
- package/_esm/evm/currency/currency.js.map +1 -1
- package/_esm/evm/currency/token.js +2 -1
- package/_esm/evm/currency/token.js.map +1 -1
- package/_esm/evm/utils/index.js +1 -0
- package/_esm/evm/utils/index.js.map +1 -1
- package/_esm/evm/utils/normalize-address.js +4 -0
- package/_esm/evm/utils/normalize-address.js.map +1 -0
- package/_esm/generic/utils/assert-never.js +5 -0
- package/_esm/generic/utils/assert-never.js.map +1 -0
- package/_esm/generic/utils/id.js +9 -11
- package/_esm/generic/utils/id.js.map +1 -1
- package/_esm/generic/utils/index.js +4 -0
- package/_esm/generic/utils/index.js.map +1 -1
- package/_esm/generic/utils/native-address.js +35 -0
- package/_esm/generic/utils/native-address.js.map +1 -0
- package/_esm/generic/utils/normalize-address.js +35 -0
- package/_esm/generic/utils/normalize-address.js.map +1 -0
- package/_esm/generic/utils/wrapped-native.js +12 -0
- package/_esm/generic/utils/wrapped-native.js.map +1 -0
- package/_esm/kvm/config/index.js +2 -0
- package/_esm/kvm/config/index.js.map +1 -0
- package/_esm/kvm/config/simple-constants.js +2 -0
- package/_esm/kvm/config/simple-constants.js.map +1 -0
- package/_esm/kvm/index.js +2 -0
- package/_esm/kvm/index.js.map +1 -1
- package/_esm/kvm/utils/index.js +2 -0
- package/_esm/kvm/utils/index.js.map +1 -0
- package/_esm/kvm/utils/normalize-address.js +4 -0
- package/_esm/kvm/utils/normalize-address.js.map +1 -0
- package/_esm/mvm/config/index.js +2 -0
- package/_esm/mvm/config/index.js.map +1 -0
- package/_esm/mvm/config/simple-constants.js +2 -0
- package/_esm/mvm/config/simple-constants.js.map +1 -0
- package/_esm/mvm/currency/token.js +2 -1
- package/_esm/mvm/currency/token.js.map +1 -1
- package/_esm/mvm/index.js +2 -0
- package/_esm/mvm/index.js.map +1 -1
- package/_esm/mvm/utils/index.js +2 -0
- package/_esm/mvm/utils/index.js.map +1 -0
- package/_esm/mvm/utils/normalize-address.js +4 -0
- package/_esm/mvm/utils/normalize-address.js.map +1 -0
- package/_esm/stellar/address.js +5 -0
- package/_esm/stellar/address.js.map +1 -0
- package/_esm/stellar/config/index.js +2 -0
- package/_esm/stellar/config/index.js.map +1 -0
- package/_esm/stellar/config/simple-constants.js +2 -0
- package/_esm/stellar/config/simple-constants.js.map +1 -0
- package/_esm/stellar/index.js +3 -0
- package/_esm/stellar/index.js.map +1 -1
- package/_esm/stellar/utils/index.js +2 -0
- package/_esm/stellar/utils/index.js.map +1 -0
- package/_esm/stellar/utils/normalize-address.js +4 -0
- package/_esm/stellar/utils/normalize-address.js.map +1 -0
- package/_esm/svm/config/tokens/wrapped-native.js +1 -0
- package/_esm/svm/config/tokens/wrapped-native.js.map +1 -1
- package/_esm/svm/currency/token.js +3 -2
- package/_esm/svm/currency/token.js.map +1 -1
- package/_esm/svm/index.js +1 -0
- package/_esm/svm/index.js.map +1 -1
- package/_esm/svm/types/id.js +2 -0
- package/_esm/svm/types/id.js.map +1 -0
- package/_esm/svm/utils/index.js +2 -0
- package/_esm/svm/utils/index.js.map +1 -0
- package/_esm/svm/utils/normalize-address.js +4 -0
- package/_esm/svm/utils/normalize-address.js.map +1 -0
- package/_esm/tvm/config/index.js +1 -0
- package/_esm/tvm/config/index.js.map +1 -1
- package/_esm/tvm/config/simple-constants.js +2 -0
- package/_esm/tvm/config/simple-constants.js.map +1 -0
- package/_esm/tvm/currency/token.js +2 -1
- package/_esm/tvm/currency/token.js.map +1 -1
- package/_esm/tvm/index.js +1 -0
- package/_esm/tvm/index.js.map +1 -1
- package/_esm/tvm/utils/index.js +2 -0
- package/_esm/tvm/utils/index.js.map +1 -0
- package/_esm/tvm/utils/normalize-address.js +4 -0
- package/_esm/tvm/utils/normalize-address.js.map +1 -0
- package/_types/evm/config/simple-constants.d.ts +1 -1
- package/_types/evm/config/simple-constants.d.ts.map +1 -1
- package/_types/evm/config/tokens/wrapped-native.d.ts +1 -1
- package/_types/evm/config/tokens/wrapped-native.d.ts.map +1 -1
- package/_types/evm/currency/native.d.ts +1 -1
- package/_types/evm/currency/native.d.ts.map +1 -1
- package/_types/evm/currency/token.d.ts.map +1 -1
- package/_types/evm/utils/index.d.ts +1 -0
- package/_types/evm/utils/index.d.ts.map +1 -1
- package/_types/evm/utils/normalize-address.d.ts +3 -0
- package/_types/evm/utils/normalize-address.d.ts.map +1 -0
- package/_types/generic/types/for-chain.d.ts +17 -5
- package/_types/generic/types/for-chain.d.ts.map +1 -1
- package/_types/generic/utils/assert-never.d.ts +2 -0
- package/_types/generic/utils/assert-never.d.ts.map +1 -0
- package/_types/generic/utils/id.d.ts +3 -2
- package/_types/generic/utils/id.d.ts.map +1 -1
- package/_types/generic/utils/index.d.ts +4 -0
- package/_types/generic/utils/index.d.ts.map +1 -1
- package/_types/generic/utils/native-address.d.ts +4 -0
- package/_types/generic/utils/native-address.d.ts.map +1 -0
- package/_types/generic/utils/normalize-address.d.ts +4 -0
- package/_types/generic/utils/normalize-address.d.ts.map +1 -0
- package/_types/generic/utils/wrapped-native.d.ts +4 -0
- package/_types/generic/utils/wrapped-native.d.ts.map +1 -0
- package/_types/kvm/config/index.d.ts +2 -0
- package/_types/kvm/config/index.d.ts.map +1 -0
- package/_types/kvm/config/simple-constants.d.ts +3 -0
- package/_types/kvm/config/simple-constants.d.ts.map +1 -0
- package/_types/kvm/index.d.ts +2 -0
- package/_types/kvm/index.d.ts.map +1 -1
- package/_types/kvm/utils/index.d.ts +2 -0
- package/_types/kvm/utils/index.d.ts.map +1 -0
- package/_types/kvm/utils/normalize-address.d.ts +3 -0
- package/_types/kvm/utils/normalize-address.d.ts.map +1 -0
- package/_types/mvm/config/index.d.ts +2 -0
- package/_types/mvm/config/index.d.ts.map +1 -0
- package/_types/mvm/config/simple-constants.d.ts +3 -0
- package/_types/mvm/config/simple-constants.d.ts.map +1 -0
- package/_types/mvm/currency/token.d.ts.map +1 -1
- package/_types/mvm/index.d.ts +2 -0
- package/_types/mvm/index.d.ts.map +1 -1
- package/_types/mvm/utils/index.d.ts +2 -0
- package/_types/mvm/utils/index.d.ts.map +1 -0
- package/_types/mvm/utils/normalize-address.d.ts +3 -0
- package/_types/mvm/utils/normalize-address.d.ts.map +1 -0
- package/_types/stellar/address.d.ts +3 -0
- package/_types/stellar/address.d.ts.map +1 -0
- package/_types/stellar/config/index.d.ts +2 -0
- package/_types/stellar/config/index.d.ts.map +1 -0
- package/_types/stellar/config/simple-constants.d.ts +2 -0
- package/_types/stellar/config/simple-constants.d.ts.map +1 -0
- package/_types/stellar/index.d.ts +3 -0
- package/_types/stellar/index.d.ts.map +1 -1
- package/_types/stellar/utils/index.d.ts +2 -0
- package/_types/stellar/utils/index.d.ts.map +1 -0
- package/_types/stellar/utils/normalize-address.d.ts +3 -0
- package/_types/stellar/utils/normalize-address.d.ts.map +1 -0
- package/_types/svm/config/tokens/wrapped-native.d.ts +5 -2
- package/_types/svm/config/tokens/wrapped-native.d.ts.map +1 -1
- package/_types/svm/currency/native.d.ts +1 -1
- package/_types/svm/currency/native.d.ts.map +1 -1
- package/_types/svm/currency/token.d.ts +1 -1
- package/_types/svm/currency/token.d.ts.map +1 -1
- package/_types/svm/index.d.ts +1 -0
- package/_types/svm/index.d.ts.map +1 -1
- package/_types/svm/types/id.d.ts +5 -0
- package/_types/svm/types/id.d.ts.map +1 -0
- package/_types/svm/utils/index.d.ts +2 -0
- package/_types/svm/utils/index.d.ts.map +1 -0
- package/_types/svm/utils/normalize-address.d.ts +3 -0
- package/_types/svm/utils/normalize-address.d.ts.map +1 -0
- package/_types/tvm/config/index.d.ts +1 -0
- package/_types/tvm/config/index.d.ts.map +1 -1
- package/_types/tvm/config/simple-constants.d.ts +3 -0
- package/_types/tvm/config/simple-constants.d.ts.map +1 -0
- package/_types/tvm/currency/native.d.ts +1 -1
- package/_types/tvm/currency/native.d.ts.map +1 -1
- package/_types/tvm/currency/token.d.ts.map +1 -1
- package/_types/tvm/index.d.ts +1 -0
- package/_types/tvm/index.d.ts.map +1 -1
- package/_types/tvm/utils/index.d.ts +2 -0
- package/_types/tvm/utils/index.d.ts.map +1 -0
- package/_types/tvm/utils/normalize-address.d.ts +3 -0
- package/_types/tvm/utils/normalize-address.d.ts.map +1 -0
- package/evm/config/simple-constants.ts +1 -1
- package/evm/config/tokens/wrapped-native.ts +1 -1
- package/evm/currency/currency.ts +2 -2
- package/evm/currency/native.ts +1 -1
- package/evm/currency/token.ts +2 -1
- package/evm/utils/index.ts +1 -0
- package/evm/utils/normalize-address.ts +5 -0
- package/generic/types/for-chain.ts +51 -11
- package/generic/utils/assert-never.ts +4 -0
- package/generic/utils/id.test.ts +13 -0
- package/generic/utils/id.ts +15 -16
- package/generic/utils/index.ts +4 -0
- package/generic/utils/native-address.ts +45 -0
- package/generic/utils/normalize-address.ts +64 -0
- package/generic/utils/wrapped-native.ts +11 -0
- package/kvm/config/index.ts +1 -0
- package/kvm/config/simple-constants.ts +3 -0
- package/kvm/index.ts +2 -0
- package/kvm/utils/index.ts +1 -0
- package/kvm/utils/normalize-address.ts +5 -0
- package/mvm/config/index.ts +1 -0
- package/mvm/config/simple-constants.ts +3 -0
- package/mvm/currency/token.ts +2 -1
- package/mvm/index.ts +2 -0
- package/mvm/utils/index.ts +1 -0
- package/mvm/utils/normalize-address.ts +5 -0
- package/package.json +1 -1
- package/stellar/address.ts +7 -0
- package/stellar/config/index.ts +1 -0
- package/stellar/config/simple-constants.ts +2 -0
- package/stellar/index.ts +3 -0
- package/stellar/utils/index.ts +1 -0
- package/stellar/utils/normalize-address.ts +7 -0
- package/svm/config/tokens/wrapped-native.ts +6 -2
- package/svm/currency/native.ts +1 -1
- package/svm/currency/token.ts +3 -1
- package/svm/index.ts +1 -0
- package/svm/types/id.ts +9 -0
- package/svm/utils/index.ts +1 -0
- package/svm/utils/normalize-address.ts +5 -0
- package/tvm/config/index.ts +1 -0
- package/tvm/config/simple-constants.ts +3 -0
- package/tvm/currency/native.ts +1 -1
- package/tvm/currency/token.ts +2 -1
- package/tvm/index.ts +1 -0
- package/tvm/utils/index.ts +1 -0
- package/tvm/utils/normalize-address.ts +5 -0
package/_types/mvm/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../mvm/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../mvm/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../mvm/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-address.d.ts","sourceRoot":"","sources":["../../../mvm/utils/normalize-address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,CAEnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../stellar/address.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,IAAI,MAAM,EAAE,CAAA;AAIzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,cAAc,CAE3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../stellar/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-constants.d.ts","sourceRoot":"","sources":["../../../stellar/config/simple-constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,EAC/B,0DAAmE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../stellar/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../stellar/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../stellar/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-address.d.ts","sourceRoot":"","sources":["../../../stellar/utils/normalize-address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAEnD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,cAAc,GACtB,cAAc,CAEhB"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { SvmChainId } from '../../../svm/chain/index.js';
|
|
2
|
+
import type { SvmAddress, SvmToken } from '../../currency/token.js';
|
|
1
3
|
export declare const SVM_WNATIVE_ADDRESS: {
|
|
2
|
-
[-5]:
|
|
4
|
+
readonly [-5]: SvmAddress<"So11111111111111111111111111111111111111112">;
|
|
3
5
|
};
|
|
4
6
|
export declare const SVM_WNATIVE: {
|
|
5
|
-
[-5]:
|
|
7
|
+
readonly [-5]: SvmToken<Record<string, unknown>>;
|
|
6
8
|
};
|
|
9
|
+
export declare const isSvmWNativeSupported: (chainId: SvmChainId) => boolean;
|
|
7
10
|
//# sourceMappingURL=wrapped-native.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapped-native.d.ts","sourceRoot":"","sources":["../../../../svm/config/tokens/wrapped-native.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wrapped-native.d.ts","sourceRoot":"","sources":["../../../../svm/config/tokens/wrapped-native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAGnE,eAAO,MAAM,mBAAmB;;CAEmB,CAAA;AAEnD,eAAO,MAAM,WAAW;;CAEyB,CAAA;AAEjD,eAAO,MAAM,qBAAqB,GAAI,SAAS,UAAU,YACb,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as z from 'zod';
|
|
2
|
-
import type { CurrencyMetadata } from '
|
|
2
|
+
import type { CurrencyMetadata } from '../../generic/currency/currency.js';
|
|
3
3
|
import { Native } from '../../generic/currency/native.js';
|
|
4
4
|
import { type SvmChainId } from '../chain/chains.js';
|
|
5
5
|
import { SvmToken } from './token.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../svm/currency/native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../svm/currency/native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AACzD,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAA;AAE3B,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;CAUnD;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"}
|
|
@@ -7,7 +7,7 @@ export { type SvmAddress, svmAddress, isSvmAddress };
|
|
|
7
7
|
export type SvmTokenOrigin = 'native' | 'native-bridge';
|
|
8
8
|
export declare class SvmToken<TMetadata extends CurrencyMetadata = Record<string, unknown>> extends Token<SvmChainId, SvmAddress, TMetadata> {
|
|
9
9
|
readonly origin: SvmTokenOrigin | undefined;
|
|
10
|
-
constructor({ origin, ...rest }: {
|
|
10
|
+
constructor({ origin, address, ...rest }: {
|
|
11
11
|
origin?: SvmTokenOrigin | undefined;
|
|
12
12
|
} & ConstructorParameters<typeof Token<SvmChainId, SvmAddress, TMetadata>>[0]);
|
|
13
13
|
wrap(): SvmToken<TMetadata>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../svm/currency/token.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,IAAI,YAAY,EACzB,KAAK,OAAO,IAAI,UAAU,EAC1B,OAAO,IAAI,UAAU,EACtB,MAAM,mBAAmB,CAAA;AAC1B,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;
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../svm/currency/token.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,IAAI,YAAY,EACzB,KAAK,OAAO,IAAI,UAAU,EAC1B,OAAO,IAAI,UAAU,EACtB,MAAM,mBAAmB,CAAA;AAC1B,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;AAGlE,OAAO,EAAE,KAAK,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,CAAA;AAEpD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,eAAe,CAAA;AAEvD,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"}
|
package/_types/svm/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../svm/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../svm/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ID } from '../../generic/types/id.js';
|
|
2
|
+
import type { SvmChainId } from '../chain/chains.js';
|
|
3
|
+
import type { SvmAddress } from '../currency/token.js';
|
|
4
|
+
export type SvmID<TIncludeNative extends boolean = false> = ID<SvmChainId, SvmAddress, TIncludeNative>;
|
|
5
|
+
//# sourceMappingURL=id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../svm/types/id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,MAAM,KAAK,CAAC,cAAc,SAAS,OAAO,GAAG,KAAK,IAAI,EAAE,CAC5D,UAAU,EACV,UAAU,EACV,cAAc,CACf,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../svm/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-address.d.ts","sourceRoot":"","sources":["../../../svm/utils/normalize-address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,CAEnE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../tvm/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../tvm/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-constants.d.ts","sourceRoot":"","sources":["../../../tvm/config/simple-constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD,eAAO,MAAM,gBAAgB,EAAE,UAAiD,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as z from 'zod';
|
|
2
|
-
import type { CurrencyMetadata } from '
|
|
2
|
+
import type { CurrencyMetadata } from '../../generic/currency/currency.js';
|
|
3
3
|
import { Native } from '../../generic/currency/native.js';
|
|
4
4
|
import { type TvmChainId } from '../chain/chains.js';
|
|
5
5
|
import { TvmToken } from './token.js';
|
|
@@ -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,
|
|
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,oCAAoC,CAAA;AAC1E,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"}
|
|
@@ -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;
|
|
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;AAGlE,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"}
|
package/_types/tvm/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../tvm/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../tvm/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../tvm/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-address.d.ts","sourceRoot":"","sources":["../../../tvm/utils/normalize-address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,CAEnE"}
|
|
@@ -269,7 +269,7 @@ export const WNATIVE = {
|
|
|
269
269
|
}),
|
|
270
270
|
} as const satisfies Record<EvmChainId, EvmToken>
|
|
271
271
|
|
|
272
|
-
export const
|
|
272
|
+
export const isEvmWNativeSupported = (chainId: EvmChainId) =>
|
|
273
273
|
WNATIVE_ADDRESS[chainId] !== zeroAddress
|
|
274
274
|
|
|
275
275
|
export function isWrapOrUnwrap({
|
package/evm/currency/currency.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as z from 'zod'
|
|
2
2
|
import type { CurrencyMetadata } from '../../generic/currency/currency.js'
|
|
3
|
-
import {
|
|
3
|
+
import { evmNativeAddress } from '../config/simple-constants.js'
|
|
4
4
|
import { type EvmNative, serializedEvmNativeSchema } from './native.js'
|
|
5
5
|
import { type EvmToken, serializedEvmTokenSchema } from './token.js'
|
|
6
6
|
|
|
@@ -23,7 +23,7 @@ export const serializedEvmCurrencySchema = <
|
|
|
23
23
|
* @returns The address of the currency. If the currency is native, returns the native address constant.
|
|
24
24
|
*/
|
|
25
25
|
export function getEvmCurrencyAddress(currency: EvmCurrency) {
|
|
26
|
-
return currency.type === 'native' ?
|
|
26
|
+
return currency.type === 'native' ? evmNativeAddress : currency.address
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
export type SerializedEvmCurrency<
|
package/evm/currency/native.ts
CHANGED
package/evm/currency/token.ts
CHANGED
|
@@ -4,6 +4,7 @@ import * as z from 'zod'
|
|
|
4
4
|
import type { CurrencyMetadata } from '../../generic/currency/currency.js'
|
|
5
5
|
import { Token } from '../../generic/currency/token.js'
|
|
6
6
|
import { type EvmChainId, isEvmChainId } from '../chain/chains.js'
|
|
7
|
+
import { normalizeEvmAddress } from '../utils/normalize-address.js'
|
|
7
8
|
|
|
8
9
|
export type EvmAddress = Address
|
|
9
10
|
|
|
@@ -32,7 +33,7 @@ export class EvmToken<
|
|
|
32
33
|
} & ConstructorParameters<
|
|
33
34
|
typeof Token<EvmChainId, EvmAddress, TMetadata>
|
|
34
35
|
>[0]) {
|
|
35
|
-
super({ address: address
|
|
36
|
+
super({ address: normalizeEvmAddress(address), ...rest })
|
|
36
37
|
this.origin = origin
|
|
37
38
|
}
|
|
38
39
|
|
package/evm/utils/index.ts
CHANGED
|
@@ -1,32 +1,72 @@
|
|
|
1
|
-
import type { EvmCurrency } from '~/evm/currency/currency.js'
|
|
2
|
-
import type { SvmCurrency } from '~/svm/currency/currency.js'
|
|
3
1
|
import type { EvmChainId } from '../../evm/chain/chains.js'
|
|
2
|
+
import type { EvmCurrency } from '../../evm/currency/currency.js'
|
|
4
3
|
import type { EvmAddress, EvmToken } from '../../evm/currency/token.js'
|
|
4
|
+
import type { EvmID } from '../../evm/types/id.js'
|
|
5
|
+
import type { KvmChainId } from '../../kvm/chain/chains.js'
|
|
6
|
+
import type { KvmToken, KvmTokenAddress } from '../../kvm/currency/token.js'
|
|
7
|
+
import type { MvmChainId } from '../../mvm/chain/chains.js'
|
|
8
|
+
import type { MvmAddress, MvmToken } from '../../mvm/currency/token.js'
|
|
9
|
+
import type { StellarAddress } from '../../stellar/address.js'
|
|
10
|
+
import type { StellarChainId } from '../../stellar/chain/chains.js'
|
|
5
11
|
import type { SvmChainId } from '../../svm/chain/chains.js'
|
|
12
|
+
import type { SvmCurrency } from '../../svm/currency/currency.js'
|
|
6
13
|
import type { SvmAddress, SvmToken } from '../../svm/currency/token.js'
|
|
14
|
+
import type { SvmID } from '../../svm/types/id.js'
|
|
15
|
+
import type { TvmChainId } from '../../tvm/chain/chains.js'
|
|
16
|
+
import type { TvmCurrency } from '../../tvm/currency/currency.js'
|
|
17
|
+
import type { TvmAddress, TvmToken } from '../../tvm/currency/token.js'
|
|
7
18
|
import type { ChainId } from '../chain/chains.js'
|
|
8
19
|
import type { CurrencyMetadata } from '../currency/currency.js'
|
|
9
20
|
|
|
10
21
|
export type TokenFor<
|
|
11
|
-
TChainId extends
|
|
22
|
+
TChainId extends Exclude<ChainId, StellarChainId>,
|
|
12
23
|
Metadata extends CurrencyMetadata = CurrencyMetadata,
|
|
13
24
|
> = TChainId extends EvmChainId
|
|
14
25
|
? EvmToken<Metadata>
|
|
15
|
-
: TChainId extends
|
|
16
|
-
?
|
|
17
|
-
:
|
|
26
|
+
: TChainId extends MvmChainId
|
|
27
|
+
? MvmToken<Metadata>
|
|
28
|
+
: TChainId extends TvmChainId
|
|
29
|
+
? TvmToken<Metadata>
|
|
30
|
+
: TChainId extends KvmChainId
|
|
31
|
+
? KvmToken<Metadata>
|
|
32
|
+
: TChainId extends SvmChainId
|
|
33
|
+
? SvmToken<Metadata>
|
|
34
|
+
: never
|
|
18
35
|
|
|
19
36
|
export type CurrencyFor<
|
|
20
|
-
TChainId extends
|
|
37
|
+
TChainId extends Exclude<ChainId, StellarChainId>,
|
|
21
38
|
Metadata extends CurrencyMetadata = CurrencyMetadata,
|
|
22
39
|
> = TChainId extends EvmChainId
|
|
23
40
|
? EvmCurrency<Metadata>
|
|
24
|
-
: TChainId extends
|
|
25
|
-
?
|
|
26
|
-
:
|
|
41
|
+
: TChainId extends MvmChainId
|
|
42
|
+
? MvmToken<Metadata>
|
|
43
|
+
: TChainId extends KvmChainId
|
|
44
|
+
? KvmToken<Metadata>
|
|
45
|
+
: TChainId extends TvmChainId
|
|
46
|
+
? TvmCurrency<Metadata>
|
|
47
|
+
: TChainId extends SvmChainId
|
|
48
|
+
? SvmCurrency<Metadata>
|
|
49
|
+
: never
|
|
27
50
|
|
|
28
51
|
export type AddressFor<TChainId extends ChainId> = TChainId extends EvmChainId
|
|
29
52
|
? EvmAddress
|
|
53
|
+
: TChainId extends MvmChainId
|
|
54
|
+
? MvmAddress
|
|
55
|
+
: TChainId extends TvmChainId
|
|
56
|
+
? TvmAddress
|
|
57
|
+
: TChainId extends KvmChainId
|
|
58
|
+
? KvmTokenAddress
|
|
59
|
+
: TChainId extends SvmChainId
|
|
60
|
+
? SvmAddress
|
|
61
|
+
: TChainId extends StellarChainId
|
|
62
|
+
? StellarAddress
|
|
63
|
+
: never
|
|
64
|
+
|
|
65
|
+
export type IDFor<
|
|
66
|
+
TChainId extends EvmChainId | SvmChainId,
|
|
67
|
+
TIncludeNative extends boolean = false,
|
|
68
|
+
> = TChainId extends EvmChainId
|
|
69
|
+
? EvmID<TIncludeNative>
|
|
30
70
|
: TChainId extends SvmChainId
|
|
31
|
-
?
|
|
71
|
+
? SvmID<TIncludeNative>
|
|
32
72
|
: never
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest'
|
|
2
|
+
import { getChainIdAddressFromId } from './id.js'
|
|
3
|
+
|
|
4
|
+
describe('getChainIdAddressFromId', () => {
|
|
5
|
+
it('parses MVM addresses containing colons', () => {
|
|
6
|
+
const id = '-1:0x1::module::token'
|
|
7
|
+
|
|
8
|
+
expect(getChainIdAddressFromId(id)).toEqual({
|
|
9
|
+
chainId: -1,
|
|
10
|
+
address: '0x1::module::token',
|
|
11
|
+
})
|
|
12
|
+
})
|
|
13
|
+
})
|
package/generic/utils/id.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { nativeAddress } from '../../evm/config/simple-constants.js'
|
|
2
|
-
import { isKvmTokenAddress } from '../../kvm/currency/token.js'
|
|
3
|
-
import { isSvmAddress } from '../../svm/currency/token.js'
|
|
4
1
|
import type { ChainId } from '../chain/chains.js'
|
|
2
|
+
import type { AddressFor } from '../types/for-chain.js'
|
|
5
3
|
import type { ID } from '../types/id.js'
|
|
4
|
+
import { getNativeAddress } from './native-address.js'
|
|
5
|
+
import { normalizeAddress } from './normalize-address.js'
|
|
6
6
|
|
|
7
7
|
export function getChainIdAddressFromId<
|
|
8
8
|
TChainId extends ChainId,
|
|
@@ -13,30 +13,32 @@ export function getChainIdAddressFromId<
|
|
|
13
13
|
chainId: TChainId
|
|
14
14
|
address: TAddress
|
|
15
15
|
} {
|
|
16
|
-
const
|
|
16
|
+
const separatorIndex = id.indexOf(':')
|
|
17
17
|
|
|
18
|
-
if (
|
|
18
|
+
if (separatorIndex === -1) {
|
|
19
19
|
throw new Error(
|
|
20
20
|
`Invalid ID format: ${id}. Expected format is "chainId:address".`,
|
|
21
21
|
)
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
const chainId = +id.slice(0, separatorIndex) as TChainId
|
|
25
|
+
const address = id.slice(separatorIndex + 1) as TAddress
|
|
26
|
+
|
|
24
27
|
if (!chainId || !address) {
|
|
25
28
|
throw new Error(
|
|
26
29
|
`Invalid ID format: ${id}. Expected format is "chainId:address".`,
|
|
27
30
|
)
|
|
28
31
|
}
|
|
29
32
|
|
|
30
|
-
return { chainId
|
|
33
|
+
return { chainId, address }
|
|
31
34
|
}
|
|
32
35
|
|
|
33
36
|
export function getIdFromChainIdAddress<
|
|
34
37
|
TChainId extends ChainId,
|
|
35
|
-
TAddress extends string,
|
|
36
38
|
TTranslateNative extends boolean = false,
|
|
37
39
|
>(
|
|
38
40
|
chainId: TChainId,
|
|
39
|
-
address:
|
|
41
|
+
address: AddressFor<TChainId>,
|
|
40
42
|
options: { translateNative?: TTranslateNative } = {},
|
|
41
43
|
) {
|
|
42
44
|
if (!chainId || !address) {
|
|
@@ -45,16 +47,13 @@ export function getIdFromChainIdAddress<
|
|
|
45
47
|
)
|
|
46
48
|
}
|
|
47
49
|
|
|
48
|
-
|
|
49
|
-
if (!isKvmTokenAddress(address) && !isSvmAddress(address)) {
|
|
50
|
-
address = address.toLowerCase() as TAddress
|
|
51
|
-
}
|
|
50
|
+
address = normalizeAddress(chainId, address)
|
|
52
51
|
|
|
53
|
-
if (address ===
|
|
54
|
-
address = 'NATIVE' as
|
|
52
|
+
if (address === getNativeAddress(chainId) && options.translateNative) {
|
|
53
|
+
address = 'NATIVE' as AddressFor<TChainId>
|
|
55
54
|
}
|
|
56
55
|
|
|
57
56
|
return `${chainId}:${address}` as TTranslateNative extends true
|
|
58
|
-
? ID<TChainId,
|
|
59
|
-
: ID<TChainId,
|
|
57
|
+
? ID<TChainId, AddressFor<TChainId> | 'NATIVE'>
|
|
58
|
+
: ID<TChainId, AddressFor<TChainId>>
|
|
60
59
|
}
|
package/generic/utils/index.ts
CHANGED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { isEvmChainId } from '../../evm/chain/chains.js'
|
|
2
|
+
import { evmNativeAddress } from '../../evm/config/simple-constants.js'
|
|
3
|
+
import { isKvmChainId } from '../../kvm/chain/chains.js'
|
|
4
|
+
import { kvmNativeAddress } from '../../kvm/config/simple-constants.js'
|
|
5
|
+
import { isMvmChainId } from '../../mvm/chain/chains.js'
|
|
6
|
+
import { mvmNativeAddress } from '../../mvm/config/simple-constants.js'
|
|
7
|
+
import { isStellarChainId } from '../../stellar/chain/chains.js'
|
|
8
|
+
import { stellarNativeAddress } from '../../stellar/config/simple-constants.js'
|
|
9
|
+
import { isSvmChainId } from '../../svm/chain/chains.js'
|
|
10
|
+
import { svmNativeAddress } from '../../svm/config/simple-constants.js'
|
|
11
|
+
import { isTvmChainId } from '../../tvm/chain/chains.js'
|
|
12
|
+
import { tvmNativeAddress } from '../../tvm/config/simple-constants.js'
|
|
13
|
+
import type { ChainId } from '../chain/chains.js'
|
|
14
|
+
import type { AddressFor } from '../types/for-chain.js'
|
|
15
|
+
import { assertNever } from './assert-never.js'
|
|
16
|
+
|
|
17
|
+
export function getNativeAddress<TChainId extends ChainId>(
|
|
18
|
+
chainId: TChainId,
|
|
19
|
+
): AddressFor<TChainId> {
|
|
20
|
+
if (isEvmChainId(chainId)) {
|
|
21
|
+
return evmNativeAddress as AddressFor<TChainId>
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (isMvmChainId(chainId)) {
|
|
25
|
+
return mvmNativeAddress as AddressFor<TChainId>
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (isTvmChainId(chainId)) {
|
|
29
|
+
return tvmNativeAddress as AddressFor<TChainId>
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (isKvmChainId(chainId)) {
|
|
33
|
+
return kvmNativeAddress as AddressFor<TChainId>
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (isSvmChainId(chainId)) {
|
|
37
|
+
return svmNativeAddress as AddressFor<TChainId>
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (isStellarChainId(chainId)) {
|
|
41
|
+
return stellarNativeAddress as AddressFor<TChainId>
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
assertNever(chainId, `getNativeAddress, unsupported chainId: ${chainId}`)
|
|
45
|
+
}
|