@waku/rln 0.1.5-1e590d7.0 → 0.1.5-3038c48.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.
- package/bundle/_virtual/__node-resolve_empty.js +6 -0
- package/bundle/_virtual/_node-resolve_empty.js +3 -0
- package/bundle/_virtual/bn.js +3 -0
- package/bundle/_virtual/common.js +3 -0
- package/bundle/_virtual/common2.js +3 -0
- package/bundle/_virtual/hash.js +3 -0
- package/bundle/_virtual/inherits_browser.js +3 -0
- package/bundle/_virtual/ripemd.js +3 -0
- package/bundle/_virtual/sha.js +3 -0
- package/bundle/_virtual/sha3.js +3 -0
- package/bundle/_virtual/utils3.js +3 -0
- package/bundle/index.js +1 -2
- package/bundle/node_modules/@ethersproject/abi/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/abi-coder.js +96 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/abstract-coder.js +148 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/address.js +26 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/anonymous.js +20 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/array.js +210 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/boolean.js +18 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/bytes.js +30 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/fixed-bytes.js +26 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/null.js +22 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/number.js +43 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/string.js +19 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/tuple.js +58 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/fragments.js +854 -0
- package/bundle/node_modules/@ethersproject/abi/lib.esm/interface.js +609 -0
- package/bundle/node_modules/@ethersproject/abstract-provider/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/abstract-provider/lib.esm/index.js +66 -0
- package/bundle/node_modules/@ethersproject/abstract-signer/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/abstract-signer/lib.esm/index.js +302 -0
- package/bundle/node_modules/@ethersproject/address/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/address/lib.esm/index.js +110 -0
- package/bundle/node_modules/@ethersproject/base64/lib.esm/base64.js +20 -0
- package/bundle/node_modules/@ethersproject/basex/lib.esm/index.js +120 -0
- package/bundle/node_modules/@ethersproject/bignumber/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/bignumber/lib.esm/bignumber.js +287 -0
- package/bundle/node_modules/@ethersproject/bytes/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/bytes/lib.esm/index.js +402 -0
- package/bundle/node_modules/@ethersproject/constants/lib.esm/addresses.js +3 -0
- package/bundle/node_modules/@ethersproject/constants/lib.esm/bignumbers.js +8 -0
- package/bundle/node_modules/@ethersproject/constants/lib.esm/hashes.js +3 -0
- package/bundle/node_modules/@ethersproject/contracts/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/contracts/lib.esm/index.js +893 -0
- package/bundle/node_modules/@ethersproject/hash/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/decoder.js +256 -0
- package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/include.js +36 -0
- package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/lib.js +135 -0
- package/bundle/node_modules/@ethersproject/hash/lib.esm/id.js +8 -0
- package/bundle/node_modules/@ethersproject/hash/lib.esm/namehash.js +64 -0
- package/bundle/node_modules/@ethersproject/hash/lib.esm/typed-data.js +443 -0
- package/bundle/node_modules/@ethersproject/keccak256/lib.esm/index.js +8 -0
- package/bundle/node_modules/@ethersproject/keccak256/node_modules/js-sha3/src/sha3.js +660 -0
- package/bundle/node_modules/@ethersproject/logger/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/logger/lib.esm/index.js +352 -0
- package/bundle/node_modules/@ethersproject/networks/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/networks/lib.esm/index.js +248 -0
- package/bundle/node_modules/@ethersproject/properties/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/properties/lib.esm/index.js +127 -0
- package/bundle/node_modules/@ethersproject/providers/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/providers/lib.esm/base-provider.js +2007 -0
- package/bundle/node_modules/@ethersproject/providers/lib.esm/formatter.js +422 -0
- package/bundle/node_modules/@ethersproject/providers/lib.esm/json-rpc-provider.js +674 -0
- package/bundle/node_modules/@ethersproject/providers/lib.esm/web3-provider.js +132 -0
- package/bundle/node_modules/@ethersproject/rlp/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/rlp/lib.esm/index.js +120 -0
- package/bundle/node_modules/@ethersproject/sha2/lib.esm/sha2.js +8 -0
- package/bundle/node_modules/@ethersproject/signing-key/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/signing-key/lib.esm/elliptic.js +2430 -0
- package/bundle/node_modules/@ethersproject/signing-key/lib.esm/index.js +76 -0
- package/bundle/node_modules/@ethersproject/strings/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/strings/lib.esm/utf8.js +219 -0
- package/bundle/node_modules/@ethersproject/transactions/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/transactions/lib.esm/index.js +279 -0
- package/bundle/node_modules/@ethersproject/web/lib.esm/_version.js +3 -0
- package/bundle/node_modules/@ethersproject/web/lib.esm/geturl.js +69 -0
- package/bundle/node_modules/@ethersproject/web/lib.esm/index.js +404 -0
- package/bundle/node_modules/bech32/index.js +187 -0
- package/bundle/node_modules/bn.js/lib/bn.js +3361 -0
- package/bundle/node_modules/hash.js/lib/hash/common.js +97 -0
- package/bundle/node_modules/hash.js/lib/hash/hmac.js +51 -0
- package/bundle/node_modules/hash.js/lib/hash/ripemd.js +152 -0
- package/bundle/node_modules/hash.js/lib/hash/sha/1.js +81 -0
- package/bundle/node_modules/hash.js/lib/hash/sha/224.js +33 -0
- package/bundle/node_modules/hash.js/lib/hash/sha/256.js +113 -0
- package/bundle/node_modules/hash.js/lib/hash/sha/384.js +39 -0
- package/bundle/node_modules/hash.js/lib/hash/sha/512.js +336 -0
- package/bundle/node_modules/hash.js/lib/hash/sha/common.js +53 -0
- package/bundle/node_modules/hash.js/lib/hash/sha.js +14 -0
- package/bundle/node_modules/hash.js/lib/hash/utils.js +282 -0
- package/bundle/node_modules/hash.js/lib/hash.js +33 -0
- package/bundle/node_modules/inherits/inherits_browser.js +33 -0
- package/bundle/node_modules/minimalistic-assert/index.js +13 -0
- package/bundle/packages/rln/dist/contract/constants.js +0 -1
- package/bundle/packages/rln/dist/contract/rln_base_contract.js +61 -66
- package/bundle/packages/rln/dist/contract/rln_contract.js +1 -1
- package/bundle/packages/rln/dist/utils/bytes.js +2 -8
- package/bundle/packages/rln/dist/utils/metamask.js +2 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/contract/index.d.ts +0 -1
- package/dist/contract/index.js +0 -1
- package/dist/contract/index.js.map +1 -1
- package/dist/contract/rln_base_contract.d.ts +11 -5
- package/dist/contract/rln_base_contract.js +59 -64
- package/dist/contract/rln_base_contract.js.map +1 -1
- package/dist/contract/types.d.ts +0 -5
- package/dist/contract/types.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/keystore/keystore.js.map +1 -1
- package/dist/keystore/types.d.ts +2 -2
- package/dist/utils/bytes.js +2 -8
- package/dist/utils/bytes.js.map +1 -1
- package/package.json +1 -1
- package/src/contract/index.ts +0 -1
- package/src/contract/rln_base_contract.ts +89 -96
- package/src/contract/types.ts +0 -5
- package/src/index.ts +1 -3
- package/src/keystore/keystore.ts +2 -4
- package/src/keystore/types.ts +2 -2
- package/src/utils/bytes.ts +2 -10
@@ -0,0 +1,132 @@
|
|
1
|
+
import { defineReadOnly, deepCopy } from '../../properties/lib.esm/index.js';
|
2
|
+
import { Logger } from '../../logger/lib.esm/index.js';
|
3
|
+
import { version } from './_version.js';
|
4
|
+
import { JsonRpcProvider } from './json-rpc-provider.js';
|
5
|
+
|
6
|
+
const logger = new Logger(version);
|
7
|
+
let _nextId = 1;
|
8
|
+
function buildWeb3LegacyFetcher(provider, sendFunc) {
|
9
|
+
const fetcher = "Web3LegacyFetcher";
|
10
|
+
return function (method, params) {
|
11
|
+
const request = {
|
12
|
+
method: method,
|
13
|
+
params: params,
|
14
|
+
id: (_nextId++),
|
15
|
+
jsonrpc: "2.0"
|
16
|
+
};
|
17
|
+
return new Promise((resolve, reject) => {
|
18
|
+
this.emit("debug", {
|
19
|
+
action: "request",
|
20
|
+
fetcher,
|
21
|
+
request: deepCopy(request),
|
22
|
+
provider: this
|
23
|
+
});
|
24
|
+
sendFunc(request, (error, response) => {
|
25
|
+
if (error) {
|
26
|
+
this.emit("debug", {
|
27
|
+
action: "response",
|
28
|
+
fetcher,
|
29
|
+
error,
|
30
|
+
request,
|
31
|
+
provider: this
|
32
|
+
});
|
33
|
+
return reject(error);
|
34
|
+
}
|
35
|
+
this.emit("debug", {
|
36
|
+
action: "response",
|
37
|
+
fetcher,
|
38
|
+
request,
|
39
|
+
response,
|
40
|
+
provider: this
|
41
|
+
});
|
42
|
+
if (response.error) {
|
43
|
+
const error = new Error(response.error.message);
|
44
|
+
error.code = response.error.code;
|
45
|
+
error.data = response.error.data;
|
46
|
+
return reject(error);
|
47
|
+
}
|
48
|
+
resolve(response.result);
|
49
|
+
});
|
50
|
+
});
|
51
|
+
};
|
52
|
+
}
|
53
|
+
function buildEip1193Fetcher(provider) {
|
54
|
+
return function (method, params) {
|
55
|
+
if (params == null) {
|
56
|
+
params = [];
|
57
|
+
}
|
58
|
+
const request = { method, params };
|
59
|
+
this.emit("debug", {
|
60
|
+
action: "request",
|
61
|
+
fetcher: "Eip1193Fetcher",
|
62
|
+
request: deepCopy(request),
|
63
|
+
provider: this
|
64
|
+
});
|
65
|
+
return provider.request(request).then((response) => {
|
66
|
+
this.emit("debug", {
|
67
|
+
action: "response",
|
68
|
+
fetcher: "Eip1193Fetcher",
|
69
|
+
request,
|
70
|
+
response,
|
71
|
+
provider: this
|
72
|
+
});
|
73
|
+
return response;
|
74
|
+
}, (error) => {
|
75
|
+
this.emit("debug", {
|
76
|
+
action: "response",
|
77
|
+
fetcher: "Eip1193Fetcher",
|
78
|
+
request,
|
79
|
+
error,
|
80
|
+
provider: this
|
81
|
+
});
|
82
|
+
throw error;
|
83
|
+
});
|
84
|
+
};
|
85
|
+
}
|
86
|
+
class Web3Provider extends JsonRpcProvider {
|
87
|
+
constructor(provider, network) {
|
88
|
+
if (provider == null) {
|
89
|
+
logger.throwArgumentError("missing provider", "provider", provider);
|
90
|
+
}
|
91
|
+
let path = null;
|
92
|
+
let jsonRpcFetchFunc = null;
|
93
|
+
let subprovider = null;
|
94
|
+
if (typeof (provider) === "function") {
|
95
|
+
path = "unknown:";
|
96
|
+
jsonRpcFetchFunc = provider;
|
97
|
+
}
|
98
|
+
else {
|
99
|
+
path = provider.host || provider.path || "";
|
100
|
+
if (!path && provider.isMetaMask) {
|
101
|
+
path = "metamask";
|
102
|
+
}
|
103
|
+
subprovider = provider;
|
104
|
+
if (provider.request) {
|
105
|
+
if (path === "") {
|
106
|
+
path = "eip-1193:";
|
107
|
+
}
|
108
|
+
jsonRpcFetchFunc = buildEip1193Fetcher(provider);
|
109
|
+
}
|
110
|
+
else if (provider.sendAsync) {
|
111
|
+
jsonRpcFetchFunc = buildWeb3LegacyFetcher(provider, provider.sendAsync.bind(provider));
|
112
|
+
}
|
113
|
+
else if (provider.send) {
|
114
|
+
jsonRpcFetchFunc = buildWeb3LegacyFetcher(provider, provider.send.bind(provider));
|
115
|
+
}
|
116
|
+
else {
|
117
|
+
logger.throwArgumentError("unsupported provider", "provider", provider);
|
118
|
+
}
|
119
|
+
if (!path) {
|
120
|
+
path = "unknown:";
|
121
|
+
}
|
122
|
+
}
|
123
|
+
super(path, network);
|
124
|
+
defineReadOnly(this, "jsonRpcFetchFunc", jsonRpcFetchFunc);
|
125
|
+
defineReadOnly(this, "provider", subprovider);
|
126
|
+
}
|
127
|
+
send(method, params) {
|
128
|
+
return this.jsonRpcFetchFunc(method, params);
|
129
|
+
}
|
130
|
+
}
|
131
|
+
|
132
|
+
export { Web3Provider };
|
@@ -0,0 +1,120 @@
|
|
1
|
+
import { hexlify, isBytesLike, arrayify } from '../../bytes/lib.esm/index.js';
|
2
|
+
import { Logger } from '../../logger/lib.esm/index.js';
|
3
|
+
import { version } from './_version.js';
|
4
|
+
|
5
|
+
const logger = new Logger(version);
|
6
|
+
function arrayifyInteger(value) {
|
7
|
+
const result = [];
|
8
|
+
while (value) {
|
9
|
+
result.unshift(value & 0xff);
|
10
|
+
value >>= 8;
|
11
|
+
}
|
12
|
+
return result;
|
13
|
+
}
|
14
|
+
function unarrayifyInteger(data, offset, length) {
|
15
|
+
let result = 0;
|
16
|
+
for (let i = 0; i < length; i++) {
|
17
|
+
result = (result * 256) + data[offset + i];
|
18
|
+
}
|
19
|
+
return result;
|
20
|
+
}
|
21
|
+
function _encode(object) {
|
22
|
+
if (Array.isArray(object)) {
|
23
|
+
let payload = [];
|
24
|
+
object.forEach(function (child) {
|
25
|
+
payload = payload.concat(_encode(child));
|
26
|
+
});
|
27
|
+
if (payload.length <= 55) {
|
28
|
+
payload.unshift(0xc0 + payload.length);
|
29
|
+
return payload;
|
30
|
+
}
|
31
|
+
const length = arrayifyInteger(payload.length);
|
32
|
+
length.unshift(0xf7 + length.length);
|
33
|
+
return length.concat(payload);
|
34
|
+
}
|
35
|
+
if (!isBytesLike(object)) {
|
36
|
+
logger.throwArgumentError("RLP object must be BytesLike", "object", object);
|
37
|
+
}
|
38
|
+
const data = Array.prototype.slice.call(arrayify(object));
|
39
|
+
if (data.length === 1 && data[0] <= 0x7f) {
|
40
|
+
return data;
|
41
|
+
}
|
42
|
+
else if (data.length <= 55) {
|
43
|
+
data.unshift(0x80 + data.length);
|
44
|
+
return data;
|
45
|
+
}
|
46
|
+
const length = arrayifyInteger(data.length);
|
47
|
+
length.unshift(0xb7 + length.length);
|
48
|
+
return length.concat(data);
|
49
|
+
}
|
50
|
+
function encode(object) {
|
51
|
+
return hexlify(_encode(object));
|
52
|
+
}
|
53
|
+
function _decodeChildren(data, offset, childOffset, length) {
|
54
|
+
const result = [];
|
55
|
+
while (childOffset < offset + 1 + length) {
|
56
|
+
const decoded = _decode(data, childOffset);
|
57
|
+
result.push(decoded.result);
|
58
|
+
childOffset += decoded.consumed;
|
59
|
+
if (childOffset > offset + 1 + length) {
|
60
|
+
logger.throwError("child data too short", Logger.errors.BUFFER_OVERRUN, {});
|
61
|
+
}
|
62
|
+
}
|
63
|
+
return { consumed: (1 + length), result: result };
|
64
|
+
}
|
65
|
+
// returns { consumed: number, result: Object }
|
66
|
+
function _decode(data, offset) {
|
67
|
+
if (data.length === 0) {
|
68
|
+
logger.throwError("data too short", Logger.errors.BUFFER_OVERRUN, {});
|
69
|
+
}
|
70
|
+
// Array with extra length prefix
|
71
|
+
if (data[offset] >= 0xf8) {
|
72
|
+
const lengthLength = data[offset] - 0xf7;
|
73
|
+
if (offset + 1 + lengthLength > data.length) {
|
74
|
+
logger.throwError("data short segment too short", Logger.errors.BUFFER_OVERRUN, {});
|
75
|
+
}
|
76
|
+
const length = unarrayifyInteger(data, offset + 1, lengthLength);
|
77
|
+
if (offset + 1 + lengthLength + length > data.length) {
|
78
|
+
logger.throwError("data long segment too short", Logger.errors.BUFFER_OVERRUN, {});
|
79
|
+
}
|
80
|
+
return _decodeChildren(data, offset, offset + 1 + lengthLength, lengthLength + length);
|
81
|
+
}
|
82
|
+
else if (data[offset] >= 0xc0) {
|
83
|
+
const length = data[offset] - 0xc0;
|
84
|
+
if (offset + 1 + length > data.length) {
|
85
|
+
logger.throwError("data array too short", Logger.errors.BUFFER_OVERRUN, {});
|
86
|
+
}
|
87
|
+
return _decodeChildren(data, offset, offset + 1, length);
|
88
|
+
}
|
89
|
+
else if (data[offset] >= 0xb8) {
|
90
|
+
const lengthLength = data[offset] - 0xb7;
|
91
|
+
if (offset + 1 + lengthLength > data.length) {
|
92
|
+
logger.throwError("data array too short", Logger.errors.BUFFER_OVERRUN, {});
|
93
|
+
}
|
94
|
+
const length = unarrayifyInteger(data, offset + 1, lengthLength);
|
95
|
+
if (offset + 1 + lengthLength + length > data.length) {
|
96
|
+
logger.throwError("data array too short", Logger.errors.BUFFER_OVERRUN, {});
|
97
|
+
}
|
98
|
+
const result = hexlify(data.slice(offset + 1 + lengthLength, offset + 1 + lengthLength + length));
|
99
|
+
return { consumed: (1 + lengthLength + length), result: result };
|
100
|
+
}
|
101
|
+
else if (data[offset] >= 0x80) {
|
102
|
+
const length = data[offset] - 0x80;
|
103
|
+
if (offset + 1 + length > data.length) {
|
104
|
+
logger.throwError("data too short", Logger.errors.BUFFER_OVERRUN, {});
|
105
|
+
}
|
106
|
+
const result = hexlify(data.slice(offset + 1, offset + 1 + length));
|
107
|
+
return { consumed: (1 + length), result: result };
|
108
|
+
}
|
109
|
+
return { consumed: 1, result: hexlify(data[offset]) };
|
110
|
+
}
|
111
|
+
function decode(data) {
|
112
|
+
const bytes = arrayify(data);
|
113
|
+
const decoded = _decode(bytes, 0);
|
114
|
+
if (decoded.consumed !== bytes.length) {
|
115
|
+
logger.throwArgumentError("invalid rlp data", "data", data);
|
116
|
+
}
|
117
|
+
return decoded.result;
|
118
|
+
}
|
119
|
+
|
120
|
+
export { decode, encode };
|