@snowbridge/base-types 0.1.64
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 +4 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/package.json +30 -0
- package/src/index.ts +107 -0
- package/tsconfig.json +26 -0
package/README.md
ADDED
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
export type AccountType = "AccountId20" | "AccountId32";
|
|
2
|
+
export interface XC20TokenMap {
|
|
3
|
+
[xc20: string]: string;
|
|
4
|
+
}
|
|
5
|
+
export type ERC20Metadata = {
|
|
6
|
+
token: string;
|
|
7
|
+
name: string;
|
|
8
|
+
symbol: string;
|
|
9
|
+
decimals: number;
|
|
10
|
+
foreignId?: string;
|
|
11
|
+
};
|
|
12
|
+
export interface ERC20MetadataMap {
|
|
13
|
+
[token: string]: ERC20Metadata;
|
|
14
|
+
}
|
|
15
|
+
export type EthereumChain = {
|
|
16
|
+
chainId: number;
|
|
17
|
+
id: string;
|
|
18
|
+
evmParachainId?: number;
|
|
19
|
+
assets: ERC20MetadataMap;
|
|
20
|
+
precompile?: `0x${string}`;
|
|
21
|
+
xcDOT?: string;
|
|
22
|
+
xcTokenMap?: XC20TokenMap;
|
|
23
|
+
};
|
|
24
|
+
export type ChainProperties = {
|
|
25
|
+
tokenSymbols: string;
|
|
26
|
+
tokenDecimals: number;
|
|
27
|
+
ss58Format: number;
|
|
28
|
+
isEthereum: boolean;
|
|
29
|
+
accountType: AccountType;
|
|
30
|
+
evmChainId?: number;
|
|
31
|
+
name: string;
|
|
32
|
+
specName: string;
|
|
33
|
+
specVersion: number;
|
|
34
|
+
};
|
|
35
|
+
export type Asset = {
|
|
36
|
+
token: string;
|
|
37
|
+
name: string;
|
|
38
|
+
minimumBalance: bigint;
|
|
39
|
+
symbol: string;
|
|
40
|
+
decimals: number;
|
|
41
|
+
isSufficient: boolean;
|
|
42
|
+
xc20?: string;
|
|
43
|
+
location?: any;
|
|
44
|
+
locationOnAH?: any;
|
|
45
|
+
locationOnEthereum?: any;
|
|
46
|
+
assetId?: string;
|
|
47
|
+
foreignId?: string;
|
|
48
|
+
};
|
|
49
|
+
export interface AssetMap {
|
|
50
|
+
[token: string]: Asset;
|
|
51
|
+
}
|
|
52
|
+
export type Parachain = {
|
|
53
|
+
parachainId: number;
|
|
54
|
+
info: ChainProperties;
|
|
55
|
+
features: {
|
|
56
|
+
hasPalletXcm: boolean;
|
|
57
|
+
hasDryRunApi: boolean;
|
|
58
|
+
hasTxPaymentApi: boolean;
|
|
59
|
+
hasDryRunRpc: boolean;
|
|
60
|
+
hasDotBalance: boolean;
|
|
61
|
+
};
|
|
62
|
+
assets: AssetMap;
|
|
63
|
+
estimatedExecutionFeeDOT: bigint;
|
|
64
|
+
estimatedDeliveryFeeDOT: bigint;
|
|
65
|
+
xcDOT?: string;
|
|
66
|
+
};
|
|
67
|
+
export interface ParachainMap {
|
|
68
|
+
[paraId: string]: Parachain;
|
|
69
|
+
}
|
|
70
|
+
export type KusamaConfig = {
|
|
71
|
+
assetHubParaId: number;
|
|
72
|
+
bridgeHubParaId: number;
|
|
73
|
+
parachains: ParachainMap;
|
|
74
|
+
};
|
|
75
|
+
export type AssetRegistry = {
|
|
76
|
+
timestamp: string;
|
|
77
|
+
environment: string;
|
|
78
|
+
gatewayAddress: string;
|
|
79
|
+
ethChainId: number;
|
|
80
|
+
assetHubParaId: number;
|
|
81
|
+
bridgeHubParaId: number;
|
|
82
|
+
relaychain: ChainProperties;
|
|
83
|
+
bridgeHub: ChainProperties;
|
|
84
|
+
ethereumChains: {
|
|
85
|
+
[chainId: string]: EthereumChain;
|
|
86
|
+
};
|
|
87
|
+
parachains: ParachainMap;
|
|
88
|
+
kusama: KusamaConfig | undefined;
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@snowbridge/base-types",
|
|
3
|
+
"version": "0.1.64",
|
|
4
|
+
"description": "Snowbridge Base Types",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/Snowfork/snowbridge.git",
|
|
9
|
+
"directory": "web/packages/base-types"
|
|
10
|
+
},
|
|
11
|
+
"main": "dist/index.js",
|
|
12
|
+
"types": "dist/index.d.ts",
|
|
13
|
+
"devDependencies": {
|
|
14
|
+
"@types/node": "^18.19.31",
|
|
15
|
+
"@typescript-eslint/eslint-plugin": "^5.62.0",
|
|
16
|
+
"@typescript-eslint/parser": "^5.62.0",
|
|
17
|
+
"eslint": "^8.57.0",
|
|
18
|
+
"eslint-config-prettier": "^8.10.0",
|
|
19
|
+
"prettier": "^2.8.8",
|
|
20
|
+
"ts-node": "^10.9.2",
|
|
21
|
+
"tsconfig-paths": "^4.2.0",
|
|
22
|
+
"typescript": "^5.4.5"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "tsc --build --force",
|
|
27
|
+
"lint": "eslint .",
|
|
28
|
+
"format": "prettier src --write"
|
|
29
|
+
}
|
|
30
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
export type AccountType = "AccountId20" | "AccountId32";
|
|
2
|
+
|
|
3
|
+
export interface XC20TokenMap {
|
|
4
|
+
[xc20: string]: string;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export type ERC20Metadata = {
|
|
8
|
+
token: string;
|
|
9
|
+
name: string;
|
|
10
|
+
symbol: string;
|
|
11
|
+
decimals: number;
|
|
12
|
+
foreignId?: string;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export interface ERC20MetadataMap {
|
|
16
|
+
[token: string]: ERC20Metadata;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export type EthereumChain = {
|
|
20
|
+
chainId: number;
|
|
21
|
+
id: string;
|
|
22
|
+
evmParachainId?: number;
|
|
23
|
+
assets: ERC20MetadataMap;
|
|
24
|
+
precompile?: `0x${string}`;
|
|
25
|
+
xcDOT?: string;
|
|
26
|
+
xcTokenMap?: XC20TokenMap;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export type ChainProperties = {
|
|
30
|
+
tokenSymbols: string;
|
|
31
|
+
tokenDecimals: number;
|
|
32
|
+
ss58Format: number;
|
|
33
|
+
isEthereum: boolean;
|
|
34
|
+
accountType: AccountType;
|
|
35
|
+
evmChainId?: number;
|
|
36
|
+
name: string;
|
|
37
|
+
specName: string;
|
|
38
|
+
specVersion: number;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export type Asset = {
|
|
42
|
+
token: string;
|
|
43
|
+
name: string;
|
|
44
|
+
minimumBalance: bigint;
|
|
45
|
+
symbol: string;
|
|
46
|
+
decimals: number;
|
|
47
|
+
isSufficient: boolean;
|
|
48
|
+
xc20?: string;
|
|
49
|
+
// Location on source Parachain
|
|
50
|
+
location?: any;
|
|
51
|
+
// Location reanchored on AH
|
|
52
|
+
locationOnAH?: any;
|
|
53
|
+
// Location reanchored on Ethereum
|
|
54
|
+
locationOnEthereum?: any;
|
|
55
|
+
// For chains that use `Assets` pallet to manage local assets
|
|
56
|
+
// the asset_id is normally represented as u32, but on Moonbeam,
|
|
57
|
+
// it is u128, so use string here to avoid overflow
|
|
58
|
+
assetId?: string;
|
|
59
|
+
// Identifier of the PNA
|
|
60
|
+
foreignId?: string;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export interface AssetMap {
|
|
64
|
+
[token: string]: Asset;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export type Parachain = {
|
|
68
|
+
parachainId: number;
|
|
69
|
+
info: ChainProperties;
|
|
70
|
+
features: {
|
|
71
|
+
hasPalletXcm: boolean;
|
|
72
|
+
hasDryRunApi: boolean;
|
|
73
|
+
hasTxPaymentApi: boolean;
|
|
74
|
+
hasDryRunRpc: boolean;
|
|
75
|
+
hasDotBalance: boolean;
|
|
76
|
+
};
|
|
77
|
+
assets: AssetMap;
|
|
78
|
+
estimatedExecutionFeeDOT: bigint;
|
|
79
|
+
estimatedDeliveryFeeDOT: bigint;
|
|
80
|
+
xcDOT?: string;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export interface ParachainMap {
|
|
84
|
+
[paraId: string]: Parachain;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export type KusamaConfig = {
|
|
88
|
+
assetHubParaId: number;
|
|
89
|
+
bridgeHubParaId: number;
|
|
90
|
+
parachains: ParachainMap;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export type AssetRegistry = {
|
|
94
|
+
timestamp: string;
|
|
95
|
+
environment: string;
|
|
96
|
+
gatewayAddress: string;
|
|
97
|
+
ethChainId: number;
|
|
98
|
+
assetHubParaId: number;
|
|
99
|
+
bridgeHubParaId: number;
|
|
100
|
+
relaychain: ChainProperties;
|
|
101
|
+
bridgeHub: ChainProperties;
|
|
102
|
+
ethereumChains: {
|
|
103
|
+
[chainId: string]: EthereumChain;
|
|
104
|
+
};
|
|
105
|
+
parachains: ParachainMap;
|
|
106
|
+
kusama: KusamaConfig | undefined;
|
|
107
|
+
};
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"composite": true,
|
|
4
|
+
"target": "es2021",
|
|
5
|
+
"module": "commonjs",
|
|
6
|
+
"strict": true,
|
|
7
|
+
"resolveJsonModule": true,
|
|
8
|
+
"esModuleInterop": true,
|
|
9
|
+
"forceConsistentCasingInFileNames": true,
|
|
10
|
+
"outDir": "dist",
|
|
11
|
+
"allowSyntheticDefaultImports": true,
|
|
12
|
+
"declaration": true,
|
|
13
|
+
"declarationMap": true,
|
|
14
|
+
"baseUrl": ".",
|
|
15
|
+
"rootDir": "src",
|
|
16
|
+
"noEmitOnError": true,
|
|
17
|
+
"skipLibCheck": true,
|
|
18
|
+
"allowJs": true
|
|
19
|
+
},
|
|
20
|
+
"ts-node": {
|
|
21
|
+
"require": ["tsconfig-paths/base-types"]
|
|
22
|
+
},
|
|
23
|
+
"exclude": ["node_modules", "dist"],
|
|
24
|
+
"include": ["src/**/*.ts", "src/**/*.json"],
|
|
25
|
+
"references": []
|
|
26
|
+
}
|