olas-operate-middleware 0.1.0rc59__py3-none-any.whl → 0.13.2__py3-none-any.whl

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 (98) hide show
  1. olas_operate_middleware-0.13.2.dist-info/METADATA +75 -0
  2. olas_operate_middleware-0.13.2.dist-info/RECORD +101 -0
  3. {olas_operate_middleware-0.1.0rc59.dist-info → olas_operate_middleware-0.13.2.dist-info}/WHEEL +1 -1
  4. operate/__init__.py +17 -0
  5. operate/account/user.py +35 -9
  6. operate/bridge/bridge_manager.py +470 -0
  7. operate/bridge/providers/lifi_provider.py +377 -0
  8. operate/bridge/providers/native_bridge_provider.py +677 -0
  9. operate/bridge/providers/provider.py +469 -0
  10. operate/bridge/providers/relay_provider.py +457 -0
  11. operate/cli.py +1565 -417
  12. operate/constants.py +60 -12
  13. operate/data/README.md +19 -0
  14. operate/data/contracts/{service_staking_token → dual_staking_token}/__init__.py +2 -2
  15. operate/data/contracts/dual_staking_token/build/DualStakingToken.json +443 -0
  16. operate/data/contracts/dual_staking_token/contract.py +132 -0
  17. operate/data/contracts/dual_staking_token/contract.yaml +23 -0
  18. operate/{ledger/base.py → data/contracts/foreign_omnibridge/__init__.py} +2 -19
  19. operate/data/contracts/foreign_omnibridge/build/ForeignOmnibridge.json +1372 -0
  20. operate/data/contracts/foreign_omnibridge/contract.py +130 -0
  21. operate/data/contracts/foreign_omnibridge/contract.yaml +23 -0
  22. operate/{ledger/solana.py → data/contracts/home_omnibridge/__init__.py} +2 -20
  23. operate/data/contracts/home_omnibridge/build/HomeOmnibridge.json +1421 -0
  24. operate/data/contracts/home_omnibridge/contract.py +80 -0
  25. operate/data/contracts/home_omnibridge/contract.yaml +23 -0
  26. operate/data/contracts/l1_standard_bridge/__init__.py +20 -0
  27. operate/data/contracts/l1_standard_bridge/build/L1StandardBridge.json +831 -0
  28. operate/data/contracts/l1_standard_bridge/contract.py +158 -0
  29. operate/data/contracts/l1_standard_bridge/contract.yaml +23 -0
  30. operate/data/contracts/l2_standard_bridge/__init__.py +20 -0
  31. operate/data/contracts/l2_standard_bridge/build/L2StandardBridge.json +626 -0
  32. operate/data/contracts/l2_standard_bridge/contract.py +130 -0
  33. operate/data/contracts/l2_standard_bridge/contract.yaml +23 -0
  34. operate/data/contracts/mech_activity/__init__.py +20 -0
  35. operate/data/contracts/mech_activity/build/MechActivity.json +111 -0
  36. operate/data/contracts/mech_activity/contract.py +44 -0
  37. operate/data/contracts/mech_activity/contract.yaml +23 -0
  38. operate/data/contracts/optimism_mintable_erc20/__init__.py +20 -0
  39. operate/data/contracts/optimism_mintable_erc20/build/OptimismMintableERC20.json +491 -0
  40. operate/data/contracts/optimism_mintable_erc20/contract.py +45 -0
  41. operate/data/contracts/optimism_mintable_erc20/contract.yaml +23 -0
  42. operate/data/contracts/recovery_module/__init__.py +20 -0
  43. operate/data/contracts/recovery_module/build/RecoveryModule.json +811 -0
  44. operate/data/contracts/recovery_module/contract.py +61 -0
  45. operate/data/contracts/recovery_module/contract.yaml +23 -0
  46. operate/data/contracts/requester_activity_checker/__init__.py +20 -0
  47. operate/data/contracts/requester_activity_checker/build/RequesterActivityChecker.json +111 -0
  48. operate/data/contracts/requester_activity_checker/contract.py +33 -0
  49. operate/data/contracts/requester_activity_checker/contract.yaml +23 -0
  50. operate/data/contracts/staking_token/__init__.py +20 -0
  51. operate/data/contracts/staking_token/build/StakingToken.json +1336 -0
  52. operate/data/contracts/{service_staking_token → staking_token}/contract.py +27 -13
  53. operate/data/contracts/staking_token/contract.yaml +23 -0
  54. operate/data/contracts/uniswap_v2_erc20/contract.yaml +3 -1
  55. operate/data/contracts/uniswap_v2_erc20/tests/__init__.py +20 -0
  56. operate/data/contracts/uniswap_v2_erc20/tests/test_contract.py +363 -0
  57. operate/keys.py +118 -33
  58. operate/ledger/__init__.py +159 -56
  59. operate/ledger/profiles.py +321 -18
  60. operate/migration.py +555 -0
  61. operate/{http → operate_http}/__init__.py +3 -2
  62. operate/{http → operate_http}/exceptions.py +6 -4
  63. operate/operate_types.py +544 -0
  64. operate/pearl.py +13 -1
  65. operate/quickstart/analyse_logs.py +118 -0
  66. operate/quickstart/claim_staking_rewards.py +104 -0
  67. operate/quickstart/reset_configs.py +106 -0
  68. operate/quickstart/reset_password.py +70 -0
  69. operate/quickstart/reset_staking.py +145 -0
  70. operate/quickstart/run_service.py +726 -0
  71. operate/quickstart/stop_service.py +72 -0
  72. operate/quickstart/terminate_on_chain_service.py +83 -0
  73. operate/quickstart/utils.py +298 -0
  74. operate/resource.py +62 -3
  75. operate/services/agent_runner.py +202 -0
  76. operate/services/deployment_runner.py +868 -0
  77. operate/services/funding_manager.py +929 -0
  78. operate/services/health_checker.py +280 -0
  79. operate/services/manage.py +2356 -620
  80. operate/services/protocol.py +1246 -340
  81. operate/services/service.py +756 -391
  82. operate/services/utils/mech.py +103 -0
  83. operate/services/utils/tendermint.py +86 -12
  84. operate/settings.py +70 -0
  85. operate/utils/__init__.py +135 -0
  86. operate/utils/gnosis.py +407 -80
  87. operate/utils/single_instance.py +226 -0
  88. operate/utils/ssl.py +133 -0
  89. operate/wallet/master.py +708 -123
  90. operate/wallet/wallet_recovery_manager.py +507 -0
  91. olas_operate_middleware-0.1.0rc59.dist-info/METADATA +0 -304
  92. olas_operate_middleware-0.1.0rc59.dist-info/RECORD +0 -41
  93. operate/data/contracts/service_staking_token/build/ServiceStakingToken.json +0 -1273
  94. operate/data/contracts/service_staking_token/contract.yaml +0 -23
  95. operate/ledger/ethereum.py +0 -48
  96. operate/types.py +0 -260
  97. {olas_operate_middleware-0.1.0rc59.dist-info → olas_operate_middleware-0.13.2.dist-info}/entry_points.txt +0 -0
  98. {olas_operate_middleware-0.1.0rc59.dist-info → olas_operate_middleware-0.13.2.dist-info/licenses}/LICENSE +0 -0
@@ -1,1273 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "ServiceStakingToken",
4
- "sourceName": "contracts/staking/ServiceStakingToken.sol",
5
- "abi": [
6
- {
7
- "inputs": [],
8
- "name": "AlreadyInitialized",
9
- "type": "error"
10
- },
11
- {
12
- "inputs": [
13
- {
14
- "internalType": "address",
15
- "name": "activityChecker",
16
- "type": "address"
17
- }
18
- ],
19
- "name": "ContractOnly",
20
- "type": "error"
21
- },
22
- {
23
- "inputs": [
24
- {
25
- "internalType": "uint256",
26
- "name": "provided",
27
- "type": "uint256"
28
- },
29
- {
30
- "internalType": "uint256",
31
- "name": "expected",
32
- "type": "uint256"
33
- }
34
- ],
35
- "name": "LowerThan",
36
- "type": "error"
37
- },
38
- {
39
- "inputs": [
40
- {
41
- "internalType": "uint256",
42
- "name": "maxNumServices",
43
- "type": "uint256"
44
- }
45
- ],
46
- "name": "MaxNumServicesReached",
47
- "type": "error"
48
- },
49
- {
50
- "inputs": [],
51
- "name": "NoRewardsAvailable",
52
- "type": "error"
53
- },
54
- {
55
- "inputs": [
56
- {
57
- "internalType": "uint256",
58
- "name": "serviceId",
59
- "type": "uint256"
60
- },
61
- {
62
- "internalType": "uint256",
63
- "name": "tsProvided",
64
- "type": "uint256"
65
- },
66
- {
67
- "internalType": "uint256",
68
- "name": "tsExpected",
69
- "type": "uint256"
70
- }
71
- ],
72
- "name": "NotEnoughTimeStaked",
73
- "type": "error"
74
- },
75
- {
76
- "inputs": [
77
- {
78
- "internalType": "address",
79
- "name": "sender",
80
- "type": "address"
81
- },
82
- {
83
- "internalType": "address",
84
- "name": "owner",
85
- "type": "address"
86
- }
87
- ],
88
- "name": "OwnerOnly",
89
- "type": "error"
90
- },
91
- {
92
- "inputs": [
93
- {
94
- "internalType": "uint256",
95
- "name": "serviceId",
96
- "type": "uint256"
97
- }
98
- ],
99
- "name": "ServiceNotUnstaked",
100
- "type": "error"
101
- },
102
- {
103
- "inputs": [
104
- {
105
- "internalType": "address",
106
- "name": "token",
107
- "type": "address"
108
- },
109
- {
110
- "internalType": "address",
111
- "name": "from",
112
- "type": "address"
113
- },
114
- {
115
- "internalType": "address",
116
- "name": "to",
117
- "type": "address"
118
- },
119
- {
120
- "internalType": "uint256",
121
- "name": "value",
122
- "type": "uint256"
123
- }
124
- ],
125
- "name": "TokenTransferFailed",
126
- "type": "error"
127
- },
128
- {
129
- "inputs": [
130
- {
131
- "internalType": "address",
132
- "name": "multisig",
133
- "type": "address"
134
- }
135
- ],
136
- "name": "UnauthorizedMultisig",
137
- "type": "error"
138
- },
139
- {
140
- "inputs": [
141
- {
142
- "internalType": "uint256",
143
- "name": "provided",
144
- "type": "uint256"
145
- },
146
- {
147
- "internalType": "uint256",
148
- "name": "expected",
149
- "type": "uint256"
150
- }
151
- ],
152
- "name": "ValueLowerThan",
153
- "type": "error"
154
- },
155
- {
156
- "inputs": [
157
- {
158
- "internalType": "uint256",
159
- "name": "agentId",
160
- "type": "uint256"
161
- }
162
- ],
163
- "name": "WrongAgentId",
164
- "type": "error"
165
- },
166
- {
167
- "inputs": [
168
- {
169
- "internalType": "uint256",
170
- "name": "serviceId",
171
- "type": "uint256"
172
- }
173
- ],
174
- "name": "WrongServiceConfiguration",
175
- "type": "error"
176
- },
177
- {
178
- "inputs": [
179
- {
180
- "internalType": "uint256",
181
- "name": "state",
182
- "type": "uint256"
183
- },
184
- {
185
- "internalType": "uint256",
186
- "name": "serviceId",
187
- "type": "uint256"
188
- }
189
- ],
190
- "name": "WrongServiceState",
191
- "type": "error"
192
- },
193
- {
194
- "inputs": [
195
- {
196
- "internalType": "address",
197
- "name": "expected",
198
- "type": "address"
199
- },
200
- {
201
- "internalType": "address",
202
- "name": "provided",
203
- "type": "address"
204
- }
205
- ],
206
- "name": "WrongStakingToken",
207
- "type": "error"
208
- },
209
- {
210
- "inputs": [],
211
- "name": "ZeroAddress",
212
- "type": "error"
213
- },
214
- {
215
- "inputs": [],
216
- "name": "ZeroTokenAddress",
217
- "type": "error"
218
- },
219
- {
220
- "inputs": [],
221
- "name": "ZeroValue",
222
- "type": "error"
223
- },
224
- {
225
- "anonymous": false,
226
- "inputs": [
227
- {
228
- "indexed": true,
229
- "internalType": "uint256",
230
- "name": "epoch",
231
- "type": "uint256"
232
- },
233
- {
234
- "indexed": false,
235
- "internalType": "uint256",
236
- "name": "availableRewards",
237
- "type": "uint256"
238
- },
239
- {
240
- "indexed": false,
241
- "internalType": "uint256[]",
242
- "name": "serviceIds",
243
- "type": "uint256[]"
244
- },
245
- {
246
- "indexed": false,
247
- "internalType": "uint256[]",
248
- "name": "rewards",
249
- "type": "uint256[]"
250
- },
251
- {
252
- "indexed": false,
253
- "internalType": "uint256",
254
- "name": "epochLength",
255
- "type": "uint256"
256
- }
257
- ],
258
- "name": "Checkpoint",
259
- "type": "event"
260
- },
261
- {
262
- "anonymous": false,
263
- "inputs": [
264
- {
265
- "indexed": true,
266
- "internalType": "address",
267
- "name": "sender",
268
- "type": "address"
269
- },
270
- {
271
- "indexed": false,
272
- "internalType": "uint256",
273
- "name": "amount",
274
- "type": "uint256"
275
- },
276
- {
277
- "indexed": false,
278
- "internalType": "uint256",
279
- "name": "balance",
280
- "type": "uint256"
281
- },
282
- {
283
- "indexed": false,
284
- "internalType": "uint256",
285
- "name": "availableRewards",
286
- "type": "uint256"
287
- }
288
- ],
289
- "name": "Deposit",
290
- "type": "event"
291
- },
292
- {
293
- "anonymous": false,
294
- "inputs": [
295
- {
296
- "indexed": false,
297
- "internalType": "uint256",
298
- "name": "epoch",
299
- "type": "uint256"
300
- },
301
- {
302
- "indexed": true,
303
- "internalType": "uint256",
304
- "name": "serviceId",
305
- "type": "uint256"
306
- },
307
- {
308
- "indexed": true,
309
- "internalType": "address",
310
- "name": "owner",
311
- "type": "address"
312
- },
313
- {
314
- "indexed": true,
315
- "internalType": "address",
316
- "name": "multisig",
317
- "type": "address"
318
- },
319
- {
320
- "indexed": false,
321
- "internalType": "uint256[]",
322
- "name": "nonces",
323
- "type": "uint256[]"
324
- },
325
- {
326
- "indexed": false,
327
- "internalType": "uint256",
328
- "name": "reward",
329
- "type": "uint256"
330
- }
331
- ],
332
- "name": "RewardClaimed",
333
- "type": "event"
334
- },
335
- {
336
- "anonymous": false,
337
- "inputs": [
338
- {
339
- "indexed": false,
340
- "internalType": "uint256",
341
- "name": "epoch",
342
- "type": "uint256"
343
- },
344
- {
345
- "indexed": true,
346
- "internalType": "uint256",
347
- "name": "serviceId",
348
- "type": "uint256"
349
- },
350
- {
351
- "indexed": false,
352
- "internalType": "uint256",
353
- "name": "serviceInactivity",
354
- "type": "uint256"
355
- }
356
- ],
357
- "name": "ServiceInactivityWarning",
358
- "type": "event"
359
- },
360
- {
361
- "anonymous": false,
362
- "inputs": [
363
- {
364
- "indexed": false,
365
- "internalType": "uint256",
366
- "name": "epoch",
367
- "type": "uint256"
368
- },
369
- {
370
- "indexed": true,
371
- "internalType": "uint256",
372
- "name": "serviceId",
373
- "type": "uint256"
374
- },
375
- {
376
- "indexed": true,
377
- "internalType": "address",
378
- "name": "owner",
379
- "type": "address"
380
- },
381
- {
382
- "indexed": true,
383
- "internalType": "address",
384
- "name": "multisig",
385
- "type": "address"
386
- },
387
- {
388
- "indexed": false,
389
- "internalType": "uint256[]",
390
- "name": "nonces",
391
- "type": "uint256[]"
392
- }
393
- ],
394
- "name": "ServiceStaked",
395
- "type": "event"
396
- },
397
- {
398
- "anonymous": false,
399
- "inputs": [
400
- {
401
- "indexed": false,
402
- "internalType": "uint256",
403
- "name": "epoch",
404
- "type": "uint256"
405
- },
406
- {
407
- "indexed": true,
408
- "internalType": "uint256",
409
- "name": "serviceId",
410
- "type": "uint256"
411
- },
412
- {
413
- "indexed": true,
414
- "internalType": "address",
415
- "name": "owner",
416
- "type": "address"
417
- },
418
- {
419
- "indexed": true,
420
- "internalType": "address",
421
- "name": "multisig",
422
- "type": "address"
423
- },
424
- {
425
- "indexed": false,
426
- "internalType": "uint256[]",
427
- "name": "nonces",
428
- "type": "uint256[]"
429
- },
430
- {
431
- "indexed": false,
432
- "internalType": "uint256",
433
- "name": "reward",
434
- "type": "uint256"
435
- }
436
- ],
437
- "name": "ServiceUnstaked",
438
- "type": "event"
439
- },
440
- {
441
- "anonymous": false,
442
- "inputs": [
443
- {
444
- "indexed": true,
445
- "internalType": "uint256",
446
- "name": "epoch",
447
- "type": "uint256"
448
- },
449
- {
450
- "indexed": false,
451
- "internalType": "uint256[]",
452
- "name": "serviceIds",
453
- "type": "uint256[]"
454
- },
455
- {
456
- "indexed": false,
457
- "internalType": "address[]",
458
- "name": "owners",
459
- "type": "address[]"
460
- },
461
- {
462
- "indexed": false,
463
- "internalType": "address[]",
464
- "name": "multisigs",
465
- "type": "address[]"
466
- },
467
- {
468
- "indexed": false,
469
- "internalType": "uint256[]",
470
- "name": "serviceInactivity",
471
- "type": "uint256[]"
472
- }
473
- ],
474
- "name": "ServicesEvicted",
475
- "type": "event"
476
- },
477
- {
478
- "anonymous": false,
479
- "inputs": [
480
- {
481
- "indexed": true,
482
- "internalType": "address",
483
- "name": "to",
484
- "type": "address"
485
- },
486
- {
487
- "indexed": false,
488
- "internalType": "uint256",
489
- "name": "amount",
490
- "type": "uint256"
491
- }
492
- ],
493
- "name": "Withdraw",
494
- "type": "event"
495
- },
496
- {
497
- "inputs": [],
498
- "name": "VERSION",
499
- "outputs": [
500
- {
501
- "internalType": "string",
502
- "name": "",
503
- "type": "string"
504
- }
505
- ],
506
- "stateMutability": "view",
507
- "type": "function"
508
- },
509
- {
510
- "inputs": [],
511
- "name": "activityChecker",
512
- "outputs": [
513
- {
514
- "internalType": "address",
515
- "name": "",
516
- "type": "address"
517
- }
518
- ],
519
- "stateMutability": "view",
520
- "type": "function"
521
- },
522
- {
523
- "inputs": [
524
- {
525
- "internalType": "uint256",
526
- "name": "",
527
- "type": "uint256"
528
- }
529
- ],
530
- "name": "agentIds",
531
- "outputs": [
532
- {
533
- "internalType": "uint256",
534
- "name": "",
535
- "type": "uint256"
536
- }
537
- ],
538
- "stateMutability": "view",
539
- "type": "function"
540
- },
541
- {
542
- "inputs": [],
543
- "name": "availableRewards",
544
- "outputs": [
545
- {
546
- "internalType": "uint256",
547
- "name": "",
548
- "type": "uint256"
549
- }
550
- ],
551
- "stateMutability": "view",
552
- "type": "function"
553
- },
554
- {
555
- "inputs": [],
556
- "name": "balance",
557
- "outputs": [
558
- {
559
- "internalType": "uint256",
560
- "name": "",
561
- "type": "uint256"
562
- }
563
- ],
564
- "stateMutability": "view",
565
- "type": "function"
566
- },
567
- {
568
- "inputs": [
569
- {
570
- "internalType": "uint256",
571
- "name": "serviceId",
572
- "type": "uint256"
573
- }
574
- ],
575
- "name": "calculateStakingLastReward",
576
- "outputs": [
577
- {
578
- "internalType": "uint256",
579
- "name": "reward",
580
- "type": "uint256"
581
- }
582
- ],
583
- "stateMutability": "view",
584
- "type": "function"
585
- },
586
- {
587
- "inputs": [
588
- {
589
- "internalType": "uint256",
590
- "name": "serviceId",
591
- "type": "uint256"
592
- }
593
- ],
594
- "name": "calculateStakingReward",
595
- "outputs": [
596
- {
597
- "internalType": "uint256",
598
- "name": "reward",
599
- "type": "uint256"
600
- }
601
- ],
602
- "stateMutability": "view",
603
- "type": "function"
604
- },
605
- {
606
- "inputs": [],
607
- "name": "checkpoint",
608
- "outputs": [
609
- {
610
- "internalType": "uint256[]",
611
- "name": "",
612
- "type": "uint256[]"
613
- },
614
- {
615
- "internalType": "uint256[][]",
616
- "name": "",
617
- "type": "uint256[][]"
618
- },
619
- {
620
- "internalType": "uint256[]",
621
- "name": "",
622
- "type": "uint256[]"
623
- },
624
- {
625
- "internalType": "uint256[]",
626
- "name": "",
627
- "type": "uint256[]"
628
- },
629
- {
630
- "internalType": "uint256[]",
631
- "name": "evictServiceIds",
632
- "type": "uint256[]"
633
- }
634
- ],
635
- "stateMutability": "nonpayable",
636
- "type": "function"
637
- },
638
- {
639
- "inputs": [
640
- {
641
- "internalType": "uint256",
642
- "name": "serviceId",
643
- "type": "uint256"
644
- }
645
- ],
646
- "name": "checkpointAndClaim",
647
- "outputs": [
648
- {
649
- "internalType": "uint256",
650
- "name": "",
651
- "type": "uint256"
652
- }
653
- ],
654
- "stateMutability": "nonpayable",
655
- "type": "function"
656
- },
657
- {
658
- "inputs": [
659
- {
660
- "internalType": "uint256",
661
- "name": "serviceId",
662
- "type": "uint256"
663
- }
664
- ],
665
- "name": "claim",
666
- "outputs": [
667
- {
668
- "internalType": "uint256",
669
- "name": "",
670
- "type": "uint256"
671
- }
672
- ],
673
- "stateMutability": "nonpayable",
674
- "type": "function"
675
- },
676
- {
677
- "inputs": [],
678
- "name": "configHash",
679
- "outputs": [
680
- {
681
- "internalType": "bytes32",
682
- "name": "",
683
- "type": "bytes32"
684
- }
685
- ],
686
- "stateMutability": "view",
687
- "type": "function"
688
- },
689
- {
690
- "inputs": [
691
- {
692
- "internalType": "uint256",
693
- "name": "amount",
694
- "type": "uint256"
695
- }
696
- ],
697
- "name": "deposit",
698
- "outputs": [],
699
- "stateMutability": "nonpayable",
700
- "type": "function"
701
- },
702
- {
703
- "inputs": [],
704
- "name": "emissionsAmount",
705
- "outputs": [
706
- {
707
- "internalType": "uint256",
708
- "name": "",
709
- "type": "uint256"
710
- }
711
- ],
712
- "stateMutability": "view",
713
- "type": "function"
714
- },
715
- {
716
- "inputs": [],
717
- "name": "epochCounter",
718
- "outputs": [
719
- {
720
- "internalType": "uint256",
721
- "name": "",
722
- "type": "uint256"
723
- }
724
- ],
725
- "stateMutability": "view",
726
- "type": "function"
727
- },
728
- {
729
- "inputs": [],
730
- "name": "getAgentIds",
731
- "outputs": [
732
- {
733
- "internalType": "uint256[]",
734
- "name": "",
735
- "type": "uint256[]"
736
- }
737
- ],
738
- "stateMutability": "view",
739
- "type": "function"
740
- },
741
- {
742
- "inputs": [],
743
- "name": "getNextRewardCheckpointTimestamp",
744
- "outputs": [
745
- {
746
- "internalType": "uint256",
747
- "name": "tsNext",
748
- "type": "uint256"
749
- }
750
- ],
751
- "stateMutability": "view",
752
- "type": "function"
753
- },
754
- {
755
- "inputs": [],
756
- "name": "getServiceIds",
757
- "outputs": [
758
- {
759
- "internalType": "uint256[]",
760
- "name": "",
761
- "type": "uint256[]"
762
- }
763
- ],
764
- "stateMutability": "view",
765
- "type": "function"
766
- },
767
- {
768
- "inputs": [
769
- {
770
- "internalType": "uint256",
771
- "name": "serviceId",
772
- "type": "uint256"
773
- }
774
- ],
775
- "name": "getServiceInfo",
776
- "outputs": [
777
- {
778
- "components": [
779
- {
780
- "internalType": "address",
781
- "name": "multisig",
782
- "type": "address"
783
- },
784
- {
785
- "internalType": "address",
786
- "name": "owner",
787
- "type": "address"
788
- },
789
- {
790
- "internalType": "uint256[]",
791
- "name": "nonces",
792
- "type": "uint256[]"
793
- },
794
- {
795
- "internalType": "uint256",
796
- "name": "tsStart",
797
- "type": "uint256"
798
- },
799
- {
800
- "internalType": "uint256",
801
- "name": "reward",
802
- "type": "uint256"
803
- },
804
- {
805
- "internalType": "uint256",
806
- "name": "inactivity",
807
- "type": "uint256"
808
- }
809
- ],
810
- "internalType": "struct ServiceInfo",
811
- "name": "sInfo",
812
- "type": "tuple"
813
- }
814
- ],
815
- "stateMutability": "view",
816
- "type": "function"
817
- },
818
- {
819
- "inputs": [
820
- {
821
- "internalType": "uint256",
822
- "name": "serviceId",
823
- "type": "uint256"
824
- }
825
- ],
826
- "name": "getStakingState",
827
- "outputs": [
828
- {
829
- "internalType": "enum StakingBase.StakingState",
830
- "name": "stakingState",
831
- "type": "uint8"
832
- }
833
- ],
834
- "stateMutability": "view",
835
- "type": "function"
836
- },
837
- {
838
- "inputs": [
839
- {
840
- "components": [
841
- {
842
- "internalType": "bytes32",
843
- "name": "metadataHash",
844
- "type": "bytes32"
845
- },
846
- {
847
- "internalType": "uint256",
848
- "name": "maxNumServices",
849
- "type": "uint256"
850
- },
851
- {
852
- "internalType": "uint256",
853
- "name": "rewardsPerSecond",
854
- "type": "uint256"
855
- },
856
- {
857
- "internalType": "uint256",
858
- "name": "minStakingDeposit",
859
- "type": "uint256"
860
- },
861
- {
862
- "internalType": "uint256",
863
- "name": "minNumStakingPeriods",
864
- "type": "uint256"
865
- },
866
- {
867
- "internalType": "uint256",
868
- "name": "maxNumInactivityPeriods",
869
- "type": "uint256"
870
- },
871
- {
872
- "internalType": "uint256",
873
- "name": "livenessPeriod",
874
- "type": "uint256"
875
- },
876
- {
877
- "internalType": "uint256",
878
- "name": "timeForEmissions",
879
- "type": "uint256"
880
- },
881
- {
882
- "internalType": "uint256",
883
- "name": "numAgentInstances",
884
- "type": "uint256"
885
- },
886
- {
887
- "internalType": "uint256[]",
888
- "name": "agentIds",
889
- "type": "uint256[]"
890
- },
891
- {
892
- "internalType": "uint256",
893
- "name": "threshold",
894
- "type": "uint256"
895
- },
896
- {
897
- "internalType": "bytes32",
898
- "name": "configHash",
899
- "type": "bytes32"
900
- },
901
- {
902
- "internalType": "bytes32",
903
- "name": "proxyHash",
904
- "type": "bytes32"
905
- },
906
- {
907
- "internalType": "address",
908
- "name": "serviceRegistry",
909
- "type": "address"
910
- },
911
- {
912
- "internalType": "address",
913
- "name": "activityChecker",
914
- "type": "address"
915
- }
916
- ],
917
- "internalType": "struct StakingBase.StakingParams",
918
- "name": "_stakingParams",
919
- "type": "tuple"
920
- },
921
- {
922
- "internalType": "address",
923
- "name": "_serviceRegistryTokenUtility",
924
- "type": "address"
925
- },
926
- {
927
- "internalType": "address",
928
- "name": "_stakingToken",
929
- "type": "address"
930
- }
931
- ],
932
- "name": "initialize",
933
- "outputs": [],
934
- "stateMutability": "nonpayable",
935
- "type": "function"
936
- },
937
- {
938
- "inputs": [],
939
- "name": "livenessPeriod",
940
- "outputs": [
941
- {
942
- "internalType": "uint256",
943
- "name": "",
944
- "type": "uint256"
945
- }
946
- ],
947
- "stateMutability": "view",
948
- "type": "function"
949
- },
950
- {
951
- "inputs": [
952
- {
953
- "internalType": "uint256",
954
- "name": "",
955
- "type": "uint256"
956
- }
957
- ],
958
- "name": "mapServiceInfo",
959
- "outputs": [
960
- {
961
- "internalType": "address",
962
- "name": "multisig",
963
- "type": "address"
964
- },
965
- {
966
- "internalType": "address",
967
- "name": "owner",
968
- "type": "address"
969
- },
970
- {
971
- "internalType": "uint256",
972
- "name": "tsStart",
973
- "type": "uint256"
974
- },
975
- {
976
- "internalType": "uint256",
977
- "name": "reward",
978
- "type": "uint256"
979
- },
980
- {
981
- "internalType": "uint256",
982
- "name": "inactivity",
983
- "type": "uint256"
984
- }
985
- ],
986
- "stateMutability": "view",
987
- "type": "function"
988
- },
989
- {
990
- "inputs": [],
991
- "name": "maxInactivityDuration",
992
- "outputs": [
993
- {
994
- "internalType": "uint256",
995
- "name": "",
996
- "type": "uint256"
997
- }
998
- ],
999
- "stateMutability": "view",
1000
- "type": "function"
1001
- },
1002
- {
1003
- "inputs": [],
1004
- "name": "maxNumInactivityPeriods",
1005
- "outputs": [
1006
- {
1007
- "internalType": "uint256",
1008
- "name": "",
1009
- "type": "uint256"
1010
- }
1011
- ],
1012
- "stateMutability": "view",
1013
- "type": "function"
1014
- },
1015
- {
1016
- "inputs": [],
1017
- "name": "maxNumServices",
1018
- "outputs": [
1019
- {
1020
- "internalType": "uint256",
1021
- "name": "",
1022
- "type": "uint256"
1023
- }
1024
- ],
1025
- "stateMutability": "view",
1026
- "type": "function"
1027
- },
1028
- {
1029
- "inputs": [],
1030
- "name": "metadataHash",
1031
- "outputs": [
1032
- {
1033
- "internalType": "bytes32",
1034
- "name": "",
1035
- "type": "bytes32"
1036
- }
1037
- ],
1038
- "stateMutability": "view",
1039
- "type": "function"
1040
- },
1041
- {
1042
- "inputs": [],
1043
- "name": "minStakingDeposit",
1044
- "outputs": [
1045
- {
1046
- "internalType": "uint256",
1047
- "name": "",
1048
- "type": "uint256"
1049
- }
1050
- ],
1051
- "stateMutability": "view",
1052
- "type": "function"
1053
- },
1054
- {
1055
- "inputs": [],
1056
- "name": "minStakingDuration",
1057
- "outputs": [
1058
- {
1059
- "internalType": "uint256",
1060
- "name": "",
1061
- "type": "uint256"
1062
- }
1063
- ],
1064
- "stateMutability": "view",
1065
- "type": "function"
1066
- },
1067
- {
1068
- "inputs": [],
1069
- "name": "numAgentInstances",
1070
- "outputs": [
1071
- {
1072
- "internalType": "uint256",
1073
- "name": "",
1074
- "type": "uint256"
1075
- }
1076
- ],
1077
- "stateMutability": "view",
1078
- "type": "function"
1079
- },
1080
- {
1081
- "inputs": [
1082
- {
1083
- "internalType": "address",
1084
- "name": "",
1085
- "type": "address"
1086
- },
1087
- {
1088
- "internalType": "address",
1089
- "name": "",
1090
- "type": "address"
1091
- },
1092
- {
1093
- "internalType": "uint256",
1094
- "name": "",
1095
- "type": "uint256"
1096
- },
1097
- {
1098
- "internalType": "bytes",
1099
- "name": "",
1100
- "type": "bytes"
1101
- }
1102
- ],
1103
- "name": "onERC721Received",
1104
- "outputs": [
1105
- {
1106
- "internalType": "bytes4",
1107
- "name": "",
1108
- "type": "bytes4"
1109
- }
1110
- ],
1111
- "stateMutability": "nonpayable",
1112
- "type": "function"
1113
- },
1114
- {
1115
- "inputs": [],
1116
- "name": "proxyHash",
1117
- "outputs": [
1118
- {
1119
- "internalType": "bytes32",
1120
- "name": "",
1121
- "type": "bytes32"
1122
- }
1123
- ],
1124
- "stateMutability": "view",
1125
- "type": "function"
1126
- },
1127
- {
1128
- "inputs": [],
1129
- "name": "rewardsPerSecond",
1130
- "outputs": [
1131
- {
1132
- "internalType": "uint256",
1133
- "name": "",
1134
- "type": "uint256"
1135
- }
1136
- ],
1137
- "stateMutability": "view",
1138
- "type": "function"
1139
- },
1140
- {
1141
- "inputs": [],
1142
- "name": "serviceRegistry",
1143
- "outputs": [
1144
- {
1145
- "internalType": "address",
1146
- "name": "",
1147
- "type": "address"
1148
- }
1149
- ],
1150
- "stateMutability": "view",
1151
- "type": "function"
1152
- },
1153
- {
1154
- "inputs": [],
1155
- "name": "serviceRegistryTokenUtility",
1156
- "outputs": [
1157
- {
1158
- "internalType": "address",
1159
- "name": "",
1160
- "type": "address"
1161
- }
1162
- ],
1163
- "stateMutability": "view",
1164
- "type": "function"
1165
- },
1166
- {
1167
- "inputs": [
1168
- {
1169
- "internalType": "uint256",
1170
- "name": "",
1171
- "type": "uint256"
1172
- }
1173
- ],
1174
- "name": "setServiceIds",
1175
- "outputs": [
1176
- {
1177
- "internalType": "uint256",
1178
- "name": "",
1179
- "type": "uint256"
1180
- }
1181
- ],
1182
- "stateMutability": "view",
1183
- "type": "function"
1184
- },
1185
- {
1186
- "inputs": [
1187
- {
1188
- "internalType": "uint256",
1189
- "name": "serviceId",
1190
- "type": "uint256"
1191
- }
1192
- ],
1193
- "name": "stake",
1194
- "outputs": [],
1195
- "stateMutability": "nonpayable",
1196
- "type": "function"
1197
- },
1198
- {
1199
- "inputs": [],
1200
- "name": "stakingToken",
1201
- "outputs": [
1202
- {
1203
- "internalType": "address",
1204
- "name": "",
1205
- "type": "address"
1206
- }
1207
- ],
1208
- "stateMutability": "view",
1209
- "type": "function"
1210
- },
1211
- {
1212
- "inputs": [],
1213
- "name": "threshold",
1214
- "outputs": [
1215
- {
1216
- "internalType": "uint256",
1217
- "name": "",
1218
- "type": "uint256"
1219
- }
1220
- ],
1221
- "stateMutability": "view",
1222
- "type": "function"
1223
- },
1224
- {
1225
- "inputs": [],
1226
- "name": "timeForEmissions",
1227
- "outputs": [
1228
- {
1229
- "internalType": "uint256",
1230
- "name": "",
1231
- "type": "uint256"
1232
- }
1233
- ],
1234
- "stateMutability": "view",
1235
- "type": "function"
1236
- },
1237
- {
1238
- "inputs": [],
1239
- "name": "tsCheckpoint",
1240
- "outputs": [
1241
- {
1242
- "internalType": "uint256",
1243
- "name": "",
1244
- "type": "uint256"
1245
- }
1246
- ],
1247
- "stateMutability": "view",
1248
- "type": "function"
1249
- },
1250
- {
1251
- "inputs": [
1252
- {
1253
- "internalType": "uint256",
1254
- "name": "serviceId",
1255
- "type": "uint256"
1256
- }
1257
- ],
1258
- "name": "unstake",
1259
- "outputs": [
1260
- {
1261
- "internalType": "uint256",
1262
- "name": "reward",
1263
- "type": "uint256"
1264
- }
1265
- ],
1266
- "stateMutability": "nonpayable",
1267
- "type": "function"
1268
- }
1269
- ],
1270
- "bytecode": "6080604052348015600e575f80fd5b506135e88061001c5f395ff3fe608060405234801561000f575f80fd5b50600436106102c2575f3560e01c80638f9e0a621161017c578063c5a1d7f0116100dd578063eb338c9611610093578063f86ad2b61161006e578063f86ad2b6146105be578063fd0bba8c146105c7578063ffa1ad74146105e7575f80fd5b8063eb338c961461059b578063f189e85a146105ae578063f4dce714146105b6575f80fd5b8063e1f1176d116100c3578063e1f1176d14610580578063e77cdcc914610589578063eacdaabc14610592575f80fd5b8063c5a1d7f014610565578063cbcf252a1461056d575f80fd5b8063b150876011610132578063b69ef8a811610118578063b69ef8a814610530578063b6b55f2514610539578063c2c4c5c11461054c575f80fd5b8063b150876014610508578063b267c67b1461051d575f80fd5b8063a0ed60e011610162578063a0ed60e01461046f578063a694fc3a14610478578063a74466ad1461048d575f80fd5b80638f9e0a62146104535780639573236114610466575f80fd5b806352c824f5116102265780637fbe2833116101dc57806382a8ea58116101c257806382a8ea581461041757806383f9eb2214610437578063879d90901461044a575f80fd5b80637fbe2833146103fb578063809cee2f1461040e575f80fd5b806356e760581161020c57806356e76058146103cc5780635829c5ec146103df57806372f702f3146103e8575f80fd5b806352c824f5146103b0578063546af2e0146103b9575f80fd5b8063287140511161027b578063379607f511610261578063379607f51461038b5780633e7329971461039e57806342cde4e8146103a7575f80fd5b8063287140511461034d5780632e17de7814610378575f80fd5b8063150b7a02116102ab578063150b7a02146102eb57806316a751721461033b5780631f77940814610344575f80fd5b806308ae7e54146102c657806314b19c5a146102e2575b5f80fd5b6102cf600d5481565b6040519081526020015b60405180910390f35b6102cf600f5481565b61030a6102f9366004612bdb565b630a85bd0160e11b95945050505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016102d9565b6102cf60015481565b6102cf60065481565b601754610360906001600160a01b031681565b6040516001600160a01b0390911681526020016102d9565b6102cf610386366004612c72565b610618565b6102cf610399366004612c72565b610991565b6102cf60135481565b6102cf60085481565b6102cf60055481565b6102cf6103c7366004612c72565b6109a2565b6102cf6103da366004612c72565b6109ae565b6102cf60075481565b601854610360906001600160a01b031681565b6102cf610409366004612c72565b6109cd565b6102cf600a5481565b61042a610425366004612c72565b610a94565b6040516102d99190612cc3565b6102cf610445366004612c72565b610b83565b6102cf60115481565b600c54610360906001600160a01b031681565b6102cf60125481565b6102cf60045481565b61048b610486366004612c72565b610c3b565b005b6104d561049b366004612c72565b60156020525f9081526040902080546001820154600383015460048401546005909401546001600160a01b03938416949390921692909185565b604080516001600160a01b039687168152959094166020860152928401919091526060830152608082015260a0016102d9565b61051061111a565b6040516102d99190612d29565b61048b61052b366004612e5d565b611170565b6102cf60105481565b61048b610547366004612c72565b6111e6565b610554611273565b6040516102d9959493929190612f91565b6102cf5f5481565b600b54610360906001600160a01b031681565b6102cf60095481565b6102cf60035481565b6102cf60025481565b6102cf6105a9366004612c72565b6118df565b6105106118ee565b6102cf611942565b6102cf600e5481565b6105da6105d5366004612c72565b611958565b6040516102d99190613052565b61060b604051806040016040528060058152602001640302e322e360dc1b81525081565b6040516102d99190613078565b5f81815260156020526040812060018101546001600160a01b0316331461066e57600181015460405163521eb56d60e11b81523360048201526001600160a01b0390911660248201526044015b60405180910390fd5b60038101545f61067e82426130c1565b9050600d54811115801561069357505f601154115b156106c657600d5460405163ba2bbc6b60e01b815260048101879052602481018390526044810191909152606401610665565b5f806106d0611273565b9450505050915081515f03610730576106e76118ee565b9150815167ffffffffffffffff81111561070357610703612d3b565b60405190808252806020026020018201604052801561072c578160200160208202803683370190505b5090505b5f805b8351821015610790578883838151811061074f5761074f6130d4565b602002602001015103156107905788848381518110610770576107706130d4565b60200260200101510361078557506001610790565b816001019150610733565b866004015497505f876002018054806020026020016040519081016040528092919081815260200182805480156107e457602002820191905f5260205f20905b8154815260200190600101908083116107d0575b50508b545f8f815260156020526040812080546001600160a01b0319908116825560018201805490911690559596506001600160a01b03909116949350915061083290506002830182612b3c565b505f600382018190556004820181905560059091015582156108ba576016805461085e906001906130c1565b8154811061086e5761086e6130d4565b905f5260205f2001546016858154811061088a5761088a6130d4565b5f9182526020909120015560168054806108a6576108a66130e8565b600190038181905f5260205f20015f905590555b600b54604051632142170760e11b8152306004820152336024820152604481018d90526001600160a01b03909116906342842e0e906064015f604051808303815f87803b158015610909575f80fd5b505af115801561091b573d5f803e3d5ffd5b505050505f8a111561093157610931818b611a2a565b806001600160a01b0316336001600160a01b03168c7f950733f4c0bf951b8e770f3cc619a4288e7b59b1236d59aeaf2c238488e8ae81600f54868f60405161097b939291906130fc565b60405180910390a4505050505050505050919050565b5f61099c825f611a9e565b92915050565b5f61099c826001611a9e565b601481815481106109bd575f80fd5b5f91825260209091200154905081565b5f818152601560209081526040808320815160c08101835281546001600160a01b0390811682526001830154168185015260028201805484518187028101870186528181528796939586019390929190830182828015610a4a57602002820191905f5260205f20905b815481526020019060010190808311610a36575b505050505081526020016003820154815260200160048201548152602001600582015481525050905080608001519150610a8383610b83565b610a8d9083613124565b9392505050565b610ada6040518060c001604052805f6001600160a01b031681526020015f6001600160a01b03168152602001606081526020015f81526020015f81526020015f81525090565b5f82815260156020908152604091829020825160c08101845281546001600160a01b0390811682526001830154168184015260028201805485518186028101860187528181529295939493860193830182828015610b5557602002820191905f5260205f20905b815481526020019060010190808311610b41575b5050505050815260200160038201548152602001600482015481526020016005820154815250509050919050565b5f805f805f80610b91611ba2565b505050945094509450945094505f5b84811015610c305787838281518110610bbb57610bbb6130d4565b602002602001015103610c285785841115610c07578386838381518110610be457610be46130d4565b6020026020010151610bf69190613137565b610c009190613162565b9650610c30565b818181518110610c1957610c196130d4565b60200260200101519650610c30565b600101610ba0565b505050505050919050565b6011545f03610c5d5760405163afb0be3360e01b815260040160405180910390fd5b5f818152601560205260409020600381015415610c905760405163b4817ce760e01b815260048101839052602401610665565b6016546001548103610cbb5760015460405163fd20861560e01b815260040161066591815260200190565b600b5460405163ef0e239b60e01b8152600481018590525f916001600160a01b03169063ef0e239b906024015f60405180830381865afa158015610d01573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610d28919081019061321f565b9050806080015163ffffffff1660075414610d5957604051637ad404bf60e11b815260048101859052602401610665565b60095415801590610d705750806040015160095414155b15610d9157604051637ad404bf60e11b815260048101859052602401610665565b5f600854118015610dae5750806060015163ffffffff1660085414155b15610dcf57604051637ad404bf60e11b815260048101859052602401610665565b60048160c001516005811115610de757610de761303e565b14610e26578060c001516005811115610e0257610e0261303e565b604051633c053f9d60e21b8152600481019190915260248101859052604401610665565b5f81602001516001600160a01b0316803b806020016040519081016040528181525f908060200190933c80519060200120905080600a5414610e8b57602082015160405162a2307960e51b81526001600160a01b039091166004820152602401610665565b6014548015610f4f5760e083015151818114610ebd57604051637ad404bf60e11b815260048101889052602401610665565b5f5b81811015610f4c578460e001518181518110610edd57610edd6130d4565b602002602001015163ffffffff1660148281548110610efe57610efe6130d4565b905f5260205f20015414610f445760148181548110610f1f57610f1f6130d4565b905f5260205f200154604051632ab10b0b60e21b815260040161066591815260200190565b600101610ebf565b50505b610f6f86845f01516bffffffffffffffffffffffff168560e00151611f38565b602083015185546001600160a01b039182166001600160a01b0319918216811788556001880180549092163317909155600c5460405163d564c4bf60e01b815260048101929092525f92169063d564c4bf906024015f60405180830381865afa158015610fde573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261100591908101906132f8565b805190915061101d9060028801906020840190612b5a565b50426003870155601680546001810182555f919091527fd833147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428901879055600b54604051632142170760e11b8152336004820152306024820152604481018990526001600160a01b03909116906342842e0e906064015f604051808303815f87803b1580156110a7575f80fd5b505af11580156110b9573d5f803e3d5ffd5b5050505083602001516001600160a01b0316336001600160a01b0316887faa6b005b4958114a0c90492461c24af6525ae0178db7fbf44125ae9217c69ccb600f5485604051611109929190613384565b60405180910390a450505050505050565b6060601480548060200260200160405190810160405280929190818152602001828054801561116657602002820191905f5260205f20905b815481526020019060010190808311611152575b5050505050905090565b61117983612121565b6001600160a01b038116158061119657506001600160a01b038216155b156111b457604051636b093aad60e01b815260040160405180910390fd5b601880546001600160a01b039283166001600160a01b0319918216179091556017805493909216921691909117905550565b5f816010546111f59190613124565b90505f826011546112069190613124565b6010839055601181905560185490915061122b906001600160a01b031633308661249f565b604080518481526020810184905290810182905233907f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e9060600160405180910390a2505050565b60608060608060605f805f805f805f8061128b611ba2565b97509750975097509750975097509750606080845167ffffffffffffffff8111156112b8576112b8612d3b565b6040519080825280602002602001820160405280156112e1578160200160208202803683370190505b509a505f8915611662578967ffffffffffffffff81111561130457611304612d3b565b60405190808252806020026020018201604052801561132d578160200160208202803683370190505b5092508967ffffffffffffffff81111561134957611349612d3b565b604051908082528060200260200182016040528015611372578160200160208202803683370190505b5091508a89111561156f575f8060015b8c81101561146b578b8e8b838151811061139e5761139e6130d4565b60200260200101516113b09190613137565b6113ba9190613162565b92506113c68383613124565b91508a81815181106113da576113da6130d4565b602002602001015193508a81815181106113f6576113f66130d4565b6020026020010151868281518110611410576114106130d4565b6020026020010181815250508285828151811061142f5761142f6130d4565b6020026020010181815250508260155f8681526020019081526020015f206004015f82825461145e9190613124565b9091555050600101611382565b508a8d8a5f81518110611480576114806130d4565b60200260200101516114929190613137565b61149c9190613162565b91506114a88282613124565b9050895f815181106114bc576114bc6130d4565b60200260200101519250895f815181106114d8576114d86130d4565b6020026020010151855f815181106114f2576114f26130d4565b602002602001018181525050808d111561151d57611510818e6130c1565b61151a9083613124565b91505b81845f81518110611530576115306130d4565b6020026020010181815250508160155f8581526020019081526020015f206004015f82825461155f9190613124565b909155505f9d5061165c92505050565b5f5b8a81101561164e5788818151811061158b5761158b6130d4565b602002602001015191508881815181106115a7576115a76130d4565b60200260200101518482815181106115c1576115c16130d4565b6020026020010181815250508781815181106115df576115df6130d4565b60200260200101518382815181106115f9576115f96130d4565b602002602001018181525050878181518110611617576116176130d4565b602002602001015160155f8481526020019081526020015f206004015f8282546116419190613124565b9091555050600101611571565b50611659898c6130c1565b9a505b60118b90555b8551156118c957600f545f9a508a5b87518110156118505787818151811061168c5761168c6130d4565b602002602001015192508681815181106116a8576116a86130d4565b602002602001015160155f8581526020019081526020015f2060020190805190602001906116d7929190612b5a565b505f8682815181106116eb576116eb6130d4565b602002602001015111156118365785818151811061170b5761170b6130d4565b602002602001015160155f8581526020019081526020015f20600501546117329190613124565b868281518110611744576117446130d4565b602002602001018181525050858181518110611762576117626130d4565b602002602001015160155f8581526020019081526020015f2060050181905550600e54868281518110611797576117976130d4565b602002602001015111156117d557828e82815181106117b8576117b86130d4565b60209081029190910101528b6117cd816133a4565b9c5050611848565b827f33dc5cdf1e035de8a7fe16ad7a30a441d30ee51719d3f07703ee35d4348f07798388848151811061180a5761180a6130d4565b6020026020010151604051611829929190918252602082015260400190565b60405180910390a2611848565b5f838152601560205260408120600501555b600101611671565b508a15611862576118628d868d612523565b5f6013544261187191906130c1565b426013559050611882826001613124565b600f81905550817f48b735a18ed32318d316214e41387be29c52e29df4598f2b8e40fa843be3f9408e8787856040516118be94939291906133bc565b60405180910390a250505b50939e929d509b50919950969750505050505050565b601681815481106109bd575f80fd5b6060601680548060200260200160405190810160405280929190818152602001828054801561116657602002820191905f5260205f2090815481526020019060010190808311611152575050505050905090565b5f6005546013546119539190613124565b905090565b5f818152601560209081526040808320815160c08101835281546001600160a01b03908116825260018301541681850152600282018054845181870281018701865281815287969395860193909291908301828280156119d557602002820191905f5260205f20905b8154815260200190600101908083116119c1575b5050505050815260200160038201548152602001600482015481526020016005820154815250509050600e548160a001511115611a155760029150611a24565b606081015115611a2457600191505b50919050565b8060105f828254611a3b91906130c1565b9091555050601854611a57906001600160a01b031683836128d8565b816001600160a01b03167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a942436482604051611a9291815260200190565b60405180910390a25050565b5f82815260156020526040812060018101546001600160a01b03163314611aef57600181015460405163521eb56d60e11b81523360048201526001600160a01b039091166024820152604401610665565b8215611b0357611afd611273565b50505050505b80600401549150815f03611b2a57604051637c946ed760e01b815260040160405180910390fd5b5f600482015580546001600160a01b0316611b458184611a2a565b806001600160a01b0316336001600160a01b0316867f31add0166dae59ea66bbc180e4fae85b72fc9b7b5fc7b0f7257e4721a840c96e600f548660020188604051611b92939291906133f8565b60405180910390a4505092915050565b5f805f60608060608060605f601354905060115498506005548142611bc791906130c1565b10158015611bd457505f89115b15611f2d576016548067ffffffffffffffff811115611bf557611bf5612d3b565b604051908082528060200260200182016040528015611c1e578160200160208202803683370190505b5094508067ffffffffffffffff811115611c3a57611c3a612d3b565b604051908082528060200260200182016040528015611c63578160200160208202803683370190505b5096508067ffffffffffffffff811115611c7f57611c7f612d3b565b604051908082528060200260200182016040528015611ca8578160200160208202803683370190505b5095508067ffffffffffffffff811115611cc457611cc4612d3b565b604051908082528060200260200182016040528015611cf757816020015b6060815260200190600190039081611ce25790505b5093508067ffffffffffffffff811115611d1357611d13612d3b565b604051908082528060200260200182016040528015611d3c578160200160208202803683370190505b5092505f5b81811015611f2a5760168181548110611d5c57611d5c6130d4565b905f5260205f200154868281518110611d7757611d776130d4565b6020026020010181815250505f60155f888481518110611d9957611d996130d4565b602002602001015181526020019081526020015f2090505f8490505f8260030154905081811115611dc8578091505b611dd282426130c1565b8354600285018054604080516020808402820181019092528281529495505f94611e3c946001600160a01b03169390929091830182828015611e3157602002820191905f5260205f20905b815481526020019060010190808311611e1d575b505050505084612955565b8a8781518110611e4e57611e4e6130d4565b602090810291909101015290508015611efb5781600254611e6f9190613137565b8b8f81518110611e8157611e816130d4565b6020026020010181815250508a8e81518110611e9f57611e9f6130d4565b60200260200101518d611eb29190613124565b9c50898581518110611ec657611ec66130d4565b60200260200101518c8f81518110611ee057611ee06130d4565b6020908102919091010152611ef48e6133a4565b9d50611f1b565b81888681518110611f0e57611f0e6130d4565b6020026020010181815250505b50505050806001019050611d41565b50505b509091929394959697565b601754604051633cebfa4f60e01b8152600481018590525f9182916001600160a01b0390911690633cebfa4f906024016040805180830381865afa158015611f82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fa69190613452565b60185491935091506001600160a01b03808416911614611ff057601854604051630b80380d60e31b81526001600160a01b0391821660048201529083166024820152604401610665565b6003546bffffffffffffffffffffffff821681111561203957604051632b30b24760e21b81526bffffffffffffffffffffffff8316600482015260248101829052604401610665565b5f5b84518110156121185760175485515f916001600160a01b0316906375c1f934908a9089908690811061206f5761206f6130d4565b60200260200101516040518363ffffffff1660e01b81526004016120a392919091825263ffffffff16602082015260400190565b602060405180830381865afa1580156120be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120e29190613485565b90508281101561210f57604051632b30b24760e21b81526004810182905260248101849052604401610665565b5060010161203b565b50505050505050565b600b546001600160a01b03161561214a5760405162dc149f60e41b815260040160405180910390fd5b8051158061215a57506020810151155b8061216757506040810151155b80612174575060c0810151155b806121825750610100810151155b8061218f575060e0810151155b8061219c57506080810151155b806121a9575060a0810151155b156121c757604051637c946ed760e01b815260040160405180910390fd5b8060a001518160800151101561220357608081015160a082015160405163491a2bb160e01b815260048101929092526024820152604401610665565b60028160600151101561223957606081015160405163491a2bb160e01b8152600481019190915260026024820152604401610665565b6101a08101516001600160a01b0316158061226057506101c08101516001600160a01b0316155b1561227e5760405163d92e233d60e01b815260040160405180910390fd5b806101c001516001600160a01b03163b5f036122bf576101c081015160405163601c0c2160e01b81526001600160a01b039091166004820152602401610665565b80515f90815560208201516001556040820151600255606082015160035560a082015160045560c082015160055560e08201516006556101008201516007556101a0820151600b80546001600160a01b039283166001600160a01b0319918216179091556101c0840151600c8054919093169116179055610140820151600855610160820151600955805b8261012001515181101561241857818361012001518281518110612370576123706130d4565b6020026020010151116123b8578261012001518181518110612394576123946130d4565b6020026020010151604051632ab10b0b60e21b815260040161066591815260200190565b82610120015181815181106123cf576123cf6130d4565b602090810291909101015160148054600181810183555f929092527fce6d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec018290559092500161234a565b506101808201515f0361243e57604051637c946ed760e01b815260040160405180910390fd5b610180820151600a5560055460808301516124599190613137565b600d5560055460a083015161246e9190613137565b600e5560e08201516020830151604084015161248a9190613137565b6124949190613137565b601255505042601355565b5f6040516323b872dd60e01b5f5284600452836024528260445260205f60645f808a5af13d15601f3d1160015f511416171691505f60605280604052508061251c5760405163abae3d6d60e01b81526001600160a01b03808716600483015280861660248301528416604482015260648101839052608401610665565b5050505050565b82515f8267ffffffffffffffff81111561253f5761253f612d3b565b604051908082528060200260200182016040528015612568578160200160208202803683370190505b5090505f8367ffffffffffffffff81111561258557612585612d3b565b6040519080825280602002602001820160405280156125ae578160200160208202803683370190505b5090505f8467ffffffffffffffff8111156125cb576125cb612d3b565b6040519080825280602002602001820160405280156125f4578160200160208202803683370190505b5090505f8567ffffffffffffffff81111561261157612611612d3b565b60405190808252806020026020018201604052801561263a578160200160208202803683370190505b5090505f8667ffffffffffffffff81111561265757612657612d3b565b604051908082528060200260200182016040528015612680578160200160208202803683370190505b5090505f805f5b888110156127dc575f8c82815181106126a2576126a26130d4565b602002602001015111156127d4578b81815181106126c2576126c26130d4565b60200260200101519150818884815181106126df576126df6130d4565b6020908102919091018101919091525f838152601590915260409020600181015488516001600160a01b0390911690899086908110612720576127206130d4565b6001600160a01b0392831660209182029290920101528154885191169088908690811061274f5761274f6130d4565b60200260200101906001600160a01b031690816001600160a01b0316815250508b8281518110612781576127816130d4565b602002602001015186858151811061279b5761279b6130d4565b602002602001018181525050818585815181106127ba576127ba6130d4565b6020908102919091010152836127cf816133a4565b945050505b600101612687565b50885b801561288a57886127ef8161349c565b99505f9050846128006001846130c1565b81518110612810576128106130d4565b6020026020010151905060168a8154811061282d5761282d6130d4565b905f5260205f20015460168281548110612849576128496130d4565b5f918252602090912001556016805480612865576128656130e8565b600190038181905f5260205f20015f9055905550806128839061349c565b90506127df565b50600f547fd19a3d42ed383465e4058c322d9411aeac76ddb8454d22e139fc99808bd56952888888886040516128c394939291906134e9565b60405180910390a25050505050505050505050565b5f60405163a9059cbb60e01b5f52836004528260245260205f60445f80895af13d15601f3d1160015f511416171691505f60605280604052508061294f5760405163abae3d6d60e01b81526001600160a01b0380861660048301523060248301528416604482015260648101839052608401610665565b50505050565b6040516001600160a01b03841660248201525f90606090829060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663d564c4bf60e01b179052600c5490519192505f9182916001600160a01b0316906129d1908590613535565b5f60405180830381855afa9150503d805f8114612a09576040519150601f19603f3d011682016040523d82523d5f602084013e612a0e565b606091505b5091509150818015612a215750603f8151115b8015612a38575060208151612a36919061354b565b155b15612b315780806020019051810190612a5191906132f8565b9350838787604051602401612a689392919061355e565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663184023a560e01b179052600c5490519194506001600160a01b031690612ac4908590613535565b5f60405180830381855afa9150503d805f8114612afc576040519150601f19603f3d011682016040523d82523d5f602084013e612b01565b606091505b509092509050818015612b15575080516020145b15612b315780806020019051810190612b2e9190613593565b94505b505050935093915050565b5080545f8255905f5260205f2090810190612b579190612ba3565b50565b828054828255905f5260205f20908101928215612b93579160200282015b82811115612b93578251825591602001919060010190612b78565b50612b9f929150612ba3565b5090565b5b80821115612b9f575f8155600101612ba4565b6001600160a01b0381168114612b57575f80fd5b8035612bd681612bb7565b919050565b5f805f805f60808688031215612bef575f80fd5b8535612bfa81612bb7565b94506020860135612c0a81612bb7565b935060408601359250606086013567ffffffffffffffff80821115612c2d575f80fd5b818801915088601f830112612c40575f80fd5b813581811115612c4e575f80fd5b896020828501011115612c5f575f80fd5b9699959850939650602001949392505050565b5f60208284031215612c82575f80fd5b5035919050565b5f815180845260208085019450602084015f5b83811015612cb857815187529582019590820190600101612c9c565b509495945050505050565b602081525f6001600160a01b0380845116602084015280602085015116604084015250604083015160c06060840152612cff60e0840182612c89565b905060608401516080840152608084015160a084015260a084015160c08401528091505092915050565b602081525f610a8d6020830184612c89565b634e487b7160e01b5f52604160045260245ffd5b6040516101e0810167ffffffffffffffff81118282101715612d7357612d73612d3b565b60405290565b604051610100810167ffffffffffffffff81118282101715612d7357612d73612d3b565b604051601f8201601f1916810167ffffffffffffffff81118282101715612dc657612dc6612d3b565b604052919050565b5f67ffffffffffffffff821115612de757612de7612d3b565b5060051b60200190565b5f82601f830112612e00575f80fd5b81356020612e15612e1083612dce565b612d9d565b8083825260208201915060208460051b870101935086841115612e36575f80fd5b602086015b84811015612e525780358352918301918301612e3b565b509695505050505050565b5f805f60608486031215612e6f575f80fd5b833567ffffffffffffffff80821115612e86575f80fd5b908501906101e08288031215612e9a575f80fd5b612ea2612d4f565b823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a082015260c083013560c082015260e083013560e08201526101008084013581830152506101208084013583811115612f0b575f80fd5b612f178a828701612df1565b91830191909152506101408381013590820152610160808401359082015261018080840135908201526101a09150612f50828401612bcb565b828201526101c09150612f64828401612bcb565b82820152809550505050612f7a60208501612bcb565b9150612f8860408501612bcb565b90509250925092565b60a081525f612fa360a0830188612c89565b6020838203818501528188518084528284019150828160051b850101838b015f5b83811015612ff257601f19878403018552612fe0838351612c89565b94860194925090850190600101612fc4565b50508681036040880152613006818b612c89565b945050505050828103606084015261301e8186612c89565b905082810360808401526130328185612c89565b98975050505050505050565b634e487b7160e01b5f52602160045260245ffd5b602081016003831061307257634e487b7160e01b5f52602160045260245ffd5b91905290565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561099c5761099c6130ad565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b838152606060208201525f6131146060830185612c89565b9050826040830152949350505050565b8082018082111561099c5761099c6130ad565b808202811582820484141761099c5761099c6130ad565b634e487b7160e01b5f52601260045260245ffd5b5f826131705761317061314e565b500490565b80516bffffffffffffffffffffffff81168114612bd6575f80fd5b8051612bd681612bb7565b805163ffffffff81168114612bd6575f80fd5b805160068110612bd6575f80fd5b5f82601f8301126131cb575f80fd5b815160206131db612e1083612dce565b8083825260208201915060208460051b8701019350868411156131fc575f80fd5b602086015b84811015612e52576132128161319b565b8352918301918301613201565b5f6020828403121561322f575f80fd5b815167ffffffffffffffff80821115613246575f80fd5b90830190610100828603121561325a575f80fd5b613262612d79565b61326b83613175565b815261327960208401613190565b6020820152604083015160408201526132946060840161319b565b60608201526132a56080840161319b565b60808201526132b660a0840161319b565b60a08201526132c760c084016131ae565b60c082015260e0830151828111156132dd575f80fd5b6132e9878286016131bc565b60e08301525095945050505050565b5f6020808385031215613309575f80fd5b825167ffffffffffffffff81111561331f575f80fd5b8301601f8101851361332f575f80fd5b805161333d612e1082612dce565b81815260059190911b8201830190838101908783111561335b575f80fd5b928401925b8284101561337957835182529284019290840190613360565b979650505050505050565b828152604060208201525f61339c6040830184612c89565b949350505050565b5f600182016133b5576133b56130ad565b5060010190565b848152608060208201525f6133d46080830186612c89565b82810360408401526133e68186612c89565b91505082606083015295945050505050565b5f60608201858352602060606020850152818654808452608086019150875f5260205f2093505f5b8181101561343c57845483526001948501949284019201613420565b5050809350505050826040830152949350505050565b5f8060408385031215613463575f80fd5b825161346e81612bb7565b915061347c60208401613175565b90509250929050565b5f60208284031215613495575f80fd5b5051919050565b5f816134aa576134aa6130ad565b505f190190565b5f815180845260208085019450602084015f5b83811015612cb85781516001600160a01b0316875295820195908201906001016134c4565b608081525f6134fb6080830187612c89565b828103602084015261350d81876134b1565b9050828103604084015261352181866134b1565b905082810360608401526133798185612c89565b5f82518060208501845e5f920191825250919050565b5f826135595761355961314e565b500690565b606081525f6135706060830186612c89565b82810360208401526135828186612c89565b915050826040830152949350505050565b5f602082840312156135a3575f80fd5b81518015158114610a8d575f80fdfea264697066735822122072ecd1722ad55173c3de0af850e7d10c36277b036879ee73341951b05ec8f40e64736f6c63430008190033",
1271
- "linkReferences": {},
1272
- "deployedLinkReferences": {}
1273
- }