@layerzerolabs/onesig-evm 0.0.3 → 0.0.5

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 (32) hide show
  1. package/contracts/MultiSig.sol +219 -0
  2. package/contracts/OneSig.sol +258 -0
  3. package/contracts/mocks/MockOApp.sol +13 -0
  4. package/dist/index.d.ts +12 -0
  5. package/dist/index.js +54 -0
  6. package/package.json +7 -12
  7. package/typechain-types/@openzeppelin/contracts/index.ts +5 -0
  8. package/typechain-types/@openzeppelin/contracts/utils/cryptography/ECDSA.ts +55 -0
  9. package/typechain-types/@openzeppelin/contracts/utils/cryptography/MerkleProof.ts +55 -0
  10. package/typechain-types/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
  11. package/typechain-types/@openzeppelin/contracts/utils/index.ts +5 -0
  12. package/typechain-types/@openzeppelin/index.ts +5 -0
  13. package/typechain-types/common.ts +46 -0
  14. package/typechain-types/contracts/MultiSig.ts +358 -0
  15. package/typechain-types/contracts/OneSig.ts +687 -0
  16. package/typechain-types/contracts/index.ts +7 -0
  17. package/typechain-types/contracts/mocks/MockOApp.ts +144 -0
  18. package/typechain-types/contracts/mocks/index.ts +4 -0
  19. package/typechain-types/factories/@openzeppelin/contracts/index.ts +4 -0
  20. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.ts +87 -0
  21. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/MerkleProof__factory.ts +68 -0
  22. package/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/index.ts +5 -0
  23. package/typechain-types/factories/@openzeppelin/contracts/utils/index.ts +4 -0
  24. package/typechain-types/factories/@openzeppelin/index.ts +4 -0
  25. package/typechain-types/factories/contracts/MultiSig__factory.ts +275 -0
  26. package/typechain-types/factories/contracts/OneSig__factory.ts +653 -0
  27. package/typechain-types/factories/contracts/index.ts +6 -0
  28. package/typechain-types/factories/contracts/mocks/MockOApp__factory.ts +104 -0
  29. package/typechain-types/factories/contracts/mocks/index.ts +4 -0
  30. package/typechain-types/factories/index.ts +5 -0
  31. package/typechain-types/hardhat.d.ts +78 -0
  32. package/typechain-types/index.ts +18 -0
