@o2exchange/contracts 0.1.9 → 0.1.10

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 (65) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +4 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/margin-account/MarginAccount.d.ts +38 -0
  6. package/dist/margin-account/MarginAccount.d.ts.map +1 -0
  7. package/dist/margin-account/MarginAccount.js +47 -0
  8. package/dist/margin-account/MarginAccount.js.map +1 -0
  9. package/dist/margin-account/MarginAccountFactory.d.ts +9 -0
  10. package/dist/margin-account/MarginAccountFactory.d.ts.map +1 -0
  11. package/dist/margin-account/MarginAccountFactory.js +21 -0
  12. package/dist/margin-account/MarginAccountFactory.js.map +1 -0
  13. package/dist/margin-account/index.d.ts +3 -0
  14. package/dist/margin-account/index.d.ts.map +1 -0
  15. package/dist/margin-account/index.js +10 -0
  16. package/dist/margin-account/index.js.map +1 -0
  17. package/dist/margin-account-oracle/MarginAccountOracle.d.ts +161 -0
  18. package/dist/margin-account-oracle/MarginAccountOracle.d.ts.map +1 -0
  19. package/dist/margin-account-oracle/MarginAccountOracle.js +1013 -0
  20. package/dist/margin-account-oracle/MarginAccountOracle.js.map +1 -0
  21. package/dist/margin-account-oracle/MarginAccountOracleFactory.d.ts +9 -0
  22. package/dist/margin-account-oracle/MarginAccountOracleFactory.d.ts.map +1 -0
  23. package/dist/margin-account-oracle/MarginAccountOracleFactory.js +21 -0
  24. package/dist/margin-account-oracle/MarginAccountOracleFactory.js.map +1 -0
  25. package/dist/margin-account-oracle/common.d.ts +24 -0
  26. package/dist/margin-account-oracle/common.d.ts.map +1 -0
  27. package/dist/margin-account-oracle/common.js +3 -0
  28. package/dist/margin-account-oracle/common.js.map +1 -0
  29. package/dist/margin-account-oracle/index.d.ts +3 -0
  30. package/dist/margin-account-oracle/index.d.ts.map +1 -0
  31. package/dist/margin-account-oracle/index.js +10 -0
  32. package/dist/margin-account-oracle/index.js.map +1 -0
  33. package/dist/risk-manager/RiskManager.d.ts +193 -0
  34. package/dist/risk-manager/RiskManager.d.ts.map +1 -0
  35. package/dist/risk-manager/RiskManager.js +721 -0
  36. package/dist/risk-manager/RiskManager.js.map +1 -0
  37. package/dist/risk-manager/RiskManagerFactory.d.ts +9 -0
  38. package/dist/risk-manager/RiskManagerFactory.d.ts.map +1 -0
  39. package/dist/risk-manager/RiskManagerFactory.js +21 -0
  40. package/dist/risk-manager/RiskManagerFactory.js.map +1 -0
  41. package/dist/risk-manager/common.d.ts +24 -0
  42. package/dist/risk-manager/common.d.ts.map +1 -0
  43. package/dist/risk-manager/common.js +3 -0
  44. package/dist/risk-manager/common.js.map +1 -0
  45. package/dist/risk-manager/index.d.ts +3 -0
  46. package/dist/risk-manager/index.d.ts.map +1 -0
  47. package/dist/risk-manager/index.js +10 -0
  48. package/dist/risk-manager/index.js.map +1 -0
  49. package/dist/risk-manager-proxy/RiskManagerProxy.d.ts +192 -0
  50. package/dist/risk-manager-proxy/RiskManagerProxy.d.ts.map +1 -0
  51. package/dist/risk-manager-proxy/RiskManagerProxy.js +850 -0
  52. package/dist/risk-manager-proxy/RiskManagerProxy.js.map +1 -0
  53. package/dist/risk-manager-proxy/RiskManagerProxyFactory.d.ts +9 -0
  54. package/dist/risk-manager-proxy/RiskManagerProxyFactory.d.ts.map +1 -0
  55. package/dist/risk-manager-proxy/RiskManagerProxyFactory.js +21 -0
  56. package/dist/risk-manager-proxy/RiskManagerProxyFactory.js.map +1 -0
  57. package/dist/risk-manager-proxy/common.d.ts +24 -0
  58. package/dist/risk-manager-proxy/common.d.ts.map +1 -0
  59. package/dist/risk-manager-proxy/common.js +3 -0
  60. package/dist/risk-manager-proxy/common.js.map +1 -0
  61. package/dist/risk-manager-proxy/index.d.ts +3 -0
  62. package/dist/risk-manager-proxy/index.d.ts.map +1 -0
  63. package/dist/risk-manager-proxy/index.js +10 -0
  64. package/dist/risk-manager-proxy/index.js.map +1 -0
  65. package/package.json +17 -1
