sdk-triggerx 0.1.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 (105) hide show
  1. package/.eslintrc.json +16 -0
  2. package/README.md +249 -0
  3. package/dist/api/jobs.d.ts +15 -0
  4. package/dist/api/jobs.js +138 -0
  5. package/dist/api/tasks.d.ts +4 -0
  6. package/dist/api/tasks.js +13 -0
  7. package/dist/client.d.ts +7 -0
  8. package/dist/client.js +27 -0
  9. package/dist/config.d.ts +6 -0
  10. package/dist/config.js +15 -0
  11. package/dist/contracts/JobRegistry.d.ts +12 -0
  12. package/dist/contracts/JobRegistry.js +26 -0
  13. package/dist/contracts/TriggerXContract.d.ts +6 -0
  14. package/dist/contracts/TriggerXContract.js +14 -0
  15. package/dist/contracts/abi/JobRegistry.json +1554 -0
  16. package/dist/contracts/index.d.ts +1 -0
  17. package/dist/contracts/index.js +17 -0
  18. package/dist/index.d.ts +8 -0
  19. package/dist/index.js +26 -0
  20. package/dist/src/api/checkTgBalance.d.ts +2 -0
  21. package/dist/src/api/checkTgBalance.js +35 -0
  22. package/dist/src/api/deleteJob.d.ts +2 -0
  23. package/dist/src/api/deleteJob.js +20 -0
  24. package/dist/src/api/getJobDataById.d.ts +3 -0
  25. package/dist/src/api/getJobDataById.js +21 -0
  26. package/dist/src/api/getUserData.d.ts +3 -0
  27. package/dist/src/api/getUserData.js +21 -0
  28. package/dist/src/api/getjob.d.ts +8 -0
  29. package/dist/src/api/getjob.js +23 -0
  30. package/dist/src/api/jobs.d.ts +18 -0
  31. package/dist/src/api/jobs.js +270 -0
  32. package/dist/src/api/tasks.d.ts +4 -0
  33. package/dist/src/api/tasks.js +13 -0
  34. package/dist/src/api/topupTg.d.ts +2 -0
  35. package/dist/src/api/topupTg.js +19 -0
  36. package/dist/src/api/withdrawTg.d.ts +8 -0
  37. package/dist/src/api/withdrawTg.js +27 -0
  38. package/dist/src/client.d.ts +10 -0
  39. package/dist/src/client.js +37 -0
  40. package/dist/src/config.d.ts +6 -0
  41. package/dist/src/config.js +15 -0
  42. package/dist/src/contracts/JobRegistry.d.ts +12 -0
  43. package/dist/src/contracts/JobRegistry.js +24 -0
  44. package/dist/src/contracts/TriggerXContract.d.ts +6 -0
  45. package/dist/src/contracts/TriggerXContract.js +14 -0
  46. package/dist/src/contracts/abi/GasRegistry.json +607 -0
  47. package/dist/src/contracts/abi/JobRegistry.json +1554 -0
  48. package/dist/src/contracts/index.d.ts +1 -0
  49. package/dist/src/contracts/index.js +17 -0
  50. package/dist/src/index.d.ts +7 -0
  51. package/dist/src/index.js +25 -0
  52. package/dist/src/types.d.ts +246 -0
  53. package/dist/src/types.js +15 -0
  54. package/dist/src/utils/errors.d.ts +4 -0
  55. package/dist/src/utils/errors.js +17 -0
  56. package/dist/test/createJobExample.d.ts +1 -0
  57. package/dist/test/createJobExample.js +77 -0
  58. package/dist/test/deleteJob.test.d.ts +1 -0
  59. package/dist/test/deleteJob.test.js +22 -0
  60. package/dist/test/example.test.d.ts +1 -0
  61. package/dist/test/example.test.js +11 -0
  62. package/dist/test/getJobDataById.test.d.ts +1 -0
  63. package/dist/test/getJobDataById.test.js +23 -0
  64. package/dist/test/getUserData.test.d.ts +1 -0
  65. package/dist/test/getUserData.test.js +22 -0
  66. package/dist/test/getjob.test.d.ts +1 -0
  67. package/dist/test/getjob.test.js +21 -0
  68. package/dist/test/testTgFunctions.d.ts +1 -0
  69. package/dist/test/testTgFunctions.js +56 -0
  70. package/dist/types.d.ts +134 -0
  71. package/dist/types.js +15 -0
  72. package/dist/utils/errors.d.ts +4 -0
  73. package/dist/utils/errors.js +17 -0
  74. package/jest.config.js +7 -0
  75. package/package.json +32 -0
  76. package/scripts/deploy.ts +9 -0
  77. package/src/api/checkTgBalance.ts +27 -0
  78. package/src/api/deleteJob.ts +22 -0
  79. package/src/api/getJobDataById.ts +24 -0
  80. package/src/api/getUserData.ts +24 -0
  81. package/src/api/getjob.ts +26 -0
  82. package/src/api/jobs.ts +303 -0
  83. package/src/api/topupTg.ts +17 -0
  84. package/src/api/withdrawTg.ts +25 -0
  85. package/src/client.ts +38 -0
  86. package/src/config.ts +16 -0
  87. package/src/contracts/JobRegistry.ts +45 -0
  88. package/src/contracts/TriggerXContract.ts +14 -0
  89. package/src/contracts/abi/.gitkeep +1 -0
  90. package/src/contracts/abi/GasRegistry.json +607 -0
  91. package/src/contracts/abi/JobRegistry.json +1554 -0
  92. package/src/contracts/index.ts +1 -0
  93. package/src/index.ts +7 -0
  94. package/src/types.ts +262 -0
  95. package/src/utils/errors.ts +13 -0
  96. package/test/createJobExample.ts +84 -0
  97. package/test/deleteJob.test.ts +25 -0
  98. package/test/example.test.d.ts +1 -0
  99. package/test/example.test.js +11 -0
  100. package/test/example.test.ts +10 -0
  101. package/test/getJobDataById.test.ts +27 -0
  102. package/test/getUserData.test.ts +25 -0
  103. package/test/getjob.test.ts +23 -0
  104. package/test/testTgFunctions.ts +56 -0
  105. package/tsconfig.json +16 -0
