{
  "_format": "hh-sol-artifact-1",
  "contractName": "BitMathTest",
  "sourceName": "contracts/soma/SomaSwap/test/BitMathTest.sol",
  "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"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610454806100206000396000f3fe608060405234801561001057600080fd5b506004361061004b5760003560e01c806246b777146100505780636b83cf2614610076578063d230d23f14610089578063e6bcbc65146100ae575b600080fd5b61006361005e3660046103d3565b6100c1565b6040519081526020015b60405180910390f35b6100636100843660046103d3565b6100e3565b61009c6100973660046103d3565b6100f2565b60405160ff909116815260200161006d565b61009c6100bc3660046103d3565b610103565b6000805a90506100d08361010a565b505a6100dc9082610402565b9392505050565b6000805a90506100d083610251565b60006100fd82610251565b92915050565b60006100fd825b600080821161016a5760405162461bcd60e51b815260206004820152602160248201527f4269744d6174683a3a6d6f73745369676e69666963616e744269743a207a65726044820152606f60f81b60648201526084015b60405180910390fd5b600160801b821061018857608091821c916101859082610415565b90505b6801000000000000000082106101ab57604091821c916101a89082610415565b90505b64010000000082106101ca57602091821c916101c79082610415565b90505b6201000082106101e757601091821c916101e49082610415565b90505b610100821061020357600891821c916102009082610415565b90505b6010821061021e57600491821c9161021b9082610415565b90505b6004821061023957600291821c916102369082610415565b90505b6002821061024c576100fd600182610415565b919050565b60008082116102ad5760405162461bcd60e51b815260206004820152602260248201527f4269744d6174683a3a6c656173745369676e69666963616e744269743a207a65604482015261726f60f01b6064820152608401610161565b5060ff6fffffffffffffffffffffffffffffffff8216156102da576102d360808261042e565b90506102e2565b608082901c91505b67ffffffffffffffff821615610304576102fd60408261042e565b905061030c565b604082901c91505b63ffffffff82161561032a5761032360208261042e565b9050610332565b602082901c91505b61ffff82161561034e5761034760108261042e565b9050610356565b601082901c91505b60ff8216156103715761036a60088261042e565b9050610379565b600882901c91505b600f8216156103945761038d60048261042e565b905061039c565b600482901c91505b60038216156103b7576103b060028261042e565b90506103bf565b600282901c91505b600182161561024c576100fd60018261042e565b6000602082840312156103e557600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156100fd576100fd6103ec565b60ff81811683821601908111156100fd576100fd6103ec565b60ff82811682821603908111156100fd576100fd6103ec56fea164736f6c6343000812000a",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061004b5760003560e01c806246b777146100505780636b83cf2614610076578063d230d23f14610089578063e6bcbc65146100ae575b600080fd5b61006361005e3660046103d3565b6100c1565b6040519081526020015b60405180910390f35b6100636100843660046103d3565b6100e3565b61009c6100973660046103d3565b6100f2565b60405160ff909116815260200161006d565b61009c6100bc3660046103d3565b610103565b6000805a90506100d08361010a565b505a6100dc9082610402565b9392505050565b6000805a90506100d083610251565b60006100fd82610251565b92915050565b60006100fd825b600080821161016a5760405162461bcd60e51b815260206004820152602160248201527f4269744d6174683a3a6d6f73745369676e69666963616e744269743a207a65726044820152606f60f81b60648201526084015b60405180910390fd5b600160801b821061018857608091821c916101859082610415565b90505b6801000000000000000082106101ab57604091821c916101a89082610415565b90505b64010000000082106101ca57602091821c916101c79082610415565b90505b6201000082106101e757601091821c916101e49082610415565b90505b610100821061020357600891821c916102009082610415565b90505b6010821061021e57600491821c9161021b9082610415565b90505b6004821061023957600291821c916102369082610415565b90505b6002821061024c576100fd600182610415565b919050565b60008082116102ad5760405162461bcd60e51b815260206004820152602260248201527f4269744d6174683a3a6c656173745369676e69666963616e744269743a207a65604482015261726f60f01b6064820152608401610161565b5060ff6fffffffffffffffffffffffffffffffff8216156102da576102d360808261042e565b90506102e2565b608082901c91505b67ffffffffffffffff821615610304576102fd60408261042e565b905061030c565b604082901c91505b63ffffffff82161561032a5761032360208261042e565b9050610332565b602082901c91505b61ffff82161561034e5761034760108261042e565b9050610356565b601082901c91505b60ff8216156103715761036a60088261042e565b9050610379565b600882901c91505b600f8216156103945761038d60048261042e565b905061039c565b600482901c91505b60038216156103b7576103b060028261042e565b90506103bf565b600282901c91505b600182161561024c576100fd60018261042e565b6000602082840312156103e557600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156100fd576100fd6103ec565b60ff81811683821601908111156100fd576100fd6103ec565b60ff82811682821603908111156100fd576100fd6103ec56fea164736f6c6343000812000a",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
