avantis-trader-sdk 0.8.2__py3-none-any.whl → 0.8.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. avantis_trader_sdk/__init__.py +5 -5
  2. avantis_trader_sdk/abis/AggregatorV3Interface.json +606 -606
  3. avantis_trader_sdk/abis/IPyth.sol/IPyth.dbg.json +4 -4
  4. avantis_trader_sdk/abis/Referral.sol/ReferralStorage.json +7132 -7132
  5. avantis_trader_sdk/abis/Sanctions.json +190 -190
  6. avantis_trader_sdk/abis/USDC.sol/USDC.dbg.json +4 -4
  7. avantis_trader_sdk/abis/interfaces/ICallbacks.sol/ICallbacks.json +2637 -2637
  8. avantis_trader_sdk/abis/interfaces/IExecute.sol/IExecute.json +1628 -1628
  9. avantis_trader_sdk/abis/interfaces/IPairInfos.sol/IPairInfos.json +2781 -2781
  10. avantis_trader_sdk/abis/interfaces/IPairStorage.sol/IPairStorage.json +3729 -3729
  11. avantis_trader_sdk/abis/interfaces/IPriceAggregator.sol/IPriceAggregator.json +2330 -2330
  12. avantis_trader_sdk/abis/interfaces/IReferral.sol/IReferral.json +1890 -1890
  13. avantis_trader_sdk/abis/interfaces/ITradingStorage.sol/ITradingStorage.json +7022 -7022
  14. avantis_trader_sdk/abis/interfaces/ITranche.sol/ITranche.json +1283 -1283
  15. avantis_trader_sdk/abis/interfaces/IVaultManager.sol/IVaultManager.json +2424 -2424
  16. avantis_trader_sdk/abis/interfaces/IVeTranche.sol/IVeTranche.json +855 -855
  17. avantis_trader_sdk/abis/library/PositionMath.sol/PositionMath.dbg.json +4 -4
  18. avantis_trader_sdk/abis/library/PositionMath.sol/PositionMath.json +10 -10
  19. avantis_trader_sdk/abis/testnet/USDC.sol/USDC.dbg.json +4 -4
  20. avantis_trader_sdk/abis/testnet/USDC.sol/USDC.json +320 -320
  21. avantis_trader_sdk/client.py +369 -367
  22. avantis_trader_sdk/config.py +14 -14
  23. avantis_trader_sdk/feed/feed_client.py +263 -261
  24. avantis_trader_sdk/rpc/asset_parameters.py +499 -499
  25. avantis_trader_sdk/rpc/blended.py +71 -71
  26. avantis_trader_sdk/rpc/category_parameters.py +216 -216
  27. avantis_trader_sdk/rpc/fee_parameters.py +237 -237
  28. avantis_trader_sdk/rpc/pairs_cache.py +130 -130
  29. avantis_trader_sdk/rpc/rpc_helpers.py +8 -8
  30. avantis_trader_sdk/rpc/snapshot.py +142 -142
  31. avantis_trader_sdk/rpc/trade.py +701 -710
  32. avantis_trader_sdk/rpc/trading_parameters.py +139 -139
  33. avantis_trader_sdk/types.py +462 -462
  34. avantis_trader_sdk/utils.py +78 -78
  35. {avantis_trader_sdk-0.8.2.dist-info → avantis_trader_sdk-0.8.3.dist-info}/METADATA +124 -113
  36. {avantis_trader_sdk-0.8.2.dist-info → avantis_trader_sdk-0.8.3.dist-info}/RECORD +38 -39
  37. {avantis_trader_sdk-0.8.2.dist-info → avantis_trader_sdk-0.8.3.dist-info}/WHEEL +1 -1
  38. avantis_trader_sdk/feed/feedIds.json +0 -214
  39. {avantis_trader_sdk-0.8.2.dist-info → avantis_trader_sdk-0.8.3.dist-info}/top_level.txt +0 -0
