quantumcoin 6.14.2 → 6.14.4
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 +12 -22
- package/dist/README.md +1 -1
- package/lib.commonjs/_version.js +1 -1
- package/lib.commonjs/crypto/signing-key.d.ts +1 -1
- package/lib.commonjs/crypto/signing-key.d.ts.map +1 -1
- package/lib.commonjs/crypto/signing-key.js +14 -8
- package/lib.commonjs/crypto/signing-key.js.map +1 -1
- package/lib.commonjs/quantumcoin.d.ts +2 -0
- package/lib.commonjs/quantumcoin.d.ts.map +1 -1
- package/lib.commonjs/quantumcoin.js +11 -5
- package/lib.commonjs/quantumcoin.js.map +1 -1
- package/lib.commonjs/transaction/address.d.ts.map +1 -1
- package/lib.commonjs/transaction/address.js +8 -3
- package/lib.commonjs/transaction/address.js.map +1 -1
- package/lib.commonjs/wallet/json-keystore.d.ts.map +1 -1
- package/lib.commonjs/wallet/json-keystore.js +7 -7
- package/lib.commonjs/wallet/json-keystore.js.map +1 -1
- package/lib.commonjs/wallet/wallet.d.ts.map +1 -1
- package/lib.commonjs/wallet/wallet.js +2 -2
- package/lib.commonjs/wallet/wallet.js.map +1 -1
- package/lib.esm/_version.js +1 -1
- package/lib.esm/crypto/signing-key.d.ts +1 -1
- package/lib.esm/crypto/signing-key.d.ts.map +1 -1
- package/lib.esm/crypto/signing-key.js +15 -8
- package/lib.esm/crypto/signing-key.js.map +1 -1
- package/lib.esm/quantumcoin.d.ts +2 -0
- package/lib.esm/quantumcoin.d.ts.map +1 -1
- package/lib.esm/quantumcoin.js +6 -0
- package/lib.esm/quantumcoin.js.map +1 -1
- package/lib.esm/transaction/address.d.ts.map +1 -1
- package/lib.esm/transaction/address.js +8 -2
- package/lib.esm/transaction/address.js.map +1 -1
- package/lib.esm/wallet/json-keystore.d.ts.map +1 -1
- package/lib.esm/wallet/json-keystore.js +11 -5
- package/lib.esm/wallet/json-keystore.js.map +1 -1
- package/lib.esm/wallet/wallet.d.ts.map +1 -1
- package/lib.esm/wallet/wallet.js +3 -1
- package/lib.esm/wallet/wallet.js.map +1 -1
- package/package.json +6 -5
- package/src.ts/_version.ts +1 -1
- package/src.ts/crypto/signing-key.ts +14 -9
- package/src.ts/quantumcoin.ts +10 -2
- package/src.ts/transaction/address.ts +7 -3
- package/src.ts/wallet/json-keystore.ts +8 -6
- package/src.ts/wallet/wallet.ts +2 -3
- package/dist/quantumcoin.js +0 -21137
- package/dist/quantumcoin.js.map +0 -1
- package/dist/quantumcoin.min.js +0 -1
- package/dist/quantumcoin.min.js'.gz' +0 -0
- package/dist/quantumcoin.umd.js +0 -21316
- package/dist/quantumcoin.umd.js.map +0 -1
- package/dist/quantumcoin.umd.min.js +0 -1
- package/dist/quantumcoin.umd.min.js'.gz' +0 -0
- package/dist/wordlists-extra.js +0 -1500
- package/dist/wordlists-extra.js.map +0 -1
- package/dist/wordlists-extra.min.js +0 -1
- package/dist/wordlists-extra.min.js'.gz' +0 -0
- package/lib.commonjs/providers/provider-alchemy.d.ts +0 -50
- package/lib.commonjs/providers/provider-alchemy.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-alchemy.js +0 -151
- package/lib.commonjs/providers/provider-alchemy.js.map +0 -1
- package/lib.commonjs/providers/provider-ankr.d.ts +0 -61
- package/lib.commonjs/providers/provider-ankr.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-ankr.js +0 -137
- package/lib.commonjs/providers/provider-ankr.js.map +0 -1
- package/lib.commonjs/providers/provider-blockscout.d.ts +0 -59
- package/lib.commonjs/providers/provider-blockscout.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-blockscout.js +0 -145
- package/lib.commonjs/providers/provider-blockscout.js.map +0 -1
- package/lib.commonjs/providers/provider-chainstack.d.ts +0 -46
- package/lib.commonjs/providers/provider-chainstack.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-chainstack.js +0 -102
- package/lib.commonjs/providers/provider-chainstack.js.map +0 -1
- package/lib.commonjs/providers/provider-cloudflare.d.ts +0 -14
- package/lib.commonjs/providers/provider-cloudflare.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-cloudflare.js +0 -26
- package/lib.commonjs/providers/provider-cloudflare.js.map +0 -1
- package/lib.commonjs/providers/provider-etherscan.d.ts +0 -147
- package/lib.commonjs/providers/provider-etherscan.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-etherscan.js +0 -587
- package/lib.commonjs/providers/provider-etherscan.js.map +0 -1
- package/lib.commonjs/providers/provider-infura.d.ts +0 -101
- package/lib.commonjs/providers/provider-infura.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-infura.js +0 -206
- package/lib.commonjs/providers/provider-infura.js.map +0 -1
- package/lib.commonjs/providers/provider-pocket.d.ts +0 -54
- package/lib.commonjs/providers/provider-pocket.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-pocket.js +0 -109
- package/lib.commonjs/providers/provider-pocket.js.map +0 -1
- package/lib.commonjs/providers/provider-quicknode.d.ts +0 -59
- package/lib.commonjs/providers/provider-quicknode.d.ts.map +0 -1
- package/lib.commonjs/providers/provider-quicknode.js +0 -163
- package/lib.commonjs/providers/provider-quicknode.js.map +0 -1
- package/lib.commonjs/wallet/hdwallet.d.ts +0 -248
- package/lib.commonjs/wallet/hdwallet.d.ts.map +0 -1
- package/lib.commonjs/wallet/hdwallet.js +0 -505
- package/lib.commonjs/wallet/hdwallet.js.map +0 -1
- package/lib.commonjs/wallet/json-crowdsale.d.ts +0 -27
- package/lib.commonjs/wallet/json-crowdsale.d.ts.map +0 -1
- package/lib.commonjs/wallet/json-crowdsale.js +0 -60
- package/lib.commonjs/wallet/json-crowdsale.js.map +0 -1
- package/lib.commonjs/wallet/mnemonic.d.ts +0 -65
- package/lib.commonjs/wallet/mnemonic.d.ts.map +0 -1
- package/lib.commonjs/wallet/mnemonic.js +0 -169
- package/lib.commonjs/wallet/mnemonic.js.map +0 -1
- package/lib.commonjs/wallet/seedwallet.d.ts +0 -4
- package/lib.commonjs/wallet/seedwallet.d.ts.map +0 -1
- package/lib.commonjs/wallet/seedwallet.js +0 -8
- package/lib.commonjs/wallet/seedwallet.js.map +0 -1
- package/lib.esm/providers/provider-alchemy.d.ts +0 -50
- package/lib.esm/providers/provider-alchemy.d.ts.map +0 -1
- package/lib.esm/providers/provider-alchemy.js +0 -147
- package/lib.esm/providers/provider-alchemy.js.map +0 -1
- package/lib.esm/providers/provider-ankr.d.ts +0 -61
- package/lib.esm/providers/provider-ankr.d.ts.map +0 -1
- package/lib.esm/providers/provider-ankr.js +0 -133
- package/lib.esm/providers/provider-ankr.js.map +0 -1
- package/lib.esm/providers/provider-blockscout.d.ts +0 -59
- package/lib.esm/providers/provider-blockscout.d.ts.map +0 -1
- package/lib.esm/providers/provider-blockscout.js +0 -141
- package/lib.esm/providers/provider-blockscout.js.map +0 -1
- package/lib.esm/providers/provider-chainstack.d.ts +0 -46
- package/lib.esm/providers/provider-chainstack.d.ts.map +0 -1
- package/lib.esm/providers/provider-chainstack.js +0 -98
- package/lib.esm/providers/provider-chainstack.js.map +0 -1
- package/lib.esm/providers/provider-cloudflare.d.ts +0 -14
- package/lib.esm/providers/provider-cloudflare.d.ts.map +0 -1
- package/lib.esm/providers/provider-cloudflare.js +0 -22
- package/lib.esm/providers/provider-cloudflare.js.map +0 -1
- package/lib.esm/providers/provider-etherscan.d.ts +0 -147
- package/lib.esm/providers/provider-etherscan.d.ts.map +0 -1
- package/lib.esm/providers/provider-etherscan.js +0 -584
- package/lib.esm/providers/provider-etherscan.js.map +0 -1
- package/lib.esm/providers/provider-infura.d.ts +0 -101
- package/lib.esm/providers/provider-infura.d.ts.map +0 -1
- package/lib.esm/providers/provider-infura.js +0 -201
- package/lib.esm/providers/provider-infura.js.map +0 -1
- package/lib.esm/providers/provider-pocket.d.ts +0 -54
- package/lib.esm/providers/provider-pocket.d.ts.map +0 -1
- package/lib.esm/providers/provider-pocket.js +0 -105
- package/lib.esm/providers/provider-pocket.js.map +0 -1
- package/lib.esm/providers/provider-quicknode.d.ts +0 -59
- package/lib.esm/providers/provider-quicknode.d.ts.map +0 -1
- package/lib.esm/providers/provider-quicknode.js +0 -159
- package/lib.esm/providers/provider-quicknode.js.map +0 -1
- package/lib.esm/wallet/hdwallet.d.ts +0 -248
- package/lib.esm/wallet/hdwallet.d.ts.map +0 -1
- package/lib.esm/wallet/hdwallet.js +0 -498
- package/lib.esm/wallet/hdwallet.js.map +0 -1
- package/lib.esm/wallet/json-crowdsale.d.ts +0 -27
- package/lib.esm/wallet/json-crowdsale.d.ts.map +0 -1
- package/lib.esm/wallet/json-crowdsale.js +0 -55
- package/lib.esm/wallet/json-crowdsale.js.map +0 -1
- package/lib.esm/wallet/mnemonic.d.ts +0 -65
- package/lib.esm/wallet/mnemonic.d.ts.map +0 -1
- package/lib.esm/wallet/mnemonic.js +0 -165
- package/lib.esm/wallet/mnemonic.js.map +0 -1
- package/lib.esm/wallet/seedwallet.d.ts +0 -4
- package/lib.esm/wallet/seedwallet.d.ts.map +0 -1
- package/lib.esm/wallet/seedwallet.js +0 -4
- package/lib.esm/wallet/seedwallet.js.map +0 -1
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* [[link-ankr]] provides a third-party service for connecting to
|
|
3
|
-
* various blockchains over JSON-RPC.
|
|
4
|
-
*
|
|
5
|
-
* **Supported Networks**
|
|
6
|
-
*
|
|
7
|
-
* - Ethereum Mainnet (``mainnet``)
|
|
8
|
-
* - Goerli Testnet (``goerli``)
|
|
9
|
-
* - Sepolia Testnet (``sepolia``)
|
|
10
|
-
* - Arbitrum (``arbitrum``)
|
|
11
|
-
* - Base (``base``)
|
|
12
|
-
* - Base Goerlia Testnet (``base-goerli``)
|
|
13
|
-
* - Base Sepolia Testnet (``base-sepolia``)
|
|
14
|
-
* - BNB (``bnb``)
|
|
15
|
-
* - BNB Testnet (``bnbt``)
|
|
16
|
-
* - Optimism (``optimism``)
|
|
17
|
-
* - Optimism Goerli Testnet (``optimism-goerli``)
|
|
18
|
-
* - Optimism Sepolia Testnet (``optimism-sepolia``)
|
|
19
|
-
* - Polygon (``matic``)
|
|
20
|
-
* - Polygon Mumbai Testnet (``matic-mumbai``)
|
|
21
|
-
*
|
|
22
|
-
* @_subsection: api/providers/thirdparty:Ankr [providers-ankr]
|
|
23
|
-
*/
|
|
24
|
-
import { defineProperties, FetchRequest, assertArgument } from "../utils/index.js";
|
|
25
|
-
import { showThrottleMessage } from "./community.js";
|
|
26
|
-
import { Network } from "./network.js";
|
|
27
|
-
import { JsonRpcProvider } from "./provider-jsonrpc.js";
|
|
28
|
-
const defaultApiKey = "9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";
|
|
29
|
-
function getHost(name) {
|
|
30
|
-
switch (name) {
|
|
31
|
-
case "mainnet":
|
|
32
|
-
return "rpc.ankr.com/eth";
|
|
33
|
-
case "goerli":
|
|
34
|
-
return "rpc.ankr.com/eth_goerli";
|
|
35
|
-
case "sepolia":
|
|
36
|
-
return "rpc.ankr.com/eth_sepolia";
|
|
37
|
-
case "arbitrum":
|
|
38
|
-
return "rpc.ankr.com/arbitrum";
|
|
39
|
-
case "base":
|
|
40
|
-
return "rpc.ankr.com/base";
|
|
41
|
-
case "base-goerli":
|
|
42
|
-
return "rpc.ankr.com/base_goerli";
|
|
43
|
-
case "base-sepolia":
|
|
44
|
-
return "rpc.ankr.com/base_sepolia";
|
|
45
|
-
case "bnb":
|
|
46
|
-
return "rpc.ankr.com/bsc";
|
|
47
|
-
case "bnbt":
|
|
48
|
-
return "rpc.ankr.com/bsc_testnet_chapel";
|
|
49
|
-
case "matic":
|
|
50
|
-
return "rpc.ankr.com/polygon";
|
|
51
|
-
case "matic-mumbai":
|
|
52
|
-
return "rpc.ankr.com/polygon_mumbai";
|
|
53
|
-
case "optimism":
|
|
54
|
-
return "rpc.ankr.com/optimism";
|
|
55
|
-
case "optimism-goerli":
|
|
56
|
-
return "rpc.ankr.com/optimism_testnet";
|
|
57
|
-
case "optimism-sepolia":
|
|
58
|
-
return "rpc.ankr.com/optimism_sepolia";
|
|
59
|
-
}
|
|
60
|
-
assertArgument(false, "unsupported network", "network", name);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* The **AnkrProvider** connects to the [[link-ankr]]
|
|
64
|
-
* JSON-RPC end-points.
|
|
65
|
-
*
|
|
66
|
-
* By default, a highly-throttled API key is used, which is
|
|
67
|
-
* appropriate for quick prototypes and simple scripts. To
|
|
68
|
-
* gain access to an increased rate-limit, it is highly
|
|
69
|
-
* recommended to [sign up here](link-ankr-signup).
|
|
70
|
-
*/
|
|
71
|
-
export class AnkrProvider extends JsonRpcProvider {
|
|
72
|
-
/**
|
|
73
|
-
* The API key for the Ankr connection.
|
|
74
|
-
*/
|
|
75
|
-
apiKey;
|
|
76
|
-
/**
|
|
77
|
-
* Create a new **AnkrProvider**.
|
|
78
|
-
*
|
|
79
|
-
* By default connecting to ``mainnet`` with a highly throttled
|
|
80
|
-
* API key.
|
|
81
|
-
*/
|
|
82
|
-
constructor(_network, apiKey) {
|
|
83
|
-
if (_network == null) {
|
|
84
|
-
_network = "mainnet";
|
|
85
|
-
}
|
|
86
|
-
const network = Network.from(_network);
|
|
87
|
-
if (apiKey == null) {
|
|
88
|
-
apiKey = defaultApiKey;
|
|
89
|
-
}
|
|
90
|
-
// Ankr does not support filterId, so we force polling
|
|
91
|
-
const options = { polling: true, staticNetwork: network };
|
|
92
|
-
const request = AnkrProvider.getRequest(network, apiKey);
|
|
93
|
-
super(request, network, options);
|
|
94
|
-
defineProperties(this, { apiKey });
|
|
95
|
-
}
|
|
96
|
-
_getProvider(chainId) {
|
|
97
|
-
try {
|
|
98
|
-
return new AnkrProvider(chainId, this.apiKey);
|
|
99
|
-
}
|
|
100
|
-
catch (error) { }
|
|
101
|
-
return super._getProvider(chainId);
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Returns a prepared request for connecting to %%network%% with
|
|
105
|
-
* %%apiKey%%.
|
|
106
|
-
*/
|
|
107
|
-
static getRequest(network, apiKey) {
|
|
108
|
-
if (apiKey == null) {
|
|
109
|
-
apiKey = defaultApiKey;
|
|
110
|
-
}
|
|
111
|
-
const request = new FetchRequest(`https:/\/${getHost(network.name)}/${apiKey}`);
|
|
112
|
-
request.allowGzip = true;
|
|
113
|
-
if (apiKey === defaultApiKey) {
|
|
114
|
-
request.retryFunc = async (request, response, attempt) => {
|
|
115
|
-
showThrottleMessage("AnkrProvider");
|
|
116
|
-
return true;
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
return request;
|
|
120
|
-
}
|
|
121
|
-
getRpcError(payload, error) {
|
|
122
|
-
if (payload.method === "eth_sendRawTransaction") {
|
|
123
|
-
if (error && error.error && error.error.message === "INTERNAL_ERROR: could not replace existing tx") {
|
|
124
|
-
error.error.message = "replacement transaction underpriced";
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return super.getRpcError(payload, error);
|
|
128
|
-
}
|
|
129
|
-
isCommunityResource() {
|
|
130
|
-
return (this.apiKey === defaultApiKey);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=provider-ankr.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-ankr.js","sourceRoot":"","sources":["../../src.ts/providers/provider-ankr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* [[link-blockscout]] provides a third-party service for connecting to
|
|
3
|
-
* various blockchains over JSON-RPC.
|
|
4
|
-
*
|
|
5
|
-
* **Supported Networks**
|
|
6
|
-
*
|
|
7
|
-
* - Ethereum Mainnet (``mainnet``)
|
|
8
|
-
* - Sepolia Testnet (``sepolia``)
|
|
9
|
-
* - Holesky Testnet (``holesky``)
|
|
10
|
-
* - Ethereum Classic (``classic``)
|
|
11
|
-
* - Arbitrum (``arbitrum``)
|
|
12
|
-
* - Base (``base``)
|
|
13
|
-
* - Base Sepolia Testnet (``base-sepolia``)
|
|
14
|
-
* - Gnosis (``xdai``)
|
|
15
|
-
* - Optimism (``optimism``)
|
|
16
|
-
* - Optimism Sepolia Testnet (``optimism-sepolia``)
|
|
17
|
-
* - Polygon (``matic``)
|
|
18
|
-
*
|
|
19
|
-
* @_subsection: api/providers/thirdparty:Blockscout [providers-blockscout]
|
|
20
|
-
*/
|
|
21
|
-
import { FetchRequest } from "../utils/index.js";
|
|
22
|
-
import { Network } from "./network.js";
|
|
23
|
-
import { JsonRpcProvider } from "./provider-jsonrpc.js";
|
|
24
|
-
import type { AbstractProvider, PerformActionRequest } from "./abstract-provider.js";
|
|
25
|
-
import type { CommunityResourcable } from "./community.js";
|
|
26
|
-
import type { Networkish } from "./network.js";
|
|
27
|
-
import type { JsonRpcPayload, JsonRpcError } from "./provider-jsonrpc.js";
|
|
28
|
-
/**
|
|
29
|
-
* The **BlockscoutProvider** connects to the [[link-blockscout]]
|
|
30
|
-
* JSON-RPC end-points.
|
|
31
|
-
*
|
|
32
|
-
* By default, a highly-throttled API key is used, which is
|
|
33
|
-
* appropriate for quick prototypes and simple scripts. To
|
|
34
|
-
* gain access to an increased rate-limit, it is highly
|
|
35
|
-
* recommended to [sign up here](link-blockscout).
|
|
36
|
-
*/
|
|
37
|
-
export declare class BlockscoutProvider extends JsonRpcProvider implements CommunityResourcable {
|
|
38
|
-
/**
|
|
39
|
-
* The API key.
|
|
40
|
-
*/
|
|
41
|
-
readonly apiKey: null | string;
|
|
42
|
-
/**
|
|
43
|
-
* Creates a new **BlockscoutProvider**.
|
|
44
|
-
*/
|
|
45
|
-
constructor(_network?: Networkish, apiKey?: null | string);
|
|
46
|
-
_getProvider(chainId: number): AbstractProvider;
|
|
47
|
-
isCommunityResource(): boolean;
|
|
48
|
-
getRpcRequest(req: PerformActionRequest): null | {
|
|
49
|
-
method: string;
|
|
50
|
-
args: Array<any>;
|
|
51
|
-
};
|
|
52
|
-
getRpcError(payload: JsonRpcPayload, _error: JsonRpcError): Error;
|
|
53
|
-
/**
|
|
54
|
-
* Returns a prepared request for connecting to %%network%%
|
|
55
|
-
* with %%apiKey%%.
|
|
56
|
-
*/
|
|
57
|
-
static getRequest(network: Network): FetchRequest;
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=provider-blockscout.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-blockscout.d.ts","sourceRoot":"","sources":["../../src.ts/providers/provider-blockscout.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAC+B,YAAY,EACjD,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAuC1E;;;;;;;;GAQG;AACH,qBAAa,kBAAmB,SAAQ,eAAgB,YAAW,oBAAoB;IACnF;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAG,IAAI,GAAG,MAAM,CAAC;IAEhC;;OAEG;gBACS,QAAQ,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM;IAYzD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB;IAO/C,mBAAmB,IAAI,OAAO;IAI9B,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;KAAE;IAUrF,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,GAAG,KAAK;IAoCjE;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY;CAKpD"}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* [[link-blockscout]] provides a third-party service for connecting to
|
|
3
|
-
* various blockchains over JSON-RPC.
|
|
4
|
-
*
|
|
5
|
-
* **Supported Networks**
|
|
6
|
-
*
|
|
7
|
-
* - Ethereum Mainnet (``mainnet``)
|
|
8
|
-
* - Sepolia Testnet (``sepolia``)
|
|
9
|
-
* - Holesky Testnet (``holesky``)
|
|
10
|
-
* - Ethereum Classic (``classic``)
|
|
11
|
-
* - Arbitrum (``arbitrum``)
|
|
12
|
-
* - Base (``base``)
|
|
13
|
-
* - Base Sepolia Testnet (``base-sepolia``)
|
|
14
|
-
* - Gnosis (``xdai``)
|
|
15
|
-
* - Optimism (``optimism``)
|
|
16
|
-
* - Optimism Sepolia Testnet (``optimism-sepolia``)
|
|
17
|
-
* - Polygon (``matic``)
|
|
18
|
-
*
|
|
19
|
-
* @_subsection: api/providers/thirdparty:Blockscout [providers-blockscout]
|
|
20
|
-
*/
|
|
21
|
-
import { assertArgument, defineProperties, FetchRequest, isHexString } from "../utils/index.js";
|
|
22
|
-
import { Network } from "./network.js";
|
|
23
|
-
import { JsonRpcProvider } from "./provider-jsonrpc.js";
|
|
24
|
-
function getUrl(name) {
|
|
25
|
-
switch (name) {
|
|
26
|
-
case "mainnet":
|
|
27
|
-
return "https:/\/eth.blockscout.com/api/eth-rpc";
|
|
28
|
-
case "sepolia":
|
|
29
|
-
return "https:/\/eth-sepolia.blockscout.com/api/eth-rpc";
|
|
30
|
-
case "holesky":
|
|
31
|
-
return "https:/\/eth-holesky.blockscout.com/api/eth-rpc";
|
|
32
|
-
case "classic":
|
|
33
|
-
return "https:/\/etc.blockscout.com/api/eth-rpc";
|
|
34
|
-
case "arbitrum":
|
|
35
|
-
return "https:/\/arbitrum.blockscout.com/api/eth-rpc";
|
|
36
|
-
case "base":
|
|
37
|
-
return "https:/\/base.blockscout.com/api/eth-rpc";
|
|
38
|
-
case "base-sepolia":
|
|
39
|
-
return "https:/\/base-sepolia.blockscout.com/api/eth-rpc";
|
|
40
|
-
case "matic":
|
|
41
|
-
return "https:/\/polygon.blockscout.com/api/eth-rpc";
|
|
42
|
-
case "optimism":
|
|
43
|
-
return "https:/\/optimism.blockscout.com/api/eth-rpc";
|
|
44
|
-
case "optimism-sepolia":
|
|
45
|
-
return "https:/\/optimism-sepolia.blockscout.com/api/eth-rpc";
|
|
46
|
-
case "xdai":
|
|
47
|
-
return "https:/\/gnosis.blockscout.com/api/eth-rpc";
|
|
48
|
-
}
|
|
49
|
-
assertArgument(false, "unsupported network", "network", name);
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* The **BlockscoutProvider** connects to the [[link-blockscout]]
|
|
53
|
-
* JSON-RPC end-points.
|
|
54
|
-
*
|
|
55
|
-
* By default, a highly-throttled API key is used, which is
|
|
56
|
-
* appropriate for quick prototypes and simple scripts. To
|
|
57
|
-
* gain access to an increased rate-limit, it is highly
|
|
58
|
-
* recommended to [sign up here](link-blockscout).
|
|
59
|
-
*/
|
|
60
|
-
export class BlockscoutProvider extends JsonRpcProvider {
|
|
61
|
-
/**
|
|
62
|
-
* The API key.
|
|
63
|
-
*/
|
|
64
|
-
apiKey;
|
|
65
|
-
/**
|
|
66
|
-
* Creates a new **BlockscoutProvider**.
|
|
67
|
-
*/
|
|
68
|
-
constructor(_network, apiKey) {
|
|
69
|
-
if (_network == null) {
|
|
70
|
-
_network = "mainnet";
|
|
71
|
-
}
|
|
72
|
-
const network = Network.from(_network);
|
|
73
|
-
if (apiKey == null) {
|
|
74
|
-
apiKey = null;
|
|
75
|
-
}
|
|
76
|
-
const request = BlockscoutProvider.getRequest(network);
|
|
77
|
-
super(request, network, { staticNetwork: network });
|
|
78
|
-
defineProperties(this, { apiKey });
|
|
79
|
-
}
|
|
80
|
-
_getProvider(chainId) {
|
|
81
|
-
try {
|
|
82
|
-
return new BlockscoutProvider(chainId, this.apiKey);
|
|
83
|
-
}
|
|
84
|
-
catch (error) { }
|
|
85
|
-
return super._getProvider(chainId);
|
|
86
|
-
}
|
|
87
|
-
isCommunityResource() {
|
|
88
|
-
return (this.apiKey === null);
|
|
89
|
-
}
|
|
90
|
-
getRpcRequest(req) {
|
|
91
|
-
// Blockscout enforces the TAG argument for estimateGas
|
|
92
|
-
const resp = super.getRpcRequest(req);
|
|
93
|
-
if (resp && resp.method === "eth_estimateGas" && resp.args.length == 1) {
|
|
94
|
-
resp.args = resp.args.slice();
|
|
95
|
-
resp.args.push("latest");
|
|
96
|
-
}
|
|
97
|
-
return resp;
|
|
98
|
-
}
|
|
99
|
-
getRpcError(payload, _error) {
|
|
100
|
-
const error = _error ? _error.error : null;
|
|
101
|
-
// Blockscout currently drops the VM result and replaces it with a
|
|
102
|
-
// human-readable string, so we need to make it machine-readable.
|
|
103
|
-
if (error && error.code === -32015 && !isHexString(error.data || "", true)) {
|
|
104
|
-
const panicCodes = {
|
|
105
|
-
"assert(false)": "01",
|
|
106
|
-
"arithmetic underflow or overflow": "11",
|
|
107
|
-
"division or modulo by zero": "12",
|
|
108
|
-
"out-of-bounds array access; popping on an empty array": "31",
|
|
109
|
-
"out-of-bounds access of an array or bytesN": "32"
|
|
110
|
-
};
|
|
111
|
-
let panicCode = "";
|
|
112
|
-
if (error.message === "VM execution error.") {
|
|
113
|
-
// eth_call passes this message
|
|
114
|
-
panicCode = panicCodes[error.data] || "";
|
|
115
|
-
}
|
|
116
|
-
else if (panicCodes[error.message || ""]) {
|
|
117
|
-
panicCode = panicCodes[error.message || ""];
|
|
118
|
-
}
|
|
119
|
-
if (panicCode) {
|
|
120
|
-
error.message += ` (reverted: ${error.data})`;
|
|
121
|
-
error.data = "0x4e487b7100000000000000000000000000000000000000000000000000000000000000" + panicCode;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
else if (error && error.code === -32000) {
|
|
125
|
-
if (error.message === "wrong transaction nonce") {
|
|
126
|
-
error.message += " (nonce too low)";
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return super.getRpcError(payload, _error);
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Returns a prepared request for connecting to %%network%%
|
|
133
|
-
* with %%apiKey%%.
|
|
134
|
-
*/
|
|
135
|
-
static getRequest(network) {
|
|
136
|
-
const request = new FetchRequest(getUrl(network.name));
|
|
137
|
-
request.allowGzip = true;
|
|
138
|
-
return request;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
//# sourceMappingURL=provider-blockscout.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-blockscout.js","sourceRoot":"","sources":["../../src.ts/providers/provider-blockscout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* [[link-chainstack]] provides a third-party service for connecting to
|
|
3
|
-
* various blockchains over JSON-RPC.
|
|
4
|
-
*
|
|
5
|
-
* **Supported Networks**
|
|
6
|
-
*
|
|
7
|
-
* - Ethereum Mainnet (``mainnet``)
|
|
8
|
-
* - Arbitrum (``arbitrum``)
|
|
9
|
-
* - BNB Smart Chain Mainnet (``bnb``)
|
|
10
|
-
* - Polygon (``matic``)
|
|
11
|
-
*
|
|
12
|
-
* @_subsection: api/providers/thirdparty:Chainstack [providers-chainstack]
|
|
13
|
-
*/
|
|
14
|
-
import { FetchRequest } from "../utils/index.js";
|
|
15
|
-
import { Network } from "./network.js";
|
|
16
|
-
import { JsonRpcProvider } from "./provider-jsonrpc.js";
|
|
17
|
-
import type { AbstractProvider } from "./abstract-provider.js";
|
|
18
|
-
import type { CommunityResourcable } from "./community.js";
|
|
19
|
-
import type { Networkish } from "./network.js";
|
|
20
|
-
/**
|
|
21
|
-
* The **ChainstackProvider** connects to the [[link-chainstack]]
|
|
22
|
-
* JSON-RPC end-points.
|
|
23
|
-
*
|
|
24
|
-
* By default, a highly-throttled API key is used, which is
|
|
25
|
-
* appropriate for quick prototypes and simple scripts. To
|
|
26
|
-
* gain access to an increased rate-limit, it is highly
|
|
27
|
-
* recommended to [sign up here](link-chainstack).
|
|
28
|
-
*/
|
|
29
|
-
export declare class ChainstackProvider extends JsonRpcProvider implements CommunityResourcable {
|
|
30
|
-
/**
|
|
31
|
-
* The API key for the Chainstack connection.
|
|
32
|
-
*/
|
|
33
|
-
readonly apiKey: string;
|
|
34
|
-
/**
|
|
35
|
-
* Creates a new **ChainstackProvider**.
|
|
36
|
-
*/
|
|
37
|
-
constructor(_network?: Networkish, apiKey?: null | string);
|
|
38
|
-
_getProvider(chainId: number): AbstractProvider;
|
|
39
|
-
isCommunityResource(): boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Returns a prepared request for connecting to %%network%%
|
|
42
|
-
* with %%apiKey%% and %%projectSecret%%.
|
|
43
|
-
*/
|
|
44
|
-
static getRequest(network: Network, apiKey?: null | string): FetchRequest;
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=provider-chainstack.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-chainstack.d.ts","sourceRoot":"","sources":["../../src.ts/providers/provider-chainstack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EACe,YAAY,EACjC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA6B/C;;;;;;;;GAQG;AACH,qBAAa,kBAAmB,SAAQ,eAAgB,YAAW,oBAAoB;IACnF;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAG,MAAM,CAAC;IAEzB;;OAEG;gBACS,QAAQ,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM;IAYzD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB;IAO/C,mBAAmB,IAAI,OAAO;IAI9B;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,YAAY;CAe5E"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* [[link-chainstack]] provides a third-party service for connecting to
|
|
3
|
-
* various blockchains over JSON-RPC.
|
|
4
|
-
*
|
|
5
|
-
* **Supported Networks**
|
|
6
|
-
*
|
|
7
|
-
* - Ethereum Mainnet (``mainnet``)
|
|
8
|
-
* - Arbitrum (``arbitrum``)
|
|
9
|
-
* - BNB Smart Chain Mainnet (``bnb``)
|
|
10
|
-
* - Polygon (``matic``)
|
|
11
|
-
*
|
|
12
|
-
* @_subsection: api/providers/thirdparty:Chainstack [providers-chainstack]
|
|
13
|
-
*/
|
|
14
|
-
import { defineProperties, FetchRequest, assertArgument } from "../utils/index.js";
|
|
15
|
-
import { showThrottleMessage } from "./community.js";
|
|
16
|
-
import { Network } from "./network.js";
|
|
17
|
-
import { JsonRpcProvider } from "./provider-jsonrpc.js";
|
|
18
|
-
function getApiKey(name) {
|
|
19
|
-
switch (name) {
|
|
20
|
-
case "mainnet": return "39f1d67cedf8b7831010a665328c9197";
|
|
21
|
-
case "arbitrum": return "0550c209db33c3abf4cc927e1e18cea1";
|
|
22
|
-
case "bnb": return "98b5a77e531614387366f6fc5da097f8";
|
|
23
|
-
case "matic": return "cd9d4d70377471aa7c142ec4a4205249";
|
|
24
|
-
}
|
|
25
|
-
assertArgument(false, "unsupported network", "network", name);
|
|
26
|
-
}
|
|
27
|
-
function getHost(name) {
|
|
28
|
-
switch (name) {
|
|
29
|
-
case "mainnet":
|
|
30
|
-
return "ethereum-mainnet.core.chainstack.com";
|
|
31
|
-
case "arbitrum":
|
|
32
|
-
return "arbitrum-mainnet.core.chainstack.com";
|
|
33
|
-
case "bnb":
|
|
34
|
-
return "bsc-mainnet.core.chainstack.com";
|
|
35
|
-
case "matic":
|
|
36
|
-
return "polygon-mainnet.core.chainstack.com";
|
|
37
|
-
}
|
|
38
|
-
assertArgument(false, "unsupported network", "network", name);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* The **ChainstackProvider** connects to the [[link-chainstack]]
|
|
42
|
-
* JSON-RPC end-points.
|
|
43
|
-
*
|
|
44
|
-
* By default, a highly-throttled API key is used, which is
|
|
45
|
-
* appropriate for quick prototypes and simple scripts. To
|
|
46
|
-
* gain access to an increased rate-limit, it is highly
|
|
47
|
-
* recommended to [sign up here](link-chainstack).
|
|
48
|
-
*/
|
|
49
|
-
export class ChainstackProvider extends JsonRpcProvider {
|
|
50
|
-
/**
|
|
51
|
-
* The API key for the Chainstack connection.
|
|
52
|
-
*/
|
|
53
|
-
apiKey;
|
|
54
|
-
/**
|
|
55
|
-
* Creates a new **ChainstackProvider**.
|
|
56
|
-
*/
|
|
57
|
-
constructor(_network, apiKey) {
|
|
58
|
-
if (_network == null) {
|
|
59
|
-
_network = "mainnet";
|
|
60
|
-
}
|
|
61
|
-
const network = Network.from(_network);
|
|
62
|
-
if (apiKey == null) {
|
|
63
|
-
apiKey = getApiKey(network.name);
|
|
64
|
-
}
|
|
65
|
-
const request = ChainstackProvider.getRequest(network, apiKey);
|
|
66
|
-
super(request, network, { staticNetwork: network });
|
|
67
|
-
defineProperties(this, { apiKey });
|
|
68
|
-
}
|
|
69
|
-
_getProvider(chainId) {
|
|
70
|
-
try {
|
|
71
|
-
return new ChainstackProvider(chainId, this.apiKey);
|
|
72
|
-
}
|
|
73
|
-
catch (error) { }
|
|
74
|
-
return super._getProvider(chainId);
|
|
75
|
-
}
|
|
76
|
-
isCommunityResource() {
|
|
77
|
-
return (this.apiKey === getApiKey(this._network.name));
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Returns a prepared request for connecting to %%network%%
|
|
81
|
-
* with %%apiKey%% and %%projectSecret%%.
|
|
82
|
-
*/
|
|
83
|
-
static getRequest(network, apiKey) {
|
|
84
|
-
if (apiKey == null) {
|
|
85
|
-
apiKey = getApiKey(network.name);
|
|
86
|
-
}
|
|
87
|
-
const request = new FetchRequest(`https:/\/${getHost(network.name)}/${apiKey}`);
|
|
88
|
-
request.allowGzip = true;
|
|
89
|
-
if (apiKey === getApiKey(network.name)) {
|
|
90
|
-
request.retryFunc = async (request, response, attempt) => {
|
|
91
|
-
showThrottleMessage("ChainstackProvider");
|
|
92
|
-
return true;
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
return request;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=provider-chainstack.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-chainstack.js","sourceRoot":"","sources":["../../src.ts/providers/provider-chainstack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* About Cloudflare
|
|
3
|
-
*
|
|
4
|
-
* @_subsection: api/providers/thirdparty:Cloudflare [providers-cloudflare]
|
|
5
|
-
*/
|
|
6
|
-
import { JsonRpcProvider } from "./provider-jsonrpc.js";
|
|
7
|
-
import type { Networkish } from "./network.js";
|
|
8
|
-
/**
|
|
9
|
-
* About Cloudflare...
|
|
10
|
-
*/
|
|
11
|
-
export declare class CloudflareProvider extends JsonRpcProvider {
|
|
12
|
-
constructor(_network?: Networkish);
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=provider-cloudflare.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-cloudflare.d.ts","sourceRoot":"","sources":["../../src.ts/providers/provider-cloudflare.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,eAAe;gBACvC,QAAQ,CAAC,EAAE,UAAU;CAMpC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* About Cloudflare
|
|
3
|
-
*
|
|
4
|
-
* @_subsection: api/providers/thirdparty:Cloudflare [providers-cloudflare]
|
|
5
|
-
*/
|
|
6
|
-
import { assertArgument } from "../utils/index.js";
|
|
7
|
-
import { Network } from "./network.js";
|
|
8
|
-
import { JsonRpcProvider } from "./provider-jsonrpc.js";
|
|
9
|
-
/**
|
|
10
|
-
* About Cloudflare...
|
|
11
|
-
*/
|
|
12
|
-
export class CloudflareProvider extends JsonRpcProvider {
|
|
13
|
-
constructor(_network) {
|
|
14
|
-
if (_network == null) {
|
|
15
|
-
_network = "mainnet";
|
|
16
|
-
}
|
|
17
|
-
const network = Network.from(_network);
|
|
18
|
-
assertArgument(network.name === "mainnet", "unsupported network", "network", _network);
|
|
19
|
-
super("https:/\/cloudflare-eth.com/", network, { staticNetwork: network });
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=provider-cloudflare.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-cloudflare.js","sourceRoot":"","sources":["../../src.ts/providers/provider-cloudflare.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,eAAe;IACnD,YAAY,QAAqB;QAC7B,IAAI,QAAQ,IAAI,IAAI,EAAE;YAAE,QAAQ,GAAG,SAAS,CAAC;SAAE;QAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,cAAc,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvF,KAAK,CAAC,8BAA8B,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/E,CAAC;CACJ"}
|