@chainflip/utils 0.8.1 → 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,108 +77,133 @@ 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"],
166
+ rpcAssets: ["ETH", "FLIP", "USDC", "USDT"],
150
167
  gasAsset: "Eth",
151
168
  addressType: "Eth",
152
169
  blockTimeSeconds: 12
153
170
  },
154
171
  Polkadot: {
155
- assets: ["Dot"],
172
+ chainflipAssets: ["Dot"],
173
+ assets: ["DOT"],
174
+ rpcAssets: ["DOT"],
156
175
  gasAsset: "Dot",
157
176
  addressType: "Dot",
158
177
  blockTimeSeconds: 6
159
178
  },
160
179
  Bitcoin: {
161
- assets: ["Btc"],
180
+ chainflipAssets: ["Btc"],
181
+ assets: ["BTC"],
182
+ rpcAssets: ["BTC"],
162
183
  gasAsset: "Btc",
163
184
  addressType: "Btc",
164
185
  blockTimeSeconds: 10 * 60
165
186
  },
166
187
  Arbitrum: {
167
- assets: ["ArbUsdc", "ArbEth"],
188
+ chainflipAssets: ["ArbUsdc", "ArbEth"],
189
+ assets: ["USDC", "ETH"],
190
+ rpcAssets: ["USDC", "ETH"],
168
191
  gasAsset: "ArbEth",
169
192
  addressType: "Arb",
170
193
  blockTimeSeconds: 0.26
171
194
  },
172
195
  Solana: {
173
- assets: ["Sol", "SolUsdc"],
196
+ chainflipAssets: ["Sol", "SolUsdc"],
197
+ assets: ["SOL", "USDC"],
198
+ rpcAssets: ["SOL", "USDC"],
174
199
  gasAsset: "Sol",
175
200
  addressType: "Sol",
176
201
  blockTimeSeconds: 0.8
177
202
  },