@@ -0,0 +1,1554 @@
1
+ {
2
+ "abi": [
3
+ {
4
+ "type": "constructor",
5
+ "inputs": [],
6
+ "stateMutability": "nonpayable"
7
+ },
8
+ {
9
+ "type": "function",
10
+ "name": "UPGRADE_INTERFACE_VERSION",
11
+ "inputs": [],
12
+ "outputs": [
13
+ {
14
+ "name": "",
15
+ "type": "string",
16
+ "internalType": "string"
17
+ }
18
+ ],
19
+ "stateMutability": "view"
20
+ },
21
+ {
22
+ "type": "function",
23
+ "name": "createJob",
24
+ "inputs": [
25
+ {
26
+ "name": "jobName",
27
+ "type": "string",
28
+ "internalType": "string"
29
+ },
30
+ {
31
+ "name": "jobType",
32
+ "type": "uint8",
33
+ "internalType": "uint8"
34
+ },
35
+ {
36
+ "name": "timeFrame",
37
+ "type": "uint256",
38
+ "internalType": "uint256"
39
+ },
40
+ {
41
+ "name": "targetContract",
42
+ "type": "address",
43
+ "internalType": "address"
44
+ },
45
+ {
46
+ "name": "data",
47
+ "type": "bytes",
48
+ "internalType": "bytes"
49
+ }
50
+ ],
51
+ "outputs": [
52
+ {
53
+ "name": "jobId",
54
+ "type": "uint256",
55
+ "internalType": "uint256"
56
+ }
57
+ ],
58
+ "stateMutability": "nonpayable"
59
+ },
60
+ {
61
+ "type": "function",
62
+ "name": "deleteJob",
63
+ "inputs": [
64
+ {
65
+ "name": "jobId",
66
+ "type": "uint256",
67
+ "internalType": "uint256"
68
+ }
69
+ ],
70
+ "outputs": [],
71
+ "stateMutability": "nonpayable"
72
+ },
73
+ {
74
+ "type": "function",
75
+ "name": "getJob",
76
+ "inputs": [
77
+ {
78
+ "name": "jobId",
79
+ "type": "uint256",
80
+ "internalType": "uint256"
81
+ }
82
+ ],
83
+ "outputs": [
84
+ {
85
+ "name": "job",
86
+ "type": "tuple",
87
+ "internalType": "struct JobRegistry.Job",
88
+ "components": [
89
+ {
90
+ "name": "jobId",
91
+ "type": "uint256",
92
+ "internalType": "uint256"
93
+ },
94
+ {
95
+ "name": "jobOwner",
96
+ "type": "address",
97
+ "internalType": "address"
98
+ },
99
+ {
100
+ "name": "jobHash",
101
+ "type": "bytes32",
102
+ "internalType": "bytes32"
103
+ },
104
+ {
105
+ "name": "lastUpdatedAt",
106
+ "type": "uint256",
107
+ "internalType": "uint256"
108
+ },
109
+ {
110
+ "name": "isActive",
111
+ "type": "bool",
112
+ "internalType": "bool"
113
+ }
114
+ ]
115
+ }
116
+ ],
117
+ "stateMutability": "view"
118
+ },
119
+ {
120
+ "type": "function",
121
+ "name": "getJobOwner",
122
+ "inputs": [
123
+ {
124
+ "name": "jobId",
125
+ "type": "uint256",
126
+ "internalType": "uint256"
127
+ }
128
+ ],
129
+ "outputs": [
130
+ {
131
+ "name": "",
132
+ "type": "address",
133
+ "internalType": "address"
134
+ }
135
+ ],
136
+ "stateMutability": "view"
137
+ },
138
+ {
139
+ "type": "function",
140
+ "name": "getTotalJobsCount",
141
+ "inputs": [],
142
+ "outputs": [
143
+ {
144
+ "name": "count",
145
+ "type": "uint256",
146
+ "internalType": "uint256"
147
+ }
148
+ ],
149
+ "stateMutability": "view"
150
+ },
151
+ {
152
+ "type": "function",
153
+ "name": "getUserActiveJobIds",
154
+ "inputs": [
155
+ {
156
+ "name": "user",
157
+ "type": "address",
158
+ "internalType": "address"
159
+ }
160
+ ],
161
+ "outputs": [
162
+ {
163
+ "name": "activeJobIds",
164
+ "type": "uint256[]",
165
+ "internalType": "uint256[]"
166
+ }
167
+ ],
168
+ "stateMutability": "view"
169
+ },
170
+ {
171
+ "type": "function",
172
+ "name": "getUserJobIds",
173
+ "inputs": [
174
+ {
175
+ "name": "user",
176
+ "type": "address",
177
+ "internalType": "address"
178
+ }
179
+ ],
180
+ "outputs": [
181
+ {
182
+ "name": "jobIds",
183
+ "type": "uint256[]",
184
+ "internalType": "uint256[]"
185
+ }
186
+ ],
187
+ "stateMutability": "view"
188
+ },
189
+ {
190
+ "type": "function",
191
+ "name": "initialize",
192
+ "inputs": [
193
+ {
194
+ "name": "initialOwner",
195
+ "type": "address",
196
+ "internalType": "address"
197
+ }
198
+ ],
199
+ "outputs": [],
200
+ "stateMutability": "nonpayable"
201
+ },
202
+ {
203
+ "type": "function",
204
+ "name": "isJobActive",
205
+ "inputs": [
206
+ {
207
+ "name": "jobId",
208
+ "type": "uint256",
209
+ "internalType": "uint256"
210
+ }
211
+ ],
212
+ "outputs": [
213
+ {
214
+ "name": "isActive",
215
+ "type": "bool",
216
+ "internalType": "bool"
217
+ }
218
+ ],
219
+ "stateMutability": "view"
220
+ },
221
+ {
222
+ "type": "function",
223
+ "name": "owner",
224
+ "inputs": [],
225
+ "outputs": [
226
+ {
227
+ "name": "",
228
+ "type": "address",
229
+ "internalType": "address"
230
+ }
231
+ ],
232
+ "stateMutability": "view"
233
+ },
234
+ {
235
+ "type": "function",
236
+ "name": "proxiableUUID",
237
+ "inputs": [],
238
+ "outputs": [
239
+ {
240
+ "name": "",
241
+ "type": "bytes32",
242
+ "internalType": "bytes32"
243
+ }
244
+ ],
245
+ "stateMutability": "view"
246
+ },
247
+ {
248
+ "type": "function",
249
+ "name": "renounceOwnership",
250
+ "inputs": [],
251
+ "outputs": [],
252
+ "stateMutability": "nonpayable"
253
+ },
254
+ {
255
+ "type": "function",
256
+ "name": "transferOwnership",
257
+ "inputs": [
258
+ {
259
+ "name": "newOwner",
260
+ "type": "address",
261
+ "internalType": "address"
262
+ }
263
+ ],
264
+ "outputs": [],
265
+ "stateMutability": "nonpayable"
266
+ },
267
+ {
268
+ "type": "function",
269
+ "name": "updateJob",
270
+ "inputs": [
271
+ {
272
+ "name": "jobId",
273
+ "type": "uint256",
274
+ "internalType": "uint256"
275
+ },
276
+ {
277
+ "name": "oldJobName",
278
+ "type": "string",
279
+ "internalType": "string"
280
+ },
281
+ {
282
+ "name": "jobType",
283
+ "type": "uint8",
284
+ "internalType": "uint8"
285
+ },
286
+ {
287
+ "name": "oldTimeFrame",
288
+ "type": "uint256",
289
+ "internalType": "uint256"
290
+ },
291
+ {
292
+ "name": "targetContract",
293
+ "type": "address",
294
+ "internalType": "address"
295
+ },
296
+ {
297
+ "name": "oldData",
298
+ "type": "bytes",
299
+ "internalType": "bytes"
300
+ },
301
+ {
302
+ "name": "newJobName",
303
+ "type": "string",
304
+ "internalType": "string"
305
+ },
306
+ {
307
+ "name": "newTimeFrame",
308
+ "type": "uint256",
309
+ "internalType": "uint256"
310
+ },
311
+ {
312
+ "name": "newData",
313
+ "type": "bytes",
314
+ "internalType": "bytes"
315
+ }
316
+ ],
317
+ "outputs": [],
318
+ "stateMutability": "nonpayable"
319
+ },
320
+ {
321
+ "type": "function",
322
+ "name": "upgradeToAndCall",
323
+ "inputs": [
324
+ {
325
+ "name": "newImplementation",
326
+ "type": "address",
327
+ "internalType": "address"
328
+ },
329
+ {
330
+ "name": "data",
331
+ "type": "bytes",
332
+ "internalType": "bytes"
333
+ }
334
+ ],
335
+ "outputs": [],
336
+ "stateMutability": "payable"
337
+ },
338
+ {
339
+ "type": "event",
340
+ "name": "Initialized",
341
+ "inputs": [
342
+ {
343
+ "name": "version",
344
+ "type": "uint64",
345
+ "indexed": false,
346
+ "internalType": "uint64"
347
+ }
348
+ ],
349
+ "anonymous": false
350
+ },
351
+ {
352
+ "type": "event",
353
+ "name": "JobCreated",
354
+ "inputs": [
355
+ {
356
+ "name": "jobId",
357
+ "type": "uint256",
358
+ "indexed": true,
359
+ "internalType": "uint256"
360
+ },
361
+ {
362
+ "name": "jobOwner",
363
+ "type": "address",
364
+ "indexed": true,
365
+ "internalType": "address"
366
+ },
367
+ {
368
+ "name": "jobHash",
369
+ "type": "bytes32",
370
+ "indexed": false,
371
+ "internalType": "bytes32"
372
+ },
373
+ {
374
+ "name": "timestamp",
375
+ "type": "uint256",
376
+ "indexed": false,
377
+ "internalType": "uint256"
378
+ }
379
+ ],
380
+ "anonymous": false
381
+ },
382
+ {
383
+ "type": "event",
384
+ "name": "JobDeleted",
385
+ "inputs": [
386
+ {
387
+ "name": "jobId",
388
+ "type": "uint256",
389
+ "indexed": true,
390
+ "internalType": "uint256"
391
+ },
392
+ {
393
+ "name": "jobOwner",
394
+ "type": "address",
395
+ "indexed": true,
396
+ "internalType": "address"
397
+ },
398
+ {
399
+ "name": "timestamp",
400
+ "type": "uint256",
401
+ "indexed": false,
402
+ "internalType": "uint256"
403
+ }
404
+ ],
405
+ "anonymous": false
406
+ },
407
+ {
408
+ "type": "event",
409
+ "name": "JobUpdated",
410
+ "inputs": [
411
+ {
412
+ "name": "jobId",
413
+ "type": "uint256",
414
+ "indexed": true,
415
+ "internalType": "uint256"
416
+ },
417
+ {
418
+ "name": "jobOwner",
419
+ "type": "address",
420
+ "indexed": true,
421
+ "internalType": "address"
422
+ },
423
+ {
424
+ "name": "newJobHash",
425
+ "type": "bytes32",
426
+ "indexed": false,
427
+ "internalType": "bytes32"
428
+ },
429
+ {
430
+ "name": "timestamp",
431
+ "type": "uint256",
432
+ "indexed": false,
433
+ "internalType": "uint256"
434
+ }
435
+ ],
436
+ "anonymous": false
437
+ },
438
+ {
439
+ "type": "event",
440
+ "name": "OwnershipTransferred",
441
+ "inputs": [
442
+ {
443
+ "name": "previousOwner",
444
+ "type": "address",
445
+ "indexed": true,
446
+ "internalType": "address"
447
+ },
448
+ {
449
+ "name": "newOwner",
450
+ "type": "address",
451
+ "indexed": true,
452
+ "internalType": "address"
453
+ }
454
+ ],
455
+ "anonymous": false
456
+ },
457
+ {
458
+ "type": "event",
459
+ "name": "Upgraded",
460
+ "inputs": [
461
+ {
462
+ "name": "implementation",
463
+ "type": "address",
464
+ "indexed": true,
465
+ "internalType": "address"
466
+ }
467
+ ],
468
+ "anonymous": false
469
+ },
470
+ {
471
+ "type": "error",
472
+ "name": "AddressEmptyCode",
473
+ "inputs": [
474
+ {
475
+ "name": "target",
476
+ "type": "address",
477
+ "internalType": "address"
478
+ }
479
+ ]
480
+ },
481
+ {
482
+ "type": "error",
483
+ "name": "ERC1967InvalidImplementation",
484
+ "inputs": [
485
+ {
486
+ "name": "implementation",
487
+ "type": "address",
488
+ "internalType": "address"
489
+ }
490
+ ]
491
+ },
492
+ {
493
+ "type": "error",
494
+ "name": "ERC1967NonPayable",
495
+ "inputs": []
496
+ },
497
+ {
498
+ "type": "error",
499
+ "name": "EmptyJobName",
500
+ "inputs": []
501
+ },
502
+ {
503
+ "type": "error",
504
+ "name": "FailedCall",
505
+ "inputs": []
506
+ },
507
+ {
508
+ "type": "error",
509
+ "name": "InvalidInitialization",
510
+ "inputs": []
511
+ },
512
+ {
513
+ "type": "error",
514
+ "name": "InvalidJobData",
515
+ "inputs": []
516
+ },
517
+ {
518
+ "type": "error",
519
+ "name": "InvalidJobParameters",
520
+ "inputs": []
521
+ },
522
+ {
523
+ "type": "error",
524
+ "name": "InvalidTargetContract",
525
+ "inputs": []
526
+ },
527
+ {
528
+ "type": "error",
529
+ "name": "JobAlreadyInactive",
530
+ "inputs": [
531
+ {
532
+ "name": "jobId",
533
+ "type": "uint256",
534
+ "internalType": "uint256"
535
+ }
536
+ ]
537
+ },
538
+ {
539
+ "type": "error",
540
+ "name": "JobNotFound",
541
+ "inputs": [
542
+ {
543
+ "name": "jobId",
544
+ "type": "uint256",
545
+ "internalType": "uint256"
546
+ }
547
+ ]
548
+ },
549
+ {
550
+ "type": "error",
551
+ "name": "MissingIpfsHash",
552
+ "inputs": []
553
+ },
554
+ {
555
+ "type": "error",
556
+ "name": "MissingTimeInterval",
557
+ "inputs": []
558
+ },
559
+ {
560
+ "type": "error",
561
+ "name": "NotInitializing",
562
+ "inputs": []
563
+ },
564
+ {
565
+ "type": "error",
566
+ "name": "OwnableInvalidOwner",
567
+ "inputs": [
568
+ {
569
+ "name": "owner",
570
+ "type": "address",
571
+ "internalType": "address"
572
+ }
573
+ ]
574
+ },
575
+ {
576
+ "type": "error",
577
+ "name": "OwnableUnauthorizedAccount",
578
+ "inputs": [
579
+ {
580
+ "name": "account",
581
+ "type": "address",
582
+ "internalType": "address"
583
+ }
584
+ ]
585
+ },
586
+ {
587
+ "type": "error",
588
+ "name": "UUPSUnauthorizedCallContext",
589
+ "inputs": []
590
+ },
591
+ {
592
+ "type": "error",
593
+ "name": "UUPSUnsupportedProxiableUUID",
594
+ "inputs": [
595
+ {
596
+ "name": "slot",
597
+ "type": "bytes32",
598
+ "internalType": "bytes32"
599
+ }
600
+ ]
601
+ },
602
+ {
603
+ "type": "error",
604
+ "name": "UnauthorizedJobAccess",
605
+ "inputs": [
606
+ {
607
+ "name": "jobId",
608
+ "type": "uint256",
609
+ "internalType": "uint256"
610
+ },
611
+ {
612
+ "name": "caller",
613
+ "type": "address",
614
+ "internalType": "address"
615
+ }
616
+ ]
617
+ }
618
+ ],
619
+ "bytecode": {
620
+ "object": "0x60a080604052346100c257306080525f51602061148f5f395f51905f525460ff8160401c166100b3576002600160401b03196001600160401b03821601610060575b6040516113c890816100c7823960805181818161029201526103bc0152f35b6001600160401b0319166001600160401b039081175f51602061148f5f395f51905f525581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80610041565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063147f5511146101145780634f1ef2861461010f57806352d1902d1461010a57806353bc234f146101055780635523d8dc146101005780636358bb8c146100fb578063715018a6146100f6578063893de3c5146100f15780638da5cb5b146100ec57806391461d0a146100e7578063a87a8732146100e2578063ad3cb1cc146100dd578063bf22c457146100d8578063c4d66de8146100d3578063f2fde38b146100ce5763ff7b49a0146100c9575f80fd5b610c67565b610c3e565b610ad7565b610a00565b6109b9565b610979565b6108c3565b61088f565b6106b9565b610632565b610560565b6104e2565b610401565b6103aa565b610254565b34610149576020366003190112610149576004355f526001602052602060018060a01b03600160405f20015416604051908152f35b5f80fd5b600435906001600160a01b038216820361014957565b606435906001600160a01b038216820361014957565b608435906001600160a01b038216820361014957565b634e487b7160e01b5f52604160045260245ffd5b60a081019081106001600160401b038211176101be57604052565b61018f565b90601f801991011681019081106001600160401b038211176101be57604052565b604051906101f360a0836101c3565b565b6001600160401b0381116101be57601f01601f191660200190565b81601f820112156101495760208135910161022a826101f5565b9261023860405194856101c3565b8284528282011161014957815f92602092838601378301015290565b60403660031901126101495761026861014d565b6024356001600160401b03811161014957610287903690600401610210565b906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115610388575b50610379576102ca6110e7565b6040516352d1902d60e01b8152916020836004816001600160a01b0386165afa5f9381610348575b5061031357634c9c8ce360e01b5f526001600160a01b03821660045260245ffd5b905f5160206113535f395f51905f5283036103345761033292506111c7565b005b632a87526960e21b5f52600483905260245ffd5b61036b91945060203d602011610372575b61036381836101c3565b8101906110d8565b925f6102f2565b503d610359565b63703e46dd60e11b5f5260045ffd5b5f5160206113535f395f51905f52546001600160a01b0316141590505f6102bd565b34610149575f366003190112610149577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036103795760206040515f5160206113535f395f51905f528152f35b3461014957602036600319011261014957600435805f52600160205260405f20906040519161042f836101a3565b8054835260018101546001600160a01b031660208401819052600282015460408501526003820154606085015260049091015460ff161515608090930192835215610497576104936104818351151590565b60405190151581529081906020820190565b0390f35b6350c83b9560e01b5f5260045260245ffd5b60206040818301928281528451809452019201905f5b8181106104cc5750505090565b82518452602093840193909201916001016104bf565b34610149576020366003190112610149576001600160a01b0361050361014d565b165f52600260205260405f206040519081602082549182815201915f5260205f20905f5b81811061054a576104938561053e818703826101c3565b604051918291826104a9565b8254845260209093019260019283019201610527565b3461014957602036600319011261014957600435610586815f52600160205260405f2090565b60018101546001600160a01b0316801561061e573303610606576004016105b56105b1825460ff1690565b1590565b6105f257805460ff191690556040514281523391907f8bc0131dae2d0cbc363614dfcf9653c32125d8fe69ea2cc1f6be9bc43019853790602090a3005b63060a06f160e01b5f52600482905260245ffd5b6316aceee960e21b5f5260048290523360245260445ffd5b6350c83b9560e01b5f52600483905260245ffd5b34610149575f3660031901126101495761064a6110e7565b5f5160206113335f395f51905f5280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b6024359060ff8216820361014957565b6044359060ff8216820361014957565b346101495760a0366003190112610149576004356001600160401b038111610149576106e9903690600401610210565b6106f1610699565b90604435906106fe610163565b916084356001600160401b0381116101495761071e903690600401610210565b825115610880576001600160a01b03841615610871578461076882610749610776946104939961111a565b6107535f54610db0565b96875f55604051958694602086019889610dd2565b03601f1981018352826101c3565b5190206108146107846101e4565b8381523360208201528260408201524260608201526107a66080820160019052565b6107b8845f52600160205260405f2090565b906080600491805184556001840160018060a01b036020830151166bffffffffffffffffffffffff60a01b82541617905560408101516002850155606081015160038501550151151591019060ff801983541691151516179055565b335f90815260026020526040902061082d908390610e2d565b60408051918252426020830152339183917f737fc62fbb05dd9fb7c799e68796a2d7c8324e310af7b656c0580e7b3cf8bf8a91a36040519081529081906020820190565b632ab4c28d60e11b5f5260045ffd5b630895f00360e01b5f5260045ffd5b34610149575f366003190112610149575f5160206113335f395f51905f52546040516001600160a01b039091168152602090f35b3461014957610120366003190112610149576004356024356001600160401b038111610149576108f7903690600401610210565b906109006106a9565b60643561090b610179565b60a4356001600160401b0381116101495761092a903690600401610210565b9060c4356001600160401b0381116101495761094a903690600401610210565b9260e4359461010435976001600160401b03891161014957610973610332993690600401610210565b97610e59565b34610149575f3660031901126101495760205f54604051908152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610149575f366003190112610149576104936040516109da6040826101c3565b60058152640352e302e360dc1b6020820152604051918291602083526020830190610995565b34610149576020366003190112610149576004355f6080604051610a23816101a3565b8281528260208201528260408201528260608201520152805f52600160205260405f209060405191610a54836101a3565b8054835260018101546001600160a01b031660208401819052600282015460408501526003820154606085015260049091015460ff1615156080840152156104975760408051835181526020808501516001600160a01b03169082015283820151918101919091526060808401519082015260808084015115159082015260a090f35b3461014957602036600319011261014957610af061014d565b5f5160206113735f395f51905f5254906001600160401b03610b2160ff604085901c1615936001600160401b031690565b1680159081610c36575b6001149081610c2c575b159081610c23575b50610c1457610b809082610b7760016001600160401b03195f5160206113735f395f51905f525416175f5160206113735f395f51905f5255565b610bdf57610fd3565b610b8657005b610bb060ff60401b195f5160206113735f395f51905f5254165f5160206113735f395f51905f5255565b604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b610c0f600160401b60ff60401b195f5160206113735f395f51905f525416175f5160206113735f395f51905f5255565b610fd3565b63f92ee8a960e01b5f5260045ffd5b9050155f610b3d565b303b159150610b35565b839150610b2b565b3461014957602036600319011261014957610332610c5a61014d565b610c626110e7565b61100a565b3461014957602036600319011261014957610ca4610c9f610c8661014d565b6001600160a01b03165f90815260026020526040902090565b610d68565b5f5f5b8251811015610cfa57610cd96004610cd1610cc2848761107b565b515f52600160205260405f2090565b015460ff1690565b610ce6575b600101610ca7565b90610cf2600191610db0565b919050610cde565b50610d04906110a6565b905f5f5b8251811015610d5a57610d236004610cd1610cc2848761107b565b610d30575b600101610d08565b90610d52600191610d41848661107b565b51610d4c828861107b565b52610db0565b919050610d28565b6040518061049386826104a9565b90604051918281549182825260208201905f5260205f20925f5b818110610d975750506101f3925003836101c3565b8454835260019485019487945060209093019201610d82565b5f198114610dbe5760010190565b634e487b7160e01b5f52601160045260245ffd5b9193909260ff610dee610e16979560a0865260a0860190610995565b9516602084015260408301526001600160a01b03166060820152808303608090910152610995565b90565b634e487b7160e01b5f52603260045260245ffd5b805490600160401b8210156101be5760018201808255821015610e54575f5260205f200155565b610e19565b96939792959495610e72885f52600160205260405f2090565b60018101549097906001600160a01b03168015610fbf573303610fa757610ea06105b160048a015460ff1690565b610f93578991610768610ebf9260405194859388602086019889610dd2565b519020966002860197885403610f5857845115610880576001600160a01b03811615610871578261076891610ef7610f08958561111a565b604051958694602086019889610dd2565b5190208093556003429101557f7dac5d7787afd94b2012ccf48531da941b75ac7e9cfc8b6ea0b55cb3a93dbd1360405180610f53339542908360209093929193604081019481520152565b0390a3565b60405162461bcd60e51b815260206004820152601360248201527209e9888beac8298aa8aa6be9a92a69a82a8869606b1b6044820152606490fd5b63060a06f160e01b5f52600489905260245ffd5b6316aceee960e21b5f5260048990523360245260445ffd5b6350c83b9560e01b5f5260048a905260245ffd5b6001600160a01b03811615610ffb57610ff690610fee611269565b610c62611269565b5f8055565b639e1d143d60e01b5f5260045ffd5b6001600160a01b03168015611068575f5160206113335f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b8051821015610e545760209160051b010190565b6001600160401b0381116101be5760051b60200190565b906110b08261108f565b6110bd60405191826101c3565b82815280926110ce601f199161108f565b0190602036910137565b90816020910312610149575190565b5f5160206113335f395f51905f52546001600160a01b0316330361110757565b63118cdaa760e01b5f523360045260245ffd5b60ff166001811480156111bd575b156111a457602082511061119557602082015115611195575b6002811490811561118a575b811561117f575b5061115c5750565b604081511061117057604001511561117057565b6334eab45360e11b5f5260045ffd5b60069150145f611154565b60048114915061114d565b638485995760e01b5f5260045ffd5b6020825110156111415763a103823560e01b5f5260045ffd5b5060028114611128565b90813b15611248575f5160206113535f395f51905f5280546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28051156112305761122d91611294565b50565b50503461123957565b63b398979f60e01b5f5260045ffd5b50634c9c8ce360e01b5f9081526001600160a01b0391909116600452602490fd5b60ff5f5160206113735f395f51905f525460401c161561128557565b631afcd79f60e31b5f5260045ffd5b5f80610e1693602081519101845af43d156112d0573d916112b4836101f5565b926112c260405194856101c3565b83523d5f602085013e6112d4565b6060915b906112f857508051156112e957805190602001fd5b63d6bda27560e01b5f5260045ffd5b81511580611329575b611309575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b1561130156fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220a32afeed18c84a2bb283cbfc447d6ceec14daa1e20e856ba6fdd1173da69349964736f6c634300081b0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00",
621
+ "sourceMap": "545:10066:81:-:0;;;;;;;1171:4:40;1163:13;;-1:-1:-1;;;;;;;;;;;545:10066:81;;;;;;7896:76:39;;-1:-1:-1;;;;;;;;;;;545:10066:81;;7985:34:39;7981:146;;-1:-1:-1;545:10066:81;;;;;;;;1163:13:40;545:10066:81;;;;;;;;;;;7981:146:39;-1:-1:-1;;;;;;545:10066:81;-1:-1:-1;;;;;545:10066:81;;;-1:-1:-1;;;;;;;;;;;545:10066:81;;;8087:29:39;;545:10066:81;;8087:29:39;7981:146;;;;7896:76;7938:23;;;-1:-1:-1;7938:23:39;;-1:-1:-1;7938:23:39;545:10066:81;;;",
622
+ "linkReferences": {}
623
+ },
624
+ "deployedBytecode": {
625
+ "object": "0x60806040526004361015610011575f80fd5b5f3560e01c8063147f5511146101145780634f1ef2861461010f57806352d1902d1461010a57806353bc234f146101055780635523d8dc146101005780636358bb8c146100fb578063715018a6146100f6578063893de3c5146100f15780638da5cb5b146100ec57806391461d0a146100e7578063a87a8732146100e2578063ad3cb1cc146100dd578063bf22c457146100d8578063c4d66de8146100d3578063f2fde38b146100ce5763ff7b49a0146100c9575f80fd5b610c67565b610c3e565b610ad7565b610a00565b6109b9565b610979565b6108c3565b61088f565b6106b9565b610632565b610560565b6104e2565b610401565b6103aa565b610254565b34610149576020366003190112610149576004355f526001602052602060018060a01b03600160405f20015416604051908152f35b5f80fd5b600435906001600160a01b038216820361014957565b606435906001600160a01b038216820361014957565b608435906001600160a01b038216820361014957565b634e487b7160e01b5f52604160045260245ffd5b60a081019081106001600160401b038211176101be57604052565b61018f565b90601f801991011681019081106001600160401b038211176101be57604052565b604051906101f360a0836101c3565b565b6001600160401b0381116101be57601f01601f191660200190565b81601f820112156101495760208135910161022a826101f5565b9261023860405194856101c3565b8284528282011161014957815f92602092838601378301015290565b60403660031901126101495761026861014d565b6024356001600160401b03811161014957610287903690600401610210565b906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115610388575b50610379576102ca6110e7565b6040516352d1902d60e01b8152916020836004816001600160a01b0386165afa5f9381610348575b5061031357634c9c8ce360e01b5f526001600160a01b03821660045260245ffd5b905f5160206113535f395f51905f5283036103345761033292506111c7565b005b632a87526960e21b5f52600483905260245ffd5b61036b91945060203d602011610372575b61036381836101c3565b8101906110d8565b925f6102f2565b503d610359565b63703e46dd60e11b5f5260045ffd5b5f5160206113535f395f51905f52546001600160a01b0316141590505f6102bd565b34610149575f366003190112610149577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036103795760206040515f5160206113535f395f51905f528152f35b3461014957602036600319011261014957600435805f52600160205260405f20906040519161042f836101a3565b8054835260018101546001600160a01b031660208401819052600282015460408501526003820154606085015260049091015460ff161515608090930192835215610497576104936104818351151590565b60405190151581529081906020820190565b0390f35b6350c83b9560e01b5f5260045260245ffd5b60206040818301928281528451809452019201905f5b8181106104cc5750505090565b82518452602093840193909201916001016104bf565b34610149576020366003190112610149576001600160a01b0361050361014d565b165f52600260205260405f206040519081602082549182815201915f5260205f20905f5b81811061054a576104938561053e818703826101c3565b604051918291826104a9565b8254845260209093019260019283019201610527565b3461014957602036600319011261014957600435610586815f52600160205260405f2090565b60018101546001600160a01b0316801561061e573303610606576004016105b56105b1825460ff1690565b1590565b6105f257805460ff191690556040514281523391907f8bc0131dae2d0cbc363614dfcf9653c32125d8fe69ea2cc1f6be9bc43019853790602090a3005b63060a06f160e01b5f52600482905260245ffd5b6316aceee960e21b5f5260048290523360245260445ffd5b6350c83b9560e01b5f52600483905260245ffd5b34610149575f3660031901126101495761064a6110e7565b5f5160206113335f395f51905f5280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b6024359060ff8216820361014957565b6044359060ff8216820361014957565b346101495760a0366003190112610149576004356001600160401b038111610149576106e9903690600401610210565b6106f1610699565b90604435906106fe610163565b916084356001600160401b0381116101495761071e903690600401610210565b825115610880576001600160a01b03841615610871578461076882610749610776946104939961111a565b6107535f54610db0565b96875f55604051958694602086019889610dd2565b03601f1981018352826101c3565b5190206108146107846101e4565b8381523360208201528260408201524260608201526107a66080820160019052565b6107b8845f52600160205260405f2090565b906080600491805184556001840160018060a01b036020830151166bffffffffffffffffffffffff60a01b82541617905560408101516002850155606081015160038501550151151591019060ff801983541691151516179055565b335f90815260026020526040902061082d908390610e2d565b60408051918252426020830152339183917f737fc62fbb05dd9fb7c799e68796a2d7c8324e310af7b656c0580e7b3cf8bf8a91a36040519081529081906020820190565b632ab4c28d60e11b5f5260045ffd5b630895f00360e01b5f5260045ffd5b34610149575f366003190112610149575f5160206113335f395f51905f52546040516001600160a01b039091168152602090f35b3461014957610120366003190112610149576004356024356001600160401b038111610149576108f7903690600401610210565b906109006106a9565b60643561090b610179565b60a4356001600160401b0381116101495761092a903690600401610210565b9060c4356001600160401b0381116101495761094a903690600401610210565b9260e4359461010435976001600160401b03891161014957610973610332993690600401610210565b97610e59565b34610149575f3660031901126101495760205f54604051908152f35b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b34610149575f366003190112610149576104936040516109da6040826101c3565b60058152640352e302e360dc1b6020820152604051918291602083526020830190610995565b34610149576020366003190112610149576004355f6080604051610a23816101a3565b8281528260208201528260408201528260608201520152805f52600160205260405f209060405191610a54836101a3565b8054835260018101546001600160a01b031660208401819052600282015460408501526003820154606085015260049091015460ff1615156080840152156104975760408051835181526020808501516001600160a01b03169082015283820151918101919091526060808401519082015260808084015115159082015260a090f35b3461014957602036600319011261014957610af061014d565b5f5160206113735f395f51905f5254906001600160401b03610b2160ff604085901c1615936001600160401b031690565b1680159081610c36575b6001149081610c2c575b159081610c23575b50610c1457610b809082610b7760016001600160401b03195f5160206113735f395f51905f525416175f5160206113735f395f51905f5255565b610bdf57610fd3565b610b8657005b610bb060ff60401b195f5160206113735f395f51905f5254165f5160206113735f395f51905f5255565b604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1005b610c0f600160401b60ff60401b195f5160206113735f395f51905f525416175f5160206113735f395f51905f5255565b610fd3565b63f92ee8a960e01b5f5260045ffd5b9050155f610b3d565b303b159150610b35565b839150610b2b565b3461014957602036600319011261014957610332610c5a61014d565b610c626110e7565b61100a565b3461014957602036600319011261014957610ca4610c9f610c8661014d565b6001600160a01b03165f90815260026020526040902090565b610d68565b5f5f5b8251811015610cfa57610cd96004610cd1610cc2848761107b565b515f52600160205260405f2090565b015460ff1690565b610ce6575b600101610ca7565b90610cf2600191610db0565b919050610cde565b50610d04906110a6565b905f5f5b8251811015610d5a57610d236004610cd1610cc2848761107b565b610d30575b600101610d08565b90610d52600191610d41848661107b565b51610d4c828861107b565b52610db0565b919050610d28565b6040518061049386826104a9565b90604051918281549182825260208201905f5260205f20925f5b818110610d975750506101f3925003836101c3565b8454835260019485019487945060209093019201610d82565b5f198114610dbe5760010190565b634e487b7160e01b5f52601160045260245ffd5b9193909260ff610dee610e16979560a0865260a0860190610995565b9516602084015260408301526001600160a01b03166060820152808303608090910152610995565b90565b634e487b7160e01b5f52603260045260245ffd5b805490600160401b8210156101be5760018201808255821015610e54575f5260205f200155565b610e19565b96939792959495610e72885f52600160205260405f2090565b60018101549097906001600160a01b03168015610fbf573303610fa757610ea06105b160048a015460ff1690565b610f93578991610768610ebf9260405194859388602086019889610dd2565b519020966002860197885403610f5857845115610880576001600160a01b03811615610871578261076891610ef7610f08958561111a565b604051958694602086019889610dd2565b5190208093556003429101557f7dac5d7787afd94b2012ccf48531da941b75ac7e9cfc8b6ea0b55cb3a93dbd1360405180610f53339542908360209093929193604081019481520152565b0390a3565b60405162461bcd60e51b815260206004820152601360248201527209e9888beac8298aa8aa6be9a92a69a82a8869606b1b6044820152606490fd5b63060a06f160e01b5f52600489905260245ffd5b6316aceee960e21b5f5260048990523360245260445ffd5b6350c83b9560e01b5f5260048a905260245ffd5b6001600160a01b03811615610ffb57610ff690610fee611269565b610c62611269565b5f8055565b639e1d143d60e01b5f5260045ffd5b6001600160a01b03168015611068575f5160206113335f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b8051821015610e545760209160051b010190565b6001600160401b0381116101be5760051b60200190565b906110b08261108f565b6110bd60405191826101c3565b82815280926110ce601f199161108f565b0190602036910137565b90816020910312610149575190565b5f5160206113335f395f51905f52546001600160a01b0316330361110757565b63118cdaa760e01b5f523360045260245ffd5b60ff166001811480156111bd575b156111a457602082511061119557602082015115611195575b6002811490811561118a575b811561117f575b5061115c5750565b604081511061117057604001511561117057565b6334eab45360e11b5f5260045ffd5b60069150145f611154565b60048114915061114d565b638485995760e01b5f5260045ffd5b6020825110156111415763a103823560e01b5f5260045ffd5b5060028114611128565b90813b15611248575f5160206113535f395f51905f5280546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28051156112305761122d91611294565b50565b50503461123957565b63b398979f60e01b5f5260045ffd5b50634c9c8ce360e01b5f9081526001600160a01b0391909116600452602490fd5b60ff5f5160206113735f395f51905f525460401c161561128557565b631afcd79f60e31b5f5260045ffd5b5f80610e1693602081519101845af43d156112d0573d916112b4836101f5565b926112c260405194856101c3565b83523d5f602085013e6112d4565b6060915b906112f857508051156112e957805190602001fd5b63d6bda27560e01b5f5260045ffd5b81511580611329575b611309575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b1561130156fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220a32afeed18c84a2bb283cbfc447d6ceec14daa1e20e856ba6fdd1173da69349964736f6c634300081b0033",
626
+ "sourceMap": "545:10066:81:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;545:10066:81;;;;;;-1:-1:-1;545:10066:81;8444:5;545:10066;;;;;;;;8444:5;545:10066;-1:-1:-1;545:10066:81;8444:21;545:10066;;;;;;;;;-1:-1:-1;545:10066:81;;;;;;-1:-1:-1;;;;;545:10066:81;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;545:10066:81;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;545:10066:81;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;545:10066:81;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;545:10066:81;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;545:10066:81;;;;;;-1:-1:-1;;545:10066:81;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;545:10066:81;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;545:10066:81;;;;;;:::i;:::-;;;-1:-1:-1;;;;;545:10066:81;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;4692:6:40;545:10066:81;4683:4:40;4675:23;;;:120;;;;545:10066:81;4658:251:40;;;2303:62:38;;:::i;:::-;545:10066:81;;-1:-1:-1;;;6156:52:40;;545:10066:81;;;;;-1:-1:-1;;;;;545:10066:81;;6156:52:40;;-1:-1:-1;;6156:52:40;;;545:10066:81;-1:-1:-1;6152:437:40;;-1:-1:-1;;;;6518:60:40;-1:-1:-1;;;;;545:10066:81;;;;;-1:-1:-1;6518:60:40;6152:437;6250:40;-1:-1:-1;;;;;;;;;;;6250:40:40;;6246:120;;6428:4;;;;:::i;:::-;545:10066:81;6246:120:40;-1:-1:-1;;;;6317:34:40;545:10066:81;;;;;-1:-1:-1;6518:60:40;6156:52;;;;;545:10066:81;6156:52:40;545:10066:81;6156:52:40;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;4658:251;4869:29;;;-1:-1:-1;4869:29:40;545:10066:81;-1:-1:-1;4869:29:40;4675:120;-1:-1:-1;;;;;;;;;;;545:10066:81;-1:-1:-1;;;;;545:10066:81;4753:42:40;;;-1:-1:-1;4675:120:40;;;545:10066:81;;;;;;-1:-1:-1;;545:10066:81;;;;5115:6:40;-1:-1:-1;;;;;545:10066:81;5106:4:40;5098:23;5094:145;;545:10066:81;;;-1:-1:-1;;;;;;;;;;;545:10066:81;;;;;;;;;-1:-1:-1;;545:10066:81;;;;;;;-1:-1:-1;545:10066:81;9963:5;545:10066;;;-1:-1:-1;545:10066:81;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;545:10066:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9989:26;9985:82;;545:10066;;;;;;;;;;;;;;;;;;;;;;;;;;;;9985:82;-1:-1:-1;;;;10038:18:81;545:10066;;;-1:-1:-1;6518:60:40;545:10066:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;545:10066:81;;;;-1:-1:-1;;;;;545:10066:81;;:::i;:::-;;-1:-1:-1;545:10066:81;8749:11;545:10066;;;-1:-1:-1;545:10066:81;;;;;;;;;;;;;;-1:-1:-1;545:10066:81;;-1:-1:-1;545:10066:81;;-1:-1:-1;545:10066:81;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;545:10066:81;;;;;;7461:12;;545:10066;;7461:5;545:10066;;;;;;;7461:12;545:10066;7488:12;;545:10066;-1:-1:-1;;;;;545:10066:81;7488:26;;7484:82;;7595:10;7579:26;7575:104;;545:10066;7693:12;7692:13;545:10066;;;;;;;;7692:13;;545:10066;7692:13;7688:76;;545:10066;;-1:-1:-1;;545:10066:81;;;;;7840:15;545:10066;;7595:10;;;7810:46;;545:10066;;7810:46;545:10066;7688:76;-1:-1:-1;;;;7728:25:81;545:10066;;;;;-1:-1:-1;6518:60:40;7575:104:81;-1:-1:-1;;;;7628:40:81;545:10066;;;;7595:10;545:10066;;;-1:-1:-1;6518:60:40;7484:82:81;-1:-1:-1;;;;7537:18:81;545:10066;;;;;-1:-1:-1;6518:60:40;545:10066:81;;;;;;-1:-1:-1;;545:10066:81;;;;2303:62:38;;:::i;:::-;-1:-1:-1;;;;;;;;;;;545:10066:81;;-1:-1:-1;;;;;;545:10066:81;;;;;;;-1:-1:-1;;;;;545:10066:81;3975:40:38;545:10066:81;;3975:40:38;545:10066:81;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;545:10066:81;;;;;;-1:-1:-1;;;;;545:10066:81;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;545:10066:81;;;;;;;;;;;:::i;:::-;;;2840:26;2836:53;;-1:-1:-1;;;;;545:10066:81;;2903:28;2899:64;;3043:4;3131:61;3043:4;;3131:61;3043:4;545:10066;3043:4;;:::i;:::-;3067:12;-1:-1:-1;545:10066:81;3067:12;:::i;:::-;545:10066;;-1:-1:-1;545:10066:81;;;3131:61;;;545:10066;3131:61;;;;;:::i;:::-;;545:10066;;3131:61;;;;;;:::i;:::-;545:10066;3108:94;;545:10066;;;:::i;:::-;;;;3287:10;545:10066;3233:177;;545:10066;3233:177;545:10066;3233:177;;545:10066;3356:15;545:10066;3233:177;;545:10066;3233:177;545:10066;3233:177;;3395:4;545:10066;;;3233:177;3421:12;;545:10066;;7461:5;545:10066;;;;;;;3421:12;545:10066;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3287:10;545:10066;;;;3452:11;545:10066;;;;;3452:35;;3287:10;;3452:35;:::i;:::-;545:10066;;;;;;3356:15;545:10066;;;;3287:10;;545:10066;;3503:55;;;545:10066;;;;;;;;;;;;;2899:64;2940:23;;;-1:-1:-1;2940:23:81;545:10066;-1:-1:-1;2940:23:81;2836:53;2875:14;;;-1:-1:-1;2875:14:81;545:10066;-1:-1:-1;2875:14:81;545:10066;;;;;;-1:-1:-1;;545:10066:81;;;;-1:-1:-1;;;;;;;;;;;545:10066:81;;;-1:-1:-1;;;;;545:10066:81;;;;;;;;;;;;;;-1:-1:-1;;545:10066:81;;;;;;;;-1:-1:-1;;;;;545:10066:81;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;:::i;:::-;;;-1:-1:-1;;;;;545:10066:81;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;545:10066:81;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;545:10066:81;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;-1:-1:-1;;545:10066:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;545:10066:81;;;;;;;;-1:-1:-1;;545:10066:81;;;;:::o;:::-;;;;;;-1:-1:-1;;545:10066:81;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;545:10066:81;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;545:10066:81;;;;;;-1:-1:-1;545:10066:81;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;545:10066:81;8101:5;545:10066;;;-1:-1:-1;545:10066:81;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;545:10066:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8127:26;8123:82;;545:10066;;;;;;;;;;;;-1:-1:-1;;;;;545:10066:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;545:10066:81;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;545:10066:81;;-1:-1:-1;;;;;545:10066:81;;;;;;;7692:13;545:10066;-1:-1:-1;;;;;545:10066:81;;;;;4726:16:39;;:34;;;;545:10066:81;4805:1:39;4790:16;:50;;;;545:10066:81;4855:13:39;:30;;;;545:10066:81;4851:91:39;;;5055:1;4951:18;;;545:10066:81;-1:-1:-1;;;;;545:10066:81;-1:-1:-1;;;;;;;;;;;545:10066:81;;;-1:-1:-1;;;;;;;;;;;545:10066:81;;4951:18:39;4979:67;;5055:1;:::i;:::-;5066:101;;545:10066:81;5066:101:39;5100:23;-1:-1:-1;;;545:10066:81;-1:-1:-1;;;;;;;;;;;545:10066:81;;-1:-1:-1;;;;;;;;;;;545:10066:81;;5100:23:39;545:10066:81;;4805:1:39;545:10066:81;;5142:14:39;;545:10066:81;;5142:14:39;545:10066:81;4979:67:39;5013:22;-1:-1:-1;;;;;;545:10066:81;-1:-1:-1;;;;;;;;;;;545:10066:81;;;-1:-1:-1;;;;;;;;;;;545:10066:81;;5013:22:39;5055:1;:::i;4851:91::-;4908:23;;;-1:-1:-1;4908:23:39;545:10066:81;-1:-1:-1;4908:23:39;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:39;;4726:34;;;-1:-1:-1;4726:34:39;;545:10066:81;;;;;;-1:-1:-1;;545:10066:81;;;;2357:1:38;545:10066:81;;:::i;:::-;2303:62:38;;:::i;:::-;2357:1;:::i;545:10066:81:-;;;;;;-1:-1:-1;;545:10066:81;;;;;9104:17;545:10066;;:::i;:::-;-1:-1:-1;;;;;545:10066:81;;;;;3452:11;545:10066;;;;;;;9104:17;545:10066;:::i;:::-;-1:-1:-1;;9236:3:81;545:10066;;9214:20;;;;;9259:28;545:10066;9259:19;9265:12;;;;:::i;:::-;545:10066;;;7461:5;545:10066;;;;;;;9259:19;:28;545:10066;;;;;9259:28;9255:80;;9236:3;545:10066;;9199:13;;9255:80;9307:13;;545:10066;9307:13;;:::i;:::-;9255:80;;;;;9214:20;;9411:26;9214:20;9411:26;:::i;:::-;9447:24;-1:-1:-1;;9523:3:81;545:10066;;9501:20;;;;;9546:28;545:10066;9546:19;9552:12;;;;:::i;9546:28::-;9542:140;;9523:3;545:10066;;9486:13;;9542:140;9623:12;9653:14;545:10066;9623:12;;;;;:::i;:::-;545:10066;9594:41;;;;:::i;:::-;545:10066;9653:14;:::i;:::-;9542:140;;;;;9501:20;545:10066;;;;9501:20;545:10066;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;545:10066:81;;-1:-1:-1;545:10066:81;;-1:-1:-1;545:10066:81;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;545:10066:81;;;;;;;;;-1:-1:-1;;545:10066:81;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;;;545:10066:81;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;545:10066:81;;;;;;;;;;;;;;;;-1:-1:-1;545:10066:81;;-1:-1:-1;545:10066:81;;;:::o;:::-;;:::i;4133:1495::-;;;;;;;;4461:12;;545:10066;;7461:5;545:10066;;;;;;;4461:12;545:10066;4488:12;;545:10066;4488:12;;545:10066;-1:-1:-1;;;;;545:10066:81;4488:26;;4484:57;;4571:10;4555:26;4551:91;;4656:13;545:10066;4657:12;;;545:10066;;;;;4656:13;4652:51;;545:10066;;4762:164;;545:10066;;;4762:164;;;;;;;;;;:::i;:::-;545:10066;4739:197;;4968:11;;;;545:10066;;;4950:29;4946:64;;545:10066;;5025:29;5021:56;;-1:-1:-1;;;;;545:10066:81;;5091:28;5087:64;;5230:7;5293:164;5230:7;;5293:164;5230:7;;;:::i;:::-;545:10066;;5293:164;;;4762;5293;;;;;:::i;:::-;545:10066;5270:197;;545:10066;;;5512:17;5532:15;5512:17;;545:10066;5563:58;545:10066;;4571:10;5563:58;4571:10;5532:15;;5563:58;;545:10066;;;;;;;;;;;;;;;5563:58;;;;4133:1495::o;4946:64::-;545:10066;;-1:-1:-1;;;4981:29:81;;545:10066;4657:12;4981:29;;545:10066;;;;;;-1:-1:-1;;;545:10066:81;;;;;;4981:29;4652:51;-1:-1:-1;;;;4678:25:81;545:10066;;;;;-1:-1:-1;6518:60:40;4551:91:81;-1:-1:-1;;;;4602:40:81;545:10066;;;;4571:10;545:10066;;;-1:-1:-1;6518:60:40;4484:57:81;-1:-1:-1;;;;4523:18:81;545:10066;;;;;-1:-1:-1;6518:60:40;2044:226:81;-1:-1:-1;;;;;545:10066:81;;2119:26;2115:86;;6961:1:39;6893:76;;;:::i;:::-;;;:::i;6961:1::-;2143::81;545:10066;;2044:226::o;2115:86::-;2168:22;;;2143:1;2168:22;;2143:1;2168:22;3405:215:38;-1:-1:-1;;;;;545:10066:81;3489:22:38;;3485:91;;-1:-1:-1;;;;;;;;;;;545:10066:81;;-1:-1:-1;;;;;;545:10066:81;;;;;;;-1:-1:-1;;;;;545:10066:81;3975:40:38;-1:-1:-1;;3975:40:38;3405:215::o;3485:91::-;3534:31;;;3509:1;3534:31;3509:1;3534:31;545:10066:81;;3509:1:38;3534:31;545:10066:81;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;545:10066:81;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;2658:162:38:-;-1:-1:-1;;;;;;;;;;;545:10066:81;-1:-1:-1;;;;;545:10066:81;966:10:41;2717:23:38;2713:101;;2658:162::o;2713:101::-;2763:40;;;-1:-1:-1;2763:40:38;966:10:41;2763:40:38;545:10066:81;;-1:-1:-1;2763:40:38;5792:1490:81;545:10066;;5951:1;5940:12;;:28;;;;5792:1490;5936:766;;;6002:2;545:10066;;5988:16;5984:83;;6002:2;6167:77;;;6261:17;6257:84;;5936:766;6787:1;6776:12;;:28;;;;;5936:766;6776:44;;;;5936:766;6772:504;;;5792:1490;:::o;6772:504::-;6854:2;545:10066;;6840:16;6836:166;;6854:2;7095:73;;7185:22;7181:85;;5792:1490::o;7181:85::-;6970:17;;;-1:-1:-1;7234:17:81;;-1:-1:-1;7234:17:81;6776:44;6819:1;6808:12;;;6776:44;;;:28;6803:1;6792:12;;;-1:-1:-1;6776:28:81;;6257:84;6031:21;;;-1:-1:-1;6305:21:81;;-1:-1:-1;6305:21:81;5936:766;6450:2;545:10066;;6436:16;6432:78;5936:766;6432:78;6479:16;;;;;;;;5940:28;5956:12;5967:1;5956:12;;5940:28;;2264:344:50;;1748:29;;:34;1744:119;;-1:-1:-1;;;;;;;;;;;545:10066:81;;-1:-1:-1;;;;;;545:10066:81;-1:-1:-1;;;;;545:10066:81;;;;;;;;2407:36:50;-1:-1:-1;;2407:36:50;545:10066:81;;2458:15:50;:11;;2489:53;;;:::i;:::-;;2264:344::o;2454:148::-;6163:9;;;6159:70;;2264:344::o;6159:70::-;6199:19;;;1781:1;6199:19;;1781:1;6199:19;1744:119;-1:-1:-1;;;;1781:1:50;1805:47;;;-1:-1:-1;;;;;545:10066:81;;;;1805:47:50;545:10066:81;;;1805:47:50;7084:141:39;545:10066:81;-1:-1:-1;;;;;;;;;;;545:10066:81;;;;7150:18:39;7146:73;;7084:141::o;7146:73::-;7191:17;;;-1:-1:-1;7191:17:39;;-1:-1:-1;7191:17:39;3900:253:55;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;545:10066:81;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;4049:25:55;;545:10066:81;;;4091:55:55;:::i;545:10066:81:-;;;4421:582:55;;4593:8;;-1:-1:-1;545:10066:81;;5674:21:55;:17;;5799:158;;;;;;5670:354;5994:19;;;5694:1;5994:19;;5694:1;5994:19;4589:408;545:10066:81;;4841:22:55;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;-1:-1:-1;;;4862:1:55;4917:24;;;-1:-1:-1;;;;;545:10066:81;;;;4917:24:55;545:10066:81;;;4917:24:55;4841:49;4867:18;;;:23;4841:49;",
627
+ "linkReferences": {},
628
+ "immutableReferences": {
629
+ "41794": [
630
+ {
631
+ "start": 658,
632
+ "length": 32
633
+ },
634
+ {
635
+ "start": 956,
636
+ "length": 32
637
+ }
638
+ ]
639
+ }
640
+ },
641
+ "methodIdentifiers": {
642
+ "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc",
643
+ "createJob(string,uint8,uint256,address,bytes)": "893de3c5",
644
+ "deleteJob(uint256)": "6358bb8c",
645
+ "getJob(uint256)": "bf22c457",
646
+ "getJobOwner(uint256)": "147f5511",
647
+ "getTotalJobsCount()": "a87a8732",
648
+ "getUserActiveJobIds(address)": "ff7b49a0",
649
+ "getUserJobIds(address)": "5523d8dc",
650
+ "initialize(address)": "c4d66de8",
651
+ "isJobActive(uint256)": "53bc234f",
652
+ "owner()": "8da5cb5b",
653
+ "proxiableUUID()": "52d1902d",
654
+ "renounceOwnership()": "715018a6",
655
+ "transferOwnership(address)": "f2fde38b",
656
+ "updateJob(uint256,string,uint8,uint256,address,bytes,string,uint256,bytes)": "91461d0a",
657
+ "upgradeToAndCall(address,bytes)": "4f1ef286"
658
+ },
659
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EmptyJobName\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidJobData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidJobParameters\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTargetContract\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"}],\"name\":\"JobAlreadyInactive\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"}],\"name\":\"JobNotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingIpfsHash\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingTimeInterval\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"UnauthorizedJobAccess\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"jobOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"jobHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"JobCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"jobOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"JobDeleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"jobOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"newJobHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"JobUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"jobName\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"jobType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"timeFrame\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"targetContract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"createJob\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"}],\"name\":\"deleteJob\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"}],\"name\":\"getJob\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"jobOwner\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"jobHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdatedAt\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"internalType\":\"struct JobRegistry.Job\",\"name\":\"job\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"}],\"name\":\"getJobOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalJobsCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserActiveJobIds\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"activeJobIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getUserJobIds\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"jobIds\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"}],\"name\":\"isJobActive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"jobId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"oldJobName\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"jobType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"oldTimeFrame\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"targetContract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"oldData\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"newJobName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"newTimeFrame\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"newData\",\"type\":\"bytes\"}],\"name\":\"updateJob\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"A UUPS upgradeable contract for managing job registrations\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Constructor that disables initializers to prevent implementation contract from being initialized\"},\"createJob(string,uint8,uint256,address,bytes)\":{\"details\":\"Create a new job\",\"params\":{\"data\":\"Additional data for the job\",\"jobName\":\"The name of the job\",\"jobType\":\"The type/category of the job\",\"targetContract\":\"The address of the target contract\",\"timeFrame\":\"The timeframe for job execution\"},\"returns\":{\"jobId\":\"The ID of the created job\"}},\"deleteJob(uint256)\":{\"details\":\"Delete (deactivate) a job\",\"params\":{\"jobId\":\"The ID of the job to delete\"}},\"getJob(uint256)\":{\"details\":\"Get job details by ID\",\"params\":{\"jobId\":\"The ID of the job\"},\"returns\":{\"job\":\"The job details\"}},\"getJobOwner(uint256)\":{\"details\":\"Get the owner of a job\",\"params\":{\"jobId\":\"The ID of the job\"},\"returns\":{\"_0\":\"jobOwner The address of the job owner\"}},\"getTotalJobsCount()\":{\"details\":\"Get the total number of jobs created\",\"returns\":{\"count\":\"The total number of jobs\"}},\"getUserActiveJobIds(address)\":{\"details\":\"Get all active job IDs for a user\",\"params\":{\"user\":\"The address of the user\"},\"returns\":{\"activeJobIds\":\"Array of active job IDs owned by the user\"}},\"getUserJobIds(address)\":{\"details\":\"Get all job IDs for a user\",\"params\":{\"user\":\"The address of the user\"},\"returns\":{\"jobIds\":\"Array of job IDs owned by the user\"}},\"initialize(address)\":{\"details\":\"Initialize the contract\",\"params\":{\"initialOwner\":\"The address that will be set as the initial owner\"}},\"isJobActive(uint256)\":{\"details\":\"Check if a job is active\",\"params\":{\"jobId\":\"The ID of the job\"},\"returns\":{\"isActive\":\"True if the job is active, false otherwise\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateJob(uint256,string,uint8,uint256,address,bytes,string,uint256,bytes)\":{\"details\":\"Update an existing job\",\"params\":{\"jobId\":\"The ID of the job to update\",\"jobType\":\"The old type/category of the job\",\"newData\":\"The new additional data for the job\",\"newJobName\":\"The new name of the job\",\"newTimeFrame\":\"The new timeframe for job execution\",\"oldData\":\"The old additional data for the job\",\"oldJobName\":\"The old name of the job\",\"oldTimeFrame\":\"The old timeframe for job execution\",\"targetContract\":\"The old address of the target contract\"}},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"JobRegistry\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"This contract allows users to create, update, and delete jobs with associated metadata\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/JobRegistry.sol\":\"JobRegistry\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@createx/=lib/createx/\",\":@eigenlayer-contracts/=lib/othentic-core-contracts/lib/eigenlayer-contracts/src/contracts/\",\":@eigenlayer-middleware/=lib/othentic-core-contracts/lib/eigenlayer-middleware/src/\",\":@eigenlayer/=lib/othentic-core-contracts/lib/eigenlayer-contracts/src/\",\":@interop/=lib/interop-lib/src/\",\":@layer-zero/=lib/othentic-core-contracts/lib/LayerZero-v2/packages/layerzero-v2/evm/\",\":@layerzero-v2/=lib/layerzero-v2/packages/layerzero-v2/evm/\",\":@layerzerolabs/lz-evm-messagelib-v2/=lib/othentic-core-contracts/lib/LayerZero-v2/messagelib/\",\":@layerzerolabs/lz-evm-oapp-v2/=lib/othentic-core-contracts/lib/LayerZero-v2/oapp/\",\":@layerzerolabs/lz-evm-protocol-v2/=lib/layerzero-v2/packages/layerzero-v2/evm/protocol/\",\":@openzeppelin-contracts/=lib/othentic-core-contracts/lib/openzeppelin-contracts/\",\":@openzeppelin-upgradeable/=lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/\",\":@openzeppelin-upgrades-v4.9.0/=lib/othentic-core-contracts/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":@openzeppelin-upgrades/=lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/\",\":@openzeppelin-v4.9.0/=lib/othentic-core-contracts/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":@openzeppelin/=lib/othentic-core-contracts/lib/openzeppelin-contracts/\",\":@othentic-core-contracts/=lib/othentic-core-contracts/src/\",\":@othentic-script/=lib/othentic-core-contracts/script/\",\":@othentic-test/=lib/othentic-core-contracts/test/\",\":@othentic/=lib/othentic-core-contracts/src/\",\":@solady/=lib/interop-lib/lib/solady/src/\",\":LayerZero-v2/=/\",\":ds-test/=lib/othentic-core-contracts/lib/eigenlayer-middleware/lib/ds-test/src/\",\":eigenlayer-contracts/=lib/othentic-core-contracts/lib/eigenlayer-contracts/\",\":eigenlayer-middleware/=lib/othentic-core-contracts/lib/eigenlayer-middleware/\",\":erc4626-tests/=lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/othentic-core-contracts/lib/forge-std/src/\",\":halmos-cheatcodes/=lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/\",\":interop-lib/=lib/interop-lib/\",\":layerzero-v2/=lib/layerzero-v2/\",\":openzeppelin-contracts-upgradeable-v4.9.0/=lib/othentic-core-contracts/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":openzeppelin-contracts-upgradeable/=lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts-v4.9.0/=lib/othentic-core-contracts/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":openzeppelin-contracts/=lib/othentic-core-contracts/lib/openzeppelin-contracts/\",\":openzeppelin/=lib/othentic-core-contracts/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/contracts/\",\":othentic-core-contracts/=lib/othentic-core-contracts/src/\",\":solady/=lib/solady/src/\",\":solidity-bytes-utils/contracts/=lib/othentic-core-contracts/src/lz/util/\"],\"viaIR\":true},\"sources\":{\"lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x490959f972df54829d0ffacb71fa025429d9b7b9ebd118f418b41e9c0041ef73\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1883bc1a16a88922abccd415d1b41caf00c38ee581ae3e5976018d9c17d2c4b7\",\"dweb:/ipfs/QmP2vzQM8RR8ce675KhuZEaUicAPRMUbPLwBsTpxByvn18\"]},\"lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xf5c04a8bf51755681f7db413095377dfd1a05b98b6326fb1da0e9a297057caf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f57690465f41860906cf84e6970baaacae9d05b8311674812e6b502bb510441e\",\"dweb:/ipfs/Qme5swSUieatWond1BHyZaEztdLAPu67KcoQTeY4pH5wVd\"]},\"lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x9b072c98655328b9680664b222ad2c3523e156a6ab7eb3dc5430f56fc98887b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://548693f119d09097a20adc025bd3d831d8b49469feb7ad3d802bbc8ab416e47e\",\"dweb:/ipfs/QmVPf8kJocZRivMSaD696uFUbeaCcMvHsTTRJoGeWgqNi9\"]},\"lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0xe484b91c24d898c84aebae9c06263523a27582e6c97909d9ea71a4e15dc44fa2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ca1ffd7dbe0cf24fae85132e0b33bb26f6ff7935effd0d73f1f67e13bff4032\",\"dweb:/ipfs/QmetqL3cbjn5pR4vVtnkWZBYH5LPvEsPoVrd6bDwGe2ZfJ\"]},\"lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0xc452b8c0ab5a57e6ca49c4fbe6aead2460c2f8d60d58bc60af68e559b7ca1179\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0980b3b9e8cd9d9a0f2ae848f0f36a85158887e6fd961142a13b11299ae7f30a\",\"dweb:/ipfs/QmUrmDji3NR2V3YezV8xHSS3wjeBKq16FL7cHdBCnwLjKd\"]},\"lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xb38a945832ca380d4ed08d91a6ebaf03fd66ea02057e574384fae3abf3ebc136\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f933ce488ce79c1366d44dca530b1cc4db25fa1380ae691effdd5e3eec8fd8a5\",\"dweb:/ipfs/Qmdyk8pSJasc9pZaRFRdmtX85BCs5faQ8xUKiWnzaEkFEt\"]},\"src/JobRegistry.sol\":{\"keccak256\":\"0x648c8579b106a7b6d5a957fbe2f01cf9cfa1ce35d5adb8ee2b54623f9352b976\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7f7472582a1e6696760aa9cab9fde7127678c72b2a26c0bdb280180058abb49\",\"dweb:/ipfs/QmZAhzV3j1zp8UGx9uucjjFn68FD7pR7VNmRoQHdPbuuoV\"]}},\"version\":1}",
660
+ "metadata": {
661
+ "compiler": {
662
+ "version": "0.8.27+commit.40a35a09"
663
+ },
664
+ "language": "Solidity",
665
+ "output": {
666
+ "abi": [
667
+ {
668
+ "inputs": [],
669
+ "stateMutability": "nonpayable",
670
+ "type": "constructor"
671
+ },
672
+ {
673
+ "inputs": [
674
+ {
675
+ "internalType": "address",
676
+ "name": "target",
677
+ "type": "address"
678
+ }
679
+ ],
680
+ "type": "error",
681
+ "name": "AddressEmptyCode"
682
+ },
683
+ {
684
+ "inputs": [
685
+ {
686
+ "internalType": "address",
687
+ "name": "implementation",
688
+ "type": "address"
689
+ }
690
+ ],
691
+ "type": "error",
692
+ "name": "ERC1967InvalidImplementation"
693
+ },
694
+ {
695
+ "inputs": [],
696
+ "type": "error",
697
+ "name": "ERC1967NonPayable"
698
+ },
699
+ {
700
+ "inputs": [],
701
+ "type": "error",
702
+ "name": "EmptyJobName"
703
+ },
704
+ {
705
+ "inputs": [],
706
+ "type": "error",
707
+ "name": "FailedCall"
708
+ },
709
+ {
710
+ "inputs": [],
711
+ "type": "error",
712
+ "name": "InvalidInitialization"
713
+ },
714
+ {
715
+ "inputs": [],
716
+ "type": "error",
717
+ "name": "InvalidJobData"
718
+ },
719
+ {
720
+ "inputs": [],
721
+ "type": "error",
722
+ "name": "InvalidJobParameters"
723
+ },
724
+ {
725
+ "inputs": [],
726
+ "type": "error",
727
+ "name": "InvalidTargetContract"
728
+ },
729
+ {
730
+ "inputs": [
731
+ {
732
+ "internalType": "uint256",
733
+ "name": "jobId",
734
+ "type": "uint256"
735
+ }
736
+ ],
737
+ "type": "error",
738
+ "name": "JobAlreadyInactive"
739
+ },
740
+ {
741
+ "inputs": [
742
+ {
743
+ "internalType": "uint256",
744
+ "name": "jobId",
745
+ "type": "uint256"
746
+ }
747
+ ],
748
+ "type": "error",
749
+ "name": "JobNotFound"
750
+ },
751
+ {
752
+ "inputs": [],
753
+ "type": "error",
754
+ "name": "MissingIpfsHash"
755
+ },
756
+ {
757
+ "inputs": [],
758
+ "type": "error",
759
+ "name": "MissingTimeInterval"
760
+ },
761
+ {
762
+ "inputs": [],
763
+ "type": "error",
764
+ "name": "NotInitializing"
765
+ },
766
+ {
767
+ "inputs": [
768
+ {
769
+ "internalType": "address",
770
+ "name": "owner",
771
+ "type": "address"
772
+ }
773
+ ],
774
+ "type": "error",
775
+ "name": "OwnableInvalidOwner"
776
+ },
777
+ {
778
+ "inputs": [
779
+ {
780
+ "internalType": "address",
781
+ "name": "account",
782
+ "type": "address"
783
+ }
784
+ ],
785
+ "type": "error",
786
+ "name": "OwnableUnauthorizedAccount"
787
+ },
788
+ {
789
+ "inputs": [],
790
+ "type": "error",
791
+ "name": "UUPSUnauthorizedCallContext"
792
+ },
793
+ {
794
+ "inputs": [
795
+ {
796
+ "internalType": "bytes32",
797
+ "name": "slot",
798
+ "type": "bytes32"
799
+ }
800
+ ],
801
+ "type": "error",
802
+ "name": "UUPSUnsupportedProxiableUUID"
803
+ },
804
+ {
805
+ "inputs": [
806
+ {
807
+ "internalType": "uint256",
808
+ "name": "jobId",
809
+ "type": "uint256"
810
+ },
811
+ {
812
+ "internalType": "address",
813
+ "name": "caller",
814
+ "type": "address"
815
+ }
816
+ ],
817
+ "type": "error",
818
+ "name": "UnauthorizedJobAccess"
819
+ },
820
+ {
821
+ "inputs": [
822
+ {
823
+ "internalType": "uint64",
824
+ "name": "version",
825
+ "type": "uint64",
826
+ "indexed": false
827
+ }
828
+ ],
829
+ "type": "event",
830
+ "name": "Initialized",
831
+ "anonymous": false
832
+ },
833
+ {
834
+ "inputs": [
835
+ {
836
+ "internalType": "uint256",
837
+ "name": "jobId",
838
+ "type": "uint256",
839
+ "indexed": true
840
+ },
841
+ {
842
+ "internalType": "address",
843
+ "name": "jobOwner",
844
+ "type": "address",
845
+ "indexed": true
846
+ },
847
+ {
848
+ "internalType": "bytes32",
849
+ "name": "jobHash",
850
+ "type": "bytes32",
851
+ "indexed": false
852
+ },
853
+ {
854
+ "internalType": "uint256",
855
+ "name": "timestamp",
856
+ "type": "uint256",
857
+ "indexed": false
858
+ }
859
+ ],
860
+ "type": "event",
861
+ "name": "JobCreated",
862
+ "anonymous": false
863
+ },
864
+ {
865
+ "inputs": [
866
+ {
867
+ "internalType": "uint256",
868
+ "name": "jobId",
869
+ "type": "uint256",
870
+ "indexed": true
871
+ },
872
+ {
873
+ "internalType": "address",
874
+ "name": "jobOwner",
875
+ "type": "address",
876
+ "indexed": true
877
+ },
878
+ {
879
+ "internalType": "uint256",
880
+ "name": "timestamp",
881
+ "type": "uint256",
882
+ "indexed": false
883
+ }
884
+ ],
885
+ "type": "event",
886
+ "name": "JobDeleted",
887
+ "anonymous": false
888
+ },
889
+ {
890
+ "inputs": [
891
+ {
892
+ "internalType": "uint256",
893
+ "name": "jobId",
894
+ "type": "uint256",
895
+ "indexed": true
896
+ },
897
+ {
898
+ "internalType": "address",
899
+ "name": "jobOwner",
900
+ "type": "address",
901
+ "indexed": true
902
+ },
903
+ {
904
+ "internalType": "bytes32",
905
+ "name": "newJobHash",
906
+ "type": "bytes32",
907
+ "indexed": false
908
+ },
909
+ {
910
+ "internalType": "uint256",
911
+ "name": "timestamp",
912
+ "type": "uint256",
913
+ "indexed": false
914
+ }
915
+ ],
916
+ "type": "event",
917
+ "name": "JobUpdated",
918
+ "anonymous": false
919
+ },
920
+ {
921
+ "inputs": [
922
+ {
923
+ "internalType": "address",
924
+ "name": "previousOwner",
925
+ "type": "address",
926
+ "indexed": true
927
+ },
928
+ {
929
+ "internalType": "address",
930
+ "name": "newOwner",
931
+ "type": "address",
932
+ "indexed": true
933
+ }
934
+ ],
935
+ "type": "event",
936
+ "name": "OwnershipTransferred",
937
+ "anonymous": false
938
+ },
939
+ {
940
+ "inputs": [
941
+ {
942
+ "internalType": "address",
943
+ "name": "implementation",
944
+ "type": "address",
945
+ "indexed": true
946
+ }
947
+ ],
948
+ "type": "event",
949
+ "name": "Upgraded",
950
+ "anonymous": false
951
+ },
952
+ {
953
+ "inputs": [],
954
+ "stateMutability": "view",
955
+ "type": "function",
956
+ "name": "UPGRADE_INTERFACE_VERSION",
957
+ "outputs": [
958
+ {
959
+ "internalType": "string",
960
+ "name": "",
961
+ "type": "string"
962
+ }
963
+ ]
964
+ },
965
+ {
966
+ "inputs": [
967
+ {
968
+ "internalType": "string",
969
+ "name": "jobName",
970
+ "type": "string"
971
+ },
972
+ {
973
+ "internalType": "uint8",
974
+ "name": "jobType",
975
+ "type": "uint8"
976
+ },
977
+ {
978
+ "internalType": "uint256",
979
+ "name": "timeFrame",
980
+ "type": "uint256"
981
+ },
982
+ {
983
+ "internalType": "address",
984
+ "name": "targetContract",
985
+ "type": "address"
986
+ },
987
+ {
988
+ "internalType": "bytes",
989
+ "name": "data",
990
+ "type": "bytes"
991
+ }
992
+ ],
993
+ "stateMutability": "nonpayable",
994
+ "type": "function",
995
+ "name": "createJob",
996
+ "outputs": [
997
+ {
998
+ "internalType": "uint256",
999
+ "name": "jobId",
1000
+ "type": "uint256"
1001
+ }
1002
+ ]
1003
+ },
1004
+ {
1005
+ "inputs": [
1006
+ {
1007
+ "internalType": "uint256",
1008
+ "name": "jobId",
1009
+ "type": "uint256"
1010
+ }
1011
+ ],
1012
+ "stateMutability": "nonpayable",
1013
+ "type": "function",
1014
+ "name": "deleteJob"
1015
+ },
1016
+ {
1017
+ "inputs": [
1018
+ {
1019
+ "internalType": "uint256",
1020
+ "name": "jobId",
1021
+ "type": "uint256"
1022
+ }
1023
+ ],
1024
+ "stateMutability": "view",
1025
+ "type": "function",
1026
+ "name": "getJob",
1027
+ "outputs": [
1028
+ {
1029
+ "internalType": "struct JobRegistry.Job",
1030
+ "name": "job",
1031
+ "type": "tuple",
1032
+ "components": [
1033
+ {
1034
+ "internalType": "uint256",
1035
+ "name": "jobId",
1036
+ "type": "uint256"
1037
+ },
1038
+ {
1039
+ "internalType": "address",
1040
+ "name": "jobOwner",
1041
+ "type": "address"
1042
+ },
1043
+ {
1044
+ "internalType": "bytes32",
1045
+ "name": "jobHash",
1046
+ "type": "bytes32"
1047
+ },
1048
+ {
1049
+ "internalType": "uint256",
1050
+ "name": "lastUpdatedAt",
1051
+ "type": "uint256"
1052
+ },
1053
+ {
1054
+ "internalType": "bool",
1055
+ "name": "isActive",
1056
+ "type": "bool"
1057
+ }
1058
+ ]
1059
+ }
1060
+ ]
1061
+ },
1062
+ {
1063
+ "inputs": [
1064
+ {
1065
+ "internalType": "uint256",
1066
+ "name": "jobId",
1067
+ "type": "uint256"
1068
+ }
1069
+ ],
1070
+ "stateMutability": "view",
1071
+ "type": "function",
1072
+ "name": "getJobOwner",
1073
+ "outputs": [
1074
+ {
1075
+ "internalType": "address",
1076
+ "name": "",
1077
+ "type": "address"
1078
+ }
1079
+ ]
1080
+ },
1081
+ {
1082
+ "inputs": [],
1083
+ "stateMutability": "view",
1084
+ "type": "function",
1085
+ "name": "getTotalJobsCount",
1086
+ "outputs": [
1087
+ {
1088
+ "internalType": "uint256",
1089
+ "name": "count",
1090
+ "type": "uint256"
1091
+ }
1092
+ ]
1093
+ },
1094
+ {
1095
+ "inputs": [
1096
+ {
1097
+ "internalType": "address",
1098
+ "name": "user",
1099
+ "type": "address"
1100
+ }
1101
+ ],
1102
+ "stateMutability": "view",
1103
+ "type": "function",
1104
+ "name": "getUserActiveJobIds",
1105
+ "outputs": [
1106
+ {
1107
+ "internalType": "uint256[]",
1108
+ "name": "activeJobIds",
1109
+ "type": "uint256[]"
1110
+ }
1111
+ ]
1112
+ },
1113
+ {
1114
+ "inputs": [
1115
+ {
1116
+ "internalType": "address",
1117
+ "name": "user",
1118
+ "type": "address"
1119
+ }
1120
+ ],
1121
+ "stateMutability": "view",
1122
+ "type": "function",
1123
+ "name": "getUserJobIds",
1124
+ "outputs": [
1125
+ {
1126
+ "internalType": "uint256[]",
1127
+ "name": "jobIds",
1128
+ "type": "uint256[]"
1129
+ }
1130
+ ]
1131
+ },
1132
+ {
1133
+ "inputs": [
1134
+ {
1135
+ "internalType": "address",
1136
+ "name": "initialOwner",
1137
+ "type": "address"
1138
+ }
1139
+ ],
1140
+ "stateMutability": "nonpayable",
1141
+ "type": "function",
1142
+ "name": "initialize"
1143
+ },
1144
+ {
1145
+ "inputs": [
1146
+ {
1147
+ "internalType": "uint256",
1148
+ "name": "jobId",
1149
+ "type": "uint256"
1150
+ }
1151
+ ],
1152
+ "stateMutability": "view",
1153
+ "type": "function",
1154
+ "name": "isJobActive",
1155
+ "outputs": [
1156
+ {
1157
+ "internalType": "bool",
1158
+ "name": "isActive",
1159
+ "type": "bool"
1160
+ }
1161
+ ]
1162
+ },
1163
+ {
1164
+ "inputs": [],
1165
+ "stateMutability": "view",
1166
+ "type": "function",
1167
+ "name": "owner",
1168
+ "outputs": [
1169
+ {
1170
+ "internalType": "address",
1171
+ "name": "",
1172
+ "type": "address"
1173
+ }
1174
+ ]
1175
+ },
1176
+ {
1177
+ "inputs": [],
1178
+ "stateMutability": "view",
1179
+ "type": "function",
1180
+ "name": "proxiableUUID",
1181
+ "outputs": [
1182
+ {
1183
+ "internalType": "bytes32",
1184
+ "name": "",
1185
+ "type": "bytes32"
1186
+ }
1187
+ ]
1188
+ },
1189
+ {
1190
+ "inputs": [],
1191
+ "stateMutability": "nonpayable",
1192
+ "type": "function",
1193
+ "name": "renounceOwnership"
1194
+ },
1195
+ {
1196
+ "inputs": [
1197
+ {
1198
+ "internalType": "address",
1199
+ "name": "newOwner",
1200
+ "type": "address"
1201
+ }
1202
+ ],
1203
+ "stateMutability": "nonpayable",
1204
+ "type": "function",
1205
+ "name": "transferOwnership"
1206
+ },
1207
+ {
1208
+ "inputs": [
1209
+ {
1210
+ "internalType": "uint256",
1211
+ "name": "jobId",
1212
+ "type": "uint256"
1213
+ },
1214
+ {
1215
+ "internalType": "string",
1216
+ "name": "oldJobName",
1217
+ "type": "string"
1218
+ },
1219
+ {
1220
+ "internalType": "uint8",
1221
+ "name": "jobType",
1222
+ "type": "uint8"
1223
+ },
1224
+ {
1225
+ "internalType": "uint256",
1226
+ "name": "oldTimeFrame",
1227
+ "type": "uint256"
1228
+ },
1229
+ {
1230
+ "internalType": "address",
1231
+ "name": "targetContract",
1232
+ "type": "address"
1233
+ },
1234
+ {
1235
+ "internalType": "bytes",
1236
+ "name": "oldData",
1237
+ "type": "bytes"
1238
+ },
1239
+ {
1240
+ "internalType": "string",
1241
+ "name": "newJobName",
1242
+ "type": "string"
1243
+ },
1244
+ {
1245
+ "internalType": "uint256",
1246
+ "name": "newTimeFrame",
1247
+ "type": "uint256"
1248
+ },
1249
+ {
1250
+ "internalType": "bytes",
1251
+ "name": "newData",
1252
+ "type": "bytes"
1253
+ }
1254
+ ],
1255
+ "stateMutability": "nonpayable",
1256
+ "type": "function",
1257
+ "name": "updateJob"
1258
+ },
1259
+ {
1260
+ "inputs": [
1261
+ {
1262
+ "internalType": "address",
1263
+ "name": "newImplementation",
1264
+ "type": "address"
1265
+ },
1266
+ {
1267
+ "internalType": "bytes",
1268
+ "name": "data",
1269
+ "type": "bytes"
1270
+ }
1271
+ ],
1272
+ "stateMutability": "payable",
1273
+ "type": "function",
1274
+ "name": "upgradeToAndCall"
1275
+ }
1276
+ ],
1277
+ "devdoc": {
1278
+ "kind": "dev",
1279
+ "methods": {
1280
+ "constructor": {
1281
+ "details": "Constructor that disables initializers to prevent implementation contract from being initialized"
1282
+ },
1283
+ "createJob(string,uint8,uint256,address,bytes)": {
1284
+ "details": "Create a new job",
1285
+ "params": {
1286
+ "data": "Additional data for the job",
1287
+ "jobName": "The name of the job",
1288
+ "jobType": "The type/category of the job",
1289
+ "targetContract": "The address of the target contract",
1290
+ "timeFrame": "The timeframe for job execution"
1291
+ },
1292
+ "returns": {
1293
+ "jobId": "The ID of the created job"
1294
+ }
1295
+ },
1296
+ "deleteJob(uint256)": {
1297
+ "details": "Delete (deactivate) a job",
1298
+ "params": {
1299
+ "jobId": "The ID of the job to delete"
1300
+ }
1301
+ },
1302
+ "getJob(uint256)": {
1303
+ "details": "Get job details by ID",
1304
+ "params": {
1305
+ "jobId": "The ID of the job"
1306
+ },
1307
+ "returns": {
1308
+ "job": "The job details"
1309
+ }
1310
+ },
1311
+ "getJobOwner(uint256)": {
1312
+ "details": "Get the owner of a job",
1313
+ "params": {
1314
+ "jobId": "The ID of the job"
1315
+ },
1316
+ "returns": {
1317
+ "_0": "jobOwner The address of the job owner"
1318
+ }
1319
+ },
1320
+ "getTotalJobsCount()": {
1321
+ "details": "Get the total number of jobs created",
1322
+ "returns": {
1323
+ "count": "The total number of jobs"
1324
+ }
1325
+ },
1326
+ "getUserActiveJobIds(address)": {
1327
+ "details": "Get all active job IDs for a user",
1328
+ "params": {
1329
+ "user": "The address of the user"
1330
+ },
1331
+ "returns": {
1332
+ "activeJobIds": "Array of active job IDs owned by the user"
1333
+ }
1334
+ },
1335
+ "getUserJobIds(address)": {
1336
+ "details": "Get all job IDs for a user",
1337
+ "params": {
1338
+ "user": "The address of the user"
1339
+ },
1340
+ "returns": {
1341
+ "jobIds": "Array of job IDs owned by the user"
1342
+ }
1343
+ },
1344
+ "initialize(address)": {
1345
+ "details": "Initialize the contract",
1346
+ "params": {
1347
+ "initialOwner": "The address that will be set as the initial owner"
1348
+ }
1349
+ },
1350
+ "isJobActive(uint256)": {
1351
+ "details": "Check if a job is active",
1352
+ "params": {
1353
+ "jobId": "The ID of the job"
1354
+ },
1355
+ "returns": {
1356
+ "isActive": "True if the job is active, false otherwise"
1357
+ }
1358
+ },
1359
+ "owner()": {
1360
+ "details": "Returns the address of the current owner."
1361
+ },
1362
+ "proxiableUUID()": {
1363
+ "details": "Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."
1364
+ },
1365
+ "renounceOwnership()": {
1366
+ "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
1367
+ },
1368
+ "transferOwnership(address)": {
1369
+ "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
1370
+ },
1371
+ "updateJob(uint256,string,uint8,uint256,address,bytes,string,uint256,bytes)": {
1372
+ "details": "Update an existing job",
1373
+ "params": {
1374
+ "jobId": "The ID of the job to update",
1375
+ "jobType": "The old type/category of the job",
1376
+ "newData": "The new additional data for the job",
1377
+ "newJobName": "The new name of the job",
1378
+ "newTimeFrame": "The new timeframe for job execution",
1379
+ "oldData": "The old additional data for the job",
1380
+ "oldJobName": "The old name of the job",
1381
+ "oldTimeFrame": "The old timeframe for job execution",
1382
+ "targetContract": "The old address of the target contract"
1383
+ }
1384
+ },
1385
+ "upgradeToAndCall(address,bytes)": {
1386
+ "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall",
1387
+ "details": "Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."
1388
+ }
1389
+ },
1390
+ "version": 1
1391
+ },
1392
+ "userdoc": {
1393
+ "kind": "user",
1394
+ "methods": {},
1395
+ "version": 1
1396
+ }
1397
+ },
1398
+ "settings": {
1399
+ "remappings": [
1400
+ "@createx/=lib/createx/",
1401
+ "@eigenlayer-contracts/=lib/othentic-core-contracts/lib/eigenlayer-contracts/src/contracts/",
1402
+ "@eigenlayer-middleware/=lib/othentic-core-contracts/lib/eigenlayer-middleware/src/",
1403
+ "@eigenlayer/=lib/othentic-core-contracts/lib/eigenlayer-contracts/src/",
1404
+ "@interop/=lib/interop-lib/src/",
1405
+ "@layer-zero/=lib/othentic-core-contracts/lib/LayerZero-v2/packages/layerzero-v2/evm/",
1406
+ "@layerzero-v2/=lib/layerzero-v2/packages/layerzero-v2/evm/",
1407
+ "@layerzerolabs/lz-evm-messagelib-v2/=lib/othentic-core-contracts/lib/LayerZero-v2/messagelib/",
1408
+ "@layerzerolabs/lz-evm-oapp-v2/=lib/othentic-core-contracts/lib/LayerZero-v2/oapp/",
1409
+ "@layerzerolabs/lz-evm-protocol-v2/=lib/layerzero-v2/packages/layerzero-v2/evm/protocol/",
1410
+ "@openzeppelin-contracts/=lib/othentic-core-contracts/lib/openzeppelin-contracts/",
1411
+ "@openzeppelin-upgradeable/=lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/",
1412
+ "@openzeppelin-upgrades-v4.9.0/=lib/othentic-core-contracts/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/",
1413
+ "@openzeppelin-upgrades/=lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/",
1414
+ "@openzeppelin-v4.9.0/=lib/othentic-core-contracts/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/",
1415
+ "@openzeppelin/=lib/othentic-core-contracts/lib/openzeppelin-contracts/",
1416
+ "@othentic-core-contracts/=lib/othentic-core-contracts/src/",
1417
+ "@othentic-script/=lib/othentic-core-contracts/script/",
1418
+ "@othentic-test/=lib/othentic-core-contracts/test/",
1419
+ "@othentic/=lib/othentic-core-contracts/src/",
1420
+ "@solady/=lib/interop-lib/lib/solady/src/",
1421
+ "LayerZero-v2/=/",
1422
+ "ds-test/=lib/othentic-core-contracts/lib/eigenlayer-middleware/lib/ds-test/src/",
1423
+ "eigenlayer-contracts/=lib/othentic-core-contracts/lib/eigenlayer-contracts/",
1424
+ "eigenlayer-middleware/=lib/othentic-core-contracts/lib/eigenlayer-middleware/",
1425
+ "erc4626-tests/=lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
1426
+ "forge-std/=lib/othentic-core-contracts/lib/forge-std/src/",
1427
+ "halmos-cheatcodes/=lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/",
1428
+ "interop-lib/=lib/interop-lib/",
1429
+ "layerzero-v2/=lib/layerzero-v2/",
1430
+ "openzeppelin-contracts-upgradeable-v4.9.0/=lib/othentic-core-contracts/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/",
1431
+ "openzeppelin-contracts-upgradeable/=lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/",
1432
+ "openzeppelin-contracts-v4.9.0/=lib/othentic-core-contracts/lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/",
1433
+ "openzeppelin-contracts/=lib/othentic-core-contracts/lib/openzeppelin-contracts/",
1434
+ "openzeppelin/=lib/othentic-core-contracts/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/contracts/",
1435
+ "othentic-core-contracts/=lib/othentic-core-contracts/src/",
1436
+ "solady/=lib/solady/src/",
1437
+ "solidity-bytes-utils/contracts/=lib/othentic-core-contracts/src/lz/util/"
1438
+ ],
1439
+ "optimizer": {
1440
+ "enabled": true,
1441
+ "runs": 200
1442
+ },
1443
+ "metadata": {
1444
+ "bytecodeHash": "ipfs"
1445
+ },
1446
+ "compilationTarget": {
1447
+ "src/JobRegistry.sol": "JobRegistry"
1448
+ },
1449
+ "evmVersion": "cancun",
1450
+ "libraries": {},
1451
+ "viaIR": true
1452
+ },
1453
+ "sources": {
1454
+ "lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol": {
1455
+ "keccak256": "0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a",
1456
+ "urls": [
1457
+ "bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6",
1458
+ "dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"
1459
+ ],
1460
+ "license": "MIT"
1461
+ },
1462
+ "lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": {
1463
+ "keccak256": "0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b",
1464
+ "urls": [
1465
+ "bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609",
1466
+ "dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"
1467
+ ],
1468
+ "license": "MIT"
1469
+ },
1470
+ "lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol": {
1471
+ "keccak256": "0x490959f972df54829d0ffacb71fa025429d9b7b9ebd118f418b41e9c0041ef73",
1472
+ "urls": [
1473
+ "bzz-raw://1883bc1a16a88922abccd415d1b41caf00c38ee581ae3e5976018d9c17d2c4b7",
1474
+ "dweb:/ipfs/QmP2vzQM8RR8ce675KhuZEaUicAPRMUbPLwBsTpxByvn18"
1475
+ ],
1476
+ "license": "MIT"
1477
+ },
1478
+ "lib/othentic-core-contracts/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": {
1479
+ "keccak256": "0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397",
1480
+ "urls": [
1481
+ "bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9",
1482
+ "dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"
1483
+ ],
1484
+ "license": "MIT"
1485
+ },
1486
+ "lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol": {
1487
+ "keccak256": "0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486",
1488
+ "urls": [
1489
+ "bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d",
1490
+ "dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"
1491
+ ],
1492
+ "license": "MIT"
1493
+ },
1494
+ "lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol": {
1495
+ "keccak256": "0xf5c04a8bf51755681f7db413095377dfd1a05b98b6326fb1da0e9a297057caf0",
1496
+ "urls": [
1497
+ "bzz-raw://f57690465f41860906cf84e6970baaacae9d05b8311674812e6b502bb510441e",
1498
+ "dweb:/ipfs/Qme5swSUieatWond1BHyZaEztdLAPu67KcoQTeY4pH5wVd"
1499
+ ],
1500
+ "license": "MIT"
1501
+ },
1502
+ "lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Utils.sol": {
1503
+ "keccak256": "0x9b072c98655328b9680664b222ad2c3523e156a6ab7eb3dc5430f56fc98887b8",
1504
+ "urls": [
1505
+ "bzz-raw://548693f119d09097a20adc025bd3d831d8b49469feb7ad3d802bbc8ab416e47e",
1506
+ "dweb:/ipfs/QmVPf8kJocZRivMSaD696uFUbeaCcMvHsTTRJoGeWgqNi9"
1507
+ ],
1508
+ "license": "MIT"
1509
+ },
1510
+ "lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol": {
1511
+ "keccak256": "0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c",
1512
+ "urls": [
1513
+ "bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa",
1514
+ "dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"
1515
+ ],
1516
+ "license": "MIT"
1517
+ },
1518
+ "lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol": {
1519
+ "keccak256": "0xe484b91c24d898c84aebae9c06263523a27582e6c97909d9ea71a4e15dc44fa2",
1520
+ "urls": [
1521
+ "bzz-raw://0ca1ffd7dbe0cf24fae85132e0b33bb26f6ff7935effd0d73f1f67e13bff4032",
1522
+ "dweb:/ipfs/QmetqL3cbjn5pR4vVtnkWZBYH5LPvEsPoVrd6bDwGe2ZfJ"
1523
+ ],
1524
+ "license": "MIT"
1525
+ },
1526
+ "lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/utils/Errors.sol": {
1527
+ "keccak256": "0xc452b8c0ab5a57e6ca49c4fbe6aead2460c2f8d60d58bc60af68e559b7ca1179",
1528
+ "urls": [
1529
+ "bzz-raw://0980b3b9e8cd9d9a0f2ae848f0f36a85158887e6fd961142a13b11299ae7f30a",
1530
+ "dweb:/ipfs/QmUrmDji3NR2V3YezV8xHSS3wjeBKq16FL7cHdBCnwLjKd"
1531
+ ],
1532
+ "license": "MIT"
1533
+ },
1534
+ "lib/othentic-core-contracts/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol": {
1535
+ "keccak256": "0xb38a945832ca380d4ed08d91a6ebaf03fd66ea02057e574384fae3abf3ebc136",
1536
+ "urls": [
1537
+ "bzz-raw://f933ce488ce79c1366d44dca530b1cc4db25fa1380ae691effdd5e3eec8fd8a5",
1538
+ "dweb:/ipfs/Qmdyk8pSJasc9pZaRFRdmtX85BCs5faQ8xUKiWnzaEkFEt"
1539
+ ],
1540
+ "license": "MIT"
1541
+ },
1542
+ "src/JobRegistry.sol": {
1543
+ "keccak256": "0x648c8579b106a7b6d5a957fbe2f01cf9cfa1ce35d5adb8ee2b54623f9352b976",
1544
+ "urls": [
1545
+ "bzz-raw://b7f7472582a1e6696760aa9cab9fde7127678c72b2a26c0bdb280180058abb49",
1546
+ "dweb:/ipfs/QmZAhzV3j1zp8UGx9uucjjFn68FD7pR7VNmRoQHdPbuuoV"
1547
+ ],
1548
+ "license": "MIT"
1549
+ }
1550
+ },
1551
+ "version": 1
1552
+ },
1553
+ "id": 81
1554
+ }