@shapeshiftoss/caip 4.0.1 → 5.1.0
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/README.md +43 -34
- package/dist/accountId/accountId.d.ts +16 -5
- package/dist/accountId/accountId.js +15 -14
- package/dist/adapters/banxa/index.js +3 -5
- package/dist/adapters/coincap/utils.d.ts +10 -10
- package/dist/adapters/coincap/utils.js +11 -57
- package/dist/adapters/coingecko/utils.d.ts +10 -10
- package/dist/adapters/coingecko/utils.js +11 -57
- package/dist/adapters/osmosis/utils.js +7 -7
- package/dist/adapters/yearn/utils.js +9 -5
- package/dist/assetId/assetId.d.ts +19 -16
- package/dist/assetId/assetId.js +69 -66
- package/dist/chainId/chainId.d.ts +7 -28
- package/dist/chainId/chainId.js +11 -222
- package/dist/constants.d.ts +42 -0
- package/dist/constants.js +64 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/typeGuards.d.ts +14 -0
- package/dist/typeGuards.js +48 -0
- package/dist/utils.d.ts +12 -11
- package/dist/utils.js +50 -22
- package/package.json +3 -3
package/dist/utils.d.ts
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { AccountId } from './accountId/accountId';
|
|
2
2
|
import { AssetId } from './assetId/assetId';
|
|
3
|
-
import { ChainId } from './chainId/chainId';
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const ethAssetId = "eip155:1/slip44:60";
|
|
6
|
-
export declare const cosmosAssetId = "cosmos:cosmoshub-4/slip44:118";
|
|
7
|
-
export declare const osmosisAssetId = "cosmos:osmosis-1/slip44:118";
|
|
8
|
-
export declare const ethChainId = "eip155:1";
|
|
9
|
-
export declare const btcChainId = "bip122:000000000019d6689c085ae165831e93";
|
|
10
|
-
export declare const cosmosChainId = "cosmos:cosmoshub-4";
|
|
11
|
-
export declare const osmosisChainId = "cosmos:osmosis-1";
|
|
3
|
+
import { ChainId, ChainNamespace, ChainReference } from './chainId/chainId';
|
|
4
|
+
export declare const parseAssetIdRegExp: RegExp;
|
|
12
5
|
export declare const chainIdToAssetId: Record<ChainId, AssetId>;
|
|
13
|
-
export declare const assetIdToChainId: (assetId: AssetId) => string;
|
|
14
6
|
export declare const accountIdToChainId: (accountId: AccountId) => ChainId;
|
|
15
7
|
export declare const accountIdToSpecifier: (accountId: AccountId) => string;
|
|
16
|
-
export declare const getChainReferenceFromChainId: (chainId: ChainId) => import("./chainId/chainId").ChainReference;
|
|
17
8
|
export declare const chainIdToFeeAssetId: (chainId: ChainId) => AssetId;
|
|
18
9
|
export declare const getFeeAssetIdFromAssetId: (assetId: AssetId) => AssetId | undefined;
|
|
10
|
+
export declare const isValidChainPartsPair: (chainNamespace: ChainNamespace, chainReference: ChainReference) => boolean;
|
|
11
|
+
export declare const makeBtcData: () => {
|
|
12
|
+
[x: string]: string;
|
|
13
|
+
};
|
|
14
|
+
export declare const makeCosmosHubData: () => {
|
|
15
|
+
[x: string]: string;
|
|
16
|
+
};
|
|
17
|
+
export declare const makeOsmosisData: () => {
|
|
18
|
+
[x: string]: string;
|
|
19
|
+
};
|
package/dist/utils.js
CHANGED
|
@@ -1,39 +1,67 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.makeOsmosisData = exports.makeCosmosHubData = exports.makeBtcData = exports.isValidChainPartsPair = exports.getFeeAssetIdFromAssetId = exports.chainIdToFeeAssetId = exports.accountIdToSpecifier = exports.accountIdToChainId = exports.chainIdToAssetId = exports.parseAssetIdRegExp = void 0;
|
|
4
4
|
const accountId_1 = require("./accountId/accountId");
|
|
5
5
|
const assetId_1 = require("./assetId/assetId");
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
exports.
|
|
9
|
-
exports.cosmosAssetId = 'cosmos:cosmoshub-4/slip44:118';
|
|
10
|
-
exports.osmosisAssetId = 'cosmos:osmosis-1/slip44:118';
|
|
11
|
-
exports.ethChainId = 'eip155:1';
|
|
12
|
-
exports.btcChainId = 'bip122:000000000019d6689c085ae165831e93';
|
|
13
|
-
exports.cosmosChainId = 'cosmos:cosmoshub-4';
|
|
14
|
-
exports.osmosisChainId = 'cosmos:osmosis-1';
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
// https://regex101.com/r/f0xGqP/2
|
|
8
|
+
exports.parseAssetIdRegExp = /(?<chainNamespace>[-a-z\d]{3,8}):(?<chainReference>[-a-zA-Z\d]{1,32})\/(?<assetNamespace>[-a-z\d]{3,8}):(?<assetReference>[-a-zA-Z\d]+)/;
|
|
15
9
|
// TODO(ryankk): this will be removed and replaced with something like `toAssetId(fromChainId(chainId))`
|
|
16
10
|
// when `fromChainId` supports returning ChainNamespace and ChainReference.
|
|
17
11
|
exports.chainIdToAssetId = {
|
|
18
|
-
[
|
|
19
|
-
[
|
|
20
|
-
[
|
|
21
|
-
[
|
|
12
|
+
[constants_1.ethChainId]: constants_1.ethAssetId,
|
|
13
|
+
[constants_1.btcChainId]: constants_1.btcAssetId,
|
|
14
|
+
[constants_1.cosmosChainId]: constants_1.cosmosAssetId,
|
|
15
|
+
[constants_1.osmosisChainId]: constants_1.osmosisAssetId
|
|
22
16
|
};
|
|
23
|
-
const assetIdToChainId = (assetId) => {
|
|
24
|
-
const { chain, network } = (0, assetId_1.fromAssetId)(assetId);
|
|
25
|
-
return (0, chainId_1.toChainId)({ chain, network });
|
|
26
|
-
};
|
|
27
|
-
exports.assetIdToChainId = assetIdToChainId;
|
|
28
17
|
const accountIdToChainId = (accountId) => (0, accountId_1.fromAccountId)(accountId).chainId;
|
|
29
18
|
exports.accountIdToChainId = accountIdToChainId;
|
|
30
19
|
const accountIdToSpecifier = (accountId) => (0, accountId_1.fromAccountId)(accountId).account;
|
|
31
20
|
exports.accountIdToSpecifier = accountIdToSpecifier;
|
|
32
|
-
const getChainReferenceFromChainId = (chainId) => chainId_1.networkTypeToChainReference[(0, chainId_1.fromChainId)(chainId).network];
|
|
33
|
-
exports.getChainReferenceFromChainId = getChainReferenceFromChainId;
|
|
34
21
|
const chainIdToFeeAssetId = (chainId) => exports.chainIdToAssetId[chainId];
|
|
35
22
|
exports.chainIdToFeeAssetId = chainIdToFeeAssetId;
|
|
36
23
|
// We make the assumption here that the fee assetIds are in `chainIdToAssetId` for each
|
|
37
24
|
// chain we support.
|
|
38
|
-
const getFeeAssetIdFromAssetId = (assetId) =>
|
|
25
|
+
const getFeeAssetIdFromAssetId = (assetId) => {
|
|
26
|
+
const { chainId } = (0, assetId_1.fromAssetId)(assetId);
|
|
27
|
+
return exports.chainIdToAssetId[chainId];
|
|
28
|
+
};
|
|
39
29
|
exports.getFeeAssetIdFromAssetId = getFeeAssetIdFromAssetId;
|
|
30
|
+
const isValidChainPartsPair = (chainNamespace, chainReference) => { var _a; return ((_a = constants_1.VALID_CHAIN_IDS[chainNamespace]) === null || _a === void 0 ? void 0 : _a.includes(chainReference)) || false; };
|
|
31
|
+
exports.isValidChainPartsPair = isValidChainPartsPair;
|
|
32
|
+
const makeBtcData = () => {
|
|
33
|
+
const chainNamespace = constants_1.CHAIN_NAMESPACE.Bitcoin;
|
|
34
|
+
const chainReference = constants_1.CHAIN_REFERENCE.BitcoinMainnet;
|
|
35
|
+
const assetId = (0, assetId_1.toAssetId)({
|
|
36
|
+
chainNamespace,
|
|
37
|
+
chainReference,
|
|
38
|
+
assetNamespace: 'slip44',
|
|
39
|
+
assetReference: constants_1.ASSET_REFERENCE.Bitcoin
|
|
40
|
+
});
|
|
41
|
+
return { [assetId]: 'bitcoin' };
|
|
42
|
+
};
|
|
43
|
+
exports.makeBtcData = makeBtcData;
|
|
44
|
+
const makeCosmosHubData = () => {
|
|
45
|
+
const chainNamespace = constants_1.CHAIN_NAMESPACE.Cosmos;
|
|
46
|
+
const chainReference = constants_1.CHAIN_REFERENCE.CosmosHubMainnet;
|
|
47
|
+
const assetId = (0, assetId_1.toAssetId)({
|
|
48
|
+
chainNamespace,
|
|
49
|
+
chainReference,
|
|
50
|
+
assetNamespace: 'slip44',
|
|
51
|
+
assetReference: constants_1.ASSET_REFERENCE.Cosmos
|
|
52
|
+
});
|
|
53
|
+
return { [assetId]: 'cosmos' };
|
|
54
|
+
};
|
|
55
|
+
exports.makeCosmosHubData = makeCosmosHubData;
|
|
56
|
+
const makeOsmosisData = () => {
|
|
57
|
+
const chainNamespace = constants_1.CHAIN_NAMESPACE.Cosmos;
|
|
58
|
+
const chainReference = constants_1.CHAIN_REFERENCE.OsmosisMainnet;
|
|
59
|
+
const assetId = (0, assetId_1.toAssetId)({
|
|
60
|
+
chainNamespace,
|
|
61
|
+
chainReference,
|
|
62
|
+
assetNamespace: 'slip44',
|
|
63
|
+
assetReference: constants_1.ASSET_REFERENCE.Osmosis
|
|
64
|
+
});
|
|
65
|
+
return { [assetId]: 'osmosis' };
|
|
66
|
+
};
|
|
67
|
+
exports.makeOsmosisData = makeOsmosisData;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapeshiftoss/caip",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "CAIP Implementation",
|
|
5
5
|
"homepage": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"type-check": "tsc --project ./tsconfig.build.json --noEmit"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
|
-
"@shapeshiftoss/types": "3.1
|
|
34
|
+
"@shapeshiftoss/types": "4.3.1"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@shapeshiftoss/types": "3.1
|
|
37
|
+
"@shapeshiftoss/types": "4.3.1",
|
|
38
38
|
"@yfi/sdk": "^1.0.30",
|
|
39
39
|
"axios": "^0.26.1",
|
|
40
40
|
"ts-node": "^10.7.0"
|