178
203
  Assethub: {
179
- assets: ["HubDot", "HubUsdt", "HubUsdc"],
204
+ chainflipAssets: ["HubDot", "HubUsdt", "HubUsdc"],
205
+ assets: ["DOT", "USDT", "USDC"],
206
+ rpcAssets: ["DOT", "USDT", "USDC"],
180
207
  gasAsset: "HubDot",
181
208
  addressType: "Hub",
182
209
  blockTimeSeconds: 12
@@ -279,6 +306,7 @@ function getInternalAssets({
279
306
  addressTypes,
280
307
  assetConstants,
281
308
  assetContractId,
309
+ assetSymbols,
282
310
  baseChainflipAssets,
283
311
  chainConstants,
284
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,141 +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"];
135
+ readonly rpcAssets: ["ETH", "FLIP", "USDC", "USDT"];
109
136
  readonly gasAsset: "Eth";
110
137
  readonly addressType: "Eth";
111
138
  readonly blockTimeSeconds: 12;
112
139
  };
113
140
  readonly Polkadot: {
114
- readonly assets: ["Dot"];
141
+ readonly chainflipAssets: ["Dot"];
142
+ readonly assets: ["DOT"];
143
+ readonly rpcAssets: ["DOT"];
115
144
  readonly gasAsset: "Dot";
116
145
  readonly addressType: "Dot";
117
146
  readonly blockTimeSeconds: 6;
118
147
  };
119
148
  readonly Bitcoin: {
120
- readonly assets: ["Btc"];
149
+ readonly chainflipAssets: ["Btc"];
150
+ readonly assets: ["BTC"];
151
+ readonly rpcAssets: ["BTC"];
121
152
  readonly gasAsset: "Btc";
122
153
  readonly addressType: "Btc";
123
154
  readonly blockTimeSeconds: number;
124
155
  };
125
156
  readonly Arbitrum: {
126
- readonly assets: ["ArbUsdc", "ArbEth"];
157
+ readonly chainflipAssets: ["ArbUsdc", "ArbEth"];
158
+ readonly assets: ["USDC", "ETH"];
159
+ readonly rpcAssets: ["USDC", "ETH"];
127
160
  readonly gasAsset: "ArbEth";
128
161
  readonly addressType: "Arb";
129
162
  readonly blockTimeSeconds: 0.26;
130
163
  };
131
164
  readonly Solana: {
132
- readonly assets: ["Sol", "SolUsdc"];
165
+ readonly chainflipAssets: ["Sol", "SolUsdc"];
166
+ readonly assets: ["SOL", "USDC"];
167
+ readonly rpcAssets: ["SOL", "USDC"];
133
168
  readonly gasAsset: "Sol";
134
169
  readonly addressType: "Sol";
135
170
  readonly blockTimeSeconds: 0.8;
136
171
  };
137
172
  readonly Assethub: {
138
- readonly assets: ["HubDot", "HubUsdt", "HubUsdc"];
173
+ readonly chainflipAssets: ["HubDot", "HubUsdt", "HubUsdc"];
174
+ readonly assets: ["DOT", "USDT", "USDC"];
175
+ readonly rpcAssets: ["DOT", "USDT", "USDC"];
139
176
  readonly gasAsset: "HubDot";
140
177
  readonly addressType: "Hub";
141
178
  readonly blockTimeSeconds: 12;
142
179
  };
143
180
  };
144
- declare const internalAssetToRpcAsset: Record<ChainflipAsset, AssetAndChain>;
145
- declare const chainContractId: Record<ChainflipChain, number>;
146
- declare const assetContractId: Record<ChainflipAsset, number>;
181
+ declare const internalAssetToRpcAsset: InternalAssetMap<AssetAndChain>;
182
+ declare const chainContractId: ChainMap<number>;
183
+ declare const assetContractId: InternalAssetMap<number>;
147
184
  declare function isValidAssetAndChain(assetAndChain: UncheckedAssetAndChain): assetAndChain is AssetAndChain;
148
185
  declare function getInternalAsset(asset: UncheckedAssetAndChain): ChainflipAsset;
149
186
  declare function getInternalAsset(asset: UncheckedAssetAndChain, assert: true): ChainflipAsset;
150
187
  declare function getInternalAsset(asset: UncheckedAssetAndChain, assert: boolean): ChainflipAsset | null;
151
188
  declare function getInternalAssets(data: {
152
- srcAsset: RpcAsset;
189
+ srcAsset: AssetSymbol;
153
190
  srcChain: ChainflipChain;
154
- destAsset: RpcAsset;
191
+ destAsset: AssetSymbol;
155
192
  destChain: ChainflipChain;
156
193
  }): {
157
194
  srcAsset: ChainflipAsset;
158
195
  destAsset: ChainflipAsset;
159
196
  };
160
197
  declare function getInternalAssets(data: {
161
- srcAsset: RpcAsset;
198
+ srcAsset: AssetSymbol;
162
199
  srcChain: ChainflipChain;
163
- destAsset: RpcAsset;
200
+ destAsset: AssetSymbol;
164
201
  destChain: ChainflipChain;
165
202
  }, assert: true): {
166
203
  srcAsset: ChainflipAsset;
167
204
  destAsset: ChainflipAsset;
168
205
  };
169
206
  declare function getInternalAssets(data: {
170
- srcAsset: RpcAsset;
207
+ srcAsset: AssetSymbol;
171
208
  srcChain: ChainflipChain;
172
- destAsset: RpcAsset;
209
+ destAsset: AssetSymbol;
173
210
  destChain: ChainflipChain;
174
211
  }, assert: boolean): {
175
212
  srcAsset: ChainflipAsset | null;
176
213
  destAsset: ChainflipAsset | null;
177
214
  };
178
215
 
179
- 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,141 +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"];
135
+ readonly rpcAssets: ["ETH", "FLIP", "USDC", "USDT"];
109
136
  readonly gasAsset: "Eth";
110
137
  readonly addressType: "Eth";
111
138
  readonly blockTimeSeconds: 12;
112
139
  };
113
140
  readonly Polkadot: {
114
- readonly assets: ["Dot"];
141
+ readonly chainflipAssets: ["Dot"];
142
+ readonly assets: ["DOT"];
143
+ readonly rpcAssets: ["DOT"];
115
144
  readonly gasAsset: "Dot";
116
145
  readonly addressType: "Dot";
117
146
  readonly blockTimeSeconds: 6;
118
147
  };
119
148
  readonly Bitcoin: {
120
- readonly assets: ["Btc"];
149
+ readonly chainflipAssets: ["Btc"];
150
+ readonly assets: ["BTC"];
151
+ readonly rpcAssets: ["BTC"];
121
152
  readonly gasAsset: "Btc";
122
153
  readonly addressType: "Btc";
123
154
  readonly blockTimeSeconds: number;
124
155
  };
