afp-sdk 0.5.3__py3-none-any.whl → 0.6.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- afp/__init__.py +4 -1
- afp/afp.py +11 -0
- afp/api/admin.py +1 -1
- afp/api/base.py +11 -2
- afp/api/margin_account.py +12 -148
- afp/api/product.py +302 -148
- afp/api/trading.py +19 -22
- afp/auth.py +14 -0
- afp/bindings/__init__.py +30 -16
- afp/bindings/admin_facet.py +890 -0
- afp/bindings/clearing_facet.py +356 -773
- afp/bindings/facade.py +9 -6
- afp/bindings/final_settlement_facet.py +258 -99
- afp/bindings/margin_account.py +524 -839
- afp/bindings/margin_account_facet.py +722 -0
- afp/bindings/margin_account_registry.py +184 -310
- afp/bindings/mark_price_tracker_facet.py +74 -16
- afp/bindings/product_registry.py +1577 -541
- afp/bindings/product_registry_facet.py +1467 -0
- afp/bindings/system_viewer.py +592 -369
- afp/bindings/types.py +223 -0
- afp/config.py +4 -0
- afp/constants.py +49 -6
- afp/decorators.py +25 -3
- afp/dtos.py +142 -0
- afp/exceptions.py +14 -0
- afp/exchange.py +13 -8
- afp/hashing.py +7 -5
- afp/ipfs.py +245 -0
- afp/json-schemas/bafyreiaw34o6l3rmatabzbds2i2myazdw2yolevcpsoyd2i2g3ms7wa2eq.json +1 -0
- afp/json-schemas/bafyreibnfg6nq74dvpkre5rakkccij7iadp5rxpim7omsatjnrpmj3y7v4.json +1 -0
- afp/json-schemas/bafyreicgr6dfo5yduixjkcifghiulskfegwojvuwodtouvivl362zndhxe.json +1 -0
- afp/json-schemas/bafyreicheoypx6synljushh7mq2572iyhlolf4nake2p5dwobgnj3r5eua.json +1 -0
- afp/json-schemas/bafyreid35a67db4sqh4fs6boddyt2xvscbqy6nqvsp5jjur56qhkw4ixre.json +1 -0
- afp/json-schemas/bafyreidzs7okcpqiss6ztftltyptqwnw5e5opsy5yntospekjha4kpykaa.json +1 -0
- afp/json-schemas/bafyreifcec2km7hxwq6oqzjlspni2mgipetjb7pqtaewh2efislzoctboi.json +1 -0
- afp/json-schemas/bafyreihn3oiaxffe4e2w7pwtreadpw3obfd7gqlogbcxm56jc2hzfvco74.json +1 -0
- afp/json-schemas/bafyreihur3dzwhja6uxsbcw6eeoj3xmmc4e3zkmyzpot5v5dleevxe5zam.json +1 -0
- afp/schemas.py +228 -176
- afp/types.py +169 -0
- afp/validators.py +218 -8
- {afp_sdk-0.5.3.dist-info → afp_sdk-0.6.0.dist-info}/METADATA +73 -10
- afp_sdk-0.6.0.dist-info/RECORD +50 -0
- afp/bindings/auctioneer_facet.py +0 -752
- afp/bindings/bankruptcy_facet.py +0 -391
- afp/bindings/trading_protocol.py +0 -1158
- afp_sdk-0.5.3.dist-info/RECORD +0 -37
- {afp_sdk-0.5.3.dist-info → afp_sdk-0.6.0.dist-info}/WHEEL +0 -0
- {afp_sdk-0.5.3.dist-info → afp_sdk-0.6.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -7,6 +7,7 @@ import typing
|
|
|
7
7
|
import eth_typing
|
|
8
8
|
import hexbytes
|
|
9
9
|
import web3
|
|
10
|
+
from web3 import types
|
|
10
11
|
from web3.contract import contract
|
|
11
12
|
|
|
12
13
|
|
|
@@ -54,49 +55,76 @@ class MarginAccountRegistry:
|
|
|
54
55
|
|
|
55
56
|
def upgrade_interface_version(
|
|
56
57
|
self,
|
|
58
|
+
block_identifier: types.BlockIdentifier = "latest",
|
|
57
59
|
) -> str:
|
|
58
60
|
"""Binding for `UPGRADE_INTERFACE_VERSION` on the MarginAccountRegistry contract.
|
|
59
61
|
|
|
62
|
+
Parameters
|
|
63
|
+
----------
|
|
64
|
+
block_identifier : web3.types.BlockIdentifier
|
|
65
|
+
The block identifier, defaults to the latest block.
|
|
66
|
+
|
|
60
67
|
Returns
|
|
61
68
|
-------
|
|
62
69
|
str
|
|
63
70
|
"""
|
|
64
|
-
return_value = self._contract.functions.UPGRADE_INTERFACE_VERSION().call(
|
|
71
|
+
return_value = self._contract.functions.UPGRADE_INTERFACE_VERSION().call(
|
|
72
|
+
block_identifier=block_identifier
|
|
73
|
+
)
|
|
65
74
|
return str(return_value)
|
|
66
75
|
|
|
67
|
-
def
|
|
76
|
+
def beacon(
|
|
68
77
|
self,
|
|
78
|
+
block_identifier: types.BlockIdentifier = "latest",
|
|
69
79
|
) -> eth_typing.ChecksumAddress:
|
|
70
|
-
"""Binding for `
|
|
80
|
+
"""Binding for `beacon` on the MarginAccountRegistry contract.
|
|
81
|
+
|
|
82
|
+
Parameters
|
|
83
|
+
----------
|
|
84
|
+
block_identifier : web3.types.BlockIdentifier
|
|
85
|
+
The block identifier, defaults to the latest block.
|
|
71
86
|
|
|
72
87
|
Returns
|
|
73
88
|
-------
|
|
74
89
|
eth_typing.ChecksumAddress
|
|
75
90
|
"""
|
|
76
|
-
return_value = self._contract.functions.
|
|
91
|
+
return_value = self._contract.functions.beacon().call(
|
|
92
|
+
block_identifier=block_identifier
|
|
93
|
+
)
|
|
77
94
|
return eth_typing.ChecksumAddress(return_value)
|
|
78
95
|
|
|
79
|
-
def
|
|
96
|
+
def clearing(
|
|
80
97
|
self,
|
|
98
|
+
block_identifier: types.BlockIdentifier = "latest",
|
|
81
99
|
) -> eth_typing.ChecksumAddress:
|
|
82
|
-
"""Binding for `
|
|
100
|
+
"""Binding for `clearing` on the MarginAccountRegistry contract.
|
|
101
|
+
|
|
102
|
+
Parameters
|
|
103
|
+
----------
|
|
104
|
+
block_identifier : web3.types.BlockIdentifier
|
|
105
|
+
The block identifier, defaults to the latest block.
|
|
83
106
|
|
|
84
107
|
Returns
|
|
85
108
|
-------
|
|
86
109
|
eth_typing.ChecksumAddress
|
|
87
110
|
"""
|
|
88
|
-
return_value = self._contract.functions.
|
|
111
|
+
return_value = self._contract.functions.clearing().call(
|
|
112
|
+
block_identifier=block_identifier
|
|
113
|
+
)
|
|
89
114
|
return eth_typing.ChecksumAddress(return_value)
|
|
90
115
|
|
|
91
116
|
def get_margin_account(
|
|
92
117
|
self,
|
|
93
118
|
collateral_asset: eth_typing.ChecksumAddress,
|
|
119
|
+
block_identifier: types.BlockIdentifier = "latest",
|
|
94
120
|
) -> eth_typing.ChecksumAddress:
|
|
95
121
|
"""Binding for `getMarginAccount` on the MarginAccountRegistry contract.
|
|
96
122
|
|
|
97
123
|
Parameters
|
|
98
124
|
----------
|
|
99
125
|
collateral_asset : eth_typing.ChecksumAddress
|
|
126
|
+
block_identifier : web3.types.BlockIdentifier
|
|
127
|
+
The block identifier, defaults to the latest block.
|
|
100
128
|
|
|
101
129
|
Returns
|
|
102
130
|
-------
|
|
@@ -104,23 +132,19 @@ class MarginAccountRegistry:
|
|
|
104
132
|
"""
|
|
105
133
|
return_value = self._contract.functions.getMarginAccount(
|
|
106
134
|
collateral_asset,
|
|
107
|
-
).call()
|
|
135
|
+
).call(block_identifier=block_identifier)
|
|
108
136
|
return eth_typing.ChecksumAddress(return_value)
|
|
109
137
|
|
|
110
138
|
def initialize(
|
|
111
139
|
self,
|
|
112
|
-
|
|
113
|
-
_valuation: eth_typing.ChecksumAddress,
|
|
114
|
-
_product_registry: eth_typing.ChecksumAddress,
|
|
140
|
+
clearing_: eth_typing.ChecksumAddress,
|
|
115
141
|
beacon_: eth_typing.ChecksumAddress,
|
|
116
142
|
) -> contract.ContractFunction:
|
|
117
143
|
"""Binding for `initialize` on the MarginAccountRegistry contract.
|
|
118
144
|
|
|
119
145
|
Parameters
|
|
120
146
|
----------
|
|
121
|
-
|
|
122
|
-
_valuation : eth_typing.ChecksumAddress
|
|
123
|
-
_product_registry : eth_typing.ChecksumAddress
|
|
147
|
+
clearing_ : eth_typing.ChecksumAddress
|
|
124
148
|
beacon_ : eth_typing.ChecksumAddress
|
|
125
149
|
|
|
126
150
|
Returns
|
|
@@ -129,9 +153,7 @@ class MarginAccountRegistry:
|
|
|
129
153
|
A contract function instance to be sent in a transaction.
|
|
130
154
|
"""
|
|
131
155
|
return self._contract.functions.initialize(
|
|
132
|
-
|
|
133
|
-
_valuation,
|
|
134
|
-
_product_registry,
|
|
156
|
+
clearing_,
|
|
135
157
|
beacon_,
|
|
136
158
|
)
|
|
137
159
|
|
|
@@ -154,71 +176,44 @@ class MarginAccountRegistry:
|
|
|
154
176
|
collateral_asset,
|
|
155
177
|
)
|
|
156
178
|
|
|
157
|
-
def is_admin_active(
|
|
158
|
-
self,
|
|
159
|
-
) -> bool:
|
|
160
|
-
"""Binding for `isAdminActive` on the MarginAccountRegistry contract.
|
|
161
|
-
|
|
162
|
-
Returns
|
|
163
|
-
-------
|
|
164
|
-
bool
|
|
165
|
-
"""
|
|
166
|
-
return_value = self._contract.functions.isAdminActive().call()
|
|
167
|
-
return bool(return_value)
|
|
168
|
-
|
|
169
|
-
def margin_accounts(
|
|
170
|
-
self,
|
|
171
|
-
key0: eth_typing.ChecksumAddress,
|
|
172
|
-
) -> eth_typing.ChecksumAddress:
|
|
173
|
-
"""Binding for `marginAccounts` on the MarginAccountRegistry contract.
|
|
174
|
-
|
|
175
|
-
Parameters
|
|
176
|
-
----------
|
|
177
|
-
key0 : eth_typing.ChecksumAddress
|
|
178
|
-
|
|
179
|
-
Returns
|
|
180
|
-
-------
|
|
181
|
-
eth_typing.ChecksumAddress
|
|
182
|
-
"""
|
|
183
|
-
return_value = self._contract.functions.marginAccounts(
|
|
184
|
-
key0,
|
|
185
|
-
).call()
|
|
186
|
-
return eth_typing.ChecksumAddress(return_value)
|
|
187
|
-
|
|
188
179
|
def owner(
|
|
189
180
|
self,
|
|
181
|
+
block_identifier: types.BlockIdentifier = "latest",
|
|
190
182
|
) -> eth_typing.ChecksumAddress:
|
|
191
183
|
"""Binding for `owner` on the MarginAccountRegistry contract.
|
|
192
184
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
return_value = self._contract.functions.owner().call()
|
|
198
|
-
return eth_typing.ChecksumAddress(return_value)
|
|
199
|
-
|
|
200
|
-
def product_registry(
|
|
201
|
-
self,
|
|
202
|
-
) -> eth_typing.ChecksumAddress:
|
|
203
|
-
"""Binding for `productRegistry` on the MarginAccountRegistry contract.
|
|
185
|
+
Parameters
|
|
186
|
+
----------
|
|
187
|
+
block_identifier : web3.types.BlockIdentifier
|
|
188
|
+
The block identifier, defaults to the latest block.
|
|
204
189
|
|
|
205
190
|
Returns
|
|
206
191
|
-------
|
|
207
192
|
eth_typing.ChecksumAddress
|
|
208
193
|
"""
|
|
209
|
-
return_value = self._contract.functions.
|
|
194
|
+
return_value = self._contract.functions.owner().call(
|
|
195
|
+
block_identifier=block_identifier
|
|
196
|
+
)
|
|
210
197
|
return eth_typing.ChecksumAddress(return_value)
|
|
211
198
|
|
|
212
199
|
def proxiable_uuid(
|
|
213
200
|
self,
|
|
201
|
+
block_identifier: types.BlockIdentifier = "latest",
|
|
214
202
|
) -> hexbytes.HexBytes:
|
|
215
203
|
"""Binding for `proxiableUUID` on the MarginAccountRegistry contract.
|
|
216
204
|
|
|
205
|
+
Parameters
|
|
206
|
+
----------
|
|
207
|
+
block_identifier : web3.types.BlockIdentifier
|
|
208
|
+
The block identifier, defaults to the latest block.
|
|
209
|
+
|
|
217
210
|
Returns
|
|
218
211
|
-------
|
|
219
212
|
hexbytes.HexBytes
|
|
220
213
|
"""
|
|
221
|
-
return_value = self._contract.functions.proxiableUUID().call(
|
|
214
|
+
return_value = self._contract.functions.proxiableUUID().call(
|
|
215
|
+
block_identifier=block_identifier
|
|
216
|
+
)
|
|
222
217
|
return hexbytes.HexBytes(return_value)
|
|
223
218
|
|
|
224
219
|
def renounce_ownership(
|
|
@@ -233,44 +228,6 @@ class MarginAccountRegistry:
|
|
|
233
228
|
"""
|
|
234
229
|
return self._contract.functions.renounceOwnership()
|
|
235
230
|
|
|
236
|
-
def set_active(
|
|
237
|
-
self,
|
|
238
|
-
active: bool,
|
|
239
|
-
) -> contract.ContractFunction:
|
|
240
|
-
"""Binding for `setActive` on the MarginAccountRegistry contract.
|
|
241
|
-
|
|
242
|
-
Parameters
|
|
243
|
-
----------
|
|
244
|
-
active : bool
|
|
245
|
-
|
|
246
|
-
Returns
|
|
247
|
-
-------
|
|
248
|
-
web3.contract.contract.ContractFunction
|
|
249
|
-
A contract function instance to be sent in a transaction.
|
|
250
|
-
"""
|
|
251
|
-
return self._contract.functions.setActive(
|
|
252
|
-
active,
|
|
253
|
-
)
|
|
254
|
-
|
|
255
|
-
def set_admin(
|
|
256
|
-
self,
|
|
257
|
-
new_admin: eth_typing.ChecksumAddress,
|
|
258
|
-
) -> contract.ContractFunction:
|
|
259
|
-
"""Binding for `setAdmin` on the MarginAccountRegistry contract.
|
|
260
|
-
|
|
261
|
-
Parameters
|
|
262
|
-
----------
|
|
263
|
-
new_admin : eth_typing.ChecksumAddress
|
|
264
|
-
|
|
265
|
-
Returns
|
|
266
|
-
-------
|
|
267
|
-
web3.contract.contract.ContractFunction
|
|
268
|
-
A contract function instance to be sent in a transaction.
|
|
269
|
-
"""
|
|
270
|
-
return self._contract.functions.setAdmin(
|
|
271
|
-
new_admin,
|
|
272
|
-
)
|
|
273
|
-
|
|
274
231
|
def transfer_ownership(
|
|
275
232
|
self,
|
|
276
233
|
new_owner: eth_typing.ChecksumAddress,
|
|
@@ -312,306 +269,223 @@ class MarginAccountRegistry:
|
|
|
312
269
|
data,
|
|
313
270
|
)
|
|
314
271
|
|
|
315
|
-
def valuation(
|
|
316
|
-
self,
|
|
317
|
-
) -> eth_typing.ChecksumAddress:
|
|
318
|
-
"""Binding for `valuation` on the MarginAccountRegistry contract.
|
|
319
|
-
|
|
320
|
-
Returns
|
|
321
|
-
-------
|
|
322
|
-
eth_typing.ChecksumAddress
|
|
323
|
-
"""
|
|
324
|
-
return_value = self._contract.functions.valuation().call()
|
|
325
|
-
return eth_typing.ChecksumAddress(return_value)
|
|
326
|
-
|
|
327
272
|
|
|
328
273
|
ABI = typing.cast(
|
|
329
274
|
eth_typing.ABI,
|
|
330
275
|
[
|
|
331
276
|
{
|
|
332
|
-
"
|
|
333
|
-
{"internalType": "address", "name": "target", "type": "address"}
|
|
334
|
-
],
|
|
335
|
-
"name": "AddressEmptyCode",
|
|
336
|
-
"type": "error",
|
|
337
|
-
},
|
|
338
|
-
{
|
|
339
|
-
"inputs": [
|
|
340
|
-
{"internalType": "bytes4", "name": "selector", "type": "bytes4"},
|
|
341
|
-
{"internalType": "address", "name": "sender", "type": "address"},
|
|
342
|
-
],
|
|
343
|
-
"name": "AdminControlledNotAuthorized",
|
|
344
|
-
"type": "error",
|
|
345
|
-
},
|
|
346
|
-
{
|
|
347
|
-
"inputs": [
|
|
348
|
-
{"internalType": "string", "name": "parameter", "type": "string"}
|
|
349
|
-
],
|
|
350
|
-
"name": "AlreadyExists",
|
|
351
|
-
"type": "error",
|
|
352
|
-
},
|
|
353
|
-
{
|
|
354
|
-
"inputs": [
|
|
355
|
-
{"internalType": "address", "name": "implementation", "type": "address"}
|
|
356
|
-
],
|
|
357
|
-
"name": "ERC1967InvalidImplementation",
|
|
358
|
-
"type": "error",
|
|
359
|
-
},
|
|
360
|
-
{"inputs": [], "name": "ERC1967NonPayable", "type": "error"},
|
|
361
|
-
{"inputs": [], "name": "FailedCall", "type": "error"},
|
|
362
|
-
{"inputs": [], "name": "InvalidInitialization", "type": "error"},
|
|
363
|
-
{"inputs": [], "name": "NotInitialized", "type": "error"},
|
|
364
|
-
{"inputs": [], "name": "NotInitializing", "type": "error"},
|
|
365
|
-
{
|
|
366
|
-
"inputs": [{"internalType": "address", "name": "owner", "type": "address"}],
|
|
367
|
-
"name": "OwnableInvalidOwner",
|
|
368
|
-
"type": "error",
|
|
369
|
-
},
|
|
370
|
-
{
|
|
371
|
-
"inputs": [
|
|
372
|
-
{"internalType": "address", "name": "account", "type": "address"}
|
|
373
|
-
],
|
|
374
|
-
"name": "OwnableUnauthorizedAccount",
|
|
375
|
-
"type": "error",
|
|
376
|
-
},
|
|
377
|
-
{"inputs": [], "name": "UUPSUnauthorizedCallContext", "type": "error"},
|
|
378
|
-
{
|
|
379
|
-
"inputs": [{"internalType": "bytes32", "name": "slot", "type": "bytes32"}],
|
|
380
|
-
"name": "UUPSUnsupportedProxiableUUID",
|
|
381
|
-
"type": "error",
|
|
382
|
-
},
|
|
383
|
-
{
|
|
384
|
-
"anonymous": False,
|
|
385
|
-
"inputs": [
|
|
386
|
-
{
|
|
387
|
-
"indexed": False,
|
|
388
|
-
"internalType": "uint64",
|
|
389
|
-
"name": "version",
|
|
390
|
-
"type": "uint64",
|
|
391
|
-
}
|
|
392
|
-
],
|
|
393
|
-
"name": "Initialized",
|
|
394
|
-
"type": "event",
|
|
395
|
-
},
|
|
396
|
-
{
|
|
397
|
-
"anonymous": False,
|
|
398
|
-
"inputs": [
|
|
399
|
-
{
|
|
400
|
-
"indexed": True,
|
|
401
|
-
"internalType": "address",
|
|
402
|
-
"name": "collateralAsset",
|
|
403
|
-
"type": "address",
|
|
404
|
-
},
|
|
405
|
-
{
|
|
406
|
-
"indexed": True,
|
|
407
|
-
"internalType": "address",
|
|
408
|
-
"name": "marginAccount",
|
|
409
|
-
"type": "address",
|
|
410
|
-
},
|
|
411
|
-
],
|
|
412
|
-
"name": "MarginAccountCreated",
|
|
413
|
-
"type": "event",
|
|
414
|
-
},
|
|
415
|
-
{
|
|
416
|
-
"anonymous": False,
|
|
417
|
-
"inputs": [
|
|
418
|
-
{
|
|
419
|
-
"indexed": True,
|
|
420
|
-
"internalType": "address",
|
|
421
|
-
"name": "previousOwner",
|
|
422
|
-
"type": "address",
|
|
423
|
-
},
|
|
424
|
-
{
|
|
425
|
-
"indexed": True,
|
|
426
|
-
"internalType": "address",
|
|
427
|
-
"name": "newOwner",
|
|
428
|
-
"type": "address",
|
|
429
|
-
},
|
|
430
|
-
],
|
|
431
|
-
"name": "OwnershipTransferred",
|
|
432
|
-
"type": "event",
|
|
433
|
-
},
|
|
434
|
-
{
|
|
435
|
-
"anonymous": False,
|
|
436
|
-
"inputs": [
|
|
437
|
-
{
|
|
438
|
-
"indexed": True,
|
|
439
|
-
"internalType": "address",
|
|
440
|
-
"name": "implementation",
|
|
441
|
-
"type": "address",
|
|
442
|
-
}
|
|
443
|
-
],
|
|
444
|
-
"name": "Upgraded",
|
|
445
|
-
"type": "event",
|
|
446
|
-
},
|
|
447
|
-
{
|
|
448
|
-
"inputs": [],
|
|
277
|
+
"type": "function",
|
|
449
278
|
"name": "UPGRADE_INTERFACE_VERSION",
|
|
450
|
-
"
|
|
279
|
+
"inputs": [],
|
|
280
|
+
"outputs": [{"name": "", "type": "string", "internalType": "string"}],
|
|
451
281
|
"stateMutability": "view",
|
|
452
|
-
"type": "function",
|
|
453
282
|
},
|
|
454
283
|
{
|
|
284
|
+
"type": "function",
|
|
285
|
+
"name": "beacon",
|
|
455
286
|
"inputs": [],
|
|
456
|
-
"name": "
|
|
457
|
-
"outputs": [{"internalType": "address", "name": "", "type": "address"}],
|
|
287
|
+
"outputs": [{"name": "", "type": "address", "internalType": "address"}],
|
|
458
288
|
"stateMutability": "view",
|
|
459
|
-
"type": "function",
|
|
460
289
|
},
|
|
461
290
|
{
|
|
291
|
+
"type": "function",
|
|
292
|
+
"name": "clearing",
|
|
462
293
|
"inputs": [],
|
|
463
|
-
"name": "
|
|
464
|
-
"outputs": [{"internalType": "address", "name": "", "type": "address"}],
|
|
294
|
+
"outputs": [{"name": "", "type": "address", "internalType": "address"}],
|
|
465
295
|
"stateMutability": "view",
|
|
466
|
-
"type": "function",
|
|
467
296
|
},
|
|
468
297
|
{
|
|
298
|
+
"type": "function",
|
|
299
|
+
"name": "getMarginAccount",
|
|
469
300
|
"inputs": [
|
|
470
301
|
{
|
|
471
|
-
"internalType": "address",
|
|
472
302
|
"name": "collateralAsset",
|
|
473
303
|
"type": "address",
|
|
304
|
+
"internalType": "address",
|
|
474
305
|
}
|
|
475
306
|
],
|
|
476
|
-
"name": "getMarginAccount",
|
|
477
307
|
"outputs": [
|
|
478
308
|
{
|
|
479
|
-
"internalType": "contract IMarginAccount",
|
|
480
309
|
"name": "",
|
|
481
310
|
"type": "address",
|
|
311
|
+
"internalType": "contract IMarginAccount",
|
|
482
312
|
}
|
|
483
313
|
],
|
|
484
314
|
"stateMutability": "view",
|
|
485
|
-
"type": "function",
|
|
486
315
|
},
|
|
487
316
|
{
|
|
317
|
+
"type": "function",
|
|
318
|
+
"name": "initialize",
|
|
488
319
|
"inputs": [
|
|
489
|
-
{"
|
|
490
|
-
{"
|
|
491
|
-
{
|
|
492
|
-
"internalType": "address",
|
|
493
|
-
"name": "_productRegistry",
|
|
494
|
-
"type": "address",
|
|
495
|
-
},
|
|
496
|
-
{"internalType": "address", "name": "beacon_", "type": "address"},
|
|
320
|
+
{"name": "clearing_", "type": "address", "internalType": "address"},
|
|
321
|
+
{"name": "beacon_", "type": "address", "internalType": "address"},
|
|
497
322
|
],
|
|
498
|
-
"name": "initialize",
|
|
499
323
|
"outputs": [],
|
|
500
324
|
"stateMutability": "nonpayable",
|
|
501
|
-
"type": "function",
|
|
502
325
|
},
|
|
503
326
|
{
|
|
327
|
+
"type": "function",
|
|
328
|
+
"name": "initializeMarginAccount",
|
|
504
329
|
"inputs": [
|
|
505
330
|
{
|
|
506
|
-
"internalType": "address",
|
|
507
331
|
"name": "collateralAsset",
|
|
508
332
|
"type": "address",
|
|
333
|
+
"internalType": "address",
|
|
509
334
|
}
|
|
510
335
|
],
|
|
511
|
-
"name": "initializeMarginAccount",
|
|
512
336
|
"outputs": [
|
|
513
337
|
{
|
|
514
|
-
"internalType": "contract IMarginAccount",
|
|
515
338
|
"name": "",
|
|
516
339
|
"type": "address",
|
|
340
|
+
"internalType": "contract IMarginAccount",
|
|
517
341
|
}
|
|
518
342
|
],
|
|
519
343
|
"stateMutability": "nonpayable",
|
|
520
|
-
"type": "function",
|
|
521
|
-
},
|
|
522
|
-
{
|
|
523
|
-
"inputs": [],
|
|
524
|
-
"name": "isAdminActive",
|
|
525
|
-
"outputs": [{"internalType": "bool", "name": "", "type": "bool"}],
|
|
526
|
-
"stateMutability": "view",
|
|
527
|
-
"type": "function",
|
|
528
344
|
},
|
|
529
345
|
{
|
|
530
|
-
"inputs": [{"internalType": "address", "name": "", "type": "address"}],
|
|
531
|
-
"name": "marginAccounts",
|
|
532
|
-
"outputs": [
|
|
533
|
-
{
|
|
534
|
-
"internalType": "contract IMarginAccount",
|
|
535
|
-
"name": "",
|
|
536
|
-
"type": "address",
|
|
537
|
-
}
|
|
538
|
-
],
|
|
539
|
-
"stateMutability": "view",
|
|
540
346
|
"type": "function",
|
|
541
|
-
},
|
|
542
|
-
{
|
|
543
|
-
"inputs": [],
|
|
544
347
|
"name": "owner",
|
|
545
|
-
"outputs": [{"internalType": "address", "name": "", "type": "address"}],
|
|
546
|
-
"stateMutability": "view",
|
|
547
|
-
"type": "function",
|
|
548
|
-
},
|
|
549
|
-
{
|
|
550
348
|
"inputs": [],
|
|
551
|
-
"name": "
|
|
552
|
-
"outputs": [{"internalType": "address", "name": "", "type": "address"}],
|
|
349
|
+
"outputs": [{"name": "", "type": "address", "internalType": "address"}],
|
|
553
350
|
"stateMutability": "view",
|
|
554
|
-
"type": "function",
|
|
555
351
|
},
|
|
556
352
|
{
|
|
557
|
-
"
|
|
353
|
+
"type": "function",
|
|
558
354
|
"name": "proxiableUUID",
|
|
559
|
-
"
|
|
355
|
+
"inputs": [],
|
|
356
|
+
"outputs": [{"name": "", "type": "bytes32", "internalType": "bytes32"}],
|
|
560
357
|
"stateMutability": "view",
|
|
561
|
-
"type": "function",
|
|
562
358
|
},
|
|
563
359
|
{
|
|
564
|
-
"
|
|
360
|
+
"type": "function",
|
|
565
361
|
"name": "renounceOwnership",
|
|
362
|
+
"inputs": [],
|
|
566
363
|
"outputs": [],
|
|
567
364
|
"stateMutability": "nonpayable",
|
|
568
|
-
"type": "function",
|
|
569
365
|
},
|
|
570
366
|
{
|
|
571
|
-
"
|
|
572
|
-
"name": "
|
|
367
|
+
"type": "function",
|
|
368
|
+
"name": "transferOwnership",
|
|
369
|
+
"inputs": [
|
|
370
|
+
{"name": "newOwner", "type": "address", "internalType": "address"}
|
|
371
|
+
],
|
|
573
372
|
"outputs": [],
|
|
574
373
|
"stateMutability": "nonpayable",
|
|
575
|
-
"type": "function",
|
|
576
374
|
},
|
|
577
375
|
{
|
|
376
|
+
"type": "function",
|
|
377
|
+
"name": "upgradeToAndCall",
|
|
578
378
|
"inputs": [
|
|
579
|
-
{
|
|
379
|
+
{
|
|
380
|
+
"name": "newImplementation",
|
|
381
|
+
"type": "address",
|
|
382
|
+
"internalType": "address",
|
|
383
|
+
},
|
|
384
|
+
{"name": "data", "type": "bytes", "internalType": "bytes"},
|
|
580
385
|
],
|
|
581
|
-
"name": "setAdmin",
|
|
582
386
|
"outputs": [],
|
|
583
|
-
"stateMutability": "
|
|
584
|
-
"type": "function",
|
|
387
|
+
"stateMutability": "payable",
|
|
585
388
|
},
|
|
586
389
|
{
|
|
390
|
+
"type": "event",
|
|
391
|
+
"name": "Initialized",
|
|
587
392
|
"inputs": [
|
|
588
|
-
{
|
|
393
|
+
{
|
|
394
|
+
"name": "version",
|
|
395
|
+
"type": "uint64",
|
|
396
|
+
"indexed": False,
|
|
397
|
+
"internalType": "uint64",
|
|
398
|
+
}
|
|
589
399
|
],
|
|
590
|
-
"
|
|
591
|
-
"outputs": [],
|
|
592
|
-
"stateMutability": "nonpayable",
|
|
593
|
-
"type": "function",
|
|
400
|
+
"anonymous": False,
|
|
594
401
|
},
|
|
595
402
|
{
|
|
403
|
+
"type": "event",
|
|
404
|
+
"name": "MarginAccountCreated",
|
|
596
405
|
"inputs": [
|
|
597
406
|
{
|
|
407
|
+
"name": "collateralAsset",
|
|
408
|
+
"type": "address",
|
|
409
|
+
"indexed": True,
|
|
598
410
|
"internalType": "address",
|
|
599
|
-
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"name": "marginAccount",
|
|
600
414
|
"type": "address",
|
|
415
|
+
"indexed": True,
|
|
416
|
+
"internalType": "address",
|
|
601
417
|
},
|
|
602
|
-
{"internalType": "bytes", "name": "data", "type": "bytes"},
|
|
603
418
|
],
|
|
604
|
-
"
|
|
605
|
-
"outputs": [],
|
|
606
|
-
"stateMutability": "payable",
|
|
607
|
-
"type": "function",
|
|
419
|
+
"anonymous": False,
|
|
608
420
|
},
|
|
609
421
|
{
|
|
610
|
-
"
|
|
611
|
-
"name": "
|
|
612
|
-
"
|
|
613
|
-
|
|
614
|
-
|
|
422
|
+
"type": "event",
|
|
423
|
+
"name": "OwnershipTransferred",
|
|
424
|
+
"inputs": [
|
|
425
|
+
{
|
|
426
|
+
"name": "previousOwner",
|
|
427
|
+
"type": "address",
|
|
428
|
+
"indexed": True,
|
|
429
|
+
"internalType": "address",
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"name": "newOwner",
|
|
433
|
+
"type": "address",
|
|
434
|
+
"indexed": True,
|
|
435
|
+
"internalType": "address",
|
|
436
|
+
},
|
|
437
|
+
],
|
|
438
|
+
"anonymous": False,
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"type": "event",
|
|
442
|
+
"name": "Upgraded",
|
|
443
|
+
"inputs": [
|
|
444
|
+
{
|
|
445
|
+
"name": "implementation",
|
|
446
|
+
"type": "address",
|
|
447
|
+
"indexed": True,
|
|
448
|
+
"internalType": "address",
|
|
449
|
+
}
|
|
450
|
+
],
|
|
451
|
+
"anonymous": False,
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"type": "error",
|
|
455
|
+
"name": "AddressEmptyCode",
|
|
456
|
+
"inputs": [
|
|
457
|
+
{"name": "target", "type": "address", "internalType": "address"}
|
|
458
|
+
],
|
|
459
|
+
},
|
|
460
|
+
{"type": "error", "name": "AlreadyInitialized", "inputs": []},
|
|
461
|
+
{
|
|
462
|
+
"type": "error",
|
|
463
|
+
"name": "ERC1967InvalidImplementation",
|
|
464
|
+
"inputs": [
|
|
465
|
+
{"name": "implementation", "type": "address", "internalType": "address"}
|
|
466
|
+
],
|
|
467
|
+
},
|
|
468
|
+
{"type": "error", "name": "ERC1967NonPayable", "inputs": []},
|
|
469
|
+
{"type": "error", "name": "FailedCall", "inputs": []},
|
|
470
|
+
{"type": "error", "name": "InvalidInitialization", "inputs": []},
|
|
471
|
+
{"type": "error", "name": "NotInitializing", "inputs": []},
|
|
472
|
+
{
|
|
473
|
+
"type": "error",
|
|
474
|
+
"name": "OwnableInvalidOwner",
|
|
475
|
+
"inputs": [{"name": "owner", "type": "address", "internalType": "address"}],
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"type": "error",
|
|
479
|
+
"name": "OwnableUnauthorizedAccount",
|
|
480
|
+
"inputs": [
|
|
481
|
+
{"name": "account", "type": "address", "internalType": "address"}
|
|
482
|
+
],
|
|
483
|
+
},
|
|
484
|
+
{"type": "error", "name": "UUPSUnauthorizedCallContext", "inputs": []},
|
|
485
|
+
{
|
|
486
|
+
"type": "error",
|
|
487
|
+
"name": "UUPSUnsupportedProxiableUUID",
|
|
488
|
+
"inputs": [{"name": "slot", "type": "bytes32", "internalType": "bytes32"}],
|
|
615
489
|
},
|
|
616
490
|
],
|
|
617
491
|
)
|