@lidofinance/eth-providers 0.0.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.
- package/README.md +20 -0
- package/dist/index.cjs +74 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +57 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +42 -0
package/README.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# @lidofinance/eth-providers
|
|
2
|
+
|
|
3
|
+
Introduces StaticJsonRpcBatchProvider and providers factory
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
`yarn add @lidofinance/eth-providers`.
|
|
8
|
+
|
|
9
|
+
## Getting started
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
import {
|
|
13
|
+
providerFactory,
|
|
14
|
+
StaticJsonRpcBatchProvider,
|
|
15
|
+
} from '@lidofinance/eth-providers';
|
|
16
|
+
|
|
17
|
+
export const getStaticRpcBatchProvider = providerFactory(
|
|
18
|
+
StaticJsonRpcBatchProvider,
|
|
19
|
+
);
|
|
20
|
+
```
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
var $cMVFq$ethersprojectproviders = require("@ethersproject/providers");
|
|
2
|
+
var $cMVFq$ethersprojectproperties = require("@ethersproject/properties");
|
|
3
|
+
var $cMVFq$ethersprojectlogger = require("@ethersproject/logger");
|
|
4
|
+
|
|
5
|
+
function $parcel$exportWildcard(dest, source) {
|
|
6
|
+
Object.keys(source).forEach(function(key) {
|
|
7
|
+
if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
Object.defineProperty(dest, key, {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function get() {
|
|
14
|
+
return source[key];
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
return dest;
|
|
20
|
+
}
|
|
21
|
+
function $parcel$export(e, n, v, s) {
|
|
22
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
23
|
+
}
|
|
24
|
+
var $31ceaba192d1edd2$exports = {};
|
|
25
|
+
|
|
26
|
+
$parcel$export($31ceaba192d1edd2$exports, "providerFactory", function () { return $31ceaba192d1edd2$export$93e73268b9641cdd; });
|
|
27
|
+
const $31ceaba192d1edd2$export$93e73268b9641cdd = (Provider)=>{
|
|
28
|
+
const cache = new Map();
|
|
29
|
+
return (chainId, url, cacheSeed = 0, pollingInterval = null)=>{
|
|
30
|
+
const cacheKey = `${chainId}-${cacheSeed}-${url}`;
|
|
31
|
+
let provider = cache.get(cacheKey);
|
|
32
|
+
if (!provider) {
|
|
33
|
+
provider = new Provider(url, chainId);
|
|
34
|
+
cache.set(cacheKey, provider);
|
|
35
|
+
}
|
|
36
|
+
if (pollingInterval) provider.pollingInterval = pollingInterval;
|
|
37
|
+
return provider;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
var $a423fee1464d5e50$exports = {};
|
|
43
|
+
|
|
44
|
+
$parcel$export($a423fee1464d5e50$exports, "StaticJsonRpcBatchProvider", function () { return $a423fee1464d5e50$export$ca0c31cef0d9d616; });
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
/*
|
|
49
|
+
* Based on
|
|
50
|
+
* https://github.com/ethers-io/ethers.js/blob/master/packages/providers/src.ts/url-json-rpc-provider.ts#L28
|
|
51
|
+
*/ const $a423fee1464d5e50$var$logger = new (0, $cMVFq$ethersprojectlogger.Logger)("StaticJsonRpcBatchProvider/1.0");
|
|
52
|
+
class $a423fee1464d5e50$export$ca0c31cef0d9d616 extends (0, $cMVFq$ethersprojectproviders.JsonRpcBatchProvider) {
|
|
53
|
+
async detectNetwork() {
|
|
54
|
+
let network = this.network;
|
|
55
|
+
if (network == null) {
|
|
56
|
+
network = await super.detectNetwork();
|
|
57
|
+
if (!network) $a423fee1464d5e50$var$logger.throwError("no network detected", (0, $cMVFq$ethersprojectlogger.Logger).errors.UNKNOWN_ERROR, {});
|
|
58
|
+
// If still not set, set it
|
|
59
|
+
if (this._network == null) {
|
|
60
|
+
// A static network does not support "any"
|
|
61
|
+
(0, $cMVFq$ethersprojectproperties.defineReadOnly)(this, "_network", network);
|
|
62
|
+
this.emit("network", network, null);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return network;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
$parcel$exportWildcard(module.exports, $31ceaba192d1edd2$exports);
|
|
71
|
+
$parcel$exportWildcard(module.exports, $a423fee1464d5e50$exports);
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;ACEO,MAAM,yCAAe,GAAG,CAAmC,QAAW,GAAK;IAChF,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2B;IAEhD,OAAO,CACL,OAAwB,EACxB,GAAW,EACX,SAAS,GAAG,CAAC,EACb,eAA8B,GAAG,IAAI,GACjB;QACpB,MAAM,QAAQ,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAElC,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,AAAmB;YACxD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC9B;QAED,IAAI,eAAe,EACjB,QAAQ,CAAC,eAAe,GAAG,eAAe;QAG5C,OAAO,QAAQ,CAAA;KAChB,CAAA;CACF;;ADzBD;;;;AEAA;;;AAKA;;;GAGG,CAEH,MAAM,4BAAM,GAAG,IAAI,CAAA,GAAA,iCAAM,CAAA,CAAC,gCAAgC,CAAC;AAEpD,MAAM,yCAA0B,SAAS,CAAA,GAAA,kDAAoB,CAAA;IAClE,MAAM,aAAa,GAAqB;QACtC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;QAC1B,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE;YAErC,IAAI,CAAC,OAAO,EACV,4BAAM,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAA,GAAA,iCAAM,CAAA,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YAG3E,2BAA2B;YAC3B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;gBACzB,0CAA0C;gBAC1C,CAAA,GAAA,6CAAc,CAAA,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;gBAEzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;aACpC;SACF;QACD,OAAO,OAAO,CAAA;KACf;CACF;","sources":["packages/eth/core/providers/src/index.ts","packages/eth/core/providers/src/providerFactory.ts","packages/eth/core/providers/src/staticJsonRpcBatchProvider.ts"],"sourcesContent":["export * from './providerFactory'\nexport * from './staticJsonRpcBatchProvider'\n","import { JsonRpcProvider } from '@ethersproject/providers'\n\nexport const providerFactory = <P extends typeof JsonRpcProvider>(Provider: P) => {\n const cache = new Map<string, InstanceType<P>>()\n\n return (\n chainId: string | number,\n url: string,\n cacheSeed = 0,\n pollingInterval: number | null = null,\n ): InstanceType<P> => {\n const cacheKey = `${chainId}-${cacheSeed}-${url}`\n let provider = cache.get(cacheKey)\n\n if (!provider) {\n provider = new Provider(url, chainId) as InstanceType<P>\n cache.set(cacheKey, provider)\n }\n\n if (pollingInterval) {\n provider.pollingInterval = pollingInterval\n }\n\n return provider\n }\n}\n","import { JsonRpcBatchProvider } from '@ethersproject/providers'\nimport type { Network } from '@ethersproject/networks'\nimport { defineReadOnly } from '@ethersproject/properties'\nimport { Logger } from '@ethersproject/logger'\n\n/*\n * Based on\n * https://github.com/ethers-io/ethers.js/blob/master/packages/providers/src.ts/url-json-rpc-provider.ts#L28\n */\n\nconst logger = new Logger('StaticJsonRpcBatchProvider/1.0')\n\nexport class StaticJsonRpcBatchProvider extends JsonRpcBatchProvider {\n async detectNetwork(): Promise<Network> {\n let network = this.network\n if (network == null) {\n network = await super.detectNetwork()\n\n if (!network) {\n logger.throwError('no network detected', Logger.errors.UNKNOWN_ERROR, {})\n }\n\n // If still not set, set it\n if (this._network == null) {\n // A static network does not support \"any\"\n defineReadOnly(this, '_network', network)\n\n this.emit('network', network, null)\n }\n }\n return network\n }\n}\n"],"names":[],"version":3,"file":"index.cjs.map"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { JsonRpcProvider, JsonRpcBatchProvider } from "@ethersproject/providers";
|
|
2
|
+
import { Network } from "@ethersproject/networks";
|
|
3
|
+
export const providerFactory: <P extends typeof JsonRpcProvider>(Provider: P) => (chainId: string | number, url: string, cacheSeed?: number, pollingInterval?: number | null) => InstanceType<P>;
|
|
4
|
+
export class StaticJsonRpcBatchProvider extends JsonRpcBatchProvider {
|
|
5
|
+
detectNetwork(): Promise<Network>;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;AAEA,OAAO,MAAM,8EAIA,MAAM,GAAG,MAAM,OACnB,MAAM,wCAEM,MAAM,GAAG,IAAI,oBAgBjC,CAAA;ACbD,uCAAwC,SAAQ,oBAAoB;IAC5D,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;CAmBxC","sources":["packages/eth/core/providers/src/src/providerFactory.ts","packages/eth/core/providers/src/src/staticJsonRpcBatchProvider.ts","packages/eth/core/providers/src/src/index.ts","packages/eth/core/providers/src/index.ts"],"sourcesContent":[null,null,null,"export * from './providerFactory'\nexport * from './staticJsonRpcBatchProvider'\n"],"names":[],"version":3,"file":"index.d.ts.map"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import {JsonRpcBatchProvider as $j8Cpq$JsonRpcBatchProvider} from "@ethersproject/providers";
|
|
2
|
+
import {defineReadOnly as $j8Cpq$defineReadOnly} from "@ethersproject/properties";
|
|
3
|
+
import {Logger as $j8Cpq$Logger} from "@ethersproject/logger";
|
|
4
|
+
|
|
5
|
+
function $parcel$export(e, n, v, s) {
|
|
6
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
7
|
+
}
|
|
8
|
+
var $ec9d59749370af5e$exports = {};
|
|
9
|
+
|
|
10
|
+
$parcel$export($ec9d59749370af5e$exports, "providerFactory", function () { return $ec9d59749370af5e$export$93e73268b9641cdd; });
|
|
11
|
+
const $ec9d59749370af5e$export$93e73268b9641cdd = (Provider)=>{
|
|
12
|
+
const cache = new Map();
|
|
13
|
+
return (chainId, url, cacheSeed = 0, pollingInterval = null)=>{
|
|
14
|
+
const cacheKey = `${chainId}-${cacheSeed}-${url}`;
|
|
15
|
+
let provider = cache.get(cacheKey);
|
|
16
|
+
if (!provider) {
|
|
17
|
+
provider = new Provider(url, chainId);
|
|
18
|
+
cache.set(cacheKey, provider);
|
|
19
|
+
}
|
|
20
|
+
if (pollingInterval) provider.pollingInterval = pollingInterval;
|
|
21
|
+
return provider;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
var $258fa24ca038aa82$exports = {};
|
|
27
|
+
|
|
28
|
+
$parcel$export($258fa24ca038aa82$exports, "StaticJsonRpcBatchProvider", function () { return $258fa24ca038aa82$export$ca0c31cef0d9d616; });
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
/*
|
|
33
|
+
* Based on
|
|
34
|
+
* https://github.com/ethers-io/ethers.js/blob/master/packages/providers/src.ts/url-json-rpc-provider.ts#L28
|
|
35
|
+
*/ const $258fa24ca038aa82$var$logger = new (0, $j8Cpq$Logger)("StaticJsonRpcBatchProvider/1.0");
|
|
36
|
+
class $258fa24ca038aa82$export$ca0c31cef0d9d616 extends (0, $j8Cpq$JsonRpcBatchProvider) {
|
|
37
|
+
async detectNetwork() {
|
|
38
|
+
let network = this.network;
|
|
39
|
+
if (network == null) {
|
|
40
|
+
network = await super.detectNetwork();
|
|
41
|
+
if (!network) $258fa24ca038aa82$var$logger.throwError("no network detected", (0, $j8Cpq$Logger).errors.UNKNOWN_ERROR, {});
|
|
42
|
+
// If still not set, set it
|
|
43
|
+
if (this._network == null) {
|
|
44
|
+
// A static network does not support "any"
|
|
45
|
+
(0, $j8Cpq$defineReadOnly)(this, "_network", network);
|
|
46
|
+
this.emit("network", network, null);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return network;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
export {$ec9d59749370af5e$export$93e73268b9641cdd as providerFactory, $258fa24ca038aa82$export$ca0c31cef0d9d616 as StaticJsonRpcBatchProvider};
|
|
57
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;ACEO,MAAM,yCAAe,GAAG,CAAmC,QAAW,GAAK;IAChF,MAAM,KAAK,GAAG,IAAI,GAAG,EAA2B;IAEhD,OAAO,CACL,OAAwB,EACxB,GAAW,EACX,SAAS,GAAG,CAAC,EACb,eAA8B,GAAG,IAAI,GACjB;QACpB,MAAM,QAAQ,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;QAElC,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,AAAmB;YACxD,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC9B;QAED,IAAI,eAAe,EACjB,QAAQ,CAAC,eAAe,GAAG,eAAe;QAG5C,OAAO,QAAQ,CAAA;KAChB,CAAA;CACF;;ADzBD;;;;AEAA;;;AAKA;;;GAGG,CAEH,MAAM,4BAAM,GAAG,IAAI,CAAA,GAAA,aAAM,CAAA,CAAC,gCAAgC,CAAC;AAEpD,MAAM,yCAA0B,SAAS,CAAA,GAAA,2BAAoB,CAAA;IAClE,MAAM,aAAa,GAAqB;QACtC,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;QAC1B,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE;YAErC,IAAI,CAAC,OAAO,EACV,4BAAM,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAA,GAAA,aAAM,CAAA,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;YAG3E,2BAA2B;YAC3B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;gBACzB,0CAA0C;gBAC1C,CAAA,GAAA,qBAAc,CAAA,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;gBAEzC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC;aACpC;SACF;QACD,OAAO,OAAO,CAAA;KACf;CACF;","sources":["packages/eth/core/providers/src/index.ts","packages/eth/core/providers/src/providerFactory.ts","packages/eth/core/providers/src/staticJsonRpcBatchProvider.ts"],"sourcesContent":["export * from './providerFactory'\nexport * from './staticJsonRpcBatchProvider'\n","import { JsonRpcProvider } from '@ethersproject/providers'\n\nexport const providerFactory = <P extends typeof JsonRpcProvider>(Provider: P) => {\n const cache = new Map<string, InstanceType<P>>()\n\n return (\n chainId: string | number,\n url: string,\n cacheSeed = 0,\n pollingInterval: number | null = null,\n ): InstanceType<P> => {\n const cacheKey = `${chainId}-${cacheSeed}-${url}`\n let provider = cache.get(cacheKey)\n\n if (!provider) {\n provider = new Provider(url, chainId) as InstanceType<P>\n cache.set(cacheKey, provider)\n }\n\n if (pollingInterval) {\n provider.pollingInterval = pollingInterval\n }\n\n return provider\n }\n}\n","import { JsonRpcBatchProvider } from '@ethersproject/providers'\nimport type { Network } from '@ethersproject/networks'\nimport { defineReadOnly } from '@ethersproject/properties'\nimport { Logger } from '@ethersproject/logger'\n\n/*\n * Based on\n * https://github.com/ethers-io/ethers.js/blob/master/packages/providers/src.ts/url-json-rpc-provider.ts#L28\n */\n\nconst logger = new Logger('StaticJsonRpcBatchProvider/1.0')\n\nexport class StaticJsonRpcBatchProvider extends JsonRpcBatchProvider {\n async detectNetwork(): Promise<Network> {\n let network = this.network\n if (network == null) {\n network = await super.detectNetwork()\n\n if (!network) {\n logger.throwError('no network detected', Logger.errors.UNKNOWN_ERROR, {})\n }\n\n // If still not set, set it\n if (this._network == null) {\n // A static network does not support \"any\"\n defineReadOnly(this, '_network', network)\n\n this.emit('network', network, null)\n }\n }\n return network\n }\n}\n"],"names":[],"version":3,"file":"index.mjs.map"}
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lidofinance/eth-providers",
|
|
3
|
+
"description": "Introduces StaticJsonRpcBatchProvider and providers factory",
|
|
4
|
+
"repository": "git@github.com:lidofinance/lido-ui-blocks.git",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"version": "0.0.3",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
10
|
+
"engines": {
|
|
11
|
+
"node": ">= 16",
|
|
12
|
+
"browsers": "> 0.5%, last 2 versions, not dead"
|
|
13
|
+
},
|
|
14
|
+
"source": "./src/index.ts",
|
|
15
|
+
"main": "dist/index.cjs",
|
|
16
|
+
"module": "dist/index.mjs",
|
|
17
|
+
"types": "dist/index.d.ts",
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "parcel build",
|
|
20
|
+
"format": "prettier --check src",
|
|
21
|
+
"format:fix": "yarn format --write",
|
|
22
|
+
"types": "tsc --noEmit",
|
|
23
|
+
"test": "jest"
|
|
24
|
+
},
|
|
25
|
+
"peerDependencies": {
|
|
26
|
+
"@ethersproject/logger": "^5.5.2",
|
|
27
|
+
"@ethersproject/networks": "^5.5.0",
|
|
28
|
+
"@ethersproject/properties": "^5.5.0",
|
|
29
|
+
"@ethersproject/providers": "^5.5.0"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@lidofinance/config-prettier": "0.0.1",
|
|
33
|
+
"@ethersproject/logger": "^5.5.2",
|
|
34
|
+
"@ethersproject/networks": "^5.5.0",
|
|
35
|
+
"@ethersproject/properties": "^5.5.0",
|
|
36
|
+
"@ethersproject/providers": "^5.5.0",
|
|
37
|
+
"@types/jest": "^28.1.6",
|
|
38
|
+
"@types/node": "^18.0.6",
|
|
39
|
+
"jest": "^28.1.3",
|
|
40
|
+
"ts-jest": "^28.0.7"
|
|
41
|
+
}
|
|
42
|
+
}
|