{ "contractName": "Whitelist", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_user", "type": "address" } ], "name": "AgreementSigned", "type": "event" }, { "anonymous": false, "inputs": [], "name": "ExtensionInitialised", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "authority", "type": "address" } ], "name": "LogSetAuthority", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" } ], "name": "LogSetOwner", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_user", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "UserApproved", "type": "event" }, { "inputs": [], "name": "authority", "outputs": [ { "internalType": "contract DSAuthority", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "_sig", "type": "bytes4" } ], "name": "getCapabilityRoles", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getColony", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDeprecated", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract DSAuthority", "name": "authority_", "type": "address" } ], "name": "setAuthority", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ], "name": "setOwner", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "identifier", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "version", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_colony", "type": "address" } ], "name": "install", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "finishUpgrade", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_deprecated", "type": "bool" } ], "name": "deprecate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "uninstall", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_useApprovals", "type": "bool" }, { "internalType": "string", "name": "_agreementHash", "type": "string" } ], "name": "initialise", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" }, { "internalType": "bool", "name": "_status", "type": "bool" } ], "name": "approveUsers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_agreementHash", "type": "string" } ], "name": "signAgreement", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "isApproved", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getUseApprovals", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getAgreementHash", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "getApproval", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "getSignature", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ], "devdoc": { "kind": "dev", "methods": { "approveUsers(address[],bool)": { "params": { "_status": "The whitelist status to set", "_users": "An array of user addresses" } }, "getApproval(address)": { "params": { "_user": "The address of the user" } }, "getSignature(address)": { "params": { "_user": "The address of the user" } }, "initialise(bool,string)": { "params": { "_agreementHash": "An agreement hash (such as an IPFS URI)", "_useApprovals": "Whether or not to require administrative approval" } }, "install(address)": { "params": { "_colony": "The colony in which the extension holds permissions" } }, "isApproved(address)": { "params": { "_user": "The address of the user" } }, "signAgreement(string)": { "params": { "_agreementHash": "The agreement hash being signed" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "approveUsers(address[],bool)": { "notice": "Sets user statuses in the whitelist" }, "deprecate(bool)": { "notice": "Called when deprecating (or undeprecating) the extension" }, "finishUpgrade()": { "notice": "Called when upgrading the extension" }, "getAgreementHash()": { "notice": "Get the agreementHash" }, "getApproval(address)": { "notice": "Get the user's approval status" }, "getSignature(address)": { "notice": "Get the user's signature status" }, "getUseApprovals()": { "notice": "Get the useApprovals boolean" }, "identifier()": { "notice": "Returns the identifier of the extension" }, "initialise(bool,string)": { "notice": "Initialise the extension" }, "install(address)": { "notice": "Configures the extension" }, "isApproved(address)": { "notice": "Get the user's overall whitelist status" }, "signAgreement(string)": { "notice": "The user's signature on the agreement" }, "uninstall()": { "notice": "Called when uninstalling the extension" }, "version()": { "notice": "Returns the version of the extension" } }, "version": 1 } }