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,1890 +1,1890 @@
1
- {
2
- "abi": [
3
- {
4
- "type": "function",
5
- "name": "codeOwners",
6
- "inputs": [{ "name": "_code", "type": "bytes32", "internalType": "bytes32" }],
7
- "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
8
- "stateMutability": "view"
9
- },
10
- {
11
- "type": "function",
12
- "name": "getTraderReferralInfo",
13
- "inputs": [{ "name": "_account", "type": "address", "internalType": "address" }],
14
- "outputs": [
15
- { "name": "", "type": "bytes32", "internalType": "bytes32" },
16
- { "name": "", "type": "address", "internalType": "address" }
17
- ],
18
- "stateMutability": "view"
19
- },
20
- {
21
- "type": "function",
22
- "name": "govSetCodeOwner",
23
- "inputs": [
24
- { "name": "_code", "type": "bytes32", "internalType": "bytes32" },
25
- { "name": "_newAccount", "type": "address", "internalType": "address" }
26
- ],
27
- "outputs": [],
28
- "stateMutability": "nonpayable"
29
- },
30
- {
31
- "type": "function",
32
- "name": "referrerTiers",
33
- "inputs": [{ "name": "_account", "type": "address", "internalType": "address" }],
34
- "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
35
- "stateMutability": "view"
36
- },
37
- {
38
- "type": "function",
39
- "name": "setReferrerTier",
40
- "inputs": [
41
- { "name": "_referrer", "type": "address", "internalType": "address" },
42
- { "name": "_tierId", "type": "uint256", "internalType": "uint256" }
43
- ],
44
- "outputs": [],
45
- "stateMutability": "nonpayable"
46
- },
47
- {
48
- "type": "function",
49
- "name": "setTier",
50
- "inputs": [
51
- { "name": "_tierId", "type": "uint256", "internalType": "uint256" },
52
- { "name": "_totalRebate", "type": "uint256", "internalType": "uint256" },
53
- { "name": "_discountShare", "type": "uint256", "internalType": "uint256" }
54
- ],
55
- "outputs": [],
56
- "stateMutability": "nonpayable"
57
- },
58
- {
59
- "type": "function",
60
- "name": "setTraderReferralCode",
61
- "inputs": [
62
- { "name": "_account", "type": "address", "internalType": "address" },
63
- { "name": "_code", "type": "bytes32", "internalType": "bytes32" }
64
- ],
65
- "outputs": [],
66
- "stateMutability": "nonpayable"
67
- },
68
- {
69
- "type": "function",
70
- "name": "traderReferralCodes",
71
- "inputs": [{ "name": "_account", "type": "address", "internalType": "address" }],
72
- "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }],
73
- "stateMutability": "view"
74
- },
75
- {
76
- "type": "function",
77
- "name": "traderReferralDiscount",
78
- "inputs": [
79
- { "name": "_account", "type": "address", "internalType": "address" },
80
- { "name": "_feeBips", "type": "uint256", "internalType": "uint256" }
81
- ],
82
- "outputs": [
83
- { "name": "", "type": "uint256", "internalType": "uint256" },
84
- { "name": "", "type": "address", "internalType": "address" },
85
- { "name": "", "type": "uint256", "internalType": "uint256" }
86
- ],
87
- "stateMutability": "view"
88
- },
89
- {
90
- "type": "event",
91
- "name": "GovSetCodeOwner",
92
- "inputs": [
93
- { "name": "code", "type": "bytes32", "indexed": false, "internalType": "bytes32" },
94
- { "name": "newAccount", "type": "address", "indexed": false, "internalType": "address" }
95
- ],
96
- "anonymous": false
97
- },
98
- {
99
- "type": "event",
100
- "name": "RegisterCode",
101
- "inputs": [
102
- { "name": "account", "type": "address", "indexed": false, "internalType": "address" },
103
- { "name": "code", "type": "bytes32", "indexed": false, "internalType": "bytes32" }
104
- ],
105
- "anonymous": false
106
- },
107
- {
108
- "type": "event",
109
- "name": "SetCodeOwner",
110
- "inputs": [
111
- { "name": "oldOwner", "type": "address", "indexed": false, "internalType": "address" },
112
- { "name": "newOwner", "type": "address", "indexed": false, "internalType": "address" },
113
- { "name": "code", "type": "bytes32", "indexed": false, "internalType": "bytes32" }
114
- ],
115
- "anonymous": false
116
- },
117
- {
118
- "type": "event",
119
- "name": "SetGov",
120
- "inputs": [{ "name": "gov", "type": "address", "indexed": false, "internalType": "address" }],
121
- "anonymous": false
122
- },
123
- {
124
- "type": "event",
125
- "name": "SetHandler",
126
- "inputs": [
127
- { "name": "handler", "type": "address", "indexed": false, "internalType": "address" },
128
- { "name": "isActive", "type": "bool", "indexed": false, "internalType": "bool" }
129
- ],
130
- "anonymous": false
131
- },
132
- {
133
- "type": "event",
134
- "name": "SetPendingCodeOwner",
135
- "inputs": [
136
- { "name": "account", "type": "address", "indexed": false, "internalType": "address" },
137
- { "name": "newAccount", "type": "address", "indexed": false, "internalType": "address" },
138
- { "name": "code", "type": "bytes32", "indexed": false, "internalType": "bytes32" }
139
- ],
140
- "anonymous": false
141
- },
142
- {
143
- "type": "event",
144
- "name": "SetReferrerDiscountShare",
145
- "inputs": [
146
- { "name": "referrer", "type": "address", "indexed": false, "internalType": "address" },
147
- { "name": "discountShare", "type": "uint256", "indexed": false, "internalType": "uint256" }
148
- ],
149
- "anonymous": false
150
- },
151
- {
152
- "type": "event",
153
- "name": "SetReferrerTier",
154
- "inputs": [
155
- { "name": "referrer", "type": "address", "indexed": false, "internalType": "address" },
156
- { "name": "tierId", "type": "uint256", "indexed": false, "internalType": "uint256" }
157
- ],
158
- "anonymous": false
159
- },
160
- {
161
- "type": "event",
162
- "name": "SetTier",
163
- "inputs": [
164
- { "name": "tierId", "type": "uint256", "indexed": false, "internalType": "uint256" },
165
- { "name": "feeDiscountPct", "type": "uint256", "indexed": false, "internalType": "uint256" },
166
- { "name": "refRebatePct", "type": "uint256", "indexed": false, "internalType": "uint256" }
167
- ],
168
- "anonymous": false
169
- },
170
- {
171
- "type": "event",
172
- "name": "SetTraderReferralCode",
173
- "inputs": [
174
- { "name": "account", "type": "address", "indexed": false, "internalType": "address" },
175
- { "name": "code", "type": "bytes32", "indexed": false, "internalType": "bytes32" }
176
- ],
177
- "anonymous": false
178
- }
179
- ],
180
- "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
181
- "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
182
- "methodIdentifiers": {
183
- "codeOwners(bytes32)": "c8b3c460",
184
- "getTraderReferralInfo(address)": "534ef883",
185
- "govSetCodeOwner(bytes32,address)": "dfcfa250",
186
- "referrerTiers(address)": "1582a018",
187
- "setReferrerTier(address,uint256)": "3fb8b323",
188
- "setTier(uint256,uint256,uint256)": "836a0187",
189
- "setTraderReferralCode(address,bytes32)": "56b4b2ad",
190
- "traderReferralCodes(address)": "85725b58",
191
- "traderReferralDiscount(address,uint256)": "ce18b98d"
192
- },
193
- "rawMetadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"code\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAccount\",\"type\":\"address\"}],\"name\":\"GovSetCodeOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"code\",\"type\":\"bytes32\"}],\"name\":\"RegisterCode\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"code\",\"type\":\"bytes32\"}],\"name\":\"SetCodeOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gov\",\"type\":\"address\"}],\"name\":\"SetGov\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"name\":\"SetHandler\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAccount\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"code\",\"type\":\"bytes32\"}],\"name\":\"SetPendingCodeOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"discountShare\",\"type\":\"uint256\"}],\"name\":\"SetReferrerDiscountShare\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"SetReferrerTier\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeDiscountPct\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"refRebatePct\",\"type\":\"uint256\"}],\"name\":\"SetTier\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"code\",\"type\":\"bytes32\"}],\"name\":\"SetTraderReferralCode\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_code\",\"type\":\"bytes32\"}],\"name\":\"codeOwners\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getTraderReferralInfo\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_code\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_newAccount\",\"type\":\"address\"}],\"name\":\"govSetCodeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"referrerTiers\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_referrer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"}],\"name\":\"setReferrerTier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRebate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_discountShare\",\"type\":\"uint256\"}],\"name\":\"setTier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_code\",\"type\":\"bytes32\"}],\"name\":\"setTraderReferralCode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"traderReferralCodes\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feeBips\",\"type\":\"uint256\"}],\"name\":\"traderReferralDiscount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IReferral.sol\":\"IReferral\"},\"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\":{\"src/interfaces/IReferral.sol\":{\"keccak256\":\"0xa95953627911c481cbf3da33446ef91c144dfcfe84f7ee9d6dc95e18efe39283\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://13cb98ca670e6814a436614d3103ec00bd37a779cdbf73674d703862af02a8a5\",\"dweb:/ipfs/QmZPWF9ZczJwmY9bn7yAcQEpj8euFhFY9s2zkyDqC1Qg25\"]}},\"version\":1}",
194
- "metadata": {
195
- "compiler": { "version": "0.8.7+commit.e28d00a7" },
196
- "language": "Solidity",
197
- "output": {
198
- "abi": [
199
- {
200
- "inputs": [
201
- { "internalType": "bytes32", "name": "code", "type": "bytes32", "indexed": false },
202
- { "internalType": "address", "name": "newAccount", "type": "address", "indexed": false }
203
- ],
204
- "type": "event",
205
- "name": "GovSetCodeOwner",
206
- "anonymous": false
207
- },
208
- {
209
- "inputs": [
210
- { "internalType": "address", "name": "account", "type": "address", "indexed": false },
211
- { "internalType": "bytes32", "name": "code", "type": "bytes32", "indexed": false }
212
- ],
213
- "type": "event",
214
- "name": "RegisterCode",
215
- "anonymous": false
216
- },
217
- {
218
- "inputs": [
219
- { "internalType": "address", "name": "oldOwner", "type": "address", "indexed": false },
220
- { "internalType": "address", "name": "newOwner", "type": "address", "indexed": false },
221
- { "internalType": "bytes32", "name": "code", "type": "bytes32", "indexed": false }
222
- ],
223
- "type": "event",
224
- "name": "SetCodeOwner",
225
- "anonymous": false
226
- },
227
- {
228
- "inputs": [{ "internalType": "address", "name": "gov", "type": "address", "indexed": false }],
229
- "type": "event",
230
- "name": "SetGov",
231
- "anonymous": false
232
- },
233
- {
234
- "inputs": [
235
- { "internalType": "address", "name": "handler", "type": "address", "indexed": false },
236
- { "internalType": "bool", "name": "isActive", "type": "bool", "indexed": false }
237
- ],
238
- "type": "event",
239
- "name": "SetHandler",
240
- "anonymous": false
241
- },
242
- {
243
- "inputs": [
244
- { "internalType": "address", "name": "account", "type": "address", "indexed": false },
245
- { "internalType": "address", "name": "newAccount", "type": "address", "indexed": false },
246
- { "internalType": "bytes32", "name": "code", "type": "bytes32", "indexed": false }
247
- ],
248
- "type": "event",
249
- "name": "SetPendingCodeOwner",
250
- "anonymous": false
251
- },
252
- {
253
- "inputs": [
254
- { "internalType": "address", "name": "referrer", "type": "address", "indexed": false },
255
- { "internalType": "uint256", "name": "discountShare", "type": "uint256", "indexed": false }
256
- ],
257
- "type": "event",
258
- "name": "SetReferrerDiscountShare",
259
- "anonymous": false
260
- },
261
- {
262
- "inputs": [
263
- { "internalType": "address", "name": "referrer", "type": "address", "indexed": false },
264
- { "internalType": "uint256", "name": "tierId", "type": "uint256", "indexed": false }
265
- ],
266
- "type": "event",
267
- "name": "SetReferrerTier",
268
- "anonymous": false
269
- },
270
- {
271
- "inputs": [
272
- { "internalType": "uint256", "name": "tierId", "type": "uint256", "indexed": false },
273
- { "internalType": "uint256", "name": "feeDiscountPct", "type": "uint256", "indexed": false },
274
- { "internalType": "uint256", "name": "refRebatePct", "type": "uint256", "indexed": false }
275
- ],
276
- "type": "event",
277
- "name": "SetTier",
278
- "anonymous": false
279
- },
280
- {
281
- "inputs": [
282
- { "internalType": "address", "name": "account", "type": "address", "indexed": false },
283
- { "internalType": "bytes32", "name": "code", "type": "bytes32", "indexed": false }
284
- ],
285
- "type": "event",
286
- "name": "SetTraderReferralCode",
287
- "anonymous": false
288
- },
289
- {
290
- "inputs": [{ "internalType": "bytes32", "name": "_code", "type": "bytes32" }],
291
- "stateMutability": "view",
292
- "type": "function",
293
- "name": "codeOwners",
294
- "outputs": [{ "internalType": "address", "name": "", "type": "address" }]
295
- },
296
- {
297
- "inputs": [{ "internalType": "address", "name": "_account", "type": "address" }],
298
- "stateMutability": "view",
299
- "type": "function",
300
- "name": "getTraderReferralInfo",
301
- "outputs": [
302
- { "internalType": "bytes32", "name": "", "type": "bytes32" },
303
- { "internalType": "address", "name": "", "type": "address" }
304
- ]
305
- },
306
- {
307
- "inputs": [
308
- { "internalType": "bytes32", "name": "_code", "type": "bytes32" },
309
- { "internalType": "address", "name": "_newAccount", "type": "address" }
310
- ],
311
- "stateMutability": "nonpayable",
312
- "type": "function",
313
- "name": "govSetCodeOwner"
314
- },
315
- {
316
- "inputs": [{ "internalType": "address", "name": "_account", "type": "address" }],
317
- "stateMutability": "view",
318
- "type": "function",
319
- "name": "referrerTiers",
320
- "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
321
- },
322
- {
323
- "inputs": [
324
- { "internalType": "address", "name": "_referrer", "type": "address" },
325
- { "internalType": "uint256", "name": "_tierId", "type": "uint256" }
326
- ],
327
- "stateMutability": "nonpayable",
328
- "type": "function",
329
- "name": "setReferrerTier"
330
- },
331
- {
332
- "inputs": [
333
- { "internalType": "uint256", "name": "_tierId", "type": "uint256" },
334
- { "internalType": "uint256", "name": "_totalRebate", "type": "uint256" },
335
- { "internalType": "uint256", "name": "_discountShare", "type": "uint256" }
336
- ],
337
- "stateMutability": "nonpayable",
338
- "type": "function",
339
- "name": "setTier"
340
- },
341
- {
342
- "inputs": [
343
- { "internalType": "address", "name": "_account", "type": "address" },
344
- { "internalType": "bytes32", "name": "_code", "type": "bytes32" }
345
- ],
346
- "stateMutability": "nonpayable",
347
- "type": "function",
348
- "name": "setTraderReferralCode"
349
- },
350
- {
351
- "inputs": [{ "internalType": "address", "name": "_account", "type": "address" }],
352
- "stateMutability": "view",
353
- "type": "function",
354
- "name": "traderReferralCodes",
355
- "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }]
356
- },
357
- {
358
- "inputs": [
359
- { "internalType": "address", "name": "_account", "type": "address" },
360
- { "internalType": "uint256", "name": "_feeBips", "type": "uint256" }
361
- ],
362
- "stateMutability": "view",
363
- "type": "function",
364
- "name": "traderReferralDiscount",
365
- "outputs": [
366
- { "internalType": "uint256", "name": "", "type": "uint256" },
367
- { "internalType": "address", "name": "", "type": "address" },
368
- { "internalType": "uint256", "name": "", "type": "uint256" }
369
- ]
370
- }
371
- ],
372
- "devdoc": { "kind": "dev", "methods": {}, "version": 1 },
373
- "userdoc": { "kind": "user", "methods": {}, "version": 1 }
374
- },
375
- "settings": {
376
- "remappings": [
377
- "@chainlink/=lib/chainlink/",
378
- "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
379
- "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
380
- "chainlink/=lib/chainlink/",
381
- "ds-test/=lib/forge-std/lib/ds-test/src/",
382
- "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
383
- "forge-std/=lib/forge-std/src/",
384
- "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
385
- "openzeppelin-contracts/=lib/openzeppelin-contracts/",
386
- "openzeppelin/=lib/openzeppelin-contracts/contracts/",
387
- "pyth-sdk-solidity/=lib/pyth-sdk-solidity/"
388
- ],
389
- "optimizer": { "enabled": true, "runs": 200 },
390
- "metadata": { "bytecodeHash": "ipfs" },
391
- "compilationTarget": { "src/interfaces/IReferral.sol": "IReferral" },
392
- "libraries": {}
393
- },
394
- "sources": {
395
- "src/interfaces/IReferral.sol": {
396
- "keccak256": "0xa95953627911c481cbf3da33446ef91c144dfcfe84f7ee9d6dc95e18efe39283",
397
- "urls": [
398
- "bzz-raw://13cb98ca670e6814a436614d3103ec00bd37a779cdbf73674d703862af02a8a5",
399
- "dweb:/ipfs/QmZPWF9ZczJwmY9bn7yAcQEpj8euFhFY9s2zkyDqC1Qg25"
400
- ],
401
- "license": "MIT"
402
- }
403
- },
404
- "version": 1
405
- },
406
- "ast": {
407
- "absolutePath": "src/interfaces/IReferral.sol",
408
- "id": 73995,
409
- "exportedSymbols": { "IReferral": [73994] },
410
- "nodeType": "SourceUnit",
411
- "src": "32:1641:93",
412
- "nodes": [
413
- {
414
- "id": 73851,
415
- "nodeType": "PragmaDirective",
416
- "src": "32:22:93",
417
- "nodes": [],
418
- "literals": ["solidity", "0.8", ".7"]
419
- },
420
- {
421
- "id": 73994,
422
- "nodeType": "ContractDefinition",
423
- "src": "56:1616:93",
424
- "nodes": [
425
- {
426
- "id": 73856,
427
- "nodeType": "StructDefinition",
428
- "src": "82:160:93",
429
- "nodes": [],
430
- "canonicalName": "IReferral.Tier",
431
- "members": [
432
- {
433
- "constant": false,
434
- "id": 73853,
435
- "mutability": "mutable",
436
- "name": "feeDiscountPct",
437
- "nameLocation": "112:14:93",
438
- "nodeType": "VariableDeclaration",
439
- "scope": 73856,
440
- "src": "104:22:93",
441
- "stateVariable": false,
442
- "storageLocation": "default",
443
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
444
- "typeName": {
445
- "id": 73852,
446
- "name": "uint256",
447
- "nodeType": "ElementaryTypeName",
448
- "src": "104:7:93",
449
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
450
- },
451
- "visibility": "internal"
452
- },
453
- {
454
- "constant": false,
455
- "id": 73855,
456
- "mutability": "mutable",
457
- "name": "refRebatePct",
458
- "nameLocation": "185:12:93",
459
- "nodeType": "VariableDeclaration",
460
- "scope": 73856,
461
- "src": "177:20:93",
462
- "stateVariable": false,
463
- "storageLocation": "default",
464
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
465
- "typeName": {
466
- "id": 73854,
467
- "name": "uint256",
468
- "nodeType": "ElementaryTypeName",
469
- "src": "177:7:93",
470
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
471
- },
472
- "visibility": "internal"
473
- }
474
- ],
475
- "name": "Tier",
476
- "nameLocation": "89:4:93",
477
- "scope": 73994,
478
- "visibility": "public"
479
- },
480
- {
481
- "id": 73860,
482
- "nodeType": "EventDefinition",
483
- "src": "261:26:93",
484
- "nodes": [],
485
- "anonymous": false,
486
- "name": "SetGov",
487
- "nameLocation": "267:6:93",
488
- "parameters": {
489
- "id": 73859,
490
- "nodeType": "ParameterList",
491
- "parameters": [
492
- {
493
- "constant": false,
494
- "id": 73858,
495
- "indexed": false,
496
- "mutability": "mutable",
497
- "name": "gov",
498
- "nameLocation": "282:3:93",
499
- "nodeType": "VariableDeclaration",
500
- "scope": 73860,
501
- "src": "274:11:93",
502
- "stateVariable": false,
503
- "storageLocation": "default",
504
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
505
- "typeName": {
506
- "id": 73857,
507
- "name": "address",
508
- "nodeType": "ElementaryTypeName",
509
- "src": "274:7:93",
510
- "stateMutability": "nonpayable",
511
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
512
- },
513
- "visibility": "internal"
514
- }
515
- ],
516
- "src": "273:13:93"
517
- }
518
- },
519
- {
520
- "id": 73866,
521
- "nodeType": "EventDefinition",
522
- "src": "292:49:93",
523
- "nodes": [],
524
- "anonymous": false,
525
- "name": "SetHandler",
526
- "nameLocation": "298:10:93",
527
- "parameters": {
528
- "id": 73865,
529
- "nodeType": "ParameterList",
530
- "parameters": [
531
- {
532
- "constant": false,
533
- "id": 73862,
534
- "indexed": false,
535
- "mutability": "mutable",
536
- "name": "handler",
537
- "nameLocation": "317:7:93",
538
- "nodeType": "VariableDeclaration",
539
- "scope": 73866,
540
- "src": "309:15:93",
541
- "stateVariable": false,
542
- "storageLocation": "default",
543
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
544
- "typeName": {
545
- "id": 73861,
546
- "name": "address",
547
- "nodeType": "ElementaryTypeName",
548
- "src": "309:7:93",
549
- "stateMutability": "nonpayable",
550
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
551
- },
552
- "visibility": "internal"
553
- },
554
- {
555
- "constant": false,
556
- "id": 73864,
557
- "indexed": false,
558
- "mutability": "mutable",
559
- "name": "isActive",
560
- "nameLocation": "331:8:93",
561
- "nodeType": "VariableDeclaration",
562
- "scope": 73866,
563
- "src": "326:13:93",
564
- "stateVariable": false,
565
- "storageLocation": "default",
566
- "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" },
567
- "typeName": {
568
- "id": 73863,
569
- "name": "bool",
570
- "nodeType": "ElementaryTypeName",
571
- "src": "326:4:93",
572
- "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }
573
- },
574
- "visibility": "internal"
575
- }
576
- ],
577
- "src": "308:32:93"
578
- }
579
- },
580
- {
581
- "id": 73872,
582
- "nodeType": "EventDefinition",
583
- "src": "346:59:93",
584
- "nodes": [],
585
- "anonymous": false,
586
- "name": "SetTraderReferralCode",
587
- "nameLocation": "352:21:93",
588
- "parameters": {
589
- "id": 73871,
590
- "nodeType": "ParameterList",
591
- "parameters": [
592
- {
593
- "constant": false,
594
- "id": 73868,
595
- "indexed": false,
596
- "mutability": "mutable",
597
- "name": "account",
598
- "nameLocation": "382:7:93",
599
- "nodeType": "VariableDeclaration",
600
- "scope": 73872,
601
- "src": "374:15:93",
602
- "stateVariable": false,
603
- "storageLocation": "default",
604
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
605
- "typeName": {
606
- "id": 73867,
607
- "name": "address",
608
- "nodeType": "ElementaryTypeName",
609
- "src": "374:7:93",
610
- "stateMutability": "nonpayable",
611
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
612
- },
613
- "visibility": "internal"
614
- },
615
- {
616
- "constant": false,
617
- "id": 73870,
618
- "indexed": false,
619
- "mutability": "mutable",
620
- "name": "code",
621
- "nameLocation": "399:4:93",
622
- "nodeType": "VariableDeclaration",
623
- "scope": 73872,
624
- "src": "391:12:93",
625
- "stateVariable": false,
626
- "storageLocation": "default",
627
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
628
- "typeName": {
629
- "id": 73869,
630
- "name": "bytes32",
631
- "nodeType": "ElementaryTypeName",
632
- "src": "391:7:93",
633
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
634
- },
635
- "visibility": "internal"
636
- }
637
- ],
638
- "src": "373:31:93"
639
- }
640
- },
641
- {
642
- "id": 73880,
643
- "nodeType": "EventDefinition",
644
- "src": "410:76:93",
645
- "nodes": [],
646
- "anonymous": false,
647
- "name": "SetTier",
648
- "nameLocation": "416:7:93",
649
- "parameters": {
650
- "id": 73879,
651
- "nodeType": "ParameterList",
652
- "parameters": [
653
- {
654
- "constant": false,
655
- "id": 73874,
656
- "indexed": false,
657
- "mutability": "mutable",
658
- "name": "tierId",
659
- "nameLocation": "432:6:93",
660
- "nodeType": "VariableDeclaration",
661
- "scope": 73880,
662
- "src": "424:14:93",
663
- "stateVariable": false,
664
- "storageLocation": "default",
665
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
666
- "typeName": {
667
- "id": 73873,
668
- "name": "uint256",
669
- "nodeType": "ElementaryTypeName",
670
- "src": "424:7:93",
671
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
672
- },
673
- "visibility": "internal"
674
- },
675
- {
676
- "constant": false,
677
- "id": 73876,
678
- "indexed": false,
679
- "mutability": "mutable",
680
- "name": "feeDiscountPct",
681
- "nameLocation": "448:14:93",
682
- "nodeType": "VariableDeclaration",
683
- "scope": 73880,
684
- "src": "440:22:93",
685
- "stateVariable": false,
686
- "storageLocation": "default",
687
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
688
- "typeName": {
689
- "id": 73875,
690
- "name": "uint256",
691
- "nodeType": "ElementaryTypeName",
692
- "src": "440:7:93",
693
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
694
- },
695
- "visibility": "internal"
696
- },
697
- {
698
- "constant": false,
699
- "id": 73878,
700
- "indexed": false,
701
- "mutability": "mutable",
702
- "name": "refRebatePct",
703
- "nameLocation": "472:12:93",
704
- "nodeType": "VariableDeclaration",
705
- "scope": 73880,
706
- "src": "464:20:93",
707
- "stateVariable": false,
708
- "storageLocation": "default",
709
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
710
- "typeName": {
711
- "id": 73877,
712
- "name": "uint256",
713
- "nodeType": "ElementaryTypeName",
714
- "src": "464:7:93",
715
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
716
- },
717
- "visibility": "internal"
718
- }
719
- ],
720
- "src": "423:62:93"
721
- }
722
- },
723
- {
724
- "id": 73886,
725
- "nodeType": "EventDefinition",
726
- "src": "491:56:93",
727
- "nodes": [],
728
- "anonymous": false,
729
- "name": "SetReferrerTier",
730
- "nameLocation": "497:15:93",
731
- "parameters": {
732
- "id": 73885,
733
- "nodeType": "ParameterList",
734
- "parameters": [
735
- {
736
- "constant": false,
737
- "id": 73882,
738
- "indexed": false,
739
- "mutability": "mutable",
740
- "name": "referrer",
741
- "nameLocation": "521:8:93",
742
- "nodeType": "VariableDeclaration",
743
- "scope": 73886,
744
- "src": "513:16:93",
745
- "stateVariable": false,
746
- "storageLocation": "default",
747
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
748
- "typeName": {
749
- "id": 73881,
750
- "name": "address",
751
- "nodeType": "ElementaryTypeName",
752
- "src": "513:7:93",
753
- "stateMutability": "nonpayable",
754
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
755
- },
756
- "visibility": "internal"
757
- },
758
- {
759
- "constant": false,
760
- "id": 73884,
761
- "indexed": false,
762
- "mutability": "mutable",
763
- "name": "tierId",
764
- "nameLocation": "539:6:93",
765
- "nodeType": "VariableDeclaration",
766
- "scope": 73886,
767
- "src": "531:14:93",
768
- "stateVariable": false,
769
- "storageLocation": "default",
770
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
771
- "typeName": {
772
- "id": 73883,
773
- "name": "uint256",
774
- "nodeType": "ElementaryTypeName",
775
- "src": "531:7:93",
776
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
777
- },
778
- "visibility": "internal"
779
- }
780
- ],
781
- "src": "512:34:93"
782
- }
783
- },
784
- {
785
- "id": 73892,
786
- "nodeType": "EventDefinition",
787
- "src": "552:72:93",
788
- "nodes": [],
789
- "anonymous": false,
790
- "name": "SetReferrerDiscountShare",
791
- "nameLocation": "558:24:93",
792
- "parameters": {
793
- "id": 73891,
794
- "nodeType": "ParameterList",
795
- "parameters": [
796
- {
797
- "constant": false,
798
- "id": 73888,
799
- "indexed": false,
800
- "mutability": "mutable",
801
- "name": "referrer",
802
- "nameLocation": "591:8:93",
803
- "nodeType": "VariableDeclaration",
804
- "scope": 73892,
805
- "src": "583:16:93",
806
- "stateVariable": false,
807
- "storageLocation": "default",
808
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
809
- "typeName": {
810
- "id": 73887,
811
- "name": "address",
812
- "nodeType": "ElementaryTypeName",
813
- "src": "583:7:93",
814
- "stateMutability": "nonpayable",
815
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
816
- },
817
- "visibility": "internal"
818
- },
819
- {
820
- "constant": false,
821
- "id": 73890,
822
- "indexed": false,
823
- "mutability": "mutable",
824
- "name": "discountShare",
825
- "nameLocation": "609:13:93",
826
- "nodeType": "VariableDeclaration",
827
- "scope": 73892,
828
- "src": "601:21:93",
829
- "stateVariable": false,
830
- "storageLocation": "default",
831
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
832
- "typeName": {
833
- "id": 73889,
834
- "name": "uint256",
835
- "nodeType": "ElementaryTypeName",
836
- "src": "601:7:93",
837
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
838
- },
839
- "visibility": "internal"
840
- }
841
- ],
842
- "src": "582:41:93"
843
- }
844
- },
845
- {
846
- "id": 73898,
847
- "nodeType": "EventDefinition",
848
- "src": "629:50:93",
849
- "nodes": [],
850
- "anonymous": false,
851
- "name": "RegisterCode",
852
- "nameLocation": "635:12:93",
853
- "parameters": {
854
- "id": 73897,
855
- "nodeType": "ParameterList",
856
- "parameters": [
857
- {
858
- "constant": false,
859
- "id": 73894,
860
- "indexed": false,
861
- "mutability": "mutable",
862
- "name": "account",
863
- "nameLocation": "656:7:93",
864
- "nodeType": "VariableDeclaration",
865
- "scope": 73898,
866
- "src": "648:15:93",
867
- "stateVariable": false,
868
- "storageLocation": "default",
869
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
870
- "typeName": {
871
- "id": 73893,
872
- "name": "address",
873
- "nodeType": "ElementaryTypeName",
874
- "src": "648:7:93",
875
- "stateMutability": "nonpayable",
876
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
877
- },
878
- "visibility": "internal"
879
- },
880
- {
881
- "constant": false,
882
- "id": 73896,
883
- "indexed": false,
884
- "mutability": "mutable",
885
- "name": "code",
886
- "nameLocation": "673:4:93",
887
- "nodeType": "VariableDeclaration",
888
- "scope": 73898,
889
- "src": "665:12:93",
890
- "stateVariable": false,
891
- "storageLocation": "default",
892
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
893
- "typeName": {
894
- "id": 73895,
895
- "name": "bytes32",
896
- "nodeType": "ElementaryTypeName",
897
- "src": "665:7:93",
898
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
899
- },
900
- "visibility": "internal"
901
- }
902
- ],
903
- "src": "647:31:93"
904
- }
905
- },
906
- {
907
- "id": 73906,
908
- "nodeType": "EventDefinition",
909
- "src": "684:69:93",
910
- "nodes": [],
911
- "anonymous": false,
912
- "name": "SetCodeOwner",
913
- "nameLocation": "690:12:93",
914
- "parameters": {
915
- "id": 73905,
916
- "nodeType": "ParameterList",
917
- "parameters": [
918
- {
919
- "constant": false,
920
- "id": 73900,
921
- "indexed": false,
922
- "mutability": "mutable",
923
- "name": "oldOwner",
924
- "nameLocation": "711:8:93",
925
- "nodeType": "VariableDeclaration",
926
- "scope": 73906,
927
- "src": "703:16:93",
928
- "stateVariable": false,
929
- "storageLocation": "default",
930
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
931
- "typeName": {
932
- "id": 73899,
933
- "name": "address",
934
- "nodeType": "ElementaryTypeName",
935
- "src": "703:7:93",
936
- "stateMutability": "nonpayable",
937
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
938
- },
939
- "visibility": "internal"
940
- },
941
- {
942
- "constant": false,
943
- "id": 73902,
944
- "indexed": false,
945
- "mutability": "mutable",
946
- "name": "newOwner",
947
- "nameLocation": "729:8:93",
948
- "nodeType": "VariableDeclaration",
949
- "scope": 73906,
950
- "src": "721:16:93",
951
- "stateVariable": false,
952
- "storageLocation": "default",
953
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
954
- "typeName": {
955
- "id": 73901,
956
- "name": "address",
957
- "nodeType": "ElementaryTypeName",
958
- "src": "721:7:93",
959
- "stateMutability": "nonpayable",
960
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
961
- },
962
- "visibility": "internal"
963
- },
964
- {
965
- "constant": false,
966
- "id": 73904,
967
- "indexed": false,
968
- "mutability": "mutable",
969
- "name": "code",
970
- "nameLocation": "747:4:93",
971
- "nodeType": "VariableDeclaration",
972
- "scope": 73906,
973
- "src": "739:12:93",
974
- "stateVariable": false,
975
- "storageLocation": "default",
976
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
977
- "typeName": {
978
- "id": 73903,
979
- "name": "bytes32",
980
- "nodeType": "ElementaryTypeName",
981
- "src": "739:7:93",
982
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
983
- },
984
- "visibility": "internal"
985
- }
986
- ],
987
- "src": "702:50:93"
988
- }
989
- },
990
- {
991
- "id": 73914,
992
- "nodeType": "EventDefinition",
993
- "src": "758:77:93",
994
- "nodes": [],
995
- "anonymous": false,
996
- "name": "SetPendingCodeOwner",
997
- "nameLocation": "764:19:93",
998
- "parameters": {
999
- "id": 73913,
1000
- "nodeType": "ParameterList",
1001
- "parameters": [
1002
- {
1003
- "constant": false,
1004
- "id": 73908,
1005
- "indexed": false,
1006
- "mutability": "mutable",
1007
- "name": "account",
1008
- "nameLocation": "792:7:93",
1009
- "nodeType": "VariableDeclaration",
1010
- "scope": 73914,
1011
- "src": "784:15:93",
1012
- "stateVariable": false,
1013
- "storageLocation": "default",
1014
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1015
- "typeName": {
1016
- "id": 73907,
1017
- "name": "address",
1018
- "nodeType": "ElementaryTypeName",
1019
- "src": "784:7:93",
1020
- "stateMutability": "nonpayable",
1021
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1022
- },
1023
- "visibility": "internal"
1024
- },
1025
- {
1026
- "constant": false,
1027
- "id": 73910,
1028
- "indexed": false,
1029
- "mutability": "mutable",
1030
- "name": "newAccount",
1031
- "nameLocation": "809:10:93",
1032
- "nodeType": "VariableDeclaration",
1033
- "scope": 73914,
1034
- "src": "801:18:93",
1035
- "stateVariable": false,
1036
- "storageLocation": "default",
1037
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1038
- "typeName": {
1039
- "id": 73909,
1040
- "name": "address",
1041
- "nodeType": "ElementaryTypeName",
1042
- "src": "801:7:93",
1043
- "stateMutability": "nonpayable",
1044
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1045
- },
1046
- "visibility": "internal"
1047
- },
1048
- {
1049
- "constant": false,
1050
- "id": 73912,
1051
- "indexed": false,
1052
- "mutability": "mutable",
1053
- "name": "code",
1054
- "nameLocation": "829:4:93",
1055
- "nodeType": "VariableDeclaration",
1056
- "scope": 73914,
1057
- "src": "821:12:93",
1058
- "stateVariable": false,
1059
- "storageLocation": "default",
1060
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1061
- "typeName": {
1062
- "id": 73911,
1063
- "name": "bytes32",
1064
- "nodeType": "ElementaryTypeName",
1065
- "src": "821:7:93",
1066
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1067
- },
1068
- "visibility": "internal"
1069
- }
1070
- ],
1071
- "src": "783:51:93"
1072
- }
1073
- },
1074
- {
1075
- "id": 73920,
1076
- "nodeType": "EventDefinition",
1077
- "src": "840:56:93",
1078
- "nodes": [],
1079
- "anonymous": false,
1080
- "name": "GovSetCodeOwner",
1081
- "nameLocation": "846:15:93",
1082
- "parameters": {
1083
- "id": 73919,
1084
- "nodeType": "ParameterList",
1085
- "parameters": [
1086
- {
1087
- "constant": false,
1088
- "id": 73916,
1089
- "indexed": false,
1090
- "mutability": "mutable",
1091
- "name": "code",
1092
- "nameLocation": "870:4:93",
1093
- "nodeType": "VariableDeclaration",
1094
- "scope": 73920,
1095
- "src": "862:12:93",
1096
- "stateVariable": false,
1097
- "storageLocation": "default",
1098
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1099
- "typeName": {
1100
- "id": 73915,
1101
- "name": "bytes32",
1102
- "nodeType": "ElementaryTypeName",
1103
- "src": "862:7:93",
1104
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1105
- },
1106
- "visibility": "internal"
1107
- },
1108
- {
1109
- "constant": false,
1110
- "id": 73918,
1111
- "indexed": false,
1112
- "mutability": "mutable",
1113
- "name": "newAccount",
1114
- "nameLocation": "884:10:93",
1115
- "nodeType": "VariableDeclaration",
1116
- "scope": 73920,
1117
- "src": "876:18:93",
1118
- "stateVariable": false,
1119
- "storageLocation": "default",
1120
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1121
- "typeName": {
1122
- "id": 73917,
1123
- "name": "address",
1124
- "nodeType": "ElementaryTypeName",
1125
- "src": "876:7:93",
1126
- "stateMutability": "nonpayable",
1127
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1128
- },
1129
- "visibility": "internal"
1130
- }
1131
- ],
1132
- "src": "861:34:93"
1133
- }
1134
- },
1135
- {
1136
- "id": 73927,
1137
- "nodeType": "FunctionDefinition",
1138
- "src": "902:67:93",
1139
- "nodes": [],
1140
- "functionSelector": "c8b3c460",
1141
- "implemented": false,
1142
- "kind": "function",
1143
- "modifiers": [],
1144
- "name": "codeOwners",
1145
- "nameLocation": "911:10:93",
1146
- "parameters": {
1147
- "id": 73923,
1148
- "nodeType": "ParameterList",
1149
- "parameters": [
1150
- {
1151
- "constant": false,
1152
- "id": 73922,
1153
- "mutability": "mutable",
1154
- "name": "_code",
1155
- "nameLocation": "930:5:93",
1156
- "nodeType": "VariableDeclaration",
1157
- "scope": 73927,
1158
- "src": "922:13:93",
1159
- "stateVariable": false,
1160
- "storageLocation": "default",
1161
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1162
- "typeName": {
1163
- "id": 73921,
1164
- "name": "bytes32",
1165
- "nodeType": "ElementaryTypeName",
1166
- "src": "922:7:93",
1167
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1168
- },
1169
- "visibility": "internal"
1170
- }
1171
- ],
1172
- "src": "921:15:93"
1173
- },
1174
- "returnParameters": {
1175
- "id": 73926,
1176
- "nodeType": "ParameterList",
1177
- "parameters": [
1178
- {
1179
- "constant": false,
1180
- "id": 73925,
1181
- "mutability": "mutable",
1182
- "name": "",
1183
- "nameLocation": "-1:-1:-1",
1184
- "nodeType": "VariableDeclaration",
1185
- "scope": 73927,
1186
- "src": "960:7:93",
1187
- "stateVariable": false,
1188
- "storageLocation": "default",
1189
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1190
- "typeName": {
1191
- "id": 73924,
1192
- "name": "address",
1193
- "nodeType": "ElementaryTypeName",
1194
- "src": "960:7:93",
1195
- "stateMutability": "nonpayable",
1196
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1197
- },
1198
- "visibility": "internal"
1199
- }
1200
- ],
1201
- "src": "959:9:93"
1202
- },
1203
- "scope": 73994,
1204
- "stateMutability": "view",
1205
- "virtual": false,
1206
- "visibility": "external"
1207
- },
1208
- {
1209
- "id": 73934,
1210
- "nodeType": "FunctionDefinition",
1211
- "src": "975:79:93",
1212
- "nodes": [],
1213
- "functionSelector": "85725b58",
1214
- "implemented": false,
1215
- "kind": "function",
1216
- "modifiers": [],
1217
- "name": "traderReferralCodes",
1218
- "nameLocation": "984:19:93",
1219
- "parameters": {
1220
- "id": 73930,
1221
- "nodeType": "ParameterList",
1222
- "parameters": [
1223
- {
1224
- "constant": false,
1225
- "id": 73929,
1226
- "mutability": "mutable",
1227
- "name": "_account",
1228
- "nameLocation": "1012:8:93",
1229
- "nodeType": "VariableDeclaration",
1230
- "scope": 73934,
1231
- "src": "1004:16:93",
1232
- "stateVariable": false,
1233
- "storageLocation": "default",
1234
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1235
- "typeName": {
1236
- "id": 73928,
1237
- "name": "address",
1238
- "nodeType": "ElementaryTypeName",
1239
- "src": "1004:7:93",
1240
- "stateMutability": "nonpayable",
1241
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1242
- },
1243
- "visibility": "internal"
1244
- }
1245
- ],
1246
- "src": "1003:18:93"
1247
- },
1248
- "returnParameters": {
1249
- "id": 73933,
1250
- "nodeType": "ParameterList",
1251
- "parameters": [
1252
- {
1253
- "constant": false,
1254
- "id": 73932,
1255
- "mutability": "mutable",
1256
- "name": "",
1257
- "nameLocation": "-1:-1:-1",
1258
- "nodeType": "VariableDeclaration",
1259
- "scope": 73934,
1260
- "src": "1045:7:93",
1261
- "stateVariable": false,
1262
- "storageLocation": "default",
1263
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1264
- "typeName": {
1265
- "id": 73931,
1266
- "name": "bytes32",
1267
- "nodeType": "ElementaryTypeName",
1268
- "src": "1045:7:93",
1269
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1270
- },
1271
- "visibility": "internal"
1272
- }
1273
- ],
1274
- "src": "1044:9:93"
1275
- },
1276
- "scope": 73994,
1277
- "stateMutability": "view",
1278
- "virtual": false,
1279
- "visibility": "external"
1280
- },
1281
- {
1282
- "id": 73941,
1283
- "nodeType": "FunctionDefinition",
1284
- "src": "1060:73:93",
1285
- "nodes": [],
1286
- "functionSelector": "1582a018",
1287
- "implemented": false,
1288
- "kind": "function",
1289
- "modifiers": [],
1290
- "name": "referrerTiers",
1291
- "nameLocation": "1069:13:93",
1292
- "parameters": {
1293
- "id": 73937,
1294
- "nodeType": "ParameterList",
1295
- "parameters": [
1296
- {
1297
- "constant": false,
1298
- "id": 73936,
1299
- "mutability": "mutable",
1300
- "name": "_account",
1301
- "nameLocation": "1091:8:93",
1302
- "nodeType": "VariableDeclaration",
1303
- "scope": 73941,
1304
- "src": "1083:16:93",
1305
- "stateVariable": false,
1306
- "storageLocation": "default",
1307
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1308
- "typeName": {
1309
- "id": 73935,
1310
- "name": "address",
1311
- "nodeType": "ElementaryTypeName",
1312
- "src": "1083:7:93",
1313
- "stateMutability": "nonpayable",
1314
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1315
- },
1316
- "visibility": "internal"
1317
- }
1318
- ],
1319
- "src": "1082:18:93"
1320
- },
1321
- "returnParameters": {
1322
- "id": 73940,
1323
- "nodeType": "ParameterList",
1324
- "parameters": [
1325
- {
1326
- "constant": false,
1327
- "id": 73939,
1328
- "mutability": "mutable",
1329
- "name": "",
1330
- "nameLocation": "-1:-1:-1",
1331
- "nodeType": "VariableDeclaration",
1332
- "scope": 73941,
1333
- "src": "1124:7:93",
1334
- "stateVariable": false,
1335
- "storageLocation": "default",
1336
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1337
- "typeName": {
1338
- "id": 73938,
1339
- "name": "uint256",
1340
- "nodeType": "ElementaryTypeName",
1341
- "src": "1124:7:93",
1342
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1343
- },
1344
- "visibility": "internal"
1345
- }
1346
- ],
1347
- "src": "1123:9:93"
1348
- },
1349
- "scope": 73994,
1350
- "stateMutability": "view",
1351
- "virtual": false,
1352
- "visibility": "external"
1353
- },
1354
- {
1355
- "id": 73950,
1356
- "nodeType": "FunctionDefinition",
1357
- "src": "1139:90:93",
1358
- "nodes": [],
1359
- "functionSelector": "534ef883",
1360
- "implemented": false,
1361
- "kind": "function",
1362
- "modifiers": [],
1363
- "name": "getTraderReferralInfo",
1364
- "nameLocation": "1148:21:93",
1365
- "parameters": {
1366
- "id": 73944,
1367
- "nodeType": "ParameterList",
1368
- "parameters": [
1369
- {
1370
- "constant": false,
1371
- "id": 73943,
1372
- "mutability": "mutable",
1373
- "name": "_account",
1374
- "nameLocation": "1178:8:93",
1375
- "nodeType": "VariableDeclaration",
1376
- "scope": 73950,
1377
- "src": "1170:16:93",
1378
- "stateVariable": false,
1379
- "storageLocation": "default",
1380
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1381
- "typeName": {
1382
- "id": 73942,
1383
- "name": "address",
1384
- "nodeType": "ElementaryTypeName",
1385
- "src": "1170:7:93",
1386
- "stateMutability": "nonpayable",
1387
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1388
- },
1389
- "visibility": "internal"
1390
- }
1391
- ],
1392
- "src": "1169:18:93"
1393
- },
1394
- "returnParameters": {
1395
- "id": 73949,
1396
- "nodeType": "ParameterList",
1397
- "parameters": [
1398
- {
1399
- "constant": false,
1400
- "id": 73946,
1401
- "mutability": "mutable",
1402
- "name": "",
1403
- "nameLocation": "-1:-1:-1",
1404
- "nodeType": "VariableDeclaration",
1405
- "scope": 73950,
1406
- "src": "1211:7:93",
1407
- "stateVariable": false,
1408
- "storageLocation": "default",
1409
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1410
- "typeName": {
1411
- "id": 73945,
1412
- "name": "bytes32",
1413
- "nodeType": "ElementaryTypeName",
1414
- "src": "1211:7:93",
1415
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1416
- },
1417
- "visibility": "internal"
1418
- },
1419
- {
1420
- "constant": false,
1421
- "id": 73948,
1422
- "mutability": "mutable",
1423
- "name": "",
1424
- "nameLocation": "-1:-1:-1",
1425
- "nodeType": "VariableDeclaration",
1426
- "scope": 73950,
1427
- "src": "1220:7:93",
1428
- "stateVariable": false,
1429
- "storageLocation": "default",
1430
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1431
- "typeName": {
1432
- "id": 73947,
1433
- "name": "address",
1434
- "nodeType": "ElementaryTypeName",
1435
- "src": "1220:7:93",
1436
- "stateMutability": "nonpayable",
1437
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1438
- },
1439
- "visibility": "internal"
1440
- }
1441
- ],
1442
- "src": "1210:18:93"
1443
- },
1444
- "scope": 73994,
1445
- "stateMutability": "view",
1446
- "virtual": false,
1447
- "visibility": "external"
1448
- },
1449
- {
1450
- "id": 73957,
1451
- "nodeType": "FunctionDefinition",
1452
- "src": "1235:73:93",
1453
- "nodes": [],
1454
- "functionSelector": "56b4b2ad",
1455
- "implemented": false,
1456
- "kind": "function",
1457
- "modifiers": [],
1458
- "name": "setTraderReferralCode",
1459
- "nameLocation": "1244:21:93",
1460
- "parameters": {
1461
- "id": 73955,
1462
- "nodeType": "ParameterList",
1463
- "parameters": [
1464
- {
1465
- "constant": false,
1466
- "id": 73952,
1467
- "mutability": "mutable",
1468
- "name": "_account",
1469
- "nameLocation": "1274:8:93",
1470
- "nodeType": "VariableDeclaration",
1471
- "scope": 73957,
1472
- "src": "1266:16:93",
1473
- "stateVariable": false,
1474
- "storageLocation": "default",
1475
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1476
- "typeName": {
1477
- "id": 73951,
1478
- "name": "address",
1479
- "nodeType": "ElementaryTypeName",
1480
- "src": "1266:7:93",
1481
- "stateMutability": "nonpayable",
1482
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1483
- },
1484
- "visibility": "internal"
1485
- },
1486
- {
1487
- "constant": false,
1488
- "id": 73954,
1489
- "mutability": "mutable",
1490
- "name": "_code",
1491
- "nameLocation": "1292:5:93",
1492
- "nodeType": "VariableDeclaration",
1493
- "scope": 73957,
1494
- "src": "1284:13:93",
1495
- "stateVariable": false,
1496
- "storageLocation": "default",
1497
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1498
- "typeName": {
1499
- "id": 73953,
1500
- "name": "bytes32",
1501
- "nodeType": "ElementaryTypeName",
1502
- "src": "1284:7:93",
1503
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1504
- },
1505
- "visibility": "internal"
1506
- }
1507
- ],
1508
- "src": "1265:33:93"
1509
- },
1510
- "returnParameters": { "id": 73956, "nodeType": "ParameterList", "parameters": [], "src": "1307:0:93" },
1511
- "scope": 73994,
1512
- "stateMutability": "nonpayable",
1513
- "virtual": false,
1514
- "visibility": "external"
1515
- },
1516
- {
1517
- "id": 73966,
1518
- "nodeType": "FunctionDefinition",
1519
- "src": "1314:89:93",
1520
- "nodes": [],
1521
- "functionSelector": "836a0187",
1522
- "implemented": false,
1523
- "kind": "function",
1524
- "modifiers": [],
1525
- "name": "setTier",
1526
- "nameLocation": "1323:7:93",
1527
- "parameters": {
1528
- "id": 73964,
1529
- "nodeType": "ParameterList",
1530
- "parameters": [
1531
- {
1532
- "constant": false,
1533
- "id": 73959,
1534
- "mutability": "mutable",
1535
- "name": "_tierId",
1536
- "nameLocation": "1339:7:93",
1537
- "nodeType": "VariableDeclaration",
1538
- "scope": 73966,
1539
- "src": "1331:15:93",
1540
- "stateVariable": false,
1541
- "storageLocation": "default",
1542
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1543
- "typeName": {
1544
- "id": 73958,
1545
- "name": "uint256",
1546
- "nodeType": "ElementaryTypeName",
1547
- "src": "1331:7:93",
1548
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1549
- },
1550
- "visibility": "internal"
1551
- },
1552
- {
1553
- "constant": false,
1554
- "id": 73961,
1555
- "mutability": "mutable",
1556
- "name": "_totalRebate",
1557
- "nameLocation": "1356:12:93",
1558
- "nodeType": "VariableDeclaration",
1559
- "scope": 73966,
1560
- "src": "1348:20:93",
1561
- "stateVariable": false,
1562
- "storageLocation": "default",
1563
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1564
- "typeName": {
1565
- "id": 73960,
1566
- "name": "uint256",
1567
- "nodeType": "ElementaryTypeName",
1568
- "src": "1348:7:93",
1569
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1570
- },
1571
- "visibility": "internal"
1572
- },
1573
- {
1574
- "constant": false,
1575
- "id": 73963,
1576
- "mutability": "mutable",
1577
- "name": "_discountShare",
1578
- "nameLocation": "1378:14:93",
1579
- "nodeType": "VariableDeclaration",
1580
- "scope": 73966,
1581
- "src": "1370:22:93",
1582
- "stateVariable": false,
1583
- "storageLocation": "default",
1584
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1585
- "typeName": {
1586
- "id": 73962,
1587
- "name": "uint256",
1588
- "nodeType": "ElementaryTypeName",
1589
- "src": "1370:7:93",
1590
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1591
- },
1592
- "visibility": "internal"
1593
- }
1594
- ],
1595
- "src": "1330:63:93"
1596
- },
1597
- "returnParameters": { "id": 73965, "nodeType": "ParameterList", "parameters": [], "src": "1402:0:93" },
1598
- "scope": 73994,
1599
- "stateMutability": "nonpayable",
1600
- "virtual": false,
1601
- "visibility": "external"
1602
- },
1603
- {
1604
- "id": 73973,
1605
- "nodeType": "FunctionDefinition",
1606
- "src": "1409:70:93",
1607
- "nodes": [],
1608
- "functionSelector": "3fb8b323",
1609
- "implemented": false,
1610
- "kind": "function",
1611
- "modifiers": [],
1612
- "name": "setReferrerTier",
1613
- "nameLocation": "1418:15:93",
1614
- "parameters": {
1615
- "id": 73971,
1616
- "nodeType": "ParameterList",
1617
- "parameters": [
1618
- {
1619
- "constant": false,
1620
- "id": 73968,
1621
- "mutability": "mutable",
1622
- "name": "_referrer",
1623
- "nameLocation": "1442:9:93",
1624
- "nodeType": "VariableDeclaration",
1625
- "scope": 73973,
1626
- "src": "1434:17:93",
1627
- "stateVariable": false,
1628
- "storageLocation": "default",
1629
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1630
- "typeName": {
1631
- "id": 73967,
1632
- "name": "address",
1633
- "nodeType": "ElementaryTypeName",
1634
- "src": "1434:7:93",
1635
- "stateMutability": "nonpayable",
1636
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1637
- },
1638
- "visibility": "internal"
1639
- },
1640
- {
1641
- "constant": false,
1642
- "id": 73970,
1643
- "mutability": "mutable",
1644
- "name": "_tierId",
1645
- "nameLocation": "1461:7:93",
1646
- "nodeType": "VariableDeclaration",
1647
- "scope": 73973,
1648
- "src": "1453:15:93",
1649
- "stateVariable": false,
1650
- "storageLocation": "default",
1651
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1652
- "typeName": {
1653
- "id": 73969,
1654
- "name": "uint256",
1655
- "nodeType": "ElementaryTypeName",
1656
- "src": "1453:7:93",
1657
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1658
- },
1659
- "visibility": "internal"
1660
- }
1661
- ],
1662
- "src": "1433:36:93"
1663
- },
1664
- "returnParameters": { "id": 73972, "nodeType": "ParameterList", "parameters": [], "src": "1478:0:93" },
1665
- "scope": 73994,
1666
- "stateMutability": "nonpayable",
1667
- "virtual": false,
1668
- "visibility": "external"
1669
- },
1670
- {
1671
- "id": 73980,
1672
- "nodeType": "FunctionDefinition",
1673
- "src": "1485:70:93",
1674
- "nodes": [],
1675
- "functionSelector": "dfcfa250",
1676
- "implemented": false,
1677
- "kind": "function",
1678
- "modifiers": [],
1679
- "name": "govSetCodeOwner",
1680
- "nameLocation": "1494:15:93",
1681
- "parameters": {
1682
- "id": 73978,
1683
- "nodeType": "ParameterList",
1684
- "parameters": [
1685
- {
1686
- "constant": false,
1687
- "id": 73975,
1688
- "mutability": "mutable",
1689
- "name": "_code",
1690
- "nameLocation": "1518:5:93",
1691
- "nodeType": "VariableDeclaration",
1692
- "scope": 73980,
1693
- "src": "1510:13:93",
1694
- "stateVariable": false,
1695
- "storageLocation": "default",
1696
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1697
- "typeName": {
1698
- "id": 73974,
1699
- "name": "bytes32",
1700
- "nodeType": "ElementaryTypeName",
1701
- "src": "1510:7:93",
1702
- "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1703
- },
1704
- "visibility": "internal"
1705
- },
1706
- {
1707
- "constant": false,
1708
- "id": 73977,
1709
- "mutability": "mutable",
1710
- "name": "_newAccount",
1711
- "nameLocation": "1533:11:93",
1712
- "nodeType": "VariableDeclaration",
1713
- "scope": 73980,
1714
- "src": "1525:19:93",
1715
- "stateVariable": false,
1716
- "storageLocation": "default",
1717
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1718
- "typeName": {
1719
- "id": 73976,
1720
- "name": "address",
1721
- "nodeType": "ElementaryTypeName",
1722
- "src": "1525:7:93",
1723
- "stateMutability": "nonpayable",
1724
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1725
- },
1726
- "visibility": "internal"
1727
- }
1728
- ],
1729
- "src": "1509:36:93"
1730
- },
1731
- "returnParameters": { "id": 73979, "nodeType": "ParameterList", "parameters": [], "src": "1554:0:93" },
1732
- "scope": 73994,
1733
- "stateMutability": "nonpayable",
1734
- "virtual": false,
1735
- "visibility": "external"
1736
- },
1737
- {
1738
- "id": 73993,
1739
- "nodeType": "FunctionDefinition",
1740
- "src": "1561:109:93",
1741
- "nodes": [],
1742
- "functionSelector": "ce18b98d",
1743
- "implemented": false,
1744
- "kind": "function",
1745
- "modifiers": [],
1746
- "name": "traderReferralDiscount",
1747
- "nameLocation": "1570:22:93",
1748
- "parameters": {
1749
- "id": 73985,
1750
- "nodeType": "ParameterList",
1751
- "parameters": [
1752
- {
1753
- "constant": false,
1754
- "id": 73982,
1755
- "mutability": "mutable",
1756
- "name": "_account",
1757
- "nameLocation": "1601:8:93",
1758
- "nodeType": "VariableDeclaration",
1759
- "scope": 73993,
1760
- "src": "1593:16:93",
1761
- "stateVariable": false,
1762
- "storageLocation": "default",
1763
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1764
- "typeName": {
1765
- "id": 73981,
1766
- "name": "address",
1767
- "nodeType": "ElementaryTypeName",
1768
- "src": "1593:7:93",
1769
- "stateMutability": "nonpayable",
1770
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1771
- },
1772
- "visibility": "internal"
1773
- },
1774
- {
1775
- "constant": false,
1776
- "id": 73984,
1777
- "mutability": "mutable",
1778
- "name": "_feeBips",
1779
- "nameLocation": "1616:8:93",
1780
- "nodeType": "VariableDeclaration",
1781
- "scope": 73993,
1782
- "src": "1611:13:93",
1783
- "stateVariable": false,
1784
- "storageLocation": "default",
1785
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1786
- "typeName": {
1787
- "id": 73983,
1788
- "name": "uint",
1789
- "nodeType": "ElementaryTypeName",
1790
- "src": "1611:4:93",
1791
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1792
- },
1793
- "visibility": "internal"
1794
- }
1795
- ],
1796
- "src": "1592:33:93"
1797
- },
1798
- "returnParameters": {
1799
- "id": 73992,
1800
- "nodeType": "ParameterList",
1801
- "parameters": [
1802
- {
1803
- "constant": false,
1804
- "id": 73987,
1805
- "mutability": "mutable",
1806
- "name": "",
1807
- "nameLocation": "-1:-1:-1",
1808
- "nodeType": "VariableDeclaration",
1809
- "scope": 73993,
1810
- "src": "1649:4:93",
1811
- "stateVariable": false,
1812
- "storageLocation": "default",
1813
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1814
- "typeName": {
1815
- "id": 73986,
1816
- "name": "uint",
1817
- "nodeType": "ElementaryTypeName",
1818
- "src": "1649:4:93",
1819
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1820
- },
1821
- "visibility": "internal"
1822
- },
1823
- {
1824
- "constant": false,
1825
- "id": 73989,
1826
- "mutability": "mutable",
1827
- "name": "",
1828
- "nameLocation": "-1:-1:-1",
1829
- "nodeType": "VariableDeclaration",
1830
- "scope": 73993,
1831
- "src": "1655:7:93",
1832
- "stateVariable": false,
1833
- "storageLocation": "default",
1834
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1835
- "typeName": {
1836
- "id": 73988,
1837
- "name": "address",
1838
- "nodeType": "ElementaryTypeName",
1839
- "src": "1655:7:93",
1840
- "stateMutability": "nonpayable",
1841
- "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1842
- },
1843
- "visibility": "internal"
1844
- },
1845
- {
1846
- "constant": false,
1847
- "id": 73991,
1848
- "mutability": "mutable",
1849
- "name": "",
1850
- "nameLocation": "-1:-1:-1",
1851
- "nodeType": "VariableDeclaration",
1852
- "scope": 73993,
1853
- "src": "1664:4:93",
1854
- "stateVariable": false,
1855
- "storageLocation": "default",
1856
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1857
- "typeName": {
1858
- "id": 73990,
1859
- "name": "uint",
1860
- "nodeType": "ElementaryTypeName",
1861
- "src": "1664:4:93",
1862
- "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1863
- },
1864
- "visibility": "internal"
1865
- }
1866
- ],
1867
- "src": "1648:21:93"
1868
- },
1869
- "scope": 73994,
1870
- "stateMutability": "view",
1871
- "virtual": false,
1872
- "visibility": "external"
1873
- }
1874
- ],
1875
- "abstract": false,
1876
- "baseContracts": [],
1877
- "contractDependencies": [],
1878
- "contractKind": "interface",
1879
- "fullyImplemented": false,
1880
- "linearizedBaseContracts": [73994],
1881
- "name": "IReferral",
1882
- "nameLocation": "66:9:93",
1883
- "scope": 73995,
1884
- "usedErrors": []
1885
- }
1886
- ],
1887
- "license": "MIT"
1888
- },
1889
- "id": 93
1890
- }
1
+ {
2
+ "abi": [
3
+ {
4
+ "type": "function",
5
+ "name": "codeOwners",
6
+ "inputs": [{ "name": "_code", "type": "bytes32", "internalType": "bytes32" }],
7
+ "outputs": [{ "name": "", "type": "address", "internalType": "address" }],
8
+ "stateMutability": "view"
9
+ },
10
+ {
11
+ "type": "function",
12
+ "name": "getTraderReferralInfo",
13
+ "inputs": [{ "name": "_account", "type": "address", "internalType": "address" }],
14
+ "outputs": [
15
+ { "name": "", "type": "bytes32", "internalType": "bytes32" },
16
+ { "name": "", "type": "address", "internalType": "address" }
17
+ ],
18
+ "stateMutability": "view"
19
+ },
20
+ {
21
+ "type": "function",
22
+ "name": "govSetCodeOwner",
23
+ "inputs": [
24
+ { "name": "_code", "type": "bytes32", "internalType": "bytes32" },
25
+ { "name": "_newAccount", "type": "address", "internalType": "address" }
26
+ ],
27
+ "outputs": [],
28
+ "stateMutability": "nonpayable"
29
+ },
30
+ {
31
+ "type": "function",
32
+ "name": "referrerTiers",
33
+ "inputs": [{ "name": "_account", "type": "address", "internalType": "address" }],
34
+ "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
35
+ "stateMutability": "view"
36
+ },
37
+ {
38
+ "type": "function",
39
+ "name": "setReferrerTier",
40
+ "inputs": [
41
+ { "name": "_referrer", "type": "address", "internalType": "address" },
42
+ { "name": "_tierId", "type": "uint256", "internalType": "uint256" }
43
+ ],
44
+ "outputs": [],
45
+ "stateMutability": "nonpayable"
46
+ },
47
+ {
48
+ "type": "function",
49
+ "name": "setTier",
50
+ "inputs": [
51
+ { "name": "_tierId", "type": "uint256", "internalType": "uint256" },
52
+ { "name": "_totalRebate", "type": "uint256", "internalType": "uint256" },
53
+ { "name": "_discountShare", "type": "uint256", "internalType": "uint256" }
54
+ ],
55
+ "outputs": [],
56
+ "stateMutability": "nonpayable"
57
+ },
58
+ {
59
+ "type": "function",
60
+ "name": "setTraderReferralCode",
61
+ "inputs": [
62
+ { "name": "_account", "type": "address", "internalType": "address" },
63
+ { "name": "_code", "type": "bytes32", "internalType": "bytes32" }
64
+ ],
65
+ "outputs": [],
66
+ "stateMutability": "nonpayable"
67
+ },
68
+ {
69
+ "type": "function",
70
+ "name": "traderReferralCodes",
71
+ "inputs": [{ "name": "_account", "type": "address", "internalType": "address" }],
72
+ "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }],
73
+ "stateMutability": "view"
74
+ },
75
+ {
76
+ "type": "function",
77
+ "name": "traderReferralDiscount",
78
+ "inputs": [
79
+ { "name": "_account", "type": "address", "internalType": "address" },
80
+ { "name": "_feeBips", "type": "uint256", "internalType": "uint256" }
81
+ ],
82
+ "outputs": [
83
+ { "name": "", "type": "uint256", "internalType": "uint256" },
84
+ { "name": "", "type": "address", "internalType": "address" },
85
+ { "name": "", "type": "uint256", "internalType": "uint256" }
86
+ ],
87
+ "stateMutability": "view"
88
+ },
89
+ {
90
+ "type": "event",
91
+ "name": "GovSetCodeOwner",
92
+ "inputs": [
93
+ { "name": "code", "type": "bytes32", "indexed": false, "internalType": "bytes32" },
94
+ { "name": "newAccount", "type": "address", "indexed": false, "internalType": "address" }
95
+ ],
96
+ "anonymous": false
97
+ },
98
+ {
99
+ "type": "event",
100
+ "name": "RegisterCode",
101
+ "inputs": [
102
+ { "name": "account", "type": "address", "indexed": false, "internalType": "address" },
103
+ { "name": "code", "type": "bytes32", "indexed": false, "internalType": "bytes32" }
104
+ ],
105
+ "anonymous": false
106
+ },
107
+ {
108
+ "type": "event",
109
+ "name": "SetCodeOwner",
110
+ "inputs": [
111
+ { "name": "oldOwner", "type": "address", "indexed": false, "internalType": "address" },
112
+ { "name": "newOwner", "type": "address", "indexed": false, "internalType": "address" },
113
+ { "name": "code", "type": "bytes32", "indexed": false, "internalType": "bytes32" }
114
+ ],
115
+ "anonymous": false
116
+ },
117
+ {
118
+ "type": "event",
119
+ "name": "SetGov",
120
+ "inputs": [{ "name": "gov", "type": "address", "indexed": false, "internalType": "address" }],
121
+ "anonymous": false
122
+ },
123
+ {
124
+ "type": "event",
125
+ "name": "SetHandler",
126
+ "inputs": [
127
+ { "name": "handler", "type": "address", "indexed": false, "internalType": "address" },
128
+ { "name": "isActive", "type": "bool", "indexed": false, "internalType": "bool" }
129
+ ],
130
+ "anonymous": false
131
+ },
132
+ {
133
+ "type": "event",
134
+ "name": "SetPendingCodeOwner",
135
+ "inputs": [
136
+ { "name": "account", "type": "address", "indexed": false, "internalType": "address" },
137
+ { "name": "newAccount", "type": "address", "indexed": false, "internalType": "address" },
138
+ { "name": "code", "type": "bytes32", "indexed": false, "internalType": "bytes32" }
139
+ ],
140
+ "anonymous": false
141
+ },
142
+ {
143
+ "type": "event",
144
+ "name": "SetReferrerDiscountShare",
145
+ "inputs": [
146
+ { "name": "referrer", "type": "address", "indexed": false, "internalType": "address" },
147
+ { "name": "discountShare", "type": "uint256", "indexed": false, "internalType": "uint256" }
148
+ ],
149
+ "anonymous": false
150
+ },
151
+ {
152
+ "type": "event",
153
+ "name": "SetReferrerTier",
154
+ "inputs": [
155
+ { "name": "referrer", "type": "address", "indexed": false, "internalType": "address" },
156
+ { "name": "tierId", "type": "uint256", "indexed": false, "internalType": "uint256" }
157
+ ],
158
+ "anonymous": false
159
+ },
160
+ {
161
+ "type": "event",
162
+ "name": "SetTier",
163
+ "inputs": [
164
+ { "name": "tierId", "type": "uint256", "indexed": false, "internalType": "uint256" },
165
+ { "name": "feeDiscountPct", "type": "uint256", "indexed": false, "internalType": "uint256" },
166
+ { "name": "refRebatePct", "type": "uint256", "indexed": false, "internalType": "uint256" }
167
+ ],
168
+ "anonymous": false
169
+ },
170
+ {
171
+ "type": "event",
172
+ "name": "SetTraderReferralCode",
173
+ "inputs": [
174
+ { "name": "account", "type": "address", "indexed": false, "internalType": "address" },
175
+ { "name": "code", "type": "bytes32", "indexed": false, "internalType": "bytes32" }
176
+ ],
177
+ "anonymous": false
178
+ }
179
+ ],
180
+ "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
181
+ "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} },
182
+ "methodIdentifiers": {
183
+ "codeOwners(bytes32)": "c8b3c460",
184
+ "getTraderReferralInfo(address)": "534ef883",
185
+ "govSetCodeOwner(bytes32,address)": "dfcfa250",
186
+ "referrerTiers(address)": "1582a018",
187
+ "setReferrerTier(address,uint256)": "3fb8b323",
188
+ "setTier(uint256,uint256,uint256)": "836a0187",
189
+ "setTraderReferralCode(address,bytes32)": "56b4b2ad",
190
+ "traderReferralCodes(address)": "85725b58",
191
+ "traderReferralDiscount(address,uint256)": "ce18b98d"
192
+ },
193
+ "rawMetadata": "{\"compiler\":{\"version\":\"0.8.7+commit.e28d00a7\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"code\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAccount\",\"type\":\"address\"}],\"name\":\"GovSetCodeOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"code\",\"type\":\"bytes32\"}],\"name\":\"RegisterCode\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"code\",\"type\":\"bytes32\"}],\"name\":\"SetCodeOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gov\",\"type\":\"address\"}],\"name\":\"SetGov\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"name\":\"SetHandler\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAccount\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"code\",\"type\":\"bytes32\"}],\"name\":\"SetPendingCodeOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"discountShare\",\"type\":\"uint256\"}],\"name\":\"SetReferrerDiscountShare\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"}],\"name\":\"SetReferrerTier\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tierId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"feeDiscountPct\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"refRebatePct\",\"type\":\"uint256\"}],\"name\":\"SetTier\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"code\",\"type\":\"bytes32\"}],\"name\":\"SetTraderReferralCode\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_code\",\"type\":\"bytes32\"}],\"name\":\"codeOwners\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getTraderReferralInfo\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_code\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_newAccount\",\"type\":\"address\"}],\"name\":\"govSetCodeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"referrerTiers\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_referrer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"}],\"name\":\"setReferrerTier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tierId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRebate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_discountShare\",\"type\":\"uint256\"}],\"name\":\"setTier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_code\",\"type\":\"bytes32\"}],\"name\":\"setTraderReferralCode\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"traderReferralCodes\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feeBips\",\"type\":\"uint256\"}],\"name\":\"traderReferralDiscount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interfaces/IReferral.sol\":\"IReferral\"},\"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\":{\"src/interfaces/IReferral.sol\":{\"keccak256\":\"0xa95953627911c481cbf3da33446ef91c144dfcfe84f7ee9d6dc95e18efe39283\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://13cb98ca670e6814a436614d3103ec00bd37a779cdbf73674d703862af02a8a5\",\"dweb:/ipfs/QmZPWF9ZczJwmY9bn7yAcQEpj8euFhFY9s2zkyDqC1Qg25\"]}},\"version\":1}",
194
+ "metadata": {
195
+ "compiler": { "version": "0.8.7+commit.e28d00a7" },
196
+ "language": "Solidity",
197
+ "output": {
198
+ "abi": [
199
+ {
200
+ "inputs": [
201
+ { "internalType": "bytes32", "name": "code", "type": "bytes32", "indexed": false },
202
+ { "internalType": "address", "name": "newAccount", "type": "address", "indexed": false }
203
+ ],
204
+ "type": "event",
205
+ "name": "GovSetCodeOwner",
206
+ "anonymous": false
207
+ },
208
+ {
209
+ "inputs": [
210
+ { "internalType": "address", "name": "account", "type": "address", "indexed": false },
211
+ { "internalType": "bytes32", "name": "code", "type": "bytes32", "indexed": false }
212
+ ],
213
+ "type": "event",
214
+ "name": "RegisterCode",
215
+ "anonymous": false
216
+ },
217
+ {
218
+ "inputs": [
219
+ { "internalType": "address", "name": "oldOwner", "type": "address", "indexed": false },
220
+ { "internalType": "address", "name": "newOwner", "type": "address", "indexed": false },
221
+ { "internalType": "bytes32", "name": "code", "type": "bytes32", "indexed": false }
222
+ ],
223
+ "type": "event",
224
+ "name": "SetCodeOwner",
225
+ "anonymous": false
226
+ },
227
+ {
228
+ "inputs": [{ "internalType": "address", "name": "gov", "type": "address", "indexed": false }],
229
+ "type": "event",
230
+ "name": "SetGov",
231
+ "anonymous": false
232
+ },
233
+ {
234
+ "inputs": [
235
+ { "internalType": "address", "name": "handler", "type": "address", "indexed": false },
236
+ { "internalType": "bool", "name": "isActive", "type": "bool", "indexed": false }
237
+ ],
238
+ "type": "event",
239
+ "name": "SetHandler",
240
+ "anonymous": false
241
+ },
242
+ {
243
+ "inputs": [
244
+ { "internalType": "address", "name": "account", "type": "address", "indexed": false },
245
+ { "internalType": "address", "name": "newAccount", "type": "address", "indexed": false },
246
+ { "internalType": "bytes32", "name": "code", "type": "bytes32", "indexed": false }
247
+ ],
248
+ "type": "event",
249
+ "name": "SetPendingCodeOwner",
250
+ "anonymous": false
251
+ },
252
+ {
253
+ "inputs": [
254
+ { "internalType": "address", "name": "referrer", "type": "address", "indexed": false },
255
+ { "internalType": "uint256", "name": "discountShare", "type": "uint256", "indexed": false }
256
+ ],
257
+ "type": "event",
258
+ "name": "SetReferrerDiscountShare",
259
+ "anonymous": false
260
+ },
261
+ {
262
+ "inputs": [
263
+ { "internalType": "address", "name": "referrer", "type": "address", "indexed": false },
264
+ { "internalType": "uint256", "name": "tierId", "type": "uint256", "indexed": false }
265
+ ],
266
+ "type": "event",
267
+ "name": "SetReferrerTier",
268
+ "anonymous": false
269
+ },
270
+ {
271
+ "inputs": [
272
+ { "internalType": "uint256", "name": "tierId", "type": "uint256", "indexed": false },
273
+ { "internalType": "uint256", "name": "feeDiscountPct", "type": "uint256", "indexed": false },
274
+ { "internalType": "uint256", "name": "refRebatePct", "type": "uint256", "indexed": false }
275
+ ],
276
+ "type": "event",
277
+ "name": "SetTier",
278
+ "anonymous": false
279
+ },
280
+ {
281
+ "inputs": [
282
+ { "internalType": "address", "name": "account", "type": "address", "indexed": false },
283
+ { "internalType": "bytes32", "name": "code", "type": "bytes32", "indexed": false }
284
+ ],
285
+ "type": "event",
286
+ "name": "SetTraderReferralCode",
287
+ "anonymous": false
288
+ },
289
+ {
290
+ "inputs": [{ "internalType": "bytes32", "name": "_code", "type": "bytes32" }],
291
+ "stateMutability": "view",
292
+ "type": "function",
293
+ "name": "codeOwners",
294
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }]
295
+ },
296
+ {
297
+ "inputs": [{ "internalType": "address", "name": "_account", "type": "address" }],
298
+ "stateMutability": "view",
299
+ "type": "function",
300
+ "name": "getTraderReferralInfo",
301
+ "outputs": [
302
+ { "internalType": "bytes32", "name": "", "type": "bytes32" },
303
+ { "internalType": "address", "name": "", "type": "address" }
304
+ ]
305
+ },
306
+ {
307
+ "inputs": [
308
+ { "internalType": "bytes32", "name": "_code", "type": "bytes32" },
309
+ { "internalType": "address", "name": "_newAccount", "type": "address" }
310
+ ],
311
+ "stateMutability": "nonpayable",
312
+ "type": "function",
313
+ "name": "govSetCodeOwner"
314
+ },
315
+ {
316
+ "inputs": [{ "internalType": "address", "name": "_account", "type": "address" }],
317
+ "stateMutability": "view",
318
+ "type": "function",
319
+ "name": "referrerTiers",
320
+ "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
321
+ },
322
+ {
323
+ "inputs": [
324
+ { "internalType": "address", "name": "_referrer", "type": "address" },
325
+ { "internalType": "uint256", "name": "_tierId", "type": "uint256" }
326
+ ],
327
+ "stateMutability": "nonpayable",
328
+ "type": "function",
329
+ "name": "setReferrerTier"
330
+ },
331
+ {
332
+ "inputs": [
333
+ { "internalType": "uint256", "name": "_tierId", "type": "uint256" },
334
+ { "internalType": "uint256", "name": "_totalRebate", "type": "uint256" },
335
+ { "internalType": "uint256", "name": "_discountShare", "type": "uint256" }
336
+ ],
337
+ "stateMutability": "nonpayable",
338
+ "type": "function",
339
+ "name": "setTier"
340
+ },
341
+ {
342
+ "inputs": [
343
+ { "internalType": "address", "name": "_account", "type": "address" },
344
+ { "internalType": "bytes32", "name": "_code", "type": "bytes32" }
345
+ ],
346
+ "stateMutability": "nonpayable",
347
+ "type": "function",
348
+ "name": "setTraderReferralCode"
349
+ },
350
+ {
351
+ "inputs": [{ "internalType": "address", "name": "_account", "type": "address" }],
352
+ "stateMutability": "view",
353
+ "type": "function",
354
+ "name": "traderReferralCodes",
355
+ "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }]
356
+ },
357
+ {
358
+ "inputs": [
359
+ { "internalType": "address", "name": "_account", "type": "address" },
360
+ { "internalType": "uint256", "name": "_feeBips", "type": "uint256" }
361
+ ],
362
+ "stateMutability": "view",
363
+ "type": "function",
364
+ "name": "traderReferralDiscount",
365
+ "outputs": [
366
+ { "internalType": "uint256", "name": "", "type": "uint256" },
367
+ { "internalType": "address", "name": "", "type": "address" },
368
+ { "internalType": "uint256", "name": "", "type": "uint256" }
369
+ ]
370
+ }
371
+ ],
372
+ "devdoc": { "kind": "dev", "methods": {}, "version": 1 },
373
+ "userdoc": { "kind": "user", "methods": {}, "version": 1 }
374
+ },
375
+ "settings": {
376
+ "remappings": [
377
+ "@chainlink/=lib/chainlink/",
378
+ "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
379
+ "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
380
+ "chainlink/=lib/chainlink/",
381
+ "ds-test/=lib/forge-std/lib/ds-test/src/",
382
+ "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
383
+ "forge-std/=lib/forge-std/src/",
384
+ "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
385
+ "openzeppelin-contracts/=lib/openzeppelin-contracts/",
386
+ "openzeppelin/=lib/openzeppelin-contracts/contracts/",
387
+ "pyth-sdk-solidity/=lib/pyth-sdk-solidity/"
388
+ ],
389
+ "optimizer": { "enabled": true, "runs": 200 },
390
+ "metadata": { "bytecodeHash": "ipfs" },
391
+ "compilationTarget": { "src/interfaces/IReferral.sol": "IReferral" },
392
+ "libraries": {}
393
+ },
394
+ "sources": {
395
+ "src/interfaces/IReferral.sol": {
396
+ "keccak256": "0xa95953627911c481cbf3da33446ef91c144dfcfe84f7ee9d6dc95e18efe39283",
397
+ "urls": [
398
+ "bzz-raw://13cb98ca670e6814a436614d3103ec00bd37a779cdbf73674d703862af02a8a5",
399
+ "dweb:/ipfs/QmZPWF9ZczJwmY9bn7yAcQEpj8euFhFY9s2zkyDqC1Qg25"
400
+ ],
401
+ "license": "MIT"
402
+ }
403
+ },
404
+ "version": 1
405
+ },
406
+ "ast": {
407
+ "absolutePath": "src/interfaces/IReferral.sol",
408
+ "id": 73995,
409
+ "exportedSymbols": { "IReferral": [73994] },
410
+ "nodeType": "SourceUnit",
411
+ "src": "32:1641:93",
412
+ "nodes": [
413
+ {
414
+ "id": 73851,
415
+ "nodeType": "PragmaDirective",
416
+ "src": "32:22:93",
417
+ "nodes": [],
418
+ "literals": ["solidity", "0.8", ".7"]
419
+ },
420
+ {
421
+ "id": 73994,
422
+ "nodeType": "ContractDefinition",
423
+ "src": "56:1616:93",
424
+ "nodes": [
425
+ {
426
+ "id": 73856,
427
+ "nodeType": "StructDefinition",
428
+ "src": "82:160:93",
429
+ "nodes": [],
430
+ "canonicalName": "IReferral.Tier",
431
+ "members": [
432
+ {
433
+ "constant": false,
434
+ "id": 73853,
435
+ "mutability": "mutable",
436
+ "name": "feeDiscountPct",
437
+ "nameLocation": "112:14:93",
438
+ "nodeType": "VariableDeclaration",
439
+ "scope": 73856,
440
+ "src": "104:22:93",
441
+ "stateVariable": false,
442
+ "storageLocation": "default",
443
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
444
+ "typeName": {
445
+ "id": 73852,
446
+ "name": "uint256",
447
+ "nodeType": "ElementaryTypeName",
448
+ "src": "104:7:93",
449
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
450
+ },
451
+ "visibility": "internal"
452
+ },
453
+ {
454
+ "constant": false,
455
+ "id": 73855,
456
+ "mutability": "mutable",
457
+ "name": "refRebatePct",
458
+ "nameLocation": "185:12:93",
459
+ "nodeType": "VariableDeclaration",
460
+ "scope": 73856,
461
+ "src": "177:20:93",
462
+ "stateVariable": false,
463
+ "storageLocation": "default",
464
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
465
+ "typeName": {
466
+ "id": 73854,
467
+ "name": "uint256",
468
+ "nodeType": "ElementaryTypeName",
469
+ "src": "177:7:93",
470
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
471
+ },
472
+ "visibility": "internal"
473
+ }
474
+ ],
475
+ "name": "Tier",
476
+ "nameLocation": "89:4:93",
477
+ "scope": 73994,
478
+ "visibility": "public"
479
+ },
480
+ {
481
+ "id": 73860,
482
+ "nodeType": "EventDefinition",
483
+ "src": "261:26:93",
484
+ "nodes": [],
485
+ "anonymous": false,
486
+ "name": "SetGov",
487
+ "nameLocation": "267:6:93",
488
+ "parameters": {
489
+ "id": 73859,
490
+ "nodeType": "ParameterList",
491
+ "parameters": [
492
+ {
493
+ "constant": false,
494
+ "id": 73858,
495
+ "indexed": false,
496
+ "mutability": "mutable",
497
+ "name": "gov",
498
+ "nameLocation": "282:3:93",
499
+ "nodeType": "VariableDeclaration",
500
+ "scope": 73860,
501
+ "src": "274:11:93",
502
+ "stateVariable": false,
503
+ "storageLocation": "default",
504
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
505
+ "typeName": {
506
+ "id": 73857,
507
+ "name": "address",
508
+ "nodeType": "ElementaryTypeName",
509
+ "src": "274:7:93",
510
+ "stateMutability": "nonpayable",
511
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
512
+ },
513
+ "visibility": "internal"
514
+ }
515
+ ],
516
+ "src": "273:13:93"
517
+ }
518
+ },
519
+ {
520
+ "id": 73866,
521
+ "nodeType": "EventDefinition",
522
+ "src": "292:49:93",
523
+ "nodes": [],
524
+ "anonymous": false,
525
+ "name": "SetHandler",
526
+ "nameLocation": "298:10:93",
527
+ "parameters": {
528
+ "id": 73865,
529
+ "nodeType": "ParameterList",
530
+ "parameters": [
531
+ {
532
+ "constant": false,
533
+ "id": 73862,
534
+ "indexed": false,
535
+ "mutability": "mutable",
536
+ "name": "handler",
537
+ "nameLocation": "317:7:93",
538
+ "nodeType": "VariableDeclaration",
539
+ "scope": 73866,
540
+ "src": "309:15:93",
541
+ "stateVariable": false,
542
+ "storageLocation": "default",
543
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
544
+ "typeName": {
545
+ "id": 73861,
546
+ "name": "address",
547
+ "nodeType": "ElementaryTypeName",
548
+ "src": "309:7:93",
549
+ "stateMutability": "nonpayable",
550
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
551
+ },
552
+ "visibility": "internal"
553
+ },
554
+ {
555
+ "constant": false,
556
+ "id": 73864,
557
+ "indexed": false,
558
+ "mutability": "mutable",
559
+ "name": "isActive",
560
+ "nameLocation": "331:8:93",
561
+ "nodeType": "VariableDeclaration",
562
+ "scope": 73866,
563
+ "src": "326:13:93",
564
+ "stateVariable": false,
565
+ "storageLocation": "default",
566
+ "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" },
567
+ "typeName": {
568
+ "id": 73863,
569
+ "name": "bool",
570
+ "nodeType": "ElementaryTypeName",
571
+ "src": "326:4:93",
572
+ "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }
573
+ },
574
+ "visibility": "internal"
575
+ }
576
+ ],
577
+ "src": "308:32:93"
578
+ }
579
+ },
580
+ {
581
+ "id": 73872,
582
+ "nodeType": "EventDefinition",
583
+ "src": "346:59:93",
584
+ "nodes": [],
585
+ "anonymous": false,
586
+ "name": "SetTraderReferralCode",
587
+ "nameLocation": "352:21:93",
588
+ "parameters": {
589
+ "id": 73871,
590
+ "nodeType": "ParameterList",
591
+ "parameters": [
592
+ {
593
+ "constant": false,
594
+ "id": 73868,
595
+ "indexed": false,
596
+ "mutability": "mutable",
597
+ "name": "account",
598
+ "nameLocation": "382:7:93",
599
+ "nodeType": "VariableDeclaration",
600
+ "scope": 73872,
601
+ "src": "374:15:93",
602
+ "stateVariable": false,
603
+ "storageLocation": "default",
604
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
605
+ "typeName": {
606
+ "id": 73867,
607
+ "name": "address",
608
+ "nodeType": "ElementaryTypeName",
609
+ "src": "374:7:93",
610
+ "stateMutability": "nonpayable",
611
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
612
+ },
613
+ "visibility": "internal"
614
+ },
615
+ {
616
+ "constant": false,
617
+ "id": 73870,
618
+ "indexed": false,
619
+ "mutability": "mutable",
620
+ "name": "code",
621
+ "nameLocation": "399:4:93",
622
+ "nodeType": "VariableDeclaration",
623
+ "scope": 73872,
624
+ "src": "391:12:93",
625
+ "stateVariable": false,
626
+ "storageLocation": "default",
627
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
628
+ "typeName": {
629
+ "id": 73869,
630
+ "name": "bytes32",
631
+ "nodeType": "ElementaryTypeName",
632
+ "src": "391:7:93",
633
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
634
+ },
635
+ "visibility": "internal"
636
+ }
637
+ ],
638
+ "src": "373:31:93"
639
+ }
640
+ },
641
+ {
642
+ "id": 73880,
643
+ "nodeType": "EventDefinition",
644
+ "src": "410:76:93",
645
+ "nodes": [],
646
+ "anonymous": false,
647
+ "name": "SetTier",
648
+ "nameLocation": "416:7:93",
649
+ "parameters": {
650
+ "id": 73879,
651
+ "nodeType": "ParameterList",
652
+ "parameters": [
653
+ {
654
+ "constant": false,
655
+ "id": 73874,
656
+ "indexed": false,
657
+ "mutability": "mutable",
658
+ "name": "tierId",
659
+ "nameLocation": "432:6:93",
660
+ "nodeType": "VariableDeclaration",
661
+ "scope": 73880,
662
+ "src": "424:14:93",
663
+ "stateVariable": false,
664
+ "storageLocation": "default",
665
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
666
+ "typeName": {
667
+ "id": 73873,
668
+ "name": "uint256",
669
+ "nodeType": "ElementaryTypeName",
670
+ "src": "424:7:93",
671
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
672
+ },
673
+ "visibility": "internal"
674
+ },
675
+ {
676
+ "constant": false,
677
+ "id": 73876,
678
+ "indexed": false,
679
+ "mutability": "mutable",
680
+ "name": "feeDiscountPct",
681
+ "nameLocation": "448:14:93",
682
+ "nodeType": "VariableDeclaration",
683
+ "scope": 73880,
684
+ "src": "440:22:93",
685
+ "stateVariable": false,
686
+ "storageLocation": "default",
687
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
688
+ "typeName": {
689
+ "id": 73875,
690
+ "name": "uint256",
691
+ "nodeType": "ElementaryTypeName",
692
+ "src": "440:7:93",
693
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
694
+ },
695
+ "visibility": "internal"
696
+ },
697
+ {
698
+ "constant": false,
699
+ "id": 73878,
700
+ "indexed": false,
701
+ "mutability": "mutable",
702
+ "name": "refRebatePct",
703
+ "nameLocation": "472:12:93",
704
+ "nodeType": "VariableDeclaration",
705
+ "scope": 73880,
706
+ "src": "464:20:93",
707
+ "stateVariable": false,
708
+ "storageLocation": "default",
709
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
710
+ "typeName": {
711
+ "id": 73877,
712
+ "name": "uint256",
713
+ "nodeType": "ElementaryTypeName",
714
+ "src": "464:7:93",
715
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
716
+ },
717
+ "visibility": "internal"
718
+ }
719
+ ],
720
+ "src": "423:62:93"
721
+ }
722
+ },
723
+ {
724
+ "id": 73886,
725
+ "nodeType": "EventDefinition",
726
+ "src": "491:56:93",
727
+ "nodes": [],
728
+ "anonymous": false,
729
+ "name": "SetReferrerTier",
730
+ "nameLocation": "497:15:93",
731
+ "parameters": {
732
+ "id": 73885,
733
+ "nodeType": "ParameterList",
734
+ "parameters": [
735
+ {
736
+ "constant": false,
737
+ "id": 73882,
738
+ "indexed": false,
739
+ "mutability": "mutable",
740
+ "name": "referrer",
741
+ "nameLocation": "521:8:93",
742
+ "nodeType": "VariableDeclaration",
743
+ "scope": 73886,
744
+ "src": "513:16:93",
745
+ "stateVariable": false,
746
+ "storageLocation": "default",
747
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
748
+ "typeName": {
749
+ "id": 73881,
750
+ "name": "address",
751
+ "nodeType": "ElementaryTypeName",
752
+ "src": "513:7:93",
753
+ "stateMutability": "nonpayable",
754
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
755
+ },
756
+ "visibility": "internal"
757
+ },
758
+ {
759
+ "constant": false,
760
+ "id": 73884,
761
+ "indexed": false,
762
+ "mutability": "mutable",
763
+ "name": "tierId",
764
+ "nameLocation": "539:6:93",
765
+ "nodeType": "VariableDeclaration",
766
+ "scope": 73886,
767
+ "src": "531:14:93",
768
+ "stateVariable": false,
769
+ "storageLocation": "default",
770
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
771
+ "typeName": {
772
+ "id": 73883,
773
+ "name": "uint256",
774
+ "nodeType": "ElementaryTypeName",
775
+ "src": "531:7:93",
776
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
777
+ },
778
+ "visibility": "internal"
779
+ }
780
+ ],
781
+ "src": "512:34:93"
782
+ }
783
+ },
784
+ {
785
+ "id": 73892,
786
+ "nodeType": "EventDefinition",
787
+ "src": "552:72:93",
788
+ "nodes": [],
789
+ "anonymous": false,
790
+ "name": "SetReferrerDiscountShare",
791
+ "nameLocation": "558:24:93",
792
+ "parameters": {
793
+ "id": 73891,
794
+ "nodeType": "ParameterList",
795
+ "parameters": [
796
+ {
797
+ "constant": false,
798
+ "id": 73888,
799
+ "indexed": false,
800
+ "mutability": "mutable",
801
+ "name": "referrer",
802
+ "nameLocation": "591:8:93",
803
+ "nodeType": "VariableDeclaration",
804
+ "scope": 73892,
805
+ "src": "583:16:93",
806
+ "stateVariable": false,
807
+ "storageLocation": "default",
808
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
809
+ "typeName": {
810
+ "id": 73887,
811
+ "name": "address",
812
+ "nodeType": "ElementaryTypeName",
813
+ "src": "583:7:93",
814
+ "stateMutability": "nonpayable",
815
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
816
+ },
817
+ "visibility": "internal"
818
+ },
819
+ {
820
+ "constant": false,
821
+ "id": 73890,
822
+ "indexed": false,
823
+ "mutability": "mutable",
824
+ "name": "discountShare",
825
+ "nameLocation": "609:13:93",
826
+ "nodeType": "VariableDeclaration",
827
+ "scope": 73892,
828
+ "src": "601:21:93",
829
+ "stateVariable": false,
830
+ "storageLocation": "default",
831
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
832
+ "typeName": {
833
+ "id": 73889,
834
+ "name": "uint256",
835
+ "nodeType": "ElementaryTypeName",
836
+ "src": "601:7:93",
837
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
838
+ },
839
+ "visibility": "internal"
840
+ }
841
+ ],
842
+ "src": "582:41:93"
843
+ }
844
+ },
845
+ {
846
+ "id": 73898,
847
+ "nodeType": "EventDefinition",
848
+ "src": "629:50:93",
849
+ "nodes": [],
850
+ "anonymous": false,
851
+ "name": "RegisterCode",
852
+ "nameLocation": "635:12:93",
853
+ "parameters": {
854
+ "id": 73897,
855
+ "nodeType": "ParameterList",
856
+ "parameters": [
857
+ {
858
+ "constant": false,
859
+ "id": 73894,
860
+ "indexed": false,
861
+ "mutability": "mutable",
862
+ "name": "account",
863
+ "nameLocation": "656:7:93",
864
+ "nodeType": "VariableDeclaration",
865
+ "scope": 73898,
866
+ "src": "648:15:93",
867
+ "stateVariable": false,
868
+ "storageLocation": "default",
869
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
870
+ "typeName": {
871
+ "id": 73893,
872
+ "name": "address",
873
+ "nodeType": "ElementaryTypeName",
874
+ "src": "648:7:93",
875
+ "stateMutability": "nonpayable",
876
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
877
+ },
878
+ "visibility": "internal"
879
+ },
880
+ {
881
+ "constant": false,
882
+ "id": 73896,
883
+ "indexed": false,
884
+ "mutability": "mutable",
885
+ "name": "code",
886
+ "nameLocation": "673:4:93",
887
+ "nodeType": "VariableDeclaration",
888
+ "scope": 73898,
889
+ "src": "665:12:93",
890
+ "stateVariable": false,
891
+ "storageLocation": "default",
892
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
893
+ "typeName": {
894
+ "id": 73895,
895
+ "name": "bytes32",
896
+ "nodeType": "ElementaryTypeName",
897
+ "src": "665:7:93",
898
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
899
+ },
900
+ "visibility": "internal"
901
+ }
902
+ ],
903
+ "src": "647:31:93"
904
+ }
905
+ },
906
+ {
907
+ "id": 73906,
908
+ "nodeType": "EventDefinition",
909
+ "src": "684:69:93",
910
+ "nodes": [],
911
+ "anonymous": false,
912
+ "name": "SetCodeOwner",
913
+ "nameLocation": "690:12:93",
914
+ "parameters": {
915
+ "id": 73905,
916
+ "nodeType": "ParameterList",
917
+ "parameters": [
918
+ {
919
+ "constant": false,
920
+ "id": 73900,
921
+ "indexed": false,
922
+ "mutability": "mutable",
923
+ "name": "oldOwner",
924
+ "nameLocation": "711:8:93",
925
+ "nodeType": "VariableDeclaration",
926
+ "scope": 73906,
927
+ "src": "703:16:93",
928
+ "stateVariable": false,
929
+ "storageLocation": "default",
930
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
931
+ "typeName": {
932
+ "id": 73899,
933
+ "name": "address",
934
+ "nodeType": "ElementaryTypeName",
935
+ "src": "703:7:93",
936
+ "stateMutability": "nonpayable",
937
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
938
+ },
939
+ "visibility": "internal"
940
+ },
941
+ {
942
+ "constant": false,
943
+ "id": 73902,
944
+ "indexed": false,
945
+ "mutability": "mutable",
946
+ "name": "newOwner",
947
+ "nameLocation": "729:8:93",
948
+ "nodeType": "VariableDeclaration",
949
+ "scope": 73906,
950
+ "src": "721:16:93",
951
+ "stateVariable": false,
952
+ "storageLocation": "default",
953
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
954
+ "typeName": {
955
+ "id": 73901,
956
+ "name": "address",
957
+ "nodeType": "ElementaryTypeName",
958
+ "src": "721:7:93",
959
+ "stateMutability": "nonpayable",
960
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
961
+ },
962
+ "visibility": "internal"
963
+ },
964
+ {
965
+ "constant": false,
966
+ "id": 73904,
967
+ "indexed": false,
968
+ "mutability": "mutable",
969
+ "name": "code",
970
+ "nameLocation": "747:4:93",
971
+ "nodeType": "VariableDeclaration",
972
+ "scope": 73906,
973
+ "src": "739:12:93",
974
+ "stateVariable": false,
975
+ "storageLocation": "default",
976
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
977
+ "typeName": {
978
+ "id": 73903,
979
+ "name": "bytes32",
980
+ "nodeType": "ElementaryTypeName",
981
+ "src": "739:7:93",
982
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
983
+ },
984
+ "visibility": "internal"
985
+ }
986
+ ],
987
+ "src": "702:50:93"
988
+ }
989
+ },
990
+ {
991
+ "id": 73914,
992
+ "nodeType": "EventDefinition",
993
+ "src": "758:77:93",
994
+ "nodes": [],
995
+ "anonymous": false,
996
+ "name": "SetPendingCodeOwner",
997
+ "nameLocation": "764:19:93",
998
+ "parameters": {
999
+ "id": 73913,
1000
+ "nodeType": "ParameterList",
1001
+ "parameters": [
1002
+ {
1003
+ "constant": false,
1004
+ "id": 73908,
1005
+ "indexed": false,
1006
+ "mutability": "mutable",
1007
+ "name": "account",
1008
+ "nameLocation": "792:7:93",
1009
+ "nodeType": "VariableDeclaration",
1010
+ "scope": 73914,
1011
+ "src": "784:15:93",
1012
+ "stateVariable": false,
1013
+ "storageLocation": "default",
1014
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1015
+ "typeName": {
1016
+ "id": 73907,
1017
+ "name": "address",
1018
+ "nodeType": "ElementaryTypeName",
1019
+ "src": "784:7:93",
1020
+ "stateMutability": "nonpayable",
1021
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1022
+ },
1023
+ "visibility": "internal"
1024
+ },
1025
+ {
1026
+ "constant": false,
1027
+ "id": 73910,
1028
+ "indexed": false,
1029
+ "mutability": "mutable",
1030
+ "name": "newAccount",
1031
+ "nameLocation": "809:10:93",
1032
+ "nodeType": "VariableDeclaration",
1033
+ "scope": 73914,
1034
+ "src": "801:18:93",
1035
+ "stateVariable": false,
1036
+ "storageLocation": "default",
1037
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1038
+ "typeName": {
1039
+ "id": 73909,
1040
+ "name": "address",
1041
+ "nodeType": "ElementaryTypeName",
1042
+ "src": "801:7:93",
1043
+ "stateMutability": "nonpayable",
1044
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1045
+ },
1046
+ "visibility": "internal"
1047
+ },
1048
+ {
1049
+ "constant": false,
1050
+ "id": 73912,
1051
+ "indexed": false,
1052
+ "mutability": "mutable",
1053
+ "name": "code",
1054
+ "nameLocation": "829:4:93",
1055
+ "nodeType": "VariableDeclaration",
1056
+ "scope": 73914,
1057
+ "src": "821:12:93",
1058
+ "stateVariable": false,
1059
+ "storageLocation": "default",
1060
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1061
+ "typeName": {
1062
+ "id": 73911,
1063
+ "name": "bytes32",
1064
+ "nodeType": "ElementaryTypeName",
1065
+ "src": "821:7:93",
1066
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1067
+ },
1068
+ "visibility": "internal"
1069
+ }
1070
+ ],
1071
+ "src": "783:51:93"
1072
+ }
1073
+ },
1074
+ {
1075
+ "id": 73920,
1076
+ "nodeType": "EventDefinition",
1077
+ "src": "840:56:93",
1078
+ "nodes": [],
1079
+ "anonymous": false,
1080
+ "name": "GovSetCodeOwner",
1081
+ "nameLocation": "846:15:93",
1082
+ "parameters": {
1083
+ "id": 73919,
1084
+ "nodeType": "ParameterList",
1085
+ "parameters": [
1086
+ {
1087
+ "constant": false,
1088
+ "id": 73916,
1089
+ "indexed": false,
1090
+ "mutability": "mutable",
1091
+ "name": "code",
1092
+ "nameLocation": "870:4:93",
1093
+ "nodeType": "VariableDeclaration",
1094
+ "scope": 73920,
1095
+ "src": "862:12:93",
1096
+ "stateVariable": false,
1097
+ "storageLocation": "default",
1098
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1099
+ "typeName": {
1100
+ "id": 73915,
1101
+ "name": "bytes32",
1102
+ "nodeType": "ElementaryTypeName",
1103
+ "src": "862:7:93",
1104
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1105
+ },
1106
+ "visibility": "internal"
1107
+ },
1108
+ {
1109
+ "constant": false,
1110
+ "id": 73918,
1111
+ "indexed": false,
1112
+ "mutability": "mutable",
1113
+ "name": "newAccount",
1114
+ "nameLocation": "884:10:93",
1115
+ "nodeType": "VariableDeclaration",
1116
+ "scope": 73920,
1117
+ "src": "876:18:93",
1118
+ "stateVariable": false,
1119
+ "storageLocation": "default",
1120
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1121
+ "typeName": {
1122
+ "id": 73917,
1123
+ "name": "address",
1124
+ "nodeType": "ElementaryTypeName",
1125
+ "src": "876:7:93",
1126
+ "stateMutability": "nonpayable",
1127
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1128
+ },
1129
+ "visibility": "internal"
1130
+ }
1131
+ ],
1132
+ "src": "861:34:93"
1133
+ }
1134
+ },
1135
+ {
1136
+ "id": 73927,
1137
+ "nodeType": "FunctionDefinition",
1138
+ "src": "902:67:93",
1139
+ "nodes": [],
1140
+ "functionSelector": "c8b3c460",
1141
+ "implemented": false,
1142
+ "kind": "function",
1143
+ "modifiers": [],
1144
+ "name": "codeOwners",
1145
+ "nameLocation": "911:10:93",
1146
+ "parameters": {
1147
+ "id": 73923,
1148
+ "nodeType": "ParameterList",
1149
+ "parameters": [
1150
+ {
1151
+ "constant": false,
1152
+ "id": 73922,
1153
+ "mutability": "mutable",
1154
+ "name": "_code",
1155
+ "nameLocation": "930:5:93",
1156
+ "nodeType": "VariableDeclaration",
1157
+ "scope": 73927,
1158
+ "src": "922:13:93",
1159
+ "stateVariable": false,
1160
+ "storageLocation": "default",
1161
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1162
+ "typeName": {
1163
+ "id": 73921,
1164
+ "name": "bytes32",
1165
+ "nodeType": "ElementaryTypeName",
1166
+ "src": "922:7:93",
1167
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1168
+ },
1169
+ "visibility": "internal"
1170
+ }
1171
+ ],
1172
+ "src": "921:15:93"
1173
+ },
1174
+ "returnParameters": {
1175
+ "id": 73926,
1176
+ "nodeType": "ParameterList",
1177
+ "parameters": [
1178
+ {
1179
+ "constant": false,
1180
+ "id": 73925,
1181
+ "mutability": "mutable",
1182
+ "name": "",
1183
+ "nameLocation": "-1:-1:-1",
1184
+ "nodeType": "VariableDeclaration",
1185
+ "scope": 73927,
1186
+ "src": "960:7:93",
1187
+ "stateVariable": false,
1188
+ "storageLocation": "default",
1189
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1190
+ "typeName": {
1191
+ "id": 73924,
1192
+ "name": "address",
1193
+ "nodeType": "ElementaryTypeName",
1194
+ "src": "960:7:93",
1195
+ "stateMutability": "nonpayable",
1196
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1197
+ },
1198
+ "visibility": "internal"
1199
+ }
1200
+ ],
1201
+ "src": "959:9:93"
1202
+ },
1203
+ "scope": 73994,
1204
+ "stateMutability": "view",
1205
+ "virtual": false,
1206
+ "visibility": "external"
1207
+ },
1208
+ {
1209
+ "id": 73934,
1210
+ "nodeType": "FunctionDefinition",
1211
+ "src": "975:79:93",
1212
+ "nodes": [],
1213
+ "functionSelector": "85725b58",
1214
+ "implemented": false,
1215
+ "kind": "function",
1216
+ "modifiers": [],
1217
+ "name": "traderReferralCodes",
1218
+ "nameLocation": "984:19:93",
1219
+ "parameters": {
1220
+ "id": 73930,
1221
+ "nodeType": "ParameterList",
1222
+ "parameters": [
1223
+ {
1224
+ "constant": false,
1225
+ "id": 73929,
1226
+ "mutability": "mutable",
1227
+ "name": "_account",
1228
+ "nameLocation": "1012:8:93",
1229
+ "nodeType": "VariableDeclaration",
1230
+ "scope": 73934,
1231
+ "src": "1004:16:93",
1232
+ "stateVariable": false,
1233
+ "storageLocation": "default",
1234
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1235
+ "typeName": {
1236
+ "id": 73928,
1237
+ "name": "address",
1238
+ "nodeType": "ElementaryTypeName",
1239
+ "src": "1004:7:93",
1240
+ "stateMutability": "nonpayable",
1241
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1242
+ },
1243
+ "visibility": "internal"
1244
+ }
1245
+ ],
1246
+ "src": "1003:18:93"
1247
+ },
1248
+ "returnParameters": {
1249
+ "id": 73933,
1250
+ "nodeType": "ParameterList",
1251
+ "parameters": [
1252
+ {
1253
+ "constant": false,
1254
+ "id": 73932,
1255
+ "mutability": "mutable",
1256
+ "name": "",
1257
+ "nameLocation": "-1:-1:-1",
1258
+ "nodeType": "VariableDeclaration",
1259
+ "scope": 73934,
1260
+ "src": "1045:7:93",
1261
+ "stateVariable": false,
1262
+ "storageLocation": "default",
1263
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1264
+ "typeName": {
1265
+ "id": 73931,
1266
+ "name": "bytes32",
1267
+ "nodeType": "ElementaryTypeName",
1268
+ "src": "1045:7:93",
1269
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1270
+ },
1271
+ "visibility": "internal"
1272
+ }
1273
+ ],
1274
+ "src": "1044:9:93"
1275
+ },
1276
+ "scope": 73994,
1277
+ "stateMutability": "view",
1278
+ "virtual": false,
1279
+ "visibility": "external"
1280
+ },
1281
+ {
1282
+ "id": 73941,
1283
+ "nodeType": "FunctionDefinition",
1284
+ "src": "1060:73:93",
1285
+ "nodes": [],
1286
+ "functionSelector": "1582a018",
1287
+ "implemented": false,
1288
+ "kind": "function",
1289
+ "modifiers": [],
1290
+ "name": "referrerTiers",
1291
+ "nameLocation": "1069:13:93",
1292
+ "parameters": {
1293
+ "id": 73937,
1294
+ "nodeType": "ParameterList",
1295
+ "parameters": [
1296
+ {
1297
+ "constant": false,
1298
+ "id": 73936,
1299
+ "mutability": "mutable",
1300
+ "name": "_account",
1301
+ "nameLocation": "1091:8:93",
1302
+ "nodeType": "VariableDeclaration",
1303
+ "scope": 73941,
1304
+ "src": "1083:16:93",
1305
+ "stateVariable": false,
1306
+ "storageLocation": "default",
1307
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1308
+ "typeName": {
1309
+ "id": 73935,
1310
+ "name": "address",
1311
+ "nodeType": "ElementaryTypeName",
1312
+ "src": "1083:7:93",
1313
+ "stateMutability": "nonpayable",
1314
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1315
+ },
1316
+ "visibility": "internal"
1317
+ }
1318
+ ],
1319
+ "src": "1082:18:93"
1320
+ },
1321
+ "returnParameters": {
1322
+ "id": 73940,
1323
+ "nodeType": "ParameterList",
1324
+ "parameters": [
1325
+ {
1326
+ "constant": false,
1327
+ "id": 73939,
1328
+ "mutability": "mutable",
1329
+ "name": "",
1330
+ "nameLocation": "-1:-1:-1",
1331
+ "nodeType": "VariableDeclaration",
1332
+ "scope": 73941,
1333
+ "src": "1124:7:93",
1334
+ "stateVariable": false,
1335
+ "storageLocation": "default",
1336
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1337
+ "typeName": {
1338
+ "id": 73938,
1339
+ "name": "uint256",
1340
+ "nodeType": "ElementaryTypeName",
1341
+ "src": "1124:7:93",
1342
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1343
+ },
1344
+ "visibility": "internal"
1345
+ }
1346
+ ],
1347
+ "src": "1123:9:93"
1348
+ },
1349
+ "scope": 73994,
1350
+ "stateMutability": "view",
1351
+ "virtual": false,
1352
+ "visibility": "external"
1353
+ },
1354
+ {
1355
+ "id": 73950,
1356
+ "nodeType": "FunctionDefinition",
1357
+ "src": "1139:90:93",
1358
+ "nodes": [],
1359
+ "functionSelector": "534ef883",
1360
+ "implemented": false,
1361
+ "kind": "function",
1362
+ "modifiers": [],
1363
+ "name": "getTraderReferralInfo",
1364
+ "nameLocation": "1148:21:93",
1365
+ "parameters": {
1366
+ "id": 73944,
1367
+ "nodeType": "ParameterList",
1368
+ "parameters": [
1369
+ {
1370
+ "constant": false,
1371
+ "id": 73943,
1372
+ "mutability": "mutable",
1373
+ "name": "_account",
1374
+ "nameLocation": "1178:8:93",
1375
+ "nodeType": "VariableDeclaration",
1376
+ "scope": 73950,
1377
+ "src": "1170:16:93",
1378
+ "stateVariable": false,
1379
+ "storageLocation": "default",
1380
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1381
+ "typeName": {
1382
+ "id": 73942,
1383
+ "name": "address",
1384
+ "nodeType": "ElementaryTypeName",
1385
+ "src": "1170:7:93",
1386
+ "stateMutability": "nonpayable",
1387
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1388
+ },
1389
+ "visibility": "internal"
1390
+ }
1391
+ ],
1392
+ "src": "1169:18:93"
1393
+ },
1394
+ "returnParameters": {
1395
+ "id": 73949,
1396
+ "nodeType": "ParameterList",
1397
+ "parameters": [
1398
+ {
1399
+ "constant": false,
1400
+ "id": 73946,
1401
+ "mutability": "mutable",
1402
+ "name": "",
1403
+ "nameLocation": "-1:-1:-1",
1404
+ "nodeType": "VariableDeclaration",
1405
+ "scope": 73950,
1406
+ "src": "1211:7:93",
1407
+ "stateVariable": false,
1408
+ "storageLocation": "default",
1409
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1410
+ "typeName": {
1411
+ "id": 73945,
1412
+ "name": "bytes32",
1413
+ "nodeType": "ElementaryTypeName",
1414
+ "src": "1211:7:93",
1415
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1416
+ },
1417
+ "visibility": "internal"
1418
+ },
1419
+ {
1420
+ "constant": false,
1421
+ "id": 73948,
1422
+ "mutability": "mutable",
1423
+ "name": "",
1424
+ "nameLocation": "-1:-1:-1",
1425
+ "nodeType": "VariableDeclaration",
1426
+ "scope": 73950,
1427
+ "src": "1220:7:93",
1428
+ "stateVariable": false,
1429
+ "storageLocation": "default",
1430
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1431
+ "typeName": {
1432
+ "id": 73947,
1433
+ "name": "address",
1434
+ "nodeType": "ElementaryTypeName",
1435
+ "src": "1220:7:93",
1436
+ "stateMutability": "nonpayable",
1437
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1438
+ },
1439
+ "visibility": "internal"
1440
+ }
1441
+ ],
1442
+ "src": "1210:18:93"
1443
+ },
1444
+ "scope": 73994,
1445
+ "stateMutability": "view",
1446
+ "virtual": false,
1447
+ "visibility": "external"
1448
+ },
1449
+ {
1450
+ "id": 73957,
1451
+ "nodeType": "FunctionDefinition",
1452
+ "src": "1235:73:93",
1453
+ "nodes": [],
1454
+ "functionSelector": "56b4b2ad",
1455
+ "implemented": false,
1456
+ "kind": "function",
1457
+ "modifiers": [],
1458
+ "name": "setTraderReferralCode",
1459
+ "nameLocation": "1244:21:93",
1460
+ "parameters": {
1461
+ "id": 73955,
1462
+ "nodeType": "ParameterList",
1463
+ "parameters": [
1464
+ {
1465
+ "constant": false,
1466
+ "id": 73952,
1467
+ "mutability": "mutable",
1468
+ "name": "_account",
1469
+ "nameLocation": "1274:8:93",
1470
+ "nodeType": "VariableDeclaration",
1471
+ "scope": 73957,
1472
+ "src": "1266:16:93",
1473
+ "stateVariable": false,
1474
+ "storageLocation": "default",
1475
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1476
+ "typeName": {
1477
+ "id": 73951,
1478
+ "name": "address",
1479
+ "nodeType": "ElementaryTypeName",
1480
+ "src": "1266:7:93",
1481
+ "stateMutability": "nonpayable",
1482
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1483
+ },
1484
+ "visibility": "internal"
1485
+ },
1486
+ {
1487
+ "constant": false,
1488
+ "id": 73954,
1489
+ "mutability": "mutable",
1490
+ "name": "_code",
1491
+ "nameLocation": "1292:5:93",
1492
+ "nodeType": "VariableDeclaration",
1493
+ "scope": 73957,
1494
+ "src": "1284:13:93",
1495
+ "stateVariable": false,
1496
+ "storageLocation": "default",
1497
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1498
+ "typeName": {
1499
+ "id": 73953,
1500
+ "name": "bytes32",
1501
+ "nodeType": "ElementaryTypeName",
1502
+ "src": "1284:7:93",
1503
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1504
+ },
1505
+ "visibility": "internal"
1506
+ }
1507
+ ],
1508
+ "src": "1265:33:93"
1509
+ },
1510
+ "returnParameters": { "id": 73956, "nodeType": "ParameterList", "parameters": [], "src": "1307:0:93" },
1511
+ "scope": 73994,
1512
+ "stateMutability": "nonpayable",
1513
+ "virtual": false,
1514
+ "visibility": "external"
1515
+ },
1516
+ {
1517
+ "id": 73966,
1518
+ "nodeType": "FunctionDefinition",
1519
+ "src": "1314:89:93",
1520
+ "nodes": [],
1521
+ "functionSelector": "836a0187",
1522
+ "implemented": false,
1523
+ "kind": "function",
1524
+ "modifiers": [],
1525
+ "name": "setTier",
1526
+ "nameLocation": "1323:7:93",
1527
+ "parameters": {
1528
+ "id": 73964,
1529
+ "nodeType": "ParameterList",
1530
+ "parameters": [
1531
+ {
1532
+ "constant": false,
1533
+ "id": 73959,
1534
+ "mutability": "mutable",
1535
+ "name": "_tierId",
1536
+ "nameLocation": "1339:7:93",
1537
+ "nodeType": "VariableDeclaration",
1538
+ "scope": 73966,
1539
+ "src": "1331:15:93",
1540
+ "stateVariable": false,
1541
+ "storageLocation": "default",
1542
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1543
+ "typeName": {
1544
+ "id": 73958,
1545
+ "name": "uint256",
1546
+ "nodeType": "ElementaryTypeName",
1547
+ "src": "1331:7:93",
1548
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1549
+ },
1550
+ "visibility": "internal"
1551
+ },
1552
+ {
1553
+ "constant": false,
1554
+ "id": 73961,
1555
+ "mutability": "mutable",
1556
+ "name": "_totalRebate",
1557
+ "nameLocation": "1356:12:93",
1558
+ "nodeType": "VariableDeclaration",
1559
+ "scope": 73966,
1560
+ "src": "1348:20:93",
1561
+ "stateVariable": false,
1562
+ "storageLocation": "default",
1563
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1564
+ "typeName": {
1565
+ "id": 73960,
1566
+ "name": "uint256",
1567
+ "nodeType": "ElementaryTypeName",
1568
+ "src": "1348:7:93",
1569
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1570
+ },
1571
+ "visibility": "internal"
1572
+ },
1573
+ {
1574
+ "constant": false,
1575
+ "id": 73963,
1576
+ "mutability": "mutable",
1577
+ "name": "_discountShare",
1578
+ "nameLocation": "1378:14:93",
1579
+ "nodeType": "VariableDeclaration",
1580
+ "scope": 73966,
1581
+ "src": "1370:22:93",
1582
+ "stateVariable": false,
1583
+ "storageLocation": "default",
1584
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1585
+ "typeName": {
1586
+ "id": 73962,
1587
+ "name": "uint256",
1588
+ "nodeType": "ElementaryTypeName",
1589
+ "src": "1370:7:93",
1590
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1591
+ },
1592
+ "visibility": "internal"
1593
+ }
1594
+ ],
1595
+ "src": "1330:63:93"
1596
+ },
1597
+ "returnParameters": { "id": 73965, "nodeType": "ParameterList", "parameters": [], "src": "1402:0:93" },
1598
+ "scope": 73994,
1599
+ "stateMutability": "nonpayable",
1600
+ "virtual": false,
1601
+ "visibility": "external"
1602
+ },
1603
+ {
1604
+ "id": 73973,
1605
+ "nodeType": "FunctionDefinition",
1606
+ "src": "1409:70:93",
1607
+ "nodes": [],
1608
+ "functionSelector": "3fb8b323",
1609
+ "implemented": false,
1610
+ "kind": "function",
1611
+ "modifiers": [],
1612
+ "name": "setReferrerTier",
1613
+ "nameLocation": "1418:15:93",
1614
+ "parameters": {
1615
+ "id": 73971,
1616
+ "nodeType": "ParameterList",
1617
+ "parameters": [
1618
+ {
1619
+ "constant": false,
1620
+ "id": 73968,
1621
+ "mutability": "mutable",
1622
+ "name": "_referrer",
1623
+ "nameLocation": "1442:9:93",
1624
+ "nodeType": "VariableDeclaration",
1625
+ "scope": 73973,
1626
+ "src": "1434:17:93",
1627
+ "stateVariable": false,
1628
+ "storageLocation": "default",
1629
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1630
+ "typeName": {
1631
+ "id": 73967,
1632
+ "name": "address",
1633
+ "nodeType": "ElementaryTypeName",
1634
+ "src": "1434:7:93",
1635
+ "stateMutability": "nonpayable",
1636
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1637
+ },
1638
+ "visibility": "internal"
1639
+ },
1640
+ {
1641
+ "constant": false,
1642
+ "id": 73970,
1643
+ "mutability": "mutable",
1644
+ "name": "_tierId",
1645
+ "nameLocation": "1461:7:93",
1646
+ "nodeType": "VariableDeclaration",
1647
+ "scope": 73973,
1648
+ "src": "1453:15:93",
1649
+ "stateVariable": false,
1650
+ "storageLocation": "default",
1651
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1652
+ "typeName": {
1653
+ "id": 73969,
1654
+ "name": "uint256",
1655
+ "nodeType": "ElementaryTypeName",
1656
+ "src": "1453:7:93",
1657
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1658
+ },
1659
+ "visibility": "internal"
1660
+ }
1661
+ ],
1662
+ "src": "1433:36:93"
1663
+ },
1664
+ "returnParameters": { "id": 73972, "nodeType": "ParameterList", "parameters": [], "src": "1478:0:93" },
1665
+ "scope": 73994,
1666
+ "stateMutability": "nonpayable",
1667
+ "virtual": false,
1668
+ "visibility": "external"
1669
+ },
1670
+ {
1671
+ "id": 73980,
1672
+ "nodeType": "FunctionDefinition",
1673
+ "src": "1485:70:93",
1674
+ "nodes": [],
1675
+ "functionSelector": "dfcfa250",
1676
+ "implemented": false,
1677
+ "kind": "function",
1678
+ "modifiers": [],
1679
+ "name": "govSetCodeOwner",
1680
+ "nameLocation": "1494:15:93",
1681
+ "parameters": {
1682
+ "id": 73978,
1683
+ "nodeType": "ParameterList",
1684
+ "parameters": [
1685
+ {
1686
+ "constant": false,
1687
+ "id": 73975,
1688
+ "mutability": "mutable",
1689
+ "name": "_code",
1690
+ "nameLocation": "1518:5:93",
1691
+ "nodeType": "VariableDeclaration",
1692
+ "scope": 73980,
1693
+ "src": "1510:13:93",
1694
+ "stateVariable": false,
1695
+ "storageLocation": "default",
1696
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" },
1697
+ "typeName": {
1698
+ "id": 73974,
1699
+ "name": "bytes32",
1700
+ "nodeType": "ElementaryTypeName",
1701
+ "src": "1510:7:93",
1702
+ "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }
1703
+ },
1704
+ "visibility": "internal"
1705
+ },
1706
+ {
1707
+ "constant": false,
1708
+ "id": 73977,
1709
+ "mutability": "mutable",
1710
+ "name": "_newAccount",
1711
+ "nameLocation": "1533:11:93",
1712
+ "nodeType": "VariableDeclaration",
1713
+ "scope": 73980,
1714
+ "src": "1525:19:93",
1715
+ "stateVariable": false,
1716
+ "storageLocation": "default",
1717
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1718
+ "typeName": {
1719
+ "id": 73976,
1720
+ "name": "address",
1721
+ "nodeType": "ElementaryTypeName",
1722
+ "src": "1525:7:93",
1723
+ "stateMutability": "nonpayable",
1724
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1725
+ },
1726
+ "visibility": "internal"
1727
+ }
1728
+ ],
1729
+ "src": "1509:36:93"
1730
+ },
1731
+ "returnParameters": { "id": 73979, "nodeType": "ParameterList", "parameters": [], "src": "1554:0:93" },
1732
+ "scope": 73994,
1733
+ "stateMutability": "nonpayable",
1734
+ "virtual": false,
1735
+ "visibility": "external"
1736
+ },
1737
+ {
1738
+ "id": 73993,
1739
+ "nodeType": "FunctionDefinition",
1740
+ "src": "1561:109:93",
1741
+ "nodes": [],
1742
+ "functionSelector": "ce18b98d",
1743
+ "implemented": false,
1744
+ "kind": "function",
1745
+ "modifiers": [],
1746
+ "name": "traderReferralDiscount",
1747
+ "nameLocation": "1570:22:93",
1748
+ "parameters": {
1749
+ "id": 73985,
1750
+ "nodeType": "ParameterList",
1751
+ "parameters": [
1752
+ {
1753
+ "constant": false,
1754
+ "id": 73982,
1755
+ "mutability": "mutable",
1756
+ "name": "_account",
1757
+ "nameLocation": "1601:8:93",
1758
+ "nodeType": "VariableDeclaration",
1759
+ "scope": 73993,
1760
+ "src": "1593:16:93",
1761
+ "stateVariable": false,
1762
+ "storageLocation": "default",
1763
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1764
+ "typeName": {
1765
+ "id": 73981,
1766
+ "name": "address",
1767
+ "nodeType": "ElementaryTypeName",
1768
+ "src": "1593:7:93",
1769
+ "stateMutability": "nonpayable",
1770
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1771
+ },
1772
+ "visibility": "internal"
1773
+ },
1774
+ {
1775
+ "constant": false,
1776
+ "id": 73984,
1777
+ "mutability": "mutable",
1778
+ "name": "_feeBips",
1779
+ "nameLocation": "1616:8:93",
1780
+ "nodeType": "VariableDeclaration",
1781
+ "scope": 73993,
1782
+ "src": "1611:13:93",
1783
+ "stateVariable": false,
1784
+ "storageLocation": "default",
1785
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1786
+ "typeName": {
1787
+ "id": 73983,
1788
+ "name": "uint",
1789
+ "nodeType": "ElementaryTypeName",
1790
+ "src": "1611:4:93",
1791
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1792
+ },
1793
+ "visibility": "internal"
1794
+ }
1795
+ ],
1796
+ "src": "1592:33:93"
1797
+ },
1798
+ "returnParameters": {
1799
+ "id": 73992,
1800
+ "nodeType": "ParameterList",
1801
+ "parameters": [
1802
+ {
1803
+ "constant": false,
1804
+ "id": 73987,
1805
+ "mutability": "mutable",
1806
+ "name": "",
1807
+ "nameLocation": "-1:-1:-1",
1808
+ "nodeType": "VariableDeclaration",
1809
+ "scope": 73993,
1810
+ "src": "1649:4:93",
1811
+ "stateVariable": false,
1812
+ "storageLocation": "default",
1813
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1814
+ "typeName": {
1815
+ "id": 73986,
1816
+ "name": "uint",
1817
+ "nodeType": "ElementaryTypeName",
1818
+ "src": "1649:4:93",
1819
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1820
+ },
1821
+ "visibility": "internal"
1822
+ },
1823
+ {
1824
+ "constant": false,
1825
+ "id": 73989,
1826
+ "mutability": "mutable",
1827
+ "name": "",
1828
+ "nameLocation": "-1:-1:-1",
1829
+ "nodeType": "VariableDeclaration",
1830
+ "scope": 73993,
1831
+ "src": "1655:7:93",
1832
+ "stateVariable": false,
1833
+ "storageLocation": "default",
1834
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" },
1835
+ "typeName": {
1836
+ "id": 73988,
1837
+ "name": "address",
1838
+ "nodeType": "ElementaryTypeName",
1839
+ "src": "1655:7:93",
1840
+ "stateMutability": "nonpayable",
1841
+ "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }
1842
+ },
1843
+ "visibility": "internal"
1844
+ },
1845
+ {
1846
+ "constant": false,
1847
+ "id": 73991,
1848
+ "mutability": "mutable",
1849
+ "name": "",
1850
+ "nameLocation": "-1:-1:-1",
1851
+ "nodeType": "VariableDeclaration",
1852
+ "scope": 73993,
1853
+ "src": "1664:4:93",
1854
+ "stateVariable": false,
1855
+ "storageLocation": "default",
1856
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" },
1857
+ "typeName": {
1858
+ "id": 73990,
1859
+ "name": "uint",
1860
+ "nodeType": "ElementaryTypeName",
1861
+ "src": "1664:4:93",
1862
+ "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }
1863
+ },
1864
+ "visibility": "internal"
1865
+ }
1866
+ ],
1867
+ "src": "1648:21:93"
1868
+ },
1869
+ "scope": 73994,
1870
+ "stateMutability": "view",
1871
+ "virtual": false,
1872
+ "visibility": "external"
1873
+ }
1874
+ ],
1875
+ "abstract": false,
1876
+ "baseContracts": [],
1877
+ "contractDependencies": [],
1878
+ "contractKind": "interface",
1879
+ "fullyImplemented": false,
1880
+ "linearizedBaseContracts": [73994],
1881
+ "name": "IReferral",
1882
+ "nameLocation": "66:9:93",
1883
+ "scope": 73995,
1884
+ "usedErrors": []
1885
+ }
1886
+ ],
1887
+ "license": "MIT"
1888
+ },
1889
+ "id": 93
1890
+ }