{
  "contractName": "Storage",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_shifterContract",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "shifterContract",
          "type": "address"
        }
      ],
      "name": "ShifterContract",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "depositor",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "encryptedNote",
          "type": "bytes"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "passwordHash",
          "type": "bytes32"
        }
      ],
      "name": "Store",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "notes",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_shifterContract",
          "type": "address"
        }
      ],
      "name": "addShifter",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_depositor",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "_encryptedNote",
          "type": "bytes"
        },
        {
          "internalType": "bytes32",
          "name": "_passwordHash",
          "type": "bytes32"
        }
      ],
      "name": "store",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_shifter",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_depositor",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_passwordHash",
          "type": "bytes32"
        }
      ],
      "name": "getLatestDeposit",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "result",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_shifter",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_depositor",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_passwordHash",
          "type": "bytes32"
        }
      ],
      "name": "getDeposits",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "result",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_shifter",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_depositor",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_passwordHash",
          "type": "bytes32"
        }
      ],
      "name": "getDepositsLength",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_shifter",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_depositor",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_passwordHash",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_index",
          "type": "uint256"
        }
      ],
      "name": "getDepositByIndex",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "result",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "getShifterCount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "count",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "index",
          "type": "uint256"
        }
      ],
      "name": "getShifterAtIndex",
      "outputs": [
        {
          "internalType": "address",
          "name": "shifter",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_shifterContract",
          "type": "address"
        }
      ],
      "name": "isShifter",
      "outputs": [
        {
          "internalType": "bool",
          "name": "isShifter",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "getAllShifters",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "shifters",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    }
  ]
}