{
  "_format": "hh-sol-artifact-1",
  "contractName": "SafeCaller_Actor",
  "sourceName": "contracts/test/invariants/SafeCall.t.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract Vm",
          "name": "_vm",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "_fails",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "numCalls",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "gas",
          "type": "uint64"
        },
        {
          "internalType": "uint64",
          "name": "minGas",
          "type": "uint64"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint8",
          "name": "value",
          "type": "uint8"
        }
      ],
      "name": "performSafeCallMinGas",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a060405234801561001057600080fd5b50604051610af0380380610af083398101604081905261002f9161005a565b600080546001600160a01b0319166001600160a01b03939093169290921790915515156080526100a5565b6000806040838503121561006d57600080fd5b82516001600160a01b038116811461008457600080fd5b6020840151909250801515811461009a57600080fd5b809150509250929050565b608051610a226100ce600039600081816101310152818161034c01526103890152610a226000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806382f161ca1461003b578063e0f8035b14610056575b600080fd5b61004460015481565b60405190815260200160405180910390f35b61006961006436600461079d565b61006b565b005b60005473ffffffffffffffffffffffffffffffffffffffff90811690634c63e5629084163b1580156100be57506a636f6e736f6c652e6c6f6773ffffffffffffffffffffffffffffffffffffffff851614155b6040518263ffffffff1660e01b81526004016100de911515815260200190565b60006040518083038186803b1580156100f657600080fd5b505afa15801561010a573d6000803e3d6000fd5b5050505061012d8367ffffffffffffffff166109c465ffffffffffff80166103d5565b92507f0000000000000000000000000000000000000000000000000000000000000000156101945761018d67ffffffffffffffff808616908516603f610174876040610843565b61017e91906108a2565b67ffffffffffffffff166103d5565b93506101ee565b6101eb67ffffffffffffffff8516603f6101af866040610843565b6101b991906108a2565b6101c590619c406108c9565b6101d1906103e86108c9565b67ffffffffffffffff1667ffffffffffffffff80166103d5565b93505b600080546040517f08e4e11600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015260ff8516602483015267ffffffffffffffff871660448301526080606483015260848201939093529116906308e4e1169060a401600060405180830381600087803b15801561028357600080fd5b505af1158015610297573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8616602482015267ffffffffffffffff8781166044808401919091528351808403909101815260649092019092526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9741e3b300000000000000000000000000000000000000000000000000000000179052600093506103409250339188169060ff86169061042a565b905080801561036c57507f00000000000000000000000000000000000000000000000000000000000000005b156103875760018054906000610381836108f5565b91905055505b7f00000000000000000000000000000000000000000000000000000000000000001580156103b3575080155b156103ce57600180549060006103c8836108f5565b91905055505b5050505050565b60006103e2848484610444565b90506104236040518060400160405280600c81526020017f426f756e6420526573756c74000000000000000000000000000000000000000081525082610680565b9392505050565b600080600080845160208601878a8af19695505050505050565b6000818311156104da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e0000606482015260840160405180910390fd5b8284101580156104ea5750818411155b156104f6575082610423565b6000610502848461092d565b61050d906001610944565b90506003851115801561051f57508481115b156105365761052e8585610944565b915050610423565b61056160037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61092d565b85101580156105985750610595857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61092d565b81115b156105d1576105c7857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61092d565b61052e908461092d565b828511156106275760006105e5848761092d565b905060006105f3838361095c565b90508060000361060857849350505050610423565b60016106148288610944565b61061e919061092d565b93505050610678565b8385101561067857600061063b868661092d565b90506000610649838361095c565b90508060000361065e57859350505050610423565b610668818661092d565b610673906001610944565b935050505b509392505050565b60006a636f6e736f6c652e6c6f6773ffffffffffffffffffffffffffffffffffffffff1683836040516024016106b79291906109a0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb60e72cc000000000000000000000000000000000000000000000000000000001790525161073891906109f9565b600060405180830381855afa9150503d8060008114610773576040519150601f19603f3d011682016040523d82523d6000602084013e610778565b606091505b505050505050565b803567ffffffffffffffff8116811461079857600080fd5b919050565b600080600080608085870312156107b357600080fd5b6107bc85610780565b93506107ca60208601610780565b9250604085013573ffffffffffffffffffffffffffffffffffffffff811681146107f357600080fd5b9150606085013560ff8116811461080957600080fd5b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff8083168185168183048111821515161561086a5761086a610814565b02949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600067ffffffffffffffff808416806108bd576108bd610873565b92169190910492915050565b600067ffffffffffffffff8083168185168083038211156108ec576108ec610814565b01949350505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361092657610926610814565b5060010190565b60008282101561093f5761093f610814565b500390565b6000821982111561095757610957610814565b500190565b60008261096b5761096b610873565b500690565b60005b8381101561098b578181015183820152602001610973565b8381111561099a576000848401525b50505050565b60408152600083518060408401526109bf816060850160208801610970565b602083019390935250601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601606001919050565b60008251610a0b818460208701610970565b919091019291505056fea164736f6c634300080f000a",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806382f161ca1461003b578063e0f8035b14610056575b600080fd5b61004460015481565b60405190815260200160405180910390f35b61006961006436600461079d565b61006b565b005b60005473ffffffffffffffffffffffffffffffffffffffff90811690634c63e5629084163b1580156100be57506a636f6e736f6c652e6c6f6773ffffffffffffffffffffffffffffffffffffffff851614155b6040518263ffffffff1660e01b81526004016100de911515815260200190565b60006040518083038186803b1580156100f657600080fd5b505afa15801561010a573d6000803e3d6000fd5b5050505061012d8367ffffffffffffffff166109c465ffffffffffff80166103d5565b92507f0000000000000000000000000000000000000000000000000000000000000000156101945761018d67ffffffffffffffff808616908516603f610174876040610843565b61017e91906108a2565b67ffffffffffffffff166103d5565b93506101ee565b6101eb67ffffffffffffffff8516603f6101af866040610843565b6101b991906108a2565b6101c590619c406108c9565b6101d1906103e86108c9565b67ffffffffffffffff1667ffffffffffffffff80166103d5565b93505b600080546040517f08e4e11600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015260ff8516602483015267ffffffffffffffff871660448301526080606483015260848201939093529116906308e4e1169060a401600060405180830381600087803b15801561028357600080fd5b505af1158015610297573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8616602482015267ffffffffffffffff8781166044808401919091528351808403909101815260649092019092526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9741e3b300000000000000000000000000000000000000000000000000000000179052600093506103409250339188169060ff86169061042a565b905080801561036c57507f00000000000000000000000000000000000000000000000000000000000000005b156103875760018054906000610381836108f5565b91905055505b7f00000000000000000000000000000000000000000000000000000000000000001580156103b3575080155b156103ce57600180549060006103c8836108f5565b91905055505b5050505050565b60006103e2848484610444565b90506104236040518060400160405280600c81526020017f426f756e6420526573756c74000000000000000000000000000000000000000081525082610680565b9392505050565b600080600080845160208601878a8af19695505050505050565b6000818311156104da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e0000606482015260840160405180910390fd5b8284101580156104ea5750818411155b156104f6575082610423565b6000610502848461092d565b61050d906001610944565b90506003851115801561051f57508481115b156105365761052e8585610944565b915050610423565b61056160037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61092d565b85101580156105985750610595857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61092d565b81115b156105d1576105c7857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61092d565b61052e908461092d565b828511156106275760006105e5848761092d565b905060006105f3838361095c565b90508060000361060857849350505050610423565b60016106148288610944565b61061e919061092d565b93505050610678565b8385101561067857600061063b868661092d565b90506000610649838361095c565b90508060000361065e57859350505050610423565b610668818661092d565b610673906001610944565b935050505b509392505050565b60006a636f6e736f6c652e6c6f6773ffffffffffffffffffffffffffffffffffffffff1683836040516024016106b79291906109a0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb60e72cc000000000000000000000000000000000000000000000000000000001790525161073891906109f9565b600060405180830381855afa9150503d8060008114610773576040519150601f19603f3d011682016040523d82523d6000602084013e610778565b606091505b505050505050565b803567ffffffffffffffff8116811461079857600080fd5b919050565b600080600080608085870312156107b357600080fd5b6107bc85610780565b93506107ca60208601610780565b9250604085013573ffffffffffffffffffffffffffffffffffffffff811681146107f357600080fd5b9150606085013560ff8116811461080957600080fd5b939692955090935050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff8083168185168183048111821515161561086a5761086a610814565b02949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600067ffffffffffffffff808416806108bd576108bd610873565b92169190910492915050565b600067ffffffffffffffff8083168185168083038211156108ec576108ec610814565b01949350505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361092657610926610814565b5060010190565b60008282101561093f5761093f610814565b500390565b6000821982111561095757610957610814565b500190565b60008261096b5761096b610873565b500690565b60005b8381101561098b578181015183820152602001610973565b8381111561099a576000848401525b50505050565b60408152600083518060408401526109bf816060850160208801610970565b602083019390935250601f919091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601606001919050565b60008251610a0b818460208701610970565b919091019291505056fea164736f6c634300080f000a",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
