{ "contractName": "IColony", "abi": [ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "bytes32", "name": "txHash", "type": "bytes32" }, { "indexed": false, "internalType": "string", "name": "metadata", "type": "string" } ], "name": "Annotation", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "address[]", "name": "users", "type": "address[]" }, { "indexed": false, "internalType": "int256[]", "name": "amounts", "type": "int256[]" } ], "name": "ColonyBootstrapped", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "payoutRemainder", "type": "uint256" } ], "name": "ColonyFundsClaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "fromPot", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "toPot", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" } ], "name": "ColonyFundsMovedBetweenFundingPots", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "address", "name": "colonyNetwork", "type": "address" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" } ], "name": "ColonyInitialised", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "string", "name": "metadata", "type": "string" } ], "name": "ColonyMetadata", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "rewardInverse", "type": "uint256" } ], "name": "ColonyRewardInverseSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "domainId", "type": "uint256" }, { "indexed": true, "internalType": "uint8", "name": "role", "type": "uint8" }, { "indexed": false, "internalType": "bool", "name": "setTo", "type": "bool" } ], "name": "ColonyRoleSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "oldVersion", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newVersion", "type": "uint256" } ], "name": "ColonyUpgraded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "domainId", "type": "uint256" } ], "name": "DomainAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "domainId", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "metadata", "type": "string" } ], "name": "DomainMetadata", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "expenditureId", "type": "uint256" } ], "name": "ExpenditureAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "expenditureId", "type": "uint256" } ], "name": "ExpenditureCancelled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "expenditureId", "type": "uint256" } ], "name": "ExpenditureFinalized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "expenditureId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "slot", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "ExpenditurePayoutSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "expenditureId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "slot", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "recipient", "type": "address" } ], "name": "ExpenditureRecipientSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "expenditureId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "slot", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "skillId", "type": "uint256" } ], "name": "ExpenditureSkillSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "expenditureId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "owner", "type": "address" } ], "name": "ExpenditureTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "fundingPotId", "type": "uint256" } ], "name": "FundingPotAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "paymentId", "type": "uint256" } ], "name": "PaymentAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "paymentId", "type": "uint256" } ], "name": "PaymentFinalized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "paymentId", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "PaymentPayoutSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "paymentId", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "recipient", "type": "address" } ], "name": "PaymentRecipientSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "paymentId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "skillId", "type": "uint256" } ], "name": "PaymentSkillSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "fundingPotId", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "PayoutClaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" } ], "name": "RecoveryModeEntered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" } ], "name": "RecoveryModeExitApproved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" } ], "name": "RecoveryModeExited", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "setTo", "type": "bool" } ], "name": "RecoveryRoleSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "slot", "type": "uint256" }, { "indexed": false, "internalType": "bytes32", "name": "fromValue", "type": "bytes32" }, { "indexed": false, "internalType": "bytes32", "name": "toValue", "type": "bytes32" } ], "name": "RecoveryStorageSlotSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "rewardPayoutId", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "rewardRemainder", "type": "uint256" } ], "name": "RewardPayoutClaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "rewardPayoutId", "type": "uint256" } ], "name": "RewardPayoutCycleEnded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "rewardPayoutId", "type": "uint256" } ], "name": "RewardPayoutCycleStarted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "taskId", "type": "uint256" } ], "name": "TaskAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "taskId", "type": "uint256" }, { "indexed": false, "internalType": "bytes32", "name": "specificationHash", "type": "bytes32" } ], "name": "TaskBriefSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "taskId", "type": "uint256" } ], "name": "TaskCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address[]", "name": "reviewerAddresses", "type": "address[]" } ], "name": "TaskChangedViaSignatures", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "taskId", "type": "uint256" } ], "name": "TaskCompleted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "taskId", "type": "uint256" }, { "indexed": false, "internalType": "bytes32", "name": "deliverableHash", "type": "bytes32" } ], "name": "TaskDeliverableSubmitted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "taskId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "dueDate", "type": "uint256" } ], "name": "TaskDueDateSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "taskId", "type": "uint256" } ], "name": "TaskFinalized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "taskId", "type": "uint256" }, { "indexed": false, "internalType": "enum ColonyDataTypes.TaskRole", "name": "role", "type": "uint8" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TaskPayoutSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "taskId", "type": "uint256" }, { "indexed": false, "internalType": "enum ColonyDataTypes.TaskRole", "name": "role", "type": "uint8" }, { "indexed": true, "internalType": "address", "name": "user", "type": "address" } ], "name": "TaskRoleUserSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "taskId", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "skillId", "type": "uint256" } ], "name": "TaskSkillSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "taskId", "type": "uint256" }, { "indexed": false, "internalType": "enum ColonyDataTypes.TaskRole", "name": "role", "type": "uint8" }, { "indexed": false, "internalType": "uint8", "name": "rating", "type": "uint8" } ], "name": "TaskWorkRatingRevealed", "type": "event" }, { "anonymous": false, "inputs": [], "name": "TokenUnlocked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TokensBurned", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "agent", "type": "address" }, { "indexed": false, "internalType": "address", "name": "who", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TokensMinted", "type": "event" }, { "inputs": [], "name": "approveExitRecovery", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "name": "checkNotAdditionalProtectedVariable", "outputs": [], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enterRecoveryMode", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "exitRecoveryMode", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "isInRecoveryMode", "outputs": [ { "internalType": "bool", "name": "inRecoveryMode", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "numRecoveryRoles", "outputs": [ { "internalType": "uint64", "name": "numRoles", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "removeRecoveryRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "setRecoveryRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" }, { "internalType": "bytes32", "name": "_value", "type": "bytes32" } ], "name": "setStorageSlotRecovery", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "authority", "outputs": [ { "internalType": "address", "name": "colonyAuthority", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "colonyOwner", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "version", "outputs": [ { "internalType": "uint256", "name": "colonyVersion", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newVersion", "type": "uint256" } ], "name": "upgrade", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "finishUpgrade", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getColonyNetwork", "outputs": [ { "internalType": "address", "name": "colonyNetwork", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getToken", "outputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "bytes", "name": "_action", "type": "bytes" } ], "name": "makeArbitraryTransaction", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_txHash", "type": "bytes32" }, { "internalType": "string", "name": "_metadata", "type": "string" } ], "name": "annotateTransaction", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "bool", "name": "_setTo", "type": "bool" } ], "name": "setRootRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "bool", "name": "_setTo", "type": "bool" } ], "name": "setArbitrationRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "bool", "name": "_setTo", "type": "bool" } ], "name": "setArchitectureRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "bool", "name": "_setTo", "type": "bool" } ], "name": "setFundingRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "bool", "name": "_setTo", "type": "bool" } ], "name": "setAdministrationRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "bytes32", "name": "_roles", "type": "bytes32" } ], "name": "setUserRoles", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "enum ColonyDataTypes.ColonyRole", "name": "_role", "type": "uint8" } ], "name": "hasUserRole", "outputs": [ { "internalType": "bool", "name": "hasRole", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "enum ColonyDataTypes.ColonyRole", "name": "_role", "type": "uint8" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_childDomainId", "type": "uint256" } ], "name": "hasInheritedUserRole", "outputs": [ { "internalType": "bool", "name": "hasRole", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_childDomainId", "type": "uint256" } ], "name": "userCanSetRoles", "outputs": [ { "internalType": "bool", "name": "canSet", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_domain", "type": "uint256" } ], "name": "getUserRoles", "outputs": [ { "internalType": "bytes32", "name": "roles", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "_sig", "type": "bytes4" } ], "name": "getCapabilityRoles", "outputs": [ { "internalType": "bytes32", "name": "roles", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "int256", "name": "_amount", "type": "int256" } ], "name": "emitDomainReputationReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_skillId", "type": "uint256" }, { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "int256", "name": "_amount", "type": "int256" } ], "name": "emitSkillReputationReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "int256", "name": "_amount", "type": "int256" } ], "name": "emitDomainReputationPenalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_skillId", "type": "uint256" }, { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "int256", "name": "_amount", "type": "int256" } ], "name": "emitSkillReputationPenalty", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_colonyNetworkAddress", "type": "address" }, { "internalType": "address", "name": "_token", "type": "address" } ], "name": "initialiseColony", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_metadata", "type": "string" } ], "name": "editColony", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" }, { "internalType": "int256[]", "name": "_amount", "type": "int256[]" } ], "name": "bootstrapColony", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_wad", "type": "uint256" } ], "name": "mintTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_guy", "type": "address" }, { "internalType": "uint256", "name": "_wad", "type": "uint256" } ], "name": "mintTokensFor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "lockToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "lockId", "type": "uint256" } ], "name": "unlockTokenForUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "colonyName", "type": "string" }, { "internalType": "string", "name": "orbitdb", "type": "string" } ], "name": "registerColonyLabel", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "orbitdb", "type": "string" } ], "name": "updateColonyOrbitDB", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "extensionId", "type": "bytes32" }, { "internalType": "uint256", "name": "version", "type": "uint256" } ], "name": "installExtension", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "extensionId", "type": "bytes32" }, { "internalType": "uint256", "name": "newVersion", "type": "uint256" } ], "name": "upgradeExtension", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "extensionId", "type": "bytes32" }, { "internalType": "bool", "name": "deprecated", "type": "bool" } ], "name": "deprecateExtension", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "extensionId", "type": "bytes32" } ], "name": "uninstallExtension", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_parentDomainId", "type": "uint256" } ], "name": "addDomain", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_parentDomainId", "type": "uint256" }, { "internalType": "string", "name": "_metadata", "type": "string" } ], "name": "addDomain", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "string", "name": "_metadata", "type": "string" } ], "name": "editDomain", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "getDomain", "outputs": [ { "components": [ { "internalType": "uint256", "name": "skillId", "type": "uint256" }, { "internalType": "uint256", "name": "fundingPotId", "type": "uint256" } ], "internalType": "struct ColonyDataTypes.Domain", "name": "domain", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDomainCount", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "key", "type": "bytes" }, { "internalType": "bytes", "name": "value", "type": "bytes" }, { "internalType": "uint256", "name": "branchMask", "type": "uint256" }, { "internalType": "bytes32[]", "name": "siblings", "type": "bytes32[]" } ], "name": "verifyReputationProof", "outputs": [ { "internalType": "bool", "name": "isValid", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" } ], "name": "makeExpenditure", "outputs": [ { "internalType": "uint256", "name": "expenditureId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address", "name": "_newOwner", "type": "address" } ], "name": "transferExpenditure", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address", "name": "_newOwner", "type": "address" } ], "name": "transferExpenditureViaArbitration", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "cancelExpenditure", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "finalizeExpenditure", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_slot", "type": "uint256" }, { "internalType": "address payable", "name": "_recipient", "type": "address" } ], "name": "setExpenditureRecipient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_slot", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setExpenditurePayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_slot", "type": "uint256" }, { "internalType": "uint256", "name": "_skillId", "type": "uint256" } ], "name": "setExpenditureSkill", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_slot", "type": "uint256" }, { "internalType": "int256", "name": "_payoutModifier", "type": "int256" } ], "name": "setExpenditurePayoutModifier", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_slot", "type": "uint256" }, { "internalType": "uint256", "name": "_claimDelay", "type": "uint256" } ], "name": "setExpenditureClaimDelay", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_storageSlot", "type": "uint256" }, { "internalType": "bool[]", "name": "_mask", "type": "bool[]" }, { "internalType": "bytes32[]", "name": "_keys", "type": "bytes32[]" }, { "internalType": "bytes32", "name": "_value", "type": "bytes32" } ], "name": "setExpenditureState", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_slot", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" } ], "name": "claimExpenditurePayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getExpenditureCount", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "getExpenditure", "outputs": [ { "components": [ { "internalType": "enum ColonyDataTypes.ExpenditureStatus", "name": "status", "type": "uint8" }, { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "fundingPotId", "type": "uint256" }, { "internalType": "uint256", "name": "domainId", "type": "uint256" }, { "internalType": "uint256", "name": "finalizedTimestamp", "type": "uint256" }, { "internalType": "uint256", "name": "globalClaimDelay", "type": "uint256" } ], "internalType": "struct ColonyDataTypes.Expenditure", "name": "expenditure", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "name": "getExpenditureSlot", "outputs": [ { "components": [ { "internalType": "address payable", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "claimDelay", "type": "uint256" }, { "internalType": "int256", "name": "payoutModifier", "type": "int256" }, { "internalType": "uint256[]", "name": "skills", "type": "uint256[]" } ], "internalType": "struct ColonyDataTypes.ExpenditureSlot", "name": "expenditureSlot", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_slot", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" } ], "name": "getExpenditureSlotPayout", "outputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "address payable", "name": "_recipient", "type": "address" }, { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "uint256", "name": "_skillId", "type": "uint256" } ], "name": "addPayment", "outputs": [ { "internalType": "uint256", "name": "paymentId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "finalizePayment", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address payable", "name": "_recipient", "type": "address" } ], "name": "setPaymentRecipient", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_skillId", "type": "uint256" } ], "name": "setPaymentSkill", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setPaymentPayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "getPayment", "outputs": [ { "components": [ { "internalType": "address payable", "name": "recipient", "type": "address" }, { "internalType": "bool", "name": "finalized", "type": "bool" }, { "internalType": "uint256", "name": "fundingPotId", "type": "uint256" }, { "internalType": "uint256", "name": "domainId", "type": "uint256" }, { "internalType": "uint256[]", "name": "skills", "type": "uint256[]" } ], "internalType": "struct ColonyDataTypes.Payment", "name": "payment", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" } ], "name": "claimPayment", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getPaymentCount", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "bytes32", "name": "_specificationHash", "type": "bytes32" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "uint256", "name": "_skillId", "type": "uint256" }, { "internalType": "uint256", "name": "_dueDate", "type": "uint256" } ], "name": "makeTask", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getTaskCount", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "getTaskChangeNonce", "outputs": [ { "internalType": "uint256", "name": "nonce", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint8[]", "name": "_sigV", "type": "uint8[]" }, { "internalType": "bytes32[]", "name": "_sigR", "type": "bytes32[]" }, { "internalType": "bytes32[]", "name": "_sigS", "type": "bytes32[]" }, { "internalType": "uint8[]", "name": "_mode", "type": "uint8[]" }, { "internalType": "uint256", "name": "_value", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "executeTaskChange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8[]", "name": "_sigV", "type": "uint8[]" }, { "internalType": "bytes32[]", "name": "_sigR", "type": "bytes32[]" }, { "internalType": "bytes32[]", "name": "_sigS", "type": "bytes32[]" }, { "internalType": "uint8[]", "name": "_mode", "type": "uint8[]" }, { "internalType": "uint256", "name": "_value", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "executeTaskRoleAssignment", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint8", "name": "_role", "type": "uint8" }, { "internalType": "bytes32", "name": "_ratingSecret", "type": "bytes32" } ], "name": "submitTaskWorkRating", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint8", "name": "_role", "type": "uint8" }, { "internalType": "uint8", "name": "_rating", "type": "uint8" }, { "internalType": "bytes32", "name": "_salt", "type": "bytes32" } ], "name": "revealTaskWorkRating", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_salt", "type": "bytes32" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "generateSecret", "outputs": [ { "internalType": "bytes32", "name": "secret", "type": "bytes32" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "getTaskWorkRatingSecretsInfo", "outputs": [ { "internalType": "uint256", "name": "nSecrets", "type": "uint256" }, { "internalType": "uint256", "name": "lastSubmittedAt", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint8", "name": "_role", "type": "uint8" } ], "name": "getTaskWorkRatingSecret", "outputs": [ { "internalType": "bytes32", "name": "secret", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address payable", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" } ], "name": "setTaskManagerRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address payable", "name": "_user", "type": "address" } ], "name": "setTaskEvaluatorRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address payable", "name": "_user", "type": "address" } ], "name": "setTaskWorkerRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "removeTaskEvaluatorRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "removeTaskWorkerRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_skillId", "type": "uint256" } ], "name": "setTaskSkill", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "bytes32", "name": "_specificationHash", "type": "bytes32" } ], "name": "setTaskBrief", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_dueDate", "type": "uint256" } ], "name": "setTaskDueDate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "bytes32", "name": "_deliverableHash", "type": "bytes32" } ], "name": "submitTaskDeliverable", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "bytes32", "name": "_deliverableHash", "type": "bytes32" }, { "internalType": "bytes32", "name": "_ratingSecret", "type": "bytes32" } ], "name": "submitTaskDeliverableAndRating", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "finalizeTask", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "cancelTask", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "completeTask", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "getTask", "outputs": [ { "internalType": "bytes32", "name": "specificationHash", "type": "bytes32" }, { "internalType": "bytes32", "name": "deliverableHash", "type": "bytes32" }, { "internalType": "enum ColonyDataTypes.TaskStatus", "name": "status", "type": "uint8" }, { "internalType": "uint256", "name": "dueDate", "type": "uint256" }, { "internalType": "uint256", "name": "fundingPotId", "type": "uint256" }, { "internalType": "uint256", "name": "completionTimestamp", "type": "uint256" }, { "internalType": "uint256", "name": "domainId", "type": "uint256" }, { "internalType": "uint256[]", "name": "skillIds", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint8", "name": "_role", "type": "uint8" } ], "name": "getTaskRole", "outputs": [ { "components": [ { "internalType": "address payable", "name": "user", "type": "address" }, { "internalType": "bool", "name": "rateFail", "type": "bool" }, { "internalType": "enum ColonyDataTypes.TaskRatings", "name": "rating", "type": "uint8" } ], "internalType": "struct ColonyDataTypes.Role", "name": "role", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_rewardInverse", "type": "uint256" } ], "name": "setRewardInverse", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getRewardInverse", "outputs": [ { "internalType": "uint256", "name": "rewardInverse", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint8", "name": "_role", "type": "uint8" }, { "internalType": "address", "name": "_token", "type": "address" } ], "name": "getTaskPayout", "outputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setTaskManagerPayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setTaskEvaluatorPayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setTaskWorkerPayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_managerAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_evaluatorAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_workerAmount", "type": "uint256" } ], "name": "setAllTaskPayouts", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint8", "name": "_role", "type": "uint8" }, { "internalType": "address", "name": "_token", "type": "address" } ], "name": "claimTaskPayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "bytes", "name": "key", "type": "bytes" }, { "internalType": "bytes", "name": "value", "type": "bytes" }, { "internalType": "uint256", "name": "branchMask", "type": "uint256" }, { "internalType": "bytes32[]", "name": "siblings", "type": "bytes32[]" } ], "name": "startNextRewardPayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_payoutId", "type": "uint256" }, { "internalType": "uint256[7]", "name": "_squareRoots", "type": "uint256[7]" }, { "internalType": "bytes", "name": "key", "type": "bytes" }, { "internalType": "bytes", "name": "value", "type": "bytes" }, { "internalType": "uint256", "name": "branchMask", "type": "uint256" }, { "internalType": "bytes32[]", "name": "siblings", "type": "bytes32[]" } ], "name": "claimRewardPayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_payoutId", "type": "uint256" } ], "name": "getRewardPayoutInfo", "outputs": [ { "components": [ { "internalType": "bytes32", "name": "reputationState", "type": "bytes32" }, { "internalType": "uint256", "name": "colonyWideReputation", "type": "uint256" }, { "internalType": "uint256", "name": "totalTokens", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "uint256", "name": "blockTimestamp", "type": "uint256" }, { "internalType": "uint256", "name": "amountRemaining", "type": "uint256" }, { "internalType": "bool", "name": "finalized", "type": "bool" } ], "internalType": "struct ColonyDataTypes.RewardPayoutCycle", "name": "rewardPayoutCycle", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_payoutId", "type": "uint256" } ], "name": "finalizeRewardPayout", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "getFundingPot", "outputs": [ { "internalType": "enum ColonyDataTypes.FundingPotAssociatedType", "name": "associatedType", "type": "uint8" }, { "internalType": "uint256", "name": "associatedTypeId", "type": "uint256" }, { "internalType": "uint256", "name": "payoutsWeCannotMake", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getFundingPotCount", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_potId", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" } ], "name": "getFundingPotBalance", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_potId", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" } ], "name": "getFundingPotPayout", "outputs": [ { "internalType": "uint256", "name": "payout", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "uint256", "name": "_fromChildSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_toChildSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_fromPot", "type": "uint256" }, { "internalType": "uint256", "name": "_toPot", "type": "uint256" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" } ], "name": "moveFundsBetweenPots", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_fromChildSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_toChildSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_fromPot", "type": "uint256" }, { "internalType": "uint256", "name": "_toPot", "type": "uint256" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" } ], "name": "moveFundsBetweenPots", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "name": "claimColonyFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "name": "getNonRewardPotsTotal", "outputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_approvee", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "approveStake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "obligateStake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "deobligateStake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permissionDomainId", "type": "uint256" }, { "internalType": "uint256", "name": "_childSkillIndex", "type": "uint256" }, { "internalType": "address", "name": "_obligator", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_recipient", "type": "address" } ], "name": "transferStake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_obligator", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" } ], "name": "getApproval", "outputs": [ { "internalType": "uint256", "name": "approval", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_obligator", "type": "address" }, { "internalType": "uint256", "name": "_domainId", "type": "uint256" } ], "name": "getObligation", "outputs": [ { "internalType": "uint256", "name": "obligation", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_fundingPotId", "type": "uint256" } ], "name": "getDomainFromFundingPot", "outputs": [ { "internalType": "uint256", "name": "domainId", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unlockToken", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "updateApprovalAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "getTokenApproval", "outputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "getTotalTokenApproval", "outputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ], "devdoc": { "kind": "dev", "methods": { "addDomain(uint256,uint256,uint256)": { "details": "Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`.", "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_parentDomainId": "Id of the domain under which the new one will be added", "_permissionDomainId": "The domainId in which I have the permission to take this action" } }, "addDomain(uint256,uint256,uint256,string)": { "details": "Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`.We expect this function to only be used by the dapp", "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_metadata": "Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts.", "_parentDomainId": "Id of the domain under which the new one will be added", "_permissionDomainId": "The domainId in which I have the permission to take this action" } }, "addPayment(uint256,uint256,address,address,uint256,uint256,uint256)": { "params": { "_amount": "Payout amount", "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`)", "_domainId": "The domain where the payment belongs", "_permissionDomainId": "The domainId in which I have the permission to take this action", "_recipient": "Address of the payment recipient", "_skillId": "The skill associated with the payment", "_token": "Address of the token, `0x0` value indicates Ether" }, "returns": { "paymentId": "Identifier of the newly created payment" } }, "annotateTransaction(bytes32,string)": { "params": { "_metadata": "String of metadata for tx", "_txHash": "Hash of transaction being annotated (0x0 for current tx)" } }, "approveStake(address,uint256,uint256)": { "params": { "_amount": "Amount of internal token up to which we are willing to be obligated.", "_approvee": "Address of the account we are willing to let obligate us.", "_domainId": "Domain in which we are willing to be obligated." } }, "authority()": { "returns": { "colonyAuthority": "The `ColonyAuthority` contract address" } }, "bootstrapColony(address[],int256[])": { "details": "Only allowed to be called when `taskCount` is `0` by authorized addresses.", "params": { "_amount": "Amount of reputation/tokens for every address", "_users": "Array of address to bootstrap with reputation" } }, "burnTokens(address,uint256)": { "params": { "amount": "The amount of tokens to burn", "token": "The address of the token to burn" } }, "cancelExpenditure(uint256)": { "params": { "_id": "Expenditure identifier" } }, "cancelTask(uint256)": { "details": "Set the `task.status` property to `1`.", "params": { "_id": "Id of the task" } }, "checkNotAdditionalProtectedVariable(uint256)": { "details": "No return value, but should throw if protected.This is external, but is only expected to be called from ContractRecovery; no need toexpose this to any users.", "params": { "_slot": "The storage slot number to check." } }, "claimColonyFunds(address)": { "params": { "_token": "Address of the token, `0x0` value indicates Ether" } }, "claimExpenditurePayout(uint256,uint256,address)": { "params": { "_id": "Expenditure identifier", "_slot": "Number of the slot", "_token": "Address of the token, `0x0` value indicates Ether" } }, "claimPayment(uint256,address)": { "params": { "_id": "Payment identifier", "_token": "Address of the token, `0x0` value indicates Ether" } }, "claimRewardPayout(uint256,uint256[7],bytes,bytes,uint256,bytes32[])": { "params": { "_payoutId": "Id of the reward payout", "_squareRoots": "Square roots of values used in equation: `_squareRoots[0]` - square root of user reputation, `_squareRoots[1]` - square root of user tokens (deposited in TokenLocking), `_squareRoots[2]` - square root of total reputation, `_squareRoots[3]` - square root of total tokens, `_squareRoots[4]` - square root of numerator (user reputation * user tokens), `_squareRoots[5]` - square root of denominator (total reputation * total tokens), `_squareRoots[6]` - square root of payout amount.", "branchMask": "The branchmask of the proof", "key": "Some Reputation hash tree key", "siblings": "The siblings of the proof", "value": "Reputation value" } }, "claimTaskPayout(uint256,uint8,address)": { "params": { "_id": "Id of the task", "_role": "Id of the role, as defined in TaskRole enum", "_token": "Address of the token, `0x0` value indicates Ether" } }, "completeTask(uint256)": { "params": { "_id": "Id of the task" } }, "deobligateStake(address,uint256,uint256)": { "params": { "_amount": "Amount of internal token we are deobligating.", "_domainId": "Domain in which we are deobligating the user.", "_user": "Address of the account we are deobligating." } }, "deprecateExtension(bytes32,bool)": { "params": { "deprecated": "Whether to deprecate the extension or not", "extensionId": "keccak256 hash of the extension name, used as an indentifier" } }, "editColony(string)": { "params": { "_metadata": "IPFS hash of the metadata" } }, "editDomain(uint256,uint256,uint256,string)": { "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_domainId": "Id of the domain being edited", "_metadata": "Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts.", "_permissionDomainId": "The domainId in which I have the permission to take this action" } }, "emitDomainReputationPenalty(uint256,uint256,uint256,address,int256)": { "params": { "_amount": "The (negative) amount of reputation to lose", "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_domainId": "The domain where the user will lose reputation", "_permissionDomainId": "The domainId in which I hold the Arbitration role", "_user": "The user who will lose reputation" } }, "emitDomainReputationReward(uint256,address,int256)": { "params": { "_amount": "The (positive) amount of reputation to gain", "_domainId": "The domain where the user will gain reputation", "_user": "The user who will gain reputation" } }, "emitSkillReputationPenalty(uint256,address,int256)": { "params": { "_amount": "The (negative) amount of reputation to lose", "_skillId": "The skill where the user will lose reputation", "_user": "The user who will lose reputation" } }, "emitSkillReputationReward(uint256,address,int256)": { "params": { "_amount": "The (positive) amount of reputation to gain", "_skillId": "The skill where the user will gain reputation", "_user": "The user who will gain reputation" } }, "executeTaskChange(uint8[],bytes32[],bytes32[],uint8[],uint256,bytes)": { "details": "The Colony functions which require approval and the task roles to review these are set in `IColony.initialiseColony` at colony creation. Upon successful execution the `taskChangeNonces` entry for the task is incremented.", "params": { "_data": "The transaction data", "_mode": "How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this)", "_sigR": "r output of the ECDSA signature of the transaction", "_sigS": "s output of the ECDSA signature of the transaction", "_sigV": "recovery id", "_value": "The transaction value, i.e. number of wei to be sent when the transaction is executed Currently we only accept 0 value transactions but this is kept as a future option" } }, "executeTaskRoleAssignment(uint8[],bytes32[],bytes32[],uint8[],uint256,bytes)": { "params": { "_data": "The transaction data", "_mode": "How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this)", "_sigR": "r output of the ECDSA signature of the transaction", "_sigS": "s output of the ECDSA signature of the transaction", "_sigV": "recovery id", "_value": "The transaction value, i.e. number of wei to be sent when the transaction is executed Currently we only accept 0 value transactions but this is kept as a future option" } }, "finalizeExpenditure(uint256)": { "params": { "_id": "Expenditure identifier" } }, "finalizePayment(uint256,uint256,uint256)": { "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_id": "Payment identifier", "_permissionDomainId": "The domainId in which I have the permission to take this action" } }, "finalizeRewardPayout(uint256)": { "params": { "_payoutId": "Id of the reward payout" } }, "finalizeTask(uint256)": { "details": "Set the `task.finalized` property to true", "params": { "_id": "Id of the task" } }, "finishUpgrade()": { "details": "Can only be called by the colony itself, and only expected to be called as part of the `upgrade()` call. Required to be external so it can be an external call." }, "generateSecret(bytes32,uint256)": { "params": { "_salt": "Salt value", "_value": "Value to hide" }, "returns": { "secret": "`keccak256` hash of joint _salt and _value" } }, "getApproval(address,address,uint256)": { "params": { "_domainId": "Domain in which we are willing to be obligated.", "_obligator": "Address of the account we are willing to let obligate us.", "_user": "User allowing their tokens to be obligated." }, "returns": { "approval": "The amount the user has approved" } }, "getCapabilityRoles(bytes4)": { "params": { "_sig": "The function signature" }, "returns": { "roles": "bytes32 representation of the authorized roles" } }, "getColonyNetwork()": { "details": "The colonyNetworkAddress we read here is set once, during `initialiseColony`.", "returns": { "colonyNetwork": "The address of Colony Network instance" } }, "getDomain(uint256)": { "params": { "_id": "Id of the domain which details to get" }, "returns": { "domain": "The domain" } }, "getDomainCount()": { "returns": { "count": "The domain count. Min 1 as the root domain is created at the same time as the colony" } }, "getDomainFromFundingPot(uint256)": { "params": { "_fundingPotId": "Id of the funding pot" }, "returns": { "domainId": "Id of the corresponding domain" } }, "getExpenditure(uint256)": { "params": { "_id": "Expenditure identifier" }, "returns": { "expenditure": "The expenditure" } }, "getExpenditureCount()": { "returns": { "count": "The expenditure count" } }, "getExpenditureSlot(uint256,uint256)": { "params": { "_id": "Expenditure identifier", "_slot": "Expenditure slot" }, "returns": { "expenditureSlot": "The expenditure slot" } }, "getExpenditureSlotPayout(uint256,uint256,address)": { "params": { "_id": "Expenditure identifier", "_slot": "Expenditure slot", "_token": "Token address" }, "returns": { "amount": "Amount of the payout for that slot/token." } }, "getFundingPot(uint256)": { "details": "For the reward funding pot (e.g. id: 0) this returns (0, 0, 0).", "params": { "_id": "Id of the pot which details to get" }, "returns": { "associatedType": "The FundingPotAssociatedType value of the current funding pot, e.g. Domain, Task, Payout", "associatedTypeId": "Id of the associated type, e.g. if associatedType = FundingPotAssociatedType.Domain, this refers to the domainId", "payoutsWeCannotMake": "Number of payouts that cannot be completed with the current funding" } }, "getFundingPotBalance(uint256,address)": { "params": { "_potId": "Id of the funding pot", "_token": "Address of the token, `0x0` value indicates Ether" }, "returns": { "balance": "Funding pot supply balance" } }, "getFundingPotCount()": { "returns": { "count": "The funding pots count" } }, "getFundingPotPayout(uint256,address)": { "params": { "_potId": "Id of the funding pot", "_token": "Address of the token, `0x0` value indicates Ether" }, "returns": { "payout": "Funding pot payout amount" } }, "getNonRewardPotsTotal(address)": { "params": { "_token": "Address of the token, `0x0` value indicates Ether" }, "returns": { "amount": "Total amount of tokens in funding pots other than the rewards pot (id 0)" } }, "getObligation(address,address,uint256)": { "params": { "_domainId": "Domain in which we are obligated.", "_obligator": "Address of the account who obligated us.", "_user": "User whose tokens are obligated." }, "returns": { "obligation": "The amount that is currently obligated" } }, "getPayment(uint256)": { "params": { "_id": "Payment identifier" }, "returns": { "payment": "The Payment data structure" } }, "getPaymentCount()": { "returns": { "count": "The payment count" } }, "getRewardInverse()": { "returns": { "rewardInverse": "The inverse of the reward" } }, "getRewardPayoutInfo(uint256)": { "params": { "_payoutId": "Id of the reward payout" }, "returns": { "rewardPayoutCycle": "RewardPayoutCycle, containing propertes: `reputationState` Reputation root hash at the time of creation, `colonyWideReputation` Colony wide reputation in `reputationState`, `totalTokens` Total colony tokens at the time of creation, `amount` Total amount of tokens taken aside for reward payout, `tokenAddress` Token address, `blockTimestamp` Block number at the time of creation." } }, "getTask(uint256)": { "params": { "_id": "Id of the task" }, "returns": { "completionTimestamp": "Task completion timestamp", "deliverableHash": "Task deliverable hash", "domainId": "Task domain id, default is root colony domain with id 1", "dueDate": "Due date", "fundingPotId": "Id of funding pot for task", "skillIds": "Array of global skill ids assigned to task", "specificationHash": "Task brief hash", "status": "TaskStatus property. 0 - Active. 1 - Cancelled. 2 - Finalized" } }, "getTaskChangeNonce(uint256)": { "params": { "_id": "Id of the task" }, "returns": { "nonce": "The current task change nonce value" } }, "getTaskCount()": { "returns": { "count": "The task count" } }, "getTaskPayout(uint256,uint8,address)": { "params": { "_id": "Id of the task", "_role": "Id of the role, as defined in TaskRole enum", "_token": "Address of the token, `0x0` value indicates Ether" }, "returns": { "amount": "Payout amount" } }, "getTaskRole(uint256,uint8)": { "params": { "_id": "Id of the task", "_role": "Id of the role, as defined in TaskRole enum" }, "returns": { "role": "The Role" } }, "getTaskWorkRatingSecret(uint256,uint8)": { "params": { "_id": "Id of the task", "_role": "Id of the role, as defined in TaskRole enum" }, "returns": { "secret": "Rating secret `bytes32` value" } }, "getTaskWorkRatingSecretsInfo(uint256)": { "params": { "_id": "Id of the task" }, "returns": { "lastSubmittedAt": "Timestamp of the last submitted rating secret", "nSecrets": "Number of secrets" } }, "getToken()": { "returns": { "tokenAddress": "Address of the token contract" } }, "getTokenApproval(address,address)": { "params": { "spender": "The account we have approved", "token": "The address of the token which was approved" } }, "getTotalTokenApproval(address)": { "params": { "token": "The address of the token which was approved" } }, "getUserRoles(address,uint256)": { "params": { "_domain": "The domain we want to get roles in", "_user": "The user whose roles we want to get" }, "returns": { "roles": "bytes32 representation of the held roles" } }, "hasInheritedUserRole(address,uint256,uint8,uint256,uint256)": { "params": { "_childDomainId": "The domain where we want to use the role", "_childSkillIndex": "The index that the `_childDomainId` is relative to `_domainId`", "_domainId": "Domain in which the caller has the role", "_role": "The role we want to check for", "_user": "The user whose role we want to check" }, "returns": { "hasRole": "Boolean indicating whether the given user has the given role in domain" } }, "hasUserRole(address,uint256,uint8)": { "params": { "_domainId": "The domain where we want to check for the role", "_role": "The role we want to check for", "_user": "The user whose role we want to check" }, "returns": { "hasRole": "Boolean indicating whether the given user has the given role in domain" } }, "initialiseColony(address,address)": { "details": "Sets the reward inverse to the uint max 2**256 - 1.", "params": { "_colonyNetworkAddress": "Address of the colony network", "_token": "Address of the colony ERC20 Token" } }, "installExtension(bytes32,uint256)": { "params": { "extensionId": "keccak256 hash of the extension name, used as an indentifier", "version": "The new extension version to install" } }, "isInRecoveryMode()": { "returns": { "inRecoveryMode": "Return true if recovery mode is active, false otherwise" } }, "makeArbitraryTransaction(address,bytes)": { "params": { "_action": "Bytes array encoding the function call and arguments", "_to": "Contract to receive the function call (cannot be network or token locking)" }, "returns": { "success": "Boolean indicating whether the transaction succeeded" } }, "makeExpenditure(uint256,uint256,uint256)": { "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`)", "_domainId": "The domain where the expenditure belongs", "_permissionDomainId": "The domainId in which I have the permission to take this action" }, "returns": { "expenditureId": "Identifier of the newly created expenditure" } }, "makeTask(uint256,uint256,bytes32,uint256,uint256,uint256)": { "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_domainId": "The domain where the task belongs", "_dueDate": "The due date of the task, can set to `0` for no-op", "_permissionDomainId": "The domainId in which I have the permission to take this action", "_skillId": "The skill associated with the task, can set to `0` for no-op", "_specificationHash": "Database identifier where the task specification is stored" } }, "mintTokens(uint256)": { "params": { "_wad": "Amount to mint" } }, "mintTokensFor(address,uint256)": { "params": { "_guy": "Recipient of new tokens", "_wad": "Amount to mint" } }, "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,address)": { "params": { "_amount": "Amount of funds", "_fromChildSkillIndex": "The child index in `_permissionDomainId` where we can find the domain for `_fromPotId`", "_fromPot": "Funding pot id providing the funds", "_permissionDomainId": "The domainId in which I have the permission to take this action", "_toChildSkillIndex": "The child index in `_permissionDomainId` where we can find the domain for `_toPotId`", "_toPot": "Funding pot id receiving the funds", "_token": "Address of the token, `0x0` value indicates Ether" } }, "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)": { "params": { "_amount": "Amount of funds", "_childSkillIndex": "The child index in _permissionDomainId where I will be taking this action", "_domainId": "The domain where I am taking this action, pointed to by _permissionDomainId and _childSkillIndex", "_fromChildSkillIndex": "In the array of child skills for the skill associated with the domain pointed to by _permissionDomainId + _childSkillIndex, the index of the skill associated with the domain that contains _fromPot", "_fromPot": "Funding pot id providing the funds", "_permissionDomainId": "The domainId in which I have the permission to take this action", "_toChildSkillIndex": "The same, but for the _toPot which the funds are being moved to", "_toPot": "Funding pot id receiving the funds", "_token": "Address of the token, `0x0` value indicates Ether" } }, "numRecoveryRoles()": { "returns": { "numRoles": "Number of users with the recovery role." } }, "obligateStake(address,uint256,uint256)": { "params": { "_amount": "Amount of internal token we are obligating.", "_domainId": "Domain in which we are obligating the user.", "_user": "Address of the account we are obligating." } }, "owner()": { "details": "Used for testing.", "returns": { "colonyOwner": "Address of the colony owner" } }, "registerColonyLabel(string,string)": { "params": { "colonyName": "The label to register.", "orbitdb": "The path of the orbitDB database associated with the colony name" } }, "removeRecoveryRole(address)": { "params": { "_user": "User we want to remove recovery role from" } }, "removeTaskEvaluatorRole(uint256)": { "params": { "_id": "Id of the task" } }, "removeTaskWorkerRole(uint256)": { "params": { "_id": "Id of the task" } }, "revealTaskWorkRating(uint256,uint8,uint8,bytes32)": { "details": "Compares the `keccak256(_salt, _rating)` output with the previously submitted rating secret and if they match, sets the task role properties `rated` to `true` and `rating` to `_rating`.", "params": { "_id": "Id of the task", "_rating": "0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50)", "_role": "Id of the role, as defined in TaskRole enum", "_salt": "Salt value used to generate the rating secret" } }, "setAdministrationRole(uint256,uint256,address,uint256,bool)": { "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_domainId": "Domain in which we are giving user the role", "_permissionDomainId": "Domain in which the caller has root/architecture role", "_setTo": "The state of the role permission (true assign the permission, false revokes it)", "_user": "User we want to give an admin role to" } }, "setAllTaskPayouts(uint256,address,uint256,uint256,uint256)": { "details": "Can only call if evaluator and worker are unassigned or manager, otherwise need signature.", "params": { "_evaluatorAmount": "Payout amount for evaluator", "_id": "Id of the task", "_managerAmount": "Payout amount for manager", "_token": "Address of the token, `0x0` value indicates Ether", "_workerAmount": "Payout amount for worker" } }, "setArbitrationRole(uint256,uint256,address,uint256,bool)": { "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_domainId": "Domain in which we are giving user the role", "_permissionDomainId": "Domain in which the caller has root role", "_setTo": "The state of the role permission (true assign the permission, false revokes it)", "_user": "User we want to give an arbitration role to" } }, "setArchitectureRole(uint256,uint256,address,uint256,bool)": { "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_domainId": "Domain in which we are giving user the role", "_permissionDomainId": "Domain in which the caller has root/architecture role", "_setTo": "The state of the role permission (true assign the permission, false revokes it)", "_user": "User we want to give an architecture role to" } }, "setExpenditureClaimDelay(uint256,uint256,uint256,uint256,uint256)": { "details": "This is now deprecated and will be removed in a future version", "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`)", "_claimDelay": "Time (in seconds) to delay claiming payout after finalization", "_id": "Expenditure identifier", "_permissionDomainId": "The domainId in which I have the permission to take this action", "_slot": "Number of the slot" } }, "setExpenditurePayout(uint256,uint256,address,uint256)": { "params": { "_amount": "Payout amount", "_id": "Id of the expenditure", "_slot": "Number of the slot", "_token": "Address of the token, `0x0` value indicates Ether" } }, "setExpenditurePayoutModifier(uint256,uint256,uint256,uint256,int256)": { "details": "This is now deprecated and will be removed in a future versionNote that when determining payouts the payoutModifier is incremented by WAD and converted into payoutScalar", "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`)", "_id": "Expenditure identifier", "_payoutModifier": "Modifier to their payout (between -1 and 1, denominated in WADs, 0 means no modification)", "_permissionDomainId": "The domainId in which I have the permission to take this action", "_slot": "Number of the slot" } }, "setExpenditureRecipient(uint256,uint256,address)": { "params": { "_id": "Id of the expenditure", "_recipient": "Address of the recipient", "_slot": "Slot for the recipient address" } }, "setExpenditureSkill(uint256,uint256,uint256)": { "params": { "_id": "Expenditure identifier", "_skillId": "Id of the new skill to set", "_slot": "Number of the slot" } }, "setExpenditureState(uint256,uint256,uint256,uint256,bool[],bytes32[],bytes32)": { "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`)", "_id": "Expenditure identifier", "_keys": "Array of additional keys (for mappings & arrays)", "_mask": "Array of booleans indicated whether a key is a mapping (F) or an array index (T).", "_permissionDomainId": "The domainId in which I have the permission to take this action", "_storageSlot": "Number of the top-level storage slot (25, 26, or 27)", "_value": "Value to set at location" } }, "setFundingRole(uint256,uint256,address,uint256,bool)": { "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_domainId": "Domain in which we are giving user the role", "_permissionDomainId": "Domain in which the caller has root/architecture role", "_setTo": "The state of the role permission (true assign the permission, false revokes it)", "_user": "User we want to give an funding role to" } }, "setPaymentPayout(uint256,uint256,uint256,address,uint256)": { "params": { "_amount": "Payout amount", "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_id": "Payment identifier", "_permissionDomainId": "The domainId in which I have the permission to take this action", "_token": "Address of the token, `0x0` value indicates Ether" } }, "setPaymentRecipient(uint256,uint256,uint256,address)": { "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_id": "Payment identifier", "_permissionDomainId": "The domainId in which I have the permission to take this action", "_recipient": "Address of the payment recipient" } }, "setPaymentSkill(uint256,uint256,uint256,uint256)": { "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_id": "Payment identifier", "_permissionDomainId": "The domainId in which I have the permission to take this action", "_skillId": "Id of the new skill to set" } }, "setRecoveryRole(address)": { "params": { "_user": "User we want to give a recovery role to" } }, "setRewardInverse(uint256)": { "params": { "_rewardInverse": "The inverse of the reward" } }, "setRootRole(address,bool)": { "params": { "_setTo": "The state of the role permission (true assign the permission, false revokes it)", "_user": "User we want to give an root role to" } }, "setStorageSlotRecovery(uint256,bytes32)": { "details": "certain critical variables are protected from editing in this function", "params": { "_slot": "Uint address of storage slot to be updated", "_value": "word of data to be set" } }, "setTaskBrief(uint256,bytes32)": { "params": { "_id": "Id of the task", "_specificationHash": "Unique hash of the task brief in ddb" } }, "setTaskDueDate(uint256,uint256)": { "params": { "_dueDate": "Due date as seconds since unix epoch", "_id": "Id of the task" } }, "setTaskEvaluatorPayout(uint256,address,uint256)": { "params": { "_amount": "Payout amount", "_id": "Id of the task", "_token": "Address of the token, `0x0` value indicates Ether" } }, "setTaskEvaluatorRole(uint256,address)": { "details": "This function can only be called through `executeTaskRoleAssignment`.", "params": { "_id": "Id of the task", "_user": "Address of the user we want to give a evaluator role to" } }, "setTaskManagerPayout(uint256,address,uint256)": { "params": { "_amount": "Payout amount", "_id": "Id of the task", "_token": "Address of the token, `0x0` value indicates Ether" } }, "setTaskManagerRole(uint256,address,uint256,uint256)": { "details": "This function can only be called through `executeTaskRoleAssignment`.", "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_id": "Id of the task", "_permissionDomainId": "The domain ID in which _user has the Administration permission", "_user": "Address of the user we want to give a manager role to" } }, "setTaskSkill(uint256,uint256)": { "details": "Currently we only allow one skill per task although we have provisioned for an array of skills in `Task` struct. Allowed before a task is finalized.", "params": { "_id": "Id of the task", "_skillId": "Id of the skill which has to be a global skill" } }, "setTaskWorkerPayout(uint256,address,uint256)": { "params": { "_amount": "Payout amount", "_id": "Id of the task", "_token": "Address of the token, `0x0` value indicates Ether" } }, "setTaskWorkerRole(uint256,address)": { "details": "This function can only be called through `executeTaskRoleAssignment`.", "params": { "_id": "Id of the task", "_user": "Address of the user we want to give a worker role to" } }, "setUserRoles(uint256,uint256,address,uint256,bytes32)": { "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`", "_domainId": "Domain in which we are giving user the role", "_permissionDomainId": "Domain in which the caller has root/architecture role", "_roles": "Byte array representing the desired role setting (1 for on, 0 for off)", "_user": "User we want to give a role to" } }, "startNextRewardPayout(address,bytes,bytes,uint256,bytes32[])": { "params": { "_token": "Address of the token used for reward payout", "branchMask": "The branchmask of the proof", "key": "Some Reputation hash tree key", "siblings": "The siblings of the proof", "value": "Reputation value" } }, "submitTaskDeliverable(uint256,bytes32)": { "details": "Set the `task.deliverableHash` and `task.completionTimestamp` properties.", "params": { "_deliverableHash": "Unique hash of the task deliverable content in ddb", "_id": "Id of the task" } }, "submitTaskDeliverableAndRating(uint256,bytes32,bytes32)": { "details": "Internally call `submitTaskDeliverable` and `submitTaskWorkRating` in sequence.", "params": { "_deliverableHash": "Unique hash of the task deliverable content in ddb", "_id": "Id of the task", "_ratingSecret": "Rating secret for manager" } }, "submitTaskWorkRating(uint256,uint8,bytes32)": { "params": { "_id": "Id of the task", "_ratingSecret": "`keccak256` hash of a salt and 0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50). Can be generated via `IColony.generateSecret` helper function.", "_role": "Id of the role, as defined in TaskRole enum" } }, "transferExpenditure(uint256,address)": { "params": { "_id": "Expenditure identifier", "_newOwner": "New owner of expenditure" } }, "transferExpenditureViaArbitration(uint256,uint256,uint256,address)": { "details": "This is now deprecated and will be removed in a future version", "params": { "_childSkillIndex": "The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`)", "_id": "Expenditure identifier", "_newOwner": "New owner of expenditure", "_permissionDomainId": "The domainId in which I have the permission to take this action" } }, "transferStake(uint256,uint256,address,address,uint256,uint256,address)": { "params": { "_amount": "Amount of internal token we are transferring.", "_childSkillIndex": "The child index in `_permissionDomainId` where we can find `_domainId`.", "_domainId": "Domain in which we are transferring the tokens.", "_obligator": "Address of the account who set the obligation.", "_permissionDomainId": "The domainId in which I have the permission to take this action.", "_recipient": "Recipient of the transferred tokens.", "_user": "Address of the account we are transferring." } }, "uninstallExtension(bytes32)": { "details": "This is a permanent action -- re-installing the extension will deploy a new contractIt is recommended to deprecate an extension before uninstalling to allow active objects to be resolved", "params": { "extensionId": "keccak256 hash of the extension name, used as an indentifier" } }, "unlockTokenForUser(address,uint256)": { "params": { "lockId": "The specific lock to unlock", "user": "The user to unlock" } }, "updateApprovalAmount(address,address)": { "params": { "spender": "The account we have approved", "token": "The address of the token which was approved" } }, "updateColonyOrbitDB(string)": { "params": { "orbitdb": "The path of the orbitDB database to be associated with the colony" } }, "upgrade(uint256)": { "details": "Downgrades are not allowed, i.e. `_newVersion` should be higher than the currect colony version.", "params": { "_newVersion": "The target version for the upgrade" } }, "upgradeExtension(bytes32,uint256)": { "params": { "extensionId": "keccak256 hash of the extension name, used as an indentifier", "newVersion": "The version to upgrade to (must be one larger than the current version)" } }, "userCanSetRoles(address,uint256,uint256,uint256)": { "params": { "_childDomainId": "The domain where we want to edit roles", "_childSkillIndex": "The index that the `_childDomainId` is relative to `_domainId`", "_domainId": "Domain in which the caller has the role (currently Root or Architecture)", "_user": "The user whose permissions we want to check" }, "returns": { "canSet": "Boolean indicating whether the given user is allowed to edit roles in the target domain." } }, "verifyReputationProof(bytes,bytes,uint256,bytes32[])": { "details": "For more detail about branchMask and siblings, examine the PatriciaTree implementation. While external, likely only to be used by the Colony contracts, as it checks that the user is proving their own reputation in the current colony. The `verifyProof` function can be used to verify any proof, though this function is not currently exposed on the Colony's EtherRouter.", "params": { "branchMask": "The branchmask of the proof", "key": "The key of the element the proof is for.", "siblings": "The siblings of the proof", "value": "The value of the element that the proof is for." }, "returns": { "isValid": "True if the proof is valid, false otherwise." } }, "version()": { "returns": { "colonyVersion": "Version number" } } }, "title": "Colony interface", "version": 1 }, "userdoc": { "events": { "Annotation(address,bytes32,string)": { "notice": "Emit a metadata string for a transaction" }, "ColonyBootstrapped(address,address[],int256[])": { "notice": "Event logged when Colony is initially bootstrapped" }, "ColonyFundsClaimed(address,address,uint256,uint256)": { "notice": "Event logged when colony funds are moved to the top-level domain pot" }, "ColonyFundsMovedBetweenFundingPots(address,uint256,uint256,uint256,address)": { "notice": "Event logged when colony funds, either tokens or ether, has been moved between funding pots" }, "ColonyInitialised(address,address,address)": { "notice": "Event logged when Colony is initialised" }, "ColonyMetadata(address,string)": { "notice": "Event logged when Colony metadata is updated" }, "ColonyRewardInverseSet(address,uint256)": { "notice": "Event logged when the colony reward inverse is set" }, "ColonyRoleSet(address,address,uint256,uint8,bool)": { "notice": "Event logged when a user/domain/role is granted or revoked" }, "ColonyUpgraded(address,uint256,uint256)": { "notice": "Event logged when colony is upgraded" }, "DomainAdded(address,uint256)": { "notice": "Event logged when a new Domain is added" }, "DomainMetadata(address,uint256,string)": { "notice": "Event logged when domain metadata is updated" }, "ExpenditureAdded(address,uint256)": { "notice": "Event logged when a new expenditure is added" }, "ExpenditureCancelled(address,uint256)": { "notice": "Event logged when a expenditure has been cancelled" }, "ExpenditureFinalized(address,uint256)": { "notice": "Event logged when a expenditure has been finalized" }, "ExpenditurePayoutSet(address,uint256,uint256,address,uint256)": { "notice": "Event logged when a expenditure payout changes" }, "ExpenditureRecipientSet(address,uint256,uint256,address)": { "notice": "Event logged when an expenditure's recipient is set" }, "ExpenditureSkillSet(address,uint256,uint256,uint256)": { "notice": "Event logged when a expenditure's skill changes" }, "ExpenditureTransferred(address,uint256,address)": { "notice": "Event logged when a new expenditure is transferred" }, "FundingPotAdded(uint256)": { "notice": "Event logged when a new FundingPot is added" }, "PaymentAdded(address,uint256)": { "notice": "Event logged when a new payment is added" }, "PaymentFinalized(address,uint256)": { "notice": "Event logged when a payment is finalised" }, "PaymentPayoutSet(address,uint256,address,uint256)": { "notice": "Event logged when a payment has its payout set" }, "PaymentRecipientSet(address,uint256,address)": { "notice": "Event logged when a payment has its recipient set" }, "PaymentSkillSet(address,uint256,uint256)": { "notice": "Event logged when a payment has its skill set" }, "PayoutClaimed(address,uint256,address,uint256)": { "notice": "Event logged when a payout is claimed, either from a Task or Payment" }, "RecoveryModeEntered(address)": { "notice": "Event logged when recovery mode is triggered." }, "RecoveryModeExitApproved(address)": { "notice": "Event logged when someone with recovery mode signals they are happy with the state and wish to leave recovery mode" }, "RecoveryModeExited(address)": { "notice": "Event logged when recovery mode is left" }, "RecoveryRoleSet(address,bool)": { "notice": "Event logged when user gets/loses the recovery role." }, "RecoveryStorageSlotSet(address,uint256,bytes32,bytes32)": { "notice": "Event logged when in recovery mode a storage slot is set" }, "RewardPayoutClaimed(uint256,address,uint256,uint256)": { "notice": "Event logged when reward payout is claimed" }, "RewardPayoutCycleEnded(address,uint256)": { "notice": "Event logged when the reward payout cycle has ended" }, "RewardPayoutCycleStarted(address,uint256)": { "notice": "Event logged when a new reward payout cycle has started" }, "TaskAdded(address,uint256)": { "notice": "Event logged when a new task is added" }, "TaskBriefSet(uint256,bytes32)": { "notice": "Event logged when a task's specification hash changes" }, "TaskCanceled(uint256)": { "notice": "Event logged when a task has been canceled" }, "TaskChangedViaSignatures(address[])": { "notice": "Event logged when task data is changed via signed messages by those involved" }, "TaskCompleted(address,uint256)": { "notice": "Event logged when a task has been completed. This is either because the dueDate has passed and the manager closed the task, or the worker has submitted the deliverable. In the latter case, TaskDeliverableSubmitted will also be emitted." }, "TaskDeliverableSubmitted(address,uint256,bytes32)": { "notice": "Event logged when a deliverable has been submitted for a task" }, "TaskDueDateSet(uint256,uint256)": { "notice": "Event logged when a task's due date changes" }, "TaskFinalized(address,uint256)": { "notice": "Event logged when a task has been finalized" }, "TaskPayoutSet(uint256,uint8,address,uint256)": { "notice": "Event logged when a task payout changes" }, "TaskRoleUserSet(uint256,uint8,address)": { "notice": "Event logged when a task's role user changes" }, "TaskSkillSet(uint256,uint256)": { "notice": "Event logged when a task's skill changes" }, "TaskWorkRatingRevealed(address,uint256,uint8,uint8)": { "notice": "Event logged when the rating of a role was revealed" }, "TokenUnlocked()": { "notice": "Event emitted when the colony unlocks its native token through the provided function" }, "TokensBurned(address,address,uint256)": { "notice": "Event logged when the colony burns tokens" }, "TokensMinted(address,address,uint256)": { "notice": "Event logged when tokens are minted" } }, "kind": "user", "methods": { "addDomain(uint256,uint256,uint256)": { "notice": "Add a colony domain, and its respective local skill under skill with id `_parentSkillId`. New funding pot is created and associated with the domain here." }, "addDomain(uint256,uint256,uint256,string)": { "notice": "Add a colony domain, and its respective local skill under skill with id `_parentSkillId`. New funding pot is created and associated with the domain here." }, "addPayment(uint256,uint256,address,address,uint256,uint256,uint256)": { "notice": "Add a new payment in the colony. Secured function to authorised members." }, "annotateTransaction(bytes32,string)": { "notice": "Emit a metadata string for a transaction" }, "approveExitRecovery()": { "notice": "Indicate approval to exit recovery mode. Can only be called by user with recovery role." }, "approveStake(address,uint256,uint256)": { "notice": "Allow the _approvee to obligate some amount of tokens as a stake." }, "authority()": { "notice": "Get the `ColonyAuthority` for the colony." }, "bootstrapColony(address[],int256[])": { "notice": "Allows the colony to bootstrap itself by having initial reputation and token `_amount` assigned to `_users`. This reputation is assigned in the colony-wide domain. Secured function to authorised members." }, "burnTokens(address,uint256)": { "notice": "Burn tokens held by the colony. Can only burn tokens held in the root funding pot." }, "cancelExpenditure(uint256)": { "notice": "Cancels the expenditure and prevents further editing. Can only be called by expenditure owner." }, "cancelTask(uint256)": { "notice": "Cancel a task at any point before it is finalized. Secured function to authorised members. Any funds assigned to its funding pot can be moved back to the domain via `IColony.moveFundsBetweenPots`." }, "checkNotAdditionalProtectedVariable(uint256)": { "notice": "Check whether the supplied slot is a protected variable specific to this contract" }, "claimColonyFunds(address)": { "notice": "Move any funds received by the colony in `_token` denomination to the top-level domain pot, siphoning off a small amount to the reward pot. If called against a colony's own token, no fee is taken." }, "claimExpenditurePayout(uint256,uint256,address)": { "notice": "Claim the payout for an expenditure slot. Here the network receives a fee from each payout." }, "claimPayment(uint256,address)": { "notice": "Claim the payout in `_token` denomination for payment `_id`. Here the network receives its fee from each payout. Same as for tasks, ether fees go straight to the Meta Colony whereas Token fees go to the Network to be auctioned off." }, "claimRewardPayout(uint256,uint256[7],bytes,bytes,uint256,bytes32[])": { "notice": "Claim the reward payout at `_payoutId`. User needs to provide their reputation and colony-wide reputation which will be proven via Merkle proof inside this function. Can only be called if payout is active, i.e if 60 days have not passed from its creation. Can only be called if next in queue." }, "claimTaskPayout(uint256,uint8,address)": { "notice": "Claim the payout in `_token` denomination for work completed in task `_id` by contributor with role `_role`. Allowed only after task is finalized. Here the network receives its fee from each payout. Ether fees go straight to the Meta Colony whereas Token fees go to the Network to be auctioned off." }, "completeTask(uint256)": { "notice": "Mark a task as complete after the due date has passed. This allows the task to be rated and finalized (and funds recovered) even in the presence of a worker who has disappeared. Note that if the due date was not set, then this function will throw." }, "deobligateStake(address,uint256,uint256)": { "notice": "Deobligate the user some amount of tokens, releasing the stake." }, "deprecateExtension(bytes32,bool)": { "notice": "Set the deprecation of an extension in a colony. Secured function to authorised members." }, "editColony(string)": { "notice": "Called to change the metadata associated with a colony. Expected to be a IPFS hash of a JSON blob, but not enforced to any degree by the contracts" }, "editDomain(uint256,uint256,uint256,string)": { "notice": "Add a colony domain, and its respective local skill under skill with id `_parentSkillId`. New funding pot is created and associated with the domain here." }, "emitDomainReputationPenalty(uint256,uint256,uint256,address,int256)": { "notice": "Emit a negative domain reputation update. Available only to Arbitration role holders" }, "emitDomainReputationReward(uint256,address,int256)": { "notice": "Emit a positive domain reputation update. Available only to Root role holders" }, "emitSkillReputationPenalty(uint256,address,int256)": { "notice": "Emit a negative skill reputation update. Available only to Arbitration role holders in the root domain" }, "emitSkillReputationReward(uint256,address,int256)": { "notice": "Emit a positive skill reputation update. Available only to Root role holders" }, "enterRecoveryMode()": { "notice": "Put colony network mining into recovery mode. Can only be called by user with recovery role." }, "executeTaskChange(uint8[],bytes32[],bytes32[],uint8[],uint256,bytes)": { "notice": "Executes a task update transaction `_data` which is approved and signed by two of its roles (e.g. manager and worker) using the detached signatures for these users." }, "executeTaskRoleAssignment(uint8[],bytes32[],bytes32[],uint8[],uint256,bytes)": { "notice": "Executes a task role update transaction `_data` which is approved and signed by two of addresses. depending of which function we are calling. Allowed functions are `setTaskManagerRole`, `setTaskEvaluatorRole` and `setTaskWorkerRole`. Upon successful execution the `taskChangeNonces` entry for the task is incremented." }, "exitRecoveryMode()": { "notice": "Exit recovery mode, can be called by anyone if enough whitelist approvals are given." }, "finalizeExpenditure(uint256)": { "notice": "Finalizes the expenditure and prevents further editing. Can only be called by expenditure owner." }, "finalizePayment(uint256,uint256,uint256)": { "notice": "Finalizes the payment and logs the reputation log updates. Allowed to be called once after payment is fully funded. Secured function to authorised members." }, "finalizeRewardPayout(uint256)": { "notice": "Finalises the reward payout. Allows creation of next reward payouts for token that has been used in `_payoutId`. Can only be called when reward payout cycle is finished i.e when 60 days have passed from its creation." }, "finalizeTask(uint256)": { "notice": "Called after task work rating is complete which closes the task and logs the respective reputation log updates. Allowed to be called once per task. Secured function to authorised members." }, "finishUpgrade()": { "notice": "A function to be called after an upgrade has been done from v2 to v3." }, "generateSecret(bytes32,uint256)": { "notice": "Helper function used to generage consistently the rating secret using salt value `_salt` and value to hide `_value`" }, "getApproval(address,address,uint256)": { "notice": "View an approval to obligate tokens." }, "getCapabilityRoles(bytes4)": { "notice": "Gets the bytes32 representation of the roles authorized to call a function" }, "getColonyNetwork()": { "notice": "Returns the colony network address set on the Colony." }, "getDomain(uint256)": { "notice": "Get a domain by id." }, "getDomainCount()": { "notice": "Get the number of domains in the colony." }, "getDomainFromFundingPot(uint256)": { "notice": "Get the domain corresponding to a funding pot" }, "getExpenditure(uint256)": { "notice": "Returns an existing expenditure." }, "getExpenditureCount()": { "notice": "Get the number of expenditures in the colony." }, "getExpenditureSlot(uint256,uint256)": { "notice": "Returns an existing expenditure slot." }, "getExpenditureSlotPayout(uint256,uint256,address)": { "notice": "Returns an existing expenditure slot's payout for a token." }, "getFundingPot(uint256)": { "notice": "Get the non-mapping properties of a pot by id." }, "getFundingPotBalance(uint256,address)": { "notice": "Get the `_token` balance of pot with id `_potId`." }, "getFundingPotCount()": { "notice": "Get the number of funding pots in the colony." }, "getFundingPotPayout(uint256,address)": { "notice": "Get the assigned `_token` payouts of pot with id `_potId`." }, "getNonRewardPotsTotal(address)": { "notice": "Get the total amount of tokens `_token` minus amount reserved to be paid to the reputation and token holders as rewards." }, "getObligation(address,address,uint256)": { "notice": "View an obligation of tokens." }, "getPayment(uint256)": { "notice": "Returns an exiting payment." }, "getPaymentCount()": { "notice": "Get the number of payments in the colony." }, "getRewardInverse()": { "notice": "Return 1 / the reward to pay out from revenue. e.g. if the fee is 1% (or 0.01), return 100." }, "getRewardPayoutInfo(uint256)": { "notice": "Get useful information about specific reward payout." }, "getTask(uint256)": { "notice": "Get a task with id `_id`" }, "getTaskChangeNonce(uint256)": { "notice": "Starts from 0 and is incremented on every co-reviewed task change via `executeTaskChange` call." }, "getTaskCount()": { "notice": "Get the number of tasks in the colony." }, "getTaskPayout(uint256,uint8,address)": { "notice": "Get payout amount in `_token` denomination for role `_role` in task `_id`." }, "getTaskRole(uint256,uint8)": { "notice": "Get the `Role` properties back for role `_role` in task `_id`." }, "getTaskWorkRatingSecret(uint256,uint8)": { "notice": "Get the rating secret submitted for role `_role` in task `_id`" }, "getTaskWorkRatingSecretsInfo(uint256)": { "notice": "Get the `ColonyStorage.RatingSecrets` information for task `_id`." }, "getToken()": { "notice": "Get the colony token." }, "getTokenApproval(address,address)": { "notice": "Get the current approval amount" }, "getTotalTokenApproval(address)": { "notice": "Get the current total approval amount across all spenders" }, "getUserRoles(address,uint256)": { "notice": "Gets the bytes32 representation of the roles for a user in a given domain" }, "hasInheritedUserRole(address,uint256,uint8,uint256,uint256)": { "notice": "Check whether a given user has a given role for the colony, in a child domain. Calls the function of the same name on the colony's authority contract and an internal inheritence validator function" }, "hasUserRole(address,uint256,uint8)": { "notice": "Check whether a given user has a given role for the colony. Calls the function of the same name on the colony's authority contract." }, "initialiseColony(address,address)": { "notice": "Called once when the colony is created to initialise certain storage slot values." }, "installExtension(bytes32,uint256)": { "notice": "Install an extension to the colony. Secured function to authorised members." }, "isInRecoveryMode()": { "notice": "Is colony network in recovery mode." }, "lockToken()": { "notice": "Lock the colony's token. Can only be called by a network-managed extension." }, "makeArbitraryTransaction(address,bytes)": { "notice": "Execute arbitrary transaction on behalf of the Colony" }, "makeExpenditure(uint256,uint256,uint256)": { "notice": "Add a new expenditure in the colony. Secured function to authorised members." }, "makeTask(uint256,uint256,bytes32,uint256,uint256,uint256)": { "notice": "Make a new task in the colony. Secured function to authorised members." }, "mintTokens(uint256)": { "notice": "Mint `_wad` amount of colony tokens. Secured function to authorised members." }, "mintTokensFor(address,uint256)": { "notice": "Mint `_wad` amount of colony tokens and send to `_guy`. Secured function to authorised members." }, "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,address)": { "notice": "DEPRECATEDMove a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`." }, "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)": { "notice": "Move a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`." }, "numRecoveryRoles()": { "notice": "Return number of recovery roles." }, "obligateStake(address,uint256,uint256)": { "notice": "Obligate the user some amount of tokens as a stake." }, "owner()": { "notice": "Get the colony `owner` address. This should be address(0x0) at all times." }, "registerColonyLabel(string,string)": { "notice": "Register colony's ENS label." }, "removeRecoveryRole(address)": { "notice": "Remove colony recovery role. Can only be called by root role." }, "removeTaskEvaluatorRole(uint256)": { "notice": "Removing evaluator role. Agreed between manager and currently assigned evaluator." }, "removeTaskWorkerRole(uint256)": { "notice": "Removing worker role. Agreed between manager and currently assigned worker." }, "revealTaskWorkRating(uint256,uint8,uint8,bytes32)": { "notice": "Reveal the secret rating submitted in `IColony.submitTaskWorkRating` for task `_id` and task role with id `_role`. Allowed within 5 days period starting which whichever is first from either both rating secrets being submitted (via `IColony.submitTaskWorkRating`) or the 5 day rating period expiring." }, "setAdministrationRole(uint256,uint256,address,uint256,bool)": { "notice": "Set new colony admin role. Can be called by root role or architecture role." }, "setAllTaskPayouts(uint256,address,uint256,uint256,uint256)": { "notice": "Set `_token` payout for all roles in task `_id` to the respective amounts." }, "setArbitrationRole(uint256,uint256,address,uint256,bool)": { "notice": "Set new colony arbitration role. Can be called by root role or architecture role." }, "setArchitectureRole(uint256,uint256,address,uint256,bool)": { "notice": "Set new colony architecture role. Can be called by root role or architecture role." }, "setExpenditureClaimDelay(uint256,uint256,uint256,uint256,uint256)": { "notice": "DEPRECATED Set the claim delay on an expenditure slot. Can only be called by Arbitration role." }, "setExpenditurePayout(uint256,uint256,address,uint256)": { "notice": "Set the token payout on an expenditure slot. Can only be called by expenditure owner." }, "setExpenditurePayoutModifier(uint256,uint256,uint256,uint256,int256)": { "notice": "DEPRECATED Set the payout modifier on an expenditure slot. Can only be called by Arbitration role." }, "setExpenditureRecipient(uint256,uint256,address)": { "notice": "Sets the recipient on an expenditure slot. Can only be called by expenditure owner." }, "setExpenditureSkill(uint256,uint256,uint256)": { "notice": "Sets the skill on an expenditure slot. Can only be called by expenditure owner." }, "setExpenditureState(uint256,uint256,uint256,uint256,bool[],bytes32[],bytes32)": { "notice": "Set arbitrary state on an expenditure slot. Can only be called by Arbitration role." }, "setFundingRole(uint256,uint256,address,uint256,bool)": { "notice": "Set new colony funding role. Can be called by root role or architecture role." }, "setPaymentPayout(uint256,uint256,uint256,address,uint256)": { "notice": "Sets the payout for a given token on an existing payment. Secured function to authorised members." }, "setPaymentRecipient(uint256,uint256,uint256,address)": { "notice": "Sets the recipient on an existing payment. Secured function to authorised members." }, "setPaymentSkill(uint256,uint256,uint256,uint256)": { "notice": "Sets the skill on an existing payment. Secured function to authorised members." }, "setRecoveryRole(address)": { "notice": "Set new colony recovery role. Can be called by root." }, "setRewardInverse(uint256)": { "notice": "Set the reward inverse to pay out from revenue. e.g. if the fee is 1% (or 0.01), set 100." }, "setRootRole(address,bool)": { "notice": "Set new colony root role. Can be called by root role only." }, "setStorageSlotRecovery(uint256,bytes32)": { "notice": "Update value of arbitrary storage variable. Can only be called by user with recovery role." }, "setTaskBrief(uint256,bytes32)": { "notice": "Set the hash for the task brief, aka task work specification, which identifies the task brief content in ddb. Allowed before a task is finalized." }, "setTaskDueDate(uint256,uint256)": { "notice": "Set the due date on task `_id`. Allowed before a task is finalized." }, "setTaskEvaluatorPayout(uint256,address,uint256)": { "notice": "Set `_token` payout for evaluator in task `_id` to `_amount`." }, "setTaskEvaluatorRole(uint256,address)": { "notice": "Assigning evaluator role. Can only be set if there is no one currently assigned to be an evaluator. Manager of the task and user we want to assign role to both need to agree. Managers can assign themselves to this role, if there is no one currently assigned to it." }, "setTaskManagerPayout(uint256,address,uint256)": { "notice": "Set `_token` payout for manager in task `_id` to `_amount`." }, "setTaskManagerRole(uint256,address,uint256,uint256)": { "notice": "Assigning manager role. Current manager and user we want to assign role to both need to agree. User we want to set here also needs to be an admin. Note that the domain proof data comes at the end here to not interfere with the assembly argument unpacking." }, "setTaskSkill(uint256,uint256)": { "notice": "Set the skill for task `_id`." }, "setTaskWorkerPayout(uint256,address,uint256)": { "notice": "Set `_token` payout for worker in task `_id` to `_amount`." }, "setTaskWorkerRole(uint256,address)": { "notice": "Assigning worker role. Can only be set if there is no one currently assigned to be a worker. Manager of the task and user we want to assign role to both need to agree." }, "setUserRoles(uint256,uint256,address,uint256,bytes32)": { "notice": "Set several roles in one transaction. Can be called by root role or architecture role." }, "startNextRewardPayout(address,bytes,bytes,uint256,bytes32[])": { "notice": "Start next reward payout for `_token`. All funds in the reward pot for `_token` will become unavailable.Add a new payment in the colony. Can only be called by users with root permission. All tokens will be locked, and can be unlocked by calling `waiveRewardPayout` or `claimRewardPayout`." }, "submitTaskDeliverable(uint256,bytes32)": { "notice": "Submit the task deliverable, i.e. the output of the work performed for task `_id`. Submission is allowed only to the assigned worker before the task due date. Submissions cannot be overwritten." }, "submitTaskDeliverableAndRating(uint256,bytes32,bytes32)": { "notice": "Submit the task deliverable for Worker and rating for Manager." }, "submitTaskWorkRating(uint256,uint8,bytes32)": { "notice": "Submit a hashed secret of the rating for work in task `_id` which was performed by user with task role id `_role`. Allowed within 5 days period starting which whichever is first from either the deliverable being submitted or the dueDate been reached. Allowed only for evaluator to rate worker and for worker to rate manager performance. Once submitted ratings can not be changed or overwritten." }, "transferExpenditure(uint256,address)": { "notice": "Updates the expenditure owner. Can only be called by expenditure owner." }, "transferExpenditureViaArbitration(uint256,uint256,uint256,address)": { "notice": "DEPRECATED Updates the expenditure owner. Can only be called by Arbitration role." }, "transferStake(uint256,uint256,address,address,uint256,uint256,address)": { "notice": "Transfer some amount of obligated tokens. Can be called by the arbitration role." }, "uninstallExtension(bytes32)": { "notice": "Uninstall an extension from a colony. Secured function to authorised members." }, "unlockToken()": { "notice": "unlock the native colony token, if possible" }, "unlockTokenForUser(address,uint256)": { "notice": "Unlock the colony's token for a user. Can only be called by a network-managed extension." }, "updateApprovalAmount(address,address)": { "notice": "Update the internal bookkeeping around external ERC20 approvals" }, "updateColonyOrbitDB(string)": { "notice": "Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain" }, "upgrade(uint256)": { "notice": "Upgrades a colony to a new Colony contract version `_newVersion`." }, "upgradeExtension(bytes32,uint256)": { "notice": "Upgrade an extension in a colony. Secured function to authorised members." }, "userCanSetRoles(address,uint256,uint256,uint256)": { "notice": "Check whether a given user can modify roles in the target domain `_childDomainId`. Mostly a convenience function to provide a uniform interface for extension contracts validating permissions" }, "verifyReputationProof(bytes,bytes,uint256,bytes32[])": { "notice": "Helper function that can be used by a client to verify the correctness of a patricia proof they have been supplied with." }, "version()": { "notice": "Get the Colony contract version. Starts from 1 and is incremented with every deployed contract change." } }, "notice": "All externally available functions are available here and registered to work with EtherRouter Network contract", "version": 1 } }