{
  "_format": "hh-sol-artifact-1",
  "contractName": "Withdraw",
  "sourceName": "src.sol/transferDefinitions/Withdraw.sol",
  "abi": [
    {
      "inputs": [],
      "name": "EncodedCancel",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "Name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "ResolverEncoding",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "StateEncoding",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "encodedBalance",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "encodedState",
          "type": "bytes"
        }
      ],
      "name": "create",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getRegistryInformation",
      "outputs": [
        {
          "components": [
            {
              "internalType": "string",
              "name": "name",
              "type": "string"
            },
            {
              "internalType": "address",
              "name": "definition",
              "type": "address"
            },
            {
              "internalType": "string",
              "name": "stateEncoding",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "resolverEncoding",
              "type": "string"
            },
            {
              "internalType": "bytes",
              "name": "encodedCancel",
              "type": "bytes"
            }
          ],
          "internalType": "struct RegisteredTransfer",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "encodedBalance",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "encodedState",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "encodedResolver",
          "type": "bytes"
        }
      ],
      "name": "resolve",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256[2]",
              "name": "amount",
              "type": "uint256[2]"
            },
            {
              "internalType": "address payable[2]",
              "name": "to",
              "type": "address[2]"
            }
          ],
          "internalType": "struct Balance",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50611263806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80638052474d1161005b5780638052474d146100bd5780638de8b77e146100c55780638ef98a7e146100cd57806394184ba9146100ed5761007d565b80630528aa1c14610082578063206162be146100a05780633722aff9146100b5575b600080fd5b61008a61010d565b6040516100979190610d6e565b60405180910390f35b6100a861015c565b6040516100979190611060565b61008a610368565b61008a6103a1565b61008a6103c5565b6100e06100db3660046109fc565b6103e1565b6040516100979190610ff6565b6101006100fb366004610993565b6104ca565b6040516100979190610d45565b60606101176107b0565b604080516041808252608082019092529060208201818036833750505081526040516101479082906020016110f0565b60405160208183030381529060405291505090565b6101646107c3565b6040518060a00160405280306001600160a01b0316638052474d6040518163ffffffff1660e01b815260040160006040518083038186803b1580156101a857600080fd5b505afa1580156101bc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101e49190810190610a92565b8152602001306001600160a01b03168152602001306001600160a01b0316638de8b77e6040518163ffffffff1660e01b815260040160006040518083038186803b15801561023157600080fd5b505afa158015610245573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261026d9190810190610a92565b8152602001306001600160a01b0316633722aff96040518163ffffffff1660e01b815260040160006040518083038186803b1580156102ab57600080fd5b505afa1580156102bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102e79190810190610a92565b8152602001306001600160a01b0316630528aa1c6040518163ffffffff1660e01b815260040160006040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103619190810190610a92565b9052905090565b6040518060400160405280601f81526020017f7475706c6528627974657320726573706f6e6465725369676e6174757265290081525081565b60405180604001604052806008815260200167576974686472617760c01b81525081565b6040518060c00160405280608f815260200161119f608f913981565b6103e96107fb565b6103f1610820565b6103fd85870187610c02565b90506104076107b0565b61041384860186610b97565b905061041d6107fb565b610429898b018b610ac5565b60408051604180825260808201909252919250606091906020820181803683370190505090508080519060200120836000015180519060200120141561046e576104bc565b825160408501516060860151610485929091610608565b6104aa5760405162461bcd60e51b81526004016104a190610fbf565b60405180910390fd5b60a08401518251602001528151600090525b509998505050505050505050565b60006104d4610820565b6104e083850185610c02565b90506104ea6107fb565b6104f686880188610ac5565b8051602001519091501561051c5760405162461bcd60e51b81526004016104a190610f1f565b60208201516001600160a01b031615801590610544575060408201516001600160a01b031615155b6105605760405162461bcd60e51b81526004016104a190610df6565b60608201516105815760405162461bcd60e51b81526004016104a190610f62565b60808201516105a25760405162461bcd60e51b81526004016104a190610f90565b80515160a083015111156105c85760405162461bcd60e51b81526004016104a190610ea6565b8151602083015160608401516105df929091610608565b6105fb5760405162461bcd60e51b81526004016104a190610e6f565b5060019695505050505050565b6000816001600160a01b031661061e8585610630565b6001600160a01b031614949350505050565b60008061063c84610652565b90506106488184610682565b9150505b92915050565b6000816040516020016106659190610d14565b604051602081830303815290604052805190602001209050919050565b600081516041146106a55760405162461bcd60e51b81526004016104a190610dbf565b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156106f75760405162461bcd60e51b81526004016104a190610e2d565b8060ff16601b1415801561070f57508060ff16601c14155b1561072c5760405162461bcd60e51b81526004016104a190610edd565b6000600187838686604051600081526020016040526040516107519493929190610d50565b6020604051602081039080840390855afa158015610773573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166107a65760405162461bcd60e51b81526004016104a190610d88565b9695505050505050565b6040518060200160405280606081525090565b6040518060a001604052806060815260200160006001600160a01b031681526020016060815260200160608152602001606081525090565b604051806040016040528061080e610883565b815260200161081b610883565b905290565b6040518061010001604052806060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008019168152602001600081526020016000815260200160006001600160a01b03168152602001606081525090565b60405180604001604052806002906020820280368337509192915050565b803561064c81611186565b60008083601f8401126108bd578182fd5b50813567ffffffffffffffff8111156108d4578182fd5b6020830191508360208285010111156108ec57600080fd5b9250929050565b600082601f830112610903578081fd5b813561091661091182611132565b61110b565b915080825283602082850101111561092d57600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112610956578081fd5b815161096461091182611132565b915080825283602082850101111561097b57600080fd5b61098c816020840160208601611156565b5092915050565b600080600080604085870312156109a8578384fd5b843567ffffffffffffffff808211156109bf578586fd5b6109cb888389016108ac565b909650945060208701359150808211156109e3578384fd5b506109f0878288016108ac565b95989497509550505050565b60008060008060008060608789031215610a14578182fd5b863567ffffffffffffffff80821115610a2b578384fd5b610a378a838b016108ac565b90985096506020890135915080821115610a4f578384fd5b610a5b8a838b016108ac565b90965094506040890135915080821115610a73578384fd5b50610a8089828a016108ac565b979a9699509497509295939492505050565b600060208284031215610aa3578081fd5b815167ffffffffffffffff811115610ab9578182fd5b61064884828501610946565b600060808284031215610ad6578081fd5b610ae0604061110b565b83601f840112610aee578182fd5b610af8604061110b565b80846040860187811115610b0a578586fd5b855b6002811015610b2b578235855260209485019490920191600101610b0c565b5082855287605f880112610b3d578586fd5b610b47604061110b565b9350839250905060808601871015610b5d578485fd5b845b6002811015610b88578135610b7381611186565b84526020938401939190910190600101610b5f565b50506020830152509392505050565b600060208284031215610ba8578081fd5b813567ffffffffffffffff80821115610bbf578283fd5b9083019060208286031215610bd2578283fd5b610bdc602061110b565b823582811115610bea578485fd5b610bf6878286016108f3565b82525095945050505050565b600060208284031215610c13578081fd5b813567ffffffffffffffff80821115610c2a578283fd5b8184019150610100808387031215610c40578384fd5b610c498161110b565b9050823582811115610c59578485fd5b610c65878286016108f3565b825250610c7586602085016108a1565b6020820152610c8786604085016108a1565b6040820152606083013560608201526080830135608082015260a083013560a0820152610cb78660c085016108a1565b60c082015260e083013582811115610ccd578485fd5b610cd9878286016108f3565b60e08301525095945050505050565b60008151808452610d00816020860160208601611156565b601f01601f19169290920160200192915050565b7f16566563746f72205369676e6564204d6573736167653a0a33320000000000008152601a810191909152603a0190565b901515815260200190565b93845260ff9290921660208401526040830152606082015260800190565b600060208252610d816020830184610ce8565b9392505050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b6020808252601f908201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604082015260600190565b60208082526017908201527f57697468647261773a20454d5054595f5349474e455253000000000000000000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b6020808252601f908201527f57697468647261773a20494e56414c49445f494e49544941544f525f53494700604082015260600190565b6020808252601e908201527f57697468647261773a20494e53554646494349454e545f42414c414e43450000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526023908201527f57697468647261773a204e4f4e5a45524f5f524543495049454e545f42414c416040820152624e434560e81b606082015260800190565b60208082526014908201527357697468647261773a20454d5054595f4441544160601b604082015260600190565b60208082526015908201527457697468647261773a20454d5054595f4e4f4e434560581b604082015260600190565b6020808252601f908201527f57697468647261773a20494e56414c49445f524553504f4e4445525f53494700604082015260600190565b815160808201908260005b6002811015611020578251825260209283019290910190600101611001565b5050506020808401516040840160005b60028110156110565782516001600160a01b031682529183019190830190600101611030565b5050505092915050565b600060208252825160a0602084015261107c60c0840182610ce8565b905060018060a01b0360208501511660408401526040840151601f19808584030160608601526110ac8383610ce8565b925060608601519150808584030160808601526110c98383610ce8565b925060808601519150808584030160a0860152506110e78282610ce8565b95945050505050565b60006020825282516020808401526106486040840182610ce8565b60405181810167ffffffffffffffff8111828210171561112a57600080fd5b604052919050565b600067ffffffffffffffff821115611148578081fd5b50601f01601f191660200190565b60005b83811015611171578181015183820152602001611159565b83811115611180576000848401525b50505050565b6001600160a01b038116811461119b57600080fd5b5056fe7475706c6528627974657320696e69746961746f725369676e61747572652c206164647265737320696e69746961746f722c206164647265737320726573706f6e6465722c206279746573333220646174612c2075696e74323536206e6f6e63652c2075696e74323536206665652c20616464726573732063616c6c546f2c2062797465732063616c6c4461746129a2646970667358221220e6c29ec66c4575ed5816330cc0372206a95865e0e0b591d5a21001f4a374293764736f6c63430007010033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80638052474d1161005b5780638052474d146100bd5780638de8b77e146100c55780638ef98a7e146100cd57806394184ba9146100ed5761007d565b80630528aa1c14610082578063206162be146100a05780633722aff9146100b5575b600080fd5b61008a61010d565b6040516100979190610d6e565b60405180910390f35b6100a861015c565b6040516100979190611060565b61008a610368565b61008a6103a1565b61008a6103c5565b6100e06100db3660046109fc565b6103e1565b6040516100979190610ff6565b6101006100fb366004610993565b6104ca565b6040516100979190610d45565b60606101176107b0565b604080516041808252608082019092529060208201818036833750505081526040516101479082906020016110f0565b60405160208183030381529060405291505090565b6101646107c3565b6040518060a00160405280306001600160a01b0316638052474d6040518163ffffffff1660e01b815260040160006040518083038186803b1580156101a857600080fd5b505afa1580156101bc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101e49190810190610a92565b8152602001306001600160a01b03168152602001306001600160a01b0316638de8b77e6040518163ffffffff1660e01b815260040160006040518083038186803b15801561023157600080fd5b505afa158015610245573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261026d9190810190610a92565b8152602001306001600160a01b0316633722aff96040518163ffffffff1660e01b815260040160006040518083038186803b1580156102ab57600080fd5b505afa1580156102bf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102e79190810190610a92565b8152602001306001600160a01b0316630528aa1c6040518163ffffffff1660e01b815260040160006040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103619190810190610a92565b9052905090565b6040518060400160405280601f81526020017f7475706c6528627974657320726573706f6e6465725369676e6174757265290081525081565b60405180604001604052806008815260200167576974686472617760c01b81525081565b6040518060c00160405280608f815260200161119f608f913981565b6103e96107fb565b6103f1610820565b6103fd85870187610c02565b90506104076107b0565b61041384860186610b97565b905061041d6107fb565b610429898b018b610ac5565b60408051604180825260808201909252919250606091906020820181803683370190505090508080519060200120836000015180519060200120141561046e576104bc565b825160408501516060860151610485929091610608565b6104aa5760405162461bcd60e51b81526004016104a190610fbf565b60405180910390fd5b60a08401518251602001528151600090525b509998505050505050505050565b60006104d4610820565b6104e083850185610c02565b90506104ea6107fb565b6104f686880188610ac5565b8051602001519091501561051c5760405162461bcd60e51b81526004016104a190610f1f565b60208201516001600160a01b031615801590610544575060408201516001600160a01b031615155b6105605760405162461bcd60e51b81526004016104a190610df6565b60608201516105815760405162461bcd60e51b81526004016104a190610f62565b60808201516105a25760405162461bcd60e51b81526004016104a190610f90565b80515160a083015111156105c85760405162461bcd60e51b81526004016104a190610ea6565b8151602083015160608401516105df929091610608565b6105fb5760405162461bcd60e51b81526004016104a190610e6f565b5060019695505050505050565b6000816001600160a01b031661061e8585610630565b6001600160a01b031614949350505050565b60008061063c84610652565b90506106488184610682565b9150505b92915050565b6000816040516020016106659190610d14565b604051602081830303815290604052805190602001209050919050565b600081516041146106a55760405162461bcd60e51b81526004016104a190610dbf565b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156106f75760405162461bcd60e51b81526004016104a190610e2d565b8060ff16601b1415801561070f57508060ff16601c14155b1561072c5760405162461bcd60e51b81526004016104a190610edd565b6000600187838686604051600081526020016040526040516107519493929190610d50565b6020604051602081039080840390855afa158015610773573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166107a65760405162461bcd60e51b81526004016104a190610d88565b9695505050505050565b6040518060200160405280606081525090565b6040518060a001604052806060815260200160006001600160a01b031681526020016060815260200160608152602001606081525090565b604051806040016040528061080e610883565b815260200161081b610883565b905290565b6040518061010001604052806060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008019168152602001600081526020016000815260200160006001600160a01b03168152602001606081525090565b60405180604001604052806002906020820280368337509192915050565b803561064c81611186565b60008083601f8401126108bd578182fd5b50813567ffffffffffffffff8111156108d4578182fd5b6020830191508360208285010111156108ec57600080fd5b9250929050565b600082601f830112610903578081fd5b813561091661091182611132565b61110b565b915080825283602082850101111561092d57600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112610956578081fd5b815161096461091182611132565b915080825283602082850101111561097b57600080fd5b61098c816020840160208601611156565b5092915050565b600080600080604085870312156109a8578384fd5b843567ffffffffffffffff808211156109bf578586fd5b6109cb888389016108ac565b909650945060208701359150808211156109e3578384fd5b506109f0878288016108ac565b95989497509550505050565b60008060008060008060608789031215610a14578182fd5b863567ffffffffffffffff80821115610a2b578384fd5b610a378a838b016108ac565b90985096506020890135915080821115610a4f578384fd5b610a5b8a838b016108ac565b90965094506040890135915080821115610a73578384fd5b50610a8089828a016108ac565b979a9699509497509295939492505050565b600060208284031215610aa3578081fd5b815167ffffffffffffffff811115610ab9578182fd5b61064884828501610946565b600060808284031215610ad6578081fd5b610ae0604061110b565b83601f840112610aee578182fd5b610af8604061110b565b80846040860187811115610b0a578586fd5b855b6002811015610b2b578235855260209485019490920191600101610b0c565b5082855287605f880112610b3d578586fd5b610b47604061110b565b9350839250905060808601871015610b5d578485fd5b845b6002811015610b88578135610b7381611186565b84526020938401939190910190600101610b5f565b50506020830152509392505050565b600060208284031215610ba8578081fd5b813567ffffffffffffffff80821115610bbf578283fd5b9083019060208286031215610bd2578283fd5b610bdc602061110b565b823582811115610bea578485fd5b610bf6878286016108f3565b82525095945050505050565b600060208284031215610c13578081fd5b813567ffffffffffffffff80821115610c2a578283fd5b8184019150610100808387031215610c40578384fd5b610c498161110b565b9050823582811115610c59578485fd5b610c65878286016108f3565b825250610c7586602085016108a1565b6020820152610c8786604085016108a1565b6040820152606083013560608201526080830135608082015260a083013560a0820152610cb78660c085016108a1565b60c082015260e083013582811115610ccd578485fd5b610cd9878286016108f3565b60e08301525095945050505050565b60008151808452610d00816020860160208601611156565b601f01601f19169290920160200192915050565b7f16566563746f72205369676e6564204d6573736167653a0a33320000000000008152601a810191909152603a0190565b901515815260200190565b93845260ff9290921660208401526040830152606082015260800190565b600060208252610d816020830184610ce8565b9392505050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b6020808252601f908201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604082015260600190565b60208082526017908201527f57697468647261773a20454d5054595f5349474e455253000000000000000000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b6020808252601f908201527f57697468647261773a20494e56414c49445f494e49544941544f525f53494700604082015260600190565b6020808252601e908201527f57697468647261773a20494e53554646494349454e545f42414c414e43450000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526023908201527f57697468647261773a204e4f4e5a45524f5f524543495049454e545f42414c416040820152624e434560e81b606082015260800190565b60208082526014908201527357697468647261773a20454d5054595f4441544160601b604082015260600190565b60208082526015908201527457697468647261773a20454d5054595f4e4f4e434560581b604082015260600190565b6020808252601f908201527f57697468647261773a20494e56414c49445f524553504f4e4445525f53494700604082015260600190565b815160808201908260005b6002811015611020578251825260209283019290910190600101611001565b5050506020808401516040840160005b60028110156110565782516001600160a01b031682529183019190830190600101611030565b5050505092915050565b600060208252825160a0602084015261107c60c0840182610ce8565b905060018060a01b0360208501511660408401526040840151601f19808584030160608601526110ac8383610ce8565b925060608601519150808584030160808601526110c98383610ce8565b925060808601519150808584030160a0860152506110e78282610ce8565b95945050505050565b60006020825282516020808401526106486040840182610ce8565b60405181810167ffffffffffffffff8111828210171561112a57600080fd5b604052919050565b600067ffffffffffffffff821115611148578081fd5b50601f01601f191660200190565b60005b83811015611171578181015183820152602001611159565b83811115611180576000848401525b50505050565b6001600160a01b038116811461119b57600080fd5b5056fe7475706c6528627974657320696e69746961746f725369676e61747572652c206164647265737320696e69746961746f722c206164647265737320726573706f6e6465722c206279746573333220646174612c2075696e74323536206e6f6e63652c2075696e74323536206665652c20616464726573732063616c6c546f2c2062797465732063616c6c4461746129a2646970667358221220e6c29ec66c4575ed5816330cc0372206a95865e0e0b591d5a21001f4a374293764736f6c63430007010033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