125
156
  readonly Arbitrum: {
126
- readonly assets: ["ArbUsdc", "ArbEth"];
157
+ readonly chainflipAssets: ["ArbUsdc", "ArbEth"];
158
+ readonly assets: ["USDC", "ETH"];
159
+ readonly rpcAssets: ["USDC", "ETH"];
127
160
  readonly gasAsset: "ArbEth";
128
161
  readonly addressType: "Arb";
129
162
  readonly blockTimeSeconds: 0.26;
130
163
  };
131
164
  readonly Solana: {
132
- readonly assets: ["Sol", "SolUsdc"];
165
+ readonly chainflipAssets: ["Sol", "SolUsdc"];
166
+ readonly assets: ["SOL", "USDC"];
167
+ readonly rpcAssets: ["SOL", "USDC"];
133
168
  readonly gasAsset: "Sol";
134
169
  readonly addressType: "Sol";
135
170
  readonly blockTimeSeconds: 0.8;
136
171
  };
137
172
  readonly Assethub: {
138
- readonly assets: ["HubDot", "HubUsdt", "HubUsdc"];
173
+ readonly chainflipAssets: ["HubDot", "HubUsdt", "HubUsdc"];
174
+ readonly assets: ["DOT", "USDT", "USDC"];
175
+ readonly rpcAssets: ["DOT", "USDT", "USDC"];
139
176
  readonly gasAsset: "HubDot";
140
177
  readonly addressType: "Hub";
141
178
  readonly blockTimeSeconds: 12;
142
179
  };
143
180
  };
144
- declare const internalAssetToRpcAsset: Record<ChainflipAsset, AssetAndChain>;
145
- declare const chainContractId: Record<ChainflipChain, number>;
146
- declare const assetContractId: Record<ChainflipAsset, number>;
181
+ declare const internalAssetToRpcAsset: InternalAssetMap<AssetAndChain>;
182
+ declare const chainContractId: ChainMap<number>;
183
+ declare const assetContractId: InternalAssetMap<number>;
147
184
  declare function isValidAssetAndChain(assetAndChain: UncheckedAssetAndChain): assetAndChain is AssetAndChain;
148
185
  declare function getInternalAsset(asset: UncheckedAssetAndChain): ChainflipAsset;
149
186
  declare function getInternalAsset(asset: UncheckedAssetAndChain, assert: true): ChainflipAsset;
150
187
  declare function getInternalAsset(asset: UncheckedAssetAndChain, assert: boolean): ChainflipAsset | null;
151
188
  declare function getInternalAssets(data: {
152
- srcAsset: RpcAsset;
189
+ srcAsset: AssetSymbol;
153
190
  srcChain: ChainflipChain;
154
- destAsset: RpcAsset;
191
+ destAsset: AssetSymbol;
155
192
  destChain: ChainflipChain;
156
193
  }): {
157
194
  srcAsset: ChainflipAsset;
158
195
  destAsset: ChainflipAsset;
159
196
  };
160
197
  declare function getInternalAssets(data: {
161
- srcAsset: RpcAsset;
198
+ srcAsset: AssetSymbol;
162
199
  srcChain: ChainflipChain;
163
- destAsset: RpcAsset;
200
+ destAsset: AssetSymbol;
164
201
  destChain: ChainflipChain;
165
202
  }, assert: true): {
166
203
  srcAsset: ChainflipAsset;
167
204
  destAsset: ChainflipAsset;
168
205
  };
169
206
  declare function getInternalAssets(data: {
170
- srcAsset: RpcAsset;
207
+ srcAsset: AssetSymbol;
171
208
  srcChain: ChainflipChain;
172
- destAsset: RpcAsset;
209
+ destAsset: AssetSymbol;
173
210
  destChain: ChainflipChain;
174
211
  }, assert: boolean): {
175
212
  srcAsset: ChainflipAsset | null;
176
213
  destAsset: ChainflipAsset | null;
177
214
  };
178
215
 
179
- 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-LY7K57IN.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,108 +37,133 @@ 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"],
126
+ rpcAssets: ["ETH", "FLIP", "USDC", "USDT"],
111
127
  gasAsset: "Eth",
112
128
  addressType: "Eth",
113
129
  blockTimeSeconds: 12
114
130
  },
115
131
  Polkadot: {
116
- assets: ["Dot"],
132
+ chainflipAssets: ["Dot"],
133
+ assets: ["DOT"],
134
+ rpcAssets: ["DOT"],
117
135
  gasAsset: "Dot",
118
136
  addressType: "Dot",
119
137
  blockTimeSeconds: 6
120
138
  },
