@nevermined-io/core-kit 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,232 +1,238 @@
1
1
  import { defineChain } from 'viem';
2
- import { arbitrum, arbitrumSepolia, aurora, auroraTestnet, base, baseSepolia, celo, celoAlfajores, gnosis, hardhat, mainnet, optimism, polygon, polygonMumbai } from 'viem/chains';
2
+ import { arbitrum, arbitrumSepolia, aurora, auroraTestnet, base, baseSepolia, celo, celoAlfajores, gnosis, hardhat, mainnet, optimism, polygon, polygonMumbai, tempo, tempoModerato } from 'viem/chains';
3
3
  import { ContractsError } from '../errors/NeverminedErrors.js';
4
- export async function getNetworkName(networkId) {
5
- switch(networkId){
6
- case 1:
7
- return 'mainnet';
8
- case 2:
9
- return 'morden';
10
- case 3:
11
- return 'ropsten';
12
- case 4:
13
- return 'rinkeby';
14
- case 5:
15
- return 'goerli';
16
- case 10:
17
- return 'optimism';
18
- case 77:
19
- return 'poa_sokol';
20
- case 99:
21
- return 'poa_core';
22
- case 42:
23
- return 'kovan';
24
- case 100:
25
- return 'gnosis';
26
- case 137:
27
- return 'matic';
28
- case 1337:
29
- return 'geth-localnet';
30
- case 3141:
31
- return 'hyperspace';
32
- case 3338:
33
- return 'peaq-mainnet';
34
- case 8453:
35
- return 'base';
36
- case 84532:
37
- return 'base-sepolia';
38
- case 10200:
39
- return 'chiado' // Gnosis testnet
40
- ;
41
- case 31337:
42
- return 'geth-localnet';
43
- case 8996:
44
- return 'spree';
45
- case 8997:
46
- return 'polygon-localnet';
47
- case 8998:
48
- return 'hardhat';
49
- case 42220:
50
- return 'celo';
51
- case 44787:
52
- return 'celo-alfajores';
53
- case 62320:
54
- return 'celo-baklava';
55
- case 80001:
56
- return 'mumbai';
57
- case 42161:
58
- return 'arbitrum-one';
59
- case 421613:
60
- return 'arbitrum-goerli';
61
- case 421614:
62
- return 'arbitrum-sepolia';
63
- case 1313161554:
64
- return 'aurora';
65
- case 1313161555:
66
- return 'aurora-testnet';
67
- case 1313161556:
68
- return 'aurora-betanet';
69
- default:
70
- throw new ContractsError(`Network with id ${networkId} not supported.`);
4
+ const localhostChain = (id)=>defineChain({
5
+ id,
6
+ name: 'Localhost',
7
+ fees: {
8
+ baseFeeMultiplier: 1.2
9
+ },
10
+ nativeCurrency: {
11
+ name: 'Ether',
12
+ symbol: 'ETH',
13
+ decimals: 18
14
+ },
15
+ rpcUrls: {
16
+ default: {
17
+ http: [
18
+ `http://127.0.0.1:${process.env.ETH_PORT || 18545}`
19
+ ]
20
+ }
21
+ }
22
+ });
23
+ /**
24
+ * Single source of truth for every supported network (#1929). Each entry ties the
25
+ * chainId to its `name`, `testnet` flag, and viem `chain`. Adding a network is ONE
26
+ * entry here — `getNetworkName` / `isTestnet` / `getChain` all read from this map.
27
+ *
28
+ * `chain` is optional: legacy testnets we still name/classify but no longer have a
29
+ * viem chain for (`getChain` throws for those, as before).
30
+ */ const NETWORKS = {
31
+ 1: {
32
+ name: 'mainnet',
33
+ testnet: false,
34
+ chain: mainnet
35
+ },
36
+ 2: {
37
+ name: 'morden',
38
+ testnet: true
39
+ },
40
+ 3: {
41
+ name: 'ropsten',
42
+ testnet: true
43
+ },
44
+ 4: {
45
+ name: 'rinkeby',
46
+ testnet: true
47
+ },
48
+ 5: {
49
+ name: 'goerli',
50
+ testnet: true
51
+ },
52
+ 10: {
53
+ name: 'optimism',
54
+ testnet: false,
55
+ chain: optimism
56
+ },
57
+ 42: {
58
+ name: 'kovan',
59
+ testnet: true
60
+ },
61
+ 77: {
62
+ name: 'poa_sokol',
63
+ testnet: false
64
+ },
65
+ 99: {
66
+ name: 'poa_core',
67
+ testnet: false
68
+ },
69
+ 100: {
70
+ name: 'gnosis',
71
+ testnet: false,
72
+ chain: gnosis
73
+ },
74
+ 137: {
75
+ name: 'matic',
76
+ testnet: false,
77
+ chain: polygon
78
+ },
79
+ 1337: {
80
+ name: 'geth-localnet',
81
+ testnet: true,
82
+ chain: defineChain({
83
+ id: 1337,
84
+ name: 'geth-localnet',
85
+ nativeCurrency: {
86
+ name: 'Ether',
87
+ symbol: 'ETH',
88
+ decimals: 18
89
+ },
90
+ rpcUrls: {
91
+ default: {
92
+ http: [
93
+ 'http://contracts.nevermined.localnet'
94
+ ]
95
+ }
96
+ }
97
+ })
98
+ },
99
+ 3141: {
100
+ name: 'hyperspace',
101
+ testnet: true
102
+ },
103
+ 3338: {
104
+ name: 'peaq-mainnet',
105
+ testnet: false,
106
+ chain: defineChain({
107
+ id: 3338,
108
+ name: 'peaq-network',
109
+ nativeCurrency: {
110
+ name: 'Peaq',
111
+ symbol: 'PEAQ',
112
+ decimals: 18
113
+ },
114
+ rpcUrls: {
115
+ default: {
116
+ http: [
117
+ 'https://evm.peaq.network'
118
+ ]
119
+ }
120
+ }
121
+ })
122
+ },
123
+ 8453: {
124
+ name: 'base',
125
+ testnet: false,
126
+ chain: base
127
+ },
128
+ 8996: {
129
+ name: 'spree',
130
+ testnet: true,
131
+ chain: localhostChain(8996)
132
+ },
133
+ 8997: {
134
+ name: 'polygon-localnet',
135
+ testnet: true,
136
+ chain: localhostChain(8997)
137
+ },
138
+ 8998: {
139
+ name: 'hardhat',
140
+ testnet: true,
141
+ chain: localhostChain(8998)
142
+ },
143
+ 10200: {
144
+ name: 'chiado',
145
+ testnet: true
146
+ },
147
+ 31337: {
148
+ name: 'geth-localnet',
149
+ testnet: true,
150
+ chain: hardhat
151
+ },
152
+ 42220: {
153
+ name: 'celo',
154
+ testnet: false,
155
+ chain: celo
156
+ },
157
+ 44787: {
158
+ name: 'celo-alfajores',
159
+ testnet: true,
160
+ chain: celoAlfajores
161
+ },
162
+ 62320: {
163
+ name: 'celo-baklava',
164
+ testnet: true
165
+ },
166
+ 80001: {
167
+ name: 'mumbai',
168
+ testnet: true,
169
+ chain: polygonMumbai
170
+ },
171
+ 84532: {
172
+ name: 'base-sepolia',
173
+ testnet: true,
174
+ chain: baseSepolia
175
+ },
176
+ 42161: {
177
+ name: 'arbitrum-one',
178
+ testnet: false,
179
+ chain: arbitrum
180
+ },
181
+ 421613: {
182
+ name: 'arbitrum-goerli',
183
+ testnet: true
184
+ },
185
+ 421614: {
186
+ name: 'arbitrum-sepolia',
187
+ testnet: true,
188
+ chain: arbitrumSepolia
189
+ },
190
+ 1313161554: {
191
+ name: 'aurora',
192
+ testnet: false,
193
+ chain: aurora
194
+ },
195
+ 1313161555: {
196
+ name: 'aurora-testnet',
197
+ testnet: true,
198
+ chain: auroraTestnet
199
+ },
200
+ 1313161556: {
201
+ name: 'aurora-betanet',
202
+ testnet: true
203
+ },
204
+ 4217: {
205
+ name: 'tempo',
206
+ testnet: false,
207
+ chain: tempo
208
+ },
209
+ 42431: {
210
+ name: 'tempo-moderato',
211
+ testnet: true,
212
+ chain: tempoModerato
71
213
  }
214
+ };
215
+ export async function getNetworkName(networkId) {
216
+ const entry = NETWORKS[networkId];
217
+ if (!entry) throw new ContractsError(`Network with id ${networkId} not supported.`);
218
+ return entry.name;
72
219
  }
73
220
  export function isTestnet(networkId) {
74
- switch(networkId){
75
- case 1:
76
- return false;
77
- case 2:
78
- return true;
79
- case 3:
80
- return true;
81
- case 4:
82
- return true;
83
- case 5:
84
- return true;
85
- case 10:
86
- return false;
87
- case 77:
88
- return false;
89
- case 99:
90
- return false;
91
- case 42:
92
- return true;
93
- case 100:
94
- return false;
95
- case 137:
96
- return false;
97
- case 1337:
98
- return true;
99
- case 3141:
100
- return true;
101
- case 3338:
102
- return false;
103
- case 8453:
104
- return false;
105
- case 84532:
106
- return true;
107
- case 10200:
108
- return true;
109
- case 31337:
110
- return true;
111
- case 8996:
112
- return true;
113
- case 8997:
114
- return true;
115
- case 8998:
116
- return true;
117
- case 42220:
118
- return false;
119
- case 44787:
120
- return true;
121
- case 62320:
122
- return true;
123
- case 80001:
124
- return true;
125
- case 42161:
126
- return false;
127
- case 421613:
128
- return true;
129
- case 421614:
130
- return true;
131
- case 1313161554:
132
- return false;
133
- case 1313161555:
134
- return true;
135
- case 1313161556:
136
- return true;
137
- default:
138
- throw new ContractsError(`Network with id ${networkId} not supported.`);
139
- }
221
+ const entry = NETWORKS[networkId];
222
+ if (!entry) throw new ContractsError(`Network with id ${networkId} not supported.`);
223
+ return entry.testnet;
140
224
  }
141
225
  export function getChain(networkId) {
142
- switch(networkId){
143
- case 1:
144
- return mainnet;
145
- case 10:
146
- return optimism;
147
- case 100:
148
- return gnosis;
149
- case 137:
150
- return polygon;
151
- case 3338:
152
- return defineChain({
153
- id: networkId,
154
- name: 'peaq-network',
155
- nativeCurrency: {
156
- name: 'Peaq',
157
- symbol: 'PEAQ',
158
- decimals: 18
159
- },
160
- rpcUrls: {
161
- default: {
162
- http: [
163
- 'https://evm.peaq.network'
164
- ]
165
- }
166
- }
167
- });
168
- case 8453:
169
- return base;
170
- case 84532:
171
- return baseSepolia;
172
- case 42161:
173
- return arbitrum;
174
- case 42220:
175
- return celo;
176
- case 44787:
177
- return celoAlfajores;
178
- case 80001:
179
- return polygonMumbai;
180
- case 421614:
181
- return arbitrumSepolia;
182
- case 1313161554:
183
- return aurora;
184
- case 1313161555:
185
- return auroraTestnet;
186
- case 8996:
187
- case 8997:
188
- case 8998:
189
- return defineChain({
190
- id: networkId,
191
- name: 'Localhost',
192
- fees: {
193
- baseFeeMultiplier: 1.2
194
- },
195
- nativeCurrency: {
196
- name: 'Ether',
197
- symbol: 'ETH',
198
- decimals: 18
199
- },
200
- rpcUrls: {
201
- default: {
202
- http: [
203
- `http://127.0.0.1:${process.env.ETH_PORT || 18545}`
204
- ]
205
- }
206
- }
207
- });
208
- case 1337:
209
- return defineChain({
210
- id: networkId,
211
- name: 'geth-localnet',
212
- nativeCurrency: {
213
- name: 'Ether',
214
- symbol: 'ETH',
215
- decimals: 18
216
- },
217
- rpcUrls: {
218
- default: {
219
- http: [
220
- 'http://contracts.nevermined.localnet'
221
- ]
222
- }
223
- }
224
- });
225
- case 31337:
226
- return hardhat;
227
- default:
228
- throw new ContractsError(`Network with id ${networkId} not supported.`);
229
- }
226
+ const entry = networkId != null ? NETWORKS[networkId] : undefined;
227
+ if (!entry?.chain) throw new ContractsError(`Network with id ${networkId} not supported.`);
228
+ return entry.chain;
229
+ }
230
+ /**
231
+ * True for Tempo networks (mainnet 4217 + moderato 42431); name-prefixed so new
232
+ * Tempo entries are covered. See `applyTempoVerificationGasFloor` for the why.
233
+ */ export function isTempoNetwork(networkId) {
234
+ const entry = networkId != null ? NETWORKS[networkId] : undefined;
235
+ return Boolean(entry?.name.startsWith('tempo'));
230
236
  }
231
237
 
232
238
  //# sourceMappingURL=Network.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/Network.ts"],"sourcesContent":["import { defineChain } from 'viem'\nimport {\n type Chain,\n arbitrum,\n arbitrumSepolia,\n aurora,\n auroraTestnet,\n base,\n baseSepolia,\n celo,\n celoAlfajores,\n gnosis,\n hardhat,\n mainnet,\n optimism,\n polygon,\n polygonMumbai,\n} from 'viem/chains'\nimport { ContractsError } from '../errors/NeverminedErrors.js'\n\nexport async function getNetworkName(networkId: number): Promise<string> {\n switch (networkId) {\n case 1:\n return 'mainnet'\n case 2:\n return 'morden'\n case 3:\n return 'ropsten'\n case 4:\n return 'rinkeby'\n case 5:\n return 'goerli'\n case 10:\n return 'optimism'\n case 77:\n return 'poa_sokol'\n case 99:\n return 'poa_core'\n case 42:\n return 'kovan'\n case 100:\n return 'gnosis'\n case 137:\n return 'matic'\n case 1337:\n return 'geth-localnet'\n case 3141:\n return 'hyperspace'\n case 3338:\n return 'peaq-mainnet'\n case 8453:\n return 'base'\n case 84532:\n return 'base-sepolia'\n case 10200:\n return 'chiado' // Gnosis testnet\n case 31337:\n return 'geth-localnet'\n case 8996:\n return 'spree'\n case 8997:\n return 'polygon-localnet'\n case 8998:\n return 'hardhat'\n case 42220:\n return 'celo'\n case 44787:\n return 'celo-alfajores'\n case 62320:\n return 'celo-baklava'\n case 80001:\n return 'mumbai'\n case 42161:\n return 'arbitrum-one'\n case 421613:\n return 'arbitrum-goerli'\n case 421614:\n return 'arbitrum-sepolia'\n case 1313161554:\n return 'aurora'\n case 1313161555:\n return 'aurora-testnet'\n case 1313161556:\n return 'aurora-betanet'\n default:\n throw new ContractsError(`Network with id ${networkId} not supported.`)\n }\n}\nexport function isTestnet(networkId: number): boolean {\n switch (networkId) {\n case 1:\n return false\n case 2:\n return true\n case 3:\n return true\n case 4:\n return true\n case 5:\n return true\n case 10:\n return false\n case 77:\n return false\n case 99:\n return false\n case 42:\n return true\n case 100:\n return false\n case 137:\n return false\n case 1337:\n return true\n case 3141:\n return true\n case 3338:\n return false\n case 8453:\n return false\n case 84532:\n return true\n case 10200:\n return true\n case 31337:\n return true\n case 8996:\n return true\n case 8997:\n return true\n case 8998:\n return true\n case 42220:\n return false\n case 44787:\n return true\n case 62320:\n return true\n case 80001:\n return true\n case 42161:\n return false\n case 421613:\n return true\n case 421614:\n return true\n case 1313161554:\n return false\n case 1313161555:\n return true\n case 1313161556:\n return true\n default:\n throw new ContractsError(`Network with id ${networkId} not supported.`)\n }\n}\nexport function getChain(networkId: number | undefined): Chain {\n switch (networkId) {\n case 1:\n return mainnet\n case 10:\n return optimism as Chain\n case 100:\n return gnosis\n case 137:\n return polygon\n case 3338:\n return defineChain({\n id: networkId,\n name: 'peaq-network',\n nativeCurrency: {\n name: 'Peaq',\n symbol: 'PEAQ',\n decimals: 18,\n },\n rpcUrls: {\n default: {\n http: ['https://evm.peaq.network'],\n },\n },\n })\n case 8453:\n return base as Chain\n case 84532:\n return baseSepolia as Chain\n case 42161:\n return arbitrum\n case 42220:\n return celo as Chain\n case 44787:\n return celoAlfajores as Chain\n case 80001:\n return polygonMumbai\n case 421614:\n return arbitrumSepolia\n case 1313161554:\n return aurora\n case 1313161555:\n return auroraTestnet\n case 8996:\n case 8997:\n case 8998:\n return defineChain({\n id: networkId,\n name: 'Localhost',\n fees: {\n baseFeeMultiplier: 1.2,\n //defaultPriorityFee: parseGwei('0.01'),\n },\n nativeCurrency: {\n name: 'Ether',\n symbol: 'ETH',\n decimals: 18,\n },\n rpcUrls: {\n default: {\n http: [`http://127.0.0.1:${process.env.ETH_PORT || 18545}`],\n },\n },\n })\n case 1337:\n return defineChain({\n id: networkId,\n name: 'geth-localnet',\n nativeCurrency: {\n name: 'Ether',\n symbol: 'ETH',\n decimals: 18,\n },\n rpcUrls: {\n default: {\n http: ['http://contracts.nevermined.localnet'],\n },\n },\n })\n case 31337:\n return hardhat\n default:\n throw new ContractsError(`Network with id ${networkId} not supported.`)\n }\n}\n"],"names":["defineChain","arbitrum","arbitrumSepolia","aurora","auroraTestnet","base","baseSepolia","celo","celoAlfajores","gnosis","hardhat","mainnet","optimism","polygon","polygonMumbai","ContractsError","getNetworkName","networkId","isTestnet","getChain","id","name","nativeCurrency","symbol","decimals","rpcUrls","default","http","fees","baseFeeMultiplier","process","env","ETH_PORT"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/Network.ts"],"sourcesContent":["import { defineChain } from 'viem'\nimport {\n type Chain,\n arbitrum,\n arbitrumSepolia,\n aurora,\n auroraTestnet,\n base,\n baseSepolia,\n celo,\n celoAlfajores,\n gnosis,\n hardhat,\n mainnet,\n optimism,\n polygon,\n polygonMumbai,\n tempo,\n tempoModerato,\n} from 'viem/chains'\nimport { ContractsError } from '../errors/NeverminedErrors.js'\n\nconst localhostChain = (id: number): Chain =>\n defineChain({\n id,\n name: 'Localhost',\n fees: { baseFeeMultiplier: 1.2 },\n nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n rpcUrls: { default: { http: [`http://127.0.0.1:${process.env.ETH_PORT || 18545}`] } },\n })\n\n/**\n * Single source of truth for every supported network (#1929). Each entry ties the\n * chainId to its `name`, `testnet` flag, and viem `chain`. Adding a network is ONE\n * entry here `getNetworkName` / `isTestnet` / `getChain` all read from this map.\n *\n * `chain` is optional: legacy testnets we still name/classify but no longer have a\n * viem chain for (`getChain` throws for those, as before).\n */\nconst NETWORKS: Record<number, { name: string; testnet: boolean; chain?: Chain }> = {\n 1: { name: 'mainnet', testnet: false, chain: mainnet },\n 2: { name: 'morden', testnet: true },\n 3: { name: 'ropsten', testnet: true },\n 4: { name: 'rinkeby', testnet: true },\n 5: { name: 'goerli', testnet: true },\n 10: { name: 'optimism', testnet: false, chain: optimism as Chain },\n 42: { name: 'kovan', testnet: true },\n 77: { name: 'poa_sokol', testnet: false },\n 99: { name: 'poa_core', testnet: false },\n 100: { name: 'gnosis', testnet: false, chain: gnosis },\n 137: { name: 'matic', testnet: false, chain: polygon },\n 1337: {\n name: 'geth-localnet',\n testnet: true,\n chain: defineChain({\n id: 1337,\n name: 'geth-localnet',\n nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },\n rpcUrls: { default: { http: ['http://contracts.nevermined.localnet'] } },\n }),\n },\n 3141: { name: 'hyperspace', testnet: true },\n 3338: {\n name: 'peaq-mainnet',\n testnet: false,\n chain: defineChain({\n id: 3338,\n name: 'peaq-network',\n nativeCurrency: { name: 'Peaq', symbol: 'PEAQ', decimals: 18 },\n rpcUrls: { default: { http: ['https://evm.peaq.network'] } },\n }),\n },\n 8453: { name: 'base', testnet: false, chain: base as Chain },\n 8996: { name: 'spree', testnet: true, chain: localhostChain(8996) },\n 8997: { name: 'polygon-localnet', testnet: true, chain: localhostChain(8997) },\n 8998: { name: 'hardhat', testnet: true, chain: localhostChain(8998) },\n 10200: { name: 'chiado', testnet: true }, // Gnosis testnet\n 31337: { name: 'geth-localnet', testnet: true, chain: hardhat },\n 42220: { name: 'celo', testnet: false, chain: celo as Chain },\n 44787: { name: 'celo-alfajores', testnet: true, chain: celoAlfajores as Chain },\n 62320: { name: 'celo-baklava', testnet: true },\n 80001: { name: 'mumbai', testnet: true, chain: polygonMumbai },\n 84532: { name: 'base-sepolia', testnet: true, chain: baseSepolia as Chain },\n 42161: { name: 'arbitrum-one', testnet: false, chain: arbitrum },\n 421613: { name: 'arbitrum-goerli', testnet: true },\n 421614: { name: 'arbitrum-sepolia', testnet: true, chain: arbitrumSepolia },\n 1313161554: { name: 'aurora', testnet: false, chain: aurora },\n 1313161555: { name: 'aurora-testnet', testnet: true, chain: auroraTestnet },\n 1313161556: { name: 'aurora-betanet', testnet: true },\n 4217: { name: 'tempo', testnet: false, chain: tempo as Chain },\n 42431: { name: 'tempo-moderato', testnet: true, chain: tempoModerato as Chain },\n}\n\nexport async function getNetworkName(networkId: number): Promise<string> {\n const entry = NETWORKS[networkId]\n if (!entry) throw new ContractsError(`Network with id ${networkId} not supported.`)\n return entry.name\n}\n\nexport function isTestnet(networkId: number): boolean {\n const entry = NETWORKS[networkId]\n if (!entry) throw new ContractsError(`Network with id ${networkId} not supported.`)\n return entry.testnet\n}\n\nexport function getChain(networkId: number | undefined): Chain {\n const entry = networkId != null ? NETWORKS[networkId] : undefined\n if (!entry?.chain) throw new ContractsError(`Network with id ${networkId} not supported.`)\n return entry.chain\n}\n\n/**\n * True for Tempo networks (mainnet 4217 + moderato 42431); name-prefixed so new\n * Tempo entries are covered. See `applyTempoVerificationGasFloor` for the why.\n */\nexport function isTempoNetwork(networkId: number | undefined): boolean {\n const entry = networkId != null ? NETWORKS[networkId] : undefined\n return Boolean(entry?.name.startsWith('tempo'))\n}\n"],"names":["defineChain","arbitrum","arbitrumSepolia","aurora","auroraTestnet","base","baseSepolia","celo","celoAlfajores","gnosis","hardhat","mainnet","optimism","polygon","polygonMumbai","tempo","tempoModerato","ContractsError","localhostChain","id","name","fees","baseFeeMultiplier","nativeCurrency","symbol","decimals","rpcUrls","default","http","process","env","ETH_PORT","NETWORKS","testnet","chain","getNetworkName","networkId","entry","isTestnet","getChain","undefined","isTempoNetwork","Boolean","startsWith"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nevermined-io/core-kit",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",