@waku/rln 0.1.5-861a776.0 → 0.1.5-a824fff.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 (164) hide show
  1. package/bundle/index.js +4 -3
  2. package/bundle/packages/rln/dist/contract/constants.js +2 -1
  3. package/bundle/packages/rln/dist/contract/{rln_light_contract.js → rln_base_contract.js} +191 -186
  4. package/bundle/packages/rln/dist/contract/rln_contract.js +10 -420
  5. package/bundle/packages/rln/dist/contract/types.js +9 -0
  6. package/bundle/packages/rln/dist/create.js +1 -1
  7. package/bundle/packages/rln/dist/{rln_light.js → credentials_manager.js} +114 -48
  8. package/bundle/packages/rln/dist/identity.js +0 -9
  9. package/bundle/packages/rln/dist/keystore/keystore.js +31 -17
  10. package/bundle/packages/rln/dist/rln.js +56 -166
  11. package/bundle/packages/rln/dist/utils/metamask.js +2 -2
  12. package/bundle/packages/rln/dist/zerokit.js +5 -5
  13. package/dist/.tsbuildinfo +1 -1
  14. package/dist/contract/constants.d.ts +1 -1
  15. package/dist/contract/constants.js +1 -1
  16. package/dist/contract/constants.js.map +1 -1
  17. package/dist/contract/index.d.ts +1 -0
  18. package/dist/contract/index.js +1 -0
  19. package/dist/contract/index.js.map +1 -1
  20. package/dist/contract/{rln_light_contract.d.ts → rln_base_contract.d.ts} +24 -58
  21. package/dist/contract/{rln_light_contract.js → rln_base_contract.js} +189 -184
  22. package/dist/contract/rln_base_contract.js.map +1 -0
  23. package/dist/contract/rln_contract.d.ts +5 -122
  24. package/dist/contract/rln_contract.js +8 -417
  25. package/dist/contract/rln_contract.js.map +1 -1
  26. package/dist/contract/types.d.ts +45 -0
  27. package/dist/contract/types.js +8 -0
  28. package/dist/contract/types.js.map +1 -0
  29. package/dist/create.js +1 -1
  30. package/dist/create.js.map +1 -1
  31. package/dist/credentials_manager.d.ts +44 -0
  32. package/dist/credentials_manager.js +197 -0
  33. package/dist/credentials_manager.js.map +1 -0
  34. package/dist/identity.d.ts +0 -1
  35. package/dist/identity.js +0 -9
  36. package/dist/identity.js.map +1 -1
  37. package/dist/index.d.ts +5 -4
  38. package/dist/index.js +4 -3
  39. package/dist/index.js.map +1 -1
  40. package/dist/keystore/keystore.d.ts +1 -0
  41. package/dist/keystore/keystore.js +31 -17
  42. package/dist/keystore/keystore.js.map +1 -1
  43. package/dist/keystore/types.d.ts +2 -2
  44. package/dist/rln.d.ts +9 -52
  45. package/dist/rln.js +54 -163
  46. package/dist/rln.js.map +1 -1
  47. package/dist/types.d.ts +27 -0
  48. package/dist/types.js +2 -0
  49. package/dist/types.js.map +1 -0
  50. package/dist/zerokit.d.ts +3 -3
  51. package/dist/zerokit.js +5 -5
  52. package/dist/zerokit.js.map +1 -1
  53. package/package.json +1 -1
  54. package/src/contract/constants.ts +1 -1
  55. package/src/contract/index.ts +1 -0
  56. package/src/contract/{rln_light_contract.ts → rln_base_contract.ts} +312 -323
  57. package/src/contract/rln_contract.ts +9 -663
  58. package/src/contract/types.ts +53 -0
  59. package/src/create.ts +1 -1
  60. package/src/credentials_manager.ts +282 -0
  61. package/src/identity.ts +0 -10
  62. package/src/index.ts +7 -5
  63. package/src/keystore/keystore.ts +57 -31
  64. package/src/keystore/types.ts +2 -2
  65. package/src/rln.ts +67 -258
  66. package/src/types.ts +31 -0
  67. package/src/zerokit.ts +3 -3
  68. package/bundle/_virtual/__node-resolve_empty.js +0 -6
  69. package/bundle/_virtual/_node-resolve_empty.js +0 -3
  70. package/bundle/_virtual/bn.js +0 -3
  71. package/bundle/_virtual/common.js +0 -3
  72. package/bundle/_virtual/common2.js +0 -3
  73. package/bundle/_virtual/hash.js +0 -3
  74. package/bundle/_virtual/inherits_browser.js +0 -3
  75. package/bundle/_virtual/ripemd.js +0 -3
  76. package/bundle/_virtual/sha.js +0 -3
  77. package/bundle/_virtual/sha3.js +0 -3
  78. package/bundle/_virtual/utils3.js +0 -3
  79. package/bundle/node_modules/@ethersproject/abi/lib.esm/_version.js +0 -3
  80. package/bundle/node_modules/@ethersproject/abi/lib.esm/abi-coder.js +0 -96
  81. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/abstract-coder.js +0 -148
  82. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/address.js +0 -26
  83. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/anonymous.js +0 -20
  84. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/array.js +0 -210
  85. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/boolean.js +0 -18
  86. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/bytes.js +0 -30
  87. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/fixed-bytes.js +0 -26
  88. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/null.js +0 -22
  89. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/number.js +0 -43
  90. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/string.js +0 -19
  91. package/bundle/node_modules/@ethersproject/abi/lib.esm/coders/tuple.js +0 -58
  92. package/bundle/node_modules/@ethersproject/abi/lib.esm/fragments.js +0 -854
  93. package/bundle/node_modules/@ethersproject/abi/lib.esm/interface.js +0 -609
  94. package/bundle/node_modules/@ethersproject/abstract-provider/lib.esm/_version.js +0 -3
  95. package/bundle/node_modules/@ethersproject/abstract-provider/lib.esm/index.js +0 -66
  96. package/bundle/node_modules/@ethersproject/abstract-signer/lib.esm/_version.js +0 -3
  97. package/bundle/node_modules/@ethersproject/abstract-signer/lib.esm/index.js +0 -302
  98. package/bundle/node_modules/@ethersproject/address/lib.esm/_version.js +0 -3
  99. package/bundle/node_modules/@ethersproject/address/lib.esm/index.js +0 -110
  100. package/bundle/node_modules/@ethersproject/base64/lib.esm/base64.js +0 -20
  101. package/bundle/node_modules/@ethersproject/basex/lib.esm/index.js +0 -120
  102. package/bundle/node_modules/@ethersproject/bignumber/lib.esm/_version.js +0 -3
  103. package/bundle/node_modules/@ethersproject/bignumber/lib.esm/bignumber.js +0 -287
  104. package/bundle/node_modules/@ethersproject/bytes/lib.esm/_version.js +0 -3
  105. package/bundle/node_modules/@ethersproject/bytes/lib.esm/index.js +0 -402
  106. package/bundle/node_modules/@ethersproject/constants/lib.esm/addresses.js +0 -3
  107. package/bundle/node_modules/@ethersproject/constants/lib.esm/bignumbers.js +0 -8
  108. package/bundle/node_modules/@ethersproject/constants/lib.esm/hashes.js +0 -3
  109. package/bundle/node_modules/@ethersproject/contracts/lib.esm/_version.js +0 -3
  110. package/bundle/node_modules/@ethersproject/contracts/lib.esm/index.js +0 -893
  111. package/bundle/node_modules/@ethersproject/hash/lib.esm/_version.js +0 -3
  112. package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/decoder.js +0 -256
  113. package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/include.js +0 -36
  114. package/bundle/node_modules/@ethersproject/hash/lib.esm/ens-normalize/lib.js +0 -135
  115. package/bundle/node_modules/@ethersproject/hash/lib.esm/id.js +0 -8
  116. package/bundle/node_modules/@ethersproject/hash/lib.esm/namehash.js +0 -64
  117. package/bundle/node_modules/@ethersproject/hash/lib.esm/typed-data.js +0 -443
  118. package/bundle/node_modules/@ethersproject/keccak256/lib.esm/index.js +0 -8
  119. package/bundle/node_modules/@ethersproject/keccak256/node_modules/js-sha3/src/sha3.js +0 -660
  120. package/bundle/node_modules/@ethersproject/logger/lib.esm/_version.js +0 -3
  121. package/bundle/node_modules/@ethersproject/logger/lib.esm/index.js +0 -352
  122. package/bundle/node_modules/@ethersproject/networks/lib.esm/_version.js +0 -3
  123. package/bundle/node_modules/@ethersproject/networks/lib.esm/index.js +0 -248
  124. package/bundle/node_modules/@ethersproject/properties/lib.esm/_version.js +0 -3
  125. package/bundle/node_modules/@ethersproject/properties/lib.esm/index.js +0 -127
  126. package/bundle/node_modules/@ethersproject/providers/lib.esm/_version.js +0 -3
  127. package/bundle/node_modules/@ethersproject/providers/lib.esm/base-provider.js +0 -2007
  128. package/bundle/node_modules/@ethersproject/providers/lib.esm/formatter.js +0 -422
  129. package/bundle/node_modules/@ethersproject/providers/lib.esm/json-rpc-provider.js +0 -674
  130. package/bundle/node_modules/@ethersproject/providers/lib.esm/web3-provider.js +0 -132
  131. package/bundle/node_modules/@ethersproject/rlp/lib.esm/_version.js +0 -3
  132. package/bundle/node_modules/@ethersproject/rlp/lib.esm/index.js +0 -120
  133. package/bundle/node_modules/@ethersproject/sha2/lib.esm/sha2.js +0 -8
  134. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/_version.js +0 -3
  135. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/elliptic.js +0 -2430
  136. package/bundle/node_modules/@ethersproject/signing-key/lib.esm/index.js +0 -76
  137. package/bundle/node_modules/@ethersproject/strings/lib.esm/_version.js +0 -3
  138. package/bundle/node_modules/@ethersproject/strings/lib.esm/utf8.js +0 -219
  139. package/bundle/node_modules/@ethersproject/transactions/lib.esm/_version.js +0 -3
  140. package/bundle/node_modules/@ethersproject/transactions/lib.esm/index.js +0 -279
  141. package/bundle/node_modules/@ethersproject/web/lib.esm/_version.js +0 -3
  142. package/bundle/node_modules/@ethersproject/web/lib.esm/geturl.js +0 -69
  143. package/bundle/node_modules/@ethersproject/web/lib.esm/index.js +0 -404
  144. package/bundle/node_modules/bech32/index.js +0 -187
  145. package/bundle/node_modules/bn.js/lib/bn.js +0 -3361
  146. package/bundle/node_modules/hash.js/lib/hash/common.js +0 -97
  147. package/bundle/node_modules/hash.js/lib/hash/hmac.js +0 -51
  148. package/bundle/node_modules/hash.js/lib/hash/ripemd.js +0 -152
  149. package/bundle/node_modules/hash.js/lib/hash/sha/1.js +0 -81
  150. package/bundle/node_modules/hash.js/lib/hash/sha/224.js +0 -33
  151. package/bundle/node_modules/hash.js/lib/hash/sha/256.js +0 -113
  152. package/bundle/node_modules/hash.js/lib/hash/sha/384.js +0 -39
  153. package/bundle/node_modules/hash.js/lib/hash/sha/512.js +0 -336
  154. package/bundle/node_modules/hash.js/lib/hash/sha/common.js +0 -53
  155. package/bundle/node_modules/hash.js/lib/hash/sha.js +0 -14
  156. package/bundle/node_modules/hash.js/lib/hash/utils.js +0 -282
  157. package/bundle/node_modules/hash.js/lib/hash.js +0 -33
  158. package/bundle/node_modules/inherits/inherits_browser.js +0 -33
  159. package/bundle/node_modules/minimalistic-assert/index.js +0 -13
  160. package/dist/contract/rln_light_contract.js.map +0 -1
  161. package/dist/rln_light.d.ts +0 -64
  162. package/dist/rln_light.js +0 -144
  163. package/dist/rln_light.js.map +0 -1
  164. package/src/rln_light.ts +0 -235
@@ -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 };