@waku/rln 0.1.5-bc093d3.0 → 0.1.5-d0da8f8.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.
Files changed (130) hide show
  1. package/bundle/_virtual/utils.js +2 -2
  2. package/bundle/_virtual/utils2.js +2 -2
  3. package/bundle/index.js +2 -1
  4. package/bundle/packages/rln/dist/contract/constants.js +5 -1
  5. package/bundle/packages/rln/dist/contract/rln_base_contract.js +31 -35
  6. package/bundle/packages/rln/dist/contract/rln_contract.js +1 -1
  7. package/bundle/packages/rln/dist/utils/bytes.js +8 -2
  8. package/bundle/packages/rln/dist/utils/metamask.js +2 -2
  9. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/random.js +1 -1
  10. package/bundle/packages/rln/node_modules/@chainsafe/bls-keystore/node_modules/ethereum-cryptography/utils.js +2 -2
  11. package/bundle/packages/rln/node_modules/@noble/hashes/_sha2.js +1 -1
  12. package/bundle/packages/rln/node_modules/@noble/hashes/hmac.js +1 -1
  13. package/bundle/packages/rln/node_modules/@noble/hashes/pbkdf2.js +1 -1
  14. package/bundle/packages/rln/node_modules/@noble/hashes/scrypt.js +1 -1
  15. package/bundle/packages/rln/node_modules/@noble/hashes/sha256.js +1 -1
  16. package/bundle/packages/rln/node_modules/@noble/hashes/sha512.js +1 -1
  17. package/bundle/packages/rln/node_modules/@noble/hashes/utils.js +1 -1
  18. package/dist/.tsbuildinfo +1 -1
  19. package/dist/contract/index.d.ts +1 -0
  20. package/dist/contract/index.js +1 -0
  21. package/dist/contract/index.js.map +1 -1
  22. package/dist/contract/rln_base_contract.d.ts +4 -4
  23. package/dist/contract/rln_base_contract.js +29 -33
  24. package/dist/contract/rln_base_contract.js.map +1 -1
  25. package/dist/index.d.ts +2 -1
  26. package/dist/index.js +1 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/keystore/keystore.js.map +1 -1
  29. package/dist/keystore/types.d.ts +2 -2
  30. package/dist/utils/bytes.js +8 -2
  31. package/dist/utils/bytes.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/contract/index.ts +1 -0
  34. package/src/contract/rln_base_contract.ts +45 -47
  35. package/src/index.ts +3 -1
  36. package/src/keystore/keystore.ts +4 -2
  37. package/src/keystore/types.ts +2 -2
  38. package/src/utils/bytes.ts +10 -2
  39. package/bundle/_virtual/__node-resolve_empty.js +0 -6
  40. package/bundle/_virtual/_node-resolve_empty.js +0 -3
  41. package/bundle/_virtual/bn.js +0 -3
  42. package/bundle/_virtual/common.js +0 -3
  43. package/bundle/_virtual/common2.js +0 -3
  44. package/bundle/_virtual/hash.js +0 -3
  45. package/bundle/_virtual/inherits_browser.js +0 -3
  46. package/bundle/_virtual/ripemd.js +0 -3
  47. package/bundle/_virtual/sha.js +0 -3
  48. package/bundle/_virtual/sha3.js +0 -3
  49. package/bundle/_virtual/utils3.js +0 -3
  50. package/bundle/node_modules/@ethersproject/abi/lib.esm/_version.js +0 -3
  51. package/bundle/node_modules/@ethersproject/abi/lib.esm/abi-coder.js +0 -96
  52. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/abstract-coder.js +0 -148
  53. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/address.js +0 -26
  54. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/anonymous.js +0 -20
  55. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/array.js +0 -210
  56. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/boolean.js +0 -18
  57. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/bytes.js +0 -30
  58. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/fixed-bytes.js +0 -26
  59. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/null.js +0 -22
  60. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/number.js +0 -43
  61. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/string.js +0 -19
  62. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/tuple.js +0 -58
  63. package/bundle/node_modules/@ethersproject/abi/lib.esm/fragments.js +0 -854
  64. package/bundle/node_modules/@ethersproject/abi/lib.esm/interface.js +0 -609
  65. package/bundle/node_modules/@ethersproject/abstract-provider/lib.esm/_version.js +0 -3
  66. package/bundle/node_modules/@ethersproject/abstract-provider/lib.esm/index.js +0 -66
  67. package/bundle/node_modules/@ethersproject/abstract-signer/lib.esm/_version.js +0 -3
  68. package/bundle/node_modules/@ethersproject/abstract-signer/lib.esm/index.js +0 -302
  69. package/bundle/node_modules/@ethersproject/address/lib.esm/_version.js +0 -3
  70. package/bundle/node_modules/@ethersproject/address/lib.esm/index.js +0 -110
  71. package/bundle/node_modules/@ethersproject/base64/lib.esm/base64.js +0 -20
  72. package/bundle/node_modules/@ethersproject/basex/lib.esm/index.js +0 -120
  73. package/bundle/node_modules/@ethersproject/bignumber/lib.esm/_version.js +0 -3
  74. package/bundle/node_modules/@ethersproject/bignumber/lib.esm/bignumber.js +0 -287
  75. package/bundle/node_modules/@ethersproject/bytes/lib.esm/_version.js +0 -3
  76. package/bundle/node_modules/@ethersproject/bytes/lib.esm/index.js +0 -402
  77. package/bundle/node_modules/@ethersproject/constants/lib.esm/addresses.js +0 -3
  78. package/bundle/node_modules/@ethersproject/constants/lib.esm/bignumbers.js +0 -8
  79. package/bundle/node_modules/@ethersproject/constants/lib.esm/hashes.js +0 -3
  80. package/bundle/node_modules/@ethersproject/contracts/lib.esm/_version.js +0 -3
  81. package/bundle/node_modules/@ethersproject/contracts/lib.esm/index.js +0 -893
  82. package/bundle/node_modules/@ethersproject/hash/lib.esm/_version.js +0 -3
  83. package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/decoder.js +0 -256
  84. package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/include.js +0 -36
  85. package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/lib.js +0 -135
  86. package/bundle/node_modules/@ethersproject/hash/lib.esm/id.js +0 -8
  87. package/bundle/node_modules/@ethersproject/hash/lib.esm/namehash.js +0 -64
  88. package/bundle/node_modules/@ethersproject/hash/lib.esm/typed-data.js +0 -443
  89. package/bundle/node_modules/@ethersproject/keccak256/lib.esm/index.js +0 -8
  90. package/bundle/node_modules/@ethersproject/keccak256/node_modules/js-sha3/src/sha3.js +0 -660
  91. package/bundle/node_modules/@ethersproject/logger/lib.esm/_version.js +0 -3
  92. package/bundle/node_modules/@ethersproject/logger/lib.esm/index.js +0 -352
  93. package/bundle/node_modules/@ethersproject/networks/lib.esm/_version.js +0 -3
  94. package/bundle/node_modules/@ethersproject/networks/lib.esm/index.js +0 -248
  95. package/bundle/node_modules/@ethersproject/properties/lib.esm/_version.js +0 -3
  96. package/bundle/node_modules/@ethersproject/properties/lib.esm/index.js +0 -127
  97. package/bundle/node_modules/@ethersproject/providers/lib.esm/_version.js +0 -3
  98. package/bundle/node_modules/@ethersproject/providers/lib.esm/base-provider.js +0 -2007
  99. package/bundle/node_modules/@ethersproject/providers/lib.esm/formatter.js +0 -422
  100. package/bundle/node_modules/@ethersproject/providers/lib.esm/json-rpc-provider.js +0 -674
  101. package/bundle/node_modules/@ethersproject/providers/lib.esm/web3-provider.js +0 -132
  102. package/bundle/node_modules/@ethersproject/rlp/lib.esm/_version.js +0 -3
  103. package/bundle/node_modules/@ethersproject/rlp/lib.esm/index.js +0 -120
  104. package/bundle/node_modules/@ethersproject/sha2/lib.esm/sha2.js +0 -8
  105. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/_version.js +0 -3
  106. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/elliptic.js +0 -2430
  107. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/index.js +0 -76
  108. package/bundle/node_modules/@ethersproject/strings/lib.esm/_version.js +0 -3
  109. package/bundle/node_modules/@ethersproject/strings/lib.esm/utf8.js +0 -219
  110. package/bundle/node_modules/@ethersproject/transactions/lib.esm/_version.js +0 -3
  111. package/bundle/node_modules/@ethersproject/transactions/lib.esm/index.js +0 -279
  112. package/bundle/node_modules/@ethersproject/web/lib.esm/_version.js +0 -3
  113. package/bundle/node_modules/@ethersproject/web/lib.esm/geturl.js +0 -69
  114. package/bundle/node_modules/@ethersproject/web/lib.esm/index.js +0 -404
  115. package/bundle/node_modules/bech32/index.js +0 -187
  116. package/bundle/node_modules/bn.js/lib/bn.js +0 -3361
  117. package/bundle/node_modules/hash.js/lib/hash/common.js +0 -97
  118. package/bundle/node_modules/hash.js/lib/hash/hmac.js +0 -51
  119. package/bundle/node_modules/hash.js/lib/hash/ripemd.js +0 -152
  120. package/bundle/node_modules/hash.js/lib/hash/sha/1.js +0 -81
  121. package/bundle/node_modules/hash.js/lib/hash/sha/224.js +0 -33
  122. package/bundle/node_modules/hash.js/lib/hash/sha/256.js +0 -113
  123. package/bundle/node_modules/hash.js/lib/hash/sha/384.js +0 -39
  124. package/bundle/node_modules/hash.js/lib/hash/sha/512.js +0 -336
  125. package/bundle/node_modules/hash.js/lib/hash/sha/common.js +0 -53
  126. package/bundle/node_modules/hash.js/lib/hash/sha.js +0 -14
  127. package/bundle/node_modules/hash.js/lib/hash/utils.js +0 -282
  128. package/bundle/node_modules/hash.js/lib/hash.js +0 -33
  129. package/bundle/node_modules/inherits/inherits_browser.js +0 -33
  130. package/bundle/node_modules/minimalistic-assert/index.js +0 -13
