UNPKG

easybake-swap-lib

Version:
97 lines 23.4 kB
{ "abi": [ { "inputs": [ { "internalType": "uint256", "name": "x", "type": "uint256" } ], "name": "getGasCostOfLeastSignificantBit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "x", "type": "uint256" } ], "name": "getGasCostOfMostSignificantBit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "x", "type": "uint256" } ], "name": "leastSignificantBit", "outputs": [ { "internalType": "uint8", "name": "r", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "x", "type": "uint256" } ], "name": "mostSignificantBit", "outputs": [ { "internalType": "uint8", "name": "r", "type": "uint8" } ], "stateMutability": "pure", "type": "function" } ], "evm": { "bytecode": { "linkReferences": {}, "object": "608060405234801561001057600080fd5b506104cf806100206000396000f3fe608060405234801561001057600080fd5b506004361061004b5760003560e01c806246b777146100505780636b83cf261461007f578063d230d23f1461009c578063e6bcbc65146100cf575b600080fd5b61006d6004803603602081101561006657600080fd5b50356100ec565b60408051918252519081900360200190f35b61006d6004803603602081101561009557600080fd5b5035610107565b6100b9600480360360208110156100b257600080fd5b5035610116565b6040805160ff9092168252519081900360200190f35b6100b9600480360360208110156100e557600080fd5b5035610127565b6000805a90506100fb8361012e565b505a900390505b919050565b6000805a90506100fb83610227565b600061012182610227565b92915050565b6000610121825b6000808211610188576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806104576021913960400191505060405180910390fd5b70010000000000000000000000000000000082106101a857608091821c91015b6801000000000000000082106101c057604091821c91015b64010000000082106101d457602091821c91015b6201000082106101e657601091821c91015b61010082106101f757600891821c91015b6010821061020757600491821c91015b6004821061021757600291821c91015b6002821061010257600101919050565b6000808211610281576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806104786022913960400191505060405180910390fd5b5060ff6fffffffffffffffffffffffffffffffff8216156102c3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80016102cb565b608082901c91505b67ffffffffffffffff821615610302577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00161030a565b604082901c91505b63ffffffff82161561033d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610345565b602082901c91505b61ffff821615610376577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00161037e565b601082901c91505b60ff8216156103ae577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016103b6565b600882901c91505b600f8216156103e6577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc016103ee565b600482901c91505b600382161561041e577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01610426565b600282901c91505b6001821615610102577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191905056fe4269744d6174683a3a6d6f73745369676e69666963616e744269743a207a65726f4269744d6174683a3a6c656173745369676e69666963616e744269743a207a65726fa26469706673582212206373e310457b65f8b8e0b2e7e16c12d02fb2760ed69cba596b4efa30fe78c51a64736f6c634300060c0033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4CF DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x46B777 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x6B83CF26 EQ PUSH2 0x7F JUMPI DUP1 PUSH4 0xD230D23F EQ PUSH2 0x9C JUMPI DUP1 PUSH4 0xE6BCBC65 EQ PUSH2 0xCF JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0xEC JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x6D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x107 JUMP JUMPDEST PUSH2 0xB9 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x116 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xB9 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x127 JUMP JUMPDEST PUSH1 0x0 DUP1 GAS SWAP1 POP PUSH2 0xFB DUP4 PUSH2 0x12E JUMP JUMPDEST POP GAS SWAP1 SUB SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 GAS SWAP1 POP PUSH2 0xFB DUP4 PUSH2 0x227 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x121 DUP3 PUSH2 0x227 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x121 DUP3 JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x188 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x457 PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH17 0x100000000000000000000000000000000 DUP3 LT PUSH2 0x1A8 JUMPI PUSH1 0x80 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH9 0x10000000000000000 DUP3 LT PUSH2 0x1C0 JUMPI PUSH1 0x40 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH5 0x100000000 DUP3 LT PUSH2 0x1D4 JUMPI PUSH1 0x20 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH3 0x10000 DUP3 LT PUSH2 0x1E6 JUMPI PUSH1 0x10 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH2 0x100 DUP3 LT PUSH2 0x1F7 JUMPI PUSH1 0x8 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH1 0x10 DUP3 LT PUSH2 0x207 JUMPI PUSH1 0x4 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH1 0x4 DUP3 LT PUSH2 0x217 JUMPI PUSH1 0x2 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH1 0x2 DUP3 LT PUSH2 0x102 JUMPI PUSH1 0x1 ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x281 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x478 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0xFF PUSH16 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND ISZERO PUSH2 0x2C3 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 ADD PUSH2 0x2CB JUMP JUMPDEST PUSH1 0x80 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND ISZERO PUSH2 0x302 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 ADD PUSH2 0x30A JUMP JUMPDEST PUSH1 0x40 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH4 0xFFFFFFFF DUP3 AND ISZERO PUSH2 0x33D JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 ADD PUSH2 0x345 JUMP JUMPDEST PUSH1 0x20 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH2 0xFFFF DUP3 AND ISZERO PUSH2 0x376 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 ADD PUSH2 0x37E JUMP JUMPDEST PUSH1 0x10 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH1 0xFF DUP3 AND ISZERO PUSH2 0x3AE JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 ADD PUSH2 0x3B6 JUMP JUMPDEST PUSH1 0x8 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH1 0xF DUP3 AND ISZERO PUSH2 0x3E6 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC ADD PUSH2 0x3EE JUMP JUMPDEST PUSH1 0x4 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH1 0x3 DUP3 AND ISZERO PUSH2 0x41E JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE ADD PUSH2 0x426 JUMP JUMPDEST PUSH1 0x2 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH1 0x1 DUP3 AND ISZERO PUSH2 0x102 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ADD SWAP2 SWAP1 POP JUMP INVALID TIMESTAMP PUSH10 0x744D6174683A3A6D6F73 PUSH21 0x5369676E69666963616E744269743A207A65726F42 PUSH10 0x744D6174683A3A6C6561 PUSH20 0x745369676E69666963616E744269743A207A6572 PUSH16 0xA26469706673582212206373E310457B PUSH6 0xF8B8E0B2E7E1 PUSH13 0x12D02FB2760ED69CBA596B4EFA ADDRESS INVALID PUSH25 0xC51A64736F6C634300060C0033000000000000000000000000 ", "sourceMap": "107:711:20:-:0;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "immutableReferences": {}, "linkReferences": {}, "object": "608060405234801561001057600080fd5b506004361061004b5760003560e01c806246b777146100505780636b83cf261461007f578063d230d23f1461009c578063e6bcbc65146100cf575b600080fd5b61006d6004803603602081101561006657600080fd5b50356100ec565b60408051918252519081900360200190f35b61006d6004803603602081101561009557600080fd5b5035610107565b6100b9600480360360208110156100b257600080fd5b5035610116565b6040805160ff9092168252519081900360200190f35b6100b9600480360360208110156100e557600080fd5b5035610127565b6000805a90506100fb8361012e565b505a900390505b919050565b6000805a90506100fb83610227565b600061012182610227565b92915050565b6000610121825b6000808211610188576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806104576021913960400191505060405180910390fd5b70010000000000000000000000000000000082106101a857608091821c91015b6801000000000000000082106101c057604091821c91015b64010000000082106101d457602091821c91015b6201000082106101e657601091821c91015b61010082106101f757600891821c91015b6010821061020757600491821c91015b6004821061021757600291821c91015b6002821061010257600101919050565b6000808211610281576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806104786022913960400191505060405180910390fd5b5060ff6fffffffffffffffffffffffffffffffff8216156102c3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80016102cb565b608082901c91505b67ffffffffffffffff821615610302577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00161030a565b604082901c91505b63ffffffff82161561033d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610345565b602082901c91505b61ffff821615610376577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00161037e565b601082901c91505b60ff8216156103ae577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016103b6565b600882901c91505b600f8216156103e6577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc016103ee565b600482901c91505b600382161561041e577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01610426565b600282901c91505b6001821615610102577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191905056fe4269744d6174683a3a6d6f73745369676e69666963616e744269743a207a65726f4269744d6174683a3a6c656173745369676e69666963616e744269743a207a65726fa26469706673582212206373e310457b65f8b8e0b2e7e16c12d02fb2760ed69cba596b4efa30fe78c51a64736f6c634300060c0033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH3 0x46B777 EQ PUSH2 0x50 JUMPI DUP1 PUSH4 0x6B83CF26 EQ PUSH2 0x7F JUMPI DUP1 PUSH4 0xD230D23F EQ PUSH2 0x9C JUMPI DUP1 PUSH4 0xE6BCBC65 EQ PUSH2 0xCF JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x6D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x66 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0xEC JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x6D PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x107 JUMP JUMPDEST PUSH2 0xB9 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x116 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0xB9 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x127 JUMP JUMPDEST PUSH1 0x0 DUP1 GAS SWAP1 POP PUSH2 0xFB DUP4 PUSH2 0x12E JUMP JUMPDEST POP GAS SWAP1 SUB SWAP1 POP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 GAS SWAP1 POP PUSH2 0xFB DUP4 PUSH2 0x227 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x121 DUP3 PUSH2 0x227 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x121 DUP3 JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x188 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x457 PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH17 0x100000000000000000000000000000000 DUP3 LT PUSH2 0x1A8 JUMPI PUSH1 0x80 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH9 0x10000000000000000 DUP3 LT PUSH2 0x1C0 JUMPI PUSH1 0x40 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH5 0x100000000 DUP3 LT PUSH2 0x1D4 JUMPI PUSH1 0x20 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH3 0x10000 DUP3 LT PUSH2 0x1E6 JUMPI PUSH1 0x10 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH2 0x100 DUP3 LT PUSH2 0x1F7 JUMPI PUSH1 0x8 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH1 0x10 DUP3 LT PUSH2 0x207 JUMPI PUSH1 0x4 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH1 0x4 DUP3 LT PUSH2 0x217 JUMPI PUSH1 0x2 SWAP2 DUP3 SHR SWAP2 ADD JUMPDEST PUSH1 0x2 DUP3 LT PUSH2 0x102 JUMPI PUSH1 0x1 ADD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x281 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x22 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x478 PUSH1 0x22 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP PUSH1 0xFF PUSH16 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND ISZERO PUSH2 0x2C3 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80 ADD PUSH2 0x2CB JUMP JUMPDEST PUSH1 0x80 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP3 AND ISZERO PUSH2 0x302 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 ADD PUSH2 0x30A JUMP JUMPDEST PUSH1 0x40 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH4 0xFFFFFFFF DUP3 AND ISZERO PUSH2 0x33D JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 ADD PUSH2 0x345 JUMP JUMPDEST PUSH1 0x20 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH2 0xFFFF DUP3 AND ISZERO PUSH2 0x376 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0 ADD PUSH2 0x37E JUMP JUMPDEST PUSH1 0x10 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH1 0xFF DUP3 AND ISZERO PUSH2 0x3AE JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 ADD PUSH2 0x3B6 JUMP JUMPDEST PUSH1 0x8 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH1 0xF DUP3 AND ISZERO PUSH2 0x3E6 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC ADD PUSH2 0x3EE JUMP JUMPDEST PUSH1 0x4 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH1 0x3 DUP3 AND ISZERO PUSH2 0x41E JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE ADD PUSH2 0x426 JUMP JUMPDEST PUSH1 0x2 DUP3 SWAP1 SHR SWAP2 POP JUMPDEST PUSH1 0x1 DUP3 AND ISZERO PUSH2 0x102 JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ADD SWAP2 SWAP1 POP JUMP INVALID TIMESTAMP PUSH10 0x744D6174683A3A6D6F73 PUSH21 0x5369676E69666963616E744269743A207A65726F42 PUSH10 0x744D6174683A3A6C6561 PUSH20 0x745369676E69666963616E744269743A207A6572 PUSH16 0xA26469706673582212206373E310457B PUSH6 0xF8B8E0B2E7E1 PUSH13 0x12D02FB2760ED69CBA596B4EFA ADDRESS INVALID PUSH25 0xC51A64736F6C634300060C0033000000000000000000000000 ", "sourceMap": "107:711:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;264:206;;;;;;;;;;;;;;;;-1:-1:-1;264:206:20;;:::i;:::-;;;;;;;;;;;;;;;;608:208;;;;;;;;;;;;;;;;-1:-1:-1;608:208:20;;:::i;476:126::-;;;;;;;;;;;;;;;;-1:-1:-1;476:126:20;;:::i;:::-;;;;;;;;;;;;;;;;;;;134:124;;;;;;;;;;;;;;;;-1:-1:-1;134:124:20;;:::i;264:206::-;338:7;357:17;377:9;357:29;;396;423:1;396:26;:29::i;:::-;;454:9;442:21;;;-1:-1:-1;264:206:20;;;;:::o;608:208::-;683:7;702:17;722:9;702:29;;741:30;769:1;741:27;:30::i;476:126::-;539:7;565:30;593:1;565:27;:30::i;:::-;558:37;476:126;-1:-1:-1;;476:126:20:o;134:124::-;196:7;222:29;249:1;217:768:5;279:7;310:1;306;:5;298:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;369:35;364:1;:40;360:102;;426:3;420:9;;;;443:8;360:102;480:19;475:1;:24;471:84;;521:2;515:8;;;;537:7;471:84;573:11;568:1;:16;564:76;;606:2;600:8;;;;622:7;564:76;658:7;653:1;:12;649:72;;687:2;681:8;;;;703:7;649:72;739:5;734:1;:10;730:68;;766:1;760:7;;;;781:6;730:68;816:4;811:1;:9;807:67;;842:1;836:7;;;;857:6;807:67;892:3;887:1;:8;883:66;;917:1;911:7;;;;932:6;883:66;967:3;962:1;:8;958:20;;977:1;972:6;217:768;;;:::o;1210:932::-;1273:7;1304:1;1300;:5;1292:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1359:3:5;1380:17;1376:21;;:25;1372:104;;1417:8;;1372:104;;;1462:3;1456:9;;;;;1372:104;1493:16;1489:20;;:24;1485:101;;1529:7;;1485:101;;;1573:2;1567:8;;;;;1485:101;1603:16;1599:20;;:24;1595:101;;1639:7;;1595:101;;;1683:2;1677:8;;;;;1595:101;1713:16;1709:20;;:24;1705:101;;1749:7;;1705:101;;;1793:2;1787:8;;;;;1705:101;1823:15;1819:19;;:23;1815:98;;1858:6;;1815:98;;;1901:1;1895:7;;;;;1815:98;1930:3;1926:7;;:11;1922:86;;1953:6;;1922:86;;;1996:1;1990:7;;;;;1922:86;2025:3;2021:7;;:11;2017:86;;2048:6;;2017:86;;;2091:1;2085:7;;;;;2017:86;2120:3;2116:7;;:11;2112:23;;2129:6;;1210:932;;;:::o" } }, "metadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"getGasCostOfLeastSignificantBit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"getGasCostOfMostSignificantBit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"leastSignificantBit\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"r\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"mostSignificantBit\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"r\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/BitMathTest.sol\":\"BitMathTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[]},\"sources\":{\"contracts/libraries/BitMath.sol\":{\"keccak256\":\"0x6da2d94a147cb47401763adac782ae7f622aa97ecfd6bfddd80a5949c66a46ad\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://a71a31bba6306f41a1de1a8bc2cf48d53bcffb2384bb719568bf12eb2613631e\",\"dweb:/ipfs/QmTnkGpyed8rks7LxWG6FARz5MBKr91HpUauJ1mW9pf4jX\"]},\"contracts/test/BitMathTest.sol\":{\"keccak256\":\"0x334e8199fda43f28a2c139032f2986ff1fad80e2bc67c385a0c48888c1cf41a8\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://4f9d31ee521c3a5cf77a86b3d6c309c935f5d056bead69b86d17f9eb1f721c4b\",\"dweb:/ipfs/QmRbuhoiKyvcp8WVjYgbQvmCsGAyuSE1KTJbnqZVkhaKzs\"]}},\"version\":1}", "bytecode": "608060405234801561001057600080fd5b506104cf806100206000396000f3fe608060405234801561001057600080fd5b506004361061004b5760003560e01c806246b777146100505780636b83cf261461007f578063d230d23f1461009c578063e6bcbc65146100cf575b600080fd5b61006d6004803603602081101561006657600080fd5b50356100ec565b60408051918252519081900360200190f35b61006d6004803603602081101561009557600080fd5b5035610107565b6100b9600480360360208110156100b257600080fd5b5035610116565b6040805160ff9092168252519081900360200190f35b6100b9600480360360208110156100e557600080fd5b5035610127565b6000805a90506100fb8361012e565b505a900390505b919050565b6000805a90506100fb83610227565b600061012182610227565b92915050565b6000610121825b6000808211610188576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806104576021913960400191505060405180910390fd5b70010000000000000000000000000000000082106101a857608091821c91015b6801000000000000000082106101c057604091821c91015b64010000000082106101d457602091821c91015b6201000082106101e657601091821c91015b61010082106101f757600891821c91015b6010821061020757600491821c91015b6004821061021757600291821c91015b6002821061010257600101919050565b6000808211610281576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806104786022913960400191505060405180910390fd5b5060ff6fffffffffffffffffffffffffffffffff8216156102c3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80016102cb565b608082901c91505b67ffffffffffffffff821615610302577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00161030a565b604082901c91505b63ffffffff82161561033d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610345565b602082901c91505b61ffff821615610376577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00161037e565b601082901c91505b60ff8216156103ae577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016103b6565b600882901c91505b600f8216156103e6577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc016103ee565b600482901c91505b600382161561041e577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01610426565b600282901c91505b6001821615610102577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0191905056fe4269744d6174683a3a6d6f73745369676e69666963616e744269743a207a65726f4269744d6174683a3a6c656173745369676e69666963616e744269743a207a65726fa26469706673582212206373e310457b65f8b8e0b2e7e16c12d02fb2760ed69cba596b4efa30fe78c51a64736f6c634300060c0033" }