121
139
  Bitcoin: {
122
- assets: ["Btc"],
140
+ chainflipAssets: ["Btc"],
141
+ assets: ["BTC"],
142
+ rpcAssets: ["BTC"],
123
143
  gasAsset: "Btc",
124
144
  addressType: "Btc",
125
145
  blockTimeSeconds: 10 * 60
126
146
  },
127
147
  Arbitrum: {
128
- assets: ["ArbUsdc", "ArbEth"],
148
+ chainflipAssets: ["ArbUsdc", "ArbEth"],
149
+ assets: ["USDC", "ETH"],
150
+ rpcAssets: ["USDC", "ETH"],
129
151
  gasAsset: "ArbEth",
130
152
  addressType: "Arb",
131
153
  blockTimeSeconds: 0.26
132
154
  },
133
155
  Solana: {
134
- assets: ["Sol", "SolUsdc"],
156
+ chainflipAssets: ["Sol", "SolUsdc"],
157
+ assets: ["SOL", "USDC"],
158
+ rpcAssets: ["SOL", "USDC"],
135
159
  gasAsset: "Sol",
136
160
  addressType: "Sol",
137
161
  blockTimeSeconds: 0.8
138
162
  },
139
163
  Assethub: {
140
- assets: ["HubDot", "HubUsdt", "HubUsdc"],
164
+ chainflipAssets: ["HubDot", "HubUsdt", "HubUsdc"],
165
+ assets: ["DOT", "USDT", "USDC"],
166
+ rpcAssets: ["DOT", "USDT", "USDC"],
141
167
  gasAsset: "HubDot",
142
168
  addressType: "Hub",
143
169
  blockTimeSeconds: 12
@@ -238,6 +264,7 @@ function getInternalAssets({
238
264
 
239
265
  export {
240
266
  chainflipAssets,
267
+ assetSymbols,
241
268
  rpcAssets,
242
269
  baseChainflipAssets,
243
270
  chainflipEvmChains,
package/dist/tickMath.cjs CHANGED
@@ -67,103 +67,128 @@ 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"],
151
+ rpcAssets: ["ETH", "FLIP", "USDC", "USDT"],
137
152
  gasAsset: "Eth",
138
153
  addressType: "Eth",
139
154
  blockTimeSeconds: 12
140
155
  },
141
156
  Polkadot: {
142
- assets: ["Dot"],
157
+ chainflipAssets: ["Dot"],
158
+ assets: ["DOT"],
159
+ rpcAssets: ["DOT"],
143
160
  gasAsset: "Dot",
144
161
  addressType: "Dot",
145
162
  blockTimeSeconds: 6
146
163
  },
147
164
  Bitcoin: {
148
- assets: ["Btc"],
165
+ chainflipAssets: ["Btc"],
166
+ assets: ["BTC"],
167
+ rpcAssets: ["BTC"],
149
168
  gasAsset: "Btc",
150
169
  addressType: "Btc",
151
170
  blockTimeSeconds: 10 * 60
152
171
  },
153
172
  Arbitrum: {
154
- assets: ["ArbUsdc", "ArbEth"],
173
+ chainflipAssets: ["ArbUsdc", "ArbEth"],
174
+ assets: ["USDC", "ETH"],
175
+ rpcAssets: ["USDC", "ETH"],
155
176
  gasAsset: "ArbEth",
156
177
  addressType: "Arb",
157
178
  blockTimeSeconds: 0.26
158
179
  },
159
180
  Solana: {
160
- assets: ["Sol", "SolUsdc"],
181
+ chainflipAssets: ["Sol", "SolUsdc"],
182
+ assets: ["SOL", "USDC"],
183
+ rpcAssets: ["SOL", "USDC"],
161
184
  gasAsset: "Sol",
162
185
  addressType: "Sol",
163
186
  blockTimeSeconds: 0.8
164
187
  },
165
188
  Assethub: {
166
- assets: ["HubDot", "HubUsdt", "HubUsdc"],
189
+ chainflipAssets: ["HubDot", "HubUsdt", "HubUsdc"],
190
+ assets: ["DOT", "USDT", "USDC"],
191
+ rpcAssets: ["DOT", "USDT", "USDC"],
167
192
  gasAsset: "HubDot",
168
193
  addressType: "Hub",
169
194
  blockTimeSeconds: 12
package/dist/tickMath.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  assetConstants
3
- } from "./chunk-LY7K57IN.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.1",
3
+ "version": "0.8.3",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",