@chainflip/utils 0.4.1 → 0.4.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.
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/chainflip.ts
21
21
  var chainflip_exports = {};
22
22
  __export(chainflip_exports, {
23
+ addressTypes: () => addressTypes,
23
24
  assetConstants: () => assetConstants,
24
25
  baseChainflipAssets: () => baseChainflipAssets,
25
26
  chainConstants: () => chainConstants,
@@ -27,6 +28,7 @@ __export(chainflip_exports, {
27
28
  chainflipChains: () => chainflipChains,
28
29
  chainflipEvmChains: () => chainflipEvmChains,
29
30
  chainflipNetworks: () => chainflipNetworks,
31
+ internalAssetToRpcAsset: () => internalAssetToRpcAsset,
30
32
  readAssetValue: () => readAssetValue,
31
33
  rpcAssets: () => rpcAssets
32
34
  });
@@ -50,10 +52,11 @@ var baseChainflipAssets = chainflipAssets.filter(
50
52
  var chainflipEvmChains = ["Ethereum", "Arbitrum"];
51
53
  var chainflipChains = [...chainflipEvmChains, "Bitcoin", "Polkadot", "Solana"];
52
54
  var chainflipNetworks = ["backspin", "sisyphos", "perseverance", "mainnet"];
53
- var readAssetValue = (value, asset) => {
54
- const chainValues = value[assetConstants[asset].chain];
55
+ var addressTypes = ["Eth", "Btc", "Dot", "Arb", "Sol"];
56
+ function readAssetValue(map, asset) {
57
+ const chainValues = map[assetConstants[asset].chain];
55
58
  return chainValues[assetConstants[asset].rpcAsset];
56
- };
59
+ }
57
60
  var assetConstants = {
58
61
  Eth: {
59
62
  chain: "Ethereum",
@@ -110,31 +113,49 @@ var chainConstants = {
110
113
  Ethereum: {
111
114
  assets: ["Eth", "Flip", "Usdc", "Usdt"],
112
115
  gasAsset: "Eth",
116
+ addressType: "Eth",
113
117
  blockTimeSeconds: 12
114
118
  },
115
119
  Polkadot: {
116
120
  assets: ["Dot"],
117
121
  gasAsset: "Dot",
122
+ addressType: "Dot",
118
123
  blockTimeSeconds: 6
119
124
  },
120
125
  Bitcoin: {
121
126
  assets: ["Btc"],
122
127
  gasAsset: "Btc",
128
+ addressType: "Btc",
123
129
  blockTimeSeconds: 10 * 60
124
130
  },
125
131
  Arbitrum: {
126
132
  assets: ["ArbUsdc", "ArbEth"],
127
133
  gasAsset: "ArbEth",
134
+ addressType: "Arb",
128
135
  blockTimeSeconds: 0.26
129
136
  },
130
137
  Solana: {
131
138
  assets: ["Sol", "SolUsdc"],
132
139
  gasAsset: "Sol",
140
+ addressType: "Sol",
133
141
  blockTimeSeconds: 0.8
134
142
  }
135
143
  };
144
+ var internalAssetToRpcAsset = {
145
+ Eth: { chain: "Ethereum", asset: "ETH" },
146
+ Flip: { chain: "Ethereum", asset: "FLIP" },
147
+ Usdc: { chain: "Ethereum", asset: "USDC" },
148
+ Usdt: { chain: "Ethereum", asset: "USDT" },
149
+ Dot: { chain: "Polkadot", asset: "DOT" },
150
+ Btc: { chain: "Bitcoin", asset: "BTC" },
151
+ ArbUsdc: { chain: "Arbitrum", asset: "USDC" },
152
+ ArbEth: { chain: "Arbitrum", asset: "ETH" },
153
+ Sol: { chain: "Solana", asset: "SOL" },
154
+ SolUsdc: { chain: "Solana", asset: "USDC" }
155
+ };
136
156
  // Annotate the CommonJS export names for ESM import in node:
137
157
  0 && (module.exports = {
158
+ addressTypes,
138
159
  assetConstants,
139
160
  baseChainflipAssets,
140
161
  chainConstants,
@@ -142,6 +163,7 @@ var chainConstants = {
142
163
  chainflipChains,
143
164
  chainflipEvmChains,
144
165
  chainflipNetworks,
166
+ internalAssetToRpcAsset,
145
167
  readAssetValue,
146
168
  rpcAssets
147
169
  });
@@ -9,13 +9,28 @@ declare const chainflipChains: readonly ["Ethereum", "Arbitrum", "Bitcoin", "Pol
9
9
  type ChainflipChain = (typeof chainflipChains)[number];
10
10
  declare const chainflipNetworks: readonly ["backspin", "sisyphos", "perseverance", "mainnet"];
11
11
  type ChainflipNetwork = (typeof chainflipNetworks)[number];
12
+ declare const addressTypes: readonly ["Eth", "Btc", "Dot", "Arb", "Sol"];
13
+ type AddressType = (typeof addressTypes)[number];
12
14
  type AssetOfChain<C extends ChainflipChain> = (typeof chainConstants)[C]['assets'][number];
13
15
  type ChainAssetMap<T> = {
14
16
  [C in ChainflipChain]: {
15
17
  [A in (typeof assetConstants)[AssetOfChain<C>]['rpcAsset']]: T;
16
18
  };
17
19
  };
18
- declare const readAssetValue: <T>(value: ChainAssetMap<T>, asset: ChainflipAsset) => T;
20
+ type BaseChainAssetMap<T> = {
21
+ [C in ChainflipChain]: {
22
+ [A in (typeof assetConstants)[Exclude<AssetOfChain<C>, 'Usdc'>]['rpcAsset']]: T;
23
+ };
24
+ };
25
+ type AssetAndChain = {
26
+ [C in ChainflipChain]: {
27
+ chain: C;
28
+ asset: keyof ChainAssetMap<unknown>[C];
29
+ };
30
+ }[ChainflipChain];
31
+ declare function readAssetValue<T>(map: ChainAssetMap<T>, asset: ChainflipAsset | BaseChainflipAsset): T;
32
+ declare function readAssetValue<T>(map: BaseChainAssetMap<T>, asset: BaseChainflipAsset): T;
33
+ declare function readAssetValue<T>(map: ChainAssetMap<T> | BaseChainAssetMap<T>, asset: BaseChainflipAsset): T;
19
34
  declare const assetConstants: {
20
35
  readonly Eth: {
21
36
  readonly chain: "Ethereum";
@@ -72,28 +87,34 @@ declare const chainConstants: {
72
87
  readonly Ethereum: {
73
88
  readonly assets: ["Eth", "Flip", "Usdc", "Usdt"];
74
89
  readonly gasAsset: "Eth";
90
+ readonly addressType: "Eth";
75
91
  readonly blockTimeSeconds: 12;
76
92
  };
77
93
  readonly Polkadot: {
78
94
  readonly assets: ["Dot"];
79
95
  readonly gasAsset: "Dot";
96
+ readonly addressType: "Dot";
80
97
  readonly blockTimeSeconds: 6;
81
98
  };
82
99
  readonly Bitcoin: {
83
100
  readonly assets: ["Btc"];
84
101
  readonly gasAsset: "Btc";
102
+ readonly addressType: "Btc";
85
103
  readonly blockTimeSeconds: number;
86
104
  };
87
105
  readonly Arbitrum: {
88
106
  readonly assets: ["ArbUsdc", "ArbEth"];
89
107
  readonly gasAsset: "ArbEth";
108
+ readonly addressType: "Arb";
90
109
  readonly blockTimeSeconds: 0.26;
91
110
  };
92
111
  readonly Solana: {
93
112
  readonly assets: ["Sol", "SolUsdc"];
94
113
  readonly gasAsset: "Sol";
114
+ readonly addressType: "Sol";
95
115
  readonly blockTimeSeconds: 0.8;
96
116
  };
97
117
  };
118
+ declare const internalAssetToRpcAsset: Record<ChainflipAsset, AssetAndChain>;
98
119
 
99
- export { type AssetOfChain, type BaseChainflipAsset, type ChainAssetMap, type ChainflipAsset, type ChainflipChain, type ChainflipEvmChain, type ChainflipNetwork, assetConstants, baseChainflipAssets, chainConstants, chainflipAssets, chainflipChains, chainflipEvmChains, chainflipNetworks, readAssetValue, rpcAssets };
120
+ export { type AddressType, type AssetOfChain, type BaseChainAssetMap, type BaseChainflipAsset, type ChainAssetMap, type ChainflipAsset, type ChainflipChain, type ChainflipEvmChain, type ChainflipNetwork, addressTypes, assetConstants, baseChainflipAssets, chainConstants, chainflipAssets, chainflipChains, chainflipEvmChains, chainflipNetworks, internalAssetToRpcAsset, readAssetValue, rpcAssets };
@@ -9,13 +9,28 @@ declare const chainflipChains: readonly ["Ethereum", "Arbitrum", "Bitcoin", "Pol
9
9
  type ChainflipChain = (typeof chainflipChains)[number];
10
10
  declare const chainflipNetworks: readonly ["backspin", "sisyphos", "perseverance", "mainnet"];
11
11
  type ChainflipNetwork = (typeof chainflipNetworks)[number];
12
+ declare const addressTypes: readonly ["Eth", "Btc", "Dot", "Arb", "Sol"];
13
+ type AddressType = (typeof addressTypes)[number];
12
14
  type AssetOfChain<C extends ChainflipChain> = (typeof chainConstants)[C]['assets'][number];
13
15
  type ChainAssetMap<T> = {
14
16
  [C in ChainflipChain]: {
15
17
  [A in (typeof assetConstants)[AssetOfChain<C>]['rpcAsset']]: T;
16
18
  };
17
19
  };
18
- declare const readAssetValue: <T>(value: ChainAssetMap<T>, asset: ChainflipAsset) => T;
20
+ type BaseChainAssetMap<T> = {
21
+ [C in ChainflipChain]: {
22
+ [A in (typeof assetConstants)[Exclude<AssetOfChain<C>, 'Usdc'>]['rpcAsset']]: T;
23
+ };
24
+ };
25
+ type AssetAndChain = {
26
+ [C in ChainflipChain]: {
27
+ chain: C;
28
+ asset: keyof ChainAssetMap<unknown>[C];
29
+ };
30
+ }[ChainflipChain];
31
+ declare function readAssetValue<T>(map: ChainAssetMap<T>, asset: ChainflipAsset | BaseChainflipAsset): T;
32
+ declare function readAssetValue<T>(map: BaseChainAssetMap<T>, asset: BaseChainflipAsset): T;
33
+ declare function readAssetValue<T>(map: ChainAssetMap<T> | BaseChainAssetMap<T>, asset: BaseChainflipAsset): T;
19
34
  declare const assetConstants: {
20
35
  readonly Eth: {
21
36
  readonly chain: "Ethereum";
@@ -72,28 +87,34 @@ declare const chainConstants: {
72
87
  readonly Ethereum: {
73
88
  readonly assets: ["Eth", "Flip", "Usdc", "Usdt"];
74
89
  readonly gasAsset: "Eth";
90
+ readonly addressType: "Eth";
75
91
  readonly blockTimeSeconds: 12;
76
92
  };
77
93
  readonly Polkadot: {
78
94
  readonly assets: ["Dot"];
79
95
  readonly gasAsset: "Dot";
96
+ readonly addressType: "Dot";
80
97
  readonly blockTimeSeconds: 6;
81
98
  };
82
99
  readonly Bitcoin: {
83
100
  readonly assets: ["Btc"];
84
101
  readonly gasAsset: "Btc";
102
+ readonly addressType: "Btc";
85
103
  readonly blockTimeSeconds: number;
86
104
  };
87
105
  readonly Arbitrum: {
88
106
  readonly assets: ["ArbUsdc", "ArbEth"];
89
107
  readonly gasAsset: "ArbEth";
108
+ readonly addressType: "Arb";
90
109
  readonly blockTimeSeconds: 0.26;
91
110
  };
92
111
  readonly Solana: {
93
112
  readonly assets: ["Sol", "SolUsdc"];
94
113
  readonly gasAsset: "Sol";
114
+ readonly addressType: "Sol";
95
115
  readonly blockTimeSeconds: 0.8;
96
116
  };
97
117
  };
118
+ declare const internalAssetToRpcAsset: Record<ChainflipAsset, AssetAndChain>;
98
119
 
99
- export { type AssetOfChain, type BaseChainflipAsset, type ChainAssetMap, type ChainflipAsset, type ChainflipChain, type ChainflipEvmChain, type ChainflipNetwork, assetConstants, baseChainflipAssets, chainConstants, chainflipAssets, chainflipChains, chainflipEvmChains, chainflipNetworks, readAssetValue, rpcAssets };
120
+ export { type AddressType, type AssetOfChain, type BaseChainAssetMap, type BaseChainflipAsset, type ChainAssetMap, type ChainflipAsset, type ChainflipChain, type ChainflipEvmChain, type ChainflipNetwork, addressTypes, assetConstants, baseChainflipAssets, chainConstants, chainflipAssets, chainflipChains, chainflipEvmChains, chainflipNetworks, internalAssetToRpcAsset, readAssetValue, rpcAssets };
package/dist/chainflip.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import {
2
+ addressTypes,
2
3
  assetConstants,
3
4
  baseChainflipAssets,
4
5
  chainConstants,
@@ -6,10 +7,12 @@ import {
6
7
  chainflipChains,
7
8
  chainflipEvmChains,
8
9
  chainflipNetworks,
10
+ internalAssetToRpcAsset,
9
11
  readAssetValue,
10
12
  rpcAssets
11
- } from "./chunk-XFHVSV76.js";
13
+ } from "./chunk-FKSZD3R5.js";
12
14
  export {
15
+ addressTypes,
13
16
  assetConstants,
14
17
  baseChainflipAssets,
15
18
  chainConstants,
@@ -17,6 +20,7 @@ export {
17
20
  chainflipChains,
18
21
  chainflipEvmChains,
19
22
  chainflipNetworks,
23
+ internalAssetToRpcAsset,
20
24
  readAssetValue,
21
25
  rpcAssets
22
26
  };
@@ -18,10 +18,11 @@ var baseChainflipAssets = chainflipAssets.filter(
18
18
  var chainflipEvmChains = ["Ethereum", "Arbitrum"];
19
19
  var chainflipChains = [...chainflipEvmChains, "Bitcoin", "Polkadot", "Solana"];
20
20
  var chainflipNetworks = ["backspin", "sisyphos", "perseverance", "mainnet"];
21
- var readAssetValue = (value, asset) => {
22
- const chainValues = value[assetConstants[asset].chain];
21
+ var addressTypes = ["Eth", "Btc", "Dot", "Arb", "Sol"];
22
+ function readAssetValue(map, asset) {
23
+ const chainValues = map[assetConstants[asset].chain];
23
24
  return chainValues[assetConstants[asset].rpcAsset];
24
- };
25
+ }
25
26
  var assetConstants = {
26
27
  Eth: {
27
28
  chain: "Ethereum",
@@ -78,29 +79,46 @@ var chainConstants = {
78
79
  Ethereum: {
79
80
  assets: ["Eth", "Flip", "Usdc", "Usdt"],
80
81
  gasAsset: "Eth",
82
+ addressType: "Eth",
81
83
  blockTimeSeconds: 12
82
84
  },
83
85
  Polkadot: {
84
86
  assets: ["Dot"],
85
87
  gasAsset: "Dot",
88
+ addressType: "Dot",
86
89
  blockTimeSeconds: 6
87
90
  },
88
91
  Bitcoin: {
89
92
  assets: ["Btc"],
90
93
  gasAsset: "Btc",
94
+ addressType: "Btc",
91
95
  blockTimeSeconds: 10 * 60
92
96
  },
93
97
  Arbitrum: {
94
98
  assets: ["ArbUsdc", "ArbEth"],
95
99
  gasAsset: "ArbEth",
100
+ addressType: "Arb",
96
101
  blockTimeSeconds: 0.26
97
102
  },
98
103
  Solana: {
99
104
  assets: ["Sol", "SolUsdc"],
100
105
  gasAsset: "Sol",
106
+ addressType: "Sol",
101
107
  blockTimeSeconds: 0.8
102
108
  }
103
109
  };
110
+ var internalAssetToRpcAsset = {
111
+ Eth: { chain: "Ethereum", asset: "ETH" },
112
+ Flip: { chain: "Ethereum", asset: "FLIP" },
113
+ Usdc: { chain: "Ethereum", asset: "USDC" },
114
+ Usdt: { chain: "Ethereum", asset: "USDT" },
115
+ Dot: { chain: "Polkadot", asset: "DOT" },
116
+ Btc: { chain: "Bitcoin", asset: "BTC" },
117
+ ArbUsdc: { chain: "Arbitrum", asset: "USDC" },
118
+ ArbEth: { chain: "Arbitrum", asset: "ETH" },
119
+ Sol: { chain: "Solana", asset: "SOL" },
120
+ SolUsdc: { chain: "Solana", asset: "USDC" }
121
+ };
104
122
 
105
123
  export {
106
124
  chainflipAssets,
@@ -109,7 +127,9 @@ export {
109
127
  chainflipEvmChains,
110
128
  chainflipChains,
111
129
  chainflipNetworks,
130
+ addressTypes,
112
131
  readAssetValue,
113
132
  assetConstants,
114
- chainConstants
133
+ chainConstants,
134
+ internalAssetToRpcAsset
115
135
  };
package/dist/consts.cjs CHANGED
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var consts_exports = {};
22
22
  __export(consts_exports, {
23
23
  CHAINFLIP_BLOCKS_PER_YEAR: () => CHAINFLIP_BLOCKS_PER_YEAR,
24
+ CHAINFLIP_BLOCK_TIME_SECONDS: () => CHAINFLIP_BLOCK_TIME_SECONDS,
24
25
  CHAINFLIP_SS58_PREFIX: () => CHAINFLIP_SS58_PREFIX,
25
26
  GENESIS_LP_ACCOUNT_IDS: () => GENESIS_LP_ACCOUNT_IDS,
26
27
  HEARTBEAT_BLOCK_INTERVAL: () => HEARTBEAT_BLOCK_INTERVAL,
@@ -34,6 +35,7 @@ module.exports = __toCommonJS(consts_exports);
34
35
  var HEARTBEAT_BLOCK_INTERVAL = 150;
35
36
  var CHAINFLIP_SS58_PREFIX = 2112;
36
37
  var POLKADOT_SS58_PREFIX = 0;
38
+ var CHAINFLIP_BLOCK_TIME_SECONDS = 6;
37
39
  var CHAINFLIP_BLOCKS_PER_YEAR = 5256e3;
38
40
  var chainflipLinks = {
39
41
  website: "https://chainflip.io/",
@@ -135,6 +137,7 @@ var GENESIS_LP_ACCOUNT_IDS = [
135
137
  // Annotate the CommonJS export names for ESM import in node:
136
138
  0 && (module.exports = {
137
139
  CHAINFLIP_BLOCKS_PER_YEAR,
140
+ CHAINFLIP_BLOCK_TIME_SECONDS,
138
141
  CHAINFLIP_SS58_PREFIX,
139
142
  GENESIS_LP_ACCOUNT_IDS,
140
143
  HEARTBEAT_BLOCK_INTERVAL,
package/dist/consts.d.cts CHANGED
@@ -1,6 +1,7 @@
1
1
  declare const HEARTBEAT_BLOCK_INTERVAL = 150;
2
2
  declare const CHAINFLIP_SS58_PREFIX = 2112;
3
3
  declare const POLKADOT_SS58_PREFIX = 0;
4
+ declare const CHAINFLIP_BLOCK_TIME_SECONDS = 6;
4
5
  declare const CHAINFLIP_BLOCKS_PER_YEAR = 5256000;
5
6
  declare const chainflipLinks: {
6
7
  website: string;
@@ -145,4 +146,4 @@ declare const lpAliasMap: {
145
146
  };
146
147
  declare const GENESIS_LP_ACCOUNT_IDS: string[];
147
148
 
148
- export { CHAINFLIP_BLOCKS_PER_YEAR, CHAINFLIP_SS58_PREFIX, GENESIS_LP_ACCOUNT_IDS, HEARTBEAT_BLOCK_INTERVAL, POLKADOT_SS58_PREFIX, brokerAliasMap, chainflipCommunityLinks, chainflipLinks, lpAliasMap };
149
+ export { CHAINFLIP_BLOCKS_PER_YEAR, CHAINFLIP_BLOCK_TIME_SECONDS, CHAINFLIP_SS58_PREFIX, GENESIS_LP_ACCOUNT_IDS, HEARTBEAT_BLOCK_INTERVAL, POLKADOT_SS58_PREFIX, brokerAliasMap, chainflipCommunityLinks, chainflipLinks, lpAliasMap };
package/dist/consts.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  declare const HEARTBEAT_BLOCK_INTERVAL = 150;
2
2
  declare const CHAINFLIP_SS58_PREFIX = 2112;
3
3
  declare const POLKADOT_SS58_PREFIX = 0;
4
+ declare const CHAINFLIP_BLOCK_TIME_SECONDS = 6;
4
5
  declare const CHAINFLIP_BLOCKS_PER_YEAR = 5256000;
5
6
  declare const chainflipLinks: {
6
7
  website: string;
@@ -145,4 +146,4 @@ declare const lpAliasMap: {
145
146
  };
146
147
  declare const GENESIS_LP_ACCOUNT_IDS: string[];
147
148
 
148
- export { CHAINFLIP_BLOCKS_PER_YEAR, CHAINFLIP_SS58_PREFIX, GENESIS_LP_ACCOUNT_IDS, HEARTBEAT_BLOCK_INTERVAL, POLKADOT_SS58_PREFIX, brokerAliasMap, chainflipCommunityLinks, chainflipLinks, lpAliasMap };
149
+ export { CHAINFLIP_BLOCKS_PER_YEAR, CHAINFLIP_BLOCK_TIME_SECONDS, CHAINFLIP_SS58_PREFIX, GENESIS_LP_ACCOUNT_IDS, HEARTBEAT_BLOCK_INTERVAL, POLKADOT_SS58_PREFIX, brokerAliasMap, chainflipCommunityLinks, chainflipLinks, lpAliasMap };
package/dist/consts.js CHANGED
@@ -2,6 +2,7 @@
2
2
  var HEARTBEAT_BLOCK_INTERVAL = 150;
3
3
  var CHAINFLIP_SS58_PREFIX = 2112;
4
4
  var POLKADOT_SS58_PREFIX = 0;
5
+ var CHAINFLIP_BLOCK_TIME_SECONDS = 6;
5
6
  var CHAINFLIP_BLOCKS_PER_YEAR = 5256e3;
6
7
  var chainflipLinks = {
7
8
  website: "https://chainflip.io/",
@@ -102,6 +103,7 @@ var GENESIS_LP_ACCOUNT_IDS = [
102
103
  ];
103
104
  export {
104
105
  CHAINFLIP_BLOCKS_PER_YEAR,
106
+ CHAINFLIP_BLOCK_TIME_SECONDS,
105
107
  CHAINFLIP_SS58_PREFIX,
106
108
  GENESIS_LP_ACCOUNT_IDS,
107
109
  HEARTBEAT_BLOCK_INTERVAL,