@@ -1,2330 +1,2330 @@
1
- {
2
- "abi": [
3
- {
4
- "type": "function",
5
- "name": "executions",
6
- "inputs": [],
7
- "outputs": [{ "name": "", "type": "address", "internalType": "contract IExecute" }],
8
- "stateMutability": "view"
9
- },
10
- {
11
- "type": "function",
12
- "name": "fulfill",
13
- "inputs": [
14
- { "name": "orderId", "type": "uint256", "internalType": "uint256" },
15
- { "name": "priceUpdateData", "type": "bytes[]", "internalType": "bytes[]" }
16
- ],
17
- "outputs": [],
18
- "stateMutability": "payable"
19
- },
20
- {
21
- "type": "function",
22
- "name": "getPrice",
23
- "inputs": [
24
- { "name": "", "type": "uint256", "internalType": "uint256" },
25
- { "name": "", "type": "uint8", "internalType": "enum IPriceAggregator.OrderType" }
26
- ],
27
- "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
28
- "stateMutability": "nonpayable"
29
- },
30
- {
31
- "type": "function",
32
- "name": "openFeeP",
33
- "inputs": [
34
- { "name": "", "type": "uint256", "internalType": "uint256" },
35
- { "name": "", "type": "uint256", "internalType": "uint256" },
36
- { "name": "", "type": "bool", "internalType": "bool" }
37
- ],
38
- "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
39
- "stateMutability": "view"
40
- },
41
- {
42
- "type": "function",
43
- "name": "pairsStorage",
44
- "inputs": [],
45
- "outputs": [{ "name": "", "type": "address", "internalType": "contract IPairStorage" }],
46
- "stateMutability": "view"
47
- },
48
- {
49
- "type": "function",
50
- "name": "pendingMarginUpdateOrders",
51
- "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
52
- "outputs": [
53
- {
54
- "name": "",
55
- "type": "tuple",
56
- "internalType": "struct IPriceAggregator.PendingMarginUpdate",
57
- "components": [
58
- { "name": "trader", "type": "address", "internalType": "address" },
59
- { "name": "pairIndex", "type": "uint256", "internalType": "uint256" },
60
- { "name": "index", "type": "uint256", "internalType": "uint256" },
61
- { "name": "_type", "type": "uint8", "internalType": "enum ITradingStorage.updateType" },
62
- { "name": "amount", "type": "uint256", "internalType": "uint256" },
63
- { "name": "tier", "type": "uint256", "internalType": "uint256" },
64
- { "name": "marginFees", "type": "uint256", "internalType": "uint256" },
65
- { "name": "oldLeverage", "type": "uint256", "internalType": "uint256" }
66
- ]
67
- }
68
- ],
69
- "stateMutability": "view"
70
- },
71
- {
72
- "type": "function",
73
- "name": "pendingSlOrders",
74
- "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
75
- "outputs": [
76
- {
77
- "name": "",
78
- "type": "tuple",
79
- "internalType": "struct IPriceAggregator.PendingSl",
80
- "components": [
81
- { "name": "trader", "type": "address", "internalType": "address" },
82
- { "name": "pairIndex", "type": "uint256", "internalType": "uint256" },
83
- { "name": "index", "type": "uint256", "internalType": "uint256" },
84
- { "name": "openPrice", "type": "uint256", "internalType": "uint256" },
85
- { "name": "buy", "type": "bool", "internalType": "bool" },
86
- { "name": "newSl", "type": "uint256", "internalType": "uint256" }
87
- ]
88
- }
89
- ],
90
- "stateMutability": "view"
91
- },
92
- {
93
- "type": "function",
94
- "name": "storePendingMarginUpdateOrder",
95
- "inputs": [
96
- { "name": "orderId", "type": "uint256", "internalType": "uint256" },
97
- {
98
- "name": "p",
99
- "type": "tuple",
100
- "internalType": "struct IPriceAggregator.PendingMarginUpdate",
101
- "components": [
102
- { "name": "trader", "type": "address", "internalType": "address" },
103
- { "name": "pairIndex", "type": "uint256", "internalType": "uint256" },
104
- { "name": "index", "type": "uint256", "internalType": "uint256" },
105
- { "name": "_type", "type": "uint8", "internalType": "enum ITradingStorage.updateType" },
106
- { "name": "amount", "type": "uint256", "internalType": "uint256" },
107
- { "name": "tier", "type": "uint256", "internalType": "uint256" },
108
- { "name": "marginFees", "type": "uint256", "internalType": "uint256" },
109
- { "name": "oldLeverage", "type": "uint256", "internalType": "uint256" }
110
- ]
111
- }
112
- ],
113
- "outputs": [],
114
- "stateMutability": "nonpayable"
115
- },
116
- {
117
- "type": "function",
118
- "name": "storePendingSlOrder",
119
- "inputs": [
120
- { "name": "orderId", "type": "uint256", "internalType": "uint256" },
121
- {
122
- "name": "p",
123
- "type": "tuple",
124
- "internalType": "struct IPriceAggregator.PendingSl",
125
- "components": [
126
- { "name": "trader", "type": "address", "internalType": "address" },
127
- { "name": "pairIndex", "type": "uint256", "internalType": "uint256" },
128
- { "name": "index", "type": "uint256", "internalType": "uint256" },
129
- { "name": "openPrice", "type": "uint256", "internalType": "uint256" },
130
- { "name": "buy", "type": "bool", "internalType": "bool" },
131
- { "name": "newSl", "type": "uint256", "internalType": "uint256" }
132
- ]
133
- }
134
- ],
135
- "outputs": [],
136
- "stateMutability": "nonpayable"
137
- },
138
- {
139
- "type": "function",
140
- "name": "unregisterPendingMarginUpdateOrder",
141
- "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
142
- "outputs": [],
143
- "stateMutability": "nonpayable"
144
- },
145
- {
146
- "type": "function",
147
- "name": "unregisterPendingSlOrder",
148
- "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
149
- "outputs": [],
150
- "stateMutability": "nonpayable"
151
- },
152
- {
153
- "type": "event",
154
- "name": "AddressUpdated",
155
- "inputs": [
156
- { "name": "name", "type": "string", "indexed": false, "internalType": "string" },
157
- { "name": "a", "type": "address", "indexed": false, "internalType": "address" }
158
- ],
159
- "anonymous": false
160
- },
161
- {
162
- "type": "event",
163
- "name": "BackUpTriggered",
164
- "inputs": [{ "name": "_start", "type": "bool", "indexed": false, "internalType": "bool" }],
165
- "anonymous": false
166
- },
167
- {
168
- "type": "event",
169
- "name": "BackupPriceReceived",
170
- "inputs": [
171
- { "name": "orderId", "type": "uint256", "indexed": false, "internalType": "uint256" },
172
- { "name": "pairIndex", "type": "uint256", "indexed": false, "internalType": "uint256" },
173
- { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }
174
- ],
175
- "anonymous": false
176
- },
177
- {
178
- "type": "event",
179
- "name": "NumberUpdated",
180
- "inputs": [
181
- { "name": "name", "type": "string", "indexed": false, "internalType": "string" },
182
- { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" }
183
- ],
184
- "anonymous": false
185
- },
186
- {
187
- "type": "event",
188
- "name": "PriceReceived",
189
- "inputs": [
190
- { "name": "orderId", "type": "uint256", "indexed": false, "internalType": "uint256" },
191
- { "name": "pairIndex", "type": "uint256", "indexed": false, "internalType": "uint256" },
192
- { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }
193
- ],
194
- "anonymous": false
195
- },
196
- {
197
- "type": "event",
198
- "name": "PythUpdated",
199
- "inputs": [{ "name": "a", "type": "address", "indexed": false, "internalType": "address" }],
200
- "anonymous": false
201
- },
202
- {
203
- "type": "event",
204
- "name": "chainlinkValidityPeriodSet",
205
- "inputs": [{ "name": "_newPeriod", "type": "uint256", "indexed": false, "internalType": "uint256" }],
206
- "anonymous": false
207
- }
208
- ],
209
- "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
210
- "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
211
- "methodIdentifiers": {
212
- "executions()": "b21f4517",
213
- "fulfill(uint256,bytes[])": "dd2f3c05",
214
- "getPrice(uint256,uint8)": "c0a027f4",
215
- "openFeeP(uint256,uint256,bool)": "3a100f4d",
216
- "pairsStorage()": "35b03c17",
217
- "pendingMarginUpdateOrders(uint256)": "d1f6652e",
218
- "pendingSlOrders(uint256)": "37a3dba3",
219
- "storePendingMarginUpdateOrder(uint256,(address,uint256,uint256,uint8,uint256,uint256,uint256,uint256))": "cbe91bd9",
220
- "storePendingSlOrder(uint256,(address,uint256,uint256,uint256,bool,uint256))": "b8213bfa",
221
- "unregisterPendingMarginUpdateOrder(uint256)": "c61904a1",
222
- "unregisterPendingSlOrder(uint256)": "61417a43"
223
- },
224
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"AddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_start\",\"type\":\"bool\"}],\"name\":\"BackUpTriggered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pairIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"BackupPriceReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"NumberUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pairIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"PriceReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"PythUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newPeriod\",\"type\":\"uint256\"}],\"name\":\"chainlinkValidityPeriodSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"executions\",\"outputs\":[{\"internalType\":\"contract IExecute\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"priceUpdateData\",\"type\":\"bytes[]\"}],\"name\":\"fulfill\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"enum IPriceAggregator.OrderType\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"openFeeP\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pairsStorage\",\"outputs\":[{\"internalType\":\"contract IPairStorage\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"pendingMarginUpdateOrders\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pairIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"enum ITradingStorage.updateType\",\"name\":\"_type\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marginFees\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"oldLeverage\",\"type\":\"uint256\"}],\"internalType\":\"struct IPriceAggregator.PendingMarginUpdate\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"pendingSlOrders\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pairIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"openPrice\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"buy\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"newSl\",\"type\":\"uint256\"}],\"internalType\":\"struct IPriceAggregator.PendingSl\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pairIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"enum ITradingStorage.updateType\",\"name\":\"_type\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marginFees\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"oldLeverage\",\"type\":\"uint256\"}],\"internalType\":\"struct IPriceAggregator.PendingMarginUpdate\",\"name\":\"p\",\"type\":\"tuple\"}],\"name\":\"storePendingMarginUpdateOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pairIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"openPrice\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"buy\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"newSl\",\"type\":\"uint256\"}],\"internalType\":\"struct IPriceAggregator.PendingSl\",\"name\":\"p\",\"type\":\"tuple\"}],\"name\":\"storePendingSlOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"unregisterPendingMarginUpdateOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"unregisterPendingSlOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IPriceAggregator.sol\":\"IPriceAggregator\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=lib/chainlink/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":chainlink/=lib/chainlink/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":pyth-sdk-solidity/=lib/pyth-sdk-solidity/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"src/interfaces/ICallbacks.sol\":{\"keccak256\":\"0xf752442ca8254c91ace7ca3e7c6360783cfd9019ce50f3354c45b7e73268f6e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d43dbc8029336d54a698810f532ce5ccdb9957db24cfbbefd56d65837001743f\",\"dweb:/ipfs/QmSEfht6aZ7McGJJPqBeorSdYve3NpnMvCwt5vX1VKp6pu\"]},\"src/interfaces/IExecute.sol\":{\"keccak256\":\"0x189f78c460465dcdaab444248da17059e96e76e862bb08540e7054296512b9b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c757cbde37e2932a25fca5ed1ef8fdd49cf1521b8d9f1cfa1d512d1e94862a3b\",\"dweb:/ipfs/QmVvbrLcDBFo9oMdNqaYTmhhtgnH2WzgX8nbMTKuJU6Y1m\"]},\"src/interfaces/IPairStorage.sol\":{\"keccak256\":\"0xe21543cdbe3b6c526c3d13178cc0550d3f310d3d3d0fda72949697c5c3c6ca2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57ae213d0c07d7206ddafbd04e45e76f5f10ab1c8c68082faff345d271c7ac7d\",\"dweb:/ipfs/QmQGev8sZeFeTge53USh7dyMS3jVWgvr3VVPDFqnnNRqti\"]},\"src/interfaces/IPausable.sol\":{\"keccak256\":\"0x0cf760757842bd332ce27fac78b8dc0f7a36406529a213954bc463c2be174ecd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c69ee15b814b76caed732b47b729d1c2b361ed158b85220da30ea9aac893ad0e\",\"dweb:/ipfs/QmbF9HWVA7DCtNzK2LkRdvhMV1TuqTf9dzUzAKwQadHZnY\"]},\"src/interfaces/IPriceAggregator.sol\":{\"keccak256\":\"0x56ebae9f8fcf1e1674eafc7ab4397034d6f5304c3a8b8c688014445887ed2c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d328b9fbdbd90afb4740dff095996555d14a2cdb67849ccffe796f61a29ff2ad\",\"dweb:/ipfs/QmZZNbj6gfLvrKhdT8qghCUTRRWx26UTagirxXtqdJWTy7\"]},\"src/interfaces/ITradingStorage.sol\":{\"keccak256\":\"0x8d11251a316c5ef1808bfd4a67421fc121aa7bd32f87aec028c9078d5e2b51ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae714dca1f1584b94b8b2efe27e63c7d7fb23062700fcfbdda515bf51256294f\",\"dweb:/ipfs/QmZEoAZ28MDGsfXh48EBBJGAW9XKGpbPEPaQAzEts9fnja\"]},\"src/interfaces/IVaultManager.sol\":{\"keccak256\":\"0x155dfef9cee4095d62850c4175988ea1e58d666e0cef4a56784b5eb22945e6a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca48d24e6b286737c8644877c0317a2c81e4ffe15eed3b2a47a7494700581b05\",\"dweb:/ipfs/Qmct1V584KcWZTtKZrU6DK444nHs7PRi3r8DiHNYesh9eZ\"]}},\"version\":1}",
225
- "metadata": {
226
- "compiler": { "version": "0.8.7+commit.e28d00a7" },
227
- "language": "Solidity",
228
- "output": {
229
- "abi": [
230
- {
231
- "inputs": [
232
- { "internalType": "string", "name": "name", "type": "string", "indexed": false },
233
- { "internalType": "address", "name": "a", "type": "address", "indexed": false }
234
- ],
235
- "type": "event",
236
- "name": "AddressUpdated",
237
- "anonymous": false
238
- },
239
- {
240
- "inputs": [{ "internalType": "bool", "name": "_start", "type": "bool", "indexed": false }],
241
- "type": "event",
242
- "name": "BackUpTriggered",
243
- "anonymous": false
244
- },
245
- {
246
- "inputs": [
247
- { "internalType": "uint256", "name": "orderId", "type": "uint256", "indexed": false },
248
- { "internalType": "uint256", "name": "pairIndex", "type": "uint256", "indexed": false },
249
- { "internalType": "uint256", "name": "price", "type": "uint256", "indexed": false }
250
- ],
251
- "type": "event",
252
- "name": "BackupPriceReceived",
253
- "anonymous": false
254
- },
255
- {
256
- "inputs": [
257
- { "internalType": "string", "name": "name", "type": "string", "indexed": false },
258
- { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false }
259
- ],
260
- "type": "event",
261
- "name": "NumberUpdated",
262
- "anonymous": false
263
- },
264
- {
265
- "inputs": [
266
- { "internalType": "uint256", "name": "orderId", "type": "uint256", "indexed": false },
267
- { "internalType": "uint256", "name": "pairIndex", "type": "uint256", "indexed": false },
268
- { "internalType": "uint256", "name": "price", "type": "uint256", "indexed": false }
269
- ],
270
- "type": "event",
271
- "name": "PriceReceived",
272
- "anonymous": false
273
- },
274
- {
275
- "inputs": [{ "internalType": "address", "name": "a", "type": "address", "indexed": false }],
276
- "type": "event",
277
- "name": "PythUpdated",
278
- "anonymous": false
279
- },
280
- {
281
- "inputs": [{ "internalType": "uint256", "name": "_newPeriod", "type": "uint256", "indexed": false }],
282
- "type": "event",
283
- "name": "chainlinkValidityPeriodSet",
284
- "anonymous": false
285
- },
286
- {
287
- "inputs": [],
288
- "stateMutability": "view",
289
- "type": "function",
290
- "name": "executions",
291
- "outputs": [{ "internalType": "contract IExecute", "name": "", "type": "address" }]
292
- },
293
- {
294
- "inputs": [
295
- { "internalType": "uint256", "name": "orderId", "type": "uint256" },
296
- { "internalType": "bytes[]", "name": "priceUpdateData", "type": "bytes[]" }
297
- ],
298
- "stateMutability": "payable",
299
- "type": "function",
300
- "name": "fulfill"
301
- },
302
- {
303
- "inputs": [
304
- { "internalType": "uint256", "name": "", "type": "uint256" },
305
- { "internalType": "enum IPriceAggregator.OrderType", "name": "", "type": "uint8" }
306
- ],
307
- "stateMutability": "nonpayable",
308
- "type": "function",
309
- "name": "getPrice",
310
- "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
311
- },
312
- {
313
- "inputs": [
314
- { "internalType": "uint256", "name": "", "type": "uint256" },
315
- { "internalType": "uint256", "name": "", "type": "uint256" },
316
- { "internalType": "bool", "name": "", "type": "bool" }
317
- ],
318
- "stateMutability": "view",
319
- "type": "function",
320
- "name": "openFeeP",
321
- "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
322
- },
323
- {
324
- "inputs": [],
325
- "stateMutability": "view",
326
- "type": "function",
327
- "name": "pairsStorage",
328
- "outputs": [{ "internalType": "contract IPairStorage", "name": "", "type": "address" }]
329
- },
330
- {
331
- "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
332
- "stateMutability": "view",
333
- "type": "function",
334
- "name": "pendingMarginUpdateOrders",
335
- "outputs": [
336
- {
337
- "internalType": "struct IPriceAggregator.PendingMarginUpdate",
338
- "name": "",
339
- "type": "tuple",
340
- "components": [
341
- { "internalType": "address", "name": "trader", "type": "address" },
342
- { "internalType": "uint256", "name": "pairIndex", "type": "uint256" },
343
- { "internalType": "uint256", "name": "index", "type": "uint256" },
344
- { "internalType": "enum ITradingStorage.updateType", "name": "_type", "type": "uint8" },
345
- { "internalType": "uint256", "name": "amount", "type": "uint256" },
346
- { "internalType": "uint256", "name": "tier", "type": "uint256" },
347
- { "internalType": "uint256", "name": "marginFees", "type": "uint256" },
348
- { "internalType": "uint256", "name": "oldLeverage", "type": "uint256" }
349
- ]
350
- }
351
- ]
352
- },
353
- {
354
- "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
355
- "stateMutability": "view",
356
- "type": "function",
357
- "name": "pendingSlOrders",
358
- "outputs": [
359
- {
360
- "internalType": "struct IPriceAggregator.PendingSl",
361
- "name": "",
362
- "type": "tuple",
363
- "components": [
364
- { "internalType": "address", "name": "trader", "type": "address" },
365
- { "internalType": "uint256", "name": "pairIndex", "type": "uint256" },
366
- { "internalType": "uint256", "name": "index", "type": "uint256" },
367
- { "internalType": "uint256", "name": "openPrice", "type": "uint256" },
368
- { "internalType": "bool", "name": "buy", "type": "bool" },
369
- { "internalType": "uint256", "name": "newSl", "type": "uint256" }
370
- ]
371
- }
372
- ]
373
- },
374
- {
375
- "inputs": [
376
- { "internalType": "uint256", "name": "orderId", "type": "uint256" },
377
- {
378
- "internalType": "struct IPriceAggregator.PendingMarginUpdate",
379
- "name": "p",
380
- "type": "tuple",
381
- "components": [
382
- { "internalType": "address", "name": "trader", "type": "address" },
383
- { "internalType": "uint256", "name": "pairIndex", "type": "uint256" },
384
- { "internalType": "uint256", "name": "index", "type": "uint256" },
385
- { "internalType": "enum ITradingStorage.updateType", "name": "_type", "type": "uint8" },
386
- { "internalType": "uint256", "name": "amount", "type": "uint256" },
387
- { "internalType": "uint256", "name": "tier", "type": "uint256" },
388
- { "internalType": "uint256", "name": "marginFees", "type": "uint256" },
389
- { "internalType": "uint256", "name": "oldLeverage", "type": "uint256" }
390
- ]
391
- }
392
- ],
393
- "stateMutability": "nonpayable",
394
- "type": "function",
395
- "name": "storePendingMarginUpdateOrder"
396
- },
397
- {
398
- "inputs": [
399
- { "internalType": "uint256", "name": "orderId", "type": "uint256" },
400
- {
401
- "internalType": "struct IPriceAggregator.PendingSl",
402
- "name": "p",
403
- "type": "tuple",
404
- "components": [
405
- { "internalType": "address", "name": "trader", "type": "address" },
406
- { "internalType": "uint256", "name": "pairIndex", "type": "uint256" },
407
- { "internalType": "uint256", "name": "index", "type": "uint256" },
408
- { "internalType": "uint256", "name": "openPrice", "type": "uint256" },
409
- { "internalType": "bool", "name": "buy", "type": "bool" },
410
- { "internalType": "uint256", "name": "newSl", "type": "uint256" }
411
- ]
412
- }
413
- ],
414
- "stateMutability": "nonpayable",
415
- "type": "function",
416
- "name": "storePendingSlOrder"
417
- },
418
- {
419
- "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
420
- "stateMutability": "nonpayable",
421
- "type": "function",
422
- "name": "unregisterPendingMarginUpdateOrder"
423
- },
424
- {
425
- "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
426
- "stateMutability": "nonpayable",
427
- "type": "function",
428
- "name": "unregisterPendingSlOrder"
429
- }
430
- ],
431
- "devdoc": { "kind": "dev", "methods": {}, "version": 1 },
432
- "userdoc": { "kind": "user", "methods": {}, "version": 1 }
433
- },
434
- "settings": {
435
- "remappings": [
436
- "@chainlink/=lib/chainlink/",
437
- "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
438
- "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
439
- "chainlink/=lib/chainlink/",
440
- "ds-test/=lib/forge-std/lib/ds-test/src/",
441
- "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
442
- "forge-std/=lib/forge-std/src/",
443
- "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
444
- "openzeppelin-contracts/=lib/openzeppelin-contracts/",
445
- "openzeppelin/=lib/openzeppelin-contracts/contracts/",
446
- "pyth-sdk-solidity/=lib/pyth-sdk-solidity/"
447
- ],
448
- "optimizer": { "enabled": true, "runs": 200 },
449
- "metadata": { "bytecodeHash": "ipfs" },
450
- "compilationTarget": { "src/interfaces/IPriceAggregator.sol": "IPriceAggregator" },
451
- "libraries": {}
452
- },
453
- "sources": {
454
- "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": {
455
- "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305",
456
- "urls": [
457
- "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5",
458
- "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"
459
- ],
460
- "license": "MIT"
461
- },
462
- "src/interfaces/ICallbacks.sol": {
463
- "keccak256": "0xf752442ca8254c91ace7ca3e7c6360783cfd9019ce50f3354c45b7e73268f6e8",
464
- "urls": [
465
- "bzz-raw://d43dbc8029336d54a698810f532ce5ccdb9957db24cfbbefd56d65837001743f",
466
- "dweb:/ipfs/QmSEfht6aZ7McGJJPqBeorSdYve3NpnMvCwt5vX1VKp6pu"
467
- ],
468
- "license": "MIT"
469
- },
470
- "src/interfaces/IExecute.sol": {
471
- "keccak256": "0x189f78c460465dcdaab444248da17059e96e76e862bb08540e7054296512b9b4",
472
- "urls": [
473
- "bzz-raw://c757cbde37e2932a25fca5ed1ef8fdd49cf1521b8d9f1cfa1d512d1e94862a3b",
474
- "dweb:/ipfs/QmVvbrLcDBFo9oMdNqaYTmhhtgnH2WzgX8nbMTKuJU6Y1m"
475
- ],
476
- "license": "MIT"
477
- },
478
- "src/interfaces/IPairStorage.sol": {
479
- "keccak256": "0xe21543cdbe3b6c526c3d13178cc0550d3f310d3d3d0fda72949697c5c3c6ca2a",
480
- "urls": [
481
- "bzz-raw://57ae213d0c07d7206ddafbd04e45e76f5f10ab1c8c68082faff345d271c7ac7d",
482
- "dweb:/ipfs/QmQGev8sZeFeTge53USh7dyMS3jVWgvr3VVPDFqnnNRqti"
483
- ],
484
- "license": "MIT"
485
- },
486
- "src/interfaces/IPausable.sol": {
487
- "keccak256": "0x0cf760757842bd332ce27fac78b8dc0f7a36406529a213954bc463c2be174ecd",
488
- "urls": [
489
- "bzz-raw://c69ee15b814b76caed732b47b729d1c2b361ed158b85220da30ea9aac893ad0e",
490
- "dweb:/ipfs/QmbF9HWVA7DCtNzK2LkRdvhMV1TuqTf9dzUzAKwQadHZnY"
491
- ],
492
- "license": "MIT"
493
- },
494
- "src/interfaces/IPriceAggregator.sol": {
495
- "keccak256": "0x56ebae9f8fcf1e1674eafc7ab4397034d6f5304c3a8b8c688014445887ed2c5e",
496
- "urls": [
497
- "bzz-raw://d328b9fbdbd90afb4740dff095996555d14a2cdb67849ccffe796f61a29ff2ad",
498
- "dweb:/ipfs/QmZZNbj6gfLvrKhdT8qghCUTRRWx26UTagirxXtqdJWTy7"
499
- ],
500
- "license": "MIT"
501
- },
502
- "src/interfaces/ITradingStorage.sol": {
503
- "keccak256": "0x8d11251a316c5ef1808bfd4a67421fc121aa7bd32f87aec028c9078d5e2b51ae",
504
- "urls": [
505
- "bzz-raw://ae714dca1f1584b94b8b2efe27e63c7d7fb23062700fcfbdda515bf51256294f",
506
- "dweb:/ipfs/QmZEoAZ28MDGsfXh48EBBJGAW9XKGpbPEPaQAzEts9fnja"
507
- ],
508
- "license": "MIT"
509
- },
510
- "src/interfaces/IVaultManager.sol": {
511
- "keccak256": "0x155dfef9cee4095d62850c4175988ea1e58d666e0cef4a56784b5eb22945e6a4",
512
- "urls": [
513
- "bzz-raw://ca48d24e6b286737c8644877c0317a2c81e4ffe15eed3b2a47a7494700581b05",
514
- "dweb:/ipfs/Qmct1V584KcWZTtKZrU6DK444nHs7PRi3r8DiHNYesh9eZ"
515
- ],
516
- "license": "MIT"
517
- }
518
- },
519
- "version": 1
520
- },
521
- "ast": {
522
- "absolutePath": "src/interfaces/IPriceAggregator.sol",
523
- "id": 73850,
524
- "exportedSymbols": {
525
- "IExecute": [73019],
526
- "IPairStorage": [73664],
527
- "IPriceAggregator": [73849],
528
- "ITradingStorage": [74531]
529
- },
530
- "nodeType": "SourceUnit",
531
- "src": "32:2050:92",
532
- "nodes": [
533
- {
534
- "id": 73674,
535
- "nodeType": "PragmaDirective",
536
- "src": "32:22:92",
537
- "nodes": [],
538
- "literals": ["solidity", "0.8", ".7"]
539
- },
540
- {
541
- "id": 73675,
542
- "nodeType": "ImportDirective",
543
- "src": "55:28:92",
544
- "nodes": [],
545
- "absolutePath": "src/interfaces/IPairStorage.sol",
546
- "file": "./IPairStorage.sol",
547
- "nameLocation": "-1:-1:-1",
548
- "scope": 73850,
549
- "sourceUnit": 73665,
550
- "symbolAliases": [],
551
- "unitAlias": ""
552
- },
553
- {
554
- "id": 73676,
555
- "nodeType": "ImportDirective",
556
- "src": "84:24:92",
557
- "nodes": [],
558
- "absolutePath": "src/interfaces/IExecute.sol",
559
- "file": "./IExecute.sol",
560
- "nameLocation": "-1:-1:-1",
561
- "scope": 73850,
562
- "sourceUnit": 73020,
563
- "symbolAliases": [],
564
- "unitAlias": ""
565
- },
566
- {
567
- "id": 73677,
568
- "nodeType": "ImportDirective",
569
- "src": "109:31:92",
570
- "nodes": [],
571
- "absolutePath": "src/interfaces/ITradingStorage.sol",
572
- "file": "./ITradingStorage.sol",
573
- "nameLocation": "-1:-1:-1",
574
- "scope": 73850,
575
- "sourceUnit": 74532,
576
- "symbolAliases": [],
577
- "unitAlias": ""
578
- },
579
- {
580
- "id": 73849,
581
- "nodeType": "ContractDefinition",
582
- "src": "142:1939:92",
583
- "nodes": [
584
- {
585
- "id": 73684,
586
- "nodeType": "EnumDefinition",
587
- "src": "176:147:92",
588
- "nodes": [],
589
- "canonicalName": "IPriceAggregator.OrderType",
590
- "members": [
591
- {
592
- "id": 73678,
593
- "name": "MARKET_OPEN",
594
- "nameLocation": "201:11:92",
595
- "nodeType": "EnumValue",
596
- "src": "201:11:92"
597
- },
598
- {
599
- "id": 73679,
600
- "name": "MARKET_CLOSE",
601
- "nameLocation": "222:12:92",
602
- "nodeType": "EnumValue",
603
- "src": "222:12:92"
604
- },
605
- {
606
- "id": 73680,
607
- "name": "LIMIT_OPEN",
608
- "nameLocation": "244:10:92",
609
- "nodeType": "EnumValue",
610
- "src": "244:10:92"
611
- },
612
- {
613
- "id": 73681,
614
- "name": "LIMIT_CLOSE",
615
- "nameLocation": "264:11:92",
616
- "nodeType": "EnumValue",
617
- "src": "264:11:92"
618
- },
619
- {
620
- "id": 73682,
621
- "name": "UPDATE_MARGIN",
622
- "nameLocation": "285:13:92",
623
- "nodeType": "EnumValue",
624
- "src": "285:13:92"
625
- },
626
- {
627
- "id": 73683,
628
- "name": "UPDATE_SL",
629
- "nameLocation": "308:9:92",
630
- "nodeType": "EnumValue",
631
- "src": "308:9:92"
632
- }
633
- ],
634
- "name": "OrderType",
635
- "nameLocation": "181:9:92"
636
- },
637
- {
638
- "id": 73694,
639
- "nodeType": "StructDefinition",
640
- "src": "333:118:92",
641
- "nodes": [],
642
- "canonicalName": "IPriceAggregator.Order",
643
- "members": [
644
- {
645
- "constant": false,
646
- "id": 73686,
647
- "mutability": "mutable",
648
- "name": "pairIndex",
649
- "nameLocation": "361:9:92",
650
- "nodeType": "VariableDeclaration",
651
- "scope": 73694,
652
- "src": "356:14:92",
653
- "stateVariable": false,
654
- "storageLocation": "default",
655
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
656
- "typeName": {
657
- "id": 73685,
658
- "name": "uint",
659
- "nodeType": "ElementaryTypeName",
660
- "src": "356:4:92",
661
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
662
- },
663
- "visibility": "internal"
664
- },
665
- {
666
- "constant": false,
667
- "id": 73689,
668
- "mutability": "mutable",
669
- "name": "orderType",
670
- "nameLocation": "390:9:92",
671
- "nodeType": "VariableDeclaration",
672
- "scope": 73694,
673
- "src": "380:19:92",
674
- "stateVariable": false,
675
- "storageLocation": "default",
676
- "typeDescriptions": {
677
- "typeIdentifier": "t_enum$_OrderType_$73684",
678
- "typeString": "enum IPriceAggregator.OrderType"
679
- },
680
- "typeName": {
681
- "id": 73688,
682
- "nodeType": "UserDefinedTypeName",
683
- "pathNode": {
684
- "id": 73687,
685
- "name": "OrderType",
686
- "nodeType": "IdentifierPath",
687
- "referencedDeclaration": 73684,
688
- "src": "380:9:92"
689
- },
690
- "referencedDeclaration": 73684,
691
- "src": "380:9:92",
692
- "typeDescriptions": {
693
- "typeIdentifier": "t_enum$_OrderType_$73684",
694
- "typeString": "enum IPriceAggregator.OrderType"
695
- }
696
- },
697
- "visibility": "internal"
698
- },
699
- {
700
- "constant": false,
701
- "id": 73691,
702
- "mutability": "mutable",
703
- "name": "job",
704
- "nameLocation": "417:3:92",
705
- "nodeType": "VariableDeclaration",
706
- "scope": 73694,
707
- "src": "409:11:92",
708
- "stateVariable": false,
709
- "storageLocation": "default",
710
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
711
- "typeName": {
712
- "id": 73690,
713
- "name": "bytes32",
714
- "nodeType": "ElementaryTypeName",
715
- "src": "409:7:92",
716
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
717
- },
718
- "visibility": "internal"
719
- },
720
- {
721
- "constant": false,
722
- "id": 73693,
723
- "mutability": "mutable",
724
- "name": "initiated",
725
- "nameLocation": "435:9:92",
726
- "nodeType": "VariableDeclaration",
727
- "scope": 73694,
728
- "src": "430:14:92",
729
- "stateVariable": false,
730
- "storageLocation": "default",
731
- "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" },
732
- "typeName": {
733
- "id": 73692,
734
- "name": "bool",
735
- "nodeType": "ElementaryTypeName",
736
- "src": "430:4:92",
737
- "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }
738
- },
739
- "visibility": "internal"
740
- }
741
- ],
742
- "name": "Order",
743
- "nameLocation": "340:5:92",
744
- "scope": 73849,
745
- "visibility": "public"
746
- },
747
- {
748
- "id": 73707,
749
- "nodeType": "StructDefinition",
750
- "src": "456:154:92",
751
- "nodes": [],
752
- "canonicalName": "IPriceAggregator.PendingSl",
753
- "members": [
754
- {
755
- "constant": false,
756
- "id": 73696,
757
- "mutability": "mutable",
758
- "name": "trader",
759
- "nameLocation": "491:6:92",
760
- "nodeType": "VariableDeclaration",
761
- "scope": 73707,
762
- "src": "483:14:92",
763
- "stateVariable": false,
764
- "storageLocation": "default",
765
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
766
- "typeName": {
767
- "id": 73695,
768
- "name": "address",
769
- "nodeType": "ElementaryTypeName",
770
- "src": "483:7:92",
771
- "stateMutability": "nonpayable",
772
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
773
- },
774
- "visibility": "internal"
775
- },
776
- {
777
- "constant": false,
778
- "id": 73698,
779
- "mutability": "mutable",
780
- "name": "pairIndex",
781
- "nameLocation": "512:9:92",
782
- "nodeType": "VariableDeclaration",
783
- "scope": 73707,
784
- "src": "507:14:92",
785
- "stateVariable": false,
786
- "storageLocation": "default",
787
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
788
- "typeName": {
789
- "id": 73697,
790
- "name": "uint",
791
- "nodeType": "ElementaryTypeName",
792
- "src": "507:4:92",
793
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
794
- },
795
- "visibility": "internal"
796
- },
797
- {
798
- "constant": false,
799
- "id": 73700,
800
- "mutability": "mutable",
801
- "name": "index",
802
- "nameLocation": "536:5:92",
803
- "nodeType": "VariableDeclaration",
804
- "scope": 73707,
805
- "src": "531:10:92",
806
- "stateVariable": false,
807
- "storageLocation": "default",
808
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
809
- "typeName": {
810
- "id": 73699,
811
- "name": "uint",
812
- "nodeType": "ElementaryTypeName",
813
- "src": "531:4:92",
814
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
815
- },
816
- "visibility": "internal"
817
- },
818
- {
819
- "constant": false,
820
- "id": 73702,
821
- "mutability": "mutable",
822
- "name": "openPrice",
823
- "nameLocation": "556:9:92",
824
- "nodeType": "VariableDeclaration",
825
- "scope": 73707,
826
- "src": "551:14:92",
827
- "stateVariable": false,
828
- "storageLocation": "default",
829
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
830
- "typeName": {
831
- "id": 73701,
832
- "name": "uint",
833
- "nodeType": "ElementaryTypeName",
834
- "src": "551:4:92",
835
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
836
- },
837
- "visibility": "internal"
838
- },
839
- {
840
- "constant": false,
841
- "id": 73704,
842
- "mutability": "mutable",
843
- "name": "buy",
844
- "nameLocation": "580:3:92",
845
- "nodeType": "VariableDeclaration",
846
- "scope": 73707,
847
- "src": "575:8:92",
848
- "stateVariable": false,
849
- "storageLocation": "default",
850
- "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" },
851
- "typeName": {
852
- "id": 73703,
853
- "name": "bool",
854
- "nodeType": "ElementaryTypeName",
855
- "src": "575:4:92",
856
- "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }
857
- },
858
- "visibility": "internal"
859
- },
860
- {
861
- "constant": false,
862
- "id": 73706,
863
- "mutability": "mutable",
864
- "name": "newSl",
865
- "nameLocation": "598:5:92",
866
- "nodeType": "VariableDeclaration",
867
- "scope": 73707,
868
- "src": "593:10:92",
869
- "stateVariable": false,
870
- "storageLocation": "default",
871
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
872
- "typeName": {
873
- "id": 73705,
874
- "name": "uint",
875
- "nodeType": "ElementaryTypeName",
876
- "src": "593:4:92",
877
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
878
- },
879
- "visibility": "internal"
880
- }
881
- ],
882
- "name": "PendingSl",
883
- "nameLocation": "463:9:92",
884
- "scope": 73849,
885
- "visibility": "public"
886
- },
887
- {
888
- "id": 73725,
889
- "nodeType": "StructDefinition",
890
- "src": "616:235:92",
891
- "nodes": [],
892
- "canonicalName": "IPriceAggregator.PendingMarginUpdate",
893
- "members": [
894
- {
895
- "constant": false,
896
- "id": 73709,
897
- "mutability": "mutable",
898
- "name": "trader",
899
- "nameLocation": "661:6:92",
900
- "nodeType": "VariableDeclaration",
901
- "scope": 73725,
902
- "src": "653:14:92",
903
- "stateVariable": false,
904
- "storageLocation": "default",
905
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
906
- "typeName": {
907
- "id": 73708,
908
- "name": "address",
909
- "nodeType": "ElementaryTypeName",
910
- "src": "653:7:92",
911
- "stateMutability": "nonpayable",
912
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
913
- },
914
- "visibility": "internal"
915
- },
916
- {
917
- "constant": false,
918
- "id": 73711,
919
- "mutability": "mutable",
920
- "name": "pairIndex",
921
- "nameLocation": "682:9:92",
922
- "nodeType": "VariableDeclaration",
923
- "scope": 73725,
924
- "src": "677:14:92",
925
- "stateVariable": false,
926
- "storageLocation": "default",
927
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
928
- "typeName": {
929
- "id": 73710,
930
- "name": "uint",
931
- "nodeType": "ElementaryTypeName",
932
- "src": "677:4:92",
933
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
934
- },
935
- "visibility": "internal"
936
- },
937
- {
938
- "constant": false,
939
- "id": 73713,
940
- "mutability": "mutable",
941
- "name": "index",
942
- "nameLocation": "706:5:92",
943
- "nodeType": "VariableDeclaration",
944
- "scope": 73725,
945
- "src": "701:10:92",
946
- "stateVariable": false,
947
- "storageLocation": "default",
948
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
949
- "typeName": {
950
- "id": 73712,
951
- "name": "uint",
952
- "nodeType": "ElementaryTypeName",
953
- "src": "701:4:92",
954
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
955
- },
956
- "visibility": "internal"
957
- },
958
- {
959
- "constant": false,
960
- "id": 73716,
961
- "mutability": "mutable",
962
- "name": "_type",
963
- "nameLocation": "748:5:92",
964
- "nodeType": "VariableDeclaration",
965
- "scope": 73725,
966
- "src": "721:32:92",
967
- "stateVariable": false,
968
- "storageLocation": "default",
969
- "typeDescriptions": {
970
- "typeIdentifier": "t_enum$_updateType_$74009",
971
- "typeString": "enum ITradingStorage.updateType"
972
- },
973
- "typeName": {
974
- "id": 73715,
975
- "nodeType": "UserDefinedTypeName",
976
- "pathNode": {
977
- "id": 73714,
978
- "name": "ITradingStorage.updateType",
979
- "nodeType": "IdentifierPath",
980
- "referencedDeclaration": 74009,
981
- "src": "721:26:92"
982
- },
983
- "referencedDeclaration": 74009,
984
- "src": "721:26:92",
985
- "typeDescriptions": {
986
- "typeIdentifier": "t_enum$_updateType_$74009",
987
- "typeString": "enum ITradingStorage.updateType"
988
- }
989
- },
990
- "visibility": "internal"
991
- },
992
- {
993
- "constant": false,
994
- "id": 73718,
995
- "mutability": "mutable",
996
- "name": "amount",
997
- "nameLocation": "768:6:92",
998
- "nodeType": "VariableDeclaration",
999
- "scope": 73725,
1000
- "src": "763:11:92",
1001
- "stateVariable": false,
1002
- "storageLocation": "default",
1003
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1004
- "typeName": {
1005
- "id": 73717,
1006
- "name": "uint",
1007
- "nodeType": "ElementaryTypeName",
1008
- "src": "763:4:92",
1009
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1010
- },
1011
- "visibility": "internal"
1012
- },
1013
- {
1014
- "constant": false,
1015
- "id": 73720,
1016
- "mutability": "mutable",
1017
- "name": "tier",
1018
- "nameLocation": "789:4:92",
1019
- "nodeType": "VariableDeclaration",
1020
- "scope": 73725,
1021
- "src": "784:9:92",
1022
- "stateVariable": false,
1023
- "storageLocation": "default",
1024
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1025
- "typeName": {
1026
- "id": 73719,
1027
- "name": "uint",
1028
- "nodeType": "ElementaryTypeName",
1029
- "src": "784:4:92",
1030
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1031
- },
1032
- "visibility": "internal"
1033
- },
1034
- {
1035
- "constant": false,
1036
- "id": 73722,
1037
- "mutability": "mutable",
1038
- "name": "marginFees",
1039
- "nameLocation": "808:10:92",
1040
- "nodeType": "VariableDeclaration",
1041
- "scope": 73725,
1042
- "src": "803:15:92",
1043
- "stateVariable": false,
1044
- "storageLocation": "default",
1045
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1046
- "typeName": {
1047
- "id": 73721,
1048
- "name": "uint",
1049
- "nodeType": "ElementaryTypeName",
1050
- "src": "803:4:92",
1051
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1052
- },
1053
- "visibility": "internal"
1054
- },
1055
- {
1056
- "constant": false,
1057
- "id": 73724,
1058
- "mutability": "mutable",
1059
- "name": "oldLeverage",
1060
- "nameLocation": "833:11:92",
1061
- "nodeType": "VariableDeclaration",
1062
- "scope": 73725,
1063
- "src": "828:16:92",
1064
- "stateVariable": false,
1065
- "storageLocation": "default",
1066
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1067
- "typeName": {
1068
- "id": 73723,
1069
- "name": "uint",
1070
- "nodeType": "ElementaryTypeName",
1071
- "src": "828:4:92",
1072
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1073
- },
1074
- "visibility": "internal"
1075
- }
1076
- ],
1077
- "name": "PendingMarginUpdate",
1078
- "nameLocation": "623:19:92",
1079
- "scope": 73849,
1080
- "visibility": "public"
1081
- },
1082
- {
1083
- "id": 73731,
1084
- "nodeType": "EventDefinition",
1085
- "src": "871:45:92",
1086
- "nodes": [],
1087
- "anonymous": false,
1088
- "name": "AddressUpdated",
1089
- "nameLocation": "877:14:92",
1090
- "parameters": {
1091
- "id": 73730,
1092
- "nodeType": "ParameterList",
1093
- "parameters": [
1094
- {
1095
- "constant": false,
1096
- "id": 73727,
1097
- "indexed": false,
1098
- "mutability": "mutable",
1099
- "name": "name",
1100
- "nameLocation": "899:4:92",
1101
- "nodeType": "VariableDeclaration",
1102
- "scope": 73731,
1103
- "src": "892:11:92",
1104
- "stateVariable": false,
1105
- "storageLocation": "default",
1106
- "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" },
1107
- "typeName": {
1108
- "id": 73726,
1109
- "name": "string",
1110
- "nodeType": "ElementaryTypeName",
1111
- "src": "892:6:92",
1112
- "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }
1113
- },
1114
- "visibility": "internal"
1115
- },
1116
- {
1117
- "constant": false,
1118
- "id": 73729,
1119
- "indexed": false,
1120
- "mutability": "mutable",
1121
- "name": "a",
1122
- "nameLocation": "913:1:92",
1123
- "nodeType": "VariableDeclaration",
1124
- "scope": 73731,
1125
- "src": "905:9:92",
1126
- "stateVariable": false,
1127
- "storageLocation": "default",
1128
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1129
- "typeName": {
1130
- "id": 73728,
1131
- "name": "address",
1132
- "nodeType": "ElementaryTypeName",
1133
- "src": "905:7:92",
1134
- "stateMutability": "nonpayable",
1135
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1136
- },
1137
- "visibility": "internal"
1138
- }
1139
- ],
1140
- "src": "891:24:92"
1141
- }
1142
- },
1143
- {
1144
- "id": 73737,
1145
- "nodeType": "EventDefinition",
1146
- "src": "921:45:92",
1147
- "nodes": [],
1148
- "anonymous": false,
1149
- "name": "NumberUpdated",
1150
- "nameLocation": "927:13:92",
1151
- "parameters": {
1152
- "id": 73736,
1153
- "nodeType": "ParameterList",
1154
- "parameters": [
1155
- {
1156
- "constant": false,
1157
- "id": 73733,
1158
- "indexed": false,
1159
- "mutability": "mutable",
1160
- "name": "name",
1161
- "nameLocation": "948:4:92",
1162
- "nodeType": "VariableDeclaration",
1163
- "scope": 73737,
1164
- "src": "941:11:92",
1165
- "stateVariable": false,
1166
- "storageLocation": "default",
1167
- "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" },
1168
- "typeName": {
1169
- "id": 73732,
1170
- "name": "string",
1171
- "nodeType": "ElementaryTypeName",
1172
- "src": "941:6:92",
1173
- "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }
1174
- },
1175
- "visibility": "internal"
1176
- },
1177
- {
1178
- "constant": false,
1179
- "id": 73735,
1180
- "indexed": false,
1181
- "mutability": "mutable",
1182
- "name": "value",
1183
- "nameLocation": "959:5:92",
1184
- "nodeType": "VariableDeclaration",
1185
- "scope": 73737,
1186
- "src": "954:10:92",
1187
- "stateVariable": false,
1188
- "storageLocation": "default",
1189
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1190
- "typeName": {
1191
- "id": 73734,
1192
- "name": "uint",
1193
- "nodeType": "ElementaryTypeName",
1194
- "src": "954:4:92",
1195
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1196
- },
1197
- "visibility": "internal"
1198
- }
1199
- ],
1200
- "src": "940:25:92"
1201
- }
1202
- },
1203
- {
1204
- "id": 73741,
1205
- "nodeType": "EventDefinition",
1206
- "src": "971:29:92",
1207
- "nodes": [],
1208
- "anonymous": false,
1209
- "name": "PythUpdated",
1210
- "nameLocation": "977:11:92",
1211
- "parameters": {
1212
- "id": 73740,
1213
- "nodeType": "ParameterList",
1214
- "parameters": [
1215
- {
1216
- "constant": false,
1217
- "id": 73739,
1218
- "indexed": false,
1219
- "mutability": "mutable",
1220
- "name": "a",
1221
- "nameLocation": "997:1:92",
1222
- "nodeType": "VariableDeclaration",
1223
- "scope": 73741,
1224
- "src": "989:9:92",
1225
- "stateVariable": false,
1226
- "storageLocation": "default",
1227
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1228
- "typeName": {
1229
- "id": 73738,
1230
- "name": "address",
1231
- "nodeType": "ElementaryTypeName",
1232
- "src": "989:7:92",
1233
- "stateMutability": "nonpayable",
1234
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1235
- },
1236
- "visibility": "internal"
1237
- }
1238
- ],
1239
- "src": "988:11:92"
1240
- }
1241
- },
1242
- {
1243
- "id": 73749,
1244
- "nodeType": "EventDefinition",
1245
- "src": "1005:62:92",
1246
- "nodes": [],
1247
- "anonymous": false,
1248
- "name": "PriceReceived",
1249
- "nameLocation": "1011:13:92",
1250
- "parameters": {
1251
- "id": 73748,
1252
- "nodeType": "ParameterList",
1253
- "parameters": [
1254
- {
1255
- "constant": false,
1256
- "id": 73743,
1257
- "indexed": false,
1258
- "mutability": "mutable",
1259
- "name": "orderId",
1260
- "nameLocation": "1030:7:92",
1261
- "nodeType": "VariableDeclaration",
1262
- "scope": 73749,
1263
- "src": "1025:12:92",
1264
- "stateVariable": false,
1265
- "storageLocation": "default",
1266
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1267
- "typeName": {
1268
- "id": 73742,
1269
- "name": "uint",
1270
- "nodeType": "ElementaryTypeName",
1271
- "src": "1025:4:92",
1272
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1273
- },
1274
- "visibility": "internal"
1275
- },
1276
- {
1277
- "constant": false,
1278
- "id": 73745,
1279
- "indexed": false,
1280
- "mutability": "mutable",
1281
- "name": "pairIndex",
1282
- "nameLocation": "1044:9:92",
1283
- "nodeType": "VariableDeclaration",
1284
- "scope": 73749,
1285
- "src": "1039:14:92",
1286
- "stateVariable": false,
1287
- "storageLocation": "default",
1288
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1289
- "typeName": {
1290
- "id": 73744,
1291
- "name": "uint",
1292
- "nodeType": "ElementaryTypeName",
1293
- "src": "1039:4:92",
1294
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1295
- },
1296
- "visibility": "internal"
1297
- },
1298
- {
1299
- "constant": false,
1300
- "id": 73747,
1301
- "indexed": false,
1302
- "mutability": "mutable",
1303
- "name": "price",
1304
- "nameLocation": "1060:5:92",
1305
- "nodeType": "VariableDeclaration",
1306
- "scope": 73749,
1307
- "src": "1055:10:92",
1308
- "stateVariable": false,
1309
- "storageLocation": "default",
1310
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1311
- "typeName": {
1312
- "id": 73746,
1313
- "name": "uint",
1314
- "nodeType": "ElementaryTypeName",
1315
- "src": "1055:4:92",
1316
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1317
- },
1318
- "visibility": "internal"
1319
- }
1320
- ],
1321
- "src": "1024:42:92"
1322
- }
1323
- },
1324
- {
1325
- "id": 73757,
1326
- "nodeType": "EventDefinition",
1327
- "src": "1072:68:92",
1328
- "nodes": [],
1329
- "anonymous": false,
1330
- "name": "BackupPriceReceived",
1331
- "nameLocation": "1078:19:92",
1332
- "parameters": {
1333
- "id": 73756,
1334
- "nodeType": "ParameterList",
1335
- "parameters": [
1336
- {
1337
- "constant": false,
1338
- "id": 73751,
1339
- "indexed": false,
1340
- "mutability": "mutable",
1341
- "name": "orderId",
1342
- "nameLocation": "1103:7:92",
1343
- "nodeType": "VariableDeclaration",
1344
- "scope": 73757,
1345
- "src": "1098:12:92",
1346
- "stateVariable": false,
1347
- "storageLocation": "default",
1348
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1349
- "typeName": {
1350
- "id": 73750,
1351
- "name": "uint",
1352
- "nodeType": "ElementaryTypeName",
1353
- "src": "1098:4:92",
1354
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1355
- },
1356
- "visibility": "internal"
1357
- },
1358
- {
1359
- "constant": false,
1360
- "id": 73753,
1361
- "indexed": false,
1362
- "mutability": "mutable",
1363
- "name": "pairIndex",
1364
- "nameLocation": "1117:9:92",
1365
- "nodeType": "VariableDeclaration",
1366
- "scope": 73757,
1367
- "src": "1112:14:92",
1368
- "stateVariable": false,
1369
- "storageLocation": "default",
1370
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1371
- "typeName": {
1372
- "id": 73752,
1373
- "name": "uint",
1374
- "nodeType": "ElementaryTypeName",
1375
- "src": "1112:4:92",
1376
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1377
- },
1378
- "visibility": "internal"
1379
- },
1380
- {
1381
- "constant": false,
1382
- "id": 73755,
1383
- "indexed": false,
1384
- "mutability": "mutable",
1385
- "name": "price",
1386
- "nameLocation": "1133:5:92",
1387
- "nodeType": "VariableDeclaration",
1388
- "scope": 73757,
1389
- "src": "1128:10:92",
1390
- "stateVariable": false,
1391
- "storageLocation": "default",
1392
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1393
- "typeName": {
1394
- "id": 73754,
1395
- "name": "uint",
1396
- "nodeType": "ElementaryTypeName",
1397
- "src": "1128:4:92",
1398
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1399
- },
1400
- "visibility": "internal"
1401
- }
1402
- ],
1403
- "src": "1097:42:92"
1404
- }
1405
- },
1406
- {
1407
- "id": 73761,
1408
- "nodeType": "EventDefinition",
1409
- "src": "1145:35:92",
1410
- "nodes": [],
1411
- "anonymous": false,
1412
- "name": "BackUpTriggered",
1413
- "nameLocation": "1151:15:92",
1414
- "parameters": {
1415
- "id": 73760,
1416
- "nodeType": "ParameterList",
1417
- "parameters": [
1418
- {
1419
- "constant": false,
1420
- "id": 73759,
1421
- "indexed": false,
1422
- "mutability": "mutable",
1423
- "name": "_start",
1424
- "nameLocation": "1172:6:92",
1425
- "nodeType": "VariableDeclaration",
1426
- "scope": 73761,
1427
- "src": "1167:11:92",
1428
- "stateVariable": false,
1429
- "storageLocation": "default",
1430
- "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" },
1431
- "typeName": {
1432
- "id": 73758,
1433
- "name": "bool",
1434
- "nodeType": "ElementaryTypeName",
1435
- "src": "1167:4:92",
1436
- "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }
1437
- },
1438
- "visibility": "internal"
1439
- }
1440
- ],
1441
- "src": "1166:13:92"
1442
- }
1443
- },
1444
- {
1445
- "id": 73765,
1446
- "nodeType": "EventDefinition",
1447
- "src": "1185:50:92",
1448
- "nodes": [],
1449
- "anonymous": false,
1450
- "name": "chainlinkValidityPeriodSet",
1451
- "nameLocation": "1191:26:92",
1452
- "parameters": {
1453
- "id": 73764,
1454
- "nodeType": "ParameterList",
1455
- "parameters": [
1456
- {
1457
- "constant": false,
1458
- "id": 73763,
1459
- "indexed": false,
1460
- "mutability": "mutable",
1461
- "name": "_newPeriod",
1462
- "nameLocation": "1223:10:92",
1463
- "nodeType": "VariableDeclaration",
1464
- "scope": 73765,
1465
- "src": "1218:15:92",
1466
- "stateVariable": false,
1467
- "storageLocation": "default",
1468
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1469
- "typeName": {
1470
- "id": 73762,
1471
- "name": "uint",
1472
- "nodeType": "ElementaryTypeName",
1473
- "src": "1218:4:92",
1474
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1475
- },
1476
- "visibility": "internal"
1477
- }
1478
- ],
1479
- "src": "1217:17:92"
1480
- }
1481
- },
1482
- {
1483
- "id": 73771,
1484
- "nodeType": "FunctionDefinition",
1485
- "src": "1241:61:92",
1486
- "nodes": [],
1487
- "functionSelector": "35b03c17",
1488
- "implemented": false,
1489
- "kind": "function",
1490
- "modifiers": [],
1491
- "name": "pairsStorage",
1492
- "nameLocation": "1250:12:92",
1493
- "parameters": { "id": 73766, "nodeType": "ParameterList", "parameters": [], "src": "1262:2:92" },
1494
- "returnParameters": {
1495
- "id": 73770,
1496
- "nodeType": "ParameterList",
1497
- "parameters": [
1498
- {
1499
- "constant": false,
1500
- "id": 73769,
1501
- "mutability": "mutable",
1502
- "name": "",
1503
- "nameLocation": "-1:-1:-1",
1504
- "nodeType": "VariableDeclaration",
1505
- "scope": 73771,
1506
- "src": "1288:12:92",
1507
- "stateVariable": false,
1508
- "storageLocation": "default",
1509
- "typeDescriptions": {
1510
- "typeIdentifier": "t_contract$_IPairStorage_$73664",
1511
- "typeString": "contract IPairStorage"
1512
- },
1513
- "typeName": {
1514
- "id": 73768,
1515
- "nodeType": "UserDefinedTypeName",
1516
- "pathNode": {
1517
- "id": 73767,
1518
- "name": "IPairStorage",
1519
- "nodeType": "IdentifierPath",
1520
- "referencedDeclaration": 73664,
1521
- "src": "1288:12:92"
1522
- },
1523
- "referencedDeclaration": 73664,
1524
- "src": "1288:12:92",
1525
- "typeDescriptions": {
1526
- "typeIdentifier": "t_contract$_IPairStorage_$73664",
1527
- "typeString": "contract IPairStorage"
1528
- }
1529
- },
1530
- "visibility": "internal"
1531
- }
1532
- ],
1533
- "src": "1287:14:92"
1534
- },
1535
- "scope": 73849,
1536
- "stateMutability": "view",
1537
- "virtual": false,
1538
- "visibility": "external"
1539
- },
1540
- {
1541
- "id": 73777,
1542
- "nodeType": "FunctionDefinition",
1543
- "src": "1308:55:92",
1544
- "nodes": [],
1545
- "functionSelector": "b21f4517",
1546
- "implemented": false,
1547
- "kind": "function",
1548
- "modifiers": [],
1549
- "name": "executions",
1550
- "nameLocation": "1317:10:92",
1551
- "parameters": { "id": 73772, "nodeType": "ParameterList", "parameters": [], "src": "1327:2:92" },
1552
- "returnParameters": {
1553
- "id": 73776,
1554
- "nodeType": "ParameterList",
1555
- "parameters": [
1556
- {
1557
- "constant": false,
1558
- "id": 73775,
1559
- "mutability": "mutable",
1560
- "name": "",
1561
- "nameLocation": "-1:-1:-1",
1562
- "nodeType": "VariableDeclaration",
1563
- "scope": 73777,
1564
- "src": "1353:8:92",
1565
- "stateVariable": false,
1566
- "storageLocation": "default",
1567
- "typeDescriptions": {
1568
- "typeIdentifier": "t_contract$_IExecute_$73019",
1569
- "typeString": "contract IExecute"
1570
- },
1571
- "typeName": {
1572
- "id": 73774,
1573
- "nodeType": "UserDefinedTypeName",
1574
- "pathNode": {
1575
- "id": 73773,
1576
- "name": "IExecute",
1577
- "nodeType": "IdentifierPath",
1578
- "referencedDeclaration": 73019,
1579
- "src": "1353:8:92"
1580
- },
1581
- "referencedDeclaration": 73019,
1582
- "src": "1353:8:92",
1583
- "typeDescriptions": {
1584
- "typeIdentifier": "t_contract$_IExecute_$73019",
1585
- "typeString": "contract IExecute"
1586
- }
1587
- },
1588
- "visibility": "internal"
1589
- }
1590
- ],
1591
- "src": "1352:10:92"
1592
- },
1593
- "scope": 73849,
1594
- "stateMutability": "view",
1595
- "virtual": false,
1596
- "visibility": "external"
1597
- },
1598
- {
1599
- "id": 73787,
1600
- "nodeType": "FunctionDefinition",
1601
- "src": "1369:59:92",
1602
- "nodes": [],
1603
- "functionSelector": "c0a027f4",
1604
- "implemented": false,
1605
- "kind": "function",
1606
- "modifiers": [],
1607
- "name": "getPrice",
1608
- "nameLocation": "1378:8:92",
1609
- "parameters": {
1610
- "id": 73783,
1611
- "nodeType": "ParameterList",
1612
- "parameters": [
1613
- {
1614
- "constant": false,
1615
- "id": 73779,
1616
- "mutability": "mutable",
1617
- "name": "",
1618
- "nameLocation": "-1:-1:-1",
1619
- "nodeType": "VariableDeclaration",
1620
- "scope": 73787,
1621
- "src": "1387:4:92",
1622
- "stateVariable": false,
1623
- "storageLocation": "default",
1624
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1625
- "typeName": {
1626
- "id": 73778,
1627
- "name": "uint",
1628
- "nodeType": "ElementaryTypeName",
1629
- "src": "1387:4:92",
1630
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1631
- },
1632
- "visibility": "internal"
1633
- },
1634
- {
1635
- "constant": false,
1636
- "id": 73782,
1637
- "mutability": "mutable",
1638
- "name": "",
1639
- "nameLocation": "-1:-1:-1",
1640
- "nodeType": "VariableDeclaration",
1641
- "scope": 73787,
1642
- "src": "1393:9:92",
1643
- "stateVariable": false,
1644
- "storageLocation": "default",
1645
- "typeDescriptions": {
1646
- "typeIdentifier": "t_enum$_OrderType_$73684",
1647
- "typeString": "enum IPriceAggregator.OrderType"
1648
- },
1649
- "typeName": {
1650
- "id": 73781,
1651
- "nodeType": "UserDefinedTypeName",
1652
- "pathNode": {
1653
- "id": 73780,
1654
- "name": "OrderType",
1655
- "nodeType": "IdentifierPath",
1656
- "referencedDeclaration": 73684,
1657
- "src": "1393:9:92"
1658
- },
1659
- "referencedDeclaration": 73684,
1660
- "src": "1393:9:92",
1661
- "typeDescriptions": {
1662
- "typeIdentifier": "t_enum$_OrderType_$73684",
1663
- "typeString": "enum IPriceAggregator.OrderType"
1664
- }
1665
- },
1666
- "visibility": "internal"
1667
- }
1668
- ],
1669
- "src": "1386:17:92"
1670
- },
1671
- "returnParameters": {
1672
- "id": 73786,
1673
- "nodeType": "ParameterList",
1674
- "parameters": [
1675
- {
1676
- "constant": false,
1677
- "id": 73785,
1678
- "mutability": "mutable",
1679
- "name": "",
1680
- "nameLocation": "-1:-1:-1",
1681
- "nodeType": "VariableDeclaration",
1682
- "scope": 73787,
1683
- "src": "1422:4:92",
1684
- "stateVariable": false,
1685
- "storageLocation": "default",
1686
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1687
- "typeName": {
1688
- "id": 73784,
1689
- "name": "uint",
1690
- "nodeType": "ElementaryTypeName",
1691
- "src": "1422:4:92",
1692
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1693
- },
1694
- "visibility": "internal"
1695
- }
1696
- ],
1697
- "src": "1421:6:92"
1698
- },
1699
- "scope": 73849,
1700
- "stateMutability": "nonpayable",
1701
- "virtual": false,
1702
- "visibility": "external"
1703
- },
1704
- {
1705
- "id": 73795,
1706
- "nodeType": "FunctionDefinition",
1707
- "src": "1434:82:92",
1708
- "nodes": [],
1709
- "functionSelector": "dd2f3c05",
1710
- "implemented": false,
1711
- "kind": "function",
1712
- "modifiers": [],
1713
- "name": "fulfill",
1714
- "nameLocation": "1443:7:92",
1715
- "parameters": {
1716
- "id": 73793,
1717
- "nodeType": "ParameterList",
1718
- "parameters": [
1719
- {
1720
- "constant": false,
1721
- "id": 73789,
1722
- "mutability": "mutable",
1723
- "name": "orderId",
1724
- "nameLocation": "1456:7:92",
1725
- "nodeType": "VariableDeclaration",
1726
- "scope": 73795,
1727
- "src": "1451:12:92",
1728
- "stateVariable": false,
1729
- "storageLocation": "default",
1730
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1731
- "typeName": {
1732
- "id": 73788,
1733
- "name": "uint",
1734
- "nodeType": "ElementaryTypeName",
1735
- "src": "1451:4:92",
1736
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1737
- },
1738
- "visibility": "internal"
1739
- },
1740
- {
1741
- "constant": false,
1742
- "id": 73792,
1743
- "mutability": "mutable",
1744
- "name": "priceUpdateData",
1745
- "nameLocation": "1482:15:92",
1746
- "nodeType": "VariableDeclaration",
1747
- "scope": 73795,
1748
- "src": "1465:32:92",
1749
- "stateVariable": false,
1750
- "storageLocation": "calldata",
1751
- "typeDescriptions": {
1752
- "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr",
1753
- "typeString": "bytes[]"
1754
- },
1755
- "typeName": {
1756
- "baseType": {
1757
- "id": 73790,
1758
- "name": "bytes",
1759
- "nodeType": "ElementaryTypeName",
1760
- "src": "1465:5:92",
1761
- "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" }
1762
- },
1763
- "id": 73791,
1764
- "nodeType": "ArrayTypeName",
1765
- "src": "1465:7:92",
1766
- "typeDescriptions": {
1767
- "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
1768
- "typeString": "bytes[]"
1769
- }
1770
- },
1771
- "visibility": "internal"
1772
- }
1773
- ],
1774
- "src": "1450:48:92"
1775
- },
1776
- "returnParameters": { "id": 73794, "nodeType": "ParameterList", "parameters": [], "src": "1515:0:92" },
1777
- "scope": 73849,
1778
- "stateMutability": "payable",
1779
- "virtual": false,
1780
- "visibility": "external"
1781
- },
1782
- {
1783
- "id": 73806,
1784
- "nodeType": "FunctionDefinition",
1785
- "src": "1522:65:92",
1786
- "nodes": [],
1787
- "functionSelector": "3a100f4d",
1788
- "implemented": false,
1789
- "kind": "function",
1790
- "modifiers": [],
1791
- "name": "openFeeP",
1792
- "nameLocation": "1531:8:92",
1793
- "parameters": {
1794
- "id": 73802,
1795
- "nodeType": "ParameterList",
1796
- "parameters": [
1797
- {
1798
- "constant": false,
1799
- "id": 73797,
1800
- "mutability": "mutable",
1801
- "name": "",
1802
- "nameLocation": "-1:-1:-1",
1803
- "nodeType": "VariableDeclaration",
1804
- "scope": 73806,
1805
- "src": "1540:4:92",
1806
- "stateVariable": false,
1807
- "storageLocation": "default",
1808
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1809
- "typeName": {
1810
- "id": 73796,
1811
- "name": "uint",
1812
- "nodeType": "ElementaryTypeName",
1813
- "src": "1540:4:92",
1814
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1815
- },
1816
- "visibility": "internal"
1817
- },
1818
- {
1819
- "constant": false,
1820
- "id": 73799,
1821
- "mutability": "mutable",
1822
- "name": "",
1823
- "nameLocation": "-1:-1:-1",
1824
- "nodeType": "VariableDeclaration",
1825
- "scope": 73806,
1826
- "src": "1546:4:92",
1827
- "stateVariable": false,
1828
- "storageLocation": "default",
1829
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1830
- "typeName": {
1831
- "id": 73798,
1832
- "name": "uint",
1833
- "nodeType": "ElementaryTypeName",
1834
- "src": "1546:4:92",
1835
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1836
- },
1837
- "visibility": "internal"
1838
- },
1839
- {
1840
- "constant": false,
1841
- "id": 73801,
1842
- "mutability": "mutable",
1843
- "name": "",
1844
- "nameLocation": "-1:-1:-1",
1845
- "nodeType": "VariableDeclaration",
1846
- "scope": 73806,
1847
- "src": "1552:4:92",
1848
- "stateVariable": false,
1849
- "storageLocation": "default",
1850
- "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" },
1851
- "typeName": {
1852
- "id": 73800,
1853
- "name": "bool",
1854
- "nodeType": "ElementaryTypeName",
1855
- "src": "1552:4:92",
1856
- "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }
1857
- },
1858
- "visibility": "internal"
1859
- }
1860
- ],
1861
- "src": "1539:18:92"
1862
- },
1863
- "returnParameters": {
1864
- "id": 73805,
1865
- "nodeType": "ParameterList",
1866
- "parameters": [
1867
- {
1868
- "constant": false,
1869
- "id": 73804,
1870
- "mutability": "mutable",
1871
- "name": "",
1872
- "nameLocation": "-1:-1:-1",
1873
- "nodeType": "VariableDeclaration",
1874
- "scope": 73806,
1875
- "src": "1581:4:92",
1876
- "stateVariable": false,
1877
- "storageLocation": "default",
1878
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1879
- "typeName": {
1880
- "id": 73803,
1881
- "name": "uint",
1882
- "nodeType": "ElementaryTypeName",
1883
- "src": "1581:4:92",
1884
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1885
- },
1886
- "visibility": "internal"
1887
- }
1888
- ],
1889
- "src": "1580:6:92"
1890
- },
1891
- "scope": 73849,
1892
- "stateMutability": "view",
1893
- "virtual": false,
1894
- "visibility": "external"
1895
- },
1896
- {
1897
- "id": 73814,
1898
- "nodeType": "FunctionDefinition",
1899
- "src": "1593:72:92",
1900
- "nodes": [],
1901
- "functionSelector": "37a3dba3",
1902
- "implemented": false,
1903
- "kind": "function",
1904
- "modifiers": [],
1905
- "name": "pendingSlOrders",
1906
- "nameLocation": "1602:15:92",
1907
- "parameters": {
1908
- "id": 73809,
1909
- "nodeType": "ParameterList",
1910
- "parameters": [
1911
- {
1912
- "constant": false,
1913
- "id": 73808,
1914
- "mutability": "mutable",
1915
- "name": "",
1916
- "nameLocation": "-1:-1:-1",
1917
- "nodeType": "VariableDeclaration",
1918
- "scope": 73814,
1919
- "src": "1618:4:92",
1920
- "stateVariable": false,
1921
- "storageLocation": "default",
1922
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1923
- "typeName": {
1924
- "id": 73807,
1925
- "name": "uint",
1926
- "nodeType": "ElementaryTypeName",
1927
- "src": "1618:4:92",
1928
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1929
- },
1930
- "visibility": "internal"
1931
- }
1932
- ],
1933
- "src": "1617:6:92"
1934
- },
1935
- "returnParameters": {
1936
- "id": 73813,
1937
- "nodeType": "ParameterList",
1938
- "parameters": [
1939
- {
1940
- "constant": false,
1941
- "id": 73812,
1942
- "mutability": "mutable",
1943
- "name": "",
1944
- "nameLocation": "-1:-1:-1",
1945
- "nodeType": "VariableDeclaration",
1946
- "scope": 73814,
1947
- "src": "1647:16:92",
1948
- "stateVariable": false,
1949
- "storageLocation": "memory",
1950
- "typeDescriptions": {
1951
- "typeIdentifier": "t_struct$_PendingSl_$73707_memory_ptr",
1952
- "typeString": "struct IPriceAggregator.PendingSl"
1953
- },
1954
- "typeName": {
1955
- "id": 73811,
1956
- "nodeType": "UserDefinedTypeName",
1957
- "pathNode": {
1958
- "id": 73810,
1959
- "name": "PendingSl",
1960
- "nodeType": "IdentifierPath",
1961
- "referencedDeclaration": 73707,
1962
- "src": "1647:9:92"
1963
- },
1964
- "referencedDeclaration": 73707,
1965
- "src": "1647:9:92",
1966
- "typeDescriptions": {
1967
- "typeIdentifier": "t_struct$_PendingSl_$73707_storage_ptr",
1968
- "typeString": "struct IPriceAggregator.PendingSl"
1969
- }
1970
- },
1971
- "visibility": "internal"
1972
- }
1973
- ],
1974
- "src": "1646:18:92"
1975
- },
1976
- "scope": 73849,
1977
- "stateMutability": "view",
1978
- "virtual": false,
1979
- "visibility": "external"
1980
- },
1981
- {
1982
- "id": 73822,
1983
- "nodeType": "FunctionDefinition",
1984
- "src": "1671:92:92",
1985
- "nodes": [],
1986
- "functionSelector": "d1f6652e",
1987
- "implemented": false,
1988
- "kind": "function",
1989
- "modifiers": [],
1990
- "name": "pendingMarginUpdateOrders",
1991
- "nameLocation": "1680:25:92",
1992
- "parameters": {
1993
- "id": 73817,
1994
- "nodeType": "ParameterList",
1995
- "parameters": [
1996
- {
1997
- "constant": false,
1998
- "id": 73816,
1999
- "mutability": "mutable",
2000
- "name": "",
2001
- "nameLocation": "-1:-1:-1",
2002
- "nodeType": "VariableDeclaration",
2003
- "scope": 73822,
2004
- "src": "1706:4:92",
2005
- "stateVariable": false,
2006
- "storageLocation": "default",
2007
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
2008
- "typeName": {
2009
- "id": 73815,
2010
- "name": "uint",
2011
- "nodeType": "ElementaryTypeName",
2012
- "src": "1706:4:92",
2013
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
2014
- },
2015
- "visibility": "internal"
2016
- }
2017
- ],
2018
- "src": "1705:6:92"
2019
- },
2020
- "returnParameters": {
2021
- "id": 73821,
2022
- "nodeType": "ParameterList",
2023
- "parameters": [
2024
- {
2025
- "constant": false,
2026
- "id": 73820,
2027
- "mutability": "mutable",
2028
- "name": "",
2029
- "nameLocation": "-1:-1:-1",
2030
- "nodeType": "VariableDeclaration",
2031
- "scope": 73822,
2032
- "src": "1735:26:92",
2033
- "stateVariable": false,
2034
- "storageLocation": "memory",
2035
- "typeDescriptions": {
2036
- "typeIdentifier": "t_struct$_PendingMarginUpdate_$73725_memory_ptr",
2037
- "typeString": "struct IPriceAggregator.PendingMarginUpdate"
2038
- },
2039
- "typeName": {
2040
- "id": 73819,
2041
- "nodeType": "UserDefinedTypeName",
2042
- "pathNode": {
2043
- "id": 73818,
2044
- "name": "PendingMarginUpdate",
2045
- "nodeType": "IdentifierPath",
2046
- "referencedDeclaration": 73725,
2047
- "src": "1735:19:92"
2048
- },
2049
- "referencedDeclaration": 73725,
2050
- "src": "1735:19:92",
2051
- "typeDescriptions": {
2052
- "typeIdentifier": "t_struct$_PendingMarginUpdate_$73725_storage_ptr",
2053
- "typeString": "struct IPriceAggregator.PendingMarginUpdate"
2054
- }
2055
- },
2056
- "visibility": "internal"
2057
- }
2058
- ],
2059
- "src": "1734:28:92"
2060
- },
2061
- "scope": 73849,
2062
- "stateMutability": "view",
2063
- "virtual": false,
2064
- "visibility": "external"
2065
- },
2066
- {
2067
- "id": 73830,
2068
- "nodeType": "FunctionDefinition",
2069
- "src": "1769:74:92",
2070
- "nodes": [],
2071
- "functionSelector": "b8213bfa",
2072
- "implemented": false,
2073
- "kind": "function",
2074
- "modifiers": [],
2075
- "name": "storePendingSlOrder",
2076
- "nameLocation": "1778:19:92",
2077
- "parameters": {
2078
- "id": 73828,
2079
- "nodeType": "ParameterList",
2080
- "parameters": [
2081
- {
2082
- "constant": false,
2083
- "id": 73824,
2084
- "mutability": "mutable",
2085
- "name": "orderId",
2086
- "nameLocation": "1803:7:92",
2087
- "nodeType": "VariableDeclaration",
2088
- "scope": 73830,
2089
- "src": "1798:12:92",
2090
- "stateVariable": false,
2091
- "storageLocation": "default",
2092
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
2093
- "typeName": {
2094
- "id": 73823,
2095
- "name": "uint",
2096
- "nodeType": "ElementaryTypeName",
2097
- "src": "1798:4:92",
2098
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
2099
- },
2100
- "visibility": "internal"
2101
- },
2102
- {
2103
- "constant": false,
2104
- "id": 73827,
2105
- "mutability": "mutable",
2106
- "name": "p",
2107
- "nameLocation": "1831:1:92",
2108
- "nodeType": "VariableDeclaration",
2109
- "scope": 73830,
2110
- "src": "1812:20:92",
2111
- "stateVariable": false,
2112
- "storageLocation": "calldata",
2113
- "typeDescriptions": {
2114
- "typeIdentifier": "t_struct$_PendingSl_$73707_calldata_ptr",
2115
- "typeString": "struct IPriceAggregator.PendingSl"
2116
- },
2117
- "typeName": {
2118
- "id": 73826,
2119
- "nodeType": "UserDefinedTypeName",
2120
- "pathNode": {
2121
- "id": 73825,
2122
- "name": "PendingSl",
2123
- "nodeType": "IdentifierPath",
2124
- "referencedDeclaration": 73707,
2125
- "src": "1812:9:92"
2126
- },
2127
- "referencedDeclaration": 73707,
2128
- "src": "1812:9:92",
2129
- "typeDescriptions": {
2130
- "typeIdentifier": "t_struct$_PendingSl_$73707_storage_ptr",
2131
- "typeString": "struct IPriceAggregator.PendingSl"
2132
- }
2133
- },
2134
- "visibility": "internal"
2135
- }
2136
- ],
2137
- "src": "1797:36:92"
2138
- },
2139
- "returnParameters": { "id": 73829, "nodeType": "ParameterList", "parameters": [], "src": "1842:0:92" },
2140
- "scope": 73849,
2141
- "stateMutability": "nonpayable",
2142
- "virtual": false,
2143
- "visibility": "external"
2144
- },
2145
- {
2146
- "id": 73838,
2147
- "nodeType": "FunctionDefinition",
2148
- "src": "1849:94:92",
2149
- "nodes": [],
2150
- "functionSelector": "cbe91bd9",
2151
- "implemented": false,
2152
- "kind": "function",
2153
- "modifiers": [],
2154
- "name": "storePendingMarginUpdateOrder",
2155
- "nameLocation": "1858:29:92",
2156
- "parameters": {
2157
- "id": 73836,
2158
- "nodeType": "ParameterList",
2159
- "parameters": [
2160
- {
2161
- "constant": false,
2162
- "id": 73832,
2163
- "mutability": "mutable",
2164
- "name": "orderId",
2165
- "nameLocation": "1893:7:92",
2166
- "nodeType": "VariableDeclaration",
2167
- "scope": 73838,
2168
- "src": "1888:12:92",
2169
- "stateVariable": false,
2170
- "storageLocation": "default",
2171
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
2172
- "typeName": {
2173
- "id": 73831,
2174
- "name": "uint",
2175
- "nodeType": "ElementaryTypeName",
2176
- "src": "1888:4:92",
2177
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
2178
- },
2179
- "visibility": "internal"
2180
- },
2181
- {
2182
- "constant": false,
2183
- "id": 73835,
2184
- "mutability": "mutable",
2185
- "name": "p",
2186
- "nameLocation": "1931:1:92",
2187
- "nodeType": "VariableDeclaration",
2188
- "scope": 73838,
2189
- "src": "1902:30:92",
2190
- "stateVariable": false,
2191
- "storageLocation": "calldata",
2192
- "typeDescriptions": {
2193
- "typeIdentifier": "t_struct$_PendingMarginUpdate_$73725_calldata_ptr",
2194
- "typeString": "struct IPriceAggregator.PendingMarginUpdate"
2195
- },
2196
- "typeName": {
2197
- "id": 73834,
2198
- "nodeType": "UserDefinedTypeName",
2199
- "pathNode": {
2200
- "id": 73833,
2201
- "name": "PendingMarginUpdate",
2202
- "nodeType": "IdentifierPath",
2203
- "referencedDeclaration": 73725,
2204
- "src": "1902:19:92"
2205
- },
2206
- "referencedDeclaration": 73725,
2207
- "src": "1902:19:92",
2208
- "typeDescriptions": {
2209
- "typeIdentifier": "t_struct$_PendingMarginUpdate_$73725_storage_ptr",
2210
- "typeString": "struct IPriceAggregator.PendingMarginUpdate"
2211
- }
2212
- },
2213
- "visibility": "internal"
2214
- }
2215
- ],
2216
- "src": "1887:46:92"
2217
- },
2218
- "returnParameters": { "id": 73837, "nodeType": "ParameterList", "parameters": [], "src": "1942:0:92" },
2219
- "scope": 73849,
2220
- "stateMutability": "nonpayable",
2221
- "virtual": false,
2222
- "visibility": "external"
2223
- },
2224
- {
2225
- "id": 73843,
2226
- "nodeType": "FunctionDefinition",
2227
- "src": "1949:57:92",
2228
- "nodes": [],
2229
- "functionSelector": "61417a43",
2230
- "implemented": false,
2231
- "kind": "function",
2232
- "modifiers": [],
2233
- "name": "unregisterPendingSlOrder",
2234
- "nameLocation": "1958:24:92",
2235
- "parameters": {
2236
- "id": 73841,
2237
- "nodeType": "ParameterList",
2238
- "parameters": [
2239
- {
2240
- "constant": false,
2241
- "id": 73840,
2242
- "mutability": "mutable",
2243
- "name": "orderId",
2244
- "nameLocation": "1988:7:92",
2245
- "nodeType": "VariableDeclaration",
2246
- "scope": 73843,
2247
- "src": "1983:12:92",
2248
- "stateVariable": false,
2249
- "storageLocation": "default",
2250
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
2251
- "typeName": {
2252
- "id": 73839,
2253
- "name": "uint",
2254
- "nodeType": "ElementaryTypeName",
2255
- "src": "1983:4:92",
2256
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
2257
- },
2258
- "visibility": "internal"
2259
- }
2260
- ],
2261
- "src": "1982:14:92"
2262
- },
2263
- "returnParameters": { "id": 73842, "nodeType": "ParameterList", "parameters": [], "src": "2005:0:92" },
2264
- "scope": 73849,
2265
- "stateMutability": "nonpayable",
2266
- "virtual": false,
2267
- "visibility": "external"
2268
- },
2269
- {
2270
- "id": 73848,
2271
- "nodeType": "FunctionDefinition",
2272
- "src": "2012:67:92",
2273
- "nodes": [],
2274
- "functionSelector": "c61904a1",
2275
- "implemented": false,
2276
- "kind": "function",
2277
- "modifiers": [],
2278
- "name": "unregisterPendingMarginUpdateOrder",
2279
- "nameLocation": "2021:34:92",
2280
- "parameters": {
2281
- "id": 73846,
2282
- "nodeType": "ParameterList",
2283
- "parameters": [
2284
- {
2285
- "constant": false,
2286
- "id": 73845,
2287
- "mutability": "mutable",
2288
- "name": "orderId",
2289
- "nameLocation": "2061:7:92",
2290
- "nodeType": "VariableDeclaration",
2291
- "scope": 73848,
2292
- "src": "2056:12:92",
2293
- "stateVariable": false,
2294
- "storageLocation": "default",
2295
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
2296
- "typeName": {
2297
- "id": 73844,
2298
- "name": "uint",
2299
- "nodeType": "ElementaryTypeName",
2300
- "src": "2056:4:92",
2301
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
2302
- },
2303
- "visibility": "internal"
2304
- }
2305
- ],
2306
- "src": "2055:14:92"
2307
- },
2308
- "returnParameters": { "id": 73847, "nodeType": "ParameterList", "parameters": [], "src": "2078:0:92" },
2309
- "scope": 73849,
2310
- "stateMutability": "nonpayable",
2311
- "virtual": false,
2312
- "visibility": "external"
2313
- }
2314
- ],
2315
- "abstract": false,
2316
- "baseContracts": [],
2317
- "contractDependencies": [],
2318
- "contractKind": "interface",
2319
- "fullyImplemented": false,
2320
- "linearizedBaseContracts": [73849],
2321
- "name": "IPriceAggregator",
2322
- "nameLocation": "152:16:92",
2323
- "scope": 73850,
2324
- "usedErrors": []
2325
- }
2326
- ],
2327
- "license": "MIT"
2328
- },
2329
- "id": 92
2330
- }
1
+ {
2
+ "abi": [
3
+ {
4
+ "type": "function",
5
+ "name": "executions",
6
+ "inputs": [],
7
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IExecute" }],
8
+ "stateMutability": "view"
9
+ },
10
+ {
11
+ "type": "function",
12
+ "name": "fulfill",
13
+ "inputs": [
14
+ { "name": "orderId", "type": "uint256", "internalType": "uint256" },
15
+ { "name": "priceUpdateData", "type": "bytes[]", "internalType": "bytes[]" }
16
+ ],
17
+ "outputs": [],
18
+ "stateMutability": "payable"
19
+ },
20
+ {
21
+ "type": "function",
22
+ "name": "getPrice",
23
+ "inputs": [
24
+ { "name": "", "type": "uint256", "internalType": "uint256" },
25
+ { "name": "", "type": "uint8", "internalType": "enum IPriceAggregator.OrderType" }
26
+ ],
27
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
28
+ "stateMutability": "nonpayable"
29
+ },
30
+ {
31
+ "type": "function",
32
+ "name": "openFeeP",
33
+ "inputs": [
34
+ { "name": "", "type": "uint256", "internalType": "uint256" },
35
+ { "name": "", "type": "uint256", "internalType": "uint256" },
36
+ { "name": "", "type": "bool", "internalType": "bool" }
37
+ ],
38
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
39
+ "stateMutability": "view"
40
+ },
41
+ {
42
+ "type": "function",
43
+ "name": "pairsStorage",
44
+ "inputs": [],
45
+ "outputs": [{ "name": "", "type": "address", "internalType": "contract IPairStorage" }],
46
+ "stateMutability": "view"
47
+ },
48
+ {
49
+ "type": "function",
50
+ "name": "pendingMarginUpdateOrders",
51
+ "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
52
+ "outputs": [
53
+ {
54
+ "name": "",
55
+ "type": "tuple",
56
+ "internalType": "struct IPriceAggregator.PendingMarginUpdate",
57
+ "components": [
58
+ { "name": "trader", "type": "address", "internalType": "address" },
59
+ { "name": "pairIndex", "type": "uint256", "internalType": "uint256" },
60
+ { "name": "index", "type": "uint256", "internalType": "uint256" },
61
+ { "name": "_type", "type": "uint8", "internalType": "enum ITradingStorage.updateType" },
62
+ { "name": "amount", "type": "uint256", "internalType": "uint256" },
63
+ { "name": "tier", "type": "uint256", "internalType": "uint256" },
64
+ { "name": "marginFees", "type": "uint256", "internalType": "uint256" },
65
+ { "name": "oldLeverage", "type": "uint256", "internalType": "uint256" }
66
+ ]
67
+ }
68
+ ],
69
+ "stateMutability": "view"
70
+ },
71
+ {
72
+ "type": "function",
73
+ "name": "pendingSlOrders",
74
+ "inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
75
+ "outputs": [
76
+ {
77
+ "name": "",
78
+ "type": "tuple",
79
+ "internalType": "struct IPriceAggregator.PendingSl",
80
+ "components": [
81
+ { "name": "trader", "type": "address", "internalType": "address" },
82
+ { "name": "pairIndex", "type": "uint256", "internalType": "uint256" },
83
+ { "name": "index", "type": "uint256", "internalType": "uint256" },
84
+ { "name": "openPrice", "type": "uint256", "internalType": "uint256" },
85
+ { "name": "buy", "type": "bool", "internalType": "bool" },
86
+ { "name": "newSl", "type": "uint256", "internalType": "uint256" }
87
+ ]
88
+ }
89
+ ],
90
+ "stateMutability": "view"
91
+ },
92
+ {
93
+ "type": "function",
94
+ "name": "storePendingMarginUpdateOrder",
95
+ "inputs": [
96
+ { "name": "orderId", "type": "uint256", "internalType": "uint256" },
97
+ {
98
+ "name": "p",
99
+ "type": "tuple",
100
+ "internalType": "struct IPriceAggregator.PendingMarginUpdate",
101
+ "components": [
102
+ { "name": "trader", "type": "address", "internalType": "address" },
103
+ { "name": "pairIndex", "type": "uint256", "internalType": "uint256" },
104
+ { "name": "index", "type": "uint256", "internalType": "uint256" },
105
+ { "name": "_type", "type": "uint8", "internalType": "enum ITradingStorage.updateType" },
106
+ { "name": "amount", "type": "uint256", "internalType": "uint256" },
107
+ { "name": "tier", "type": "uint256", "internalType": "uint256" },
108
+ { "name": "marginFees", "type": "uint256", "internalType": "uint256" },
109
+ { "name": "oldLeverage", "type": "uint256", "internalType": "uint256" }
110
+ ]
111
+ }
112
+ ],
113
+ "outputs": [],
114
+ "stateMutability": "nonpayable"
115
+ },
116
+ {
117
+ "type": "function",
118
+ "name": "storePendingSlOrder",
119
+ "inputs": [
120
+ { "name": "orderId", "type": "uint256", "internalType": "uint256" },
121
+ {
122
+ "name": "p",
123
+ "type": "tuple",
124
+ "internalType": "struct IPriceAggregator.PendingSl",
125
+ "components": [
126
+ { "name": "trader", "type": "address", "internalType": "address" },
127
+ { "name": "pairIndex", "type": "uint256", "internalType": "uint256" },
128
+ { "name": "index", "type": "uint256", "internalType": "uint256" },
129
+ { "name": "openPrice", "type": "uint256", "internalType": "uint256" },
130
+ { "name": "buy", "type": "bool", "internalType": "bool" },
131
+ { "name": "newSl", "type": "uint256", "internalType": "uint256" }
132
+ ]
133
+ }
134
+ ],
135
+ "outputs": [],
136
+ "stateMutability": "nonpayable"
137
+ },
138
+ {
139
+ "type": "function",
140
+ "name": "unregisterPendingMarginUpdateOrder",
141
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
142
+ "outputs": [],
143
+ "stateMutability": "nonpayable"
144
+ },
145
+ {
146
+ "type": "function",
147
+ "name": "unregisterPendingSlOrder",
148
+ "inputs": [{ "name": "orderId", "type": "uint256", "internalType": "uint256" }],
149
+ "outputs": [],
150
+ "stateMutability": "nonpayable"
151
+ },
152
+ {
153
+ "type": "event",
154
+ "name": "AddressUpdated",
155
+ "inputs": [
156
+ { "name": "name", "type": "string", "indexed": false, "internalType": "string" },
157
+ { "name": "a", "type": "address", "indexed": false, "internalType": "address" }
158
+ ],
159
+ "anonymous": false
160
+ },
161
+ {
162
+ "type": "event",
163
+ "name": "BackUpTriggered",
164
+ "inputs": [{ "name": "_start", "type": "bool", "indexed": false, "internalType": "bool" }],
165
+ "anonymous": false
166
+ },
167
+ {
168
+ "type": "event",
169
+ "name": "BackupPriceReceived",
170
+ "inputs": [
171
+ { "name": "orderId", "type": "uint256", "indexed": false, "internalType": "uint256" },
172
+ { "name": "pairIndex", "type": "uint256", "indexed": false, "internalType": "uint256" },
173
+ { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }
174
+ ],
175
+ "anonymous": false
176
+ },
177
+ {
178
+ "type": "event",
179
+ "name": "NumberUpdated",
180
+ "inputs": [
181
+ { "name": "name", "type": "string", "indexed": false, "internalType": "string" },
182
+ { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" }
183
+ ],
184
+ "anonymous": false
185
+ },
186
+ {
187
+ "type": "event",
188
+ "name": "PriceReceived",
189
+ "inputs": [
190
+ { "name": "orderId", "type": "uint256", "indexed": false, "internalType": "uint256" },
191
+ { "name": "pairIndex", "type": "uint256", "indexed": false, "internalType": "uint256" },
192
+ { "name": "price", "type": "uint256", "indexed": false, "internalType": "uint256" }
193
+ ],
194
+ "anonymous": false
195
+ },
196
+ {
197
+ "type": "event",
198
+ "name": "PythUpdated",
199
+ "inputs": [{ "name": "a", "type": "address", "indexed": false, "internalType": "address" }],
200
+ "anonymous": false
201
+ },
202
+ {
203
+ "type": "event",
204
+ "name": "chainlinkValidityPeriodSet",
205
+ "inputs": [{ "name": "_newPeriod", "type": "uint256", "indexed": false, "internalType": "uint256" }],
206
+ "anonymous": false
207
+ }
208
+ ],
209
+ "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
210
+ "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
211
+ "methodIdentifiers": {
212
+ "executions()": "b21f4517",
213
+ "fulfill(uint256,bytes[])": "dd2f3c05",
214
+ "getPrice(uint256,uint8)": "c0a027f4",
215
+ "openFeeP(uint256,uint256,bool)": "3a100f4d",
216
+ "pairsStorage()": "35b03c17",
217
+ "pendingMarginUpdateOrders(uint256)": "d1f6652e",
218
+ "pendingSlOrders(uint256)": "37a3dba3",
219
+ "storePendingMarginUpdateOrder(uint256,(address,uint256,uint256,uint8,uint256,uint256,uint256,uint256))": "cbe91bd9",
220
+ "storePendingSlOrder(uint256,(address,uint256,uint256,uint256,bool,uint256))": "b8213bfa",
221
+ "unregisterPendingMarginUpdateOrder(uint256)": "c61904a1",
222
+ "unregisterPendingSlOrder(uint256)": "61417a43"
223
+ },
224
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"AddressUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_start\",\"type\":\"bool\"}],\"name\":\"BackUpTriggered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pairIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"BackupPriceReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"NumberUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"pairIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"name\":\"PriceReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"PythUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"_newPeriod\",\"type\":\"uint256\"}],\"name\":\"chainlinkValidityPeriodSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"executions\",\"outputs\":[{\"internalType\":\"contract IExecute\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"priceUpdateData\",\"type\":\"bytes[]\"}],\"name\":\"fulfill\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"enum IPriceAggregator.OrderType\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"openFeeP\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pairsStorage\",\"outputs\":[{\"internalType\":\"contract IPairStorage\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"pendingMarginUpdateOrders\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pairIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"enum ITradingStorage.updateType\",\"name\":\"_type\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marginFees\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"oldLeverage\",\"type\":\"uint256\"}],\"internalType\":\"struct IPriceAggregator.PendingMarginUpdate\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"pendingSlOrders\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pairIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"openPrice\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"buy\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"newSl\",\"type\":\"uint256\"}],\"internalType\":\"struct IPriceAggregator.PendingSl\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pairIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"enum ITradingStorage.updateType\",\"name\":\"_type\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tier\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"marginFees\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"oldLeverage\",\"type\":\"uint256\"}],\"internalType\":\"struct IPriceAggregator.PendingMarginUpdate\",\"name\":\"p\",\"type\":\"tuple\"}],\"name\":\"storePendingMarginUpdateOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"trader\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pairIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"openPrice\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"buy\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"newSl\",\"type\":\"uint256\"}],\"internalType\":\"struct IPriceAggregator.PendingSl\",\"name\":\"p\",\"type\":\"tuple\"}],\"name\":\"storePendingSlOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"unregisterPendingMarginUpdateOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"orderId\",\"type\":\"uint256\"}],\"name\":\"unregisterPendingSlOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IPriceAggregator.sol\":\"IPriceAggregator\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@chainlink/=lib/chainlink/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":chainlink/=lib/chainlink/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":pyth-sdk-solidity/=lib/pyth-sdk-solidity/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"src/interfaces/ICallbacks.sol\":{\"keccak256\":\"0xf752442ca8254c91ace7ca3e7c6360783cfd9019ce50f3354c45b7e73268f6e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d43dbc8029336d54a698810f532ce5ccdb9957db24cfbbefd56d65837001743f\",\"dweb:/ipfs/QmSEfht6aZ7McGJJPqBeorSdYve3NpnMvCwt5vX1VKp6pu\"]},\"src/interfaces/IExecute.sol\":{\"keccak256\":\"0x189f78c460465dcdaab444248da17059e96e76e862bb08540e7054296512b9b4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c757cbde37e2932a25fca5ed1ef8fdd49cf1521b8d9f1cfa1d512d1e94862a3b\",\"dweb:/ipfs/QmVvbrLcDBFo9oMdNqaYTmhhtgnH2WzgX8nbMTKuJU6Y1m\"]},\"src/interfaces/IPairStorage.sol\":{\"keccak256\":\"0xe21543cdbe3b6c526c3d13178cc0550d3f310d3d3d0fda72949697c5c3c6ca2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57ae213d0c07d7206ddafbd04e45e76f5f10ab1c8c68082faff345d271c7ac7d\",\"dweb:/ipfs/QmQGev8sZeFeTge53USh7dyMS3jVWgvr3VVPDFqnnNRqti\"]},\"src/interfaces/IPausable.sol\":{\"keccak256\":\"0x0cf760757842bd332ce27fac78b8dc0f7a36406529a213954bc463c2be174ecd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c69ee15b814b76caed732b47b729d1c2b361ed158b85220da30ea9aac893ad0e\",\"dweb:/ipfs/QmbF9HWVA7DCtNzK2LkRdvhMV1TuqTf9dzUzAKwQadHZnY\"]},\"src/interfaces/IPriceAggregator.sol\":{\"keccak256\":\"0x56ebae9f8fcf1e1674eafc7ab4397034d6f5304c3a8b8c688014445887ed2c5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d328b9fbdbd90afb4740dff095996555d14a2cdb67849ccffe796f61a29ff2ad\",\"dweb:/ipfs/QmZZNbj6gfLvrKhdT8qghCUTRRWx26UTagirxXtqdJWTy7\"]},\"src/interfaces/ITradingStorage.sol\":{\"keccak256\":\"0x8d11251a316c5ef1808bfd4a67421fc121aa7bd32f87aec028c9078d5e2b51ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae714dca1f1584b94b8b2efe27e63c7d7fb23062700fcfbdda515bf51256294f\",\"dweb:/ipfs/QmZEoAZ28MDGsfXh48EBBJGAW9XKGpbPEPaQAzEts9fnja\"]},\"src/interfaces/IVaultManager.sol\":{\"keccak256\":\"0x155dfef9cee4095d62850c4175988ea1e58d666e0cef4a56784b5eb22945e6a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca48d24e6b286737c8644877c0317a2c81e4ffe15eed3b2a47a7494700581b05\",\"dweb:/ipfs/Qmct1V584KcWZTtKZrU6DK444nHs7PRi3r8DiHNYesh9eZ\"]}},\"version\":1}",
225
+ "metadata": {
226
+ "compiler": { "version": "0.8.7+commit.e28d00a7" },
227
+ "language": "Solidity",
228
+ "output": {
229
+ "abi": [
230
+ {
231
+ "inputs": [
232
+ { "internalType": "string", "name": "name", "type": "string", "indexed": false },
233
+ { "internalType": "address", "name": "a", "type": "address", "indexed": false }
234
+ ],
235
+ "type": "event",
236
+ "name": "AddressUpdated",
237
+ "anonymous": false
238
+ },
239
+ {
240
+ "inputs": [{ "internalType": "bool", "name": "_start", "type": "bool", "indexed": false }],
241
+ "type": "event",
242
+ "name": "BackUpTriggered",
243
+ "anonymous": false
244
+ },
245
+ {
246
+ "inputs": [
247
+ { "internalType": "uint256", "name": "orderId", "type": "uint256", "indexed": false },
248
+ { "internalType": "uint256", "name": "pairIndex", "type": "uint256", "indexed": false },
249
+ { "internalType": "uint256", "name": "price", "type": "uint256", "indexed": false }
250
+ ],
251
+ "type": "event",
252
+ "name": "BackupPriceReceived",
253
+ "anonymous": false
254
+ },
255
+ {
256
+ "inputs": [
257
+ { "internalType": "string", "name": "name", "type": "string", "indexed": false },
258
+ { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false }
259
+ ],
260
+ "type": "event",
261
+ "name": "NumberUpdated",
262
+ "anonymous": false
263
+ },
264
+ {
265
+ "inputs": [
266
+ { "internalType": "uint256", "name": "orderId", "type": "uint256", "indexed": false },
267
+ { "internalType": "uint256", "name": "pairIndex", "type": "uint256", "indexed": false },
268
+ { "internalType": "uint256", "name": "price", "type": "uint256", "indexed": false }
269
+ ],
270
+ "type": "event",
271
+ "name": "PriceReceived",
272
+ "anonymous": false
273
+ },
274
+ {
275
+ "inputs": [{ "internalType": "address", "name": "a", "type": "address", "indexed": false }],
276
+ "type": "event",
277
+ "name": "PythUpdated",
278
+ "anonymous": false
279
+ },
280
+ {
281
+ "inputs": [{ "internalType": "uint256", "name": "_newPeriod", "type": "uint256", "indexed": false }],
282
+ "type": "event",
283
+ "name": "chainlinkValidityPeriodSet",
284
+ "anonymous": false
285
+ },
286
+ {
287
+ "inputs": [],
288
+ "stateMutability": "view",
289
+ "type": "function",
290
+ "name": "executions",
291
+ "outputs": [{ "internalType": "contract IExecute", "name": "", "type": "address" }]
292
+ },
293
+ {
294
+ "inputs": [
295
+ { "internalType": "uint256", "name": "orderId", "type": "uint256" },
296
+ { "internalType": "bytes[]", "name": "priceUpdateData", "type": "bytes[]" }
297
+ ],
298
+ "stateMutability": "payable",
299
+ "type": "function",
300
+ "name": "fulfill"
301
+ },
302
+ {
303
+ "inputs": [
304
+ { "internalType": "uint256", "name": "", "type": "uint256" },
305
+ { "internalType": "enum IPriceAggregator.OrderType", "name": "", "type": "uint8" }
306
+ ],
307
+ "stateMutability": "nonpayable",
308
+ "type": "function",
309
+ "name": "getPrice",
310
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
311
+ },
312
+ {
313
+ "inputs": [
314
+ { "internalType": "uint256", "name": "", "type": "uint256" },
315
+ { "internalType": "uint256", "name": "", "type": "uint256" },
316
+ { "internalType": "bool", "name": "", "type": "bool" }
317
+ ],
318
+ "stateMutability": "view",
319
+ "type": "function",
320
+ "name": "openFeeP",
321
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
322
+ },
323
+ {
324
+ "inputs": [],
325
+ "stateMutability": "view",
326
+ "type": "function",
327
+ "name": "pairsStorage",
328
+ "outputs": [{ "internalType": "contract IPairStorage", "name": "", "type": "address" }]
329
+ },
330
+ {
331
+ "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
332
+ "stateMutability": "view",
333
+ "type": "function",
334
+ "name": "pendingMarginUpdateOrders",
335
+ "outputs": [
336
+ {
337
+ "internalType": "struct IPriceAggregator.PendingMarginUpdate",
338
+ "name": "",
339
+ "type": "tuple",
340
+ "components": [
341
+ { "internalType": "address", "name": "trader", "type": "address" },
342
+ { "internalType": "uint256", "name": "pairIndex", "type": "uint256" },
343
+ { "internalType": "uint256", "name": "index", "type": "uint256" },
344
+ { "internalType": "enum ITradingStorage.updateType", "name": "_type", "type": "uint8" },
345
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
346
+ { "internalType": "uint256", "name": "tier", "type": "uint256" },
347
+ { "internalType": "uint256", "name": "marginFees", "type": "uint256" },
348
+ { "internalType": "uint256", "name": "oldLeverage", "type": "uint256" }
349
+ ]
350
+ }
351
+ ]
352
+ },
353
+ {
354
+ "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
355
+ "stateMutability": "view",
356
+ "type": "function",
357
+ "name": "pendingSlOrders",
358
+ "outputs": [
359
+ {
360
+ "internalType": "struct IPriceAggregator.PendingSl",
361
+ "name": "",
362
+ "type": "tuple",
363
+ "components": [
364
+ { "internalType": "address", "name": "trader", "type": "address" },
365
+ { "internalType": "uint256", "name": "pairIndex", "type": "uint256" },
366
+ { "internalType": "uint256", "name": "index", "type": "uint256" },
367
+ { "internalType": "uint256", "name": "openPrice", "type": "uint256" },
368
+ { "internalType": "bool", "name": "buy", "type": "bool" },
369
+ { "internalType": "uint256", "name": "newSl", "type": "uint256" }
370
+ ]
371
+ }
372
+ ]
373
+ },
374
+ {
375
+ "inputs": [
376
+ { "internalType": "uint256", "name": "orderId", "type": "uint256" },
377
+ {
378
+ "internalType": "struct IPriceAggregator.PendingMarginUpdate",
379
+ "name": "p",
380
+ "type": "tuple",
381
+ "components": [
382
+ { "internalType": "address", "name": "trader", "type": "address" },
383
+ { "internalType": "uint256", "name": "pairIndex", "type": "uint256" },
384
+ { "internalType": "uint256", "name": "index", "type": "uint256" },
385
+ { "internalType": "enum ITradingStorage.updateType", "name": "_type", "type": "uint8" },
386
+ { "internalType": "uint256", "name": "amount", "type": "uint256" },
387
+ { "internalType": "uint256", "name": "tier", "type": "uint256" },
388
+ { "internalType": "uint256", "name": "marginFees", "type": "uint256" },
389
+ { "internalType": "uint256", "name": "oldLeverage", "type": "uint256" }
390
+ ]
391
+ }
392
+ ],
393
+ "stateMutability": "nonpayable",
394
+ "type": "function",
395
+ "name": "storePendingMarginUpdateOrder"
396
+ },
397
+ {
398
+ "inputs": [
399
+ { "internalType": "uint256", "name": "orderId", "type": "uint256" },
400
+ {
401
+ "internalType": "struct IPriceAggregator.PendingSl",
402
+ "name": "p",
403
+ "type": "tuple",
404
+ "components": [
405
+ { "internalType": "address", "name": "trader", "type": "address" },
406
+ { "internalType": "uint256", "name": "pairIndex", "type": "uint256" },
407
+ { "internalType": "uint256", "name": "index", "type": "uint256" },
408
+ { "internalType": "uint256", "name": "openPrice", "type": "uint256" },
409
+ { "internalType": "bool", "name": "buy", "type": "bool" },
410
+ { "internalType": "uint256", "name": "newSl", "type": "uint256" }
411
+ ]
412
+ }
413
+ ],
414
+ "stateMutability": "nonpayable",
415
+ "type": "function",
416
+ "name": "storePendingSlOrder"
417
+ },
418
+ {
419
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
420
+ "stateMutability": "nonpayable",
421
+ "type": "function",
422
+ "name": "unregisterPendingMarginUpdateOrder"
423
+ },
424
+ {
425
+ "inputs": [{ "internalType": "uint256", "name": "orderId", "type": "uint256" }],
426
+ "stateMutability": "nonpayable",
427
+ "type": "function",
428
+ "name": "unregisterPendingSlOrder"
429
+ }
430
+ ],
431
+ "devdoc": { "kind": "dev", "methods": {}, "version": 1 },
432
+ "userdoc": { "kind": "user", "methods": {}, "version": 1 }
433
+ },
434
+ "settings": {
435
+ "remappings": [
436
+ "@chainlink/=lib/chainlink/",
437
+ "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
438
+ "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
439
+ "chainlink/=lib/chainlink/",
440
+ "ds-test/=lib/forge-std/lib/ds-test/src/",
441
+ "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
442
+ "forge-std/=lib/forge-std/src/",
443
+ "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
444
+ "openzeppelin-contracts/=lib/openzeppelin-contracts/",
445
+ "openzeppelin/=lib/openzeppelin-contracts/contracts/",
446
+ "pyth-sdk-solidity/=lib/pyth-sdk-solidity/"
447
+ ],
448
+ "optimizer": { "enabled": true, "runs": 200 },
449
+ "metadata": { "bytecodeHash": "ipfs" },
450
+ "compilationTarget": { "src/interfaces/IPriceAggregator.sol": "IPriceAggregator" },
451
+ "libraries": {}
452
+ },
453
+ "sources": {
454
+ "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": {
455
+ "keccak256": "0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305",
456
+ "urls": [
457
+ "bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5",
458
+ "dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"
459
+ ],
460
+ "license": "MIT"
461
+ },
462
+ "src/interfaces/ICallbacks.sol": {
463
+ "keccak256": "0xf752442ca8254c91ace7ca3e7c6360783cfd9019ce50f3354c45b7e73268f6e8",
464
+ "urls": [
465
+ "bzz-raw://d43dbc8029336d54a698810f532ce5ccdb9957db24cfbbefd56d65837001743f",
466
+ "dweb:/ipfs/QmSEfht6aZ7McGJJPqBeorSdYve3NpnMvCwt5vX1VKp6pu"
467
+ ],
468
+ "license": "MIT"
469
+ },
470
+ "src/interfaces/IExecute.sol": {
471
+ "keccak256": "0x189f78c460465dcdaab444248da17059e96e76e862bb08540e7054296512b9b4",
472
+ "urls": [
473
+ "bzz-raw://c757cbde37e2932a25fca5ed1ef8fdd49cf1521b8d9f1cfa1d512d1e94862a3b",
474
+ "dweb:/ipfs/QmVvbrLcDBFo9oMdNqaYTmhhtgnH2WzgX8nbMTKuJU6Y1m"
475
+ ],
476
+ "license": "MIT"
477
+ },
478
+ "src/interfaces/IPairStorage.sol": {
479
+ "keccak256": "0xe21543cdbe3b6c526c3d13178cc0550d3f310d3d3d0fda72949697c5c3c6ca2a",
480
+ "urls": [
481
+ "bzz-raw://57ae213d0c07d7206ddafbd04e45e76f5f10ab1c8c68082faff345d271c7ac7d",
482
+ "dweb:/ipfs/QmQGev8sZeFeTge53USh7dyMS3jVWgvr3VVPDFqnnNRqti"
483
+ ],
484
+ "license": "MIT"
485
+ },
486
+ "src/interfaces/IPausable.sol": {
487
+ "keccak256": "0x0cf760757842bd332ce27fac78b8dc0f7a36406529a213954bc463c2be174ecd",
488
+ "urls": [
489
+ "bzz-raw://c69ee15b814b76caed732b47b729d1c2b361ed158b85220da30ea9aac893ad0e",
490
+ "dweb:/ipfs/QmbF9HWVA7DCtNzK2LkRdvhMV1TuqTf9dzUzAKwQadHZnY"
491
+ ],
492
+ "license": "MIT"
493
+ },
494
+ "src/interfaces/IPriceAggregator.sol": {
495
+ "keccak256": "0x56ebae9f8fcf1e1674eafc7ab4397034d6f5304c3a8b8c688014445887ed2c5e",
496
+ "urls": [
497
+ "bzz-raw://d328b9fbdbd90afb4740dff095996555d14a2cdb67849ccffe796f61a29ff2ad",
498
+ "dweb:/ipfs/QmZZNbj6gfLvrKhdT8qghCUTRRWx26UTagirxXtqdJWTy7"
499
+ ],
500
+ "license": "MIT"
501
+ },
502
+ "src/interfaces/ITradingStorage.sol": {
503
+ "keccak256": "0x8d11251a316c5ef1808bfd4a67421fc121aa7bd32f87aec028c9078d5e2b51ae",
504
+ "urls": [
505
+ "bzz-raw://ae714dca1f1584b94b8b2efe27e63c7d7fb23062700fcfbdda515bf51256294f",
506
+ "dweb:/ipfs/QmZEoAZ28MDGsfXh48EBBJGAW9XKGpbPEPaQAzEts9fnja"
507
+ ],
508
+ "license": "MIT"
509
+ },
510
+ "src/interfaces/IVaultManager.sol": {
511
+ "keccak256": "0x155dfef9cee4095d62850c4175988ea1e58d666e0cef4a56784b5eb22945e6a4",
512
+ "urls": [
513
+ "bzz-raw://ca48d24e6b286737c8644877c0317a2c81e4ffe15eed3b2a47a7494700581b05",
514
+ "dweb:/ipfs/Qmct1V584KcWZTtKZrU6DK444nHs7PRi3r8DiHNYesh9eZ"
515
+ ],
516
+ "license": "MIT"
517
+ }
518
+ },
519
+ "version": 1
520
+ },
521
+ "ast": {
522
+ "absolutePath": "src/interfaces/IPriceAggregator.sol",
523
+ "id": 73850,
524
+ "exportedSymbols": {
525
+ "IExecute": [73019],
526
+ "IPairStorage": [73664],
527
+ "IPriceAggregator": [73849],
528
+ "ITradingStorage": [74531]
529
+ },
530
+ "nodeType": "SourceUnit",
531
+ "src": "32:2050:92",
532
+ "nodes": [
533
+ {
534
+ "id": 73674,
535
+ "nodeType": "PragmaDirective",
536
+ "src": "32:22:92",
537
+ "nodes": [],
538
+ "literals": ["solidity", "0.8", ".7"]
539
+ },
540
+ {
541
+ "id": 73675,
542
+ "nodeType": "ImportDirective",
543
+ "src": "55:28:92",
544
+ "nodes": [],
545
+ "absolutePath": "src/interfaces/IPairStorage.sol",
546
+ "file": "./IPairStorage.sol",
547
+ "nameLocation": "-1:-1:-1",
548
+ "scope": 73850,
549
+ "sourceUnit": 73665,
550
+ "symbolAliases": [],
551
+ "unitAlias": ""
552
+ },
553
+ {
554
+ "id": 73676,
555
+ "nodeType": "ImportDirective",
556
+ "src": "84:24:92",
557
+ "nodes": [],
558
+ "absolutePath": "src/interfaces/IExecute.sol",
559
+ "file": "./IExecute.sol",
560
+ "nameLocation": "-1:-1:-1",
561
+ "scope": 73850,
562
+ "sourceUnit": 73020,
563
+ "symbolAliases": [],
564
+ "unitAlias": ""
565
+ },
566
+ {
567
+ "id": 73677,
568
+ "nodeType": "ImportDirective",
569
+ "src": "109:31:92",
570
+ "nodes": [],
571
+ "absolutePath": "src/interfaces/ITradingStorage.sol",
572
+ "file": "./ITradingStorage.sol",
573
+ "nameLocation": "-1:-1:-1",
574
+ "scope": 73850,
575
+ "sourceUnit": 74532,
576
+ "symbolAliases": [],
577
+ "unitAlias": ""
578
+ },
579
+ {
580
+ "id": 73849,
581
+ "nodeType": "ContractDefinition",
582
+ "src": "142:1939:92",
583
+ "nodes": [
584
+ {
585
+ "id": 73684,
586
+ "nodeType": "EnumDefinition",
587
+ "src": "176:147:92",
588
+ "nodes": [],
589
+ "canonicalName": "IPriceAggregator.OrderType",
590
+ "members": [
591
+ {
592
+ "id": 73678,
593
+ "name": "MARKET_OPEN",
594
+ "nameLocation": "201:11:92",
595
+ "nodeType": "EnumValue",
596
+ "src": "201:11:92"
597
+ },
598
+ {
599
+ "id": 73679,
600
+ "name": "MARKET_CLOSE",
601
+ "nameLocation": "222:12:92",
602
+ "nodeType": "EnumValue",
603
+ "src": "222:12:92"
604
+ },
605
+ {
606
+ "id": 73680,
607
+ "name": "LIMIT_OPEN",
608
+ "nameLocation": "244:10:92",
609
+ "nodeType": "EnumValue",
610
+ "src": "244:10:92"
611
+ },
612
+ {
613
+ "id": 73681,
614
+ "name": "LIMIT_CLOSE",
615
+ "nameLocation": "264:11:92",
616
+ "nodeType": "EnumValue",
617
+ "src": "264:11:92"
618
+ },
619
+ {
620
+ "id": 73682,
621
+ "name": "UPDATE_MARGIN",
622
+ "nameLocation": "285:13:92",
623
+ "nodeType": "EnumValue",
624
+ "src": "285:13:92"
625
+ },
626
+ {
627
+ "id": 73683,
628
+ "name": "UPDATE_SL",
629
+ "nameLocation": "308:9:92",
630
+ "nodeType": "EnumValue",
631
+ "src": "308:9:92"
632
+ }
633
+ ],
634
+ "name": "OrderType",
635
+ "nameLocation": "181:9:92"
636
+ },
637
+ {
638
+ "id": 73694,
639
+ "nodeType": "StructDefinition",
640
+ "src": "333:118:92",
641
+ "nodes": [],
642
+ "canonicalName": "IPriceAggregator.Order",
643
+ "members": [
644
+ {
645
+ "constant": false,
646
+ "id": 73686,
647
+ "mutability": "mutable",
648
+ "name": "pairIndex",
649
+ "nameLocation": "361:9:92",
650
+ "nodeType": "VariableDeclaration",
651
+ "scope": 73694,
652
+ "src": "356:14:92",
653
+ "stateVariable": false,
654
+ "storageLocation": "default",
655
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
656
+ "typeName": {
657
+ "id": 73685,
658
+ "name": "uint",
659
+ "nodeType": "ElementaryTypeName",
660
+ "src": "356:4:92",
661
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
662
+ },
663
+ "visibility": "internal"
664
+ },
665
+ {
666
+ "constant": false,
667
+ "id": 73689,
668
+ "mutability": "mutable",
669
+ "name": "orderType",
670
+ "nameLocation": "390:9:92",
671
+ "nodeType": "VariableDeclaration",
672
+ "scope": 73694,
673
+ "src": "380:19:92",
674
+ "stateVariable": false,
675
+ "storageLocation": "default",
676
+ "typeDescriptions": {
677
+ "typeIdentifier": "t_enum$_OrderType_$73684",
678
+ "typeString": "enum IPriceAggregator.OrderType"
679
+ },
680
+ "typeName": {
681
+ "id": 73688,
682
+ "nodeType": "UserDefinedTypeName",
683
+ "pathNode": {
684
+ "id": 73687,
685
+ "name": "OrderType",
686
+ "nodeType": "IdentifierPath",
687
+ "referencedDeclaration": 73684,
688
+ "src": "380:9:92"
689
+ },
690
+ "referencedDeclaration": 73684,
691
+ "src": "380:9:92",
692
+ "typeDescriptions": {
693
+ "typeIdentifier": "t_enum$_OrderType_$73684",
694
+ "typeString": "enum IPriceAggregator.OrderType"
695
+ }
696
+ },
697
+ "visibility": "internal"
698
+ },
699
+ {
700
+ "constant": false,
701
+ "id": 73691,
702
+ "mutability": "mutable",
703
+ "name": "job",
704
+ "nameLocation": "417:3:92",
705
+ "nodeType": "VariableDeclaration",
706
+ "scope": 73694,
707
+ "src": "409:11:92",
708
+ "stateVariable": false,
709
+ "storageLocation": "default",
710
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
711
+ "typeName": {
712
+ "id": 73690,
713
+ "name": "bytes32",
714
+ "nodeType": "ElementaryTypeName",
715
+ "src": "409:7:92",
716
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
717
+ },
718
+ "visibility": "internal"
719
+ },
720
+ {
721
+ "constant": false,
722
+ "id": 73693,
723
+ "mutability": "mutable",
724
+ "name": "initiated",
725
+ "nameLocation": "435:9:92",
726
+ "nodeType": "VariableDeclaration",
727
+ "scope": 73694,
728
+ "src": "430:14:92",
729
+ "stateVariable": false,
730
+ "storageLocation": "default",
731
+ "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" },
732
+ "typeName": {
733
+ "id": 73692,
734
+ "name": "bool",
735
+ "nodeType": "ElementaryTypeName",
736
+ "src": "430:4:92",
737
+ "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }
738
+ },
739
+ "visibility": "internal"
740
+ }
741
+ ],
742
+ "name": "Order",
743
+ "nameLocation": "340:5:92",
744
+ "scope": 73849,
745
+ "visibility": "public"
746
+ },
747
+ {
748
+ "id": 73707,
749
+ "nodeType": "StructDefinition",
750
+ "src": "456:154:92",
751
+ "nodes": [],
752
+ "canonicalName": "IPriceAggregator.PendingSl",
753
+ "members": [
754
+ {
755
+ "constant": false,
756
+ "id": 73696,
757
+ "mutability": "mutable",
758
+ "name": "trader",
759
+ "nameLocation": "491:6:92",
760
+ "nodeType": "VariableDeclaration",
761
+ "scope": 73707,
762
+ "src": "483:14:92",
763
+ "stateVariable": false,
764
+ "storageLocation": "default",
765
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
766
+ "typeName": {
767
+ "id": 73695,
768
+ "name": "address",
769
+ "nodeType": "ElementaryTypeName",
770
+ "src": "483:7:92",
771
+ "stateMutability": "nonpayable",
772
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
773
+ },
774
+ "visibility": "internal"
775
+ },
776
+ {
777
+ "constant": false,
778
+ "id": 73698,
779
+ "mutability": "mutable",
780
+ "name": "pairIndex",
781
+ "nameLocation": "512:9:92",
782
+ "nodeType": "VariableDeclaration",
783
+ "scope": 73707,
784
+ "src": "507:14:92",
785
+ "stateVariable": false,
786
+ "storageLocation": "default",
787
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
788
+ "typeName": {
789
+ "id": 73697,
790
+ "name": "uint",
791
+ "nodeType": "ElementaryTypeName",
792
+ "src": "507:4:92",
793
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
794
+ },
795
+ "visibility": "internal"
796
+ },
797
+ {
798
+ "constant": false,
799
+ "id": 73700,
800
+ "mutability": "mutable",
801
+ "name": "index",
802
+ "nameLocation": "536:5:92",
803
+ "nodeType": "VariableDeclaration",
804
+ "scope": 73707,
805
+ "src": "531:10:92",
806
+ "stateVariable": false,
807
+ "storageLocation": "default",
808
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
809
+ "typeName": {
810
+ "id": 73699,
811
+ "name": "uint",
812
+ "nodeType": "ElementaryTypeName",
813
+ "src": "531:4:92",
814
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
815
+ },
816
+ "visibility": "internal"
817
+ },
818
+ {
819
+ "constant": false,
820
+ "id": 73702,
821
+ "mutability": "mutable",
822
+ "name": "openPrice",
823
+ "nameLocation": "556:9:92",
824
+ "nodeType": "VariableDeclaration",
825
+ "scope": 73707,
826
+ "src": "551:14:92",
827
+ "stateVariable": false,
828
+ "storageLocation": "default",
829
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
830
+ "typeName": {
831
+ "id": 73701,
832
+ "name": "uint",
833
+ "nodeType": "ElementaryTypeName",
834
+ "src": "551:4:92",
835
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
836
+ },
837
+ "visibility": "internal"
838
+ },
839
+ {
840
+ "constant": false,
841
+ "id": 73704,
842
+ "mutability": "mutable",
843
+ "name": "buy",
844
+ "nameLocation": "580:3:92",
845
+ "nodeType": "VariableDeclaration",
846
+ "scope": 73707,
847
+ "src": "575:8:92",
848
+ "stateVariable": false,
849
+ "storageLocation": "default",
850
+ "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" },
851
+ "typeName": {
852
+ "id": 73703,
853
+ "name": "bool",
854
+ "nodeType": "ElementaryTypeName",
855
+ "src": "575:4:92",
856
+ "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }
857
+ },
858
+ "visibility": "internal"
859
+ },
860
+ {
861
+ "constant": false,
862
+ "id": 73706,
863
+ "mutability": "mutable",
864
+ "name": "newSl",
865
+ "nameLocation": "598:5:92",
866
+ "nodeType": "VariableDeclaration",
867
+ "scope": 73707,
868
+ "src": "593:10:92",
869
+ "stateVariable": false,
870
+ "storageLocation": "default",
871
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
872
+ "typeName": {
873
+ "id": 73705,
874
+ "name": "uint",
875
+ "nodeType": "ElementaryTypeName",
876
+ "src": "593:4:92",
877
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
878
+ },
879
+ "visibility": "internal"
880
+ }
881
+ ],
882
+ "name": "PendingSl",
883
+ "nameLocation": "463:9:92",
884
+ "scope": 73849,
885
+ "visibility": "public"
886
+ },
887
+ {
888
+ "id": 73725,
889
+ "nodeType": "StructDefinition",
890
+ "src": "616:235:92",
891
+ "nodes": [],
892
+ "canonicalName": "IPriceAggregator.PendingMarginUpdate",
893
+ "members": [
894
+ {
895
+ "constant": false,
896
+ "id": 73709,
897
+ "mutability": "mutable",
898
+ "name": "trader",
899
+ "nameLocation": "661:6:92",
900
+ "nodeType": "VariableDeclaration",
901
+ "scope": 73725,
902
+ "src": "653:14:92",
903
+ "stateVariable": false,
904
+ "storageLocation": "default",
905
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
906
+ "typeName": {
907
+ "id": 73708,
908
+ "name": "address",
909
+ "nodeType": "ElementaryTypeName",
910
+ "src": "653:7:92",
911
+ "stateMutability": "nonpayable",
912
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
913
+ },
914
+ "visibility": "internal"
915
+ },
916
+ {
917
+ "constant": false,
918
+ "id": 73711,
919
+ "mutability": "mutable",
920
+ "name": "pairIndex",
921
+ "nameLocation": "682:9:92",
922
+ "nodeType": "VariableDeclaration",
923
+ "scope": 73725,
924
+ "src": "677:14:92",
925
+ "stateVariable": false,
926
+ "storageLocation": "default",
927
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
928
+ "typeName": {
929
+ "id": 73710,
930
+ "name": "uint",
931
+ "nodeType": "ElementaryTypeName",
932
+ "src": "677:4:92",
933
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
934
+ },
935
+ "visibility": "internal"
936
+ },
937
+ {
938
+ "constant": false,
939
+ "id": 73713,
940
+ "mutability": "mutable",
941
+ "name": "index",
942
+ "nameLocation": "706:5:92",
943
+ "nodeType": "VariableDeclaration",
944
+ "scope": 73725,
945
+ "src": "701:10:92",
946
+ "stateVariable": false,
947
+ "storageLocation": "default",
948
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
949
+ "typeName": {
950
+ "id": 73712,
951
+ "name": "uint",
952
+ "nodeType": "ElementaryTypeName",
953
+ "src": "701:4:92",
954
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
955
+ },
956
+ "visibility": "internal"
957
+ },
958
+ {
959
+ "constant": false,
960
+ "id": 73716,
961
+ "mutability": "mutable",
962
+ "name": "_type",
963
+ "nameLocation": "748:5:92",
964
+ "nodeType": "VariableDeclaration",
965
+ "scope": 73725,
966
+ "src": "721:32:92",
967
+ "stateVariable": false,
968
+ "storageLocation": "default",
969
+ "typeDescriptions": {
970
+ "typeIdentifier": "t_enum$_updateType_$74009",
971
+ "typeString": "enum ITradingStorage.updateType"
972
+ },
973
+ "typeName": {
974
+ "id": 73715,
975
+ "nodeType": "UserDefinedTypeName",
976
+ "pathNode": {
977
+ "id": 73714,
978
+ "name": "ITradingStorage.updateType",
979
+ "nodeType": "IdentifierPath",
980
+ "referencedDeclaration": 74009,
981
+ "src": "721:26:92"
982
+ },
983
+ "referencedDeclaration": 74009,
984
+ "src": "721:26:92",
985
+ "typeDescriptions": {
986
+ "typeIdentifier": "t_enum$_updateType_$74009",
987
+ "typeString": "enum ITradingStorage.updateType"
988
+ }
989
+ },
990
+ "visibility": "internal"
991
+ },
992
+ {
993
+ "constant": false,
994
+ "id": 73718,
995
+ "mutability": "mutable",
996
+ "name": "amount",
997
+ "nameLocation": "768:6:92",
998
+ "nodeType": "VariableDeclaration",
999
+ "scope": 73725,
1000
+ "src": "763:11:92",
1001
+ "stateVariable": false,
1002
+ "storageLocation": "default",
1003
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1004
+ "typeName": {
1005
+ "id": 73717,
1006
+ "name": "uint",
1007
+ "nodeType": "ElementaryTypeName",
1008
+ "src": "763:4:92",
1009
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1010
+ },
1011
+ "visibility": "internal"
1012
+ },
1013
+ {
1014
+ "constant": false,
1015
+ "id": 73720,
1016
+ "mutability": "mutable",
1017
+ "name": "tier",
1018
+ "nameLocation": "789:4:92",
1019
+ "nodeType": "VariableDeclaration",
1020
+ "scope": 73725,
1021
+ "src": "784:9:92",
1022
+ "stateVariable": false,
1023
+ "storageLocation": "default",
1024
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1025
+ "typeName": {
1026
+ "id": 73719,
1027
+ "name": "uint",
1028
+ "nodeType": "ElementaryTypeName",
1029
+ "src": "784:4:92",
1030
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1031
+ },
1032
+ "visibility": "internal"
1033
+ },
1034
+ {
1035
+ "constant": false,
1036
+ "id": 73722,
1037
+ "mutability": "mutable",
1038
+ "name": "marginFees",
1039
+ "nameLocation": "808:10:92",
1040
+ "nodeType": "VariableDeclaration",
1041
+ "scope": 73725,
1042
+ "src": "803:15:92",
1043
+ "stateVariable": false,
1044
+ "storageLocation": "default",
1045
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1046
+ "typeName": {
1047
+ "id": 73721,
1048
+ "name": "uint",
1049
+ "nodeType": "ElementaryTypeName",
1050
+ "src": "803:4:92",
1051
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1052
+ },
1053
+ "visibility": "internal"
1054
+ },
1055
+ {
1056
+ "constant": false,
1057
+ "id": 73724,
1058
+ "mutability": "mutable",
1059
+ "name": "oldLeverage",
1060
+ "nameLocation": "833:11:92",
1061
+ "nodeType": "VariableDeclaration",
1062
+ "scope": 73725,
1063
+ "src": "828:16:92",
1064
+ "stateVariable": false,
1065
+ "storageLocation": "default",
1066
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1067
+ "typeName": {
1068
+ "id": 73723,
1069
+ "name": "uint",
1070
+ "nodeType": "ElementaryTypeName",
1071
+ "src": "828:4:92",
1072
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1073
+ },
1074
+ "visibility": "internal"
1075
+ }
1076
+ ],
1077
+ "name": "PendingMarginUpdate",
1078
+ "nameLocation": "623:19:92",
1079
+ "scope": 73849,
1080
+ "visibility": "public"
1081
+ },
1082
+ {
1083
+ "id": 73731,
1084
+ "nodeType": "EventDefinition",
1085
+ "src": "871:45:92",
1086
+ "nodes": [],
1087
+ "anonymous": false,
1088
+ "name": "AddressUpdated",
1089
+ "nameLocation": "877:14:92",
1090
+ "parameters": {
1091
+ "id": 73730,
1092
+ "nodeType": "ParameterList",
1093
+ "parameters": [
1094
+ {
1095
+ "constant": false,
1096
+ "id": 73727,
1097
+ "indexed": false,
1098
+ "mutability": "mutable",
1099
+ "name": "name",
1100
+ "nameLocation": "899:4:92",
1101
+ "nodeType": "VariableDeclaration",
1102
+ "scope": 73731,
1103
+ "src": "892:11:92",
1104
+ "stateVariable": false,
1105
+ "storageLocation": "default",
1106
+ "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" },
1107
+ "typeName": {
1108
+ "id": 73726,
1109
+ "name": "string",
1110
+ "nodeType": "ElementaryTypeName",
1111
+ "src": "892:6:92",
1112
+ "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }
1113
+ },
1114
+ "visibility": "internal"
1115
+ },
1116
+ {
1117
+ "constant": false,
1118
+ "id": 73729,
1119
+ "indexed": false,
1120
+ "mutability": "mutable",
1121
+ "name": "a",
1122
+ "nameLocation": "913:1:92",
1123
+ "nodeType": "VariableDeclaration",
1124
+ "scope": 73731,
1125
+ "src": "905:9:92",
1126
+ "stateVariable": false,
1127
+ "storageLocation": "default",
1128
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1129
+ "typeName": {
1130
+ "id": 73728,
1131
+ "name": "address",
1132
+ "nodeType": "ElementaryTypeName",
1133
+ "src": "905:7:92",
1134
+ "stateMutability": "nonpayable",
1135
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1136
+ },
1137
+ "visibility": "internal"
1138
+ }
1139
+ ],
1140
+ "src": "891:24:92"
1141
+ }
1142
+ },
1143
+ {
1144
+ "id": 73737,
1145
+ "nodeType": "EventDefinition",
1146
+ "src": "921:45:92",
1147
+ "nodes": [],
1148
+ "anonymous": false,
1149
+ "name": "NumberUpdated",
1150
+ "nameLocation": "927:13:92",
1151
+ "parameters": {
1152
+ "id": 73736,
1153
+ "nodeType": "ParameterList",
1154
+ "parameters": [
1155
+ {
1156
+ "constant": false,
1157
+ "id": 73733,
1158
+ "indexed": false,
1159
+ "mutability": "mutable",
1160
+ "name": "name",
1161
+ "nameLocation": "948:4:92",
1162
+ "nodeType": "VariableDeclaration",
1163
+ "scope": 73737,
1164
+ "src": "941:11:92",
1165
+ "stateVariable": false,
1166
+ "storageLocation": "default",
1167
+ "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string" },
1168
+ "typeName": {
1169
+ "id": 73732,
1170
+ "name": "string",
1171
+ "nodeType": "ElementaryTypeName",
1172
+ "src": "941:6:92",
1173
+ "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" }
1174
+ },
1175
+ "visibility": "internal"
1176
+ },
1177
+ {
1178
+ "constant": false,
1179
+ "id": 73735,
1180
+ "indexed": false,
1181
+ "mutability": "mutable",
1182
+ "name": "value",
1183
+ "nameLocation": "959:5:92",
1184
+ "nodeType": "VariableDeclaration",
1185
+ "scope": 73737,
1186
+ "src": "954:10:92",
1187
+ "stateVariable": false,
1188
+ "storageLocation": "default",
1189
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1190
+ "typeName": {
1191
+ "id": 73734,
1192
+ "name": "uint",
1193
+ "nodeType": "ElementaryTypeName",
1194
+ "src": "954:4:92",
1195
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1196
+ },
1197
+ "visibility": "internal"
1198
+ }
1199
+ ],
1200
+ "src": "940:25:92"
1201
+ }
1202
+ },
1203
+ {
1204
+ "id": 73741,
1205
+ "nodeType": "EventDefinition",
1206
+ "src": "971:29:92",
1207
+ "nodes": [],
1208
+ "anonymous": false,
1209
+ "name": "PythUpdated",
1210
+ "nameLocation": "977:11:92",
1211
+ "parameters": {
1212
+ "id": 73740,
1213
+ "nodeType": "ParameterList",
1214
+ "parameters": [
1215
+ {
1216
+ "constant": false,
1217
+ "id": 73739,
1218
+ "indexed": false,
1219
+ "mutability": "mutable",
1220
+ "name": "a",
1221
+ "nameLocation": "997:1:92",
1222
+ "nodeType": "VariableDeclaration",
1223
+ "scope": 73741,
1224
+ "src": "989:9:92",
1225
+ "stateVariable": false,
1226
+ "storageLocation": "default",
1227
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1228
+ "typeName": {
1229
+ "id": 73738,
1230
+ "name": "address",
1231
+ "nodeType": "ElementaryTypeName",
1232
+ "src": "989:7:92",
1233
+ "stateMutability": "nonpayable",
1234
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1235
+ },
1236
+ "visibility": "internal"
1237
+ }
1238
+ ],
1239
+ "src": "988:11:92"
1240
+ }
1241
+ },
1242
+ {
1243
+ "id": 73749,
1244
+ "nodeType": "EventDefinition",
1245
+ "src": "1005:62:92",
1246
+ "nodes": [],
1247
+ "anonymous": false,
1248
+ "name": "PriceReceived",
1249
+ "nameLocation": "1011:13:92",
1250
+ "parameters": {
1251
+ "id": 73748,
1252
+ "nodeType": "ParameterList",
1253
+ "parameters": [
1254
+ {
1255
+ "constant": false,
1256
+ "id": 73743,
1257
+ "indexed": false,
1258
+ "mutability": "mutable",
1259
+ "name": "orderId",
1260
+ "nameLocation": "1030:7:92",
1261
+ "nodeType": "VariableDeclaration",
1262
+ "scope": 73749,
1263
+ "src": "1025:12:92",
1264
+ "stateVariable": false,
1265
+ "storageLocation": "default",
1266
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1267
+ "typeName": {
1268
+ "id": 73742,
1269
+ "name": "uint",
1270
+ "nodeType": "ElementaryTypeName",
1271
+ "src": "1025:4:92",
1272
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1273
+ },
1274
+ "visibility": "internal"
1275
+ },
1276
+ {
1277
+ "constant": false,
1278
+ "id": 73745,
1279
+ "indexed": false,
1280
+ "mutability": "mutable",
1281
+ "name": "pairIndex",
1282
+ "nameLocation": "1044:9:92",
1283
+ "nodeType": "VariableDeclaration",
1284
+ "scope": 73749,
1285
+ "src": "1039:14:92",
1286
+ "stateVariable": false,
1287
+ "storageLocation": "default",
1288
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1289
+ "typeName": {
1290
+ "id": 73744,
1291
+ "name": "uint",
1292
+ "nodeType": "ElementaryTypeName",
1293
+ "src": "1039:4:92",
1294
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1295
+ },
1296
+ "visibility": "internal"
1297
+ },
1298
+ {
1299
+ "constant": false,
1300
+ "id": 73747,
1301
+ "indexed": false,
1302
+ "mutability": "mutable",
1303
+ "name": "price",
1304
+ "nameLocation": "1060:5:92",
1305
+ "nodeType": "VariableDeclaration",
1306
+ "scope": 73749,
1307
+ "src": "1055:10:92",
1308
+ "stateVariable": false,
1309
+ "storageLocation": "default",
1310
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1311
+ "typeName": {
1312
+ "id": 73746,
1313
+ "name": "uint",
1314
+ "nodeType": "ElementaryTypeName",
1315
+ "src": "1055:4:92",
1316
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1317
+ },
1318
+ "visibility": "internal"
1319
+ }
1320
+ ],
1321
+ "src": "1024:42:92"
1322
+ }
1323
+ },
1324
+ {
1325
+ "id": 73757,
1326
+ "nodeType": "EventDefinition",
1327
+ "src": "1072:68:92",
1328
+ "nodes": [],
1329
+ "anonymous": false,
1330
+ "name": "BackupPriceReceived",
1331
+ "nameLocation": "1078:19:92",
1332
+ "parameters": {
1333
+ "id": 73756,
1334
+ "nodeType": "ParameterList",
1335
+ "parameters": [
1336
+ {
1337
+ "constant": false,
1338
+ "id": 73751,
1339
+ "indexed": false,
1340
+ "mutability": "mutable",
1341
+ "name": "orderId",
1342
+ "nameLocation": "1103:7:92",
1343
+ "nodeType": "VariableDeclaration",
1344
+ "scope": 73757,
1345
+ "src": "1098:12:92",
1346
+ "stateVariable": false,
1347
+ "storageLocation": "default",
1348
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1349
+ "typeName": {
1350
+ "id": 73750,
1351
+ "name": "uint",
1352
+ "nodeType": "ElementaryTypeName",
1353
+ "src": "1098:4:92",
1354
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1355
+ },
1356
+ "visibility": "internal"
1357
+ },
1358
+ {
1359
+ "constant": false,
1360
+ "id": 73753,
1361
+ "indexed": false,
1362
+ "mutability": "mutable",
1363
+ "name": "pairIndex",
1364
+ "nameLocation": "1117:9:92",
1365
+ "nodeType": "VariableDeclaration",
1366
+ "scope": 73757,
1367
+ "src": "1112:14:92",
1368
+ "stateVariable": false,
1369
+ "storageLocation": "default",
1370
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1371
+ "typeName": {
1372
+ "id": 73752,
1373
+ "name": "uint",
1374
+ "nodeType": "ElementaryTypeName",
1375
+ "src": "1112:4:92",
1376
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1377
+ },
1378
+ "visibility": "internal"
1379
+ },
1380
+ {
1381
+ "constant": false,
1382
+ "id": 73755,
1383
+ "indexed": false,
1384
+ "mutability": "mutable",
1385
+ "name": "price",
1386
+ "nameLocation": "1133:5:92",
1387
+ "nodeType": "VariableDeclaration",
1388
+ "scope": 73757,
1389
+ "src": "1128:10:92",
1390
+ "stateVariable": false,
1391
+ "storageLocation": "default",
1392
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1393
+ "typeName": {
1394
+ "id": 73754,
1395
+ "name": "uint",
1396
+ "nodeType": "ElementaryTypeName",
1397
+ "src": "1128:4:92",
1398
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1399
+ },
1400
+ "visibility": "internal"
1401
+ }
1402
+ ],
1403
+ "src": "1097:42:92"
1404
+ }
1405
+ },
1406
+ {
1407
+ "id": 73761,
1408
+ "nodeType": "EventDefinition",
1409
+ "src": "1145:35:92",
1410
+ "nodes": [],
1411
+ "anonymous": false,
1412
+ "name": "BackUpTriggered",
1413
+ "nameLocation": "1151:15:92",
1414
+ "parameters": {
1415
+ "id": 73760,
1416
+ "nodeType": "ParameterList",
1417
+ "parameters": [
1418
+ {
1419
+ "constant": false,
1420
+ "id": 73759,
1421
+ "indexed": false,
1422
+ "mutability": "mutable",
1423
+ "name": "_start",
1424
+ "nameLocation": "1172:6:92",
1425
+ "nodeType": "VariableDeclaration",
1426
+ "scope": 73761,
1427
+ "src": "1167:11:92",
1428
+ "stateVariable": false,
1429
+ "storageLocation": "default",
1430
+ "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" },
1431
+ "typeName": {
1432
+ "id": 73758,
1433
+ "name": "bool",
1434
+ "nodeType": "ElementaryTypeName",
1435
+ "src": "1167:4:92",
1436
+ "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }
1437
+ },
1438
+ "visibility": "internal"
1439
+ }
1440
+ ],
1441
+ "src": "1166:13:92"
1442
+ }
1443
+ },
1444
+ {
1445
+ "id": 73765,
1446
+ "nodeType": "EventDefinition",
1447
+ "src": "1185:50:92",
1448
+ "nodes": [],
1449
+ "anonymous": false,
1450
+ "name": "chainlinkValidityPeriodSet",
1451
+ "nameLocation": "1191:26:92",
1452
+ "parameters": {
1453
+ "id": 73764,
1454
+ "nodeType": "ParameterList",
1455
+ "parameters": [
1456
+ {
1457
+ "constant": false,
1458
+ "id": 73763,
1459
+ "indexed": false,
1460
+ "mutability": "mutable",
1461
+ "name": "_newPeriod",
1462
+ "nameLocation": "1223:10:92",
1463
+ "nodeType": "VariableDeclaration",
1464
+ "scope": 73765,
1465
+ "src": "1218:15:92",
1466
+ "stateVariable": false,
1467
+ "storageLocation": "default",
1468
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1469
+ "typeName": {
1470
+ "id": 73762,
1471
+ "name": "uint",
1472
+ "nodeType": "ElementaryTypeName",
1473
+ "src": "1218:4:92",
1474
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1475
+ },
1476
+ "visibility": "internal"
1477
+ }
1478
+ ],
1479
+ "src": "1217:17:92"
1480
+ }
1481
+ },
1482
+ {
1483
+ "id": 73771,
1484
+ "nodeType": "FunctionDefinition",
1485
+ "src": "1241:61:92",
1486
+ "nodes": [],
1487
+ "functionSelector": "35b03c17",
1488
+ "implemented": false,
1489
+ "kind": "function",
1490
+ "modifiers": [],
1491
+ "name": "pairsStorage",
1492
+ "nameLocation": "1250:12:92",
1493
+ "parameters": { "id": 73766, "nodeType": "ParameterList", "parameters": [], "src": "1262:2:92" },
1494
+ "returnParameters": {
1495
+ "id": 73770,
1496
+ "nodeType": "ParameterList",
1497
+ "parameters": [
1498
+ {
1499
+ "constant": false,
1500
+ "id": 73769,
1501
+ "mutability": "mutable",
1502
+ "name": "",
1503
+ "nameLocation": "-1:-1:-1",
1504
+ "nodeType": "VariableDeclaration",
1505
+ "scope": 73771,
1506
+ "src": "1288:12:92",
1507
+ "stateVariable": false,
1508
+ "storageLocation": "default",
1509
+ "typeDescriptions": {
1510
+ "typeIdentifier": "t_contract$_IPairStorage_$73664",
1511
+ "typeString": "contract IPairStorage"
1512
+ },
1513
+ "typeName": {
1514
+ "id": 73768,
1515
+ "nodeType": "UserDefinedTypeName",
1516
+ "pathNode": {
1517
+ "id": 73767,
1518
+ "name": "IPairStorage",
1519
+ "nodeType": "IdentifierPath",
1520
+ "referencedDeclaration": 73664,
1521
+ "src": "1288:12:92"
1522
+ },
1523
+ "referencedDeclaration": 73664,
1524
+ "src": "1288:12:92",
1525
+ "typeDescriptions": {
1526
+ "typeIdentifier": "t_contract$_IPairStorage_$73664",
1527
+ "typeString": "contract IPairStorage"
1528
+ }
1529
+ },
1530
+ "visibility": "internal"
1531
+ }
1532
+ ],
1533
+ "src": "1287:14:92"
1534
+ },
1535
+ "scope": 73849,
1536
+ "stateMutability": "view",
1537
+ "virtual": false,
1538
+ "visibility": "external"
1539
+ },
1540
+ {
1541
+ "id": 73777,
1542
+ "nodeType": "FunctionDefinition",
1543
+ "src": "1308:55:92",
1544
+ "nodes": [],
1545
+ "functionSelector": "b21f4517",
1546
+ "implemented": false,
1547
+ "kind": "function",
1548
+ "modifiers": [],
1549
+ "name": "executions",
1550
+ "nameLocation": "1317:10:92",
1551
+ "parameters": { "id": 73772, "nodeType": "ParameterList", "parameters": [], "src": "1327:2:92" },
1552
+ "returnParameters": {
1553
+ "id": 73776,
1554
+ "nodeType": "ParameterList",
1555
+ "parameters": [
1556
+ {
1557
+ "constant": false,
1558
+ "id": 73775,
1559
+ "mutability": "mutable",
1560
+ "name": "",
1561
+ "nameLocation": "-1:-1:-1",
1562
+ "nodeType": "VariableDeclaration",
1563
+ "scope": 73777,
1564
+ "src": "1353:8:92",
1565
+ "stateVariable": false,
1566
+ "storageLocation": "default",
1567
+ "typeDescriptions": {
1568
+ "typeIdentifier": "t_contract$_IExecute_$73019",
1569
+ "typeString": "contract IExecute"
1570
+ },
1571
+ "typeName": {
1572
+ "id": 73774,
1573
+ "nodeType": "UserDefinedTypeName",
1574
+ "pathNode": {
1575
+ "id": 73773,
1576
+ "name": "IExecute",
1577
+ "nodeType": "IdentifierPath",
1578
+ "referencedDeclaration": 73019,
1579
+ "src": "1353:8:92"
1580
+ },
1581
+ "referencedDeclaration": 73019,
1582
+ "src": "1353:8:92",
1583
+ "typeDescriptions": {
1584
+ "typeIdentifier": "t_contract$_IExecute_$73019",
1585
+ "typeString": "contract IExecute"
1586
+ }
1587
+ },
1588
+ "visibility": "internal"
1589
+ }
1590
+ ],
1591
+ "src": "1352:10:92"
1592
+ },
1593
+ "scope": 73849,
1594
+ "stateMutability": "view",
1595
+ "virtual": false,
1596
+ "visibility": "external"
1597
+ },
1598
+ {
1599
+ "id": 73787,
1600
+ "nodeType": "FunctionDefinition",
1601
+ "src": "1369:59:92",
1602
+ "nodes": [],
1603
+ "functionSelector": "c0a027f4",
1604
+ "implemented": false,
1605
+ "kind": "function",
1606
+ "modifiers": [],
1607
+ "name": "getPrice",
1608
+ "nameLocation": "1378:8:92",
1609
+ "parameters": {
1610
+ "id": 73783,
1611
+ "nodeType": "ParameterList",
1612
+ "parameters": [
1613
+ {
1614
+ "constant": false,
1615
+ "id": 73779,
1616
+ "mutability": "mutable",
1617
+ "name": "",
1618
+ "nameLocation": "-1:-1:-1",
1619
+ "nodeType": "VariableDeclaration",
1620
+ "scope": 73787,
1621
+ "src": "1387:4:92",
1622
+ "stateVariable": false,
1623
+ "storageLocation": "default",
1624
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1625
+ "typeName": {
1626
+ "id": 73778,
1627
+ "name": "uint",
1628
+ "nodeType": "ElementaryTypeName",
1629
+ "src": "1387:4:92",
1630
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1631
+ },
1632
+ "visibility": "internal"
1633
+ },
1634
+ {
1635
+ "constant": false,
1636
+ "id": 73782,
1637
+ "mutability": "mutable",
1638
+ "name": "",
1639
+ "nameLocation": "-1:-1:-1",
1640
+ "nodeType": "VariableDeclaration",
1641
+ "scope": 73787,
1642
+ "src": "1393:9:92",
1643
+ "stateVariable": false,
1644
+ "storageLocation": "default",
1645
+ "typeDescriptions": {
1646
+ "typeIdentifier": "t_enum$_OrderType_$73684",
1647
+ "typeString": "enum IPriceAggregator.OrderType"
1648
+ },
1649
+ "typeName": {
1650
+ "id": 73781,
1651
+ "nodeType": "UserDefinedTypeName",
1652
+ "pathNode": {
1653
+ "id": 73780,
1654
+ "name": "OrderType",
1655
+ "nodeType": "IdentifierPath",
1656
+ "referencedDeclaration": 73684,
1657
+ "src": "1393:9:92"
1658
+ },
1659
+ "referencedDeclaration": 73684,
1660
+ "src": "1393:9:92",
1661
+ "typeDescriptions": {
1662
+ "typeIdentifier": "t_enum$_OrderType_$73684",
1663
+ "typeString": "enum IPriceAggregator.OrderType"
1664
+ }
1665
+ },
1666
+ "visibility": "internal"
1667
+ }
1668
+ ],
1669
+ "src": "1386:17:92"
1670
+ },
1671
+ "returnParameters": {
1672
+ "id": 73786,
1673
+ "nodeType": "ParameterList",
1674
+ "parameters": [
1675
+ {
1676
+ "constant": false,
1677
+ "id": 73785,
1678
+ "mutability": "mutable",
1679
+ "name": "",
1680
+ "nameLocation": "-1:-1:-1",
1681
+ "nodeType": "VariableDeclaration",
1682
+ "scope": 73787,
1683
+ "src": "1422:4:92",
1684
+ "stateVariable": false,
1685
+ "storageLocation": "default",
1686
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1687
+ "typeName": {
1688
+ "id": 73784,
1689
+ "name": "uint",
1690
+ "nodeType": "ElementaryTypeName",
1691
+ "src": "1422:4:92",
1692
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1693
+ },
1694
+ "visibility": "internal"
1695
+ }
1696
+ ],
1697
+ "src": "1421:6:92"
1698
+ },
1699
+ "scope": 73849,
1700
+ "stateMutability": "nonpayable",
1701
+ "virtual": false,
1702
+ "visibility": "external"
1703
+ },
1704
+ {
1705
+ "id": 73795,
1706
+ "nodeType": "FunctionDefinition",
1707
+ "src": "1434:82:92",
1708
+ "nodes": [],
1709
+ "functionSelector": "dd2f3c05",
1710
+ "implemented": false,
1711
+ "kind": "function",
1712
+ "modifiers": [],
1713
+ "name": "fulfill",
1714
+ "nameLocation": "1443:7:92",
1715
+ "parameters": {
1716
+ "id": 73793,
1717
+ "nodeType": "ParameterList",
1718
+ "parameters": [
1719
+ {
1720
+ "constant": false,
1721
+ "id": 73789,
1722
+ "mutability": "mutable",
1723
+ "name": "orderId",
1724
+ "nameLocation": "1456:7:92",
1725
+ "nodeType": "VariableDeclaration",
1726
+ "scope": 73795,
1727
+ "src": "1451:12:92",
1728
+ "stateVariable": false,
1729
+ "storageLocation": "default",
1730
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1731
+ "typeName": {
1732
+ "id": 73788,
1733
+ "name": "uint",
1734
+ "nodeType": "ElementaryTypeName",
1735
+ "src": "1451:4:92",
1736
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1737
+ },
1738
+ "visibility": "internal"
1739
+ },
1740
+ {
1741
+ "constant": false,
1742
+ "id": 73792,
1743
+ "mutability": "mutable",
1744
+ "name": "priceUpdateData",
1745
+ "nameLocation": "1482:15:92",
1746
+ "nodeType": "VariableDeclaration",
1747
+ "scope": 73795,
1748
+ "src": "1465:32:92",
1749
+ "stateVariable": false,
1750
+ "storageLocation": "calldata",
1751
+ "typeDescriptions": {
1752
+ "typeIdentifier": "t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr",
1753
+ "typeString": "bytes[]"
1754
+ },
1755
+ "typeName": {
1756
+ "baseType": {
1757
+ "id": 73790,
1758
+ "name": "bytes",
1759
+ "nodeType": "ElementaryTypeName",
1760
+ "src": "1465:5:92",
1761
+ "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" }
1762
+ },
1763
+ "id": 73791,
1764
+ "nodeType": "ArrayTypeName",
1765
+ "src": "1465:7:92",
1766
+ "typeDescriptions": {
1767
+ "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
1768
+ "typeString": "bytes[]"
1769
+ }
1770
+ },
1771
+ "visibility": "internal"
1772
+ }
1773
+ ],
1774
+ "src": "1450:48:92"
1775
+ },
1776
+ "returnParameters": { "id": 73794, "nodeType": "ParameterList", "parameters": [], "src": "1515:0:92" },
1777
+ "scope": 73849,
1778
+ "stateMutability": "payable",
1779
+ "virtual": false,
1780
+ "visibility": "external"
1781
+ },
1782
+ {
1783
+ "id": 73806,
1784
+ "nodeType": "FunctionDefinition",
1785
+ "src": "1522:65:92",
1786
+ "nodes": [],
1787
+ "functionSelector": "3a100f4d",
1788
+ "implemented": false,
1789
+ "kind": "function",
1790
+ "modifiers": [],
1791
+ "name": "openFeeP",
1792
+ "nameLocation": "1531:8:92",
1793
+ "parameters": {
1794
+ "id": 73802,
1795
+ "nodeType": "ParameterList",
1796
+ "parameters": [
1797
+ {
1798
+ "constant": false,
1799
+ "id": 73797,
1800
+ "mutability": "mutable",
1801
+ "name": "",
1802
+ "nameLocation": "-1:-1:-1",
1803
+ "nodeType": "VariableDeclaration",
1804
+ "scope": 73806,
1805
+ "src": "1540:4:92",
1806
+ "stateVariable": false,
1807
+ "storageLocation": "default",
1808
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1809
+ "typeName": {
1810
+ "id": 73796,
1811
+ "name": "uint",
1812
+ "nodeType": "ElementaryTypeName",
1813
+ "src": "1540:4:92",
1814
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1815
+ },
1816
+ "visibility": "internal"
1817
+ },
1818
+ {
1819
+ "constant": false,
1820
+ "id": 73799,
1821
+ "mutability": "mutable",
1822
+ "name": "",
1823
+ "nameLocation": "-1:-1:-1",
1824
+ "nodeType": "VariableDeclaration",
1825
+ "scope": 73806,
1826
+ "src": "1546:4:92",
1827
+ "stateVariable": false,
1828
+ "storageLocation": "default",
1829
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1830
+ "typeName": {
1831
+ "id": 73798,
1832
+ "name": "uint",
1833
+ "nodeType": "ElementaryTypeName",
1834
+ "src": "1546:4:92",
1835
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1836
+ },
1837
+ "visibility": "internal"
1838
+ },
1839
+ {
1840
+ "constant": false,
1841
+ "id": 73801,
1842
+ "mutability": "mutable",
1843
+ "name": "",
1844
+ "nameLocation": "-1:-1:-1",
1845
+ "nodeType": "VariableDeclaration",
1846
+ "scope": 73806,
1847
+ "src": "1552:4:92",
1848
+ "stateVariable": false,
1849
+ "storageLocation": "default",
1850
+ "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" },
1851
+ "typeName": {
1852
+ "id": 73800,
1853
+ "name": "bool",
1854
+ "nodeType": "ElementaryTypeName",
1855
+ "src": "1552:4:92",
1856
+ "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }
1857
+ },
1858
+ "visibility": "internal"
1859
+ }
1860
+ ],
1861
+ "src": "1539:18:92"
1862
+ },
1863
+ "returnParameters": {
1864
+ "id": 73805,
1865
+ "nodeType": "ParameterList",
1866
+ "parameters": [
1867
+ {
1868
+ "constant": false,
1869
+ "id": 73804,
1870
+ "mutability": "mutable",
1871
+ "name": "",
1872
+ "nameLocation": "-1:-1:-1",
1873
+ "nodeType": "VariableDeclaration",
1874
+ "scope": 73806,
1875
+ "src": "1581:4:92",
1876
+ "stateVariable": false,
1877
+ "storageLocation": "default",
1878
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1879
+ "typeName": {
1880
+ "id": 73803,
1881
+ "name": "uint",
1882
+ "nodeType": "ElementaryTypeName",
1883
+ "src": "1581:4:92",
1884
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1885
+ },
1886
+ "visibility": "internal"
1887
+ }
1888
+ ],
1889
+ "src": "1580:6:92"
1890
+ },
1891
+ "scope": 73849,
1892
+ "stateMutability": "view",
1893
+ "virtual": false,
1894
+ "visibility": "external"
1895
+ },
1896
+ {
1897
+ "id": 73814,
1898
+ "nodeType": "FunctionDefinition",
1899
+ "src": "1593:72:92",
1900
+ "nodes": [],
1901
+ "functionSelector": "37a3dba3",
1902
+ "implemented": false,
1903
+ "kind": "function",
1904
+ "modifiers": [],
1905
+ "name": "pendingSlOrders",
1906
+ "nameLocation": "1602:15:92",
1907
+ "parameters": {
1908
+ "id": 73809,
1909
+ "nodeType": "ParameterList",
1910
+ "parameters": [
1911
+ {
1912
+ "constant": false,
1913
+ "id": 73808,
1914
+ "mutability": "mutable",
1915
+ "name": "",
1916
+ "nameLocation": "-1:-1:-1",
1917
+ "nodeType": "VariableDeclaration",
1918
+ "scope": 73814,
1919
+ "src": "1618:4:92",
1920
+ "stateVariable": false,
1921
+ "storageLocation": "default",
1922
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1923
+ "typeName": {
1924
+ "id": 73807,
1925
+ "name": "uint",
1926
+ "nodeType": "ElementaryTypeName",
1927
+ "src": "1618:4:92",
1928
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1929
+ },
1930
+ "visibility": "internal"
1931
+ }
1932
+ ],
1933
+ "src": "1617:6:92"
1934
+ },
1935
+ "returnParameters": {
1936
+ "id": 73813,
1937
+ "nodeType": "ParameterList",
1938
+ "parameters": [
1939
+ {
1940
+ "constant": false,
1941
+ "id": 73812,
1942
+ "mutability": "mutable",
1943
+ "name": "",
1944
+ "nameLocation": "-1:-1:-1",
1945
+ "nodeType": "VariableDeclaration",
1946
+ "scope": 73814,
1947
+ "src": "1647:16:92",
1948
+ "stateVariable": false,
1949
+ "storageLocation": "memory",
1950
+ "typeDescriptions": {
1951
+ "typeIdentifier": "t_struct$_PendingSl_$73707_memory_ptr",
1952
+ "typeString": "struct IPriceAggregator.PendingSl"
1953
+ },
1954
+ "typeName": {
1955
+ "id": 73811,
1956
+ "nodeType": "UserDefinedTypeName",
1957
+ "pathNode": {
1958
+ "id": 73810,
1959
+ "name": "PendingSl",
1960
+ "nodeType": "IdentifierPath",
1961
+ "referencedDeclaration": 73707,
1962
+ "src": "1647:9:92"
1963
+ },
1964
+ "referencedDeclaration": 73707,
1965
+ "src": "1647:9:92",
1966
+ "typeDescriptions": {
1967
+ "typeIdentifier": "t_struct$_PendingSl_$73707_storage_ptr",
1968
+ "typeString": "struct IPriceAggregator.PendingSl"
1969
+ }
1970
+ },
1971
+ "visibility": "internal"
1972
+ }
1973
+ ],
1974
+ "src": "1646:18:92"
1975
+ },
1976
+ "scope": 73849,
1977
+ "stateMutability": "view",
1978
+ "virtual": false,
1979
+ "visibility": "external"
1980
+ },
1981
+ {
1982
+ "id": 73822,
1983
+ "nodeType": "FunctionDefinition",
1984
+ "src": "1671:92:92",
1985
+ "nodes": [],
1986
+ "functionSelector": "d1f6652e",
1987
+ "implemented": false,
1988
+ "kind": "function",
1989
+ "modifiers": [],
1990
+ "name": "pendingMarginUpdateOrders",
1991
+ "nameLocation": "1680:25:92",
1992
+ "parameters": {
1993
+ "id": 73817,
1994
+ "nodeType": "ParameterList",
1995
+ "parameters": [
1996
+ {
1997
+ "constant": false,
1998
+ "id": 73816,
1999
+ "mutability": "mutable",
2000
+ "name": "",
2001
+ "nameLocation": "-1:-1:-1",
2002
+ "nodeType": "VariableDeclaration",
2003
+ "scope": 73822,
2004
+ "src": "1706:4:92",
2005
+ "stateVariable": false,
2006
+ "storageLocation": "default",
2007
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
2008
+ "typeName": {
2009
+ "id": 73815,
2010
+ "name": "uint",
2011
+ "nodeType": "ElementaryTypeName",
2012
+ "src": "1706:4:92",
2013
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
2014
+ },
2015
+ "visibility": "internal"
2016
+ }
2017
+ ],
2018
+ "src": "1705:6:92"
2019
+ },
2020
+ "returnParameters": {
2021
+ "id": 73821,
2022
+ "nodeType": "ParameterList",
2023
+ "parameters": [
2024
+ {
2025
+ "constant": false,
2026
+ "id": 73820,
2027
+ "mutability": "mutable",
2028
+ "name": "",
2029
+ "nameLocation": "-1:-1:-1",
2030
+ "nodeType": "VariableDeclaration",
2031
+ "scope": 73822,
2032
+ "src": "1735:26:92",
2033
+ "stateVariable": false,
2034
+ "storageLocation": "memory",
2035
+ "typeDescriptions": {
2036
+ "typeIdentifier": "t_struct$_PendingMarginUpdate_$73725_memory_ptr",
2037
+ "typeString": "struct IPriceAggregator.PendingMarginUpdate"
2038
+ },
2039
+ "typeName": {
2040
+ "id": 73819,
2041
+ "nodeType": "UserDefinedTypeName",
2042
+ "pathNode": {
2043
+ "id": 73818,
2044
+ "name": "PendingMarginUpdate",
2045
+ "nodeType": "IdentifierPath",
2046
+ "referencedDeclaration": 73725,
2047
+ "src": "1735:19:92"
2048
+ },
2049
+ "referencedDeclaration": 73725,
2050
+ "src": "1735:19:92",
2051
+ "typeDescriptions": {
2052
+ "typeIdentifier": "t_struct$_PendingMarginUpdate_$73725_storage_ptr",
2053
+ "typeString": "struct IPriceAggregator.PendingMarginUpdate"
2054
+ }
2055
+ },
2056
+ "visibility": "internal"
2057
+ }
2058
+ ],
2059
+ "src": "1734:28:92"
2060
+ },
2061
+ "scope": 73849,
2062
+ "stateMutability": "view",
2063
+ "virtual": false,
2064
+ "visibility": "external"
2065
+ },
2066
+ {
2067
+ "id": 73830,
2068
+ "nodeType": "FunctionDefinition",
2069
+ "src": "1769:74:92",
2070
+ "nodes": [],
2071
+ "functionSelector": "b8213bfa",
2072
+ "implemented": false,
2073
+ "kind": "function",
2074
+ "modifiers": [],
2075
+ "name": "storePendingSlOrder",
2076
+ "nameLocation": "1778:19:92",
2077
+ "parameters": {
2078
+ "id": 73828,
2079
+ "nodeType": "ParameterList",
2080
+ "parameters": [
2081
+ {
2082
+ "constant": false,
2083
+ "id": 73824,
2084
+ "mutability": "mutable",
2085
+ "name": "orderId",
2086
+ "nameLocation": "1803:7:92",
2087
+ "nodeType": "VariableDeclaration",
2088
+ "scope": 73830,
2089
+ "src": "1798:12:92",
2090
+ "stateVariable": false,
2091
+ "storageLocation": "default",
2092
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
2093
+ "typeName": {
2094
+ "id": 73823,
2095
+ "name": "uint",
2096
+ "nodeType": "ElementaryTypeName",
2097
+ "src": "1798:4:92",
2098
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
2099
+ },
2100
+ "visibility": "internal"
2101
+ },
2102
+ {
2103
+ "constant": false,
2104
+ "id": 73827,
2105
+ "mutability": "mutable",
2106
+ "name": "p",
2107
+ "nameLocation": "1831:1:92",
2108
+ "nodeType": "VariableDeclaration",
2109
+ "scope": 73830,
2110
+ "src": "1812:20:92",
2111
+ "stateVariable": false,
2112
+ "storageLocation": "calldata",
2113
+ "typeDescriptions": {
2114
+ "typeIdentifier": "t_struct$_PendingSl_$73707_calldata_ptr",
2115
+ "typeString": "struct IPriceAggregator.PendingSl"
2116
+ },
2117
+ "typeName": {
2118
+ "id": 73826,
2119
+ "nodeType": "UserDefinedTypeName",
2120
+ "pathNode": {
2121
+ "id": 73825,
2122
+ "name": "PendingSl",
2123
+ "nodeType": "IdentifierPath",
2124
+ "referencedDeclaration": 73707,
2125
+ "src": "1812:9:92"
2126
+ },
2127
+ "referencedDeclaration": 73707,
2128
+ "src": "1812:9:92",
2129
+ "typeDescriptions": {
2130
+ "typeIdentifier": "t_struct$_PendingSl_$73707_storage_ptr",
2131
+ "typeString": "struct IPriceAggregator.PendingSl"
2132
+ }
2133
+ },
2134
+ "visibility": "internal"
2135
+ }
2136
+ ],
2137
+ "src": "1797:36:92"
2138
+ },
2139
+ "returnParameters": { "id": 73829, "nodeType": "ParameterList", "parameters": [], "src": "1842:0:92" },
2140
+ "scope": 73849,
2141
+ "stateMutability": "nonpayable",
2142
+ "virtual": false,
2143
+ "visibility": "external"
2144
+ },
2145
+ {
2146
+ "id": 73838,
2147
+ "nodeType": "FunctionDefinition",
2148
+ "src": "1849:94:92",
2149
+ "nodes": [],
2150
+ "functionSelector": "cbe91bd9",
2151
+ "implemented": false,
2152
+ "kind": "function",
2153
+ "modifiers": [],
2154
+ "name": "storePendingMarginUpdateOrder",
2155
+ "nameLocation": "1858:29:92",
2156
+ "parameters": {
2157
+ "id": 73836,
2158
+ "nodeType": "ParameterList",
2159
+ "parameters": [
2160
+ {
2161
+ "constant": false,
2162
+ "id": 73832,
2163
+ "mutability": "mutable",
2164
+ "name": "orderId",
2165
+ "nameLocation": "1893:7:92",
2166
+ "nodeType": "VariableDeclaration",
2167
+ "scope": 73838,
2168
+ "src": "1888:12:92",
2169
+ "stateVariable": false,
2170
+ "storageLocation": "default",
2171
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
2172
+ "typeName": {
2173
+ "id": 73831,
2174
+ "name": "uint",
2175
+ "nodeType": "ElementaryTypeName",
2176
+ "src": "1888:4:92",
2177
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
2178
+ },
2179
+ "visibility": "internal"
2180
+ },
2181
+ {
2182
+ "constant": false,
2183
+ "id": 73835,
2184
+ "mutability": "mutable",
2185
+ "name": "p",
2186
+ "nameLocation": "1931:1:92",
2187
+ "nodeType": "VariableDeclaration",
2188
+ "scope": 73838,
2189
+ "src": "1902:30:92",
2190
+ "stateVariable": false,
2191
+ "storageLocation": "calldata",
2192
+ "typeDescriptions": {
2193
+ "typeIdentifier": "t_struct$_PendingMarginUpdate_$73725_calldata_ptr",
2194
+ "typeString": "struct IPriceAggregator.PendingMarginUpdate"
2195
+ },
2196
+ "typeName": {
2197
+ "id": 73834,
2198
+ "nodeType": "UserDefinedTypeName",
2199
+ "pathNode": {
2200
+ "id": 73833,
2201
+ "name": "PendingMarginUpdate",
2202
+ "nodeType": "IdentifierPath",
2203
+ "referencedDeclaration": 73725,
2204
+ "src": "1902:19:92"
2205
+ },
2206
+ "referencedDeclaration": 73725,
2207
+ "src": "1902:19:92",
2208
+ "typeDescriptions": {
2209
+ "typeIdentifier": "t_struct$_PendingMarginUpdate_$73725_storage_ptr",
2210
+ "typeString": "struct IPriceAggregator.PendingMarginUpdate"
2211
+ }
2212
+ },
2213
+ "visibility": "internal"
2214
+ }
2215
+ ],
2216
+ "src": "1887:46:92"
2217
+ },
2218
+ "returnParameters": { "id": 73837, "nodeType": "ParameterList", "parameters": [], "src": "1942:0:92" },
2219
+ "scope": 73849,
2220
+ "stateMutability": "nonpayable",
2221
+ "virtual": false,
2222
+ "visibility": "external"
2223
+ },
2224
+ {
2225
+ "id": 73843,
2226
+ "nodeType": "FunctionDefinition",
2227
+ "src": "1949:57:92",
2228
+ "nodes": [],
2229
+ "functionSelector": "61417a43",
2230
+ "implemented": false,
2231
+ "kind": "function",
2232
+ "modifiers": [],
2233
+ "name": "unregisterPendingSlOrder",
2234
+ "nameLocation": "1958:24:92",
2235
+ "parameters": {
2236
+ "id": 73841,
2237
+ "nodeType": "ParameterList",
2238
+ "parameters": [
2239
+ {
2240
+ "constant": false,
2241
+ "id": 73840,
2242
+ "mutability": "mutable",
2243
+ "name": "orderId",
2244
+ "nameLocation": "1988:7:92",
2245
+ "nodeType": "VariableDeclaration",
2246
+ "scope": 73843,
2247
+ "src": "1983:12:92",
2248
+ "stateVariable": false,
2249
+ "storageLocation": "default",
2250
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
2251
+ "typeName": {
2252
+ "id": 73839,
2253
+ "name": "uint",
2254
+ "nodeType": "ElementaryTypeName",
2255
+ "src": "1983:4:92",
2256
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
2257
+ },
2258
+ "visibility": "internal"
2259
+ }
2260
+ ],
2261
+ "src": "1982:14:92"
2262
+ },
2263
+ "returnParameters": { "id": 73842, "nodeType": "ParameterList", "parameters": [], "src": "2005:0:92" },
2264
+ "scope": 73849,
2265
+ "stateMutability": "nonpayable",
2266
+ "virtual": false,
2267
+ "visibility": "external"
2268
+ },
2269
+ {
2270
+ "id": 73848,
2271
+ "nodeType": "FunctionDefinition",
2272
+ "src": "2012:67:92",
2273
+ "nodes": [],
2274
+ "functionSelector": "c61904a1",
2275
+ "implemented": false,
2276
+ "kind": "function",
2277
+ "modifiers": [],
2278
+ "name": "unregisterPendingMarginUpdateOrder",
2279
+ "nameLocation": "2021:34:92",
2280
+ "parameters": {
2281
+ "id": 73846,
2282
+ "nodeType": "ParameterList",
2283
+ "parameters": [
2284
+ {
2285
+ "constant": false,
2286
+ "id": 73845,
2287
+ "mutability": "mutable",
2288
+ "name": "orderId",
2289
+ "nameLocation": "2061:7:92",
2290
+ "nodeType": "VariableDeclaration",
2291
+ "scope": 73848,
2292
+ "src": "2056:12:92",
2293
+ "stateVariable": false,
2294
+ "storageLocation": "default",
2295
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
2296
+ "typeName": {
2297
+ "id": 73844,
2298
+ "name": "uint",
2299
+ "nodeType": "ElementaryTypeName",
2300
+ "src": "2056:4:92",
2301
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
2302
+ },
2303
+ "visibility": "internal"
2304
+ }
2305
+ ],
2306
+ "src": "2055:14:92"
2307
+ },
2308
+ "returnParameters": { "id": 73847, "nodeType": "ParameterList", "parameters": [], "src": "2078:0:92" },
2309
+ "scope": 73849,
2310
+ "stateMutability": "nonpayable",
2311
+ "virtual": false,
2312
+ "visibility": "external"
2313
+ }
2314
+ ],
2315
+ "abstract": false,
2316
+ "baseContracts": [],
2317
+ "contractDependencies": [],
2318
+ "contractKind": "interface",
2319
+ "fullyImplemented": false,
2320
+ "linearizedBaseContracts": [73849],
2321
+ "name": "IPriceAggregator",
2322
+ "nameLocation": "152:16:92",
2323
+ "scope": 73850,
2324
+ "usedErrors": []
2325
+ }
2326
+ ],
2327
+ "license": "MIT"
2328
+ },
2329
+ "id": 92
2330
+ }