OPCODE DISASSEMBLY

Init Code Opcodes

Complete instruction-by-instruction disassembly of the 654-byte init code.Every EVM opcode decoded and explained.

424 instructions|654 bytes|7 sections|32 annotated
Etherscan
OffsetOpcodeDescription
Init SetupFree Memory Pointer0x0000–0x0004 · 5 bytes · 3 instructionsDetails
0x0000PUSH1Push 1 byte onto stack
0x80
0x0002PUSH1Push 1 byte onto stack
0x40
0x0004MSTOREStore 32 bytes to memory
Init SetupNonpayable Guard0x0005–0x0012 · 14 bytes · 10 instructionsDetails
0x0005CALLVALUEGet msg.value (ETH sent)
0x0006DUP1Duplicate 1st stack item
0x0007ISZEROIs zero? (a == 0)
0x0008PUSH3Push 3 bytes onto stack
0x000011
0x000cJUMPIConditional jump
0x000dPUSH1Push 1 byte onto stack
0x00
0x000fDUP1Duplicate 1st stack item
0x0010REVERTRevert with data
0x0011JUMPDESTValid jump destination
0x0012POPRemove top stack item
String EncodingToken Name & Symbol Encoding0x0013–0x0067 · 85 bytes · 48 instructionsDetails
0x0013CALLERGet msg.sender
0x0014PUSH1Push 1 byte onto stack
0x40
0x0016MLOADLoad 32 bytes from memory
0x0017DUP1Duplicate 1st stack item
0x0018PUSH1Push 1 byte onto stack
0x40
0x001aADDAddition (a + b)
0x001bPUSH1Push 1 byte onto stack
0x40
0x001dMSTOREStore 32 bytes to memory
0x001eDUP1Duplicate 1st stack item
0x001fPUSH1Push 1 byte onto stack
0x0c
0x0021DUP2Duplicate 2nd stack item
0x0022MSTOREStore 32 bytes to memory
0x0023PUSH1Push 1 byte onto stack
0x20
0x0025ADDAddition (a + b)
0x0026PUSH12Push 12 bytes onto stack
0x22b33337b93a102a37b5b2b7
0x0033PUSH1Push 1 byte onto stack
0xa1
0x0035SHLShift left
0x0036DUP2Duplicate 2nd stack item
0x0037MSTOREStore 32 bytes to memory
0x0038POPRemove top stack item
0x0039PUSH1Push 1 byte onto stack
0x40
0x003bMLOADLoad 32 bytes from memory
0x003cDUP1Duplicate 1st stack item
0x003dPUSH1Push 1 byte onto stack
0x40
0x003fADDAddition (a + b)
0x0040PUSH1Push 1 byte onto stack
0x40
0x0042MSTOREStore 32 bytes to memory
0x0043DUP1Duplicate 1st stack item
0x0044PUSH1Push 1 byte onto stack
0x06
0x0046DUP2Duplicate 2nd stack item
0x0047MSTOREStore 32 bytes to memory
0x0048PUSH1Push 1 byte onto stack
0x20
0x004aADDAddition (a + b)
0x004bPUSH6Push 6 bytes onto stack
0x11519193d495
0x0052PUSH1Push 1 byte onto stack
0xd2
0x0054SHLShift left
0x0055DUP2Duplicate 2nd stack item
0x0056MSTOREStore 32 bytes to memory
0x0057POPRemove top stack item
0x0058DUP2Duplicate 2nd stack item
0x0059PUSH1Push 1 byte onto stack
0x03
0x005bSWAP1Swap top with 2nd stack item
0x005cDUP2Duplicate 2nd stack item
0x005dPUSH3Push 3 bytes onto stack
0x000068
0x0061SWAP2Swap top with 3rd stack item
0x0062SWAP1Swap top with 2nd stack item
0x0063PUSH3Push 3 bytes onto stack
0x0001b2
0x0067JUMPUnconditional jump
ConstructorERC20 & Ownable Storage Initialization0x0068–0x00BA · 83 bytes · 51 instructionsDetails
0x0068JUMPDESTValid jump destination
0x0069POPRemove top stack item
0x006aPUSH1Push 1 byte onto stack
0x04
0x006cPUSH3Push 3 bytes onto stack
0x000077
0x0070DUP3Duplicate 3rd stack item
0x0071DUP3Duplicate 3rd stack item
0x0072PUSH3Push 3 bytes onto stack
0x0001b2
0x0076JUMPUnconditional jump
0x0077JUMPDESTValid jump destination
0x0078POPRemove top stack item
0x0079POPRemove top stack item
0x007aPOPRemove top stack item
0x007bPUSH1Push 1 byte onto stack
0x01
0x007dPUSH1Push 1 byte onto stack
0x01
0x007fPUSH1Push 1 byte onto stack
0xa0
0x0081SHLShift left
0x0082SUBSubtraction (a - b)
0x0083DUP2Duplicate 2nd stack item
0x0084ANDBitwise AND
0x0085PUSH3Push 3 bytes onto stack
0x0000a9
0x0089JUMPIConditional jump
0x008aPUSH1Push 1 byte onto stack
0x40
0x008cMLOADLoad 32 bytes from memory
0x008dPUSH4Push 4 bytes onto stack
0x1e4fbdf7
0x0092PUSH1Push 1 byte onto stack
0xe0
0x0094SHLShift left
0x0095DUP2Duplicate 2nd stack item
0x0096MSTOREStore 32 bytes to memory
0x0097PUSH1Push 1 byte onto stack
0x00
0x0099PUSH1Push 1 byte onto stack
0x04
0x009bDUP3Duplicate 3rd stack item
0x009cADDAddition (a + b)
0x009dMSTOREStore 32 bytes to memory
0x009ePUSH1Push 1 byte onto stack
0x24
0x00a0ADDAddition (a + b)
0x00a1PUSH1Push 1 byte onto stack
0x40
0x00a3MLOADLoad 32 bytes from memory
0x00a4DUP1Duplicate 1st stack item
0x00a5SWAP2Swap top with 3rd stack item
0x00a6SUBSubtraction (a - b)
0x00a7SWAP1Swap top with 2nd stack item
0x00a8REVERTRevert with data
0x00a9JUMPDESTValid jump destination
0x00aaPUSH3Push 3 bytes onto stack
0x0000b4
0x00aeDUP2Duplicate 2nd stack item
0x00afPUSH3Push 3 bytes onto stack
0x0000bb
0x00b3JUMPUnconditional jump
0x00b4JUMPDESTValid jump destination
0x00b5POPRemove top stack item
0x00b6PUSH3Push 3 bytes onto stack
0x00027e
0x00baJUMPUnconditional jump
Constructor_transferOwnership Internal Function0x00BB–0x010C · 82 bytes · 41 instructionsDetails
0x00bbJUMPDESTValid jump destination
0x00bcPUSH1Push 1 byte onto stack
0x05
0x00beDUP1Duplicate 1st stack item
0x00bfSLOADLoad from storage
0x00c0PUSH1Push 1 byte onto stack
0x01
0x00c2PUSH1Push 1 byte onto stack
0x01
0x00c4PUSH1Push 1 byte onto stack
0xa0
0x00c6SHLShift left
0x00c7SUBSubtraction (a - b)
0x00c8DUP4Duplicate 4th stack item
0x00c9DUP2Duplicate 2nd stack item
0x00caANDBitwise AND
0x00cbPUSH1Push 1 byte onto stack
0x01
0x00cdPUSH1Push 1 byte onto stack
0x01
0x00cfPUSH1Push 1 byte onto stack
0xa0
0x00d1SHLShift left
0x00d2SUBSubtraction (a - b)
0x00d3NOTBitwise NOT
0x00d4DUP4Duplicate 4th stack item
0x00d5ANDBitwise AND
0x00d6DUP2Duplicate 2nd stack item
0x00d7ORBitwise OR
0x00d8SWAP1Swap top with 2nd stack item
0x00d9SWAP4Swap top with 5th stack item
0x00daSSTOREStore to storage
0x00dbPUSH1Push 1 byte onto stack
0x40
0x00ddMLOADLoad 32 bytes from memory
0x00deSWAP2Swap top with 3rd stack item
0x00dfANDBitwise AND
0x00e0SWAP2Swap top with 3rd stack item
0x00e1SWAP1Swap top with 2nd stack item
0x00e2DUP3Duplicate 3rd stack item
0x00e3SWAP1Swap top with 2nd stack item
0x00e4PUSH32Push 32 bytes onto stack
0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0x0105SWAP1Swap top with 2nd stack item
0x0106PUSH1Push 1 byte onto stack
0x00
0x0108SWAP1Swap top with 2nd stack item
0x0109LOG3Emit log with 3 topics
0x010aPOPRemove top stack item
0x010bPOPRemove top stack item
0x010cJUMPUnconditional jump
InternalSolidity Internal Helpers0x010D–0x027D · 369 bytes · 262 instructionsDetails
0x010dJUMPDESTValid jump destination
0x010ePUSH4Push 4 bytes onto stack
0x4e487b71
0x0113PUSH1Push 1 byte onto stack
0xe0
0x0115SHLShift left
0x0116PUSH1Push 1 byte onto stack
0x00
0x0118MSTOREStore 32 bytes to memory
0x0119PUSH1Push 1 byte onto stack
0x41
0x011bPUSH1Push 1 byte onto stack
0x04
0x011dMSTOREStore 32 bytes to memory
0x011ePUSH1Push 1 byte onto stack
0x24
0x0120PUSH1Push 1 byte onto stack
0x00
0x0122REVERTRevert with data
0x0123JUMPDESTValid jump destination
0x0124PUSH1Push 1 byte onto stack
0x01
0x0126DUP2Duplicate 2nd stack item
0x0127DUP2Duplicate 2nd stack item
0x0128SHRShift right (logical)
0x0129SWAP1Swap top with 2nd stack item
0x012aDUP3Duplicate 3rd stack item
0x012bANDBitwise AND
0x012cDUP1Duplicate 1st stack item
0x012dPUSH3Push 3 bytes onto stack
0x000138
0x0131JUMPIConditional jump
0x0132PUSH1Push 1 byte onto stack
0x7f
0x0134DUP3Duplicate 3rd stack item
0x0135ANDBitwise AND
0x0136SWAP2Swap top with 3rd stack item
0x0137POPRemove top stack item
0x0138JUMPDESTValid jump destination
0x0139PUSH1Push 1 byte onto stack
0x20
0x013bDUP3Duplicate 3rd stack item
0x013cLTLess than (a < b)
0x013dDUP2Duplicate 2nd stack item
0x013eSUBSubtraction (a - b)
0x013fPUSH3Push 3 bytes onto stack
0x000159
0x0143JUMPIConditional jump
0x0144PUSH4Push 4 bytes onto stack
0x4e487b71
0x0149PUSH1Push 1 byte onto stack
0xe0
0x014bSHLShift left
0x014cPUSH1Push 1 byte onto stack
0x00
0x014eMSTOREStore 32 bytes to memory
0x014fPUSH1Push 1 byte onto stack
0x22
0x0151PUSH1Push 1 byte onto stack
0x04
0x0153MSTOREStore 32 bytes to memory
0x0154PUSH1Push 1 byte onto stack
0x24
0x0156PUSH1Push 1 byte onto stack
0x00
0x0158REVERTRevert with data
0x0159JUMPDESTValid jump destination
0x015aPOPRemove top stack item
0x015bSWAP2Swap top with 3rd stack item
0x015cSWAP1Swap top with 2nd stack item
0x015dPOPRemove top stack item
0x015eJUMPUnconditional jump
0x015fJUMPDESTValid jump destination
0x0160PUSH1Push 1 byte onto stack
0x1f
0x0162DUP3Duplicate 3rd stack item
0x0163GTGreater than (a > b)
0x0164ISZEROIs zero? (a == 0)
0x0165PUSH3Push 3 bytes onto stack
0x0001ad
0x0169JUMPIConditional jump
0x016aPUSH1Push 1 byte onto stack
0x00
0x016cDUP2Duplicate 2nd stack item
0x016dDUP2Duplicate 2nd stack item
0x016eMSTOREStore 32 bytes to memory
0x016fPUSH1Push 1 byte onto stack
0x20
0x0171DUP2Duplicate 2nd stack item
0x0172KECCAK256Compute Keccak-256 hash
0x0173PUSH1Push 1 byte onto stack
0x1f
0x0175DUP6Duplicate 6th stack item
0x0176ADDAddition (a + b)
0x0177PUSH1Push 1 byte onto stack
0x05
0x0179SHRShift right (logical)
0x017aDUP2Duplicate 2nd stack item
0x017bADDAddition (a + b)
0x017cPUSH1Push 1 byte onto stack
0x20
0x017eDUP7Duplicate 7th stack item
0x017fLTLess than (a < b)
0x0180ISZEROIs zero? (a == 0)
0x0181PUSH3Push 3 bytes onto stack
0x000188
0x0185JUMPIConditional jump
0x0186POPRemove top stack item
0x0187DUP1Duplicate 1st stack item
0x0188JUMPDESTValid jump destination
0x0189PUSH1Push 1 byte onto stack
0x1f
0x018bDUP6Duplicate 6th stack item
0x018cADDAddition (a + b)
0x018dPUSH1Push 1 byte onto stack
0x05
0x018fSHRShift right (logical)
0x0190DUP3Duplicate 3rd stack item
0x0191ADDAddition (a + b)
0x0192SWAP2Swap top with 3rd stack item
0x0193POPRemove top stack item
0x0194JUMPDESTValid jump destination
0x0195DUP2Duplicate 2nd stack item
0x0196DUP2Duplicate 2nd stack item
0x0197LTLess than (a < b)
0x0198ISZEROIs zero? (a == 0)
0x0199PUSH3Push 3 bytes onto stack
0x0001a9
0x019dJUMPIConditional jump
0x019eDUP3Duplicate 3rd stack item
0x019fDUP2Duplicate 2nd stack item
0x01a0SSTOREStore to storage
0x01a1PUSH1Push 1 byte onto stack
0x01
0x01a3ADDAddition (a + b)
0x01a4PUSH3Push 3 bytes onto stack
0x000194
0x01a8JUMPUnconditional jump
0x01a9JUMPDESTValid jump destination
0x01aaPOPRemove top stack item
0x01abPOPRemove top stack item
0x01acPOPRemove top stack item
0x01adJUMPDESTValid jump destination
0x01aePOPRemove top stack item
0x01afPOPRemove top stack item
0x01b0POPRemove top stack item
0x01b1JUMPUnconditional jump
0x01b2JUMPDESTValid jump destination
0x01b3DUP2Duplicate 2nd stack item
0x01b4MLOADLoad 32 bytes from memory
0x01b5PUSH1Push 1 byte onto stack
0x01
0x01b7PUSH1Push 1 byte onto stack
0x01
0x01b9PUSH1Push 1 byte onto stack
0x40
0x01bbSHLShift left
0x01bcSUBSubtraction (a - b)
0x01bdDUP2Duplicate 2nd stack item
0x01beGTGreater than (a > b)
0x01bfISZEROIs zero? (a == 0)
0x01c0PUSH3Push 3 bytes onto stack
0x0001ce
0x01c4JUMPIConditional jump
0x01c5PUSH3Push 3 bytes onto stack
0x0001ce
0x01c9PUSH3Push 3 bytes onto stack
0x00010d
0x01cdJUMPUnconditional jump
0x01ceJUMPDESTValid jump destination
0x01cfPUSH3Push 3 bytes onto stack
0x0001e6
0x01d3DUP2Duplicate 2nd stack item
0x01d4PUSH3Push 3 bytes onto stack
0x0001df
0x01d8DUP5Duplicate 5th stack item
0x01d9SLOADLoad from storage
0x01daPUSH3Push 3 bytes onto stack
0x000123
0x01deJUMPUnconditional jump
0x01dfJUMPDESTValid jump destination
0x01e0DUP5Duplicate 5th stack item
0x01e1PUSH3Push 3 bytes onto stack
0x00015f
0x01e5JUMPUnconditional jump
0x01e6JUMPDESTValid jump destination
0x01e7PUSH1Push 1 byte onto stack
0x20
0x01e9DUP1Duplicate 1st stack item
0x01eaPUSH1Push 1 byte onto stack
0x1f
0x01ecDUP4Duplicate 4th stack item
0x01edGTGreater than (a > b)
0x01eePUSH1Push 1 byte onto stack
0x01
0x01f0DUP2Duplicate 2nd stack item
0x01f1EQEquality check (a == b)
0x01f2PUSH3Push 3 bytes onto stack
0x00021e
0x01f6JUMPIConditional jump
0x01f7PUSH1Push 1 byte onto stack
0x00
0x01f9DUP5Duplicate 5th stack item
0x01faISZEROIs zero? (a == 0)
0x01fbPUSH3Push 3 bytes onto stack
0x000205
0x01ffJUMPIConditional jump
0x0200POPRemove top stack item
0x0201DUP6Duplicate 6th stack item
0x0202DUP4Duplicate 4th stack item
0x0203ADDAddition (a + b)
0x0204MLOADLoad 32 bytes from memory
0x0205JUMPDESTValid jump destination
0x0206PUSH1Push 1 byte onto stack
0x00
0x0208NOTBitwise NOT
0x0209PUSH1Push 1 byte onto stack
0x03
0x020bDUP7Duplicate 7th stack item
0x020cSWAP1Swap top with 2nd stack item
0x020dSHLShift left
0x020eSHRShift right (logical)
0x020fNOTBitwise NOT
0x0210ANDBitwise AND
0x0211PUSH1Push 1 byte onto stack
0x01
0x0213DUP6Duplicate 6th stack item
0x0214SWAP1Swap top with 2nd stack item
0x0215SHLShift left
0x0216ORBitwise OR
0x0217DUP6Duplicate 6th stack item
0x0218SSTOREStore to storage
0x0219PUSH3Push 3 bytes onto stack
0x0001a9
0x021dJUMPUnconditional jump
0x021eJUMPDESTValid jump destination
0x021fPUSH1Push 1 byte onto stack
0x00
0x0221DUP6Duplicate 6th stack item
0x0222DUP2Duplicate 2nd stack item
0x0223MSTOREStore 32 bytes to memory
0x0224PUSH1Push 1 byte onto stack
0x20
0x0226DUP2Duplicate 2nd stack item
0x0227KECCAK256Compute Keccak-256 hash
0x0228PUSH1Push 1 byte onto stack
0x1f
0x022aNOTBitwise NOT
0x022bDUP7Duplicate 7th stack item
0x022cANDBitwise AND
0x022dSWAP2Swap top with 3rd stack item
0x022eJUMPDESTValid jump destination
0x022fDUP3Duplicate 3rd stack item
0x0230DUP2Duplicate 2nd stack item
0x0231LTLess than (a < b)
0x0232ISZEROIs zero? (a == 0)
0x0233PUSH3Push 3 bytes onto stack
0x00024f
0x0237JUMPIConditional jump
0x0238DUP9Duplicate 9th stack item
0x0239DUP7Duplicate 7th stack item
0x023aADDAddition (a + b)
0x023bMLOADLoad 32 bytes from memory
0x023cDUP3Duplicate 3rd stack item
0x023dSSTOREStore to storage
0x023eSWAP5Swap top with 6th stack item
0x023fDUP5Duplicate 5th stack item
0x0240ADDAddition (a + b)
0x0241SWAP5Swap top with 6th stack item
0x0242PUSH1Push 1 byte onto stack
0x01
0x0244SWAP1Swap top with 2nd stack item
0x0245SWAP2Swap top with 3rd stack item
0x0246ADDAddition (a + b)
0x0247SWAP1Swap top with 2nd stack item
0x0248DUP5Duplicate 5th stack item
0x0249ADDAddition (a + b)
0x024aPUSH3Push 3 bytes onto stack
0x00022e
0x024eJUMPUnconditional jump
0x024fJUMPDESTValid jump destination
0x0250POPRemove top stack item
0x0251DUP6Duplicate 6th stack item
0x0252DUP3Duplicate 3rd stack item
0x0253LTLess than (a < b)
0x0254ISZEROIs zero? (a == 0)
0x0255PUSH3Push 3 bytes onto stack
0x00026e
0x0259JUMPIConditional jump
0x025aDUP8Duplicate 8th stack item
0x025bDUP6Duplicate 6th stack item
0x025cADDAddition (a + b)
0x025dMLOADLoad 32 bytes from memory
0x025ePUSH1Push 1 byte onto stack
0x00
0x0260NOTBitwise NOT
0x0261PUSH1Push 1 byte onto stack
0x03
0x0263DUP9Duplicate 9th stack item
0x0264SWAP1Swap top with 2nd stack item
0x0265SHLShift left
0x0266PUSH1Push 1 byte onto stack
0xf8
0x0268ANDBitwise AND
0x0269SHRShift right (logical)
0x026aNOTBitwise NOT
0x026bANDBitwise AND
0x026cDUP2Duplicate 2nd stack item
0x026dSSTOREStore to storage
0x026eJUMPDESTValid jump destination
0x026fPOPRemove top stack item
0x0270POPRemove top stack item
0x0271POPRemove top stack item
0x0272POPRemove top stack item
0x0273POPRemove top stack item
0x0274PUSH1Push 1 byte onto stack
0x01
0x0276SWAP1Swap top with 2nd stack item
0x0277DUP2Duplicate 2nd stack item
0x0278SHLShift left
0x0279ADDAddition (a + b)
0x027aSWAP1Swap top with 2nd stack item
0x027bSSTOREStore to storage
0x027cPOPRemove top stack item
0x027dJUMPUnconditional jump
DeploymentRuntime Code Deployment0x027E–0x028D · 16 bytes · 9 instructionsDetails
0x027eJUMPDESTValid jump destination
0x027fPUSH2Push 2 bytes onto stack
0x0f1c
0x0282DUP1Duplicate 1st stack item
0x0283PUSH3Push 3 bytes onto stack
0x00028e
0x0287PUSH1Push 1 byte onto stack
0x00
0x0289CODECOPYCopy code to memory
0x028aPUSH1Push 1 byte onto stack
0x00
0x028cRETURNReturn data from call
0x028dINVALIDInvalid instruction
Click annotated rows for detailed explanationsOpcode | Operand | Description

EffortToken Init Code — 424 instructions, 654 bytes