Skip to content

Instantly share code, notes, and snippets.

@sekrystal
Created November 22, 2022 15:53
Show Gist options
  • Save sekrystal/6c2b17e2eeccd6d2acb5dbb1fea7dd6e to your computer and use it in GitHub Desktop.
Save sekrystal/6c2b17e2eeccd6d2acb5dbb1fea7dd6e to your computer and use it in GitHub Desktop.
EVM Contracts Constructor #
label_0000:
0000 60 PUSH1 0x80
0002 60 PUSH1 0x40
0004 52 MSTORE
0005 60 PUSH1 0x00
0007 80 DUP1
0008 1B SHL
0009 60 PUSH1 0x40
000B 51 MLOAD
000C 61 PUSH2 0x0014
000F 90 SWAP1
0010 61 PUSH2 0x0086
0013 56 *JUMP
label_0014:
0014 5B JUMPDEST
0015 81 DUP2
0016 90 SWAP1
0017 60 PUSH1 0x40
0019 51 MLOAD
001A 80 DUP1
001B 91 SWAP2
001C 03 SUB
001D 90 SWAP1
001E 60 PUSH1 0x00
0020 F5 CREATE2
0021 90 SWAP1
0022 50 POP
0023 80 DUP1
0024 15 ISZERO
0025 80 DUP1
0026 15 ISZERO
0027 61 PUSH2 0x0034
002A 57 *JUMPI
label_002B:
002B 3D RETURNDATASIZE
002C 60 PUSH1 0x00
002E 80 DUP1
002F 3E RETURNDATACOPY
0030 3D RETURNDATASIZE
0031 60 PUSH1 0x00
0033 FD *REVERT
label_0034:
0034 5B JUMPDEST
0035 50 POP
0036 60 PUSH1 0x00
0038 80 DUP1
0039 61 PUSH2 0x0100
003C 0A EXP
003D 81 DUP2
003E 54 SLOAD
003F 81 DUP2
0040 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0055 02 MUL
0056 19 NOT
0057 16 AND
0058 90 SWAP1
0059 83 DUP4
005A 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
006F 16 AND
0070 02 MUL
0071 17 OR
0072 90 SWAP1
0073 55 SSTORE
0074 50 POP
0075 34 CALLVALUE
0076 80 DUP1
0077 15 ISZERO
0078 61 PUSH2 0x0080
007B 57 *JUMPI
label_007C:
007C 60 PUSH1 0x00
007E 80 DUP1
007F FD *REVERT
label_0080:
0080 5B JUMPDEST
0081 50 POP
0082 61 PUSH2 0x0093
0085 56 *JUMP
label_0086:
0086 5B JUMPDEST
0087 61 PUSH2 0x012b
008A 80 DUP1
008B 61 PUSH2 0x00e0
008E 83 DUP4
008F 39 CODECOPY
0090 01 ADD
0091 90 SWAP1
0092 56 *JUMP
label_0093:
0093 5B JUMPDEST
0094 60 PUSH1 0x3f
0096 80 DUP1
0097 61 PUSH2 0x00a1
009A 60 PUSH1 0x00
009C 39 CODECOPY
009D 60 PUSH1 0x00
009F F3 *RETURN
00A0 FE *ASSERT
00A1 60 PUSH1 0x80
00A3 60 PUSH1 0x40
00A5 52 MSTORE
00A6 60 PUSH1 0x00
00A8 80 DUP1
00A9 FD *REVERT
00AA FE *ASSERT
00AB A2 LOG2
00AC 64 PUSH5 0x6970667358
00B2 22 22
00B3 12 SLT
00B4 20 SHA3
00B5 FB FB
00B6 E7 E7
00B7 17 OR
00B8 03 SUB
00B9 E2 E2
00BA 6E PUSH15 0x2f04db54fc3812dd16a3cca9b7e4f7
00CA F0 CREATE
00CB 7E PUSH31 0x461c0c556d1641c90d64736f6c634300080d00336080604052348015610010
00EB 57 *JUMPI
00EC 60 PUSH1 0x00
00EE 80 DUP1
00EF FD *REVERT
00F0 5B JUMPDEST
00F1 50 POP
00F2 6B PUSH12 0x033b2e3c9fd0803ce8000000
00FF 60 PUSH1 0x00
0101 80 DUP1
0102 33 CALLER
0103 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0118 16 AND
0119 73 PUSH20 0xffffffffffffffffffffffffffffffffffffffff
012E 16 AND
012F 81 DUP2
0130 52 MSTORE
0131 60 PUSH1 0x20
0133 01 ADD
0134 90 SWAP1
0135 81 DUP2
0136 52 MSTORE
0137 60 PUSH1 0x20
0139 01 ADD
013A 60 PUSH1 0x00
013C 20 SHA3
013D 81 DUP2
013E 90 SWAP1
013F 55 SSTORE
0140 50 POP
0141 60 PUSH1 0xbd
0143 80 DUP1
0144 61 PUSH2 0x006e
0147 60 PUSH1 0x00
0149 39 CODECOPY
014A 60 PUSH1 0x00
014C F3 *RETURN
014D FE *ASSERT
014E 60 PUSH1 0x80
0150 60 PUSH1 0x40
0152 52 MSTORE
0153 34 CALLVALUE
0154 80 DUP1
0155 15 ISZERO
0156 60 PUSH1 0x0f
0158 57 *JUMPI
0159 60 PUSH1 0x00
015B 80 DUP1
015C FD *REVERT
015D 5B JUMPDEST
015E 50 POP
015F 60 PUSH1 0x04
0161 36 CALLDATASIZE
0162 10 LT
0163 60 PUSH1 0x28
0165 57 *JUMPI
0166 60 PUSH1 0x00
0168 35 CALLDATALOAD
0169 60 PUSH1 0xe0
016B 1C SHR
016C 80 DUP1
016D 63 PUSH4 0x18160ddd
0172 14 EQ
0173 60 PUSH1 0x2d
0175 57 *JUMPI
0176 5B JUMPDEST
0177 60 PUSH1 0x00
0179 80 DUP1
017A FD *REVERT
017B 5B JUMPDEST
017C 60 PUSH1 0x33
017E 60 PUSH1 0x47
0180 56 *JUMP
0181 5B JUMPDEST
0182 60 PUSH1 0x40
0184 51 MLOAD
0185 60 PUSH1 0x3e
0187 91 SWAP2
0188 90 SWAP1
0189 60 PUSH1 0x6e
018B 56 *JUMP
018C 5B JUMPDEST
018D 60 PUSH1 0x40
018F 51 MLOAD
0190 80 DUP1
0191 91 SWAP2
0192 03 SUB
0193 90 SWAP1
0194 F3 *RETURN
0195 5B JUMPDEST
0196 6B PUSH12 0x033b2e3c9fd0803ce8000000
01A3 81 DUP2
01A4 56 *JUMP
01A5 5B JUMPDEST
01A6 60 PUSH1 0x00
01A8 81 DUP2
01A9 90 SWAP1
01AA 50 POP
01AB 91 SWAP2
01AC 90 SWAP1
01AD 50 POP
01AE 56 *JUMP
01AF 5B JUMPDEST
01B0 60 PUSH1 0x68
01B2 81 DUP2
01B3 60 PUSH1 0x57
01B5 56 *JUMP
01B6 5B JUMPDEST
01B7 82 DUP3
01B8 52 MSTORE
01B9 50 POP
01BA 50 POP
01BB 56 *JUMP
01BC 5B JUMPDEST
01BD 60 PUSH1 0x00
01BF 60 PUSH1 0x20
01C1 82 DUP3
01C2 01 ADD
01C3 90 SWAP1
01C4 50 POP
01C5 60 PUSH1 0x81
01C7 60 PUSH1 0x00
01C9 83 DUP4
01CA 01 ADD
01CB 84 DUP5
01CC 60 PUSH1 0x61
01CE 56 *JUMP
01CF 5B JUMPDEST
01D0 92 SWAP3
01D1 91 SWAP2
01D2 50 POP
01D3 50 POP
01D4 56 *JUMP
01D5 FE *ASSERT
01D6 A2 LOG2
01D7 64 PUSH5 0x6970667358
01DD 22 22
01DE 12 SLT
01DF 20 SHA3
01E0 E9 E9
01E1 8C DUP13
01E2 52 MSTORE
01E3 B4 B4
01E4 CE CE
01E5 BC BC
01E6 21 21
01E7 7F PUSH32 0x7cd697fac8a76189401a6a7bc860e0c9405eefa8e819634864736f6c63430008
0208 0D 0D
0209 00 *STOP
020A 33 CALLER
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment