{
  "schemaVersion": 1,
  "contractName": "CloudhavenVault",
  "version": 1,
  "chainId": 4663,
  "adminWallet": "0x42d26aCe692E42838A38A7D05ebbE2739A382AF7",
  "compiler": {
    "version": "0.8.26",
    "sha256": "0ff016aef2396b12d1fc65429d8ea6cf53c2ee4b041bb8925644615ee1c30ab9",
    "settings": {
      "optimizer": {
        "enabled": true,
        "runs": 200
      },
      "viaIR": true,
      "evmVersion": "cancun",
      "metadata": {
        "bytecodeHash": "ipfs"
      },
      "outputSelection": {
        "*": {
          "*": [
            "abi",
            "evm.bytecode",
            "evm.deployedBytecode",
            "evm.methodIdentifiers",
            "metadata"
          ]
        }
      }
    }
  },
  "sourceSha256": {
    "src/CloudhavenVault.sol": "aa7e31d30b8e8ce87f2ca2ff9b53f3eac1a5762971b56df069b2f25d41d265ae",
    "@openzeppelin/contracts/utils/ReentrancyGuard.sol": "32fbb1c908ec1b4de85cc1bb10091aebd5816ffe80dfdd5ca5e084fbea67a462"
  },
  "scope": "Self-wallet ETH deposit and withdrawal only. No trading, earnings or public payments.",
  "administratorPowers": "Identity only; no control over deposits or withdrawals.",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "administrator",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "InsufficientBalance",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidAdministrator",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ReentrancyGuardReentrantCall",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "TransferFailed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "UseDeposit",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ZeroAmount",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "wallet",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "balance",
          "type": "uint256"
        }
      ],
      "name": "Deposited",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "wallet",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "balance",
          "type": "uint256"
        }
      ],
      "name": "Withdrawn",
      "type": "event"
    },
    {
      "stateMutability": "payable",
      "type": "fallback"
    },
    {
      "inputs": [],
      "name": "adminWallet",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "wallet",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "weiAmount",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "deposit",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalLiability",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "withdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "selectors": {
    "adminWallet()": "36b19cd7",
    "balanceOf(address)": "70a08231",
    "deposit()": "d0e30db0",
    "totalLiability()": "0fc29349",
    "withdraw(uint256)": "2e1a7d4d"
  },
  "creationBytecode": "0x60a034607e57601f6103ee38819003918201601f19168301916001600160401b03831184841017608257808492602094604052833981010312607e57516001600160a01b038116808203607e5760015f5515606f5760805260405161035790816100978239608051816101610152f35b63126b7e4b60e31b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610034575b503615610025576354327fab60e01b5f5260045ffd5b6354327fab60e01b5f5260045ffd5b5f3560e01c9081630fc29349146102bb575080632e1a7d4d1461019057806336b19cd71461014c57806370a08231146101105763d0e30db014610077575f61000f565b5f36600319011261010c5761008a610303565b34156100fd57335f52600160205260405f206100a73482546102f6565b90556100b5346002546102f6565b600255335f52600160205260405f20546040519034825260208201527f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca60403392a260015f55005b631f2a200560e01b5f5260045ffd5b5f80fd5b3461010c57602036600319011261010c576004356001600160a01b0381169081900361010c575f526001602052602060405f2054604051908152f35b3461010c575f36600319011261010c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461010c57602036600319011261010c576004356101ac610303565b80156100fd57335f52600160205260405f20548082116102ac576101d082826102d5565b335f52600160205260405f20556101e9826002546102d5565b6002555f80808085335af13d156102a7573d67ffffffffffffffff81116102935760405190601f8101601f19908116603f0116820167ffffffffffffffff8111838210176102935760405281525f60203d92013e5b15610284578161024d916102d5565b60405191825260208201527f92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc660403392a260015f55005b6312171d8360e31b5f5260045ffd5b634e487b7160e01b5f52604160045260245ffd5b61023e565b631e9acf1760e31b5f5260045ffd5b3461010c575f36600319011261010c576020906002548152f35b919082039182116102e257565b634e487b7160e01b5f52601160045260245ffd5b919082018092116102e257565b60025f54146103125760025f55565b633ee5aeb560e01b5f5260045ffdfea26469706673582212202a9030560dce692505dbbdd04c8eb6cef06d0f22778291574f956940f5763aa864736f6c634300081a0033",
  "constructorArguments": "0x00000000000000000000000042d26ace692e42838a38a7d05ebbe2739a382af7",
  "deploymentData": "0x60a034607e57601f6103ee38819003918201601f19168301916001600160401b03831184841017608257808492602094604052833981010312607e57516001600160a01b038116808203607e5760015f5515606f5760805260405161035790816100978239608051816101610152f35b63126b7e4b60e31b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610034575b503615610025576354327fab60e01b5f5260045ffd5b6354327fab60e01b5f5260045ffd5b5f3560e01c9081630fc29349146102bb575080632e1a7d4d1461019057806336b19cd71461014c57806370a08231146101105763d0e30db014610077575f61000f565b5f36600319011261010c5761008a610303565b34156100fd57335f52600160205260405f206100a73482546102f6565b90556100b5346002546102f6565b600255335f52600160205260405f20546040519034825260208201527f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca60403392a260015f55005b631f2a200560e01b5f5260045ffd5b5f80fd5b3461010c57602036600319011261010c576004356001600160a01b0381169081900361010c575f526001602052602060405f2054604051908152f35b3461010c575f36600319011261010c576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461010c57602036600319011261010c576004356101ac610303565b80156100fd57335f52600160205260405f20548082116102ac576101d082826102d5565b335f52600160205260405f20556101e9826002546102d5565b6002555f80808085335af13d156102a7573d67ffffffffffffffff81116102935760405190601f8101601f19908116603f0116820167ffffffffffffffff8111838210176102935760405281525f60203d92013e5b15610284578161024d916102d5565b60405191825260208201527f92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc660403392a260015f55005b6312171d8360e31b5f5260045ffd5b634e487b7160e01b5f52604160045260245ffd5b61023e565b631e9acf1760e31b5f5260045ffd5b3461010c575f36600319011261010c576020906002548152f35b919082039182116102e257565b634e487b7160e01b5f52601160045260245ffd5b919082018092116102e257565b60025f54146103125760025f55565b633ee5aeb560e01b5f5260045ffdfea26469706673582212202a9030560dce692505dbbdd04c8eb6cef06d0f22778291574f956940f5763aa864736f6c634300081a003300000000000000000000000042d26ace692e42838a38a7d05ebbe2739a382af7",
  "expectedRuntimeCode": "0x6080806040526004361015610034575b503615610025576354327fab60e01b5f5260045ffd5b6354327fab60e01b5f5260045ffd5b5f3560e01c9081630fc29349146102bb575080632e1a7d4d1461019057806336b19cd71461014c57806370a08231146101105763d0e30db014610077575f61000f565b5f36600319011261010c5761008a610303565b34156100fd57335f52600160205260405f206100a73482546102f6565b90556100b5346002546102f6565b600255335f52600160205260405f20546040519034825260208201527f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca60403392a260015f55005b631f2a200560e01b5f5260045ffd5b5f80fd5b3461010c57602036600319011261010c576004356001600160a01b0381169081900361010c575f526001602052602060405f2054604051908152f35b3461010c575f36600319011261010c576040517f00000000000000000000000042d26ace692e42838a38a7d05ebbe2739a382af76001600160a01b03168152602090f35b3461010c57602036600319011261010c576004356101ac610303565b80156100fd57335f52600160205260405f20548082116102ac576101d082826102d5565b335f52600160205260405f20556101e9826002546102d5565b6002555f80808085335af13d156102a7573d67ffffffffffffffff81116102935760405190601f8101601f19908116603f0116820167ffffffffffffffff8111838210176102935760405281525f60203d92013e5b15610284578161024d916102d5565b60405191825260208201527f92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc660403392a260015f55005b6312171d8360e31b5f5260045ffd5b634e487b7160e01b5f52604160045260245ffd5b61023e565b631e9acf1760e31b5f5260045ffd5b3461010c575f36600319011261010c576020906002548152f35b919082039182116102e257565b634e487b7160e01b5f52601160045260245ffd5b919082018092116102e257565b60025f54146103125760025f55565b633ee5aeb560e01b5f5260045ffdfea26469706673582212202a9030560dce692505dbbdd04c8eb6cef06d0f22778291574f956940f5763aa864736f6c634300081a0033",
  "creationSha256": "96331947ba0b7060eb380d47e945cc6221ec56911fcd8d3bc9284069a44fa644",
  "runtimeSha256": "49b15603a76995f5f749ad6f961f27aa8b7017ae5c62c9aee6a08357e661c4cc"
}