@@ -0,0 +1,653 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Signer,
6
+ utils,
7
+ Contract,
8
+ ContractFactory,
9
+ BytesLike,
10
+ BigNumberish,
11
+ Overrides,
12
+ } from "ethers";
13
+ import type { Provider, TransactionRequest } from "@ethersproject/providers";
14
+ import type { PromiseOrValue } from "../../common";
15
+ import type { OneSig, OneSigInterface } from "../../contracts/OneSig";
16
+
17
+ const _abi = [
18
+ {
19
+ inputs: [
20
+ {
21
+ internalType: "address[]",
22
+ name: "_signers",
23
+ type: "address[]",
24
+ },
25
+ {
26
+ internalType: "uint256",
27
+ name: "_threshold",
28
+ type: "uint256",
29
+ },
30
+ {
31
+ internalType: "uint256",
32
+ name: "_chainId",
33
+ type: "uint256",
34
+ },
35
+ {
36
+ internalType: "bytes32",
37
+ name: "_seed",
38
+ type: "bytes32",
39
+ },
40
+ ],
41
+ stateMutability: "nonpayable",
42
+ type: "constructor",
43
+ },
44
+ {
45
+ inputs: [],
46
+ name: "ECDSAInvalidSignature",
47
+ type: "error",
48
+ },
49
+ {
50
+ inputs: [
51
+ {
52
+ internalType: "uint256",
53
+ name: "length",
54
+ type: "uint256",
55
+ },
56
+ ],
57
+ name: "ECDSAInvalidSignatureLength",
58
+ type: "error",
59
+ },
60
+ {
61
+ inputs: [
62
+ {
63
+ internalType: "bytes32",
64
+ name: "s",
65
+ type: "bytes32",
66
+ },
67
+ ],
68
+ name: "ECDSAInvalidSignatureS",
69
+ type: "error",
70
+ },
71
+ {
72
+ inputs: [
73
+ {
74
+ internalType: "uint256",
75
+ name: "index",
76
+ type: "uint256",
77
+ },
78
+ ],
79
+ name: "ExecutionFailed",
80
+ type: "error",
81
+ },
82
+ {
83
+ inputs: [],
84
+ name: "InvalidProofOrNonce",
85
+ type: "error",
86
+ },
87
+ {
88
+ inputs: [],
89
+ name: "InvalidSigner",
90
+ type: "error",
91
+ },
92
+ {
93
+ inputs: [],
94
+ name: "MerkleRootExpired",
95
+ type: "error",
96
+ },
97
+ {
98
+ inputs: [],
99
+ name: "OnlyMultiSig",
100
+ type: "error",
101
+ },
102
+ {
103
+ inputs: [],
104
+ name: "SignatureError",
105
+ type: "error",
106
+ },
107
+ {
108
+ inputs: [
109
+ {
110
+ internalType: "address",
111
+ name: "signer",
112
+ type: "address",
113
+ },
114
+ ],
115
+ name: "SignerAlreadyAdded",
116
+ type: "error",
117
+ },
118
+ {
119
+ inputs: [
120
+ {
121
+ internalType: "address",
122
+ name: "signer",
123
+ type: "address",
124
+ },
125
+ ],
126
+ name: "SignerNotFound",
127
+ type: "error",
128
+ },
129
+ {
130
+ inputs: [
131
+ {
132
+ internalType: "uint256",
133
+ name: "totalSigners",
134
+ type: "uint256",
135
+ },
136
+ {
137
+ internalType: "uint256",
138
+ name: "threshold",
139
+ type: "uint256",
140
+ },
141
+ ],
142
+ name: "TotalSignersLessThanThreshold",
143
+ type: "error",
144
+ },
145
+ {
146
+ inputs: [],
147
+ name: "UnsortedSigners",
148
+ type: "error",
149
+ },
150
+ {
151
+ inputs: [],
152
+ name: "ZeroThreshold",
153
+ type: "error",
154
+ },
155
+ {
156
+ anonymous: false,
157
+ inputs: [
158
+ {
159
+ indexed: false,
160
+ internalType: "bytes32",
161
+ name: "seed",
162
+ type: "bytes32",
163
+ },
164
+ ],
165
+ name: "SeedSet",
166
+ type: "event",
167
+ },
168
+ {
169
+ anonymous: false,
170
+ inputs: [
171
+ {
172
+ indexed: false,
173
+ internalType: "address",
174
+ name: "signer",
175
+ type: "address",
176
+ },
177
+ {
178
+ indexed: false,
179
+ internalType: "bool",
180
+ name: "active",
181
+ type: "bool",
182
+ },
183
+ ],
184
+ name: "SignerSet",
185
+ type: "event",
186
+ },
187
+ {
188
+ anonymous: false,
189
+ inputs: [
190
+ {
191
+ indexed: false,
192
+ internalType: "uint256",
193
+ name: "threshold",
194
+ type: "uint256",
195
+ },
196
+ ],
197
+ name: "ThresholdSet",
198
+ type: "event",
199
+ },
200
+ {
201
+ anonymous: false,
202
+ inputs: [
203
+ {
204
+ indexed: false,
205
+ internalType: "bytes32",
206
+ name: "merkleRoot",
207
+ type: "bytes32",
208
+ },
209
+ {
210
+ indexed: false,
211
+ internalType: "uint256",
212
+ name: "nonce",
213
+ type: "uint256",
214
+ },
215
+ ],
216
+ name: "TransactionExecuted",
217
+ type: "event",
218
+ },
219
+ {
220
+ inputs: [],
221
+ name: "CHAIN_ID",
222
+ outputs: [
223
+ {
224
+ internalType: "uint256",
225
+ name: "",
226
+ type: "uint256",
227
+ },
228
+ ],
229
+ stateMutability: "view",
230
+ type: "function",
231
+ },
232
+ {
233
+ inputs: [],
234
+ name: "VERSION",
235
+ outputs: [
236
+ {
237
+ internalType: "string",
238
+ name: "",
239
+ type: "string",
240
+ },
241
+ ],
242
+ stateMutability: "view",
243
+ type: "function",
244
+ },
245
+ {
246
+ inputs: [
247
+ {
248
+ internalType: "uint256",
249
+ name: "_nonce",
250
+ type: "uint256",
251
+ },
252
+ {
253
+ components: [
254
+ {
255
+ internalType: "address",
256
+ name: "to",
257
+ type: "address",
258
+ },
259
+ {
260
+ internalType: "uint256",
261
+ name: "value",
262
+ type: "uint256",
263
+ },
264
+ {
265
+ internalType: "bytes",
266
+ name: "data",
267
+ type: "bytes",
268
+ },
269
+ ],
270
+ internalType: "struct OneSig.Call[]",
271
+ name: "_calls",
272
+ type: "tuple[]",
273
+ },
274
+ ],
275
+ name: "encodeLeaf",
276
+ outputs: [
277
+ {
278
+ internalType: "bytes32",
279
+ name: "",
280
+ type: "bytes32",
281
+ },
282
+ ],
283
+ stateMutability: "view",
284
+ type: "function",
285
+ },
286
+ {
287
+ inputs: [
288
+ {
289
+ components: [
290
+ {
291
+ components: [
292
+ {
293
+ internalType: "address",
294
+ name: "to",
295
+ type: "address",
296
+ },
297
+ {
298
+ internalType: "uint256",
299
+ name: "value",
300
+ type: "uint256",
301
+ },
302
+ {
303
+ internalType: "bytes",
304
+ name: "data",
305
+ type: "bytes",
306
+ },
307
+ ],
308
+ internalType: "struct OneSig.Call[]",
309
+ name: "calls",
310
+ type: "tuple[]",
311
+ },
312
+ {
313
+ internalType: "bytes32[]",
314
+ name: "proof",
315
+ type: "bytes32[]",
316
+ },
317
+ ],
318
+ internalType: "struct OneSig.Transaction",
319
+ name: "_transaction",
320
+ type: "tuple",
321
+ },
322
+ {
323
+ internalType: "bytes32",
324
+ name: "_merkleRoot",
325
+ type: "bytes32",
326
+ },
327
+ {
328
+ internalType: "uint256",
329
+ name: "_expiry",
330
+ type: "uint256",
331
+ },
332
+ {
333
+ internalType: "bytes",
334
+ name: "_signatures",
335
+ type: "bytes",
336
+ },
337
+ ],
338
+ name: "executeTransaction",
339
+ outputs: [],
340
+ stateMutability: "payable",
341
+ type: "function",
342
+ },
343
+ {
344
+ inputs: [],
345
+ name: "getSigners",
346
+ outputs: [
347
+ {
348
+ internalType: "address[]",
349
+ name: "",
350
+ type: "address[]",
351
+ },
352
+ ],
353
+ stateMutability: "view",
354
+ type: "function",
355
+ },
356
+ {
357
+ inputs: [
358
+ {
359
+ internalType: "address",
360
+ name: "_signer",
361
+ type: "address",
362
+ },
363
+ ],
364
+ name: "isSigner",
365
+ outputs: [
366
+ {
367
+ internalType: "bool",
368
+ name: "",
369
+ type: "bool",
370
+ },
371
+ ],
372
+ stateMutability: "view",
373
+ type: "function",
374
+ },
375
+ {
376
+ inputs: [],
377
+ name: "nonce",
378
+ outputs: [
379
+ {
380
+ internalType: "uint256",
381
+ name: "",
382
+ type: "uint256",
383
+ },
384
+ ],
385
+ stateMutability: "view",
386
+ type: "function",
387
+ },
388
+ {
389
+ inputs: [],
390
+ name: "seed",
391
+ outputs: [
392
+ {
393
+ internalType: "bytes32",
394
+ name: "",
395
+ type: "bytes32",
396
+ },
397
+ ],
398
+ stateMutability: "view",
399
+ type: "function",
400
+ },
401
+ {
402
+ inputs: [
403
+ {
404
+ internalType: "bytes32",
405
+ name: "_seed",
406
+ type: "bytes32",
407
+ },
408
+ ],
409
+ name: "setSeed",
410
+ outputs: [],
411
+ stateMutability: "nonpayable",
412
+ type: "function",
413
+ },
414
+ {
415
+ inputs: [
416
+ {
417
+ internalType: "address",
418
+ name: "_signer",
419
+ type: "address",
420
+ },
421
+ {
422
+ internalType: "bool",
423
+ name: "_active",
424
+ type: "bool",
425
+ },
426
+ ],
427
+ name: "setSigner",
428
+ outputs: [],
429
+ stateMutability: "nonpayable",
430
+ type: "function",
431
+ },
432
+ {
433
+ inputs: [
434
+ {
435
+ internalType: "uint256",
436
+ name: "_threshold",
437
+ type: "uint256",
438
+ },
439
+ ],
440
+ name: "setThreshold",
441
+ outputs: [],
442
+ stateMutability: "nonpayable",
443
+ type: "function",
444
+ },
445
+ {
446
+ inputs: [],
447
+ name: "threshold",
448
+ outputs: [
449
+ {
450
+ internalType: "uint256",
451
+ name: "",
452
+ type: "uint256",
453
+ },
454
+ ],
455
+ stateMutability: "view",
456
+ type: "function",
457
+ },
458
+ {
459
+ inputs: [],
460
+ name: "totalSigners",
461
+ outputs: [
462
+ {
463
+ internalType: "uint256",
464
+ name: "",
465
+ type: "uint256",
466
+ },
467
+ ],
468
+ stateMutability: "view",
469
+ type: "function",
470
+ },
471
+ {
472
+ inputs: [
473
+ {
474
+ internalType: "bytes32",
475
+ name: "_merkleRoot",
476
+ type: "bytes32",
477
+ },
478
+ {
479
+ internalType: "uint256",
480
+ name: "_expiry",
481
+ type: "uint256",
482
+ },
483
+ {
484
+ internalType: "bytes",
485
+ name: "_signatures",
486
+ type: "bytes",
487
+ },
488
+ ],
489
+ name: "verifyMerkleRoot",
490
+ outputs: [],
491
+ stateMutability: "view",
492
+ type: "function",
493
+ },
494
+ {
495
+ inputs: [
496
+ {
497
+ internalType: "bytes32",
498
+ name: "_digest",
499
+ type: "bytes32",
500
+ },
501
+ {
502
+ internalType: "bytes",
503
+ name: "_signatures",
504
+ type: "bytes",
505
+ },
506
+ {
507
+ internalType: "uint256",
508
+ name: "_threshold",
509
+ type: "uint256",
510
+ },
511
+ ],
512
+ name: "verifyNSignatures",
513
+ outputs: [],
514
+ stateMutability: "view",
515
+ type: "function",
516
+ },
517
+ {
518
+ inputs: [
519
+ {
520
+ internalType: "bytes32",
521
+ name: "_digest",
522
+ type: "bytes32",
523
+ },
524
+ {
525
+ internalType: "bytes",
526
+ name: "_signatures",
527
+ type: "bytes",
528
+ },
529
+ ],
530
+ name: "verifySignatures",
531
+ outputs: [],
532
+ stateMutability: "view",
533
+ type: "function",
534
+ },
535
+ {
536
+ inputs: [
537
+ {
538
+ internalType: "bytes32",
539
+ name: "_merkleRoot",
540
+ type: "bytes32",
541
+ },
542
+ {
543
+ components: [
544
+ {
545
+ components: [
546
+ {
547
+ internalType: "address",
548
+ name: "to",
549
+ type: "address",
550
+ },
551
+ {
552
+ internalType: "uint256",
553
+ name: "value",
554
+ type: "uint256",
555
+ },
556
+ {
557
+ internalType: "bytes",
558
+ name: "data",
559
+ type: "bytes",
560
+ },
561
+ ],
562
+ internalType: "struct OneSig.Call[]",
563
+ name: "calls",
564
+ type: "tuple[]",
565
+ },
566
+ {
567
+ internalType: "bytes32[]",
568
+ name: "proof",
569
+ type: "bytes32[]",
570
+ },
571
+ ],
572
+ internalType: "struct OneSig.Transaction",
573
+ name: "_transaction",
574
+ type: "tuple",
575
+ },
576
+ ],
577
+ name: "verifyTransactionProof",
578
+ outputs: [],
579
+ stateMutability: "view",
580
+ type: "function",
581
+ },
582
+ {
583
+ stateMutability: "payable",
584
+ type: "receive",
585
+ },
586
+ ] as const;
587
+
588
+ const _bytecode =
589
+ "0x60c06040523480156200001157600080fd5b5060405162001af038038062001af08339810160408190526200003491620002fe565b838360005b82518110156200007957620000708382815181106200005c576200005c620003eb565b6020026020010151620000fb60201b60201c565b60010162000039565b506200008581620001a4565b505060808290526040805160208101849052309181019190915260600160408051808303601f1901815290829052805160209182012060a05260038390558282527f36d9c0a688d366a03517cca4843dfff4e45db3869d5fd86fb9d15a1b45ce0e5a910160405180910390a15050505062000401565b6001600160a01b0381166200012357604051632057875960e21b815260040160405180910390fd5b620001306000826200023c565b6200015e576040516327ec359360e21b81526001600160a01b03821660048201526024015b60405180910390fd5b604080516001600160a01b0383168152600160208201527ffc4acb499491cd850a8a21ab98c7f128850c0f0e5f1a875a62b7fa055c2ecf1991015b60405180910390a150565b80600003620001c65760405163831761d760e01b815260040160405180910390fd5b80620001d16200025c565b10156200020657620001e26200025c565b60405162daa43760e71b815260048101919091526024810182905260440162000155565b60028190556040518181527f6e8a187d7944998085dbd1f16b84c51c903bb727536cdba86962439aded2cfd79060200162000199565b600062000253836001600160a01b0384166200026e565b90505b92915050565b60006200026981620002c0565b905090565b6000818152600183016020526040812054620002b75750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915562000256565b50600062000256565b600062000256825490565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b0381168114620002f957600080fd5b919050565b600080600080608085870312156200031557600080fd5b84516001600160401b03808211156200032d57600080fd5b818701915087601f8301126200034257600080fd5b8151602082821115620003595762000359620002cb565b8160051b604051601f19603f83011681018181108682111715620003815762000381620002cb565b60405292835281830193508481018201928b841115620003a057600080fd5b948201945b83861015620003c957620003b986620002e1565b85529482019493820193620003a5565b918a015160408b01516060909b0151929c909b50919850909650505050505050565b634e487b7160e01b600052603260045260246000fd5b60805160a0516116c96200042760003960006109530152600061021101526116c96000f3fe6080604052600436106101025760003560e01c80638e6725bd11610095578063c7a823e011610064578063c7a823e01461029e578063d1a62648146102be578063d63f97c9146102d3578063e3bd0362146102f3578063ffa1ad741461031357600080fd5b80638e6725bd1461023357806394cf795e14610246578063960bfe0414610268578063affed0e01461028857600080fd5b80636419ebde116100d15780636419ebde146101995780637d94792a146101b95780637df73e27146101cf57806385e1f4d0146101ff57600080fd5b80632b03f6ab1461010e57806331cb610514610130578063347024ff1461015057806342cde4e81461017057600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5061012e610129366004611054565b610351565b005b34801561013c57600080fd5b5061012e61014b3660046110c3565b6104f3565b34801561015c57600080fd5b5061012e61016b3660046110ff565b61052f565b34801561017c57600080fd5b5061018660025481565b6040519081526020015b60405180910390f35b3480156101a557600080fd5b5061012e6101b4366004611118565b61058b565b3480156101c557600080fd5b5061018660035481565b3480156101db57600080fd5b506101ef6101ea36600461116b565b6106da565b6040519015158152602001610190565b34801561020b57600080fd5b506101867f000000000000000000000000000000000000000000000000000000000000000081565b61012e61024136600461119e565b6106ec565b34801561025257600080fd5b5061025b61089e565b604051610190919061121c565b34801561027457600080fd5b5061012e6102833660046110ff565b6108af565b34801561029457600080fd5b5061018660045481565b3480156102aa57600080fd5b5061012e6102b9366004611269565b6108db565b3480156102ca57600080fd5b506101866108ee565b3480156102df57600080fd5b5061012e6102ee3660046112b5565b6108fa565b3480156102ff57600080fd5b5061018661030e3660046112fc565b61094f565b34801561031f57600080fd5b5061034460405180604001604052806005815260200164302e302e3160d81b81525081565b604051610190919061139f565b8242111561037257604051634f01675560e01b815260040160405180910390fd5b6040805180820182526002815261190160f01b6020808301919091528251808401845260068152654f6e6553696760d01b90820152825180840184526005815264302e302e3160d81b9082015282517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fbd7855a8d66a83be54ebc7fa5f2e3fb658ab6007afa89cd93dfca08ad1b97ec8818501527fae209a0b48f21c054280f2455d32cf309387644879d9acbd8ffc19916381188560608201526001608082015261dead60a0808301919091528451808303909101815260c0820185528051908301206003547f642ed5d2b77bc7ccb98e10da4c02d7cd8231228da4222a9f88a80c15545074ed60e08401526101008301526101208201899052610140808301899052855180840390910181526101608301909552845194909201939093206000936104c993929190610180016113d2565b6040516020818303038152906040528051906020012090506104ec8184846108db565b5050505050565b33301461051357604051634afb817760e11b815260040160405180910390fd5b801561052657610522826109a7565b5050565b61052282610a40565b33301461054f57604051634afb817760e11b815260040160405180910390fd5b60038190556040518181527f36d9c0a688d366a03517cca4843dfff4e45db3869d5fd86fb9d15a1b45ce0e5a906020015b60405180910390a150565b806000036105ac5760405163831761d760e01b815260040160405180910390fd5b6105b781604161140f565b82146105d65760405163669233e360e11b815260040160405180910390fd5b6000805b828110156106d25736600086866105f285604161140f565b906105fe866001611426565b61060990604161140f565b9261061693929190611439565b91509150600061065c8984848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aef92505050565b9050846001600160a01b0316816001600160a01b0316116106905760405163d02ef0e560e01b815260040160405180910390fd5b610699816106da565b6106c6576040516353b1def160e01b81526001600160a01b03821660048201526024015b60405180910390fd5b935050506001016105da565b505050505050565b60006106e68183610b19565b92915050565b6106f884848484610351565b61070284866108fa565b600480546000918261071383611463565b91905055905060005b610726878061147c565b905081101561085c57600061073b888061147c565b8381811061074b5761074b6114c6565b905060200281019061075d91906114dc565b61076b90602081019061116b565b6001600160a01b031661077e898061147c565b8481811061078e5761078e6114c6565b90506020028101906107a091906114dc565b602001356107ae8a8061147c565b858181106107be576107be6114c6565b90506020028101906107d091906114dc565b6107de9060408101906114fc565b6040516107ec929190611543565b60006040518083038185875af1925050503d8060008114610829576040519150601f19603f3d011682016040523d82523d6000602084013e61082e565b606091505b505090508061085357604051632497eb8760e11b8152600481018390526024016106bd565b5060010161071c565b5060408051868152602081018390527fd9a0df418868c38712b1f6eab685bc77a2e49596edd77667ab34d5448f5f941c910160405180910390a1505050505050565b60606108aa6000610b3e565b905090565b3330146108cf57604051634afb817760e11b815260040160405180910390fd5b6108d881610b4b565b50565b6108e983838360025461058b565b505050565b60006108aa6000610bdb565b60045460009061090e9061030e848061147c565b90506000610929610922602085018561147c565b8685610be5565b9050806109495760405163150b827160e11b815260040160405180910390fd5b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000008484846040516020016109889493929190611553565b6040516020818303038152906040528051906020012090509392505050565b6001600160a01b0381166109ce57604051632057875960e21b815260040160405180910390fd5b6109d9600082610bfd565b610a01576040516327ec359360e21b81526001600160a01b03821660048201526024016106bd565b604080516001600160a01b0383168152600160208201527ffc4acb499491cd850a8a21ab98c7f128850c0f0e5f1a875a62b7fa055c2ecf199101610580565b610a4b600082610c12565b610a73576040516353b1def160e01b81526001600160a01b03821660048201526024016106bd565b600254610a7e6108ee565b1015610ab057610a8c6108ee565b60025460405162daa43760e71b8152600481019290925260248201526044016106bd565b604080516001600160a01b0383168152600060208201527ffc4acb499491cd850a8a21ab98c7f128850c0f0e5f1a875a62b7fa055c2ecf199101610580565b600080600080610aff8686610c27565b925092509250610b0f8282610c74565b5090949350505050565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b60606000610b3783610d2d565b80600003610b6c5760405163831761d760e01b815260040160405180910390fd5b80610b756108ee565b1015610ba657610b836108ee565b60405162daa43760e71b81526004810191909152602481018290526044016106bd565b60028190556040518181527f6e8a187d7944998085dbd1f16b84c51c903bb727536cdba86962439aded2cfd790602001610580565b60006106e6825490565b600082610bf3868685610d89565b1495945050505050565b6000610b37836001600160a01b038416610dcb565b6000610b37836001600160a01b038416610e1a565b60008060008351604103610c615760208401516040850151606086015160001a610c5388828585610f0d565b955095509550505050610c6d565b50508151600091506002905b9250925092565b6000826003811115610c8857610c88611654565b03610c91575050565b6001826003811115610ca557610ca5611654565b03610cc35760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610cd757610cd7611654565b03610cf85760405163fce698f760e01b8152600481018290526024016106bd565b6003826003811115610d0c57610d0c611654565b03610522576040516335e2f38360e21b8152600481018290526024016106bd565b606081600001805480602002602001604051908101604052809291908181526020018280548015610d7d57602002820191906000526020600020905b815481526020019060010190808311610d69575b50505050509050919050565b600081815b84811015610dc257610db882878784818110610dac57610dac6114c6565b90506020020135610fdc565b9150600101610d8e565b50949350505050565b6000818152600183016020526040812054610e12575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106e6565b5060006106e6565b60008181526001830160205260408120548015610f03576000610e3e60018361166a565b8554909150600090610e529060019061166a565b9050808214610eb7576000866000018281548110610e7257610e726114c6565b9060005260206000200154905080876000018481548110610e9557610e956114c6565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610ec857610ec861167d565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106e6565b60009150506106e6565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610f485750600091506003905082610fd2565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610f9c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610fc857506000925060019150829050610fd2565b9250600091508190505b9450945094915050565b6000818310610ff8576000828152602084905260409020610b37565b6000838152602083905260409020610b37565b60008083601f84011261101d57600080fd5b50813567ffffffffffffffff81111561103557600080fd5b60208301915083602082850101111561104d57600080fd5b9250929050565b6000806000806060858703121561106a57600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561108f57600080fd5b61109b8782880161100b565b95989497509550505050565b80356001600160a01b03811681146110be57600080fd5b919050565b600080604083850312156110d657600080fd5b6110df836110a7565b9150602083013580151581146110f457600080fd5b809150509250929050565b60006020828403121561111157600080fd5b5035919050565b6000806000806060858703121561112e57600080fd5b84359350602085013567ffffffffffffffff81111561114c57600080fd5b6111588782880161100b565b9598909750949560400135949350505050565b60006020828403121561117d57600080fd5b610b37826110a7565b60006040828403121561119857600080fd5b50919050565b6000806000806000608086880312156111b657600080fd5b853567ffffffffffffffff808211156111ce57600080fd5b6111da89838a01611186565b9650602088013595506040880135945060608801359150808211156111fe57600080fd5b5061120b8882890161100b565b969995985093965092949392505050565b6020808252825182820181905260009190848201906040850190845b8181101561125d5783516001600160a01b031683529284019291840191600101611238565b50909695505050505050565b60008060006040848603121561127e57600080fd5b83359250602084013567ffffffffffffffff81111561129c57600080fd5b6112a88682870161100b565b9497909650939450505050565b600080604083850312156112c857600080fd5b82359150602083013567ffffffffffffffff8111156112e657600080fd5b6112f285828601611186565b9150509250929050565b60008060006040848603121561131157600080fd5b83359250602084013567ffffffffffffffff8082111561133057600080fd5b818601915086601f83011261134457600080fd5b81358181111561135357600080fd5b8760208260051b850101111561136857600080fd5b6020830194508093505050509250925092565b60005b8381101561139657818101518382015260200161137e565b50506000910152565b60208152600082518060208401526113be81604085016020870161137b565b601f01601f19169190910160400192915050565b600084516113e481846020890161137b565b91909101928352506020820152604001919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106e6576106e66113f9565b808201808211156106e6576106e66113f9565b6000808585111561144957600080fd5b8386111561145657600080fd5b5050820193919092039150565b600060018201611475576114756113f9565b5060010190565b6000808335601e1984360301811261149357600080fd5b83018035915067ffffffffffffffff8211156114ae57600080fd5b6020019150600581901b360382131561104d57600080fd5b634e487b7160e01b600052603260045260246000fd5b60008235605e198336030181126114f257600080fd5b9190910192915050565b6000808335601e1984360301811261151357600080fd5b83018035915067ffffffffffffffff82111561152e57600080fd5b60200191503681900382131561104d57600080fd5b8183823760009101908152919050565b6000606080830187845260208781860152604060606040870152828784526080935060808701905060808860051b8801018960005b8a81101561164257898303607f190184528135368d9003605e190181126115ae57600080fd5b8c016001600160a01b036115c1826110a7565b168452868101358785015285810135601e198236030181126115e257600080fd5b01868101903567ffffffffffffffff8111156115fd57600080fd5b80360382131561160c57600080fd5b8987860152808a86015280828a87013760008582018a015294870194601f01601f19169093018701925090850190600101611588565b50909c9b505050505050505050505050565b634e487b7160e01b600052602160045260246000fd5b818103818111156106e6576106e66113f9565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220fc6b3091780374001bc0dc17fd4f16dcc3c3e7e0f31a341594933fc6f71b260f64736f6c63430008160033";
590
+
591
+ type OneSigConstructorParams =
592
+ | [signer?: Signer]
593
+ | ConstructorParameters<typeof ContractFactory>;
594
+
595
+ const isSuperArgs = (
596
+ xs: OneSigConstructorParams
597
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
598
+
599
+ export class OneSig__factory extends ContractFactory {
600
+ constructor(...args: OneSigConstructorParams) {
601
+ if (isSuperArgs(args)) {
602
+ super(...args);
603
+ } else {
604
+ super(_abi, _bytecode, args[0]);
605
+ }
606
+ }
607
+
608
+ override deploy(
609
+ _signers: PromiseOrValue<string>[],
610
+ _threshold: PromiseOrValue<BigNumberish>,
611
+ _chainId: PromiseOrValue<BigNumberish>,
612
+ _seed: PromiseOrValue<BytesLike>,
613
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
614
+ ): Promise<OneSig> {
615
+ return super.deploy(
616
+ _signers,
617
+ _threshold,
618
+ _chainId,
619
+ _seed,
620
+ overrides || {}
621
+ ) as Promise<OneSig>;
622
+ }
623
+ override getDeployTransaction(
624
+ _signers: PromiseOrValue<string>[],
625
+ _threshold: PromiseOrValue<BigNumberish>,
626
+ _chainId: PromiseOrValue<BigNumberish>,
627
+ _seed: PromiseOrValue<BytesLike>,
628
+ overrides?: Overrides & { from?: PromiseOrValue<string> }
629
+ ): TransactionRequest {
630
+ return super.getDeployTransaction(
631
+ _signers,
632
+ _threshold,
633
+ _chainId,
634
+ _seed,
635
+ overrides || {}
636
+ );
637
+ }
638
+ override attach(address: string): OneSig {
639
+ return super.attach(address) as OneSig;
640
+ }
641
+ override connect(signer: Signer): OneSig__factory {
642
+ return super.connect(signer) as OneSig__factory;
643
+ }
644
+
645
+ static readonly bytecode = _bytecode;
646
+ static readonly abi = _abi;
647
+ static createInterface(): OneSigInterface {
648
+ return new utils.Interface(_abi) as OneSigInterface;
649
+ }
650
+ static connect(address: string, signerOrProvider: Signer | Provider): OneSig {
651
+ return new Contract(address, _abi, signerOrProvider) as OneSig;
652
+ }
653
+ }
@@ -0,0 +1,6 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ export * as mocks from "./mocks";
5
+ export { MultiSig__factory } from "./MultiSig__factory";
6
+ export { OneSig__factory } from "./OneSig__factory";