UNPKG

@verified-network/verified-sdk

Version:

An SDK to develop applications on the Verified Network

696 lines 3.02 MB
{ "contractName": "Vault", "abi": [ { "constant": true, "inputs": [ { "name": "", "type": "address" }, { "name": "", "type": "address" }, { "name": "", "type": "uint256" } ], "name": "userSnapshots", "outputs": [ { "name": "timestamp", "type": "uint256" }, { "name": "balance", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "renounceOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [ { "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "isOwner", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "sender", "type": "address" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "creator", "type": "bytes32" }, { "indexed": false, "name": "participant", "type": "bytes32" } ], "name": "NewParticipant", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "creator", "type": "bytes32" }, { "indexed": false, "name": "participant", "type": "bytes32" }, { "indexed": false, "name": "txid", "type": "uint256" } ], "name": "NewTransaction", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "creator", "type": "bytes32" }, { "indexed": false, "name": "participant", "type": "bytes32" }, { "indexed": false, "name": "txid", "type": "uint256" } ], "name": "SignTransaction", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "creator", "type": "bytes32" }, { "indexed": false, "name": "participant", "type": "bytes32" }, { "indexed": false, "name": "confirmation", "type": "bool" } ], "name": "SignResponse", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "platform", "type": "address" }, { "indexed": false, "name": "collection", "type": "uint256" }, { "indexed": false, "name": "timestamp", "type": "uint256" } ], "name": "feecollection", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "total", "type": "uint256" }, { "indexed": false, "name": "count", "type": "uint256" } ], "name": "totalCount", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "name": "fees", "type": "uint256" }, { "indexed": false, "name": "totalCount", "type": "uint256" }, { "indexed": false, "name": "custodyfee", "type": "uint256" } ], "name": "avgBalance", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "constant": false, "inputs": [ { "name": "_nominee", "type": "address" } ], "name": "setDistributor", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_fee", "type": "uint256" } ], "name": "setCustodyFee", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" } ], "name": "createVault", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" }, { "name": "_new", "type": "string" } ], "name": "resetPin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "getVaults", "outputs": [ { "name": "", "type": "bytes32[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" }, { "name": "_transferee", "type": "address" } ], "name": "transferVault", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_pin", "type": "string" } ], "name": "getCreator", "outputs": [ { "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" }, { "name": "_participant", "type": "bytes32" }, { "name": "_shard", "type": "string" } ], "name": "addParticipant", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" }, { "name": "_participant", "type": "bytes32" } ], "name": "removeParticipant", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" }, { "name": "_participant", "type": "bytes32" }, { "name": "_pin", "type": "string" }, { "name": "_confirmation", "type": "bool" } ], "name": "confirmParticipant", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" }, { "name": "_minParticipants", "type": "uint256" } ], "name": "defineQuorum", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" } ], "name": "getQuorum", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" } ], "name": "promptSignatures", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" }, { "name": "_participant", "type": "bytes32" }, { "name": "_tx", "type": "uint256" }, { "name": "_pin", "type": "string" } ], "name": "signTransaction", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" }, { "name": "_participant", "type": "bytes32" }, { "name": "_txid", "type": "uint256" } ], "name": "checkQuorum", "outputs": [ { "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" }, { "name": "_txid", "type": "uint256" } ], "name": "getShards", "outputs": [ { "name": "", "type": "string[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" }, { "name": "token", "type": "address" } ], "name": "snapshotBalance", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_creator", "type": "bytes32" }, { "name": "_id", "type": "string" }, { "name": "token", "type": "address" }, { "name": "fromTime", "type": "uint256" }, { "name": "toTime", "type": "uint256" } ], "name": "calculateAverageBalance", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "name": "_token", "type": "address" } ], "name": "collectCustodyFee", "outputs": [ { "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_participant\",\"type\":\"bytes32\"},{\"name\":\"_tx\",\"type\":\"uint256\"},{\"name\":\"_pin\",\"type\":\"string\"}],\"name\":\"signTransaction\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_fee\",\"type\":\"uint256\"}],\"name\":\"setCustodyFee\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_participant\",\"type\":\"bytes32\"}],\"name\":\"removeParticipant\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"collectCustodyFee\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"userSnapshots\",\"outputs\":[{\"name\":\"timestamp\",\"type\":\"uint256\"},{\"name\":\"balance\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getVaults\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"}],\"name\":\"getQuorum\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_nominee\",\"type\":\"address\"}],\"name\":\"setDistributor\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_pin\",\"type\":\"string\"}],\"name\":\"getCreator\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_participant\",\"type\":\"bytes32\"},{\"name\":\"_txid\",\"type\":\"uint256\"}],\"name\":\"checkQuorum\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_participant\",\"type\":\"bytes32\"},{\"name\":\"_pin\",\"type\":\"string\"},{\"name\":\"_confirmation\",\"type\":\"bool\"}],\"name\":\"confirmParticipant\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_participant\",\"type\":\"bytes32\"},{\"name\":\"_shard\",\"type\":\"string\"}],\"name\":\"addParticipant\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"}],\"name\":\"createVault\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_txid\",\"type\":\"uint256\"}],\"name\":\"getShards\",\"outputs\":[{\"name\":\"\",\"type\":\"string[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"token\",\"type\":\"address\"}],\"name\":\"snapshotBalance\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"token\",\"type\":\"address\"},{\"name\":\"fromTime\",\"type\":\"uint256\"},{\"name\":\"toTime\",\"type\":\"uint256\"}],\"name\":\"calculateAverageBalance\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"}],\"name\":\"promptSignatures\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_transferee\",\"type\":\"address\"}],\"name\":\"transferVault\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_minParticipants\",\"type\":\"uint256\"}],\"name\":\"defineQuorum\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_creator\",\"type\":\"bytes32\"},{\"name\":\"_id\",\"type\":\"string\"},{\"name\":\"_new\",\"type\":\"string\"}],\"name\":\"resetPin\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"creator\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"participant\",\"type\":\"bytes32\"}],\"name\":\"NewParticipant\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"creator\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"participant\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"txid\",\"type\":\"uint256\"}],\"name\":\"NewTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"creator\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"participant\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"txid\",\"type\":\"uint256\"}],\"name\":\"SignTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"creator\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"participant\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"confirmation\",\"type\":\"bool\"}],\"name\":\"SignResponse\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"platform\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"collection\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"feecollection\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"total\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"totalCount\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"fees\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"totalCount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"custodyfee\",\"type\":\"uint256\"}],\"name\":\"avgBalance\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"addParticipant(bytes32,string,bytes32,string)\":{\"params\":{\"_creator\":\"vault creator's username, eg creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_participant\":\"vault participant's username, eg participant@email.com\\r\",\"_shard\":\"the private key shard of the participant\\r\"}},\"calculateAverageBalance(bytes32,string,address,uint256,uint256)\":{\"params\":{\"_creator\":\"vault creator's username, eg creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"fromTime\":\"time to start calculating token balance from\\r\",\"toTime\":\"time to end calculating token balance \\r\",\"token\":\"token address\\r\"}},\"checkQuorum(bytes32,string,bytes32,uint256)\":{\"params\":{\"_creator\":\"vault creator's username, eg creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_participant\":\"vault participant's username, eg participant@email.com\\r\",\"_txid\":\"transaction identifier\\r\"}},\"collectCustodyFee(address)\":{\"params\":{\"_token\":\"vault creator's username, eg creator@email.com\\r\"}},\"confirmParticipant(bytes32,string,bytes32,string,bool)\":{\"params\":{\"_confirmation\":\"true or false\\r\",\"_creator\":\"the vault's creator (eg, creator@email.com)\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_participant\":\"the vault's participant (eg, participant@email.com)\\r\",\"_pin\":\"the PIN number of the participant\\r\"}},\"createVault(bytes32,string)\":{\"params\":{\"_creator\":\"vault creator's username, eg, creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\"}},\"defineQuorum(bytes32,string,uint256)\":{\"params\":{\"_creator\":\"the vault's creator (eg, creator@email.com)\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_minParticipants\":\"the minimum number of co-signers\\r\"}},\"getCreator(bytes32,string)\":{\"params\":{\"_creator\":\"the vault creator (eg, creator@email.com)\\r\"},\"return\":\"the vault creator's unique ID\\r\"},\"getQuorum(bytes32,string)\":{\"params\":{\"_creator\":\"the vault's creator (eg, creator@email.com)\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\"}},\"getShards(bytes32,string,uint256)\":{\"params\":{\"_creator\":\"vault creator's username, eg creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_txid\":\"transaction identifier \\r\"}},\"initialize(address)\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"isOwner()\":{\"details\":\"Returns true if the caller is the current owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"promptSignatures(bytes32,string)\":{\"params\":{\"_creator\":\"the vault's creator (eg, creator@email.com)\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\"}},\"removeParticipant(bytes32,string,bytes32)\":{\"params\":{\"_creator\":\"vault creator's username, eg creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_participant\":\"vault participant's username, eg participant@email.com\\r\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"resetPin(bytes32,string,string)\":{\"params\":{\"_creator\":\"the vault's creator (eg, creator@email.com)\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_new\":\"vault creator's new unique id\\r\"}},\"signTransaction(bytes32,string,bytes32,uint256,string)\":{\"params\":{\"_creator\":\"the vault's creator (eg, creator@email.com)\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_participant\":\"the vault's participant (eg, participant@email.com)\\r\",\"_pin\":\"the PIN number of the signer (participant)\\r\",\"_tx\":\"transaction identifier\\r\"}},\"snapshotBalance(bytes32,string,address)\":{\"params\":{\"_creator\":\"vault creator's username, eg creator@email.com\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"token\":\"token address\\r\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"transferVault(bytes32,string,address)\":{\"params\":{\"_creator\":\"vault to transfer\\r\",\"_id\":\"vault creator's unique id using which it can be reached, eg, its Google/APNS token\\r\",\"_transferee\":\"address of the new vault operator\\r\"}}}},\"userdoc\":{\"methods\":{\"addParticipant(bytes32,string,bytes32,string)\":{\"notice\":\"This function adds a participant to a vault that belongs to its creator\\r\"},\"calculateAverageBalance(bytes32,string,address,uint256,uint256)\":{\"notice\":\"This function calculates the average balance for a user and a token\\r\"},\"checkQuorum(bytes32,string,bytes32,uint256)\":{\"notice\":\"This function lets the creator check if quorum has been achieved for a particular transaction\\r\"},\"collectCustodyFee(address)\":{\"notice\":\"This function gets the shard for a participant\\r\"},\"confirmParticipant(bytes32,string,bytes32,string,bool)\":{\"notice\":\"This function confirms a participant in the vault when the participant sends its private key shard and PIN\\r\"},\"createVault(bytes32,string)\":{\"notice\":\"This function creates a vault for the creator\\r\"},\"defineQuorum(bytes32,string,uint256)\":{\"notice\":\"This function defines the number of participants required to co-sign a transaction\\r\"},\"getCreator(bytes32,string)\":{\"notice\":\"This function returns the vault creator's unique ID (eg, Google/APNS messaging token)\\r\"},\"getQuorum(bytes32,string)\":{\"notice\":\"This function retrieves the number of participants required to co-sign a transaction\\r\"},\"getShards(bytes32,string,uint256)\":{\"notice\":\"This function gets the shard for a participant\\r\"},\"getVaults()\":{\"notice\":\"This function returns list of vault creators\\r\"},\"promptSignatures(bytes32,string)\":{\"notice\":\"This function prompts participants to co-sign a transaction on the vault (ie, the creator's address secured by the quorum of participants)\\r\"},\"removeParticipant(bytes32,string,bytes32)\":{\"notice\":\"This function removes a participant in a vault that belongs to its creator\\r\"},\"resetPin(bytes32,string,string)\":{\"notice\":\"This function resets the vault owner's unique id\\r\"},\"signTransaction(bytes32,string,bytes32,uint256,string)\":{\"notice\":\"This function lets a participant co-sign a transaction\\r\"},\"snapshotBalance(bytes32,string,address)\":{\"notice\":\"This function takes a snapshot of the token balance for the user\\r\"},\"transferVault(bytes32,string,address)\":{\"notice\":\"This function transfers a vault from the transferor (msg.sender) to transferee\\r\"}}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Vault.sol\":\"Vault\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-ethereum-package/contracts/GSN/Context.sol\":{\"keccak256\":\"0x3491510fa4862af1a43f6c860d9cf7392240196540cd3c0eea79d374d419c5a1\",\"urls\":[\"bzzr://5cddbf3b74b775a8670757a6b8e108dac17dac20253f35f4c729e9cb6bea4ed3\"]},\"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xd7e8ab76fa35c4d8d35a06a6ed538cadab8b75a1aa00594ced1568b2c0cadde3\",\"urls\":[\"bzzr://b4c855b32d75f2a4969bfbd530b6934b69f12f28584b3746967e1ca64e024bd9\"]},\"@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/ERC20Detailed.sol\":{\"keccak256\":\"0x704e0cb521f0b571096a72266a34d9a2a59a89853b5b271bc97fa307a4cc4dcc\",\"urls\":[\"bzzr://e52d3aae99e2faee616840b10037346e8fe91e72a457784050605cf9e130abb9\"]},\"@openzeppelin/contracts-ethereum-package/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe5bb0f57cff3e299f360052ba50f1ea0fff046df2be070b6943e0e3c3fdad8a9\",\"urls\":[\"bzzr://cf2d583b8dce38d0617fdcd65f2fd9f126fe17b7f683b5a515ea9d2762d8b062\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0x9bfec92e36234ecc99b5d37230acb6cd1f99560233753162204104a4897e8721\",\"urls\":[\"bzzr://f75d88b16fe25a9e19b3512691c496e2bb6d8451bc9a636196c4e17ca9b40201\"]},\"project:/contracts/IVault.sol\":{\"keccak256\":\"0xd1089783090bf846d1937d16fcbc8ecbdb72d750909e3f922b665c7ff27e9d87\",\"urls\":[\"bzzr://89fcd836da883dc7061e4cffabd021a575a2cf35d0df1888a9a0b2d56a0319e0\"]},\"project:/contracts/Vault.sol\":{\"keccak256\":\"0x4676acef8935c2883bce951bb5a051dedfa9a9cb4f6a0e3d1fd42ddb059c5df1\",\"urls\":[\"bzzr://92dd126d873883c6c6f547d73be04f56bc0d12375e213dd3e011e689e1bcebe5\"]},\"project:/contracts/math/FixedPoint.sol\":{\"keccak256\":\"0x5e00c4dc62498b0f400435a2222d8362f19d9f3e60284ea2f38f61a2f64b7007\",\"urls\":[\"bzzr://b18526cc790123f16e970c5a271e71dbafe1479565909febb454dddf4af15a51\"]},\"project:/contracts/math/LogExpMath.sol\":{\"keccak256\":\"0xe8078460aae016460645c05a09602a8021473127853de5e0910138b885b53471\",\"urls\":[\"bzzr://edec9b90a5f598c7fa82fca8c96de4619e95eb3229b8ca3ecc28cc3bed8f204a\"]},\"project:/contracts/math/Math.sol\":{\"keccak256\":\"0x5eb7554e397359fb9978cfcadee54186bb93aa936a8682371238aeecf4a28c9c\",\"urls\":[\"bzzr://69e0df7b3508fe564f053ef0ab1900b96855d59a26b3f74a3bb15e1251e88adf\"]}},\"version\":1}", "bytecode": "0x60806040523480156200001157600080fd5b5062000028336200004060201b62001b3a1760201c565b606680546001600160a01b03191633179055620001cd565b600054610100900460ff1680620000625750620000626200014560201b60201c565b8062000071575060005460ff16155b620000b3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000aa90620001ac565b60405180910390fd5b600054610100900460ff16158015620000df576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3801562000141576000805461ff00191690555b5050565b303b1590565b60006200015a602e83620001c4565b7f436f6e747261637420696e7374616e63652068617320616c726561647920626581527f656e20696e697469616c697a6564000000000000000000000000000000000000602082015260400192915050565b60208082528101620001be816200014b565b92915050565b90815260200190565b61336980620001dd6000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806388a563a7116100de578063bd09fa0e11610097578063dbcc0ef611610071578063dbcc0ef614610342578063e70eedb014610355578063f2fde38b14610368578063f4f331111461037b57610173565b8063bd09fa0e14610309578063c4d66de81461031c578063d29da2a71461032f57610173565b806388a563a7146102935780638c4b3bcd146102a65780638da5cb5b146102b95780638f32d59b146102ce578063b418cd88146102d6578063b73a9929146102f657610173565b80634540dbf4116101305780634540dbf414610212578063715018a61461022557806375619ab51461022d578063771800801461024057806378632fb2146102605780637c52c77a1461028057610173565b806320ffb7fb146101785780632c5e772f1461018d5780633136abd3146101a05780633dbcc3e0146101b3578063424559b8146101dc57806344d00f82146101fd575b600080fd5b61018b6101863660046129d7565b61038e565b005b61018b61019b366004612b08565b610676565b61018b6101ae3660046127ba565b6106ab565b6101c66101c13660046125dc565b6107fd565b6040516101d39190613284565b60405180910390f35b6101ef6101ea366004612602565b610936565b6040516101d3929190613152565b61020561097d565b6040516101d39190613122565b6101c661022036600461266d565b6109df565b61018b610aa8565b61018b61023b3660046125dc565b610b19565b61025361024e36600461266d565b610b6b565b6040516101d391906131a3565b61027361026e36600461295a565b610cbe565b6040516101d39190613144565b61018b61028e3660046128ae565b610f01565b61018b6102a1366004612817565b61107d565b61018b6102b436600461266d565b61128a565b6102c1611314565b6040516101d391906130c3565b610273611323565b6102e96102e43660046127ba565b611349565b6040516101d39190613133565b61018b6103043660046126c2565b61165d565b61018b61031736600461272b565b6117f3565b61018b61032a3660046125dc565b611b3a565b61018b61033d36600461266d565b611c10565b61018b6103503660046126c2565b611e0a565b61018b6103633660046127ba565b611f8f565b61018b6103763660046125dc565b612058565b61018b610389366004612a83565b61208b565b8386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516103d692508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926104089291016130ac565b604051602081830303815290604052805190602001201461044757604051600160e51b62461bcd02815260040161043e90613264565b60405180910390fd5b838360405160200161045a929190613093565b60408051601f19818403018152828252805160209182012060008d8152606d83528381208b825283529290922091926104949291016130ac565b60405160208183030381529060405280519060200120146104b457600080fd5b60005b60008a81526070602052604090205481101561066a5760008a81526070602052604090208054879190839081106104ea57fe5b90600052602060002090600202016000015414156106625760005b60008b815260706020526040902080548390811061051f57fe5b9060005260206000209060020201600101805490508110156106255760008b815260706020526040902080548991908490811061055857fe5b9060005260206000209060020201600101828154811061057457fe5b9060005260206000200154141561058a57610625565b60008b81526070602052604090208054839081106105a457fe5b906000526020600020906002020160010181815481106105c057fe5b90600052602060002001546000141561061d5760008b81526070602052604090208054899190849081106105f057fe5b9060005260206000209060020201600101828154811061060c57fe5b600091825260209091200155610625565b600101610505565b507faff273650e3a4ea06a9841f55dd08ea83018f0c09836f109ccba14823e59de478a888860405161065993929190613188565b60405180910390a15b6001016104b7565b50505050505050505050565b60665433906001600160a01b031681146106a557604051600160e51b62461bcd02815260040161043e906131c4565b50606755565b8383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516106f392508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926107259291016130ac565b604051602081830303815290604052805190602001201461075b57604051600160e51b62461bcd02815260040161043e90613264565b6000868152606c60209081526040808320868452909152902054156107f5576000868152606b60209081526040808320606c835281842087855290925290912054815481106107a657fe5b60009182526020808320909101829055878252606e8152604080832086845290915281206107d39161241b565b6000868152606d6020908152604080832086845290915281206107f59161241b565b505050505050565b6066546000906001600160a01b0316331461082d57604051600160e51b62461bcd02815260040161043e906131d4565b6001600160a01b0382166000908152607260205260409020546108508180612154565b6001600160a01b0380851660008181526072602052604090819020939093556066549251600160e01b63a9059cbb028152909263a9059cbb9261089a929116908590600401613107565b602060405180830381600087803b1580156108b457600080fd5b505af11580156108c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108ec919081019061264f565b50306001600160a01b03167feaad90c8664cdf61d60bd7ba6745a881fd1c38d9f4ff0b373b4365cdeeb0f9e88242604051610928929190613152565b60405180910390a292915050565b6071602052826000526040600020602052816000526040600020818154811061095b57fe5b6000918252602090912060029091020180546001909101549093509150839050565b336000908152606960209081526040918290208054835181840281018401909452808452606093928301828280156109d457602002820191906000526020600020905b8154815260200190600101908083116109c0575b505050505090505b90565b60008383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051610a2992508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a8352929092209192610a5b9291016130ac565b6040516020818303038152906040528051906020012014610a9157604051600160e51b62461bcd02815260040161043e90613264565b50505060009283525050606f602052604090205490565b610ab0611323565b610acf57604051600160e51b62461bcd02815260040161043e906131f4565b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b60665433906001600160a01b03168114610b4857604051600160e51b62461bcd02815260040161043e906131c4565b50606680546001600160a01b0319166001600160a01b0392909216919091179055565b6000838152606b6020526040902054606090610b9c57604051600160e51b62461bcd02815260040161043e90613244565b8282604051602001610baf929190613093565b60408051601f1981840301815282825280516020918201206000888152606d83528381208352929092209192610be69291016130ac565b6040516020818303038152906040528051906020012014610c1c57604051600160e51b62461bcd02815260040161043e90613254565b6000848152606a602090815260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529091830182828015610caf5780601f10610c8457610100808354040283529160200191610caf565b820191906000526020600020905b815481529060010190602001808311610c9257829003601f168201915b505050505090505b9392505050565b60008585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051610d0892508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a8352929092209192610d3a9291016130ac565b6040516020818303038152906040528051906020012014610d7057604051600160e51b62461bcd02815260040161043e90613264565b604051602001610d7f906130b8565b60408051601f19818403018152828252805160209182012060008c8152606d83528381208a82528352929092209192610db99291016130ac565b604051602081830303815290604052805190602001201415610dda57600080fd5b6000805b60008a815260706020526040902054811015610edf5760008a8152607060205260409020805487919083908110610e1157fe5b9060005260206000209060020201600001541415610ed7576000805b60008c8152607060205260409020805484908110610e4757fe5b906000526020600020906002020160010180549050811015610eba5760008c8152607060205260409020805484908110610e7d57fe5b90600052602060002090600202016001018181548110610e9957fe5b9060005260206000200154600014610eb2576001909101905b600101610e2d565b5060008b8152606f60205260409020548110610ed557600192505b505b600101610dde565b508015610ef0576001935050610ef6565b60009350505b505095945050505050565b8386868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051610f4992508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a8352929092209192610f7b9291016130ac565b6040516020818303038152906040528051906020012014610fb157604051600160e51b62461bcd02815260040161043e90613264565b6000898152606b6020526040902054610fc957600080fd5b8215611035576000898152606d602090815260408083208984529091529020610ff390868661245f565b507f5472b7fef042e64eae80068ace4f2e4134b2b13f9f86ac9ae86640bae2b903068987600160405161102893929190613160565b60405180910390a1611072565b7f5472b7fef042e64eae80068ace4f2e4134b2b13f9f86ac9ae86640bae2b903068987600060405161106993929190613160565b60405180910390a15b505050505050505050565b8585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516110c592508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926110f79291016130ac565b604051602081830303815290604052805190602001201461112d57604051600160e51b62461bcd02815260040161043e90613264565b8383604051602001611140929190613093565b60408051601f19818403018152828252805160209182012060008c8152606e83528381208a8252835292909220919261117a9291016130ac565b60405160208183030381529060405280519060200120146111bb576000888152606e6020908152604080832088845290915290206111b990858561245f565b505b6000805b60008a8152606b60205260409020548110156112105760008a8152606b602052604090208054889190839081106111f257fe5b9060005260206000200154141561120857600191505b6001016111bf565b5085891415801561121f575080155b15611072576000898152606b602081815260408084208054606c84528286208c875284528286208190559383526001840181558452922001879055517faa6e23bdac31ae314e8eec6a579fd0418f7b5f0bca74e9ef11e78373cec74dd590611069908b908990613152565b6000838152606b6020526040902054156112a357600080fd5b336000908152606960209081526040808320805460018101825590845282842001869055858352606a90915290206112dc90838361245f565b5050506000818152606b602081815260408084208054606c845282862084529185208290559282526001810183559183529091200155565b6033546001600160a01b031690565b6033546000906001600160a01b031661133a612184565b6001600160a01b031614905090565b60608484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060405161139392508391506020016130a0565b60408051601f1981840301815282825280516020918201206000868152606a83529290922091926113c59291016130ac565b60405160208183030381529060405280519060200120146113fb57604051600160e51b62461bcd02815260040161043e90613264565b60005b60008881526070602052604090205481101561165157600088815260706020526040902080548691908390811061143157fe5b9060005260206000209060020201600001541415611649576000888152606f6020908152604080832054607090925290912080548390811061146f57fe5b90600052602060002090600202016001018054905010611649576000888152607060205260409020805460609190839081106114a757fe5b9060005260206000209060020201600101805490506040519080825280602002602001820160405280156114ef57816020015b60608152602001906001900390816114da5790505b50905060005b60008a815260706020526040902080548490811061150f57fe5b90600052602060002090600202016001018054905081101561163f5760008a8152606e602090815260408083206070909252822080549192918690811061155257fe5b9060005260206000209060020201600101838154811061156e57fe5b906000526020600020015481526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561161b5780601f106115f05761010080835404028352916020019161161b565b820191906000526020600020905b8154815290600101906020018083116115fe57829003601f168201915b505050505082828151811061162c57fe5b60209081029190910101526001016114f5565b5093506116539050565b6001016113fe565b505b5050949350505050565b8383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506040516116a5