{
  "_format": "hh-sol-artifact-1",
  "contractName": "UniversalSchemeMock",
  "sourceName": "contracts/test/UniversalSchemeMock.sol",
  "abi": [
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract Avatar",
          "name": "_avatar",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_contract",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_a",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_b",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_c",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "genericCall",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "internalType": "contract Avatar",
          "name": "_avatar",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_contract",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_a",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_b",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_c",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_value",
          "type": "uint256"
        }
      ],
      "name": "genericCallDirect",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610661806100206000396000f3fe608060405234801561001057600080fd5b50600436106100355760003560e01c80624080961461003a578063b9642c0e14610107575b600080fd5b610084600480360360c081101561005057600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359091169060808101359060a00135610151565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156100cb5781810151838201526020016100b3565b50505050905090810190601f1680156100f85780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b610084600480360360c081101561011d57600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359091169060808101359060a0013561035c565b6040805160248082018790526001600160a01b038681166044808501919091526064808501889052855180860382018152608495860187526020810180516001600160e01b0316630f3e8dcd60e41b178152965163057e2c8b60e31b81528c851660048201908152938101899052606095810186815282519382019390935281516000989697958f1696632bf16458968f9694958c95949093910191908083838e5b8381101561020b5781810151838201526020016101f3565b50505050905090810190601f1680156102385780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561025957600080fd5b505af115801561026d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561029657600080fd5b8151602083018051604051929492938301929190846401000000008211156102bd57600080fd5b9083019060208201858111156102d257600080fd5b82516401000000008111828201881017156102ec57600080fd5b82525081516020918201929091019080838360005b83811015610319578181015183820152602001610301565b50505050905090810190601f1680156103465780820380516001836020036101000a031916815260200191505b5060405250505091509150965096945050505050565b600060606000886001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561039b57600080fd5b505afa1580156103af573d6000803e3d6000fd5b505050506040513d60208110156103c557600080fd5b81019080805190602001909291905050509050806001600160a01b031663d1b7089a8989898960405160240180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050604051602081830303815290604052630f3e8dcd60e41b6001600160e01b0319166020820180516001600160e01b0383818316178352505050508c886040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b0316815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019080838360005b838110156104d95781810151838201526020016104c1565b50505050905090810190601f1680156105065780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561052857600080fd5b505af115801561053c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561056557600080fd5b81516020830180516040519294929383019291908464010000000082111561058c57600080fd5b9083019060208201858111156105a157600080fd5b82516401000000008111828201881017156105bb57600080fd5b82525081516020918201929091019080838360005b838110156105e85781810151838201526020016105d0565b50505050905090810190601f1680156106155780820380516001836020036101000a031916815260200191505b50604052505050925092505096509694505050505056fea265627a7a72315820fb616a93c956cac4f61dc399d3497a1a3cbaa2c868341dbec861f59328823c0f64736f6c63430005110032",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100355760003560e01c80624080961461003a578063b9642c0e14610107575b600080fd5b610084600480360360c081101561005057600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359091169060808101359060a00135610151565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156100cb5781810151838201526020016100b3565b50505050905090810190601f1680156100f85780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b610084600480360360c081101561011d57600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359091169060808101359060a0013561035c565b6040805160248082018790526001600160a01b038681166044808501919091526064808501889052855180860382018152608495860187526020810180516001600160e01b0316630f3e8dcd60e41b178152965163057e2c8b60e31b81528c851660048201908152938101899052606095810186815282519382019390935281516000989697958f1696632bf16458968f9694958c95949093910191908083838e5b8381101561020b5781810151838201526020016101f3565b50505050905090810190601f1680156102385780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561025957600080fd5b505af115801561026d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561029657600080fd5b8151602083018051604051929492938301929190846401000000008211156102bd57600080fd5b9083019060208201858111156102d257600080fd5b82516401000000008111828201881017156102ec57600080fd5b82525081516020918201929091019080838360005b83811015610319578181015183820152602001610301565b50505050905090810190601f1680156103465780820380516001836020036101000a031916815260200191505b5060405250505091509150965096945050505050565b600060606000886001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561039b57600080fd5b505afa1580156103af573d6000803e3d6000fd5b505050506040513d60208110156103c557600080fd5b81019080805190602001909291905050509050806001600160a01b031663d1b7089a8989898960405160240180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050604051602081830303815290604052630f3e8dcd60e41b6001600160e01b0319166020820180516001600160e01b0383818316178352505050508c886040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b0316815260200180602001846001600160a01b03166001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019080838360005b838110156104d95781810151838201526020016104c1565b50505050905090810190601f1680156105065780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561052857600080fd5b505af115801561053c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561056557600080fd5b81516020830180516040519294929383019291908464010000000082111561058c57600080fd5b9083019060208201858111156105a157600080fd5b82516401000000008111828201881017156105bb57600080fd5b82525081516020918201929091019080838360005b838110156105e85781810151838201526020016105d0565b50505050905090810190601f1680156106155780820380516001836020036101000a031916815260200191505b50604052505050925092505096509694505050505056fea265627a7a72315820fb616a93c956cac4f61dc399d3497a1a3cbaa2c868341dbec861f59328823c0f64736f6c63430005110032",
  "linkReferences": {},
  "deployedLinkReferences": {}
}