@chainflip/utils 0.8.2 → 0.8.3

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.
@@ -23,6 +23,7 @@ __export(chainflip_exports, {
23
23
  addressTypes: () => addressTypes,
24
24
  assetConstants: () => assetConstants,
25
25
  assetContractId: () => assetContractId,
26
+ assetSymbols: () => assetSymbols,
26
27
  baseChainflipAssets: () => baseChainflipAssets,
27
28
  chainConstants: () => chainConstants,
28
29
  chainContractId: () => chainContractId,
@@ -59,7 +60,8 @@ var chainflipAssets = [
59
60
  "HubUsdt",
60
61
  "HubUsdc"
61
62
  ];
62
- var rpcAssets = ["USDC", "USDT", "FLIP", "DOT", "ETH", "BTC", "SOL"];
63
+ var assetSymbols = ["USDC", "USDT", "FLIP", "DOT", "ETH", "BTC", "SOL"];
64
+ var rpcAssets = assetSymbols;
63
65
  var baseChainflipAssets = chainflipAssets.filter(
64
66
  (asset) => asset !== "Usdc"
65
67
  );
@@ -75,113 +77,132 @@ var chainflipNetworks = ["backspin", "sisyphos", "perseverance", "mainnet"];
75
77
  var addressTypes = ["Eth", "Btc", "Dot", "Arb", "Sol", "Hub"];
76
78
  function readAssetValue(map, asset) {
77
79
  const chainValues = map[assetConstants[asset].chain];
78
- return chainValues[assetConstants[asset].rpcAsset];
80
+ return chainValues[assetConstants[asset].symbol];
79
81
  }
80
82
  var assetConstants = {
81
83
  Eth: {
82
84
  chain: "Ethereum",
85
+ symbol: "ETH",
83
86
  rpcAsset: "ETH",
84
87
  decimals: 18
85
88
  },
86
89
  Flip: {
87
90
  chain: "Ethereum",
91
+ symbol: "FLIP",
88
92
  rpcAsset: "FLIP",
89
93
  decimals: 18
90
94
  },
91
95
  Usdc: {
92
96
  chain: "Ethereum",
97
+ symbol: "USDC",
93
98
  rpcAsset: "USDC",
94
99
  decimals: 6
95
100
  },
96
101
  Usdt: {
97
102
  chain: "Ethereum",
103
+ symbol: "USDT",
98
104
  rpcAsset: "USDT",
99
105
  decimals: 6
100
106
  },
101
107
  Dot: {
102
108
  chain: "Polkadot",
109
+ symbol: "DOT",
103
110
  rpcAsset: "DOT",
104
111
  decimals: 10
105
112
  },
106
113
  Btc: {
107
114
  chain: "Bitcoin",
115
+ symbol: "BTC",
108
116
  rpcAsset: "BTC",
109
117
  decimals: 8
110
118
  },
111
119
  ArbUsdc: {
112
120
  chain: "Arbitrum",
121
+ symbol: "USDC",
113
122
  rpcAsset: "USDC",
114
123
  decimals: 6
115
124
  },
116
125
  ArbEth: {
117
126
  chain: "Arbitrum",
127
+ symbol: "ETH",
118
128
  rpcAsset: "ETH",
119
129
  decimals: 18
120
130
  },
121
131
  Sol: {
122
132
  chain: "Solana",
133
+ symbol: "SOL",
123
134
  rpcAsset: "SOL",
124
135
  decimals: 9
125
136
  },
126
137
  SolUsdc: {
127
138
  chain: "Solana",
139
+ symbol: "USDC",
128
140
  rpcAsset: "USDC",
129
141
  decimals: 6
130
142
  },
131
143
  HubDot: {
132
144
  chain: "Assethub",
145
+ symbol: "DOT",
133
146
  rpcAsset: "DOT",
134
147
  decimals: 10
135
148
  },
136
149
  HubUsdc: {
137
150
  chain: "Assethub",
151
+ symbol: "USDC",
138
152
  rpcAsset: "USDC",
139
153
  decimals: 6
140
154
  },
141
155
  HubUsdt: {
142
156
  chain: "Assethub",
157
+ symbol: "USDT",
143
158
  rpcAsset: "USDT",
144
159
  decimals: 6
145
160
  }
146
161
  };
147
162
  var chainConstants = {
148
163
  Ethereum: {
149
- assets: ["Eth", "Flip", "Usdc", "Usdt"],
164
+ chainflipAssets: ["Eth", "Flip", "Usdc", "Usdt"],
165
+ assets: ["ETH", "FLIP", "USDC", "USDT"],
150
166
  rpcAssets: ["ETH", "FLIP", "USDC", "USDT"],
151
167
  gasAsset: "Eth",
152
168
  addressType: "Eth",
153
169
  blockTimeSeconds: 12
154
170
  },
155
171
  Polkadot: {
156
- assets: ["Dot"],
172
+ chainflipAssets: ["Dot"],
173
+ assets: ["DOT"],
157
174
  rpcAssets: ["DOT"],
158
175
  gasAsset: "Dot",
159
176
  addressType: "Dot",
160
177
  blockTimeSeconds: 6
161
178
  },
162
179
  Bitcoin: {
163
- assets: ["Btc"],
180
+ chainflipAssets: ["Btc"],
181
+ assets: ["BTC"],
164
182
  rpcAssets: ["BTC"],
165
183
  gasAsset: "Btc",
166
184
  addressType: "Btc",
167
185
  blockTimeSeconds: 10 * 60
168
186
  },
169
187
  Arbitrum: {
170
- assets: ["ArbUsdc", "ArbEth"],
188
+ chainflipAssets: ["ArbUsdc", "ArbEth"],
189
+ assets: ["USDC", "ETH"],
171
190
  rpcAssets: ["USDC", "ETH"],
172
191
  gasAsset: "ArbEth",
173
192
  addressType: "Arb",
174
193
  blockTimeSeconds: 0.26
175
194
  },
176
195
  Solana: {
177
- assets: ["Sol", "SolUsdc"],
196
+ chainflipAssets: ["Sol", "SolUsdc"],
197
+ assets: ["SOL", "USDC"],
178
198
  rpcAssets: ["SOL", "USDC"],
179
199
  gasAsset: "Sol",
180
200
  addressType: "Sol",
181
201
  blockTimeSeconds: 0.8
182
202
  },
183
203
  Assethub: {
184
- assets: ["HubDot", "HubUsdt", "HubUsdc"],
204
+ chainflipAssets: ["HubDot", "HubUsdt", "HubUsdc"],
205
+ assets: ["DOT", "USDT", "USDC"],
185
206
  rpcAssets: ["DOT", "USDT", "USDC"],
186
207
  gasAsset: "HubDot",
187
208
  addressType: "Hub",
@@ -229,7 +250,7 @@ var assetContractId = {
229
250
  function isValidAssetAndChain(assetAndChain) {
230
251
  const { asset, chain } = assetAndChain;
231
252
  if (!(chain in chainConstants)) return false;
232
- const validAssets = chainConstants[chain].rpcAssets;
253
+ const validAssets = chainConstants[chain].assets;
233
254
  return validAssets.includes(asset);
234
255
  }
235
256
  function getInternalAsset(asset, assert = true) {
@@ -285,6 +306,7 @@ function getInternalAssets({
285
306
  addressTypes,
286
307
  assetConstants,
287
308
  assetContractId,
309
+ assetSymbols,
288
310
  baseChainflipAssets,
289
311
  chainConstants,
290
312
  chainContractId,
@@ -1,7 +1,11 @@
1
1
  declare const chainflipAssets: readonly ["Usdc", "Usdt", "Flip", "Eth", "Dot", "Btc", "ArbUsdc", "ArbEth", "Sol", "SolUsdc", "HubDot", "HubUsdt", "HubUsdc"];
2
2
  type ChainflipAsset = (typeof chainflipAssets)[number];
3
+ declare const assetSymbols: readonly ["USDC", "USDT", "FLIP", "DOT", "ETH", "BTC", "SOL"];
4
+ /** @deprecated use `assetSymbols` instead */
3
5
  declare const rpcAssets: readonly ["USDC", "USDT", "FLIP", "DOT", "ETH", "BTC", "SOL"];
4
- type RpcAsset = (typeof rpcAssets)[number];
6
+ type AssetSymbol = (typeof assetSymbols)[number];
7
+ /** @deprecated use `AssetSymbol` instead */
8
+ type RpcAsset = AssetSymbol;
5
9
  type BaseChainflipAsset = Exclude<ChainflipAsset, 'Usdc'>;
6
10
  declare const baseChainflipAssets: BaseChainflipAsset[];
7
11
  declare const chainflipEvmChains: readonly ["Ethereum", "Arbitrum"];
@@ -15,12 +19,14 @@ type AddressType = (typeof addressTypes)[number];
15
19
  type AssetOfChain<C extends ChainflipChain> = (typeof chainConstants)[C]['assets'][number];
16
20
  type ChainAssetMap<T> = {
17
21
  [C in ChainflipChain]: {
18
- [A in (typeof assetConstants)[AssetOfChain<C>]['rpcAsset']]: T;
22
+ [A in AssetOfChain<C>]: T;
19
23
  };
20
24
  };
21
25
  type BaseChainAssetMap<T> = {
22
26
  [C in ChainflipChain]: {
23
- [A in (typeof assetConstants)[Exclude<AssetOfChain<C>, 'Usdc'>]['rpcAsset']]: T;
27
+ [A in BaseChainflipAsset as Extract<(typeof assetConstants)[A], {
28
+ chain: C;
29
+ }>['symbol']]: T;
24
30
  };
25
31
  };
26
32
  type AssetAndChain = {
@@ -29,9 +35,15 @@ type AssetAndChain = {
29
35
  asset: keyof ChainAssetMap<unknown>[C];
30
36
  };
31
37
  }[ChainflipChain];
38
+ type ChainMap<T> = {
39
+ [C in ChainflipChain]: T;
40
+ };
41
+ type InternalAssetMap<T> = {
42
+ [A in ChainflipAsset]: T;
43
+ };
32
44
  type UncheckedAssetAndChain = {
33
45
  chain: ChainflipChain;
34
- asset: RpcAsset;
46
+ asset: AssetSymbol;
35
47
  };
36
48
  declare function readAssetValue<T>(map: ChainAssetMap<T>, asset: ChainflipAsset | BaseChainflipAsset): T;
37
49
  declare function readAssetValue<T>(map: BaseChainAssetMap<T>, asset: BaseChainflipAsset): T;
@@ -39,147 +51,166 @@ declare function readAssetValue<T>(map: ChainAssetMap<T> | BaseChainAssetMap<T>,
39
51
  declare const assetConstants: {
40
52
  readonly Eth: {
41
53
  readonly chain: "Ethereum";
54
+ readonly symbol: "ETH";
42
55
  readonly rpcAsset: "ETH";
43
56
  readonly decimals: 18;
44
57
  };
45
58
  readonly Flip: {
46
59
  readonly chain: "Ethereum";
60
+ readonly symbol: "FLIP";
47
61
  readonly rpcAsset: "FLIP";
48
62
  readonly decimals: 18;
49
63
  };
50
64
  readonly Usdc: {
51
65
  readonly chain: "Ethereum";
66
+ readonly symbol: "USDC";
52
67
  readonly rpcAsset: "USDC";
53
68
  readonly decimals: 6;
54
69
  };
55
70
  readonly Usdt: {
56
71
  readonly chain: "Ethereum";
72
+ readonly symbol: "USDT";
57
73
  readonly rpcAsset: "USDT";
58
74
  readonly decimals: 6;
59
75
  };
60
76
  readonly Dot: {
61
77
  readonly chain: "Polkadot";
78
+ readonly symbol: "DOT";
62
79
  readonly rpcAsset: "DOT";
63
80
  readonly decimals: 10;
64
81
  };
65
82
  readonly Btc: {
66
83
  readonly chain: "Bitcoin";
84
+ readonly symbol: "BTC";
67
85
  readonly rpcAsset: "BTC";
68
86
  readonly decimals: 8;
69
87
  };
70
88
  readonly ArbUsdc: {
71
89
  readonly chain: "Arbitrum";
90
+ readonly symbol: "USDC";
72
91
  readonly rpcAsset: "USDC";
73
92
  readonly decimals: 6;
74
93
  };
75
94
  readonly ArbEth: {
76
95
  readonly chain: "Arbitrum";
96
+ readonly symbol: "ETH";
77
97
  readonly rpcAsset: "ETH";
78
98
  readonly decimals: 18;
79
99
  };
80
100
  readonly Sol: {
81
101
  readonly chain: "Solana";
102
+ readonly symbol: "SOL";
82
103
  readonly rpcAsset: "SOL";
83
104
  readonly decimals: 9;
84
105
  };
85
106
  readonly SolUsdc: {
86
107
  readonly chain: "Solana";
108
+ readonly symbol: "USDC";
87
109
  readonly rpcAsset: "USDC";
88
110
  readonly decimals: 6;
89
111
  };
90
112
  readonly HubDot: {
91
113
  readonly chain: "Assethub";
114
+ readonly symbol: "DOT";
92
115
  readonly rpcAsset: "DOT";
93
116
  readonly decimals: 10;
94
117
  };
95
118
  readonly HubUsdc: {
96
119
  readonly chain: "Assethub";
120
+ readonly symbol: "USDC";
97
121
  readonly rpcAsset: "USDC";
98
122
  readonly decimals: 6;
99
123
  };
100
124
  readonly HubUsdt: {
101
125
  readonly chain: "Assethub";
126
+ readonly symbol: "USDT";
102
127
  readonly rpcAsset: "USDT";
103
128
  readonly decimals: 6;
104
129
  };
105
130
  };
106
131
  declare const chainConstants: {
107
132
  readonly Ethereum: {
108
- readonly assets: ["Eth", "Flip", "Usdc", "Usdt"];
133
+ readonly chainflipAssets: ["Eth", "Flip", "Usdc", "Usdt"];
134
+ readonly assets: ["ETH", "FLIP", "USDC", "USDT"];
109
135
  readonly rpcAssets: ["ETH", "FLIP", "USDC", "USDT"];
110
136
  readonly gasAsset: "Eth";
111
137
  readonly addressType: "Eth";
112
138
  readonly blockTimeSeconds: 12;
113
139
  };
114
140
  readonly Polkadot: {
115
- readonly assets: ["Dot"];
141
+ readonly chainflipAssets: ["Dot"];
142
+ readonly assets: ["DOT"];
116
143
  readonly rpcAssets: ["DOT"];
117
144
  readonly gasAsset: "Dot";
118
145
  readonly addressType: "Dot";
119
146
  readonly blockTimeSeconds: 6;
120
147
  };
121
148
  readonly Bitcoin: {
122
- readonly assets: ["Btc"];
149
+ readonly chainflipAssets: ["Btc"];
150
+ readonly assets: ["BTC"];
123
151
  readonly rpcAssets: ["BTC"];
124
152
  readonly gasAsset: "Btc";
125
153
  readonly addressType: "Btc";
126
154
  readonly blockTimeSeconds: number;
127
155
  };
128
156
  readonly Arbitrum: {
129
- readonly assets: ["ArbUsdc", "ArbEth"];
157
+ readonly chainflipAssets: ["ArbUsdc", "ArbEth"];
158
+ readonly assets: ["USDC", "ETH"];
130
159
  readonly rpcAssets: ["USDC", "ETH"];
131
160
  readonly gasAsset: "ArbEth";
132
161
  readonly addressType: "Arb";
133
162
  readonly blockTimeSeconds: 0.26;
134
163
  };
135
164
  readonly Solana: {
136
- readonly assets: ["Sol", "SolUsdc"];
165
+ readonly chainflipAssets: ["Sol", "SolUsdc"];
166
+ readonly assets: ["SOL", "USDC"];
137
167
  readonly rpcAssets: ["SOL", "USDC"];
138
168
  readonly gasAsset: "Sol";
139
169
  readonly addressType: "Sol";
140
170
  readonly blockTimeSeconds: 0.8;
141
171
  };
142
172
  readonly Assethub: {
143
- readonly assets: ["HubDot", "HubUsdt", "HubUsdc"];
173
+ readonly chainflipAssets: ["HubDot", "HubUsdt", "HubUsdc"];
174
+ readonly assets: ["DOT", "USDT", "USDC"];
144
175
  readonly rpcAssets: ["DOT", "USDT", "USDC"];
145
176
  readonly gasAsset: "HubDot";
146
177
  readonly addressType: "Hub";
147
178
  readonly blockTimeSeconds: 12;
148
179
  };
149
180
  };
150
- declare const internalAssetToRpcAsset: Record<ChainflipAsset, AssetAndChain>;
151
- declare const chainContractId: Record<ChainflipChain, number>;
152
- declare const assetContractId: Record<ChainflipAsset, number>;
181
+ declare const internalAssetToRpcAsset: InternalAssetMap<AssetAndChain>;
182
+ declare const chainContractId: ChainMap<number>;
183
+ declare const assetContractId: InternalAssetMap<number>;
153
184
  declare function isValidAssetAndChain(assetAndChain: UncheckedAssetAndChain): assetAndChain is AssetAndChain;
154
185
  declare function getInternalAsset(asset: UncheckedAssetAndChain): ChainflipAsset;
155
186
  declare function getInternalAsset(asset: UncheckedAssetAndChain, assert: true): ChainflipAsset;
156
187
  declare function getInternalAsset(asset: UncheckedAssetAndChain, assert: boolean): ChainflipAsset | null;
157
188
  declare function getInternalAssets(data: {
158
- srcAsset: RpcAsset;
189
+ srcAsset: AssetSymbol;
159
190
  srcChain: ChainflipChain;
160
- destAsset: RpcAsset;
191
+ destAsset: AssetSymbol;
161
192
  destChain: ChainflipChain;
162
193
  }): {
163
194
  srcAsset: ChainflipAsset;
164
195
  destAsset: ChainflipAsset;
165
196
  };
166
197
  declare function getInternalAssets(data: {
167
- srcAsset: RpcAsset;
198
+ srcAsset: AssetSymbol;
168
199
  srcChain: ChainflipChain;
169
- destAsset: RpcAsset;
200
+ destAsset: AssetSymbol;
170
201
  destChain: ChainflipChain;
171
202
  }, assert: true): {
172
203
  srcAsset: ChainflipAsset;
173
204
  destAsset: ChainflipAsset;
174
205
  };
175
206
  declare function getInternalAssets(data: {
176
- srcAsset: RpcAsset;
207
+ srcAsset: AssetSymbol;
177
208
  srcChain: ChainflipChain;
178
- destAsset: RpcAsset;
209
+ destAsset: AssetSymbol;
179
210
  destChain: ChainflipChain;
180
211
  }, assert: boolean): {
181
212
  srcAsset: ChainflipAsset | null;
182
213
  destAsset: ChainflipAsset | null;
183
214
  };
184
215
 
185
- export { type AddressType, type AssetAndChain, type AssetOfChain, type BaseChainAssetMap, type BaseChainflipAsset, type ChainAssetMap, type ChainflipAsset, type ChainflipChain, type ChainflipEvmChain, type ChainflipNetwork, type UncheckedAssetAndChain, addressTypes, assetConstants, assetContractId, baseChainflipAssets, chainConstants, chainContractId, chainflipAssets, chainflipChains, chainflipEvmChains, chainflipNetworks, getInternalAsset, getInternalAssets, internalAssetToRpcAsset, isValidAssetAndChain, readAssetValue, rpcAssets };
216
+ export { type AddressType, type AssetAndChain, type AssetOfChain, type AssetSymbol, type BaseChainAssetMap, type BaseChainflipAsset, type ChainAssetMap, type ChainMap, type ChainflipAsset, type ChainflipChain, type ChainflipEvmChain, type ChainflipNetwork, type InternalAssetMap, type RpcAsset, type UncheckedAssetAndChain, addressTypes, assetConstants, assetContractId, assetSymbols, baseChainflipAssets, chainConstants, chainContractId, chainflipAssets, chainflipChains, chainflipEvmChains, chainflipNetworks, getInternalAsset, getInternalAssets, internalAssetToRpcAsset, isValidAssetAndChain, readAssetValue, rpcAssets };
@@ -1,7 +1,11 @@
1
1
  declare const chainflipAssets: readonly ["Usdc", "Usdt", "Flip", "Eth", "Dot", "Btc", "ArbUsdc", "ArbEth", "Sol", "SolUsdc", "HubDot", "HubUsdt", "HubUsdc"];
2
2
  type ChainflipAsset = (typeof chainflipAssets)[number];
3
+ declare const assetSymbols: readonly ["USDC", "USDT", "FLIP", "DOT", "ETH", "BTC", "SOL"];
4
+ /** @deprecated use `assetSymbols` instead */
3
5
  declare const rpcAssets: readonly ["USDC", "USDT", "FLIP", "DOT", "ETH", "BTC", "SOL"];
4
- type RpcAsset = (typeof rpcAssets)[number];
6
+ type AssetSymbol = (typeof assetSymbols)[number];
7
+ /** @deprecated use `AssetSymbol` instead */
8
+ type RpcAsset = AssetSymbol;
5
9
  type BaseChainflipAsset = Exclude<ChainflipAsset, 'Usdc'>;
6
10
  declare const baseChainflipAssets: BaseChainflipAsset[];
7
11
  declare const chainflipEvmChains: readonly ["Ethereum", "Arbitrum"];
@@ -15,12 +19,14 @@ type AddressType = (typeof addressTypes)[number];
15
19
  type AssetOfChain<C extends ChainflipChain> = (typeof chainConstants)[C]['assets'][number];
16
20
  type ChainAssetMap<T> = {
17
21
  [C in ChainflipChain]: {
18
- [A in (typeof assetConstants)[AssetOfChain<C>]['rpcAsset']]: T;
22
+ [A in AssetOfChain<C>]: T;
19
23
  };
20
24
  };
21
25
  type BaseChainAssetMap<T> = {
22
26
  [C in ChainflipChain]: {
23
- [A in (typeof assetConstants)[Exclude<AssetOfChain<C>, 'Usdc'>]['rpcAsset']]: T;
27
+ [A in BaseChainflipAsset as Extract<(typeof assetConstants)[A], {
28
+ chain: C;
29
+ }>['symbol']]: T;
24
30
  };
25
31
  };
26
32
  type AssetAndChain = {
@@ -29,9 +35,15 @@ type AssetAndChain = {
29
35
  asset: keyof ChainAssetMap<unknown>[C];
30
36
  };
31
37
  }[ChainflipChain];
38
+ type ChainMap<T> = {
39
+ [C in ChainflipChain]: T;
40
+ };
41
+ type InternalAssetMap<T> = {
42
+ [A in ChainflipAsset]: T;
43
+ };
32
44
  type UncheckedAssetAndChain = {
33
45
  chain: ChainflipChain;
34
- asset: RpcAsset;
46
+ asset: AssetSymbol;
35
47
  };
36
48
  declare function readAssetValue<T>(map: ChainAssetMap<T>, asset: ChainflipAsset | BaseChainflipAsset): T;
37
49
  declare function readAssetValue<T>(map: BaseChainAssetMap<T>, asset: BaseChainflipAsset): T;
@@ -39,147 +51,166 @@ declare function readAssetValue<T>(map: ChainAssetMap<T> | BaseChainAssetMap<T>,
39
51
  declare const assetConstants: {
40
52
  readonly Eth: {
41
53
  readonly chain: "Ethereum";
54
+ readonly symbol: "ETH";
42
55
  readonly rpcAsset: "ETH";
43
56
  readonly decimals: 18;
44
57
  };
45
58
  readonly Flip: {
46
59
  readonly chain: "Ethereum";
60
+ readonly symbol: "FLIP";
47
61
  readonly rpcAsset: "FLIP";
48
62
  readonly decimals: 18;
49
63
  };
50
64
  readonly Usdc: {
51
65
  readonly chain: "Ethereum";
66
+ readonly symbol: "USDC";
52
67
  readonly rpcAsset: "USDC";
53
68
  readonly decimals: 6;
54
69
  };
55
70
  readonly Usdt: {
56
71
  readonly chain: "Ethereum";
72
+ readonly symbol: "USDT";
57
73
  readonly rpcAsset: "USDT";
58
74
  readonly decimals: 6;
59
75
  };
60
76
  readonly Dot: {
61
77
  readonly chain: "Polkadot";
78
+ readonly symbol: "DOT";
62
79
  readonly rpcAsset: "DOT";
63
80
  readonly decimals: 10;
64
81
  };
65
82
  readonly Btc: {
66
83
  readonly chain: "Bitcoin";
84
+ readonly symbol: "BTC";
67
85
  readonly rpcAsset: "BTC";
68
86
  readonly decimals: 8;
69
87
  };
70
88
  readonly ArbUsdc: {
71
89
  readonly chain: "Arbitrum";
90
+ readonly symbol: "USDC";
72
91
  readonly rpcAsset: "USDC";
73
92
  readonly decimals: 6;
74
93
  };
75
94
  readonly ArbEth: {
76
95
  readonly chain: "Arbitrum";
96
+ readonly symbol: "ETH";
77
97
  readonly rpcAsset: "ETH";
78
98
  readonly decimals: 18;
79
99
  };
80
100
  readonly Sol: {
81
101
  readonly chain: "Solana";
102
+ readonly symbol: "SOL";
82
103
  readonly rpcAsset: "SOL";
83
104
  readonly decimals: 9;
84
105
  };
85
106
  readonly SolUsdc: {
86
107
  readonly chain: "Solana";
108
+ readonly symbol: "USDC";
87
109
  readonly rpcAsset: "USDC";
88
110
  readonly decimals: 6;
89
111
  };
90
112
  readonly HubDot: {
91
113
  readonly chain: "Assethub";
114
+ readonly symbol: "DOT";
92
115
  readonly rpcAsset: "DOT";
93
116
  readonly decimals: 10;
94
117
  };
95
118
  readonly HubUsdc: {
96
119
  readonly chain: "Assethub";
120
+ readonly symbol: "USDC";
97
121
  readonly rpcAsset: "USDC";
98
122
  readonly decimals: 6;
99
123
  };
100
124
  readonly HubUsdt: {
101
125
  readonly chain: "Assethub";
126
+ readonly symbol: "USDT";
102
127
  readonly rpcAsset: "USDT";
103
128
  readonly decimals: 6;
104
129
  };
105
130
  };
106
131
  declare const chainConstants: {
107
132
  readonly Ethereum: {
108
- readonly assets: ["Eth", "Flip", "Usdc", "Usdt"];
133
+ readonly chainflipAssets: ["Eth", "Flip", "Usdc", "Usdt"];
134
+ readonly assets: ["ETH", "FLIP", "USDC", "USDT"];
109
135
  readonly rpcAssets: ["ETH", "FLIP", "USDC", "USDT"];
110
136
  readonly gasAsset: "Eth";
111
137
  readonly addressType: "Eth";
112
138
  readonly blockTimeSeconds: 12;
113
139
  };
114
140
  readonly Polkadot: {
115
- readonly assets: ["Dot"];
141
+ readonly chainflipAssets: ["Dot"];
142
+ readonly assets: ["DOT"];
116
143
  readonly rpcAssets: ["DOT"];
117
144
  readonly gasAsset: "Dot";
118
145
  readonly addressType: "Dot";
119
146
  readonly blockTimeSeconds: 6;
120
147
  };
121
148
  readonly Bitcoin: {
122
- readonly assets: ["Btc"];
149
+ readonly chainflipAssets: ["Btc"];
150
+ readonly assets: ["BTC"];
123
151
  readonly rpcAssets: ["BTC"];
124
152
  readonly gasAsset: "Btc";
125
153
  readonly addressType: "Btc";
126
154
  readonly blockTimeSeconds: number;
127
155
  };
128
156
  readonly Arbitrum: {
129
- readonly assets: ["ArbUsdc", "ArbEth"];
157
+ readonly chainflipAssets: ["ArbUsdc", "ArbEth"];
158
+ readonly assets: ["USDC", "ETH"];
130
159
  readonly rpcAssets: ["USDC", "ETH"];
131
160
  readonly gasAsset: "ArbEth";
132
161
  readonly addressType: "Arb";
133
162
  readonly blockTimeSeconds: 0.26;
134
163
  };
135
164
  readonly Solana: {
136
- readonly assets: ["Sol", "SolUsdc"];
165
+ readonly chainflipAssets: ["Sol", "SolUsdc"];
166
+ readonly assets: ["SOL", "USDC"];
137
167
  readonly rpcAssets: ["SOL", "USDC"];
138
168
  readonly gasAsset: "Sol";
139
169
  readonly addressType: "Sol";
140
170
  readonly blockTimeSeconds: 0.8;
141
171
  };
142
172
  readonly Assethub: {
143
- readonly assets: ["HubDot", "HubUsdt", "HubUsdc"];
173
+ readonly chainflipAssets: ["HubDot", "HubUsdt", "HubUsdc"];
174
+ readonly assets: ["DOT", "USDT", "USDC"];
144
175
  readonly rpcAssets: ["DOT", "USDT", "USDC"];
145
176
  readonly gasAsset: "HubDot";
146
177
  readonly addressType: "Hub";
147
178
  readonly blockTimeSeconds: 12;
148
179
  };
149
180
  };
150
- declare const internalAssetToRpcAsset: Record<ChainflipAsset, AssetAndChain>;
151
- declare const chainContractId: Record<ChainflipChain, number>;
152
- declare const assetContractId: Record<ChainflipAsset, number>;
181
+ declare const internalAssetToRpcAsset: InternalAssetMap<AssetAndChain>;
182
+ declare const chainContractId: ChainMap<number>;
183
+ declare const assetContractId: InternalAssetMap<number>;
153
184
  declare function isValidAssetAndChain(assetAndChain: UncheckedAssetAndChain): assetAndChain is AssetAndChain;
154
185
  declare function getInternalAsset(asset: UncheckedAssetAndChain): ChainflipAsset;
155
186
  declare function getInternalAsset(asset: UncheckedAssetAndChain, assert: true): ChainflipAsset;
156
187
  declare function getInternalAsset(asset: UncheckedAssetAndChain, assert: boolean): ChainflipAsset | null;
157
188
  declare function getInternalAssets(data: {
158
- srcAsset: RpcAsset;
189
+ srcAsset: AssetSymbol;
159
190
  srcChain: ChainflipChain;
160
- destAsset: RpcAsset;
191
+ destAsset: AssetSymbol;
161
192
  destChain: ChainflipChain;
162
193
  }): {
163
194
  srcAsset: ChainflipAsset;
164
195
  destAsset: ChainflipAsset;
165
196
  };
166
197
  declare function getInternalAssets(data: {
167
- srcAsset: RpcAsset;
198
+ srcAsset: AssetSymbol;
168
199
  srcChain: ChainflipChain;
169
- destAsset: RpcAsset;
200
+ destAsset: AssetSymbol;
170
201
  destChain: ChainflipChain;
171
202
  }, assert: true): {
172
203
  srcAsset: ChainflipAsset;
173
204
  destAsset: ChainflipAsset;
174
205
  };
175
206
  declare function getInternalAssets(data: {
176
- srcAsset: RpcAsset;
207
+ srcAsset: AssetSymbol;
177
208
  srcChain: ChainflipChain;
178
- destAsset: RpcAsset;
209
+ destAsset: AssetSymbol;
179
210
  destChain: ChainflipChain;
180
211
  }, assert: boolean): {
181
212
  srcAsset: ChainflipAsset | null;
182
213
  destAsset: ChainflipAsset | null;
183
214
  };
184
215
 
185
- export { type AddressType, type AssetAndChain, type AssetOfChain, type BaseChainAssetMap, type BaseChainflipAsset, type ChainAssetMap, type ChainflipAsset, type ChainflipChain, type ChainflipEvmChain, type ChainflipNetwork, type UncheckedAssetAndChain, addressTypes, assetConstants, assetContractId, baseChainflipAssets, chainConstants, chainContractId, chainflipAssets, chainflipChains, chainflipEvmChains, chainflipNetworks, getInternalAsset, getInternalAssets, internalAssetToRpcAsset, isValidAssetAndChain, readAssetValue, rpcAssets };
216
+ export { type AddressType, type AssetAndChain, type AssetOfChain, type AssetSymbol, type BaseChainAssetMap, type BaseChainflipAsset, type ChainAssetMap, type ChainMap, type ChainflipAsset, type ChainflipChain, type ChainflipEvmChain, type ChainflipNetwork, type InternalAssetMap, type RpcAsset, type UncheckedAssetAndChain, addressTypes, assetConstants, assetContractId, assetSymbols, baseChainflipAssets, chainConstants, chainContractId, chainflipAssets, chainflipChains, chainflipEvmChains, chainflipNetworks, getInternalAsset, getInternalAssets, internalAssetToRpcAsset, isValidAssetAndChain, readAssetValue, rpcAssets };
package/dist/chainflip.js CHANGED
@@ -2,6 +2,7 @@ import {
2
2
  addressTypes,
3
3
  assetConstants,
4
4
  assetContractId,
5
+ assetSymbols,
5
6
  baseChainflipAssets,
6
7
  chainConstants,
7
8
  chainContractId,
@@ -15,11 +16,12 @@ import {
15
16
  isValidAssetAndChain,
16
17
  readAssetValue,
17
18
  rpcAssets
18
- } from "./chunk-3IZHLINB.js";
19
+ } from "./chunk-6LZGVCU6.js";
19
20
  export {
20
21
  addressTypes,
21
22
  assetConstants,
22
23
  assetContractId,
24
+ assetSymbols,
23
25
  baseChainflipAssets,
24
26
  chainConstants,
25
27
  chainContractId,
@@ -20,7 +20,8 @@ var chainflipAssets = [
20
20
  "HubUsdt",
21
21
  "HubUsdc"
22
22
  ];
23
- var rpcAssets = ["USDC", "USDT", "FLIP", "DOT", "ETH", "BTC", "SOL"];
23
+ var assetSymbols = ["USDC", "USDT", "FLIP", "DOT", "ETH", "BTC", "SOL"];
24
+ var rpcAssets = assetSymbols;
24
25
  var baseChainflipAssets = chainflipAssets.filter(
25
26
  (asset) => asset !== "Usdc"
26
27
  );
@@ -36,113 +37,132 @@ var chainflipNetworks = ["backspin", "sisyphos", "perseverance", "mainnet"];
36
37
  var addressTypes = ["Eth", "Btc", "Dot", "Arb", "Sol", "Hub"];
37
38
  function readAssetValue(map, asset) {
38
39
  const chainValues = map[assetConstants[asset].chain];
39
- return chainValues[assetConstants[asset].rpcAsset];
40
+ return chainValues[assetConstants[asset].symbol];
40
41
  }
41
42
  var assetConstants = {
42
43
  Eth: {
43
44
  chain: "Ethereum",
45
+ symbol: "ETH",
44
46
  rpcAsset: "ETH",
45
47
  decimals: 18
46
48
  },
47
49
  Flip: {
48
50
  chain: "Ethereum",
51
+ symbol: "FLIP",
49
52
  rpcAsset: "FLIP",
50
53
  decimals: 18
51
54
  },
52
55
  Usdc: {
53
56
  chain: "Ethereum",
57
+ symbol: "USDC",
54
58
  rpcAsset: "USDC",
55
59
  decimals: 6
56
60
  },
57
61
  Usdt: {
58
62
  chain: "Ethereum",
63
+ symbol: "USDT",
59
64
  rpcAsset: "USDT",
60
65
  decimals: 6
61
66
  },
62
67
  Dot: {
63
68
  chain: "Polkadot",
69
+ symbol: "DOT",
64
70
  rpcAsset: "DOT",
65
71
  decimals: 10
66
72
  },
67
73
  Btc: {
68
74
  chain: "Bitcoin",
75
+ symbol: "BTC",
69
76
  rpcAsset: "BTC",
70
77
  decimals: 8
71
78
  },
72
79
  ArbUsdc: {
73
80
  chain: "Arbitrum",
81
+ symbol: "USDC",
74
82
  rpcAsset: "USDC",
75
83
  decimals: 6
76
84
  },
77
85
  ArbEth: {
78
86
  chain: "Arbitrum",
87
+ symbol: "ETH",
79
88
  rpcAsset: "ETH",
80
89
  decimals: 18
81
90
  },
82
91
  Sol: {
83
92
  chain: "Solana",
93
+ symbol: "SOL",
84
94
  rpcAsset: "SOL",
85
95
  decimals: 9
86
96
  },
87
97
  SolUsdc: {
88
98
  chain: "Solana",
99
+ symbol: "USDC",
89
100
  rpcAsset: "USDC",
90
101
  decimals: 6
91
102
  },
92
103
  HubDot: {
93
104
  chain: "Assethub",
105
+ symbol: "DOT",
94
106
  rpcAsset: "DOT",
95
107
  decimals: 10
96
108
  },
97
109
  HubUsdc: {
98
110
  chain: "Assethub",
111
+ symbol: "USDC",
99
112
  rpcAsset: "USDC",
100
113
  decimals: 6
101
114
  },
102
115
  HubUsdt: {
103
116
  chain: "Assethub",
117
+ symbol: "USDT",
104
118
  rpcAsset: "USDT",
105
119
  decimals: 6
106
120
  }
107
121
  };
108
122
  var chainConstants = {
109
123
  Ethereum: {
110
- assets: ["Eth", "Flip", "Usdc", "Usdt"],
124
+ chainflipAssets: ["Eth", "Flip", "Usdc", "Usdt"],
125
+ assets: ["ETH", "FLIP", "USDC", "USDT"],
111
126
  rpcAssets: ["ETH", "FLIP", "USDC", "USDT"],
112
127
  gasAsset: "Eth",
113
128
  addressType: "Eth",
114
129
  blockTimeSeconds: 12
115
130
  },
116
131
  Polkadot: {
117
- assets: ["Dot"],
132
+ chainflipAssets: ["Dot"],
133
+ assets: ["DOT"],
118
134
  rpcAssets: ["DOT"],
119
135
  gasAsset: "Dot",
120
136
  addressType: "Dot",
121
137
  blockTimeSeconds: 6
122
138
  },
123
139
  Bitcoin: {
124
- assets: ["Btc"],
140
+ chainflipAssets: ["Btc"],
141
+ assets: ["BTC"],
125
142
  rpcAssets: ["BTC"],
126
143
  gasAsset: "Btc",
127
144
  addressType: "Btc",
128
145
  blockTimeSeconds: 10 * 60
129
146
  },
130
147
  Arbitrum: {
131
- assets: ["ArbUsdc", "ArbEth"],
148
+ chainflipAssets: ["ArbUsdc", "ArbEth"],
149
+ assets: ["USDC", "ETH"],
132
150
  rpcAssets: ["USDC", "ETH"],
133
151
  gasAsset: "ArbEth",
134
152
  addressType: "Arb",
135
153
  blockTimeSeconds: 0.26
136
154
  },
137
155
  Solana: {
138
- assets: ["Sol", "SolUsdc"],
156
+ chainflipAssets: ["Sol", "SolUsdc"],
157
+ assets: ["SOL", "USDC"],
139
158
  rpcAssets: ["SOL", "USDC"],
140
159
  gasAsset: "Sol",
141
160
  addressType: "Sol",
142
161
  blockTimeSeconds: 0.8
143
162
  },
144
163
  Assethub: {
145
- assets: ["HubDot", "HubUsdt", "HubUsdc"],
164
+ chainflipAssets: ["HubDot", "HubUsdt", "HubUsdc"],
165
+ assets: ["DOT", "USDT", "USDC"],
146
166
  rpcAssets: ["DOT", "USDT", "USDC"],
147
167
  gasAsset: "HubDot",
148
168
  addressType: "Hub",
@@ -190,7 +210,7 @@ var assetContractId = {
190
210
  function isValidAssetAndChain(assetAndChain) {
191
211
  const { asset, chain } = assetAndChain;
192
212
  if (!(chain in chainConstants)) return false;
193
- const validAssets = chainConstants[chain].rpcAssets;
213
+ const validAssets = chainConstants[chain].assets;
194
214
  return validAssets.includes(asset);
195
215
  }
196
216
  function getInternalAsset(asset, assert = true) {
@@ -244,6 +264,7 @@ function getInternalAssets({
244
264
 
245
265
  export {
246
266
  chainflipAssets,
267
+ assetSymbols,
247
268
  rpcAssets,
248
269
  baseChainflipAssets,
249
270
  chainflipEvmChains,
package/dist/tickMath.cjs CHANGED
@@ -67,108 +67,127 @@ var chainflipChains = [
67
67
  var assetConstants = {
68
68
  Eth: {
69
69
  chain: "Ethereum",
70
+ symbol: "ETH",
70
71
  rpcAsset: "ETH",
71
72
  decimals: 18
72
73
  },
73
74
  Flip: {
74
75
  chain: "Ethereum",
76
+ symbol: "FLIP",
75
77
  rpcAsset: "FLIP",
76
78
  decimals: 18
77
79
  },
78
80
  Usdc: {
79
81
  chain: "Ethereum",
82
+ symbol: "USDC",
80
83
  rpcAsset: "USDC",
81
84
  decimals: 6
82
85
  },
83
86
  Usdt: {
84
87
  chain: "Ethereum",
88
+ symbol: "USDT",
85
89
  rpcAsset: "USDT",
86
90
  decimals: 6
87
91
  },
88
92
  Dot: {
89
93
  chain: "Polkadot",
94
+ symbol: "DOT",
90
95
  rpcAsset: "DOT",
91
96
  decimals: 10
92
97
  },
93
98
  Btc: {
94
99
  chain: "Bitcoin",
100
+ symbol: "BTC",
95
101
  rpcAsset: "BTC",
96
102
  decimals: 8
97
103
  },
98
104
  ArbUsdc: {
99
105
  chain: "Arbitrum",
106
+ symbol: "USDC",
100
107
  rpcAsset: "USDC",
101
108
  decimals: 6
102
109
  },
103
110
  ArbEth: {
104
111
  chain: "Arbitrum",
112
+ symbol: "ETH",
105
113
  rpcAsset: "ETH",
106
114
  decimals: 18
107
115
  },
108
116
  Sol: {
109
117
  chain: "Solana",
118
+ symbol: "SOL",
110
119
  rpcAsset: "SOL",
111
120
  decimals: 9
112
121
  },
113
122
  SolUsdc: {
114
123
  chain: "Solana",
124
+ symbol: "USDC",
115
125
  rpcAsset: "USDC",
116
126
  decimals: 6
117
127
  },
118
128
  HubDot: {
119
129
  chain: "Assethub",
130
+ symbol: "DOT",
120
131
  rpcAsset: "DOT",
121
132
  decimals: 10
122
133
  },
123
134
  HubUsdc: {
124
135
  chain: "Assethub",
136
+ symbol: "USDC",
125
137
  rpcAsset: "USDC",
126
138
  decimals: 6
127
139
  },
128
140
  HubUsdt: {
129
141
  chain: "Assethub",
142
+ symbol: "USDT",
130
143
  rpcAsset: "USDT",
131
144
  decimals: 6
132
145
  }
133
146
  };
134
147
  var chainConstants = {
135
148
  Ethereum: {
136
- assets: ["Eth", "Flip", "Usdc", "Usdt"],
149
+ chainflipAssets: ["Eth", "Flip", "Usdc", "Usdt"],
150
+ assets: ["ETH", "FLIP", "USDC", "USDT"],
137
151
  rpcAssets: ["ETH", "FLIP", "USDC", "USDT"],
138
152
  gasAsset: "Eth",
139
153
  addressType: "Eth",
140
154
  blockTimeSeconds: 12
141
155
  },
142
156
  Polkadot: {
143
- assets: ["Dot"],
157
+ chainflipAssets: ["Dot"],
158
+ assets: ["DOT"],
144
159
  rpcAssets: ["DOT"],
145
160
  gasAsset: "Dot",
146
161
  addressType: "Dot",
147
162
  blockTimeSeconds: 6
148
163
  },
149
164
  Bitcoin: {
150
- assets: ["Btc"],
165
+ chainflipAssets: ["Btc"],
166
+ assets: ["BTC"],
151
167
  rpcAssets: ["BTC"],
152
168
  gasAsset: "Btc",
153
169
  addressType: "Btc",
154
170
  blockTimeSeconds: 10 * 60
155
171
  },
156
172
  Arbitrum: {
157
- assets: ["ArbUsdc", "ArbEth"],
173
+ chainflipAssets: ["ArbUsdc", "ArbEth"],
174
+ assets: ["USDC", "ETH"],
158
175
  rpcAssets: ["USDC", "ETH"],
159
176
  gasAsset: "ArbEth",
160
177
  addressType: "Arb",
161
178
  blockTimeSeconds: 0.26
162
179
  },
163
180
  Solana: {
164
- assets: ["Sol", "SolUsdc"],
181
+ chainflipAssets: ["Sol", "SolUsdc"],
182
+ assets: ["SOL", "USDC"],
165
183
  rpcAssets: ["SOL", "USDC"],
166
184
  gasAsset: "Sol",
167
185
  addressType: "Sol",
168
186
  blockTimeSeconds: 0.8
169
187
  },
170
188
  Assethub: {
171
- assets: ["HubDot", "HubUsdt", "HubUsdc"],
189
+ chainflipAssets: ["HubDot", "HubUsdt", "HubUsdc"],
190
+ assets: ["DOT", "USDT", "USDC"],
172
191
  rpcAssets: ["DOT", "USDT", "USDC"],
173
192
  gasAsset: "HubDot",
174
193
  addressType: "Hub",
package/dist/tickMath.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  assetConstants
3
- } from "./chunk-3IZHLINB.js";
3
+ } from "./chunk-6LZGVCU6.js";
4
4
 
5
5
  // src/tickMath.ts
6
6
  import { BigNumber } from "bignumber.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chainflip/utils",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",