Skip to content

Instantly share code, notes, and snippets.

@nrryuya
Last active January 5, 2019 07:53
Show Gist options
  • Save nrryuya/3403f5dbdbcb45c4d4e492b88fc9f32d to your computer and use it in GitHub Desktop.
Save nrryuya/3403f5dbdbcb45c4d4e492b88fc9f32d to your computer and use it in GitHub Desktop.
.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
60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630ca988e7146101225780631140363d14610211578063181382cb146102aa578063214743f0146102eb5780632576542714610316578063257dcc4e146103575780633e95522514610398578063425528b1146103eb5780634ee09827146104da57806354e239c8146105995780639bee387214610658578063a1462da1146106ef578063c50c4ca2146107e1578063c5dedee3146108e3578063cca9b04d146109a2578063d5bca224146109cd578063e2179b8e14610a96578063ee3d1f7c14610ac1578063f662358014610c25578063f88cadb314610c50578063f9cd5e4b14610d3f575b600080fd5b34801561012e57600080fd5b506101d3600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050610e11565b6040518082600860200280838360005b838110156101fe5780820151818401526020810190506101e3565b5050505090500191505060405180910390f35b34801561021d57600080fd5b5061026c60048036038101908080610100019060088060200260405190810160405280929190826008602002808284378201915050505050919291929080359060200190929190505050610e7c565b6040518082600860200280838360005b8381101561029757808201518184015260208101905061027c565b5050505090500191505060405180910390f35b3480156102b657600080fd5b506102d560048036038101908080359060200190929190505050610ed4565b6040518082815260200191505060405180910390f35b3480156102f757600080fd5b50610300610eee565b6040518082815260200191505060405180910390f35b34801561032257600080fd5b5061034160048036038101908080359060200190929190505050610ef3565b6040518082815260200191505060405180910390f35b34801561036357600080fd5b5061038260048036038101908080359060200190929190505050610f0d565b6040518082815260200191505060405180910390f35b3480156103a457600080fd5b506103ad610f27565b6040518082600860200280838360005b838110156103d85780820151818401526020810190506103bd565b5050505090500191505060405180910390f35b3480156103f757600080fd5b5061049c600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050610f72565b6040518082600860200280838360005b838110156104c75780820151818401526020810190506104ac565b5050505090500191505060405180910390f35b3480156104e657600080fd5b5061055b600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050610fdd565b6040518082600860200280838360005b8381101561058657808201518184015260208101905061056b565b5050505090500191505060405180910390f35b3480156105a557600080fd5b5061061a600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050611121565b6040518082600860200280838360005b8381101561064557808201518184015260208101905061062a565b5050505090500191505060405180910390f35b34801561066457600080fd5b506106d9600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050611152565b6040518082815260200191505060405180910390f35b3480156106fb57600080fd5b506107c7600480360381019080803567ffffffffffffffff16906020019092919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050611205565b604051808215151515815260200191505060405180910390f35b3480156107ed57600080fd5b506108a5600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908061010001906008806020026040519081016040528092919082600860200280828437820191505050505091929192905050506112a6565b6040518082600860200280838360005b838110156108d05780820151818401526020810190506108b5565b5050505090500191505060405180910390f35b3480156108ef57600080fd5b50610964600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050611416565b6040518082600860200280838360005b8381101561098f578082015181840152602081019050610974565b5050505090500191505060405180910390f35b3480156109ae57600080fd5b506109b761155e565b6040518082815260200191505060405180910390f35b3480156109d957600080fd5b50610a5860048036038101908080610100019060088060200260405190810160405280929190826008602002808284378201915050505050919291929080359060200190929190806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050611568565b6040518082600860200280838360005b83811015610a83578082015181840152602081019050610a68565b5050505090500191505060405180910390f35b348015610aa257600080fd5b50610aab61169b565b6040518082815260200191505060405180910390f35b348015610acd57600080fd5b50610c0b6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192908061010001906008806020026040519081016040528092919082600860200280828437820191505050505091929192908061010001906008806020026040519081016040528092919082600860200280828437820191505050505091929192905050506116a0565b604051808215151515815260200191505060405180910390f35b348015610c3157600080fd5b50610c3a61191f565b6040518082815260200191505060405180910390f35b348015610c5c57600080fd5b50610d01600480360381019080806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290806101000190600880602002604051908101604052809291908260086020028082843782019150505050509192919290505050611927565b6040518082600860200280838360005b83811015610d2c578082015181840152602081019050610d11565b5050505090500191505060405180910390f35b348015610d4b57600080fd5b50610dd360048036038101908080610100019060088060200260405190810160405280929190826008602002808284378201915050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611991565b6040518082600860200280838360005b83811015610dfe578082015181840152602081019050610de3565b5050505090500191505060405180910390f35b610e196119e9565b610e216119e9565b6000610e2d8487611416565b9150610e398286611152565b90506000811415610e4c57829250610e73565b6001811415610e6657610e5f8686610fdd565b9250610e73565b610e708583611416565b92505b50509392505050565b610e846119e9565b610ecc83836010600880602002604051908101604052809291908260088015610ec2576020028201915b815481526020019060010190808311610eae575b5050505050611568565b905092915050565b601081600881101515610ee357fe5b016000915090505481565b600881565b600881600881101515610f0257fe5b016000915090505481565b600081600881101515610f1c57fe5b016000915090505481565b610f2f6119e9565b6010600880602002604051908101604052809291908260088015610f68576020028201915b815481526020019060010190808311610f54575b5050505050905090565b610f7a6119e9565b6000610f846119e9565b610f8e8686611152565b91506000821415610fa157829250610fd4565b6001821415610fbb57610fb48686611416565b9250610fd4565b610fc58587611416565b9050610fd18482611416565b92505b50509392505050565b610fe56119e9565b600080600080600093506000925060009150600160080390505b600881101561111457868160088110151561101657fe5b6020020151925083156110c9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83141561107e5760019350858160088110151561105d57fe5b6020020151858260088110151561107057fe5b6020020181815250506110c4565b8280600101935050858160088110151561109457fe5b60200201518301915082821015156110ab57600093505b8185826008811015156110ba57fe5b6020020181815250505b611106565b85816008811015156110d757fe5b602002015183019150828210156110ed57600193505b8185826008811015156110fc57fe5b6020020181815250505b808060019003915050610fff565b8494505050505092915050565b6111296119e9565b6111316119e9565b61113c848585610e11565b9050611149818285610e11565b91505092915050565b600080600090505b60088110156111f957828160088110151561117157fe5b6020020151848260088110151561118457fe5b6020020151111561119857600191506111fe565b82816008811015156111a657fe5b602002015184826008811015156111b957fe5b602002015110156111ec577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff91506111fe565b808060010191505061115a565b600091505b5092915050565b600061120f6119e9565b6112176119e9565b6010600880602002604051908101604052809291908260088015611250576020028201915b81548152602001906001019080831161123c575b505050505091506112628587846112a6565b9050611279818867ffffffffffffffff1684611568565b905060006112878286611152565b141515611297576000925061129c565b600192505b5050949350505050565b6112ae6119e9565b6000806000806000806008602002955060009450600093508851925060405194508585526020830260208601528560408601526060935060009150600090505b600881101561132457898160088110151561130557fe5b60200201519150818486015260208401935080806001019150506112ee565b600090505b8281101561136357888181518110151561133f57fe5b90602001906020020151915081848601526020840193508080600101915050611329565b600090505b600881101561139e57878160088110151561137f57fe5b6020020151915081848601526020840193508080600101915050611368565b8585858760056107d05a03fa80600081146113b8576113bd565b600080fd5b50506000935060009150600090505b6008811015611406578385015191506020840193508187826008811015156113f057fe5b60200201818152505080806001019150506113cc565b8696505050505050509392505050565b61141e6119e9565b600080600080925060009150600160080390505b600881101561155257858160088110151561144957fe5b6020020151915082156114f857600082141561149d5760019250818060019003925050848160088110151561147a57fe5b60200201518203848260088110151561148f57fe5b6020020181815250506114f3565b81806001900392505084816008811015156114b457fe5b6020020151821015156114c657600092505b84816008811015156114d457fe5b6020020151820384826008811015156114e957fe5b6020020181815250505b611544565b848160088110151561150657fe5b602002015182101561151757600192505b848160088110151561152557fe5b60200201518203848260088110151561153a57fe5b6020020181815250505b808060019003915050611432565b83935050505092915050565b6020600880020281565b6115706119e9565b600080600080600060086020029450600093506000925060405193508484526020808501528460408501526060925060009150600090505b60088110156115de5788816008811015156115bf57fe5b60200201519150818385015260208301925080806001019150506115a8565b8783850152602083019250600090505b600881101561162457868160088110151561160557fe5b60200201519150818385015260208301925080806001019150506115ee565b8484848660056107d05a03fa806000811461163e57611643565b600080fd5b50506000925060009150600090505b600881101561168c5782840151915060208301925081868260088110151561167657fe5b6020020181815250508080600101915050611652565b85955050505050509392505050565b600381565b60006116aa6119e9565b6116b26119e9565b60008060006116bf6119e9565b600060018d511015151561173b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5072696d6573206c697374206d757374206e6f7420626520656d70747900000081525060200191505060405180910390fd5b6010600880602002604051908101604052809291908260088015611774576020028201915b815481526020019060010190808311611760575b505050505096506117868a8d896112a6565b9550611793868a89611927565b9550600094508c519350600192506117ac8a8c896112a6565b91506004848115156117ba57fe5b049050600194505b6004848115156117ce57fe5b068511151561180c578c8585038151811015156117e757fe5b9060200190602002015167ffffffffffffffff168302925084806001019550506117c2565b611817828489611568565b9150600094505b808510156118e2578c6003866004020181518110151561183a57fe5b9060200190602002015167ffffffffffffffff168d6002876004020181518110151561186257fe5b9060200190602002015167ffffffffffffffff168e6001886004020181518110151561188a57fe5b9060200190602002015167ffffffffffffffff168f886004028151811015156118af57fe5b9060200190602002015167ffffffffffffffff1602010192506118d3828489611568565b9150848060010195505061181e565b6118ec8288611121565b915060006118fa8784611152565b14151561190a576000975061190f565b600197505b5050505050505095945050505050565b600860200281565b61192f6119e9565b6119376119e9565b61193f6119e9565b6119476119e9565b61195d611955888888610e11565b600287611568565b925061197561196d888888610f72565b600287611568565b9150611982838387610f72565b90508093505050509392505050565b6119996119e9565b6119e1838360106008806020026040519081016040528092919082600880156119d7576020028201915b8154815260200190600101908083116119c3575b50505050506112a6565b905092915050565b610100604051908101604052806008906020820280388339808201915050905050905600a165627a7a7230582065b03f5283e714c0febeabfe790dedbcc954631b5cacb60571bf873e2b82dbf10029
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment