{
  "_format": "hh-sol-artifact-1",
  "contractName": "DepositBox",
  "sourceName": "contracts/cross-chain/deposit-box/DepositBox.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "manager_",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "BOX_ID",
      "outputs": [
        {
          "internalType": "uint32",
          "name": "",
          "type": "uint32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "MANAGER",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "OWNER",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "token",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "approveTo",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "callTo",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "data",
              "type": "bytes"
            }
          ],
          "internalType": "struct ApprovedCall",
          "name": "call",
          "type": "tuple"
        },
        {
          "internalType": "address",
          "name": "nativeRefund",
          "type": "address"
        }
      ],
      "name": "approveAndCall",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "result",
          "type": "bytes"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner_",
          "type": "address"
        },
        {
          "internalType": "uint32",
          "name": "boxId_",
          "type": "uint32"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "withdrawTo",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x60a060405234801561000f575f5ffd5b50604051610ef9380380610ef983398101604081905261002e91610103565b610036610047565b6001600160a01b0316608052610130565b5f54610100900460ff16156100b25760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811614610101575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b5f60208284031215610113575f5ffd5b81516001600160a01b0381168114610129575f5ffd5b9392505050565b608051610da46101555f395f818160ad01528181610173015261028b0152610da45ff3fe608060405260043610610057575f3560e01c8063117803e3146100625780631b2df8501461009c57806328dc8307146100cf578063a817c113146100ef578063c3b35a7e14610126578063c5e4c9f914610147575f5ffd5b3661005e57005b5f5ffd5b34801561006d575f5ffd5b505f54610086906201000090046001600160a01b031681565b60405161009391906109d9565b60405180910390f35b3480156100a7575f5ffd5b506100867f000000000000000000000000000000000000000000000000000000000000000081565b6100e26100dd366004610a74565b610166565b6040516100939190610bd7565b3480156100fa575f5ffd5b505f5461011190600160b01b900463ffffffff1681565b60405163ffffffff9091168152602001610093565b348015610131575f5ffd5b50610145610140366004610be9565b610280565b005b348015610152575f5ffd5b50610145610161366004610c23565b6102d8565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101b95760405162461bcd60e51b81526004016101b090610c60565b60405180910390fd5b82515f906001600160a01b0316156101d1575f6101d7565b83602001515b9050345f81836101e68361041c565b6101f09190610cb5565b6101fa9190610cb5565b9050610212865f01518760400151886020015161042d565b608086015161023a906102258486610cc8565b60608901516001600160a01b03169190610454565b935061024e865f015187604001515f61042d565b5f6102585f61041c565b905081811115610276576102765f876102718585610cb5565b610482565b5050505092915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102c85760405162461bcd60e51b81526004016101b090610c60565b6102d3828483610482565b505050565b5f54610100900460ff16158080156102f657505f54600160ff909116105b8061031657506103053061055a565b15801561031657505f5460ff166001145b6103795760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016101b0565b5f805460ff19166001179055801561039a575f805461ff0019166101001790555b5f805462010000600160d01b031916620100006001600160a01b0386160263ffffffff60b01b191617600160b01b63ffffffff85160217905580156102d3575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b5f6104273083610569565b92915050565b6001600160a01b03831661044057505050565b6102d36001600160a01b03841683836105fc565b606061047a848484604051806060016040528060298152602001610d46602991396106c6565b949350505050565b80158061049757506001600160a01b03821630145b156104a157505050565b6001600160a01b038316610546575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146104f8576040519150601f19603f3d011682016040523d82523d5f602084013e6104fd565b606091505b50509050806105405760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016101b0565b50505050565b6102d36001600160a01b038416838361079d565b6001600160a01b03163b151590565b5f6001600160a01b038216156105e9576040516370a0823160e01b81526001600160a01b038316906370a08231906105a59086906004016109d9565b602060405180830381865afa1580156105c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105e49190610cdb565b6105f5565b826001600160a01b0316315b9392505050565b5f63095ea7b360e01b8383604051602401610618929190610cf2565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905061065684826107bc565b610540576040516001600160a01b03841660248201525f60448201526106bc90859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610858565b6105408482610858565b6060824710156107275760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101b0565b5f5f866001600160a01b031685876040516107429190610d0b565b5f6040518083038185875af1925050503d805f811461077c576040519150601f19603f3d011682016040523d82523d5f602084013e610781565b606091505b50915091506107928783838761092b565b979650505050505050565b6102d38363a9059cbb60e01b8484604051602401610685929190610cf2565b5f5f5f846001600160a01b0316846040516107d79190610d0b565b5f604051808303815f865af19150503d805f8114610810576040519150601f19603f3d011682016040523d82523d5f602084013e610815565b606091505b509150915081801561083f57508051158061083f57508080602001905181019061083f9190610d26565b801561084f575061084f8561055a565b95945050505050565b5f6108ac826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109a19092919063ffffffff16565b905080515f14806108cc5750808060200190518101906108cc9190610d26565b6102d35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101b0565b606083156109975782515f03610990576109448561055a565b6109905760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101b0565b508161047a565b61047a83836109af565b606061047a84845f856106c6565b8151156109bf5781518083602001fd5b8060405162461bcd60e51b81526004016101b09190610bd7565b6001600160a01b0391909116815260200190565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715610a2357610a236109ed565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610a5157610a516109ed565b604052919050565b80356001600160a01b0381168114610a6f575f5ffd5b919050565b5f5f60408385031215610a85575f5ffd5b82356001600160401b03811115610a9a575f5ffd5b830160a08186031215610aab575f5ffd5b610ab3610a01565b610abc82610a59565b815260208281013590820152610ad460408301610a59565b6040820152610ae560608301610a59565b606082015260808201356001600160401b03811115610b02575f5ffd5b80830192505085601f830112610b16575f5ffd5b81356001600160401b03811115610b2f57610b2f6109ed565b610b42601f8201601f1916602001610a29565b818152876020838601011115610b56575f5ffd5b816020850160208301375f6020838301015280608084015250508093505050610b8160208401610a59565b90509250929050565b5f5b83811015610ba4578181015183820152602001610b8c565b50505f910152565b5f8151808452610bc3816020860160208601610b8a565b601f01601f19169290920160200192915050565b602081525f6105f56020830184610bac565b5f5f5f60608486031215610bfb575f5ffd5b610c0484610a59565b9250610c1260208501610a59565b929592945050506040919091013590565b5f5f60408385031215610c34575f5ffd5b610c3d83610a59565b9150602083013563ffffffff81168114610c55575f5ffd5b809150509250929050565b60208082526021908201527f4465706f736974426f783a2063616c6c6572206973206e6f74206d616e6167656040820152603960f91b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561042757610427610ca1565b8082018082111561042757610427610ca1565b5f60208284031215610ceb575f5ffd5b5051919050565b6001600160a01b03929092168252602082015260400190565b5f8251610d1c818460208701610b8a565b9190910192915050565b5f60208284031215610d36575f5ffd5b815180151581146105f5575f5ffdfe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a26469706673582212201a3881a586bdd9e32d3df6fe05c415486b4527602559dd9d08905950c8f3d57864736f6c634300081e0033",
  "deployedBytecode": "0x608060405260043610610057575f3560e01c8063117803e3146100625780631b2df8501461009c57806328dc8307146100cf578063a817c113146100ef578063c3b35a7e14610126578063c5e4c9f914610147575f5ffd5b3661005e57005b5f5ffd5b34801561006d575f5ffd5b505f54610086906201000090046001600160a01b031681565b60405161009391906109d9565b60405180910390f35b3480156100a7575f5ffd5b506100867f000000000000000000000000000000000000000000000000000000000000000081565b6100e26100dd366004610a74565b610166565b6040516100939190610bd7565b3480156100fa575f5ffd5b505f5461011190600160b01b900463ffffffff1681565b60405163ffffffff9091168152602001610093565b348015610131575f5ffd5b50610145610140366004610be9565b610280565b005b348015610152575f5ffd5b50610145610161366004610c23565b6102d8565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101b95760405162461bcd60e51b81526004016101b090610c60565b60405180910390fd5b82515f906001600160a01b0316156101d1575f6101d7565b83602001515b9050345f81836101e68361041c565b6101f09190610cb5565b6101fa9190610cb5565b9050610212865f01518760400151886020015161042d565b608086015161023a906102258486610cc8565b60608901516001600160a01b03169190610454565b935061024e865f015187604001515f61042d565b5f6102585f61041c565b905081811115610276576102765f876102718585610cb5565b610482565b5050505092915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102c85760405162461bcd60e51b81526004016101b090610c60565b6102d3828483610482565b505050565b5f54610100900460ff16158080156102f657505f54600160ff909116105b8061031657506103053061055a565b15801561031657505f5460ff166001145b6103795760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016101b0565b5f805460ff19166001179055801561039a575f805461ff0019166101001790555b5f805462010000600160d01b031916620100006001600160a01b0386160263ffffffff60b01b191617600160b01b63ffffffff85160217905580156102d3575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b5f6104273083610569565b92915050565b6001600160a01b03831661044057505050565b6102d36001600160a01b03841683836105fc565b606061047a848484604051806060016040528060298152602001610d46602991396106c6565b949350505050565b80158061049757506001600160a01b03821630145b156104a157505050565b6001600160a01b038316610546575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146104f8576040519150601f19603f3d011682016040523d82523d5f602084013e6104fd565b606091505b50509050806105405760405162461bcd60e51b815260206004820152600f60248201526e195d1a081cd95b990819985a5b1959608a1b60448201526064016101b0565b50505050565b6102d36001600160a01b038416838361079d565b6001600160a01b03163b151590565b5f6001600160a01b038216156105e9576040516370a0823160e01b81526001600160a01b038316906370a08231906105a59086906004016109d9565b602060405180830381865afa1580156105c0573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105e49190610cdb565b6105f5565b826001600160a01b0316315b9392505050565b5f63095ea7b360e01b8383604051602401610618929190610cf2565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905061065684826107bc565b610540576040516001600160a01b03841660248201525f60448201526106bc90859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610858565b6105408482610858565b6060824710156107275760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101b0565b5f5f866001600160a01b031685876040516107429190610d0b565b5f6040518083038185875af1925050503d805f811461077c576040519150601f19603f3d011682016040523d82523d5f602084013e610781565b606091505b50915091506107928783838761092b565b979650505050505050565b6102d38363a9059cbb60e01b8484604051602401610685929190610cf2565b5f5f5f846001600160a01b0316846040516107d79190610d0b565b5f604051808303815f865af19150503d805f8114610810576040519150601f19603f3d011682016040523d82523d5f602084013e610815565b606091505b509150915081801561083f57508051158061083f57508080602001905181019061083f9190610d26565b801561084f575061084f8561055a565b95945050505050565b5f6108ac826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109a19092919063ffffffff16565b905080515f14806108cc5750808060200190518101906108cc9190610d26565b6102d35760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101b0565b606083156109975782515f03610990576109448561055a565b6109905760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101b0565b508161047a565b61047a83836109af565b606061047a84845f856106c6565b8151156109bf5781518083602001fd5b8060405162461bcd60e51b81526004016101b09190610bd7565b6001600160a01b0391909116815260200190565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715610a2357610a236109ed565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610a5157610a516109ed565b604052919050565b80356001600160a01b0381168114610a6f575f5ffd5b919050565b5f5f60408385031215610a85575f5ffd5b82356001600160401b03811115610a9a575f5ffd5b830160a08186031215610aab575f5ffd5b610ab3610a01565b610abc82610a59565b815260208281013590820152610ad460408301610a59565b6040820152610ae560608301610a59565b606082015260808201356001600160401b03811115610b02575f5ffd5b80830192505085601f830112610b16575f5ffd5b81356001600160401b03811115610b2f57610b2f6109ed565b610b42601f8201601f1916602001610a29565b818152876020838601011115610b56575f5ffd5b816020850160208301375f6020838301015280608084015250508093505050610b8160208401610a59565b90509250929050565b5f5b83811015610ba4578181015183820152602001610b8c565b50505f910152565b5f8151808452610bc3816020860160208601610b8a565b601f01601f19169290920160200192915050565b602081525f6105f56020830184610bac565b5f5f5f60608486031215610bfb575f5ffd5b610c0484610a59565b9250610c1260208501610a59565b929592945050506040919091013590565b5f5f60408385031215610c34575f5ffd5b610c3d83610a59565b9150602083013563ffffffff81168114610c55575f5ffd5b809150509250929050565b60208082526021908201527f4465706f736974426f783a2063616c6c6572206973206e6f74206d616e6167656040820152603960f91b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561042757610427610ca1565b8082018082111561042757610427610ca1565b5f60208284031215610ceb575f5ffd5b5051919050565b6001600160a01b03929092168252602082015260400190565b5f8251610d1c818460208701610b8a565b9190910192915050565b5f60208284031215610d36575f5ffd5b815180151581146105f5575f5ffdfe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a26469706673582212201a3881a586bdd9e32d3df6fe05c415486b4527602559dd9d08905950c8f3d57864736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
