secure-transac-contracts 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/build/contracts/AccessControl.json +4579 -0
  2. package/build/contracts/Context.json +356 -0
  3. package/build/contracts/CreditSystem.json +6037 -0
  4. package/build/contracts/ECDSA.json +4734 -0
  5. package/build/contracts/EIP712.json +3021 -0
  6. package/build/contracts/ERC165.json +352 -0
  7. package/build/contracts/ERC20.json +6816 -0
  8. package/build/contracts/ERC20Permit.json +2658 -0
  9. package/build/contracts/ERC721.json +12779 -0
  10. package/build/contracts/ERC721Utils.json +1058 -0
  11. package/build/contracts/Groth16Verifier.json +6298 -0
  12. package/build/contracts/Guardian.json +1116 -0
  13. package/build/contracts/IERC1155Errors.json +1687 -0
  14. package/build/contracts/IERC165.json +197 -0
  15. package/build/contracts/IERC20.json +1162 -0
  16. package/build/contracts/IERC20Errors.json +1662 -0
  17. package/build/contracts/IERC20Metadata.json +574 -0
  18. package/build/contracts/IERC20Permit.json +546 -0
  19. package/build/contracts/IERC5267.json +392 -0
  20. package/build/contracts/IERC721.json +1729 -0
  21. package/build/contracts/IERC721Errors.json +1694 -0
  22. package/build/contracts/IERC721Metadata.json +728 -0
  23. package/build/contracts/IERC721Receiver.json +296 -0
  24. package/build/contracts/IGuardian.json +215 -0
  25. package/build/contracts/ITrustRegistry.json +6767 -0
  26. package/build/contracts/IdentityVault.json +11584 -0
  27. package/build/contracts/Math.json +23115 -0
  28. package/build/contracts/MessageHashUtils.json +1668 -0
  29. package/build/contracts/Nonces.json +865 -0
  30. package/build/contracts/Ownable.json +1859 -0
  31. package/build/contracts/Panic.json +798 -0
  32. package/build/contracts/ReportingSystem.json +2787 -0
  33. package/build/contracts/SafeCast.json +21592 -0
  34. package/build/contracts/ScoringSystem.json +11245 -0
  35. package/build/contracts/SecureTransacSBT.json +18823 -0
  36. package/build/contracts/SecureTransacToken.json +19225 -0
  37. package/build/contracts/SecureVault.json +12890 -0
  38. package/build/contracts/ShortStrings.json +2852 -0
  39. package/build/contracts/SignedMath.json +1915 -0
  40. package/build/contracts/StorageSlot.json +1773 -0
  41. package/build/contracts/Strings.json +19001 -0
  42. package/build/contracts/TransactionLogger.json +5325 -0
  43. package/build/contracts/TrustDAO.json +23850 -0
  44. package/build/contracts/TrustRegistry.json +10948 -0
  45. package/build/contracts/VerificationRegistry.json +12811 -0
  46. package/build/contracts/ZKIdentityVerifier.json +13979 -0
  47. package/contracts/AccessControl.sol +34 -0
  48. package/contracts/CreditSystem.sol +48 -0
  49. package/contracts/Guardian.sol +33 -0
  50. package/contracts/IGuardian.sol +7 -0
  51. package/contracts/IdentityVault.sol +57 -0
  52. package/contracts/ReportingSystem.sol +14 -0
  53. package/contracts/ScoringSystem.sol +71 -0
  54. package/contracts/SecureTransacSBT.sol +72 -0
  55. package/contracts/SecureTransacToken.sol +20 -0
  56. package/contracts/SecureVault.sol +24 -0
  57. package/contracts/TransactionLogger.sol +12 -0
  58. package/contracts/TrustDAO.sol +158 -0
  59. package/contracts/TrustRegistry.sol +23 -0
  60. package/contracts/VerificationRegistry.sol +51 -0
  61. package/contracts/ZKIdentityVerifier.sol +38 -0
  62. package/contracts/ZKScoreVerifier.sol +175 -0
  63. package/package.json +32 -0