@@ -0,0 +1,1013 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* eslint-disable max-classes-per-file */
3
+ /* eslint-disable @typescript-eslint/no-unused-vars */
4
+ /* eslint-disable @typescript-eslint/consistent-type-imports */
5
+ /*
6
+ Fuels version: 0.103.0
7
+ */
8
+ import { Contract as __Contract, Interface } from "fuels";
9
+ export var AccessErrorInput;
10
+ (function (AccessErrorInput) {
11
+ AccessErrorInput["NotOwner"] = "NotOwner";
12
+ })(AccessErrorInput || (AccessErrorInput = {}));
13
+ ;
14
+ export var AccessErrorOutput;
15
+ (function (AccessErrorOutput) {
16
+ AccessErrorOutput["NotOwner"] = "NotOwner";
17
+ })(AccessErrorOutput || (AccessErrorOutput = {}));
18
+ ;
19
+ export var InitializationErrorInput;
20
+ (function (InitializationErrorInput) {
21
+ InitializationErrorInput["CannotReinitialized"] = "CannotReinitialized";
22
+ })(InitializationErrorInput || (InitializationErrorInput = {}));
23
+ ;
24
+ export var InitializationErrorOutput;
25
+ (function (InitializationErrorOutput) {
26
+ InitializationErrorOutput["CannotReinitialized"] = "CannotReinitialized";
27
+ })(InitializationErrorOutput || (InitializationErrorOutput = {}));
28
+ ;
29
+ export var PauseErrorInput;
30
+ (function (PauseErrorInput) {
31
+ PauseErrorInput["Paused"] = "Paused";
32
+ PauseErrorInput["NotPaused"] = "NotPaused";
33
+ })(PauseErrorInput || (PauseErrorInput = {}));
34
+ ;
35
+ export var PauseErrorOutput;
36
+ (function (PauseErrorOutput) {
37
+ PauseErrorOutput["Paused"] = "Paused";
38
+ PauseErrorOutput["NotPaused"] = "NotPaused";
39
+ })(PauseErrorOutput || (PauseErrorOutput = {}));
40
+ ;
41
+ const abi = {
42
+ "programType": "contract",
43
+ "specVersion": "1.2",
44
+ "encodingVersion": "1",
45
+ "concreteTypes": [
46
+ {
47
+ "type": "()",
48
+ "concreteTypeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
49
+ },
50
+ {
51
+ "type": "bool",
52
+ "concreteTypeId": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903"
53
+ },
54
+ {
55
+ "type": "enum ownership::errors::InitializationError",
56
+ "concreteTypeId": "b1fddf488ccb9e63d11888b2750bbd1280a1ae1c49f2d6637fd4cf1e930d1468",
57
+ "metadataTypeId": 1
58
+ },
59
+ {
60
+ "type": "enum pausable::errors::PauseError",
61
+ "concreteTypeId": "455b46a49016f5c03c18ce54b969ea3d0d33c9b00263b3dcc36aa8da27558b8a",
62
+ "metadataTypeId": 2
63
+ },
64
+ {
65
+ "type": "enum src5::AccessError",
66
+ "concreteTypeId": "f1247475d0d1466599267010f088190f8664dd31663a40c5d5e525d8e64b995d",
67
+ "metadataTypeId": 3
68
+ },
69
+ {
70
+ "type": "enum src5::State",
71
+ "concreteTypeId": "287a382c1e0b1f11d12a422e77a248d27761327cd17515cc6e6369d528cf31ca",
72
+ "metadataTypeId": 4
73
+ },
74
+ {
75
+ "type": "enum std::identity::Identity",
76
+ "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335",
77
+ "metadataTypeId": 5
78
+ },
79
+ {
80
+ "type": "enum std::option::Option<struct std::contract_id::ContractId>",
81
+ "concreteTypeId": "0d79387ad3bacdc3b7aad9da3a96f4ce60d9a1b6002df254069ad95a3931d5c8",
82
+ "metadataTypeId": 6,
83
+ "typeArguments": [
84
+ "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54"
85
+ ]
86
+ },
87
+ {
88
+ "type": "str",
89
+ "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a"
90
+ },
91
+ {
92
+ "type": "struct ownership::events::OwnershipSet",
93
+ "concreteTypeId": "8c0d2488561c35a28ef795bb8bcc4c43999cdd1e3ecbd10c226e0a68660c54d4",
94
+ "metadataTypeId": 8
95
+ },
96
+ {
97
+ "type": "struct ownership::events::OwnershipTransferred",
98
+ "concreteTypeId": "a2a2643e0252b510328c0323a0ea60724fb4cb3309a2322ab31b27566ff9a79d",
99
+ "metadataTypeId": 9
100
+ },
101
+ {
102
+ "type": "struct std::contract_id::ContractId",
103
+ "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54",
104
+ "metadataTypeId": 11
105
+ }
106
+ ],
107
+ "metadataTypes": [
108
+ {
109
+ "type": "b256",
110
+ "metadataTypeId": 0
111
+ },
112
+ {
113
+ "type": "enum ownership::errors::InitializationError",
114
+ "metadataTypeId": 1,
115
+ "components": [
116
+ {
117
+ "name": "CannotReinitialized",
118
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "type": "enum pausable::errors::PauseError",
124
+ "metadataTypeId": 2,
125
+ "components": [
126
+ {
127
+ "name": "Paused",
128
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
129
+ },
130
+ {
131
+ "name": "NotPaused",
132
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
133
+ }
134
+ ]
135
+ },
136
+ {
137
+ "type": "enum src5::AccessError",
138
+ "metadataTypeId": 3,
139
+ "components": [
140
+ {
141
+ "name": "NotOwner",
142
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
143
+ }
144
+ ]
145
+ },
146
+ {
147
+ "type": "enum src5::State",
148
+ "metadataTypeId": 4,
149
+ "components": [
150
+ {
151
+ "name": "Uninitialized",
152
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
153
+ },
154
+ {
155
+ "name": "Initialized",
156
+ "typeId": 5
157
+ },
158
+ {
159
+ "name": "Revoked",
160
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
161
+ }
162
+ ]
163
+ },
164
+ {
165
+ "type": "enum std::identity::Identity",
166
+ "metadataTypeId": 5,
167
+ "components": [
168
+ {
169
+ "name": "Address",
170
+ "typeId": 10
171
+ },
172
+ {
173
+ "name": "ContractId",
174
+ "typeId": 11
175
+ }
176
+ ]
177
+ },
178
+ {
179
+ "type": "enum std::option::Option",
180
+ "metadataTypeId": 6,
181
+ "components": [
182
+ {
183
+ "name": "None",
184
+ "typeId": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d"
185
+ },
186
+ {
187
+ "name": "Some",
188
+ "typeId": 7
189
+ }
190
+ ],
191
+ "typeParameters": [
192
+ 7
193
+ ]
194
+ },
195
+ {
196
+ "type": "generic T",
197
+ "metadataTypeId": 7
198
+ },
199
+ {
200
+ "type": "struct ownership::events::OwnershipSet",
201
+ "metadataTypeId": 8,
202
+ "components": [
203
+ {
204
+ "name": "new_owner",
205
+ "typeId": 5
206
+ }
207
+ ]
208
+ },
209
+ {
210
+ "type": "struct ownership::events::OwnershipTransferred",
211
+ "metadataTypeId": 9,
212
+ "components": [
213
+ {
214
+ "name": "new_owner",
215
+ "typeId": 5
216
+ },
217
+ {
218
+ "name": "previous_owner",
219
+ "typeId": 5
220
+ }
221
+ ]
222
+ },
223
+ {
224
+ "type": "struct std::address::Address",
225
+ "metadataTypeId": 10,
226
+ "components": [
227
+ {
228
+ "name": "bits",
229
+ "typeId": 0
230
+ }
231
+ ]
232
+ },
233
+ {
234
+ "type": "struct std::contract_id::ContractId",
235
+ "metadataTypeId": 11,
236
+ "components": [
237
+ {
238
+ "name": "bits",
239
+ "typeId": 0
240
+ }
241
+ ]
242
+ }
243
+ ],
244
+ "functions": [
245
+ {
246
+ "name": "get_margin_account_impl",
247
+ "inputs": [],
248
+ "output": "0d79387ad3bacdc3b7aad9da3a96f4ce60d9a1b6002df254069ad95a3931d5c8",
249
+ "attributes": [
250
+ {
251
+ "name": "doc-comment",
252
+ "arguments": [
253
+ " Retrieves the approved implementation for a specific margin account."
254
+ ]
255
+ },
256
+ {
257
+ "name": "doc-comment",
258
+ "arguments": [
259
+ " Margin accounts query this to check if an upgrade is available."
260
+ ]
261
+ },
262
+ {
263
+ "name": "doc-comment",
264
+ "arguments": [
265
+ ""
266
+ ]
267
+ },
268
+ {
269
+ "name": "doc-comment",
270
+ "arguments": [
271
+ " # Arguments"
272
+ ]
273
+ },
274
+ {
275
+ "name": "doc-comment",
276
+ "arguments": [
277
+ ""
278
+ ]
279
+ },
280
+ {
281
+ "name": "doc-comment",
282
+ "arguments": [
283
+ " * `contract_id` - The ContractId of the margin account checking for upgrades"
284
+ ]
285
+ },
286
+ {
287
+ "name": "doc-comment",
288
+ "arguments": [
289
+ ""
290
+ ]
291
+ },
292
+ {
293
+ "name": "doc-comment",
294
+ "arguments": [
295
+ " # Returns"
296
+ ]
297
+ },
298
+ {
299
+ "name": "doc-comment",
300
+ "arguments": [
301
+ ""
302
+ ]
303
+ },
304
+ {
305
+ "name": "doc-comment",
306
+ "arguments": [
307
+ " * `Option<ContractId>` - The approved implementation if an upgrade exists, None otherwise"
308
+ ]
309
+ },
310
+ {
311
+ "name": "doc-comment",
312
+ "arguments": [
313
+ ""
314
+ ]
315
+ },
316
+ {
317
+ "name": "doc-comment",
318
+ "arguments": [
319
+ " # Storage Access"
320
+ ]
321
+ },
322
+ {
323
+ "name": "doc-comment",
324
+ "arguments": [
325
+ ""
326
+ ]
327
+ },
328
+ {
329
+ "name": "doc-comment",
330
+ "arguments": [
331
+ " - Reads: Approved implementation mapping for the given contract"
332
+ ]
333
+ },
334
+ {
335
+ "name": "doc-comment",
336
+ "arguments": [
337
+ ""
338
+ ]
339
+ },
340
+ {
341
+ "name": "doc-comment",
342
+ "arguments": [
343
+ " # Usage"
344
+ ]
345
+ },
346
+ {
347
+ "name": "doc-comment",
348
+ "arguments": [
349
+ ""
350
+ ]
351
+ },
352
+ {
353
+ "name": "doc-comment",
354
+ "arguments": [
355
+ " Margin accounts call this method through `check_upgrade()` to determine"
356
+ ]
357
+ },
358
+ {
359
+ "name": "doc-comment",
360
+ "arguments": [
361
+ " if they should upgrade to a new implementation."
362
+ ]
363
+ },
364
+ {
365
+ "name": "storage",
366
+ "arguments": [
367
+ "read"
368
+ ]
369
+ }
370
+ ]
371
+ },
372
+ {
373
+ "name": "initialize",
374
+ "inputs": [
375
+ {
376
+ "name": "owner",
377
+ "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335"
378
+ },
379
+ {
380
+ "name": "margin_account_impl",
381
+ "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54"
382
+ }
383
+ ],
384
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
385
+ "attributes": [
386
+ {
387
+ "name": "doc-comment",
388
+ "arguments": [
389
+ " Initializes the oracle contract with an owner and initial implementation."
390
+ ]
391
+ },
392
+ {
393
+ "name": "doc-comment",
394
+ "arguments": [
395
+ " This method can only be called once during contract deployment."
396
+ ]
397
+ },
398
+ {
399
+ "name": "doc-comment",
400
+ "arguments": [
401
+ ""
402
+ ]
403
+ },
404
+ {
405
+ "name": "doc-comment",
406
+ "arguments": [
407
+ " # Arguments"
408
+ ]
409
+ },
410
+ {
411
+ "name": "doc-comment",
412
+ "arguments": [
413
+ ""
414
+ ]
415
+ },
416
+ {
417
+ "name": "doc-comment",
418
+ "arguments": [
419
+ " * `owner` - The Identity who will own and control the oracle"
420
+ ]
421
+ },
422
+ {
423
+ "name": "doc-comment",
424
+ "arguments": [
425
+ " * `margin_account_impl` - The initial approved margin account implementation"
426
+ ]
427
+ },
428
+ {
429
+ "name": "doc-comment",
430
+ "arguments": [
431
+ ""
432
+ ]
433
+ },
434
+ {
435
+ "name": "doc-comment",
436
+ "arguments": [
437
+ " # Storage Access"
438
+ ]
439
+ },
440
+ {
441
+ "name": "doc-comment",
442
+ "arguments": [
443
+ ""
444
+ ]
445
+ },
446
+ {
447
+ "name": "doc-comment",
448
+ "arguments": [
449
+ " - Reads: Checks if already initialized"
450
+ ]
451
+ },
452
+ {
453
+ "name": "doc-comment",
454
+ "arguments": [
455
+ " - Writes: Sets owner and initial implementation"
456
+ ]
457
+ },
458
+ {
459
+ "name": "doc-comment",
460
+ "arguments": [
461
+ ""
462
+ ]
463
+ },
464
+ {
465
+ "name": "doc-comment",
466
+ "arguments": [
467
+ " # Security"
468
+ ]
469
+ },
470
+ {
471
+ "name": "doc-comment",
472
+ "arguments": [
473
+ ""
474
+ ]
475
+ },
476
+ {
477
+ "name": "doc-comment",
478
+ "arguments": [
479
+ " - Can only be called once (initialization check)"
480
+ ]
481
+ },
482
+ {
483
+ "name": "doc-comment",
484
+ "arguments": [
485
+ " - Validates that the implementation contract exists"
486
+ ]
487
+ },
488
+ {
489
+ "name": "doc-comment",
490
+ "arguments": [
491
+ ""
492
+ ]
493
+ },
494
+ {
495
+ "name": "doc-comment",
496
+ "arguments": [
497
+ " # Reverts"
498
+ ]
499
+ },
500
+ {
501
+ "name": "doc-comment",
502
+ "arguments": [
503
+ ""
504
+ ]
505
+ },
506
+ {
507
+ "name": "doc-comment",
508
+ "arguments": [
509
+ " - If oracle is already initialized"
510
+ ]
511
+ },
512
+ {
513
+ "name": "doc-comment",
514
+ "arguments": [
515
+ " - If margin_account_impl doesn't exist as a deployed contract"
516
+ ]
517
+ },
518
+ {
519
+ "name": "doc-comment",
520
+ "arguments": [
521
+ " - If owner is zero address"
522
+ ]
523
+ },
524
+ {
525
+ "name": "storage",
526
+ "arguments": [
527
+ "read",
528
+ "write"
529
+ ]
530
+ }
531
+ ]
532
+ },
533
+ {
534
+ "name": "set_margin_account_impl",
535
+ "inputs": [
536
+ {
537
+ "name": "contract_id",
538
+ "concreteTypeId": "29c10735d33b5159f0c71ee1dbd17b36a3e69e41f00fab0d42e1bd9f428d8a54"
539
+ }
540
+ ],
541
+ "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903",
542
+ "attributes": [
543
+ {
544
+ "name": "doc-comment",
545
+ "arguments": [
546
+ " Sets an approved implementation for a margin account upgrade."
547
+ ]
548
+ },
549
+ {
550
+ "name": "doc-comment",
551
+ "arguments": [
552
+ " Only authorized entities (owner/admin) should be able to call this."
553
+ ]
554
+ },
555
+ {
556
+ "name": "doc-comment",
557
+ "arguments": [
558
+ ""
559
+ ]
560
+ },
561
+ {
562
+ "name": "doc-comment",
563
+ "arguments": [
564
+ " # Arguments"
565
+ ]
566
+ },
567
+ {
568
+ "name": "doc-comment",
569
+ "arguments": [
570
+ ""
571
+ ]
572
+ },
573
+ {
574
+ "name": "doc-comment",
575
+ "arguments": [
576
+ " * `contract_id` - The new implementation ContractId to approve"
577
+ ]
578
+ },
579
+ {
580
+ "name": "doc-comment",
581
+ "arguments": [
582
+ ""
583
+ ]
584
+ },
585
+ {
586
+ "name": "doc-comment",
587
+ "arguments": [
588
+ " # Returns"
589
+ ]
590
+ },
591
+ {
592
+ "name": "doc-comment",
593
+ "arguments": [
594
+ ""
595
+ ]
596
+ },
597
+ {
598
+ "name": "doc-comment",
599
+ "arguments": [
600
+ " * `bool` - True if the implementation was successfully set, false otherwise"
601
+ ]
602
+ },
603
+ {
604
+ "name": "doc-comment",
605
+ "arguments": [
606
+ ""
607
+ ]
608
+ },
609
+ {
610
+ "name": "doc-comment",
611
+ "arguments": [
612
+ " # Storage Access"
613
+ ]
614
+ },
615
+ {
616
+ "name": "doc-comment",
617
+ "arguments": [
618
+ ""
619
+ ]
620
+ },
621
+ {
622
+ "name": "doc-comment",
623
+ "arguments": [
624
+ " - Reads: Verifies caller authorization (should check owner/admin status)"
625
+ ]
626
+ },
627
+ {
628
+ "name": "doc-comment",
629
+ "arguments": [
630
+ " - Writes: Updates the approved implementation registry"
631
+ ]
632
+ },
633
+ {
634
+ "name": "doc-comment",
635
+ "arguments": [
636
+ ""
637
+ ]
638
+ },
639
+ {
640
+ "name": "doc-comment",
641
+ "arguments": [
642
+ " # Security"
643
+ ]
644
+ },
645
+ {
646
+ "name": "doc-comment",
647
+ "arguments": [
648
+ ""
649
+ ]
650
+ },
651
+ {
652
+ "name": "doc-comment",
653
+ "arguments": [
654
+ " - Should verify the caller is the contract owner or authorized admin"
655
+ ]
656
+ },
657
+ {
658
+ "name": "doc-comment",
659
+ "arguments": [
660
+ " - Should validate the new implementation contract exists and is valid"
661
+ ]
662
+ },
663
+ {
664
+ "name": "doc-comment",
665
+ "arguments": [
666
+ " - May implement additional checks like contract bytecode verification"
667
+ ]
668
+ },
669
+ {
670
+ "name": "doc-comment",
671
+ "arguments": [
672
+ ""
673
+ ]
674
+ },
675
+ {
676
+ "name": "doc-comment",
677
+ "arguments": [
678
+ " # Events"
679
+ ]
680
+ },
681
+ {
682
+ "name": "doc-comment",
683
+ "arguments": [
684
+ ""
685
+ ]
686
+ },
687
+ {
688
+ "name": "doc-comment",
689
+ "arguments": [
690
+ " - Should emit an event when a new implementation is approved"
691
+ ]
692
+ },
693
+ {
694
+ "name": "doc-comment",
695
+ "arguments": [
696
+ ""
697
+ ]
698
+ },
699
+ {
700
+ "name": "doc-comment",
701
+ "arguments": [
702
+ " # Reverts"
703
+ ]
704
+ },
705
+ {
706
+ "name": "doc-comment",
707
+ "arguments": [
708
+ ""
709
+ ]
710
+ },
711
+ {
712
+ "name": "doc-comment",
713
+ "arguments": [
714
+ " - If caller is not authorized (owner/admin check)"
715
+ ]
716
+ },
717
+ {
718
+ "name": "doc-comment",
719
+ "arguments": [
720
+ " - If contract_id is zero or invalid"
721
+ ]
722
+ },
723
+ {
724
+ "name": "doc-comment",
725
+ "arguments": [
726
+ " - If the contract is paused"
727
+ ]
728
+ },
729
+ {
730
+ "name": "storage",
731
+ "arguments": [
732
+ "read",
733
+ "write"
734
+ ]
735
+ }
736
+ ]
737
+ },
738
+ {
739
+ "name": "transfer_ownership",
740
+ "inputs": [
741
+ {
742
+ "name": "new_owner",
743
+ "concreteTypeId": "ab7cd04e05be58e3fc15d424c2c4a57f824a2a2d97d67252440a3925ebdc1335"
744
+ }
745
+ ],
746
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
747
+ "attributes": [
748
+ {
749
+ "name": "doc-comment",
750
+ "arguments": [
751
+ " Transfers ownership of the oracle to a new owner."
752
+ ]
753
+ },
754
+ {
755
+ "name": "doc-comment",
756
+ "arguments": [
757
+ " Only the current owner can transfer ownership."
758
+ ]
759
+ },
760
+ {
761
+ "name": "doc-comment",
762
+ "arguments": [
763
+ ""
764
+ ]
765
+ },
766
+ {
767
+ "name": "doc-comment",
768
+ "arguments": [
769
+ " # Arguments"
770
+ ]
771
+ },
772
+ {
773
+ "name": "doc-comment",
774
+ "arguments": [
775
+ ""
776
+ ]
777
+ },
778
+ {
779
+ "name": "doc-comment",
780
+ "arguments": [
781
+ " * `new_owner` - The Identity to transfer ownership to"
782
+ ]
783
+ },
784
+ {
785
+ "name": "doc-comment",
786
+ "arguments": [
787
+ ""
788
+ ]
789
+ },
790
+ {
791
+ "name": "doc-comment",
792
+ "arguments": [
793
+ " # Storage Access"
794
+ ]
795
+ },
796
+ {
797
+ "name": "doc-comment",
798
+ "arguments": [
799
+ ""
800
+ ]
801
+ },
802
+ {
803
+ "name": "doc-comment",
804
+ "arguments": [
805
+ " - Reads: Current owner for verification"
806
+ ]
807
+ },
808
+ {
809
+ "name": "doc-comment",
810
+ "arguments": [
811
+ " - Writes: Updates owner to new_owner"
812
+ ]
813
+ },
814
+ {
815
+ "name": "doc-comment",
816
+ "arguments": [
817
+ ""
818
+ ]
819
+ },
820
+ {
821
+ "name": "doc-comment",
822
+ "arguments": [
823
+ " # Security"
824
+ ]
825
+ },
826
+ {
827
+ "name": "doc-comment",
828
+ "arguments": [
829
+ ""
830
+ ]
831
+ },
832
+ {
833
+ "name": "doc-comment",
834
+ "arguments": [
835
+ " - Only callable by current owner"
836
+ ]
837
+ },
838
+ {
839
+ "name": "doc-comment",
840
+ "arguments": [
841
+ " - New owner cannot be zero address"
842
+ ]
843
+ },
844
+ {
845
+ "name": "doc-comment",
846
+ "arguments": [
847
+ ""
848
+ ]
849
+ },
850
+ {
851
+ "name": "doc-comment",
852
+ "arguments": [
853
+ " # Events"
854
+ ]
855
+ },
856
+ {
857
+ "name": "doc-comment",
858
+ "arguments": [
859
+ ""
860
+ ]
861
+ },
862
+ {
863
+ "name": "doc-comment",
864
+ "arguments": [
865
+ " - Emits ownership transfer event (from ownership library)"
866
+ ]
867
+ },
868
+ {
869
+ "name": "doc-comment",
870
+ "arguments": [
871
+ ""
872
+ ]
873
+ },
874
+ {
875
+ "name": "doc-comment",
876
+ "arguments": [
877
+ " # Reverts"
878
+ ]
879
+ },
880
+ {
881
+ "name": "doc-comment",
882
+ "arguments": [
883
+ ""
884
+ ]
885
+ },
886
+ {
887
+ "name": "doc-comment",
888
+ "arguments": [
889
+ " - If caller is not the current owner"
890
+ ]
891
+ },
892
+ {
893
+ "name": "doc-comment",
894
+ "arguments": [
895
+ " - If new_owner is zero address"
896
+ ]
897
+ },
898
+ {
899
+ "name": "storage",
900
+ "arguments": [
901
+ "read",
902
+ "write"
903
+ ]
904
+ }
905
+ ]
906
+ },
907
+ {
908
+ "name": "owner",
909
+ "inputs": [],
910
+ "output": "287a382c1e0b1f11d12a422e77a248d27761327cd17515cc6e6369d528cf31ca",
911
+ "attributes": [
912
+ {
913
+ "name": "storage",
914
+ "arguments": [
915
+ "read"
916
+ ]
917
+ }
918
+ ]
919
+ },
920
+ {
921
+ "name": "is_paused",
922
+ "inputs": [],
923
+ "output": "b760f44fa5965c2474a3b471467a22c43185152129295af588b022ae50b50903",
924
+ "attributes": [
925
+ {
926
+ "name": "storage",
927
+ "arguments": [
928
+ "read"
929
+ ]
930
+ }
931
+ ]
932
+ },
933
+ {
934
+ "name": "pause",
935
+ "inputs": [],
936
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
937
+ "attributes": [
938
+ {
939
+ "name": "storage",
940
+ "arguments": [
941
+ "write"
942
+ ]
943
+ }
944
+ ]
945
+ },
946
+ {
947
+ "name": "unpause",
948
+ "inputs": [],
949
+ "output": "2e38e77b22c314a449e91fafed92a43826ac6aa403ae6a8acb6cf58239fbaf5d",
950
+ "attributes": [
951
+ {
952
+ "name": "storage",
953
+ "arguments": [
954
+ "write"
955
+ ]
956
+ }
957
+ ]
958
+ }
959
+ ],
960
+ "loggedTypes": [
961
+ {
962
+ "logId": "17376141311665587813",
963
+ "concreteTypeId": "f1247475d0d1466599267010f088190f8664dd31663a40c5d5e525d8e64b995d"
964
+ },
965
+ {
966
+ "logId": "12825652816513834595",
967
+ "concreteTypeId": "b1fddf488ccb9e63d11888b2750bbd1280a1ae1c49f2d6637fd4cf1e930d1468"
968
+ },
969
+ {
970
+ "logId": "10091762507985991074",
971
+ "concreteTypeId": "8c0d2488561c35a28ef795bb8bcc4c43999cdd1e3ecbd10c226e0a68660c54d4"
972
+ },
973
+ {
974
+ "logId": "10098701174489624218",
975
+ "concreteTypeId": "8c25cb3686462e9a86d2883c5688a22fe738b0bbc85f458d2d2b5f3f667c6d5a"
976
+ },
977
+ {
978
+ "logId": "11719039397861176592",
979
+ "concreteTypeId": "a2a2643e0252b510328c0323a0ea60724fb4cb3309a2322ab31b27566ff9a79d"
980
+ },
981
+ {
982
+ "logId": "4997665884103701952",
983
+ "concreteTypeId": "455b46a49016f5c03c18ce54b969ea3d0d33c9b00263b3dcc36aa8da27558b8a"
984
+ }
985
+ ],
986
+ "messagesTypes": [],
987
+ "configurables": [],
988
+ "errorCodes": {},
989
+ "panickingCalls": {}
990
+ };
991
+ const storageSlots = [
992
+ {
993
+ "key": "57681dd255939dd3beccaede2bc1b6696ec5b24895f9989788c01eecff4a4117",
994
+ "value": "0000000000000000000000000000000000000000000000000000000000000000"
995
+ },
996
+ {
997
+ "key": "57681dd255939dd3beccaede2bc1b6696ec5b24895f9989788c01eecff4a4118",
998
+ "value": "0000000000000000000000000000000000000000000000000000000000000000"
999
+ }
1000
+ ];
1001
+ export class MarginAccountOracleInterface extends Interface {
1002
+ constructor() {
1003
+ super(abi);
1004
+ }
1005
+ }
1006
+ export class MarginAccountOracle extends __Contract {
1007
+ static abi = abi;
1008
+ static storageSlots = storageSlots;
1009
+ constructor(id, accountOrProvider) {
1010
+ super(id, abi, accountOrProvider);
1011
+ }
1012
+ }
1013
+ //# sourceMappingURL=MarginAccountOracle.js.map