@@ -1,287 +0,0 @@
1
- import BN$1 from '../../../bn.js/lib/bn.js';
2
- import { isBytes, hexlify, isHexString } from '../../bytes/lib.esm/index.js';
3
- import { Logger } from '../../logger/lib.esm/index.js';
4
- import { version } from './_version.js';
5
-
6
- var BN = BN$1.BN;
7
- const logger = new Logger(version);
8
- const _constructorGuard = {};
9
- const MAX_SAFE = 0x1fffffffffffff;
10
- // Only warn about passing 10 into radix once
11
- let _warnedToStringRadix = false;
12
- class BigNumber {
13
- constructor(constructorGuard, hex) {
14
- if (constructorGuard !== _constructorGuard) {
15
- logger.throwError("cannot call constructor directly; use BigNumber.from", Logger.errors.UNSUPPORTED_OPERATION, {
16
- operation: "new (BigNumber)"
17
- });
18
- }
19
- this._hex = hex;
20
- this._isBigNumber = true;
21
- Object.freeze(this);
22
- }
23
- fromTwos(value) {
24
- return toBigNumber(toBN(this).fromTwos(value));
25
- }
26
- toTwos(value) {
27
- return toBigNumber(toBN(this).toTwos(value));
28
- }
29
- abs() {
30
- if (this._hex[0] === "-") {
31
- return BigNumber.from(this._hex.substring(1));
32
- }
33
- return this;
34
- }
35
- add(other) {
36
- return toBigNumber(toBN(this).add(toBN(other)));
37
- }
38
- sub(other) {
39
- return toBigNumber(toBN(this).sub(toBN(other)));
40
- }
41
- div(other) {
42
- const o = BigNumber.from(other);
43
- if (o.isZero()) {
44
- throwFault("division-by-zero", "div");
45
- }
46
- return toBigNumber(toBN(this).div(toBN(other)));
47
- }
48
- mul(other) {
49
- return toBigNumber(toBN(this).mul(toBN(other)));
50
- }
51
- mod(other) {
52
- const value = toBN(other);
53
- if (value.isNeg()) {
54
- throwFault("division-by-zero", "mod");
55
- }
56
- return toBigNumber(toBN(this).umod(value));
57
- }
58
- pow(other) {
59
- const value = toBN(other);
60
- if (value.isNeg()) {
61
- throwFault("negative-power", "pow");
62
- }
63
- return toBigNumber(toBN(this).pow(value));
64
- }
65
- and(other) {
66
- const value = toBN(other);
67
- if (this.isNegative() || value.isNeg()) {
68
- throwFault("unbound-bitwise-result", "and");
69
- }
70
- return toBigNumber(toBN(this).and(value));
71
- }
72
- or(other) {
73
- const value = toBN(other);
74
- if (this.isNegative() || value.isNeg()) {
75
- throwFault("unbound-bitwise-result", "or");
76
- }
77
- return toBigNumber(toBN(this).or(value));
78
- }
79
- xor(other) {
80
- const value = toBN(other);
81
- if (this.isNegative() || value.isNeg()) {
82
- throwFault("unbound-bitwise-result", "xor");
83
- }
84
- return toBigNumber(toBN(this).xor(value));
85
- }
86
- mask(value) {
87
- if (this.isNegative() || value < 0) {
88
- throwFault("negative-width", "mask");
89
- }
90
- return toBigNumber(toBN(this).maskn(value));
91
- }
92
- shl(value) {
93
- if (this.isNegative() || value < 0) {
94
- throwFault("negative-width", "shl");
95
- }
96
- return toBigNumber(toBN(this).shln(value));
97
- }
98
- shr(value) {
99
- if (this.isNegative() || value < 0) {
100
- throwFault("negative-width", "shr");
101
- }
102
- return toBigNumber(toBN(this).shrn(value));
103
- }
104
- eq(other) {
105
- return toBN(this).eq(toBN(other));
106
- }
107
- lt(other) {
108
- return toBN(this).lt(toBN(other));
109
- }
110
- lte(other) {
111
- return toBN(this).lte(toBN(other));
112
- }
113
- gt(other) {
114
- return toBN(this).gt(toBN(other));
115
- }
116
- gte(other) {
117
- return toBN(this).gte(toBN(other));
118
- }
119
- isNegative() {
120
- return (this._hex[0] === "-");
121
- }
122
- isZero() {
123
- return toBN(this).isZero();
124
- }
125
- toNumber() {
126
- try {
127
- return toBN(this).toNumber();
128
- }
129
- catch (error) {
130
- throwFault("overflow", "toNumber", this.toString());
131
- }
132
- return null;
133
- }
134
- toBigInt() {
135
- try {
136
- return BigInt(this.toString());
137
- }
138
- catch (e) { }
139
- return logger.throwError("this platform does not support BigInt", Logger.errors.UNSUPPORTED_OPERATION, {
140
- value: this.toString()
141
- });
142
- }
143
- toString() {
144
- // Lots of people expect this, which we do not support, so check (See: #889)
145
- if (arguments.length > 0) {
146
- if (arguments[0] === 10) {
147
- if (!_warnedToStringRadix) {
148
- _warnedToStringRadix = true;
149
- logger.warn("BigNumber.toString does not accept any parameters; base-10 is assumed");
150
- }
151
- }
152
- else if (arguments[0] === 16) {
153
- logger.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()", Logger.errors.UNEXPECTED_ARGUMENT, {});
154
- }
155
- else {
156
- logger.throwError("BigNumber.toString does not accept parameters", Logger.errors.UNEXPECTED_ARGUMENT, {});
157
- }
158
- }
159
- return toBN(this).toString(10);
160
- }
161
- toHexString() {
162
- return this._hex;
163
- }
164
- toJSON(key) {
165
- return { type: "BigNumber", hex: this.toHexString() };
166
- }
167
- static from(value) {
168
- if (value instanceof BigNumber) {
169
- return value;
170
- }
171
- if (typeof (value) === "string") {
172
- if (value.match(/^-?0x[0-9a-f]+$/i)) {
173
- return new BigNumber(_constructorGuard, toHex(value));
174
- }
175
- if (value.match(/^-?[0-9]+$/)) {
176
- return new BigNumber(_constructorGuard, toHex(new BN(value)));
177
- }
178
- return logger.throwArgumentError("invalid BigNumber string", "value", value);
179
- }
180
- if (typeof (value) === "number") {
181
- if (value % 1) {
182
- throwFault("underflow", "BigNumber.from", value);
183
- }
184
- if (value >= MAX_SAFE || value <= -9007199254740991) {
185
- throwFault("overflow", "BigNumber.from", value);
186
- }
187
- return BigNumber.from(String(value));
188
- }
189
- const anyValue = value;
190
- if (typeof (anyValue) === "bigint") {
191
- return BigNumber.from(anyValue.toString());
192
- }
193
- if (isBytes(anyValue)) {
194
- return BigNumber.from(hexlify(anyValue));
195
- }
196
- if (anyValue) {
197
- // Hexable interface (takes priority)
198
- if (anyValue.toHexString) {
199
- const hex = anyValue.toHexString();
200
- if (typeof (hex) === "string") {
201
- return BigNumber.from(hex);
202
- }
203
- }
204
- else {
205
- // For now, handle legacy JSON-ified values (goes away in v6)
206
- let hex = anyValue._hex;
207
- // New-form JSON
208
- if (hex == null && anyValue.type === "BigNumber") {
209
- hex = anyValue.hex;
210
- }
211
- if (typeof (hex) === "string") {
212
- if (isHexString(hex) || (hex[0] === "-" && isHexString(hex.substring(1)))) {
213
- return BigNumber.from(hex);
214
- }
215
- }
216
- }
217
- }
218
- return logger.throwArgumentError("invalid BigNumber value", "value", value);
219
- }
220
- static isBigNumber(value) {
221
- return !!(value && value._isBigNumber);
222
- }
223
- }
224
- // Normalize the hex string
225
- function toHex(value) {
226
- // For BN, call on the hex string
227
- if (typeof (value) !== "string") {
228
- return toHex(value.toString(16));
229
- }
230
- // If negative, prepend the negative sign to the normalized positive value
231
- if (value[0] === "-") {
232
- // Strip off the negative sign
233
- value = value.substring(1);
234
- // Cannot have multiple negative signs (e.g. "--0x04")
235
- if (value[0] === "-") {
236
- logger.throwArgumentError("invalid hex", "value", value);
237
- }
238
- // Call toHex on the positive component
239
- value = toHex(value);
240
- // Do not allow "-0x00"
241
- if (value === "0x00") {
242
- return value;
243
- }
244
- // Negate the value
245
- return "-" + value;
246
- }
247
- // Add a "0x" prefix if missing
248
- if (value.substring(0, 2) !== "0x") {
249
- value = "0x" + value;
250
- }
251
- // Normalize zero
252
- if (value === "0x") {
253
- return "0x00";
254
- }
255
- // Make the string even length
256
- if (value.length % 2) {
257
- value = "0x0" + value.substring(2);
258
- }
259
- // Trim to smallest even-length string
260
- while (value.length > 4 && value.substring(0, 4) === "0x00") {
261
- value = "0x" + value.substring(4);
262
- }
263
- return value;
264
- }
265
- function toBigNumber(value) {
266
- return BigNumber.from(toHex(value));
267
- }
268
- function toBN(value) {
269
- const hex = BigNumber.from(value).toHexString();
270
- if (hex[0] === "-") {
271
- return (new BN("-" + hex.substring(3), 16));
272
- }
273
- return new BN(hex.substring(2), 16);
274
- }
275
- function throwFault(fault, operation, value) {
276
- const params = { fault: fault, operation: operation };
277
- if (value != null) {
278
- params.value = value;
279
- }
280
- return logger.throwError(fault, Logger.errors.NUMERIC_FAULT, params);
281
- }
282
- // value should have no prefix
283
- function _base36To16(value) {
284
- return (new BN(value, 36)).toString(16);
285
- }
286
-
287
- export { BigNumber, _base36To16 };
@@ -1,3 +0,0 @@
1
- const version = "bytes/5.8.0";
2
-
3
- export { version };
@@ -1,402 +0,0 @@
1
- import { Logger } from '../../logger/lib.esm/index.js';
2
- import { version } from './_version.js';
3
-
4
- const logger = new Logger(version);
5
- ///////////////////////////////
6
- function isHexable(value) {
7
- return !!(value.toHexString);
8
- }
9
- function addSlice(array) {
10
- if (array.slice) {
11
- return array;
12
- }
13
- array.slice = function () {
14
- const args = Array.prototype.slice.call(arguments);
15
- return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args)));
16
- };
17
- return array;
18
- }
19
- function isBytesLike(value) {
20
- return ((isHexString(value) && !(value.length % 2)) || isBytes(value));
21
- }
22
- function isInteger(value) {
23
- return (typeof (value) === "number" && value == value && (value % 1) === 0);
24
- }
25
- function isBytes(value) {
26
- if (value == null) {
27
- return false;
28
- }
29
- if (value.constructor === Uint8Array) {
30
- return true;
31
- }
32
- if (typeof (value) === "string") {
33
- return false;
34
- }
35
- if (!isInteger(value.length) || value.length < 0) {
36
- return false;
37
- }
38
- for (let i = 0; i < value.length; i++) {
39
- const v = value[i];
40
- if (!isInteger(v) || v < 0 || v >= 256) {
41
- return false;
42
- }
43
- }
44
- return true;
45
- }
46
- function arrayify(value, options) {
47
- if (!options) {
48
- options = {};
49
- }
50
- if (typeof (value) === "number") {
51
- logger.checkSafeUint53(value, "invalid arrayify value");
52
- const result = [];
53
- while (value) {
54
- result.unshift(value & 0xff);
55
- value = parseInt(String(value / 256));
56
- }
57
- if (result.length === 0) {
58
- result.push(0);
59
- }
60
- return addSlice(new Uint8Array(result));
61
- }
62
- if (options.allowMissingPrefix && typeof (value) === "string" && value.substring(0, 2) !== "0x") {
63
- value = "0x" + value;
64
- }
65
- if (isHexable(value)) {
66
- value = value.toHexString();
67
- }
68
- if (isHexString(value)) {
69
- let hex = value.substring(2);
70
- if (hex.length % 2) {
71
- if (options.hexPad === "left") {
72
- hex = "0" + hex;
73
- }
74
- else if (options.hexPad === "right") {
75
- hex += "0";
76
- }
77
- else {
78
- logger.throwArgumentError("hex data is odd-length", "value", value);
79
- }
80
- }
81
- const result = [];
82
- for (let i = 0; i < hex.length; i += 2) {
83
- result.push(parseInt(hex.substring(i, i + 2), 16));
84
- }
85
- return addSlice(new Uint8Array(result));
86
- }
87
- if (isBytes(value)) {
88
- return addSlice(new Uint8Array(value));
89
- }
90
- return logger.throwArgumentError("invalid arrayify value", "value", value);
91
- }
92
- function concat(items) {
93
- const objects = items.map(item => arrayify(item));
94
- const length = objects.reduce((accum, item) => (accum + item.length), 0);
95
- const result = new Uint8Array(length);
96
- objects.reduce((offset, object) => {
97
- result.set(object, offset);
98
- return offset + object.length;
99
- }, 0);
100
- return addSlice(result);
101
- }
102
- function stripZeros(value) {
103
- let result = arrayify(value);
104
- if (result.length === 0) {
105
- return result;
106
- }
107
- // Find the first non-zero entry
108
- let start = 0;
109
- while (start < result.length && result[start] === 0) {
110
- start++;
111
- }
112
- // If we started with zeros, strip them
113
- if (start) {
114
- result = result.slice(start);
115
- }
116
- return result;
117
- }
118
- function zeroPad(value, length) {
119
- value = arrayify(value);
120
- if (value.length > length) {
121
- logger.throwArgumentError("value out of range", "value", arguments[0]);
122
- }
123
- const result = new Uint8Array(length);
124
- result.set(value, length - value.length);
125
- return addSlice(result);
126
- }
127
- function isHexString(value, length) {
128
- if (typeof (value) !== "string" || !value.match(/^0x[0-9A-Fa-f]*$/)) {
129
- return false;
130
- }
131
- if (length && value.length !== 2 + 2 * length) {
132
- return false;
133
- }
134
- return true;
135
- }
136
- const HexCharacters = "0123456789abcdef";
137
- function hexlify(value, options) {
138
- if (!options) {
139
- options = {};
140
- }
141
- if (typeof (value) === "number") {
142
- logger.checkSafeUint53(value, "invalid hexlify value");
143
- let hex = "";
144
- while (value) {
145
- hex = HexCharacters[value & 0xf] + hex;
146
- value = Math.floor(value / 16);
147
- }
148
- if (hex.length) {
149
- if (hex.length % 2) {
150
- hex = "0" + hex;
151
- }
152
- return "0x" + hex;
153
- }
154
- return "0x00";
155
- }
156
- if (typeof (value) === "bigint") {
157
- value = value.toString(16);
158
- if (value.length % 2) {
159
- return ("0x0" + value);
160
- }
161
- return "0x" + value;
162
- }
163
- if (options.allowMissingPrefix && typeof (value) === "string" && value.substring(0, 2) !== "0x") {
164
- value = "0x" + value;
165
- }
166
- if (isHexable(value)) {
167
- return value.toHexString();
168
- }
169
- if (isHexString(value)) {
170
- if (value.length % 2) {
171
- if (options.hexPad === "left") {
172
- value = "0x0" + value.substring(2);
173
- }
174
- else if (options.hexPad === "right") {
175
- value += "0";
176
- }
177
- else {
178
- logger.throwArgumentError("hex data is odd-length", "value", value);
179
- }
180
- }
181
- return value.toLowerCase();
182
- }
183
- if (isBytes(value)) {
184
- let result = "0x";
185
- for (let i = 0; i < value.length; i++) {
186
- let v = value[i];
187
- result += HexCharacters[(v & 0xf0) >> 4] + HexCharacters[v & 0x0f];
188
- }
189
- return result;
190
- }
191
- return logger.throwArgumentError("invalid hexlify value", "value", value);
192
- }
193
- /*
194
- function unoddify(value: BytesLike | Hexable | number): BytesLike | Hexable | number {
195
- if (typeof(value) === "string" && value.length % 2 && value.substring(0, 2) === "0x") {
196
- return "0x0" + value.substring(2);
197
- }
198
- return value;
199
- }
200
- */
201
- function hexDataLength(data) {
202
- if (typeof (data) !== "string") {
203
- data = hexlify(data);
204
- }
205
- else if (!isHexString(data) || (data.length % 2)) {
206
- return null;
207
- }
208
- return (data.length - 2) / 2;
209
- }
210
- function hexDataSlice(data, offset, endOffset) {
211
- if (typeof (data) !== "string") {
212
- data = hexlify(data);
213
- }
214
- else if (!isHexString(data) || (data.length % 2)) {
215
- logger.throwArgumentError("invalid hexData", "value", data);
216
- }
217
- offset = 2 + 2 * offset;
218
- if (endOffset != null) {
219
- return "0x" + data.substring(offset, 2 + 2 * endOffset);
220
- }
221
- return "0x" + data.substring(offset);
222
- }
223
- function hexConcat(items) {
224
- let result = "0x";
225
- items.forEach((item) => {
226
- result += hexlify(item).substring(2);
227
- });
228
- return result;
229
- }
230
- function hexValue(value) {
231
- const trimmed = hexStripZeros(hexlify(value, { hexPad: "left" }));
232
- if (trimmed === "0x") {
233
- return "0x0";
234
- }
235
- return trimmed;
236
- }
237
- function hexStripZeros(value) {
238
- if (typeof (value) !== "string") {
239
- value = hexlify(value);
240
- }
241
- if (!isHexString(value)) {
242
- logger.throwArgumentError("invalid hex string", "value", value);
243
- }
244
- value = value.substring(2);
245
- let offset = 0;
246
- while (offset < value.length && value[offset] === "0") {
247
- offset++;
248
- }
249
- return "0x" + value.substring(offset);
250
- }
251
- function hexZeroPad(value, length) {
252
- if (typeof (value) !== "string") {
253
- value = hexlify(value);
254
- }
255
- else if (!isHexString(value)) {
256
- logger.throwArgumentError("invalid hex string", "value", value);
257
- }
258
- if (value.length > 2 * length + 2) {
259
- logger.throwArgumentError("value out of range", "value", arguments[1]);
260
- }
261
- while (value.length < 2 * length + 2) {
262
- value = "0x0" + value.substring(2);
263
- }
264
- return value;
265
- }
266
- function splitSignature(signature) {
267
- const result = {
268
- r: "0x",
269
- s: "0x",
270
- _vs: "0x",
271
- recoveryParam: 0,
272
- v: 0,
273
- yParityAndS: "0x",
274
- compact: "0x"
275
- };
276
- if (isBytesLike(signature)) {
277
- let bytes = arrayify(signature);
278
- // Get the r, s and v
279
- if (bytes.length === 64) {
280
- // EIP-2098; pull the v from the top bit of s and clear it
281
- result.v = 27 + (bytes[32] >> 7);
282
- bytes[32] &= 0x7f;
283
- result.r = hexlify(bytes.slice(0, 32));
284
- result.s = hexlify(bytes.slice(32, 64));
285
- }
286
- else if (bytes.length === 65) {
287
- result.r = hexlify(bytes.slice(0, 32));
288
- result.s = hexlify(bytes.slice(32, 64));
289
- result.v = bytes[64];
290
- }
291
- else {
292
- logger.throwArgumentError("invalid signature string", "signature", signature);
293
- }
294
- // Allow a recid to be used as the v
295
- if (result.v < 27) {
296
- if (result.v === 0 || result.v === 1) {
297
- result.v += 27;
298
- }
299
- else {
300
- logger.throwArgumentError("signature invalid v byte", "signature", signature);
301
- }
302
- }
303
- // Compute recoveryParam from v
304
- result.recoveryParam = 1 - (result.v % 2);
305
- // Compute _vs from recoveryParam and s
306
- if (result.recoveryParam) {
307
- bytes[32] |= 0x80;
308
- }
309
- result._vs = hexlify(bytes.slice(32, 64));
310
- }
311
- else {
312
- result.r = signature.r;
313
- result.s = signature.s;
314
- result.v = signature.v;
315
- result.recoveryParam = signature.recoveryParam;
316
- result._vs = signature._vs;
317
- // If the _vs is available, use it to populate missing s, v and recoveryParam
318
- // and verify non-missing s, v and recoveryParam
319
- if (result._vs != null) {
320
- const vs = zeroPad(arrayify(result._vs), 32);
321
- result._vs = hexlify(vs);
322
- // Set or check the recid
323
- const recoveryParam = ((vs[0] >= 128) ? 1 : 0);
324
- if (result.recoveryParam == null) {
325
- result.recoveryParam = recoveryParam;
326
- }
327
- else if (result.recoveryParam !== recoveryParam) {
328
- logger.throwArgumentError("signature recoveryParam mismatch _vs", "signature", signature);
329
- }
330
- // Set or check the s
331
- vs[0] &= 0x7f;
332
- const s = hexlify(vs);
333
- if (result.s == null) {
334
- result.s = s;
335
- }
336
- else if (result.s !== s) {
337
- logger.throwArgumentError("signature v mismatch _vs", "signature", signature);
338
- }
339
- }
340
- // Use recid and v to populate each other
341
- if (result.recoveryParam == null) {
342
- if (result.v == null) {
343
- logger.throwArgumentError("signature missing v and recoveryParam", "signature", signature);
344
- }
345
- else if (result.v === 0 || result.v === 1) {
346
- result.recoveryParam = result.v;
347
- }
348
- else {
349
- result.recoveryParam = 1 - (result.v % 2);
350
- }
351
- }
352
- else {
353
- if (result.v == null) {
354
- result.v = 27 + result.recoveryParam;
355
- }
356
- else {
357
- const recId = (result.v === 0 || result.v === 1) ? result.v : (1 - (result.v % 2));
358
- if (result.recoveryParam !== recId) {
359
- logger.throwArgumentError("signature recoveryParam mismatch v", "signature", signature);
360
- }
361
- }
362
- }
363
- if (result.r == null || !isHexString(result.r)) {
364
- logger.throwArgumentError("signature missing or invalid r", "signature", signature);
365
- }
366
- else {
367
- result.r = hexZeroPad(result.r, 32);
368
- }
369
- if (result.s == null || !isHexString(result.s)) {
370
- logger.throwArgumentError("signature missing or invalid s", "signature", signature);
371
- }
372
- else {
373
- result.s = hexZeroPad(result.s, 32);
374
- }
375
- const vs = arrayify(result.s);
376
- if (vs[0] >= 128) {
377
- logger.throwArgumentError("signature s out of range", "signature", signature);
378
- }
379
- if (result.recoveryParam) {
380
- vs[0] |= 0x80;
381
- }
382
- const _vs = hexlify(vs);
383
- if (result._vs) {
384
- if (!isHexString(result._vs)) {
385
- logger.throwArgumentError("signature invalid _vs", "signature", signature);
386
- }
387
- result._vs = hexZeroPad(result._vs, 32);
388
- }
389
- // Set or check the _vs
390
- if (result._vs == null) {
391
- result._vs = _vs;
392
- }
393
- else if (result._vs !== _vs) {
394
- logger.throwArgumentError("signature _vs mismatch v and s", "signature", signature);
395
- }
396
- }
397
- result.yParityAndS = result._vs;
398
- result.compact = result.r + result.yParityAndS.substring(2);
399
- return result;
400
- }
401
-
402
- export { arrayify, concat, hexConcat, hexDataLength, hexDataSlice, hexStripZeros, hexValue, hexZeroPad, hexlify, isBytes, isBytesLike, isHexString, splitSignature, stripZeros, zeroPad };
@@ -1,3 +0,0 @@
1
- const AddressZero = "0x0000000000000000000000000000000000000000";
2
-
3
- export { AddressZero };
@@ -1,8 +0,0 @@
1
- import { BigNumber } from '../../bignumber/lib.esm/bignumber.js';
2
-
3
- const NegativeOne = ( /*#__PURE__*/BigNumber.from(-1));
4
- const Zero = ( /*#__PURE__*/BigNumber.from(0));
5
- const One = ( /*#__PURE__*/BigNumber.from(1));
6
- const MaxUint256 = ( /*#__PURE__*/BigNumber.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"));
7
-
8
- export { MaxUint256, NegativeOne, One, Zero };