@@ -0,0 +1,4579 @@
1
+ {
2
+ "contractName": "AccessControl",
3
+ "abi": [
4
+ {
5
+ "inputs": [],
6
+ "stateMutability": "nonpayable",
7
+ "type": "constructor"
8
+ },
9
+ {
10
+ "inputs": [
11
+ {
12
+ "internalType": "address",
13
+ "name": "owner",
14
+ "type": "address"
15
+ }
16
+ ],
17
+ "name": "OwnableInvalidOwner",
18
+ "type": "error"
19
+ },
20
+ {
21
+ "inputs": [
22
+ {
23
+ "internalType": "address",
24
+ "name": "account",
25
+ "type": "address"
26
+ }
27
+ ],
28
+ "name": "OwnableUnauthorizedAccount",
29
+ "type": "error"
30
+ },
31
+ {
32
+ "anonymous": false,
33
+ "inputs": [
34
+ {
35
+ "indexed": true,
36
+ "internalType": "address",
37
+ "name": "previousOwner",
38
+ "type": "address"
39
+ },
40
+ {
41
+ "indexed": true,
42
+ "internalType": "address",
43
+ "name": "newOwner",
44
+ "type": "address"
45
+ }
46
+ ],
47
+ "name": "OwnershipTransferred",
48
+ "type": "event"
49
+ },
50
+ {
51
+ "anonymous": false,
52
+ "inputs": [
53
+ {
54
+ "indexed": true,
55
+ "internalType": "address",
56
+ "name": "reporter",
57
+ "type": "address"
58
+ },
59
+ {
60
+ "indexed": false,
61
+ "internalType": "bool",
62
+ "name": "status",
63
+ "type": "bool"
64
+ },
65
+ {
66
+ "indexed": false,
67
+ "internalType": "enum AccessControl.AuthorityTier",
68
+ "name": "tier",
69
+ "type": "uint8"
70
+ }
71
+ ],
72
+ "name": "ReporterStatusChanged",
73
+ "type": "event"
74
+ },
75
+ {
76
+ "inputs": [
77
+ {
78
+ "internalType": "address",
79
+ "name": "",
80
+ "type": "address"
81
+ }
82
+ ],
83
+ "name": "isAuthorizedReporter",
84
+ "outputs": [
85
+ {
86
+ "internalType": "bool",
87
+ "name": "",
88
+ "type": "bool"
89
+ }
90
+ ],
91
+ "stateMutability": "view",
92
+ "type": "function"
93
+ },
94
+ {
95
+ "inputs": [],
96
+ "name": "owner",
97
+ "outputs": [
98
+ {
99
+ "internalType": "address",
100
+ "name": "",
101
+ "type": "address"
102
+ }
103
+ ],
104
+ "stateMutability": "view",
105
+ "type": "function"
106
+ },
107
+ {
108
+ "inputs": [],
109
+ "name": "renounceOwnership",
110
+ "outputs": [],
111
+ "stateMutability": "nonpayable",
112
+ "type": "function"
113
+ },
114
+ {
115
+ "inputs": [
116
+ {
117
+ "internalType": "address",
118
+ "name": "",
119
+ "type": "address"
120
+ }
121
+ ],
122
+ "name": "reporterTier",
123
+ "outputs": [
124
+ {
125
+ "internalType": "enum AccessControl.AuthorityTier",
126
+ "name": "",
127
+ "type": "uint8"
128
+ }
129
+ ],
130
+ "stateMutability": "view",
131
+ "type": "function"
132
+ },
133
+ {
134
+ "inputs": [
135
+ {
136
+ "internalType": "address",
137
+ "name": "newOwner",
138
+ "type": "address"
139
+ }
140
+ ],
141
+ "name": "transferOwnership",
142
+ "outputs": [],
143
+ "stateMutability": "nonpayable",
144
+ "type": "function"
145
+ },
146
+ {
147
+ "inputs": [
148
+ {
149
+ "internalType": "address",
150
+ "name": "reporter",
151
+ "type": "address"
152
+ },
153
+ {
154
+ "internalType": "bool",
155
+ "name": "status",
156
+ "type": "bool"
157
+ },
158
+ {
159
+ "internalType": "enum AccessControl.AuthorityTier",
160
+ "name": "tier",
161
+ "type": "uint8"
162
+ }
163
+ ],
164
+ "name": "setReporterStatus",
165
+ "outputs": [],
166
+ "stateMutability": "nonpayable",
167
+ "type": "function"
168
+ }
169
+ ],
170
+ "metadata": "{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"enum AccessControl.AuthorityTier\",\"name\":\"tier\",\"type\":\"uint8\"}],\"name\":\"ReporterStatusChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isAuthorizedReporter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"reporterTier\",\"outputs\":[{\"internalType\":\"enum AccessControl.AuthorityTier\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"reporter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"},{\"internalType\":\"enum AccessControl.AuthorityTier\",\"name\":\"tier\",\"type\":\"uint8\"}],\"name\":\"setReporterStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/AccessControl.sol\":\"AccessControl\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"project:/contracts/AccessControl.sol\":{\"keccak256\":\"0x30c4cd3a2919866093cdd3182a6fa72d88d532294b87ef13246081e628ead55c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ff53ff54fd0fce183eb8d221030095d0cf538a68c066d359f6d5210a2246faf\",\"dweb:/ipfs/QmQiAf4q99aUH9irCgDUFqhWJqFW48K1kPd5cpmq3oDH2t\"]}},\"version\":1}",
171
+ "bytecode": "0x608060405234801561000f575f80fd5b50335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610081575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610078919061024f565b60405180910390fd5b6100908161014f60201b60201c565b506001805f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600360025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083600381111561014557610144610268565b5b0217905550610295565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61023982610210565b9050919050565b6102498161022f565b82525050565b5f6020820190506102625f830184610240565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6106f6806102a25f395ff3fe608060405234801561000f575f80fd5b5060043610610060575f3560e01c8063715018a614610064578063884fd0201461006e5780638bedac2e1461009e5780638da5cb5b146100ce5780639fc92298146100ec578063f2fde38b14610108575b5f80fd5b61006c610124565b005b610088600480360381019061008391906104ea565b610137565b6040516100959190610588565b60405180910390f35b6100b860048036038101906100b391906104ea565b610154565b6040516100c591906105bb565b60405180910390f35b6100d6610171565b6040516100e391906105e3565b60405180910390f35b61010660048036038101906101019190610649565b610198565b005b610122600480360381019061011d91906104ea565b6102b9565b005b61012c61033d565b6101355f6103c4565b565b6002602052805f5260405f205f915054906101000a900460ff1681565b6001602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6101a061033d565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550816101ff575f610201565b805b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083600381111561025f5761025e610515565b5b02179055508273ffffffffffffffffffffffffffffffffffffffff167f0510dedd55b5bcf4dd3a296ab8a8b01af87a389f889fd7b6b7fdcfcc214bfbd383836040516102ac929190610699565b60405180910390a2505050565b6102c161033d565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610331575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161032891906105e3565b60405180910390fd5b61033a816103c4565b50565b610345610485565b73ffffffffffffffffffffffffffffffffffffffff16610363610171565b73ffffffffffffffffffffffffffffffffffffffff16146103c257610386610485565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016103b991906105e3565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104b982610490565b9050919050565b6104c9816104af565b81146104d3575f80fd5b50565b5f813590506104e4816104c0565b92915050565b5f602082840312156104ff576104fe61048c565b5b5f61050c848285016104d6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6004811061055357610552610515565b5b50565b5f81905061056382610542565b919050565b5f61057282610556565b9050919050565b61058281610568565b82525050565b5f60208201905061059b5f830184610579565b92915050565b5f8115159050919050565b6105b5816105a1565b82525050565b5f6020820190506105ce5f8301846105ac565b92915050565b6105dd816104af565b82525050565b5f6020820190506105f65f8301846105d4565b92915050565b610605816105a1565b811461060f575f80fd5b50565b5f81359050610620816105fc565b92915050565b60048110610632575f80fd5b50565b5f8135905061064381610626565b92915050565b5f805f606084860312156106605761065f61048c565b5b5f61066d868287016104d6565b935050602061067e86828701610612565b925050604061068f86828701610635565b9150509250925092565b5f6040820190506106ac5f8301856105ac565b6106b96020830184610579565b939250505056fea2646970667358221220becb35e2024d07837893787509daffd3d0ed4b584f2aa83151b706fe5cf96f2e64736f6c63430008150033",
172
+ "deployedBytecode": "0x608060405234801561000f575f80fd5b5060043610610060575f3560e01c8063715018a614610064578063884fd0201461006e5780638bedac2e1461009e5780638da5cb5b146100ce5780639fc92298146100ec578063f2fde38b14610108575b5f80fd5b61006c610124565b005b610088600480360381019061008391906104ea565b610137565b6040516100959190610588565b60405180910390f35b6100b860048036038101906100b391906104ea565b610154565b6040516100c591906105bb565b60405180910390f35b6100d6610171565b6040516100e391906105e3565b60405180910390f35b61010660048036038101906101019190610649565b610198565b005b610122600480360381019061011d91906104ea565b6102b9565b005b61012c61033d565b6101355f6103c4565b565b6002602052805f5260405f205f915054906101000a900460ff1681565b6001602052805f5260405f205f915054906101000a900460ff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6101a061033d565b8160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550816101ff575f610201565b805b60025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083600381111561025f5761025e610515565b5b02179055508273ffffffffffffffffffffffffffffffffffffffff167f0510dedd55b5bcf4dd3a296ab8a8b01af87a389f889fd7b6b7fdcfcc214bfbd383836040516102ac929190610699565b60405180910390a2505050565b6102c161033d565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610331575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161032891906105e3565b60405180910390fd5b61033a816103c4565b50565b610345610485565b73ffffffffffffffffffffffffffffffffffffffff16610363610171565b73ffffffffffffffffffffffffffffffffffffffff16146103c257610386610485565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016103b991906105e3565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104b982610490565b9050919050565b6104c9816104af565b81146104d3575f80fd5b50565b5f813590506104e4816104c0565b92915050565b5f602082840312156104ff576104fe61048c565b5b5f61050c848285016104d6565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6004811061055357610552610515565b5b50565b5f81905061056382610542565b919050565b5f61057282610556565b9050919050565b61058281610568565b82525050565b5f60208201905061059b5f830184610579565b92915050565b5f8115159050919050565b6105b5816105a1565b82525050565b5f6020820190506105ce5f8301846105ac565b92915050565b6105dd816104af565b82525050565b5f6020820190506105f65f8301846105d4565b92915050565b610605816105a1565b811461060f575f80fd5b50565b5f81359050610620816105fc565b92915050565b60048110610632575f80fd5b50565b5f8135905061064381610626565b92915050565b5f805f606084860312156106605761065f61048c565b5b5f61066d868287016104d6565b935050602061067e86828701610612565b925050604061068f86828701610635565b9150509250925092565b5f6040820190506106ac5f8301856105ac565b6106b96020830184610579565b939250505056fea2646970667358221220becb35e2024d07837893787509daffd3d0ed4b584f2aa83151b706fe5cf96f2e64736f6c63430008150033",
173
+ "immutableReferences": {},
174
+ "generatedSources": [
175
+ {
176
+ "ast": {
177
+ "nativeSrc": "0:776:43",
178
+ "nodeType": "YulBlock",
179
+ "src": "0:776:43",
180
+ "statements": [
181
+ {
182
+ "body": {
183
+ "nativeSrc": "52:81:43",
184
+ "nodeType": "YulBlock",
185
+ "src": "52:81:43",
186
+ "statements": [
187
+ {
188
+ "nativeSrc": "62:65:43",
189
+ "nodeType": "YulAssignment",
190
+ "src": "62:65:43",
191
+ "value": {
192
+ "arguments": [
193
+ {
194
+ "name": "value",
195
+ "nativeSrc": "77:5:43",
196
+ "nodeType": "YulIdentifier",
197
+ "src": "77:5:43"
198
+ },
199
+ {
200
+ "kind": "number",
201
+ "nativeSrc": "84:42:43",
202
+ "nodeType": "YulLiteral",
203
+ "src": "84:42:43",
204
+ "type": "",
205
+ "value": "0xffffffffffffffffffffffffffffffffffffffff"
206
+ }
207
+ ],
208
+ "functionName": {
209
+ "name": "and",
210
+ "nativeSrc": "73:3:43",
211
+ "nodeType": "YulIdentifier",
212
+ "src": "73:3:43"
213
+ },
214
+ "nativeSrc": "73:54:43",
215
+ "nodeType": "YulFunctionCall",
216
+ "src": "73:54:43"
217
+ },
218
+ "variableNames": [
219
+ {
220
+ "name": "cleaned",
221
+ "nativeSrc": "62:7:43",
222
+ "nodeType": "YulIdentifier",
223
+ "src": "62:7:43"
224
+ }
225
+ ]
226
+ }
227
+ ]
228
+ },
229
+ "name": "cleanup_t_uint160",
230
+ "nativeSrc": "7:126:43",
231
+ "nodeType": "YulFunctionDefinition",
232
+ "parameters": [
233
+ {
234
+ "name": "value",
235
+ "nativeSrc": "34:5:43",
236
+ "nodeType": "YulTypedName",
237
+ "src": "34:5:43",
238
+ "type": ""
239
+ }
240
+ ],
241
+ "returnVariables": [
242
+ {
243
+ "name": "cleaned",
244
+ "nativeSrc": "44:7:43",
245
+ "nodeType": "YulTypedName",
246
+ "src": "44:7:43",
247
+ "type": ""
248
+ }
249
+ ],
250
+ "src": "7:126:43"
251
+ },
252
+ {
253
+ "body": {
254
+ "nativeSrc": "184:51:43",
255
+ "nodeType": "YulBlock",
256
+ "src": "184:51:43",
257
+ "statements": [
258
+ {
259
+ "nativeSrc": "194:35:43",
260
+ "nodeType": "YulAssignment",
261
+ "src": "194:35:43",
262
+ "value": {
263
+ "arguments": [
264
+ {
265
+ "name": "value",
266
+ "nativeSrc": "223:5:43",
267
+ "nodeType": "YulIdentifier",
268
+ "src": "223:5:43"
269
+ }
270
+ ],
271
+ "functionName": {
272
+ "name": "cleanup_t_uint160",
273
+ "nativeSrc": "205:17:43",
274
+ "nodeType": "YulIdentifier",
275
+ "src": "205:17:43"
276
+ },
277
+ "nativeSrc": "205:24:43",
278
+ "nodeType": "YulFunctionCall",
279
+ "src": "205:24:43"
280
+ },
281
+ "variableNames": [
282
+ {
283
+ "name": "cleaned",
284
+ "nativeSrc": "194:7:43",
285
+ "nodeType": "YulIdentifier",
286
+ "src": "194:7:43"
287
+ }
288
+ ]
289
+ }
290
+ ]
291
+ },
292
+ "name": "cleanup_t_address",
293
+ "nativeSrc": "139:96:43",
294
+ "nodeType": "YulFunctionDefinition",
295
+ "parameters": [
296
+ {
297
+ "name": "value",
298
+ "nativeSrc": "166:5:43",
299
+ "nodeType": "YulTypedName",
300
+ "src": "166:5:43",
301
+ "type": ""
302
+ }
303
+ ],
304
+ "returnVariables": [
305
+ {
306
+ "name": "cleaned",
307
+ "nativeSrc": "176:7:43",
308
+ "nodeType": "YulTypedName",
309
+ "src": "176:7:43",
310
+ "type": ""
311
+ }
312
+ ],
313
+ "src": "139:96:43"
314
+ },
315
+ {
316
+ "body": {
317
+ "nativeSrc": "306:53:43",
318
+ "nodeType": "YulBlock",
319
+ "src": "306:53:43",
320
+ "statements": [
321
+ {
322
+ "expression": {
323
+ "arguments": [
324
+ {
325
+ "name": "pos",
326
+ "nativeSrc": "323:3:43",
327
+ "nodeType": "YulIdentifier",
328
+ "src": "323:3:43"
329
+ },
330
+ {
331
+ "arguments": [
332
+ {
333
+ "name": "value",
334
+ "nativeSrc": "346:5:43",
335
+ "nodeType": "YulIdentifier",
336
+ "src": "346:5:43"
337
+ }
338
+ ],
339
+ "functionName": {
340
+ "name": "cleanup_t_address",
341
+ "nativeSrc": "328:17:43",
342
+ "nodeType": "YulIdentifier",
343
+ "src": "328:17:43"
344
+ },
345
+ "nativeSrc": "328:24:43",
346
+ "nodeType": "YulFunctionCall",
347
+ "src": "328:24:43"
348
+ }
349
+ ],
350
+ "functionName": {
351
+ "name": "mstore",
352
+ "nativeSrc": "316:6:43",
353
+ "nodeType": "YulIdentifier",
354
+ "src": "316:6:43"
355
+ },
356
+ "nativeSrc": "316:37:43",
357
+ "nodeType": "YulFunctionCall",
358
+ "src": "316:37:43"
359
+ },
360
+ "nativeSrc": "316:37:43",
361
+ "nodeType": "YulExpressionStatement",
362
+ "src": "316:37:43"
363
+ }
364
+ ]
365
+ },
366
+ "name": "abi_encode_t_address_to_t_address_fromStack",
367
+ "nativeSrc": "241:118:43",
368
+ "nodeType": "YulFunctionDefinition",
369
+ "parameters": [
370
+ {
371
+ "name": "value",
372
+ "nativeSrc": "294:5:43",
373
+ "nodeType": "YulTypedName",
374
+ "src": "294:5:43",
375
+ "type": ""
376
+ },
377
+ {
378
+ "name": "pos",
379
+ "nativeSrc": "301:3:43",
380
+ "nodeType": "YulTypedName",
381
+ "src": "301:3:43",
382
+ "type": ""
383
+ }
384
+ ],
385
+ "src": "241:118:43"
386
+ },
387
+ {
388
+ "body": {
389
+ "nativeSrc": "463:124:43",
390
+ "nodeType": "YulBlock",
391
+ "src": "463:124:43",
392
+ "statements": [
393
+ {
394
+ "nativeSrc": "473:26:43",
395
+ "nodeType": "YulAssignment",
396
+ "src": "473:26:43",
397
+ "value": {
398
+ "arguments": [
399
+ {
400
+ "name": "headStart",
401
+ "nativeSrc": "485:9:43",
402
+ "nodeType": "YulIdentifier",
403
+ "src": "485:9:43"
404
+ },
405
+ {
406
+ "kind": "number",
407
+ "nativeSrc": "496:2:43",
408
+ "nodeType": "YulLiteral",
409
+ "src": "496:2:43",
410
+ "type": "",
411
+ "value": "32"
412
+ }
413
+ ],
414
+ "functionName": {
415
+ "name": "add",
416
+ "nativeSrc": "481:3:43",
417
+ "nodeType": "YulIdentifier",
418
+ "src": "481:3:43"
419
+ },
420
+ "nativeSrc": "481:18:43",
421
+ "nodeType": "YulFunctionCall",
422
+ "src": "481:18:43"
423
+ },
424
+ "variableNames": [
425
+ {
426
+ "name": "tail",
427
+ "nativeSrc": "473:4:43",
428
+ "nodeType": "YulIdentifier",
429
+ "src": "473:4:43"
430
+ }
431
+ ]
432
+ },
433
+ {
434
+ "expression": {
435
+ "arguments": [
436
+ {
437
+ "name": "value0",
438
+ "nativeSrc": "553:6:43",
439
+ "nodeType": "YulIdentifier",
440
+ "src": "553:6:43"
441
+ },
442
+ {
443
+ "arguments": [
444
+ {
445
+ "name": "headStart",
446
+ "nativeSrc": "566:9:43",
447
+ "nodeType": "YulIdentifier",
448
+ "src": "566:9:43"
449
+ },
450
+ {
451
+ "kind": "number",
452
+ "nativeSrc": "577:1:43",
453
+ "nodeType": "YulLiteral",
454
+ "src": "577:1:43",
455
+ "type": "",
456
+ "value": "0"
457
+ }
458
+ ],
459
+ "functionName": {
460
+ "name": "add",
461
+ "nativeSrc": "562:3:43",
462
+ "nodeType": "YulIdentifier",
463
+ "src": "562:3:43"
464
+ },
465
+ "nativeSrc": "562:17:43",
466
+ "nodeType": "YulFunctionCall",
467
+ "src": "562:17:43"
468
+ }
469
+ ],
470
+ "functionName": {
471
+ "name": "abi_encode_t_address_to_t_address_fromStack",
472
+ "nativeSrc": "509:43:43",
473
+ "nodeType": "YulIdentifier",
474
+ "src": "509:43:43"
475
+ },
476
+ "nativeSrc": "509:71:43",
477
+ "nodeType": "YulFunctionCall",
478
+ "src": "509:71:43"
479
+ },
480
+ "nativeSrc": "509:71:43",
481
+ "nodeType": "YulExpressionStatement",
482
+ "src": "509:71:43"
483
+ }
484
+ ]
485
+ },
486
+ "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
487
+ "nativeSrc": "365:222:43",
488
+ "nodeType": "YulFunctionDefinition",
489
+ "parameters": [
490
+ {
491
+ "name": "headStart",
492
+ "nativeSrc": "435:9:43",
493
+ "nodeType": "YulTypedName",
494
+ "src": "435:9:43",
495
+ "type": ""
496
+ },
497
+ {
498
+ "name": "value0",
499
+ "nativeSrc": "447:6:43",
500
+ "nodeType": "YulTypedName",
501
+ "src": "447:6:43",
502
+ "type": ""
503
+ }
504
+ ],
505
+ "returnVariables": [
506
+ {
507
+ "name": "tail",
508
+ "nativeSrc": "458:4:43",
509
+ "nodeType": "YulTypedName",
510
+ "src": "458:4:43",
511
+ "type": ""
512
+ }
513
+ ],
514
+ "src": "365:222:43"
515
+ },
516
+ {
517
+ "body": {
518
+ "nativeSrc": "621:152:43",
519
+ "nodeType": "YulBlock",
520
+ "src": "621:152:43",
521
+ "statements": [
522
+ {
523
+ "expression": {
524
+ "arguments": [
525
+ {
526
+ "kind": "number",
527
+ "nativeSrc": "638:1:43",
528
+ "nodeType": "YulLiteral",
529
+ "src": "638:1:43",
530
+ "type": "",
531
+ "value": "0"
532
+ },
533
+ {
534
+ "kind": "number",
535
+ "nativeSrc": "641:77:43",
536
+ "nodeType": "YulLiteral",
537
+ "src": "641:77:43",
538
+ "type": "",
539
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
540
+ }
541
+ ],
542
+ "functionName": {
543
+ "name": "mstore",
544
+ "nativeSrc": "631:6:43",
545
+ "nodeType": "YulIdentifier",
546
+ "src": "631:6:43"
547
+ },
548
+ "nativeSrc": "631:88:43",
549
+ "nodeType": "YulFunctionCall",
550
+ "src": "631:88:43"
551
+ },
552
+ "nativeSrc": "631:88:43",
553
+ "nodeType": "YulExpressionStatement",
554
+ "src": "631:88:43"
555
+ },
556
+ {
557
+ "expression": {
558
+ "arguments": [
559
+ {
560
+ "kind": "number",
561
+ "nativeSrc": "735:1:43",
562
+ "nodeType": "YulLiteral",
563
+ "src": "735:1:43",
564
+ "type": "",
565
+ "value": "4"
566
+ },
567
+ {
568
+ "kind": "number",
569
+ "nativeSrc": "738:4:43",
570
+ "nodeType": "YulLiteral",
571
+ "src": "738:4:43",
572
+ "type": "",
573
+ "value": "0x21"
574
+ }
575
+ ],
576
+ "functionName": {
577
+ "name": "mstore",
578
+ "nativeSrc": "728:6:43",
579
+ "nodeType": "YulIdentifier",
580
+ "src": "728:6:43"
581
+ },
582
+ "nativeSrc": "728:15:43",
583
+ "nodeType": "YulFunctionCall",
584
+ "src": "728:15:43"
585
+ },
586
+ "nativeSrc": "728:15:43",
587
+ "nodeType": "YulExpressionStatement",
588
+ "src": "728:15:43"
589
+ },
590
+ {
591
+ "expression": {
592
+ "arguments": [
593
+ {
594
+ "kind": "number",
595
+ "nativeSrc": "759:1:43",
596
+ "nodeType": "YulLiteral",
597
+ "src": "759:1:43",
598
+ "type": "",
599
+ "value": "0"
600
+ },
601
+ {
602
+ "kind": "number",
603
+ "nativeSrc": "762:4:43",
604
+ "nodeType": "YulLiteral",
605
+ "src": "762:4:43",
606
+ "type": "",
607
+ "value": "0x24"
608
+ }
609
+ ],
610
+ "functionName": {
611
+ "name": "revert",
612
+ "nativeSrc": "752:6:43",
613
+ "nodeType": "YulIdentifier",
614
+ "src": "752:6:43"
615
+ },
616
+ "nativeSrc": "752:15:43",
617
+ "nodeType": "YulFunctionCall",
618
+ "src": "752:15:43"
619
+ },
620
+ "nativeSrc": "752:15:43",
621
+ "nodeType": "YulExpressionStatement",
622
+ "src": "752:15:43"
623
+ }
624
+ ]
625
+ },
626
+ "name": "panic_error_0x21",
627
+ "nativeSrc": "593:180:43",
628
+ "nodeType": "YulFunctionDefinition",
629
+ "src": "593:180:43"
630
+ }
631
+ ]
632
+ },
633
+ "contents": "{\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n}\n",
634
+ "id": 43,
635
+ "language": "Yul",
636
+ "name": "#utility.yul"
637
+ }
638
+ ],
639
+ "deployedGeneratedSources": [
640
+ {
641
+ "ast": {
642
+ "nativeSrc": "0:4580:43",
643
+ "nodeType": "YulBlock",
644
+ "src": "0:4580:43",
645
+ "statements": [
646
+ {
647
+ "body": {
648
+ "nativeSrc": "47:35:43",
649
+ "nodeType": "YulBlock",
650
+ "src": "47:35:43",
651
+ "statements": [
652
+ {
653
+ "nativeSrc": "57:19:43",
654
+ "nodeType": "YulAssignment",
655
+ "src": "57:19:43",
656
+ "value": {
657
+ "arguments": [
658
+ {
659
+ "kind": "number",
660
+ "nativeSrc": "73:2:43",
661
+ "nodeType": "YulLiteral",
662
+ "src": "73:2:43",
663
+ "type": "",
664
+ "value": "64"
665
+ }
666
+ ],
667
+ "functionName": {
668
+ "name": "mload",
669
+ "nativeSrc": "67:5:43",
670
+ "nodeType": "YulIdentifier",
671
+ "src": "67:5:43"
672
+ },
673
+ "nativeSrc": "67:9:43",
674
+ "nodeType": "YulFunctionCall",
675
+ "src": "67:9:43"
676
+ },
677
+ "variableNames": [
678
+ {
679
+ "name": "memPtr",
680
+ "nativeSrc": "57:6:43",
681
+ "nodeType": "YulIdentifier",
682
+ "src": "57:6:43"
683
+ }
684
+ ]
685
+ }
686
+ ]
687
+ },
688
+ "name": "allocate_unbounded",
689
+ "nativeSrc": "7:75:43",
690
+ "nodeType": "YulFunctionDefinition",
691
+ "returnVariables": [
692
+ {
693
+ "name": "memPtr",
694
+ "nativeSrc": "40:6:43",
695
+ "nodeType": "YulTypedName",
696
+ "src": "40:6:43",
697
+ "type": ""
698
+ }
699
+ ],
700
+ "src": "7:75:43"
701
+ },
702
+ {
703
+ "body": {
704
+ "nativeSrc": "177:28:43",
705
+ "nodeType": "YulBlock",
706
+ "src": "177:28:43",
707
+ "statements": [
708
+ {
709
+ "expression": {
710
+ "arguments": [
711
+ {
712
+ "kind": "number",
713
+ "nativeSrc": "194:1:43",
714
+ "nodeType": "YulLiteral",
715
+ "src": "194:1:43",
716
+ "type": "",
717
+ "value": "0"
718
+ },
719
+ {
720
+ "kind": "number",
721
+ "nativeSrc": "197:1:43",
722
+ "nodeType": "YulLiteral",
723
+ "src": "197:1:43",
724
+ "type": "",
725
+ "value": "0"
726
+ }
727
+ ],
728
+ "functionName": {
729
+ "name": "revert",
730
+ "nativeSrc": "187:6:43",
731
+ "nodeType": "YulIdentifier",
732
+ "src": "187:6:43"
733
+ },
734
+ "nativeSrc": "187:12:43",
735
+ "nodeType": "YulFunctionCall",
736
+ "src": "187:12:43"
737
+ },
738
+ "nativeSrc": "187:12:43",
739
+ "nodeType": "YulExpressionStatement",
740
+ "src": "187:12:43"
741
+ }
742
+ ]
743
+ },
744
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
745
+ "nativeSrc": "88:117:43",
746
+ "nodeType": "YulFunctionDefinition",
747
+ "src": "88:117:43"
748
+ },
749
+ {
750
+ "body": {
751
+ "nativeSrc": "300:28:43",
752
+ "nodeType": "YulBlock",
753
+ "src": "300:28:43",
754
+ "statements": [
755
+ {
756
+ "expression": {
757
+ "arguments": [
758
+ {
759
+ "kind": "number",
760
+ "nativeSrc": "317:1:43",
761
+ "nodeType": "YulLiteral",
762
+ "src": "317:1:43",
763
+ "type": "",
764
+ "value": "0"
765
+ },
766
+ {
767
+ "kind": "number",
768
+ "nativeSrc": "320:1:43",
769
+ "nodeType": "YulLiteral",
770
+ "src": "320:1:43",
771
+ "type": "",
772
+ "value": "0"
773
+ }
774
+ ],
775
+ "functionName": {
776
+ "name": "revert",
777
+ "nativeSrc": "310:6:43",
778
+ "nodeType": "YulIdentifier",
779
+ "src": "310:6:43"
780
+ },
781
+ "nativeSrc": "310:12:43",
782
+ "nodeType": "YulFunctionCall",
783
+ "src": "310:12:43"
784
+ },
785
+ "nativeSrc": "310:12:43",
786
+ "nodeType": "YulExpressionStatement",
787
+ "src": "310:12:43"
788
+ }
789
+ ]
790
+ },
791
+ "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
792
+ "nativeSrc": "211:117:43",
793
+ "nodeType": "YulFunctionDefinition",
794
+ "src": "211:117:43"
795
+ },
796
+ {
797
+ "body": {
798
+ "nativeSrc": "379:81:43",
799
+ "nodeType": "YulBlock",
800
+ "src": "379:81:43",
801
+ "statements": [
802
+ {
803
+ "nativeSrc": "389:65:43",
804
+ "nodeType": "YulAssignment",
805
+ "src": "389:65:43",
806
+ "value": {
807
+ "arguments": [
808
+ {
809
+ "name": "value",
810
+ "nativeSrc": "404:5:43",
811
+ "nodeType": "YulIdentifier",
812
+ "src": "404:5:43"
813
+ },
814
+ {
815
+ "kind": "number",
816
+ "nativeSrc": "411:42:43",
817
+ "nodeType": "YulLiteral",
818
+ "src": "411:42:43",
819
+ "type": "",
820
+ "value": "0xffffffffffffffffffffffffffffffffffffffff"
821
+ }
822
+ ],
823
+ "functionName": {
824
+ "name": "and",
825
+ "nativeSrc": "400:3:43",
826
+ "nodeType": "YulIdentifier",
827
+ "src": "400:3:43"
828
+ },
829
+ "nativeSrc": "400:54:43",
830
+ "nodeType": "YulFunctionCall",
831
+ "src": "400:54:43"
832
+ },
833
+ "variableNames": [
834
+ {
835
+ "name": "cleaned",
836
+ "nativeSrc": "389:7:43",
837
+ "nodeType": "YulIdentifier",
838
+ "src": "389:7:43"
839
+ }
840
+ ]
841
+ }
842
+ ]
843
+ },
844
+ "name": "cleanup_t_uint160",
845
+ "nativeSrc": "334:126:43",
846
+ "nodeType": "YulFunctionDefinition",
847
+ "parameters": [
848
+ {
849
+ "name": "value",
850
+ "nativeSrc": "361:5:43",
851
+ "nodeType": "YulTypedName",
852
+ "src": "361:5:43",
853
+ "type": ""
854
+ }
855
+ ],
856
+ "returnVariables": [
857
+ {
858
+ "name": "cleaned",
859
+ "nativeSrc": "371:7:43",
860
+ "nodeType": "YulTypedName",
861
+ "src": "371:7:43",
862
+ "type": ""
863
+ }
864
+ ],
865
+ "src": "334:126:43"
866
+ },
867
+ {
868
+ "body": {
869
+ "nativeSrc": "511:51:43",
870
+ "nodeType": "YulBlock",
871
+ "src": "511:51:43",
872
+ "statements": [
873
+ {
874
+ "nativeSrc": "521:35:43",
875
+ "nodeType": "YulAssignment",
876
+ "src": "521:35:43",
877
+ "value": {
878
+ "arguments": [
879
+ {
880
+ "name": "value",
881
+ "nativeSrc": "550:5:43",
882
+ "nodeType": "YulIdentifier",
883
+ "src": "550:5:43"
884
+ }
885
+ ],
886
+ "functionName": {
887
+ "name": "cleanup_t_uint160",
888
+ "nativeSrc": "532:17:43",
889
+ "nodeType": "YulIdentifier",
890
+ "src": "532:17:43"
891
+ },
892
+ "nativeSrc": "532:24:43",
893
+ "nodeType": "YulFunctionCall",
894
+ "src": "532:24:43"
895
+ },
896
+ "variableNames": [
897
+ {
898
+ "name": "cleaned",
899
+ "nativeSrc": "521:7:43",
900
+ "nodeType": "YulIdentifier",
901
+ "src": "521:7:43"
902
+ }
903
+ ]
904
+ }
905
+ ]
906
+ },
907
+ "name": "cleanup_t_address",
908
+ "nativeSrc": "466:96:43",
909
+ "nodeType": "YulFunctionDefinition",
910
+ "parameters": [
911
+ {
912
+ "name": "value",
913
+ "nativeSrc": "493:5:43",
914
+ "nodeType": "YulTypedName",
915
+ "src": "493:5:43",
916
+ "type": ""
917
+ }
918
+ ],
919
+ "returnVariables": [
920
+ {
921
+ "name": "cleaned",
922
+ "nativeSrc": "503:7:43",
923
+ "nodeType": "YulTypedName",
924
+ "src": "503:7:43",
925
+ "type": ""
926
+ }
927
+ ],
928
+ "src": "466:96:43"
929
+ },
930
+ {
931
+ "body": {
932
+ "nativeSrc": "611:79:43",
933
+ "nodeType": "YulBlock",
934
+ "src": "611:79:43",
935
+ "statements": [
936
+ {
937
+ "body": {
938
+ "nativeSrc": "668:16:43",
939
+ "nodeType": "YulBlock",
940
+ "src": "668:16:43",
941
+ "statements": [
942
+ {
943
+ "expression": {
944
+ "arguments": [
945
+ {
946
+ "kind": "number",
947
+ "nativeSrc": "677:1:43",
948
+ "nodeType": "YulLiteral",
949
+ "src": "677:1:43",
950
+ "type": "",
951
+ "value": "0"
952
+ },
953
+ {
954
+ "kind": "number",
955
+ "nativeSrc": "680:1:43",
956
+ "nodeType": "YulLiteral",
957
+ "src": "680:1:43",
958
+ "type": "",
959
+ "value": "0"
960
+ }
961
+ ],
962
+ "functionName": {
963
+ "name": "revert",
964
+ "nativeSrc": "670:6:43",
965
+ "nodeType": "YulIdentifier",
966
+ "src": "670:6:43"
967
+ },
968
+ "nativeSrc": "670:12:43",
969
+ "nodeType": "YulFunctionCall",
970
+ "src": "670:12:43"
971
+ },
972
+ "nativeSrc": "670:12:43",
973
+ "nodeType": "YulExpressionStatement",
974
+ "src": "670:12:43"
975
+ }
976
+ ]
977
+ },
978
+ "condition": {
979
+ "arguments": [
980
+ {
981
+ "arguments": [
982
+ {
983
+ "name": "value",
984
+ "nativeSrc": "634:5:43",
985
+ "nodeType": "YulIdentifier",
986
+ "src": "634:5:43"
987
+ },
988
+ {
989
+ "arguments": [
990
+ {
991
+ "name": "value",
992
+ "nativeSrc": "659:5:43",
993
+ "nodeType": "YulIdentifier",
994
+ "src": "659:5:43"
995
+ }
996
+ ],
997
+ "functionName": {
998
+ "name": "cleanup_t_address",
999
+ "nativeSrc": "641:17:43",
1000
+ "nodeType": "YulIdentifier",
1001
+ "src": "641:17:43"
1002
+ },
1003
+ "nativeSrc": "641:24:43",
1004
+ "nodeType": "YulFunctionCall",
1005
+ "src": "641:24:43"
1006
+ }
1007
+ ],
1008
+ "functionName": {
1009
+ "name": "eq",
1010
+ "nativeSrc": "631:2:43",
1011
+ "nodeType": "YulIdentifier",
1012
+ "src": "631:2:43"
1013
+ },
1014
+ "nativeSrc": "631:35:43",
1015
+ "nodeType": "YulFunctionCall",
1016
+ "src": "631:35:43"
1017
+ }
1018
+ ],
1019
+ "functionName": {
1020
+ "name": "iszero",
1021
+ "nativeSrc": "624:6:43",
1022
+ "nodeType": "YulIdentifier",
1023
+ "src": "624:6:43"
1024
+ },
1025
+ "nativeSrc": "624:43:43",
1026
+ "nodeType": "YulFunctionCall",
1027
+ "src": "624:43:43"
1028
+ },
1029
+ "nativeSrc": "621:63:43",
1030
+ "nodeType": "YulIf",
1031
+ "src": "621:63:43"
1032
+ }
1033
+ ]
1034
+ },
1035
+ "name": "validator_revert_t_address",
1036
+ "nativeSrc": "568:122:43",
1037
+ "nodeType": "YulFunctionDefinition",
1038
+ "parameters": [
1039
+ {
1040
+ "name": "value",
1041
+ "nativeSrc": "604:5:43",
1042
+ "nodeType": "YulTypedName",
1043
+ "src": "604:5:43",
1044
+ "type": ""
1045
+ }
1046
+ ],
1047
+ "src": "568:122:43"
1048
+ },
1049
+ {
1050
+ "body": {
1051
+ "nativeSrc": "748:87:43",
1052
+ "nodeType": "YulBlock",
1053
+ "src": "748:87:43",
1054
+ "statements": [
1055
+ {
1056
+ "nativeSrc": "758:29:43",
1057
+ "nodeType": "YulAssignment",
1058
+ "src": "758:29:43",
1059
+ "value": {
1060
+ "arguments": [
1061
+ {
1062
+ "name": "offset",
1063
+ "nativeSrc": "780:6:43",
1064
+ "nodeType": "YulIdentifier",
1065
+ "src": "780:6:43"
1066
+ }
1067
+ ],
1068
+ "functionName": {
1069
+ "name": "calldataload",
1070
+ "nativeSrc": "767:12:43",
1071
+ "nodeType": "YulIdentifier",
1072
+ "src": "767:12:43"
1073
+ },
1074
+ "nativeSrc": "767:20:43",
1075
+ "nodeType": "YulFunctionCall",
1076
+ "src": "767:20:43"
1077
+ },
1078
+ "variableNames": [
1079
+ {
1080
+ "name": "value",
1081
+ "nativeSrc": "758:5:43",
1082
+ "nodeType": "YulIdentifier",
1083
+ "src": "758:5:43"
1084
+ }
1085
+ ]
1086
+ },
1087
+ {
1088
+ "expression": {
1089
+ "arguments": [
1090
+ {
1091
+ "name": "value",
1092
+ "nativeSrc": "823:5:43",
1093
+ "nodeType": "YulIdentifier",
1094
+ "src": "823:5:43"
1095
+ }
1096
+ ],
1097
+ "functionName": {
1098
+ "name": "validator_revert_t_address",
1099
+ "nativeSrc": "796:26:43",
1100
+ "nodeType": "YulIdentifier",
1101
+ "src": "796:26:43"
1102
+ },
1103
+ "nativeSrc": "796:33:43",
1104
+ "nodeType": "YulFunctionCall",
1105
+ "src": "796:33:43"
1106
+ },
1107
+ "nativeSrc": "796:33:43",
1108
+ "nodeType": "YulExpressionStatement",
1109
+ "src": "796:33:43"
1110
+ }
1111
+ ]
1112
+ },
1113
+ "name": "abi_decode_t_address",
1114
+ "nativeSrc": "696:139:43",
1115
+ "nodeType": "YulFunctionDefinition",
1116
+ "parameters": [
1117
+ {
1118
+ "name": "offset",
1119
+ "nativeSrc": "726:6:43",
1120
+ "nodeType": "YulTypedName",
1121
+ "src": "726:6:43",
1122
+ "type": ""
1123
+ },
1124
+ {
1125
+ "name": "end",
1126
+ "nativeSrc": "734:3:43",
1127
+ "nodeType": "YulTypedName",
1128
+ "src": "734:3:43",
1129
+ "type": ""
1130
+ }
1131
+ ],
1132
+ "returnVariables": [
1133
+ {
1134
+ "name": "value",
1135
+ "nativeSrc": "742:5:43",
1136
+ "nodeType": "YulTypedName",
1137
+ "src": "742:5:43",
1138
+ "type": ""
1139
+ }
1140
+ ],
1141
+ "src": "696:139:43"
1142
+ },
1143
+ {
1144
+ "body": {
1145
+ "nativeSrc": "907:263:43",
1146
+ "nodeType": "YulBlock",
1147
+ "src": "907:263:43",
1148
+ "statements": [
1149
+ {
1150
+ "body": {
1151
+ "nativeSrc": "953:83:43",
1152
+ "nodeType": "YulBlock",
1153
+ "src": "953:83:43",
1154
+ "statements": [
1155
+ {
1156
+ "expression": {
1157
+ "arguments": [],
1158
+ "functionName": {
1159
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
1160
+ "nativeSrc": "955:77:43",
1161
+ "nodeType": "YulIdentifier",
1162
+ "src": "955:77:43"
1163
+ },
1164
+ "nativeSrc": "955:79:43",
1165
+ "nodeType": "YulFunctionCall",
1166
+ "src": "955:79:43"
1167
+ },
1168
+ "nativeSrc": "955:79:43",
1169
+ "nodeType": "YulExpressionStatement",
1170
+ "src": "955:79:43"
1171
+ }
1172
+ ]
1173
+ },
1174
+ "condition": {
1175
+ "arguments": [
1176
+ {
1177
+ "arguments": [
1178
+ {
1179
+ "name": "dataEnd",
1180
+ "nativeSrc": "928:7:43",
1181
+ "nodeType": "YulIdentifier",
1182
+ "src": "928:7:43"
1183
+ },
1184
+ {
1185
+ "name": "headStart",
1186
+ "nativeSrc": "937:9:43",
1187
+ "nodeType": "YulIdentifier",
1188
+ "src": "937:9:43"
1189
+ }
1190
+ ],
1191
+ "functionName": {
1192
+ "name": "sub",
1193
+ "nativeSrc": "924:3:43",
1194
+ "nodeType": "YulIdentifier",
1195
+ "src": "924:3:43"
1196
+ },
1197
+ "nativeSrc": "924:23:43",
1198
+ "nodeType": "YulFunctionCall",
1199
+ "src": "924:23:43"
1200
+ },
1201
+ {
1202
+ "kind": "number",
1203
+ "nativeSrc": "949:2:43",
1204
+ "nodeType": "YulLiteral",
1205
+ "src": "949:2:43",
1206
+ "type": "",
1207
+ "value": "32"
1208
+ }
1209
+ ],
1210
+ "functionName": {
1211
+ "name": "slt",
1212
+ "nativeSrc": "920:3:43",
1213
+ "nodeType": "YulIdentifier",
1214
+ "src": "920:3:43"
1215
+ },
1216
+ "nativeSrc": "920:32:43",
1217
+ "nodeType": "YulFunctionCall",
1218
+ "src": "920:32:43"
1219
+ },
1220
+ "nativeSrc": "917:119:43",
1221
+ "nodeType": "YulIf",
1222
+ "src": "917:119:43"
1223
+ },
1224
+ {
1225
+ "nativeSrc": "1046:117:43",
1226
+ "nodeType": "YulBlock",
1227
+ "src": "1046:117:43",
1228
+ "statements": [
1229
+ {
1230
+ "nativeSrc": "1061:15:43",
1231
+ "nodeType": "YulVariableDeclaration",
1232
+ "src": "1061:15:43",
1233
+ "value": {
1234
+ "kind": "number",
1235
+ "nativeSrc": "1075:1:43",
1236
+ "nodeType": "YulLiteral",
1237
+ "src": "1075:1:43",
1238
+ "type": "",
1239
+ "value": "0"
1240
+ },
1241
+ "variables": [
1242
+ {
1243
+ "name": "offset",
1244
+ "nativeSrc": "1065:6:43",
1245
+ "nodeType": "YulTypedName",
1246
+ "src": "1065:6:43",
1247
+ "type": ""
1248
+ }
1249
+ ]
1250
+ },
1251
+ {
1252
+ "nativeSrc": "1090:63:43",
1253
+ "nodeType": "YulAssignment",
1254
+ "src": "1090:63:43",
1255
+ "value": {
1256
+ "arguments": [
1257
+ {
1258
+ "arguments": [
1259
+ {
1260
+ "name": "headStart",
1261
+ "nativeSrc": "1125:9:43",
1262
+ "nodeType": "YulIdentifier",
1263
+ "src": "1125:9:43"
1264
+ },
1265
+ {
1266
+ "name": "offset",
1267
+ "nativeSrc": "1136:6:43",
1268
+ "nodeType": "YulIdentifier",
1269
+ "src": "1136:6:43"
1270
+ }
1271
+ ],
1272
+ "functionName": {
1273
+ "name": "add",
1274
+ "nativeSrc": "1121:3:43",
1275
+ "nodeType": "YulIdentifier",
1276
+ "src": "1121:3:43"
1277
+ },
1278
+ "nativeSrc": "1121:22:43",
1279
+ "nodeType": "YulFunctionCall",
1280
+ "src": "1121:22:43"
1281
+ },
1282
+ {
1283
+ "name": "dataEnd",
1284
+ "nativeSrc": "1145:7:43",
1285
+ "nodeType": "YulIdentifier",
1286
+ "src": "1145:7:43"
1287
+ }
1288
+ ],
1289
+ "functionName": {
1290
+ "name": "abi_decode_t_address",
1291
+ "nativeSrc": "1100:20:43",
1292
+ "nodeType": "YulIdentifier",
1293
+ "src": "1100:20:43"
1294
+ },
1295
+ "nativeSrc": "1100:53:43",
1296
+ "nodeType": "YulFunctionCall",
1297
+ "src": "1100:53:43"
1298
+ },
1299
+ "variableNames": [
1300
+ {
1301
+ "name": "value0",
1302
+ "nativeSrc": "1090:6:43",
1303
+ "nodeType": "YulIdentifier",
1304
+ "src": "1090:6:43"
1305
+ }
1306
+ ]
1307
+ }
1308
+ ]
1309
+ }
1310
+ ]
1311
+ },
1312
+ "name": "abi_decode_tuple_t_address",
1313
+ "nativeSrc": "841:329:43",
1314
+ "nodeType": "YulFunctionDefinition",
1315
+ "parameters": [
1316
+ {
1317
+ "name": "headStart",
1318
+ "nativeSrc": "877:9:43",
1319
+ "nodeType": "YulTypedName",
1320
+ "src": "877:9:43",
1321
+ "type": ""
1322
+ },
1323
+ {
1324
+ "name": "dataEnd",
1325
+ "nativeSrc": "888:7:43",
1326
+ "nodeType": "YulTypedName",
1327
+ "src": "888:7:43",
1328
+ "type": ""
1329
+ }
1330
+ ],
1331
+ "returnVariables": [
1332
+ {
1333
+ "name": "value0",
1334
+ "nativeSrc": "900:6:43",
1335
+ "nodeType": "YulTypedName",
1336
+ "src": "900:6:43",
1337
+ "type": ""
1338
+ }
1339
+ ],
1340
+ "src": "841:329:43"
1341
+ },
1342
+ {
1343
+ "body": {
1344
+ "nativeSrc": "1204:152:43",
1345
+ "nodeType": "YulBlock",
1346
+ "src": "1204:152:43",
1347
+ "statements": [
1348
+ {
1349
+ "expression": {
1350
+ "arguments": [
1351
+ {
1352
+ "kind": "number",
1353
+ "nativeSrc": "1221:1:43",
1354
+ "nodeType": "YulLiteral",
1355
+ "src": "1221:1:43",
1356
+ "type": "",
1357
+ "value": "0"
1358
+ },
1359
+ {
1360
+ "kind": "number",
1361
+ "nativeSrc": "1224:77:43",
1362
+ "nodeType": "YulLiteral",
1363
+ "src": "1224:77:43",
1364
+ "type": "",
1365
+ "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
1366
+ }
1367
+ ],
1368
+ "functionName": {
1369
+ "name": "mstore",
1370
+ "nativeSrc": "1214:6:43",
1371
+ "nodeType": "YulIdentifier",
1372
+ "src": "1214:6:43"
1373
+ },
1374
+ "nativeSrc": "1214:88:43",
1375
+ "nodeType": "YulFunctionCall",
1376
+ "src": "1214:88:43"
1377
+ },
1378
+ "nativeSrc": "1214:88:43",
1379
+ "nodeType": "YulExpressionStatement",
1380
+ "src": "1214:88:43"
1381
+ },
1382
+ {
1383
+ "expression": {
1384
+ "arguments": [
1385
+ {
1386
+ "kind": "number",
1387
+ "nativeSrc": "1318:1:43",
1388
+ "nodeType": "YulLiteral",
1389
+ "src": "1318:1:43",
1390
+ "type": "",
1391
+ "value": "4"
1392
+ },
1393
+ {
1394
+ "kind": "number",
1395
+ "nativeSrc": "1321:4:43",
1396
+ "nodeType": "YulLiteral",
1397
+ "src": "1321:4:43",
1398
+ "type": "",
1399
+ "value": "0x21"
1400
+ }
1401
+ ],
1402
+ "functionName": {
1403
+ "name": "mstore",
1404
+ "nativeSrc": "1311:6:43",
1405
+ "nodeType": "YulIdentifier",
1406
+ "src": "1311:6:43"
1407
+ },
1408
+ "nativeSrc": "1311:15:43",
1409
+ "nodeType": "YulFunctionCall",
1410
+ "src": "1311:15:43"
1411
+ },
1412
+ "nativeSrc": "1311:15:43",
1413
+ "nodeType": "YulExpressionStatement",
1414
+ "src": "1311:15:43"
1415
+ },
1416
+ {
1417
+ "expression": {
1418
+ "arguments": [
1419
+ {
1420
+ "kind": "number",
1421
+ "nativeSrc": "1342:1:43",
1422
+ "nodeType": "YulLiteral",
1423
+ "src": "1342:1:43",
1424
+ "type": "",
1425
+ "value": "0"
1426
+ },
1427
+ {
1428
+ "kind": "number",
1429
+ "nativeSrc": "1345:4:43",
1430
+ "nodeType": "YulLiteral",
1431
+ "src": "1345:4:43",
1432
+ "type": "",
1433
+ "value": "0x24"
1434
+ }
1435
+ ],
1436
+ "functionName": {
1437
+ "name": "revert",
1438
+ "nativeSrc": "1335:6:43",
1439
+ "nodeType": "YulIdentifier",
1440
+ "src": "1335:6:43"
1441
+ },
1442
+ "nativeSrc": "1335:15:43",
1443
+ "nodeType": "YulFunctionCall",
1444
+ "src": "1335:15:43"
1445
+ },
1446
+ "nativeSrc": "1335:15:43",
1447
+ "nodeType": "YulExpressionStatement",
1448
+ "src": "1335:15:43"
1449
+ }
1450
+ ]
1451
+ },
1452
+ "name": "panic_error_0x21",
1453
+ "nativeSrc": "1176:180:43",
1454
+ "nodeType": "YulFunctionDefinition",
1455
+ "src": "1176:180:43"
1456
+ },
1457
+ {
1458
+ "body": {
1459
+ "nativeSrc": "1423:62:43",
1460
+ "nodeType": "YulBlock",
1461
+ "src": "1423:62:43",
1462
+ "statements": [
1463
+ {
1464
+ "body": {
1465
+ "nativeSrc": "1457:22:43",
1466
+ "nodeType": "YulBlock",
1467
+ "src": "1457:22:43",
1468
+ "statements": [
1469
+ {
1470
+ "expression": {
1471
+ "arguments": [],
1472
+ "functionName": {
1473
+ "name": "panic_error_0x21",
1474
+ "nativeSrc": "1459:16:43",
1475
+ "nodeType": "YulIdentifier",
1476
+ "src": "1459:16:43"
1477
+ },
1478
+ "nativeSrc": "1459:18:43",
1479
+ "nodeType": "YulFunctionCall",
1480
+ "src": "1459:18:43"
1481
+ },
1482
+ "nativeSrc": "1459:18:43",
1483
+ "nodeType": "YulExpressionStatement",
1484
+ "src": "1459:18:43"
1485
+ }
1486
+ ]
1487
+ },
1488
+ "condition": {
1489
+ "arguments": [
1490
+ {
1491
+ "arguments": [
1492
+ {
1493
+ "name": "value",
1494
+ "nativeSrc": "1446:5:43",
1495
+ "nodeType": "YulIdentifier",
1496
+ "src": "1446:5:43"
1497
+ },
1498
+ {
1499
+ "kind": "number",
1500
+ "nativeSrc": "1453:1:43",
1501
+ "nodeType": "YulLiteral",
1502
+ "src": "1453:1:43",
1503
+ "type": "",
1504
+ "value": "4"
1505
+ }
1506
+ ],
1507
+ "functionName": {
1508
+ "name": "lt",
1509
+ "nativeSrc": "1443:2:43",
1510
+ "nodeType": "YulIdentifier",
1511
+ "src": "1443:2:43"
1512
+ },
1513
+ "nativeSrc": "1443:12:43",
1514
+ "nodeType": "YulFunctionCall",
1515
+ "src": "1443:12:43"
1516
+ }
1517
+ ],
1518
+ "functionName": {
1519
+ "name": "iszero",
1520
+ "nativeSrc": "1436:6:43",
1521
+ "nodeType": "YulIdentifier",
1522
+ "src": "1436:6:43"
1523
+ },
1524
+ "nativeSrc": "1436:20:43",
1525
+ "nodeType": "YulFunctionCall",
1526
+ "src": "1436:20:43"
1527
+ },
1528
+ "nativeSrc": "1433:46:43",
1529
+ "nodeType": "YulIf",
1530
+ "src": "1433:46:43"
1531
+ }
1532
+ ]
1533
+ },
1534
+ "name": "validator_assert_t_enum$_AuthorityTier_$8445",
1535
+ "nativeSrc": "1362:123:43",
1536
+ "nodeType": "YulFunctionDefinition",
1537
+ "parameters": [
1538
+ {
1539
+ "name": "value",
1540
+ "nativeSrc": "1416:5:43",
1541
+ "nodeType": "YulTypedName",
1542
+ "src": "1416:5:43",
1543
+ "type": ""
1544
+ }
1545
+ ],
1546
+ "src": "1362:123:43"
1547
+ },
1548
+ {
1549
+ "body": {
1550
+ "nativeSrc": "1554:84:43",
1551
+ "nodeType": "YulBlock",
1552
+ "src": "1554:84:43",
1553
+ "statements": [
1554
+ {
1555
+ "nativeSrc": "1564:16:43",
1556
+ "nodeType": "YulAssignment",
1557
+ "src": "1564:16:43",
1558
+ "value": {
1559
+ "name": "value",
1560
+ "nativeSrc": "1575:5:43",
1561
+ "nodeType": "YulIdentifier",
1562
+ "src": "1575:5:43"
1563
+ },
1564
+ "variableNames": [
1565
+ {
1566
+ "name": "cleaned",
1567
+ "nativeSrc": "1564:7:43",
1568
+ "nodeType": "YulIdentifier",
1569
+ "src": "1564:7:43"
1570
+ }
1571
+ ]
1572
+ },
1573
+ {
1574
+ "expression": {
1575
+ "arguments": [
1576
+ {
1577
+ "name": "value",
1578
+ "nativeSrc": "1626:5:43",
1579
+ "nodeType": "YulIdentifier",
1580
+ "src": "1626:5:43"
1581
+ }
1582
+ ],
1583
+ "functionName": {
1584
+ "name": "validator_assert_t_enum$_AuthorityTier_$8445",
1585
+ "nativeSrc": "1581:44:43",
1586
+ "nodeType": "YulIdentifier",
1587
+ "src": "1581:44:43"
1588
+ },
1589
+ "nativeSrc": "1581:51:43",
1590
+ "nodeType": "YulFunctionCall",
1591
+ "src": "1581:51:43"
1592
+ },
1593
+ "nativeSrc": "1581:51:43",
1594
+ "nodeType": "YulExpressionStatement",
1595
+ "src": "1581:51:43"
1596
+ }
1597
+ ]
1598
+ },
1599
+ "name": "cleanup_t_enum$_AuthorityTier_$8445",
1600
+ "nativeSrc": "1491:147:43",
1601
+ "nodeType": "YulFunctionDefinition",
1602
+ "parameters": [
1603
+ {
1604
+ "name": "value",
1605
+ "nativeSrc": "1536:5:43",
1606
+ "nodeType": "YulTypedName",
1607
+ "src": "1536:5:43",
1608
+ "type": ""
1609
+ }
1610
+ ],
1611
+ "returnVariables": [
1612
+ {
1613
+ "name": "cleaned",
1614
+ "nativeSrc": "1546:7:43",
1615
+ "nodeType": "YulTypedName",
1616
+ "src": "1546:7:43",
1617
+ "type": ""
1618
+ }
1619
+ ],
1620
+ "src": "1491:147:43"
1621
+ },
1622
+ {
1623
+ "body": {
1624
+ "nativeSrc": "1720:71:43",
1625
+ "nodeType": "YulBlock",
1626
+ "src": "1720:71:43",
1627
+ "statements": [
1628
+ {
1629
+ "nativeSrc": "1730:55:43",
1630
+ "nodeType": "YulAssignment",
1631
+ "src": "1730:55:43",
1632
+ "value": {
1633
+ "arguments": [
1634
+ {
1635
+ "name": "value",
1636
+ "nativeSrc": "1779:5:43",
1637
+ "nodeType": "YulIdentifier",
1638
+ "src": "1779:5:43"
1639
+ }
1640
+ ],
1641
+ "functionName": {
1642
+ "name": "cleanup_t_enum$_AuthorityTier_$8445",
1643
+ "nativeSrc": "1743:35:43",
1644
+ "nodeType": "YulIdentifier",
1645
+ "src": "1743:35:43"
1646
+ },
1647
+ "nativeSrc": "1743:42:43",
1648
+ "nodeType": "YulFunctionCall",
1649
+ "src": "1743:42:43"
1650
+ },
1651
+ "variableNames": [
1652
+ {
1653
+ "name": "converted",
1654
+ "nativeSrc": "1730:9:43",
1655
+ "nodeType": "YulIdentifier",
1656
+ "src": "1730:9:43"
1657
+ }
1658
+ ]
1659
+ }
1660
+ ]
1661
+ },
1662
+ "name": "convert_t_enum$_AuthorityTier_$8445_to_t_uint8",
1663
+ "nativeSrc": "1644:147:43",
1664
+ "nodeType": "YulFunctionDefinition",
1665
+ "parameters": [
1666
+ {
1667
+ "name": "value",
1668
+ "nativeSrc": "1700:5:43",
1669
+ "nodeType": "YulTypedName",
1670
+ "src": "1700:5:43",
1671
+ "type": ""
1672
+ }
1673
+ ],
1674
+ "returnVariables": [
1675
+ {
1676
+ "name": "converted",
1677
+ "nativeSrc": "1710:9:43",
1678
+ "nodeType": "YulTypedName",
1679
+ "src": "1710:9:43",
1680
+ "type": ""
1681
+ }
1682
+ ],
1683
+ "src": "1644:147:43"
1684
+ },
1685
+ {
1686
+ "body": {
1687
+ "nativeSrc": "1878:82:43",
1688
+ "nodeType": "YulBlock",
1689
+ "src": "1878:82:43",
1690
+ "statements": [
1691
+ {
1692
+ "expression": {
1693
+ "arguments": [
1694
+ {
1695
+ "name": "pos",
1696
+ "nativeSrc": "1895:3:43",
1697
+ "nodeType": "YulIdentifier",
1698
+ "src": "1895:3:43"
1699
+ },
1700
+ {
1701
+ "arguments": [
1702
+ {
1703
+ "name": "value",
1704
+ "nativeSrc": "1947:5:43",
1705
+ "nodeType": "YulIdentifier",
1706
+ "src": "1947:5:43"
1707
+ }
1708
+ ],
1709
+ "functionName": {
1710
+ "name": "convert_t_enum$_AuthorityTier_$8445_to_t_uint8",
1711
+ "nativeSrc": "1900:46:43",
1712
+ "nodeType": "YulIdentifier",
1713
+ "src": "1900:46:43"
1714
+ },
1715
+ "nativeSrc": "1900:53:43",
1716
+ "nodeType": "YulFunctionCall",
1717
+ "src": "1900:53:43"
1718
+ }
1719
+ ],
1720
+ "functionName": {
1721
+ "name": "mstore",
1722
+ "nativeSrc": "1888:6:43",
1723
+ "nodeType": "YulIdentifier",
1724
+ "src": "1888:6:43"
1725
+ },
1726
+ "nativeSrc": "1888:66:43",
1727
+ "nodeType": "YulFunctionCall",
1728
+ "src": "1888:66:43"
1729
+ },
1730
+ "nativeSrc": "1888:66:43",
1731
+ "nodeType": "YulExpressionStatement",
1732
+ "src": "1888:66:43"
1733
+ }
1734
+ ]
1735
+ },
1736
+ "name": "abi_encode_t_enum$_AuthorityTier_$8445_to_t_uint8_fromStack",
1737
+ "nativeSrc": "1797:163:43",
1738
+ "nodeType": "YulFunctionDefinition",
1739
+ "parameters": [
1740
+ {
1741
+ "name": "value",
1742
+ "nativeSrc": "1866:5:43",
1743
+ "nodeType": "YulTypedName",
1744
+ "src": "1866:5:43",
1745
+ "type": ""
1746
+ },
1747
+ {
1748
+ "name": "pos",
1749
+ "nativeSrc": "1873:3:43",
1750
+ "nodeType": "YulTypedName",
1751
+ "src": "1873:3:43",
1752
+ "type": ""
1753
+ }
1754
+ ],
1755
+ "src": "1797:163:43"
1756
+ },
1757
+ {
1758
+ "body": {
1759
+ "nativeSrc": "2080:140:43",
1760
+ "nodeType": "YulBlock",
1761
+ "src": "2080:140:43",
1762
+ "statements": [
1763
+ {
1764
+ "nativeSrc": "2090:26:43",
1765
+ "nodeType": "YulAssignment",
1766
+ "src": "2090:26:43",
1767
+ "value": {
1768
+ "arguments": [
1769
+ {
1770
+ "name": "headStart",
1771
+ "nativeSrc": "2102:9:43",
1772
+ "nodeType": "YulIdentifier",
1773
+ "src": "2102:9:43"
1774
+ },
1775
+ {
1776
+ "kind": "number",
1777
+ "nativeSrc": "2113:2:43",
1778
+ "nodeType": "YulLiteral",
1779
+ "src": "2113:2:43",
1780
+ "type": "",
1781
+ "value": "32"
1782
+ }
1783
+ ],
1784
+ "functionName": {
1785
+ "name": "add",
1786
+ "nativeSrc": "2098:3:43",
1787
+ "nodeType": "YulIdentifier",
1788
+ "src": "2098:3:43"
1789
+ },
1790
+ "nativeSrc": "2098:18:43",
1791
+ "nodeType": "YulFunctionCall",
1792
+ "src": "2098:18:43"
1793
+ },
1794
+ "variableNames": [
1795
+ {
1796
+ "name": "tail",
1797
+ "nativeSrc": "2090:4:43",
1798
+ "nodeType": "YulIdentifier",
1799
+ "src": "2090:4:43"
1800
+ }
1801
+ ]
1802
+ },
1803
+ {
1804
+ "expression": {
1805
+ "arguments": [
1806
+ {
1807
+ "name": "value0",
1808
+ "nativeSrc": "2186:6:43",
1809
+ "nodeType": "YulIdentifier",
1810
+ "src": "2186:6:43"
1811
+ },
1812
+ {
1813
+ "arguments": [
1814
+ {
1815
+ "name": "headStart",
1816
+ "nativeSrc": "2199:9:43",
1817
+ "nodeType": "YulIdentifier",
1818
+ "src": "2199:9:43"
1819
+ },
1820
+ {
1821
+ "kind": "number",
1822
+ "nativeSrc": "2210:1:43",
1823
+ "nodeType": "YulLiteral",
1824
+ "src": "2210:1:43",
1825
+ "type": "",
1826
+ "value": "0"
1827
+ }
1828
+ ],
1829
+ "functionName": {
1830
+ "name": "add",
1831
+ "nativeSrc": "2195:3:43",
1832
+ "nodeType": "YulIdentifier",
1833
+ "src": "2195:3:43"
1834
+ },
1835
+ "nativeSrc": "2195:17:43",
1836
+ "nodeType": "YulFunctionCall",
1837
+ "src": "2195:17:43"
1838
+ }
1839
+ ],
1840
+ "functionName": {
1841
+ "name": "abi_encode_t_enum$_AuthorityTier_$8445_to_t_uint8_fromStack",
1842
+ "nativeSrc": "2126:59:43",
1843
+ "nodeType": "YulIdentifier",
1844
+ "src": "2126:59:43"
1845
+ },
1846
+ "nativeSrc": "2126:87:43",
1847
+ "nodeType": "YulFunctionCall",
1848
+ "src": "2126:87:43"
1849
+ },
1850
+ "nativeSrc": "2126:87:43",
1851
+ "nodeType": "YulExpressionStatement",
1852
+ "src": "2126:87:43"
1853
+ }
1854
+ ]
1855
+ },
1856
+ "name": "abi_encode_tuple_t_enum$_AuthorityTier_$8445__to_t_uint8__fromStack_reversed",
1857
+ "nativeSrc": "1966:254:43",
1858
+ "nodeType": "YulFunctionDefinition",
1859
+ "parameters": [
1860
+ {
1861
+ "name": "headStart",
1862
+ "nativeSrc": "2052:9:43",
1863
+ "nodeType": "YulTypedName",
1864
+ "src": "2052:9:43",
1865
+ "type": ""
1866
+ },
1867
+ {
1868
+ "name": "value0",
1869
+ "nativeSrc": "2064:6:43",
1870
+ "nodeType": "YulTypedName",
1871
+ "src": "2064:6:43",
1872
+ "type": ""
1873
+ }
1874
+ ],
1875
+ "returnVariables": [
1876
+ {
1877
+ "name": "tail",
1878
+ "nativeSrc": "2075:4:43",
1879
+ "nodeType": "YulTypedName",
1880
+ "src": "2075:4:43",
1881
+ "type": ""
1882
+ }
1883
+ ],
1884
+ "src": "1966:254:43"
1885
+ },
1886
+ {
1887
+ "body": {
1888
+ "nativeSrc": "2268:48:43",
1889
+ "nodeType": "YulBlock",
1890
+ "src": "2268:48:43",
1891
+ "statements": [
1892
+ {
1893
+ "nativeSrc": "2278:32:43",
1894
+ "nodeType": "YulAssignment",
1895
+ "src": "2278:32:43",
1896
+ "value": {
1897
+ "arguments": [
1898
+ {
1899
+ "arguments": [
1900
+ {
1901
+ "name": "value",
1902
+ "nativeSrc": "2303:5:43",
1903
+ "nodeType": "YulIdentifier",
1904
+ "src": "2303:5:43"
1905
+ }
1906
+ ],
1907
+ "functionName": {
1908
+ "name": "iszero",
1909
+ "nativeSrc": "2296:6:43",
1910
+ "nodeType": "YulIdentifier",
1911
+ "src": "2296:6:43"
1912
+ },
1913
+ "nativeSrc": "2296:13:43",
1914
+ "nodeType": "YulFunctionCall",
1915
+ "src": "2296:13:43"
1916
+ }
1917
+ ],
1918
+ "functionName": {
1919
+ "name": "iszero",
1920
+ "nativeSrc": "2289:6:43",
1921
+ "nodeType": "YulIdentifier",
1922
+ "src": "2289:6:43"
1923
+ },
1924
+ "nativeSrc": "2289:21:43",
1925
+ "nodeType": "YulFunctionCall",
1926
+ "src": "2289:21:43"
1927
+ },
1928
+ "variableNames": [
1929
+ {
1930
+ "name": "cleaned",
1931
+ "nativeSrc": "2278:7:43",
1932
+ "nodeType": "YulIdentifier",
1933
+ "src": "2278:7:43"
1934
+ }
1935
+ ]
1936
+ }
1937
+ ]
1938
+ },
1939
+ "name": "cleanup_t_bool",
1940
+ "nativeSrc": "2226:90:43",
1941
+ "nodeType": "YulFunctionDefinition",
1942
+ "parameters": [
1943
+ {
1944
+ "name": "value",
1945
+ "nativeSrc": "2250:5:43",
1946
+ "nodeType": "YulTypedName",
1947
+ "src": "2250:5:43",
1948
+ "type": ""
1949
+ }
1950
+ ],
1951
+ "returnVariables": [
1952
+ {
1953
+ "name": "cleaned",
1954
+ "nativeSrc": "2260:7:43",
1955
+ "nodeType": "YulTypedName",
1956
+ "src": "2260:7:43",
1957
+ "type": ""
1958
+ }
1959
+ ],
1960
+ "src": "2226:90:43"
1961
+ },
1962
+ {
1963
+ "body": {
1964
+ "nativeSrc": "2381:50:43",
1965
+ "nodeType": "YulBlock",
1966
+ "src": "2381:50:43",
1967
+ "statements": [
1968
+ {
1969
+ "expression": {
1970
+ "arguments": [
1971
+ {
1972
+ "name": "pos",
1973
+ "nativeSrc": "2398:3:43",
1974
+ "nodeType": "YulIdentifier",
1975
+ "src": "2398:3:43"
1976
+ },
1977
+ {
1978
+ "arguments": [
1979
+ {
1980
+ "name": "value",
1981
+ "nativeSrc": "2418:5:43",
1982
+ "nodeType": "YulIdentifier",
1983
+ "src": "2418:5:43"
1984
+ }
1985
+ ],
1986
+ "functionName": {
1987
+ "name": "cleanup_t_bool",
1988
+ "nativeSrc": "2403:14:43",
1989
+ "nodeType": "YulIdentifier",
1990
+ "src": "2403:14:43"
1991
+ },
1992
+ "nativeSrc": "2403:21:43",
1993
+ "nodeType": "YulFunctionCall",
1994
+ "src": "2403:21:43"
1995
+ }
1996
+ ],
1997
+ "functionName": {
1998
+ "name": "mstore",
1999
+ "nativeSrc": "2391:6:43",
2000
+ "nodeType": "YulIdentifier",
2001
+ "src": "2391:6:43"
2002
+ },
2003
+ "nativeSrc": "2391:34:43",
2004
+ "nodeType": "YulFunctionCall",
2005
+ "src": "2391:34:43"
2006
+ },
2007
+ "nativeSrc": "2391:34:43",
2008
+ "nodeType": "YulExpressionStatement",
2009
+ "src": "2391:34:43"
2010
+ }
2011
+ ]
2012
+ },
2013
+ "name": "abi_encode_t_bool_to_t_bool_fromStack",
2014
+ "nativeSrc": "2322:109:43",
2015
+ "nodeType": "YulFunctionDefinition",
2016
+ "parameters": [
2017
+ {
2018
+ "name": "value",
2019
+ "nativeSrc": "2369:5:43",
2020
+ "nodeType": "YulTypedName",
2021
+ "src": "2369:5:43",
2022
+ "type": ""
2023
+ },
2024
+ {
2025
+ "name": "pos",
2026
+ "nativeSrc": "2376:3:43",
2027
+ "nodeType": "YulTypedName",
2028
+ "src": "2376:3:43",
2029
+ "type": ""
2030
+ }
2031
+ ],
2032
+ "src": "2322:109:43"
2033
+ },
2034
+ {
2035
+ "body": {
2036
+ "nativeSrc": "2529:118:43",
2037
+ "nodeType": "YulBlock",
2038
+ "src": "2529:118:43",
2039
+ "statements": [
2040
+ {
2041
+ "nativeSrc": "2539:26:43",
2042
+ "nodeType": "YulAssignment",
2043
+ "src": "2539:26:43",
2044
+ "value": {
2045
+ "arguments": [
2046
+ {
2047
+ "name": "headStart",
2048
+ "nativeSrc": "2551:9:43",
2049
+ "nodeType": "YulIdentifier",
2050
+ "src": "2551:9:43"
2051
+ },
2052
+ {
2053
+ "kind": "number",
2054
+ "nativeSrc": "2562:2:43",
2055
+ "nodeType": "YulLiteral",
2056
+ "src": "2562:2:43",
2057
+ "type": "",
2058
+ "value": "32"
2059
+ }
2060
+ ],
2061
+ "functionName": {
2062
+ "name": "add",
2063
+ "nativeSrc": "2547:3:43",
2064
+ "nodeType": "YulIdentifier",
2065
+ "src": "2547:3:43"
2066
+ },
2067
+ "nativeSrc": "2547:18:43",
2068
+ "nodeType": "YulFunctionCall",
2069
+ "src": "2547:18:43"
2070
+ },
2071
+ "variableNames": [
2072
+ {
2073
+ "name": "tail",
2074
+ "nativeSrc": "2539:4:43",
2075
+ "nodeType": "YulIdentifier",
2076
+ "src": "2539:4:43"
2077
+ }
2078
+ ]
2079
+ },
2080
+ {
2081
+ "expression": {
2082
+ "arguments": [
2083
+ {
2084
+ "name": "value0",
2085
+ "nativeSrc": "2613:6:43",
2086
+ "nodeType": "YulIdentifier",
2087
+ "src": "2613:6:43"
2088
+ },
2089
+ {
2090
+ "arguments": [
2091
+ {
2092
+ "name": "headStart",
2093
+ "nativeSrc": "2626:9:43",
2094
+ "nodeType": "YulIdentifier",
2095
+ "src": "2626:9:43"
2096
+ },
2097
+ {
2098
+ "kind": "number",
2099
+ "nativeSrc": "2637:1:43",
2100
+ "nodeType": "YulLiteral",
2101
+ "src": "2637:1:43",
2102
+ "type": "",
2103
+ "value": "0"
2104
+ }
2105
+ ],
2106
+ "functionName": {
2107
+ "name": "add",
2108
+ "nativeSrc": "2622:3:43",
2109
+ "nodeType": "YulIdentifier",
2110
+ "src": "2622:3:43"
2111
+ },
2112
+ "nativeSrc": "2622:17:43",
2113
+ "nodeType": "YulFunctionCall",
2114
+ "src": "2622:17:43"
2115
+ }
2116
+ ],
2117
+ "functionName": {
2118
+ "name": "abi_encode_t_bool_to_t_bool_fromStack",
2119
+ "nativeSrc": "2575:37:43",
2120
+ "nodeType": "YulIdentifier",
2121
+ "src": "2575:37:43"
2122
+ },
2123
+ "nativeSrc": "2575:65:43",
2124
+ "nodeType": "YulFunctionCall",
2125
+ "src": "2575:65:43"
2126
+ },
2127
+ "nativeSrc": "2575:65:43",
2128
+ "nodeType": "YulExpressionStatement",
2129
+ "src": "2575:65:43"
2130
+ }
2131
+ ]
2132
+ },
2133
+ "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed",
2134
+ "nativeSrc": "2437:210:43",
2135
+ "nodeType": "YulFunctionDefinition",
2136
+ "parameters": [
2137
+ {
2138
+ "name": "headStart",
2139
+ "nativeSrc": "2501:9:43",
2140
+ "nodeType": "YulTypedName",
2141
+ "src": "2501:9:43",
2142
+ "type": ""
2143
+ },
2144
+ {
2145
+ "name": "value0",
2146
+ "nativeSrc": "2513:6:43",
2147
+ "nodeType": "YulTypedName",
2148
+ "src": "2513:6:43",
2149
+ "type": ""
2150
+ }
2151
+ ],
2152
+ "returnVariables": [
2153
+ {
2154
+ "name": "tail",
2155
+ "nativeSrc": "2524:4:43",
2156
+ "nodeType": "YulTypedName",
2157
+ "src": "2524:4:43",
2158
+ "type": ""
2159
+ }
2160
+ ],
2161
+ "src": "2437:210:43"
2162
+ },
2163
+ {
2164
+ "body": {
2165
+ "nativeSrc": "2718:53:43",
2166
+ "nodeType": "YulBlock",
2167
+ "src": "2718:53:43",
2168
+ "statements": [
2169
+ {
2170
+ "expression": {
2171
+ "arguments": [
2172
+ {
2173
+ "name": "pos",
2174
+ "nativeSrc": "2735:3:43",
2175
+ "nodeType": "YulIdentifier",
2176
+ "src": "2735:3:43"
2177
+ },
2178
+ {
2179
+ "arguments": [
2180
+ {
2181
+ "name": "value",
2182
+ "nativeSrc": "2758:5:43",
2183
+ "nodeType": "YulIdentifier",
2184
+ "src": "2758:5:43"
2185
+ }
2186
+ ],
2187
+ "functionName": {
2188
+ "name": "cleanup_t_address",
2189
+ "nativeSrc": "2740:17:43",
2190
+ "nodeType": "YulIdentifier",
2191
+ "src": "2740:17:43"
2192
+ },
2193
+ "nativeSrc": "2740:24:43",
2194
+ "nodeType": "YulFunctionCall",
2195
+ "src": "2740:24:43"
2196
+ }
2197
+ ],
2198
+ "functionName": {
2199
+ "name": "mstore",
2200
+ "nativeSrc": "2728:6:43",
2201
+ "nodeType": "YulIdentifier",
2202
+ "src": "2728:6:43"
2203
+ },
2204
+ "nativeSrc": "2728:37:43",
2205
+ "nodeType": "YulFunctionCall",
2206
+ "src": "2728:37:43"
2207
+ },
2208
+ "nativeSrc": "2728:37:43",
2209
+ "nodeType": "YulExpressionStatement",
2210
+ "src": "2728:37:43"
2211
+ }
2212
+ ]
2213
+ },
2214
+ "name": "abi_encode_t_address_to_t_address_fromStack",
2215
+ "nativeSrc": "2653:118:43",
2216
+ "nodeType": "YulFunctionDefinition",
2217
+ "parameters": [
2218
+ {
2219
+ "name": "value",
2220
+ "nativeSrc": "2706:5:43",
2221
+ "nodeType": "YulTypedName",
2222
+ "src": "2706:5:43",
2223
+ "type": ""
2224
+ },
2225
+ {
2226
+ "name": "pos",
2227
+ "nativeSrc": "2713:3:43",
2228
+ "nodeType": "YulTypedName",
2229
+ "src": "2713:3:43",
2230
+ "type": ""
2231
+ }
2232
+ ],
2233
+ "src": "2653:118:43"
2234
+ },
2235
+ {
2236
+ "body": {
2237
+ "nativeSrc": "2875:124:43",
2238
+ "nodeType": "YulBlock",
2239
+ "src": "2875:124:43",
2240
+ "statements": [
2241
+ {
2242
+ "nativeSrc": "2885:26:43",
2243
+ "nodeType": "YulAssignment",
2244
+ "src": "2885:26:43",
2245
+ "value": {
2246
+ "arguments": [
2247
+ {
2248
+ "name": "headStart",
2249
+ "nativeSrc": "2897:9:43",
2250
+ "nodeType": "YulIdentifier",
2251
+ "src": "2897:9:43"
2252
+ },
2253
+ {
2254
+ "kind": "number",
2255
+ "nativeSrc": "2908:2:43",
2256
+ "nodeType": "YulLiteral",
2257
+ "src": "2908:2:43",
2258
+ "type": "",
2259
+ "value": "32"
2260
+ }
2261
+ ],
2262
+ "functionName": {
2263
+ "name": "add",
2264
+ "nativeSrc": "2893:3:43",
2265
+ "nodeType": "YulIdentifier",
2266
+ "src": "2893:3:43"
2267
+ },
2268
+ "nativeSrc": "2893:18:43",
2269
+ "nodeType": "YulFunctionCall",
2270
+ "src": "2893:18:43"
2271
+ },
2272
+ "variableNames": [
2273
+ {
2274
+ "name": "tail",
2275
+ "nativeSrc": "2885:4:43",
2276
+ "nodeType": "YulIdentifier",
2277
+ "src": "2885:4:43"
2278
+ }
2279
+ ]
2280
+ },
2281
+ {
2282
+ "expression": {
2283
+ "arguments": [
2284
+ {
2285
+ "name": "value0",
2286
+ "nativeSrc": "2965:6:43",
2287
+ "nodeType": "YulIdentifier",
2288
+ "src": "2965:6:43"
2289
+ },
2290
+ {
2291
+ "arguments": [
2292
+ {
2293
+ "name": "headStart",
2294
+ "nativeSrc": "2978:9:43",
2295
+ "nodeType": "YulIdentifier",
2296
+ "src": "2978:9:43"
2297
+ },
2298
+ {
2299
+ "kind": "number",
2300
+ "nativeSrc": "2989:1:43",
2301
+ "nodeType": "YulLiteral",
2302
+ "src": "2989:1:43",
2303
+ "type": "",
2304
+ "value": "0"
2305
+ }
2306
+ ],
2307
+ "functionName": {
2308
+ "name": "add",
2309
+ "nativeSrc": "2974:3:43",
2310
+ "nodeType": "YulIdentifier",
2311
+ "src": "2974:3:43"
2312
+ },
2313
+ "nativeSrc": "2974:17:43",
2314
+ "nodeType": "YulFunctionCall",
2315
+ "src": "2974:17:43"
2316
+ }
2317
+ ],
2318
+ "functionName": {
2319
+ "name": "abi_encode_t_address_to_t_address_fromStack",
2320
+ "nativeSrc": "2921:43:43",
2321
+ "nodeType": "YulIdentifier",
2322
+ "src": "2921:43:43"
2323
+ },
2324
+ "nativeSrc": "2921:71:43",
2325
+ "nodeType": "YulFunctionCall",
2326
+ "src": "2921:71:43"
2327
+ },
2328
+ "nativeSrc": "2921:71:43",
2329
+ "nodeType": "YulExpressionStatement",
2330
+ "src": "2921:71:43"
2331
+ }
2332
+ ]
2333
+ },
2334
+ "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
2335
+ "nativeSrc": "2777:222:43",
2336
+ "nodeType": "YulFunctionDefinition",
2337
+ "parameters": [
2338
+ {
2339
+ "name": "headStart",
2340
+ "nativeSrc": "2847:9:43",
2341
+ "nodeType": "YulTypedName",
2342
+ "src": "2847:9:43",
2343
+ "type": ""
2344
+ },
2345
+ {
2346
+ "name": "value0",
2347
+ "nativeSrc": "2859:6:43",
2348
+ "nodeType": "YulTypedName",
2349
+ "src": "2859:6:43",
2350
+ "type": ""
2351
+ }
2352
+ ],
2353
+ "returnVariables": [
2354
+ {
2355
+ "name": "tail",
2356
+ "nativeSrc": "2870:4:43",
2357
+ "nodeType": "YulTypedName",
2358
+ "src": "2870:4:43",
2359
+ "type": ""
2360
+ }
2361
+ ],
2362
+ "src": "2777:222:43"
2363
+ },
2364
+ {
2365
+ "body": {
2366
+ "nativeSrc": "3045:76:43",
2367
+ "nodeType": "YulBlock",
2368
+ "src": "3045:76:43",
2369
+ "statements": [
2370
+ {
2371
+ "body": {
2372
+ "nativeSrc": "3099:16:43",
2373
+ "nodeType": "YulBlock",
2374
+ "src": "3099:16:43",
2375
+ "statements": [
2376
+ {
2377
+ "expression": {
2378
+ "arguments": [
2379
+ {
2380
+ "kind": "number",
2381
+ "nativeSrc": "3108:1:43",
2382
+ "nodeType": "YulLiteral",
2383
+ "src": "3108:1:43",
2384
+ "type": "",
2385
+ "value": "0"
2386
+ },
2387
+ {
2388
+ "kind": "number",
2389
+ "nativeSrc": "3111:1:43",
2390
+ "nodeType": "YulLiteral",
2391
+ "src": "3111:1:43",
2392
+ "type": "",
2393
+ "value": "0"
2394
+ }
2395
+ ],
2396
+ "functionName": {
2397
+ "name": "revert",
2398
+ "nativeSrc": "3101:6:43",
2399
+ "nodeType": "YulIdentifier",
2400
+ "src": "3101:6:43"
2401
+ },
2402
+ "nativeSrc": "3101:12:43",
2403
+ "nodeType": "YulFunctionCall",
2404
+ "src": "3101:12:43"
2405
+ },
2406
+ "nativeSrc": "3101:12:43",
2407
+ "nodeType": "YulExpressionStatement",
2408
+ "src": "3101:12:43"
2409
+ }
2410
+ ]
2411
+ },
2412
+ "condition": {
2413
+ "arguments": [
2414
+ {
2415
+ "arguments": [
2416
+ {
2417
+ "name": "value",
2418
+ "nativeSrc": "3068:5:43",
2419
+ "nodeType": "YulIdentifier",
2420
+ "src": "3068:5:43"
2421
+ },
2422
+ {
2423
+ "arguments": [
2424
+ {
2425
+ "name": "value",
2426
+ "nativeSrc": "3090:5:43",
2427
+ "nodeType": "YulIdentifier",
2428
+ "src": "3090:5:43"
2429
+ }
2430
+ ],
2431
+ "functionName": {
2432
+ "name": "cleanup_t_bool",
2433
+ "nativeSrc": "3075:14:43",
2434
+ "nodeType": "YulIdentifier",
2435
+ "src": "3075:14:43"
2436
+ },
2437
+ "nativeSrc": "3075:21:43",
2438
+ "nodeType": "YulFunctionCall",
2439
+ "src": "3075:21:43"
2440
+ }
2441
+ ],
2442
+ "functionName": {
2443
+ "name": "eq",
2444
+ "nativeSrc": "3065:2:43",
2445
+ "nodeType": "YulIdentifier",
2446
+ "src": "3065:2:43"
2447
+ },
2448
+ "nativeSrc": "3065:32:43",
2449
+ "nodeType": "YulFunctionCall",
2450
+ "src": "3065:32:43"
2451
+ }
2452
+ ],
2453
+ "functionName": {
2454
+ "name": "iszero",
2455
+ "nativeSrc": "3058:6:43",
2456
+ "nodeType": "YulIdentifier",
2457
+ "src": "3058:6:43"
2458
+ },
2459
+ "nativeSrc": "3058:40:43",
2460
+ "nodeType": "YulFunctionCall",
2461
+ "src": "3058:40:43"
2462
+ },
2463
+ "nativeSrc": "3055:60:43",
2464
+ "nodeType": "YulIf",
2465
+ "src": "3055:60:43"
2466
+ }
2467
+ ]
2468
+ },
2469
+ "name": "validator_revert_t_bool",
2470
+ "nativeSrc": "3005:116:43",
2471
+ "nodeType": "YulFunctionDefinition",
2472
+ "parameters": [
2473
+ {
2474
+ "name": "value",
2475
+ "nativeSrc": "3038:5:43",
2476
+ "nodeType": "YulTypedName",
2477
+ "src": "3038:5:43",
2478
+ "type": ""
2479
+ }
2480
+ ],
2481
+ "src": "3005:116:43"
2482
+ },
2483
+ {
2484
+ "body": {
2485
+ "nativeSrc": "3176:84:43",
2486
+ "nodeType": "YulBlock",
2487
+ "src": "3176:84:43",
2488
+ "statements": [
2489
+ {
2490
+ "nativeSrc": "3186:29:43",
2491
+ "nodeType": "YulAssignment",
2492
+ "src": "3186:29:43",
2493
+ "value": {
2494
+ "arguments": [
2495
+ {
2496
+ "name": "offset",
2497
+ "nativeSrc": "3208:6:43",
2498
+ "nodeType": "YulIdentifier",
2499
+ "src": "3208:6:43"
2500
+ }
2501
+ ],
2502
+ "functionName": {
2503
+ "name": "calldataload",
2504
+ "nativeSrc": "3195:12:43",
2505
+ "nodeType": "YulIdentifier",
2506
+ "src": "3195:12:43"
2507
+ },
2508
+ "nativeSrc": "3195:20:43",
2509
+ "nodeType": "YulFunctionCall",
2510
+ "src": "3195:20:43"
2511
+ },
2512
+ "variableNames": [
2513
+ {
2514
+ "name": "value",
2515
+ "nativeSrc": "3186:5:43",
2516
+ "nodeType": "YulIdentifier",
2517
+ "src": "3186:5:43"
2518
+ }
2519
+ ]
2520
+ },
2521
+ {
2522
+ "expression": {
2523
+ "arguments": [
2524
+ {
2525
+ "name": "value",
2526
+ "nativeSrc": "3248:5:43",
2527
+ "nodeType": "YulIdentifier",
2528
+ "src": "3248:5:43"
2529
+ }
2530
+ ],
2531
+ "functionName": {
2532
+ "name": "validator_revert_t_bool",
2533
+ "nativeSrc": "3224:23:43",
2534
+ "nodeType": "YulIdentifier",
2535
+ "src": "3224:23:43"
2536
+ },
2537
+ "nativeSrc": "3224:30:43",
2538
+ "nodeType": "YulFunctionCall",
2539
+ "src": "3224:30:43"
2540
+ },
2541
+ "nativeSrc": "3224:30:43",
2542
+ "nodeType": "YulExpressionStatement",
2543
+ "src": "3224:30:43"
2544
+ }
2545
+ ]
2546
+ },
2547
+ "name": "abi_decode_t_bool",
2548
+ "nativeSrc": "3127:133:43",
2549
+ "nodeType": "YulFunctionDefinition",
2550
+ "parameters": [
2551
+ {
2552
+ "name": "offset",
2553
+ "nativeSrc": "3154:6:43",
2554
+ "nodeType": "YulTypedName",
2555
+ "src": "3154:6:43",
2556
+ "type": ""
2557
+ },
2558
+ {
2559
+ "name": "end",
2560
+ "nativeSrc": "3162:3:43",
2561
+ "nodeType": "YulTypedName",
2562
+ "src": "3162:3:43",
2563
+ "type": ""
2564
+ }
2565
+ ],
2566
+ "returnVariables": [
2567
+ {
2568
+ "name": "value",
2569
+ "nativeSrc": "3170:5:43",
2570
+ "nodeType": "YulTypedName",
2571
+ "src": "3170:5:43",
2572
+ "type": ""
2573
+ }
2574
+ ],
2575
+ "src": "3127:133:43"
2576
+ },
2577
+ {
2578
+ "body": {
2579
+ "nativeSrc": "3327:56:43",
2580
+ "nodeType": "YulBlock",
2581
+ "src": "3327:56:43",
2582
+ "statements": [
2583
+ {
2584
+ "body": {
2585
+ "nativeSrc": "3361:16:43",
2586
+ "nodeType": "YulBlock",
2587
+ "src": "3361:16:43",
2588
+ "statements": [
2589
+ {
2590
+ "expression": {
2591
+ "arguments": [
2592
+ {
2593
+ "kind": "number",
2594
+ "nativeSrc": "3370:1:43",
2595
+ "nodeType": "YulLiteral",
2596
+ "src": "3370:1:43",
2597
+ "type": "",
2598
+ "value": "0"
2599
+ },
2600
+ {
2601
+ "kind": "number",
2602
+ "nativeSrc": "3373:1:43",
2603
+ "nodeType": "YulLiteral",
2604
+ "src": "3373:1:43",
2605
+ "type": "",
2606
+ "value": "0"
2607
+ }
2608
+ ],
2609
+ "functionName": {
2610
+ "name": "revert",
2611
+ "nativeSrc": "3363:6:43",
2612
+ "nodeType": "YulIdentifier",
2613
+ "src": "3363:6:43"
2614
+ },
2615
+ "nativeSrc": "3363:12:43",
2616
+ "nodeType": "YulFunctionCall",
2617
+ "src": "3363:12:43"
2618
+ },
2619
+ "nativeSrc": "3363:12:43",
2620
+ "nodeType": "YulExpressionStatement",
2621
+ "src": "3363:12:43"
2622
+ }
2623
+ ]
2624
+ },
2625
+ "condition": {
2626
+ "arguments": [
2627
+ {
2628
+ "arguments": [
2629
+ {
2630
+ "name": "value",
2631
+ "nativeSrc": "3350:5:43",
2632
+ "nodeType": "YulIdentifier",
2633
+ "src": "3350:5:43"
2634
+ },
2635
+ {
2636
+ "kind": "number",
2637
+ "nativeSrc": "3357:1:43",
2638
+ "nodeType": "YulLiteral",
2639
+ "src": "3357:1:43",
2640
+ "type": "",
2641
+ "value": "4"
2642
+ }
2643
+ ],
2644
+ "functionName": {
2645
+ "name": "lt",
2646
+ "nativeSrc": "3347:2:43",
2647
+ "nodeType": "YulIdentifier",
2648
+ "src": "3347:2:43"
2649
+ },
2650
+ "nativeSrc": "3347:12:43",
2651
+ "nodeType": "YulFunctionCall",
2652
+ "src": "3347:12:43"
2653
+ }
2654
+ ],
2655
+ "functionName": {
2656
+ "name": "iszero",
2657
+ "nativeSrc": "3340:6:43",
2658
+ "nodeType": "YulIdentifier",
2659
+ "src": "3340:6:43"
2660
+ },
2661
+ "nativeSrc": "3340:20:43",
2662
+ "nodeType": "YulFunctionCall",
2663
+ "src": "3340:20:43"
2664
+ },
2665
+ "nativeSrc": "3337:40:43",
2666
+ "nodeType": "YulIf",
2667
+ "src": "3337:40:43"
2668
+ }
2669
+ ]
2670
+ },
2671
+ "name": "validator_revert_t_enum$_AuthorityTier_$8445",
2672
+ "nativeSrc": "3266:117:43",
2673
+ "nodeType": "YulFunctionDefinition",
2674
+ "parameters": [
2675
+ {
2676
+ "name": "value",
2677
+ "nativeSrc": "3320:5:43",
2678
+ "nodeType": "YulTypedName",
2679
+ "src": "3320:5:43",
2680
+ "type": ""
2681
+ }
2682
+ ],
2683
+ "src": "3266:117:43"
2684
+ },
2685
+ {
2686
+ "body": {
2687
+ "nativeSrc": "3459:105:43",
2688
+ "nodeType": "YulBlock",
2689
+ "src": "3459:105:43",
2690
+ "statements": [
2691
+ {
2692
+ "nativeSrc": "3469:29:43",
2693
+ "nodeType": "YulAssignment",
2694
+ "src": "3469:29:43",
2695
+ "value": {
2696
+ "arguments": [
2697
+ {
2698
+ "name": "offset",
2699
+ "nativeSrc": "3491:6:43",
2700
+ "nodeType": "YulIdentifier",
2701
+ "src": "3491:6:43"
2702
+ }
2703
+ ],
2704
+ "functionName": {
2705
+ "name": "calldataload",
2706
+ "nativeSrc": "3478:12:43",
2707
+ "nodeType": "YulIdentifier",
2708
+ "src": "3478:12:43"
2709
+ },
2710
+ "nativeSrc": "3478:20:43",
2711
+ "nodeType": "YulFunctionCall",
2712
+ "src": "3478:20:43"
2713
+ },
2714
+ "variableNames": [
2715
+ {
2716
+ "name": "value",
2717
+ "nativeSrc": "3469:5:43",
2718
+ "nodeType": "YulIdentifier",
2719
+ "src": "3469:5:43"
2720
+ }
2721
+ ]
2722
+ },
2723
+ {
2724
+ "expression": {
2725
+ "arguments": [
2726
+ {
2727
+ "name": "value",
2728
+ "nativeSrc": "3552:5:43",
2729
+ "nodeType": "YulIdentifier",
2730
+ "src": "3552:5:43"
2731
+ }
2732
+ ],
2733
+ "functionName": {
2734
+ "name": "validator_revert_t_enum$_AuthorityTier_$8445",
2735
+ "nativeSrc": "3507:44:43",
2736
+ "nodeType": "YulIdentifier",
2737
+ "src": "3507:44:43"
2738
+ },
2739
+ "nativeSrc": "3507:51:43",
2740
+ "nodeType": "YulFunctionCall",
2741
+ "src": "3507:51:43"
2742
+ },
2743
+ "nativeSrc": "3507:51:43",
2744
+ "nodeType": "YulExpressionStatement",
2745
+ "src": "3507:51:43"
2746
+ }
2747
+ ]
2748
+ },
2749
+ "name": "abi_decode_t_enum$_AuthorityTier_$8445",
2750
+ "nativeSrc": "3389:175:43",
2751
+ "nodeType": "YulFunctionDefinition",
2752
+ "parameters": [
2753
+ {
2754
+ "name": "offset",
2755
+ "nativeSrc": "3437:6:43",
2756
+ "nodeType": "YulTypedName",
2757
+ "src": "3437:6:43",
2758
+ "type": ""
2759
+ },
2760
+ {
2761
+ "name": "end",
2762
+ "nativeSrc": "3445:3:43",
2763
+ "nodeType": "YulTypedName",
2764
+ "src": "3445:3:43",
2765
+ "type": ""
2766
+ }
2767
+ ],
2768
+ "returnVariables": [
2769
+ {
2770
+ "name": "value",
2771
+ "nativeSrc": "3453:5:43",
2772
+ "nodeType": "YulTypedName",
2773
+ "src": "3453:5:43",
2774
+ "type": ""
2775
+ }
2776
+ ],
2777
+ "src": "3389:175:43"
2778
+ },
2779
+ {
2780
+ "body": {
2781
+ "nativeSrc": "3685:534:43",
2782
+ "nodeType": "YulBlock",
2783
+ "src": "3685:534:43",
2784
+ "statements": [
2785
+ {
2786
+ "body": {
2787
+ "nativeSrc": "3731:83:43",
2788
+ "nodeType": "YulBlock",
2789
+ "src": "3731:83:43",
2790
+ "statements": [
2791
+ {
2792
+ "expression": {
2793
+ "arguments": [],
2794
+ "functionName": {
2795
+ "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
2796
+ "nativeSrc": "3733:77:43",
2797
+ "nodeType": "YulIdentifier",
2798
+ "src": "3733:77:43"
2799
+ },
2800
+ "nativeSrc": "3733:79:43",
2801
+ "nodeType": "YulFunctionCall",
2802
+ "src": "3733:79:43"
2803
+ },
2804
+ "nativeSrc": "3733:79:43",
2805
+ "nodeType": "YulExpressionStatement",
2806
+ "src": "3733:79:43"
2807
+ }
2808
+ ]
2809
+ },
2810
+ "condition": {
2811
+ "arguments": [
2812
+ {
2813
+ "arguments": [
2814
+ {
2815
+ "name": "dataEnd",
2816
+ "nativeSrc": "3706:7:43",
2817
+ "nodeType": "YulIdentifier",
2818
+ "src": "3706:7:43"
2819
+ },
2820
+ {
2821
+ "name": "headStart",
2822
+ "nativeSrc": "3715:9:43",
2823
+ "nodeType": "YulIdentifier",
2824
+ "src": "3715:9:43"
2825
+ }
2826
+ ],
2827
+ "functionName": {
2828
+ "name": "sub",
2829
+ "nativeSrc": "3702:3:43",
2830
+ "nodeType": "YulIdentifier",
2831
+ "src": "3702:3:43"
2832
+ },
2833
+ "nativeSrc": "3702:23:43",
2834
+ "nodeType": "YulFunctionCall",
2835
+ "src": "3702:23:43"
2836
+ },
2837
+ {
2838
+ "kind": "number",
2839
+ "nativeSrc": "3727:2:43",
2840
+ "nodeType": "YulLiteral",
2841
+ "src": "3727:2:43",
2842
+ "type": "",
2843
+ "value": "96"
2844
+ }
2845
+ ],
2846
+ "functionName": {
2847
+ "name": "slt",
2848
+ "nativeSrc": "3698:3:43",
2849
+ "nodeType": "YulIdentifier",
2850
+ "src": "3698:3:43"
2851
+ },
2852
+ "nativeSrc": "3698:32:43",
2853
+ "nodeType": "YulFunctionCall",
2854
+ "src": "3698:32:43"
2855
+ },
2856
+ "nativeSrc": "3695:119:43",
2857
+ "nodeType": "YulIf",
2858
+ "src": "3695:119:43"
2859
+ },
2860
+ {
2861
+ "nativeSrc": "3824:117:43",
2862
+ "nodeType": "YulBlock",
2863
+ "src": "3824:117:43",
2864
+ "statements": [
2865
+ {
2866
+ "nativeSrc": "3839:15:43",
2867
+ "nodeType": "YulVariableDeclaration",
2868
+ "src": "3839:15:43",
2869
+ "value": {
2870
+ "kind": "number",
2871
+ "nativeSrc": "3853:1:43",
2872
+ "nodeType": "YulLiteral",
2873
+ "src": "3853:1:43",
2874
+ "type": "",
2875
+ "value": "0"
2876
+ },
2877
+ "variables": [
2878
+ {
2879
+ "name": "offset",
2880
+ "nativeSrc": "3843:6:43",
2881
+ "nodeType": "YulTypedName",
2882
+ "src": "3843:6:43",
2883
+ "type": ""
2884
+ }
2885
+ ]
2886
+ },
2887
+ {
2888
+ "nativeSrc": "3868:63:43",
2889
+ "nodeType": "YulAssignment",
2890
+ "src": "3868:63:43",
2891
+ "value": {
2892
+ "arguments": [
2893
+ {
2894
+ "arguments": [
2895
+ {
2896
+ "name": "headStart",
2897
+ "nativeSrc": "3903:9:43",
2898
+ "nodeType": "YulIdentifier",
2899
+ "src": "3903:9:43"
2900
+ },
2901
+ {
2902
+ "name": "offset",
2903
+ "nativeSrc": "3914:6:43",
2904
+ "nodeType": "YulIdentifier",
2905
+ "src": "3914:6:43"
2906
+ }
2907
+ ],
2908
+ "functionName": {
2909
+ "name": "add",
2910
+ "nativeSrc": "3899:3:43",
2911
+ "nodeType": "YulIdentifier",
2912
+ "src": "3899:3:43"
2913
+ },
2914
+ "nativeSrc": "3899:22:43",
2915
+ "nodeType": "YulFunctionCall",
2916
+ "src": "3899:22:43"
2917
+ },
2918
+ {
2919
+ "name": "dataEnd",
2920
+ "nativeSrc": "3923:7:43",
2921
+ "nodeType": "YulIdentifier",
2922
+ "src": "3923:7:43"
2923
+ }
2924
+ ],
2925
+ "functionName": {
2926
+ "name": "abi_decode_t_address",
2927
+ "nativeSrc": "3878:20:43",
2928
+ "nodeType": "YulIdentifier",
2929
+ "src": "3878:20:43"
2930
+ },
2931
+ "nativeSrc": "3878:53:43",
2932
+ "nodeType": "YulFunctionCall",
2933
+ "src": "3878:53:43"
2934
+ },
2935
+ "variableNames": [
2936
+ {
2937
+ "name": "value0",
2938
+ "nativeSrc": "3868:6:43",
2939
+ "nodeType": "YulIdentifier",
2940
+ "src": "3868:6:43"
2941
+ }
2942
+ ]
2943
+ }
2944
+ ]
2945
+ },
2946
+ {
2947
+ "nativeSrc": "3951:115:43",
2948
+ "nodeType": "YulBlock",
2949
+ "src": "3951:115:43",
2950
+ "statements": [
2951
+ {
2952
+ "nativeSrc": "3966:16:43",
2953
+ "nodeType": "YulVariableDeclaration",
2954
+ "src": "3966:16:43",
2955
+ "value": {
2956
+ "kind": "number",
2957
+ "nativeSrc": "3980:2:43",
2958
+ "nodeType": "YulLiteral",
2959
+ "src": "3980:2:43",
2960
+ "type": "",
2961
+ "value": "32"
2962
+ },
2963
+ "variables": [
2964
+ {
2965
+ "name": "offset",
2966
+ "nativeSrc": "3970:6:43",
2967
+ "nodeType": "YulTypedName",
2968
+ "src": "3970:6:43",
2969
+ "type": ""
2970
+ }
2971
+ ]
2972
+ },
2973
+ {
2974
+ "nativeSrc": "3996:60:43",
2975
+ "nodeType": "YulAssignment",
2976
+ "src": "3996:60:43",
2977
+ "value": {
2978
+ "arguments": [
2979
+ {
2980
+ "arguments": [
2981
+ {
2982
+ "name": "headStart",
2983
+ "nativeSrc": "4028:9:43",
2984
+ "nodeType": "YulIdentifier",
2985
+ "src": "4028:9:43"
2986
+ },
2987
+ {
2988
+ "name": "offset",
2989
+ "nativeSrc": "4039:6:43",
2990
+ "nodeType": "YulIdentifier",
2991
+ "src": "4039:6:43"
2992
+ }
2993
+ ],
2994
+ "functionName": {
2995
+ "name": "add",
2996
+ "nativeSrc": "4024:3:43",
2997
+ "nodeType": "YulIdentifier",
2998
+ "src": "4024:3:43"
2999
+ },
3000
+ "nativeSrc": "4024:22:43",
3001
+ "nodeType": "YulFunctionCall",
3002
+ "src": "4024:22:43"
3003
+ },
3004
+ {
3005
+ "name": "dataEnd",
3006
+ "nativeSrc": "4048:7:43",
3007
+ "nodeType": "YulIdentifier",
3008
+ "src": "4048:7:43"
3009
+ }
3010
+ ],
3011
+ "functionName": {
3012
+ "name": "abi_decode_t_bool",
3013
+ "nativeSrc": "4006:17:43",
3014
+ "nodeType": "YulIdentifier",
3015
+ "src": "4006:17:43"
3016
+ },
3017
+ "nativeSrc": "4006:50:43",
3018
+ "nodeType": "YulFunctionCall",
3019
+ "src": "4006:50:43"
3020
+ },
3021
+ "variableNames": [
3022
+ {
3023
+ "name": "value1",
3024
+ "nativeSrc": "3996:6:43",
3025
+ "nodeType": "YulIdentifier",
3026
+ "src": "3996:6:43"
3027
+ }
3028
+ ]
3029
+ }
3030
+ ]
3031
+ },
3032
+ {
3033
+ "nativeSrc": "4076:136:43",
3034
+ "nodeType": "YulBlock",
3035
+ "src": "4076:136:43",
3036
+ "statements": [
3037
+ {
3038
+ "nativeSrc": "4091:16:43",
3039
+ "nodeType": "YulVariableDeclaration",
3040
+ "src": "4091:16:43",
3041
+ "value": {
3042
+ "kind": "number",
3043
+ "nativeSrc": "4105:2:43",
3044
+ "nodeType": "YulLiteral",
3045
+ "src": "4105:2:43",
3046
+ "type": "",
3047
+ "value": "64"
3048
+ },
3049
+ "variables": [
3050
+ {
3051
+ "name": "offset",
3052
+ "nativeSrc": "4095:6:43",
3053
+ "nodeType": "YulTypedName",
3054
+ "src": "4095:6:43",
3055
+ "type": ""
3056
+ }
3057
+ ]
3058
+ },
3059
+ {
3060
+ "nativeSrc": "4121:81:43",
3061
+ "nodeType": "YulAssignment",
3062
+ "src": "4121:81:43",
3063
+ "value": {
3064
+ "arguments": [
3065
+ {
3066
+ "arguments": [
3067
+ {
3068
+ "name": "headStart",
3069
+ "nativeSrc": "4174:9:43",
3070
+ "nodeType": "YulIdentifier",
3071
+ "src": "4174:9:43"
3072
+ },
3073
+ {
3074
+ "name": "offset",
3075
+ "nativeSrc": "4185:6:43",
3076
+ "nodeType": "YulIdentifier",
3077
+ "src": "4185:6:43"
3078
+ }
3079
+ ],
3080
+ "functionName": {
3081
+ "name": "add",
3082
+ "nativeSrc": "4170:3:43",
3083
+ "nodeType": "YulIdentifier",
3084
+ "src": "4170:3:43"
3085
+ },
3086
+ "nativeSrc": "4170:22:43",
3087
+ "nodeType": "YulFunctionCall",
3088
+ "src": "4170:22:43"
3089
+ },
3090
+ {
3091
+ "name": "dataEnd",
3092
+ "nativeSrc": "4194:7:43",
3093
+ "nodeType": "YulIdentifier",
3094
+ "src": "4194:7:43"
3095
+ }
3096
+ ],
3097
+ "functionName": {
3098
+ "name": "abi_decode_t_enum$_AuthorityTier_$8445",
3099
+ "nativeSrc": "4131:38:43",
3100
+ "nodeType": "YulIdentifier",
3101
+ "src": "4131:38:43"
3102
+ },
3103
+ "nativeSrc": "4131:71:43",
3104
+ "nodeType": "YulFunctionCall",
3105
+ "src": "4131:71:43"
3106
+ },
3107
+ "variableNames": [
3108
+ {
3109
+ "name": "value2",
3110
+ "nativeSrc": "4121:6:43",
3111
+ "nodeType": "YulIdentifier",
3112
+ "src": "4121:6:43"
3113
+ }
3114
+ ]
3115
+ }
3116
+ ]
3117
+ }
3118
+ ]
3119
+ },
3120
+ "name": "abi_decode_tuple_t_addresst_boolt_enum$_AuthorityTier_$8445",
3121
+ "nativeSrc": "3570:649:43",
3122
+ "nodeType": "YulFunctionDefinition",
3123
+ "parameters": [
3124
+ {
3125
+ "name": "headStart",
3126
+ "nativeSrc": "3639:9:43",
3127
+ "nodeType": "YulTypedName",
3128
+ "src": "3639:9:43",
3129
+ "type": ""
3130
+ },
3131
+ {
3132
+ "name": "dataEnd",
3133
+ "nativeSrc": "3650:7:43",
3134
+ "nodeType": "YulTypedName",
3135
+ "src": "3650:7:43",
3136
+ "type": ""
3137
+ }
3138
+ ],
3139
+ "returnVariables": [
3140
+ {
3141
+ "name": "value0",
3142
+ "nativeSrc": "3662:6:43",
3143
+ "nodeType": "YulTypedName",
3144
+ "src": "3662:6:43",
3145
+ "type": ""
3146
+ },
3147
+ {
3148
+ "name": "value1",
3149
+ "nativeSrc": "3670:6:43",
3150
+ "nodeType": "YulTypedName",
3151
+ "src": "3670:6:43",
3152
+ "type": ""
3153
+ },
3154
+ {
3155
+ "name": "value2",
3156
+ "nativeSrc": "3678:6:43",
3157
+ "nodeType": "YulTypedName",
3158
+ "src": "3678:6:43",
3159
+ "type": ""
3160
+ }
3161
+ ],
3162
+ "src": "3570:649:43"
3163
+ },
3164
+ {
3165
+ "body": {
3166
+ "nativeSrc": "4361:216:43",
3167
+ "nodeType": "YulBlock",
3168
+ "src": "4361:216:43",
3169
+ "statements": [
3170
+ {
3171
+ "nativeSrc": "4371:26:43",
3172
+ "nodeType": "YulAssignment",
3173
+ "src": "4371:26:43",
3174
+ "value": {
3175
+ "arguments": [
3176
+ {
3177
+ "name": "headStart",
3178
+ "nativeSrc": "4383:9:43",
3179
+ "nodeType": "YulIdentifier",
3180
+ "src": "4383:9:43"
3181
+ },
3182
+ {
3183
+ "kind": "number",
3184
+ "nativeSrc": "4394:2:43",
3185
+ "nodeType": "YulLiteral",
3186
+ "src": "4394:2:43",
3187
+ "type": "",
3188
+ "value": "64"
3189
+ }
3190
+ ],
3191
+ "functionName": {
3192
+ "name": "add",
3193
+ "nativeSrc": "4379:3:43",
3194
+ "nodeType": "YulIdentifier",
3195
+ "src": "4379:3:43"
3196
+ },
3197
+ "nativeSrc": "4379:18:43",
3198
+ "nodeType": "YulFunctionCall",
3199
+ "src": "4379:18:43"
3200
+ },
3201
+ "variableNames": [
3202
+ {
3203
+ "name": "tail",
3204
+ "nativeSrc": "4371:4:43",
3205
+ "nodeType": "YulIdentifier",
3206
+ "src": "4371:4:43"
3207
+ }
3208
+ ]
3209
+ },
3210
+ {
3211
+ "expression": {
3212
+ "arguments": [
3213
+ {
3214
+ "name": "value0",
3215
+ "nativeSrc": "4445:6:43",
3216
+ "nodeType": "YulIdentifier",
3217
+ "src": "4445:6:43"
3218
+ },
3219
+ {
3220
+ "arguments": [
3221
+ {
3222
+ "name": "headStart",
3223
+ "nativeSrc": "4458:9:43",
3224
+ "nodeType": "YulIdentifier",
3225
+ "src": "4458:9:43"
3226
+ },
3227
+ {
3228
+ "kind": "number",
3229
+ "nativeSrc": "4469:1:43",
3230
+ "nodeType": "YulLiteral",
3231
+ "src": "4469:1:43",
3232
+ "type": "",
3233
+ "value": "0"
3234
+ }
3235
+ ],
3236
+ "functionName": {
3237
+ "name": "add",
3238
+ "nativeSrc": "4454:3:43",
3239
+ "nodeType": "YulIdentifier",
3240
+ "src": "4454:3:43"
3241
+ },
3242
+ "nativeSrc": "4454:17:43",
3243
+ "nodeType": "YulFunctionCall",
3244
+ "src": "4454:17:43"
3245
+ }
3246
+ ],
3247
+ "functionName": {
3248
+ "name": "abi_encode_t_bool_to_t_bool_fromStack",
3249
+ "nativeSrc": "4407:37:43",
3250
+ "nodeType": "YulIdentifier",
3251
+ "src": "4407:37:43"
3252
+ },
3253
+ "nativeSrc": "4407:65:43",
3254
+ "nodeType": "YulFunctionCall",
3255
+ "src": "4407:65:43"
3256
+ },
3257
+ "nativeSrc": "4407:65:43",
3258
+ "nodeType": "YulExpressionStatement",
3259
+ "src": "4407:65:43"
3260
+ },
3261
+ {
3262
+ "expression": {
3263
+ "arguments": [
3264
+ {
3265
+ "name": "value1",
3266
+ "nativeSrc": "4542:6:43",
3267
+ "nodeType": "YulIdentifier",
3268
+ "src": "4542:6:43"
3269
+ },
3270
+ {
3271
+ "arguments": [
3272
+ {
3273
+ "name": "headStart",
3274
+ "nativeSrc": "4555:9:43",
3275
+ "nodeType": "YulIdentifier",
3276
+ "src": "4555:9:43"
3277
+ },
3278
+ {
3279
+ "kind": "number",
3280
+ "nativeSrc": "4566:2:43",
3281
+ "nodeType": "YulLiteral",
3282
+ "src": "4566:2:43",
3283
+ "type": "",
3284
+ "value": "32"
3285
+ }
3286
+ ],
3287
+ "functionName": {
3288
+ "name": "add",
3289
+ "nativeSrc": "4551:3:43",
3290
+ "nodeType": "YulIdentifier",
3291
+ "src": "4551:3:43"
3292
+ },
3293
+ "nativeSrc": "4551:18:43",
3294
+ "nodeType": "YulFunctionCall",
3295
+ "src": "4551:18:43"
3296
+ }
3297
+ ],
3298
+ "functionName": {
3299
+ "name": "abi_encode_t_enum$_AuthorityTier_$8445_to_t_uint8_fromStack",
3300
+ "nativeSrc": "4482:59:43",
3301
+ "nodeType": "YulIdentifier",
3302
+ "src": "4482:59:43"
3303
+ },
3304
+ "nativeSrc": "4482:88:43",
3305
+ "nodeType": "YulFunctionCall",
3306
+ "src": "4482:88:43"
3307
+ },
3308
+ "nativeSrc": "4482:88:43",
3309
+ "nodeType": "YulExpressionStatement",
3310
+ "src": "4482:88:43"
3311
+ }
3312
+ ]
3313
+ },
3314
+ "name": "abi_encode_tuple_t_bool_t_enum$_AuthorityTier_$8445__to_t_bool_t_uint8__fromStack_reversed",
3315
+ "nativeSrc": "4225:352:43",
3316
+ "nodeType": "YulFunctionDefinition",
3317
+ "parameters": [
3318
+ {
3319
+ "name": "headStart",
3320
+ "nativeSrc": "4325:9:43",
3321
+ "nodeType": "YulTypedName",
3322
+ "src": "4325:9:43",
3323
+ "type": ""
3324
+ },
3325
+ {
3326
+ "name": "value1",
3327
+ "nativeSrc": "4337:6:43",
3328
+ "nodeType": "YulTypedName",
3329
+ "src": "4337:6:43",
3330
+ "type": ""
3331
+ },
3332
+ {
3333
+ "name": "value0",
3334
+ "nativeSrc": "4345:6:43",
3335
+ "nodeType": "YulTypedName",
3336
+ "src": "4345:6:43",
3337
+ "type": ""
3338
+ }
3339
+ ],
3340
+ "returnVariables": [
3341
+ {
3342
+ "name": "tail",
3343
+ "nativeSrc": "4356:4:43",
3344
+ "nodeType": "YulTypedName",
3345
+ "src": "4356:4:43",
3346
+ "type": ""
3347
+ }
3348
+ ],
3349
+ "src": "4225:352:43"
3350
+ }
3351
+ ]
3352
+ },
3353
+ "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function validator_assert_t_enum$_AuthorityTier_$8445(value) {\n if iszero(lt(value, 4)) { panic_error_0x21() }\n }\n\n function cleanup_t_enum$_AuthorityTier_$8445(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_AuthorityTier_$8445(value)\n }\n\n function convert_t_enum$_AuthorityTier_$8445_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_AuthorityTier_$8445(value)\n }\n\n function abi_encode_t_enum$_AuthorityTier_$8445_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_AuthorityTier_$8445_to_t_uint8(value))\n }\n\n function abi_encode_tuple_t_enum$_AuthorityTier_$8445__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_enum$_AuthorityTier_$8445_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function validator_revert_t_enum$_AuthorityTier_$8445(value) {\n if iszero(lt(value, 4)) { revert(0, 0) }\n }\n\n function abi_decode_t_enum$_AuthorityTier_$8445(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_enum$_AuthorityTier_$8445(value)\n }\n\n function abi_decode_tuple_t_addresst_boolt_enum$_AuthorityTier_$8445(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_enum$_AuthorityTier_$8445(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_bool_t_enum$_AuthorityTier_$8445__to_t_bool_t_uint8__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_enum$_AuthorityTier_$8445_to_t_uint8_fromStack(value1, add(headStart, 32))\n\n }\n\n}\n",
3354
+ "id": 43,
3355
+ "language": "Yul",
3356
+ "name": "#utility.yul"
3357
+ }
3358
+ ],
3359
+ "sourceMap": "116:996:27:-:0;;;446:201;;;;;;;;;;468:10;1297:1:0;1273:26;;:12;:26;;;1269:95;;1350:1;1322:31;;;;;;;;;;;:::i;:::-;;;;;;;;1269:95;1373:32;1392:12;1373:18;;;:32;;:::i;:::-;1225:187;576:4:27::1;541:20:::0;:32:::1;562:10;541:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;618:21;591:12;:24;604:10;591:24;;;;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;116:996:::0;;2912:187:0;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;7:126:43:-;44:7;84:42;77:5;73:54;62:65;;7:126;;;:::o;139:96::-;176:7;205:24;223:5;205:24;:::i;:::-;194:35;;139:96;;;:::o;241:118::-;328:24;346:5;328:24;:::i;:::-;323:3;316:37;241:118;;:::o;365:222::-;458:4;496:2;485:9;481:18;473:26;;509:71;577:1;566:9;562:17;553:6;509:71;:::i;:::-;365:222;;;;:::o;593:180::-;641:77;638:1;631:88;738:4;735:1;728:15;762:4;759:1;752:15;116:996:27;;;;;;;",
3360
+ "deployedSourceMap": "116:996:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2293:101:0;;;:::i;:::-;;289:53:27;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;230:52;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1638:85:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;789:320:27;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2543:215:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2293:101;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;289:53:27:-;;;;;;;;;;;;;;;;;;;;;;:::o;230:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;1638:85:0:-;1684:7;1710:6;;;;;;;;;;;1703:13;;1638:85;:::o;789:320:27:-;1531:13:0;:11;:13::i;:::-;964:6:27::1;931:20;:30;952:8;931:30;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;1006:6;:34;;1022:18;1006:34;;;1015:4;1006:34;981:12;:22;994:8;981:22;;;;;;;;;;;;;;;;:59;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;1078:8;1056:45;;;1088:6;1096:4;1056:45;;;;;;;:::i;:::-;;;;;;;;789:320:::0;;;:::o;2543:215:0:-;1531:13;:11;:13::i;:::-;2647:1:::1;2627:22;;:8;:22;;::::0;2623:91:::1;;2700:1;2672:31;;;;;;;;;;;:::i;:::-;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1866:12;:10;:12::i;:::-;1855:23;;:7;:5;:7::i;:::-;:23;;;1851:101;;1928:12;:10;:12::i;:::-;1901:40;;;;;;;;;;;:::i;:::-;;;;;;;;1851:101;1796:162::o;2912:187::-;2985:16;3004:6;;;;;;;;;;;2985:25;;3029:8;3020:6;;:17;;;;;;;;;;;;;;;;;;3083:8;3052:40;;3073:8;3052:40;;;;;;;;;;;;2975:124;2912:187;:::o;656:96:13:-;709:7;735:10;728:17;;656:96;:::o;88:117:43:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:180::-;1224:77;1221:1;1214:88;1321:4;1318:1;1311:15;1345:4;1342:1;1335:15;1362:123;1453:1;1446:5;1443:12;1433:46;;1459:18;;:::i;:::-;1433:46;1362:123;:::o;1491:147::-;1546:7;1575:5;1564:16;;1581:51;1626:5;1581:51;:::i;:::-;1491:147;;;:::o;1644:::-;1710:9;1743:42;1779:5;1743:42;:::i;:::-;1730:55;;1644:147;;;:::o;1797:163::-;1900:53;1947:5;1900:53;:::i;:::-;1895:3;1888:66;1797:163;;:::o;1966:254::-;2075:4;2113:2;2102:9;2098:18;2090:26;;2126:87;2210:1;2199:9;2195:17;2186:6;2126:87;:::i;:::-;1966:254;;;;:::o;2226:90::-;2260:7;2303:5;2296:13;2289:21;2278:32;;2226:90;;;:::o;2322:109::-;2403:21;2418:5;2403:21;:::i;:::-;2398:3;2391:34;2322:109;;:::o;2437:210::-;2524:4;2562:2;2551:9;2547:18;2539:26;;2575:65;2637:1;2626:9;2622:17;2613:6;2575:65;:::i;:::-;2437:210;;;;:::o;2653:118::-;2740:24;2758:5;2740:24;:::i;:::-;2735:3;2728:37;2653:118;;:::o;2777:222::-;2870:4;2908:2;2897:9;2893:18;2885:26;;2921:71;2989:1;2978:9;2974:17;2965:6;2921:71;:::i;:::-;2777:222;;;;:::o;3005:116::-;3075:21;3090:5;3075:21;:::i;:::-;3068:5;3065:32;3055:60;;3111:1;3108;3101:12;3055:60;3005:116;:::o;3127:133::-;3170:5;3208:6;3195:20;3186:29;;3224:30;3248:5;3224:30;:::i;:::-;3127:133;;;;:::o;3266:117::-;3357:1;3350:5;3347:12;3337:40;;3373:1;3370;3363:12;3337:40;3266:117;:::o;3389:175::-;3453:5;3491:6;3478:20;3469:29;;3507:51;3552:5;3507:51;:::i;:::-;3389:175;;;;:::o;3570:649::-;3662:6;3670;3678;3727:2;3715:9;3706:7;3702:23;3698:32;3695:119;;;3733:79;;:::i;:::-;3695:119;3853:1;3878:53;3923:7;3914:6;3903:9;3899:22;3878:53;:::i;:::-;3868:63;;3824:117;3980:2;4006:50;4048:7;4039:6;4028:9;4024:22;4006:50;:::i;:::-;3996:60;;3951:115;4105:2;4131:71;4194:7;4185:6;4174:9;4170:22;4131:71;:::i;:::-;4121:81;;4076:136;3570:649;;;;;:::o;4225:352::-;4356:4;4394:2;4383:9;4379:18;4371:26;;4407:65;4469:1;4458:9;4454:17;4445:6;4407:65;:::i;:::-;4482:88;4566:2;4555:9;4551:18;4542:6;4482:88;:::i;:::-;4225:352;;;;;:::o",
3361
+ "source": "// SPDX-License-Identifier: MIT\r\npragma solidity ^0.8.0;\r\n\r\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\r\n\r\ncontract AccessControl is Ownable {\r\n enum AuthorityTier { NONE, STANDARD, INSTITUTIONAL, DIAMOND }\r\n \r\n mapping(address => bool) public isAuthorizedReporter;\r\n mapping(address => AuthorityTier) public reporterTier;\r\n\r\n event ReporterStatusChanged(address indexed reporter, bool status, AuthorityTier tier);\r\n\r\n constructor() Ownable(msg.sender) {\r\n // Owner is the default Diamond reporter\r\n isAuthorizedReporter[msg.sender] = true;\r\n reporterTier[msg.sender] = AuthorityTier.DIAMOND;\r\n }\r\n\r\n modifier onlyReporter() {\r\n require(isAuthorizedReporter[msg.sender], \"Not an authorized reporter\");\r\n _;\r\n }\r\n\r\n function setReporterStatus(\r\n address reporter,\r\n bool status,\r\n AuthorityTier tier\r\n ) external onlyOwner {\r\n isAuthorizedReporter[reporter] = status;\r\n reporterTier[reporter] = status ? tier : AuthorityTier.NONE;\r\n emit ReporterStatusChanged(reporter, status, tier);\r\n }\r\n}\r\n",
3362
+ "sourcePath": "J:\\Users\\ayush\\Desktop\\code\\Pecathon\\onchain\\contracts\\AccessControl.sol",
3363
+ "ast": {
3364
+ "absolutePath": "project:/contracts/AccessControl.sol",
3365
+ "exportedSymbols": {
3366
+ "AccessControl": [
3367
+ 8534
3368
+ ],
3369
+ "Context": [
3370
+ 2345
3371
+ ],
3372
+ "Ownable": [
3373
+ 147
3374
+ ]
3375
+ },
3376
+ "id": 8535,
3377
+ "license": "MIT",
3378
+ "nodeType": "SourceUnit",
3379
+ "nodes": [
3380
+ {
3381
+ "id": 8437,
3382
+ "literals": [
3383
+ "solidity",
3384
+ "^",
3385
+ "0.8",
3386
+ ".0"
3387
+ ],
3388
+ "nodeType": "PragmaDirective",
3389
+ "src": "33:23:27"
3390
+ },
3391
+ {
3392
+ "absolutePath": "@openzeppelin/contracts/access/Ownable.sol",
3393
+ "file": "@openzeppelin/contracts/access/Ownable.sol",
3394
+ "id": 8438,
3395
+ "nameLocation": "-1:-1:-1",
3396
+ "nodeType": "ImportDirective",
3397
+ "scope": 8535,
3398
+ "sourceUnit": 148,
3399
+ "src": "60:52:27",
3400
+ "symbolAliases": [],
3401
+ "unitAlias": ""
3402
+ },
3403
+ {
3404
+ "abstract": false,
3405
+ "baseContracts": [
3406
+ {
3407
+ "baseName": {
3408
+ "id": 8439,
3409
+ "name": "Ownable",
3410
+ "nameLocations": [
3411
+ "142:7:27"
3412
+ ],
3413
+ "nodeType": "IdentifierPath",
3414
+ "referencedDeclaration": 147,
3415
+ "src": "142:7:27"
3416
+ },
3417
+ "id": 8440,
3418
+ "nodeType": "InheritanceSpecifier",
3419
+ "src": "142:7:27"
3420
+ }
3421
+ ],
3422
+ "canonicalName": "AccessControl",
3423
+ "contractDependencies": [],
3424
+ "contractKind": "contract",
3425
+ "fullyImplemented": true,
3426
+ "id": 8534,
3427
+ "linearizedBaseContracts": [
3428
+ 8534,
3429
+ 147,
3430
+ 2345
3431
+ ],
3432
+ "name": "AccessControl",
3433
+ "nameLocation": "125:13:27",
3434
+ "nodeType": "ContractDefinition",
3435
+ "nodes": [
3436
+ {
3437
+ "canonicalName": "AccessControl.AuthorityTier",
3438
+ "id": 8445,
3439
+ "members": [
3440
+ {
3441
+ "id": 8441,
3442
+ "name": "NONE",
3443
+ "nameLocation": "178:4:27",
3444
+ "nodeType": "EnumValue",
3445
+ "src": "178:4:27"
3446
+ },
3447
+ {
3448
+ "id": 8442,
3449
+ "name": "STANDARD",
3450
+ "nameLocation": "184:8:27",
3451
+ "nodeType": "EnumValue",
3452
+ "src": "184:8:27"
3453
+ },
3454
+ {
3455
+ "id": 8443,
3456
+ "name": "INSTITUTIONAL",
3457
+ "nameLocation": "194:13:27",
3458
+ "nodeType": "EnumValue",
3459
+ "src": "194:13:27"
3460
+ },
3461
+ {
3462
+ "id": 8444,
3463
+ "name": "DIAMOND",
3464
+ "nameLocation": "209:7:27",
3465
+ "nodeType": "EnumValue",
3466
+ "src": "209:7:27"
3467
+ }
3468
+ ],
3469
+ "name": "AuthorityTier",
3470
+ "nameLocation": "162:13:27",
3471
+ "nodeType": "EnumDefinition",
3472
+ "src": "157:61:27"
3473
+ },
3474
+ {
3475
+ "constant": false,
3476
+ "functionSelector": "8bedac2e",
3477
+ "id": 8449,
3478
+ "mutability": "mutable",
3479
+ "name": "isAuthorizedReporter",
3480
+ "nameLocation": "262:20:27",
3481
+ "nodeType": "VariableDeclaration",
3482
+ "scope": 8534,
3483
+ "src": "230:52:27",
3484
+ "stateVariable": true,
3485
+ "storageLocation": "default",
3486
+ "typeDescriptions": {
3487
+ "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
3488
+ "typeString": "mapping(address => bool)"
3489
+ },
3490
+ "typeName": {
3491
+ "id": 8448,
3492
+ "keyName": "",
3493
+ "keyNameLocation": "-1:-1:-1",
3494
+ "keyType": {
3495
+ "id": 8446,
3496
+ "name": "address",
3497
+ "nodeType": "ElementaryTypeName",
3498
+ "src": "238:7:27",
3499
+ "typeDescriptions": {
3500
+ "typeIdentifier": "t_address",
3501
+ "typeString": "address"
3502
+ }
3503
+ },
3504
+ "nodeType": "Mapping",
3505
+ "src": "230:24:27",
3506
+ "typeDescriptions": {
3507
+ "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
3508
+ "typeString": "mapping(address => bool)"
3509
+ },
3510
+ "valueName": "",
3511
+ "valueNameLocation": "-1:-1:-1",
3512
+ "valueType": {
3513
+ "id": 8447,
3514
+ "name": "bool",
3515
+ "nodeType": "ElementaryTypeName",
3516
+ "src": "249:4:27",
3517
+ "typeDescriptions": {
3518
+ "typeIdentifier": "t_bool",
3519
+ "typeString": "bool"
3520
+ }
3521
+ }
3522
+ },
3523
+ "visibility": "public"
3524
+ },
3525
+ {
3526
+ "constant": false,
3527
+ "functionSelector": "884fd020",
3528
+ "id": 8454,
3529
+ "mutability": "mutable",
3530
+ "name": "reporterTier",
3531
+ "nameLocation": "330:12:27",
3532
+ "nodeType": "VariableDeclaration",
3533
+ "scope": 8534,
3534
+ "src": "289:53:27",
3535
+ "stateVariable": true,
3536
+ "storageLocation": "default",
3537
+ "typeDescriptions": {
3538
+ "typeIdentifier": "t_mapping$_t_address_$_t_enum$_AuthorityTier_$8445_$",
3539
+ "typeString": "mapping(address => enum AccessControl.AuthorityTier)"
3540
+ },
3541
+ "typeName": {
3542
+ "id": 8453,
3543
+ "keyName": "",
3544
+ "keyNameLocation": "-1:-1:-1",
3545
+ "keyType": {
3546
+ "id": 8450,
3547
+ "name": "address",
3548
+ "nodeType": "ElementaryTypeName",
3549
+ "src": "297:7:27",
3550
+ "typeDescriptions": {
3551
+ "typeIdentifier": "t_address",
3552
+ "typeString": "address"
3553
+ }
3554
+ },
3555
+ "nodeType": "Mapping",
3556
+ "src": "289:33:27",
3557
+ "typeDescriptions": {
3558
+ "typeIdentifier": "t_mapping$_t_address_$_t_enum$_AuthorityTier_$8445_$",
3559
+ "typeString": "mapping(address => enum AccessControl.AuthorityTier)"
3560
+ },
3561
+ "valueName": "",
3562
+ "valueNameLocation": "-1:-1:-1",
3563
+ "valueType": {
3564
+ "id": 8452,
3565
+ "nodeType": "UserDefinedTypeName",
3566
+ "pathNode": {
3567
+ "id": 8451,
3568
+ "name": "AuthorityTier",
3569
+ "nameLocations": [
3570
+ "308:13:27"
3571
+ ],
3572
+ "nodeType": "IdentifierPath",
3573
+ "referencedDeclaration": 8445,
3574
+ "src": "308:13:27"
3575
+ },
3576
+ "referencedDeclaration": 8445,
3577
+ "src": "308:13:27",
3578
+ "typeDescriptions": {
3579
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
3580
+ "typeString": "enum AccessControl.AuthorityTier"
3581
+ }
3582
+ }
3583
+ },
3584
+ "visibility": "public"
3585
+ },
3586
+ {
3587
+ "anonymous": false,
3588
+ "eventSelector": "0510dedd55b5bcf4dd3a296ab8a8b01af87a389f889fd7b6b7fdcfcc214bfbd3",
3589
+ "id": 8463,
3590
+ "name": "ReporterStatusChanged",
3591
+ "nameLocation": "357:21:27",
3592
+ "nodeType": "EventDefinition",
3593
+ "parameters": {
3594
+ "id": 8462,
3595
+ "nodeType": "ParameterList",
3596
+ "parameters": [
3597
+ {
3598
+ "constant": false,
3599
+ "id": 8456,
3600
+ "indexed": true,
3601
+ "mutability": "mutable",
3602
+ "name": "reporter",
3603
+ "nameLocation": "395:8:27",
3604
+ "nodeType": "VariableDeclaration",
3605
+ "scope": 8463,
3606
+ "src": "379:24:27",
3607
+ "stateVariable": false,
3608
+ "storageLocation": "default",
3609
+ "typeDescriptions": {
3610
+ "typeIdentifier": "t_address",
3611
+ "typeString": "address"
3612
+ },
3613
+ "typeName": {
3614
+ "id": 8455,
3615
+ "name": "address",
3616
+ "nodeType": "ElementaryTypeName",
3617
+ "src": "379:7:27",
3618
+ "stateMutability": "nonpayable",
3619
+ "typeDescriptions": {
3620
+ "typeIdentifier": "t_address",
3621
+ "typeString": "address"
3622
+ }
3623
+ },
3624
+ "visibility": "internal"
3625
+ },
3626
+ {
3627
+ "constant": false,
3628
+ "id": 8458,
3629
+ "indexed": false,
3630
+ "mutability": "mutable",
3631
+ "name": "status",
3632
+ "nameLocation": "410:6:27",
3633
+ "nodeType": "VariableDeclaration",
3634
+ "scope": 8463,
3635
+ "src": "405:11:27",
3636
+ "stateVariable": false,
3637
+ "storageLocation": "default",
3638
+ "typeDescriptions": {
3639
+ "typeIdentifier": "t_bool",
3640
+ "typeString": "bool"
3641
+ },
3642
+ "typeName": {
3643
+ "id": 8457,
3644
+ "name": "bool",
3645
+ "nodeType": "ElementaryTypeName",
3646
+ "src": "405:4:27",
3647
+ "typeDescriptions": {
3648
+ "typeIdentifier": "t_bool",
3649
+ "typeString": "bool"
3650
+ }
3651
+ },
3652
+ "visibility": "internal"
3653
+ },
3654
+ {
3655
+ "constant": false,
3656
+ "id": 8461,
3657
+ "indexed": false,
3658
+ "mutability": "mutable",
3659
+ "name": "tier",
3660
+ "nameLocation": "432:4:27",
3661
+ "nodeType": "VariableDeclaration",
3662
+ "scope": 8463,
3663
+ "src": "418:18:27",
3664
+ "stateVariable": false,
3665
+ "storageLocation": "default",
3666
+ "typeDescriptions": {
3667
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
3668
+ "typeString": "enum AccessControl.AuthorityTier"
3669
+ },
3670
+ "typeName": {
3671
+ "id": 8460,
3672
+ "nodeType": "UserDefinedTypeName",
3673
+ "pathNode": {
3674
+ "id": 8459,
3675
+ "name": "AuthorityTier",
3676
+ "nameLocations": [
3677
+ "418:13:27"
3678
+ ],
3679
+ "nodeType": "IdentifierPath",
3680
+ "referencedDeclaration": 8445,
3681
+ "src": "418:13:27"
3682
+ },
3683
+ "referencedDeclaration": 8445,
3684
+ "src": "418:13:27",
3685
+ "typeDescriptions": {
3686
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
3687
+ "typeString": "enum AccessControl.AuthorityTier"
3688
+ }
3689
+ },
3690
+ "visibility": "internal"
3691
+ }
3692
+ ],
3693
+ "src": "378:59:27"
3694
+ },
3695
+ "src": "351:87:27"
3696
+ },
3697
+ {
3698
+ "body": {
3699
+ "id": 8485,
3700
+ "nodeType": "Block",
3701
+ "src": "480:167:27",
3702
+ "statements": [
3703
+ {
3704
+ "expression": {
3705
+ "id": 8475,
3706
+ "isConstant": false,
3707
+ "isLValue": false,
3708
+ "isPure": false,
3709
+ "lValueRequested": false,
3710
+ "leftHandSide": {
3711
+ "baseExpression": {
3712
+ "id": 8470,
3713
+ "name": "isAuthorizedReporter",
3714
+ "nodeType": "Identifier",
3715
+ "overloadedDeclarations": [],
3716
+ "referencedDeclaration": 8449,
3717
+ "src": "541:20:27",
3718
+ "typeDescriptions": {
3719
+ "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
3720
+ "typeString": "mapping(address => bool)"
3721
+ }
3722
+ },
3723
+ "id": 8473,
3724
+ "indexExpression": {
3725
+ "expression": {
3726
+ "id": 8471,
3727
+ "name": "msg",
3728
+ "nodeType": "Identifier",
3729
+ "overloadedDeclarations": [],
3730
+ "referencedDeclaration": 4294967281,
3731
+ "src": "562:3:27",
3732
+ "typeDescriptions": {
3733
+ "typeIdentifier": "t_magic_message",
3734
+ "typeString": "msg"
3735
+ }
3736
+ },
3737
+ "id": 8472,
3738
+ "isConstant": false,
3739
+ "isLValue": false,
3740
+ "isPure": false,
3741
+ "lValueRequested": false,
3742
+ "memberLocation": "566:6:27",
3743
+ "memberName": "sender",
3744
+ "nodeType": "MemberAccess",
3745
+ "src": "562:10:27",
3746
+ "typeDescriptions": {
3747
+ "typeIdentifier": "t_address",
3748
+ "typeString": "address"
3749
+ }
3750
+ },
3751
+ "isConstant": false,
3752
+ "isLValue": true,
3753
+ "isPure": false,
3754
+ "lValueRequested": true,
3755
+ "nodeType": "IndexAccess",
3756
+ "src": "541:32:27",
3757
+ "typeDescriptions": {
3758
+ "typeIdentifier": "t_bool",
3759
+ "typeString": "bool"
3760
+ }
3761
+ },
3762
+ "nodeType": "Assignment",
3763
+ "operator": "=",
3764
+ "rightHandSide": {
3765
+ "hexValue": "74727565",
3766
+ "id": 8474,
3767
+ "isConstant": false,
3768
+ "isLValue": false,
3769
+ "isPure": true,
3770
+ "kind": "bool",
3771
+ "lValueRequested": false,
3772
+ "nodeType": "Literal",
3773
+ "src": "576:4:27",
3774
+ "typeDescriptions": {
3775
+ "typeIdentifier": "t_bool",
3776
+ "typeString": "bool"
3777
+ },
3778
+ "value": "true"
3779
+ },
3780
+ "src": "541:39:27",
3781
+ "typeDescriptions": {
3782
+ "typeIdentifier": "t_bool",
3783
+ "typeString": "bool"
3784
+ }
3785
+ },
3786
+ "id": 8476,
3787
+ "nodeType": "ExpressionStatement",
3788
+ "src": "541:39:27"
3789
+ },
3790
+ {
3791
+ "expression": {
3792
+ "id": 8483,
3793
+ "isConstant": false,
3794
+ "isLValue": false,
3795
+ "isPure": false,
3796
+ "lValueRequested": false,
3797
+ "leftHandSide": {
3798
+ "baseExpression": {
3799
+ "id": 8477,
3800
+ "name": "reporterTier",
3801
+ "nodeType": "Identifier",
3802
+ "overloadedDeclarations": [],
3803
+ "referencedDeclaration": 8454,
3804
+ "src": "591:12:27",
3805
+ "typeDescriptions": {
3806
+ "typeIdentifier": "t_mapping$_t_address_$_t_enum$_AuthorityTier_$8445_$",
3807
+ "typeString": "mapping(address => enum AccessControl.AuthorityTier)"
3808
+ }
3809
+ },
3810
+ "id": 8480,
3811
+ "indexExpression": {
3812
+ "expression": {
3813
+ "id": 8478,
3814
+ "name": "msg",
3815
+ "nodeType": "Identifier",
3816
+ "overloadedDeclarations": [],
3817
+ "referencedDeclaration": 4294967281,
3818
+ "src": "604:3:27",
3819
+ "typeDescriptions": {
3820
+ "typeIdentifier": "t_magic_message",
3821
+ "typeString": "msg"
3822
+ }
3823
+ },
3824
+ "id": 8479,
3825
+ "isConstant": false,
3826
+ "isLValue": false,
3827
+ "isPure": false,
3828
+ "lValueRequested": false,
3829
+ "memberLocation": "608:6:27",
3830
+ "memberName": "sender",
3831
+ "nodeType": "MemberAccess",
3832
+ "src": "604:10:27",
3833
+ "typeDescriptions": {
3834
+ "typeIdentifier": "t_address",
3835
+ "typeString": "address"
3836
+ }
3837
+ },
3838
+ "isConstant": false,
3839
+ "isLValue": true,
3840
+ "isPure": false,
3841
+ "lValueRequested": true,
3842
+ "nodeType": "IndexAccess",
3843
+ "src": "591:24:27",
3844
+ "typeDescriptions": {
3845
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
3846
+ "typeString": "enum AccessControl.AuthorityTier"
3847
+ }
3848
+ },
3849
+ "nodeType": "Assignment",
3850
+ "operator": "=",
3851
+ "rightHandSide": {
3852
+ "expression": {
3853
+ "id": 8481,
3854
+ "name": "AuthorityTier",
3855
+ "nodeType": "Identifier",
3856
+ "overloadedDeclarations": [],
3857
+ "referencedDeclaration": 8445,
3858
+ "src": "618:13:27",
3859
+ "typeDescriptions": {
3860
+ "typeIdentifier": "t_type$_t_enum$_AuthorityTier_$8445_$",
3861
+ "typeString": "type(enum AccessControl.AuthorityTier)"
3862
+ }
3863
+ },
3864
+ "id": 8482,
3865
+ "isConstant": false,
3866
+ "isLValue": false,
3867
+ "isPure": true,
3868
+ "lValueRequested": false,
3869
+ "memberLocation": "632:7:27",
3870
+ "memberName": "DIAMOND",
3871
+ "nodeType": "MemberAccess",
3872
+ "referencedDeclaration": 8444,
3873
+ "src": "618:21:27",
3874
+ "typeDescriptions": {
3875
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
3876
+ "typeString": "enum AccessControl.AuthorityTier"
3877
+ }
3878
+ },
3879
+ "src": "591:48:27",
3880
+ "typeDescriptions": {
3881
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
3882
+ "typeString": "enum AccessControl.AuthorityTier"
3883
+ }
3884
+ },
3885
+ "id": 8484,
3886
+ "nodeType": "ExpressionStatement",
3887
+ "src": "591:48:27"
3888
+ }
3889
+ ]
3890
+ },
3891
+ "id": 8486,
3892
+ "implemented": true,
3893
+ "kind": "constructor",
3894
+ "modifiers": [
3895
+ {
3896
+ "arguments": [
3897
+ {
3898
+ "expression": {
3899
+ "id": 8466,
3900
+ "name": "msg",
3901
+ "nodeType": "Identifier",
3902
+ "overloadedDeclarations": [],
3903
+ "referencedDeclaration": 4294967281,
3904
+ "src": "468:3:27",
3905
+ "typeDescriptions": {
3906
+ "typeIdentifier": "t_magic_message",
3907
+ "typeString": "msg"
3908
+ }
3909
+ },
3910
+ "id": 8467,
3911
+ "isConstant": false,
3912
+ "isLValue": false,
3913
+ "isPure": false,
3914
+ "lValueRequested": false,
3915
+ "memberLocation": "472:6:27",
3916
+ "memberName": "sender",
3917
+ "nodeType": "MemberAccess",
3918
+ "src": "468:10:27",
3919
+ "typeDescriptions": {
3920
+ "typeIdentifier": "t_address",
3921
+ "typeString": "address"
3922
+ }
3923
+ }
3924
+ ],
3925
+ "id": 8468,
3926
+ "kind": "baseConstructorSpecifier",
3927
+ "modifierName": {
3928
+ "id": 8465,
3929
+ "name": "Ownable",
3930
+ "nameLocations": [
3931
+ "460:7:27"
3932
+ ],
3933
+ "nodeType": "IdentifierPath",
3934
+ "referencedDeclaration": 147,
3935
+ "src": "460:7:27"
3936
+ },
3937
+ "nodeType": "ModifierInvocation",
3938
+ "src": "460:19:27"
3939
+ }
3940
+ ],
3941
+ "name": "",
3942
+ "nameLocation": "-1:-1:-1",
3943
+ "nodeType": "FunctionDefinition",
3944
+ "parameters": {
3945
+ "id": 8464,
3946
+ "nodeType": "ParameterList",
3947
+ "parameters": [],
3948
+ "src": "457:2:27"
3949
+ },
3950
+ "returnParameters": {
3951
+ "id": 8469,
3952
+ "nodeType": "ParameterList",
3953
+ "parameters": [],
3954
+ "src": "480:0:27"
3955
+ },
3956
+ "scope": 8534,
3957
+ "src": "446:201:27",
3958
+ "stateMutability": "nonpayable",
3959
+ "virtual": false,
3960
+ "visibility": "public"
3961
+ },
3962
+ {
3963
+ "body": {
3964
+ "id": 8497,
3965
+ "nodeType": "Block",
3966
+ "src": "679:102:27",
3967
+ "statements": [
3968
+ {
3969
+ "expression": {
3970
+ "arguments": [
3971
+ {
3972
+ "baseExpression": {
3973
+ "id": 8489,
3974
+ "name": "isAuthorizedReporter",
3975
+ "nodeType": "Identifier",
3976
+ "overloadedDeclarations": [],
3977
+ "referencedDeclaration": 8449,
3978
+ "src": "698:20:27",
3979
+ "typeDescriptions": {
3980
+ "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
3981
+ "typeString": "mapping(address => bool)"
3982
+ }
3983
+ },
3984
+ "id": 8492,
3985
+ "indexExpression": {
3986
+ "expression": {
3987
+ "id": 8490,
3988
+ "name": "msg",
3989
+ "nodeType": "Identifier",
3990
+ "overloadedDeclarations": [],
3991
+ "referencedDeclaration": 4294967281,
3992
+ "src": "719:3:27",
3993
+ "typeDescriptions": {
3994
+ "typeIdentifier": "t_magic_message",
3995
+ "typeString": "msg"
3996
+ }
3997
+ },
3998
+ "id": 8491,
3999
+ "isConstant": false,
4000
+ "isLValue": false,
4001
+ "isPure": false,
4002
+ "lValueRequested": false,
4003
+ "memberLocation": "723:6:27",
4004
+ "memberName": "sender",
4005
+ "nodeType": "MemberAccess",
4006
+ "src": "719:10:27",
4007
+ "typeDescriptions": {
4008
+ "typeIdentifier": "t_address",
4009
+ "typeString": "address"
4010
+ }
4011
+ },
4012
+ "isConstant": false,
4013
+ "isLValue": true,
4014
+ "isPure": false,
4015
+ "lValueRequested": false,
4016
+ "nodeType": "IndexAccess",
4017
+ "src": "698:32:27",
4018
+ "typeDescriptions": {
4019
+ "typeIdentifier": "t_bool",
4020
+ "typeString": "bool"
4021
+ }
4022
+ },
4023
+ {
4024
+ "hexValue": "4e6f7420616e20617574686f72697a6564207265706f72746572",
4025
+ "id": 8493,
4026
+ "isConstant": false,
4027
+ "isLValue": false,
4028
+ "isPure": true,
4029
+ "kind": "string",
4030
+ "lValueRequested": false,
4031
+ "nodeType": "Literal",
4032
+ "src": "732:28:27",
4033
+ "typeDescriptions": {
4034
+ "typeIdentifier": "t_stringliteral_e0f8ddebc5f348aa278c31e0e6dc6a27bc0e2286d11168443a372a35b18c674f",
4035
+ "typeString": "literal_string \"Not an authorized reporter\""
4036
+ },
4037
+ "value": "Not an authorized reporter"
4038
+ }
4039
+ ],
4040
+ "expression": {
4041
+ "argumentTypes": [
4042
+ {
4043
+ "typeIdentifier": "t_bool",
4044
+ "typeString": "bool"
4045
+ },
4046
+ {
4047
+ "typeIdentifier": "t_stringliteral_e0f8ddebc5f348aa278c31e0e6dc6a27bc0e2286d11168443a372a35b18c674f",
4048
+ "typeString": "literal_string \"Not an authorized reporter\""
4049
+ }
4050
+ ],
4051
+ "id": 8488,
4052
+ "name": "require",
4053
+ "nodeType": "Identifier",
4054
+ "overloadedDeclarations": [
4055
+ 4294967278,
4056
+ 4294967278
4057
+ ],
4058
+ "referencedDeclaration": 4294967278,
4059
+ "src": "690:7:27",
4060
+ "typeDescriptions": {
4061
+ "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
4062
+ "typeString": "function (bool,string memory) pure"
4063
+ }
4064
+ },
4065
+ "id": 8494,
4066
+ "isConstant": false,
4067
+ "isLValue": false,
4068
+ "isPure": false,
4069
+ "kind": "functionCall",
4070
+ "lValueRequested": false,
4071
+ "nameLocations": [],
4072
+ "names": [],
4073
+ "nodeType": "FunctionCall",
4074
+ "src": "690:71:27",
4075
+ "tryCall": false,
4076
+ "typeDescriptions": {
4077
+ "typeIdentifier": "t_tuple$__$",
4078
+ "typeString": "tuple()"
4079
+ }
4080
+ },
4081
+ "id": 8495,
4082
+ "nodeType": "ExpressionStatement",
4083
+ "src": "690:71:27"
4084
+ },
4085
+ {
4086
+ "id": 8496,
4087
+ "nodeType": "PlaceholderStatement",
4088
+ "src": "772:1:27"
4089
+ }
4090
+ ]
4091
+ },
4092
+ "id": 8498,
4093
+ "name": "onlyReporter",
4094
+ "nameLocation": "664:12:27",
4095
+ "nodeType": "ModifierDefinition",
4096
+ "parameters": {
4097
+ "id": 8487,
4098
+ "nodeType": "ParameterList",
4099
+ "parameters": [],
4100
+ "src": "676:2:27"
4101
+ },
4102
+ "src": "655:126:27",
4103
+ "virtual": false,
4104
+ "visibility": "internal"
4105
+ },
4106
+ {
4107
+ "body": {
4108
+ "id": 8532,
4109
+ "nodeType": "Block",
4110
+ "src": "920:189:27",
4111
+ "statements": [
4112
+ {
4113
+ "expression": {
4114
+ "id": 8514,
4115
+ "isConstant": false,
4116
+ "isLValue": false,
4117
+ "isPure": false,
4118
+ "lValueRequested": false,
4119
+ "leftHandSide": {
4120
+ "baseExpression": {
4121
+ "id": 8510,
4122
+ "name": "isAuthorizedReporter",
4123
+ "nodeType": "Identifier",
4124
+ "overloadedDeclarations": [],
4125
+ "referencedDeclaration": 8449,
4126
+ "src": "931:20:27",
4127
+ "typeDescriptions": {
4128
+ "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
4129
+ "typeString": "mapping(address => bool)"
4130
+ }
4131
+ },
4132
+ "id": 8512,
4133
+ "indexExpression": {
4134
+ "id": 8511,
4135
+ "name": "reporter",
4136
+ "nodeType": "Identifier",
4137
+ "overloadedDeclarations": [],
4138
+ "referencedDeclaration": 8500,
4139
+ "src": "952:8:27",
4140
+ "typeDescriptions": {
4141
+ "typeIdentifier": "t_address",
4142
+ "typeString": "address"
4143
+ }
4144
+ },
4145
+ "isConstant": false,
4146
+ "isLValue": true,
4147
+ "isPure": false,
4148
+ "lValueRequested": true,
4149
+ "nodeType": "IndexAccess",
4150
+ "src": "931:30:27",
4151
+ "typeDescriptions": {
4152
+ "typeIdentifier": "t_bool",
4153
+ "typeString": "bool"
4154
+ }
4155
+ },
4156
+ "nodeType": "Assignment",
4157
+ "operator": "=",
4158
+ "rightHandSide": {
4159
+ "id": 8513,
4160
+ "name": "status",
4161
+ "nodeType": "Identifier",
4162
+ "overloadedDeclarations": [],
4163
+ "referencedDeclaration": 8502,
4164
+ "src": "964:6:27",
4165
+ "typeDescriptions": {
4166
+ "typeIdentifier": "t_bool",
4167
+ "typeString": "bool"
4168
+ }
4169
+ },
4170
+ "src": "931:39:27",
4171
+ "typeDescriptions": {
4172
+ "typeIdentifier": "t_bool",
4173
+ "typeString": "bool"
4174
+ }
4175
+ },
4176
+ "id": 8515,
4177
+ "nodeType": "ExpressionStatement",
4178
+ "src": "931:39:27"
4179
+ },
4180
+ {
4181
+ "expression": {
4182
+ "id": 8524,
4183
+ "isConstant": false,
4184
+ "isLValue": false,
4185
+ "isPure": false,
4186
+ "lValueRequested": false,
4187
+ "leftHandSide": {
4188
+ "baseExpression": {
4189
+ "id": 8516,
4190
+ "name": "reporterTier",
4191
+ "nodeType": "Identifier",
4192
+ "overloadedDeclarations": [],
4193
+ "referencedDeclaration": 8454,
4194
+ "src": "981:12:27",
4195
+ "typeDescriptions": {
4196
+ "typeIdentifier": "t_mapping$_t_address_$_t_enum$_AuthorityTier_$8445_$",
4197
+ "typeString": "mapping(address => enum AccessControl.AuthorityTier)"
4198
+ }
4199
+ },
4200
+ "id": 8518,
4201
+ "indexExpression": {
4202
+ "id": 8517,
4203
+ "name": "reporter",
4204
+ "nodeType": "Identifier",
4205
+ "overloadedDeclarations": [],
4206
+ "referencedDeclaration": 8500,
4207
+ "src": "994:8:27",
4208
+ "typeDescriptions": {
4209
+ "typeIdentifier": "t_address",
4210
+ "typeString": "address"
4211
+ }
4212
+ },
4213
+ "isConstant": false,
4214
+ "isLValue": true,
4215
+ "isPure": false,
4216
+ "lValueRequested": true,
4217
+ "nodeType": "IndexAccess",
4218
+ "src": "981:22:27",
4219
+ "typeDescriptions": {
4220
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
4221
+ "typeString": "enum AccessControl.AuthorityTier"
4222
+ }
4223
+ },
4224
+ "nodeType": "Assignment",
4225
+ "operator": "=",
4226
+ "rightHandSide": {
4227
+ "condition": {
4228
+ "id": 8519,
4229
+ "name": "status",
4230
+ "nodeType": "Identifier",
4231
+ "overloadedDeclarations": [],
4232
+ "referencedDeclaration": 8502,
4233
+ "src": "1006:6:27",
4234
+ "typeDescriptions": {
4235
+ "typeIdentifier": "t_bool",
4236
+ "typeString": "bool"
4237
+ }
4238
+ },
4239
+ "falseExpression": {
4240
+ "expression": {
4241
+ "id": 8521,
4242
+ "name": "AuthorityTier",
4243
+ "nodeType": "Identifier",
4244
+ "overloadedDeclarations": [],
4245
+ "referencedDeclaration": 8445,
4246
+ "src": "1022:13:27",
4247
+ "typeDescriptions": {
4248
+ "typeIdentifier": "t_type$_t_enum$_AuthorityTier_$8445_$",
4249
+ "typeString": "type(enum AccessControl.AuthorityTier)"
4250
+ }
4251
+ },
4252
+ "id": 8522,
4253
+ "isConstant": false,
4254
+ "isLValue": false,
4255
+ "isPure": true,
4256
+ "lValueRequested": false,
4257
+ "memberLocation": "1036:4:27",
4258
+ "memberName": "NONE",
4259
+ "nodeType": "MemberAccess",
4260
+ "referencedDeclaration": 8441,
4261
+ "src": "1022:18:27",
4262
+ "typeDescriptions": {
4263
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
4264
+ "typeString": "enum AccessControl.AuthorityTier"
4265
+ }
4266
+ },
4267
+ "id": 8523,
4268
+ "isConstant": false,
4269
+ "isLValue": false,
4270
+ "isPure": false,
4271
+ "lValueRequested": false,
4272
+ "nodeType": "Conditional",
4273
+ "src": "1006:34:27",
4274
+ "trueExpression": {
4275
+ "id": 8520,
4276
+ "name": "tier",
4277
+ "nodeType": "Identifier",
4278
+ "overloadedDeclarations": [],
4279
+ "referencedDeclaration": 8505,
4280
+ "src": "1015:4:27",
4281
+ "typeDescriptions": {
4282
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
4283
+ "typeString": "enum AccessControl.AuthorityTier"
4284
+ }
4285
+ },
4286
+ "typeDescriptions": {
4287
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
4288
+ "typeString": "enum AccessControl.AuthorityTier"
4289
+ }
4290
+ },
4291
+ "src": "981:59:27",
4292
+ "typeDescriptions": {
4293
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
4294
+ "typeString": "enum AccessControl.AuthorityTier"
4295
+ }
4296
+ },
4297
+ "id": 8525,
4298
+ "nodeType": "ExpressionStatement",
4299
+ "src": "981:59:27"
4300
+ },
4301
+ {
4302
+ "eventCall": {
4303
+ "arguments": [
4304
+ {
4305
+ "id": 8527,
4306
+ "name": "reporter",
4307
+ "nodeType": "Identifier",
4308
+ "overloadedDeclarations": [],
4309
+ "referencedDeclaration": 8500,
4310
+ "src": "1078:8:27",
4311
+ "typeDescriptions": {
4312
+ "typeIdentifier": "t_address",
4313
+ "typeString": "address"
4314
+ }
4315
+ },
4316
+ {
4317
+ "id": 8528,
4318
+ "name": "status",
4319
+ "nodeType": "Identifier",
4320
+ "overloadedDeclarations": [],
4321
+ "referencedDeclaration": 8502,
4322
+ "src": "1088:6:27",
4323
+ "typeDescriptions": {
4324
+ "typeIdentifier": "t_bool",
4325
+ "typeString": "bool"
4326
+ }
4327
+ },
4328
+ {
4329
+ "id": 8529,
4330
+ "name": "tier",
4331
+ "nodeType": "Identifier",
4332
+ "overloadedDeclarations": [],
4333
+ "referencedDeclaration": 8505,
4334
+ "src": "1096:4:27",
4335
+ "typeDescriptions": {
4336
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
4337
+ "typeString": "enum AccessControl.AuthorityTier"
4338
+ }
4339
+ }
4340
+ ],
4341
+ "expression": {
4342
+ "argumentTypes": [
4343
+ {
4344
+ "typeIdentifier": "t_address",
4345
+ "typeString": "address"
4346
+ },
4347
+ {
4348
+ "typeIdentifier": "t_bool",
4349
+ "typeString": "bool"
4350
+ },
4351
+ {
4352
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
4353
+ "typeString": "enum AccessControl.AuthorityTier"
4354
+ }
4355
+ ],
4356
+ "id": 8526,
4357
+ "name": "ReporterStatusChanged",
4358
+ "nodeType": "Identifier",
4359
+ "overloadedDeclarations": [],
4360
+ "referencedDeclaration": 8463,
4361
+ "src": "1056:21:27",
4362
+ "typeDescriptions": {
4363
+ "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_bool_$_t_enum$_AuthorityTier_$8445_$returns$__$",
4364
+ "typeString": "function (address,bool,enum AccessControl.AuthorityTier)"
4365
+ }
4366
+ },
4367
+ "id": 8530,
4368
+ "isConstant": false,
4369
+ "isLValue": false,
4370
+ "isPure": false,
4371
+ "kind": "functionCall",
4372
+ "lValueRequested": false,
4373
+ "nameLocations": [],
4374
+ "names": [],
4375
+ "nodeType": "FunctionCall",
4376
+ "src": "1056:45:27",
4377
+ "tryCall": false,
4378
+ "typeDescriptions": {
4379
+ "typeIdentifier": "t_tuple$__$",
4380
+ "typeString": "tuple()"
4381
+ }
4382
+ },
4383
+ "id": 8531,
4384
+ "nodeType": "EmitStatement",
4385
+ "src": "1051:50:27"
4386
+ }
4387
+ ]
4388
+ },
4389
+ "functionSelector": "9fc92298",
4390
+ "id": 8533,
4391
+ "implemented": true,
4392
+ "kind": "function",
4393
+ "modifiers": [
4394
+ {
4395
+ "id": 8508,
4396
+ "kind": "modifierInvocation",
4397
+ "modifierName": {
4398
+ "id": 8507,
4399
+ "name": "onlyOwner",
4400
+ "nameLocations": [
4401
+ "910:9:27"
4402
+ ],
4403
+ "nodeType": "IdentifierPath",
4404
+ "referencedDeclaration": 58,
4405
+ "src": "910:9:27"
4406
+ },
4407
+ "nodeType": "ModifierInvocation",
4408
+ "src": "910:9:27"
4409
+ }
4410
+ ],
4411
+ "name": "setReporterStatus",
4412
+ "nameLocation": "798:17:27",
4413
+ "nodeType": "FunctionDefinition",
4414
+ "parameters": {
4415
+ "id": 8506,
4416
+ "nodeType": "ParameterList",
4417
+ "parameters": [
4418
+ {
4419
+ "constant": false,
4420
+ "id": 8500,
4421
+ "mutability": "mutable",
4422
+ "name": "reporter",
4423
+ "nameLocation": "834:8:27",
4424
+ "nodeType": "VariableDeclaration",
4425
+ "scope": 8533,
4426
+ "src": "826:16:27",
4427
+ "stateVariable": false,
4428
+ "storageLocation": "default",
4429
+ "typeDescriptions": {
4430
+ "typeIdentifier": "t_address",
4431
+ "typeString": "address"
4432
+ },
4433
+ "typeName": {
4434
+ "id": 8499,
4435
+ "name": "address",
4436
+ "nodeType": "ElementaryTypeName",
4437
+ "src": "826:7:27",
4438
+ "stateMutability": "nonpayable",
4439
+ "typeDescriptions": {
4440
+ "typeIdentifier": "t_address",
4441
+ "typeString": "address"
4442
+ }
4443
+ },
4444
+ "visibility": "internal"
4445
+ },
4446
+ {
4447
+ "constant": false,
4448
+ "id": 8502,
4449
+ "mutability": "mutable",
4450
+ "name": "status",
4451
+ "nameLocation": "858:6:27",
4452
+ "nodeType": "VariableDeclaration",
4453
+ "scope": 8533,
4454
+ "src": "853:11:27",
4455
+ "stateVariable": false,
4456
+ "storageLocation": "default",
4457
+ "typeDescriptions": {
4458
+ "typeIdentifier": "t_bool",
4459
+ "typeString": "bool"
4460
+ },
4461
+ "typeName": {
4462
+ "id": 8501,
4463
+ "name": "bool",
4464
+ "nodeType": "ElementaryTypeName",
4465
+ "src": "853:4:27",
4466
+ "typeDescriptions": {
4467
+ "typeIdentifier": "t_bool",
4468
+ "typeString": "bool"
4469
+ }
4470
+ },
4471
+ "visibility": "internal"
4472
+ },
4473
+ {
4474
+ "constant": false,
4475
+ "id": 8505,
4476
+ "mutability": "mutable",
4477
+ "name": "tier",
4478
+ "nameLocation": "889:4:27",
4479
+ "nodeType": "VariableDeclaration",
4480
+ "scope": 8533,
4481
+ "src": "875:18:27",
4482
+ "stateVariable": false,
4483
+ "storageLocation": "default",
4484
+ "typeDescriptions": {
4485
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
4486
+ "typeString": "enum AccessControl.AuthorityTier"
4487
+ },
4488
+ "typeName": {
4489
+ "id": 8504,
4490
+ "nodeType": "UserDefinedTypeName",
4491
+ "pathNode": {
4492
+ "id": 8503,
4493
+ "name": "AuthorityTier",
4494
+ "nameLocations": [
4495
+ "875:13:27"
4496
+ ],
4497
+ "nodeType": "IdentifierPath",
4498
+ "referencedDeclaration": 8445,
4499
+ "src": "875:13:27"
4500
+ },
4501
+ "referencedDeclaration": 8445,
4502
+ "src": "875:13:27",
4503
+ "typeDescriptions": {
4504
+ "typeIdentifier": "t_enum$_AuthorityTier_$8445",
4505
+ "typeString": "enum AccessControl.AuthorityTier"
4506
+ }
4507
+ },
4508
+ "visibility": "internal"
4509
+ }
4510
+ ],
4511
+ "src": "815:85:27"
4512
+ },
4513
+ "returnParameters": {
4514
+ "id": 8509,
4515
+ "nodeType": "ParameterList",
4516
+ "parameters": [],
4517
+ "src": "920:0:27"
4518
+ },
4519
+ "scope": 8534,
4520
+ "src": "789:320:27",
4521
+ "stateMutability": "nonpayable",
4522
+ "virtual": false,
4523
+ "visibility": "external"
4524
+ }
4525
+ ],
4526
+ "scope": 8535,
4527
+ "src": "116:996:27",
4528
+ "usedErrors": [
4529
+ 13,
4530
+ 18
4531
+ ],
4532
+ "usedEvents": [
4533
+ 24,
4534
+ 8463
4535
+ ]
4536
+ }
4537
+ ],
4538
+ "src": "33:1081:27"
4539
+ },
4540
+ "compiler": {
4541
+ "name": "solc",
4542
+ "version": "0.8.21+commit.d9974bed.Emscripten.clang"
4543
+ },
4544
+ "networks": {},
4545
+ "schemaVersion": "3.4.16",
4546
+ "updatedAt": "2026-01-24T20:23:04.316Z",
4547
+ "devdoc": {
4548
+ "errors": {
4549
+ "OwnableInvalidOwner(address)": [
4550
+ {
4551
+ "details": "The owner is not a valid owner account. (eg. `address(0)`)"
4552
+ }
4553
+ ],
4554
+ "OwnableUnauthorizedAccount(address)": [
4555
+ {
4556
+ "details": "The caller account is not authorized to perform an operation."
4557
+ }
4558
+ ]
4559
+ },
4560
+ "kind": "dev",
4561
+ "methods": {
4562
+ "owner()": {
4563
+ "details": "Returns the address of the current owner."
4564
+ },
4565
+ "renounceOwnership()": {
4566
+ "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
4567
+ },
4568
+ "transferOwnership(address)": {
4569
+ "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
4570
+ }
4571
+ },
4572
+ "version": 1
4573
+ },
4574
+ "userdoc": {
4575
+ "kind": "user",
4576
+ "methods": {},
4577
+ "version": 1
4578
+ }
4579
+ }