Last active
April 27, 2017 15:45
-
-
Save Arachnid/cdafbdfb844fd46a58ea6eab7d84e968 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0x13 JUMPI(:label0, !(CALLDATALOAD(0x0) / 0x2 ** 0xE0 == 0x178B8BF)) | |
# resolver(bytes32 node) | |
0x1A MSTORE(0x40, SLOAD(CALLDATALOAD(0x4))) | |
0x1F RETURN(0x40, 0x20) | |
:label0 | |
0x34 JUMPI(:label1, !(CALLDATALOAD(0x0) / 0x2 ** 0xE0 == 0x2571BE3)) | |
# owner(bytes32 node) | |
0x3E MSTORE(0x40, SLOAD(CALLDATALOAD(0x4) + 0x20)) | |
0x43 RETURN(0x40, 0x20) | |
:label1 | |
0x58 JUMPI(:label2, !(CALLDATALOAD(0x0) / 0x2 ** 0xE0 == 0x16A25CBD)) | |
# ttl(bytes32 node) | |
0x62 MSTORE(0x40, SLOAD(CALLDATALOAD(0x4) + 0x40)) | |
0x67 RETURN(0x40, 0x20) | |
:label2 | |
0x7C JUMPI(:label4, !(CALLDATALOAD(0x0) / 0x2 ** 0xE0 == 0x5B0FC9C3)) | |
# setOwner(bytes32 node, address owner) | |
0x8B JUMPI(:label3, !!(CALLER() == SLOAD(CALLDATALOAD(0x4) + 0x20))) | |
# Caller does not own record | |
0x8E JUMP(0x2) | |
:label3 | |
# Store the new owner | |
0x99 SSTORE(CALLDATALOAD(0x4) + 0x20, CALLDATALOAD(0x24)) | |
# Assemble log arguments | |
0x9F MSTORE(0x40, CALLDATALOAD(0x24)) | |
0xA3 PUSH(0x19) | |
0xA5 DUP1 | |
0xAB CODECOPY(0x0, 0x201, POP()) | |
0xB3 LOG2(0x40, 0x20, SHA3(0x0, POP()), CALLDATALOAD(0x4)) | |
0xB4 STOP() | |
:label4 | |
0xC9 JUMPI(:label6, !(CALLDATALOAD(0x0) / 0x2 ** 0xE0 == 0x6AB5923)) | |
# setSubnodeOwner(bytes32 node, bytes32 label, address owner) | |
0xD8 JUMPI(:label5, !!(CALLER() == SLOAD(CALLDATALOAD(0x4) + 0x20))) | |
# Caller does not own record | |
0xDB JUMP(0x2) | |
:label5 | |
# Hash node and label together | |
0xE7 MSTORE(0x0, CALLDATALOAD(0x4)) | |
0xED MSTORE(0x20, CALLDATALOAD(0x24)) | |
# Store new subnode owner | |
0xF4 SSTORE(SHA3(0x0, 0x40) + 0x20, CALLDATALOAD(0x44)) | |
# Construct log arguments | |
0xFA MSTORE(0x40, CALLDATALOAD(0x44)) | |
0x101 PUSH(0x21) | |
0x103 DUP1 | |
0x109 CODECOPY(0x0, 0x1E0, POP()) | |
0x111 LOG3(0x40, 0x20, SHA3(0x0, POP()), CALLDATALOAD(0x4), CALLDATALOAD(0x24)) | |
0x112 STOP() | |
:label6 | |
0x127 JUMPI(:label8, !(CALLDATALOAD(0x0) / 0x2 ** 0xE0 == 0x1896F70A)) | |
# setResolver(bytes32 node, address resolver) | |
0x136 JUMPI(:label7, !!(CALLER() == SLOAD(CALLDATALOAD(0x4) + 0x20))) | |
# Caller does not own record | |
0x139 JUMP(0x2) | |
:label7 | |
# Store new resolver | |
0x141 SSTORE(CALLDATALOAD(0x4), CALLDATALOAD(0x24)) | |
# Construct log arguments | |
0x147 MSTORE(0x40, CALLDATALOAD(0x24)) | |
0x14B PUSH(0x1C) | |
0x14D DUP1 | |
0x153 CODECOPY(0x0, 0x1C4, POP()) | |
0x15B LOG2(0x40, 0x20, SHA3(0x0, POP()), CALLDATALOAD(0x4)) | |
0x15C STOP() | |
:label8 | |
0x171 JUMPI(:label10, !(CALLDATALOAD(0x0) / 0x2 ** 0xE0 == 0x14AB9038)) | |
# setTTL(bytes32 node, uint64 ttl) | |
0x180 JUMPI(:label9, !!(CALLER() == SLOAD(CALLDATALOAD(0x4) + 0x20))) | |
# Caller does not own record | |
0x183 JUMP(0x2) | |
:label9 | |
# Store new TTL | |
0x18E SSTORE(CALLDATALOAD(0x4) + 0x40, CALLDATALOAD(0x24)) | |
# Construct log arguments | |
0x194 MSTORE(0x40, CALLDATALOAD(0x24)) | |
0x198 PUSH(0x16) | |
0x19A DUP1 | |
0x1A0 CODECOPY(0x0, 0x1AE, POP()) | |
0x1A8 LOG2(0x40, 0x20, SHA3(0x0, POP()), CALLDATALOAD(0x4)) | |
0x1A9 STOP() | |
:label10 | |
0x1AD JUMP(0x2) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment