Last active
January 5, 2019 07:53
-
-
Save nrryuya/3403f5dbdbcb45c4d4e492b88fc9f32d to your computer and use it in GitHub Desktop.
This file contains 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
.code | |
PUSH 80 contract RSAAccumulator {\n ... | |
PUSH 40 contract RSAAccumulator {\n ... | |
MSTORE contract RSAAccumulator {\n ... | |
CALLVALUE constructor(bytes modulus) pub... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 1 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 1 a | |
JUMPDEST a | |
POP constructor(bytes modulus) pub... | |
PUSH 40 constructor(bytes modulus) pub... | |
MLOAD constructor(bytes modulus) pub... | |
PUSHSIZE constructor(bytes modulus) pub... | |
CODESIZE constructor(bytes modulus) pub... | |
SUB constructor(bytes modulus) pub... | |
DUP1 constructor(bytes modulus) pub... | |
PUSHSIZE constructor(bytes modulus) pub... | |
DUP4 constructor(bytes modulus) pub... | |
CODECOPY constructor(bytes modulus) pub... | |
DUP2 constructor(bytes modulus) pub... | |
ADD constructor(bytes modulus) pub... | |
DUP1 constructor(bytes modulus) pub... | |
PUSH 40 constructor(bytes modulus) pub... | |
MSTORE constructor(bytes modulus) pub... | |
DUP2 constructor(bytes modulus) pub... | |
ADD constructor(bytes modulus) pub... | |
SWAP1 constructor(bytes modulus) pub... | |
DUP1 constructor(bytes modulus) pub... | |
DUP1 constructor(bytes modulus) pub... | |
MLOAD constructor(bytes modulus) pub... | |
DUP3 constructor(bytes modulus) pub... | |
ADD constructor(bytes modulus) pub... | |
SWAP3 constructor(bytes modulus) pub... | |
SWAP2 constructor(bytes modulus) pub... | |
SWAP1 constructor(bytes modulus) pub... | |
POP constructor(bytes modulus) pub... | |
POP constructor(bytes modulus) pub... | |
POP constructor(bytes modulus) pub... | |
PUSH 0 uint256 limb | |
DUP1 uint256 dataLength | |
PUSH 0 uint256 i | |
PUSH 8 8 | |
PUSH 20 32 | |
MUL 32 * NlengthIn32ByteLimbs | |
DUP5 modulus | |
MLOAD modulus.length | |
EQ modulus.length == NlengthInByt... | |
ISZERO require(modulus.length == Nlen... | |
ISZERO require(modulus.length == Nlen... | |
PUSH [tag] 4 require(modulus.length == Nlen... | |
JUMPI require(modulus.length == Nlen... | |
PUSH 40 require(modulus.length == Nlen... | |
MLOAD require(modulus.length == Nlen... | |
PUSH 8C379A000000000000000000000000000000000000000000000000000000000 require(modulus.length == Nlen... | |
DUP2 require(modulus.length == Nlen... | |
MSTORE require(modulus.length == Nlen... | |
PUSH 4 require(modulus.length == Nlen... | |
ADD require(modulus.length == Nlen... | |
DUP1 require(modulus.length == Nlen... | |
DUP1 require(modulus.length == Nlen... | |
PUSH 20 require(modulus.length == Nlen... | |
ADD require(modulus.length == Nlen... | |
DUP3 require(modulus.length == Nlen... | |
DUP2 require(modulus.length == Nlen... | |
SUB require(modulus.length == Nlen... | |
DUP3 require(modulus.length == Nlen... | |
MSTORE require(modulus.length == Nlen... | |
PUSH 21 require(modulus.length == Nlen... | |
DUP2 require(modulus.length == Nlen... | |
MSTORE require(modulus.length == Nlen... | |
PUSH 20 require(modulus.length == Nlen... | |
ADD require(modulus.length == Nlen... | |
DUP1 require(modulus.length == Nlen... | |
PUSH 4D6F64756C75732073686F756C64206265206174206C65617374207061646465 require(modulus.length == Nlen... | |
DUP2 require(modulus.length == Nlen... | |
MSTORE require(modulus.length == Nlen... | |
PUSH 20 require(modulus.length == Nlen... | |
ADD require(modulus.length == Nlen... | |
PUSH 6400000000000000000000000000000000000000000000000000000000000000 require(modulus.length == Nlen... | |
DUP2 require(modulus.length == Nlen... | |
MSTORE require(modulus.length == Nlen... | |
POP require(modulus.length == Nlen... | |
PUSH 40 require(modulus.length == Nlen... | |
ADD require(modulus.length == Nlen... | |
SWAP2 require(modulus.length == Nlen... | |
POP require(modulus.length == Nlen... | |
POP require(modulus.length == Nlen... | |
PUSH 40 require(modulus.length == Nlen... | |
MLOAD require(modulus.length == Nlen... | |
DUP1 require(modulus.length == Nlen... | |
SWAP2 require(modulus.length == Nlen... | |
SUB require(modulus.length == Nlen... | |
SWAP1 require(modulus.length == Nlen... | |
REVERT require(modulus.length == Nlen... | |
tag 4 require(modulus.length == Nlen... | |
JUMPDEST require(modulus.length == Nlen... | |
PUSH 0 0 | |
SWAP3 uint256 limb = 0 | |
POP uint256 limb = 0 | |
PUSH 20 0x20 | |
SWAP2 uint256 dataLength = 0x20 | |
POP uint256 dataLength = 0x20 | |
PUSH 0 0 | |
SWAP1 uint256 i = 0 | |
POP uint256 i = 0 | |
tag 5 for (uint256 i = 0; i < Nlengt... | |
JUMPDEST for (uint256 i = 0; i < Nlengt... | |
PUSH 8 8 | |
DUP2 i | |
LT i < NlengthIn32ByteLimbs | |
ISZERO for (uint256 i = 0; i < Nlengt... | |
PUSH [tag] 6 for (uint256 i = 0; i < Nlengt... | |
JUMPI for (uint256 i = 0; i < Nlengt... | |
DUP2 dataLength | |
DUP5 modulus | |
ADD add(modulus, dataLength) | |
MLOAD mload(add(modulus, dataLength)... | |
SWAP3 limb := mload(add(modulus, dat... | |
POP limb := mload(add(modulus, dat... | |
DUP3 limb | |
PUSH 10 N | |
DUP3 i | |
PUSH 8 N[i] | |
DUP2 N[i] | |
LT N[i] | |
ISZERO N[i] | |
ISZERO N[i] | |
PUSH [tag] 8 N[i] | |
JUMPI N[i] | |
INVALID N[i] | |
tag 8 N[i] | |
JUMPDEST N[i] | |
ADD N[i] | |
DUP2 N[i] = limb | |
SWAP1 N[i] = limb | |
SSTORE N[i] = limb | |
POP N[i] = limb | |
PUSH 20 0x20 | |
DUP3 dataLength += 0x20 | |
ADD dataLength += 0x20 | |
SWAP2 dataLength += 0x20 | |
POP dataLength += 0x20 | |
DUP1 i++ | |
DUP1 i++ | |
PUSH 1 i++ | |
ADD i++ | |
SWAP2 i++ | |
POP i++ | |
POP i++ | |
PUSH [tag] 5 for (uint256 i = 0; i < Nlengt... | |
JUMP for (uint256 i = 0; i < Nlengt... | |
tag 6 for (uint256 i = 0; i < Nlengt... | |
JUMPDEST for (uint256 i = 0; i < Nlengt... | |
POP constructor(bytes modulus) pub... | |
POP constructor(bytes modulus) pub... | |
POP constructor(bytes modulus) pub... | |
POP constructor(bytes modulus) pub... | |
PUSH #[$] 0000000000000000000000000000000000000000000000000000000000000000 contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH [$] 0000000000000000000000000000000000000000000000000000000000000000 contract RSAAccumulator {\n ... | |
PUSH 0 contract RSAAccumulator {\n ... | |
CODECOPY contract RSAAccumulator {\n ... | |
PUSH 0 contract RSAAccumulator {\n ... | |
RETURN contract RSAAccumulator {\n ... | |
.data | |
0: | |
.code | |
PUSH 80 contract RSAAccumulator {\n ... | |
PUSH 40 contract RSAAccumulator {\n ... | |
MSTORE contract RSAAccumulator {\n ... | |
PUSH 4 contract RSAAccumulator {\n ... | |
CALLDATASIZE contract RSAAccumulator {\n ... | |
LT contract RSAAccumulator {\n ... | |
PUSH [tag] 1 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
PUSH 0 contract RSAAccumulator {\n ... | |
CALLDATALOAD contract RSAAccumulator {\n ... | |
PUSH 100000000000000000000000000000000000000000000000000000000 contract RSAAccumulator {\n ... | |
SWAP1 contract RSAAccumulator {\n ... | |
DIV contract RSAAccumulator {\n ... | |
PUSH FFFFFFFF contract RSAAccumulator {\n ... | |
AND contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH CA988E7 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 2 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH 1140363D contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 3 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH 181382CB contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 4 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH 214743F0 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 5 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH 25765427 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 6 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH 257DCC4E contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 7 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH 3E955225 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 8 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH 425528B1 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 9 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH 4EE09827 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 10 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH 54E239C8 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 11 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH 9BEE3872 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 12 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH A1462DA1 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 13 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH C50C4CA2 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 14 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH C5DEDEE3 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 15 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH CCA9B04D contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 16 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH D5BCA224 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 17 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH E2179B8E contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 18 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH EE3D1F7C contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 19 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH F6623580 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 20 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH F88CADB3 contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 21 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH F9CD5E4B contract RSAAccumulator {\n ... | |
EQ contract RSAAccumulator {\n ... | |
PUSH [tag] 22 contract RSAAccumulator {\n ... | |
JUMPI contract RSAAccumulator {\n ... | |
tag 1 contract RSAAccumulator {\n ... | |
JUMPDEST contract RSAAccumulator {\n ... | |
PUSH 0 contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
REVERT contract RSAAccumulator {\n ... | |
tag 2 function modularAdd(\n ... | |
JUMPDEST function modularAdd(\n ... | |
CALLVALUE function modularAdd(\n ... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 23 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 23 a | |
JUMPDEST a | |
POP function modularAdd(\n ... | |
PUSH [tag] 24 function modularAdd(\n ... | |
PUSH 4 function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
CALLDATASIZE function modularAdd(\n ... | |
SUB function modularAdd(\n ... | |
DUP2 function modularAdd(\n ... | |
ADD function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
PUSH 100 function modularAdd(\n ... | |
ADD function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
PUSH 8 function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
PUSH 20 function modularAdd(\n ... | |
MUL function modularAdd(\n ... | |
PUSH 40 function modularAdd(\n ... | |
MLOAD function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
DUP2 function modularAdd(\n ... | |
ADD function modularAdd(\n ... | |
PUSH 40 function modularAdd(\n ... | |
MSTORE function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
SWAP3 function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
DUP3 function modularAdd(\n ... | |
PUSH 8 function modularAdd(\n ... | |
PUSH 20 function modularAdd(\n ... | |
MUL function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
DUP3 function modularAdd(\n ... | |
DUP5 function modularAdd(\n ... | |
CALLDATACOPY function modularAdd(\n ... | |
DUP3 function modularAdd(\n ... | |
ADD function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
SWAP3 function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
SWAP3 function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
PUSH 100 function modularAdd(\n ... | |
ADD function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
PUSH 8 function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
PUSH 20 function modularAdd(\n ... | |
MUL function modularAdd(\n ... | |
PUSH 40 function modularAdd(\n ... | |
MLOAD function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
DUP2 function modularAdd(\n ... | |
ADD function modularAdd(\n ... | |
PUSH 40 function modularAdd(\n ... | |
MSTORE function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
SWAP3 function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
DUP3 function modularAdd(\n ... | |
PUSH 8 function modularAdd(\n ... | |
PUSH 20 function modularAdd(\n ... | |
MUL function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
DUP3 function modularAdd(\n ... | |
DUP5 function modularAdd(\n ... | |
CALLDATACOPY function modularAdd(\n ... | |
DUP3 function modularAdd(\n ... | |
ADD function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
SWAP3 function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
SWAP3 function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
PUSH 100 function modularAdd(\n ... | |
ADD function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
PUSH 8 function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
PUSH 20 function modularAdd(\n ... | |
MUL function modularAdd(\n ... | |
PUSH 40 function modularAdd(\n ... | |
MLOAD function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
DUP2 function modularAdd(\n ... | |
ADD function modularAdd(\n ... | |
PUSH 40 function modularAdd(\n ... | |
MSTORE function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
SWAP3 function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
DUP3 function modularAdd(\n ... | |
PUSH 8 function modularAdd(\n ... | |
PUSH 20 function modularAdd(\n ... | |
MUL function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
DUP3 function modularAdd(\n ... | |
DUP5 function modularAdd(\n ... | |
CALLDATACOPY function modularAdd(\n ... | |
DUP3 function modularAdd(\n ... | |
ADD function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
SWAP3 function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
SWAP3 function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
PUSH [tag] 25 function modularAdd(\n ... | |
JUMP function modularAdd(\n ... | |
tag 24 function modularAdd(\n ... | |
JUMPDEST function modularAdd(\n ... | |
PUSH 40 function modularAdd(\n ... | |
MLOAD function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
DUP3 function modularAdd(\n ... | |
PUSH 8 function modularAdd(\n ... | |
PUSH 20 function modularAdd(\n ... | |
MUL function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
DUP4 function modularAdd(\n ... | |
DUP4 function modularAdd(\n ... | |
PUSH 0 ; | |
tag 26 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
DUP4 t R | |
DUP2 r | |
LT ontract RS | |
ISZERO olidity ^0.4.25;\n | |
contract RS... | |
PUSH [tag] 27 olidity ^0.4.25;\n | |
contract RS... | |
JUMPI olidity ^0.4.25;\n | |
contract RS... | |
DUP1 | |
DUP3 nt2 | |
ADD uint256 c | |
MLOAD N\n | |
uint256 co | |
DUP2 d | |
DUP5 is | |
ADD ics is modu | |
MSTORE rithmetics is modulo N\n | |
u... | |
PUSH 20 | |
DUP2 | |
ADD ator {\n | |
SWAP1 cumulator {\n | |
POP cumulator {\n | |
PUSH [tag] 26 olidity ^0.4.25;\n | |
contract RS... | |
JUMP olidity ^0.4.25;\n | |
contract RS... | |
tag 27 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
POP ity ^0.4.25;\n | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
ADD function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
PUSH 40 function modularAdd(\n ... | |
MLOAD function modularAdd(\n ... | |
DUP1 function modularAdd(\n ... | |
SWAP2 function modularAdd(\n ... | |
SUB function modularAdd(\n ... | |
SWAP1 function modularAdd(\n ... | |
RETURN function modularAdd(\n ... | |
tag 3 function updateAccumulator(\n ... | |
JUMPDEST function updateAccumulator(\n ... | |
CALLVALUE function updateAccumulator(\n ... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 29 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 29 a | |
JUMPDEST a | |
POP function updateAccumulator(\n ... | |
PUSH [tag] 30 function updateAccumulator(\n ... | |
PUSH 4 function updateAccumulator(\n ... | |
DUP1 function updateAccumulator(\n ... | |
CALLDATASIZE function updateAccumulator(\n ... | |
SUB function updateAccumulator(\n ... | |
DUP2 function updateAccumulator(\n ... | |
ADD function updateAccumulator(\n ... | |
SWAP1 function updateAccumulator(\n ... | |
DUP1 function updateAccumulator(\n ... | |
DUP1 function updateAccumulator(\n ... | |
PUSH 100 function updateAccumulator(\n ... | |
ADD function updateAccumulator(\n ... | |
SWAP1 function updateAccumulator(\n ... | |
PUSH 8 function updateAccumulator(\n ... | |
DUP1 function updateAccumulator(\n ... | |
PUSH 20 function updateAccumulator(\n ... | |
MUL function updateAccumulator(\n ... | |
PUSH 40 function updateAccumulator(\n ... | |
MLOAD function updateAccumulator(\n ... | |
SWAP1 function updateAccumulator(\n ... | |
DUP2 function updateAccumulator(\n ... | |
ADD function updateAccumulator(\n ... | |
PUSH 40 function updateAccumulator(\n ... | |
MSTORE function updateAccumulator(\n ... | |
DUP1 function updateAccumulator(\n ... | |
SWAP3 function updateAccumulator(\n ... | |
SWAP2 function updateAccumulator(\n ... | |
SWAP1 function updateAccumulator(\n ... | |
DUP3 function updateAccumulator(\n ... | |
PUSH 8 function updateAccumulator(\n ... | |
PUSH 20 function updateAccumulator(\n ... | |
MUL function updateAccumulator(\n ... | |
DUP1 function updateAccumulator(\n ... | |
DUP3 function updateAccumulator(\n ... | |
DUP5 function updateAccumulator(\n ... | |
CALLDATACOPY function updateAccumulator(\n ... | |
DUP3 function updateAccumulator(\n ... | |
ADD function updateAccumulator(\n ... | |
SWAP2 function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
SWAP2 function updateAccumulator(\n ... | |
SWAP3 function updateAccumulator(\n ... | |
SWAP2 function updateAccumulator(\n ... | |
SWAP3 function updateAccumulator(\n ... | |
SWAP1 function updateAccumulator(\n ... | |
DUP1 function updateAccumulator(\n ... | |
CALLDATALOAD function updateAccumulator(\n ... | |
SWAP1 function updateAccumulator(\n ... | |
PUSH 20 function updateAccumulator(\n ... | |
ADD function updateAccumulator(\n ... | |
SWAP1 function updateAccumulator(\n ... | |
SWAP3 function updateAccumulator(\n ... | |
SWAP2 function updateAccumulator(\n ... | |
SWAP1 function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
PUSH [tag] 31 function updateAccumulator(\n ... | |
JUMP function updateAccumulator(\n ... | |
tag 30 function updateAccumulator(\n ... | |
JUMPDEST function updateAccumulator(\n ... | |
PUSH 40 function updateAccumulator(\n ... | |
MLOAD function updateAccumulator(\n ... | |
DUP1 function updateAccumulator(\n ... | |
DUP3 function updateAccumulator(\n ... | |
PUSH 8 function updateAccumulator(\n ... | |
PUSH 20 function updateAccumulator(\n ... | |
MUL function updateAccumulator(\n ... | |
DUP1 function updateAccumulator(\n ... | |
DUP4 function updateAccumulator(\n ... | |
DUP4 function updateAccumulator(\n ... | |
PUSH 0 ; | |
tag 32 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
DUP4 t R | |
DUP2 r | |
LT ontract RS | |
ISZERO olidity ^0.4.25;\n | |
contract RS... | |
PUSH [tag] 33 olidity ^0.4.25;\n | |
contract RS... | |
JUMPI olidity ^0.4.25;\n | |
contract RS... | |
DUP1 | |
DUP3 nt2 | |
ADD uint256 c | |
MLOAD N\n | |
uint256 co | |
DUP2 d | |
DUP5 is | |
ADD ics is modu | |
MSTORE rithmetics is modulo N\n | |
u... | |
PUSH 20 | |
DUP2 | |
ADD ator {\n | |
SWAP1 cumulator {\n | |
POP cumulator {\n | |
PUSH [tag] 32 olidity ^0.4.25;\n | |
contract RS... | |
JUMP olidity ^0.4.25;\n | |
contract RS... | |
tag 33 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
POP ity ^0.4.25;\n | |
POP function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
SWAP1 function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
ADD function updateAccumulator(\n ... | |
SWAP2 function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
PUSH 40 function updateAccumulator(\n ... | |
MLOAD function updateAccumulator(\n ... | |
DUP1 function updateAccumulator(\n ... | |
SWAP2 function updateAccumulator(\n ... | |
SUB function updateAccumulator(\n ... | |
SWAP1 function updateAccumulator(\n ... | |
RETURN function updateAccumulator(\n ... | |
tag 4 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
CALLVALUE uint256[NlengthIn32ByteLimbs] ... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 35 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 35 a | |
JUMPDEST a | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 36 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 4 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
CALLDATASIZE uint256[NlengthIn32ByteLimbs] ... | |
SUB uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
CALLDATALOAD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 20 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
SWAP3 uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 37 uint256[NlengthIn32ByteLimbs] ... | |
JUMP uint256[NlengthIn32ByteLimbs] ... | |
tag 36 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 40 uint256[NlengthIn32ByteLimbs] ... | |
MLOAD uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP3 uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
MSTORE uint256[NlengthIn32ByteLimbs] ... | |
PUSH 20 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH 40 uint256[NlengthIn32ByteLimbs] ... | |
MLOAD uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
SUB uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
RETURN uint256[NlengthIn32ByteLimbs] ... | |
tag 5 uint256 constant public Nlengt... | |
JUMPDEST uint256 constant public Nlengt... | |
CALLVALUE uint256 constant public Nlengt... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 38 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 38 a | |
JUMPDEST a | |
POP uint256 constant public Nlengt... | |
PUSH [tag] 39 uint256 constant public Nlengt... | |
PUSH [tag] 40 uint256 constant public Nlengt... | |
JUMP uint256 constant public Nlengt... | |
tag 39 uint256 constant public Nlengt... | |
JUMPDEST uint256 constant public Nlengt... | |
PUSH 40 uint256 constant public Nlengt... | |
MLOAD uint256 constant public Nlengt... | |
DUP1 uint256 constant public Nlengt... | |
DUP3 uint256 constant public Nlengt... | |
DUP2 uint256 constant public Nlengt... | |
MSTORE uint256 constant public Nlengt... | |
PUSH 20 uint256 constant public Nlengt... | |
ADD uint256 constant public Nlengt... | |
SWAP2 uint256 constant public Nlengt... | |
POP uint256 constant public Nlengt... | |
POP uint256 constant public Nlengt... | |
PUSH 40 uint256 constant public Nlengt... | |
MLOAD uint256 constant public Nlengt... | |
DUP1 uint256 constant public Nlengt... | |
SWAP2 uint256 constant public Nlengt... | |
SUB uint256 constant public Nlengt... | |
SWAP1 uint256 constant public Nlengt... | |
RETURN uint256 constant public Nlengt... | |
tag 6 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
CALLVALUE uint256[NlengthIn32ByteLimbs] ... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 41 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 41 a | |
JUMPDEST a | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 42 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 4 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
CALLDATASIZE uint256[NlengthIn32ByteLimbs] ... | |
SUB uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
CALLDATALOAD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 20 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
SWAP3 uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 43 uint256[NlengthIn32ByteLimbs] ... | |
JUMP uint256[NlengthIn32ByteLimbs] ... | |
tag 42 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 40 uint256[NlengthIn32ByteLimbs] ... | |
MLOAD uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP3 uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
MSTORE uint256[NlengthIn32ByteLimbs] ... | |
PUSH 20 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH 40 uint256[NlengthIn32ByteLimbs] ... | |
MLOAD uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
SUB uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
RETURN uint256[NlengthIn32ByteLimbs] ... | |
tag 7 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
CALLVALUE uint256[NlengthIn32ByteLimbs] ... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 44 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 44 a | |
JUMPDEST a | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 45 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 4 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
CALLDATASIZE uint256[NlengthIn32ByteLimbs] ... | |
SUB uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
CALLDATALOAD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 20 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
SWAP3 uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 46 uint256[NlengthIn32ByteLimbs] ... | |
JUMP uint256[NlengthIn32ByteLimbs] ... | |
tag 45 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 40 uint256[NlengthIn32ByteLimbs] ... | |
MLOAD uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP3 uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
MSTORE uint256[NlengthIn32ByteLimbs] ... | |
PUSH 20 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH 40 uint256[NlengthIn32ByteLimbs] ... | |
MLOAD uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
SUB uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
RETURN uint256[NlengthIn32ByteLimbs] ... | |
tag 8 function getN()\n public | |
... | |
JUMPDEST function getN()\n public | |
... | |
CALLVALUE function getN()\n public | |
... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 47 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 47 a | |
JUMPDEST a | |
POP function getN()\n public | |
... | |
PUSH [tag] 48 function getN()\n public | |
... | |
PUSH [tag] 49 function getN()\n public | |
... | |
JUMP function getN()\n public | |
... | |
tag 48 function getN()\n public | |
... | |
JUMPDEST function getN()\n public | |
... | |
PUSH 40 function getN()\n public | |
... | |
MLOAD function getN()\n public | |
... | |
DUP1 function getN()\n public | |
... | |
DUP3 function getN()\n public | |
... | |
PUSH 8 function getN()\n public | |
... | |
PUSH 20 function getN()\n public | |
... | |
MUL function getN()\n public | |
... | |
DUP1 function getN()\n public | |
... | |
DUP4 function getN()\n public | |
... | |
DUP4 function getN()\n public | |
... | |
PUSH 0 ; | |
tag 50 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
DUP4 t R | |
DUP2 r | |
LT ontract RS | |
ISZERO olidity ^0.4.25;\n | |
contract RS... | |
PUSH [tag] 51 olidity ^0.4.25;\n | |
contract RS... | |
JUMPI olidity ^0.4.25;\n | |
contract RS... | |
DUP1 | |
DUP3 nt2 | |
ADD uint256 c | |
MLOAD N\n | |
uint256 co | |
DUP2 d | |
DUP5 is | |
ADD ics is modu | |
MSTORE rithmetics is modulo N\n | |
u... | |
PUSH 20 | |
DUP2 | |
ADD ator {\n | |
SWAP1 cumulator {\n | |
POP cumulator {\n | |
PUSH [tag] 50 olidity ^0.4.25;\n | |
contract RS... | |
JUMP olidity ^0.4.25;\n | |
contract RS... | |
tag 51 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
POP ity ^0.4.25;\n | |
POP function getN()\n public | |
... | |
POP function getN()\n public | |
... | |
POP function getN()\n public | |
... | |
SWAP1 function getN()\n public | |
... | |
POP function getN()\n public | |
... | |
ADD function getN()\n public | |
... | |
SWAP2 function getN()\n public | |
... | |
POP function getN()\n public | |
... | |
POP function getN()\n public | |
... | |
PUSH 40 function getN()\n public | |
... | |
MLOAD function getN()\n public | |
... | |
DUP1 function getN()\n public | |
... | |
SWAP2 function getN()\n public | |
... | |
SUB function getN()\n public | |
... | |
SWAP1 function getN()\n public | |
... | |
RETURN function getN()\n public | |
... | |
tag 9 function modularSub(\n ... | |
JUMPDEST function modularSub(\n ... | |
CALLVALUE function modularSub(\n ... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 53 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 53 a | |
JUMPDEST a | |
POP function modularSub(\n ... | |
PUSH [tag] 54 function modularSub(\n ... | |
PUSH 4 function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
CALLDATASIZE function modularSub(\n ... | |
SUB function modularSub(\n ... | |
DUP2 function modularSub(\n ... | |
ADD function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
PUSH 100 function modularSub(\n ... | |
ADD function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
PUSH 8 function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
PUSH 20 function modularSub(\n ... | |
MUL function modularSub(\n ... | |
PUSH 40 function modularSub(\n ... | |
MLOAD function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
DUP2 function modularSub(\n ... | |
ADD function modularSub(\n ... | |
PUSH 40 function modularSub(\n ... | |
MSTORE function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
SWAP3 function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
DUP3 function modularSub(\n ... | |
PUSH 8 function modularSub(\n ... | |
PUSH 20 function modularSub(\n ... | |
MUL function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
DUP3 function modularSub(\n ... | |
DUP5 function modularSub(\n ... | |
CALLDATACOPY function modularSub(\n ... | |
DUP3 function modularSub(\n ... | |
ADD function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
SWAP3 function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
SWAP3 function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
PUSH 100 function modularSub(\n ... | |
ADD function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
PUSH 8 function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
PUSH 20 function modularSub(\n ... | |
MUL function modularSub(\n ... | |
PUSH 40 function modularSub(\n ... | |
MLOAD function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
DUP2 function modularSub(\n ... | |
ADD function modularSub(\n ... | |
PUSH 40 function modularSub(\n ... | |
MSTORE function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
SWAP3 function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
DUP3 function modularSub(\n ... | |
PUSH 8 function modularSub(\n ... | |
PUSH 20 function modularSub(\n ... | |
MUL function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
DUP3 function modularSub(\n ... | |
DUP5 function modularSub(\n ... | |
CALLDATACOPY function modularSub(\n ... | |
DUP3 function modularSub(\n ... | |
ADD function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
SWAP3 function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
SWAP3 function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
PUSH 100 function modularSub(\n ... | |
ADD function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
PUSH 8 function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
PUSH 20 function modularSub(\n ... | |
MUL function modularSub(\n ... | |
PUSH 40 function modularSub(\n ... | |
MLOAD function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
DUP2 function modularSub(\n ... | |
ADD function modularSub(\n ... | |
PUSH 40 function modularSub(\n ... | |
MSTORE function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
SWAP3 function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
DUP3 function modularSub(\n ... | |
PUSH 8 function modularSub(\n ... | |
PUSH 20 function modularSub(\n ... | |
MUL function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
DUP3 function modularSub(\n ... | |
DUP5 function modularSub(\n ... | |
CALLDATACOPY function modularSub(\n ... | |
DUP3 function modularSub(\n ... | |
ADD function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
SWAP3 function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
SWAP3 function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
PUSH [tag] 55 function modularSub(\n ... | |
JUMP function modularSub(\n ... | |
tag 54 function modularSub(\n ... | |
JUMPDEST function modularSub(\n ... | |
PUSH 40 function modularSub(\n ... | |
MLOAD function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
DUP3 function modularSub(\n ... | |
PUSH 8 function modularSub(\n ... | |
PUSH 20 function modularSub(\n ... | |
MUL function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
DUP4 function modularSub(\n ... | |
DUP4 function modularSub(\n ... | |
PUSH 0 ; | |
tag 56 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
DUP4 t R | |
DUP2 r | |
LT ontract RS | |
ISZERO olidity ^0.4.25;\n | |
contract RS... | |
PUSH [tag] 57 olidity ^0.4.25;\n | |
contract RS... | |
JUMPI olidity ^0.4.25;\n | |
contract RS... | |
DUP1 | |
DUP3 nt2 | |
ADD uint256 c | |
MLOAD N\n | |
uint256 co | |
DUP2 d | |
DUP5 is | |
ADD ics is modu | |
MSTORE rithmetics is modulo N\n | |
u... | |
PUSH 20 | |
DUP2 | |
ADD ator {\n | |
SWAP1 cumulator {\n | |
POP cumulator {\n | |
PUSH [tag] 56 olidity ^0.4.25;\n | |
contract RS... | |
JUMP olidity ^0.4.25;\n | |
contract RS... | |
tag 57 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
POP ity ^0.4.25;\n | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
POP function modularSub(\n ... | |
ADD function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
PUSH 40 function modularSub(\n ... | |
MLOAD function modularSub(\n ... | |
DUP1 function modularSub(\n ... | |
SWAP2 function modularSub(\n ... | |
SUB function modularSub(\n ... | |
SWAP1 function modularSub(\n ... | |
RETURN function modularSub(\n ... | |
tag 10 function wrappingAdd(\n ... | |
JUMPDEST function wrappingAdd(\n ... | |
CALLVALUE function wrappingAdd(\n ... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 59 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 59 a | |
JUMPDEST a | |
POP function wrappingAdd(\n ... | |
PUSH [tag] 60 function wrappingAdd(\n ... | |
PUSH 4 function wrappingAdd(\n ... | |
DUP1 function wrappingAdd(\n ... | |
CALLDATASIZE function wrappingAdd(\n ... | |
SUB function wrappingAdd(\n ... | |
DUP2 function wrappingAdd(\n ... | |
ADD function wrappingAdd(\n ... | |
SWAP1 function wrappingAdd(\n ... | |
DUP1 function wrappingAdd(\n ... | |
DUP1 function wrappingAdd(\n ... | |
PUSH 100 function wrappingAdd(\n ... | |
ADD function wrappingAdd(\n ... | |
SWAP1 function wrappingAdd(\n ... | |
PUSH 8 function wrappingAdd(\n ... | |
DUP1 function wrappingAdd(\n ... | |
PUSH 20 function wrappingAdd(\n ... | |
MUL function wrappingAdd(\n ... | |
PUSH 40 function wrappingAdd(\n ... | |
MLOAD function wrappingAdd(\n ... | |
SWAP1 function wrappingAdd(\n ... | |
DUP2 function wrappingAdd(\n ... | |
ADD function wrappingAdd(\n ... | |
PUSH 40 function wrappingAdd(\n ... | |
MSTORE function wrappingAdd(\n ... | |
DUP1 function wrappingAdd(\n ... | |
SWAP3 function wrappingAdd(\n ... | |
SWAP2 function wrappingAdd(\n ... | |
SWAP1 function wrappingAdd(\n ... | |
DUP3 function wrappingAdd(\n ... | |
PUSH 8 function wrappingAdd(\n ... | |
PUSH 20 function wrappingAdd(\n ... | |
MUL function wrappingAdd(\n ... | |
DUP1 function wrappingAdd(\n ... | |
DUP3 function wrappingAdd(\n ... | |
DUP5 function wrappingAdd(\n ... | |
CALLDATACOPY function wrappingAdd(\n ... | |
DUP3 function wrappingAdd(\n ... | |
ADD function wrappingAdd(\n ... | |
SWAP2 function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
SWAP2 function wrappingAdd(\n ... | |
SWAP3 function wrappingAdd(\n ... | |
SWAP2 function wrappingAdd(\n ... | |
SWAP3 function wrappingAdd(\n ... | |
SWAP1 function wrappingAdd(\n ... | |
DUP1 function wrappingAdd(\n ... | |
PUSH 100 function wrappingAdd(\n ... | |
ADD function wrappingAdd(\n ... | |
SWAP1 function wrappingAdd(\n ... | |
PUSH 8 function wrappingAdd(\n ... | |
DUP1 function wrappingAdd(\n ... | |
PUSH 20 function wrappingAdd(\n ... | |
MUL function wrappingAdd(\n ... | |
PUSH 40 function wrappingAdd(\n ... | |
MLOAD function wrappingAdd(\n ... | |
SWAP1 function wrappingAdd(\n ... | |
DUP2 function wrappingAdd(\n ... | |
ADD function wrappingAdd(\n ... | |
PUSH 40 function wrappingAdd(\n ... | |
MSTORE function wrappingAdd(\n ... | |
DUP1 function wrappingAdd(\n ... | |
SWAP3 function wrappingAdd(\n ... | |
SWAP2 function wrappingAdd(\n ... | |
SWAP1 function wrappingAdd(\n ... | |
DUP3 function wrappingAdd(\n ... | |
PUSH 8 function wrappingAdd(\n ... | |
PUSH 20 function wrappingAdd(\n ... | |
MUL function wrappingAdd(\n ... | |
DUP1 function wrappingAdd(\n ... | |
DUP3 function wrappingAdd(\n ... | |
DUP5 function wrappingAdd(\n ... | |
CALLDATACOPY function wrappingAdd(\n ... | |
DUP3 function wrappingAdd(\n ... | |
ADD function wrappingAdd(\n ... | |
SWAP2 function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
SWAP2 function wrappingAdd(\n ... | |
SWAP3 function wrappingAdd(\n ... | |
SWAP2 function wrappingAdd(\n ... | |
SWAP3 function wrappingAdd(\n ... | |
SWAP1 function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
PUSH [tag] 61 function wrappingAdd(\n ... | |
JUMP function wrappingAdd(\n ... | |
tag 60 function wrappingAdd(\n ... | |
JUMPDEST function wrappingAdd(\n ... | |
PUSH 40 function wrappingAdd(\n ... | |
MLOAD function wrappingAdd(\n ... | |
DUP1 function wrappingAdd(\n ... | |
DUP3 function wrappingAdd(\n ... | |
PUSH 8 function wrappingAdd(\n ... | |
PUSH 20 function wrappingAdd(\n ... | |
MUL function wrappingAdd(\n ... | |
DUP1 function wrappingAdd(\n ... | |
DUP4 function wrappingAdd(\n ... | |
DUP4 function wrappingAdd(\n ... | |
PUSH 0 ; | |
tag 62 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
DUP4 t R | |
DUP2 r | |
LT ontract RS | |
ISZERO olidity ^0.4.25;\n | |
contract RS... | |
PUSH [tag] 63 olidity ^0.4.25;\n | |
contract RS... | |
JUMPI olidity ^0.4.25;\n | |
contract RS... | |
DUP1 | |
DUP3 nt2 | |
ADD uint256 c | |
MLOAD N\n | |
uint256 co | |
DUP2 d | |
DUP5 is | |
ADD ics is modu | |
MSTORE rithmetics is modulo N\n | |
u... | |
PUSH 20 | |
DUP2 | |
ADD ator {\n | |
SWAP1 cumulator {\n | |
POP cumulator {\n | |
PUSH [tag] 62 olidity ^0.4.25;\n | |
contract RS... | |
JUMP olidity ^0.4.25;\n | |
contract RS... | |
tag 63 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
POP ity ^0.4.25;\n | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
SWAP1 function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
ADD function wrappingAdd(\n ... | |
SWAP2 function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
PUSH 40 function wrappingAdd(\n ... | |
MLOAD function wrappingAdd(\n ... | |
DUP1 function wrappingAdd(\n ... | |
SWAP2 function wrappingAdd(\n ... | |
SUB function wrappingAdd(\n ... | |
SWAP1 function wrappingAdd(\n ... | |
RETURN function wrappingAdd(\n ... | |
tag 11 function modularMulBy4(\n ... | |
JUMPDEST function modularMulBy4(\n ... | |
CALLVALUE function modularMulBy4(\n ... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 65 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 65 a | |
JUMPDEST a | |
POP function modularMulBy4(\n ... | |
PUSH [tag] 66 function modularMulBy4(\n ... | |
PUSH 4 function modularMulBy4(\n ... | |
DUP1 function modularMulBy4(\n ... | |
CALLDATASIZE function modularMulBy4(\n ... | |
SUB function modularMulBy4(\n ... | |
DUP2 function modularMulBy4(\n ... | |
ADD function modularMulBy4(\n ... | |
SWAP1 function modularMulBy4(\n ... | |
DUP1 function modularMulBy4(\n ... | |
DUP1 function modularMulBy4(\n ... | |
PUSH 100 function modularMulBy4(\n ... | |
ADD function modularMulBy4(\n ... | |
SWAP1 function modularMulBy4(\n ... | |
PUSH 8 function modularMulBy4(\n ... | |
DUP1 function modularMulBy4(\n ... | |
PUSH 20 function modularMulBy4(\n ... | |
MUL function modularMulBy4(\n ... | |
PUSH 40 function modularMulBy4(\n ... | |
MLOAD function modularMulBy4(\n ... | |
SWAP1 function modularMulBy4(\n ... | |
DUP2 function modularMulBy4(\n ... | |
ADD function modularMulBy4(\n ... | |
PUSH 40 function modularMulBy4(\n ... | |
MSTORE function modularMulBy4(\n ... | |
DUP1 function modularMulBy4(\n ... | |
SWAP3 function modularMulBy4(\n ... | |
SWAP2 function modularMulBy4(\n ... | |
SWAP1 function modularMulBy4(\n ... | |
DUP3 function modularMulBy4(\n ... | |
PUSH 8 function modularMulBy4(\n ... | |
PUSH 20 function modularMulBy4(\n ... | |
MUL function modularMulBy4(\n ... | |
DUP1 function modularMulBy4(\n ... | |
DUP3 function modularMulBy4(\n ... | |
DUP5 function modularMulBy4(\n ... | |
CALLDATACOPY function modularMulBy4(\n ... | |
DUP3 function modularMulBy4(\n ... | |
ADD function modularMulBy4(\n ... | |
SWAP2 function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
SWAP2 function modularMulBy4(\n ... | |
SWAP3 function modularMulBy4(\n ... | |
SWAP2 function modularMulBy4(\n ... | |
SWAP3 function modularMulBy4(\n ... | |
SWAP1 function modularMulBy4(\n ... | |
DUP1 function modularMulBy4(\n ... | |
PUSH 100 function modularMulBy4(\n ... | |
ADD function modularMulBy4(\n ... | |
SWAP1 function modularMulBy4(\n ... | |
PUSH 8 function modularMulBy4(\n ... | |
DUP1 function modularMulBy4(\n ... | |
PUSH 20 function modularMulBy4(\n ... | |
MUL function modularMulBy4(\n ... | |
PUSH 40 function modularMulBy4(\n ... | |
MLOAD function modularMulBy4(\n ... | |
SWAP1 function modularMulBy4(\n ... | |
DUP2 function modularMulBy4(\n ... | |
ADD function modularMulBy4(\n ... | |
PUSH 40 function modularMulBy4(\n ... | |
MSTORE function modularMulBy4(\n ... | |
DUP1 function modularMulBy4(\n ... | |
SWAP3 function modularMulBy4(\n ... | |
SWAP2 function modularMulBy4(\n ... | |
SWAP1 function modularMulBy4(\n ... | |
DUP3 function modularMulBy4(\n ... | |
PUSH 8 function modularMulBy4(\n ... | |
PUSH 20 function modularMulBy4(\n ... | |
MUL function modularMulBy4(\n ... | |
DUP1 function modularMulBy4(\n ... | |
DUP3 function modularMulBy4(\n ... | |
DUP5 function modularMulBy4(\n ... | |
CALLDATACOPY function modularMulBy4(\n ... | |
DUP3 function modularMulBy4(\n ... | |
ADD function modularMulBy4(\n ... | |
SWAP2 function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
SWAP2 function modularMulBy4(\n ... | |
SWAP3 function modularMulBy4(\n ... | |
SWAP2 function modularMulBy4(\n ... | |
SWAP3 function modularMulBy4(\n ... | |
SWAP1 function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
PUSH [tag] 67 function modularMulBy4(\n ... | |
JUMP function modularMulBy4(\n ... | |
tag 66 function modularMulBy4(\n ... | |
JUMPDEST function modularMulBy4(\n ... | |
PUSH 40 function modularMulBy4(\n ... | |
MLOAD function modularMulBy4(\n ... | |
DUP1 function modularMulBy4(\n ... | |
DUP3 function modularMulBy4(\n ... | |
PUSH 8 function modularMulBy4(\n ... | |
PUSH 20 function modularMulBy4(\n ... | |
MUL function modularMulBy4(\n ... | |
DUP1 function modularMulBy4(\n ... | |
DUP4 function modularMulBy4(\n ... | |
DUP4 function modularMulBy4(\n ... | |
PUSH 0 ; | |
tag 68 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
DUP4 t R | |
DUP2 r | |
LT ontract RS | |
ISZERO olidity ^0.4.25;\n | |
contract RS... | |
PUSH [tag] 69 olidity ^0.4.25;\n | |
contract RS... | |
JUMPI olidity ^0.4.25;\n | |
contract RS... | |
DUP1 | |
DUP3 nt2 | |
ADD uint256 c | |
MLOAD N\n | |
uint256 co | |
DUP2 d | |
DUP5 is | |
ADD ics is modu | |
MSTORE rithmetics is modulo N\n | |
u... | |
PUSH 20 | |
DUP2 | |
ADD ator {\n | |
SWAP1 cumulator {\n | |
POP cumulator {\n | |
PUSH [tag] 68 olidity ^0.4.25;\n | |
contract RS... | |
JUMP olidity ^0.4.25;\n | |
contract RS... | |
tag 69 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
POP ity ^0.4.25;\n | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
SWAP1 function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
ADD function modularMulBy4(\n ... | |
SWAP2 function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
PUSH 40 function modularMulBy4(\n ... | |
MLOAD function modularMulBy4(\n ... | |
DUP1 function modularMulBy4(\n ... | |
SWAP2 function modularMulBy4(\n ... | |
SUB function modularMulBy4(\n ... | |
SWAP1 function modularMulBy4(\n ... | |
RETURN function modularMulBy4(\n ... | |
tag 12 function compare(\n uin... | |
JUMPDEST function compare(\n uin... | |
CALLVALUE function compare(\n uin... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 71 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 71 a | |
JUMPDEST a | |
POP function compare(\n uin... | |
PUSH [tag] 72 function compare(\n uin... | |
PUSH 4 function compare(\n uin... | |
DUP1 function compare(\n uin... | |
CALLDATASIZE function compare(\n uin... | |
SUB function compare(\n uin... | |
DUP2 function compare(\n uin... | |
ADD function compare(\n uin... | |
SWAP1 function compare(\n uin... | |
DUP1 function compare(\n uin... | |
DUP1 function compare(\n uin... | |
PUSH 100 function compare(\n uin... | |
ADD function compare(\n uin... | |
SWAP1 function compare(\n uin... | |
PUSH 8 function compare(\n uin... | |
DUP1 function compare(\n uin... | |
PUSH 20 function compare(\n uin... | |
MUL function compare(\n uin... | |
PUSH 40 function compare(\n uin... | |
MLOAD function compare(\n uin... | |
SWAP1 function compare(\n uin... | |
DUP2 function compare(\n uin... | |
ADD function compare(\n uin... | |
PUSH 40 function compare(\n uin... | |
MSTORE function compare(\n uin... | |
DUP1 function compare(\n uin... | |
SWAP3 function compare(\n uin... | |
SWAP2 function compare(\n uin... | |
SWAP1 function compare(\n uin... | |
DUP3 function compare(\n uin... | |
PUSH 8 function compare(\n uin... | |
PUSH 20 function compare(\n uin... | |
MUL function compare(\n uin... | |
DUP1 function compare(\n uin... | |
DUP3 function compare(\n uin... | |
DUP5 function compare(\n uin... | |
CALLDATACOPY function compare(\n uin... | |
DUP3 function compare(\n uin... | |
ADD function compare(\n uin... | |
SWAP2 function compare(\n uin... | |
POP function compare(\n uin... | |
POP function compare(\n uin... | |
POP function compare(\n uin... | |
POP function compare(\n uin... | |
POP function compare(\n uin... | |
SWAP2 function compare(\n uin... | |
SWAP3 function compare(\n uin... | |
SWAP2 function compare(\n uin... | |
SWAP3 function compare(\n uin... | |
SWAP1 function compare(\n uin... | |
DUP1 function compare(\n uin... | |
PUSH 100 function compare(\n uin... | |
ADD function compare(\n uin... | |
SWAP1 function compare(\n uin... | |
PUSH 8 function compare(\n uin... | |
DUP1 function compare(\n uin... | |
PUSH 20 function compare(\n uin... | |
MUL function compare(\n uin... | |
PUSH 40 function compare(\n uin... | |
MLOAD function compare(\n uin... | |
SWAP1 function compare(\n uin... | |
DUP2 function compare(\n uin... | |
ADD function compare(\n uin... | |
PUSH 40 function compare(\n uin... | |
MSTORE function compare(\n uin... | |
DUP1 function compare(\n uin... | |
SWAP3 function compare(\n uin... | |
SWAP2 function compare(\n uin... | |
SWAP1 function compare(\n uin... | |
DUP3 function compare(\n uin... | |
PUSH 8 function compare(\n uin... | |
PUSH 20 function compare(\n uin... | |
MUL function compare(\n uin... | |
DUP1 function compare(\n uin... | |
DUP3 function compare(\n uin... | |
DUP5 function compare(\n uin... | |
CALLDATACOPY function compare(\n uin... | |
DUP3 function compare(\n uin... | |
ADD function compare(\n uin... | |
SWAP2 function compare(\n uin... | |
POP function compare(\n uin... | |
POP function compare(\n uin... | |
POP function compare(\n uin... | |
POP function compare(\n uin... | |
POP function compare(\n uin... | |
SWAP2 function compare(\n uin... | |
SWAP3 function compare(\n uin... | |
SWAP2 function compare(\n uin... | |
SWAP3 function compare(\n uin... | |
SWAP1 function compare(\n uin... | |
POP function compare(\n uin... | |
POP function compare(\n uin... | |
POP function compare(\n uin... | |
PUSH [tag] 73 function compare(\n uin... | |
JUMP function compare(\n uin... | |
tag 72 function compare(\n uin... | |
JUMPDEST function compare(\n uin... | |
PUSH 40 function compare(\n uin... | |
MLOAD function compare(\n uin... | |
DUP1 function compare(\n uin... | |
DUP3 function compare(\n uin... | |
DUP2 function compare(\n uin... | |
MSTORE function compare(\n uin... | |
PUSH 20 function compare(\n uin... | |
ADD function compare(\n uin... | |
SWAP2 function compare(\n uin... | |
POP function compare(\n uin... | |
POP function compare(\n uin... | |
PUSH 40 function compare(\n uin... | |
MLOAD function compare(\n uin... | |
DUP1 function compare(\n uin... | |
SWAP2 function compare(\n uin... | |
SUB function compare(\n uin... | |
SWAP1 function compare(\n uin... | |
RETURN function compare(\n uin... | |
tag 13 function checkInclusionProof(\... | |
JUMPDEST function checkInclusionProof(\... | |
CALLVALUE function checkInclusionProof(\... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 74 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 74 a | |
JUMPDEST a | |
POP function checkInclusionProof(\... | |
PUSH [tag] 75 function checkInclusionProof(\... | |
PUSH 4 function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
CALLDATASIZE function checkInclusionProof(\... | |
SUB function checkInclusionProof(\... | |
DUP2 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
CALLDATALOAD function checkInclusionProof(\... | |
PUSH FFFFFFFFFFFFFFFF function checkInclusionProof(\... | |
AND function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
PUSH 20 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
SWAP3 function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
CALLDATALOAD function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
PUSH 20 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
DUP3 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
CALLDATALOAD function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
PUSH 20 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
PUSH 20 function checkInclusionProof(\... | |
MUL function checkInclusionProof(\... | |
PUSH 20 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
PUSH 40 function checkInclusionProof(\... | |
MLOAD function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
DUP2 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
PUSH 40 function checkInclusionProof(\... | |
MSTORE function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
SWAP4 function checkInclusionProof(\... | |
SWAP3 function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
DUP2 function checkInclusionProof(\... | |
DUP2 function checkInclusionProof(\... | |
MSTORE function checkInclusionProof(\... | |
PUSH 20 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
DUP4 function checkInclusionProof(\... | |
DUP4 function checkInclusionProof(\... | |
PUSH 20 function checkInclusionProof(\... | |
MUL function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
DUP3 function checkInclusionProof(\... | |
DUP5 function checkInclusionProof(\... | |
CALLDATACOPY function checkInclusionProof(\... | |
DUP3 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
SWAP3 function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
SWAP3 function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
PUSH 100 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
PUSH 8 function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
PUSH 20 function checkInclusionProof(\... | |
MUL function checkInclusionProof(\... | |
PUSH 40 function checkInclusionProof(\... | |
MLOAD function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
DUP2 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
PUSH 40 function checkInclusionProof(\... | |
MSTORE function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
SWAP3 function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
DUP3 function checkInclusionProof(\... | |
PUSH 8 function checkInclusionProof(\... | |
PUSH 20 function checkInclusionProof(\... | |
MUL function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
DUP3 function checkInclusionProof(\... | |
DUP5 function checkInclusionProof(\... | |
CALLDATACOPY function checkInclusionProof(\... | |
DUP3 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
SWAP3 function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
SWAP3 function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
PUSH 100 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
PUSH 8 function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
PUSH 20 function checkInclusionProof(\... | |
MUL function checkInclusionProof(\... | |
PUSH 40 function checkInclusionProof(\... | |
MLOAD function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
DUP2 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
PUSH 40 function checkInclusionProof(\... | |
MSTORE function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
SWAP3 function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
DUP3 function checkInclusionProof(\... | |
PUSH 8 function checkInclusionProof(\... | |
PUSH 20 function checkInclusionProof(\... | |
MUL function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
DUP3 function checkInclusionProof(\... | |
DUP5 function checkInclusionProof(\... | |
CALLDATACOPY function checkInclusionProof(\... | |
DUP3 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
SWAP3 function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
SWAP3 function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
PUSH [tag] 76 function checkInclusionProof(\... | |
JUMP function checkInclusionProof(\... | |
tag 75 function checkInclusionProof(\... | |
JUMPDEST function checkInclusionProof(\... | |
PUSH 40 function checkInclusionProof(\... | |
MLOAD function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
DUP3 function checkInclusionProof(\... | |
ISZERO function checkInclusionProof(\... | |
ISZERO function checkInclusionProof(\... | |
ISZERO function checkInclusionProof(\... | |
ISZERO function checkInclusionProof(\... | |
DUP2 function checkInclusionProof(\... | |
MSTORE function checkInclusionProof(\... | |
PUSH 20 function checkInclusionProof(\... | |
ADD function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
PUSH 40 function checkInclusionProof(\... | |
MLOAD function checkInclusionProof(\... | |
DUP1 function checkInclusionProof(\... | |
SWAP2 function checkInclusionProof(\... | |
SUB function checkInclusionProof(\... | |
SWAP1 function checkInclusionProof(\... | |
RETURN function checkInclusionProof(\... | |
tag 14 function modularExpVariableLen... | |
JUMPDEST function modularExpVariableLen... | |
CALLVALUE function modularExpVariableLen... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 77 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 77 a | |
JUMPDEST a | |
POP function modularExpVariableLen... | |
PUSH [tag] 78 function modularExpVariableLen... | |
PUSH 4 function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
CALLDATASIZE function modularExpVariableLen... | |
SUB function modularExpVariableLen... | |
DUP2 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
PUSH 100 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
PUSH 8 function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
PUSH 20 function modularExpVariableLen... | |
MUL function modularExpVariableLen... | |
PUSH 40 function modularExpVariableLen... | |
MLOAD function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
DUP2 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
PUSH 40 function modularExpVariableLen... | |
MSTORE function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
SWAP3 function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
DUP3 function modularExpVariableLen... | |
PUSH 8 function modularExpVariableLen... | |
PUSH 20 function modularExpVariableLen... | |
MUL function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
DUP3 function modularExpVariableLen... | |
DUP5 function modularExpVariableLen... | |
CALLDATACOPY function modularExpVariableLen... | |
DUP3 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
SWAP3 function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
SWAP3 function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
CALLDATALOAD function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
PUSH 20 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
DUP3 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
CALLDATALOAD function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
PUSH 20 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
PUSH 20 function modularExpVariableLen... | |
MUL function modularExpVariableLen... | |
PUSH 20 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
PUSH 40 function modularExpVariableLen... | |
MLOAD function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
DUP2 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
PUSH 40 function modularExpVariableLen... | |
MSTORE function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
SWAP4 function modularExpVariableLen... | |
SWAP3 function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
DUP2 function modularExpVariableLen... | |
DUP2 function modularExpVariableLen... | |
MSTORE function modularExpVariableLen... | |
PUSH 20 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
DUP4 function modularExpVariableLen... | |
DUP4 function modularExpVariableLen... | |
PUSH 20 function modularExpVariableLen... | |
MUL function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
DUP3 function modularExpVariableLen... | |
DUP5 function modularExpVariableLen... | |
CALLDATACOPY function modularExpVariableLen... | |
DUP3 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
SWAP3 function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
SWAP3 function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
PUSH 100 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
PUSH 8 function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
PUSH 20 function modularExpVariableLen... | |
MUL function modularExpVariableLen... | |
PUSH 40 function modularExpVariableLen... | |
MLOAD function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
DUP2 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
PUSH 40 function modularExpVariableLen... | |
MSTORE function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
SWAP3 function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
DUP3 function modularExpVariableLen... | |
PUSH 8 function modularExpVariableLen... | |
PUSH 20 function modularExpVariableLen... | |
MUL function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
DUP3 function modularExpVariableLen... | |
DUP5 function modularExpVariableLen... | |
CALLDATACOPY function modularExpVariableLen... | |
DUP3 function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
SWAP3 function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
SWAP3 function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
PUSH [tag] 79 function modularExpVariableLen... | |
JUMP function modularExpVariableLen... | |
tag 78 function modularExpVariableLen... | |
JUMPDEST function modularExpVariableLen... | |
PUSH 40 function modularExpVariableLen... | |
MLOAD function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
DUP3 function modularExpVariableLen... | |
PUSH 8 function modularExpVariableLen... | |
PUSH 20 function modularExpVariableLen... | |
MUL function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
DUP4 function modularExpVariableLen... | |
DUP4 function modularExpVariableLen... | |
PUSH 0 ; | |
tag 80 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
DUP4 t R | |
DUP2 r | |
LT ontract RS | |
ISZERO olidity ^0.4.25;\n | |
contract RS... | |
PUSH [tag] 81 olidity ^0.4.25;\n | |
contract RS... | |
JUMPI olidity ^0.4.25;\n | |
contract RS... | |
DUP1 | |
DUP3 nt2 | |
ADD uint256 c | |
MLOAD N\n | |
uint256 co | |
DUP2 d | |
DUP5 is | |
ADD ics is modu | |
MSTORE rithmetics is modulo N\n | |
u... | |
PUSH 20 | |
DUP2 | |
ADD ator {\n | |
SWAP1 cumulator {\n | |
POP cumulator {\n | |
PUSH [tag] 80 olidity ^0.4.25;\n | |
contract RS... | |
JUMP olidity ^0.4.25;\n | |
contract RS... | |
tag 81 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
POP ity ^0.4.25;\n | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
ADD function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
PUSH 40 function modularExpVariableLen... | |
MLOAD function modularExpVariableLen... | |
DUP1 function modularExpVariableLen... | |
SWAP2 function modularExpVariableLen... | |
SUB function modularExpVariableLen... | |
SWAP1 function modularExpVariableLen... | |
RETURN function modularExpVariableLen... | |
tag 15 function wrappingSub(\n ... | |
JUMPDEST function wrappingSub(\n ... | |
CALLVALUE function wrappingSub(\n ... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 83 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 83 a | |
JUMPDEST a | |
POP function wrappingSub(\n ... | |
PUSH [tag] 84 function wrappingSub(\n ... | |
PUSH 4 function wrappingSub(\n ... | |
DUP1 function wrappingSub(\n ... | |
CALLDATASIZE function wrappingSub(\n ... | |
SUB function wrappingSub(\n ... | |
DUP2 function wrappingSub(\n ... | |
ADD function wrappingSub(\n ... | |
SWAP1 function wrappingSub(\n ... | |
DUP1 function wrappingSub(\n ... | |
DUP1 function wrappingSub(\n ... | |
PUSH 100 function wrappingSub(\n ... | |
ADD function wrappingSub(\n ... | |
SWAP1 function wrappingSub(\n ... | |
PUSH 8 function wrappingSub(\n ... | |
DUP1 function wrappingSub(\n ... | |
PUSH 20 function wrappingSub(\n ... | |
MUL function wrappingSub(\n ... | |
PUSH 40 function wrappingSub(\n ... | |
MLOAD function wrappingSub(\n ... | |
SWAP1 function wrappingSub(\n ... | |
DUP2 function wrappingSub(\n ... | |
ADD function wrappingSub(\n ... | |
PUSH 40 function wrappingSub(\n ... | |
MSTORE function wrappingSub(\n ... | |
DUP1 function wrappingSub(\n ... | |
SWAP3 function wrappingSub(\n ... | |
SWAP2 function wrappingSub(\n ... | |
SWAP1 function wrappingSub(\n ... | |
DUP3 function wrappingSub(\n ... | |
PUSH 8 function wrappingSub(\n ... | |
PUSH 20 function wrappingSub(\n ... | |
MUL function wrappingSub(\n ... | |
DUP1 function wrappingSub(\n ... | |
DUP3 function wrappingSub(\n ... | |
DUP5 function wrappingSub(\n ... | |
CALLDATACOPY function wrappingSub(\n ... | |
DUP3 function wrappingSub(\n ... | |
ADD function wrappingSub(\n ... | |
SWAP2 function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
SWAP2 function wrappingSub(\n ... | |
SWAP3 function wrappingSub(\n ... | |
SWAP2 function wrappingSub(\n ... | |
SWAP3 function wrappingSub(\n ... | |
SWAP1 function wrappingSub(\n ... | |
DUP1 function wrappingSub(\n ... | |
PUSH 100 function wrappingSub(\n ... | |
ADD function wrappingSub(\n ... | |
SWAP1 function wrappingSub(\n ... | |
PUSH 8 function wrappingSub(\n ... | |
DUP1 function wrappingSub(\n ... | |
PUSH 20 function wrappingSub(\n ... | |
MUL function wrappingSub(\n ... | |
PUSH 40 function wrappingSub(\n ... | |
MLOAD function wrappingSub(\n ... | |
SWAP1 function wrappingSub(\n ... | |
DUP2 function wrappingSub(\n ... | |
ADD function wrappingSub(\n ... | |
PUSH 40 function wrappingSub(\n ... | |
MSTORE function wrappingSub(\n ... | |
DUP1 function wrappingSub(\n ... | |
SWAP3 function wrappingSub(\n ... | |
SWAP2 function wrappingSub(\n ... | |
SWAP1 function wrappingSub(\n ... | |
DUP3 function wrappingSub(\n ... | |
PUSH 8 function wrappingSub(\n ... | |
PUSH 20 function wrappingSub(\n ... | |
MUL function wrappingSub(\n ... | |
DUP1 function wrappingSub(\n ... | |
DUP3 function wrappingSub(\n ... | |
DUP5 function wrappingSub(\n ... | |
CALLDATACOPY function wrappingSub(\n ... | |
DUP3 function wrappingSub(\n ... | |
ADD function wrappingSub(\n ... | |
SWAP2 function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
SWAP2 function wrappingSub(\n ... | |
SWAP3 function wrappingSub(\n ... | |
SWAP2 function wrappingSub(\n ... | |
SWAP3 function wrappingSub(\n ... | |
SWAP1 function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
PUSH [tag] 85 function wrappingSub(\n ... | |
JUMP function wrappingSub(\n ... | |
tag 84 function wrappingSub(\n ... | |
JUMPDEST function wrappingSub(\n ... | |
PUSH 40 function wrappingSub(\n ... | |
MLOAD function wrappingSub(\n ... | |
DUP1 function wrappingSub(\n ... | |
DUP3 function wrappingSub(\n ... | |
PUSH 8 function wrappingSub(\n ... | |
PUSH 20 function wrappingSub(\n ... | |
MUL function wrappingSub(\n ... | |
DUP1 function wrappingSub(\n ... | |
DUP4 function wrappingSub(\n ... | |
DUP4 function wrappingSub(\n ... | |
PUSH 0 ; | |
tag 86 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
DUP4 t R | |
DUP2 r | |
LT ontract RS | |
ISZERO olidity ^0.4.25;\n | |
contract RS... | |
PUSH [tag] 87 olidity ^0.4.25;\n | |
contract RS... | |
JUMPI olidity ^0.4.25;\n | |
contract RS... | |
DUP1 | |
DUP3 nt2 | |
ADD uint256 c | |
MLOAD N\n | |
uint256 co | |
DUP2 d | |
DUP5 is | |
ADD ics is modu | |
MSTORE rithmetics is modulo N\n | |
u... | |
PUSH 20 | |
DUP2 | |
ADD ator {\n | |
SWAP1 cumulator {\n | |
POP cumulator {\n | |
PUSH [tag] 86 olidity ^0.4.25;\n | |
contract RS... | |
JUMP olidity ^0.4.25;\n | |
contract RS... | |
tag 87 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
POP ity ^0.4.25;\n | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
SWAP1 function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
ADD function wrappingSub(\n ... | |
SWAP2 function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
PUSH 40 function wrappingSub(\n ... | |
MLOAD function wrappingSub(\n ... | |
DUP1 function wrappingSub(\n ... | |
SWAP2 function wrappingSub(\n ... | |
SUB function wrappingSub(\n ... | |
SWAP1 function wrappingSub(\n ... | |
RETURN function wrappingSub(\n ... | |
tag 16 uint256 constant public NLengt... | |
JUMPDEST uint256 constant public NLengt... | |
CALLVALUE uint256 constant public NLengt... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 89 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 89 a | |
JUMPDEST a | |
POP uint256 constant public NLengt... | |
PUSH [tag] 90 uint256 constant public NLengt... | |
PUSH [tag] 91 uint256 constant public NLengt... | |
JUMP uint256 constant public NLengt... | |
tag 90 uint256 constant public NLengt... | |
JUMPDEST uint256 constant public NLengt... | |
PUSH 40 uint256 constant public NLengt... | |
MLOAD uint256 constant public NLengt... | |
DUP1 uint256 constant public NLengt... | |
DUP3 uint256 constant public NLengt... | |
DUP2 uint256 constant public NLengt... | |
MSTORE uint256 constant public NLengt... | |
PUSH 20 uint256 constant public NLengt... | |
ADD uint256 constant public NLengt... | |
SWAP2 uint256 constant public NLengt... | |
POP uint256 constant public NLengt... | |
POP uint256 constant public NLengt... | |
PUSH 40 uint256 constant public NLengt... | |
MLOAD uint256 constant public NLengt... | |
DUP1 uint256 constant public NLengt... | |
SWAP2 uint256 constant public NLengt... | |
SUB uint256 constant public NLengt... | |
SWAP1 uint256 constant public NLengt... | |
RETURN uint256 constant public NLengt... | |
tag 17 function modularExp(\n ... | |
JUMPDEST function modularExp(\n ... | |
CALLVALUE function modularExp(\n ... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 92 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 92 a | |
JUMPDEST a | |
POP function modularExp(\n ... | |
PUSH [tag] 93 function modularExp(\n ... | |
PUSH 4 function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
CALLDATASIZE function modularExp(\n ... | |
SUB function modularExp(\n ... | |
DUP2 function modularExp(\n ... | |
ADD function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
PUSH 100 function modularExp(\n ... | |
ADD function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
PUSH 8 function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
PUSH 20 function modularExp(\n ... | |
MUL function modularExp(\n ... | |
PUSH 40 function modularExp(\n ... | |
MLOAD function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
DUP2 function modularExp(\n ... | |
ADD function modularExp(\n ... | |
PUSH 40 function modularExp(\n ... | |
MSTORE function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
SWAP3 function modularExp(\n ... | |
SWAP2 function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
DUP3 function modularExp(\n ... | |
PUSH 8 function modularExp(\n ... | |
PUSH 20 function modularExp(\n ... | |
MUL function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
DUP3 function modularExp(\n ... | |
DUP5 function modularExp(\n ... | |
CALLDATACOPY function modularExp(\n ... | |
DUP3 function modularExp(\n ... | |
ADD function modularExp(\n ... | |
SWAP2 function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
SWAP2 function modularExp(\n ... | |
SWAP3 function modularExp(\n ... | |
SWAP2 function modularExp(\n ... | |
SWAP3 function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
CALLDATALOAD function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
PUSH 20 function modularExp(\n ... | |
ADD function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
SWAP3 function modularExp(\n ... | |
SWAP2 function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
PUSH 100 function modularExp(\n ... | |
ADD function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
PUSH 8 function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
PUSH 20 function modularExp(\n ... | |
MUL function modularExp(\n ... | |
PUSH 40 function modularExp(\n ... | |
MLOAD function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
DUP2 function modularExp(\n ... | |
ADD function modularExp(\n ... | |
PUSH 40 function modularExp(\n ... | |
MSTORE function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
SWAP3 function modularExp(\n ... | |
SWAP2 function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
DUP3 function modularExp(\n ... | |
PUSH 8 function modularExp(\n ... | |
PUSH 20 function modularExp(\n ... | |
MUL function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
DUP3 function modularExp(\n ... | |
DUP5 function modularExp(\n ... | |
CALLDATACOPY function modularExp(\n ... | |
DUP3 function modularExp(\n ... | |
ADD function modularExp(\n ... | |
SWAP2 function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
SWAP2 function modularExp(\n ... | |
SWAP3 function modularExp(\n ... | |
SWAP2 function modularExp(\n ... | |
SWAP3 function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
PUSH [tag] 94 function modularExp(\n ... | |
JUMP function modularExp(\n ... | |
tag 93 function modularExp(\n ... | |
JUMPDEST function modularExp(\n ... | |
PUSH 40 function modularExp(\n ... | |
MLOAD function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
DUP3 function modularExp(\n ... | |
PUSH 8 function modularExp(\n ... | |
PUSH 20 function modularExp(\n ... | |
MUL function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
DUP4 function modularExp(\n ... | |
DUP4 function modularExp(\n ... | |
PUSH 0 ; | |
tag 95 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
DUP4 t R | |
DUP2 r | |
LT ontract RS | |
ISZERO olidity ^0.4.25;\n | |
contract RS... | |
PUSH [tag] 96 olidity ^0.4.25;\n | |
contract RS... | |
JUMPI olidity ^0.4.25;\n | |
contract RS... | |
DUP1 | |
DUP3 nt2 | |
ADD uint256 c | |
MLOAD N\n | |
uint256 co | |
DUP2 d | |
DUP5 is | |
ADD ics is modu | |
MSTORE rithmetics is modulo N\n | |
u... | |
PUSH 20 | |
DUP2 | |
ADD ator {\n | |
SWAP1 cumulator {\n | |
POP cumulator {\n | |
PUSH [tag] 95 olidity ^0.4.25;\n | |
contract RS... | |
JUMP olidity ^0.4.25;\n | |
contract RS... | |
tag 96 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
POP ity ^0.4.25;\n | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
POP function modularExp(\n ... | |
ADD function modularExp(\n ... | |
SWAP2 function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
PUSH 40 function modularExp(\n ... | |
MLOAD function modularExp(\n ... | |
DUP1 function modularExp(\n ... | |
SWAP2 function modularExp(\n ... | |
SUB function modularExp(\n ... | |
SWAP1 function modularExp(\n ... | |
RETURN function modularExp(\n ... | |
tag 18 uint256 constant public g = 3 | |
JUMPDEST uint256 constant public g = 3 | |
CALLVALUE uint256 constant public g = 3 | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 98 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 98 a | |
JUMPDEST a | |
POP uint256 constant public g = 3 | |
PUSH [tag] 99 uint256 constant public g = 3 | |
PUSH [tag] 100 uint256 constant public g = 3 | |
JUMP uint256 constant public g = 3 | |
tag 99 uint256 constant public g = 3 | |
JUMPDEST uint256 constant public g = 3 | |
PUSH 40 uint256 constant public g = 3 | |
MLOAD uint256 constant public g = 3 | |
DUP1 uint256 constant public g = 3 | |
DUP3 uint256 constant public g = 3 | |
DUP2 uint256 constant public g = 3 | |
MSTORE uint256 constant public g = 3 | |
PUSH 20 uint256 constant public g = 3 | |
ADD uint256 constant public g = 3 | |
SWAP2 uint256 constant public g = 3 | |
POP uint256 constant public g = 3 | |
POP uint256 constant public g = 3 | |
PUSH 40 uint256 constant public g = 3 | |
MLOAD uint256 constant public g = 3 | |
DUP1 uint256 constant public g = 3 | |
SWAP2 uint256 constant public g = 3 | |
SUB uint256 constant public g = 3 | |
SWAP1 uint256 constant public g = 3 | |
RETURN uint256 constant public g = 3 | |
tag 19 function checkNonInclusionProo... | |
JUMPDEST function checkNonInclusionProo... | |
CALLVALUE function checkNonInclusionProo... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 101 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 101 a | |
JUMPDEST a | |
POP function checkNonInclusionProo... | |
PUSH [tag] 102 function checkNonInclusionProo... | |
PUSH 4 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
CALLDATASIZE function checkNonInclusionProo... | |
SUB function checkNonInclusionProo... | |
DUP2 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
CALLDATALOAD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
CALLDATALOAD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
MUL function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
PUSH 40 function checkNonInclusionProo... | |
MLOAD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP2 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
PUSH 40 function checkNonInclusionProo... | |
MSTORE function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
SWAP4 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP2 function checkNonInclusionProo... | |
DUP2 function checkNonInclusionProo... | |
MSTORE function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
DUP4 function checkNonInclusionProo... | |
DUP4 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
MUL function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
DUP5 function checkNonInclusionProo... | |
CALLDATACOPY function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
CALLDATALOAD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
CALLDATALOAD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
MUL function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
PUSH 40 function checkNonInclusionProo... | |
MLOAD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP2 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
PUSH 40 function checkNonInclusionProo... | |
MSTORE function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
SWAP4 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP2 function checkNonInclusionProo... | |
DUP2 function checkNonInclusionProo... | |
MSTORE function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
DUP4 function checkNonInclusionProo... | |
DUP4 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
MUL function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
DUP5 function checkNonInclusionProo... | |
CALLDATACOPY function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
CALLDATALOAD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
CALLDATALOAD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
MUL function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
PUSH 40 function checkNonInclusionProo... | |
MLOAD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP2 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
PUSH 40 function checkNonInclusionProo... | |
MSTORE function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
SWAP4 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP2 function checkNonInclusionProo... | |
DUP2 function checkNonInclusionProo... | |
MSTORE function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
DUP4 function checkNonInclusionProo... | |
DUP4 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
MUL function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
DUP5 function checkNonInclusionProo... | |
CALLDATACOPY function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
PUSH 100 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
PUSH 8 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
MUL function checkNonInclusionProo... | |
PUSH 40 function checkNonInclusionProo... | |
MLOAD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP2 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
PUSH 40 function checkNonInclusionProo... | |
MSTORE function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
PUSH 8 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
MUL function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
DUP5 function checkNonInclusionProo... | |
CALLDATACOPY function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
PUSH 100 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
PUSH 8 function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
MUL function checkNonInclusionProo... | |
PUSH 40 function checkNonInclusionProo... | |
MLOAD function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP2 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
PUSH 40 function checkNonInclusionProo... | |
MSTORE function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
PUSH 8 function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
MUL function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
DUP5 function checkNonInclusionProo... | |
CALLDATACOPY function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SWAP3 function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
PUSH [tag] 103 function checkNonInclusionProo... | |
JUMP function checkNonInclusionProo... | |
tag 102 function checkNonInclusionProo... | |
JUMPDEST function checkNonInclusionProo... | |
PUSH 40 function checkNonInclusionProo... | |
MLOAD function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
DUP3 function checkNonInclusionProo... | |
ISZERO function checkNonInclusionProo... | |
ISZERO function checkNonInclusionProo... | |
ISZERO function checkNonInclusionProo... | |
ISZERO function checkNonInclusionProo... | |
DUP2 function checkNonInclusionProo... | |
MSTORE function checkNonInclusionProo... | |
PUSH 20 function checkNonInclusionProo... | |
ADD function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
PUSH 40 function checkNonInclusionProo... | |
MLOAD function checkNonInclusionProo... | |
DUP1 function checkNonInclusionProo... | |
SWAP2 function checkNonInclusionProo... | |
SUB function checkNonInclusionProo... | |
SWAP1 function checkNonInclusionProo... | |
RETURN function checkNonInclusionProo... | |
tag 20 uint256 constant public Nlengt... | |
JUMPDEST uint256 constant public Nlengt... | |
CALLVALUE uint256 constant public Nlengt... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 104 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 104 a | |
JUMPDEST a | |
POP uint256 constant public Nlengt... | |
PUSH [tag] 105 uint256 constant public Nlengt... | |
PUSH [tag] 106 uint256 constant public Nlengt... | |
JUMP uint256 constant public Nlengt... | |
tag 105 uint256 constant public Nlengt... | |
JUMPDEST uint256 constant public Nlengt... | |
PUSH 40 uint256 constant public Nlengt... | |
MLOAD uint256 constant public Nlengt... | |
DUP1 uint256 constant public Nlengt... | |
DUP3 uint256 constant public Nlengt... | |
DUP2 uint256 constant public Nlengt... | |
MSTORE uint256 constant public Nlengt... | |
PUSH 20 uint256 constant public Nlengt... | |
ADD uint256 constant public Nlengt... | |
SWAP2 uint256 constant public Nlengt... | |
POP uint256 constant public Nlengt... | |
POP uint256 constant public Nlengt... | |
PUSH 40 uint256 constant public Nlengt... | |
MLOAD uint256 constant public Nlengt... | |
DUP1 uint256 constant public Nlengt... | |
SWAP2 uint256 constant public Nlengt... | |
SUB uint256 constant public Nlengt... | |
SWAP1 uint256 constant public Nlengt... | |
RETURN uint256 constant public Nlengt... | |
tag 21 function modularMul4(\n ... | |
JUMPDEST function modularMul4(\n ... | |
CALLVALUE function modularMul4(\n ... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 107 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 107 a | |
JUMPDEST a | |
POP function modularMul4(\n ... | |
PUSH [tag] 108 function modularMul4(\n ... | |
PUSH 4 function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
CALLDATASIZE function modularMul4(\n ... | |
SUB function modularMul4(\n ... | |
DUP2 function modularMul4(\n ... | |
ADD function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
PUSH 100 function modularMul4(\n ... | |
ADD function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
PUSH 8 function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
PUSH 20 function modularMul4(\n ... | |
MUL function modularMul4(\n ... | |
PUSH 40 function modularMul4(\n ... | |
MLOAD function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
DUP2 function modularMul4(\n ... | |
ADD function modularMul4(\n ... | |
PUSH 40 function modularMul4(\n ... | |
MSTORE function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
SWAP3 function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
DUP3 function modularMul4(\n ... | |
PUSH 8 function modularMul4(\n ... | |
PUSH 20 function modularMul4(\n ... | |
MUL function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
DUP3 function modularMul4(\n ... | |
DUP5 function modularMul4(\n ... | |
CALLDATACOPY function modularMul4(\n ... | |
DUP3 function modularMul4(\n ... | |
ADD function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
SWAP3 function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
SWAP3 function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
PUSH 100 function modularMul4(\n ... | |
ADD function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
PUSH 8 function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
PUSH 20 function modularMul4(\n ... | |
MUL function modularMul4(\n ... | |
PUSH 40 function modularMul4(\n ... | |
MLOAD function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
DUP2 function modularMul4(\n ... | |
ADD function modularMul4(\n ... | |
PUSH 40 function modularMul4(\n ... | |
MSTORE function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
SWAP3 function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
DUP3 function modularMul4(\n ... | |
PUSH 8 function modularMul4(\n ... | |
PUSH 20 function modularMul4(\n ... | |
MUL function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
DUP3 function modularMul4(\n ... | |
DUP5 function modularMul4(\n ... | |
CALLDATACOPY function modularMul4(\n ... | |
DUP3 function modularMul4(\n ... | |
ADD function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
SWAP3 function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
SWAP3 function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
PUSH 100 function modularMul4(\n ... | |
ADD function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
PUSH 8 function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
PUSH 20 function modularMul4(\n ... | |
MUL function modularMul4(\n ... | |
PUSH 40 function modularMul4(\n ... | |
MLOAD function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
DUP2 function modularMul4(\n ... | |
ADD function modularMul4(\n ... | |
PUSH 40 function modularMul4(\n ... | |
MSTORE function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
SWAP3 function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
DUP3 function modularMul4(\n ... | |
PUSH 8 function modularMul4(\n ... | |
PUSH 20 function modularMul4(\n ... | |
MUL function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
DUP3 function modularMul4(\n ... | |
DUP5 function modularMul4(\n ... | |
CALLDATACOPY function modularMul4(\n ... | |
DUP3 function modularMul4(\n ... | |
ADD function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
SWAP3 function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
SWAP3 function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
PUSH [tag] 109 function modularMul4(\n ... | |
JUMP function modularMul4(\n ... | |
tag 108 function modularMul4(\n ... | |
JUMPDEST function modularMul4(\n ... | |
PUSH 40 function modularMul4(\n ... | |
MLOAD function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
DUP3 function modularMul4(\n ... | |
PUSH 8 function modularMul4(\n ... | |
PUSH 20 function modularMul4(\n ... | |
MUL function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
DUP4 function modularMul4(\n ... | |
DUP4 function modularMul4(\n ... | |
PUSH 0 ; | |
tag 110 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
DUP4 t R | |
DUP2 r | |
LT ontract RS | |
ISZERO olidity ^0.4.25;\n | |
contract RS... | |
PUSH [tag] 111 olidity ^0.4.25;\n | |
contract RS... | |
JUMPI olidity ^0.4.25;\n | |
contract RS... | |
DUP1 | |
DUP3 nt2 | |
ADD uint256 c | |
MLOAD N\n | |
uint256 co | |
DUP2 d | |
DUP5 is | |
ADD ics is modu | |
MSTORE rithmetics is modulo N\n | |
u... | |
PUSH 20 | |
DUP2 | |
ADD ator {\n | |
SWAP1 cumulator {\n | |
POP cumulator {\n | |
PUSH [tag] 110 olidity ^0.4.25;\n | |
contract RS... | |
JUMP olidity ^0.4.25;\n | |
contract RS... | |
tag 111 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
POP ity ^0.4.25;\n | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
ADD function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
PUSH 40 function modularMul4(\n ... | |
MLOAD function modularMul4(\n ... | |
DUP1 function modularMul4(\n ... | |
SWAP2 function modularMul4(\n ... | |
SUB function modularMul4(\n ... | |
SWAP1 function modularMul4(\n ... | |
RETURN function modularMul4(\n ... | |
tag 22 function updateAccumulatorMult... | |
JUMPDEST function updateAccumulatorMult... | |
CALLVALUE function updateAccumulatorMult... | |
DUP1 olidity ^ | |
ISZERO a | |
PUSH [tag] 113 a | |
JUMPI a | |
PUSH 0 r | |
DUP1 o | |
REVERT .25;\n | |
contra | |
tag 113 a | |
JUMPDEST a | |
POP function updateAccumulatorMult... | |
PUSH [tag] 114 function updateAccumulatorMult... | |
PUSH 4 function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
CALLDATASIZE function updateAccumulatorMult... | |
SUB function updateAccumulatorMult... | |
DUP2 function updateAccumulatorMult... | |
ADD function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
PUSH 100 function updateAccumulatorMult... | |
ADD function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
PUSH 8 function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
PUSH 20 function updateAccumulatorMult... | |
MUL function updateAccumulatorMult... | |
PUSH 40 function updateAccumulatorMult... | |
MLOAD function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
DUP2 function updateAccumulatorMult... | |
ADD function updateAccumulatorMult... | |
PUSH 40 function updateAccumulatorMult... | |
MSTORE function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
SWAP3 function updateAccumulatorMult... | |
SWAP2 function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
DUP3 function updateAccumulatorMult... | |
PUSH 8 function updateAccumulatorMult... | |
PUSH 20 function updateAccumulatorMult... | |
MUL function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
DUP3 function updateAccumulatorMult... | |
DUP5 function updateAccumulatorMult... | |
CALLDATACOPY function updateAccumulatorMult... | |
DUP3 function updateAccumulatorMult... | |
ADD function updateAccumulatorMult... | |
SWAP2 function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
SWAP2 function updateAccumulatorMult... | |
SWAP3 function updateAccumulatorMult... | |
SWAP2 function updateAccumulatorMult... | |
SWAP3 function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
CALLDATALOAD function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
PUSH 20 function updateAccumulatorMult... | |
ADD function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
DUP3 function updateAccumulatorMult... | |
ADD function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
CALLDATALOAD function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
PUSH 20 function updateAccumulatorMult... | |
ADD function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
PUSH 20 function updateAccumulatorMult... | |
MUL function updateAccumulatorMult... | |
PUSH 20 function updateAccumulatorMult... | |
ADD function updateAccumulatorMult... | |
PUSH 40 function updateAccumulatorMult... | |
MLOAD function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
DUP2 function updateAccumulatorMult... | |
ADD function updateAccumulatorMult... | |
PUSH 40 function updateAccumulatorMult... | |
MSTORE function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
SWAP4 function updateAccumulatorMult... | |
SWAP3 function updateAccumulatorMult... | |
SWAP2 function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
DUP2 function updateAccumulatorMult... | |
DUP2 function updateAccumulatorMult... | |
MSTORE function updateAccumulatorMult... | |
PUSH 20 function updateAccumulatorMult... | |
ADD function updateAccumulatorMult... | |
DUP4 function updateAccumulatorMult... | |
DUP4 function updateAccumulatorMult... | |
PUSH 20 function updateAccumulatorMult... | |
MUL function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
DUP3 function updateAccumulatorMult... | |
DUP5 function updateAccumulatorMult... | |
CALLDATACOPY function updateAccumulatorMult... | |
DUP3 function updateAccumulatorMult... | |
ADD function updateAccumulatorMult... | |
SWAP2 function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
SWAP2 function updateAccumulatorMult... | |
SWAP3 function updateAccumulatorMult... | |
SWAP2 function updateAccumulatorMult... | |
SWAP3 function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
PUSH [tag] 115 function updateAccumulatorMult... | |
JUMP function updateAccumulatorMult... | |
tag 114 function updateAccumulatorMult... | |
JUMPDEST function updateAccumulatorMult... | |
PUSH 40 function updateAccumulatorMult... | |
MLOAD function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
DUP3 function updateAccumulatorMult... | |
PUSH 8 function updateAccumulatorMult... | |
PUSH 20 function updateAccumulatorMult... | |
MUL function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
DUP4 function updateAccumulatorMult... | |
DUP4 function updateAccumulatorMult... | |
PUSH 0 ; | |
tag 116 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
DUP4 t R | |
DUP2 r | |
LT ontract RS | |
ISZERO olidity ^0.4.25;\n | |
contract RS... | |
PUSH [tag] 117 olidity ^0.4.25;\n | |
contract RS... | |
JUMPI olidity ^0.4.25;\n | |
contract RS... | |
DUP1 | |
DUP3 nt2 | |
ADD uint256 c | |
MLOAD N\n | |
uint256 co | |
DUP2 d | |
DUP5 is | |
ADD ics is modu | |
MSTORE rithmetics is modulo N\n | |
u... | |
PUSH 20 | |
DUP2 | |
ADD ator {\n | |
SWAP1 cumulator {\n | |
POP cumulator {\n | |
PUSH [tag] 116 olidity ^0.4.25;\n | |
contract RS... | |
JUMP olidity ^0.4.25;\n | |
contract RS... | |
tag 117 olidity ^0.4.25;\n | |
contract RS... | |
JUMPDEST olidity ^0.4.25;\n | |
contract RS... | |
POP ity ^0.4.25;\n | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
ADD function updateAccumulatorMult... | |
SWAP2 function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
PUSH 40 function updateAccumulatorMult... | |
MLOAD function updateAccumulatorMult... | |
DUP1 function updateAccumulatorMult... | |
SWAP2 function updateAccumulatorMult... | |
SUB function updateAccumulatorMult... | |
SWAP1 function updateAccumulatorMult... | |
RETURN function updateAccumulatorMult... | |
tag 25 function modularAdd(\n ... | |
JUMPDEST function modularAdd(\n ... | |
PUSH [tag] 119 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 119 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 121 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 121 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 0 int256 comparison | |
PUSH [tag] 123 wrappingSub(_m, _a) | |
DUP5 _m | |
DUP8 _a | |
PUSH [tag] 85 wrappingSub | |
JUMP [in] wrappingSub(_m, _a) | |
tag 123 wrappingSub(_m, _a) | |
JUMPDEST wrappingSub(_m, _a) | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 124 compare(space, _b) | |
DUP3 space | |
DUP7 _b | |
PUSH [tag] 73 compare | |
JUMP [in] compare(space, _b) | |
tag 124 compare(space, _b) | |
JUMPDEST compare(space, _b) | |
SWAP1 int256 comparison = compare(sp... | |
POP int256 comparison = compare(sp... | |
PUSH 0 0 | |
DUP2 comparison | |
EQ comparison == 0 | |
ISZERO if (comparison == 0) {\n ... | |
PUSH [tag] 125 if (comparison == 0) {\n ... | |
JUMPI if (comparison == 0) {\n ... | |
DUP3 o | |
SWAP3 return o | |
POP return o | |
PUSH [tag] 122 return o | |
JUMP return o | |
tag 125 if (comparison == 0) {\n ... | |
JUMPDEST if (comparison == 0) {\n ... | |
PUSH 1 1 | |
DUP2 comparison | |
EQ comparison == 1 | |
ISZERO if (comparison == 1) {\n ... | |
PUSH [tag] 127 if (comparison == 1) {\n ... | |
JUMPI if (comparison == 1) {\n ... | |
PUSH [tag] 128 wrappingAdd(_a, _b) | |
DUP7 _a | |
DUP7 _b | |
PUSH [tag] 61 wrappingAdd | |
JUMP [in] wrappingAdd(_a, _b) | |
tag 128 wrappingAdd(_a, _b) | |
JUMPDEST wrappingAdd(_a, _b) | |
SWAP3 return wrappingAdd(_a, _b) | |
POP return wrappingAdd(_a, _b) | |
PUSH [tag] 122 return wrappingAdd(_a, _b) | |
JUMP return wrappingAdd(_a, _b) | |
tag 127 if (comparison == 1) {\n ... | |
JUMPDEST if (comparison == 1) {\n ... | |
PUSH [tag] 130 wrappingSub(_b, space) | |
DUP6 _b | |
DUP4 space | |
PUSH [tag] 85 wrappingSub | |
JUMP [in] wrappingSub(_b, space) | |
tag 130 wrappingSub(_b, space) | |
JUMPDEST wrappingSub(_b, space) | |
SWAP3 return wrappingSub(_b, space) | |
POP return wrappingSub(_b, space) | |
tag 122 function modularAdd(\n ... | |
JUMPDEST function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
SWAP4 function modularAdd(\n ... | |
SWAP3 function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
POP function modularAdd(\n ... | |
JUMP [out] function modularAdd(\n ... | |
tag 31 function updateAccumulator(\n ... | |
JUMPDEST function updateAccumulator(\n ... | |
PUSH [tag] 131 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 131 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 133 modularExp(previousAccumulator... | |
DUP4 previousAccumulator | |
DUP4 _value | |
PUSH 10 N | |
PUSH 8 modularExp(previousAccumulator... | |
DUP1 modularExp(previousAccumulator... | |
PUSH 20 modularExp(previousAccumulator... | |
MUL modularExp(previousAccumulator... | |
PUSH 40 modularExp(previousAccumulator... | |
MLOAD modularExp(previousAccumulator... | |
SWAP1 modularExp(previousAccumulator... | |
DUP2 modularExp(previousAccumulator... | |
ADD modularExp(previousAccumulator... | |
PUSH 40 modularExp(previousAccumulator... | |
MSTORE modularExp(previousAccumulator... | |
DUP1 modularExp(previousAccumulator... | |
SWAP3 modularExp(previousAccumulator... | |
SWAP2 modularExp(previousAccumulator... | |
SWAP1 modularExp(previousAccumulator... | |
DUP3 modularExp(previousAccumulator... | |
PUSH 8 modularExp(previousAccumulator... | |
DUP1 modularExp(previousAccumulator... | |
ISZERO modularExp(previousAccumulator... | |
PUSH [tag] 134 modularExp(previousAccumulator... | |
JUMPI modularExp(previousAccumulator... | |
PUSH 20 modularExp(previousAccumulator... | |
MUL modularExp(previousAccumulator... | |
DUP3 modularExp(previousAccumulator... | |
ADD modularExp(previousAccumulator... | |
SWAP2 modularExp(previousAccumulator... | |
tag 135 modularExp(previousAccumulator... | |
JUMPDEST modularExp(previousAccumulator... | |
DUP2 modularExp(previousAccumulator... | |
SLOAD modularExp(previousAccumulator... | |
DUP2 modularExp(previousAccumulator... | |
MSTORE modularExp(previousAccumulator... | |
PUSH 20 modularExp(previousAccumulator... | |
ADD modularExp(previousAccumulator... | |
SWAP1 modularExp(previousAccumulator... | |
PUSH 1 modularExp(previousAccumulator... | |
ADD modularExp(previousAccumulator... | |
SWAP1 modularExp(previousAccumulator... | |
DUP1 modularExp(previousAccumulator... | |
DUP4 modularExp(previousAccumulator... | |
GT modularExp(previousAccumulator... | |
PUSH [tag] 135 modularExp(previousAccumulator... | |
JUMPI modularExp(previousAccumulator... | |
tag 134 modularExp(previousAccumulator... | |
JUMPDEST modularExp(previousAccumulator... | |
POP modularExp(previousAccumulator... | |
POP modularExp(previousAccumulator... | |
POP modularExp(previousAccumulator... | |
POP modularExp(previousAccumulator... | |
POP modularExp(previousAccumulator... | |
PUSH [tag] 94 modularExp | |
JUMP [in] modularExp(previousAccumulator... | |
tag 133 modularExp(previousAccumulator... | |
JUMPDEST modularExp(previousAccumulator... | |
SWAP1 newAccumulator = modularExp(pr... | |
POP newAccumulator = modularExp(pr... | |
SWAP3 function updateAccumulator(\n ... | |
SWAP2 function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
POP function updateAccumulator(\n ... | |
JUMP [out] function updateAccumulator(\n ... | |
tag 37 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 10 uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 8 uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
LT uint256[NlengthIn32ByteLimbs] ... | |
ISZERO uint256[NlengthIn32ByteLimbs] ... | |
ISZERO uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 136 uint256[NlengthIn32ByteLimbs] ... | |
JUMPI uint256[NlengthIn32ByteLimbs] ... | |
INVALID uint256[NlengthIn32ByteLimbs] ... | |
tag 136 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
PUSH 0 uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
SLOAD uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [out] uint256[NlengthIn32ByteLimbs] ... | |
tag 40 uint256 constant public Nlengt... | |
JUMPDEST uint256 constant public Nlengt... | |
PUSH 8 8 | |
DUP2 uint256 constant public Nlengt... | |
JUMP [out] uint256 constant public Nlengt... | |
tag 43 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 8 uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 8 uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
LT uint256[NlengthIn32ByteLimbs] ... | |
ISZERO uint256[NlengthIn32ByteLimbs] ... | |
ISZERO uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 138 uint256[NlengthIn32ByteLimbs] ... | |
JUMPI uint256[NlengthIn32ByteLimbs] ... | |
INVALID uint256[NlengthIn32ByteLimbs] ... | |
tag 138 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
PUSH 0 uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
SLOAD uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [out] uint256[NlengthIn32ByteLimbs] ... | |
tag 46 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 0 uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 8 uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
LT uint256[NlengthIn32ByteLimbs] ... | |
ISZERO uint256[NlengthIn32ByteLimbs] ... | |
ISZERO uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 140 uint256[NlengthIn32ByteLimbs] ... | |
JUMPI uint256[NlengthIn32ByteLimbs] ... | |
INVALID uint256[NlengthIn32ByteLimbs] ... | |
tag 140 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
PUSH 0 uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
SLOAD uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [out] uint256[NlengthIn32ByteLimbs] ... | |
tag 49 function getN()\n public | |
... | |
JUMPDEST function getN()\n public | |
... | |
PUSH [tag] 142 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 142 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 10 N | |
PUSH 8 return N | |
DUP1 return N | |
PUSH 20 return N | |
MUL return N | |
PUSH 40 return N | |
MLOAD return N | |
SWAP1 return N | |
DUP2 return N | |
ADD return N | |
PUSH 40 return N | |
MSTORE return N | |
DUP1 return N | |
SWAP3 return N | |
SWAP2 return N | |
SWAP1 return N | |
DUP3 return N | |
PUSH 8 return N | |
DUP1 return N | |
ISZERO return N | |
PUSH [tag] 144 return N | |
JUMPI return N | |
PUSH 20 return N | |
MUL return N | |
DUP3 return N | |
ADD return N | |
SWAP2 return N | |
tag 145 return N | |
JUMPDEST return N | |
DUP2 return N | |
SLOAD return N | |
DUP2 return N | |
MSTORE return N | |
PUSH 20 return N | |
ADD return N | |
SWAP1 return N | |
PUSH 1 return N | |
ADD return N | |
SWAP1 return N | |
DUP1 return N | |
DUP4 return N | |
GT return N | |
PUSH [tag] 145 return N | |
JUMPI return N | |
tag 144 return N | |
JUMPDEST return N | |
POP return N | |
POP return N | |
POP return N | |
POP return N | |
POP return N | |
SWAP1 return N | |
POP return N | |
SWAP1 function getN()\n public | |
... | |
JUMP [out] function getN()\n public | |
... | |
tag 55 function modularSub(\n ... | |
JUMPDEST function modularSub(\n ... | |
PUSH [tag] 146 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 146 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 0 int256 comparison | |
PUSH [tag] 147 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 147 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 149 compare(_a, _b) | |
DUP7 _a | |
DUP7 _b | |
PUSH [tag] 73 compare | |
JUMP [in] compare(_a, _b) | |
tag 149 compare(_a, _b) | |
JUMPDEST compare(_a, _b) | |
SWAP2 int256 comparison = compare(_a... | |
POP int256 comparison = compare(_a... | |
PUSH 0 0 | |
DUP3 comparison | |
EQ comparison == 0 | |
ISZERO if (comparison == 0) {\n ... | |
PUSH [tag] 150 if (comparison == 0) {\n ... | |
JUMPI if (comparison == 0) {\n ... | |
DUP3 o | |
SWAP3 return o | |
POP return o | |
PUSH [tag] 148 return o | |
JUMP return o | |
tag 150 if (comparison == 0) {\n ... | |
JUMPDEST if (comparison == 0) {\n ... | |
PUSH 1 1 | |
DUP3 comparison | |
EQ comparison == 1 | |
ISZERO if (comparison == 1) {\n ... | |
PUSH [tag] 152 if (comparison == 1) {\n ... | |
JUMPI if (comparison == 1) {\n ... | |
PUSH [tag] 153 wrappingSub(_a, _b) | |
DUP7 _a | |
DUP7 _b | |
PUSH [tag] 85 wrappingSub | |
JUMP [in] wrappingSub(_a, _b) | |
tag 153 wrappingSub(_a, _b) | |
JUMPDEST wrappingSub(_a, _b) | |
SWAP3 return wrappingSub(_a, _b) | |
POP return wrappingSub(_a, _b) | |
PUSH [tag] 148 return wrappingSub(_a, _b) | |
JUMP return wrappingSub(_a, _b) | |
tag 152 if (comparison == 1) {\n ... | |
JUMPDEST if (comparison == 1) {\n ... | |
PUSH [tag] 155 wrappingSub(_b, _a) | |
DUP6 _b | |
DUP8 _a | |
PUSH [tag] 85 wrappingSub | |
JUMP [in] wrappingSub(_b, _a) | |
tag 155 wrappingSub(_b, _a) | |
JUMPDEST wrappingSub(_b, _a) | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 156 wrappingSub(_m, tmp) | |
DUP5 _m | |
DUP3 tmp | |
PUSH [tag] 85 wrappingSub | |
JUMP [in] wrappingSub(_m, tmp) | |
tag 156 wrappingSub(_m, tmp) | |
JUMPDEST wrappingSub(_m, tmp) | |
SWAP3 return wrappingSub(_m, tmp) | |
POP return wrappingSub(_m, tmp) | |
tag 148 function modularSub(\n ... | |
JUMPDEST function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
SWAP4 function modularSub(\n ... | |
SWAP3 function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
POP function modularSub(\n ... | |
JUMP [out] function modularSub(\n ... | |
tag 61 function wrappingAdd(\n ... | |
JUMPDEST function wrappingAdd(\n ... | |
PUSH [tag] 157 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 157 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 0 bool carry | |
DUP1 uint256 limb | |
PUSH 0 uint256 subaddition | |
DUP1 uint256 i | |
PUSH 0 false | |
SWAP4 bool carry = false | |
POP bool carry = false | |
PUSH 0 0 | |
SWAP3 uint256 limb = 0 | |
POP uint256 limb = 0 | |
PUSH 0 0 | |
SWAP2 uint256 subaddition = 0 | |
POP uint256 subaddition = 0 | |
PUSH 1 1 | |
PUSH 8 8 | |
SUB NlengthIn32ByteLimbs - 1 | |
SWAP1 uint256 i = NlengthIn32ByteLim... | |
POP uint256 i = NlengthIn32ByteLim... | |
tag 159 for (uint256 i = NlengthIn32By... | |
JUMPDEST for (uint256 i = NlengthIn32By... | |
PUSH 8 8 | |
DUP2 i | |
LT i < NlengthIn32ByteLimbs | |
ISZERO for (uint256 i = NlengthIn32By... | |
PUSH [tag] 160 for (uint256 i = NlengthIn32By... | |
JUMPI for (uint256 i = NlengthIn32By... | |
DUP7 _a | |
DUP2 i | |
PUSH 8 _a[i] | |
DUP2 _a[i] | |
LT _a[i] | |
ISZERO _a[i] | |
ISZERO _a[i] | |
PUSH [tag] 162 _a[i] | |
JUMPI _a[i] | |
INVALID _a[i] | |
tag 162 _a[i] | |
JUMPDEST _a[i] | |
PUSH 20 _a[i] | |
MUL _a[i] | |
ADD _a[i] | |
MLOAD _a[i] | |
SWAP3 limb = _a[i] | |
POP limb = _a[i] | |
DUP4 carry | |
ISZERO if (carry) {\n ... | |
PUSH [tag] 163 if (carry) {\n ... | |
JUMPI if (carry) {\n ... | |
PUSH FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ~0 | |
DUP4 limb | |
EQ limb == uint256(~0) | |
ISZERO if (limb == uint256(~0)) {\n ... | |
PUSH [tag] 164 if (limb == uint256(~0)) {\n ... | |
JUMPI if (limb == uint256(~0)) {\n ... | |
PUSH 1 true | |
SWAP4 carry = true | |
POP carry = true | |
DUP6 _b | |
DUP2 i | |
PUSH 8 _b[i] | |
DUP2 _b[i] | |
LT _b[i] | |
ISZERO _b[i] | |
ISZERO _b[i] | |
PUSH [tag] 165 _b[i] | |
JUMPI _b[i] | |
INVALID _b[i] | |
tag 165 _b[i] | |
JUMPDEST _b[i] | |
PUSH 20 _b[i] | |
MUL _b[i] | |
ADD _b[i] | |
MLOAD _b[i] | |
DUP6 o | |
DUP3 i | |
PUSH 8 o[i] | |
DUP2 o[i] | |
LT o[i] | |
ISZERO o[i] | |
ISZERO o[i] | |
PUSH [tag] 166 o[i] | |
JUMPI o[i] | |
INVALID o[i] | |
tag 166 o[i] | |
JUMPDEST o[i] | |
PUSH 20 o[i] | |
MUL o[i] | |
ADD o[i] | |
DUP2 o[i] = _b[i] | |
DUP2 o[i] = _b[i] | |
MSTORE o[i] = _b[i] | |
POP o[i] = _b[i] | |
POP o[i] = _b[i] | |
PUSH [tag] 167 if (limb == uint256(~0)) {\n ... | |
JUMP if (limb == uint256(~0)) {\n ... | |
tag 164 if (limb == uint256(~0)) {\n ... | |
JUMPDEST if (limb == uint256(~0)) {\n ... | |
DUP3 limb++ | |
DUP1 limb++ | |
PUSH 1 limb++ | |
ADD limb++ | |
SWAP4 limb++ | |
POP limb++ | |
POP limb++ | |
DUP6 _b | |
DUP2 i | |
PUSH 8 _b[i] | |
DUP2 _b[i] | |
LT _b[i] | |
ISZERO _b[i] | |
ISZERO _b[i] | |
PUSH [tag] 168 _b[i] | |
JUMPI _b[i] | |
INVALID _b[i] | |
tag 168 _b[i] | |
JUMPDEST _b[i] | |
PUSH 20 _b[i] | |
MUL _b[i] | |
ADD _b[i] | |
MLOAD _b[i] | |
DUP4 limb | |
ADD limb + _b[i] | |
SWAP2 subaddition = limb + _b[i] | |
POP subaddition = limb + _b[i] | |
DUP3 limb | |
DUP3 subaddition | |
LT subaddition >= limb | |
ISZERO subaddition >= limb | |
ISZERO if (subaddition >= limb) {\n ... | |
PUSH [tag] 169 if (subaddition >= limb) {\n ... | |
JUMPI if (subaddition >= limb) {\n ... | |
PUSH 0 false | |
SWAP4 carry = false | |
POP carry = false | |
tag 169 if (subaddition >= limb) {\n ... | |
JUMPDEST if (subaddition >= limb) {\n ... | |
DUP2 subaddition | |
DUP6 o | |
DUP3 i | |
PUSH 8 o[i] | |
DUP2 o[i] | |
LT o[i] | |
ISZERO o[i] | |
ISZERO o[i] | |
PUSH [tag] 170 o[i] | |
JUMPI o[i] | |
INVALID o[i] | |
tag 170 o[i] | |
JUMPDEST o[i] | |
PUSH 20 o[i] | |
MUL o[i] | |
ADD o[i] | |
DUP2 o[i] = subaddition | |
DUP2 o[i] = subaddition | |
MSTORE o[i] = subaddition | |
POP o[i] = subaddition | |
POP o[i] = subaddition | |
tag 167 if (limb == uint256(~0)) {\n ... | |
JUMPDEST if (limb == uint256(~0)) {\n ... | |
PUSH [tag] 171 if (carry) {\n ... | |
JUMP if (carry) {\n ... | |
tag 163 if (carry) {\n ... | |
JUMPDEST if (carry) {\n ... | |
DUP6 _b | |
DUP2 i | |
PUSH 8 _b[i] | |
DUP2 _b[i] | |
LT _b[i] | |
ISZERO _b[i] | |
ISZERO _b[i] | |
PUSH [tag] 172 _b[i] | |
JUMPI _b[i] | |
INVALID _b[i] | |
tag 172 _b[i] | |
JUMPDEST _b[i] | |
PUSH 20 _b[i] | |
MUL _b[i] | |
ADD _b[i] | |
MLOAD _b[i] | |
DUP4 limb | |
ADD limb + _b[i] | |
SWAP2 subaddition = limb + _b[i] | |
POP subaddition = limb + _b[i] | |
DUP3 limb | |
DUP3 subaddition | |
LT subaddition < limb | |
ISZERO if (subaddition < limb) {\n ... | |
PUSH [tag] 173 if (subaddition < limb) {\n ... | |
JUMPI if (subaddition < limb) {\n ... | |
PUSH 1 true | |
SWAP4 carry = true | |
POP carry = true | |
tag 173 if (subaddition < limb) {\n ... | |
JUMPDEST if (subaddition < limb) {\n ... | |
DUP2 subaddition | |
DUP6 o | |
DUP3 i | |
PUSH 8 o[i] | |
DUP2 o[i] | |
LT o[i] | |
ISZERO o[i] | |
ISZERO o[i] | |
PUSH [tag] 174 o[i] | |
JUMPI o[i] | |
INVALID o[i] | |
tag 174 o[i] | |
JUMPDEST o[i] | |
PUSH 20 o[i] | |
MUL o[i] | |
ADD o[i] | |
DUP2 o[i] = subaddition | |
DUP2 o[i] = subaddition | |
MSTORE o[i] = subaddition | |
POP o[i] = subaddition | |
POP o[i] = subaddition | |
tag 171 if (carry) {\n ... | |
JUMPDEST if (carry) {\n ... | |
DUP1 i-- | |
DUP1 i-- | |
PUSH 1 i-- | |
SWAP1 i-- | |
SUB i-- | |
SWAP2 i-- | |
POP i-- | |
POP i-- | |
PUSH [tag] 159 for (uint256 i = NlengthIn32By... | |
JUMP for (uint256 i = NlengthIn32By... | |
tag 160 for (uint256 i = NlengthIn32By... | |
JUMPDEST for (uint256 i = NlengthIn32By... | |
DUP5 o | |
SWAP5 return o | |
POP return o | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
SWAP3 function wrappingAdd(\n ... | |
SWAP2 function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
POP function wrappingAdd(\n ... | |
JUMP [out] function wrappingAdd(\n ... | |
tag 67 function modularMulBy4(\n ... | |
JUMPDEST function modularMulBy4(\n ... | |
PUSH [tag] 175 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 175 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 176 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 176 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 178 modularAdd(_a, _a, _m) | |
DUP5 _a | |
DUP6 _a | |
DUP6 _m | |
PUSH [tag] 25 modularAdd | |
JUMP [in] modularAdd(_a, _a, _m) | |
tag 178 modularAdd(_a, _a, _m) | |
JUMPDEST modularAdd(_a, _a, _m) | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 179 modularAdd(t, t, _m) | |
DUP2 t | |
DUP3 t | |
DUP6 _m | |
PUSH [tag] 25 modularAdd | |
JUMP [in] modularAdd(t, t, _m) | |
tag 179 modularAdd(t, t, _m) | |
JUMPDEST modularAdd(t, t, _m) | |
SWAP2 c = modularAdd(t, t, _m) | |
POP c = modularAdd(t, t, _m) | |
POP function modularMulBy4(\n ... | |
SWAP3 function modularMulBy4(\n ... | |
SWAP2 function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
POP function modularMulBy4(\n ... | |
JUMP [out] function modularMulBy4(\n ... | |
tag 73 function compare(\n uin... | |
JUMPDEST function compare(\n uin... | |
PUSH 0 int256 result | |
DUP1 uint256 i | |
PUSH 0 0 | |
SWAP1 uint256 i = 0 | |
POP uint256 i = 0 | |
tag 181 for (uint256 i = 0; i < Nlengt... | |
JUMPDEST for (uint256 i = 0; i < Nlengt... | |
PUSH 8 8 | |
DUP2 i | |
LT i < NlengthIn32ByteLimbs | |
ISZERO for (uint256 i = 0; i < Nlengt... | |
PUSH [tag] 182 for (uint256 i = 0; i < Nlengt... | |
JUMPI for (uint256 i = 0; i < Nlengt... | |
DUP3 _b | |
DUP2 i | |
PUSH 8 _b[i] | |
DUP2 _b[i] | |
LT _b[i] | |
ISZERO _b[i] | |
ISZERO _b[i] | |
PUSH [tag] 184 _b[i] | |
JUMPI _b[i] | |
INVALID _b[i] | |
tag 184 _b[i] | |
JUMPDEST _b[i] | |
PUSH 20 _b[i] | |
MUL _b[i] | |
ADD _b[i] | |
MLOAD _b[i] | |
DUP5 _a | |
DUP3 i | |
PUSH 8 _a[i] | |
DUP2 _a[i] | |
LT _a[i] | |
ISZERO _a[i] | |
ISZERO _a[i] | |
PUSH [tag] 185 _a[i] | |
JUMPI _a[i] | |
INVALID _a[i] | |
tag 185 _a[i] | |
JUMPDEST _a[i] | |
PUSH 20 _a[i] | |
MUL _a[i] | |
ADD _a[i] | |
MLOAD _a[i] | |
GT _a[i] > _b[i] | |
ISZERO if (_a[i] > _b[i]) {\n ... | |
PUSH [tag] 186 if (_a[i] > _b[i]) {\n ... | |
JUMPI if (_a[i] > _b[i]) {\n ... | |
PUSH 1 1 | |
SWAP2 return 1 | |
POP return 1 | |
PUSH [tag] 180 return 1 | |
JUMP return 1 | |
tag 186 if (_a[i] > _b[i]) {\n ... | |
JUMPDEST if (_a[i] > _b[i]) {\n ... | |
DUP3 _b | |
DUP2 i | |
PUSH 8 _b[i] | |
DUP2 _b[i] | |
LT _b[i] | |
ISZERO _b[i] | |
ISZERO _b[i] | |
PUSH [tag] 188 _b[i] | |
JUMPI _b[i] | |
INVALID _b[i] | |
tag 188 _b[i] | |
JUMPDEST _b[i] | |
PUSH 20 _b[i] | |
MUL _b[i] | |
ADD _b[i] | |
MLOAD _b[i] | |
DUP5 _a | |
DUP3 i | |
PUSH 8 _a[i] | |
DUP2 _a[i] | |
LT _a[i] | |
ISZERO _a[i] | |
ISZERO _a[i] | |
PUSH [tag] 189 _a[i] | |
JUMPI _a[i] | |
INVALID _a[i] | |
tag 189 _a[i] | |
JUMPDEST _a[i] | |
PUSH 20 _a[i] | |
MUL _a[i] | |
ADD _a[i] | |
MLOAD _a[i] | |
LT _a[i] < _b[i] | |
ISZERO if (_a[i] < _b[i]) {\n ... | |
PUSH [tag] 190 if (_a[i] < _b[i]) {\n ... | |
JUMPI if (_a[i] < _b[i]) {\n ... | |
PUSH FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF -1 | |
SWAP2 return -1 | |
POP return -1 | |
PUSH [tag] 180 return -1 | |
JUMP return -1 | |
tag 190 if (_a[i] < _b[i]) {\n ... | |
JUMPDEST if (_a[i] < _b[i]) {\n ... | |
DUP1 i++ | |
DUP1 i++ | |
PUSH 1 i++ | |
ADD i++ | |
SWAP2 i++ | |
POP i++ | |
POP i++ | |
PUSH [tag] 181 for (uint256 i = 0; i < Nlengt... | |
JUMP for (uint256 i = 0; i < Nlengt... | |
tag 182 for (uint256 i = 0; i < Nlengt... | |
JUMPDEST for (uint256 i = 0; i < Nlengt... | |
PUSH 0 0 | |
SWAP2 return 0 | |
POP return 0 | |
tag 180 function compare(\n uin... | |
JUMPDEST function compare(\n uin... | |
POP function compare(\n uin... | |
SWAP3 function compare(\n uin... | |
SWAP2 function compare(\n uin... | |
POP function compare(\n uin... | |
POP function compare(\n uin... | |
JUMP [out] function compare(\n uin... | |
tag 76 function checkInclusionProof(\... | |
JUMPDEST function checkInclusionProof(\... | |
PUSH 0 bool isValue | |
PUSH [tag] 191 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 191 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 192 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 192 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 10 N | |
PUSH 8 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 20 uint256[NlengthIn32ByteLimbs] ... | |
MUL uint256[NlengthIn32ByteLimbs] ... | |
PUSH 40 uint256[NlengthIn32ByteLimbs] ... | |
MLOAD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
PUSH 40 uint256[NlengthIn32ByteLimbs] ... | |
MSTORE uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
SWAP3 uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP3 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 8 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
ISZERO uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 194 uint256[NlengthIn32ByteLimbs] ... | |
JUMPI uint256[NlengthIn32ByteLimbs] ... | |
PUSH 20 uint256[NlengthIn32ByteLimbs] ... | |
MUL uint256[NlengthIn32ByteLimbs] ... | |
DUP3 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
tag 195 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
SLOAD uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
MSTORE uint256[NlengthIn32ByteLimbs] ... | |
PUSH 20 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 1 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP4 uint256[NlengthIn32ByteLimbs] ... | |
GT uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 195 uint256[NlengthIn32ByteLimbs] ... | |
JUMPI uint256[NlengthIn32ByteLimbs] ... | |
tag 194 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 196 modularExpVariableLength(initi... | |
DUP6 initialAccumulator | |
DUP8 witnessLimbs | |
DUP5 nReadOnce | |
PUSH [tag] 79 modularExpVariableLength | |
JUMP [in] modularExpVariableLength(initi... | |
tag 196 modularExpVariableLength(initi... | |
JUMPDEST modularExpVariableLength(initi... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 197 modularExp(lhs, uint256(prime)... | |
DUP2 lhs | |
DUP9 prime | |
PUSH FFFFFFFFFFFFFFFF uint256(prime) | |
AND uint256(prime) | |
DUP5 nReadOnce | |
PUSH [tag] 94 modularExp | |
JUMP [in] modularExp(lhs, uint256(prime)... | |
tag 197 modularExp(lhs, uint256(prime)... | |
JUMPDEST modularExp(lhs, uint256(prime)... | |
SWAP1 lhs = modularExp(lhs, uint256(... | |
POP lhs = modularExp(lhs, uint256(... | |
PUSH 0 0 | |
PUSH [tag] 198 compare(lhs, finalAccumulator) | |
DUP3 lhs | |
DUP7 finalAccumulator | |
PUSH [tag] 73 compare | |
JUMP [in] compare(lhs, finalAccumulator) | |
tag 198 compare(lhs, finalAccumulator) | |
JUMPDEST compare(lhs, finalAccumulator) | |
EQ compare(lhs, finalAccumulator)... | |
ISZERO compare(lhs, finalAccumulator)... | |
ISZERO if (compare(lhs, finalAccumula... | |
PUSH [tag] 199 if (compare(lhs, finalAccumula... | |
JUMPI if (compare(lhs, finalAccumula... | |
PUSH 0 false | |
SWAP3 return false | |
POP return false | |
PUSH [tag] 193 return false | |
JUMP return false | |
tag 199 if (compare(lhs, finalAccumula... | |
JUMPDEST if (compare(lhs, finalAccumula... | |
PUSH 1 true | |
SWAP3 return true | |
POP return true | |
tag 193 function checkInclusionProof(\... | |
JUMPDEST function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
SWAP5 function checkInclusionProof(\... | |
SWAP4 function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
POP function checkInclusionProof(\... | |
JUMP [out] function checkInclusionProof(\... | |
tag 79 function modularExpVariableLen... | |
JUMPDEST function modularExpVariableLen... | |
PUSH [tag] 200 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 200 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 0 uint256 modulusLength | |
DUP1 uint256 memoryPointer | |
PUSH 0 uint256 dataLength | |
DUP1 uint256 exponentLimbs | |
PUSH 0 uint256 limb | |
DUP1 uint256 i | |
PUSH 8 8 | |
PUSH 20 32 | |
MUL 32 * NlengthIn32ByteLimbs | |
SWAP6 uint256 modulusLength = Nlengt... | |
POP uint256 modulusLength = Nlengt... | |
PUSH 0 0 | |
SWAP5 uint256 memoryPointer = 0 | |
POP uint256 memoryPointer = 0 | |
PUSH 0 0 | |
SWAP4 uint256 dataLength = 0 | |
POP uint256 dataLength = 0 | |
DUP9 e | |
MLOAD e.length | |
SWAP3 uint256 exponentLimbs = e.leng... | |
POP uint256 exponentLimbs = e.leng... | |
PUSH 40 0x40 | |
MLOAD mload(0x40) | |
SWAP5 memoryPointer := mload(0x40) | |
POP memoryPointer := mload(0x40) | |
DUP6 modulusLength | |
DUP6 memoryPointer | |
MSTORE mstore(memoryPointer, modulusL... | |
PUSH 20 0x20 | |
DUP4 exponentLimbs | |
MUL mul(exponentLimbs, 0x20) | |
PUSH 20 0x20 | |
DUP7 memoryPointer | |
ADD add(memoryPointer, 0x20) | |
MSTORE mstore(add(memoryPointer, 0x20... | |
DUP6 modulusLength | |
PUSH 40 0x40 | |
DUP7 memoryPointer | |
ADD add(memoryPointer, 0x40) | |
MSTORE mstore(add(memoryPointer, 0x40... | |
PUSH 60 0x60 | |
SWAP4 dataLength = 0x60 | |
POP dataLength = 0x60 | |
PUSH 0 0 | |
SWAP2 uint256 limb = 0 | |
POP uint256 limb = 0 | |
PUSH 0 0 | |
SWAP1 uint256 i = 0 | |
POP uint256 i = 0 | |
tag 202 for (uint256 i = 0; i < Nlengt... | |
JUMPDEST for (uint256 i = 0; i < Nlengt... | |
PUSH 8 8 | |
DUP2 i | |
LT i < NlengthIn32ByteLimbs | |
ISZERO for (uint256 i = 0; i < Nlengt... | |
PUSH [tag] 203 for (uint256 i = 0; i < Nlengt... | |
JUMPI for (uint256 i = 0; i < Nlengt... | |
DUP10 base | |
DUP2 i | |
PUSH 8 base[i] | |
DUP2 base[i] | |
LT base[i] | |
ISZERO base[i] | |
ISZERO base[i] | |
PUSH [tag] 205 base[i] | |
JUMPI base[i] | |
INVALID base[i] | |
tag 205 base[i] | |
JUMPDEST base[i] | |
PUSH 20 base[i] | |
MUL base[i] | |
ADD base[i] | |
MLOAD base[i] | |
SWAP2 limb = base[i] | |
POP limb = base[i] | |
DUP2 limb | |
DUP5 dataLength | |
DUP7 memoryPointer | |
ADD add(memoryPointer, dataLength) | |
MSTORE mstore(add(memoryPointer, data... | |
PUSH 20 0x20 | |
DUP5 dataLength += 0x20 | |
ADD dataLength += 0x20 | |
SWAP4 dataLength += 0x20 | |
POP dataLength += 0x20 | |
DUP1 i++ | |
DUP1 i++ | |
PUSH 1 i++ | |
ADD i++ | |
SWAP2 i++ | |
POP i++ | |
POP i++ | |
PUSH [tag] 202 for (uint256 i = 0; i < Nlengt... | |
JUMP for (uint256 i = 0; i < Nlengt... | |
tag 203 for (uint256 i = 0; i < Nlengt... | |
JUMPDEST for (uint256 i = 0; i < Nlengt... | |
PUSH 0 0 | |
SWAP1 i = 0 | |
POP i = 0 | |
tag 206 for (i = 0; i < exponentLimbs;... | |
JUMPDEST for (i = 0; i < exponentLimbs;... | |
DUP3 exponentLimbs | |
DUP2 i | |
LT i < exponentLimbs | |
ISZERO for (i = 0; i < exponentLimbs;... | |
PUSH [tag] 207 for (i = 0; i < exponentLimbs;... | |
JUMPI for (i = 0; i < exponentLimbs;... | |
DUP9 e | |
DUP2 i | |
DUP2 e[i] | |
MLOAD e[i] | |
DUP2 e[i] | |
LT e[i] | |
ISZERO e[i] | |
ISZERO e[i] | |
PUSH [tag] 209 e[i] | |
JUMPI e[i] | |
INVALID e[i] | |
tag 209 e[i] | |
JUMPDEST e[i] | |
SWAP1 e[i] | |
PUSH 20 e[i] | |
ADD e[i] | |
SWAP1 e[i] | |
PUSH 20 e[i] | |
MUL e[i] | |
ADD e[i] | |
MLOAD e[i] | |
SWAP2 limb = e[i] | |
POP limb = e[i] | |
DUP2 limb | |
DUP5 dataLength | |
DUP7 memoryPointer | |
ADD add(memoryPointer, dataLength) | |
MSTORE mstore(add(memoryPointer, data... | |
PUSH 20 0x20 | |
DUP5 dataLength += 0x20 | |
ADD dataLength += 0x20 | |
SWAP4 dataLength += 0x20 | |
POP dataLength += 0x20 | |
DUP1 i++ | |
DUP1 i++ | |
PUSH 1 i++ | |
ADD i++ | |
SWAP2 i++ | |
POP i++ | |
POP i++ | |
PUSH [tag] 206 for (i = 0; i < exponentLimbs;... | |
JUMP for (i = 0; i < exponentLimbs;... | |
tag 207 for (i = 0; i < exponentLimbs;... | |
JUMPDEST for (i = 0; i < exponentLimbs;... | |
PUSH 0 0 | |
SWAP1 i = 0 | |
POP i = 0 | |
tag 210 for (i = 0; i < NlengthIn32Byt... | |
JUMPDEST for (i = 0; i < NlengthIn32Byt... | |
PUSH 8 8 | |
DUP2 i | |
LT i < NlengthIn32ByteLimbs | |
ISZERO for (i = 0; i < NlengthIn32Byt... | |
PUSH [tag] 211 for (i = 0; i < NlengthIn32Byt... | |
JUMPI for (i = 0; i < NlengthIn32Byt... | |
DUP8 m | |
DUP2 i | |
PUSH 8 m[i] | |
DUP2 m[i] | |
LT m[i] | |
ISZERO m[i] | |
ISZERO m[i] | |
PUSH [tag] 213 m[i] | |
JUMPI m[i] | |
INVALID m[i] | |
tag 213 m[i] | |
JUMPDEST m[i] | |
PUSH 20 m[i] | |
MUL m[i] | |
ADD m[i] | |
MLOAD m[i] | |
SWAP2 limb = m[i] | |
POP limb = m[i] | |
DUP2 limb | |
DUP5 dataLength | |
DUP7 memoryPointer | |
ADD add(memoryPointer, dataLength) | |
MSTORE mstore(add(memoryPointer, data... | |
PUSH 20 0x20 | |
DUP5 dataLength += 0x20 | |
ADD dataLength += 0x20 | |
SWAP4 dataLength += 0x20 | |
POP dataLength += 0x20 | |
DUP1 i++ | |
DUP1 i++ | |
PUSH 1 i++ | |
ADD i++ | |
SWAP2 i++ | |
POP i++ | |
POP i++ | |
PUSH [tag] 210 for (i = 0; i < NlengthIn32Byt... | |
JUMP for (i = 0; i < NlengthIn32Byt... | |
tag 211 for (i = 0; i < NlengthIn32Byt... | |
JUMPDEST for (i = 0; i < NlengthIn32Byt... | |
DUP6 modulusLength | |
DUP6 memoryPointer | |
DUP6 dataLength | |
DUP8 memoryPointer | |
PUSH 5 0x05 | |
PUSH 7D0 2000 | |
GAS gas | |
SUB sub(gas, 2000) | |
STATICCALL staticcall(sub(gas, 2000), 0x0... | |
DUP1 success | |
PUSH 0 0 | |
DUP2 case 0 {\n reve... | |
EQ case 0 {\n reve... | |
PUSH [tag] 215 case 0 {\n reve... | |
JUMPI case 0 {\n reve... | |
PUSH [tag] 214 switch success case 0 {\n ... | |
JUMP switch success case 0 {\n ... | |
tag 215 case 0 {\n reve... | |
JUMPDEST case 0 {\n reve... | |
PUSH 0 0 | |
DUP1 0 | |
REVERT revert(0, 0) | |
tag 214 switch success case 0 {\n ... | |
JUMPDEST switch success case 0 {\n ... | |
POP switch success case 0 {\n ... | |
POP {\n let success := ... | |
PUSH 0 0 | |
SWAP4 dataLength = 0 | |
POP dataLength = 0 | |
PUSH 0 0 | |
SWAP2 limb = 0 | |
POP limb = 0 | |
PUSH 0 0 | |
SWAP1 i = 0 | |
POP i = 0 | |
tag 216 for (i = 0; i < NlengthIn32Byt... | |
JUMPDEST for (i = 0; i < NlengthIn32Byt... | |
PUSH 8 8 | |
DUP2 i | |
LT i < NlengthIn32ByteLimbs | |
ISZERO for (i = 0; i < NlengthIn32Byt... | |
PUSH [tag] 217 for (i = 0; i < NlengthIn32Byt... | |
JUMPI for (i = 0; i < NlengthIn32Byt... | |
DUP4 dataLength | |
DUP6 memoryPointer | |
ADD add(memoryPointer, dataLength) | |
MLOAD mload(add(memoryPointer, dataL... | |
SWAP2 limb := mload(add(memoryPointe... | |
POP limb := mload(add(memoryPointe... | |
PUSH 20 0x20 | |
DUP5 dataLength += 0x20 | |
ADD dataLength += 0x20 | |
SWAP4 dataLength += 0x20 | |
POP dataLength += 0x20 | |
DUP2 limb | |
DUP8 output | |
DUP3 i | |
PUSH 8 output[i] | |
DUP2 output[i] | |
LT output[i] | |
ISZERO output[i] | |
ISZERO output[i] | |
PUSH [tag] 219 output[i] | |
JUMPI output[i] | |
INVALID output[i] | |
tag 219 output[i] | |
JUMPDEST output[i] | |
PUSH 20 output[i] | |
MUL output[i] | |
ADD output[i] | |
DUP2 output[i] = limb | |
DUP2 output[i] = limb | |
MSTORE output[i] = limb | |
POP output[i] = limb | |
POP output[i] = limb | |
DUP1 i++ | |
DUP1 i++ | |
PUSH 1 i++ | |
ADD i++ | |
SWAP2 i++ | |
POP i++ | |
POP i++ | |
PUSH [tag] 216 for (i = 0; i < NlengthIn32Byt... | |
JUMP for (i = 0; i < NlengthIn32Byt... | |
tag 217 for (i = 0; i < NlengthIn32Byt... | |
JUMPDEST for (i = 0; i < NlengthIn32Byt... | |
DUP7 output | |
SWAP7 return output | |
POP return output | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
SWAP4 function modularExpVariableLen... | |
SWAP3 function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
POP function modularExpVariableLen... | |
JUMP [out] function modularExpVariableLen... | |
tag 85 function wrappingSub(\n ... | |
JUMPDEST function wrappingSub(\n ... | |
PUSH [tag] 220 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 220 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 0 bool borrow | |
DUP1 uint256 limb | |
PUSH 0 uint256 i | |
DUP1 false | |
SWAP3 bool borrow = false | |
POP bool borrow = false | |
PUSH 0 0 | |
SWAP2 uint256 limb = 0 | |
POP uint256 limb = 0 | |
PUSH 1 1 | |
PUSH 8 8 | |
SUB NlengthIn32ByteLimbs - 1 | |
SWAP1 uint256 i = NlengthIn32ByteLim... | |
POP uint256 i = NlengthIn32ByteLim... | |
tag 222 for (uint256 i = NlengthIn32By... | |
JUMPDEST for (uint256 i = NlengthIn32By... | |
PUSH 8 8 | |
DUP2 i | |
LT i < NlengthIn32ByteLimbs | |
ISZERO for (uint256 i = NlengthIn32By... | |
PUSH [tag] 223 for (uint256 i = NlengthIn32By... | |
JUMPI for (uint256 i = NlengthIn32By... | |
DUP6 _a | |
DUP2 i | |
PUSH 8 _a[i] | |
DUP2 _a[i] | |
LT _a[i] | |
ISZERO _a[i] | |
ISZERO _a[i] | |
PUSH [tag] 225 _a[i] | |
JUMPI _a[i] | |
INVALID _a[i] | |
tag 225 _a[i] | |
JUMPDEST _a[i] | |
PUSH 20 _a[i] | |
MUL _a[i] | |
ADD _a[i] | |
MLOAD _a[i] | |
SWAP2 limb = _a[i] | |
POP limb = _a[i] | |
DUP3 borrow | |
ISZERO if (borrow) {\n ... | |
PUSH [tag] 226 if (borrow) {\n ... | |
JUMPI if (borrow) {\n ... | |
PUSH 0 0 | |
DUP3 limb | |
EQ limb == 0 | |
ISZERO if (limb == 0) {\n ... | |
PUSH [tag] 227 if (limb == 0) {\n ... | |
JUMPI if (limb == 0) {\n ... | |
PUSH 1 true | |
SWAP3 borrow = true | |
POP borrow = true | |
DUP2 limb-- | |
DUP1 limb-- | |
PUSH 1 limb-- | |
SWAP1 limb-- | |
SUB limb-- | |
SWAP3 limb-- | |
POP limb-- | |
POP limb-- | |
DUP5 _b | |
DUP2 i | |
PUSH 8 _b[i] | |
DUP2 _b[i] | |
LT _b[i] | |
ISZERO _b[i] | |
ISZERO _b[i] | |
PUSH [tag] 228 _b[i] | |
JUMPI _b[i] | |
INVALID _b[i] | |
tag 228 _b[i] | |
JUMPDEST _b[i] | |
PUSH 20 _b[i] | |
MUL _b[i] | |
ADD _b[i] | |
MLOAD _b[i] | |
DUP3 limb | |
SUB limb - _b[i] | |
DUP5 o | |
DUP3 i | |
PUSH 8 o[i] | |
DUP2 o[i] | |
LT o[i] | |
ISZERO o[i] | |
ISZERO o[i] | |
PUSH [tag] 229 o[i] | |
JUMPI o[i] | |
INVALID o[i] | |
tag 229 o[i] | |
JUMPDEST o[i] | |
PUSH 20 o[i] | |
MUL o[i] | |
ADD o[i] | |
DUP2 o[i] = limb - _b[i] | |
DUP2 o[i] = limb - _b[i] | |
MSTORE o[i] = limb - _b[i] | |
POP o[i] = limb - _b[i] | |
POP o[i] = limb - _b[i] | |
PUSH [tag] 230 if (limb == 0) {\n ... | |
JUMP if (limb == 0) {\n ... | |
tag 227 if (limb == 0) {\n ... | |
JUMPDEST if (limb == 0) {\n ... | |
DUP2 limb-- | |
DUP1 limb-- | |
PUSH 1 limb-- | |
SWAP1 limb-- | |
SUB limb-- | |
SWAP3 limb-- | |
POP limb-- | |
POP limb-- | |
DUP5 _b | |
DUP2 i | |
PUSH 8 _b[i] | |
DUP2 _b[i] | |
LT _b[i] | |
ISZERO _b[i] | |
ISZERO _b[i] | |
PUSH [tag] 231 _b[i] | |
JUMPI _b[i] | |
INVALID _b[i] | |
tag 231 _b[i] | |
JUMPDEST _b[i] | |
PUSH 20 _b[i] | |
MUL _b[i] | |
ADD _b[i] | |
MLOAD _b[i] | |
DUP3 limb | |
LT limb >= _b[i] | |
ISZERO limb >= _b[i] | |
ISZERO if (limb >= _b[i]) {\n ... | |
PUSH [tag] 232 if (limb >= _b[i]) {\n ... | |
JUMPI if (limb >= _b[i]) {\n ... | |
PUSH 0 false | |
SWAP3 borrow = false | |
POP borrow = false | |
tag 232 if (limb >= _b[i]) {\n ... | |
JUMPDEST if (limb >= _b[i]) {\n ... | |
DUP5 _b | |
DUP2 i | |
PUSH 8 _b[i] | |
DUP2 _b[i] | |
LT _b[i] | |
ISZERO _b[i] | |
ISZERO _b[i] | |
PUSH [tag] 233 _b[i] | |
JUMPI _b[i] | |
INVALID _b[i] | |
tag 233 _b[i] | |
JUMPDEST _b[i] | |
PUSH 20 _b[i] | |
MUL _b[i] | |
ADD _b[i] | |
MLOAD _b[i] | |
DUP3 limb | |
SUB limb - _b[i] | |
DUP5 o | |
DUP3 i | |
PUSH 8 o[i] | |
DUP2 o[i] | |
LT o[i] | |
ISZERO o[i] | |
ISZERO o[i] | |
PUSH [tag] 234 o[i] | |
JUMPI o[i] | |
INVALID o[i] | |
tag 234 o[i] | |
JUMPDEST o[i] | |
PUSH 20 o[i] | |
MUL o[i] | |
ADD o[i] | |
DUP2 o[i] = limb - _b[i] | |
DUP2 o[i] = limb - _b[i] | |
MSTORE o[i] = limb - _b[i] | |
POP o[i] = limb - _b[i] | |
POP o[i] = limb - _b[i] | |
tag 230 if (limb == 0) {\n ... | |
JUMPDEST if (limb == 0) {\n ... | |
PUSH [tag] 235 if (borrow) {\n ... | |
JUMP if (borrow) {\n ... | |
tag 226 if (borrow) {\n ... | |
JUMPDEST if (borrow) {\n ... | |
DUP5 _b | |
DUP2 i | |
PUSH 8 _b[i] | |
DUP2 _b[i] | |
LT _b[i] | |
ISZERO _b[i] | |
ISZERO _b[i] | |
PUSH [tag] 236 _b[i] | |
JUMPI _b[i] | |
INVALID _b[i] | |
tag 236 _b[i] | |
JUMPDEST _b[i] | |
PUSH 20 _b[i] | |
MUL _b[i] | |
ADD _b[i] | |
MLOAD _b[i] | |
DUP3 limb | |
LT limb < _b[i] | |
ISZERO if (limb < _b[i]) {\n ... | |
PUSH [tag] 237 if (limb < _b[i]) {\n ... | |
JUMPI if (limb < _b[i]) {\n ... | |
PUSH 1 true | |
SWAP3 borrow = true | |
POP borrow = true | |
tag 237 if (limb < _b[i]) {\n ... | |
JUMPDEST if (limb < _b[i]) {\n ... | |
DUP5 _b | |
DUP2 i | |
PUSH 8 _b[i] | |
DUP2 _b[i] | |
LT _b[i] | |
ISZERO _b[i] | |
ISZERO _b[i] | |
PUSH [tag] 238 _b[i] | |
JUMPI _b[i] | |
INVALID _b[i] | |
tag 238 _b[i] | |
JUMPDEST _b[i] | |
PUSH 20 _b[i] | |
MUL _b[i] | |
ADD _b[i] | |
MLOAD _b[i] | |
DUP3 limb | |
SUB limb - _b[i] | |
DUP5 o | |
DUP3 i | |
PUSH 8 o[i] | |
DUP2 o[i] | |
LT o[i] | |
ISZERO o[i] | |
ISZERO o[i] | |
PUSH [tag] 239 o[i] | |
JUMPI o[i] | |
INVALID o[i] | |
tag 239 o[i] | |
JUMPDEST o[i] | |
PUSH 20 o[i] | |
MUL o[i] | |
ADD o[i] | |
DUP2 o[i] = limb - _b[i] | |
DUP2 o[i] = limb - _b[i] | |
MSTORE o[i] = limb - _b[i] | |
POP o[i] = limb - _b[i] | |
POP o[i] = limb - _b[i] | |
tag 235 if (borrow) {\n ... | |
JUMPDEST if (borrow) {\n ... | |
DUP1 i-- | |
DUP1 i-- | |
PUSH 1 i-- | |
SWAP1 i-- | |
SUB i-- | |
SWAP2 i-- | |
POP i-- | |
POP i-- | |
PUSH [tag] 222 for (uint256 i = NlengthIn32By... | |
JUMP for (uint256 i = NlengthIn32By... | |
tag 223 for (uint256 i = NlengthIn32By... | |
JUMPDEST for (uint256 i = NlengthIn32By... | |
DUP4 o | |
SWAP4 return o | |
POP return o | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
SWAP3 function wrappingSub(\n ... | |
SWAP2 function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
POP function wrappingSub(\n ... | |
JUMP [out] function wrappingSub(\n ... | |
tag 91 uint256 constant public NLengt... | |
JUMPDEST uint256 constant public NLengt... | |
PUSH 20 32 | |
PUSH 8 8 | |
DUP1 8 | |
MUL NlengthIn32ByteLimbs * 8 | |
MUL NlengthIn32ByteLimbs * 8 * 32 | |
DUP2 uint256 constant public NLengt... | |
JUMP [out] uint256 constant public NLengt... | |
tag 94 function modularExp(\n ... | |
JUMPDEST function modularExp(\n ... | |
PUSH [tag] 240 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 240 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 0 uint256 modulusLength | |
DUP1 uint256 memoryPointer | |
PUSH 0 uint256 dataLength | |
DUP1 uint256 limb | |
PUSH 0 uint256 i | |
PUSH 8 8 | |
PUSH 20 32 | |
MUL 32 * NlengthIn32ByteLimbs | |
SWAP5 uint256 modulusLength = Nlengt... | |
POP uint256 modulusLength = Nlengt... | |
PUSH 0 0 | |
SWAP4 uint256 memoryPointer = 0 | |
POP uint256 memoryPointer = 0 | |
PUSH 0 0 | |
SWAP3 uint256 dataLength = 0 | |
POP uint256 dataLength = 0 | |
PUSH 40 0x40 | |
MLOAD mload(0x40) | |
SWAP4 memoryPointer := mload(0x40) | |
POP memoryPointer := mload(0x40) | |
DUP5 modulusLength | |
DUP5 memoryPointer | |
MSTORE mstore(memoryPointer, modulusL... | |
PUSH 20 0x20 | |
DUP1 0x20 | |
DUP6 memoryPointer | |
ADD add(memoryPointer, 0x20) | |
MSTORE mstore(add(memoryPointer, 0x20... | |
DUP5 modulusLength | |
PUSH 40 0x40 | |
DUP6 memoryPointer | |
ADD add(memoryPointer, 0x40) | |
MSTORE mstore(add(memoryPointer, 0x40... | |
PUSH 60 0x60 | |
SWAP3 dataLength = 0x60 | |
POP dataLength = 0x60 | |
PUSH 0 0 | |
SWAP2 uint256 limb = 0 | |
POP uint256 limb = 0 | |
PUSH 0 0 | |
SWAP1 uint256 i = 0 | |
POP uint256 i = 0 | |
tag 242 for (uint256 i = 0; i < Nlengt... | |
JUMPDEST for (uint256 i = 0; i < Nlengt... | |
PUSH 8 8 | |
DUP2 i | |
LT i < NlengthIn32ByteLimbs | |
ISZERO for (uint256 i = 0; i < Nlengt... | |
PUSH [tag] 243 for (uint256 i = 0; i < Nlengt... | |
JUMPI for (uint256 i = 0; i < Nlengt... | |
DUP9 base | |
DUP2 i | |
PUSH 8 base[i] | |
DUP2 base[i] | |
LT base[i] | |
ISZERO base[i] | |
ISZERO base[i] | |
PUSH [tag] 245 base[i] | |
JUMPI base[i] | |
INVALID base[i] | |
tag 245 base[i] | |
JUMPDEST base[i] | |
PUSH 20 base[i] | |
MUL base[i] | |
ADD base[i] | |
MLOAD base[i] | |
SWAP2 limb = base[i] | |
POP limb = base[i] | |
DUP2 limb | |
DUP4 dataLength | |
DUP6 memoryPointer | |
ADD add(memoryPointer, dataLength) | |
MSTORE mstore(add(memoryPointer, data... | |
PUSH 20 0x20 | |
DUP4 dataLength += 0x20 | |
ADD dataLength += 0x20 | |
SWAP3 dataLength += 0x20 | |
POP dataLength += 0x20 | |
DUP1 i++ | |
DUP1 i++ | |
PUSH 1 i++ | |
ADD i++ | |
SWAP2 i++ | |
POP i++ | |
POP i++ | |
PUSH [tag] 242 for (uint256 i = 0; i < Nlengt... | |
JUMP for (uint256 i = 0; i < Nlengt... | |
tag 243 for (uint256 i = 0; i < Nlengt... | |
JUMPDEST for (uint256 i = 0; i < Nlengt... | |
DUP8 e | |
DUP4 dataLength | |
DUP6 memoryPointer | |
ADD add(memoryPointer, dataLength) | |
MSTORE mstore(add(memoryPointer, data... | |
PUSH 20 0x20 | |
DUP4 dataLength += 0x20 | |
ADD dataLength += 0x20 | |
SWAP3 dataLength += 0x20 | |
POP dataLength += 0x20 | |
PUSH 0 0 | |
SWAP1 i = 0 | |
POP i = 0 | |
tag 246 for (i = 0; i < NlengthIn32Byt... | |
JUMPDEST for (i = 0; i < NlengthIn32Byt... | |
PUSH 8 8 | |
DUP2 i | |
LT i < NlengthIn32ByteLimbs | |
ISZERO for (i = 0; i < NlengthIn32Byt... | |
PUSH [tag] 247 for (i = 0; i < NlengthIn32Byt... | |
JUMPI for (i = 0; i < NlengthIn32Byt... | |
DUP7 m | |
DUP2 i | |
PUSH 8 m[i] | |
DUP2 m[i] | |
LT m[i] | |
ISZERO m[i] | |
ISZERO m[i] | |
PUSH [tag] 249 m[i] | |
JUMPI m[i] | |
INVALID m[i] | |
tag 249 m[i] | |
JUMPDEST m[i] | |
PUSH 20 m[i] | |
MUL m[i] | |
ADD m[i] | |
MLOAD m[i] | |
SWAP2 limb = m[i] | |
POP limb = m[i] | |
DUP2 limb | |
DUP4 dataLength | |
DUP6 memoryPointer | |
ADD add(memoryPointer, dataLength) | |
MSTORE mstore(add(memoryPointer, data... | |
PUSH 20 0x20 | |
DUP4 dataLength += 0x20 | |
ADD dataLength += 0x20 | |
SWAP3 dataLength += 0x20 | |
POP dataLength += 0x20 | |
DUP1 i++ | |
DUP1 i++ | |
PUSH 1 i++ | |
ADD i++ | |
SWAP2 i++ | |
POP i++ | |
POP i++ | |
PUSH [tag] 246 for (i = 0; i < NlengthIn32Byt... | |
JUMP for (i = 0; i < NlengthIn32Byt... | |
tag 247 for (i = 0; i < NlengthIn32Byt... | |
JUMPDEST for (i = 0; i < NlengthIn32Byt... | |
DUP5 modulusLength | |
DUP5 memoryPointer | |
DUP5 dataLength | |
DUP7 memoryPointer | |
PUSH 5 0x05 | |
PUSH 7D0 2000 | |
GAS gas | |
SUB sub(gas, 2000) | |
STATICCALL staticcall(sub(gas, 2000), 0x0... | |
DUP1 success | |
PUSH 0 0 | |
DUP2 case 0 {\n reve... | |
EQ case 0 {\n reve... | |
PUSH [tag] 251 case 0 {\n reve... | |
JUMPI case 0 {\n reve... | |
PUSH [tag] 250 switch success case 0 {\n ... | |
JUMP switch success case 0 {\n ... | |
tag 251 case 0 {\n reve... | |
JUMPDEST case 0 {\n reve... | |
PUSH 0 0 | |
DUP1 0 | |
REVERT revert(0, 0) | |
tag 250 switch success case 0 {\n ... | |
JUMPDEST switch success case 0 {\n ... | |
POP switch success case 0 {\n ... | |
POP {\n let success := ... | |
PUSH 0 0 | |
SWAP3 dataLength = 0 | |
POP dataLength = 0 | |
PUSH 0 0 | |
SWAP2 limb = 0 | |
POP limb = 0 | |
PUSH 0 0 | |
SWAP1 i = 0 | |
POP i = 0 | |
tag 252 for (i = 0; i < NlengthIn32Byt... | |
JUMPDEST for (i = 0; i < NlengthIn32Byt... | |
PUSH 8 8 | |
DUP2 i | |
LT i < NlengthIn32ByteLimbs | |
ISZERO for (i = 0; i < NlengthIn32Byt... | |
PUSH [tag] 253 for (i = 0; i < NlengthIn32Byt... | |
JUMPI for (i = 0; i < NlengthIn32Byt... | |
DUP3 dataLength | |
DUP5 memoryPointer | |
ADD add(memoryPointer, dataLength) | |
MLOAD mload(add(memoryPointer, dataL... | |
SWAP2 limb := mload(add(memoryPointe... | |
POP limb := mload(add(memoryPointe... | |
PUSH 20 0x20 | |
DUP4 dataLength += 0x20 | |
ADD dataLength += 0x20 | |
SWAP3 dataLength += 0x20 | |
POP dataLength += 0x20 | |
DUP2 limb | |
DUP7 output | |
DUP3 i | |
PUSH 8 output[i] | |
DUP2 output[i] | |
LT output[i] | |
ISZERO output[i] | |
ISZERO output[i] | |
PUSH [tag] 255 output[i] | |
JUMPI output[i] | |
INVALID output[i] | |
tag 255 output[i] | |
JUMPDEST output[i] | |
PUSH 20 output[i] | |
MUL output[i] | |
ADD output[i] | |
DUP2 output[i] = limb | |
DUP2 output[i] = limb | |
MSTORE output[i] = limb | |
POP output[i] = limb | |
POP output[i] = limb | |
DUP1 i++ | |
DUP1 i++ | |
PUSH 1 i++ | |
ADD i++ | |
SWAP2 i++ | |
POP i++ | |
POP i++ | |
PUSH [tag] 252 for (i = 0; i < NlengthIn32Byt... | |
JUMP for (i = 0; i < NlengthIn32Byt... | |
tag 253 for (i = 0; i < NlengthIn32Byt... | |
JUMPDEST for (i = 0; i < NlengthIn32Byt... | |
DUP6 output | |
SWAP6 return output | |
POP return output | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
SWAP4 function modularExp(\n ... | |
SWAP3 function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
POP function modularExp(\n ... | |
JUMP [out] function modularExp(\n ... | |
tag 100 uint256 constant public g = 3 | |
JUMPDEST uint256 constant public g = 3 | |
PUSH 3 3 | |
DUP2 uint256 constant public g = 3 | |
JUMP [out] uint256 constant public g = 3 | |
tag 103 function checkNonInclusionProo... | |
JUMPDEST function checkNonInclusionProo... | |
PUSH 0 bool isValue | |
PUSH [tag] 256 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 256 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 257 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 257 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 0 uint256 i | |
DUP1 uint256 primesLength | |
PUSH 0 uint256 multiplicationResult | |
PUSH [tag] 258 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 258 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH 0 uint256 numBatches | |
PUSH 1 1 | |
DUP14 primes | |
MLOAD primes.length | |
LT primes.length >= 1 | |
ISZERO primes.length >= 1 | |
ISZERO require(primes.length >= 1, "P... | |
ISZERO require(primes.length >= 1, "P... | |
PUSH [tag] 260 require(primes.length >= 1, "P... | |
JUMPI require(primes.length >= 1, "P... | |
PUSH 40 require(primes.length >= 1, "P... | |
MLOAD require(primes.length >= 1, "P... | |
PUSH 8C379A000000000000000000000000000000000000000000000000000000000 require(primes.length >= 1, "P... | |
DUP2 require(primes.length >= 1, "P... | |
MSTORE require(primes.length >= 1, "P... | |
PUSH 4 require(primes.length >= 1, "P... | |
ADD require(primes.length >= 1, "P... | |
DUP1 require(primes.length >= 1, "P... | |
DUP1 require(primes.length >= 1, "P... | |
PUSH 20 require(primes.length >= 1, "P... | |
ADD require(primes.length >= 1, "P... | |
DUP3 require(primes.length >= 1, "P... | |
DUP2 require(primes.length >= 1, "P... | |
SUB require(primes.length >= 1, "P... | |
DUP3 require(primes.length >= 1, "P... | |
MSTORE require(primes.length >= 1, "P... | |
PUSH 1D require(primes.length >= 1, "P... | |
DUP2 require(primes.length >= 1, "P... | |
MSTORE require(primes.length >= 1, "P... | |
PUSH 20 require(primes.length >= 1, "P... | |
ADD require(primes.length >= 1, "P... | |
DUP1 require(primes.length >= 1, "P... | |
PUSH 5072696D6573206C697374206D757374206E6F7420626520656D707479000000 require(primes.length >= 1, "P... | |
DUP2 require(primes.length >= 1, "P... | |
MSTORE require(primes.length >= 1, "P... | |
POP require(primes.length >= 1, "P... | |
PUSH 20 require(primes.length >= 1, "P... | |
ADD require(primes.length >= 1, "P... | |
SWAP2 require(primes.length >= 1, "P... | |
POP require(primes.length >= 1, "P... | |
POP require(primes.length >= 1, "P... | |
PUSH 40 require(primes.length >= 1, "P... | |
MLOAD require(primes.length >= 1, "P... | |
DUP1 require(primes.length >= 1, "P... | |
SWAP2 require(primes.length >= 1, "P... | |
SUB require(primes.length >= 1, "P... | |
SWAP1 require(primes.length >= 1, "P... | |
REVERT require(primes.length >= 1, "P... | |
tag 260 require(primes.length >= 1, "P... | |
JUMPDEST require(primes.length >= 1, "P... | |
PUSH 10 N | |
PUSH 8 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 20 uint256[NlengthIn32ByteLimbs] ... | |
MUL uint256[NlengthIn32ByteLimbs] ... | |
PUSH 40 uint256[NlengthIn32ByteLimbs] ... | |
MLOAD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
PUSH 40 uint256[NlengthIn32ByteLimbs] ... | |
MSTORE uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
SWAP3 uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP3 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 8 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
ISZERO uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 261 uint256[NlengthIn32ByteLimbs] ... | |
JUMPI uint256[NlengthIn32ByteLimbs] ... | |
PUSH 20 uint256[NlengthIn32ByteLimbs] ... | |
MUL uint256[NlengthIn32ByteLimbs] ... | |
DUP3 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
tag 262 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
SLOAD uint256[NlengthIn32ByteLimbs] ... | |
DUP2 uint256[NlengthIn32ByteLimbs] ... | |
MSTORE uint256[NlengthIn32ByteLimbs] ... | |
PUSH 20 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
PUSH 1 uint256[NlengthIn32ByteLimbs] ... | |
ADD uint256[NlengthIn32ByteLimbs] ... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP1 uint256[NlengthIn32ByteLimbs] ... | |
DUP4 uint256[NlengthIn32ByteLimbs] ... | |
GT uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 262 uint256[NlengthIn32ByteLimbs] ... | |
JUMPI uint256[NlengthIn32ByteLimbs] ... | |
tag 261 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
SWAP7 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 263 modularExpVariableLength(initi... | |
DUP11 initialAccumulator | |
DUP14 rLimbs | |
DUP10 nReadOnce | |
PUSH [tag] 79 modularExpVariableLength | |
JUMP [in] modularExpVariableLength(initi... | |
tag 263 modularExpVariableLength(initi... | |
JUMPDEST modularExpVariableLength(initi... | |
SWAP6 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 264 modularMul4(lhs, finalAccumula... | |
DUP7 lhs | |
DUP11 finalAccumulator | |
DUP10 nReadOnce | |
PUSH [tag] 109 modularMul4 | |
JUMP [in] modularMul4(lhs, finalAccumula... | |
tag 264 modularMul4(lhs, finalAccumula... | |
JUMPDEST modularMul4(lhs, finalAccumula... | |
SWAP6 lhs = modularMul4(lhs, finalAc... | |
POP lhs = modularMul4(lhs, finalAc... | |
PUSH 0 0 | |
SWAP5 uint256 i = 0 | |
POP uint256 i = 0 | |
DUP13 primes | |
MLOAD primes.length | |
SWAP4 uint256 primesLength = primes.... | |
POP uint256 primesLength = primes.... | |
PUSH 1 1 | |
SWAP3 uint256 multiplicationResult =... | |
POP uint256 multiplicationResult =... | |
PUSH [tag] 265 modularExpVariableLength(initi... | |
DUP11 initialAccumulator | |
DUP13 cofactorLimbs | |
DUP10 nReadOnce | |
PUSH [tag] 79 modularExpVariableLength | |
JUMP [in] modularExpVariableLength(initi... | |
tag 265 modularExpVariableLength(initi... | |
JUMPDEST modularExpVariableLength(initi... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH 4 4 | |
DUP5 primesLength | |
DUP2 primesLength / 4 | |
ISZERO primesLength / 4 | |
ISZERO primesLength / 4 | |
PUSH [tag] 266 primesLength / 4 | |
JUMPI primesLength / 4 | |
INVALID primesLength / 4 | |
tag 266 primesLength / 4 | |
JUMPDEST primesLength / 4 | |
DIV primesLength / 4 | |
SWAP1 uint256 numBatches = (primesLe... | |
POP uint256 numBatches = (primesLe... | |
PUSH 1 1 | |
SWAP5 i = 1 | |
POP i = 1 | |
tag 267 for (i = 1; i <= primesLength ... | |
JUMPDEST for (i = 1; i <= primesLength ... | |
PUSH 4 4 | |
DUP5 primesLength | |
DUP2 primesLength % 4 | |
ISZERO primesLength % 4 | |
ISZERO primesLength % 4 | |
PUSH [tag] 270 primesLength % 4 | |
JUMPI primesLength % 4 | |
INVALID primesLength % 4 | |
tag 270 primesLength % 4 | |
JUMPDEST primesLength % 4 | |
MOD primesLength % 4 | |
DUP6 i | |
GT i <= primesLength % 4 | |
ISZERO i <= primesLength % 4 | |
ISZERO for (i = 1; i <= primesLength ... | |
PUSH [tag] 268 for (i = 1; i <= primesLength ... | |
JUMPI for (i = 1; i <= primesLength ... | |
DUP13 primes | |
DUP6 i | |
DUP6 primesLength | |
SUB primesLength - i | |
DUP2 primes[primesLength - i] | |
MLOAD primes[primesLength - i] | |
DUP2 primes[primesLength - i] | |
LT primes[primesLength - i] | |
ISZERO primes[primesLength - i] | |
ISZERO primes[primesLength - i] | |
PUSH [tag] 271 primes[primesLength - i] | |
JUMPI primes[primesLength - i] | |
INVALID primes[primesLength - i] | |
tag 271 primes[primesLength - i] | |
JUMPDEST primes[primesLength - i] | |
SWAP1 primes[primesLength - i] | |
PUSH 20 primes[primesLength - i] | |
ADD primes[primesLength - i] | |
SWAP1 primes[primesLength - i] | |
PUSH 20 primes[primesLength - i] | |
MUL primes[primesLength - i] | |
ADD primes[primesLength - i] | |
MLOAD primes[primesLength - i] | |
PUSH FFFFFFFFFFFFFFFF uint256(primes[primesLength - ... | |
AND uint256(primes[primesLength - ... | |
DUP4 multiplicationResult | |
MUL multiplicationResult * uint256... | |
SWAP3 multiplicationResult = multipl... | |
POP multiplicationResult = multipl... | |
DUP5 i++ | |
DUP1 i++ | |
PUSH 1 i++ | |
ADD i++ | |
SWAP6 i++ | |
POP i++ | |
POP i++ | |
PUSH [tag] 267 for (i = 1; i <= primesLength ... | |
JUMP for (i = 1; i <= primesLength ... | |
tag 268 for (i = 1; i <= primesLength ... | |
JUMPDEST for (i = 1; i <= primesLength ... | |
PUSH [tag] 272 modularExp(rhs, multiplication... | |
DUP3 rhs | |
DUP5 multiplicationResult | |
DUP10 nReadOnce | |
PUSH [tag] 94 modularExp | |
JUMP [in] modularExp(rhs, multiplication... | |
tag 272 modularExp(rhs, multiplication... | |
JUMPDEST modularExp(rhs, multiplication... | |
SWAP2 rhs = modularExp(rhs, multipli... | |
POP rhs = modularExp(rhs, multipli... | |
PUSH 0 0 | |
SWAP5 i = 0 | |
POP i = 0 | |
tag 273 for (i = 0; i < numBatches; i+... | |
JUMPDEST for (i = 0; i < numBatches; i+... | |
DUP1 numBatches | |
DUP6 i | |
LT i < numBatches | |
ISZERO for (i = 0; i < numBatches; i+... | |
PUSH [tag] 274 for (i = 0; i < numBatches; i+... | |
JUMPI for (i = 0; i < numBatches; i+... | |
DUP13 primes | |
PUSH 3 3 | |
DUP7 i | |
PUSH 4 4 | |
MUL 4*i | |
ADD 4*i + 3 | |
DUP2 primes[4*i + 3] | |
MLOAD primes[4*i + 3] | |
DUP2 primes[4*i + 3] | |
LT primes[4*i + 3] | |
ISZERO primes[4*i + 3] | |
ISZERO primes[4*i + 3] | |
PUSH [tag] 276 primes[4*i + 3] | |
JUMPI primes[4*i + 3] | |
INVALID primes[4*i + 3] | |
tag 276 primes[4*i + 3] | |
JUMPDEST primes[4*i + 3] | |
SWAP1 primes[4*i + 3] | |
PUSH 20 primes[4*i + 3] | |
ADD primes[4*i + 3] | |
SWAP1 primes[4*i + 3] | |
PUSH 20 primes[4*i + 3] | |
MUL primes[4*i + 3] | |
ADD primes[4*i + 3] | |
MLOAD primes[4*i + 3] | |
PUSH FFFFFFFFFFFFFFFF uint256(primes[4*i + 3]) | |
AND uint256(primes[4*i + 3]) | |
DUP14 primes | |
PUSH 2 2 | |
DUP8 i | |
PUSH 4 4 | |
MUL 4*i | |
ADD 4*i + 2 | |
DUP2 primes[4*i + 2] | |
MLOAD primes[4*i + 2] | |
DUP2 primes[4*i + 2] | |
LT primes[4*i + 2] | |
ISZERO primes[4*i + 2] | |
ISZERO primes[4*i + 2] | |
PUSH [tag] 277 primes[4*i + 2] | |
JUMPI primes[4*i + 2] | |
INVALID primes[4*i + 2] | |
tag 277 primes[4*i + 2] | |
JUMPDEST primes[4*i + 2] | |
SWAP1 primes[4*i + 2] | |
PUSH 20 primes[4*i + 2] | |
ADD primes[4*i + 2] | |
SWAP1 primes[4*i + 2] | |
PUSH 20 primes[4*i + 2] | |
MUL primes[4*i + 2] | |
ADD primes[4*i + 2] | |
MLOAD primes[4*i + 2] | |
PUSH FFFFFFFFFFFFFFFF uint256(primes[4*i + 2]) | |
AND uint256(primes[4*i + 2]) | |
DUP15 primes | |
PUSH 1 1 | |
DUP9 i | |
PUSH 4 4 | |
MUL 4*i | |
ADD 4*i + 1 | |
DUP2 primes[4*i + 1] | |
MLOAD primes[4*i + 1] | |
DUP2 primes[4*i + 1] | |
LT primes[4*i + 1] | |
ISZERO primes[4*i + 1] | |
ISZERO primes[4*i + 1] | |
PUSH [tag] 278 primes[4*i + 1] | |
JUMPI primes[4*i + 1] | |
INVALID primes[4*i + 1] | |
tag 278 primes[4*i + 1] | |
JUMPDEST primes[4*i + 1] | |
SWAP1 primes[4*i + 1] | |
PUSH 20 primes[4*i + 1] | |
ADD primes[4*i + 1] | |
SWAP1 primes[4*i + 1] | |
PUSH 20 primes[4*i + 1] | |
MUL primes[4*i + 1] | |
ADD primes[4*i + 1] | |
MLOAD primes[4*i + 1] | |
PUSH FFFFFFFFFFFFFFFF uint256(primes[4*i + 1]) | |
AND uint256(primes[4*i + 1]) | |
DUP16 primes | |
DUP9 i | |
PUSH 4 4 | |
MUL 4*i | |
DUP2 primes[4*i] | |
MLOAD primes[4*i] | |
DUP2 primes[4*i] | |
LT primes[4*i] | |
ISZERO primes[4*i] | |
ISZERO primes[4*i] | |
PUSH [tag] 279 primes[4*i] | |
JUMPI primes[4*i] | |
INVALID primes[4*i] | |
tag 279 primes[4*i] | |
JUMPDEST primes[4*i] | |
SWAP1 primes[4*i] | |
PUSH 20 primes[4*i] | |
ADD primes[4*i] | |
SWAP1 primes[4*i] | |
PUSH 20 primes[4*i] | |
MUL primes[4*i] | |
ADD primes[4*i] | |
MLOAD primes[4*i] | |
PUSH FFFFFFFFFFFFFFFF uint256(primes[4*i]) | |
AND uint256(primes[4*i]) | |
MUL uint256(primes[4*i]) * uint256... | |
ADD uint256(primes[4*i]) * uint256... | |
ADD uint256(primes[4*i]) * uint256... | |
SWAP3 multiplicationResult = uint256... | |
POP multiplicationResult = uint256... | |
PUSH [tag] 280 modularExp(rhs, multiplication... | |
DUP3 rhs | |
DUP5 multiplicationResult | |
DUP10 nReadOnce | |
PUSH [tag] 94 modularExp | |
JUMP [in] modularExp(rhs, multiplication... | |
tag 280 modularExp(rhs, multiplication... | |
JUMPDEST modularExp(rhs, multiplication... | |
SWAP2 rhs = modularExp(rhs, multipli... | |
POP rhs = modularExp(rhs, multipli... | |
DUP5 i++ | |
DUP1 i++ | |
PUSH 1 i++ | |
ADD i++ | |
SWAP6 i++ | |
POP i++ | |
POP i++ | |
PUSH [tag] 273 for (i = 0; i < numBatches; i+... | |
JUMP for (i = 0; i < numBatches; i+... | |
tag 274 for (i = 0; i < numBatches; i+... | |
JUMPDEST for (i = 0; i < numBatches; i+... | |
PUSH [tag] 281 modularMulBy4(rhs, nReadOnce) | |
DUP3 rhs | |
DUP9 nReadOnce | |
PUSH [tag] 67 modularMulBy4 | |
JUMP [in] modularMulBy4(rhs, nReadOnce) | |
tag 281 modularMulBy4(rhs, nReadOnce) | |
JUMPDEST modularMulBy4(rhs, nReadOnce) | |
SWAP2 rhs = modularMulBy4(rhs, nRead... | |
POP rhs = modularMulBy4(rhs, nRead... | |
PUSH 0 0 | |
PUSH [tag] 282 compare(lhs, rhs) | |
DUP8 lhs | |
DUP5 rhs | |
PUSH [tag] 73 compare | |
JUMP [in] compare(lhs, rhs) | |
tag 282 compare(lhs, rhs) | |
JUMPDEST compare(lhs, rhs) | |
EQ compare(lhs, rhs) != 0 | |
ISZERO compare(lhs, rhs) != 0 | |
ISZERO if (compare(lhs, rhs) != 0) {\... | |
PUSH [tag] 283 if (compare(lhs, rhs) != 0) {\... | |
JUMPI if (compare(lhs, rhs) != 0) {\... | |
PUSH 0 false | |
SWAP8 return false | |
POP return false | |
PUSH [tag] 259 return false | |
JUMP return false | |
tag 283 if (compare(lhs, rhs) != 0) {\... | |
JUMPDEST if (compare(lhs, rhs) != 0) {\... | |
PUSH 1 true | |
SWAP8 return true | |
POP return true | |
tag 259 function checkNonInclusionProo... | |
JUMPDEST function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
SWAP6 function checkNonInclusionProo... | |
SWAP5 function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
POP function checkNonInclusionProo... | |
JUMP [out] function checkNonInclusionProo... | |
tag 106 uint256 constant public Nlengt... | |
JUMPDEST uint256 constant public Nlengt... | |
PUSH 8 8 | |
PUSH 20 32 | |
MUL 32 * NlengthIn32ByteLimbs | |
DUP2 uint256 constant public Nlengt... | |
JUMP [out] uint256 constant public Nlengt... | |
tag 109 function modularMul4(\n ... | |
JUMPDEST function modularMul4(\n ... | |
PUSH [tag] 284 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 284 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 285 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 285 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 286 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 286 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 287 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 287 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 289 modularExp(modularAdd(_a, _b, ... | |
PUSH [tag] 290 modularAdd(_a, _b, _m) | |
DUP9 _a | |
DUP9 _b | |
DUP9 _m | |
PUSH [tag] 25 modularAdd | |
JUMP [in] modularAdd(_a, _b, _m) | |
tag 290 modularAdd(_a, _b, _m) | |
JUMPDEST modularAdd(_a, _b, _m) | |
PUSH 2 2 | |
DUP8 _m | |
PUSH [tag] 94 modularExp | |
JUMP [in] modularExp(modularAdd(_a, _b, ... | |
tag 289 modularExp(modularAdd(_a, _b, ... | |
JUMPDEST modularExp(modularAdd(_a, _b, ... | |
SWAP3 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 291 modularExp(modularSub(_a, _b, ... | |
PUSH [tag] 292 modularSub(_a, _b, _m) | |
DUP9 _a | |
DUP9 _b | |
DUP9 _m | |
PUSH [tag] 55 modularSub | |
JUMP [in] modularSub(_a, _b, _m) | |
tag 292 modularSub(_a, _b, _m) | |
JUMPDEST modularSub(_a, _b, _m) | |
PUSH 2 2 | |
DUP8 _m | |
PUSH [tag] 94 modularExp | |
JUMP [in] modularExp(modularSub(_a, _b, ... | |
tag 291 modularExp(modularSub(_a, _b, ... | |
JUMPDEST modularExp(modularSub(_a, _b, ... | |
SWAP2 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 293 modularSub(aPlusB, aMinusB, _m... | |
DUP4 aPlusB | |
DUP4 aMinusB | |
DUP8 _m | |
PUSH [tag] 55 modularSub | |
JUMP [in] modularSub(aPlusB, aMinusB, _m... | |
tag 293 modularSub(aPlusB, aMinusB, _m... | |
JUMPDEST modularSub(aPlusB, aMinusB, _m... | |
SWAP1 uint256[NlengthIn32ByteLimbs] ... | |
POP uint256[NlengthIn32ByteLimbs] ... | |
DUP1 t | |
SWAP4 return t | |
POP return t | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
SWAP4 function modularMul4(\n ... | |
SWAP3 function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
POP function modularMul4(\n ... | |
JUMP [out] function modularMul4(\n ... | |
tag 115 function updateAccumulatorMult... | |
JUMPDEST function updateAccumulatorMult... | |
PUSH [tag] 294 uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 120 uint256[NlengthIn32ByteLimbs] ... | |
JUMP [in] uint256[NlengthIn32ByteLimbs] ... | |
tag 294 uint256[NlengthIn32ByteLimbs] ... | |
JUMPDEST uint256[NlengthIn32ByteLimbs] ... | |
PUSH [tag] 296 modularExpVariableLength(previ... | |
DUP4 previousAccumulator | |
DUP4 _limbs | |
PUSH 10 N | |
PUSH 8 modularExpVariableLength(previ... | |
DUP1 modularExpVariableLength(previ... | |
PUSH 20 modularExpVariableLength(previ... | |
MUL modularExpVariableLength(previ... | |
PUSH 40 modularExpVariableLength(previ... | |
MLOAD modularExpVariableLength(previ... | |
SWAP1 modularExpVariableLength(previ... | |
DUP2 modularExpVariableLength(previ... | |
ADD modularExpVariableLength(previ... | |
PUSH 40 modularExpVariableLength(previ... | |
MSTORE modularExpVariableLength(previ... | |
DUP1 modularExpVariableLength(previ... | |
SWAP3 modularExpVariableLength(previ... | |
SWAP2 modularExpVariableLength(previ... | |
SWAP1 modularExpVariableLength(previ... | |
DUP3 modularExpVariableLength(previ... | |
PUSH 8 modularExpVariableLength(previ... | |
DUP1 modularExpVariableLength(previ... | |
ISZERO modularExpVariableLength(previ... | |
PUSH [tag] 297 modularExpVariableLength(previ... | |
JUMPI modularExpVariableLength(previ... | |
PUSH 20 modularExpVariableLength(previ... | |
MUL modularExpVariableLength(previ... | |
DUP3 modularExpVariableLength(previ... | |
ADD modularExpVariableLength(previ... | |
SWAP2 modularExpVariableLength(previ... | |
tag 298 modularExpVariableLength(previ... | |
JUMPDEST modularExpVariableLength(previ... | |
DUP2 modularExpVariableLength(previ... | |
SLOAD modularExpVariableLength(previ... | |
DUP2 modularExpVariableLength(previ... | |
MSTORE modularExpVariableLength(previ... | |
PUSH 20 modularExpVariableLength(previ... | |
ADD modularExpVariableLength(previ... | |
SWAP1 modularExpVariableLength(previ... | |
PUSH 1 modularExpVariableLength(previ... | |
ADD modularExpVariableLength(previ... | |
SWAP1 modularExpVariableLength(previ... | |
DUP1 modularExpVariableLength(previ... | |
DUP4 modularExpVariableLength(previ... | |
GT modularExpVariableLength(previ... | |
PUSH [tag] 298 modularExpVariableLength(previ... | |
JUMPI modularExpVariableLength(previ... | |
tag 297 modularExpVariableLength(previ... | |
JUMPDEST modularExpVariableLength(previ... | |
POP modularExpVariableLength(previ... | |
POP modularExpVariableLength(previ... | |
POP modularExpVariableLength(previ... | |
POP modularExpVariableLength(previ... | |
POP modularExpVariableLength(previ... | |
PUSH [tag] 79 modularExpVariableLength | |
JUMP [in] modularExpVariableLength(previ... | |
tag 296 modularExpVariableLength(previ... | |
JUMPDEST modularExpVariableLength(previ... | |
SWAP1 newAccumulator = modularExpVar... | |
POP newAccumulator = modularExpVar... | |
SWAP3 function updateAccumulatorMult... | |
SWAP2 function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
POP function updateAccumulatorMult... | |
JUMP [out] function updateAccumulatorMult... | |
tag 120 contract RSAAccumulator {\n ... | |
JUMPDEST contract RSAAccumulator {\n ... | |
PUSH 100 contract RSAAccumulator {\n ... | |
PUSH 40 contract RSAAccumulator {\n ... | |
MLOAD contract RSAAccumulator {\n ... | |
SWAP1 contract RSAAccumulator {\n ... | |
DUP2 contract RSAAccumulator {\n ... | |
ADD contract RSAAccumulator {\n ... | |
PUSH 40 contract RSAAccumulator {\n ... | |
MSTORE contract RSAAccumulator {\n ... | |
DUP1 contract RSAAccumulator {\n ... | |
PUSH 8 contract RSAAccumulator {\n ... | |
SWAP1 contract RSAAccumulator {\n ... | |
PUSH 20 tr | |
DUP3 25;\n | |
c | |
MUL 0.4.25;\n | |
contra | |
DUP1 leng | |
CODESIZE ant public | |
DUP4 56 con | |
CODECOPY uint256 constant public Nl... | |
DUP1 4 bi | |
DUP3 ; // 1 | |
ADD = 8; // 1024 bit | |
SWAP2 2ByteLimbs = 8; // 1024 bit | |
POP 2ByteLimbs = 8; // 1024 bit | |
POP pragma solidity ^0.4.25;\n | |
con... | |
SWAP1 contract RSAAccumulator {\n ... | |
POP contract RSAAccumulator {\n ... | |
POP contract RSAAccumulator {\n ... | |
SWAP1 contract RSAAccumulator {\n ... | |
JUMP [out] contract RSAAccumulator {\n ... | |
.data |
This file contains 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
60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630ca988e7146101225780631140363d14610211578063181382cb146102aa578063214743f0146102eb5780632576542714610316578063257dcc4e146103575780633e95522514610398578063425528b1146103eb5780634ee09827146104da57806354e239c8146105995780639bee387214610658578063a1462da1146106ef578063c50c4ca2146107e1578063c5dedee3146108e3578063cca9b04d146109a2578063d5bca224146109cd578063e2179b8e14610a96578063ee3d1f7c14610ac1578063f662358014610c25578063f88cadb314610c50578063f9cd5e4b14610d3f575b600080fd5b34801561012e57600080fd5b506101d3600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050610e11565b6040518082600860200280838360005b838110156101fe5780820151818401526020810190506101e3565b5050505090500191505060405180910390f35b34801561021d57600080fd5b5061026c60048036038101908080610100019060088060200260405190810160405280929190826008602002808284378201915050505050919291929080359060200190929190505050610e7c565b6040518082600860200280838360005b8381101561029757808201518184015260208101905061027c565b5050505090500191505060405180910390f35b3480156102b657600080fd5b506102d560048036038101908080359060200190929190505050610ed4565b6040518082815260200191505060405180910390f35b3480156102f757600080fd5b50610300610eee565b6040518082815260200191505060405180910390f35b34801561032257600080fd5b5061034160048036038101908080359060200190929190505050610ef3565b6040518082815260200191505060405180910390f35b34801561036357600080fd5b5061038260048036038101908080359060200190929190505050610f0d565b6040518082815260200191505060405180910390f35b3480156103a457600080fd5b506103ad610f27565b6040518082600860200280838360005b838110156103d85780820151818401526020810190506103bd565b5050505090500191505060405180910390f35b3480156103f757600080fd5b5061049c600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050610f72565b6040518082600860200280838360005b838110156104c75780820151818401526020810190506104ac565b5050505090500191505060405180910390f35b3480156104e657600080fd5b5061055b600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050610fdd565b6040518082600860200280838360005b8381101561058657808201518184015260208101905061056b565b5050505090500191505060405180910390f35b3480156105a557600080fd5b5061061a600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050611121565b6040518082600860200280838360005b8381101561064557808201518184015260208101905061062a565b5050505090500191505060405180910390f35b34801561066457600080fd5b506106d9600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050611152565b6040518082815260200191505060405180910390f35b3480156106fb57600080fd5b506107c7600480360381019080803567ffffffffffffffff16906020019092919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050611205565b604051808215151515815260200191505060405180910390f35b3480156107ed57600080fd5b506108a5600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908061010001906008806020026040519081016040528092919082600860200280828437820191505050505091929192905050506112a6565b6040518082600860200280838360005b838110156108d05780820151818401526020810190506108b5565b5050505090500191505060405180910390f35b3480156108ef57600080fd5b50610964600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050611416565b6040518082600860200280838360005b8381101561098f578082015181840152602081019050610974565b5050505090500191505060405180910390f35b3480156109ae57600080fd5b506109b761155e565b6040518082815260200191505060405180910390f35b3480156109d957600080fd5b50610a5860048036038101908080610100019060088060200260405190810160405280929190826008602002808284378201915050505050919291929080359060200190929190806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050611568565b6040518082600860200280838360005b83811015610a83578082015181840152602081019050610a68565b5050505090500191505060405180910390f35b348015610aa257600080fd5b50610aab61169b565b6040518082815260200191505060405180910390f35b348015610acd57600080fd5b50610c0b6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908061010001906008806020026040519081016040528092919082600860200280828437820191505050505091929192908061010001906008806020026040519081016040528092919082600860200280828437820191505050505091929192905050506116a0565b604051808215151515815260200191505060405180910390f35b348015610c3157600080fd5b50610c3a61191f565b6040518082815260200191505060405180910390f35b348015610c5c57600080fd5b50610d01600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050611927565b6040518082600860200280838360005b83811015610d2c578082015181840152602081019050610d11565b5050505090500191505060405180910390f35b348015610d4b57600080fd5b50610dd360048036038101908080610100019060088060200260405190810160405280929190826008602002808284378201915050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611991565b6040518082600860200280838360005b83811015610dfe578082015181840152602081019050610de3565b5050505090500191505060405180910390f35b610e196119e9565b610e216119e9565b6000610e2d8487611416565b9150610e398286611152565b90506000811415610e4c57829250610e73565b6001811415610e6657610e5f8686610fdd565b9250610e73565b610e708583611416565b92505b50509392505050565b610e846119e9565b610ecc83836010600880602002604051908101604052809291908260088015610ec2576020028201915b815481526020019060010190808311610eae575b5050505050611568565b905092915050565b601081600881101515610ee357fe5b016000915090505481565b600881565b600881600881101515610f0257fe5b016000915090505481565b600081600881101515610f1c57fe5b016000915090505481565b610f2f6119e9565b6010600880602002604051908101604052809291908260088015610f68576020028201915b815481526020019060010190808311610f54575b5050505050905090565b610f7a6119e9565b6000610f846119e9565b610f8e8686611152565b91506000821415610fa157829250610fd4565b6001821415610fbb57610fb48686611416565b9250610fd4565b610fc58587611416565b9050610fd18482611416565b92505b50509392505050565b610fe56119e9565b600080600080600093506000925060009150600160080390505b600881101561111457868160088110151561101657fe5b6020020151925083156110c9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83141561107e5760019350858160088110151561105d57fe5b6020020151858260088110151561107057fe5b6020020181815250506110c4565b8280600101935050858160088110151561109457fe5b60200201518301915082821015156110ab57600093505b8185826008811015156110ba57fe5b6020020181815250505b611106565b85816008811015156110d757fe5b602002015183019150828210156110ed57600193505b8185826008811015156110fc57fe5b6020020181815250505b808060019003915050610fff565b8494505050505092915050565b6111296119e9565b6111316119e9565b61113c848585610e11565b9050611149818285610e11565b91505092915050565b600080600090505b60088110156111f957828160088110151561117157fe5b6020020151848260088110151561118457fe5b6020020151111561119857600191506111fe565b82816008811015156111a657fe5b602002015184826008811015156111b957fe5b602002015110156111ec577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff91506111fe565b808060010191505061115a565b600091505b5092915050565b600061120f6119e9565b6112176119e9565b6010600880602002604051908101604052809291908260088015611250576020028201915b81548152602001906001019080831161123c575b505050505091506112628587846112a6565b9050611279818867ffffffffffffffff1684611568565b905060006112878286611152565b141515611297576000925061129c565b600192505b5050949350505050565b6112ae6119e9565b6000806000806000806008602002955060009450600093508851925060405194508585526020830260208601528560408601526060935060009150600090505b600881101561132457898160088110151561130557fe5b60200201519150818486015260208401935080806001019150506112ee565b600090505b8281101561136357888181518110151561133f57fe5b90602001906020020151915081848601526020840193508080600101915050611329565b600090505b600881101561139e57878160088110151561137f57fe5b6020020151915081848601526020840193508080600101915050611368565b8585858760056107d05a03fa80600081146113b8576113bd565b600080fd5b50506000935060009150600090505b6008811015611406578385015191506020840193508187826008811015156113f057fe5b60200201818152505080806001019150506113cc565b8696505050505050509392505050565b61141e6119e9565b600080600080925060009150600160080390505b600881101561155257858160088110151561144957fe5b6020020151915082156114f857600082141561149d5760019250818060019003925050848160088110151561147a57fe5b60200201518203848260088110151561148f57fe5b6020020181815250506114f3565b81806001900392505084816008811015156114b457fe5b6020020151821015156114c657600092505b84816008811015156114d457fe5b6020020151820384826008811015156114e957fe5b6020020181815250505b611544565b848160088110151561150657fe5b602002015182101561151757600192505b848160088110151561152557fe5b60200201518203848260088110151561153a57fe5b6020020181815250505b808060019003915050611432565b83935050505092915050565b6020600880020281565b6115706119e9565b600080600080600060086020029450600093506000925060405193508484526020808501528460408501526060925060009150600090505b60088110156115de5788816008811015156115bf57fe5b60200201519150818385015260208301925080806001019150506115a8565b8783850152602083019250600090505b600881101561162457868160088110151561160557fe5b60200201519150818385015260208301925080806001019150506115ee565b8484848660056107d05a03fa806000811461163e57611643565b600080fd5b50506000925060009150600090505b600881101561168c5782840151915060208301925081868260088110151561167657fe5b6020020181815250508080600101915050611652565b85955050505050509392505050565b600381565b60006116aa6119e9565b6116b26119e9565b60008060006116bf6119e9565b600060018d511015151561173b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5072696d6573206c697374206d757374206e6f7420626520656d70747900000081525060200191505060405180910390fd5b6010600880602002604051908101604052809291908260088015611774576020028201915b815481526020019060010190808311611760575b505050505096506117868a8d896112a6565b9550611793868a89611927565b9550600094508c519350600192506117ac8a8c896112a6565b91506004848115156117ba57fe5b049050600194505b6004848115156117ce57fe5b068511151561180c578c8585038151811015156117e757fe5b9060200190602002015167ffffffffffffffff168302925084806001019550506117c2565b611817828489611568565b9150600094505b808510156118e2578c6003866004020181518110151561183a57fe5b9060200190602002015167ffffffffffffffff168d6002876004020181518110151561186257fe5b9060200190602002015167ffffffffffffffff168e6001886004020181518110151561188a57fe5b9060200190602002015167ffffffffffffffff168f886004028151811015156118af57fe5b9060200190602002015167ffffffffffffffff1602010192506118d3828489611568565b9150848060010195505061181e565b6118ec8288611121565b915060006118fa8784611152565b14151561190a576000975061190f565b600197505b5050505050505095945050505050565b600860200281565b61192f6119e9565b6119376119e9565b61193f6119e9565b6119476119e9565b61195d611955888888610e11565b600287611568565b925061197561196d888888610f72565b600287611568565b9150611982838387610f72565b90508093505050509392505050565b6119996119e9565b6119e1838360106008806020026040519081016040528092919082600880156119d7576020028201915b8154815260200190600101908083116119c3575b50505050506112a6565b905092915050565b610100604051908101604052806008906020820280388339808201915050905050905600a165627a7a7230582065b03f5283e714c0febeabfe790dedbcc954631b5cacb60571bf873e2b82dbf10029 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment