-
Notifications
You must be signed in to change notification settings - Fork 0
/
12-Voting.json
190 lines (188 loc) · 34.9 KB
/
12-Voting.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
{
"UDL-SC_version" : "1.0",
"name" : "Voting",
"creation_date":"11/03/2022",
"Business Perspective": {
"Business Perspective": {
"Legal":{ "name": "state" , "type":"gouvernemental" ,"link":"https://www.federalreserve.gov/","description" : "The Federal Reserve System is the central bank of the United States."},
"QOS":{ "service level": { "latency": "6ms", "gasConsomation": "1064289 ", "ContractGasPrice":"1064289 "},
"Princing" :{" Gaslimit": "80000000 ", "tokenPrice": "234.56 USD"},
"security" : {"signed": "yes", "tested": "yes", "link":"https://mariachris.github.io/Pubs/FSE-2020-Harvey.pdf", "description":"A state-of-the-art greybox fuzzer for Ethereum smart contracts. It integrates various novel techniques for finding bugs faster and more reliably."}
},
"participants" : {
"provider":"0x5B38Da6a701c568545dCfcB03FcB875f56beddC4",
"FutureUserType":""
},
"sc characteristics ":{
"documentational characteristics":{ "used compiler":"0.5.2+commit.1df8f40c",
"usedRessources":"",
"abi" : [
{
"constant": true,
"inputs": [
{
"name": "ballotId",
"type": "uint256"
}
],
"name": "results",
"outputs": [
{
"components": [
{
"name": "id",
"type": "uint256"
},
{
"name": "name",
"type": "string"
},
{
"name": "votes",
"type": "uint256"
}
],
"name": "",
"type": "tuple[]"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "name",
"type": "string"
},
{
"name": "_choices",
"type": "string[]"
},
{
"name": "offset",
"type": "uint256"
}
],
"name": "createBallot",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_voters",
"type": "address[]"
}
],
"name": "addVoters",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
}
],
"name": "voters",
"outputs": [
{
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "ballotId",
"type": "uint256"
},
{
"name": "choiceId",
"type": "uint256"
}
],
"name": "vote",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "admin",
"outputs": [
{
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
}
],
"deployed byte code" : {
"linkReferences": {},
"object": "608060405234801561001057600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506111f3806100616000396000f3fe608060405234801561001057600080fd5b506004361061007f576000357c0100000000000000000000000000000000000000000000000000000000900480631b0c27da1461008457806320faae8e146100b45780638203373a146100d0578063a3ec138d146100ec578063b384abef1461011c578063f851a44014610138575b600080fd5b61009e60048036036100999190810190610c22565b610156565b6040516100ab9190610f48565b60405180910390f35b6100ce60048036036100c99190810190610ba3565b6102dd565b005b6100ea60048036036100e59190810190610b5e565b6104b9565b005b61010660048036036101019190810190610b35565b6105ef565b6040516101139190610f6a565b60405180910390f35b61013660048036036101319190810190610c4b565b61060f565b005b610140610854565b60405161014d9190610f2d565b60405180910390f35b6060600160008381526020019081526020016000206003015442101515156101b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101aa90611005565b60405180910390fd5b60016000838152602001908152602001600020600201805480602002602001604051908101604052809291908181526020016000905b828210156102d257838290600052602060002090600302016060604051908101604052908160008201548152602001600182018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156102b05780601f10610285576101008083540402835291602001916102b0565b820191906000526020600020905b81548152906001019060200180831161029357829003601f168201915b50505050508152602001600282015481525050815260200190600101906101e9565b505050509050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561036f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036690610fc5565b60405180910390fd5b600254600160006002548152602001908152602001600020600001819055508260016000600254815260200190815260200160002060010190805190602001906103ba92919061087a565b508042016001600060025481526020019081526020016000206003018190555060008090505b82518110156104a157600160006002548152602001908152602001600020600201606060405190810160405280838152602001858481518110151561042157fe5b9060200190602002015181526020016000815250908060018154018082558091505090600182039060005260206000209060030201600090919290919091506000820151816000015560208201518160010190805190602001906104869291906108fa565b506040820151816002015550505080806001019150506103e0565b50600260008154809291906001019190505550505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161054290610fc5565b60405180910390fd5b60008090505b828290508110156105ea576001600080858585818110151561056f57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610551565b505050565b60006020528060005260406000206000915054906101000a900460ff1681565b600115156000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415156106a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069a90610fe5565b60405180910390fd5b60001515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060009054906101000a900460ff161515141515610749576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074090610f85565b60405180910390fd5b6001600083815260200190815260200160002060030154421015156107a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079a90610fa5565b60405180910390fd5b6001600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002060006101000a81548160ff021916908315150217905550600160008381526020019081526020016000206002018181548110151561082f57fe5b9060005260206000209060030201600201600081548092919060010191905055505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106108bb57805160ff19168380011785556108e9565b828001600101855582156108e9579182015b828111156108e85782518255916020019190600101906108cd565b5b5090506108f6919061097a565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061093b57805160ff1916838001178555610969565b82800160010185558215610969579182015b8281111561096857825182559160200191906001019061094d565b5b509050610976919061097a565b5090565b61099c91905b80821115610998576000816000905550600101610980565b5090565b90565b60006109ab823561114a565b905092915050565b60008083601f84011215156109c757600080fd5b8235905067ffffffffffffffff8111156109e057600080fd5b6020830191508360208202830111156109f857600080fd5b9250929050565b600082601f8301121515610a1257600080fd5b8135610a25610a2082611052565b611025565b9150818183526020840193506020810190508360005b83811015610a6b5781358601610a518882610a75565b845260208401935060208301925050600181019050610a3b565b5050505092915050565b600082601f8301121515610a8857600080fd5b8135610a9b610a968261107a565b611025565b91508082526020830160208301858383011115610ab757600080fd5b610ac2838284611166565b50505092915050565b600082601f8301121515610ade57600080fd5b8135610af1610aec826110a6565b611025565b91508082526020830160208301858383011115610b0d57600080fd5b610b18838284611166565b50505092915050565b6000610b2d823561115c565b905092915050565b600060208284031215610b4757600080fd5b6000610b558482850161099f565b91505092915050565b60008060208385031215610b7157600080fd5b600083013567ffffffffffffffff811115610b8b57600080fd5b610b97858286016109b3565b92509250509250929050565b600080600060608486031215610bb857600080fd5b600084013567ffffffffffffffff811115610bd257600080fd5b610bde86828701610acb565b935050602084013567ffffffffffffffff811115610bfb57600080fd5b610c07868287016109ff565b9250506040610c1886828701610b21565b9150509250925092565b600060208284031215610c3457600080fd5b6000610c4284828501610b21565b91505092915050565b60008060408385031215610c5e57600080fd5b6000610c6c85828601610b21565b9250506020610c7d85828601610b21565b9150509250929050565b610c9081611102565b82525050565b6000610ca1826110df565b80845260208401935083602082028501610cba856110d2565b60005b84811015610cf3578383038852610cd5838351610ece565b9250610ce0826110f5565b9150602088019750600181019050610cbd565b508196508694505050505092915050565b610d0d81611114565b82525050565b6000610d1e826110ea565b808452610d32816020860160208601611175565b610d3b816111a8565b602085010191505092915050565b6000602582527f766f7465722063616e206f6e6c7920766f7465206f6e636520666f722061206260208301527f616c6c6f740000000000000000000000000000000000000000000000000000006040830152606082019050919050565b6000602382527f63616e206f6e6c7920766f746520756e74696c2062616c6c6f7420656e64206460208301527f61746500000000000000000000000000000000000000000000000000000000006040830152606082019050919050565b6000600a82527f6f6e6c792061646d696e000000000000000000000000000000000000000000006020830152604082019050919050565b6000601482527f6f6e6c7920766f746572732063616e20766f74650000000000000000000000006020830152604082019050919050565b6000602e82527f63616e6e6f7420736565207468652062616c6c6f7420726573756c742062656660208301527f6f72652062616c6c6f7420656e640000000000000000000000000000000000006040830152606082019050919050565b6000606083016000830151610ee66000860182610f1e565b5060208301518482036020860152610efe8282610d13565b9150506040830151610f136040860182610f1e565b508091505092915050565b610f2781611140565b82525050565b6000602082019050610f426000830184610c87565b92915050565b60006020820190508181036000830152610f628184610c96565b905092915050565b6000602082019050610f7f6000830184610d04565b92915050565b60006020820190508181036000830152610f9e81610d49565b9050919050565b60006020820190508181036000830152610fbe81610da6565b9050919050565b60006020820190508181036000830152610fde81610e03565b9050919050565b60006020820190508181036000830152610ffe81610e3a565b9050919050565b6000602082019050818103600083015261101e81610e71565b9050919050565b6000604051905081810181811067ffffffffffffffff8211171561104857600080fd5b8060405250919050565b600067ffffffffffffffff82111561106957600080fd5b602082029050602081019050919050565b600067ffffffffffffffff82111561109157600080fd5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff8211156110bd57600080fd5b601f19601f8301169050602081019050919050565b6000602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600061110d82611120565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600061115582611120565b9050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015611193578082015181840152602081019050611178565b838111156111a2576000848401525b50505050565b6000601f19601f830116905091905056fea265627a7a72305820af1c24c43a47e1af0b76b86a155e3f133b1a4a7fc456f1863042941212d9f48a6c6578706572696d656e74616cf50037",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLER PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x11F3 DUP1 PUSH2 0x61 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x7F JUMPI PUSH1 0x0 CALLDATALOAD PUSH29 0x100000000000000000000000000000000000000000000000000000000 SWAP1 DIV DUP1 PUSH4 0x1B0C27DA EQ PUSH2 0x84 JUMPI DUP1 PUSH4 0x20FAAE8E EQ PUSH2 0xB4 JUMPI DUP1 PUSH4 0x8203373A EQ PUSH2 0xD0 JUMPI DUP1 PUSH4 0xA3EC138D EQ PUSH2 0xEC JUMPI DUP1 PUSH4 0xB384ABEF EQ PUSH2 0x11C JUMPI DUP1 PUSH4 0xF851A440 EQ PUSH2 0x138 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9E PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH2 0x99 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0xC22 JUMP JUMPDEST PUSH2 0x156 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAB SWAP2 SWAP1 PUSH2 0xF48 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xCE PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH2 0xC9 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0xBA3 JUMP JUMPDEST PUSH2 0x2DD JUMP JUMPDEST STOP JUMPDEST PUSH2 0xEA PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH2 0xE5 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0xB5E JUMP JUMPDEST PUSH2 0x4B9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x106 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH2 0x101 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0xB35 JUMP JUMPDEST PUSH2 0x5EF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x113 SWAP2 SWAP1 PUSH2 0xF6A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x136 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH2 0x131 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0xC4B JUMP JUMPDEST PUSH2 0x60F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x140 PUSH2 0x854 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x14D SWAP2 SWAP1 PUSH2 0xF2D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD SLOAD TIMESTAMP LT ISZERO ISZERO ISZERO PUSH2 0x1B3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1AA SWAP1 PUSH2 0x1005 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD DUP1 PUSH1 0x20 MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 SWAP1 JUMPDEST DUP3 DUP3 LT ISZERO PUSH2 0x2D2 JUMPI DUP4 DUP3 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV DUP1 ISZERO PUSH2 0x2B0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x285 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2B0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x293 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD SLOAD DUP2 MSTORE POP POP DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x1E9 JUMP JUMPDEST POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x36F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x366 SWAP1 PUSH2 0xFC5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x1 PUSH1 0x0 PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD DUP2 SWAP1 SSTORE POP DUP3 PUSH1 0x1 PUSH1 0x0 PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x3BA SWAP3 SWAP2 SWAP1 PUSH2 0x87A JUMP JUMPDEST POP DUP1 TIMESTAMP ADD PUSH1 0x1 PUSH1 0x0 PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 SWAP1 POP JUMPDEST DUP3 MLOAD DUP2 LT ISZERO PUSH2 0x4A1 JUMPI PUSH1 0x1 PUSH1 0x0 PUSH1 0x2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD PUSH1 0x60 PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP5 DUP2 MLOAD DUP2 LT ISZERO ISZERO PUSH2 0x421 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x20 ADD SWAP1 PUSH1 0x20 MUL ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP SWAP1 PUSH1 0x1 DUP3 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP3 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x486 SWAP3 SWAP2 SWAP1 PUSH2 0x8FA JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SSTORE POP POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x3E0 JUMP JUMPDEST POP PUSH1 0x2 PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x1 ADD SWAP2 SWAP1 POP SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO ISZERO PUSH2 0x54B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x542 SWAP1 PUSH2 0xFC5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 SWAP1 POP JUMPDEST DUP3 DUP3 SWAP1 POP DUP2 LT ISZERO PUSH2 0x5EA JUMPI PUSH1 0x1 PUSH1 0x0 DUP1 DUP6 DUP6 DUP6 DUP2 DUP2 LT ISZERO ISZERO PUSH2 0x56F JUMPI INVALID JUMPDEST SWAP1 POP PUSH1 0x20 MUL ADD CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x551 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x1 ISZERO ISZERO PUSH1 0x0 DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ ISZERO ISZERO PUSH2 0x6A3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x69A SWAP1 PUSH2 0xFE5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 ISZERO ISZERO PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ ISZERO ISZERO PUSH2 0x749 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x740 SWAP1 PUSH2 0xF85 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x3 ADD SLOAD TIMESTAMP LT ISZERO ISZERO PUSH2 0x7A3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x79A SWAP1 PUSH2 0xFA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP2 DUP2 SLOAD DUP2 LT ISZERO ISZERO PUSH2 0x82F JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x3 MUL ADD PUSH1 0x2 ADD PUSH1 0x0 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH1 0x1 ADD SWAP2 SWAP1 POP SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x8BB JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x8E9 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x8E9 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x8E8 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x8CD JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x8F6 SWAP2 SWAP1 PUSH2 0x97A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH1 0x1 DUP2 PUSH1 0x1 AND ISZERO PUSH2 0x100 MUL SUB AND PUSH1 0x2 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH1 0x1F LT PUSH2 0x93B JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x969 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x969 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x968 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x94D JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x976 SWAP2 SWAP1 PUSH2 0x97A JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH2 0x99C SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x998 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x980 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9AB DUP3 CALLDATALOAD PUSH2 0x114A JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1F DUP5 ADD SLT ISZERO ISZERO PUSH2 0x9C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP1 POP PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x9E0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP4 ADD SWAP2 POP DUP4 PUSH1 0x20 DUP3 MUL DUP4 ADD GT ISZERO PUSH2 0x9F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT ISZERO ISZERO PUSH2 0xA12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xA25 PUSH2 0xA20 DUP3 PUSH2 0x1052 JUMP JUMPDEST PUSH2 0x1025 JUMP JUMPDEST SWAP2 POP DUP2 DUP2 DUP4 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP2 ADD SWAP1 POP DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA6B JUMPI DUP2 CALLDATALOAD DUP7 ADD PUSH2 0xA51 DUP9 DUP3 PUSH2 0xA75 JUMP JUMPDEST DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP PUSH1 0x20 DUP4 ADD SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xA3B JUMP JUMPDEST POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT ISZERO ISZERO PUSH2 0xA88 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xA9B PUSH2 0xA96 DUP3 PUSH2 0x107A JUMP JUMPDEST PUSH2 0x1025 JUMP JUMPDEST SWAP2 POP DUP1 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP4 ADD DUP6 DUP4 DUP4 ADD GT ISZERO PUSH2 0xAB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAC2 DUP4 DUP3 DUP5 PUSH2 0x1166 JUMP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT ISZERO ISZERO PUSH2 0xADE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0xAF1 PUSH2 0xAEC DUP3 PUSH2 0x10A6 JUMP JUMPDEST PUSH2 0x1025 JUMP JUMPDEST SWAP2 POP DUP1 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP4 ADD DUP6 DUP4 DUP4 ADD GT ISZERO PUSH2 0xB0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB18 DUP4 DUP3 DUP5 PUSH2 0x1166 JUMP JUMPDEST POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xB2D DUP3 CALLDATALOAD PUSH2 0x115C JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB47 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xB55 DUP5 DUP3 DUP6 ADD PUSH2 0x99F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x20 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB71 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB8B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB97 DUP6 DUP3 DUP7 ADD PUSH2 0x9B3 JUMP JUMPDEST SWAP3 POP SWAP3 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xBB8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBD2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xBDE DUP7 DUP3 DUP8 ADD PUSH2 0xACB JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xBFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC07 DUP7 DUP3 DUP8 ADD PUSH2 0x9FF JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xC18 DUP7 DUP3 DUP8 ADD PUSH2 0xB21 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xC34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xC42 DUP5 DUP3 DUP6 ADD PUSH2 0xB21 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC5E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xC6C DUP6 DUP3 DUP7 ADD PUSH2 0xB21 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xC7D DUP6 DUP3 DUP7 ADD PUSH2 0xB21 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xC90 DUP2 PUSH2 0x1102 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCA1 DUP3 PUSH2 0x10DF JUMP JUMPDEST DUP1 DUP5 MSTORE PUSH1 0x20 DUP5 ADD SWAP4 POP DUP4 PUSH1 0x20 DUP3 MUL DUP6 ADD PUSH2 0xCBA DUP6 PUSH2 0x10D2 JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP5 DUP2 LT ISZERO PUSH2 0xCF3 JUMPI DUP4 DUP4 SUB DUP9 MSTORE PUSH2 0xCD5 DUP4 DUP4 MLOAD PUSH2 0xECE JUMP JUMPDEST SWAP3 POP PUSH2 0xCE0 DUP3 PUSH2 0x10F5 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP9 ADD SWAP8 POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xCBD JUMP JUMPDEST POP DUP2 SWAP7 POP DUP7 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xD0D DUP2 PUSH2 0x1114 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD1E DUP3 PUSH2 0x10EA JUMP JUMPDEST DUP1 DUP5 MSTORE PUSH2 0xD32 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1175 JUMP JUMPDEST PUSH2 0xD3B DUP2 PUSH2 0x11A8 JUMP JUMPDEST PUSH1 0x20 DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x25 DUP3 MSTORE PUSH32 0x766F7465722063616E206F6E6C7920766F7465206F6E636520666F7220612062 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x616C6C6F74000000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x23 DUP3 MSTORE PUSH32 0x63616E206F6E6C7920766F746520756E74696C2062616C6C6F7420656E642064 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6174650000000000000000000000000000000000000000000000000000000000 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA DUP3 MSTORE PUSH32 0x6F6E6C792061646D696E00000000000000000000000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x14 DUP3 MSTORE PUSH32 0x6F6E6C7920766F746572732063616E20766F7465000000000000000000000000 PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2E DUP3 MSTORE PUSH32 0x63616E6E6F7420736565207468652062616C6C6F7420726573756C7420626566 PUSH1 0x20 DUP4 ADD MSTORE PUSH32 0x6F72652062616C6C6F7420656E64000000000000000000000000000000000000 PUSH1 0x40 DUP4 ADD MSTORE PUSH1 0x60 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0xEE6 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0xF1E JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x20 DUP7 ADD MSTORE PUSH2 0xEFE DUP3 DUP3 PUSH2 0xD13 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xF13 PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0xF1E JUMP JUMPDEST POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xF27 DUP2 PUSH2 0x1140 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF42 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC87 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF62 DUP2 DUP5 PUSH2 0xC96 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF7F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD04 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF9E DUP2 PUSH2 0xD49 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xFBE DUP2 PUSH2 0xDA6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xFDE DUP2 PUSH2 0xE03 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xFFE DUP2 PUSH2 0xE3A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x101E DUP2 PUSH2 0xE71 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP DUP2 DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x1048 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH1 0x40 MSTORE POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1069 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP3 MUL SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1091 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x10BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x110D DUP3 PUSH2 0x1120 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1155 DUP3 PUSH2 0x1120 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1193 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1178 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x11A2 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH6 0x627A7A723058 KECCAK256 0xaf SHR 0x24 0xc4 GASPRICE 0x47 0xe1 0xaf SIGNEXTEND PUSH23 0xB86A155E3F133B1A4A7FC456F1863042941212D9F48A6C PUSH6 0x78706572696D PUSH6 0x6E74616CF500 CALLDATACOPY ",
"sourceMap": "60:2504:0:-;;;430:52;8:9:-1;5:2;;;30:1;27;20:12;5:2;430:52:0;466:10;458:5;;:18;;;;;;;;;;;;;;;;;;60:2504;;;;;;"
},
"description" : "a contract to vote, to create ballot and to get results of ballotId",
"hash":"0x982e3a5af6d756529bef253fe86590cf4afa2c3bbe1cc8291a68040c16ac2034",
"metadata":""},
"common characteristics":{"type":"Application logic contracts (ALCs)",
"category":"static", "updateDate":"","state":"mutable","version":"solidity ^0.5.2 + experimental ABIEncoderV2", "initialBalance ": "0"
,"creationDate":"5/1/2021", "lifeCycle":"ready"}}},
"technical Perspective":{ "blockhain characteristics ":{ "name":"Ethereum", "type":"public", "consensus":"proof of stacke","currency":"ETH"},
"Protocol information":{ "adress":"0x5B38Da6a701c568545dCfcB03FcB875f56beddC4"}
},
"operationalPerspective":{
"Functions" : [
{"name": "createBallot",
"Type": "",
"scope" : "public ",
"description": "create ballot for only admin (modifier)",
"inputs":[{"name": "name", "Type": "String" },{"name": "_choices", "Type": "string[]" },{"name": "offset", "Type": "uint" }],
"outputs": [{"name": "" , "Type": "" }]
},
{"name": "vote",
"Type": "external",
"scope" : "",
"description": "voting ",
"inputs":[{"name": "ballotId", "Type": "uint" },{"name": "choiceId", "Type": "uint" }],
"outputs": []
},
{"name": "results",
"Type": "view external",
"scope" : "",
"description": "return choice[]( uint id; string name; uint votes;",
"inputs":[{"name": "ballotId", "Type": "uint" }],
"outputs": [{"name": "memory" , "Type": "Choice[] " }]
}],
"Events": [
]
}
}