{
  "schemaVersion": 1,
  "contractName": "AurionHTLC",
  "sourceName": "AurionHTLC.sol",
  "compiler": {
    "version": "0.8.26+commit.8a97fa7a",
    "url": "https://binaries.soliditylang.org/bin/soljson-v0.8.26+commit.8a97fa7a.js",
    "sha256": "0xdb85e5396f523cc1a53c4c4d742e204f6dcba1a05842623d73be946809e11cd6"
  },
  "settings": {
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "evmVersion": "paris"
  },
  "chainId": 1,
  "deployedAddress": null,
  "audited": false,
  "abi": [
    {
      "inputs": [],
      "name": "ClaimExpired",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidAmount",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidDeadline",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidHashlock",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidPreimage",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidRecipient",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotRecipient",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotSender",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ReentrantCall",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "RefundTooEarly",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "SwapNotOpen",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "TransferFailed",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "preimage",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Claimed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "hashlock",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "expiresAt",
          "type": "uint64"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "nonce",
          "type": "uint256"
        }
      ],
      "name": "Locked",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "Refunded",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "MAX_LOCK_DURATION",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "preimage",
          "type": "bytes32"
        }
      ],
      "name": "claim",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address payable",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "hashlock",
          "type": "bytes32"
        },
        {
          "internalType": "uint64",
          "name": "expiresAt",
          "type": "uint64"
        }
      ],
      "name": "lock",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "nonces",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "refund",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "swaps",
      "outputs": [
        {
          "internalType": "address payable",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "address payable",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "hashlock",
          "type": "bytes32"
        },
        {
          "internalType": "uint64",
          "name": "expiresAt",
          "type": "uint64"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "internalType": "enum AurionHTLC.State",
          "name": "state",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052348015600f57600080fd5b50610a398061001f6000396000f3fe6080604052600436106100555760003560e01c8063473500ff1461005a5780634f1bfc9e146100805780637249fbb6146100975780637ecebe00146100b957806384cc9dfb146100e6578063eb84e7f214610106575b600080fd5b61006d61006836600461084a565b610183565b6040519081526020015b60405180910390f35b34801561008c57600080fd5b5061006d62278d0081565b3480156100a357600080fd5b506100b76100b2366004610899565b61044f565b005b3480156100c557600080fd5b5061006d6100d43660046108b2565b60016020526000908152604090205481565b3480156100f257600080fd5b506100b76101013660046108d6565b6105f1565b34801561011257600080fd5b50610171610121366004610899565b6000602081905290815260409020805460018201546002830154600384015460048501546005909501546001600160a01b03948516959390941693919267ffffffffffffffff9091169160ff1686565b6040516100779695949392919061090e565b60025460009060ff16156101aa576040516306fda65d60e31b815260040160405180910390fd5b6002805460ff191660011790556001600160a01b03841615806101d557506001600160a01b03841630145b156101f357604051634e46966960e11b815260040160405180910390fd5b346000036102145760405163162908e360e11b815260040160405180910390fd5b8261023257604051632e0755ab60e01b815260040160405180910390fd5b428267ffffffffffffffff16111580610260575061025362278d0042610989565b8267ffffffffffffffff16115b1561027e57604051631da7447960e21b815260040160405180910390fd5b3360009081526001602052604081208054908261029a836109a2565b90915550604080514660208201523091810191909152336060820152608081018290526001600160a01b03871660a082015260c0810186905267ffffffffffffffff851660e0820152346101008201529091506101200160408051808303601f19018152828252805160209182012060c0840183523384526001600160a01b038981168386019081528585018a815267ffffffffffffffff8a8116606089019081523460808a01908152600160a08b018181526000898152998a9052999098208a5181549088166001600160a01b03199182161782559551818a01805491909816961695909517909555915160028401559051600380840180549290931667ffffffffffffffff19909216919091179091559151600482015593516005850180549398509093909260ff19169184908111156103d8576103d86108f8565b0217905550506040805186815267ffffffffffffffff8616602082015234818301526060810184905290516001600160a01b0388169250339185917fc6c914be2236b5d609b6fd70ffc78fc66d2ac639528c3cbd03eee0e7eccb91929181900360800190a4506002805460ff191690559392505050565b60025460ff1615610473576040516306fda65d60e31b815260040160405180910390fd5b6002805460ff19166001908117909155600082815260208190526040902090600582015460ff1660038111156104ab576104ab6108f8565b146104c957604051638d393d0b60e01b815260040160405180910390fd5b80546001600160a01b031633146104f35760405163b2c3aa6b60e01b815260040160405180910390fd5b600381015467ffffffffffffffff1642101561052257604051634a01daaf60e11b815260040160405180910390fd5b60058101805460ff19166003179055600481015460405190815282907f1535ab411323bb41ad642ccf14068bbd78818ed38dd9b4421c927cc6eeb07e2d9060200160405180910390a2805460048201546040516000926001600160a01b031691908381818185875af1925050503d80600081146105bb576040519150601f19603f3d011682016040523d82523d6000602084013e6105c0565b606091505b50509050806105e2576040516312171d8360e31b815260040160405180910390fd5b50506002805460ff1916905550565b60025460ff1615610615576040516306fda65d60e31b815260040160405180910390fd5b6002805460ff19166001908117909155600083815260208190526040902090600582015460ff16600381111561064d5761064d6108f8565b1461066b57604051638d393d0b60e01b815260040160405180910390fd5b60018101546001600160a01b031633146106985760405163586d335760e01b815260040160405180910390fd5b600381015467ffffffffffffffff1642106106c6576040516341524ecf60e11b815260040160405180910390fd5b80600201546002836040516020016106e091815260200190565b60408051601f19818403018152908290526106fa916109bb565b602060405180830381855afa158015610717573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061073a91906109ea565b1461075857604051630cb4548160e11b815260040160405180910390fd5b60058101805460ff19166002179055600481015460408051848152602081019290925284917f3a6442fc635a3db966911e0d0b601480eeaec2fa46f06e842dd45c51711fde92910160405180910390a2600181015460048201546040516000926001600160a01b031691908381818185875af1925050503d80600081146107fb576040519150601f19603f3d011682016040523d82523d6000602084013e610800565b606091505b5050905080610822576040516312171d8360e31b815260040160405180910390fd5b50506002805460ff191690555050565b6001600160a01b038116811461084757600080fd5b50565b60008060006060848603121561085f57600080fd5b833561086a81610832565b925060208401359150604084013567ffffffffffffffff8116811461088e57600080fd5b809150509250925092565b6000602082840312156108ab57600080fd5b5035919050565b6000602082840312156108c457600080fd5b81356108cf81610832565b9392505050565b600080604083850312156108e957600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038781168252861660208201526040810185905267ffffffffffffffff841660608201526080810183905260c081016004831061096257634e487b7160e01b600052602160045260246000fd5b8260a0830152979650505050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561099c5761099c610973565b92915050565b6000600182016109b4576109b4610973565b5060010190565b6000825160005b818110156109dc57602081860181015185830152016109c2565b506000920191825250919050565b6000602082840312156109fc57600080fd5b505191905056fea2646970667358221220f88e1fb9033836cc3d51b792534ce0544520a8a559ee8d68d894ef1514b2747a64736f6c634300081a0033",
  "deployedBytecode": "0x6080604052600436106100555760003560e01c8063473500ff1461005a5780634f1bfc9e146100805780637249fbb6146100975780637ecebe00146100b957806384cc9dfb146100e6578063eb84e7f214610106575b600080fd5b61006d61006836600461084a565b610183565b6040519081526020015b60405180910390f35b34801561008c57600080fd5b5061006d62278d0081565b3480156100a357600080fd5b506100b76100b2366004610899565b61044f565b005b3480156100c557600080fd5b5061006d6100d43660046108b2565b60016020526000908152604090205481565b3480156100f257600080fd5b506100b76101013660046108d6565b6105f1565b34801561011257600080fd5b50610171610121366004610899565b6000602081905290815260409020805460018201546002830154600384015460048501546005909501546001600160a01b03948516959390941693919267ffffffffffffffff9091169160ff1686565b6040516100779695949392919061090e565b60025460009060ff16156101aa576040516306fda65d60e31b815260040160405180910390fd5b6002805460ff191660011790556001600160a01b03841615806101d557506001600160a01b03841630145b156101f357604051634e46966960e11b815260040160405180910390fd5b346000036102145760405163162908e360e11b815260040160405180910390fd5b8261023257604051632e0755ab60e01b815260040160405180910390fd5b428267ffffffffffffffff16111580610260575061025362278d0042610989565b8267ffffffffffffffff16115b1561027e57604051631da7447960e21b815260040160405180910390fd5b3360009081526001602052604081208054908261029a836109a2565b90915550604080514660208201523091810191909152336060820152608081018290526001600160a01b03871660a082015260c0810186905267ffffffffffffffff851660e0820152346101008201529091506101200160408051808303601f19018152828252805160209182012060c0840183523384526001600160a01b038981168386019081528585018a815267ffffffffffffffff8a8116606089019081523460808a01908152600160a08b018181526000898152998a9052999098208a5181549088166001600160a01b03199182161782559551818a01805491909816961695909517909555915160028401559051600380840180549290931667ffffffffffffffff19909216919091179091559151600482015593516005850180549398509093909260ff19169184908111156103d8576103d86108f8565b0217905550506040805186815267ffffffffffffffff8616602082015234818301526060810184905290516001600160a01b0388169250339185917fc6c914be2236b5d609b6fd70ffc78fc66d2ac639528c3cbd03eee0e7eccb91929181900360800190a4506002805460ff191690559392505050565b60025460ff1615610473576040516306fda65d60e31b815260040160405180910390fd5b6002805460ff19166001908117909155600082815260208190526040902090600582015460ff1660038111156104ab576104ab6108f8565b146104c957604051638d393d0b60e01b815260040160405180910390fd5b80546001600160a01b031633146104f35760405163b2c3aa6b60e01b815260040160405180910390fd5b600381015467ffffffffffffffff1642101561052257604051634a01daaf60e11b815260040160405180910390fd5b60058101805460ff19166003179055600481015460405190815282907f1535ab411323bb41ad642ccf14068bbd78818ed38dd9b4421c927cc6eeb07e2d9060200160405180910390a2805460048201546040516000926001600160a01b031691908381818185875af1925050503d80600081146105bb576040519150601f19603f3d011682016040523d82523d6000602084013e6105c0565b606091505b50509050806105e2576040516312171d8360e31b815260040160405180910390fd5b50506002805460ff1916905550565b60025460ff1615610615576040516306fda65d60e31b815260040160405180910390fd5b6002805460ff19166001908117909155600083815260208190526040902090600582015460ff16600381111561064d5761064d6108f8565b1461066b57604051638d393d0b60e01b815260040160405180910390fd5b60018101546001600160a01b031633146106985760405163586d335760e01b815260040160405180910390fd5b600381015467ffffffffffffffff1642106106c6576040516341524ecf60e11b815260040160405180910390fd5b80600201546002836040516020016106e091815260200190565b60408051601f19818403018152908290526106fa916109bb565b602060405180830381855afa158015610717573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061073a91906109ea565b1461075857604051630cb4548160e11b815260040160405180910390fd5b60058101805460ff19166002179055600481015460408051848152602081019290925284917f3a6442fc635a3db966911e0d0b601480eeaec2fa46f06e842dd45c51711fde92910160405180910390a2600181015460048201546040516000926001600160a01b031691908381818185875af1925050503d80600081146107fb576040519150601f19603f3d011682016040523d82523d6000602084013e610800565b606091505b5050905080610822576040516312171d8360e31b815260040160405180910390fd5b50506002805460ff191690555050565b6001600160a01b038116811461084757600080fd5b50565b60008060006060848603121561085f57600080fd5b833561086a81610832565b925060208401359150604084013567ffffffffffffffff8116811461088e57600080fd5b809150509250925092565b6000602082840312156108ab57600080fd5b5035919050565b6000602082840312156108c457600080fd5b81356108cf81610832565b9392505050565b600080604083850312156108e957600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b6001600160a01b038781168252861660208201526040810185905267ffffffffffffffff841660608201526080810183905260c081016004831061096257634e487b7160e01b600052602160045260246000fd5b8260a0830152979650505050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561099c5761099c610973565b92915050565b6000600182016109b4576109b4610973565b5060010190565b6000825160005b818110156109dc57602081860181015185830152016109c2565b506000920191825250919050565b6000602082840312156109fc57600080fd5b505191905056fea2646970667358221220f88e1fb9033836cc3d51b792534ce0544520a8a559ee8d68d894ef1514b2747a64736f6c634300081a0033",
  "methodIdentifiers": {
    "MAX_LOCK_DURATION()": "4f1bfc9e",
    "claim(bytes32,bytes32)": "84cc9dfb",
    "lock(address,bytes32,uint64)": "473500ff",
    "nonces(address)": "7ecebe00",
    "refund(bytes32)": "7249fbb6",
    "swaps(bytes32)": "eb84e7f2"
  },
  "sourceSha256": "5301244714f49bab7e5860a5b68c191d57d0bce295ee4f2f7b4a2e372a3f2f22"
}
