169 #define ANY_PUSH PUSH1: \ 170 case Instruction::PUSH2: \ 171 case Instruction::PUSH3: \ 172 case Instruction::PUSH4: \ 173 case Instruction::PUSH5: \ 174 case Instruction::PUSH6: \ 175 case Instruction::PUSH7: \ 176 case Instruction::PUSH8: \ 177 case Instruction::PUSH9: \ 178 case Instruction::PUSH10: \ 179 case Instruction::PUSH11: \ 180 case Instruction::PUSH12: \ 181 case Instruction::PUSH13: \ 182 case Instruction::PUSH14: \ 183 case Instruction::PUSH15: \ 184 case Instruction::PUSH16: \ 185 case Instruction::PUSH17: \ 186 case Instruction::PUSH18: \ 187 case Instruction::PUSH19: \ 188 case Instruction::PUSH20: \ 189 case Instruction::PUSH21: \ 190 case Instruction::PUSH22: \ 191 case Instruction::PUSH23: \ 192 case Instruction::PUSH24: \ 193 case Instruction::PUSH25: \ 194 case Instruction::PUSH26: \ 195 case Instruction::PUSH27: \ 196 case Instruction::PUSH28: \ 197 case Instruction::PUSH29: \ 198 case Instruction::PUSH30: \ 199 case Instruction::PUSH31: \ 200 case Instruction::PUSH32 202 #define ANY_DUP DUP1: \ 203 case Instruction::DUP2: \ 204 case Instruction::DUP3: \ 205 case Instruction::DUP4: \ 206 case Instruction::DUP5: \ 207 case Instruction::DUP6: \ 208 case Instruction::DUP7: \ 209 case Instruction::DUP8: \ 210 case Instruction::DUP9: \ 211 case Instruction::DUP10: \ 212 case Instruction::DUP11: \ 213 case Instruction::DUP12: \ 214 case Instruction::DUP13: \ 215 case Instruction::DUP14: \ 216 case Instruction::DUP15: \ 217 case Instruction::DUP16 219 #define ANY_SWAP SWAP1: \ 220 case Instruction::SWAP2: \ 221 case Instruction::SWAP3: \ 222 case Instruction::SWAP4: \ 223 case Instruction::SWAP5: \ 224 case Instruction::SWAP6: \ 225 case Instruction::SWAP7: \ 226 case Instruction::SWAP8: \ 227 case Instruction::SWAP9: \ 228 case Instruction::SWAP10: \ 229 case Instruction::SWAP11: \ 230 case Instruction::SWAP12: \ 231 case Instruction::SWAP13: \ 232 case Instruction::SWAP14: \ 233 case Instruction::SWAP15: \ 234 case Instruction::SWAP16 modulo remainder operation
Adapted from code found on http://stackoverflow.com/questions/180947/base64-decode-snippet-in-c Origi...
get hash of most recent complete block
get the block's difficulty
get the block's gas limit
get balance of the given account
place 3 byte item on stack
message-call into an account
copies the 10th highest item in the stack to the top of the stack
Makes a log entry; no topics.
place 17 byte item on stack
copy input data in current environment to memory
swaps the highest and 15th highest value on the stack
SHA3 message digest base class.
swaps the highest and 5th highest value on the stack
halt execution returning output data
place 30 byte item on stack
copies the second highest item in the stack to the top of the stack
swaps the highest and 7th highest value on the stack
copies the 11th highest item in the stack to the top of the stack
place 2 byte item on stack
place 7 byte item on stack
place 22 byte item on stack
swaps the highest and 8th highest value on the stack
place 6 byte item on stack
Makes a log entry; 3 topics.
place 8 byte item on stack
swaps the highest and 17th highest value on the stack
halt execution and register account for later deletion
get the block's number
Instruction
Virtual machine bytecode instruction.
place 5 byte item on stack
swaps the highest and 6th highest value on the stack
integer division operation
place 11 byte item on stack
copies the 8th highest item in the stack to the top of the stack
get address of currently executing account
copy external code (from another contract)
get the block's coinbase address
place 16 byte item on stack
copies the 5th highest item in the stack to the top of the stack
byte const * code_iterator
swaps the highest and 4th highest value on the stack
#define LT(i, a, b, c, d, e)
retrieve single byte from word
place 21 byte item on stack
Makes a log entry; 2 topics.
copies the 15th highest item in the stack to the top of the stack
place 13 byte item on stack
get external code size (from another contract)
copies the 6th highest item in the stack to the top of the stack
place 4 byte item on stack
swaps the highest and 13th highest value on the stack
unsigned modular multiplication
void skipPushData(code_iterator &_curr, code_iterator _end)
Skips PUSH data in pointed fragment of bytecode.
swaps the highest and 9th highest value on the stack
place 9 byte item on stack
extend length of signed integer
place 12 byte item on stack
get execution origination address
place 23 byte item on stack
copies the 14th highest item in the stack to the top of the stack
place 29 byte item on stack
place 26 byte item on stack
create a new account with associated code
place 15 byte item on stack
get deposited value by the instruction/transaction responsible for this execution ...
signed integer division operation
get the block's timestamp
get size of code running in current environment
alter the program counter
place 31 byte item on stack
swaps the highest and second highest value on the stack
place 28 byte item on stack
place 10 byte item on stack
signed less-than comparision
get size of input data in current environment
signed greater-than comparision
copies the highest item in the stack to the top of the stack
get price of gas in current environment
copies the 12th highest item in the stack to the top of the stack
get the amount of available gas
place 19 byte item on stack
place 14 byte item on stack
copies the 9th highest item in the stack to the top of the stack
copies the 7th highest item in the stack to the top of the stack
place 24 byte item on stack
set a potential jump destination
message-call with another account's code only
swaps the highest and 16th highest value on the stack
swaps the highest and 12th highest value on the stack
copies the 4th highest item in the stack to the top of the stack
place 20 byte item on stack
place 25 byte item on stack
place 18 byte item on stack
copy code running in current environment to memory
like CALLCODE but keeps caller's value and sender (only from homestead on)
copies the 13th highest item in the stack to the top of the stack
conditionally alter the program counter
llvm::APInt readPushData(code_iterator &_curr, code_iterator _end)
Reads PUSH data from pointed fragment of bytecode and constructs number out of it Reading out of byte...
swaps the highest and 11th highest value on the stack
swaps the highest and third highest value on the stack
place 1 byte item on stack
unsigned modular addition
copies the third highest item in the stack to the top of the stack
signed modulo remainder operation
swaps the highest and 10th highest value on the stack
copies the 16th highest item in the stack to the top of the stack
place 32 byte item on stack
place 27 byte item on stack
Makes a log entry; 1 topic.
get input data of current environment
swaps the highest and 14th highest value on the stack
Makes a log entry; 4 topics.