From 9aa411f5e3a747e3b221087ed501035322dc4fb1 Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Mon, 28 Nov 2022 19:39:28 +0200 Subject: [PATCH 01/15] Add: artifacts to support Colony V11 contracts --- src/contracts/colony/11/IColony.d.ts | 12648 ++++++++++++++++ src/contracts/colony/11/IColonyNetwork.d.ts | 5406 +++++++ src/contracts/colony/11/MetaTxToken.d.ts | 918 ++ src/contracts/colony/11/TokenERC20.d.ts | 316 + src/contracts/colony/11/TokenLocking.d.ts | 1403 ++ src/contracts/colony/11/TokenSAI.d.ts | 316 + .../11/factories/IColonyNetwork__factory.ts | 2166 +++ .../colony/11/factories/IColony__factory.ts | 5030 ++++++ .../11/factories/MetaTxToken__factory.ts | 712 + .../11/factories/TokenERC20__factory.ts | 240 + .../11/factories/TokenLocking__factory.ts | 1044 ++ .../colony/11/factories/TokenSAI__factory.ts | 240 + src/contracts/colony/11/index.d.ts | 29 + src/versions.ts | 2 + 14 files changed, 30470 insertions(+) create mode 100644 src/contracts/colony/11/IColony.d.ts create mode 100644 src/contracts/colony/11/IColonyNetwork.d.ts create mode 100644 src/contracts/colony/11/MetaTxToken.d.ts create mode 100644 src/contracts/colony/11/TokenERC20.d.ts create mode 100644 src/contracts/colony/11/TokenLocking.d.ts create mode 100644 src/contracts/colony/11/TokenSAI.d.ts create mode 100644 src/contracts/colony/11/factories/IColonyNetwork__factory.ts create mode 100644 src/contracts/colony/11/factories/IColony__factory.ts create mode 100644 src/contracts/colony/11/factories/MetaTxToken__factory.ts create mode 100644 src/contracts/colony/11/factories/TokenERC20__factory.ts create mode 100644 src/contracts/colony/11/factories/TokenLocking__factory.ts create mode 100644 src/contracts/colony/11/factories/TokenSAI__factory.ts create mode 100644 src/contracts/colony/11/index.d.ts diff --git a/src/contracts/colony/11/IColony.d.ts b/src/contracts/colony/11/IColony.d.ts new file mode 100644 index 000000000..d5f83d3e9 --- /dev/null +++ b/src/contracts/colony/11/IColony.d.ts @@ -0,0 +1,12648 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface IColonyInterface extends Interface { + functions: { + approveExitRecovery: TypedFunctionDescription<{ encode([]: []): string }>; + + checkNotAdditionalProtectedVariable: TypedFunctionDescription<{ + encode([_slot]: [BigNumberish]): string; + }>; + + enterRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + + executeMetaTransaction: TypedFunctionDescription<{ + encode([userAddress, payload, sigR, sigS, sigV]: [ + string, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + exitRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + + getMetatransactionNonce: TypedFunctionDescription<{ + encode([userAddress]: [string]): string; + }>; + + isInRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + + numRecoveryRoles: TypedFunctionDescription<{ encode([]: []): string }>; + + removeRecoveryRole: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + setRecoveryRole: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + setStorageSlotRecovery: TypedFunctionDescription<{ + encode([_slot, _value]: [BigNumberish, Arrayish]): string; + }>; + + authority: TypedFunctionDescription<{ encode([]: []): string }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + version: TypedFunctionDescription<{ encode([]: []): string }>; + + upgrade: TypedFunctionDescription<{ + encode([_newVersion]: [BigNumberish]): string; + }>; + + finishUpgrade: TypedFunctionDescription<{ encode([]: []): string }>; + + getColonyNetwork: TypedFunctionDescription<{ encode([]: []): string }>; + + getToken: TypedFunctionDescription<{ encode([]: []): string }>; + + makeArbitraryTransaction: TypedFunctionDescription<{ + encode([_to, _action]: [string, Arrayish]): string; + }>; + + makeArbitraryTransactions: TypedFunctionDescription<{ + encode([_targets, _actions, _strict]: [ + string[], + Arrayish[], + boolean + ]): string; + }>; + + makeSingleArbitraryTransaction: TypedFunctionDescription<{ + encode([_target, _action]: [string, Arrayish]): string; + }>; + + annotateTransaction: TypedFunctionDescription<{ + encode([_txHash, _metadata]: [Arrayish, string]): string; + }>; + + setRootRole: TypedFunctionDescription<{ + encode([_user, _setTo]: [string, boolean]): string; + }>; + + setArbitrationRole: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _user, + _domainId, + _setTo, + ]: [BigNumberish, BigNumberish, string, BigNumberish, boolean]): string; + }>; + + setArchitectureRole: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _user, + _domainId, + _setTo, + ]: [BigNumberish, BigNumberish, string, BigNumberish, boolean]): string; + }>; + + setFundingRole: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _user, + _domainId, + _setTo, + ]: [BigNumberish, BigNumberish, string, BigNumberish, boolean]): string; + }>; + + setAdministrationRole: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _user, + _domainId, + _setTo, + ]: [BigNumberish, BigNumberish, string, BigNumberish, boolean]): string; + }>; + + setUserRoles: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _user, + _domainId, + _roles, + ]: [BigNumberish, BigNumberish, string, BigNumberish, Arrayish]): string; + }>; + + hasUserRole: TypedFunctionDescription<{ + encode([_user, _domainId, _role]: [ + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + hasInheritedUserRole: TypedFunctionDescription<{ + encode([_user, _domainId, _role, _childSkillIndex, _childDomainId]: [ + string, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + userCanSetRoles: TypedFunctionDescription<{ + encode([_user, _domainId, _childSkillIndex, _childDomainId]: [ + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + getUserRoles: TypedFunctionDescription<{ + encode([_user, _domain]: [string, BigNumberish]): string; + }>; + + getCapabilityRoles: TypedFunctionDescription<{ + encode([_sig]: [Arrayish]): string; + }>; + + emitDomainReputationReward: TypedFunctionDescription<{ + encode([_domainId, _user, _amount]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + emitSkillReputationReward: TypedFunctionDescription<{ + encode([_skillId, _user, _amount]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + emitDomainReputationPenalty: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _domainId, + _user, + _amount, + ]: [ + BigNumberish, + BigNumberish, + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + emitSkillReputationPenalty: TypedFunctionDescription<{ + encode([_skillId, _user, _amount]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + initialiseColony: TypedFunctionDescription<{ + encode([_colonyNetworkAddress, _token]: [string, string]): string; + }>; + + editColony: TypedFunctionDescription<{ + encode([_metadata]: [string]): string; + }>; + + editColonyByDelta: TypedFunctionDescription<{ + encode([_metadataDelta]: [string]): string; + }>; + + bootstrapColony: TypedFunctionDescription<{ + encode([_users, _amount]: [string[], BigNumberish[]]): string; + }>; + + mintTokens: TypedFunctionDescription<{ + encode([_wad]: [BigNumberish]): string; + }>; + + mintTokensFor: TypedFunctionDescription<{ + encode([_guy, _wad]: [string, BigNumberish]): string; + }>; + + lockToken: TypedFunctionDescription<{ encode([]: []): string }>; + + unlockTokenForUser: TypedFunctionDescription<{ + encode([user, lockId]: [string, BigNumberish]): string; + }>; + + registerColonyLabel: TypedFunctionDescription<{ + encode([colonyName, orbitdb]: [string, string]): string; + }>; + + updateColonyOrbitDB: TypedFunctionDescription<{ + encode([orbitdb]: [string]): string; + }>; + + installExtension: TypedFunctionDescription<{ + encode([extensionId, version]: [Arrayish, BigNumberish]): string; + }>; + + upgradeExtension: TypedFunctionDescription<{ + encode([extensionId, newVersion]: [Arrayish, BigNumberish]): string; + }>; + + deprecateExtension: TypedFunctionDescription<{ + encode([extensionId, deprecated]: [Arrayish, boolean]): string; + }>; + + uninstallExtension: TypedFunctionDescription<{ + encode([extensionId]: [Arrayish]): string; + }>; + + initialiseRootLocalSkill: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + addLocalSkill: TypedFunctionDescription<{ encode([]: []): string }>; + + deprecateLocalSkill: TypedFunctionDescription<{ + encode([localSkillId, deprecated]: [BigNumberish, boolean]): string; + }>; + + getRootLocalSkill: TypedFunctionDescription<{ encode([]: []): string }>; + + addDomain: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _parentDomainId]: [ + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + editDomain: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _domainId, _metadata]: [ + BigNumberish, + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + deprecateDomain: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _domainId, _deprecated]: [ + BigNumberish, + BigNumberish, + BigNumberish, + boolean + ]): string; + }>; + + getDomain: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getDomainCount: TypedFunctionDescription<{ encode([]: []): string }>; + + verifyReputationProof: TypedFunctionDescription<{ + encode([key, value, branchMask, siblings]: [ + Arrayish, + Arrayish, + BigNumberish, + Arrayish[] + ]): string; + }>; + + setDefaultGlobalClaimDelay: TypedFunctionDescription<{ + encode([_globalClaimDelay]: [BigNumberish]): string; + }>; + + makeExpenditure: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _domainId]: [ + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + transferExpenditure: TypedFunctionDescription<{ + encode([_id, _newOwner]: [BigNumberish, string]): string; + }>; + + transferExpenditureViaArbitration: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _id, _newOwner]: [ + BigNumberish, + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + cancelExpenditure: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + lockExpenditure: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + finalizeExpenditure: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + setExpenditureMetadata: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _id, _metadata]: [ + BigNumberish, + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + setExpenditureRecipient: TypedFunctionDescription<{ + encode([_id, _slot, _recipient]: [ + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + setExpenditureRecipients: TypedFunctionDescription<{ + encode([_id, _slots, _recipients]: [ + BigNumberish, + BigNumberish[], + string[] + ]): string; + }>; + + setExpenditurePayouts: TypedFunctionDescription<{ + encode([_id, _slots, _token, _amounts]: [ + BigNumberish, + BigNumberish[], + string, + BigNumberish[] + ]): string; + }>; + + setExpenditurePayout: TypedFunctionDescription<{ + encode([_id, _slot, _token, _amount]: [ + BigNumberish, + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + setExpenditureSkill: TypedFunctionDescription<{ + encode([_id, _slot, _skillId]: [ + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + setExpenditureSkills: TypedFunctionDescription<{ + encode([_id, _slots, _skillIds]: [ + BigNumberish, + BigNumberish[], + BigNumberish[] + ]): string; + }>; + + setExpenditureClaimDelay: TypedFunctionDescription<{ + encode([_id, _slot, _claimDelay]: [ + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + setExpenditureClaimDelays: TypedFunctionDescription<{ + encode([_id, _slots, _claimDelays]: [ + BigNumberish, + BigNumberish[], + BigNumberish[] + ]): string; + }>; + + setExpenditurePayoutModifiers: TypedFunctionDescription<{ + encode([_id, _slots, _payoutModifiers]: [ + BigNumberish, + BigNumberish[], + BigNumberish[] + ]): string; + }>; + + setExpenditureValues: TypedFunctionDescription<{ + encode([ + _id, + _recipientSlots, + _recipients, + _skillIdSlots, + _skillIds, + _claimDelaySlots, + _claimDelays, + _payoutModifierSlots, + _payoutModifiers, + _payoutTokens, + _payoutSlots, + _payoutValues, + ]: [ + BigNumberish, + BigNumberish[], + string[], + BigNumberish[], + BigNumberish[], + BigNumberish[], + BigNumberish[], + BigNumberish[], + BigNumberish[], + string[], + BigNumberish[][], + BigNumberish[][] + ]): string; + }>; + + setExpenditureState: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _id, + _storageSlot, + _mask, + _keys, + _value, + ]: [ + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + boolean[], + Arrayish[], + Arrayish + ]): string; + }>; + + claimExpenditurePayout: TypedFunctionDescription<{ + encode([_id, _slot, _token]: [ + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + getExpenditureCount: TypedFunctionDescription<{ encode([]: []): string }>; + + getExpenditure: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getExpenditureSlot: TypedFunctionDescription<{ + encode([_id, _slot]: [BigNumberish, BigNumberish]): string; + }>; + + getExpenditureSlotPayout: TypedFunctionDescription<{ + encode([_id, _slot, _token]: [ + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + addPayment: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _recipient, + _token, + _amount, + _domainId, + _skillId, + ]: [ + BigNumberish, + BigNumberish, + string, + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + finalizePayment: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _id]: [ + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + setPaymentRecipient: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _id, _recipient]: [ + BigNumberish, + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + setPaymentSkill: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _id, _skillId]: [ + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + setPaymentPayout: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _id, _token, _amount]: [ + BigNumberish, + BigNumberish, + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + getPayment: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + claimPayment: TypedFunctionDescription<{ + encode([_id, _token]: [BigNumberish, string]): string; + }>; + + getPaymentCount: TypedFunctionDescription<{ encode([]: []): string }>; + + makeTask: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _specificationHash, + _domainId, + _skillId, + _dueDate, + ]: [ + BigNumberish, + BigNumberish, + Arrayish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + getTaskCount: TypedFunctionDescription<{ encode([]: []): string }>; + + getTaskChangeNonce: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + executeTaskChange: TypedFunctionDescription<{ + encode([_sigV, _sigR, _sigS, _mode, _value, _data]: [ + BigNumberish[], + Arrayish[], + Arrayish[], + BigNumberish[], + BigNumberish, + Arrayish + ]): string; + }>; + + executeTaskRoleAssignment: TypedFunctionDescription<{ + encode([_sigV, _sigR, _sigS, _mode, _value, _data]: [ + BigNumberish[], + Arrayish[], + Arrayish[], + BigNumberish[], + BigNumberish, + Arrayish + ]): string; + }>; + + submitTaskWorkRating: TypedFunctionDescription<{ + encode([_id, _role, _ratingSecret]: [ + BigNumberish, + BigNumberish, + Arrayish + ]): string; + }>; + + revealTaskWorkRating: TypedFunctionDescription<{ + encode([_id, _role, _rating, _salt]: [ + BigNumberish, + BigNumberish, + BigNumberish, + Arrayish + ]): string; + }>; + + generateSecret: TypedFunctionDescription<{ + encode([_salt, _value]: [Arrayish, BigNumberish]): string; + }>; + + getTaskWorkRatingSecretsInfo: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getTaskWorkRatingSecret: TypedFunctionDescription<{ + encode([_id, _role]: [BigNumberish, BigNumberish]): string; + }>; + + setTaskManagerRole: TypedFunctionDescription<{ + encode([_id, _user, _permissionDomainId, _childSkillIndex]: [ + BigNumberish, + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + setTaskEvaluatorRole: TypedFunctionDescription<{ + encode([_id, _user]: [BigNumberish, string]): string; + }>; + + setTaskWorkerRole: TypedFunctionDescription<{ + encode([_id, _user]: [BigNumberish, string]): string; + }>; + + removeTaskEvaluatorRole: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + removeTaskWorkerRole: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + setTaskSkill: TypedFunctionDescription<{ + encode([_id, _skillId]: [BigNumberish, BigNumberish]): string; + }>; + + setTaskBrief: TypedFunctionDescription<{ + encode([_id, _specificationHash]: [BigNumberish, Arrayish]): string; + }>; + + setTaskDueDate: TypedFunctionDescription<{ + encode([_id, _dueDate]: [BigNumberish, BigNumberish]): string; + }>; + + submitTaskDeliverable: TypedFunctionDescription<{ + encode([_id, _deliverableHash]: [BigNumberish, Arrayish]): string; + }>; + + submitTaskDeliverableAndRating: TypedFunctionDescription<{ + encode([_id, _deliverableHash, _ratingSecret]: [ + BigNumberish, + Arrayish, + Arrayish + ]): string; + }>; + + finalizeTask: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + cancelTask: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + completeTask: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getTask: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getTaskRole: TypedFunctionDescription<{ + encode([_id, _role]: [BigNumberish, BigNumberish]): string; + }>; + + setRewardInverse: TypedFunctionDescription<{ + encode([_rewardInverse]: [BigNumberish]): string; + }>; + + getRewardInverse: TypedFunctionDescription<{ encode([]: []): string }>; + + getTaskPayout: TypedFunctionDescription<{ + encode([_id, _role, _token]: [ + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + setTaskManagerPayout: TypedFunctionDescription<{ + encode([_id, _token, _amount]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + setTaskEvaluatorPayout: TypedFunctionDescription<{ + encode([_id, _token, _amount]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + setTaskWorkerPayout: TypedFunctionDescription<{ + encode([_id, _token, _amount]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + setAllTaskPayouts: TypedFunctionDescription<{ + encode([_id, _token, _managerAmount, _evaluatorAmount, _workerAmount]: [ + BigNumberish, + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + claimTaskPayout: TypedFunctionDescription<{ + encode([_id, _role, _token]: [ + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + startNextRewardPayout: TypedFunctionDescription<{ + encode([_token, key, value, branchMask, siblings]: [ + string, + Arrayish, + Arrayish, + BigNumberish, + Arrayish[] + ]): string; + }>; + + claimRewardPayout: TypedFunctionDescription<{ + encode([_payoutId, _squareRoots, key, value, branchMask, siblings]: [ + BigNumberish, + BigNumberish[], + Arrayish, + Arrayish, + BigNumberish, + Arrayish[] + ]): string; + }>; + + getRewardPayoutInfo: TypedFunctionDescription<{ + encode([_payoutId]: [BigNumberish]): string; + }>; + + finalizeRewardPayout: TypedFunctionDescription<{ + encode([_payoutId]: [BigNumberish]): string; + }>; + + getFundingPot: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getFundingPotCount: TypedFunctionDescription<{ encode([]: []): string }>; + + getFundingPotBalance: TypedFunctionDescription<{ + encode([_potId, _token]: [BigNumberish, string]): string; + }>; + + getFundingPotPayout: TypedFunctionDescription<{ + encode([_potId, _token]: [BigNumberish, string]): string; + }>; + + moveFundsBetweenPots: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _domainId, + _fromChildSkillIndex, + _toChildSkillIndex, + _fromPot, + _toPot, + _amount, + _token, + ]: [ + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + claimColonyFunds: TypedFunctionDescription<{ + encode([_token]: [string]): string; + }>; + + getNonRewardPotsTotal: TypedFunctionDescription<{ + encode([_token]: [string]): string; + }>; + + approveStake: TypedFunctionDescription<{ + encode([_approvee, _domainId, _amount]: [ + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + obligateStake: TypedFunctionDescription<{ + encode([_user, _domainId, _amount]: [ + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + deobligateStake: TypedFunctionDescription<{ + encode([_user, _domainId, _amount]: [ + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + transferStake: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _obligator, + _user, + _domainId, + _amount, + _recipient, + ]: [ + BigNumberish, + BigNumberish, + string, + string, + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + getApproval: TypedFunctionDescription<{ + encode([_user, _obligator, _domainId]: [ + string, + string, + BigNumberish + ]): string; + }>; + + getObligation: TypedFunctionDescription<{ + encode([_user, _obligator, _domainId]: [ + string, + string, + BigNumberish + ]): string; + }>; + + getDomainFromFundingPot: TypedFunctionDescription<{ + encode([_fundingPotId]: [BigNumberish]): string; + }>; + + burnTokens: TypedFunctionDescription<{ + encode([token, amount]: [string, BigNumberish]): string; + }>; + + unlockToken: TypedFunctionDescription<{ encode([]: []): string }>; + + updateApprovalAmount: TypedFunctionDescription<{ + encode([token, spender]: [string, string]): string; + }>; + + getTokenApproval: TypedFunctionDescription<{ + encode([token, spender]: [string, string]): string; + }>; + + getTotalTokenApproval: TypedFunctionDescription<{ + encode([token]: [string]): string; + }>; + }; + + events: { + Annotation: TypedEventDescription<{ + encodeTopics([agent, txHash, metadata]: [ + string | null, + Arrayish | null, + null + ]): string[]; + }>; + + ArbitraryReputationUpdate: TypedEventDescription<{ + encodeTopics([agent, user, skillId, amount]: [ + null, + null, + null, + null + ]): string[]; + }>; + + ArbitraryTransaction: TypedEventDescription<{ + encodeTopics([target, data, success]: [null, null, null]): string[]; + }>; + + ColonyBootstrapped: TypedEventDescription<{ + encodeTopics([agent, users, amounts]: [null, null, null]): string[]; + }>; + + ColonyFundsClaimed: TypedEventDescription<{ + encodeTopics([agent, token, fee, payoutRemainder]: [ + null, + null, + null, + null + ]): string[]; + }>; + + ColonyFundsMovedBetweenFundingPots: TypedEventDescription<{ + encodeTopics([agent, fromPot, toPot, amount, token]: [ + null, + BigNumberish | null, + BigNumberish | null, + null, + null + ]): string[]; + }>; + + ColonyInitialised: TypedEventDescription<{ + encodeTopics([agent, colonyNetwork, token]: [null, null, null]): string[]; + }>; + + ColonyMetadata: TypedEventDescription<{ + encodeTopics([agent, metadata]: [null, null]): string[]; + }>; + + ColonyMetadataDelta: TypedEventDescription<{ + encodeTopics([agent, metadata]: [null, null]): string[]; + }>; + + ColonyRewardInverseSet: TypedEventDescription<{ + encodeTopics([agent, rewardInverse]: [null, null]): string[]; + }>; + + ColonyRoleSet: TypedEventDescription<{ + encodeTopics([agent, user, domainId, role, setTo]: [ + null, + string | null, + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + + ColonyUpgraded: TypedEventDescription<{ + encodeTopics([agent, oldVersion, newVersion]: [ + null, + null, + null + ]): string[]; + }>; + + DomainAdded: TypedEventDescription<{ + encodeTopics([agent, domainId]: [null, null]): string[]; + }>; + + DomainDeprecated: TypedEventDescription<{ + encodeTopics([agent, domainId, deprecated]: [ + null, + BigNumberish | null, + null + ]): string[]; + }>; + + DomainMetadata: TypedEventDescription<{ + encodeTopics([agent, domainId, metadata]: [ + null, + BigNumberish | null, + null + ]): string[]; + }>; + + ExpenditureAdded: TypedEventDescription<{ + encodeTopics([agent, expenditureId]: [null, null]): string[]; + }>; + + ExpenditureCancelled: TypedEventDescription<{ + encodeTopics([agent, expenditureId]: [ + null, + BigNumberish | null + ]): string[]; + }>; + + ExpenditureClaimDelaySet: TypedEventDescription<{ + encodeTopics([agent, expenditureId, slot, claimDelay]: [ + null, + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + + ExpenditureFinalized: TypedEventDescription<{ + encodeTopics([agent, expenditureId]: [ + null, + BigNumberish | null + ]): string[]; + }>; + + ExpenditureGlobalClaimDelaySet: TypedEventDescription<{ + encodeTopics([agent, globalClaimDelay]: [null, null]): string[]; + }>; + + ExpenditureLocked: TypedEventDescription<{ + encodeTopics([agent, expenditureId]: [ + null, + BigNumberish | null + ]): string[]; + }>; + + ExpenditureMetadataSet: TypedEventDescription<{ + encodeTopics([agent, expenditureId, metadata]: [ + null, + BigNumberish | null, + null + ]): string[]; + }>; + + ExpenditurePayoutModifierSet: TypedEventDescription<{ + encodeTopics([agent, expenditureId, slot, payoutModifier]: [ + null, + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + + ExpenditurePayoutSet: TypedEventDescription<{ + encodeTopics([agent, expenditureId, slot, token, amount]: [ + null, + BigNumberish | null, + BigNumberish | null, + string | null, + null + ]): string[]; + }>; + + ExpenditureRecipientSet: TypedEventDescription<{ + encodeTopics([agent, expenditureId, slot, recipient]: [ + null, + BigNumberish | null, + BigNumberish | null, + string | null + ]): string[]; + }>; + + ExpenditureSkillSet: TypedEventDescription<{ + encodeTopics([agent, expenditureId, slot, skillId]: [ + null, + BigNumberish | null, + BigNumberish | null, + BigNumberish | null + ]): string[]; + }>; + + ExpenditureStateChanged: TypedEventDescription<{ + encodeTopics([agent, expenditureId, storageSlot, mask, keys, value]: [ + null, + BigNumberish | null, + BigNumberish | null, + null, + null, + null + ]): string[]; + }>; + + ExpenditureTransferred: TypedEventDescription<{ + encodeTopics([agent, expenditureId, owner]: [ + null, + BigNumberish | null, + string | null + ]): string[]; + }>; + + FundingPotAdded: TypedEventDescription<{ + encodeTopics([fundingPotId]: [null]): string[]; + }>; + + LocalSkillAdded: TypedEventDescription<{ + encodeTopics([agent, localSkillId]: [null, null]): string[]; + }>; + + LocalSkillDeprecated: TypedEventDescription<{ + encodeTopics([agent, localSkillId, deprecated]: [ + null, + null, + null + ]): string[]; + }>; + + MetaTransactionExecuted: TypedEventDescription<{ + encodeTopics([userAddress, relayerAddress, payload]: [ + null, + null, + null + ]): string[]; + }>; + + PaymentAdded: TypedEventDescription<{ + encodeTopics([agent, paymentId]: [null, null]): string[]; + }>; + + PaymentFinalized: TypedEventDescription<{ + encodeTopics([agent, paymentId]: [null, BigNumberish | null]): string[]; + }>; + + PaymentPayoutSet: TypedEventDescription<{ + encodeTopics([agent, paymentId, token, amount]: [ + null, + BigNumberish | null, + null, + null + ]): string[]; + }>; + + PaymentRecipientSet: TypedEventDescription<{ + encodeTopics([agent, paymentId, recipient]: [ + null, + BigNumberish | null, + null + ]): string[]; + }>; + + PaymentSkillSet: TypedEventDescription<{ + encodeTopics([agent, paymentId, skillId]: [ + null, + BigNumberish | null, + null + ]): string[]; + }>; + + PayoutClaimed: TypedEventDescription<{ + encodeTopics([agent, fundingPotId, token, amount]: [ + null, + BigNumberish | null, + null, + null + ]): string[]; + }>; + + RecoveryModeEntered: TypedEventDescription<{ + encodeTopics([user]: [null]): string[]; + }>; + + RecoveryModeExitApproved: TypedEventDescription<{ + encodeTopics([user]: [null]): string[]; + }>; + + RecoveryModeExited: TypedEventDescription<{ + encodeTopics([user]: [null]): string[]; + }>; + + RecoveryRoleSet: TypedEventDescription<{ + encodeTopics([user, setTo]: [string | null, null]): string[]; + }>; + + RecoveryStorageSlotSet: TypedEventDescription<{ + encodeTopics([user, slot, fromValue, toValue]: [ + null, + null, + null, + null + ]): string[]; + }>; + + RewardPayoutClaimed: TypedEventDescription<{ + encodeTopics([rewardPayoutId, user, fee, rewardRemainder]: [ + null, + null, + null, + null + ]): string[]; + }>; + + RewardPayoutCycleEnded: TypedEventDescription<{ + encodeTopics([agent, rewardPayoutId]: [null, null]): string[]; + }>; + + RewardPayoutCycleStarted: TypedEventDescription<{ + encodeTopics([agent, rewardPayoutId]: [null, null]): string[]; + }>; + + TaskAdded: TypedEventDescription<{ + encodeTopics([agent, taskId]: [null, null]): string[]; + }>; + + TaskBriefSet: TypedEventDescription<{ + encodeTopics([taskId, specificationHash]: [ + BigNumberish | null, + null + ]): string[]; + }>; + + TaskCanceled: TypedEventDescription<{ + encodeTopics([taskId]: [BigNumberish | null]): string[]; + }>; + + TaskChangedViaSignatures: TypedEventDescription<{ + encodeTopics([reviewerAddresses]: [null]): string[]; + }>; + + TaskCompleted: TypedEventDescription<{ + encodeTopics([agent, taskId]: [null, BigNumberish | null]): string[]; + }>; + + TaskDeliverableSubmitted: TypedEventDescription<{ + encodeTopics([agent, taskId, deliverableHash]: [ + null, + BigNumberish | null, + null + ]): string[]; + }>; + + TaskDueDateSet: TypedEventDescription<{ + encodeTopics([taskId, dueDate]: [BigNumberish | null, null]): string[]; + }>; + + TaskFinalized: TypedEventDescription<{ + encodeTopics([agent, taskId]: [null, BigNumberish | null]): string[]; + }>; + + TaskPayoutSet: TypedEventDescription<{ + encodeTopics([taskId, role, token, amount]: [ + BigNumberish | null, + null, + null, + null + ]): string[]; + }>; + + TaskRoleUserSet: TypedEventDescription<{ + encodeTopics([taskId, role, user]: [ + BigNumberish | null, + null, + string | null + ]): string[]; + }>; + + TaskSkillSet: TypedEventDescription<{ + encodeTopics([taskId, skillId]: [ + BigNumberish | null, + BigNumberish | null + ]): string[]; + }>; + + TaskWorkRatingRevealed: TypedEventDescription<{ + encodeTopics([agent, taskId, role, rating]: [ + null, + BigNumberish | null, + null, + null + ]): string[]; + }>; + + TokenUnlocked: TypedEventDescription<{ + encodeTopics([agent]: [null]): string[]; + }>; + + TokensBurned: TypedEventDescription<{ + encodeTopics([agent, token, amount]: [null, null, null]): string[]; + }>; + + TokensMinted: TypedEventDescription<{ + encodeTopics([agent, who, amount]: [null, null, null]): string[]; + }>; + }; +} + +export class IColony extends Contract { + connect(signerOrProvider: Signer | Provider | string): IColony; + attach(addressOrName: string): IColony; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IColony; + once(event: EventFilter | string, listener: Listener): IColony; + addListener(eventName: EventFilter | string, listener: Listener): IColony; + removeAllListeners(eventName: EventFilter | string): IColony; + removeListener(eventName: any, listener: Listener): IColony; + + interface: IColonyInterface; + + functions: { + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + approveExitRecovery( + overrides?: TransactionOverrides + ): Promise; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + "approveExitRecovery()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + checkNotAdditionalProtectedVariable( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + "checkNotAdditionalProtectedVariable(uint256)"( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + enterRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + "enterRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + executeMetaTransaction( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + exitRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + "exitRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Is colony network in recovery mode. + */ + isInRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Is colony network in recovery mode. + */ + "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + numRecoveryRoles(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + "numRecoveryRoles()"(overrides?: TransactionOverrides): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + removeRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + "removeRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + setRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + "setRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + setStorageSlotRecovery( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + "setStorageSlotRecovery(uint256,bytes32)"( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyAuthority` for the colony. + */ + authority(overrides?: TransactionOverrides): Promise; + + /** + * Get the `ColonyAuthority` for the colony. + */ + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Used for testing. + * Get the colony `owner` address. This should be address(0x0) at all times. + */ + owner(overrides?: TransactionOverrides): Promise; + + /** + * Used for testing. + * Get the colony `owner` address. This should be address(0x0) at all times. + */ + "owner()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the Colony contract version. Starts from 1 and is incremented with every deployed contract change. + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Get the Colony contract version. Starts from 1 and is incremented with every deployed contract change. + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Downgrades are not allowed, i.e. `_newVersion` should be higher than the currect colony version. + * Upgrades a colony to a new Colony contract version `_newVersion`. + * @param _newVersion The target version for the upgrade + */ + upgrade( + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Downgrades are not allowed, i.e. `_newVersion` should be higher than the currect colony version. + * Upgrades a colony to a new Colony contract version `_newVersion`. + * @param _newVersion The target version for the upgrade + */ + "upgrade(uint256)"( + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * A function to be called after an upgrade has been done from v2 to v3. + */ + finishUpgrade( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * A function to be called after an upgrade has been done from v2 to v3. + */ + "finishUpgrade()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * The colonyNetworkAddress we read here is set once, during `initialiseColony`. + * Returns the colony network address set on the Colony. + */ + getColonyNetwork(overrides?: TransactionOverrides): Promise; + + /** + * The colonyNetworkAddress we read here is set once, during `initialiseColony`. + * Returns the colony network address set on the Colony. + */ + "getColonyNetwork()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the colony token. + */ + getToken(overrides?: TransactionOverrides): Promise; + + /** + * Get the colony token. + */ + "getToken()"(overrides?: TransactionOverrides): Promise; + + /** + * @deprecatedExecute arbitrary transaction on behalf of the Colony + * @param _action Bytes array encoding the function call and arguments + * @param _to Contract to receive the function call (cannot be this contract, network or token locking) + */ + makeArbitraryTransaction( + _to: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedExecute arbitrary transaction on behalf of the Colony + * @param _action Bytes array encoding the function call and arguments + * @param _to Contract to receive the function call (cannot be this contract, network or token locking) + */ + "makeArbitraryTransaction(address,bytes)"( + _to: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Execute arbitrary transactions on behalf of the Colony in series + * @param _actions Array of Bytes arrays encoding the function calls and arguments + * @param _strict Boolean indicating whether if one transaction fails, the whole call to this function should fail. + * @param _targets Array of addressed to be targeted + */ + makeArbitraryTransactions( + _targets: string[], + _actions: Arrayish[], + _strict: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Execute arbitrary transactions on behalf of the Colony in series + * @param _actions Array of Bytes arrays encoding the function calls and arguments + * @param _strict Boolean indicating whether if one transaction fails, the whole call to this function should fail. + * @param _targets Array of addressed to be targeted + */ + "makeArbitraryTransactions(address[],bytes[],bool)"( + _targets: string[], + _actions: Arrayish[], + _strict: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the colony itself. If you wish to use this functionality, you should use the makeAbitraryTransactions function + * Executes a single arbitrary transaction + * @param _action Bytes array encoding the function call and arguments + * @param _target Contract to receive the function call + */ + makeSingleArbitraryTransaction( + _target: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the colony itself. If you wish to use this functionality, you should use the makeAbitraryTransactions function + * Executes a single arbitrary transaction + * @param _action Bytes array encoding the function call and arguments + * @param _target Contract to receive the function call + */ + "makeSingleArbitraryTransaction(address,bytes)"( + _target: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a metadata string for a transaction + * @param _metadata String of metadata for tx + * @param _txHash Hash of transaction being annotated (0x0 for current tx) + */ + annotateTransaction( + _txHash: Arrayish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a metadata string for a transaction + * @param _metadata String of metadata for tx + * @param _txHash Hash of transaction being annotated (0x0 for current tx) + */ + "annotateTransaction(bytes32,string)"( + _txHash: Arrayish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony root role. Can be called by root role only. + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an root role to + */ + setRootRole( + _user: string, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony root role. Can be called by root role only. + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an root role to + */ + "setRootRole(address,bool)"( + _user: string, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony arbitration role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an arbitration role to + */ + setArbitrationRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony arbitration role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an arbitration role to + */ + "setArbitrationRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony architecture role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an architecture role to + */ + setArchitectureRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony architecture role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an architecture role to + */ + "setArchitectureRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony funding role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an funding role to + */ + setFundingRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony funding role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an funding role to + */ + "setFundingRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony admin role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an admin role to + */ + setAdministrationRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony admin role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an admin role to + */ + "setAdministrationRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set several roles in one transaction. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _roles Byte array representing the desired role setting (1 for on, 0 for off) + * @param _user User we want to give a role to + */ + setUserRoles( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _roles: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set several roles in one transaction. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _roles Byte array representing the desired role setting (1 for on, 0 for off) + * @param _user User we want to give a role to + */ + "setUserRoles(uint256,uint256,address,uint256,bytes32)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _roles: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _domainId The domain where we want to check for the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + hasUserRole( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _domainId The domain where we want to check for the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + "hasUserRole(address,uint256,uint8)"( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 inheritance validator function + * @param _childDomainId The domain where we want to use the role + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + hasInheritedUserRole( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 inheritance validator function + * @param _childDomainId The domain where we want to use the role + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + "hasInheritedUserRole(address,uint256,uint8,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _childDomainId The domain where we want to edit roles + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role (currently Root or Architecture) + * @param _user The user whose permissions we want to check + */ + userCanSetRoles( + _user: string, + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _childDomainId The domain where we want to edit roles + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role (currently Root or Architecture) + * @param _user The user whose permissions we want to check + */ + "userCanSetRoles(address,uint256,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles for a user in a given domain + * @param _domain The domain we want to get roles in + * @param _user The user whose roles we want to get + */ + getUserRoles( + _user: string, + _domain: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles for a user in a given domain + * @param _domain The domain we want to get roles in + * @param _user The user whose roles we want to get + */ + "getUserRoles(address,uint256)"( + _user: string, + _domain: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles authorized to call a function + * @param _sig The function signature + */ + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles authorized to call a function + * @param _sig The function signature + */ + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive domain reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _domainId The domain where the user will gain reputation + * @param _user The user who will gain reputation + */ + emitDomainReputationReward( + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive domain reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _domainId The domain where the user will gain reputation + * @param _user The user who will gain reputation + */ + "emitDomainReputationReward(uint256,address,int256)"( + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive skill reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _skillId The skill where the user will gain reputation + * @param _user The user who will gain reputation + */ + emitSkillReputationReward( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive skill reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _skillId The skill where the user will gain reputation + * @param _user The user who will gain reputation + */ + "emitSkillReputationReward(uint256,address,int256)"( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative domain reputation update. Available only to Arbitration role holders + * @param _amount The (negative) amount of reputation to lose + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the user will lose reputation + * @param _permissionDomainId The domainId in which I hold the Arbitration role + * @param _user The user who will lose reputation + */ + emitDomainReputationPenalty( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative domain reputation update. Available only to Arbitration role holders + * @param _amount The (negative) amount of reputation to lose + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the user will lose reputation + * @param _permissionDomainId The domainId in which I hold the Arbitration role + * @param _user The user who will lose reputation + */ + "emitDomainReputationPenalty(uint256,uint256,uint256,address,int256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative skill reputation update. Available only to Arbitration role holders in the root domain + * @param _amount The (negative) amount of reputation to lose + * @param _skillId The skill where the user will lose reputation + * @param _user The user who will lose reputation + */ + emitSkillReputationPenalty( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative skill reputation update. Available only to Arbitration role holders in the root domain + * @param _amount The (negative) amount of reputation to lose + * @param _skillId The skill where the user will lose reputation + * @param _user The user who will lose reputation + */ + "emitSkillReputationPenalty(uint256,address,int256)"( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the reward inverse to the uint max 2**256 - 1. + * Called once when the colony is created to initialise certain storage slot values. + * @param _colonyNetworkAddress Address of the colony network + * @param _token Address of the colony ERC20 Token + */ + initialiseColony( + _colonyNetworkAddress: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the reward inverse to the uint max 2**256 - 1. + * Called once when the colony is created to initialise certain storage slot values. + * @param _colonyNetworkAddress Address of the colony network + * @param _token Address of the colony ERC20 Token + */ + "initialiseColony(address,address)"( + _colonyNetworkAddress: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _metadata IPFS hash of the metadata + */ + editColony( + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _metadata IPFS hash of the metadata + */ + "editColony(string)"( + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to change the metadata associated with a colony. Expected to be a IPFS hash of a delta to a JSON blob, but not enforced to any degree by the contracts + * @param _metadataDelta IPFS hash of the metadata delta + */ + editColonyByDelta( + _metadataDelta: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to change the metadata associated with a colony. Expected to be a IPFS hash of a delta to a JSON blob, but not enforced to any degree by the contracts + * @param _metadataDelta IPFS hash of the metadata delta + */ + "editColonyByDelta(string)"( + _metadataDelta: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be called when `taskCount` is `0` by authorized addresses. + * 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. + * @param _amount Amount of reputation/tokens for every address + * @param _users Array of address to bootstrap with reputation + */ + bootstrapColony( + _users: string[], + _amount: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be called when `taskCount` is `0` by authorized addresses. + * 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. + * @param _amount Amount of reputation/tokens for every address + * @param _users Array of address to bootstrap with reputation + */ + "bootstrapColony(address[],int256[])"( + _users: string[], + _amount: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens. Secured function to authorised members. + * @param _wad Amount to mint + */ + mintTokens( + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens. Secured function to authorised members. + * @param _wad Amount to mint + */ + "mintTokens(uint256)"( + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens and send to `_guy`. Secured function to authorised members. + * @param _guy Recipient of new tokens + * @param _wad Amount to mint + */ + mintTokensFor( + _guy: string, + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens and send to `_guy`. Secured function to authorised members. + * @param _guy Recipient of new tokens + * @param _wad Amount to mint + */ + "mintTokensFor(address,uint256)"( + _guy: string, + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Lock the colony's token. Can only be called by a network-managed extension. + */ + lockToken(overrides?: TransactionOverrides): Promise; + + /** + * Lock the colony's token. Can only be called by a network-managed extension. + */ + "lockToken()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Unlock the colony's token for a user. Can only be called by a network-managed extension. + * @param lockId The specific lock to unlock + * @param user The user to unlock + */ + unlockTokenForUser( + user: string, + lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unlock the colony's token for a user. Can only be called by a network-managed extension. + * @param lockId The specific lock to unlock + * @param user The user to unlock + */ + "unlockTokenForUser(address,uint256)"( + user: string, + lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register colony's ENS label. + * @param colonyName The label to register. + * @param orbitdb The path of the orbitDB database associated with the colony name + */ + registerColonyLabel( + colonyName: string, + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register colony's ENS label. + * @param colonyName The label to register. + * @param orbitdb The path of the orbitDB database associated with the colony name + */ + "registerColonyLabel(string,string)"( + colonyName: string, + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param orbitdb The path of the orbitDB database to be associated with the colony + */ + updateColonyOrbitDB( + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param orbitdb The path of the orbitDB database to be associated with the colony + */ + "updateColonyOrbitDB(string)"( + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension to the colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param version The new extension version to install + */ + installExtension( + extensionId: Arrayish, + version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension to the colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param version The new extension version to install + */ + "installExtension(bytes32,uint256)"( + extensionId: Arrayish, + version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param newVersion The version to upgrade to (must be one larger than the current version) + */ + upgradeExtension( + extensionId: Arrayish, + newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param newVersion The version to upgrade to (must be one larger than the current version) + */ + "upgradeExtension(bytes32,uint256)"( + extensionId: Arrayish, + newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Secured function to authorised members. + * @param deprecated Whether to deprecate the extension or not + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + deprecateExtension( + extensionId: Arrayish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Secured function to authorised members. + * @param deprecated Whether to deprecate the extension or not + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + "deprecateExtension(bytes32,bool)"( + extensionId: Arrayish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * Uninstall an extension from a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + uninstallExtension( + extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * Uninstall an extension from a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + "uninstallExtension(bytes32)"( + extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skill tree for the colony. + */ + initialiseRootLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skill tree for the colony. + */ + "initialiseRootLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new local skill for the colony. Secured function to authorised members. + */ + addLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new local skill for the colony. Secured function to authorised members. + */ + "addLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a local skill for the colony. Secured function to authorised members. + * @param deprecated Deprecation status to set for the skill + * @param localSkillId Id for the local skill + */ + deprecateLocalSkill( + localSkillId: BigNumberish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a local skill for the colony. Secured function to authorised members. + * @param deprecated Deprecation status to set for the skill + * @param localSkillId Id for the local skill + */ + "deprecateLocalSkill(uint256,bool)"( + localSkillId: BigNumberish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the root local skill id + */ + getRootLocalSkill(overrides?: TransactionOverrides): Promise; + + /** + * Get the root local skill id + */ + "getRootLocalSkill()"(overrides?: TransactionOverrides): Promise; + + /** + * Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + addDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "addDomain(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "addDomain(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Id of the domain being edited + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + editDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Id of the domain being edited + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "editDomain(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a domain, preventing certain actions from happening there + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _deprecated Whether or not the domain is deprecated + * @param _domainId Id of the domain being deprecated + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + deprecateDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a domain, preventing certain actions from happening there + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _deprecated Whether or not the domain is deprecated + * @param _domainId Id of the domain being deprecated + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "deprecateDomain(uint256,uint256,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a domain by id. + * @param _id Id of the domain which details to get + */ + getDomain( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { skillId: BigNumber; fundingPotId: BigNumber } + >; + + /** + * Get a domain by id. + * @param _id Id of the domain which details to get + */ + "getDomain(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { skillId: BigNumber; fundingPotId: BigNumber } + >; + + /** + * Get the number of domains in the colony. + */ + getDomainCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of domains in the colony. + */ + "getDomainCount()"(overrides?: TransactionOverrides): Promise; + + /** + * 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. + * Helper function that can be used by a client to verify the correctness of a patricia proof they have been supplied with. + * @param branchMask The branchmask of the proof + * @param key The key of the element the proof is for. + * @param siblings The siblings of the proof + * @param value The value of the element that the proof is for. + */ + verifyReputationProof( + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Helper function that can be used by a client to verify the correctness of a patricia proof they have been supplied with. + * @param branchMask The branchmask of the proof + * @param key The key of the element the proof is for. + * @param siblings The siblings of the proof + * @param value The value of the element that the proof is for. + */ + "verifyReputationProof(bytes,bytes,uint256,bytes32[])"( + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the default global claim delay for expenditures + * @param _globalClaimDelay The new default global claim delay + */ + setDefaultGlobalClaimDelay( + _globalClaimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the default global claim delay for expenditures + * @param _globalClaimDelay The new default global claim delay + */ + "setDefaultGlobalClaimDelay(uint256)"( + _globalClaimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new expenditure in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the expenditure belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + makeExpenditure( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new expenditure in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the expenditure belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "makeExpenditure(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Updates the expenditure owner. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + */ + transferExpenditure( + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Updates the expenditure owner. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + */ + "transferExpenditure(uint256,address)"( + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future version + * @deprecatedUpdates the expenditure owner. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + transferExpenditureViaArbitration( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future version + * @deprecatedUpdates the expenditure owner. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "transferExpenditureViaArbitration(uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Cancels the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + cancelExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Cancels the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "cancelExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Locks the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + lockExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Locks the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "lockExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the expenditure and allows for funds to be claimed. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + finalizeExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the expenditure and allows for funds to be claimed. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "finalizeExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the metadata for an expenditure. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + setExpenditureMetadata( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the metadata for an expenditure. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "setExpenditureMetadata(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the metadata for an expenditure. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + */ + "setExpenditureMetadata(uint256,string)"( + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSets the recipient on an expenditure slot. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipient Address of the recipient + * @param _slot Slot for the recipient address + */ + setExpenditureRecipient( + _id: BigNumberish, + _slot: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSets the recipient on an expenditure slot. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipient Address of the recipient + * @param _slot Slot for the recipient address + */ + "setExpenditureRecipient(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the recipients in given expenditure slots. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipients Addresses of the recipients + * @param _slots Array of slots to set recipients + */ + setExpenditureRecipients( + _id: BigNumberish, + _slots: BigNumberish[], + _recipients: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the recipients in given expenditure slots. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipients Addresses of the recipients + * @param _slots Array of slots to set recipients + */ + "setExpenditureRecipients(uint256,uint256[],address[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _recipients: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Set the token payouts in given expenditure slots. Can only be called by expenditure owner. + * @param _amounts Payout amounts + * @param _id Id of the expenditure + * @param _slots Array of slots to set payouts + * @param _token Address of the token, `0x0` value indicates Ether + */ + setExpenditurePayouts( + _id: BigNumberish, + _slots: BigNumberish[], + _token: string, + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Set the token payouts in given expenditure slots. Can only be called by expenditure owner. + * @param _amounts Payout amounts + * @param _id Id of the expenditure + * @param _slots Array of slots to set payouts + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayouts(uint256,uint256[],address,uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _token: string, + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSet the token payout on an expenditure slot. Can only be called by expenditure owner. + * @param _amount Payout amount + * @param _id Id of the expenditure + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + setExpenditurePayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSet the token payout on an expenditure slot. Can only be called by expenditure owner. + * @param _amount Payout amount + * @param _id Id of the expenditure + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayout(uint256,uint256,address,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the token payout in a given expenditure slot. Can only be called by an Arbitration user. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _slot The slot to set the payout + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayout(uint256,uint256,uint256,uint256,address,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillId Id of the new skill to set + * @param _slot Number of the slot + */ + setExpenditureSkill( + _id: BigNumberish, + _slot: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillId Id of the new skill to set + * @param _slot Number of the slot + */ + "setExpenditureSkill(uint256,uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillIds Ids of the new skills to set + * @param _slots Array of slots to set skills + */ + setExpenditureSkills( + _id: BigNumberish, + _slots: BigNumberish[], + _skillIds: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillIds Ids of the new skills to set + * @param _slots Array of slots to set skills + */ + "setExpenditureSkills(uint256,uint256[],uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _skillIds: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the claim delay on an expenditure slot. Can only be called by expenditure owner. + * @param _claimDelay Duration of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slot Number of the slot + */ + setExpenditureClaimDelay( + _id: BigNumberish, + _slot: BigNumberish, + _claimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the claim delay on an expenditure slot. Can only be called by expenditure owner. + * @param _claimDelay Duration of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slot Number of the slot + */ + "setExpenditureClaimDelay(uint256,uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _claimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the claim delays in given expenditure slots. Can only be called by expenditure owner. + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slots Array of slots to set claim delays + */ + setExpenditureClaimDelays( + _id: BigNumberish, + _slots: BigNumberish[], + _claimDelays: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the claim delays in given expenditure slots. Can only be called by expenditure owner. + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slots Array of slots to set claim delays + */ + "setExpenditureClaimDelays(uint256,uint256[],uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _claimDelays: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout modifiers in given expenditure slots. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _slots Array of slots to set payout modifiers + */ + setExpenditurePayoutModifiers( + _id: BigNumberish, + _slots: BigNumberish[], + _payoutModifiers: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout modifiers in given expenditure slots. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _slots Array of slots to set payout modifiers + */ + "setExpenditurePayoutModifiers(uint256,uint256[],int256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _payoutModifiers: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set many values of an expenditure simultaneously. Can only be called by expenditure owner. + * @param _claimDelaySlots Array of slots to set claim delays + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _payoutModifierSlots Array of slots to set payout modifiers + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _payoutSlots 2-dimensional array of slots to set payouts + * @param _payoutTokens Addresses of the tokens, `0x0` value indicates Ether + * @param _payoutValues 2-dimensional array of the payout amounts + * @param _recipientSlots Array of slots to set recipients + * @param _recipients Addresses of the recipients + * @param _skillIdSlots Array of slots to set skills + * @param _skillIds Ids of the new skills to set + */ + setExpenditureValues( + _id: BigNumberish, + _recipientSlots: BigNumberish[], + _recipients: string[], + _skillIdSlots: BigNumberish[], + _skillIds: BigNumberish[], + _claimDelaySlots: BigNumberish[], + _claimDelays: BigNumberish[], + _payoutModifierSlots: BigNumberish[], + _payoutModifiers: BigNumberish[], + _payoutTokens: string[], + _payoutSlots: BigNumberish[][], + _payoutValues: BigNumberish[][], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set many values of an expenditure simultaneously. Can only be called by expenditure owner. + * @param _claimDelaySlots Array of slots to set claim delays + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _payoutModifierSlots Array of slots to set payout modifiers + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _payoutSlots 2-dimensional array of slots to set payouts + * @param _payoutTokens Addresses of the tokens, `0x0` value indicates Ether + * @param _payoutValues 2-dimensional array of the payout amounts + * @param _recipientSlots Array of slots to set recipients + * @param _recipients Addresses of the recipients + * @param _skillIdSlots Array of slots to set skills + * @param _skillIds Ids of the new skills to set + */ + "setExpenditureValues(uint256,uint256[],address[],uint256[],uint256[],uint256[],uint256[],uint256[],int256[],address[],uint256[][],uint256[][])"( + _id: BigNumberish, + _recipientSlots: BigNumberish[], + _recipients: string[], + _skillIdSlots: BigNumberish[], + _skillIds: BigNumberish[], + _claimDelaySlots: BigNumberish[], + _claimDelays: BigNumberish[], + _payoutModifierSlots: BigNumberish[], + _payoutModifiers: BigNumberish[], + _payoutTokens: string[], + _payoutSlots: BigNumberish[][], + _payoutValues: BigNumberish[][], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set arbitrary state on an expenditure slot. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _keys Array of additional keys (for mappings & arrays) + * @param _mask Array of booleans indicated whether a key is a mapping (F) or an array index (T). + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _storageSlot Number of the top-level storage slot (25, 26, or 27) + * @param _value Value to set at location + */ + setExpenditureState( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _storageSlot: BigNumberish, + _mask: boolean[], + _keys: Arrayish[], + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set arbitrary state on an expenditure slot. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _keys Array of additional keys (for mappings & arrays) + * @param _mask Array of booleans indicated whether a key is a mapping (F) or an array index (T). + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _storageSlot Number of the top-level storage slot (25, 26, or 27) + * @param _value Value to set at location + */ + "setExpenditureState(uint256,uint256,uint256,uint256,bool[],bytes32[],bytes32)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _storageSlot: BigNumberish, + _mask: boolean[], + _keys: Arrayish[], + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Claim the payout for an expenditure slot. Here the network receives a fee from each payout. + * @param _id Expenditure identifier + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimExpenditurePayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Claim the payout for an expenditure slot. Here the network receives a fee from each payout. + * @param _id Expenditure identifier + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimExpenditurePayout(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of expenditures in the colony. + */ + getExpenditureCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of expenditures in the colony. + */ + "getExpenditureCount()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure. + * @param _id Expenditure identifier + */ + getExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, string, BigNumber, BigNumber, BigNumber, BigNumber] & { + status: number; + owner: string; + fundingPotId: BigNumber; + domainId: BigNumber; + finalizedTimestamp: BigNumber; + globalClaimDelay: BigNumber; + } + >; + + /** + * Returns an existing expenditure. + * @param _id Expenditure identifier + */ + "getExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, string, BigNumber, BigNumber, BigNumber, BigNumber] & { + status: number; + owner: string; + fundingPotId: BigNumber; + domainId: BigNumber; + finalizedTimestamp: BigNumber; + globalClaimDelay: BigNumber; + } + >; + + /** + * Returns an existing expenditure slot. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + */ + getExpenditureSlot( + _id: BigNumberish, + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + claimDelay: BigNumber; + payoutModifier: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * Returns an existing expenditure slot. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + */ + "getExpenditureSlot(uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + claimDelay: BigNumber; + payoutModifier: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * Returns an existing expenditure slot's payout for a token. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + * @param _token Token address + */ + getExpenditureSlotPayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure slot's payout for a token. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + * @param _token Token address + */ + "getExpenditureSlotPayout(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new payment in the colony. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the payment belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + * @param _skillId The skill associated with the payment + * @param _token Address of the token, `0x0` value indicates Ether + */ + addPayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _recipient: string, + _token: string, + _amount: BigNumberish, + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new payment in the colony. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the payment belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + * @param _skillId The skill associated with the payment + * @param _token Address of the token, `0x0` value indicates Ether + */ + "addPayment(uint256,uint256,address,address,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _recipient: string, + _token: string, + _amount: BigNumberish, + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the payment and logs the reputation log updates. Allowed to be called once after payment is fully funded. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + finalizePayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the payment and logs the reputation log updates. Allowed to be called once after payment is fully funded. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "finalizePayment(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the recipient on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + */ + setPaymentRecipient( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the recipient on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + */ + "setPaymentRecipient(uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId Id of the new skill to set + */ + setPaymentSkill( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId Id of the new skill to set + */ + "setPaymentSkill(uint256,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout for a given token on an existing payment. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _token Address of the token, `0x0` value indicates Ether + */ + setPaymentPayout( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout for a given token on an existing payment. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setPaymentPayout(uint256,uint256,uint256,address,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an exiting payment. + * @param _id Payment identifier + */ + getPayment( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + finalized: boolean; + fundingPotId: BigNumber; + domainId: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * Returns an exiting payment. + * @param _id Payment identifier + */ + "getPayment(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + finalized: boolean; + fundingPotId: BigNumber; + domainId: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * 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. + * @param _id Payment identifier + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimPayment( + _id: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Payment identifier + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimPayment(uint256,address)"( + _id: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of payments in the colony. + */ + getPaymentCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of payments in the colony. + */ + "getPaymentCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Make a new task in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the task belongs + * @param _dueDate The due date of the task, can set to `0` for no-op + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId The skill associated with the task, can set to `0` for no-op + * @param _specificationHash Database identifier where the task specification is stored + */ + makeTask( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _specificationHash: Arrayish, + _domainId: BigNumberish, + _skillId: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Make a new task in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the task belongs + * @param _dueDate The due date of the task, can set to `0` for no-op + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId The skill associated with the task, can set to `0` for no-op + * @param _specificationHash Database identifier where the task specification is stored + */ + "makeTask(uint256,uint256,bytes32,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _specificationHash: Arrayish, + _domainId: BigNumberish, + _skillId: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of tasks in the colony. + */ + getTaskCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tasks in the colony. + */ + "getTaskCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Starts from 0 and is incremented on every co-reviewed task change via `executeTaskChange` call. + * @param _id Id of the task + */ + getTaskChangeNonce( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts from 0 and is incremented on every co-reviewed task change via `executeTaskChange` call. + * @param _id Id of the task + */ + "getTaskChangeNonce(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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 + */ + executeTaskChange( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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 + */ + "executeTaskChange(uint8[],bytes32[],bytes32[],uint8[],uint256,bytes)"( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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)"( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _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. + * @param _role Id of the role, as defined in TaskRole enum + */ + submitTaskWorkRating( + _id: BigNumberish, + _role: BigNumberish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _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. + * @param _role Id of the role, as defined in TaskRole enum + */ + "submitTaskWorkRating(uint256,uint8,bytes32)"( + _id: BigNumberish, + _role: BigNumberish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * 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. + * @param _id Id of the task + * @param _rating 0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50) + * @param _role Id of the role, as defined in TaskRole enum + * @param _salt Salt value used to generate the rating secret + */ + revealTaskWorkRating( + _id: BigNumberish, + _role: BigNumberish, + _rating: BigNumberish, + _salt: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * 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. + * @param _id Id of the task + * @param _rating 0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50) + * @param _role Id of the role, as defined in TaskRole enum + * @param _salt Salt value used to generate the rating secret + */ + "revealTaskWorkRating(uint256,uint8,uint8,bytes32)"( + _id: BigNumberish, + _role: BigNumberish, + _rating: BigNumberish, + _salt: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Helper function used to generage consistently the rating secret using salt value `_salt` and value to hide `_value` + * @param _salt Salt value + * @param _value Value to hide + */ + generateSecret( + _salt: Arrayish, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Helper function used to generage consistently the rating secret using salt value `_salt` and value to hide `_value` + * @param _salt Salt value + * @param _value Value to hide + */ + "generateSecret(bytes32,uint256)"( + _salt: Arrayish, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyStorage.RatingSecrets` information for task `_id`. + * @param _id Id of the task + */ + getTaskWorkRatingSecretsInfo( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { + nSecrets: BigNumber; + lastSubmittedAt: BigNumber; + } + >; + + /** + * Get the `ColonyStorage.RatingSecrets` information for task `_id`. + * @param _id Id of the task + */ + "getTaskWorkRatingSecretsInfo(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { + nSecrets: BigNumber; + lastSubmittedAt: BigNumber; + } + >; + + /** + * Get the rating secret submitted for role `_role` in task `_id` + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + getTaskWorkRatingSecret( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the rating secret submitted for role `_role` in task `_id` + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + "getTaskWorkRatingSecret(uint256,uint8)"( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the task + * @param _permissionDomainId The domain ID in which _user has the Administration permission + * @param _user Address of the user we want to give a manager role to + */ + setTaskManagerRole( + _id: BigNumberish, + _user: string, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the task + * @param _permissionDomainId The domain ID in which _user has the Administration permission + * @param _user Address of the user we want to give a manager role to + */ + "setTaskManagerRole(uint256,address,uint256,uint256)"( + _id: BigNumberish, + _user: string, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a evaluator role to + */ + setTaskEvaluatorRole( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a evaluator role to + */ + "setTaskEvaluatorRole(uint256,address)"( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a worker role to + */ + setTaskWorkerRole( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a worker role to + */ + "setTaskWorkerRole(uint256,address)"( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing evaluator role. Agreed between manager and currently assigned evaluator. + * @param _id Id of the task + */ + removeTaskEvaluatorRole( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing evaluator role. Agreed between manager and currently assigned evaluator. + * @param _id Id of the task + */ + "removeTaskEvaluatorRole(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing worker role. Agreed between manager and currently assigned worker. + * @param _id Id of the task + */ + removeTaskWorkerRole( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing worker role. Agreed between manager and currently assigned worker. + * @param _id Id of the task + */ + "removeTaskWorkerRole(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Set the skill for task `_id`. + * @param _id Id of the task + * @param _skillId Id of the skill which has to be a global skill + */ + setTaskSkill( + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Set the skill for task `_id`. + * @param _id Id of the task + * @param _skillId Id of the skill which has to be a global skill + */ + "setTaskSkill(uint256,uint256)"( + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _specificationHash Unique hash of the task brief in ddb + */ + setTaskBrief( + _id: BigNumberish, + _specificationHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _specificationHash Unique hash of the task brief in ddb + */ + "setTaskBrief(uint256,bytes32)"( + _id: BigNumberish, + _specificationHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the due date on task `_id`. Allowed before a task is finalized. + * @param _dueDate Due date as seconds since unix epoch + * @param _id Id of the task + */ + setTaskDueDate( + _id: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the due date on task `_id`. Allowed before a task is finalized. + * @param _dueDate Due date as seconds since unix epoch + * @param _id Id of the task + */ + "setTaskDueDate(uint256,uint256)"( + _id: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.deliverableHash` and `task.completionTimestamp` properties. + * 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. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + */ + submitTaskDeliverable( + _id: BigNumberish, + _deliverableHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.deliverableHash` and `task.completionTimestamp` properties. + * 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. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + */ + "submitTaskDeliverable(uint256,bytes32)"( + _id: BigNumberish, + _deliverableHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Internally call `submitTaskDeliverable` and `submitTaskWorkRating` in sequence. + * Submit the task deliverable for Worker and rating for Manager. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + * @param _ratingSecret Rating secret for manager + */ + submitTaskDeliverableAndRating( + _id: BigNumberish, + _deliverableHash: Arrayish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Internally call `submitTaskDeliverable` and `submitTaskWorkRating` in sequence. + * Submit the task deliverable for Worker and rating for Manager. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + * @param _ratingSecret Rating secret for manager + */ + "submitTaskDeliverableAndRating(uint256,bytes32,bytes32)"( + _id: BigNumberish, + _deliverableHash: Arrayish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.finalized` property to true + * 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. + * @param _id Id of the task + */ + finalizeTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.finalized` property to true + * 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. + * @param _id Id of the task + */ + "finalizeTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.status` property to `1`. + * 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`. + * @param _id Id of the task + */ + cancelTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.status` property to `1`. + * 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`. + * @param _id Id of the task + */ + "cancelTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + */ + completeTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + */ + "completeTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a task with id `_id` + * @param _id Id of the task + */ + getTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + string, + number, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber[] + ] & { + specificationHash: string; + deliverableHash: string; + status: number; + dueDate: BigNumber; + fundingPotId: BigNumber; + completionTimestamp: BigNumber; + domainId: BigNumber; + skillIds: BigNumber[]; + } + >; + + /** + * Get a task with id `_id` + * @param _id Id of the task + */ + "getTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + string, + number, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber[] + ] & { + specificationHash: string; + deliverableHash: string; + status: number; + dueDate: BigNumber; + fundingPotId: BigNumber; + completionTimestamp: BigNumber; + domainId: BigNumber; + skillIds: BigNumber[]; + } + >; + + /** + * Get the `Role` properties back for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + getTaskRole( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, number] & { + user: string; + rateFail: boolean; + rating: number; + } + >; + + /** + * Get the `Role` properties back for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + "getTaskRole(uint256,uint8)"( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, number] & { + user: string; + rateFail: boolean; + rating: number; + } + >; + + /** + * Set the reward inverse to pay out from revenue. e.g. if the fee is 1% (or 0.01), set 100. + * @param _rewardInverse The inverse of the reward + */ + setRewardInverse( + _rewardInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the reward inverse to pay out from revenue. e.g. if the fee is 1% (or 0.01), set 100. + * @param _rewardInverse The inverse of the reward + */ + "setRewardInverse(uint256)"( + _rewardInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return 1 / the reward to pay out from revenue. e.g. if the fee is 1% (or 0.01), return 100. + */ + getRewardInverse(overrides?: TransactionOverrides): Promise; + + /** + * Return 1 / the reward to pay out from revenue. e.g. if the fee is 1% (or 0.01), return 100. + */ + "getRewardInverse()"(overrides?: TransactionOverrides): Promise; + + /** + * Get payout amount in `_token` denomination for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + getTaskPayout( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get payout amount in `_token` denomination for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getTaskPayout(uint256,uint8,address)"( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for manager in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskManagerPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for manager in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskManagerPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for evaluator in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskEvaluatorPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for evaluator in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskEvaluatorPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for worker in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskWorkerPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for worker in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskWorkerPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only call if evaluator and worker are unassigned or manager, otherwise need signature. + * Set `_token` payout for all roles in task `_id` to the respective amounts. + * @param _evaluatorAmount Payout amount for evaluator + * @param _id Id of the task + * @param _managerAmount Payout amount for manager + * @param _token Address of the token, `0x0` value indicates Ether + * @param _workerAmount Payout amount for worker + */ + setAllTaskPayouts( + _id: BigNumberish, + _token: string, + _managerAmount: BigNumberish, + _evaluatorAmount: BigNumberish, + _workerAmount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only call if evaluator and worker are unassigned or manager, otherwise need signature. + * Set `_token` payout for all roles in task `_id` to the respective amounts. + * @param _evaluatorAmount Payout amount for evaluator + * @param _id Id of the task + * @param _managerAmount Payout amount for manager + * @param _token Address of the token, `0x0` value indicates Ether + * @param _workerAmount Payout amount for worker + */ + "setAllTaskPayouts(uint256,address,uint256,uint256,uint256)"( + _id: BigNumberish, + _token: string, + _managerAmount: BigNumberish, + _evaluatorAmount: BigNumberish, + _workerAmount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimTaskPayout( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimTaskPayout(uint256,uint8,address)"( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * @param _token Address of the token used for reward payout + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + startNextRewardPayout( + _token: string, + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * @param _token Address of the token used for reward payout + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + "startNextRewardPayout(address,bytes,bytes,uint256,bytes32[])"( + _token: string, + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + * @param _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. + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + claimRewardPayout( + _payoutId: BigNumberish, + _squareRoots: BigNumberish[], + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + * @param _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. + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + "claimRewardPayout(uint256,uint256[7],bytes,bytes,uint256,bytes32[])"( + _payoutId: BigNumberish, + _squareRoots: BigNumberish[], + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Get useful information about specific reward payout. + * @param _payoutId Id of the reward payout + */ + getRewardPayoutInfo( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + BigNumber, + BigNumber, + BigNumber, + string, + BigNumber, + BigNumber, + boolean + ] & { + reputationState: string; + colonyWideReputation: BigNumber; + totalTokens: BigNumber; + amount: BigNumber; + tokenAddress: string; + blockTimestamp: BigNumber; + amountRemaining: BigNumber; + finalized: boolean; + } + >; + + /** + * Get useful information about specific reward payout. + * @param _payoutId Id of the reward payout + */ + "getRewardPayoutInfo(uint256)"( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + BigNumber, + BigNumber, + BigNumber, + string, + BigNumber, + BigNumber, + boolean + ] & { + reputationState: string; + colonyWideReputation: BigNumber; + totalTokens: BigNumber; + amount: BigNumber; + tokenAddress: string; + blockTimestamp: BigNumber; + amountRemaining: BigNumber; + finalized: boolean; + } + >; + + /** + * 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. + * @param _payoutId Id of the reward payout + */ + finalizeRewardPayout( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + */ + "finalizeRewardPayout(uint256)"( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the reward funding pot (e.g. id: 0) this returns (0, 0, 0). + * Get the non-mapping properties of a pot by id. + * @param _id Id of the pot which details to get + */ + getFundingPot( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, BigNumber, BigNumber] & { + associatedType: number; + associatedTypeId: BigNumber; + payoutsWeCannotMake: BigNumber; + } + >; + + /** + * For the reward funding pot (e.g. id: 0) this returns (0, 0, 0). + * Get the non-mapping properties of a pot by id. + * @param _id Id of the pot which details to get + */ + "getFundingPot(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, BigNumber, BigNumber] & { + associatedType: number; + associatedTypeId: BigNumber; + payoutsWeCannotMake: BigNumber; + } + >; + + /** + * Get the number of funding pots in the colony. + */ + getFundingPotCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of funding pots in the colony. + */ + "getFundingPotCount()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `_token` balance of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + getFundingPotBalance( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `_token` balance of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getFundingPotBalance(uint256,address)"( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the assigned `_token` payouts of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + getFundingPotPayout( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the assigned `_token` payouts of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getFundingPotPayout(uint256,address)"( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Move a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _childSkillIndex The child index in _permissionDomainId where I will be taking this action + * @param _domainId The domain where I am taking this action, pointed to by _permissionDomainId and _childSkillIndex + * @param _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 + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The same, but for the _toPot which the funds are being moved to + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + moveFundsBetweenPots( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Move a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _childSkillIndex The child index in _permissionDomainId where I will be taking this action + * @param _domainId The domain where I am taking this action, pointed to by _permissionDomainId and _childSkillIndex + * @param _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 + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The same, but for the _toPot which the funds are being moved to + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedMove a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _fromChildSkillIndex The child index in `_permissionDomainId` where we can find the domain for `_fromPotId` + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The child index in `_permissionDomainId` where we can find the domain for `_toPotId` + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimColonyFunds( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimColonyFunds(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the total amount of tokens `_token` minus amount reserved to be paid to the reputation and token holders as rewards. + * @param _token Address of the token, `0x0` value indicates Ether + */ + getNonRewardPotsTotal( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the total amount of tokens `_token` minus amount reserved to be paid to the reputation and token holders as rewards. + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getNonRewardPotsTotal(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Allow the _approvee to obligate some amount of tokens as a stake. + * @param _amount Amount of internal token up to which we are willing to be obligated. + * @param _approvee Address of the account we are willing to let obligate us. + * @param _domainId Domain in which we are willing to be obligated. + */ + approveStake( + _approvee: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Allow the _approvee to obligate some amount of tokens as a stake. + * @param _amount Amount of internal token up to which we are willing to be obligated. + * @param _approvee Address of the account we are willing to let obligate us. + * @param _domainId Domain in which we are willing to be obligated. + */ + "approveStake(address,uint256,uint256)"( + _approvee: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Obligate the user some amount of tokens as a stake. + * @param _amount Amount of internal token we are obligating. + * @param _domainId Domain in which we are obligating the user. + * @param _user Address of the account we are obligating. + */ + obligateStake( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Obligate the user some amount of tokens as a stake. + * @param _amount Amount of internal token we are obligating. + * @param _domainId Domain in which we are obligating the user. + * @param _user Address of the account we are obligating. + */ + "obligateStake(address,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deobligate the user some amount of tokens, releasing the stake. + * @param _amount Amount of internal token we are deobligating. + * @param _domainId Domain in which we are deobligating the user. + * @param _user Address of the account we are deobligating. + */ + deobligateStake( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deobligate the user some amount of tokens, releasing the stake. + * @param _amount Amount of internal token we are deobligating. + * @param _domainId Domain in which we are deobligating the user. + * @param _user Address of the account we are deobligating. + */ + "deobligateStake(address,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Transfer some amount of obligated tokens. Can be called by the arbitration role. + * @param _amount Amount of internal token we are transferring. + * @param _childSkillIndex The child index in `_permissionDomainId` where we can find `_domainId`. + * @param _domainId Domain in which we are transferring the tokens. + * @param _obligator Address of the account who set the obligation. + * @param _permissionDomainId The domainId in which I have the permission to take this action. + * @param _recipient Recipient of the transferred tokens. + * @param _user Address of the account we are transferring. + */ + transferStake( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _obligator: string, + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Transfer some amount of obligated tokens. Can be called by the arbitration role. + * @param _amount Amount of internal token we are transferring. + * @param _childSkillIndex The child index in `_permissionDomainId` where we can find `_domainId`. + * @param _domainId Domain in which we are transferring the tokens. + * @param _obligator Address of the account who set the obligation. + * @param _permissionDomainId The domainId in which I have the permission to take this action. + * @param _recipient Recipient of the transferred tokens. + * @param _user Address of the account we are transferring. + */ + "transferStake(uint256,uint256,address,address,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _obligator: string, + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an approval to obligate tokens. + * @param _domainId Domain in which we are willing to be obligated. + * @param _obligator Address of the account we are willing to let obligate us. + * @param _user User allowing their tokens to be obligated. + */ + getApproval( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an approval to obligate tokens. + * @param _domainId Domain in which we are willing to be obligated. + * @param _obligator Address of the account we are willing to let obligate us. + * @param _user User allowing their tokens to be obligated. + */ + "getApproval(address,address,uint256)"( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an obligation of tokens. + * @param _domainId Domain in which we are obligated. + * @param _obligator Address of the account who obligated us. + * @param _user User whose tokens are obligated. + */ + getObligation( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an obligation of tokens. + * @param _domainId Domain in which we are obligated. + * @param _obligator Address of the account who obligated us. + * @param _user User whose tokens are obligated. + */ + "getObligation(address,address,uint256)"( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the domain corresponding to a funding pot + * @param _fundingPotId Id of the funding pot + */ + getDomainFromFundingPot( + _fundingPotId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the domain corresponding to a funding pot + * @param _fundingPotId Id of the funding pot + */ + "getDomainFromFundingPot(uint256)"( + _fundingPotId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Burn tokens held by the colony. Can only burn tokens held in the root funding pot. + * @param amount The amount of tokens to burn + * @param token The address of the token to burn + */ + burnTokens( + token: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Burn tokens held by the colony. Can only burn tokens held in the root funding pot. + * @param amount The amount of tokens to burn + * @param token The address of the token to burn + */ + "burnTokens(address,uint256)"( + token: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * unlock the native colony token, if possible + */ + unlockToken(overrides?: TransactionOverrides): Promise; + + /** + * unlock the native colony token, if possible + */ + "unlockToken()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the internal bookkeeping around external ERC20 approvals + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + updateApprovalAmount( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the internal bookkeeping around external ERC20 approvals + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + "updateApprovalAmount(address,address)"( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current approval amount + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + getTokenApproval( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current approval amount + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + "getTokenApproval(address,address)"( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current total approval amount across all spenders + * @param token The address of the token which was approved + */ + getTotalTokenApproval( + token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current total approval amount across all spenders + * @param token The address of the token which was approved + */ + "getTotalTokenApproval(address)"( + token: string, + overrides?: TransactionOverrides + ): Promise; + }; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + approveExitRecovery( + overrides?: TransactionOverrides + ): Promise; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + "approveExitRecovery()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + checkNotAdditionalProtectedVariable( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + "checkNotAdditionalProtectedVariable(uint256)"( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + enterRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + "enterRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + executeMetaTransaction( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + exitRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + "exitRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Is colony network in recovery mode. + */ + isInRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Is colony network in recovery mode. + */ + "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + numRecoveryRoles(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + "numRecoveryRoles()"(overrides?: TransactionOverrides): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + removeRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + "removeRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + setRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + "setRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + setStorageSlotRecovery( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + "setStorageSlotRecovery(uint256,bytes32)"( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyAuthority` for the colony. + */ + authority(overrides?: TransactionOverrides): Promise; + + /** + * Get the `ColonyAuthority` for the colony. + */ + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Used for testing. + * Get the colony `owner` address. This should be address(0x0) at all times. + */ + owner(overrides?: TransactionOverrides): Promise; + + /** + * Used for testing. + * Get the colony `owner` address. This should be address(0x0) at all times. + */ + "owner()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the Colony contract version. Starts from 1 and is incremented with every deployed contract change. + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Get the Colony contract version. Starts from 1 and is incremented with every deployed contract change. + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Downgrades are not allowed, i.e. `_newVersion` should be higher than the currect colony version. + * Upgrades a colony to a new Colony contract version `_newVersion`. + * @param _newVersion The target version for the upgrade + */ + upgrade( + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Downgrades are not allowed, i.e. `_newVersion` should be higher than the currect colony version. + * Upgrades a colony to a new Colony contract version `_newVersion`. + * @param _newVersion The target version for the upgrade + */ + "upgrade(uint256)"( + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * A function to be called after an upgrade has been done from v2 to v3. + */ + finishUpgrade(overrides?: TransactionOverrides): Promise; + + /** + * 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. + * A function to be called after an upgrade has been done from v2 to v3. + */ + "finishUpgrade()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * The colonyNetworkAddress we read here is set once, during `initialiseColony`. + * Returns the colony network address set on the Colony. + */ + getColonyNetwork(overrides?: TransactionOverrides): Promise; + + /** + * The colonyNetworkAddress we read here is set once, during `initialiseColony`. + * Returns the colony network address set on the Colony. + */ + "getColonyNetwork()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the colony token. + */ + getToken(overrides?: TransactionOverrides): Promise; + + /** + * Get the colony token. + */ + "getToken()"(overrides?: TransactionOverrides): Promise; + + /** + * @deprecatedExecute arbitrary transaction on behalf of the Colony + * @param _action Bytes array encoding the function call and arguments + * @param _to Contract to receive the function call (cannot be this contract, network or token locking) + */ + makeArbitraryTransaction( + _to: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedExecute arbitrary transaction on behalf of the Colony + * @param _action Bytes array encoding the function call and arguments + * @param _to Contract to receive the function call (cannot be this contract, network or token locking) + */ + "makeArbitraryTransaction(address,bytes)"( + _to: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Execute arbitrary transactions on behalf of the Colony in series + * @param _actions Array of Bytes arrays encoding the function calls and arguments + * @param _strict Boolean indicating whether if one transaction fails, the whole call to this function should fail. + * @param _targets Array of addressed to be targeted + */ + makeArbitraryTransactions( + _targets: string[], + _actions: Arrayish[], + _strict: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Execute arbitrary transactions on behalf of the Colony in series + * @param _actions Array of Bytes arrays encoding the function calls and arguments + * @param _strict Boolean indicating whether if one transaction fails, the whole call to this function should fail. + * @param _targets Array of addressed to be targeted + */ + "makeArbitraryTransactions(address[],bytes[],bool)"( + _targets: string[], + _actions: Arrayish[], + _strict: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the colony itself. If you wish to use this functionality, you should use the makeAbitraryTransactions function + * Executes a single arbitrary transaction + * @param _action Bytes array encoding the function call and arguments + * @param _target Contract to receive the function call + */ + makeSingleArbitraryTransaction( + _target: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the colony itself. If you wish to use this functionality, you should use the makeAbitraryTransactions function + * Executes a single arbitrary transaction + * @param _action Bytes array encoding the function call and arguments + * @param _target Contract to receive the function call + */ + "makeSingleArbitraryTransaction(address,bytes)"( + _target: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a metadata string for a transaction + * @param _metadata String of metadata for tx + * @param _txHash Hash of transaction being annotated (0x0 for current tx) + */ + annotateTransaction( + _txHash: Arrayish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a metadata string for a transaction + * @param _metadata String of metadata for tx + * @param _txHash Hash of transaction being annotated (0x0 for current tx) + */ + "annotateTransaction(bytes32,string)"( + _txHash: Arrayish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony root role. Can be called by root role only. + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an root role to + */ + setRootRole( + _user: string, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony root role. Can be called by root role only. + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an root role to + */ + "setRootRole(address,bool)"( + _user: string, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony arbitration role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an arbitration role to + */ + setArbitrationRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony arbitration role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an arbitration role to + */ + "setArbitrationRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony architecture role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an architecture role to + */ + setArchitectureRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony architecture role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an architecture role to + */ + "setArchitectureRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony funding role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an funding role to + */ + setFundingRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony funding role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an funding role to + */ + "setFundingRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony admin role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an admin role to + */ + setAdministrationRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony admin role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an admin role to + */ + "setAdministrationRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set several roles in one transaction. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _roles Byte array representing the desired role setting (1 for on, 0 for off) + * @param _user User we want to give a role to + */ + setUserRoles( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _roles: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set several roles in one transaction. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _roles Byte array representing the desired role setting (1 for on, 0 for off) + * @param _user User we want to give a role to + */ + "setUserRoles(uint256,uint256,address,uint256,bytes32)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _roles: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _domainId The domain where we want to check for the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + hasUserRole( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _domainId The domain where we want to check for the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + "hasUserRole(address,uint256,uint8)"( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 inheritance validator function + * @param _childDomainId The domain where we want to use the role + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + hasInheritedUserRole( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 inheritance validator function + * @param _childDomainId The domain where we want to use the role + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + "hasInheritedUserRole(address,uint256,uint8,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _childDomainId The domain where we want to edit roles + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role (currently Root or Architecture) + * @param _user The user whose permissions we want to check + */ + userCanSetRoles( + _user: string, + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _childDomainId The domain where we want to edit roles + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role (currently Root or Architecture) + * @param _user The user whose permissions we want to check + */ + "userCanSetRoles(address,uint256,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles for a user in a given domain + * @param _domain The domain we want to get roles in + * @param _user The user whose roles we want to get + */ + getUserRoles( + _user: string, + _domain: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles for a user in a given domain + * @param _domain The domain we want to get roles in + * @param _user The user whose roles we want to get + */ + "getUserRoles(address,uint256)"( + _user: string, + _domain: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles authorized to call a function + * @param _sig The function signature + */ + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles authorized to call a function + * @param _sig The function signature + */ + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive domain reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _domainId The domain where the user will gain reputation + * @param _user The user who will gain reputation + */ + emitDomainReputationReward( + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive domain reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _domainId The domain where the user will gain reputation + * @param _user The user who will gain reputation + */ + "emitDomainReputationReward(uint256,address,int256)"( + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive skill reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _skillId The skill where the user will gain reputation + * @param _user The user who will gain reputation + */ + emitSkillReputationReward( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive skill reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _skillId The skill where the user will gain reputation + * @param _user The user who will gain reputation + */ + "emitSkillReputationReward(uint256,address,int256)"( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative domain reputation update. Available only to Arbitration role holders + * @param _amount The (negative) amount of reputation to lose + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the user will lose reputation + * @param _permissionDomainId The domainId in which I hold the Arbitration role + * @param _user The user who will lose reputation + */ + emitDomainReputationPenalty( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative domain reputation update. Available only to Arbitration role holders + * @param _amount The (negative) amount of reputation to lose + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the user will lose reputation + * @param _permissionDomainId The domainId in which I hold the Arbitration role + * @param _user The user who will lose reputation + */ + "emitDomainReputationPenalty(uint256,uint256,uint256,address,int256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative skill reputation update. Available only to Arbitration role holders in the root domain + * @param _amount The (negative) amount of reputation to lose + * @param _skillId The skill where the user will lose reputation + * @param _user The user who will lose reputation + */ + emitSkillReputationPenalty( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative skill reputation update. Available only to Arbitration role holders in the root domain + * @param _amount The (negative) amount of reputation to lose + * @param _skillId The skill where the user will lose reputation + * @param _user The user who will lose reputation + */ + "emitSkillReputationPenalty(uint256,address,int256)"( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the reward inverse to the uint max 2**256 - 1. + * Called once when the colony is created to initialise certain storage slot values. + * @param _colonyNetworkAddress Address of the colony network + * @param _token Address of the colony ERC20 Token + */ + initialiseColony( + _colonyNetworkAddress: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the reward inverse to the uint max 2**256 - 1. + * Called once when the colony is created to initialise certain storage slot values. + * @param _colonyNetworkAddress Address of the colony network + * @param _token Address of the colony ERC20 Token + */ + "initialiseColony(address,address)"( + _colonyNetworkAddress: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _metadata IPFS hash of the metadata + */ + editColony( + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _metadata IPFS hash of the metadata + */ + "editColony(string)"( + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to change the metadata associated with a colony. Expected to be a IPFS hash of a delta to a JSON blob, but not enforced to any degree by the contracts + * @param _metadataDelta IPFS hash of the metadata delta + */ + editColonyByDelta( + _metadataDelta: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to change the metadata associated with a colony. Expected to be a IPFS hash of a delta to a JSON blob, but not enforced to any degree by the contracts + * @param _metadataDelta IPFS hash of the metadata delta + */ + "editColonyByDelta(string)"( + _metadataDelta: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be called when `taskCount` is `0` by authorized addresses. + * 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. + * @param _amount Amount of reputation/tokens for every address + * @param _users Array of address to bootstrap with reputation + */ + bootstrapColony( + _users: string[], + _amount: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be called when `taskCount` is `0` by authorized addresses. + * 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. + * @param _amount Amount of reputation/tokens for every address + * @param _users Array of address to bootstrap with reputation + */ + "bootstrapColony(address[],int256[])"( + _users: string[], + _amount: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens. Secured function to authorised members. + * @param _wad Amount to mint + */ + mintTokens( + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens. Secured function to authorised members. + * @param _wad Amount to mint + */ + "mintTokens(uint256)"( + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens and send to `_guy`. Secured function to authorised members. + * @param _guy Recipient of new tokens + * @param _wad Amount to mint + */ + mintTokensFor( + _guy: string, + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens and send to `_guy`. Secured function to authorised members. + * @param _guy Recipient of new tokens + * @param _wad Amount to mint + */ + "mintTokensFor(address,uint256)"( + _guy: string, + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Lock the colony's token. Can only be called by a network-managed extension. + */ + lockToken(overrides?: TransactionOverrides): Promise; + + /** + * Lock the colony's token. Can only be called by a network-managed extension. + */ + "lockToken()"(overrides?: TransactionOverrides): Promise; + + /** + * Unlock the colony's token for a user. Can only be called by a network-managed extension. + * @param lockId The specific lock to unlock + * @param user The user to unlock + */ + unlockTokenForUser( + user: string, + lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unlock the colony's token for a user. Can only be called by a network-managed extension. + * @param lockId The specific lock to unlock + * @param user The user to unlock + */ + "unlockTokenForUser(address,uint256)"( + user: string, + lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register colony's ENS label. + * @param colonyName The label to register. + * @param orbitdb The path of the orbitDB database associated with the colony name + */ + registerColonyLabel( + colonyName: string, + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register colony's ENS label. + * @param colonyName The label to register. + * @param orbitdb The path of the orbitDB database associated with the colony name + */ + "registerColonyLabel(string,string)"( + colonyName: string, + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param orbitdb The path of the orbitDB database to be associated with the colony + */ + updateColonyOrbitDB( + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param orbitdb The path of the orbitDB database to be associated with the colony + */ + "updateColonyOrbitDB(string)"( + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension to the colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param version The new extension version to install + */ + installExtension( + extensionId: Arrayish, + version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension to the colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param version The new extension version to install + */ + "installExtension(bytes32,uint256)"( + extensionId: Arrayish, + version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param newVersion The version to upgrade to (must be one larger than the current version) + */ + upgradeExtension( + extensionId: Arrayish, + newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param newVersion The version to upgrade to (must be one larger than the current version) + */ + "upgradeExtension(bytes32,uint256)"( + extensionId: Arrayish, + newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Secured function to authorised members. + * @param deprecated Whether to deprecate the extension or not + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + deprecateExtension( + extensionId: Arrayish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Secured function to authorised members. + * @param deprecated Whether to deprecate the extension or not + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + "deprecateExtension(bytes32,bool)"( + extensionId: Arrayish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * Uninstall an extension from a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + uninstallExtension( + extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * Uninstall an extension from a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + "uninstallExtension(bytes32)"( + extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skill tree for the colony. + */ + initialiseRootLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skill tree for the colony. + */ + "initialiseRootLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new local skill for the colony. Secured function to authorised members. + */ + addLocalSkill(overrides?: TransactionOverrides): Promise; + + /** + * Add a new local skill for the colony. Secured function to authorised members. + */ + "addLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a local skill for the colony. Secured function to authorised members. + * @param deprecated Deprecation status to set for the skill + * @param localSkillId Id for the local skill + */ + deprecateLocalSkill( + localSkillId: BigNumberish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a local skill for the colony. Secured function to authorised members. + * @param deprecated Deprecation status to set for the skill + * @param localSkillId Id for the local skill + */ + "deprecateLocalSkill(uint256,bool)"( + localSkillId: BigNumberish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the root local skill id + */ + getRootLocalSkill(overrides?: TransactionOverrides): Promise; + + /** + * Get the root local skill id + */ + "getRootLocalSkill()"(overrides?: TransactionOverrides): Promise; + + /** + * Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + addDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "addDomain(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "addDomain(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Id of the domain being edited + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + editDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Id of the domain being edited + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "editDomain(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a domain, preventing certain actions from happening there + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _deprecated Whether or not the domain is deprecated + * @param _domainId Id of the domain being deprecated + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + deprecateDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a domain, preventing certain actions from happening there + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _deprecated Whether or not the domain is deprecated + * @param _domainId Id of the domain being deprecated + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "deprecateDomain(uint256,uint256,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a domain by id. + * @param _id Id of the domain which details to get + */ + getDomain( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { skillId: BigNumber; fundingPotId: BigNumber } + >; + + /** + * Get a domain by id. + * @param _id Id of the domain which details to get + */ + "getDomain(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { skillId: BigNumber; fundingPotId: BigNumber } + >; + + /** + * Get the number of domains in the colony. + */ + getDomainCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of domains in the colony. + */ + "getDomainCount()"(overrides?: TransactionOverrides): Promise; + + /** + * 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. + * Helper function that can be used by a client to verify the correctness of a patricia proof they have been supplied with. + * @param branchMask The branchmask of the proof + * @param key The key of the element the proof is for. + * @param siblings The siblings of the proof + * @param value The value of the element that the proof is for. + */ + verifyReputationProof( + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Helper function that can be used by a client to verify the correctness of a patricia proof they have been supplied with. + * @param branchMask The branchmask of the proof + * @param key The key of the element the proof is for. + * @param siblings The siblings of the proof + * @param value The value of the element that the proof is for. + */ + "verifyReputationProof(bytes,bytes,uint256,bytes32[])"( + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the default global claim delay for expenditures + * @param _globalClaimDelay The new default global claim delay + */ + setDefaultGlobalClaimDelay( + _globalClaimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the default global claim delay for expenditures + * @param _globalClaimDelay The new default global claim delay + */ + "setDefaultGlobalClaimDelay(uint256)"( + _globalClaimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new expenditure in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the expenditure belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + makeExpenditure( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new expenditure in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the expenditure belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "makeExpenditure(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Updates the expenditure owner. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + */ + transferExpenditure( + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Updates the expenditure owner. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + */ + "transferExpenditure(uint256,address)"( + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future version + * @deprecatedUpdates the expenditure owner. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + transferExpenditureViaArbitration( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future version + * @deprecatedUpdates the expenditure owner. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "transferExpenditureViaArbitration(uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Cancels the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + cancelExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Cancels the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "cancelExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Locks the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + lockExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Locks the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "lockExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the expenditure and allows for funds to be claimed. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + finalizeExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the expenditure and allows for funds to be claimed. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "finalizeExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the metadata for an expenditure. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + setExpenditureMetadata( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the metadata for an expenditure. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "setExpenditureMetadata(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the metadata for an expenditure. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + */ + "setExpenditureMetadata(uint256,string)"( + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSets the recipient on an expenditure slot. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipient Address of the recipient + * @param _slot Slot for the recipient address + */ + setExpenditureRecipient( + _id: BigNumberish, + _slot: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSets the recipient on an expenditure slot. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipient Address of the recipient + * @param _slot Slot for the recipient address + */ + "setExpenditureRecipient(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the recipients in given expenditure slots. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipients Addresses of the recipients + * @param _slots Array of slots to set recipients + */ + setExpenditureRecipients( + _id: BigNumberish, + _slots: BigNumberish[], + _recipients: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the recipients in given expenditure slots. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipients Addresses of the recipients + * @param _slots Array of slots to set recipients + */ + "setExpenditureRecipients(uint256,uint256[],address[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _recipients: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Set the token payouts in given expenditure slots. Can only be called by expenditure owner. + * @param _amounts Payout amounts + * @param _id Id of the expenditure + * @param _slots Array of slots to set payouts + * @param _token Address of the token, `0x0` value indicates Ether + */ + setExpenditurePayouts( + _id: BigNumberish, + _slots: BigNumberish[], + _token: string, + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Set the token payouts in given expenditure slots. Can only be called by expenditure owner. + * @param _amounts Payout amounts + * @param _id Id of the expenditure + * @param _slots Array of slots to set payouts + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayouts(uint256,uint256[],address,uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _token: string, + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSet the token payout on an expenditure slot. Can only be called by expenditure owner. + * @param _amount Payout amount + * @param _id Id of the expenditure + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + setExpenditurePayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSet the token payout on an expenditure slot. Can only be called by expenditure owner. + * @param _amount Payout amount + * @param _id Id of the expenditure + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayout(uint256,uint256,address,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the token payout in a given expenditure slot. Can only be called by an Arbitration user. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _slot The slot to set the payout + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayout(uint256,uint256,uint256,uint256,address,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillId Id of the new skill to set + * @param _slot Number of the slot + */ + setExpenditureSkill( + _id: BigNumberish, + _slot: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillId Id of the new skill to set + * @param _slot Number of the slot + */ + "setExpenditureSkill(uint256,uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillIds Ids of the new skills to set + * @param _slots Array of slots to set skills + */ + setExpenditureSkills( + _id: BigNumberish, + _slots: BigNumberish[], + _skillIds: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillIds Ids of the new skills to set + * @param _slots Array of slots to set skills + */ + "setExpenditureSkills(uint256,uint256[],uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _skillIds: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the claim delay on an expenditure slot. Can only be called by expenditure owner. + * @param _claimDelay Duration of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slot Number of the slot + */ + setExpenditureClaimDelay( + _id: BigNumberish, + _slot: BigNumberish, + _claimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the claim delay on an expenditure slot. Can only be called by expenditure owner. + * @param _claimDelay Duration of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slot Number of the slot + */ + "setExpenditureClaimDelay(uint256,uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _claimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the claim delays in given expenditure slots. Can only be called by expenditure owner. + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slots Array of slots to set claim delays + */ + setExpenditureClaimDelays( + _id: BigNumberish, + _slots: BigNumberish[], + _claimDelays: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the claim delays in given expenditure slots. Can only be called by expenditure owner. + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slots Array of slots to set claim delays + */ + "setExpenditureClaimDelays(uint256,uint256[],uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _claimDelays: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout modifiers in given expenditure slots. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _slots Array of slots to set payout modifiers + */ + setExpenditurePayoutModifiers( + _id: BigNumberish, + _slots: BigNumberish[], + _payoutModifiers: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout modifiers in given expenditure slots. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _slots Array of slots to set payout modifiers + */ + "setExpenditurePayoutModifiers(uint256,uint256[],int256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _payoutModifiers: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set many values of an expenditure simultaneously. Can only be called by expenditure owner. + * @param _claimDelaySlots Array of slots to set claim delays + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _payoutModifierSlots Array of slots to set payout modifiers + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _payoutSlots 2-dimensional array of slots to set payouts + * @param _payoutTokens Addresses of the tokens, `0x0` value indicates Ether + * @param _payoutValues 2-dimensional array of the payout amounts + * @param _recipientSlots Array of slots to set recipients + * @param _recipients Addresses of the recipients + * @param _skillIdSlots Array of slots to set skills + * @param _skillIds Ids of the new skills to set + */ + setExpenditureValues( + _id: BigNumberish, + _recipientSlots: BigNumberish[], + _recipients: string[], + _skillIdSlots: BigNumberish[], + _skillIds: BigNumberish[], + _claimDelaySlots: BigNumberish[], + _claimDelays: BigNumberish[], + _payoutModifierSlots: BigNumberish[], + _payoutModifiers: BigNumberish[], + _payoutTokens: string[], + _payoutSlots: BigNumberish[][], + _payoutValues: BigNumberish[][], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set many values of an expenditure simultaneously. Can only be called by expenditure owner. + * @param _claimDelaySlots Array of slots to set claim delays + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _payoutModifierSlots Array of slots to set payout modifiers + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _payoutSlots 2-dimensional array of slots to set payouts + * @param _payoutTokens Addresses of the tokens, `0x0` value indicates Ether + * @param _payoutValues 2-dimensional array of the payout amounts + * @param _recipientSlots Array of slots to set recipients + * @param _recipients Addresses of the recipients + * @param _skillIdSlots Array of slots to set skills + * @param _skillIds Ids of the new skills to set + */ + "setExpenditureValues(uint256,uint256[],address[],uint256[],uint256[],uint256[],uint256[],uint256[],int256[],address[],uint256[][],uint256[][])"( + _id: BigNumberish, + _recipientSlots: BigNumberish[], + _recipients: string[], + _skillIdSlots: BigNumberish[], + _skillIds: BigNumberish[], + _claimDelaySlots: BigNumberish[], + _claimDelays: BigNumberish[], + _payoutModifierSlots: BigNumberish[], + _payoutModifiers: BigNumberish[], + _payoutTokens: string[], + _payoutSlots: BigNumberish[][], + _payoutValues: BigNumberish[][], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set arbitrary state on an expenditure slot. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _keys Array of additional keys (for mappings & arrays) + * @param _mask Array of booleans indicated whether a key is a mapping (F) or an array index (T). + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _storageSlot Number of the top-level storage slot (25, 26, or 27) + * @param _value Value to set at location + */ + setExpenditureState( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _storageSlot: BigNumberish, + _mask: boolean[], + _keys: Arrayish[], + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set arbitrary state on an expenditure slot. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _keys Array of additional keys (for mappings & arrays) + * @param _mask Array of booleans indicated whether a key is a mapping (F) or an array index (T). + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _storageSlot Number of the top-level storage slot (25, 26, or 27) + * @param _value Value to set at location + */ + "setExpenditureState(uint256,uint256,uint256,uint256,bool[],bytes32[],bytes32)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _storageSlot: BigNumberish, + _mask: boolean[], + _keys: Arrayish[], + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Claim the payout for an expenditure slot. Here the network receives a fee from each payout. + * @param _id Expenditure identifier + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimExpenditurePayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Claim the payout for an expenditure slot. Here the network receives a fee from each payout. + * @param _id Expenditure identifier + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimExpenditurePayout(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of expenditures in the colony. + */ + getExpenditureCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of expenditures in the colony. + */ + "getExpenditureCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Returns an existing expenditure. + * @param _id Expenditure identifier + */ + getExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, string, BigNumber, BigNumber, BigNumber, BigNumber] & { + status: number; + owner: string; + fundingPotId: BigNumber; + domainId: BigNumber; + finalizedTimestamp: BigNumber; + globalClaimDelay: BigNumber; + } + >; + + /** + * Returns an existing expenditure. + * @param _id Expenditure identifier + */ + "getExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, string, BigNumber, BigNumber, BigNumber, BigNumber] & { + status: number; + owner: string; + fundingPotId: BigNumber; + domainId: BigNumber; + finalizedTimestamp: BigNumber; + globalClaimDelay: BigNumber; + } + >; + + /** + * Returns an existing expenditure slot. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + */ + getExpenditureSlot( + _id: BigNumberish, + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + claimDelay: BigNumber; + payoutModifier: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * Returns an existing expenditure slot. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + */ + "getExpenditureSlot(uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + claimDelay: BigNumber; + payoutModifier: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * Returns an existing expenditure slot's payout for a token. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + * @param _token Token address + */ + getExpenditureSlotPayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure slot's payout for a token. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + * @param _token Token address + */ + "getExpenditureSlotPayout(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new payment in the colony. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the payment belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + * @param _skillId The skill associated with the payment + * @param _token Address of the token, `0x0` value indicates Ether + */ + addPayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _recipient: string, + _token: string, + _amount: BigNumberish, + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new payment in the colony. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the payment belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + * @param _skillId The skill associated with the payment + * @param _token Address of the token, `0x0` value indicates Ether + */ + "addPayment(uint256,uint256,address,address,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _recipient: string, + _token: string, + _amount: BigNumberish, + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the payment and logs the reputation log updates. Allowed to be called once after payment is fully funded. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + finalizePayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the payment and logs the reputation log updates. Allowed to be called once after payment is fully funded. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "finalizePayment(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the recipient on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + */ + setPaymentRecipient( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the recipient on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + */ + "setPaymentRecipient(uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId Id of the new skill to set + */ + setPaymentSkill( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId Id of the new skill to set + */ + "setPaymentSkill(uint256,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout for a given token on an existing payment. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _token Address of the token, `0x0` value indicates Ether + */ + setPaymentPayout( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout for a given token on an existing payment. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setPaymentPayout(uint256,uint256,uint256,address,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an exiting payment. + * @param _id Payment identifier + */ + getPayment( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + finalized: boolean; + fundingPotId: BigNumber; + domainId: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * Returns an exiting payment. + * @param _id Payment identifier + */ + "getPayment(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + finalized: boolean; + fundingPotId: BigNumber; + domainId: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * 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. + * @param _id Payment identifier + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimPayment( + _id: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Payment identifier + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimPayment(uint256,address)"( + _id: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of payments in the colony. + */ + getPaymentCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of payments in the colony. + */ + "getPaymentCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Make a new task in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the task belongs + * @param _dueDate The due date of the task, can set to `0` for no-op + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId The skill associated with the task, can set to `0` for no-op + * @param _specificationHash Database identifier where the task specification is stored + */ + makeTask( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _specificationHash: Arrayish, + _domainId: BigNumberish, + _skillId: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Make a new task in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the task belongs + * @param _dueDate The due date of the task, can set to `0` for no-op + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId The skill associated with the task, can set to `0` for no-op + * @param _specificationHash Database identifier where the task specification is stored + */ + "makeTask(uint256,uint256,bytes32,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _specificationHash: Arrayish, + _domainId: BigNumberish, + _skillId: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of tasks in the colony. + */ + getTaskCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tasks in the colony. + */ + "getTaskCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Starts from 0 and is incremented on every co-reviewed task change via `executeTaskChange` call. + * @param _id Id of the task + */ + getTaskChangeNonce( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts from 0 and is incremented on every co-reviewed task change via `executeTaskChange` call. + * @param _id Id of the task + */ + "getTaskChangeNonce(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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 + */ + executeTaskChange( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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 + */ + "executeTaskChange(uint8[],bytes32[],bytes32[],uint8[],uint256,bytes)"( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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)"( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _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. + * @param _role Id of the role, as defined in TaskRole enum + */ + submitTaskWorkRating( + _id: BigNumberish, + _role: BigNumberish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _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. + * @param _role Id of the role, as defined in TaskRole enum + */ + "submitTaskWorkRating(uint256,uint8,bytes32)"( + _id: BigNumberish, + _role: BigNumberish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * 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. + * @param _id Id of the task + * @param _rating 0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50) + * @param _role Id of the role, as defined in TaskRole enum + * @param _salt Salt value used to generate the rating secret + */ + revealTaskWorkRating( + _id: BigNumberish, + _role: BigNumberish, + _rating: BigNumberish, + _salt: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * 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. + * @param _id Id of the task + * @param _rating 0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50) + * @param _role Id of the role, as defined in TaskRole enum + * @param _salt Salt value used to generate the rating secret + */ + "revealTaskWorkRating(uint256,uint8,uint8,bytes32)"( + _id: BigNumberish, + _role: BigNumberish, + _rating: BigNumberish, + _salt: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Helper function used to generage consistently the rating secret using salt value `_salt` and value to hide `_value` + * @param _salt Salt value + * @param _value Value to hide + */ + generateSecret( + _salt: Arrayish, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Helper function used to generage consistently the rating secret using salt value `_salt` and value to hide `_value` + * @param _salt Salt value + * @param _value Value to hide + */ + "generateSecret(bytes32,uint256)"( + _salt: Arrayish, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyStorage.RatingSecrets` information for task `_id`. + * @param _id Id of the task + */ + getTaskWorkRatingSecretsInfo( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { nSecrets: BigNumber; lastSubmittedAt: BigNumber } + >; + + /** + * Get the `ColonyStorage.RatingSecrets` information for task `_id`. + * @param _id Id of the task + */ + "getTaskWorkRatingSecretsInfo(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { nSecrets: BigNumber; lastSubmittedAt: BigNumber } + >; + + /** + * Get the rating secret submitted for role `_role` in task `_id` + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + getTaskWorkRatingSecret( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the rating secret submitted for role `_role` in task `_id` + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + "getTaskWorkRatingSecret(uint256,uint8)"( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the task + * @param _permissionDomainId The domain ID in which _user has the Administration permission + * @param _user Address of the user we want to give a manager role to + */ + setTaskManagerRole( + _id: BigNumberish, + _user: string, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the task + * @param _permissionDomainId The domain ID in which _user has the Administration permission + * @param _user Address of the user we want to give a manager role to + */ + "setTaskManagerRole(uint256,address,uint256,uint256)"( + _id: BigNumberish, + _user: string, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a evaluator role to + */ + setTaskEvaluatorRole( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a evaluator role to + */ + "setTaskEvaluatorRole(uint256,address)"( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a worker role to + */ + setTaskWorkerRole( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a worker role to + */ + "setTaskWorkerRole(uint256,address)"( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing evaluator role. Agreed between manager and currently assigned evaluator. + * @param _id Id of the task + */ + removeTaskEvaluatorRole( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing evaluator role. Agreed between manager and currently assigned evaluator. + * @param _id Id of the task + */ + "removeTaskEvaluatorRole(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing worker role. Agreed between manager and currently assigned worker. + * @param _id Id of the task + */ + removeTaskWorkerRole( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing worker role. Agreed between manager and currently assigned worker. + * @param _id Id of the task + */ + "removeTaskWorkerRole(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Set the skill for task `_id`. + * @param _id Id of the task + * @param _skillId Id of the skill which has to be a global skill + */ + setTaskSkill( + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Set the skill for task `_id`. + * @param _id Id of the task + * @param _skillId Id of the skill which has to be a global skill + */ + "setTaskSkill(uint256,uint256)"( + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _specificationHash Unique hash of the task brief in ddb + */ + setTaskBrief( + _id: BigNumberish, + _specificationHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _specificationHash Unique hash of the task brief in ddb + */ + "setTaskBrief(uint256,bytes32)"( + _id: BigNumberish, + _specificationHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the due date on task `_id`. Allowed before a task is finalized. + * @param _dueDate Due date as seconds since unix epoch + * @param _id Id of the task + */ + setTaskDueDate( + _id: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the due date on task `_id`. Allowed before a task is finalized. + * @param _dueDate Due date as seconds since unix epoch + * @param _id Id of the task + */ + "setTaskDueDate(uint256,uint256)"( + _id: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.deliverableHash` and `task.completionTimestamp` properties. + * 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. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + */ + submitTaskDeliverable( + _id: BigNumberish, + _deliverableHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.deliverableHash` and `task.completionTimestamp` properties. + * 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. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + */ + "submitTaskDeliverable(uint256,bytes32)"( + _id: BigNumberish, + _deliverableHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Internally call `submitTaskDeliverable` and `submitTaskWorkRating` in sequence. + * Submit the task deliverable for Worker and rating for Manager. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + * @param _ratingSecret Rating secret for manager + */ + submitTaskDeliverableAndRating( + _id: BigNumberish, + _deliverableHash: Arrayish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Internally call `submitTaskDeliverable` and `submitTaskWorkRating` in sequence. + * Submit the task deliverable for Worker and rating for Manager. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + * @param _ratingSecret Rating secret for manager + */ + "submitTaskDeliverableAndRating(uint256,bytes32,bytes32)"( + _id: BigNumberish, + _deliverableHash: Arrayish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.finalized` property to true + * 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. + * @param _id Id of the task + */ + finalizeTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.finalized` property to true + * 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. + * @param _id Id of the task + */ + "finalizeTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.status` property to `1`. + * 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`. + * @param _id Id of the task + */ + cancelTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.status` property to `1`. + * 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`. + * @param _id Id of the task + */ + "cancelTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + */ + completeTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + */ + "completeTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a task with id `_id` + * @param _id Id of the task + */ + getTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + string, + number, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber[] + ] & { + specificationHash: string; + deliverableHash: string; + status: number; + dueDate: BigNumber; + fundingPotId: BigNumber; + completionTimestamp: BigNumber; + domainId: BigNumber; + skillIds: BigNumber[]; + } + >; + + /** + * Get a task with id `_id` + * @param _id Id of the task + */ + "getTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + string, + number, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber[] + ] & { + specificationHash: string; + deliverableHash: string; + status: number; + dueDate: BigNumber; + fundingPotId: BigNumber; + completionTimestamp: BigNumber; + domainId: BigNumber; + skillIds: BigNumber[]; + } + >; + + /** + * Get the `Role` properties back for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + getTaskRole( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, number] & { + user: string; + rateFail: boolean; + rating: number; + } + >; + + /** + * Get the `Role` properties back for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + "getTaskRole(uint256,uint8)"( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, number] & { + user: string; + rateFail: boolean; + rating: number; + } + >; + + /** + * Set the reward inverse to pay out from revenue. e.g. if the fee is 1% (or 0.01), set 100. + * @param _rewardInverse The inverse of the reward + */ + setRewardInverse( + _rewardInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the reward inverse to pay out from revenue. e.g. if the fee is 1% (or 0.01), set 100. + * @param _rewardInverse The inverse of the reward + */ + "setRewardInverse(uint256)"( + _rewardInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return 1 / the reward to pay out from revenue. e.g. if the fee is 1% (or 0.01), return 100. + */ + getRewardInverse(overrides?: TransactionOverrides): Promise; + + /** + * Return 1 / the reward to pay out from revenue. e.g. if the fee is 1% (or 0.01), return 100. + */ + "getRewardInverse()"(overrides?: TransactionOverrides): Promise; + + /** + * Get payout amount in `_token` denomination for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + getTaskPayout( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get payout amount in `_token` denomination for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getTaskPayout(uint256,uint8,address)"( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for manager in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskManagerPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for manager in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskManagerPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for evaluator in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskEvaluatorPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for evaluator in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskEvaluatorPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for worker in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskWorkerPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for worker in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskWorkerPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only call if evaluator and worker are unassigned or manager, otherwise need signature. + * Set `_token` payout for all roles in task `_id` to the respective amounts. + * @param _evaluatorAmount Payout amount for evaluator + * @param _id Id of the task + * @param _managerAmount Payout amount for manager + * @param _token Address of the token, `0x0` value indicates Ether + * @param _workerAmount Payout amount for worker + */ + setAllTaskPayouts( + _id: BigNumberish, + _token: string, + _managerAmount: BigNumberish, + _evaluatorAmount: BigNumberish, + _workerAmount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only call if evaluator and worker are unassigned or manager, otherwise need signature. + * Set `_token` payout for all roles in task `_id` to the respective amounts. + * @param _evaluatorAmount Payout amount for evaluator + * @param _id Id of the task + * @param _managerAmount Payout amount for manager + * @param _token Address of the token, `0x0` value indicates Ether + * @param _workerAmount Payout amount for worker + */ + "setAllTaskPayouts(uint256,address,uint256,uint256,uint256)"( + _id: BigNumberish, + _token: string, + _managerAmount: BigNumberish, + _evaluatorAmount: BigNumberish, + _workerAmount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimTaskPayout( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimTaskPayout(uint256,uint8,address)"( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * @param _token Address of the token used for reward payout + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + startNextRewardPayout( + _token: string, + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * @param _token Address of the token used for reward payout + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + "startNextRewardPayout(address,bytes,bytes,uint256,bytes32[])"( + _token: string, + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + * @param _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. + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + claimRewardPayout( + _payoutId: BigNumberish, + _squareRoots: BigNumberish[], + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + * @param _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. + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + "claimRewardPayout(uint256,uint256[7],bytes,bytes,uint256,bytes32[])"( + _payoutId: BigNumberish, + _squareRoots: BigNumberish[], + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Get useful information about specific reward payout. + * @param _payoutId Id of the reward payout + */ + getRewardPayoutInfo( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + BigNumber, + BigNumber, + BigNumber, + string, + BigNumber, + BigNumber, + boolean + ] & { + reputationState: string; + colonyWideReputation: BigNumber; + totalTokens: BigNumber; + amount: BigNumber; + tokenAddress: string; + blockTimestamp: BigNumber; + amountRemaining: BigNumber; + finalized: boolean; + } + >; + + /** + * Get useful information about specific reward payout. + * @param _payoutId Id of the reward payout + */ + "getRewardPayoutInfo(uint256)"( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + BigNumber, + BigNumber, + BigNumber, + string, + BigNumber, + BigNumber, + boolean + ] & { + reputationState: string; + colonyWideReputation: BigNumber; + totalTokens: BigNumber; + amount: BigNumber; + tokenAddress: string; + blockTimestamp: BigNumber; + amountRemaining: BigNumber; + finalized: boolean; + } + >; + + /** + * 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. + * @param _payoutId Id of the reward payout + */ + finalizeRewardPayout( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + */ + "finalizeRewardPayout(uint256)"( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the reward funding pot (e.g. id: 0) this returns (0, 0, 0). + * Get the non-mapping properties of a pot by id. + * @param _id Id of the pot which details to get + */ + getFundingPot( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, BigNumber, BigNumber] & { + associatedType: number; + associatedTypeId: BigNumber; + payoutsWeCannotMake: BigNumber; + } + >; + + /** + * For the reward funding pot (e.g. id: 0) this returns (0, 0, 0). + * Get the non-mapping properties of a pot by id. + * @param _id Id of the pot which details to get + */ + "getFundingPot(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, BigNumber, BigNumber] & { + associatedType: number; + associatedTypeId: BigNumber; + payoutsWeCannotMake: BigNumber; + } + >; + + /** + * Get the number of funding pots in the colony. + */ + getFundingPotCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of funding pots in the colony. + */ + "getFundingPotCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the `_token` balance of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + getFundingPotBalance( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `_token` balance of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getFundingPotBalance(uint256,address)"( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the assigned `_token` payouts of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + getFundingPotPayout( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the assigned `_token` payouts of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getFundingPotPayout(uint256,address)"( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Move a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _childSkillIndex The child index in _permissionDomainId where I will be taking this action + * @param _domainId The domain where I am taking this action, pointed to by _permissionDomainId and _childSkillIndex + * @param _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 + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The same, but for the _toPot which the funds are being moved to + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + moveFundsBetweenPots( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Move a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _childSkillIndex The child index in _permissionDomainId where I will be taking this action + * @param _domainId The domain where I am taking this action, pointed to by _permissionDomainId and _childSkillIndex + * @param _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 + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The same, but for the _toPot which the funds are being moved to + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedMove a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _fromChildSkillIndex The child index in `_permissionDomainId` where we can find the domain for `_fromPotId` + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The child index in `_permissionDomainId` where we can find the domain for `_toPotId` + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimColonyFunds( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimColonyFunds(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the total amount of tokens `_token` minus amount reserved to be paid to the reputation and token holders as rewards. + * @param _token Address of the token, `0x0` value indicates Ether + */ + getNonRewardPotsTotal( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the total amount of tokens `_token` minus amount reserved to be paid to the reputation and token holders as rewards. + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getNonRewardPotsTotal(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Allow the _approvee to obligate some amount of tokens as a stake. + * @param _amount Amount of internal token up to which we are willing to be obligated. + * @param _approvee Address of the account we are willing to let obligate us. + * @param _domainId Domain in which we are willing to be obligated. + */ + approveStake( + _approvee: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Allow the _approvee to obligate some amount of tokens as a stake. + * @param _amount Amount of internal token up to which we are willing to be obligated. + * @param _approvee Address of the account we are willing to let obligate us. + * @param _domainId Domain in which we are willing to be obligated. + */ + "approveStake(address,uint256,uint256)"( + _approvee: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Obligate the user some amount of tokens as a stake. + * @param _amount Amount of internal token we are obligating. + * @param _domainId Domain in which we are obligating the user. + * @param _user Address of the account we are obligating. + */ + obligateStake( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Obligate the user some amount of tokens as a stake. + * @param _amount Amount of internal token we are obligating. + * @param _domainId Domain in which we are obligating the user. + * @param _user Address of the account we are obligating. + */ + "obligateStake(address,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deobligate the user some amount of tokens, releasing the stake. + * @param _amount Amount of internal token we are deobligating. + * @param _domainId Domain in which we are deobligating the user. + * @param _user Address of the account we are deobligating. + */ + deobligateStake( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deobligate the user some amount of tokens, releasing the stake. + * @param _amount Amount of internal token we are deobligating. + * @param _domainId Domain in which we are deobligating the user. + * @param _user Address of the account we are deobligating. + */ + "deobligateStake(address,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Transfer some amount of obligated tokens. Can be called by the arbitration role. + * @param _amount Amount of internal token we are transferring. + * @param _childSkillIndex The child index in `_permissionDomainId` where we can find `_domainId`. + * @param _domainId Domain in which we are transferring the tokens. + * @param _obligator Address of the account who set the obligation. + * @param _permissionDomainId The domainId in which I have the permission to take this action. + * @param _recipient Recipient of the transferred tokens. + * @param _user Address of the account we are transferring. + */ + transferStake( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _obligator: string, + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Transfer some amount of obligated tokens. Can be called by the arbitration role. + * @param _amount Amount of internal token we are transferring. + * @param _childSkillIndex The child index in `_permissionDomainId` where we can find `_domainId`. + * @param _domainId Domain in which we are transferring the tokens. + * @param _obligator Address of the account who set the obligation. + * @param _permissionDomainId The domainId in which I have the permission to take this action. + * @param _recipient Recipient of the transferred tokens. + * @param _user Address of the account we are transferring. + */ + "transferStake(uint256,uint256,address,address,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _obligator: string, + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an approval to obligate tokens. + * @param _domainId Domain in which we are willing to be obligated. + * @param _obligator Address of the account we are willing to let obligate us. + * @param _user User allowing their tokens to be obligated. + */ + getApproval( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an approval to obligate tokens. + * @param _domainId Domain in which we are willing to be obligated. + * @param _obligator Address of the account we are willing to let obligate us. + * @param _user User allowing their tokens to be obligated. + */ + "getApproval(address,address,uint256)"( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an obligation of tokens. + * @param _domainId Domain in which we are obligated. + * @param _obligator Address of the account who obligated us. + * @param _user User whose tokens are obligated. + */ + getObligation( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an obligation of tokens. + * @param _domainId Domain in which we are obligated. + * @param _obligator Address of the account who obligated us. + * @param _user User whose tokens are obligated. + */ + "getObligation(address,address,uint256)"( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the domain corresponding to a funding pot + * @param _fundingPotId Id of the funding pot + */ + getDomainFromFundingPot( + _fundingPotId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the domain corresponding to a funding pot + * @param _fundingPotId Id of the funding pot + */ + "getDomainFromFundingPot(uint256)"( + _fundingPotId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Burn tokens held by the colony. Can only burn tokens held in the root funding pot. + * @param amount The amount of tokens to burn + * @param token The address of the token to burn + */ + burnTokens( + token: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Burn tokens held by the colony. Can only burn tokens held in the root funding pot. + * @param amount The amount of tokens to burn + * @param token The address of the token to burn + */ + "burnTokens(address,uint256)"( + token: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * unlock the native colony token, if possible + */ + unlockToken(overrides?: TransactionOverrides): Promise; + + /** + * unlock the native colony token, if possible + */ + "unlockToken()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the internal bookkeeping around external ERC20 approvals + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + updateApprovalAmount( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the internal bookkeeping around external ERC20 approvals + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + "updateApprovalAmount(address,address)"( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current approval amount + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + getTokenApproval( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current approval amount + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + "getTokenApproval(address,address)"( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current total approval amount across all spenders + * @param token The address of the token which was approved + */ + getTotalTokenApproval( + token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current total approval amount across all spenders + * @param token The address of the token which was approved + */ + "getTotalTokenApproval(address)"( + token: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Annotation( + agent: string | null, + txHash: Arrayish | null, + metadata: null + ): EventFilter; + + ArbitraryReputationUpdate( + agent: null, + user: null, + skillId: null, + amount: null + ): EventFilter; + + ArbitraryTransaction(target: null, data: null, success: null): EventFilter; + + ColonyBootstrapped(agent: null, users: null, amounts: null): EventFilter; + + ColonyFundsClaimed( + agent: null, + token: null, + fee: null, + payoutRemainder: null + ): EventFilter; + + ColonyFundsMovedBetweenFundingPots( + agent: null, + fromPot: BigNumberish | null, + toPot: BigNumberish | null, + amount: null, + token: null + ): EventFilter; + + ColonyInitialised( + agent: null, + colonyNetwork: null, + token: null + ): EventFilter; + + ColonyMetadata(agent: null, metadata: null): EventFilter; + + ColonyMetadataDelta(agent: null, metadata: null): EventFilter; + + ColonyRewardInverseSet(agent: null, rewardInverse: null): EventFilter; + + ColonyRoleSet( + agent: null, + user: string | null, + domainId: BigNumberish | null, + role: BigNumberish | null, + setTo: null + ): EventFilter; + + ColonyUpgraded( + agent: null, + oldVersion: null, + newVersion: null + ): EventFilter; + + DomainAdded(agent: null, domainId: null): EventFilter; + + DomainDeprecated( + agent: null, + domainId: BigNumberish | null, + deprecated: null + ): EventFilter; + + DomainMetadata( + agent: null, + domainId: BigNumberish | null, + metadata: null + ): EventFilter; + + ExpenditureAdded(agent: null, expenditureId: null): EventFilter; + + ExpenditureCancelled( + agent: null, + expenditureId: BigNumberish | null + ): EventFilter; + + ExpenditureClaimDelaySet( + agent: null, + expenditureId: BigNumberish | null, + slot: BigNumberish | null, + claimDelay: null + ): EventFilter; + + ExpenditureFinalized( + agent: null, + expenditureId: BigNumberish | null + ): EventFilter; + + ExpenditureGlobalClaimDelaySet( + agent: null, + globalClaimDelay: null + ): EventFilter; + + ExpenditureLocked( + agent: null, + expenditureId: BigNumberish | null + ): EventFilter; + + ExpenditureMetadataSet( + agent: null, + expenditureId: BigNumberish | null, + metadata: null + ): EventFilter; + + ExpenditurePayoutModifierSet( + agent: null, + expenditureId: BigNumberish | null, + slot: BigNumberish | null, + payoutModifier: null + ): EventFilter; + + ExpenditurePayoutSet( + agent: null, + expenditureId: BigNumberish | null, + slot: BigNumberish | null, + token: string | null, + amount: null + ): EventFilter; + + ExpenditureRecipientSet( + agent: null, + expenditureId: BigNumberish | null, + slot: BigNumberish | null, + recipient: string | null + ): EventFilter; + + ExpenditureSkillSet( + agent: null, + expenditureId: BigNumberish | null, + slot: BigNumberish | null, + skillId: BigNumberish | null + ): EventFilter; + + ExpenditureStateChanged( + agent: null, + expenditureId: BigNumberish | null, + storageSlot: BigNumberish | null, + mask: null, + keys: null, + value: null + ): EventFilter; + + ExpenditureTransferred( + agent: null, + expenditureId: BigNumberish | null, + owner: string | null + ): EventFilter; + + FundingPotAdded(fundingPotId: null): EventFilter; + + LocalSkillAdded(agent: null, localSkillId: null): EventFilter; + + LocalSkillDeprecated( + agent: null, + localSkillId: null, + deprecated: null + ): EventFilter; + + MetaTransactionExecuted( + userAddress: null, + relayerAddress: null, + payload: null + ): EventFilter; + + PaymentAdded(agent: null, paymentId: null): EventFilter; + + PaymentFinalized(agent: null, paymentId: BigNumberish | null): EventFilter; + + PaymentPayoutSet( + agent: null, + paymentId: BigNumberish | null, + token: null, + amount: null + ): EventFilter; + + PaymentRecipientSet( + agent: null, + paymentId: BigNumberish | null, + recipient: null + ): EventFilter; + + PaymentSkillSet( + agent: null, + paymentId: BigNumberish | null, + skillId: null + ): EventFilter; + + PayoutClaimed( + agent: null, + fundingPotId: BigNumberish | null, + token: null, + amount: null + ): EventFilter; + + RecoveryModeEntered(user: null): EventFilter; + + RecoveryModeExitApproved(user: null): EventFilter; + + RecoveryModeExited(user: null): EventFilter; + + RecoveryRoleSet(user: string | null, setTo: null): EventFilter; + + RecoveryStorageSlotSet( + user: null, + slot: null, + fromValue: null, + toValue: null + ): EventFilter; + + RewardPayoutClaimed( + rewardPayoutId: null, + user: null, + fee: null, + rewardRemainder: null + ): EventFilter; + + RewardPayoutCycleEnded(agent: null, rewardPayoutId: null): EventFilter; + + RewardPayoutCycleStarted(agent: null, rewardPayoutId: null): EventFilter; + + TaskAdded(agent: null, taskId: null): EventFilter; + + TaskBriefSet( + taskId: BigNumberish | null, + specificationHash: null + ): EventFilter; + + TaskCanceled(taskId: BigNumberish | null): EventFilter; + + TaskChangedViaSignatures(reviewerAddresses: null): EventFilter; + + TaskCompleted(agent: null, taskId: BigNumberish | null): EventFilter; + + TaskDeliverableSubmitted( + agent: null, + taskId: BigNumberish | null, + deliverableHash: null + ): EventFilter; + + TaskDueDateSet(taskId: BigNumberish | null, dueDate: null): EventFilter; + + TaskFinalized(agent: null, taskId: BigNumberish | null): EventFilter; + + TaskPayoutSet( + taskId: BigNumberish | null, + role: null, + token: null, + amount: null + ): EventFilter; + + TaskRoleUserSet( + taskId: BigNumberish | null, + role: null, + user: string | null + ): EventFilter; + + TaskSkillSet( + taskId: BigNumberish | null, + skillId: BigNumberish | null + ): EventFilter; + + TaskWorkRatingRevealed( + agent: null, + taskId: BigNumberish | null, + role: null, + rating: null + ): EventFilter; + + TokenUnlocked(agent: null): EventFilter; + + TokensBurned(agent: null, token: null, amount: null): EventFilter; + + TokensMinted(agent: null, who: null, amount: null): EventFilter; + }; + + estimate: { + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + approveExitRecovery(overrides?: TransactionOverrides): Promise; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + "approveExitRecovery()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + checkNotAdditionalProtectedVariable( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + "checkNotAdditionalProtectedVariable(uint256)"( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + enterRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + "enterRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + executeMetaTransaction( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + exitRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + "exitRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Is colony network in recovery mode. + */ + isInRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Is colony network in recovery mode. + */ + "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + numRecoveryRoles(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + "numRecoveryRoles()"(overrides?: TransactionOverrides): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + removeRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + "removeRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + setRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + "setRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + setStorageSlotRecovery( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + "setStorageSlotRecovery(uint256,bytes32)"( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyAuthority` for the colony. + */ + authority(overrides?: TransactionOverrides): Promise; + + /** + * Get the `ColonyAuthority` for the colony. + */ + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Used for testing. + * Get the colony `owner` address. This should be address(0x0) at all times. + */ + owner(overrides?: TransactionOverrides): Promise; + + /** + * Used for testing. + * Get the colony `owner` address. This should be address(0x0) at all times. + */ + "owner()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the Colony contract version. Starts from 1 and is incremented with every deployed contract change. + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Get the Colony contract version. Starts from 1 and is incremented with every deployed contract change. + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Downgrades are not allowed, i.e. `_newVersion` should be higher than the currect colony version. + * Upgrades a colony to a new Colony contract version `_newVersion`. + * @param _newVersion The target version for the upgrade + */ + upgrade( + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Downgrades are not allowed, i.e. `_newVersion` should be higher than the currect colony version. + * Upgrades a colony to a new Colony contract version `_newVersion`. + * @param _newVersion The target version for the upgrade + */ + "upgrade(uint256)"( + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * A function to be called after an upgrade has been done from v2 to v3. + */ + finishUpgrade(overrides?: TransactionOverrides): Promise; + + /** + * 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. + * A function to be called after an upgrade has been done from v2 to v3. + */ + "finishUpgrade()"(overrides?: TransactionOverrides): Promise; + + /** + * The colonyNetworkAddress we read here is set once, during `initialiseColony`. + * Returns the colony network address set on the Colony. + */ + getColonyNetwork(overrides?: TransactionOverrides): Promise; + + /** + * The colonyNetworkAddress we read here is set once, during `initialiseColony`. + * Returns the colony network address set on the Colony. + */ + "getColonyNetwork()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the colony token. + */ + getToken(overrides?: TransactionOverrides): Promise; + + /** + * Get the colony token. + */ + "getToken()"(overrides?: TransactionOverrides): Promise; + + /** + * @deprecatedExecute arbitrary transaction on behalf of the Colony + * @param _action Bytes array encoding the function call and arguments + * @param _to Contract to receive the function call (cannot be this contract, network or token locking) + */ + makeArbitraryTransaction( + _to: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedExecute arbitrary transaction on behalf of the Colony + * @param _action Bytes array encoding the function call and arguments + * @param _to Contract to receive the function call (cannot be this contract, network or token locking) + */ + "makeArbitraryTransaction(address,bytes)"( + _to: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Execute arbitrary transactions on behalf of the Colony in series + * @param _actions Array of Bytes arrays encoding the function calls and arguments + * @param _strict Boolean indicating whether if one transaction fails, the whole call to this function should fail. + * @param _targets Array of addressed to be targeted + */ + makeArbitraryTransactions( + _targets: string[], + _actions: Arrayish[], + _strict: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Execute arbitrary transactions on behalf of the Colony in series + * @param _actions Array of Bytes arrays encoding the function calls and arguments + * @param _strict Boolean indicating whether if one transaction fails, the whole call to this function should fail. + * @param _targets Array of addressed to be targeted + */ + "makeArbitraryTransactions(address[],bytes[],bool)"( + _targets: string[], + _actions: Arrayish[], + _strict: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the colony itself. If you wish to use this functionality, you should use the makeAbitraryTransactions function + * Executes a single arbitrary transaction + * @param _action Bytes array encoding the function call and arguments + * @param _target Contract to receive the function call + */ + makeSingleArbitraryTransaction( + _target: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the colony itself. If you wish to use this functionality, you should use the makeAbitraryTransactions function + * Executes a single arbitrary transaction + * @param _action Bytes array encoding the function call and arguments + * @param _target Contract to receive the function call + */ + "makeSingleArbitraryTransaction(address,bytes)"( + _target: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a metadata string for a transaction + * @param _metadata String of metadata for tx + * @param _txHash Hash of transaction being annotated (0x0 for current tx) + */ + annotateTransaction( + _txHash: Arrayish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a metadata string for a transaction + * @param _metadata String of metadata for tx + * @param _txHash Hash of transaction being annotated (0x0 for current tx) + */ + "annotateTransaction(bytes32,string)"( + _txHash: Arrayish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony root role. Can be called by root role only. + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an root role to + */ + setRootRole( + _user: string, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony root role. Can be called by root role only. + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an root role to + */ + "setRootRole(address,bool)"( + _user: string, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony arbitration role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an arbitration role to + */ + setArbitrationRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony arbitration role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an arbitration role to + */ + "setArbitrationRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony architecture role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an architecture role to + */ + setArchitectureRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony architecture role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an architecture role to + */ + "setArchitectureRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony funding role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an funding role to + */ + setFundingRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony funding role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an funding role to + */ + "setFundingRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony admin role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an admin role to + */ + setAdministrationRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony admin role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an admin role to + */ + "setAdministrationRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set several roles in one transaction. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _roles Byte array representing the desired role setting (1 for on, 0 for off) + * @param _user User we want to give a role to + */ + setUserRoles( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _roles: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set several roles in one transaction. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _roles Byte array representing the desired role setting (1 for on, 0 for off) + * @param _user User we want to give a role to + */ + "setUserRoles(uint256,uint256,address,uint256,bytes32)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _roles: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _domainId The domain where we want to check for the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + hasUserRole( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _domainId The domain where we want to check for the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + "hasUserRole(address,uint256,uint8)"( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 inheritance validator function + * @param _childDomainId The domain where we want to use the role + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + hasInheritedUserRole( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 inheritance validator function + * @param _childDomainId The domain where we want to use the role + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + "hasInheritedUserRole(address,uint256,uint8,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _childDomainId The domain where we want to edit roles + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role (currently Root or Architecture) + * @param _user The user whose permissions we want to check + */ + userCanSetRoles( + _user: string, + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _childDomainId The domain where we want to edit roles + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role (currently Root or Architecture) + * @param _user The user whose permissions we want to check + */ + "userCanSetRoles(address,uint256,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles for a user in a given domain + * @param _domain The domain we want to get roles in + * @param _user The user whose roles we want to get + */ + getUserRoles( + _user: string, + _domain: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles for a user in a given domain + * @param _domain The domain we want to get roles in + * @param _user The user whose roles we want to get + */ + "getUserRoles(address,uint256)"( + _user: string, + _domain: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles authorized to call a function + * @param _sig The function signature + */ + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles authorized to call a function + * @param _sig The function signature + */ + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive domain reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _domainId The domain where the user will gain reputation + * @param _user The user who will gain reputation + */ + emitDomainReputationReward( + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive domain reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _domainId The domain where the user will gain reputation + * @param _user The user who will gain reputation + */ + "emitDomainReputationReward(uint256,address,int256)"( + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive skill reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _skillId The skill where the user will gain reputation + * @param _user The user who will gain reputation + */ + emitSkillReputationReward( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive skill reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _skillId The skill where the user will gain reputation + * @param _user The user who will gain reputation + */ + "emitSkillReputationReward(uint256,address,int256)"( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative domain reputation update. Available only to Arbitration role holders + * @param _amount The (negative) amount of reputation to lose + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the user will lose reputation + * @param _permissionDomainId The domainId in which I hold the Arbitration role + * @param _user The user who will lose reputation + */ + emitDomainReputationPenalty( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative domain reputation update. Available only to Arbitration role holders + * @param _amount The (negative) amount of reputation to lose + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the user will lose reputation + * @param _permissionDomainId The domainId in which I hold the Arbitration role + * @param _user The user who will lose reputation + */ + "emitDomainReputationPenalty(uint256,uint256,uint256,address,int256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative skill reputation update. Available only to Arbitration role holders in the root domain + * @param _amount The (negative) amount of reputation to lose + * @param _skillId The skill where the user will lose reputation + * @param _user The user who will lose reputation + */ + emitSkillReputationPenalty( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative skill reputation update. Available only to Arbitration role holders in the root domain + * @param _amount The (negative) amount of reputation to lose + * @param _skillId The skill where the user will lose reputation + * @param _user The user who will lose reputation + */ + "emitSkillReputationPenalty(uint256,address,int256)"( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the reward inverse to the uint max 2**256 - 1. + * Called once when the colony is created to initialise certain storage slot values. + * @param _colonyNetworkAddress Address of the colony network + * @param _token Address of the colony ERC20 Token + */ + initialiseColony( + _colonyNetworkAddress: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the reward inverse to the uint max 2**256 - 1. + * Called once when the colony is created to initialise certain storage slot values. + * @param _colonyNetworkAddress Address of the colony network + * @param _token Address of the colony ERC20 Token + */ + "initialiseColony(address,address)"( + _colonyNetworkAddress: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _metadata IPFS hash of the metadata + */ + editColony( + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _metadata IPFS hash of the metadata + */ + "editColony(string)"( + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to change the metadata associated with a colony. Expected to be a IPFS hash of a delta to a JSON blob, but not enforced to any degree by the contracts + * @param _metadataDelta IPFS hash of the metadata delta + */ + editColonyByDelta( + _metadataDelta: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to change the metadata associated with a colony. Expected to be a IPFS hash of a delta to a JSON blob, but not enforced to any degree by the contracts + * @param _metadataDelta IPFS hash of the metadata delta + */ + "editColonyByDelta(string)"( + _metadataDelta: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be called when `taskCount` is `0` by authorized addresses. + * 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. + * @param _amount Amount of reputation/tokens for every address + * @param _users Array of address to bootstrap with reputation + */ + bootstrapColony( + _users: string[], + _amount: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be called when `taskCount` is `0` by authorized addresses. + * 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. + * @param _amount Amount of reputation/tokens for every address + * @param _users Array of address to bootstrap with reputation + */ + "bootstrapColony(address[],int256[])"( + _users: string[], + _amount: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens. Secured function to authorised members. + * @param _wad Amount to mint + */ + mintTokens( + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens. Secured function to authorised members. + * @param _wad Amount to mint + */ + "mintTokens(uint256)"( + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens and send to `_guy`. Secured function to authorised members. + * @param _guy Recipient of new tokens + * @param _wad Amount to mint + */ + mintTokensFor( + _guy: string, + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens and send to `_guy`. Secured function to authorised members. + * @param _guy Recipient of new tokens + * @param _wad Amount to mint + */ + "mintTokensFor(address,uint256)"( + _guy: string, + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Lock the colony's token. Can only be called by a network-managed extension. + */ + lockToken(overrides?: TransactionOverrides): Promise; + + /** + * Lock the colony's token. Can only be called by a network-managed extension. + */ + "lockToken()"(overrides?: TransactionOverrides): Promise; + + /** + * Unlock the colony's token for a user. Can only be called by a network-managed extension. + * @param lockId The specific lock to unlock + * @param user The user to unlock + */ + unlockTokenForUser( + user: string, + lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unlock the colony's token for a user. Can only be called by a network-managed extension. + * @param lockId The specific lock to unlock + * @param user The user to unlock + */ + "unlockTokenForUser(address,uint256)"( + user: string, + lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register colony's ENS label. + * @param colonyName The label to register. + * @param orbitdb The path of the orbitDB database associated with the colony name + */ + registerColonyLabel( + colonyName: string, + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register colony's ENS label. + * @param colonyName The label to register. + * @param orbitdb The path of the orbitDB database associated with the colony name + */ + "registerColonyLabel(string,string)"( + colonyName: string, + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param orbitdb The path of the orbitDB database to be associated with the colony + */ + updateColonyOrbitDB( + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param orbitdb The path of the orbitDB database to be associated with the colony + */ + "updateColonyOrbitDB(string)"( + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension to the colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param version The new extension version to install + */ + installExtension( + extensionId: Arrayish, + version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension to the colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param version The new extension version to install + */ + "installExtension(bytes32,uint256)"( + extensionId: Arrayish, + version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param newVersion The version to upgrade to (must be one larger than the current version) + */ + upgradeExtension( + extensionId: Arrayish, + newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param newVersion The version to upgrade to (must be one larger than the current version) + */ + "upgradeExtension(bytes32,uint256)"( + extensionId: Arrayish, + newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Secured function to authorised members. + * @param deprecated Whether to deprecate the extension or not + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + deprecateExtension( + extensionId: Arrayish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Secured function to authorised members. + * @param deprecated Whether to deprecate the extension or not + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + "deprecateExtension(bytes32,bool)"( + extensionId: Arrayish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * Uninstall an extension from a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + uninstallExtension( + extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * Uninstall an extension from a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + "uninstallExtension(bytes32)"( + extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skill tree for the colony. + */ + initialiseRootLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skill tree for the colony. + */ + "initialiseRootLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new local skill for the colony. Secured function to authorised members. + */ + addLocalSkill(overrides?: TransactionOverrides): Promise; + + /** + * Add a new local skill for the colony. Secured function to authorised members. + */ + "addLocalSkill()"(overrides?: TransactionOverrides): Promise; + + /** + * Deprecate a local skill for the colony. Secured function to authorised members. + * @param deprecated Deprecation status to set for the skill + * @param localSkillId Id for the local skill + */ + deprecateLocalSkill( + localSkillId: BigNumberish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a local skill for the colony. Secured function to authorised members. + * @param deprecated Deprecation status to set for the skill + * @param localSkillId Id for the local skill + */ + "deprecateLocalSkill(uint256,bool)"( + localSkillId: BigNumberish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the root local skill id + */ + getRootLocalSkill(overrides?: TransactionOverrides): Promise; + + /** + * Get the root local skill id + */ + "getRootLocalSkill()"(overrides?: TransactionOverrides): Promise; + + /** + * Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + addDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "addDomain(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "addDomain(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Id of the domain being edited + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + editDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Id of the domain being edited + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "editDomain(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a domain, preventing certain actions from happening there + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _deprecated Whether or not the domain is deprecated + * @param _domainId Id of the domain being deprecated + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + deprecateDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a domain, preventing certain actions from happening there + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _deprecated Whether or not the domain is deprecated + * @param _domainId Id of the domain being deprecated + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "deprecateDomain(uint256,uint256,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a domain by id. + * @param _id Id of the domain which details to get + */ + getDomain( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a domain by id. + * @param _id Id of the domain which details to get + */ + "getDomain(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of domains in the colony. + */ + getDomainCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of domains in the colony. + */ + "getDomainCount()"(overrides?: TransactionOverrides): Promise; + + /** + * 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. + * Helper function that can be used by a client to verify the correctness of a patricia proof they have been supplied with. + * @param branchMask The branchmask of the proof + * @param key The key of the element the proof is for. + * @param siblings The siblings of the proof + * @param value The value of the element that the proof is for. + */ + verifyReputationProof( + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Helper function that can be used by a client to verify the correctness of a patricia proof they have been supplied with. + * @param branchMask The branchmask of the proof + * @param key The key of the element the proof is for. + * @param siblings The siblings of the proof + * @param value The value of the element that the proof is for. + */ + "verifyReputationProof(bytes,bytes,uint256,bytes32[])"( + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the default global claim delay for expenditures + * @param _globalClaimDelay The new default global claim delay + */ + setDefaultGlobalClaimDelay( + _globalClaimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the default global claim delay for expenditures + * @param _globalClaimDelay The new default global claim delay + */ + "setDefaultGlobalClaimDelay(uint256)"( + _globalClaimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new expenditure in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the expenditure belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + makeExpenditure( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new expenditure in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the expenditure belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "makeExpenditure(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Updates the expenditure owner. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + */ + transferExpenditure( + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Updates the expenditure owner. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + */ + "transferExpenditure(uint256,address)"( + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future version + * @deprecatedUpdates the expenditure owner. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + transferExpenditureViaArbitration( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future version + * @deprecatedUpdates the expenditure owner. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "transferExpenditureViaArbitration(uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Cancels the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + cancelExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Cancels the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "cancelExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Locks the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + lockExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Locks the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "lockExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the expenditure and allows for funds to be claimed. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + finalizeExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the expenditure and allows for funds to be claimed. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "finalizeExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the metadata for an expenditure. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + setExpenditureMetadata( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the metadata for an expenditure. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "setExpenditureMetadata(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the metadata for an expenditure. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + */ + "setExpenditureMetadata(uint256,string)"( + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSets the recipient on an expenditure slot. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipient Address of the recipient + * @param _slot Slot for the recipient address + */ + setExpenditureRecipient( + _id: BigNumberish, + _slot: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSets the recipient on an expenditure slot. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipient Address of the recipient + * @param _slot Slot for the recipient address + */ + "setExpenditureRecipient(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the recipients in given expenditure slots. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipients Addresses of the recipients + * @param _slots Array of slots to set recipients + */ + setExpenditureRecipients( + _id: BigNumberish, + _slots: BigNumberish[], + _recipients: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the recipients in given expenditure slots. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipients Addresses of the recipients + * @param _slots Array of slots to set recipients + */ + "setExpenditureRecipients(uint256,uint256[],address[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _recipients: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Set the token payouts in given expenditure slots. Can only be called by expenditure owner. + * @param _amounts Payout amounts + * @param _id Id of the expenditure + * @param _slots Array of slots to set payouts + * @param _token Address of the token, `0x0` value indicates Ether + */ + setExpenditurePayouts( + _id: BigNumberish, + _slots: BigNumberish[], + _token: string, + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Set the token payouts in given expenditure slots. Can only be called by expenditure owner. + * @param _amounts Payout amounts + * @param _id Id of the expenditure + * @param _slots Array of slots to set payouts + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayouts(uint256,uint256[],address,uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _token: string, + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSet the token payout on an expenditure slot. Can only be called by expenditure owner. + * @param _amount Payout amount + * @param _id Id of the expenditure + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + setExpenditurePayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSet the token payout on an expenditure slot. Can only be called by expenditure owner. + * @param _amount Payout amount + * @param _id Id of the expenditure + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayout(uint256,uint256,address,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the token payout in a given expenditure slot. Can only be called by an Arbitration user. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _slot The slot to set the payout + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayout(uint256,uint256,uint256,uint256,address,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillId Id of the new skill to set + * @param _slot Number of the slot + */ + setExpenditureSkill( + _id: BigNumberish, + _slot: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillId Id of the new skill to set + * @param _slot Number of the slot + */ + "setExpenditureSkill(uint256,uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillIds Ids of the new skills to set + * @param _slots Array of slots to set skills + */ + setExpenditureSkills( + _id: BigNumberish, + _slots: BigNumberish[], + _skillIds: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillIds Ids of the new skills to set + * @param _slots Array of slots to set skills + */ + "setExpenditureSkills(uint256,uint256[],uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _skillIds: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the claim delay on an expenditure slot. Can only be called by expenditure owner. + * @param _claimDelay Duration of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slot Number of the slot + */ + setExpenditureClaimDelay( + _id: BigNumberish, + _slot: BigNumberish, + _claimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the claim delay on an expenditure slot. Can only be called by expenditure owner. + * @param _claimDelay Duration of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slot Number of the slot + */ + "setExpenditureClaimDelay(uint256,uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _claimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the claim delays in given expenditure slots. Can only be called by expenditure owner. + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slots Array of slots to set claim delays + */ + setExpenditureClaimDelays( + _id: BigNumberish, + _slots: BigNumberish[], + _claimDelays: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the claim delays in given expenditure slots. Can only be called by expenditure owner. + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slots Array of slots to set claim delays + */ + "setExpenditureClaimDelays(uint256,uint256[],uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _claimDelays: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout modifiers in given expenditure slots. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _slots Array of slots to set payout modifiers + */ + setExpenditurePayoutModifiers( + _id: BigNumberish, + _slots: BigNumberish[], + _payoutModifiers: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout modifiers in given expenditure slots. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _slots Array of slots to set payout modifiers + */ + "setExpenditurePayoutModifiers(uint256,uint256[],int256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _payoutModifiers: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set many values of an expenditure simultaneously. Can only be called by expenditure owner. + * @param _claimDelaySlots Array of slots to set claim delays + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _payoutModifierSlots Array of slots to set payout modifiers + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _payoutSlots 2-dimensional array of slots to set payouts + * @param _payoutTokens Addresses of the tokens, `0x0` value indicates Ether + * @param _payoutValues 2-dimensional array of the payout amounts + * @param _recipientSlots Array of slots to set recipients + * @param _recipients Addresses of the recipients + * @param _skillIdSlots Array of slots to set skills + * @param _skillIds Ids of the new skills to set + */ + setExpenditureValues( + _id: BigNumberish, + _recipientSlots: BigNumberish[], + _recipients: string[], + _skillIdSlots: BigNumberish[], + _skillIds: BigNumberish[], + _claimDelaySlots: BigNumberish[], + _claimDelays: BigNumberish[], + _payoutModifierSlots: BigNumberish[], + _payoutModifiers: BigNumberish[], + _payoutTokens: string[], + _payoutSlots: BigNumberish[][], + _payoutValues: BigNumberish[][], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set many values of an expenditure simultaneously. Can only be called by expenditure owner. + * @param _claimDelaySlots Array of slots to set claim delays + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _payoutModifierSlots Array of slots to set payout modifiers + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _payoutSlots 2-dimensional array of slots to set payouts + * @param _payoutTokens Addresses of the tokens, `0x0` value indicates Ether + * @param _payoutValues 2-dimensional array of the payout amounts + * @param _recipientSlots Array of slots to set recipients + * @param _recipients Addresses of the recipients + * @param _skillIdSlots Array of slots to set skills + * @param _skillIds Ids of the new skills to set + */ + "setExpenditureValues(uint256,uint256[],address[],uint256[],uint256[],uint256[],uint256[],uint256[],int256[],address[],uint256[][],uint256[][])"( + _id: BigNumberish, + _recipientSlots: BigNumberish[], + _recipients: string[], + _skillIdSlots: BigNumberish[], + _skillIds: BigNumberish[], + _claimDelaySlots: BigNumberish[], + _claimDelays: BigNumberish[], + _payoutModifierSlots: BigNumberish[], + _payoutModifiers: BigNumberish[], + _payoutTokens: string[], + _payoutSlots: BigNumberish[][], + _payoutValues: BigNumberish[][], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set arbitrary state on an expenditure slot. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _keys Array of additional keys (for mappings & arrays) + * @param _mask Array of booleans indicated whether a key is a mapping (F) or an array index (T). + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _storageSlot Number of the top-level storage slot (25, 26, or 27) + * @param _value Value to set at location + */ + setExpenditureState( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _storageSlot: BigNumberish, + _mask: boolean[], + _keys: Arrayish[], + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set arbitrary state on an expenditure slot. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _keys Array of additional keys (for mappings & arrays) + * @param _mask Array of booleans indicated whether a key is a mapping (F) or an array index (T). + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _storageSlot Number of the top-level storage slot (25, 26, or 27) + * @param _value Value to set at location + */ + "setExpenditureState(uint256,uint256,uint256,uint256,bool[],bytes32[],bytes32)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _storageSlot: BigNumberish, + _mask: boolean[], + _keys: Arrayish[], + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Claim the payout for an expenditure slot. Here the network receives a fee from each payout. + * @param _id Expenditure identifier + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimExpenditurePayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Claim the payout for an expenditure slot. Here the network receives a fee from each payout. + * @param _id Expenditure identifier + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimExpenditurePayout(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of expenditures in the colony. + */ + getExpenditureCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of expenditures in the colony. + */ + "getExpenditureCount()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure. + * @param _id Expenditure identifier + */ + getExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure. + * @param _id Expenditure identifier + */ + "getExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure slot. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + */ + getExpenditureSlot( + _id: BigNumberish, + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure slot. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + */ + "getExpenditureSlot(uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure slot's payout for a token. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + * @param _token Token address + */ + getExpenditureSlotPayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure slot's payout for a token. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + * @param _token Token address + */ + "getExpenditureSlotPayout(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new payment in the colony. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the payment belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + * @param _skillId The skill associated with the payment + * @param _token Address of the token, `0x0` value indicates Ether + */ + addPayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _recipient: string, + _token: string, + _amount: BigNumberish, + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new payment in the colony. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the payment belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + * @param _skillId The skill associated with the payment + * @param _token Address of the token, `0x0` value indicates Ether + */ + "addPayment(uint256,uint256,address,address,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _recipient: string, + _token: string, + _amount: BigNumberish, + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the payment and logs the reputation log updates. Allowed to be called once after payment is fully funded. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + finalizePayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the payment and logs the reputation log updates. Allowed to be called once after payment is fully funded. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "finalizePayment(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the recipient on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + */ + setPaymentRecipient( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the recipient on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + */ + "setPaymentRecipient(uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId Id of the new skill to set + */ + setPaymentSkill( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId Id of the new skill to set + */ + "setPaymentSkill(uint256,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout for a given token on an existing payment. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _token Address of the token, `0x0` value indicates Ether + */ + setPaymentPayout( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout for a given token on an existing payment. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setPaymentPayout(uint256,uint256,uint256,address,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an exiting payment. + * @param _id Payment identifier + */ + getPayment( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an exiting payment. + * @param _id Payment identifier + */ + "getPayment(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Payment identifier + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimPayment( + _id: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Payment identifier + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimPayment(uint256,address)"( + _id: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of payments in the colony. + */ + getPaymentCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of payments in the colony. + */ + "getPaymentCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Make a new task in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the task belongs + * @param _dueDate The due date of the task, can set to `0` for no-op + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId The skill associated with the task, can set to `0` for no-op + * @param _specificationHash Database identifier where the task specification is stored + */ + makeTask( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _specificationHash: Arrayish, + _domainId: BigNumberish, + _skillId: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Make a new task in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the task belongs + * @param _dueDate The due date of the task, can set to `0` for no-op + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId The skill associated with the task, can set to `0` for no-op + * @param _specificationHash Database identifier where the task specification is stored + */ + "makeTask(uint256,uint256,bytes32,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _specificationHash: Arrayish, + _domainId: BigNumberish, + _skillId: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of tasks in the colony. + */ + getTaskCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tasks in the colony. + */ + "getTaskCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Starts from 0 and is incremented on every co-reviewed task change via `executeTaskChange` call. + * @param _id Id of the task + */ + getTaskChangeNonce( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts from 0 and is incremented on every co-reviewed task change via `executeTaskChange` call. + * @param _id Id of the task + */ + "getTaskChangeNonce(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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 + */ + executeTaskChange( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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 + */ + "executeTaskChange(uint8[],bytes32[],bytes32[],uint8[],uint256,bytes)"( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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)"( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _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. + * @param _role Id of the role, as defined in TaskRole enum + */ + submitTaskWorkRating( + _id: BigNumberish, + _role: BigNumberish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _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. + * @param _role Id of the role, as defined in TaskRole enum + */ + "submitTaskWorkRating(uint256,uint8,bytes32)"( + _id: BigNumberish, + _role: BigNumberish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * 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. + * @param _id Id of the task + * @param _rating 0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50) + * @param _role Id of the role, as defined in TaskRole enum + * @param _salt Salt value used to generate the rating secret + */ + revealTaskWorkRating( + _id: BigNumberish, + _role: BigNumberish, + _rating: BigNumberish, + _salt: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * 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. + * @param _id Id of the task + * @param _rating 0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50) + * @param _role Id of the role, as defined in TaskRole enum + * @param _salt Salt value used to generate the rating secret + */ + "revealTaskWorkRating(uint256,uint8,uint8,bytes32)"( + _id: BigNumberish, + _role: BigNumberish, + _rating: BigNumberish, + _salt: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Helper function used to generage consistently the rating secret using salt value `_salt` and value to hide `_value` + * @param _salt Salt value + * @param _value Value to hide + */ + generateSecret( + _salt: Arrayish, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Helper function used to generage consistently the rating secret using salt value `_salt` and value to hide `_value` + * @param _salt Salt value + * @param _value Value to hide + */ + "generateSecret(bytes32,uint256)"( + _salt: Arrayish, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyStorage.RatingSecrets` information for task `_id`. + * @param _id Id of the task + */ + getTaskWorkRatingSecretsInfo( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyStorage.RatingSecrets` information for task `_id`. + * @param _id Id of the task + */ + "getTaskWorkRatingSecretsInfo(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the rating secret submitted for role `_role` in task `_id` + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + getTaskWorkRatingSecret( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the rating secret submitted for role `_role` in task `_id` + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + "getTaskWorkRatingSecret(uint256,uint8)"( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the task + * @param _permissionDomainId The domain ID in which _user has the Administration permission + * @param _user Address of the user we want to give a manager role to + */ + setTaskManagerRole( + _id: BigNumberish, + _user: string, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the task + * @param _permissionDomainId The domain ID in which _user has the Administration permission + * @param _user Address of the user we want to give a manager role to + */ + "setTaskManagerRole(uint256,address,uint256,uint256)"( + _id: BigNumberish, + _user: string, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a evaluator role to + */ + setTaskEvaluatorRole( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a evaluator role to + */ + "setTaskEvaluatorRole(uint256,address)"( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a worker role to + */ + setTaskWorkerRole( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a worker role to + */ + "setTaskWorkerRole(uint256,address)"( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing evaluator role. Agreed between manager and currently assigned evaluator. + * @param _id Id of the task + */ + removeTaskEvaluatorRole( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing evaluator role. Agreed between manager and currently assigned evaluator. + * @param _id Id of the task + */ + "removeTaskEvaluatorRole(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing worker role. Agreed between manager and currently assigned worker. + * @param _id Id of the task + */ + removeTaskWorkerRole( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing worker role. Agreed between manager and currently assigned worker. + * @param _id Id of the task + */ + "removeTaskWorkerRole(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Set the skill for task `_id`. + * @param _id Id of the task + * @param _skillId Id of the skill which has to be a global skill + */ + setTaskSkill( + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Set the skill for task `_id`. + * @param _id Id of the task + * @param _skillId Id of the skill which has to be a global skill + */ + "setTaskSkill(uint256,uint256)"( + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _specificationHash Unique hash of the task brief in ddb + */ + setTaskBrief( + _id: BigNumberish, + _specificationHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _specificationHash Unique hash of the task brief in ddb + */ + "setTaskBrief(uint256,bytes32)"( + _id: BigNumberish, + _specificationHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the due date on task `_id`. Allowed before a task is finalized. + * @param _dueDate Due date as seconds since unix epoch + * @param _id Id of the task + */ + setTaskDueDate( + _id: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the due date on task `_id`. Allowed before a task is finalized. + * @param _dueDate Due date as seconds since unix epoch + * @param _id Id of the task + */ + "setTaskDueDate(uint256,uint256)"( + _id: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.deliverableHash` and `task.completionTimestamp` properties. + * 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. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + */ + submitTaskDeliverable( + _id: BigNumberish, + _deliverableHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.deliverableHash` and `task.completionTimestamp` properties. + * 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. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + */ + "submitTaskDeliverable(uint256,bytes32)"( + _id: BigNumberish, + _deliverableHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Internally call `submitTaskDeliverable` and `submitTaskWorkRating` in sequence. + * Submit the task deliverable for Worker and rating for Manager. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + * @param _ratingSecret Rating secret for manager + */ + submitTaskDeliverableAndRating( + _id: BigNumberish, + _deliverableHash: Arrayish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Internally call `submitTaskDeliverable` and `submitTaskWorkRating` in sequence. + * Submit the task deliverable for Worker and rating for Manager. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + * @param _ratingSecret Rating secret for manager + */ + "submitTaskDeliverableAndRating(uint256,bytes32,bytes32)"( + _id: BigNumberish, + _deliverableHash: Arrayish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.finalized` property to true + * 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. + * @param _id Id of the task + */ + finalizeTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.finalized` property to true + * 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. + * @param _id Id of the task + */ + "finalizeTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.status` property to `1`. + * 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`. + * @param _id Id of the task + */ + cancelTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.status` property to `1`. + * 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`. + * @param _id Id of the task + */ + "cancelTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + */ + completeTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + */ + "completeTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a task with id `_id` + * @param _id Id of the task + */ + getTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a task with id `_id` + * @param _id Id of the task + */ + "getTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Role` properties back for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + getTaskRole( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Role` properties back for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + "getTaskRole(uint256,uint8)"( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the reward inverse to pay out from revenue. e.g. if the fee is 1% (or 0.01), set 100. + * @param _rewardInverse The inverse of the reward + */ + setRewardInverse( + _rewardInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the reward inverse to pay out from revenue. e.g. if the fee is 1% (or 0.01), set 100. + * @param _rewardInverse The inverse of the reward + */ + "setRewardInverse(uint256)"( + _rewardInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return 1 / the reward to pay out from revenue. e.g. if the fee is 1% (or 0.01), return 100. + */ + getRewardInverse(overrides?: TransactionOverrides): Promise; + + /** + * Return 1 / the reward to pay out from revenue. e.g. if the fee is 1% (or 0.01), return 100. + */ + "getRewardInverse()"(overrides?: TransactionOverrides): Promise; + + /** + * Get payout amount in `_token` denomination for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + getTaskPayout( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get payout amount in `_token` denomination for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getTaskPayout(uint256,uint8,address)"( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for manager in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskManagerPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for manager in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskManagerPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for evaluator in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskEvaluatorPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for evaluator in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskEvaluatorPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for worker in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskWorkerPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for worker in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskWorkerPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only call if evaluator and worker are unassigned or manager, otherwise need signature. + * Set `_token` payout for all roles in task `_id` to the respective amounts. + * @param _evaluatorAmount Payout amount for evaluator + * @param _id Id of the task + * @param _managerAmount Payout amount for manager + * @param _token Address of the token, `0x0` value indicates Ether + * @param _workerAmount Payout amount for worker + */ + setAllTaskPayouts( + _id: BigNumberish, + _token: string, + _managerAmount: BigNumberish, + _evaluatorAmount: BigNumberish, + _workerAmount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only call if evaluator and worker are unassigned or manager, otherwise need signature. + * Set `_token` payout for all roles in task `_id` to the respective amounts. + * @param _evaluatorAmount Payout amount for evaluator + * @param _id Id of the task + * @param _managerAmount Payout amount for manager + * @param _token Address of the token, `0x0` value indicates Ether + * @param _workerAmount Payout amount for worker + */ + "setAllTaskPayouts(uint256,address,uint256,uint256,uint256)"( + _id: BigNumberish, + _token: string, + _managerAmount: BigNumberish, + _evaluatorAmount: BigNumberish, + _workerAmount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimTaskPayout( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimTaskPayout(uint256,uint8,address)"( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * @param _token Address of the token used for reward payout + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + startNextRewardPayout( + _token: string, + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * @param _token Address of the token used for reward payout + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + "startNextRewardPayout(address,bytes,bytes,uint256,bytes32[])"( + _token: string, + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + * @param _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. + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + claimRewardPayout( + _payoutId: BigNumberish, + _squareRoots: BigNumberish[], + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + * @param _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. + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + "claimRewardPayout(uint256,uint256[7],bytes,bytes,uint256,bytes32[])"( + _payoutId: BigNumberish, + _squareRoots: BigNumberish[], + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Get useful information about specific reward payout. + * @param _payoutId Id of the reward payout + */ + getRewardPayoutInfo( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get useful information about specific reward payout. + * @param _payoutId Id of the reward payout + */ + "getRewardPayoutInfo(uint256)"( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + */ + finalizeRewardPayout( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + */ + "finalizeRewardPayout(uint256)"( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the reward funding pot (e.g. id: 0) this returns (0, 0, 0). + * Get the non-mapping properties of a pot by id. + * @param _id Id of the pot which details to get + */ + getFundingPot( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the reward funding pot (e.g. id: 0) this returns (0, 0, 0). + * Get the non-mapping properties of a pot by id. + * @param _id Id of the pot which details to get + */ + "getFundingPot(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of funding pots in the colony. + */ + getFundingPotCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of funding pots in the colony. + */ + "getFundingPotCount()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `_token` balance of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + getFundingPotBalance( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `_token` balance of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getFundingPotBalance(uint256,address)"( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the assigned `_token` payouts of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + getFundingPotPayout( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the assigned `_token` payouts of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getFundingPotPayout(uint256,address)"( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Move a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _childSkillIndex The child index in _permissionDomainId where I will be taking this action + * @param _domainId The domain where I am taking this action, pointed to by _permissionDomainId and _childSkillIndex + * @param _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 + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The same, but for the _toPot which the funds are being moved to + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + moveFundsBetweenPots( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Move a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _childSkillIndex The child index in _permissionDomainId where I will be taking this action + * @param _domainId The domain where I am taking this action, pointed to by _permissionDomainId and _childSkillIndex + * @param _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 + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The same, but for the _toPot which the funds are being moved to + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedMove a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _fromChildSkillIndex The child index in `_permissionDomainId` where we can find the domain for `_fromPotId` + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The child index in `_permissionDomainId` where we can find the domain for `_toPotId` + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimColonyFunds( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimColonyFunds(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the total amount of tokens `_token` minus amount reserved to be paid to the reputation and token holders as rewards. + * @param _token Address of the token, `0x0` value indicates Ether + */ + getNonRewardPotsTotal( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the total amount of tokens `_token` minus amount reserved to be paid to the reputation and token holders as rewards. + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getNonRewardPotsTotal(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Allow the _approvee to obligate some amount of tokens as a stake. + * @param _amount Amount of internal token up to which we are willing to be obligated. + * @param _approvee Address of the account we are willing to let obligate us. + * @param _domainId Domain in which we are willing to be obligated. + */ + approveStake( + _approvee: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Allow the _approvee to obligate some amount of tokens as a stake. + * @param _amount Amount of internal token up to which we are willing to be obligated. + * @param _approvee Address of the account we are willing to let obligate us. + * @param _domainId Domain in which we are willing to be obligated. + */ + "approveStake(address,uint256,uint256)"( + _approvee: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Obligate the user some amount of tokens as a stake. + * @param _amount Amount of internal token we are obligating. + * @param _domainId Domain in which we are obligating the user. + * @param _user Address of the account we are obligating. + */ + obligateStake( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Obligate the user some amount of tokens as a stake. + * @param _amount Amount of internal token we are obligating. + * @param _domainId Domain in which we are obligating the user. + * @param _user Address of the account we are obligating. + */ + "obligateStake(address,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deobligate the user some amount of tokens, releasing the stake. + * @param _amount Amount of internal token we are deobligating. + * @param _domainId Domain in which we are deobligating the user. + * @param _user Address of the account we are deobligating. + */ + deobligateStake( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deobligate the user some amount of tokens, releasing the stake. + * @param _amount Amount of internal token we are deobligating. + * @param _domainId Domain in which we are deobligating the user. + * @param _user Address of the account we are deobligating. + */ + "deobligateStake(address,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Transfer some amount of obligated tokens. Can be called by the arbitration role. + * @param _amount Amount of internal token we are transferring. + * @param _childSkillIndex The child index in `_permissionDomainId` where we can find `_domainId`. + * @param _domainId Domain in which we are transferring the tokens. + * @param _obligator Address of the account who set the obligation. + * @param _permissionDomainId The domainId in which I have the permission to take this action. + * @param _recipient Recipient of the transferred tokens. + * @param _user Address of the account we are transferring. + */ + transferStake( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _obligator: string, + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Transfer some amount of obligated tokens. Can be called by the arbitration role. + * @param _amount Amount of internal token we are transferring. + * @param _childSkillIndex The child index in `_permissionDomainId` where we can find `_domainId`. + * @param _domainId Domain in which we are transferring the tokens. + * @param _obligator Address of the account who set the obligation. + * @param _permissionDomainId The domainId in which I have the permission to take this action. + * @param _recipient Recipient of the transferred tokens. + * @param _user Address of the account we are transferring. + */ + "transferStake(uint256,uint256,address,address,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _obligator: string, + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an approval to obligate tokens. + * @param _domainId Domain in which we are willing to be obligated. + * @param _obligator Address of the account we are willing to let obligate us. + * @param _user User allowing their tokens to be obligated. + */ + getApproval( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an approval to obligate tokens. + * @param _domainId Domain in which we are willing to be obligated. + * @param _obligator Address of the account we are willing to let obligate us. + * @param _user User allowing their tokens to be obligated. + */ + "getApproval(address,address,uint256)"( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an obligation of tokens. + * @param _domainId Domain in which we are obligated. + * @param _obligator Address of the account who obligated us. + * @param _user User whose tokens are obligated. + */ + getObligation( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an obligation of tokens. + * @param _domainId Domain in which we are obligated. + * @param _obligator Address of the account who obligated us. + * @param _user User whose tokens are obligated. + */ + "getObligation(address,address,uint256)"( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the domain corresponding to a funding pot + * @param _fundingPotId Id of the funding pot + */ + getDomainFromFundingPot( + _fundingPotId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the domain corresponding to a funding pot + * @param _fundingPotId Id of the funding pot + */ + "getDomainFromFundingPot(uint256)"( + _fundingPotId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Burn tokens held by the colony. Can only burn tokens held in the root funding pot. + * @param amount The amount of tokens to burn + * @param token The address of the token to burn + */ + burnTokens( + token: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Burn tokens held by the colony. Can only burn tokens held in the root funding pot. + * @param amount The amount of tokens to burn + * @param token The address of the token to burn + */ + "burnTokens(address,uint256)"( + token: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * unlock the native colony token, if possible + */ + unlockToken(overrides?: TransactionOverrides): Promise; + + /** + * unlock the native colony token, if possible + */ + "unlockToken()"(overrides?: TransactionOverrides): Promise; + + /** + * Update the internal bookkeeping around external ERC20 approvals + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + updateApprovalAmount( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the internal bookkeeping around external ERC20 approvals + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + "updateApprovalAmount(address,address)"( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current approval amount + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + getTokenApproval( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current approval amount + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + "getTokenApproval(address,address)"( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current total approval amount across all spenders + * @param token The address of the token which was approved + */ + getTotalTokenApproval( + token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current total approval amount across all spenders + * @param token The address of the token which was approved + */ + "getTotalTokenApproval(address)"( + token: string, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/colony/11/IColonyNetwork.d.ts b/src/contracts/colony/11/IColonyNetwork.d.ts new file mode 100644 index 000000000..b5ca12ffb --- /dev/null +++ b/src/contracts/colony/11/IColonyNetwork.d.ts @@ -0,0 +1,5406 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface IColonyNetworkInterface extends Interface { + functions: { + approveExitRecovery: TypedFunctionDescription<{ encode([]: []): string }>; + + checkNotAdditionalProtectedVariable: TypedFunctionDescription<{ + encode([_slot]: [BigNumberish]): string; + }>; + + enterRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + + executeMetaTransaction: TypedFunctionDescription<{ + encode([userAddress, payload, sigR, sigS, sigV]: [ + string, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + exitRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + + getMetatransactionNonce: TypedFunctionDescription<{ + encode([userAddress]: [string]): string; + }>; + + isInRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + + numRecoveryRoles: TypedFunctionDescription<{ encode([]: []): string }>; + + removeRecoveryRole: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + setRecoveryRole: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + setStorageSlotRecovery: TypedFunctionDescription<{ + encode([_slot, _value]: [BigNumberish, Arrayish]): string; + }>; + + supportsInterface: TypedFunctionDescription<{ + encode([_interfaceID]: [Arrayish]): string; + }>; + + setReplacementReputationUpdateLogEntry: TypedFunctionDescription<{ + encode([ + _reputationMiningCycle, + _id, + _user, + _amount, + _skillId, + _colony, + _nUpdates, + _nPreviousUpdates, + ]: [ + string, + BigNumberish, + string, + BigNumberish, + BigNumberish, + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + getReplacementReputationUpdateLogEntry: TypedFunctionDescription<{ + encode([_reputationMiningCycle, _id]: [string, BigNumberish]): string; + }>; + + getReplacementReputationUpdateLogsExist: TypedFunctionDescription<{ + encode([_reputationMiningCycle]: [string]): string; + }>; + + getMetaColony: TypedFunctionDescription<{ encode([]: []): string }>; + + getColonyCount: TypedFunctionDescription<{ encode([]: []): string }>; + + isColony: TypedFunctionDescription<{ encode([_colony]: [string]): string }>; + + addSkill: TypedFunctionDescription<{ + encode([_parentSkillId]: [BigNumberish]): string; + }>; + + getSkill: TypedFunctionDescription<{ + encode([_skillId]: [BigNumberish]): string; + }>; + + deprecateSkill: TypedFunctionDescription<{ + encode([_skillId]: [BigNumberish]): string; + }>; + + initialiseRootLocalSkill: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + appendReputationUpdateLog: TypedFunctionDescription<{ + encode([_user, _amount, _skillId]: [ + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + getSkillCount: TypedFunctionDescription<{ encode([]: []): string }>; + + getReputationMiningSkillId: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + setTokenLocking: TypedFunctionDescription<{ + encode([_tokenLockingAddress]: [string]): string; + }>; + + getTokenLocking: TypedFunctionDescription<{ encode([]: []): string }>; + + createMetaColony: TypedFunctionDescription<{ + encode([_tokenAddress]: [string]): string; + }>; + + createColony: TypedFunctionDescription<{ + encode([_tokenAddress]: [string]): string; + }>; + + addColonyVersion: TypedFunctionDescription<{ + encode([_version, _resolver]: [BigNumberish, string]): string; + }>; + + initialise: TypedFunctionDescription<{ + encode([_resolver, _version]: [string, BigNumberish]): string; + }>; + + getColony: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getCurrentColonyVersion: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getParentSkillId: TypedFunctionDescription<{ + encode([_skillId, _parentSkillIndex]: [ + BigNumberish, + BigNumberish + ]): string; + }>; + + getChildSkillId: TypedFunctionDescription<{ + encode([_skillId, _childSkillIndex]: [ + BigNumberish, + BigNumberish + ]): string; + }>; + + getReputationMiningCycle: TypedFunctionDescription<{ + encode([_active]: [boolean]): string; + }>; + + calculateMinerWeight: TypedFunctionDescription<{ + encode([_timeStaked, _submissonIndex]: [ + BigNumberish, + BigNumberish + ]): string; + }>; + + getColonyVersionResolver: TypedFunctionDescription<{ + encode([_version]: [BigNumberish]): string; + }>; + + setReputationRootHash: TypedFunctionDescription<{ + encode([_newHash, _newNLeaves, _stakers]: [ + Arrayish, + BigNumberish, + string[] + ]): string; + }>; + + startNextCycle: TypedFunctionDescription<{ encode([]: []): string }>; + + initialiseReputationMining: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getReputationRootHash: TypedFunctionDescription<{ encode([]: []): string }>; + + getReputationRootHashNLeaves: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getReputationRootHashNNodes: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + startTokenAuction: TypedFunctionDescription<{ + encode([_token]: [string]): string; + }>; + + setupRegistrar: TypedFunctionDescription<{ + encode([_ens, _rootNode]: [string, Arrayish]): string; + }>; + + registerUserLabel: TypedFunctionDescription<{ + encode([_username, _orbitdb]: [string, string]): string; + }>; + + registerColonyLabel: TypedFunctionDescription<{ + encode([_colonyName, _orbitdb]: [string, string]): string; + }>; + + updateColonyOrbitDB: TypedFunctionDescription<{ + encode([_orbitdb]: [string]): string; + }>; + + updateUserOrbitDB: TypedFunctionDescription<{ + encode([_orbitdb]: [string]): string; + }>; + + getProfileDBAddress: TypedFunctionDescription<{ + encode([_node]: [Arrayish]): string; + }>; + + lookupRegisteredENSDomain: TypedFunctionDescription<{ + encode([_addr]: [string]): string; + }>; + + addr: TypedFunctionDescription<{ encode([_node]: [Arrayish]): string }>; + + getENSRegistrar: TypedFunctionDescription<{ encode([]: []): string }>; + + setMiningResolver: TypedFunctionDescription<{ + encode([_miningResolverAddress]: [string]): string; + }>; + + getMiningResolver: TypedFunctionDescription<{ encode([]: []): string }>; + + addExtensionToNetwork: TypedFunctionDescription<{ + encode([_extensionId, _resolver]: [Arrayish, string]): string; + }>; + + installExtension: TypedFunctionDescription<{ + encode([_extensionId, _version]: [Arrayish, BigNumberish]): string; + }>; + + upgradeExtension: TypedFunctionDescription<{ + encode([_extensionId, _newVersion]: [Arrayish, BigNumberish]): string; + }>; + + deprecateExtension: TypedFunctionDescription<{ + encode([_extensionId, _deprecated]: [Arrayish, boolean]): string; + }>; + + uninstallExtension: TypedFunctionDescription<{ + encode([_extensionId]: [Arrayish]): string; + }>; + + getExtensionResolver: TypedFunctionDescription<{ + encode([_extensionId, _version]: [Arrayish, BigNumberish]): string; + }>; + + getExtensionInstallation: TypedFunctionDescription<{ + encode([_extensionId, _colony]: [Arrayish, string]): string; + }>; + + getFeeInverse: TypedFunctionDescription<{ encode([]: []): string }>; + + setFeeInverse: TypedFunctionDescription<{ + encode([_feeInverse]: [BigNumberish]): string; + }>; + + getPayoutWhitelist: TypedFunctionDescription<{ + encode([_token]: [string]): string; + }>; + + setPayoutWhitelist: TypedFunctionDescription<{ + encode([_token, _status]: [string, boolean]): string; + }>; + + punishStakers: TypedFunctionDescription<{ + encode([_stakers, _amount]: [string[], BigNumberish]): string; + }>; + + stakeForMining: TypedFunctionDescription<{ + encode([_amount]: [BigNumberish]): string; + }>; + + unstakeForMining: TypedFunctionDescription<{ + encode([_amount]: [BigNumberish]): string; + }>; + + getMiningStake: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + reward: TypedFunctionDescription<{ + encode([_recipient, _amount]: [string, BigNumberish]): string; + }>; + + burnUnneededRewards: TypedFunctionDescription<{ + encode([_amount]: [BigNumberish]): string; + }>; + + claimMiningReward: TypedFunctionDescription<{ + encode([_recipient]: [string]): string; + }>; + + setReputationMiningCycleReward: TypedFunctionDescription<{ + encode([_amount]: [BigNumberish]): string; + }>; + + getReputationMiningCycleReward: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + deployTokenViaNetwork: TypedFunctionDescription<{ + encode([_name, _symbol, _decimals]: [ + string, + string, + BigNumberish + ]): string; + }>; + + deployTokenAuthority: TypedFunctionDescription<{ + encode([_token, _colony, _allowedToTransfer]: [ + string, + string, + string[] + ]): string; + }>; + + setMiningDelegate: TypedFunctionDescription<{ + encode([_delegate, _allowed]: [string, boolean]): string; + }>; + + getMiningDelegator: TypedFunctionDescription<{ + encode([_delegate]: [string]): string; + }>; + }; + + events: { + AuctionCreated: TypedEventDescription<{ + encodeTopics([auction, token, quantity]: [null, null, null]): string[]; + }>; + + ColonyAdded: TypedEventDescription<{ + encodeTopics([colonyId, colonyAddress, token]: [ + BigNumberish | null, + string | null, + null + ]): string[]; + }>; + + ColonyLabelRegistered: TypedEventDescription<{ + encodeTopics([colony, label]: [string | null, null]): string[]; + }>; + + ColonyNetworkInitialised: TypedEventDescription<{ + encodeTopics([resolver]: [null]): string[]; + }>; + + ColonyVersionAdded: TypedEventDescription<{ + encodeTopics([version, resolver]: [null, null]): string[]; + }>; + + ExtensionAddedToNetwork: TypedEventDescription<{ + encodeTopics([extensionId, version]: [Arrayish | null, null]): string[]; + }>; + + ExtensionDeprecated: TypedEventDescription<{ + encodeTopics([extensionId, colony, deprecated]: [ + Arrayish | null, + string | null, + null + ]): string[]; + }>; + + ExtensionInstalled: TypedEventDescription<{ + encodeTopics([extensionId, colony, version]: [ + Arrayish | null, + string | null, + null + ]): string[]; + }>; + + ExtensionUninstalled: TypedEventDescription<{ + encodeTopics([extensionId, colony]: [ + Arrayish | null, + string | null + ]): string[]; + }>; + + ExtensionUpgraded: TypedEventDescription<{ + encodeTopics([extensionId, colony, version]: [ + Arrayish | null, + string | null, + null + ]): string[]; + }>; + + MetaColonyCreated: TypedEventDescription<{ + encodeTopics([metaColony, token, rootSkillId]: [ + null, + null, + null + ]): string[]; + }>; + + MetaTransactionExecuted: TypedEventDescription<{ + encodeTopics([userAddress, relayerAddress, payload]: [ + null, + null, + null + ]): string[]; + }>; + + MiningCycleResolverSet: TypedEventDescription<{ + encodeTopics([miningCycleResolver]: [null]): string[]; + }>; + + NetworkFeeInverseSet: TypedEventDescription<{ + encodeTopics([feeInverse]: [null]): string[]; + }>; + + RecoveryModeEntered: TypedEventDescription<{ + encodeTopics([user]: [null]): string[]; + }>; + + RecoveryModeExitApproved: TypedEventDescription<{ + encodeTopics([user]: [null]): string[]; + }>; + + RecoveryModeExited: TypedEventDescription<{ + encodeTopics([user]: [null]): string[]; + }>; + + RecoveryRoleSet: TypedEventDescription<{ + encodeTopics([user, setTo]: [string | null, null]): string[]; + }>; + + RecoveryStorageSlotSet: TypedEventDescription<{ + encodeTopics([user, slot, fromValue, toValue]: [ + null, + null, + null, + null + ]): string[]; + }>; + + RegistrarInitialised: TypedEventDescription<{ + encodeTopics([ens, rootNode]: [null, null]): string[]; + }>; + + ReputationMinerPenalised: TypedEventDescription<{ + encodeTopics([miner, tokensLost]: [null, null]): string[]; + }>; + + ReputationMiningCycleComplete: TypedEventDescription<{ + encodeTopics([hash, nLeaves]: [null, null]): string[]; + }>; + + ReputationMiningInitialised: TypedEventDescription<{ + encodeTopics([inactiveReputationMiningCycle]: [null]): string[]; + }>; + + ReputationMiningRewardSet: TypedEventDescription<{ + encodeTopics([amount]: [null]): string[]; + }>; + + ReputationRootHashSet: TypedEventDescription<{ + encodeTopics([newHash, newNLeaves, stakers, reward]: [ + null, + null, + null, + null + ]): string[]; + }>; + + SkillAdded: TypedEventDescription<{ + encodeTopics([skillId, parentSkillId]: [null, null]): string[]; + }>; + + TokenAuthorityDeployed: TypedEventDescription<{ + encodeTopics([tokenAuthorityAddress]: [null]): string[]; + }>; + + TokenDeployed: TypedEventDescription<{ + encodeTopics([tokenAddress]: [null]): string[]; + }>; + + TokenLockingAddressSet: TypedEventDescription<{ + encodeTopics([tokenLocking]: [null]): string[]; + }>; + + TokenWhitelisted: TypedEventDescription<{ + encodeTopics([token, status]: [null, null]): string[]; + }>; + + UserLabelRegistered: TypedEventDescription<{ + encodeTopics([user, label]: [string | null, null]): string[]; + }>; + }; +} + +export class IColonyNetwork extends Contract { + connect(signerOrProvider: Signer | Provider | string): IColonyNetwork; + attach(addressOrName: string): IColonyNetwork; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IColonyNetwork; + once(event: EventFilter | string, listener: Listener): IColonyNetwork; + addListener( + eventName: EventFilter | string, + listener: Listener + ): IColonyNetwork; + removeAllListeners(eventName: EventFilter | string): IColonyNetwork; + removeListener(eventName: any, listener: Listener): IColonyNetwork; + + interface: IColonyNetworkInterface; + + functions: { + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + approveExitRecovery( + overrides?: TransactionOverrides + ): Promise; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + "approveExitRecovery()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + checkNotAdditionalProtectedVariable( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + "checkNotAdditionalProtectedVariable(uint256)"( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + enterRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + "enterRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + executeMetaTransaction( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + exitRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + "exitRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Is colony network in recovery mode. + */ + isInRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Is colony network in recovery mode. + */ + "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + numRecoveryRoles(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + "numRecoveryRoles()"(overrides?: TransactionOverrides): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + removeRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + "removeRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + setRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + "setRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + setStorageSlotRecovery( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + "setStorageSlotRecovery(uint256,bytes32)"( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Interface identification is specified in ERC-165. + * Query if a contract implements an interface + * @param _interfaceID The interface identifier, as specified in ERC-165 + */ + supportsInterface( + _interfaceID: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Interface identification is specified in ERC-165. + * Query if a contract implements an interface + * @param _interfaceID The interface identifier, as specified in ERC-165 + */ + "supportsInterface(bytes4)"( + _interfaceID: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Note that strictly, `_nUpdates` and `_nPreviousUpdates` don't need to be set - they're only used during dispute resolution, which these replacement log entries are never used for. However, for ease of resyncing the client, we have decided to include them for now. + * Set a replacement log entry if we're in recovery mode. + * @param _amount The amount of reputation being earned / lost + * @param _colony The address of the colony being updated + * @param _id The number of the log entry in the reputation mining cycle in question. + * @param _nPreviousUpdates The number of updates in the log before this entry + * @param _nUpdates The number of updates the log entry corresponds to + * @param _reputationMiningCycle The address of the reputation mining cycle that the log was in. + * @param _skillId The id of the origin skill for the reputation update + * @param _user The address of the user earning / losing the reputation + */ + setReplacementReputationUpdateLogEntry( + _reputationMiningCycle: string, + _id: BigNumberish, + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + _colony: string, + _nUpdates: BigNumberish, + _nPreviousUpdates: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Note that strictly, `_nUpdates` and `_nPreviousUpdates` don't need to be set - they're only used during dispute resolution, which these replacement log entries are never used for. However, for ease of resyncing the client, we have decided to include them for now. + * Set a replacement log entry if we're in recovery mode. + * @param _amount The amount of reputation being earned / lost + * @param _colony The address of the colony being updated + * @param _id The number of the log entry in the reputation mining cycle in question. + * @param _nPreviousUpdates The number of updates in the log before this entry + * @param _nUpdates The number of updates the log entry corresponds to + * @param _reputationMiningCycle The address of the reputation mining cycle that the log was in. + * @param _skillId The id of the origin skill for the reputation update + * @param _user The address of the user earning / losing the reputation + */ + "setReplacementReputationUpdateLogEntry(address,uint256,address,int256,uint256,address,uint128,uint128)"( + _reputationMiningCycle: string, + _id: BigNumberish, + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + _colony: string, + _nUpdates: BigNumberish, + _nPreviousUpdates: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a replacement log entry (if set) for the log entry `_id` in the mining cycle that was at the address `_reputationMiningCycle`. + * @param _id The log entry number we wish to see if there is a replacement for + * @param _reputationMiningCycle The address of the reputation mining cycle we are asking about + */ + getReplacementReputationUpdateLogEntry( + _reputationMiningCycle: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, string, BigNumber, BigNumber] & { + user: string; + amount: BigNumber; + skillId: BigNumber; + colony: string; + nUpdates: BigNumber; + nPreviousUpdates: BigNumber; + } + >; + + /** + * Get a replacement log entry (if set) for the log entry `_id` in the mining cycle that was at the address `_reputationMiningCycle`. + * @param _id The log entry number we wish to see if there is a replacement for + * @param _reputationMiningCycle The address of the reputation mining cycle we are asking about + */ + "getReplacementReputationUpdateLogEntry(address,uint256)"( + _reputationMiningCycle: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, string, BigNumber, BigNumber] & { + user: string; + amount: BigNumber; + skillId: BigNumber; + colony: string; + nUpdates: BigNumber; + nPreviousUpdates: BigNumber; + } + >; + + /** + * Get whether any replacement log entries have been set for the supplied reputation mining cycle.Used by the client to avoid doubling the number of RPC calls when syncing from scratch. + * @param _reputationMiningCycle The reputation mining cycle address we want to know if any entries have been replaced in. + */ + getReplacementReputationUpdateLogsExist( + _reputationMiningCycle: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get whether any replacement log entries have been set for the supplied reputation mining cycle.Used by the client to avoid doubling the number of RPC calls when syncing from scratch. + * @param _reputationMiningCycle The reputation mining cycle address we want to know if any entries have been replaced in. + */ + "getReplacementReputationUpdateLogsExist(address)"( + _reputationMiningCycle: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the Meta Colony address. + */ + getMetaColony(overrides?: TransactionOverrides): Promise; + + /** + * Get the Meta Colony address. + */ + "getMetaColony()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of colonies in the network. + */ + getColonyCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of colonies in the network. + */ + "getColonyCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Check if specific address is a colony created on colony network. + * @param _colony Address of the colony + */ + isColony( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Check if specific address is a colony created on colony network. + * @param _colony Address of the colony + */ + "isColony(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if the parent skill does not exist or if this is called by an unauthorised sender. + * Adds a new skill to the global or local skills tree, under skill `_parentSkillId`. Only the Meta Colony is allowed to add a global skill, called via `IColony.addGlobalSkill`. Any colony is allowed to add a local skill and which is associated with a new domain via `IColony.addDomain`. + * @param _parentSkillId Id of the skill under which the new skill will be added. If 0, a global skill is added with no parent. + */ + addSkill( + _parentSkillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if the parent skill does not exist or if this is called by an unauthorised sender. + * Adds a new skill to the global or local skills tree, under skill `_parentSkillId`. Only the Meta Colony is allowed to add a global skill, called via `IColony.addGlobalSkill`. Any colony is allowed to add a local skill and which is associated with a new domain via `IColony.addDomain`. + * @param _parentSkillId Id of the skill under which the new skill will be added. If 0, a global skill is added with no parent. + */ + "addSkill(uint256)"( + _parentSkillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `nParents` and `nChildren` of skill with id `_skillId`. + * @param _skillId Id of the skill + */ + getSkill( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber[], BigNumber[], boolean, boolean] & { + nParents: BigNumber; + nChildren: BigNumber; + parents: BigNumber[]; + children: BigNumber[]; + globalSkill: boolean; + deprecated: boolean; + } + >; + + /** + * Get the `nParents` and `nChildren` of skill with id `_skillId`. + * @param _skillId Id of the skill + */ + "getSkill(uint256)"( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber[], BigNumber[], boolean, boolean] & { + nParents: BigNumber; + nChildren: BigNumber; + parents: BigNumber[]; + children: BigNumber[]; + globalSkill: boolean; + deprecated: boolean; + } + >; + + /** + * This function is deprecated and will be removed in a future release + * Mark a skill as deprecated which stops new tasks and payments from using it. + * @param _skillId Id of the skill + */ + deprecateSkill( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function is deprecated and will be removed in a future release + * Mark a skill as deprecated which stops new tasks and payments from using it. + * @param _skillId Id of the skill + */ + "deprecateSkill(uint256)"( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set deprecation status for a skill + * @param _deprecated Deprecation status + * @param _skillId Id of the skill + */ + "deprecateSkill(uint256,bool)"( + _skillId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skills tree for a colony + */ + initialiseRootLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skills tree for a colony + */ + "initialiseRootLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if it is called by anyone but a colony or if skill with id `_skillId` does not exist or. + * Adds a reputation update entry to log. + * @param _amount The amount of reputation change for the update, this can be a negative as well as a positive value + * @param _skillId The skill for the reputation update + * @param _user The address of the user for the reputation update + */ + appendReputationUpdateLog( + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if it is called by anyone but a colony or if skill with id `_skillId` does not exist or. + * Adds a reputation update entry to log. + * @param _amount The amount of reputation change for the update, this can be a negative as well as a positive value + * @param _skillId The skill for the reputation update + * @param _user The address of the user for the reputation update + */ + "appendReputationUpdateLog(address,int256,uint256)"( + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of skills in the network including both global and local skills. + */ + getSkillCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of skills in the network including both global and local skills. + */ + "getSkillCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the `skillId` of the reputation mining skill. Only set once the metacolony is set up. + */ + getReputationMiningSkillId( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `skillId` of the reputation mining skill. Only set once the metacolony is set up. + */ + "getReputationMiningSkillId()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the token locking address. This is only set once, and can't be changed afterwards. + * @param _tokenLockingAddress Address of the locking contract + */ + setTokenLocking( + _tokenLockingAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the token locking address. This is only set once, and can't be changed afterwards. + * @param _tokenLockingAddress Address of the locking contract + */ + "setTokenLocking(address)"( + _tokenLockingAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get token locking contract address. + */ + getTokenLocking(overrides?: TransactionOverrides): Promise; + + /** + * Get token locking contract address. + */ + "getTokenLocking()"(overrides?: TransactionOverrides): Promise; + + /** + * Create the Meta Colony, same as a normal colony plus the root skill. + * @param _tokenAddress Address of the CLNY token + */ + createMetaColony( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Create the Meta Colony, same as a normal colony plus the root skill. + * @param _tokenAddress Address of the CLNY token + */ + "createMetaColony(address)"( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, at version 3 + * @param _tokenAddress Address of an ERC20 token to serve as the colony token. + */ + createColony( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, at version 3 + * @param _tokenAddress Address of an ERC20 token to serve as the colony token. + */ + "createColony(address)"( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the colony to mint tokens, token ownership must be transferred to the new colonyWe expect this function to only be used by the dapp + * Creates a new colony in the network, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _metadata The metadata associated with the new colony + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string,string)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Overload of the simpler `createColony` -- creates a new colony in the network with a variety of options, at version 4 + * @param _colonyName The label to register (if null, no label is registered) + * @param _orbitdb DEPRECATED Currently a no-op + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _useExtensionManager DEPRECATED Currently a no-op + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string,string,bool)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + _orbitdb: string, + _useExtensionManager: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. + * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract + * @param _version The new Colony contract version + */ + addColonyVersion( + _version: BigNumberish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. + * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract + * @param _version The new Colony contract version + */ + "addColonyVersion(uint256,address)"( + _version: BigNumberish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be run once, by the Network owner before any Colony versions are added. + * Initialises the colony network by setting the first Colony version resolver to `_resolver` address. + * @param _resolver Address of the resolver for Colony contract + * @param _version Version of the Colony contract the resolver represents + */ + initialise( + _resolver: string, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be run once, by the Network owner before any Colony versions are added. + * Initialises the colony network by setting the first Colony version resolver to `_resolver` address. + * @param _resolver Address of the resolver for Colony contract + * @param _version Version of the Colony contract the resolver represents + */ + "initialise(address,uint256)"( + _resolver: string, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a colony address by its Id in the network. + * @param _id Id of the colony to get + */ + getColony( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a colony address by its Id in the network. + * @param _id Id of the colony to get + */ + "getColony(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the latest Colony contract version. This is the version used to create all new colonies. + */ + getCurrentColonyVersion( + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the latest Colony contract version. This is the version used to create all new colonies. + */ + "getCurrentColonyVersion()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the parent skill at index `_parentSkillIndex` for skill with Id `_skillId`. + * @param _parentSkillIndex Index of the `skill.parents` array to get Note that not all parent skill ids are stored here. See `Skill.parents` member for definition on which parents are stored + * @param _skillId Id of the skill + */ + getParentSkillId( + _skillId: BigNumberish, + _parentSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the parent skill at index `_parentSkillIndex` for skill with Id `_skillId`. + * @param _parentSkillIndex Index of the `skill.parents` array to get Note that not all parent skill ids are stored here. See `Skill.parents` member for definition on which parents are stored + * @param _skillId Id of the skill + */ + "getParentSkillId(uint256,uint256)"( + _skillId: BigNumberish, + _parentSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the child skill at index `_childSkillIndex` for skill with Id `_skillId`. + * @param _childSkillIndex Index of the `skill.children` array to get + * @param _skillId Id of the skill + */ + getChildSkillId( + _skillId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the child skill at index `_childSkillIndex` for skill with Id `_skillId`. + * @param _childSkillIndex Index of the `skill.children` array to get + * @param _skillId Id of the skill + */ + "getChildSkillId(uint256,uint256)"( + _skillId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of either the active or inactive reputation mining cycle, based on `active`. The active reputation mining cycle is the one currently under consideration by reputation miners. The inactive reputation cycle is the one with the log that is being appended to. + * @param _active Whether the user wants the active or inactive reputation mining cycle + */ + getReputationMiningCycle( + _active: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of either the active or inactive reputation mining cycle, based on `active`. The active reputation mining cycle is the one currently under consideration by reputation miners. The inactive reputation cycle is the one with the log that is being appended to. + * @param _active Whether the user wants the active or inactive reputation mining cycle + */ + "getReputationMiningCycle(bool)"( + _active: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Calculate raw miner weight in WADs. + * @param _submissonIndex Index of reputation hash submission (between 0 and 11) + * @param _timeStaked Amount of time (in seconds) that the miner has staked their CLNY + */ + calculateMinerWeight( + _timeStaked: BigNumberish, + _submissonIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Calculate raw miner weight in WADs. + * @param _submissonIndex Index of reputation hash submission (between 0 and 11) + * @param _timeStaked Amount of time (in seconds) that the miner has staked their CLNY + */ + "calculateMinerWeight(uint256,uint256)"( + _timeStaked: BigNumberish, + _submissonIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Resolver` address for Colony contract version `_version`. + * @param _version The Colony contract version + */ + getColonyVersionResolver( + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Resolver` address for Colony contract version `_version`. + * @param _version The Colony contract version + */ + "getColonyVersionResolver(uint256)"( + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a new Reputation root hash and starts a new mining cycle. Can only be called by the ReputationMiningCycle contract. + * @param _newHash The reputation root hash + * @param _newNLeaves The updated leaves count value + * @param _stakers Array of users who submitted or backed the hash, being accepted here as the new reputation root hash + */ + setReputationRootHash( + _newHash: Arrayish, + _newNLeaves: BigNumberish, + _stakers: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a new Reputation root hash and starts a new mining cycle. Can only be called by the ReputationMiningCycle contract. + * @param _newHash The reputation root hash + * @param _newNLeaves The updated leaves count value + * @param _stakers Array of users who submitted or backed the hash, being accepted here as the new reputation root hash + */ + "setReputationRootHash(bytes32,uint256,address[])"( + _newHash: Arrayish, + _newNLeaves: BigNumberish, + _stakers: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts a new Reputation Mining cycle. Explicitly called only the first time, subsequently called from within `setReputationRootHash`. + */ + startNextCycle( + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts a new Reputation Mining cycle. Explicitly called only the first time, subsequently called from within `setReputationRootHash`. + */ + "startNextCycle()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Creates initial inactive reputation mining cycle. + */ + initialiseReputationMining( + overrides?: TransactionOverrides + ): Promise; + + /** + * Creates initial inactive reputation mining cycle. + */ + "initialiseReputationMining()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the root hash of the current reputation state tree. + */ + getReputationRootHash(overrides?: TransactionOverrides): Promise; + + /** + * Get the root hash of the current reputation state tree. + */ + "getReputationRootHash()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * I cannot see a reason why a user's client would need to call this - only stored to help with some edge cases in reputation mining dispute resolution. + * Get the number of leaves in the current reputation state tree. + */ + getReputationRootHashNLeaves( + overrides?: TransactionOverrides + ): Promise; + + /** + * I cannot see a reason why a user's client would need to call this - only stored to help with some edge cases in reputation mining dispute resolution. + * Get the number of leaves in the current reputation state tree. + */ + "getReputationRootHashNLeaves()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecated, replaced by getReputationRootHashNLeaves which does the same thing but is more accurately named.will be removed in a later version. + * Get the number of leaves in the current reputation state tree. + */ + getReputationRootHashNNodes( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecated, replaced by getReputationRootHashNLeaves which does the same thing but is more accurately named.will be removed in a later version. + * Get the number of leaves in the current reputation state tree. + */ + "getReputationRootHashNNodes()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Create and start a new `DutchAuction` for the entire amount of `_token` owned by the Colony Network. + * @param _token Address of the token held by the network to be auctioned + */ + startTokenAuction( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Create and start a new `DutchAuction` for the entire amount of `_token` owned by the Colony Network. + * @param _token Address of the token held by the network to be auctioned + */ + "startTokenAuction(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Setup registrar with ENS and root node. + * @param _ens Address of ENS registrar + * @param _rootNode Namehash of the root node for the domain + */ + setupRegistrar( + _ens: string, + _rootNode: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Setup registrar with ENS and root node. + * @param _ens Address of ENS registrar + * @param _rootNode Namehash of the root node for the domain + */ + "setupRegistrar(address,bytes32)"( + _ens: string, + _rootNode: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "user.joincolony.eth" label. + * @param _orbitdb The path of the orbitDB database associated with the user profile + * @param _username The label to register + */ + registerUserLabel( + _username: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "user.joincolony.eth" label. + * @param _orbitdb The path of the orbitDB database associated with the user profile + * @param _username The label to register + */ + "registerUserLabel(string,string)"( + _username: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "colony.joincolony.eth" label. Can only be called by a Colony. + * @param _colonyName The label to register. + * @param _orbitdb The path of the orbitDB database associated with the colony name + */ + registerColonyLabel( + _colonyName: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "colony.joincolony.eth" label. Can only be called by a Colony. + * @param _colonyName The label to register. + * @param _orbitdb The path of the orbitDB database associated with the colony name + */ + "registerColonyLabel(string,string)"( + _colonyName: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the colony + */ + updateColonyOrbitDB( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the colony + */ + "updateColonyOrbitDB(string)"( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a user's orbitdb address. Can only be called by a user with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the user + */ + updateUserOrbitDB( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a user's orbitdb address. Can only be called by a user with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the user + */ + "updateUserOrbitDB(string)"( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Retrieve the orbitdb address corresponding to a registered account. + * @param _node The Namehash of the account being queried. + */ + getProfileDBAddress( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Retrieve the orbitdb address corresponding to a registered account. + * @param _node The Namehash of the account being queried. + */ + "getProfileDBAddress(bytes32)"( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Reverse lookup a username from an address. + * @param _addr The address we wish to find the corresponding ENS domain for (if any) + */ + lookupRegisteredENSDomain( + _addr: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Reverse lookup a username from an address. + * @param _addr The address we wish to find the corresponding ENS domain for (if any) + */ + "lookupRegisteredENSDomain(address)"( + _addr: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the address the supplied node resolves do, if we are the resolver. + * @param _node The namehash of the ENS address being requested + */ + addr(_node: Arrayish, overrides?: TransactionOverrides): Promise; + + /** + * Returns the address the supplied node resolves do, if we are the resolver. + * @param _node The namehash of the ENS address being requested + */ + "addr(bytes32)"( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the address of the ENSRegistrar for the Network. + */ + getENSRegistrar(overrides?: TransactionOverrides): Promise; + + /** + * Returns the address of the ENSRegistrar for the Network. + */ + "getENSRegistrar()"(overrides?: TransactionOverrides): Promise; + + /** + * Set the resolver to be used by new instances of ReputationMiningCycle. + * @param _miningResolverAddress The address of the Resolver contract with the functions correctly wired. + */ + setMiningResolver( + _miningResolverAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the resolver to be used by new instances of ReputationMiningCycle. + * @param _miningResolverAddress The address of the Resolver contract with the functions correctly wired. + */ + "setMiningResolver(address)"( + _miningResolverAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the resolver to be used by new instances of ReputationMiningCycle. + */ + getMiningResolver(overrides?: TransactionOverrides): Promise; + + /** + * Get the resolver to be used by new instances of ReputationMiningCycle. + */ + "getMiningResolver()"(overrides?: TransactionOverrides): Promise; + + /** + * Can only be called by the MetaColony.The extension version is queried from the resolver itself. + * Add a new extension resolver to the Extensions repository. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _resolver The deployed resolver containing the extension contract logic + */ + addExtensionToNetwork( + _extensionId: Arrayish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony.The extension version is queried from the resolver itself. + * Add a new extension resolver to the Extensions repository. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _resolver The deployed resolver containing the extension contract logic + */ + "addExtensionToNetwork(bytes32,address)"( + _extensionId: Arrayish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension to install + */ + installExtension( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension to install + */ + "installExtension(bytes32,uint256)"( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _newVersion Version of the extension to upgrade to (must be one greater than current) + */ + upgradeExtension( + _extensionId: Arrayish, + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _newVersion Version of the extension to upgrade to (must be one greater than current) + */ + "upgradeExtension(bytes32,uint256)"( + _extensionId: Arrayish, + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Can only be called by a Colony. + * @param _deprecated Whether to deprecate the extension or not + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + deprecateExtension( + _extensionId: Arrayish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Can only be called by a Colony. + * @param _deprecated Whether to deprecate the extension or not + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "deprecateExtension(bytes32,bool)"( + _extensionId: Arrayish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Uninstall an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + uninstallExtension( + _extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Uninstall an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "uninstallExtension(bytes32)"( + _extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's resolver. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension + */ + getExtensionResolver( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's resolver. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension + */ + "getExtensionResolver(bytes32,uint256)"( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's installation. + * @param _colony Address of the colony the extension is installed in + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + getExtensionInstallation( + _extensionId: Arrayish, + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's installation. + * @param _colony Address of the colony the extension is installed in + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "getExtensionInstallation(bytes32,address)"( + _extensionId: Arrayish, + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return 1 / the fee to pay to the network. e.g. if the fee is 1% (or 0.01), return 100. + */ + getFeeInverse(overrides?: TransactionOverrides): Promise; + + /** + * Return 1 / the fee to pay to the network. e.g. if the fee is 1% (or 0.01), return 100. + */ + "getFeeInverse()"(overrides?: TransactionOverrides): Promise; + + /** + * Set the colony network fee to pay. e.g. if the fee is 1% (or 0.01), pass 100 as `_feeInverse`. + * @param _feeInverse The inverse of the network fee to set + */ + setFeeInverse( + _feeInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the colony network fee to pay. e.g. if the fee is 1% (or 0.01), pass 100 as `_feeInverse`. + * @param _feeInverse The inverse of the network fee to set + */ + "setFeeInverse(uint256)"( + _feeInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a token's status in the payout whitelist + * @param _token The token being queried + */ + getPayoutWhitelist( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a token's status in the payout whitelist + * @param _token The token being queried + */ + "getPayoutWhitelist(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a token's status in the payout whitelist + * @param _status The whitelist status + * @param _token The token being set + */ + setPayoutWhitelist( + _token: string, + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a token's status in the payout whitelist + * @param _status The whitelist status + * @param _token The token being set + */ + "setPayoutWhitelist(address,bool)"( + _token: string, + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * While external, it can only be called successfully by the current ReputationMiningCycle. + * Function called to punish people who staked against a new reputation root hash that turned out to be incorrect. + * @param _amount Amount of stake to slash + * @param _stakers Array of the addresses of stakers to punish + */ + punishStakers( + _stakers: string[], + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * While external, it can only be called successfully by the current ReputationMiningCycle. + * Function called to punish people who staked against a new reputation root hash that turned out to be incorrect. + * @param _amount Amount of stake to slash + * @param _stakers Array of the addresses of stakers to punish + */ + "punishStakers(address[],uint256)"( + _stakers: string[], + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Stake CLNY to allow the staker to participate in reputation mining. + * @param _amount Amount of CLNY to stake for the purposes of mining + */ + stakeForMining( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Stake CLNY to allow the staker to participate in reputation mining. + * @param _amount Amount of CLNY to stake for the purposes of mining + */ + "stakeForMining(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unstake CLNY currently staked for reputation mining. + * @param _amount Amount of CLNY staked for mining to unstake + */ + unstakeForMining( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unstake CLNY currently staked for reputation mining. + * @param _amount Amount of CLNY staked for mining to unstake + */ + "unstakeForMining(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * returns how much CLNY _user has staked for the purposes of reputation mining + * @param _user The user to query + */ + getMiningStake( + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { amount: BigNumber; timestamp: BigNumber } + >; + + /** + * returns how much CLNY _user has staked for the purposes of reputation mining + * @param _user The user to query + */ + "getMiningStake(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { amount: BigNumber; timestamp: BigNumber } + >; + + /** + * Only callable by the active reputation mining cycle + * Used to track that a user is eligible to claim a reward + * @param _amount The amount of CLNY to be awarded + * @param _recipient The address receiving the award + */ + reward( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to track that a user is eligible to claim a reward + * @param _amount The amount of CLNY to be awarded + * @param _recipient The address receiving the award + */ + "reward(address,uint256)"( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to burn tokens that are not needed to pay out rewards (because not every possible defence was made for all submissions) + * @param _amount The amount of CLNY to burn + */ + burnUnneededRewards( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to burn tokens that are not needed to pay out rewards (because not every possible defence was made for all submissions) + * @param _amount The amount of CLNY to burn + */ + "burnUnneededRewards(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can be called by anyone, not just _recipient + * Used by a user to claim any mining rewards due to them. This will place them in their balance or pending balance, as appropriate. + * @param _recipient The user whose rewards to claim + */ + claimMiningReward( + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can be called by anyone, not just _recipient + * Used by a user to claim any mining rewards due to them. This will place them in their balance or pending balance, as appropriate. + * @param _recipient The user whose rewards to claim + */ + "claimMiningReward(address)"( + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony. + * Called to set the total per-cycle reputation reward, which will be split between all miners. + * @param _amount The CLNY awarded per mining cycle to the miners + */ + setReputationMiningCycleReward( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony. + * Called to set the total per-cycle reputation reward, which will be split between all miners. + * @param _amount The CLNY awarded per mining cycle to the miners + */ + "setReputationMiningCycleReward(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the total per-cycle reputation mining reward. + */ + getReputationMiningCycleReward( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the total per-cycle reputation mining reward. + */ + "getReputationMiningCycleReward()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token. + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to In the case of ETH, and most tokens, this is 18. + * @param _name The name of the token + * @param _symbol The short 'ticket' symbol for the token + */ + deployTokenViaNetwork( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token. + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to In the case of ETH, and most tokens, this is 18. + * @param _name The name of the token + * @param _symbol The short 'ticket' symbol for the token + */ + "deployTokenViaNetwork(string,string,uint8)"( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token authority + * @param _allowedToTransfer An array of addresses that are allowed to transfer the token even if it's locked + * @param _colony The address of the colony in control of the token + * @param _token The address of the otken + */ + deployTokenAuthority( + _token: string, + _colony: string, + _allowedToTransfer: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token authority + * @param _allowedToTransfer An array of addresses that are allowed to transfer the token even if it's locked + * @param _colony The address of the colony in control of the token + * @param _token The address of the otken + */ + "deployTokenAuthority(address,address,address[])"( + _token: string, + _colony: string, + _allowedToTransfer: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to give or remove another address's permission to mine on your behalf + * @param _allowed Whether they are allowed (true) or not (false) to mine on your behalf + * @param _delegate The address you're giving or removing permission from + */ + setMiningDelegate( + _delegate: string, + _allowed: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to give or remove another address's permission to mine on your behalf + * @param _allowed Whether they are allowed (true) or not (false) to mine on your behalf + * @param _delegate The address you're giving or removing permission from + */ + "setMiningDelegate(address,bool)"( + _delegate: string, + _allowed: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the address _delegate is allowed to mine for + * @param _delegate The address that wants to mine + */ + getMiningDelegator( + _delegate: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the address _delegate is allowed to mine for + * @param _delegate The address that wants to mine + */ + "getMiningDelegator(address)"( + _delegate: string, + overrides?: TransactionOverrides + ): Promise; + }; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + approveExitRecovery( + overrides?: TransactionOverrides + ): Promise; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + "approveExitRecovery()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + checkNotAdditionalProtectedVariable( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + "checkNotAdditionalProtectedVariable(uint256)"( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + enterRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + "enterRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + executeMetaTransaction( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + exitRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + "exitRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Is colony network in recovery mode. + */ + isInRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Is colony network in recovery mode. + */ + "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + numRecoveryRoles(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + "numRecoveryRoles()"(overrides?: TransactionOverrides): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + removeRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + "removeRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + setRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + "setRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + setStorageSlotRecovery( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + "setStorageSlotRecovery(uint256,bytes32)"( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Interface identification is specified in ERC-165. + * Query if a contract implements an interface + * @param _interfaceID The interface identifier, as specified in ERC-165 + */ + supportsInterface( + _interfaceID: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Interface identification is specified in ERC-165. + * Query if a contract implements an interface + * @param _interfaceID The interface identifier, as specified in ERC-165 + */ + "supportsInterface(bytes4)"( + _interfaceID: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Note that strictly, `_nUpdates` and `_nPreviousUpdates` don't need to be set - they're only used during dispute resolution, which these replacement log entries are never used for. However, for ease of resyncing the client, we have decided to include them for now. + * Set a replacement log entry if we're in recovery mode. + * @param _amount The amount of reputation being earned / lost + * @param _colony The address of the colony being updated + * @param _id The number of the log entry in the reputation mining cycle in question. + * @param _nPreviousUpdates The number of updates in the log before this entry + * @param _nUpdates The number of updates the log entry corresponds to + * @param _reputationMiningCycle The address of the reputation mining cycle that the log was in. + * @param _skillId The id of the origin skill for the reputation update + * @param _user The address of the user earning / losing the reputation + */ + setReplacementReputationUpdateLogEntry( + _reputationMiningCycle: string, + _id: BigNumberish, + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + _colony: string, + _nUpdates: BigNumberish, + _nPreviousUpdates: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Note that strictly, `_nUpdates` and `_nPreviousUpdates` don't need to be set - they're only used during dispute resolution, which these replacement log entries are never used for. However, for ease of resyncing the client, we have decided to include them for now. + * Set a replacement log entry if we're in recovery mode. + * @param _amount The amount of reputation being earned / lost + * @param _colony The address of the colony being updated + * @param _id The number of the log entry in the reputation mining cycle in question. + * @param _nPreviousUpdates The number of updates in the log before this entry + * @param _nUpdates The number of updates the log entry corresponds to + * @param _reputationMiningCycle The address of the reputation mining cycle that the log was in. + * @param _skillId The id of the origin skill for the reputation update + * @param _user The address of the user earning / losing the reputation + */ + "setReplacementReputationUpdateLogEntry(address,uint256,address,int256,uint256,address,uint128,uint128)"( + _reputationMiningCycle: string, + _id: BigNumberish, + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + _colony: string, + _nUpdates: BigNumberish, + _nPreviousUpdates: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a replacement log entry (if set) for the log entry `_id` in the mining cycle that was at the address `_reputationMiningCycle`. + * @param _id The log entry number we wish to see if there is a replacement for + * @param _reputationMiningCycle The address of the reputation mining cycle we are asking about + */ + getReplacementReputationUpdateLogEntry( + _reputationMiningCycle: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, string, BigNumber, BigNumber] & { + user: string; + amount: BigNumber; + skillId: BigNumber; + colony: string; + nUpdates: BigNumber; + nPreviousUpdates: BigNumber; + } + >; + + /** + * Get a replacement log entry (if set) for the log entry `_id` in the mining cycle that was at the address `_reputationMiningCycle`. + * @param _id The log entry number we wish to see if there is a replacement for + * @param _reputationMiningCycle The address of the reputation mining cycle we are asking about + */ + "getReplacementReputationUpdateLogEntry(address,uint256)"( + _reputationMiningCycle: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, string, BigNumber, BigNumber] & { + user: string; + amount: BigNumber; + skillId: BigNumber; + colony: string; + nUpdates: BigNumber; + nPreviousUpdates: BigNumber; + } + >; + + /** + * Get whether any replacement log entries have been set for the supplied reputation mining cycle.Used by the client to avoid doubling the number of RPC calls when syncing from scratch. + * @param _reputationMiningCycle The reputation mining cycle address we want to know if any entries have been replaced in. + */ + getReplacementReputationUpdateLogsExist( + _reputationMiningCycle: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get whether any replacement log entries have been set for the supplied reputation mining cycle.Used by the client to avoid doubling the number of RPC calls when syncing from scratch. + * @param _reputationMiningCycle The reputation mining cycle address we want to know if any entries have been replaced in. + */ + "getReplacementReputationUpdateLogsExist(address)"( + _reputationMiningCycle: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the Meta Colony address. + */ + getMetaColony(overrides?: TransactionOverrides): Promise; + + /** + * Get the Meta Colony address. + */ + "getMetaColony()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of colonies in the network. + */ + getColonyCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of colonies in the network. + */ + "getColonyCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Check if specific address is a colony created on colony network. + * @param _colony Address of the colony + */ + isColony(_colony: string, overrides?: TransactionOverrides): Promise; + + /** + * Check if specific address is a colony created on colony network. + * @param _colony Address of the colony + */ + "isColony(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if the parent skill does not exist or if this is called by an unauthorised sender. + * Adds a new skill to the global or local skills tree, under skill `_parentSkillId`. Only the Meta Colony is allowed to add a global skill, called via `IColony.addGlobalSkill`. Any colony is allowed to add a local skill and which is associated with a new domain via `IColony.addDomain`. + * @param _parentSkillId Id of the skill under which the new skill will be added. If 0, a global skill is added with no parent. + */ + addSkill( + _parentSkillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if the parent skill does not exist or if this is called by an unauthorised sender. + * Adds a new skill to the global or local skills tree, under skill `_parentSkillId`. Only the Meta Colony is allowed to add a global skill, called via `IColony.addGlobalSkill`. Any colony is allowed to add a local skill and which is associated with a new domain via `IColony.addDomain`. + * @param _parentSkillId Id of the skill under which the new skill will be added. If 0, a global skill is added with no parent. + */ + "addSkill(uint256)"( + _parentSkillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `nParents` and `nChildren` of skill with id `_skillId`. + * @param _skillId Id of the skill + */ + getSkill( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber[], BigNumber[], boolean, boolean] & { + nParents: BigNumber; + nChildren: BigNumber; + parents: BigNumber[]; + children: BigNumber[]; + globalSkill: boolean; + deprecated: boolean; + } + >; + + /** + * Get the `nParents` and `nChildren` of skill with id `_skillId`. + * @param _skillId Id of the skill + */ + "getSkill(uint256)"( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber[], BigNumber[], boolean, boolean] & { + nParents: BigNumber; + nChildren: BigNumber; + parents: BigNumber[]; + children: BigNumber[]; + globalSkill: boolean; + deprecated: boolean; + } + >; + + /** + * This function is deprecated and will be removed in a future release + * Mark a skill as deprecated which stops new tasks and payments from using it. + * @param _skillId Id of the skill + */ + deprecateSkill( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function is deprecated and will be removed in a future release + * Mark a skill as deprecated which stops new tasks and payments from using it. + * @param _skillId Id of the skill + */ + "deprecateSkill(uint256)"( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set deprecation status for a skill + * @param _deprecated Deprecation status + * @param _skillId Id of the skill + */ + "deprecateSkill(uint256,bool)"( + _skillId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skills tree for a colony + */ + initialiseRootLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skills tree for a colony + */ + "initialiseRootLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if it is called by anyone but a colony or if skill with id `_skillId` does not exist or. + * Adds a reputation update entry to log. + * @param _amount The amount of reputation change for the update, this can be a negative as well as a positive value + * @param _skillId The skill for the reputation update + * @param _user The address of the user for the reputation update + */ + appendReputationUpdateLog( + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if it is called by anyone but a colony or if skill with id `_skillId` does not exist or. + * Adds a reputation update entry to log. + * @param _amount The amount of reputation change for the update, this can be a negative as well as a positive value + * @param _skillId The skill for the reputation update + * @param _user The address of the user for the reputation update + */ + "appendReputationUpdateLog(address,int256,uint256)"( + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of skills in the network including both global and local skills. + */ + getSkillCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of skills in the network including both global and local skills. + */ + "getSkillCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the `skillId` of the reputation mining skill. Only set once the metacolony is set up. + */ + getReputationMiningSkillId( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `skillId` of the reputation mining skill. Only set once the metacolony is set up. + */ + "getReputationMiningSkillId()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the token locking address. This is only set once, and can't be changed afterwards. + * @param _tokenLockingAddress Address of the locking contract + */ + setTokenLocking( + _tokenLockingAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the token locking address. This is only set once, and can't be changed afterwards. + * @param _tokenLockingAddress Address of the locking contract + */ + "setTokenLocking(address)"( + _tokenLockingAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get token locking contract address. + */ + getTokenLocking(overrides?: TransactionOverrides): Promise; + + /** + * Get token locking contract address. + */ + "getTokenLocking()"(overrides?: TransactionOverrides): Promise; + + /** + * Create the Meta Colony, same as a normal colony plus the root skill. + * @param _tokenAddress Address of the CLNY token + */ + createMetaColony( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Create the Meta Colony, same as a normal colony plus the root skill. + * @param _tokenAddress Address of the CLNY token + */ + "createMetaColony(address)"( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, at version 3 + * @param _tokenAddress Address of an ERC20 token to serve as the colony token. + */ + createColony( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, at version 3 + * @param _tokenAddress Address of an ERC20 token to serve as the colony token. + */ + "createColony(address)"( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the colony to mint tokens, token ownership must be transferred to the new colonyWe expect this function to only be used by the dapp + * Creates a new colony in the network, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _metadata The metadata associated with the new colony + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string,string)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Overload of the simpler `createColony` -- creates a new colony in the network with a variety of options, at version 4 + * @param _colonyName The label to register (if null, no label is registered) + * @param _orbitdb DEPRECATED Currently a no-op + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _useExtensionManager DEPRECATED Currently a no-op + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string,string,bool)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + _orbitdb: string, + _useExtensionManager: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. + * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract + * @param _version The new Colony contract version + */ + addColonyVersion( + _version: BigNumberish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. + * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract + * @param _version The new Colony contract version + */ + "addColonyVersion(uint256,address)"( + _version: BigNumberish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be run once, by the Network owner before any Colony versions are added. + * Initialises the colony network by setting the first Colony version resolver to `_resolver` address. + * @param _resolver Address of the resolver for Colony contract + * @param _version Version of the Colony contract the resolver represents + */ + initialise( + _resolver: string, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be run once, by the Network owner before any Colony versions are added. + * Initialises the colony network by setting the first Colony version resolver to `_resolver` address. + * @param _resolver Address of the resolver for Colony contract + * @param _version Version of the Colony contract the resolver represents + */ + "initialise(address,uint256)"( + _resolver: string, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a colony address by its Id in the network. + * @param _id Id of the colony to get + */ + getColony( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a colony address by its Id in the network. + * @param _id Id of the colony to get + */ + "getColony(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the latest Colony contract version. This is the version used to create all new colonies. + */ + getCurrentColonyVersion(overrides?: TransactionOverrides): Promise; + + /** + * Returns the latest Colony contract version. This is the version used to create all new colonies. + */ + "getCurrentColonyVersion()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the parent skill at index `_parentSkillIndex` for skill with Id `_skillId`. + * @param _parentSkillIndex Index of the `skill.parents` array to get Note that not all parent skill ids are stored here. See `Skill.parents` member for definition on which parents are stored + * @param _skillId Id of the skill + */ + getParentSkillId( + _skillId: BigNumberish, + _parentSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the parent skill at index `_parentSkillIndex` for skill with Id `_skillId`. + * @param _parentSkillIndex Index of the `skill.parents` array to get Note that not all parent skill ids are stored here. See `Skill.parents` member for definition on which parents are stored + * @param _skillId Id of the skill + */ + "getParentSkillId(uint256,uint256)"( + _skillId: BigNumberish, + _parentSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the child skill at index `_childSkillIndex` for skill with Id `_skillId`. + * @param _childSkillIndex Index of the `skill.children` array to get + * @param _skillId Id of the skill + */ + getChildSkillId( + _skillId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the child skill at index `_childSkillIndex` for skill with Id `_skillId`. + * @param _childSkillIndex Index of the `skill.children` array to get + * @param _skillId Id of the skill + */ + "getChildSkillId(uint256,uint256)"( + _skillId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of either the active or inactive reputation mining cycle, based on `active`. The active reputation mining cycle is the one currently under consideration by reputation miners. The inactive reputation cycle is the one with the log that is being appended to. + * @param _active Whether the user wants the active or inactive reputation mining cycle + */ + getReputationMiningCycle( + _active: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of either the active or inactive reputation mining cycle, based on `active`. The active reputation mining cycle is the one currently under consideration by reputation miners. The inactive reputation cycle is the one with the log that is being appended to. + * @param _active Whether the user wants the active or inactive reputation mining cycle + */ + "getReputationMiningCycle(bool)"( + _active: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Calculate raw miner weight in WADs. + * @param _submissonIndex Index of reputation hash submission (between 0 and 11) + * @param _timeStaked Amount of time (in seconds) that the miner has staked their CLNY + */ + calculateMinerWeight( + _timeStaked: BigNumberish, + _submissonIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Calculate raw miner weight in WADs. + * @param _submissonIndex Index of reputation hash submission (between 0 and 11) + * @param _timeStaked Amount of time (in seconds) that the miner has staked their CLNY + */ + "calculateMinerWeight(uint256,uint256)"( + _timeStaked: BigNumberish, + _submissonIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Resolver` address for Colony contract version `_version`. + * @param _version The Colony contract version + */ + getColonyVersionResolver( + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Resolver` address for Colony contract version `_version`. + * @param _version The Colony contract version + */ + "getColonyVersionResolver(uint256)"( + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a new Reputation root hash and starts a new mining cycle. Can only be called by the ReputationMiningCycle contract. + * @param _newHash The reputation root hash + * @param _newNLeaves The updated leaves count value + * @param _stakers Array of users who submitted or backed the hash, being accepted here as the new reputation root hash + */ + setReputationRootHash( + _newHash: Arrayish, + _newNLeaves: BigNumberish, + _stakers: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a new Reputation root hash and starts a new mining cycle. Can only be called by the ReputationMiningCycle contract. + * @param _newHash The reputation root hash + * @param _newNLeaves The updated leaves count value + * @param _stakers Array of users who submitted or backed the hash, being accepted here as the new reputation root hash + */ + "setReputationRootHash(bytes32,uint256,address[])"( + _newHash: Arrayish, + _newNLeaves: BigNumberish, + _stakers: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts a new Reputation Mining cycle. Explicitly called only the first time, subsequently called from within `setReputationRootHash`. + */ + startNextCycle( + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts a new Reputation Mining cycle. Explicitly called only the first time, subsequently called from within `setReputationRootHash`. + */ + "startNextCycle()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Creates initial inactive reputation mining cycle. + */ + initialiseReputationMining( + overrides?: TransactionOverrides + ): Promise; + + /** + * Creates initial inactive reputation mining cycle. + */ + "initialiseReputationMining()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the root hash of the current reputation state tree. + */ + getReputationRootHash(overrides?: TransactionOverrides): Promise; + + /** + * Get the root hash of the current reputation state tree. + */ + "getReputationRootHash()"(overrides?: TransactionOverrides): Promise; + + /** + * I cannot see a reason why a user's client would need to call this - only stored to help with some edge cases in reputation mining dispute resolution. + * Get the number of leaves in the current reputation state tree. + */ + getReputationRootHashNLeaves( + overrides?: TransactionOverrides + ): Promise; + + /** + * I cannot see a reason why a user's client would need to call this - only stored to help with some edge cases in reputation mining dispute resolution. + * Get the number of leaves in the current reputation state tree. + */ + "getReputationRootHashNLeaves()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecated, replaced by getReputationRootHashNLeaves which does the same thing but is more accurately named.will be removed in a later version. + * Get the number of leaves in the current reputation state tree. + */ + getReputationRootHashNNodes( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecated, replaced by getReputationRootHashNLeaves which does the same thing but is more accurately named.will be removed in a later version. + * Get the number of leaves in the current reputation state tree. + */ + "getReputationRootHashNNodes()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Create and start a new `DutchAuction` for the entire amount of `_token` owned by the Colony Network. + * @param _token Address of the token held by the network to be auctioned + */ + startTokenAuction( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Create and start a new `DutchAuction` for the entire amount of `_token` owned by the Colony Network. + * @param _token Address of the token held by the network to be auctioned + */ + "startTokenAuction(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Setup registrar with ENS and root node. + * @param _ens Address of ENS registrar + * @param _rootNode Namehash of the root node for the domain + */ + setupRegistrar( + _ens: string, + _rootNode: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Setup registrar with ENS and root node. + * @param _ens Address of ENS registrar + * @param _rootNode Namehash of the root node for the domain + */ + "setupRegistrar(address,bytes32)"( + _ens: string, + _rootNode: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "user.joincolony.eth" label. + * @param _orbitdb The path of the orbitDB database associated with the user profile + * @param _username The label to register + */ + registerUserLabel( + _username: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "user.joincolony.eth" label. + * @param _orbitdb The path of the orbitDB database associated with the user profile + * @param _username The label to register + */ + "registerUserLabel(string,string)"( + _username: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "colony.joincolony.eth" label. Can only be called by a Colony. + * @param _colonyName The label to register. + * @param _orbitdb The path of the orbitDB database associated with the colony name + */ + registerColonyLabel( + _colonyName: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "colony.joincolony.eth" label. Can only be called by a Colony. + * @param _colonyName The label to register. + * @param _orbitdb The path of the orbitDB database associated with the colony name + */ + "registerColonyLabel(string,string)"( + _colonyName: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the colony + */ + updateColonyOrbitDB( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the colony + */ + "updateColonyOrbitDB(string)"( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a user's orbitdb address. Can only be called by a user with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the user + */ + updateUserOrbitDB( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a user's orbitdb address. Can only be called by a user with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the user + */ + "updateUserOrbitDB(string)"( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Retrieve the orbitdb address corresponding to a registered account. + * @param _node The Namehash of the account being queried. + */ + getProfileDBAddress( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Retrieve the orbitdb address corresponding to a registered account. + * @param _node The Namehash of the account being queried. + */ + "getProfileDBAddress(bytes32)"( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Reverse lookup a username from an address. + * @param _addr The address we wish to find the corresponding ENS domain for (if any) + */ + lookupRegisteredENSDomain( + _addr: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Reverse lookup a username from an address. + * @param _addr The address we wish to find the corresponding ENS domain for (if any) + */ + "lookupRegisteredENSDomain(address)"( + _addr: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the address the supplied node resolves do, if we are the resolver. + * @param _node The namehash of the ENS address being requested + */ + addr(_node: Arrayish, overrides?: TransactionOverrides): Promise; + + /** + * Returns the address the supplied node resolves do, if we are the resolver. + * @param _node The namehash of the ENS address being requested + */ + "addr(bytes32)"( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the address of the ENSRegistrar for the Network. + */ + getENSRegistrar(overrides?: TransactionOverrides): Promise; + + /** + * Returns the address of the ENSRegistrar for the Network. + */ + "getENSRegistrar()"(overrides?: TransactionOverrides): Promise; + + /** + * Set the resolver to be used by new instances of ReputationMiningCycle. + * @param _miningResolverAddress The address of the Resolver contract with the functions correctly wired. + */ + setMiningResolver( + _miningResolverAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the resolver to be used by new instances of ReputationMiningCycle. + * @param _miningResolverAddress The address of the Resolver contract with the functions correctly wired. + */ + "setMiningResolver(address)"( + _miningResolverAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the resolver to be used by new instances of ReputationMiningCycle. + */ + getMiningResolver(overrides?: TransactionOverrides): Promise; + + /** + * Get the resolver to be used by new instances of ReputationMiningCycle. + */ + "getMiningResolver()"(overrides?: TransactionOverrides): Promise; + + /** + * Can only be called by the MetaColony.The extension version is queried from the resolver itself. + * Add a new extension resolver to the Extensions repository. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _resolver The deployed resolver containing the extension contract logic + */ + addExtensionToNetwork( + _extensionId: Arrayish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony.The extension version is queried from the resolver itself. + * Add a new extension resolver to the Extensions repository. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _resolver The deployed resolver containing the extension contract logic + */ + "addExtensionToNetwork(bytes32,address)"( + _extensionId: Arrayish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension to install + */ + installExtension( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension to install + */ + "installExtension(bytes32,uint256)"( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _newVersion Version of the extension to upgrade to (must be one greater than current) + */ + upgradeExtension( + _extensionId: Arrayish, + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _newVersion Version of the extension to upgrade to (must be one greater than current) + */ + "upgradeExtension(bytes32,uint256)"( + _extensionId: Arrayish, + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Can only be called by a Colony. + * @param _deprecated Whether to deprecate the extension or not + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + deprecateExtension( + _extensionId: Arrayish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Can only be called by a Colony. + * @param _deprecated Whether to deprecate the extension or not + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "deprecateExtension(bytes32,bool)"( + _extensionId: Arrayish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Uninstall an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + uninstallExtension( + _extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Uninstall an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "uninstallExtension(bytes32)"( + _extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's resolver. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension + */ + getExtensionResolver( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's resolver. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension + */ + "getExtensionResolver(bytes32,uint256)"( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's installation. + * @param _colony Address of the colony the extension is installed in + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + getExtensionInstallation( + _extensionId: Arrayish, + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's installation. + * @param _colony Address of the colony the extension is installed in + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "getExtensionInstallation(bytes32,address)"( + _extensionId: Arrayish, + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return 1 / the fee to pay to the network. e.g. if the fee is 1% (or 0.01), return 100. + */ + getFeeInverse(overrides?: TransactionOverrides): Promise; + + /** + * Return 1 / the fee to pay to the network. e.g. if the fee is 1% (or 0.01), return 100. + */ + "getFeeInverse()"(overrides?: TransactionOverrides): Promise; + + /** + * Set the colony network fee to pay. e.g. if the fee is 1% (or 0.01), pass 100 as `_feeInverse`. + * @param _feeInverse The inverse of the network fee to set + */ + setFeeInverse( + _feeInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the colony network fee to pay. e.g. if the fee is 1% (or 0.01), pass 100 as `_feeInverse`. + * @param _feeInverse The inverse of the network fee to set + */ + "setFeeInverse(uint256)"( + _feeInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a token's status in the payout whitelist + * @param _token The token being queried + */ + getPayoutWhitelist( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a token's status in the payout whitelist + * @param _token The token being queried + */ + "getPayoutWhitelist(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a token's status in the payout whitelist + * @param _status The whitelist status + * @param _token The token being set + */ + setPayoutWhitelist( + _token: string, + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a token's status in the payout whitelist + * @param _status The whitelist status + * @param _token The token being set + */ + "setPayoutWhitelist(address,bool)"( + _token: string, + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * While external, it can only be called successfully by the current ReputationMiningCycle. + * Function called to punish people who staked against a new reputation root hash that turned out to be incorrect. + * @param _amount Amount of stake to slash + * @param _stakers Array of the addresses of stakers to punish + */ + punishStakers( + _stakers: string[], + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * While external, it can only be called successfully by the current ReputationMiningCycle. + * Function called to punish people who staked against a new reputation root hash that turned out to be incorrect. + * @param _amount Amount of stake to slash + * @param _stakers Array of the addresses of stakers to punish + */ + "punishStakers(address[],uint256)"( + _stakers: string[], + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Stake CLNY to allow the staker to participate in reputation mining. + * @param _amount Amount of CLNY to stake for the purposes of mining + */ + stakeForMining( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Stake CLNY to allow the staker to participate in reputation mining. + * @param _amount Amount of CLNY to stake for the purposes of mining + */ + "stakeForMining(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unstake CLNY currently staked for reputation mining. + * @param _amount Amount of CLNY staked for mining to unstake + */ + unstakeForMining( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unstake CLNY currently staked for reputation mining. + * @param _amount Amount of CLNY staked for mining to unstake + */ + "unstakeForMining(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * returns how much CLNY _user has staked for the purposes of reputation mining + * @param _user The user to query + */ + getMiningStake( + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { amount: BigNumber; timestamp: BigNumber } + >; + + /** + * returns how much CLNY _user has staked for the purposes of reputation mining + * @param _user The user to query + */ + "getMiningStake(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { amount: BigNumber; timestamp: BigNumber } + >; + + /** + * Only callable by the active reputation mining cycle + * Used to track that a user is eligible to claim a reward + * @param _amount The amount of CLNY to be awarded + * @param _recipient The address receiving the award + */ + reward( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to track that a user is eligible to claim a reward + * @param _amount The amount of CLNY to be awarded + * @param _recipient The address receiving the award + */ + "reward(address,uint256)"( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to burn tokens that are not needed to pay out rewards (because not every possible defence was made for all submissions) + * @param _amount The amount of CLNY to burn + */ + burnUnneededRewards( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to burn tokens that are not needed to pay out rewards (because not every possible defence was made for all submissions) + * @param _amount The amount of CLNY to burn + */ + "burnUnneededRewards(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can be called by anyone, not just _recipient + * Used by a user to claim any mining rewards due to them. This will place them in their balance or pending balance, as appropriate. + * @param _recipient The user whose rewards to claim + */ + claimMiningReward( + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can be called by anyone, not just _recipient + * Used by a user to claim any mining rewards due to them. This will place them in their balance or pending balance, as appropriate. + * @param _recipient The user whose rewards to claim + */ + "claimMiningReward(address)"( + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony. + * Called to set the total per-cycle reputation reward, which will be split between all miners. + * @param _amount The CLNY awarded per mining cycle to the miners + */ + setReputationMiningCycleReward( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony. + * Called to set the total per-cycle reputation reward, which will be split between all miners. + * @param _amount The CLNY awarded per mining cycle to the miners + */ + "setReputationMiningCycleReward(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the total per-cycle reputation mining reward. + */ + getReputationMiningCycleReward( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the total per-cycle reputation mining reward. + */ + "getReputationMiningCycleReward()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token. + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to In the case of ETH, and most tokens, this is 18. + * @param _name The name of the token + * @param _symbol The short 'ticket' symbol for the token + */ + deployTokenViaNetwork( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token. + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to In the case of ETH, and most tokens, this is 18. + * @param _name The name of the token + * @param _symbol The short 'ticket' symbol for the token + */ + "deployTokenViaNetwork(string,string,uint8)"( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token authority + * @param _allowedToTransfer An array of addresses that are allowed to transfer the token even if it's locked + * @param _colony The address of the colony in control of the token + * @param _token The address of the otken + */ + deployTokenAuthority( + _token: string, + _colony: string, + _allowedToTransfer: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token authority + * @param _allowedToTransfer An array of addresses that are allowed to transfer the token even if it's locked + * @param _colony The address of the colony in control of the token + * @param _token The address of the otken + */ + "deployTokenAuthority(address,address,address[])"( + _token: string, + _colony: string, + _allowedToTransfer: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to give or remove another address's permission to mine on your behalf + * @param _allowed Whether they are allowed (true) or not (false) to mine on your behalf + * @param _delegate The address you're giving or removing permission from + */ + setMiningDelegate( + _delegate: string, + _allowed: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to give or remove another address's permission to mine on your behalf + * @param _allowed Whether they are allowed (true) or not (false) to mine on your behalf + * @param _delegate The address you're giving or removing permission from + */ + "setMiningDelegate(address,bool)"( + _delegate: string, + _allowed: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the address _delegate is allowed to mine for + * @param _delegate The address that wants to mine + */ + getMiningDelegator( + _delegate: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the address _delegate is allowed to mine for + * @param _delegate The address that wants to mine + */ + "getMiningDelegator(address)"( + _delegate: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + AuctionCreated(auction: null, token: null, quantity: null): EventFilter; + + ColonyAdded( + colonyId: BigNumberish | null, + colonyAddress: string | null, + token: null + ): EventFilter; + + ColonyLabelRegistered(colony: string | null, label: null): EventFilter; + + ColonyNetworkInitialised(resolver: null): EventFilter; + + ColonyVersionAdded(version: null, resolver: null): EventFilter; + + ExtensionAddedToNetwork( + extensionId: Arrayish | null, + version: null + ): EventFilter; + + ExtensionDeprecated( + extensionId: Arrayish | null, + colony: string | null, + deprecated: null + ): EventFilter; + + ExtensionInstalled( + extensionId: Arrayish | null, + colony: string | null, + version: null + ): EventFilter; + + ExtensionUninstalled( + extensionId: Arrayish | null, + colony: string | null + ): EventFilter; + + ExtensionUpgraded( + extensionId: Arrayish | null, + colony: string | null, + version: null + ): EventFilter; + + MetaColonyCreated( + metaColony: null, + token: null, + rootSkillId: null + ): EventFilter; + + MetaTransactionExecuted( + userAddress: null, + relayerAddress: null, + payload: null + ): EventFilter; + + MiningCycleResolverSet(miningCycleResolver: null): EventFilter; + + NetworkFeeInverseSet(feeInverse: null): EventFilter; + + RecoveryModeEntered(user: null): EventFilter; + + RecoveryModeExitApproved(user: null): EventFilter; + + RecoveryModeExited(user: null): EventFilter; + + RecoveryRoleSet(user: string | null, setTo: null): EventFilter; + + RecoveryStorageSlotSet( + user: null, + slot: null, + fromValue: null, + toValue: null + ): EventFilter; + + RegistrarInitialised(ens: null, rootNode: null): EventFilter; + + ReputationMinerPenalised(miner: null, tokensLost: null): EventFilter; + + ReputationMiningCycleComplete(hash: null, nLeaves: null): EventFilter; + + ReputationMiningInitialised( + inactiveReputationMiningCycle: null + ): EventFilter; + + ReputationMiningRewardSet(amount: null): EventFilter; + + ReputationRootHashSet( + newHash: null, + newNLeaves: null, + stakers: null, + reward: null + ): EventFilter; + + SkillAdded(skillId: null, parentSkillId: null): EventFilter; + + TokenAuthorityDeployed(tokenAuthorityAddress: null): EventFilter; + + TokenDeployed(tokenAddress: null): EventFilter; + + TokenLockingAddressSet(tokenLocking: null): EventFilter; + + TokenWhitelisted(token: null, status: null): EventFilter; + + UserLabelRegistered(user: string | null, label: null): EventFilter; + }; + + estimate: { + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + approveExitRecovery(overrides?: TransactionOverrides): Promise; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + "approveExitRecovery()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + checkNotAdditionalProtectedVariable( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + "checkNotAdditionalProtectedVariable(uint256)"( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + enterRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + "enterRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + executeMetaTransaction( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + exitRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + "exitRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Is colony network in recovery mode. + */ + isInRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Is colony network in recovery mode. + */ + "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + numRecoveryRoles(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + "numRecoveryRoles()"(overrides?: TransactionOverrides): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + removeRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + "removeRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + setRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + "setRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + setStorageSlotRecovery( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + "setStorageSlotRecovery(uint256,bytes32)"( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Interface identification is specified in ERC-165. + * Query if a contract implements an interface + * @param _interfaceID The interface identifier, as specified in ERC-165 + */ + supportsInterface( + _interfaceID: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Interface identification is specified in ERC-165. + * Query if a contract implements an interface + * @param _interfaceID The interface identifier, as specified in ERC-165 + */ + "supportsInterface(bytes4)"( + _interfaceID: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Note that strictly, `_nUpdates` and `_nPreviousUpdates` don't need to be set - they're only used during dispute resolution, which these replacement log entries are never used for. However, for ease of resyncing the client, we have decided to include them for now. + * Set a replacement log entry if we're in recovery mode. + * @param _amount The amount of reputation being earned / lost + * @param _colony The address of the colony being updated + * @param _id The number of the log entry in the reputation mining cycle in question. + * @param _nPreviousUpdates The number of updates in the log before this entry + * @param _nUpdates The number of updates the log entry corresponds to + * @param _reputationMiningCycle The address of the reputation mining cycle that the log was in. + * @param _skillId The id of the origin skill for the reputation update + * @param _user The address of the user earning / losing the reputation + */ + setReplacementReputationUpdateLogEntry( + _reputationMiningCycle: string, + _id: BigNumberish, + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + _colony: string, + _nUpdates: BigNumberish, + _nPreviousUpdates: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Note that strictly, `_nUpdates` and `_nPreviousUpdates` don't need to be set - they're only used during dispute resolution, which these replacement log entries are never used for. However, for ease of resyncing the client, we have decided to include them for now. + * Set a replacement log entry if we're in recovery mode. + * @param _amount The amount of reputation being earned / lost + * @param _colony The address of the colony being updated + * @param _id The number of the log entry in the reputation mining cycle in question. + * @param _nPreviousUpdates The number of updates in the log before this entry + * @param _nUpdates The number of updates the log entry corresponds to + * @param _reputationMiningCycle The address of the reputation mining cycle that the log was in. + * @param _skillId The id of the origin skill for the reputation update + * @param _user The address of the user earning / losing the reputation + */ + "setReplacementReputationUpdateLogEntry(address,uint256,address,int256,uint256,address,uint128,uint128)"( + _reputationMiningCycle: string, + _id: BigNumberish, + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + _colony: string, + _nUpdates: BigNumberish, + _nPreviousUpdates: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a replacement log entry (if set) for the log entry `_id` in the mining cycle that was at the address `_reputationMiningCycle`. + * @param _id The log entry number we wish to see if there is a replacement for + * @param _reputationMiningCycle The address of the reputation mining cycle we are asking about + */ + getReplacementReputationUpdateLogEntry( + _reputationMiningCycle: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a replacement log entry (if set) for the log entry `_id` in the mining cycle that was at the address `_reputationMiningCycle`. + * @param _id The log entry number we wish to see if there is a replacement for + * @param _reputationMiningCycle The address of the reputation mining cycle we are asking about + */ + "getReplacementReputationUpdateLogEntry(address,uint256)"( + _reputationMiningCycle: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get whether any replacement log entries have been set for the supplied reputation mining cycle.Used by the client to avoid doubling the number of RPC calls when syncing from scratch. + * @param _reputationMiningCycle The reputation mining cycle address we want to know if any entries have been replaced in. + */ + getReplacementReputationUpdateLogsExist( + _reputationMiningCycle: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get whether any replacement log entries have been set for the supplied reputation mining cycle.Used by the client to avoid doubling the number of RPC calls when syncing from scratch. + * @param _reputationMiningCycle The reputation mining cycle address we want to know if any entries have been replaced in. + */ + "getReplacementReputationUpdateLogsExist(address)"( + _reputationMiningCycle: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the Meta Colony address. + */ + getMetaColony(overrides?: TransactionOverrides): Promise; + + /** + * Get the Meta Colony address. + */ + "getMetaColony()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of colonies in the network. + */ + getColonyCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of colonies in the network. + */ + "getColonyCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Check if specific address is a colony created on colony network. + * @param _colony Address of the colony + */ + isColony( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Check if specific address is a colony created on colony network. + * @param _colony Address of the colony + */ + "isColony(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if the parent skill does not exist or if this is called by an unauthorised sender. + * Adds a new skill to the global or local skills tree, under skill `_parentSkillId`. Only the Meta Colony is allowed to add a global skill, called via `IColony.addGlobalSkill`. Any colony is allowed to add a local skill and which is associated with a new domain via `IColony.addDomain`. + * @param _parentSkillId Id of the skill under which the new skill will be added. If 0, a global skill is added with no parent. + */ + addSkill( + _parentSkillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if the parent skill does not exist or if this is called by an unauthorised sender. + * Adds a new skill to the global or local skills tree, under skill `_parentSkillId`. Only the Meta Colony is allowed to add a global skill, called via `IColony.addGlobalSkill`. Any colony is allowed to add a local skill and which is associated with a new domain via `IColony.addDomain`. + * @param _parentSkillId Id of the skill under which the new skill will be added. If 0, a global skill is added with no parent. + */ + "addSkill(uint256)"( + _parentSkillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `nParents` and `nChildren` of skill with id `_skillId`. + * @param _skillId Id of the skill + */ + getSkill( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `nParents` and `nChildren` of skill with id `_skillId`. + * @param _skillId Id of the skill + */ + "getSkill(uint256)"( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function is deprecated and will be removed in a future release + * Mark a skill as deprecated which stops new tasks and payments from using it. + * @param _skillId Id of the skill + */ + deprecateSkill( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function is deprecated and will be removed in a future release + * Mark a skill as deprecated which stops new tasks and payments from using it. + * @param _skillId Id of the skill + */ + "deprecateSkill(uint256)"( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set deprecation status for a skill + * @param _deprecated Deprecation status + * @param _skillId Id of the skill + */ + "deprecateSkill(uint256,bool)"( + _skillId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skills tree for a colony + */ + initialiseRootLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skills tree for a colony + */ + "initialiseRootLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if it is called by anyone but a colony or if skill with id `_skillId` does not exist or. + * Adds a reputation update entry to log. + * @param _amount The amount of reputation change for the update, this can be a negative as well as a positive value + * @param _skillId The skill for the reputation update + * @param _user The address of the user for the reputation update + */ + appendReputationUpdateLog( + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if it is called by anyone but a colony or if skill with id `_skillId` does not exist or. + * Adds a reputation update entry to log. + * @param _amount The amount of reputation change for the update, this can be a negative as well as a positive value + * @param _skillId The skill for the reputation update + * @param _user The address of the user for the reputation update + */ + "appendReputationUpdateLog(address,int256,uint256)"( + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of skills in the network including both global and local skills. + */ + getSkillCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of skills in the network including both global and local skills. + */ + "getSkillCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the `skillId` of the reputation mining skill. Only set once the metacolony is set up. + */ + getReputationMiningSkillId( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `skillId` of the reputation mining skill. Only set once the metacolony is set up. + */ + "getReputationMiningSkillId()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the token locking address. This is only set once, and can't be changed afterwards. + * @param _tokenLockingAddress Address of the locking contract + */ + setTokenLocking( + _tokenLockingAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the token locking address. This is only set once, and can't be changed afterwards. + * @param _tokenLockingAddress Address of the locking contract + */ + "setTokenLocking(address)"( + _tokenLockingAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get token locking contract address. + */ + getTokenLocking(overrides?: TransactionOverrides): Promise; + + /** + * Get token locking contract address. + */ + "getTokenLocking()"(overrides?: TransactionOverrides): Promise; + + /** + * Create the Meta Colony, same as a normal colony plus the root skill. + * @param _tokenAddress Address of the CLNY token + */ + createMetaColony( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Create the Meta Colony, same as a normal colony plus the root skill. + * @param _tokenAddress Address of the CLNY token + */ + "createMetaColony(address)"( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, at version 3 + * @param _tokenAddress Address of an ERC20 token to serve as the colony token. + */ + createColony( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, at version 3 + * @param _tokenAddress Address of an ERC20 token to serve as the colony token. + */ + "createColony(address)"( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the colony to mint tokens, token ownership must be transferred to the new colonyWe expect this function to only be used by the dapp + * Creates a new colony in the network, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _metadata The metadata associated with the new colony + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string,string)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Overload of the simpler `createColony` -- creates a new colony in the network with a variety of options, at version 4 + * @param _colonyName The label to register (if null, no label is registered) + * @param _orbitdb DEPRECATED Currently a no-op + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _useExtensionManager DEPRECATED Currently a no-op + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string,string,bool)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + _orbitdb: string, + _useExtensionManager: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. + * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract + * @param _version The new Colony contract version + */ + addColonyVersion( + _version: BigNumberish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. + * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract + * @param _version The new Colony contract version + */ + "addColonyVersion(uint256,address)"( + _version: BigNumberish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be run once, by the Network owner before any Colony versions are added. + * Initialises the colony network by setting the first Colony version resolver to `_resolver` address. + * @param _resolver Address of the resolver for Colony contract + * @param _version Version of the Colony contract the resolver represents + */ + initialise( + _resolver: string, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be run once, by the Network owner before any Colony versions are added. + * Initialises the colony network by setting the first Colony version resolver to `_resolver` address. + * @param _resolver Address of the resolver for Colony contract + * @param _version Version of the Colony contract the resolver represents + */ + "initialise(address,uint256)"( + _resolver: string, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a colony address by its Id in the network. + * @param _id Id of the colony to get + */ + getColony( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a colony address by its Id in the network. + * @param _id Id of the colony to get + */ + "getColony(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the latest Colony contract version. This is the version used to create all new colonies. + */ + getCurrentColonyVersion( + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the latest Colony contract version. This is the version used to create all new colonies. + */ + "getCurrentColonyVersion()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the parent skill at index `_parentSkillIndex` for skill with Id `_skillId`. + * @param _parentSkillIndex Index of the `skill.parents` array to get Note that not all parent skill ids are stored here. See `Skill.parents` member for definition on which parents are stored + * @param _skillId Id of the skill + */ + getParentSkillId( + _skillId: BigNumberish, + _parentSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the parent skill at index `_parentSkillIndex` for skill with Id `_skillId`. + * @param _parentSkillIndex Index of the `skill.parents` array to get Note that not all parent skill ids are stored here. See `Skill.parents` member for definition on which parents are stored + * @param _skillId Id of the skill + */ + "getParentSkillId(uint256,uint256)"( + _skillId: BigNumberish, + _parentSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the child skill at index `_childSkillIndex` for skill with Id `_skillId`. + * @param _childSkillIndex Index of the `skill.children` array to get + * @param _skillId Id of the skill + */ + getChildSkillId( + _skillId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the child skill at index `_childSkillIndex` for skill with Id `_skillId`. + * @param _childSkillIndex Index of the `skill.children` array to get + * @param _skillId Id of the skill + */ + "getChildSkillId(uint256,uint256)"( + _skillId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of either the active or inactive reputation mining cycle, based on `active`. The active reputation mining cycle is the one currently under consideration by reputation miners. The inactive reputation cycle is the one with the log that is being appended to. + * @param _active Whether the user wants the active or inactive reputation mining cycle + */ + getReputationMiningCycle( + _active: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of either the active or inactive reputation mining cycle, based on `active`. The active reputation mining cycle is the one currently under consideration by reputation miners. The inactive reputation cycle is the one with the log that is being appended to. + * @param _active Whether the user wants the active or inactive reputation mining cycle + */ + "getReputationMiningCycle(bool)"( + _active: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Calculate raw miner weight in WADs. + * @param _submissonIndex Index of reputation hash submission (between 0 and 11) + * @param _timeStaked Amount of time (in seconds) that the miner has staked their CLNY + */ + calculateMinerWeight( + _timeStaked: BigNumberish, + _submissonIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Calculate raw miner weight in WADs. + * @param _submissonIndex Index of reputation hash submission (between 0 and 11) + * @param _timeStaked Amount of time (in seconds) that the miner has staked their CLNY + */ + "calculateMinerWeight(uint256,uint256)"( + _timeStaked: BigNumberish, + _submissonIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Resolver` address for Colony contract version `_version`. + * @param _version The Colony contract version + */ + getColonyVersionResolver( + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Resolver` address for Colony contract version `_version`. + * @param _version The Colony contract version + */ + "getColonyVersionResolver(uint256)"( + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a new Reputation root hash and starts a new mining cycle. Can only be called by the ReputationMiningCycle contract. + * @param _newHash The reputation root hash + * @param _newNLeaves The updated leaves count value + * @param _stakers Array of users who submitted or backed the hash, being accepted here as the new reputation root hash + */ + setReputationRootHash( + _newHash: Arrayish, + _newNLeaves: BigNumberish, + _stakers: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a new Reputation root hash and starts a new mining cycle. Can only be called by the ReputationMiningCycle contract. + * @param _newHash The reputation root hash + * @param _newNLeaves The updated leaves count value + * @param _stakers Array of users who submitted or backed the hash, being accepted here as the new reputation root hash + */ + "setReputationRootHash(bytes32,uint256,address[])"( + _newHash: Arrayish, + _newNLeaves: BigNumberish, + _stakers: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts a new Reputation Mining cycle. Explicitly called only the first time, subsequently called from within `setReputationRootHash`. + */ + startNextCycle(overrides?: TransactionOverrides): Promise; + + /** + * Starts a new Reputation Mining cycle. Explicitly called only the first time, subsequently called from within `setReputationRootHash`. + */ + "startNextCycle()"(overrides?: TransactionOverrides): Promise; + + /** + * Creates initial inactive reputation mining cycle. + */ + initialiseReputationMining( + overrides?: TransactionOverrides + ): Promise; + + /** + * Creates initial inactive reputation mining cycle. + */ + "initialiseReputationMining()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the root hash of the current reputation state tree. + */ + getReputationRootHash(overrides?: TransactionOverrides): Promise; + + /** + * Get the root hash of the current reputation state tree. + */ + "getReputationRootHash()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * I cannot see a reason why a user's client would need to call this - only stored to help with some edge cases in reputation mining dispute resolution. + * Get the number of leaves in the current reputation state tree. + */ + getReputationRootHashNLeaves( + overrides?: TransactionOverrides + ): Promise; + + /** + * I cannot see a reason why a user's client would need to call this - only stored to help with some edge cases in reputation mining dispute resolution. + * Get the number of leaves in the current reputation state tree. + */ + "getReputationRootHashNLeaves()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecated, replaced by getReputationRootHashNLeaves which does the same thing but is more accurately named.will be removed in a later version. + * Get the number of leaves in the current reputation state tree. + */ + getReputationRootHashNNodes( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecated, replaced by getReputationRootHashNLeaves which does the same thing but is more accurately named.will be removed in a later version. + * Get the number of leaves in the current reputation state tree. + */ + "getReputationRootHashNNodes()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Create and start a new `DutchAuction` for the entire amount of `_token` owned by the Colony Network. + * @param _token Address of the token held by the network to be auctioned + */ + startTokenAuction( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Create and start a new `DutchAuction` for the entire amount of `_token` owned by the Colony Network. + * @param _token Address of the token held by the network to be auctioned + */ + "startTokenAuction(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Setup registrar with ENS and root node. + * @param _ens Address of ENS registrar + * @param _rootNode Namehash of the root node for the domain + */ + setupRegistrar( + _ens: string, + _rootNode: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Setup registrar with ENS and root node. + * @param _ens Address of ENS registrar + * @param _rootNode Namehash of the root node for the domain + */ + "setupRegistrar(address,bytes32)"( + _ens: string, + _rootNode: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "user.joincolony.eth" label. + * @param _orbitdb The path of the orbitDB database associated with the user profile + * @param _username The label to register + */ + registerUserLabel( + _username: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "user.joincolony.eth" label. + * @param _orbitdb The path of the orbitDB database associated with the user profile + * @param _username The label to register + */ + "registerUserLabel(string,string)"( + _username: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "colony.joincolony.eth" label. Can only be called by a Colony. + * @param _colonyName The label to register. + * @param _orbitdb The path of the orbitDB database associated with the colony name + */ + registerColonyLabel( + _colonyName: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "colony.joincolony.eth" label. Can only be called by a Colony. + * @param _colonyName The label to register. + * @param _orbitdb The path of the orbitDB database associated with the colony name + */ + "registerColonyLabel(string,string)"( + _colonyName: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the colony + */ + updateColonyOrbitDB( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the colony + */ + "updateColonyOrbitDB(string)"( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a user's orbitdb address. Can only be called by a user with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the user + */ + updateUserOrbitDB( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a user's orbitdb address. Can only be called by a user with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the user + */ + "updateUserOrbitDB(string)"( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Retrieve the orbitdb address corresponding to a registered account. + * @param _node The Namehash of the account being queried. + */ + getProfileDBAddress( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Retrieve the orbitdb address corresponding to a registered account. + * @param _node The Namehash of the account being queried. + */ + "getProfileDBAddress(bytes32)"( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Reverse lookup a username from an address. + * @param _addr The address we wish to find the corresponding ENS domain for (if any) + */ + lookupRegisteredENSDomain( + _addr: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Reverse lookup a username from an address. + * @param _addr The address we wish to find the corresponding ENS domain for (if any) + */ + "lookupRegisteredENSDomain(address)"( + _addr: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the address the supplied node resolves do, if we are the resolver. + * @param _node The namehash of the ENS address being requested + */ + addr(_node: Arrayish, overrides?: TransactionOverrides): Promise; + + /** + * Returns the address the supplied node resolves do, if we are the resolver. + * @param _node The namehash of the ENS address being requested + */ + "addr(bytes32)"( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the address of the ENSRegistrar for the Network. + */ + getENSRegistrar(overrides?: TransactionOverrides): Promise; + + /** + * Returns the address of the ENSRegistrar for the Network. + */ + "getENSRegistrar()"(overrides?: TransactionOverrides): Promise; + + /** + * Set the resolver to be used by new instances of ReputationMiningCycle. + * @param _miningResolverAddress The address of the Resolver contract with the functions correctly wired. + */ + setMiningResolver( + _miningResolverAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the resolver to be used by new instances of ReputationMiningCycle. + * @param _miningResolverAddress The address of the Resolver contract with the functions correctly wired. + */ + "setMiningResolver(address)"( + _miningResolverAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the resolver to be used by new instances of ReputationMiningCycle. + */ + getMiningResolver(overrides?: TransactionOverrides): Promise; + + /** + * Get the resolver to be used by new instances of ReputationMiningCycle. + */ + "getMiningResolver()"(overrides?: TransactionOverrides): Promise; + + /** + * Can only be called by the MetaColony.The extension version is queried from the resolver itself. + * Add a new extension resolver to the Extensions repository. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _resolver The deployed resolver containing the extension contract logic + */ + addExtensionToNetwork( + _extensionId: Arrayish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony.The extension version is queried from the resolver itself. + * Add a new extension resolver to the Extensions repository. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _resolver The deployed resolver containing the extension contract logic + */ + "addExtensionToNetwork(bytes32,address)"( + _extensionId: Arrayish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension to install + */ + installExtension( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension to install + */ + "installExtension(bytes32,uint256)"( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _newVersion Version of the extension to upgrade to (must be one greater than current) + */ + upgradeExtension( + _extensionId: Arrayish, + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _newVersion Version of the extension to upgrade to (must be one greater than current) + */ + "upgradeExtension(bytes32,uint256)"( + _extensionId: Arrayish, + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Can only be called by a Colony. + * @param _deprecated Whether to deprecate the extension or not + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + deprecateExtension( + _extensionId: Arrayish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Can only be called by a Colony. + * @param _deprecated Whether to deprecate the extension or not + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "deprecateExtension(bytes32,bool)"( + _extensionId: Arrayish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Uninstall an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + uninstallExtension( + _extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Uninstall an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "uninstallExtension(bytes32)"( + _extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's resolver. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension + */ + getExtensionResolver( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's resolver. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension + */ + "getExtensionResolver(bytes32,uint256)"( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's installation. + * @param _colony Address of the colony the extension is installed in + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + getExtensionInstallation( + _extensionId: Arrayish, + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's installation. + * @param _colony Address of the colony the extension is installed in + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "getExtensionInstallation(bytes32,address)"( + _extensionId: Arrayish, + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return 1 / the fee to pay to the network. e.g. if the fee is 1% (or 0.01), return 100. + */ + getFeeInverse(overrides?: TransactionOverrides): Promise; + + /** + * Return 1 / the fee to pay to the network. e.g. if the fee is 1% (or 0.01), return 100. + */ + "getFeeInverse()"(overrides?: TransactionOverrides): Promise; + + /** + * Set the colony network fee to pay. e.g. if the fee is 1% (or 0.01), pass 100 as `_feeInverse`. + * @param _feeInverse The inverse of the network fee to set + */ + setFeeInverse( + _feeInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the colony network fee to pay. e.g. if the fee is 1% (or 0.01), pass 100 as `_feeInverse`. + * @param _feeInverse The inverse of the network fee to set + */ + "setFeeInverse(uint256)"( + _feeInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a token's status in the payout whitelist + * @param _token The token being queried + */ + getPayoutWhitelist( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a token's status in the payout whitelist + * @param _token The token being queried + */ + "getPayoutWhitelist(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a token's status in the payout whitelist + * @param _status The whitelist status + * @param _token The token being set + */ + setPayoutWhitelist( + _token: string, + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a token's status in the payout whitelist + * @param _status The whitelist status + * @param _token The token being set + */ + "setPayoutWhitelist(address,bool)"( + _token: string, + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * While external, it can only be called successfully by the current ReputationMiningCycle. + * Function called to punish people who staked against a new reputation root hash that turned out to be incorrect. + * @param _amount Amount of stake to slash + * @param _stakers Array of the addresses of stakers to punish + */ + punishStakers( + _stakers: string[], + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * While external, it can only be called successfully by the current ReputationMiningCycle. + * Function called to punish people who staked against a new reputation root hash that turned out to be incorrect. + * @param _amount Amount of stake to slash + * @param _stakers Array of the addresses of stakers to punish + */ + "punishStakers(address[],uint256)"( + _stakers: string[], + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Stake CLNY to allow the staker to participate in reputation mining. + * @param _amount Amount of CLNY to stake for the purposes of mining + */ + stakeForMining( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Stake CLNY to allow the staker to participate in reputation mining. + * @param _amount Amount of CLNY to stake for the purposes of mining + */ + "stakeForMining(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unstake CLNY currently staked for reputation mining. + * @param _amount Amount of CLNY staked for mining to unstake + */ + unstakeForMining( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unstake CLNY currently staked for reputation mining. + * @param _amount Amount of CLNY staked for mining to unstake + */ + "unstakeForMining(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * returns how much CLNY _user has staked for the purposes of reputation mining + * @param _user The user to query + */ + getMiningStake( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * returns how much CLNY _user has staked for the purposes of reputation mining + * @param _user The user to query + */ + "getMiningStake(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to track that a user is eligible to claim a reward + * @param _amount The amount of CLNY to be awarded + * @param _recipient The address receiving the award + */ + reward( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to track that a user is eligible to claim a reward + * @param _amount The amount of CLNY to be awarded + * @param _recipient The address receiving the award + */ + "reward(address,uint256)"( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to burn tokens that are not needed to pay out rewards (because not every possible defence was made for all submissions) + * @param _amount The amount of CLNY to burn + */ + burnUnneededRewards( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to burn tokens that are not needed to pay out rewards (because not every possible defence was made for all submissions) + * @param _amount The amount of CLNY to burn + */ + "burnUnneededRewards(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can be called by anyone, not just _recipient + * Used by a user to claim any mining rewards due to them. This will place them in their balance or pending balance, as appropriate. + * @param _recipient The user whose rewards to claim + */ + claimMiningReward( + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can be called by anyone, not just _recipient + * Used by a user to claim any mining rewards due to them. This will place them in their balance or pending balance, as appropriate. + * @param _recipient The user whose rewards to claim + */ + "claimMiningReward(address)"( + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony. + * Called to set the total per-cycle reputation reward, which will be split between all miners. + * @param _amount The CLNY awarded per mining cycle to the miners + */ + setReputationMiningCycleReward( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony. + * Called to set the total per-cycle reputation reward, which will be split between all miners. + * @param _amount The CLNY awarded per mining cycle to the miners + */ + "setReputationMiningCycleReward(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the total per-cycle reputation mining reward. + */ + getReputationMiningCycleReward( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the total per-cycle reputation mining reward. + */ + "getReputationMiningCycleReward()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token. + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to In the case of ETH, and most tokens, this is 18. + * @param _name The name of the token + * @param _symbol The short 'ticket' symbol for the token + */ + deployTokenViaNetwork( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token. + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to In the case of ETH, and most tokens, this is 18. + * @param _name The name of the token + * @param _symbol The short 'ticket' symbol for the token + */ + "deployTokenViaNetwork(string,string,uint8)"( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token authority + * @param _allowedToTransfer An array of addresses that are allowed to transfer the token even if it's locked + * @param _colony The address of the colony in control of the token + * @param _token The address of the otken + */ + deployTokenAuthority( + _token: string, + _colony: string, + _allowedToTransfer: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token authority + * @param _allowedToTransfer An array of addresses that are allowed to transfer the token even if it's locked + * @param _colony The address of the colony in control of the token + * @param _token The address of the otken + */ + "deployTokenAuthority(address,address,address[])"( + _token: string, + _colony: string, + _allowedToTransfer: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to give or remove another address's permission to mine on your behalf + * @param _allowed Whether they are allowed (true) or not (false) to mine on your behalf + * @param _delegate The address you're giving or removing permission from + */ + setMiningDelegate( + _delegate: string, + _allowed: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to give or remove another address's permission to mine on your behalf + * @param _allowed Whether they are allowed (true) or not (false) to mine on your behalf + * @param _delegate The address you're giving or removing permission from + */ + "setMiningDelegate(address,bool)"( + _delegate: string, + _allowed: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the address _delegate is allowed to mine for + * @param _delegate The address that wants to mine + */ + getMiningDelegator( + _delegate: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the address _delegate is allowed to mine for + * @param _delegate The address that wants to mine + */ + "getMiningDelegator(address)"( + _delegate: string, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/colony/11/MetaTxToken.d.ts b/src/contracts/colony/11/MetaTxToken.d.ts new file mode 100644 index 000000000..e7d9a71c0 --- /dev/null +++ b/src/contracts/colony/11/MetaTxToken.d.ts @@ -0,0 +1,918 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface MetaTxTokenInterface extends Interface { + functions: { + DOMAIN_SEPARATOR: TypedFunctionDescription<{ encode([]: []): string }>; + + PERMIT_TYPEHASH: TypedFunctionDescription<{ encode([]: []): string }>; + + allowance: TypedFunctionDescription<{ + encode([src, guy]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([guy, wad]: [string, BigNumberish]): string; + }>; + + authority: TypedFunctionDescription<{ encode([]: []): string }>; + + balanceOf: TypedFunctionDescription<{ encode([src]: [string]): string }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + executeMetaTransaction: TypedFunctionDescription<{ + encode([_user, _payload, _sigR, _sigS, _sigV]: [ + string, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getChainId: TypedFunctionDescription<{ encode([]: []): string }>; + + locked: TypedFunctionDescription<{ encode([]: []): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + setAuthority: TypedFunctionDescription<{ + encode([authority_]: [string]): string; + }>; + + setOwner: TypedFunctionDescription<{ encode([owner_]: [string]): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([dst, wad]: [string, BigNumberish]): string; + }>; + + verify: TypedFunctionDescription<{ + encode([_owner, _nonce, _chainId, _payload, _sigR, _sigS, _sigV]: [ + string, + BigNumberish, + BigNumberish, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getMetatransactionNonce: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + transferFrom: TypedFunctionDescription<{ + encode([src, dst, wad]: [string, string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ + encode([guy, wad]: [string, BigNumberish]): string; + }>; + + burn: TypedFunctionDescription<{ encode([wad]: [BigNumberish]): string }>; + + unlock: TypedFunctionDescription<{ encode([]: []): string }>; + + permit: TypedFunctionDescription<{ + encode([owner, spender, value, deadline, v, r, s]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish, + Arrayish, + Arrayish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([src, guy, wad]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Burn: TypedEventDescription<{ + encodeTopics([guy, wad]: [string | null, null]): string[]; + }>; + + LogSetAuthority: TypedEventDescription<{ + encodeTopics([authority]: [string | null]): string[]; + }>; + + LogSetOwner: TypedEventDescription<{ + encodeTopics([owner]: [string | null]): string[]; + }>; + + MetaTransactionExecuted: TypedEventDescription<{ + encodeTopics([user, relayerAddress, functionSignature]: [ + null, + null, + null + ]): string[]; + }>; + + Mint: TypedEventDescription<{ + encodeTopics([guy, wad]: [string | null, null]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([src, dst, wad]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MetaTxToken extends Contract { + connect(signerOrProvider: Signer | Provider | string): MetaTxToken; + attach(addressOrName: string): MetaTxToken; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MetaTxToken; + once(event: EventFilter | string, listener: Listener): MetaTxToken; + addListener(eventName: EventFilter | string, listener: Listener): MetaTxToken; + removeAllListeners(eventName: EventFilter | string): MetaTxToken; + removeListener(eventName: any, listener: Listener): MetaTxToken; + + interface: MetaTxTokenInterface; + + functions: { + DOMAIN_SEPARATOR(overrides?: TransactionOverrides): Promise; + + "DOMAIN_SEPARATOR()"(overrides?: TransactionOverrides): Promise; + + PERMIT_TYPEHASH(overrides?: TransactionOverrides): Promise; + + "PERMIT_TYPEHASH()"(overrides?: TransactionOverrides): Promise; + + allowance( + src: string, + guy: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + src: string, + guy: string, + overrides?: TransactionOverrides + ): Promise; + + approve( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + src: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + src: string, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + locked(overrides?: TransactionOverrides): Promise; + + "locked()"(overrides?: TransactionOverrides): Promise; + + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transfer( + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + src: string, + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + src: string, + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "mint(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "mint(uint256)"( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + burn( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "burn(uint256)"( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "burn(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + unlock(overrides?: TransactionOverrides): Promise; + + "unlock()"(overrides?: TransactionOverrides): Promise; + + permit( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)"( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: TransactionOverrides + ): Promise; + }; + + DOMAIN_SEPARATOR(overrides?: TransactionOverrides): Promise; + + "DOMAIN_SEPARATOR()"(overrides?: TransactionOverrides): Promise; + + PERMIT_TYPEHASH(overrides?: TransactionOverrides): Promise; + + "PERMIT_TYPEHASH()"(overrides?: TransactionOverrides): Promise; + + allowance( + src: string, + guy: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + src: string, + guy: string, + overrides?: TransactionOverrides + ): Promise; + + approve( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + balanceOf(src: string, overrides?: TransactionOverrides): Promise; + + "balanceOf(address)"( + src: string, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + locked(overrides?: TransactionOverrides): Promise; + + "locked()"(overrides?: TransactionOverrides): Promise; + + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transfer( + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + src: string, + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + src: string, + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "mint(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "mint(uint256)"( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + burn( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "burn(uint256)"( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "burn(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + unlock(overrides?: TransactionOverrides): Promise; + + "unlock()"(overrides?: TransactionOverrides): Promise; + + permit( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)"( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval(src: string | null, guy: string | null, wad: null): EventFilter; + + Burn(guy: string | null, wad: null): EventFilter; + + LogSetAuthority(authority: string | null): EventFilter; + + LogSetOwner(owner: string | null): EventFilter; + + MetaTransactionExecuted( + user: null, + relayerAddress: null, + functionSignature: null + ): EventFilter; + + Mint(guy: string | null, wad: null): EventFilter; + + Transfer(src: string | null, dst: string | null, wad: null): EventFilter; + }; + + estimate: { + DOMAIN_SEPARATOR(overrides?: TransactionOverrides): Promise; + + "DOMAIN_SEPARATOR()"(overrides?: TransactionOverrides): Promise; + + PERMIT_TYPEHASH(overrides?: TransactionOverrides): Promise; + + "PERMIT_TYPEHASH()"(overrides?: TransactionOverrides): Promise; + + allowance( + src: string, + guy: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + src: string, + guy: string, + overrides?: TransactionOverrides + ): Promise; + + approve( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + src: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + src: string, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + locked(overrides?: TransactionOverrides): Promise; + + "locked()"(overrides?: TransactionOverrides): Promise; + + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transfer( + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + src: string, + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + src: string, + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "mint(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "mint(uint256)"( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + burn( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "burn(uint256)"( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "burn(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + unlock(overrides?: TransactionOverrides): Promise; + + "unlock()"(overrides?: TransactionOverrides): Promise; + + permit( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)"( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/colony/11/TokenERC20.d.ts b/src/contracts/colony/11/TokenERC20.d.ts new file mode 100644 index 000000000..93c7a6793 --- /dev/null +++ b/src/contracts/colony/11/TokenERC20.d.ts @@ -0,0 +1,316 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface TokenERC20Interface extends Interface { + functions: { + name: TypedFunctionDescription<{ encode([]: []): string }>; + + approve: TypedFunctionDescription<{ + encode([_spender, _value]: [string, BigNumberish]): string; + }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transferFrom: TypedFunctionDescription<{ + encode([_from, _to, _value]: [string, string, BigNumberish]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + balanceOf: TypedFunctionDescription<{ encode([_owner]: [string]): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([_to, _value]: [string, BigNumberish]): string; + }>; + + allowance: TypedFunctionDescription<{ + encode([_owner, _spender]: [string, string]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class TokenERC20 extends Contract { + connect(signerOrProvider: Signer | Provider | string): TokenERC20; + attach(addressOrName: string): TokenERC20; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): TokenERC20; + once(event: EventFilter | string, listener: Listener): TokenERC20; + addListener(eventName: EventFilter | string, listener: Listener): TokenERC20; + removeAllListeners(eventName: EventFilter | string): TokenERC20; + removeListener(eventName: any, listener: Listener): TokenERC20; + + interface: TokenERC20Interface; + + functions: { + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + approve( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transferFrom( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + transfer( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + allowance( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + }; + + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + approve( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transferFrom( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + transfer( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + allowance( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + approve( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transferFrom( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + transfer( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + allowance( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/colony/11/TokenLocking.d.ts b/src/contracts/colony/11/TokenLocking.d.ts new file mode 100644 index 000000000..e448bd8a9 --- /dev/null +++ b/src/contracts/colony/11/TokenLocking.d.ts @@ -0,0 +1,1403 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface TokenLockingInterface extends Interface { + functions: { + authority: TypedFunctionDescription<{ encode([]: []): string }>; + + executeMetaTransaction: TypedFunctionDescription<{ + encode([_user, _payload, _sigR, _sigS, _sigV]: [ + string, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getChainId: TypedFunctionDescription<{ encode([]: []): string }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + setAuthority: TypedFunctionDescription<{ + encode([authority_]: [string]): string; + }>; + + setOwner: TypedFunctionDescription<{ encode([owner_]: [string]): string }>; + + verify: TypedFunctionDescription<{ + encode([_owner, _nonce, _chainId, _payload, _sigR, _sigS, _sigV]: [ + string, + BigNumberish, + BigNumberish, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getMetatransactionNonce: TypedFunctionDescription<{ + encode([userAddress]: [string]): string; + }>; + + setColonyNetwork: TypedFunctionDescription<{ + encode([_colonyNetwork]: [string]): string; + }>; + + getColonyNetwork: TypedFunctionDescription<{ encode([]: []): string }>; + + lockToken: TypedFunctionDescription<{ encode([_token]: [string]): string }>; + + unlockTokenForUser: TypedFunctionDescription<{ + encode([_token, _user, _lockId]: [string, string, BigNumberish]): string; + }>; + + incrementLockCounterTo: TypedFunctionDescription<{ + encode([_token, _lockId]: [string, BigNumberish]): string; + }>; + + deposit: TypedFunctionDescription<{ + encode([_token, _amount, _force]: [ + string, + BigNumberish, + boolean + ]): string; + }>; + + depositFor: TypedFunctionDescription<{ + encode([_token, _amount, _recipient]: [ + string, + BigNumberish, + string + ]): string; + }>; + + transfer: TypedFunctionDescription<{ + encode([_token, _amount, _recipient, _force]: [ + string, + BigNumberish, + string, + boolean + ]): string; + }>; + + withdraw: TypedFunctionDescription<{ + encode([_token, _amount, _force]: [ + string, + BigNumberish, + boolean + ]): string; + }>; + + approveStake: TypedFunctionDescription<{ + encode([_user, _amount, _token]: [string, BigNumberish, string]): string; + }>; + + obligateStake: TypedFunctionDescription<{ + encode([_user, _amount, _token]: [string, BigNumberish, string]): string; + }>; + + deobligateStake: TypedFunctionDescription<{ + encode([_user, _amount, _token]: [string, BigNumberish, string]): string; + }>; + + transferStake: TypedFunctionDescription<{ + encode([_user, _amount, _token, _recipient]: [ + string, + BigNumberish, + string, + string + ]): string; + }>; + + reward: TypedFunctionDescription<{ + encode([_recipient, _amount]: [string, BigNumberish]): string; + }>; + + getTotalLockCount: TypedFunctionDescription<{ + encode([_token]: [string]): string; + }>; + + getUserLock: TypedFunctionDescription<{ + encode([_token, _user]: [string, string]): string; + }>; + + getTotalObligation: TypedFunctionDescription<{ + encode([_user, _token]: [string, string]): string; + }>; + + getApproval: TypedFunctionDescription<{ + encode([_user, _token, _obligator]: [string, string, string]): string; + }>; + + getObligation: TypedFunctionDescription<{ + encode([_user, _token, _obligator]: [string, string, string]): string; + }>; + }; + + events: { + ColonyNetworkSet: TypedEventDescription<{ + encodeTopics([colonyNetwork]: [null]): string[]; + }>; + + LogSetAuthority: TypedEventDescription<{ + encodeTopics([authority]: [string | null]): string[]; + }>; + + LogSetOwner: TypedEventDescription<{ + encodeTopics([owner]: [string | null]): string[]; + }>; + + MetaTransactionExecuted: TypedEventDescription<{ + encodeTopics([user, relayerAddress, functionSignature]: [ + null, + null, + null + ]): string[]; + }>; + + StakeTransferred: TypedEventDescription<{ + encodeTopics([token, by, from, to, amount]: [ + null, + null, + null, + null, + null + ]): string[]; + }>; + + TokenLocked: TypedEventDescription<{ + encodeTopics([token, lockedBy, lockCount]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + UserTokenApproved: TypedEventDescription<{ + encodeTopics([token, user, approvedBy, amount]: [ + null, + null, + null, + null + ]): string[]; + }>; + + UserTokenClaimed: TypedEventDescription<{ + encodeTopics([token, user, amount]: [null, null, null]): string[]; + }>; + + UserTokenDeobligated: TypedEventDescription<{ + encodeTopics([token, user, obligatedBy, amount]: [ + null, + null, + null, + null + ]): string[]; + }>; + + UserTokenDeposited: TypedEventDescription<{ + encodeTopics([token, user, amount]: [null, null, null]): string[]; + }>; + + UserTokenObligated: TypedEventDescription<{ + encodeTopics([token, user, obligatedBy, amount]: [ + null, + null, + null, + null + ]): string[]; + }>; + + UserTokenTransferred: TypedEventDescription<{ + encodeTopics([token, user, recipient, amount]: [ + null, + null, + null, + null + ]): string[]; + }>; + + UserTokenUnlocked: TypedEventDescription<{ + encodeTopics([token, user, lockId]: [null, null, null]): string[]; + }>; + + UserTokenWithdrawn: TypedEventDescription<{ + encodeTopics([token, user, amount]: [null, null, null]): string[]; + }>; + }; +} + +export class TokenLocking extends Contract { + connect(signerOrProvider: Signer | Provider | string): TokenLocking; + attach(addressOrName: string): TokenLocking; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): TokenLocking; + once(event: EventFilter | string, listener: Listener): TokenLocking; + addListener( + eventName: EventFilter | string, + listener: Listener + ): TokenLocking; + removeAllListeners(eventName: EventFilter | string): TokenLocking; + removeListener(eventName: any, listener: Listener): TokenLocking; + + interface: TokenLockingInterface; + + functions: { + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + setColonyNetwork( + _colonyNetwork: string, + overrides?: TransactionOverrides + ): Promise; + + "setColonyNetwork(address)"( + _colonyNetwork: string, + overrides?: TransactionOverrides + ): Promise; + + getColonyNetwork(overrides?: TransactionOverrides): Promise; + + "getColonyNetwork()"(overrides?: TransactionOverrides): Promise; + + lockToken( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "lockToken(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + unlockTokenForUser( + _token: string, + _user: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "unlockTokenForUser(address,address,uint256)"( + _token: string, + _user: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + incrementLockCounterTo( + _token: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "incrementLockCounterTo(address,uint256)"( + _token: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + deposit( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deposit(address,uint256,bool)"( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deposit(address,uint256)"( + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + depositFor( + _token: string, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + "depositFor(address,uint256,address)"( + _token: string, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + transfer( + _token: string, + _amount: BigNumberish, + _recipient: string, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256,address,bool)"( + _token: string, + _amount: BigNumberish, + _recipient: string, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + withdraw( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "withdraw(address,uint256,bool)"( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "withdraw(address,uint256)"( + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + approveStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "approveStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + obligateStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "obligateStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + deobligateStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "deobligateStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + transferStake( + _user: string, + _amount: BigNumberish, + _token: string, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + "transferStake(address,uint256,address,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + reward( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "reward(address,uint256)"( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getTotalLockCount( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "getTotalLockCount(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + getUserLock( + _token: string, + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber] & { + lockCount: BigNumber; + balance: BigNumber; + DEPRECATED_timestamp: BigNumber; + pendingBalance: BigNumber; + } + >; + + "getUserLock(address,address)"( + _token: string, + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber] & { + lockCount: BigNumber; + balance: BigNumber; + DEPRECATED_timestamp: BigNumber; + pendingBalance: BigNumber; + } + >; + + getTotalObligation( + _user: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "getTotalObligation(address,address)"( + _user: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + getApproval( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + "getApproval(address,address,address)"( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + getObligation( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + "getObligation(address,address,address)"( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + }; + + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + setColonyNetwork( + _colonyNetwork: string, + overrides?: TransactionOverrides + ): Promise; + + "setColonyNetwork(address)"( + _colonyNetwork: string, + overrides?: TransactionOverrides + ): Promise; + + getColonyNetwork(overrides?: TransactionOverrides): Promise; + + "getColonyNetwork()"(overrides?: TransactionOverrides): Promise; + + lockToken( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "lockToken(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + unlockTokenForUser( + _token: string, + _user: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "unlockTokenForUser(address,address,uint256)"( + _token: string, + _user: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + incrementLockCounterTo( + _token: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "incrementLockCounterTo(address,uint256)"( + _token: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + deposit( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deposit(address,uint256,bool)"( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deposit(address,uint256)"( + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + depositFor( + _token: string, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + "depositFor(address,uint256,address)"( + _token: string, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + transfer( + _token: string, + _amount: BigNumberish, + _recipient: string, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256,address,bool)"( + _token: string, + _amount: BigNumberish, + _recipient: string, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + withdraw( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "withdraw(address,uint256,bool)"( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "withdraw(address,uint256)"( + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + approveStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "approveStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + obligateStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "obligateStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + deobligateStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "deobligateStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + transferStake( + _user: string, + _amount: BigNumberish, + _token: string, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + "transferStake(address,uint256,address,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + reward( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "reward(address,uint256)"( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getTotalLockCount( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "getTotalLockCount(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + getUserLock( + _token: string, + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber] & { + lockCount: BigNumber; + balance: BigNumber; + DEPRECATED_timestamp: BigNumber; + pendingBalance: BigNumber; + } + >; + + "getUserLock(address,address)"( + _token: string, + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber] & { + lockCount: BigNumber; + balance: BigNumber; + DEPRECATED_timestamp: BigNumber; + pendingBalance: BigNumber; + } + >; + + getTotalObligation( + _user: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "getTotalObligation(address,address)"( + _user: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + getApproval( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + "getApproval(address,address,address)"( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + getObligation( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + "getObligation(address,address,address)"( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + ColonyNetworkSet(colonyNetwork: null): EventFilter; + + LogSetAuthority(authority: string | null): EventFilter; + + LogSetOwner(owner: string | null): EventFilter; + + MetaTransactionExecuted( + user: null, + relayerAddress: null, + functionSignature: null + ): EventFilter; + + StakeTransferred( + token: null, + by: null, + from: null, + to: null, + amount: null + ): EventFilter; + + TokenLocked( + token: string | null, + lockedBy: string | null, + lockCount: null + ): EventFilter; + + UserTokenApproved( + token: null, + user: null, + approvedBy: null, + amount: null + ): EventFilter; + + UserTokenClaimed(token: null, user: null, amount: null): EventFilter; + + UserTokenDeobligated( + token: null, + user: null, + obligatedBy: null, + amount: null + ): EventFilter; + + UserTokenDeposited(token: null, user: null, amount: null): EventFilter; + + UserTokenObligated( + token: null, + user: null, + obligatedBy: null, + amount: null + ): EventFilter; + + UserTokenTransferred( + token: null, + user: null, + recipient: null, + amount: null + ): EventFilter; + + UserTokenUnlocked(token: null, user: null, lockId: null): EventFilter; + + UserTokenWithdrawn(token: null, user: null, amount: null): EventFilter; + }; + + estimate: { + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + setColonyNetwork( + _colonyNetwork: string, + overrides?: TransactionOverrides + ): Promise; + + "setColonyNetwork(address)"( + _colonyNetwork: string, + overrides?: TransactionOverrides + ): Promise; + + getColonyNetwork(overrides?: TransactionOverrides): Promise; + + "getColonyNetwork()"(overrides?: TransactionOverrides): Promise; + + lockToken( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "lockToken(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + unlockTokenForUser( + _token: string, + _user: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "unlockTokenForUser(address,address,uint256)"( + _token: string, + _user: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + incrementLockCounterTo( + _token: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "incrementLockCounterTo(address,uint256)"( + _token: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + deposit( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deposit(address,uint256,bool)"( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deposit(address,uint256)"( + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + depositFor( + _token: string, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + "depositFor(address,uint256,address)"( + _token: string, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + transfer( + _token: string, + _amount: BigNumberish, + _recipient: string, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256,address,bool)"( + _token: string, + _amount: BigNumberish, + _recipient: string, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + withdraw( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "withdraw(address,uint256,bool)"( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "withdraw(address,uint256)"( + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + approveStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "approveStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + obligateStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "obligateStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + deobligateStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "deobligateStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + transferStake( + _user: string, + _amount: BigNumberish, + _token: string, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + "transferStake(address,uint256,address,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + reward( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "reward(address,uint256)"( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getTotalLockCount( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "getTotalLockCount(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + getUserLock( + _token: string, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + "getUserLock(address,address)"( + _token: string, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + getTotalObligation( + _user: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "getTotalObligation(address,address)"( + _user: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + getApproval( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + "getApproval(address,address,address)"( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + getObligation( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + "getObligation(address,address,address)"( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/colony/11/TokenSAI.d.ts b/src/contracts/colony/11/TokenSAI.d.ts new file mode 100644 index 000000000..7b5834e38 --- /dev/null +++ b/src/contracts/colony/11/TokenSAI.d.ts @@ -0,0 +1,316 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface TokenSAIInterface extends Interface { + functions: { + name: TypedFunctionDescription<{ encode([]: []): string }>; + + approve: TypedFunctionDescription<{ + encode([_spender, _value]: [string, BigNumberish]): string; + }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transferFrom: TypedFunctionDescription<{ + encode([_from, _to, _value]: [string, string, BigNumberish]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + balanceOf: TypedFunctionDescription<{ encode([_owner]: [string]): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([_to, _value]: [string, BigNumberish]): string; + }>; + + allowance: TypedFunctionDescription<{ + encode([_owner, _spender]: [string, string]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class TokenSAI extends Contract { + connect(signerOrProvider: Signer | Provider | string): TokenSAI; + attach(addressOrName: string): TokenSAI; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): TokenSAI; + once(event: EventFilter | string, listener: Listener): TokenSAI; + addListener(eventName: EventFilter | string, listener: Listener): TokenSAI; + removeAllListeners(eventName: EventFilter | string): TokenSAI; + removeListener(eventName: any, listener: Listener): TokenSAI; + + interface: TokenSAIInterface; + + functions: { + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + approve( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transferFrom( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + transfer( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + allowance( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + }; + + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + approve( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transferFrom( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + transfer( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + allowance( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + approve( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transferFrom( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + transfer( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + allowance( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/colony/11/factories/IColonyNetwork__factory.ts b/src/contracts/colony/11/factories/IColonyNetwork__factory.ts new file mode 100644 index 000000000..a99b2296e --- /dev/null +++ b/src/contracts/colony/11/factories/IColonyNetwork__factory.ts @@ -0,0 +1,2166 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IColonyNetwork } from "../IColonyNetwork"; + +export class IColonyNetwork__factory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IColonyNetwork { + return new Contract(address, _abi, signerOrProvider) as IColonyNetwork; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "auction", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "quantity", + type: "uint256", + }, + ], + name: "AuctionCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "colonyId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "colonyAddress", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "ColonyAdded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "colony", + type: "address", + }, + { + indexed: false, + internalType: "bytes32", + name: "label", + type: "bytes32", + }, + ], + name: "ColonyLabelRegistered", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "resolver", + type: "address", + }, + ], + name: "ColonyNetworkInitialised", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "version", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "resolver", + type: "address", + }, + ], + name: "ColonyVersionAdded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "extensionId", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "version", + type: "uint256", + }, + ], + name: "ExtensionAddedToNetwork", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "extensionId", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "colony", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "deprecated", + type: "bool", + }, + ], + name: "ExtensionDeprecated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "extensionId", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "colony", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "version", + type: "uint256", + }, + ], + name: "ExtensionInstalled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "extensionId", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "colony", + type: "address", + }, + ], + name: "ExtensionUninstalled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "extensionId", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "colony", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "version", + type: "uint256", + }, + ], + name: "ExtensionUpgraded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "metaColony", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "rootSkillId", + type: "uint256", + }, + ], + name: "MetaColonyCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "userAddress", + type: "address", + }, + { + indexed: false, + internalType: "address payable", + name: "relayerAddress", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "payload", + type: "bytes", + }, + ], + name: "MetaTransactionExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "miningCycleResolver", + type: "address", + }, + ], + name: "MiningCycleResolverSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "feeInverse", + type: "uint256", + }, + ], + name: "NetworkFeeInverseSet", + 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: "address", + name: "ens", + type: "address", + }, + { + indexed: false, + internalType: "bytes32", + name: "rootNode", + type: "bytes32", + }, + ], + name: "RegistrarInitialised", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "miner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "tokensLost", + type: "uint256", + }, + ], + name: "ReputationMinerPenalised", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes32", + name: "hash", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "nLeaves", + type: "uint256", + }, + ], + name: "ReputationMiningCycleComplete", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "inactiveReputationMiningCycle", + type: "address", + }, + ], + name: "ReputationMiningInitialised", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "ReputationMiningRewardSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes32", + name: "newHash", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "newNLeaves", + type: "uint256", + }, + { + indexed: false, + internalType: "address[]", + name: "stakers", + type: "address[]", + }, + { + indexed: false, + internalType: "uint256", + name: "reward", + type: "uint256", + }, + ], + name: "ReputationRootHashSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "skillId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "parentSkillId", + type: "uint256", + }, + ], + name: "SkillAdded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "tokenAuthorityAddress", + type: "address", + }, + ], + name: "TokenAuthorityDeployed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "tokenAddress", + type: "address", + }, + ], + name: "TokenDeployed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "tokenLocking", + type: "address", + }, + ], + name: "TokenLockingAddressSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "status", + type: "bool", + }, + ], + name: "TokenWhitelisted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "bytes32", + name: "label", + type: "bytes32", + }, + ], + name: "UserLabelRegistered", + 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: [ + { + internalType: "address", + name: "userAddress", + type: "address", + }, + { + internalType: "bytes", + name: "payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "sigV", + type: "uint8", + }, + ], + name: "executeMetaTransaction", + outputs: [ + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "exitRecoveryMode", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "userAddress", + type: "address", + }, + ], + name: "getMetatransactionNonce", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + ], + stateMutability: "view", + 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: [ + { + internalType: "bytes4", + name: "_interfaceID", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "_status", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_reputationMiningCycle", + type: "address", + }, + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "int256", + name: "_amount", + type: "int256", + }, + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + { + internalType: "address", + name: "_colony", + type: "address", + }, + { + internalType: "uint128", + name: "_nUpdates", + type: "uint128", + }, + { + internalType: "uint128", + name: "_nPreviousUpdates", + type: "uint128", + }, + ], + name: "setReplacementReputationUpdateLogEntry", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_reputationMiningCycle", + type: "address", + }, + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + ], + name: "getReplacementReputationUpdateLogEntry", + outputs: [ + { + components: [ + { + internalType: "address", + name: "user", + type: "address", + }, + { + internalType: "int256", + name: "amount", + type: "int256", + }, + { + internalType: "uint256", + name: "skillId", + type: "uint256", + }, + { + internalType: "address", + name: "colony", + type: "address", + }, + { + internalType: "uint128", + name: "nUpdates", + type: "uint128", + }, + { + internalType: "uint128", + name: "nPreviousUpdates", + type: "uint128", + }, + ], + internalType: "struct ColonyNetworkDataTypes.ReputationLogEntry", + name: "_reputationLogEntry", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_reputationMiningCycle", + type: "address", + }, + ], + name: "getReplacementReputationUpdateLogsExist", + outputs: [ + { + internalType: "bool", + name: "_exists", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getMetaColony", + outputs: [ + { + internalType: "address payable", + name: "_colonyAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getColonyCount", + outputs: [ + { + internalType: "uint256", + name: "_count", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_colony", + type: "address", + }, + ], + name: "isColony", + outputs: [ + { + internalType: "bool", + name: "_addressIsColony", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_parentSkillId", + type: "uint256", + }, + ], + name: "addSkill", + outputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + ], + name: "getSkill", + outputs: [ + { + components: [ + { + internalType: "uint128", + name: "nParents", + type: "uint128", + }, + { + internalType: "uint128", + name: "nChildren", + type: "uint128", + }, + { + internalType: "uint256[]", + name: "parents", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "children", + type: "uint256[]", + }, + { + internalType: "bool", + name: "globalSkill", + type: "bool", + }, + { + internalType: "bool", + name: "deprecated", + type: "bool", + }, + ], + internalType: "struct ColonyNetworkDataTypes.Skill", + name: "_skill", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + ], + name: "deprecateSkill", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + { + internalType: "bool", + name: "_deprecated", + type: "bool", + }, + ], + name: "deprecateSkill", + outputs: [ + { + internalType: "bool", + name: "_changed", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "initialiseRootLocalSkill", + outputs: [ + { + internalType: "uint256", + name: "_rootLocalSkillId", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "int256", + name: "_amount", + type: "int256", + }, + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + ], + name: "appendReputationUpdateLog", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getSkillCount", + outputs: [ + { + internalType: "uint256", + name: "_count", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getReputationMiningSkillId", + outputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenLockingAddress", + type: "address", + }, + ], + name: "setTokenLocking", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getTokenLocking", + outputs: [ + { + internalType: "address", + name: "_lockingAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddress", + type: "address", + }, + ], + name: "createMetaColony", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddress", + type: "address", + }, + ], + name: "createColony", + outputs: [ + { + internalType: "address", + name: "_colonyAddress", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddress", + type: "address", + }, + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + { + internalType: "string", + name: "_colonyName", + type: "string", + }, + { + internalType: "string", + name: "_metadata", + type: "string", + }, + ], + name: "createColony", + outputs: [ + { + internalType: "address", + name: "_colonyAddress", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddress", + type: "address", + }, + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + { + internalType: "string", + name: "_colonyName", + type: "string", + }, + ], + name: "createColony", + outputs: [ + { + internalType: "address", + name: "_colonyAddress", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddress", + type: "address", + }, + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + { + internalType: "string", + name: "_colonyName", + type: "string", + }, + { + internalType: "string", + name: "_orbitdb", + type: "string", + }, + { + internalType: "bool", + name: "_useExtensionManager", + type: "bool", + }, + ], + name: "createColony", + outputs: [ + { + internalType: "address", + name: "_colonyAddress", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + { + internalType: "address", + name: "_resolver", + type: "address", + }, + ], + name: "addColonyVersion", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_resolver", + type: "address", + }, + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + ], + name: "initialise", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + ], + name: "getColony", + outputs: [ + { + internalType: "address", + name: "_colonyAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getCurrentColonyVersion", + outputs: [ + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_parentSkillIndex", + type: "uint256", + }, + ], + name: "getParentSkillId", + outputs: [ + { + internalType: "uint256", + name: "_parentSkillId", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_childSkillIndex", + type: "uint256", + }, + ], + name: "getChildSkillId", + outputs: [ + { + internalType: "uint256", + name: "_childSkillId", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bool", + name: "_active", + type: "bool", + }, + ], + name: "getReputationMiningCycle", + outputs: [ + { + internalType: "address", + name: "_repMiningCycleAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_timeStaked", + type: "uint256", + }, + { + internalType: "uint256", + name: "_submissonIndex", + type: "uint256", + }, + ], + name: "calculateMinerWeight", + outputs: [ + { + internalType: "uint256", + name: "_minerWeight", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + ], + name: "getColonyVersionResolver", + outputs: [ + { + internalType: "address", + name: "_resolverAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_newHash", + type: "bytes32", + }, + { + internalType: "uint256", + name: "_newNLeaves", + type: "uint256", + }, + { + internalType: "address[]", + name: "_stakers", + type: "address[]", + }, + ], + name: "setReputationRootHash", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "startNextCycle", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "initialiseReputationMining", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getReputationRootHash", + outputs: [ + { + internalType: "bytes32", + name: "rootHash", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getReputationRootHashNLeaves", + outputs: [ + { + internalType: "uint256", + name: "nLeaves", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getReputationRootHashNNodes", + outputs: [ + { + internalType: "uint256", + name: "nNodes", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "startTokenAuction", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_ens", + type: "address", + }, + { + internalType: "bytes32", + name: "_rootNode", + type: "bytes32", + }, + ], + name: "setupRegistrar", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "_username", + type: "string", + }, + { + internalType: "string", + name: "_orbitdb", + type: "string", + }, + ], + name: "registerUserLabel", + 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: "string", + name: "_orbitdb", + type: "string", + }, + ], + name: "updateUserOrbitDB", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_node", + type: "bytes32", + }, + ], + name: "getProfileDBAddress", + outputs: [ + { + internalType: "string", + name: "_orbitdb", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_addr", + type: "address", + }, + ], + name: "lookupRegisteredENSDomain", + outputs: [ + { + internalType: "string", + name: "_domain", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_node", + type: "bytes32", + }, + ], + name: "addr", + outputs: [ + { + internalType: "address", + name: "_address", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getENSRegistrar", + outputs: [ + { + internalType: "address", + name: "_address", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_miningResolverAddress", + type: "address", + }, + ], + name: "setMiningResolver", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getMiningResolver", + outputs: [ + { + internalType: "address", + name: "miningResolverAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_extensionId", + type: "bytes32", + }, + { + internalType: "address", + name: "_resolver", + type: "address", + }, + ], + name: "addExtensionToNetwork", + 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: "bytes32", + name: "_extensionId", + type: "bytes32", + }, + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + ], + name: "getExtensionResolver", + outputs: [ + { + internalType: "address", + name: "_resolver", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_extensionId", + type: "bytes32", + }, + { + internalType: "address", + name: "_colony", + type: "address", + }, + ], + name: "getExtensionInstallation", + outputs: [ + { + internalType: "address", + name: "_installation", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getFeeInverse", + outputs: [ + { + internalType: "uint256", + name: "_feeInverse", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_feeInverse", + type: "uint256", + }, + ], + name: "setFeeInverse", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "getPayoutWhitelist", + outputs: [ + { + internalType: "bool", + name: "_status", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "bool", + name: "_status", + type: "bool", + }, + ], + name: "setPayoutWhitelist", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "_stakers", + type: "address[]", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "punishStakers", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "stakeForMining", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "unstakeForMining", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "getMiningStake", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + internalType: "struct ColonyNetworkDataTypes.MiningStake", + name: "_info", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_recipient", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "reward", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "burnUnneededRewards", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_recipient", + type: "address", + }, + ], + name: "claimMiningReward", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "setReputationMiningCycleReward", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getReputationMiningCycleReward", + outputs: [ + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "_name", + type: "string", + }, + { + internalType: "string", + name: "_symbol", + type: "string", + }, + { + internalType: "uint8", + name: "_decimals", + type: "uint8", + }, + ], + name: "deployTokenViaNetwork", + outputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_colony", + type: "address", + }, + { + internalType: "address[]", + name: "_allowedToTransfer", + type: "address[]", + }, + ], + name: "deployTokenAuthority", + outputs: [ + { + internalType: "address", + name: "_tokenAuthority", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_delegate", + type: "address", + }, + { + internalType: "bool", + name: "_allowed", + type: "bool", + }, + ], + name: "setMiningDelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_delegate", + type: "address", + }, + ], + name: "getMiningDelegator", + outputs: [ + { + internalType: "address", + name: "_delegator", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +]; diff --git a/src/contracts/colony/11/factories/IColony__factory.ts b/src/contracts/colony/11/factories/IColony__factory.ts new file mode 100644 index 000000000..0225744b3 --- /dev/null +++ b/src/contracts/colony/11/factories/IColony__factory.ts @@ -0,0 +1,5030 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IColony } from "../IColony"; + +export class IColony__factory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IColony { + return new Contract(address, _abi, signerOrProvider) as IColony; + } +} + +const _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: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "skillId", + type: "uint256", + }, + { + indexed: false, + internalType: "int256", + name: "amount", + type: "int256", + }, + ], + name: "ArbitraryReputationUpdate", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "data", + type: "bytes", + }, + { + indexed: false, + internalType: "bool", + name: "success", + type: "bool", + }, + ], + name: "ArbitraryTransaction", + 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: "string", + name: "metadata", + type: "string", + }, + ], + name: "ColonyMetadataDelta", + 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: "bool", + name: "deprecated", + type: "bool", + }, + ], + name: "DomainDeprecated", + 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", + }, + { + indexed: true, + internalType: "uint256", + name: "slot", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "claimDelay", + type: "uint256", + }, + ], + name: "ExpenditureClaimDelaySet", + 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: false, + internalType: "uint256", + name: "globalClaimDelay", + type: "uint256", + }, + ], + name: "ExpenditureGlobalClaimDelaySet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "agent", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "expenditureId", + type: "uint256", + }, + ], + name: "ExpenditureLocked", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "agent", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "expenditureId", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "metadata", + type: "string", + }, + ], + name: "ExpenditureMetadataSet", + 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: false, + internalType: "int256", + name: "payoutModifier", + type: "int256", + }, + ], + name: "ExpenditurePayoutModifierSet", + 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: "uint256", + name: "storageSlot", + type: "uint256", + }, + { + indexed: false, + internalType: "bool[]", + name: "mask", + type: "bool[]", + }, + { + indexed: false, + internalType: "bytes32[]", + name: "keys", + type: "bytes32[]", + }, + { + indexed: false, + internalType: "bytes32", + name: "value", + type: "bytes32", + }, + ], + name: "ExpenditureStateChanged", + 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: "localSkillId", + type: "uint256", + }, + ], + name: "LocalSkillAdded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "agent", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "localSkillId", + type: "uint256", + }, + { + indexed: false, + internalType: "bool", + name: "deprecated", + type: "bool", + }, + ], + name: "LocalSkillDeprecated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "userAddress", + type: "address", + }, + { + indexed: false, + internalType: "address payable", + name: "relayerAddress", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "payload", + type: "bytes", + }, + ], + name: "MetaTransactionExecuted", + 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: [ + { + indexed: false, + internalType: "address", + name: "agent", + type: "address", + }, + ], + 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: [ + { + internalType: "address", + name: "userAddress", + type: "address", + }, + { + internalType: "bytes", + name: "payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "sigV", + type: "uint8", + }, + ], + name: "executeMetaTransaction", + outputs: [ + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "exitRecoveryMode", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "userAddress", + type: "address", + }, + ], + name: "getMetatransactionNonce", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + ], + stateMutability: "view", + 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: "address[]", + name: "_targets", + type: "address[]", + }, + { + internalType: "bytes[]", + name: "_actions", + type: "bytes[]", + }, + { + internalType: "bool", + name: "_strict", + type: "bool", + }, + ], + name: "makeArbitraryTransactions", + outputs: [ + { + internalType: "bool", + name: "success", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_target", + type: "address", + }, + { + internalType: "bytes", + name: "_action", + type: "bytes", + }, + ], + name: "makeSingleArbitraryTransaction", + 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: "string", + name: "_metadataDelta", + type: "string", + }, + ], + name: "editColonyByDelta", + 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: "timesLocked", + 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: [], + name: "initialiseRootLocalSkill", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "addLocalSkill", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "localSkillId", + type: "uint256", + }, + { + internalType: "bool", + name: "deprecated", + type: "bool", + }, + ], + name: "deprecateLocalSkill", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getRootLocalSkill", + outputs: [ + { + internalType: "uint256", + name: "rootLocalSkill", + type: "uint256", + }, + ], + stateMutability: "view", + 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: "_permissionDomainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_childSkillIndex", + type: "uint256", + }, + { + internalType: "uint256", + name: "_domainId", + type: "uint256", + }, + { + internalType: "bool", + name: "_deprecated", + type: "bool", + }, + ], + name: "deprecateDomain", + 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: "_globalClaimDelay", + type: "uint256", + }, + ], + name: "setDefaultGlobalClaimDelay", + outputs: [], + stateMutability: "nonpayable", + 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: "lockExpenditure", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + ], + name: "finalizeExpenditure", + 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: "string", + name: "_metadata", + type: "string", + }, + ], + name: "setExpenditureMetadata", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "string", + name: "_metadata", + type: "string", + }, + ], + name: "setExpenditureMetadata", + 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: "_slots", + type: "uint256[]", + }, + { + internalType: "address payable[]", + name: "_recipients", + type: "address[]", + }, + ], + name: "setExpenditureRecipients", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "uint256[]", + name: "_slots", + type: "uint256[]", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]", + }, + ], + name: "setExpenditurePayouts", + 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: "_permissionDomainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_childSkillIndex", + type: "uint256", + }, + { + 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: "_id", + type: "uint256", + }, + { + internalType: "uint256[]", + name: "_slots", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_skillIds", + type: "uint256[]", + }, + ], + name: "setExpenditureSkills", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + 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: "_id", + type: "uint256", + }, + { + internalType: "uint256[]", + name: "_slots", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_claimDelays", + type: "uint256[]", + }, + ], + name: "setExpenditureClaimDelays", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "uint256[]", + name: "_slots", + type: "uint256[]", + }, + { + internalType: "int256[]", + name: "_payoutModifiers", + type: "int256[]", + }, + ], + name: "setExpenditurePayoutModifiers", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "uint256[]", + name: "_recipientSlots", + type: "uint256[]", + }, + { + internalType: "address payable[]", + name: "_recipients", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "_skillIdSlots", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_skillIds", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_claimDelaySlots", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_claimDelays", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_payoutModifierSlots", + type: "uint256[]", + }, + { + internalType: "int256[]", + name: "_payoutModifiers", + type: "int256[]", + }, + { + internalType: "address[]", + name: "_payoutTokens", + type: "address[]", + }, + { + internalType: "uint256[][]", + name: "_payoutSlots", + type: "uint256[][]", + }, + { + internalType: "uint256[][]", + name: "_payoutValues", + type: "uint256[][]", + }, + ], + name: "setExpenditureValues", + 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", + }, +]; diff --git a/src/contracts/colony/11/factories/MetaTxToken__factory.ts b/src/contracts/colony/11/factories/MetaTxToken__factory.ts new file mode 100644 index 000000000..434df9a98 --- /dev/null +++ b/src/contracts/colony/11/factories/MetaTxToken__factory.ts @@ -0,0 +1,712 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from ".."; +import { MetaTxToken } from "../MetaTxToken"; + +export class MetaTxToken__factory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy( + _name, + _symbol, + _decimals, + overrides + ) as Promise; + } + getDeployTransaction( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_name, _symbol, _decimals, overrides); + } + attach(address: string): MetaTxToken { + return super.attach(address) as MetaTxToken; + } + connect(signer: Signer): MetaTxToken__factory { + return super.connect(signer) as MetaTxToken__factory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MetaTxToken { + return new Contract(address, _abi, signerOrProvider) as MetaTxToken; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "string", + name: "_name", + type: "string", + }, + { + internalType: "string", + name: "_symbol", + type: "string", + }, + { + internalType: "uint8", + name: "_decimals", + type: "uint8", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "src", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "guy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "guy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "Burn", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "authority", + type: "address", + }, + ], + name: "LogSetAuthority", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "LogSetOwner", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address payable", + name: "relayerAddress", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "functionSignature", + type: "bytes", + }, + ], + name: "MetaTransactionExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "guy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "Mint", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "src", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "dst", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "PERMIT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "src", + type: "address", + }, + { + internalType: "address", + name: "guy", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "guy", + type: "address", + }, + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "authority", + outputs: [ + { + internalType: "contract DSAuthority", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "src", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "executeMetaTransaction", + outputs: [ + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "getChainId", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "locked", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract DSAuthority", + name: "authority_", + type: "address", + }, + ], + name: "setAuthority", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner_", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "dst", + type: "address", + }, + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + { + internalType: "uint256", + name: "_nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "_chainId", + type: "uint256", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "verify", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "getMetatransactionNonce", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "src", + type: "address", + }, + { + internalType: "address", + name: "dst", + type: "address", + }, + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "guy", + type: "address", + }, + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "guy", + type: "address", + }, + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040516200220038038062002200833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b506040526020015191506000905080600181620001b4620003a6565b6001600160a01b03168152602081019190915260400160009081209190915555620001de620003a6565b600480546001600160a01b0319166001600160a01b039290921691909117905562000208620003a6565b6001600160a01b03167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a28251620002529060069060208601906200045c565b508151620002689060059060208501906200045c565b506004805460ff60a01b1916600160a01b60ff8416021790556007805460ff191660019081179091556040516006805446937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f9391829184916002610100928216159290920260001901160480156200031b5780601f10620002f85761010080835404028352918201916200031b565b820191906000526020600020905b81548152906001019060200180831162000306575b505060408051918290038220828201825260018352603160f81b602093840152815180840196909652858201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606086015260808501959095523060a0808601919091528551808603909101815260c09094019094525050805191012060085550620004ee915050565b6000363330148015620003ba575060348110155b156200044d5760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88114620004385733935050505062000459565b508101516001600160a01b0316915062000457565b3391505062000459565b505b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049f57805160ff1916838001178555620004cf565b82800160010185558215620004cf579182015b82811115620004cf578251825591602001919060010190620004b2565b50620004579291505b80821115620004575760008155600101620004d8565b611d0280620004fe6000396000f3fe6080604052600436106101815760003560e01c806370a08231116100d1578063a69df4b51161008a578063bf7e214f11610064578063bf7e214f146106fa578063cf3090121461070f578063d505accf14610724578063dd62ed3e1461078257610181565b8063a69df4b514610679578063a9059cbb1461068e578063b3eac1d8146106c757610181565b806370a082311461056a5780637a9e5e4b1461059d5780638da5cb5b146105d057806395d89b41146106015780639dc29fac14610616578063a0712d681461064f57610181565b806330adf81f1161013e5780633644e515116101185780633644e5151461041557806340c10f191461042a57806342966c68146104635780636281133d1461048d57610181565b806330adf81f146103c0578063313ce567146103d55780633408e4701461040057610181565b806306fdde0314610186578063095ea7b3146102105780630c53c51c1461025d57806313af40351461032157806318160ddd1461035657806323b872dd1461037d575b600080fd5b34801561019257600080fd5b5061019b6107bd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021c57600080fd5b506102496004803603604081101561023357600080fd5b506001600160a01b03813516906020013561084b565b604080519115158252519081900360200190f35b61019b600480360360a081101561027357600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561029e57600080fd5b8201836020820111156102b057600080fd5b803590602001918460018302840111640100000000831117156102d257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff166108dc565b34801561032d57600080fd5b506103546004803603602081101561034457600080fd5b50356001600160a01b0316610b95565b005b34801561036257600080fd5b5061036b610c4a565b60408051918252519081900360200190f35b34801561038957600080fd5b50610249600480360360608110156103a057600080fd5b506001600160a01b03813581169160208101359091169060400135610c51565b3480156103cc57600080fd5b5061036b610cca565b3480156103e157600080fd5b506103ea610cee565b6040805160ff9092168252519081900360200190f35b34801561040c57600080fd5b5061036b610cfe565b34801561042157600080fd5b5061036b610d02565b34801561043657600080fd5b506103546004803603604081101561044d57600080fd5b506001600160a01b038135169060200135610d08565b34801561046f57600080fd5b506103546004803603602081101561048657600080fd5b5035610e2c565b34801561049957600080fd5b50610249600480360360e08110156104b057600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104e757600080fd5b8201836020820111156104f957600080fd5b8035906020019184600183028401116401000000008311171561051b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff16610e40565b34801561057657600080fd5b5061036b6004803603602081101561058d57600080fd5b50356001600160a01b0316610fbf565b3480156105a957600080fd5b50610354600480360360208110156105c057600080fd5b50356001600160a01b0316610fda565b3480156105dc57600080fd5b506105e561107d565b604080516001600160a01b039092168252519081900360200190f35b34801561060d57600080fd5b5061019b61108c565b34801561062257600080fd5b506103546004803603604081101561063957600080fd5b506001600160a01b0381351690602001356110e7565b34801561065b57600080fd5b506103546004803603602081101561067257600080fd5b5035611321565b34801561068557600080fd5b50610354611385565b34801561069a57600080fd5b50610249600480360360408110156106b157600080fd5b506001600160a01b0381351690602001356113e4565b3480156106d357600080fd5b5061036b600480360360208110156106ea57600080fd5b50356001600160a01b03166113ff565b34801561070657600080fd5b506105e561141a565b34801561071b57600080fd5b50610249611429565b34801561073057600080fd5b50610354600480360360e081101561074757600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611432565b34801561078e57600080fd5b5061036b600480360360408110156107a557600080fd5b506001600160a01b038135811691602001351661174b565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108435780601f1061081857610100808354040283529160200191610843565b820191906000526020600020905b81548152906001019060200180831161082657829003601f168201915b505050505081565b6000816002600061085a611776565b6001600160a01b0390811682526020808301939093526040918201600090812091881680825291909352912091909155610892611776565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a35060015b92915050565b60606108fc866108eb886113ff565b6108f3610cfe565b88888888610e40565b6109375760405162461bcd60e51b8152600401808060200182810382526029815260200180611ca46029913960400191505060405180910390fd5b61094086611825565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a6040516020018084805190602001908083835b602083106109a35780518252601f199092019160209182019101610984565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001826001600160a01b031660601b815260140193505050506040516020818303038152906040526040518082805190602001908083835b60208310610a205780518252601f199092019160209182019101610a01565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a82576040519150601f19603f3d011682016040523d82523d6000602084013e610a87565b606091505b509150915081610ac85760405162461bcd60e51b8152600401808060200182810382526028815260200180611c7c6028913960400191505060405180910390fd5b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b88610af2611776565b8960405180846001600160a01b03168152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b4e578181015183820152602001610b36565b50505050905090810190601f168015610b7b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1979650505050505050565b610bb2610ba0611776565b6000356001600160e01b031916611845565b610bfa576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6000545b90565b60075460009060ff1615610cb757610c6a610ba0611776565b610cb7576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b610cc284848461192c565b949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b600454600160a01b900460ff1681565b4690565b60085481565b610d13610ba0611776565b610d5b576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6001600160a01b038216600090815260016020526040902054610d7e9082611b8b565b6001600160a01b03831660009081526001602052604081209190915554610da59082611b8b565b6000556040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a26040805182815290516001600160a01b038416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b610e3d610e37611776565b826110e7565b50565b600080610edd8830898960405160200180858152602001846001600160a01b031660601b815260140183815260200182805190602001908083835b60208310610e9a5780518252601f199092019160209182019101610e7b565b6001836020036101000a03801982511681845116808217855250505050505090500194505050505060405160208183030381529060405280519060200120611bda565b9050600060018285888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610f3b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610fa3576040805162461bcd60e51b815260206004820152601f60248201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604482015290519081900360640190fd5b6001600160a01b038a8116911614915050979650505050505050565b6001600160a01b031660009081526001602052604090205490565b610fe5610ba0611776565b61102d576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0383811691909117918290556040519116907f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada490600090a250565b6004546001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108435780601f1061081857610100808354040283529160200191610843565b6110ef611776565b6001600160a01b0316826001600160a01b031614611224576001600160a01b03821660009081526002602052604081208291611129611776565b6001600160a01b03166001600160a01b0316815260200190815260200160002054101561119d576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b03821660009081526002602052604081206111e8916111c1611776565b6001600160a01b03166001600160a01b031681526020019081526020016000205482611c2b565b6001600160a01b038316600090815260026020526040812090611209611776565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b038216600090815260016020526040902054811115611291576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546112b49082611c2b565b6001600160a01b038316600090815260016020526040812091909155546112db9082611c2b565b6000556040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b61132c610ba0611776565b611374576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b610e3d61137f611776565b82610d08565b611390610ba0611776565b6113d8576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6007805460ff19169055565b60006113f86113f1611776565b8484610c51565b9392505050565b6001600160a01b031660009081526009602052604090205490565b6003546001600160a01b031681565b60075460ff1681565b60075460ff161561149557611448610ba0611776565b611495576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b428410156114ea576040805162461bcd60e51b815260206004820152601d60248201527f636f6c6f6e792d746f6b656e2d657870697265642d646561646c696e65000000604482015290519081900360640190fd5b6040805180820182526002815261190160f01b60208083019182526008546001600160a01b03808d1660008181526009855287812080546001810190915588517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981880152808a0193909352928e166060830152608082018d905260a082019290925260c08082018c90528751808303909101815260e082019097528651969093019590952084519193909261010001918291908083835b602083106115c15780518252601f1990920191602091820191016115a2565b51815160209384036101000a6000190180199092169116179052920194855250838101929092525060408051808403830181528184018083528151918401919091206000918290526060850180845281905260ff8a16608086015260a0850189905260c085018890529151919550935060019260e08082019392601f1981019281900390910190855afa15801561165c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906116925750886001600160a01b0316816001600160a01b0316145b6116e3576040805162461bcd60e51b815260206004820152601e60248201527f636f6c6f6e792d746f6b656e2d696e76616c69642d7369676e61747572650000604482015290519081900360640190fd5b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290208b905581518b815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050505050505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000363330148015611789575060348110155b156118185760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e8811461180457339350505050610c4e565b508101516001600160a01b03169150611821565b33915050610c4e565b5090565b6001600160a01b0316600090815260096020526040902080546001019055565b60006001600160a01b038316301415611860575060016108d6565b6004546001600160a01b038481169116141561187e575060016108d6565b6003546001600160a01b0316611896575060006108d6565b6003546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156118f957600080fd5b505afa15801561190d573d6000803e3d6000fd5b505050506040513d602081101561192357600080fd5b505190506108d6565b6000611936611776565b6001600160a01b0316846001600160a01b031614611a6b576001600160a01b03841660009081526002602052604081208391611970611776565b6001600160a01b03166001600160a01b031681526020019081526020016000205410156119e4576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260408120611a2f91611a08611776565b6001600160a01b03166001600160a01b031681526020019081526020016000205483611c2b565b6001600160a01b038516600090815260026020526040812090611a50611776565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b038416600090815260016020526040902054821115611ad8576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040902054611afb9083611c2b565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611b2a9083611b8b565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b808201828110156108d6576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b808203828111156108d6576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fdfe636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e7375636365737366756c6d6574617472616e73616374696f6e2d7369676e65722d7369676e61747572652d6d69736d61746368a26469706673582212207879e36cebc44f8661d5f882b858f5a2a9468e870fd62878968cec3646f81c4064736f6c63430007030033"; diff --git a/src/contracts/colony/11/factories/TokenERC20__factory.ts b/src/contracts/colony/11/factories/TokenERC20__factory.ts new file mode 100644 index 000000000..dc1d83452 --- /dev/null +++ b/src/contracts/colony/11/factories/TokenERC20__factory.ts @@ -0,0 +1,240 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { TokenERC20 } from "../TokenERC20"; + +export class TokenERC20__factory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): TokenERC20 { + return new Contract(address, _abi, signerOrProvider) as TokenERC20; + } +} + +const _abi = [ + { + constant: true, + inputs: [], + name: "name", + outputs: [ + { + name: "", + type: "string", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { + name: "_spender", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "totalSupply", + outputs: [ + { + name: "", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { + name: "_from", + type: "address", + }, + { + name: "_to", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "decimals", + outputs: [ + { + name: "", + type: "uint8", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [ + { + name: "_owner", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + name: "balance", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [], + name: "symbol", + outputs: [ + { + name: "", + type: "string", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { + name: "_to", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [ + { + name: "_owner", + type: "address", + }, + { + name: "_spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + name: "", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + payable: true, + stateMutability: "payable", + type: "fallback", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: "owner", + type: "address", + }, + { + indexed: true, + name: "spender", + type: "address", + }, + { + indexed: false, + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: "from", + type: "address", + }, + { + indexed: true, + name: "to", + type: "address", + }, + { + indexed: false, + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, +]; diff --git a/src/contracts/colony/11/factories/TokenLocking__factory.ts b/src/contracts/colony/11/factories/TokenLocking__factory.ts new file mode 100644 index 000000000..8e5e1aba0 --- /dev/null +++ b/src/contracts/colony/11/factories/TokenLocking__factory.ts @@ -0,0 +1,1044 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from ".."; +import { TokenLocking } from "../TokenLocking"; + +export class TokenLocking__factory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): TokenLocking { + return super.attach(address) as TokenLocking; + } + connect(signer: Signer): TokenLocking__factory { + return super.connect(signer) as TokenLocking__factory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): TokenLocking { + return new Contract(address, _abi, signerOrProvider) as TokenLocking; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "colonyNetwork", + type: "address", + }, + ], + name: "ColonyNetworkSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "authority", + type: "address", + }, + ], + name: "LogSetAuthority", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "LogSetOwner", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address payable", + name: "relayerAddress", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "functionSignature", + type: "bytes", + }, + ], + name: "MetaTransactionExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "by", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "StakeTransferred", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "lockedBy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "lockCount", + type: "uint256", + }, + ], + name: "TokenLocked", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "approvedBy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenApproved", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenClaimed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "obligatedBy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenDeobligated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenDeposited", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "obligatedBy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenObligated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "recipient", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenTransferred", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "lockId", + type: "uint256", + }, + ], + name: "UserTokenUnlocked", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenWithdrawn", + type: "event", + }, + { + inputs: [], + name: "authority", + outputs: [ + { + internalType: "contract DSAuthority", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "executeMetaTransaction", + outputs: [ + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "getChainId", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract DSAuthority", + name: "authority_", + type: "address", + }, + ], + name: "setAuthority", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner_", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + { + internalType: "uint256", + name: "_nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "_chainId", + type: "uint256", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "verify", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "userAddress", + type: "address", + }, + ], + name: "getMetatransactionNonce", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_colonyNetwork", + type: "address", + }, + ], + name: "setColonyNetwork", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getColonyNetwork", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "lockToken", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "uint256", + name: "_lockId", + type: "uint256", + }, + ], + name: "unlockTokenForUser", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_lockId", + type: "uint256", + }, + ], + name: "incrementLockCounterTo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "bool", + name: "_force", + type: "bool", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "address", + name: "_recipient", + type: "address", + }, + ], + name: "depositFor", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "address", + name: "_recipient", + type: "address", + }, + { + internalType: "bool", + name: "_force", + type: "bool", + }, + ], + name: "transfer", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "bool", + name: "_force", + type: "bool", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "approveStake", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "obligateStake", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "deobligateStake", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_recipient", + type: "address", + }, + ], + name: "transferStake", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_recipient", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "reward", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "getTotalLockCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "getUserLock", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "lockCount", + type: "uint256", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "DEPRECATED_timestamp", + type: "uint256", + }, + { + internalType: "uint256", + name: "pendingBalance", + type: "uint256", + }, + ], + internalType: "struct TokenLockingDataTypes.Lock", + name: "lock", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "getTotalObligation", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_obligator", + type: "address", + }, + ], + name: "getApproval", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_obligator", + type: "address", + }, + ], + name: "getObligation", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2612d0c8061005e6000396000f3fe6080604052600436106101c15760003560e01c80635afd5341116100f7578063b3eac1d811610095578063e49d7ebd11610064578063e49d7ebd146104f9578063ead5d35914610519578063f3fef3a314610539578063f753128114610559576101c1565b8063b3eac1d814610484578063bf503823146104a4578063bf7e214f146104c4578063c8820f6c146104d9576101c1565b80636d7bd889116100d15780636d7bd8891461040f5780637a9e5e4b1461042f5780638da5cb5b1461044f57806393c4553514610464576101c1565b80635afd5341146103a257806361ac1990146103c25780636281133d146103e2576101c1565b806321670f22116101645780633edd11281161013e5780633edd11281461032057806343af70a41461034057806347e7ef24146103605780634e5e839514610380576101c1565b806321670f22146102cb5780632c822a0d146102eb5780633408e4701461030b576101c1565b806310693fcd116101a057806310693fcd1461023e57806313af40351461025e5780631ca555741461027e5780631cc17c521461029e576101c1565b80626ad100146101c657806303e27b42146101fc5780630c53c51c1461021e575b600080fd5b3480156101d257600080fd5b506101e66101e13660046122bf565b610579565b6040516101f39190612c7b565b60405180910390f35b34801561020857600080fd5b5061021c61021736600461229c565b6105a6565b005b61023161022c366004612381565b61065d565b6040516101f391906127f5565b34801561024a57600080fd5b506101e661025936600461229c565b6107b0565b34801561026a57600080fd5b5061021c61027936600461229c565b610971565b34801561028a57600080fd5b506101e661029936600461229c565b6109f3565b3480156102aa57600080fd5b506102be6102b93660046122bf565b610a0e565b6040516101f39190612c50565b3480156102d757600080fd5b5061021c6102e63660046123f3565b610a71565b3480156102f757600080fd5b506101e66103063660046122f7565b610a75565b34801561031757600080fd5b506101e6610aaa565b34801561032c57600080fd5b5061021c61033b3660046124ed565b610aaf565b34801561034c57600080fd5b5061021c61035b36600461241e565b610c9a565b34801561036c57600080fd5b5061021c61037b3660046123f3565b610e98565b34801561038c57600080fd5b50610395610ea4565b6040516101f391906126bc565b3480156103ae57600080fd5b5061021c6103bd366004612454565b610eb3565b3480156103ce57600080fd5b5061021c6103dd36600461241e565b6110e7565b3480156103ee57600080fd5b506104026103fd366004612523565b611276565b6040516101f391906127cc565b34801561041b57600080fd5b5061021c61042a366004612341565b611346565b34801561043b57600080fd5b5061021c61044a36600461229c565b611568565b34801561045b57600080fd5b506103956115e6565b34801561047057600080fd5b5061021c61047f3660046124a6565b6115f5565b34801561049057600080fd5b506101e661049f36600461229c565b6117b3565b3480156104b057600080fd5b5061021c6104bf3660046123f3565b6117ce565b3480156104d057600080fd5b5061039561188b565b3480156104e557600080fd5b5061021c6104f436600461241e565b61189a565b34801561050557600080fd5b5061021c61051436600461241e565b6119a6565b34801561052557600080fd5b5061021c6105343660046124ed565b611c0a565b34801561054557600080fd5b5061021c6105543660046123f3565b611e33565b34801561056557600080fd5b506101e66105743660046122f7565b611e3f565b6001600160a01b038083166000908152600860209081526040808320938516835292905220545b92915050565b6105bc336000356001600160e01b031916611e74565b6105e15760405162461bcd60e51b81526004016105d8906128ca565b60405180910390fd5b6001600160a01b0381166106075760405162461bcd60e51b81526004016105d89061287f565b600380546001600160a01b0319166001600160a01b0383161790556040517faac08694cb36f6250aa0c27b058ab1542ec8a9289c0a3af21af36cdfaf1b46cc906106529083906126bc565b60405180910390a150565b606061067d8661066c886117b3565b610674610aaa565b88888888611276565b6106995760405162461bcd60e51b81526004016105d8906129b8565b6106a286611f50565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a6040516020016106e59392919061260c565b60408051601f19818403018152908290526106ff916125f0565b6000604051808303816000865af19150503d806000811461073c576040519150601f19603f3d011682016040523d82523d6000602084013e610741565b606091505b5091509150816107635760405162461bcd60e51b81526004016105d890612837565b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b8861078d611f90565b8960405161079d9392919061276a565b60405180910390a1979650505050505050565b60006107ba611f90565b6003546001600160a01b039081169116148061085657506003546001600160a01b031663db0dd7ff6107ea611f90565b6040518263ffffffff1660e01b815260040161080691906126bc565b60206040518083038186803b15801561081e57600080fd5b505afa158015610832573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085691906125a8565b6108725760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b038216600090815260056020526040902080546001019055610899611f90565b6001600160a01b03838116600090815260096020908152604080832060058352818420548452909152902080546001600160a01b031916929091169190911790556108e2611f90565b6001600160a01b0316826001600160a01b03167f991b8e8a2e2b8ff515f7045174eeb52eb4868e69c5bb4259da6146a93c77574d60056000866001600160a01b03166001600160a01b03168152602001908152602001600020546040516109499190612c7b565b60405180910390a3506001600160a01b0381166000908152600560205260409020545b919050565b610987336000356001600160e01b031916611e74565b6109a35760405162461bcd60e51b81526004016105d8906128ca565b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6001600160a01b031660009081526005602052604090205490565b610a166121e9565b506001600160a01b039182166000908152600460209081526040808320939094168252918252829020825160808101845281548152600182015492810192909252600281015492820192909252600390910154606082015290565b5050565b6001600160a01b0392831660009081526007602090815260408083209486168352938152838220929094168152925290205490565b465b90565b82818015610aff576001600160a01b038216600090815260056020908152604080832054600490925282209091610ae4611f90565b6001600160a01b031681526020810191909152604001600020555b610b1082610b0b611f90565b61203f565b610b2c5760405162461bcd60e51b81526004016105d890612977565b6001600160a01b038516600090815260046020526040812081610b4d611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000209050610b7d816001015486612072565b60018201558315610ba757610b9a81600101548260030154612072565b6001820155600060038201555b856001600160a01b03166323b872dd610bbe611f90565b30886040518463ffffffff1660e01b8152600401610bde939291906126d0565b602060405180830381600087803b158015610bf857600080fd5b505af1158015610c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3091906125a8565b610c4c5760405162461bcd60e51b81526004016105d890612b41565b7fd783236f9ce1a99ac7489d26331b958d099f7895331d5c91777389e01a73cda986610c76611f90565b8360010154604051610c8a939291906126d0565b60405180910390a1505050505050565b610ca2611f90565b6003546001600160a01b0390811691161480610d3e57506003546001600160a01b031663db0dd7ff610cd2611f90565b6040518263ffffffff1660e01b8152600401610cee91906126bc565b60206040518083038186803b158015610d0657600080fd5b505afa158015610d1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3e91906125a8565b610d5a5760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380841660009081526007602090815260408083209385168352929052908120610db491610d8d611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000205483612095565b6001600160a01b038085166000908152600760209081526040808320938616835292905290812090610de4611f90565b6001600160a01b03908116825260208083019390935260409182016000908120949094558681168452600883528184209085168452909152902054610e299083612095565b6001600160a01b038085166000908152600860209081526040808320938616835292905220557f7be7157460ce899204c5cd458bfc6a08b3c8f0c170351afb2f3b4bd59a36d14d8184610e7a611f90565b85604051610e8b9493929190612740565b60405180910390a1505050565b610a7182826000610aaf565b6003546001600160a01b031690565b610ebb611f90565b6003546001600160a01b0390811691161480610f5757506003546001600160a01b031663db0dd7ff610eeb611f90565b6040518263ffffffff1660e01b8152600401610f0791906126bc565b60206040518083038186803b158015610f1f57600080fd5b505afa158015610f33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5791906125a8565b610f735760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380851660009081526007602090815260408083209386168352929052908120610fcd91610fa6611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000205484612095565b6001600160a01b038086166000908152600760209081526040808320938716835292905290812090610ffd611f90565b6001600160a01b039081168252602080830193909352604091820160009081209490945587811684526008835281842090861684529091529020546110429084612095565b6001600160a01b0380861660008181526008602090815260408083209488168352938152838220949094556004845282812091815292529020600181015461108a9085612095565b600182015561109a8385846120b8565b7f4898a6d00c9e3129b2a97ee8e1ad2d897e1ec5b306a8e5849c84b3d89d2b11bb836110c4611f90565b8785886040516110d895949392919061270d565b60405180910390a15050505050565b6110ef611f90565b6003546001600160a01b039081169116148061118b57506003546001600160a01b031663db0dd7ff61111f611f90565b6040518263ffffffff1660e01b815260040161113b91906126bc565b60206040518083038186803b15801561115357600080fd5b505afa158015611167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118b91906125a8565b6111a75760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380841660009081526006602090815260408083209385168352929052908120611201916111da611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000205483612072565b6001600160a01b038085166000908152600660209081526040808320938616835292905290812090611231611f90565b6001600160a01b031681526020810191909152604001600020557f0c6931af464e8dc46a721db0ef5a5f0ff97db45dfd9fee54ba7460c68b15768c8184610e7a611f90565b6000806112ae883089896040516020016112939493929190612676565b604051602081830303815290604052805190602001206121b9565b90506000600182858888604051600081526020016040526040516112d594939291906127d7565b6020604051602081039080840390855afa1580156112f7573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661132a5760405162461bcd60e51b81526004016105d890612bcb565b6001600160a01b038a8116911614915050979650505050505050565b61134e611f90565b6003546001600160a01b03908116911614806113ea57506003546001600160a01b031663db0dd7ff61137e611f90565b6040518263ffffffff1660e01b815260040161139a91906126bc565b60206040518083038186803b1580156113b257600080fd5b505afa1580156113c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ea91906125a8565b6114065760405162461bcd60e51b81526004016105d8906128f8565b61140e611f90565b6001600160a01b03848116600090815260096020908152604080832086845290915290205481169116146114545760405162461bcd60e51b81526004016105d890612a45565b6001600160a01b03831660009081526005602052604090205481111561148c5760405162461bcd60e51b81526004016105d890612ac5565b6001600160a01b0380841660009081526004602090815260408083209386168352929052908120546114bf908390612095565b9050806114de5760405162461bcd60e51b81526004016105d890612afc565b806001146114fe5760405162461bcd60e51b81526004016105d890612c02565b6001600160a01b0380851660009081526004602090815260408083209387168352929052819020839055517f66d1ba6a7bba8a64b1341777e1e7721371ab2824e4b50ec33c687036451fe7f09061155a908690869086906126d0565b60405180910390a150505050565b61157e336000356001600160e01b031916611e74565b61159a5760405162461bcd60e51b81526004016105d8906128ca565b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b838360086000611603611f90565b6001600160a01b03908116825260208083019390935260409182016000908120918616815290835281812054600490935290812061166d91611643611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000206001015483612095565b101561168b5760405162461bcd60e51b81526004016105d890612b85565b858380156116db576001600160a01b0382166000908152600560209081526040808320546004909252822090916116c0611f90565b6001600160a01b031681526020810191909152604001600020555b6116e782610b0b611f90565b6117035760405162461bcd60e51b81526004016105d890612977565b6001600160a01b038816600090815260046020526040812081611724611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000209050611754816001015489612095565b60018201556117648989896120b8565b7fb8c56c2a9387492995ba191019b63a38d5ce068bd9fe02315cbe2600d561dc398961178e611f90565b898b6040516117a09493929190612740565b60405180910390a1505050505050505050565b6001600160a01b03166000908152600a602052604090205490565b6001600160a01b038216600090815260056020526040902054811180159061182f57506001600160a01b038216600090815260046020526040812090611812611f90565b6001600160a01b0316815260208101919091526040016000205481115b61184b5760405162461bcd60e51b81526004016105d890612a01565b6001600160a01b0382166000908152600460205260408120829161186d611f90565b6001600160a01b031681526020810191909152604001600020555050565b6000546001600160a01b031681565b826001600160a01b03166323b872dd6118b1611f90565b30856040518463ffffffff1660e01b81526004016118d1939291906126d0565b602060405180830381600087803b1580156118eb57600080fd5b505af11580156118ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192391906125a8565b61193f5760405162461bcd60e51b81526004016105d890612b41565b61194a8383836120b8565b6001600160a01b03808416600090815260046020908152604080832093851683529290528190206001015490517fd783236f9ce1a99ac7489d26331b958d099f7895331d5c91777389e01a73cda991610e8b91869185916126d0565b6119ae611f90565b6003546001600160a01b0390811691161480611a4a57506003546001600160a01b031663db0dd7ff6119de611f90565b6040518263ffffffff1660e01b81526004016119fa91906126bc565b60206040518083038186803b158015611a1257600080fd5b505afa158015611a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4a91906125a8565b611a665760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380841660009081526006602090815260408083209385168352929052908120611a9991610d8d611f90565b6001600160a01b038085166000908152600660209081526040808320938616835292905290812090611ac9611f90565b6001600160a01b039081168252602080830193909352604091820160009081209490945586811684526007835281842090851684529091528120611b0f916111da611f90565b6001600160a01b038085166000908152600760209081526040808320938616835292905290812090611b3f611f90565b6001600160a01b03908116825260208083019390935260409182016000908120949094558681168452600883528184209085168452909152902054611b849083612072565b6001600160a01b0384811660008181526008602090815260408083209487168352938152838220859055600481528382209282529190915220600101541015611bdf5760405162461bcd60e51b81526004016105d890612a7c565b7f1bc037d9dae402d0c9a02b4f09b74725297e60aa2d1a20f30c935ca65316963c8184610e7a611f90565b828260086000611c18611f90565b6001600160a01b039081168252602080830193909352604091820160009081209186168152908352818120546004909352908120611c5891611643611f90565b1015611c765760405162461bcd60e51b81526004016105d890612b85565b84838015611cc6576001600160a01b038216600090815260056020908152604080832054600490925282209091611cab611f90565b6001600160a01b031681526020810191909152604001600020555b611cd282610b0b611f90565b611cee5760405162461bcd60e51b81526004016105d890612977565b6001600160a01b038716600090815260046020526040812081611d0f611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000209050611d3f816001015488612095565b60018201556001600160a01b03881663a9059cbb611d5b611f90565b896040518363ffffffff1660e01b8152600401611d799291906126f4565b602060405180830381600087803b158015611d9357600080fd5b505af1158015611da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dcb91906125a8565b611de75760405162461bcd60e51b81526004016105d890612b41565b7f01e2c71b014f62b55400e8becdca80c6a907b5cc36c7a5789443c3ed5e57992788611e11611f90565b89604051611e21939291906126d0565b60405180910390a15050505050505050565b610a7182826000611c0a565b6001600160a01b0392831660009081526006602090815260408083209486168352938152838220929094168152925290205490565b60006001600160a01b038316301415611e8f575060016105a0565b6001546001600160a01b0384811691161415611ead575060016105a0565b6000546001600160a01b0316611ec5575060006105a0565b60005460405163b700961360e01b81526001600160a01b039091169063b700961390611ef99086903090879060040161279f565b60206040518083038186803b158015611f1157600080fd5b505afa158015611f25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4991906125a8565b90506105a0565b6001600160a01b0381166000908152600a6020526040902054611f74906001612072565b6001600160a01b039091166000908152600a6020526040902055565b6000363330148015611fa3575060348110155b156120325760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e8811461201e57339350505050610aac565b508101516001600160a01b0316915061203b565b33915050610aac565b5090565b6001600160a01b039182166000908152600560209081526040808320546004835281842094909516835292905220541490565b808201828110156105a05760405162461bcd60e51b81526004016105d890612949565b808203828111156105a05760405162461bcd60e51b81526004016105d890612808565b6001600160a01b0380841660009081526004602090815260408083209385168352929052206120e7848361203f565b15612104576120fa816001015484612072565b60018201556121b3565b60405163a9059cbb60e01b81526001600160a01b0385169063a9059cbb9061213290859087906004016126f4565b602060405180830381600087803b15801561214c57600080fd5b505af192505050801561217c575060408051601f3d908101601f19168201909252612179918101906125a8565b60015b6121985761218e816003015484612072565b60038201556121b3565b806121b1576121ab826003015485612072565b60038301555b505b50505050565b6000816040516020016121cc9190612645565b604051602081830303815290604052805190602001209050919050565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b600082601f830112612221578081fd5b813567ffffffffffffffff8082111561223657fe5b604051601f8301601f19168101602001828111828210171561225457fe5b60405282815292508284830160200186101561226f57600080fd5b8260208601602083013760006020848301015250505092915050565b803560ff8116811461096c57600080fd5b6000602082840312156122ad578081fd5b81356122b881612cb0565b9392505050565b600080604083850312156122d1578081fd5b82356122dc81612cb0565b915060208301356122ec81612cb0565b809150509250929050565b60008060006060848603121561230b578081fd5b833561231681612cb0565b9250602084013561232681612cb0565b9150604084013561233681612cb0565b809150509250925092565b600080600060608486031215612355578283fd5b833561236081612cb0565b9250602084013561237081612cb0565b929592945050506040919091013590565b600080600080600060a08688031215612398578081fd5b85356123a381612cb0565b9450602086013567ffffffffffffffff8111156123be578182fd5b6123ca88828901612211565b94505060408601359250606086013591506123e76080870161228b565b90509295509295909350565b60008060408385031215612405578182fd5b823561241081612cb0565b946020939093013593505050565b600080600060608486031215612432578283fd5b833561243d81612cb0565b925060208401359150604084013561233681612cb0565b60008060008060808587031215612469578384fd5b843561247481612cb0565b935060208501359250604085013561248b81612cb0565b9150606085013561249b81612cb0565b939692955090935050565b600080600080608085870312156124bb578384fd5b84356124c681612cb0565b93506020850135925060408501356124dd81612cb0565b9150606085013561249b81612cc8565b600080600060608486031215612501578283fd5b833561250c81612cb0565b925060208401359150604084013561233681612cc8565b600080600080600080600060e0888a03121561253d578182fd5b873561254881612cb0565b96506020880135955060408801359450606088013567ffffffffffffffff811115612571578283fd5b61257d8a828b01612211565b9450506080880135925060a0880135915061259a60c0890161228b565b905092959891949750929550565b6000602082840312156125b9578081fd5b81516122b881612cc8565b600081518084526125dc816020860160208601612c84565b601f01601f19169290920160200192915050565b60008251612602818460208701612c84565b9190910192915050565b6000845161261e818460208901612c84565b919091019283525060601b6bffffffffffffffffffffffff19166020820152603401919050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60008582526bffffffffffffffffffffffff198560601b16602083015283603483015282516126ac816054850160208701612c84565b9190910160540195945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039586168152938516602085015291841660408401529092166060820152608081019190915260a00190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b03848116825283166020820152606060408201819052600090612796908301846125c4565b95945050505050565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b901515815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082526122b860208301846125c4565b60208082526015908201527464732d6d6174682d7375622d756e646572666c6f7760581b604082015260600190565b60208082526028908201527f636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e737560408201526718d8d95cdcd99d5b60c21b606082015260800190565b6020808252602b908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6e6574776f726b2d63616e60408201526a6e6f742d62652d7a65726f60a81b606082015260800190565b602080825260149082015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604082015260600190565b60208082526031908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d73656e6465722d6e6f742d604082015270636f6c6f6e792d6f722d6e6574776f726b60781b606082015260800190565b60208082526014908201527364732d6d6174682d6164642d6f766572666c6f7760601b604082015260600190565b60208082526021908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d746f6b656e2d6c6f636b656040820152601960fa1b606082015260800190565b60208082526029908201527f6d6574617472616e73616374696f6e2d7369676e65722d7369676e617475726560408201526805adad2e6dac2e8c6d60bb1b606082015260800190565b60208082526024908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d696e76616c69642d6c6f636040820152631acb5a5960e21b606082015260800190565b6020808252601f908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6e6f742d6c6f636b657200604082015260600190565b60208082526029908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d696e73756666696369656e6040820152681d0b59195c1bdcda5d60ba1b606082015260800190565b6020808252601b908201527f636f6c6f6e792d746f6b656e2d696e76616c69642d6c6f636b69640000000000604082015260600190565b60208082526025908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d616c72656164792d756e6c6040820152641bd8dad95960da1b606082015260800190565b60208082526024908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d7472616e736665722d66616040820152631a5b195960e21b606082015260800190565b60208082526026908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6578636573732d6f626c6960408201526533b0ba34b7b760d11b606082015260800190565b6020808252601f908201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604082015260600190565b6020808252602e908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6861732d70726576696f7560408201526d732d6163746976652d6c6f636b7360901b606082015260800190565b8151815260208083015190820152604080830151908201526060918201519181019190915260800190565b90815260200190565b60005b83811015612c9f578181015183820152602001612c87565b838111156121b35750506000910152565b6001600160a01b0381168114612cc557600080fd5b50565b8015158114612cc557600080fdfea264697066735822122005a116a8dbfef0cd610a09fcffbafe2a72b8501be3ab9660c171e4b938084f2a64736f6c63430007030033"; diff --git a/src/contracts/colony/11/factories/TokenSAI__factory.ts b/src/contracts/colony/11/factories/TokenSAI__factory.ts new file mode 100644 index 000000000..a8f6c796d --- /dev/null +++ b/src/contracts/colony/11/factories/TokenSAI__factory.ts @@ -0,0 +1,240 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { TokenSAI } from "../TokenSAI"; + +export class TokenSAI__factory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): TokenSAI { + return new Contract(address, _abi, signerOrProvider) as TokenSAI; + } +} + +const _abi = [ + { + constant: true, + inputs: [], + name: "name", + outputs: [ + { + name: "", + type: "bytes32", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { + name: "_spender", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "totalSupply", + outputs: [ + { + name: "", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { + name: "_from", + type: "address", + }, + { + name: "_to", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "decimals", + outputs: [ + { + name: "", + type: "uint8", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [ + { + name: "_owner", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + name: "balance", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [], + name: "symbol", + outputs: [ + { + name: "", + type: "bytes32", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { + name: "_to", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [ + { + name: "_owner", + type: "address", + }, + { + name: "_spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + name: "", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + payable: true, + stateMutability: "payable", + type: "fallback", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: "owner", + type: "address", + }, + { + indexed: true, + name: "spender", + type: "address", + }, + { + indexed: false, + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: "from", + type: "address", + }, + { + indexed: true, + name: "to", + type: "address", + }, + { + indexed: false, + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, +]; diff --git a/src/contracts/colony/11/index.d.ts b/src/contracts/colony/11/index.d.ts new file mode 100644 index 000000000..910d6a045 --- /dev/null +++ b/src/contracts/colony/11/index.d.ts @@ -0,0 +1,29 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BigNumberish, + EventDescription, + FunctionDescription, +} from "ethers/utils"; + +export interface TransactionOverrides { + gasLimit?: BigNumberish | Promise; + gasPrice?: BigNumberish | Promise; + nonce?: BigNumberish | Promise; + value?: BigNumberish | Promise; + from?: string | Promise; + chainId?: number | Promise; +} + +export interface TypedEventDescription< + T extends Pick +> extends EventDescription { + encodeTopics: T["encodeTopics"]; +} + +export interface TypedFunctionDescription< + T extends Pick +> extends FunctionDescription { + encode: T["encode"]; +} diff --git a/src/versions.ts b/src/versions.ts index e20f2c81d..39542dc20 100644 --- a/src/versions.ts +++ b/src/versions.ts @@ -26,6 +26,7 @@ export enum ColonyVersion { EbonyLightweightSpaceship = 8, FuchsiaLightweightSpaceship = 9, GreenLightweightSpaceship = 10, + GreenLightweightSpaceshipTwo = 11, } // These are the corresponding git release tags for the deployed versions of the Colony Network @@ -40,6 +41,7 @@ const colonyReleaseMap = { [ColonyVersion.EbonyLightweightSpaceship]: `elwss`, [ColonyVersion.FuchsiaLightweightSpaceship]: `flwss`, [ColonyVersion.GreenLightweightSpaceship]: `glwss`, + [ColonyVersion.GreenLightweightSpaceshipTwo]: `develop`, }; /** From af926258cc5d65dbbf763e524c96b619f337d5f8 Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Mon, 28 Nov 2022 19:57:59 +0200 Subject: [PATCH 02/15] Add: `Colony` v11 client --- src/clients/Colony/ColonyClientV11.ts | 125 ++++++++++++++++++ .../Colony/extensions/commonExtensions.ts | 4 +- .../Colony/extensions/extensionsV11.ts | 59 +++++++++ .../Colony/interfaces/encodeInterfacesV11.ts | 45 +++++++ src/clients/ColonyNetworkClient.ts | 9 ++ src/clients/TokenClient.ts | 12 +- src/clients/TokenLockingClient.ts | 4 +- src/types.ts | 4 +- 8 files changed, 252 insertions(+), 10 deletions(-) create mode 100644 src/clients/Colony/ColonyClientV11.ts create mode 100644 src/clients/Colony/extensions/extensionsV11.ts create mode 100644 src/clients/Colony/interfaces/encodeInterfacesV11.ts diff --git a/src/clients/Colony/ColonyClientV11.ts b/src/clients/Colony/ColonyClientV11.ts new file mode 100644 index 000000000..2bf57fe09 --- /dev/null +++ b/src/clients/Colony/ColonyClientV11.ts @@ -0,0 +1,125 @@ +import { Contract, Signer } from 'ethers'; +import { Provider } from 'ethers/providers'; + +import { IColonyFactory as IColonyFactoryV3 } from '../../contracts/3/IColonyFactory'; +import { IColonyFactory as IColonyFactoryV4 } from '../../contracts/4/IColonyFactory'; +import { IColony__factory as IColonyFactoryV5 } from '../../contracts/5/factories/IColony__factory'; +import { IColony__factory as IColonyFactoryV6 } from '../../contracts/colony/6/factories/IColony__factory'; +import { IColony__factory as IColonyFactoryV7 } from '../../contracts/colony/7/factories/IColony__factory'; +import { IColony__factory as IColonyFactoryV8 } from '../../contracts/colony/8/factories/IColony__factory'; +import { IColony__factory as IColonyFactoryV9 } from '../../contracts/colony/9/factories/IColony__factory'; +import { IColony__factory as IColonyFactoryV10 } from '../../contracts/colony/10/factories/IColony__factory'; +import { IColony__factory as IColonyFactoryV11 } from '../../contracts/colony/11/factories/IColony__factory'; + +import { IColony as IColonyV6 } from '../../contracts/colony/6/IColony'; +import { IColony as IColonyV7 } from '../../contracts/colony/7/IColony'; +import { IColony as IColonyV8 } from '../../contracts/colony/8/IColony'; +import { IColony as IColonyV9 } from '../../contracts/colony/9/IColony'; +import { IColony as PreviousIColony } from '../../contracts/colony/10/IColony'; +import { IColony } from '../../contracts/colony/11/IColony'; + +import { ColonyNetworkClient } from '../ColonyNetworkClient'; +import { ExtendedIColony } from './extensions/commonExtensions'; +import { ColonyExtensionsV3 } from './extensions/extensionsV3'; +import { ColonyExtensionsV4 } from './extensions/extensionsV4'; +import { ColonyExtensionsV5 } from './extensions/extensionsV5'; +import { ColonyExtensionsV6 } from './extensions/extensionsV6'; +import { ColonyExtensionsV7 } from './extensions/extensionsV7'; +import { ColonyExtensionsV8 } from './extensions/extensionsV8'; +import { ColonyExtensionsV9 } from './extensions/extensionsV9'; +import { ColonyExtensionsV10 } from './extensions/extensionsV10'; +import { + addExtensions, + ColonyExtensionsV11, + ExtendedEstimateV11, +} from './extensions/extensionsV11'; + +import { addEncodeInterfaces } from './interfaces/encodeInterfacesV11'; + +import { getAllAbiEvents, getAbiFunctions } from '../../utils'; +import { ColonyVersion } from '../../versions'; + +type ColonyExtensions = Omit< + ExtendedIColony, + 'moveFundsBetweenPotsWithProofs' +> & + ColonyExtensionsV3 & + ColonyExtensionsV4 & + ColonyExtensionsV5 & + ColonyExtensionsV6 & + ColonyExtensionsV7 & + ColonyExtensionsV8 & + ColonyExtensionsV9 & + ColonyExtensionsV10 & + ColonyExtensionsV11; + +export type ColonyClientV11 = ColonyExtensions & { + clientVersion: ColonyVersion.GreenLightweightSpaceshipTwo; + estimate: ExtendedIColony['estimate'] & ExtendedEstimateV11; +}; + +export default function getColonyClient( + this: ColonyNetworkClient, + address: string, + signerOrProvider: Signer | Provider, +): ColonyClientV11 { + const abiFunctions = getAbiFunctions( + IColonyFactoryV11, + address, + signerOrProvider, + ); + /* + * Get all events, including the ones from v3, as well as the current ones + */ + const abiEvents = getAllAbiEvents( + [ + IColonyFactoryV11, + IColonyFactoryV10, + IColonyFactoryV9, + IColonyFactoryV8, + IColonyFactoryV7, + IColonyFactoryV6, + IColonyFactoryV5, + IColonyFactoryV4, + IColonyFactoryV3, + ], + address, + signerOrProvider, + ); + + /* + * For this to work we have to create our own instance of the contract, so + * that we can pass in the merged abi events + */ + const customEthersContractInstace = (new Contract( + address, + [...abiFunctions, ...abiEvents], + signerOrProvider, + ) as unknown) as ColonyClientV11; + + /* + * We need to clone the Ethers intance otherwise props, which we may + * want appent or overwrite, won't work since Ethers marks their props + * as read-only and non-configurable by default + * + * @TODO All of this should be extracted as an util to remove code repetition + * when creating new Colony version clients + */ + const colonyClientV11 = { + ...customEthersContractInstace, + interface: { + ...customEthersContractInstace.interface, + /* + * Manually assign non-enumerable props + */ + parseLog: customEthersContractInstace.interface.parseLog, + parseTransaction: customEthersContractInstace.interface.parseTransaction, + }, + } as ColonyClientV11; + colonyClientV11.clientVersion = ColonyVersion.GreenLightweightSpaceshipTwo; + + addExtensions(colonyClientV11, this); + addEncodeInterfaces(colonyClientV11); + + return colonyClientV11; +} diff --git a/src/clients/Colony/extensions/commonExtensions.ts b/src/clients/Colony/extensions/commonExtensions.ts index 59bc6d23e..a0d73d4c4 100644 --- a/src/clients/Colony/extensions/commonExtensions.ts +++ b/src/clients/Colony/extensions/commonExtensions.ts @@ -22,6 +22,7 @@ import { IColony as IColonyV7 } from '../../../contracts/colony/7/IColony'; import { IColony as IColonyV8 } from '../../../contracts/colony/8/IColony'; import { IColony as IColonyV9 } from '../../../contracts/colony/9/IColony'; import { IColony as IColonyV10 } from '../../../contracts/colony/10/IColony'; +import { IColony as IColonyV11 } from '../../../contracts/colony/11/IColony'; import { TransactionOverrides } from '../../../contracts/6'; import { IColonyFactory } from '../../../contracts/4/IColonyFactory'; @@ -49,7 +50,8 @@ type AnyIColony = | IColonyV7 | IColonyV8 | IColonyV9 - | IColonyV10; + | IColonyV10 + | IColonyV11; // This is exposed to type the awkward recovery event client which is basically // just an IColonyV4 diff --git a/src/clients/Colony/extensions/extensionsV11.ts b/src/clients/Colony/extensions/extensionsV11.ts new file mode 100644 index 000000000..788f6991e --- /dev/null +++ b/src/clients/Colony/extensions/extensionsV11.ts @@ -0,0 +1,59 @@ +import { IColony as IColonyV6 } from '../../../contracts/colony/6/IColony'; +import { IColony as IColonyV7 } from '../../../contracts/colony/7/IColony'; +import { IColony as IColonyV8 } from '../../../contracts/colony/8/IColony'; +import { IColony as IColonyV9 } from '../../../contracts/colony/9/IColony'; +import { IColony as PreviousIColony } from '../../../contracts/colony/10/IColony'; +import { IColony as IColonyV11 } from '../../../contracts/colony/11/IColony'; +import { ColonyNetworkClient } from '../../ColonyNetworkClient'; +import { ExtendedIColony } from './commonExtensions'; +import { ColonyExtensionsV3 } from './extensionsV3'; +import { ColonyExtensionsV4 } from './extensionsV4'; +import { ColonyExtensionsV5 } from './extensionsV5'; +import { ColonyExtensionsV6 } from './extensionsV6'; +import { ColonyExtensionsV7 } from './extensionsV7'; +import { ColonyExtensionsV8 } from './extensionsV8'; +import { ColonyExtensionsV9 } from './extensionsV9'; +import { + addExtensions as addExtensionsV10, + ColonyExtensionsV10, + ExtendedEstimateV10, +} from './extensionsV10'; + +type ValidColony = IColonyV11; + +type PreviousVersionsExtensions = ExtendedIColony & + ColonyExtensionsV3 & + ColonyExtensionsV4 & + ColonyExtensionsV5 & + ColonyExtensionsV6 & + ColonyExtensionsV7 & + ColonyExtensionsV8 & + ColonyExtensionsV9 & + ColonyExtensionsV10; + +/* + * Estimates + */ +export type ExtendedEstimateV11 = ExtendedEstimateV10; + +/* + * Extension Methods + */ +export type ColonyExtensionsV11< + T extends ValidColony +> = {} & PreviousVersionsExtensions; + +/* + * Bindings + */ +export const addExtensions = ( + instance: ExtendedIColony, + networkClient: ColonyNetworkClient, +): ColonyExtensionsV11 => { + // Add all extensions from v7, because these are also still valid + const extendedInstance = addExtensionsV10( + instance as PreviousVersionsExtensions, + networkClient, + ) as ColonyExtensionsV11; + return extendedInstance; +}; diff --git a/src/clients/Colony/interfaces/encodeInterfacesV11.ts b/src/clients/Colony/interfaces/encodeInterfacesV11.ts new file mode 100644 index 000000000..d1b6394ae --- /dev/null +++ b/src/clients/Colony/interfaces/encodeInterfacesV11.ts @@ -0,0 +1,45 @@ +import { Interface } from 'ethers/utils'; +import { IColony as IColonyV10 } from '../../../contracts/colony/10/IColony'; +import { IColony as IColonyV11 } from '../../../contracts/colony/11/IColony'; +import { + Interfaces as InterfacesV10, + addEncodeInterfaces as addEncodeInterfacesV10, +} from './encodeInterfacesV10'; + +type PreviousVersionsInterfaces = InterfacesV10; +type ValidColony = IColonyV11; + +export type Interfaces = {} & PreviousVersionsInterfaces; + +export interface ColonyWithInterfacesV11 extends ValidColony { + interface: Interface & { + events: IColonyV11['interface']['events']; + functions: IColonyV11['interface']['functions'] & Interfaces; + }; +} + +/* + * Bindings + */ +export const addEncodeInterfaces = ( + colonyClient: ValidColony, +): ColonyWithInterfacesV11 => { + const { + interface: { functions: v10functions }, + } = addEncodeInterfacesV10(colonyClient as IColonyV10); + + /* + * We're overwriting the original object in an effort to reduce + * nesting + * + * Note: that this does not work the same for v9, but will function + * this way going onward from version 10 + */ + // eslint-disable-next-line no-param-reassign + colonyClient.interface.functions = { + ...colonyClient.interface.functions, + ...v10functions, + }; + + return colonyClient as ColonyWithInterfacesV11; +}; diff --git a/src/clients/ColonyNetworkClient.ts b/src/clients/ColonyNetworkClient.ts index c80568683..5f5b359e2 100644 --- a/src/clients/ColonyNetworkClient.ts +++ b/src/clients/ColonyNetworkClient.ts @@ -30,6 +30,7 @@ import getColonyClientV7 from './Colony/ColonyClientV7'; import getColonyClientV8 from './Colony/ColonyClientV8'; import getColonyClientV9 from './Colony/ColonyClientV9'; import getColonyClientV10 from './Colony/ColonyClientV10'; +import getColonyClientV11 from './Colony/ColonyClientV11'; import getTokenClient from './TokenClient'; import getTokenLockingClient, { TokenLockingClient, @@ -266,6 +267,14 @@ const getColonyNetworkClient = ( ); break; } + case ColonyVersion.GreenLightweightSpaceshipTwo: { + colonyClient = getColonyClientV11.call( + networkClient, + colonyAddress, + signerOrProvider, + ); + break; + } default: { throw new Error('Colony version not supported'); } diff --git a/src/clients/TokenClient.ts b/src/clients/TokenClient.ts index 49191e81d..a53c40887 100644 --- a/src/clients/TokenClient.ts +++ b/src/clients/TokenClient.ts @@ -3,12 +3,12 @@ import { Provider } from 'ethers/providers'; import { getAddress, isHexString, parseBytes32String } from 'ethers/utils'; import { ClientType, TokenClientType, tokenAddresses } from '../constants'; -import { MetaTxToken__factory as MetaTxTokenFactory } from '../contracts/colony/10/factories/MetaTxToken__factory'; -import { MetaTxToken } from '../contracts/colony/10/MetaTxToken'; -import { TokenERC20__factory as TokenErc20Factory } from '../contracts/colony/10/factories/TokenERC20__factory'; -import { TokenERC20 as TokenErc20 } from '../contracts/colony/10/TokenERC20'; -import { TokenSAI__factory as TokenSaiFactory } from '../contracts/colony/10/factories/TokenSAI__factory'; -import { TokenSAI as TokenSai } from '../contracts/colony/10/TokenSAI'; +import { MetaTxToken__factory as MetaTxTokenFactory } from '../contracts/colony/11/factories/MetaTxToken__factory'; +import { MetaTxToken } from '../contracts/colony/11/MetaTxToken'; +import { TokenERC20__factory as TokenErc20Factory } from '../contracts/colony/11/factories/TokenERC20__factory'; +import { TokenERC20 as TokenErc20 } from '../contracts/colony/11/TokenERC20'; +import { TokenSAI__factory as TokenSaiFactory } from '../contracts/colony/11/factories/TokenSAI__factory'; +import { TokenSAI as TokenSai } from '../contracts/colony/11/TokenSAI'; const isSai = (address: string): boolean => getAddress(address) === tokenAddresses.SAI; diff --git a/src/clients/TokenLockingClient.ts b/src/clients/TokenLockingClient.ts index c6d1754f5..1bd145b78 100644 --- a/src/clients/TokenLockingClient.ts +++ b/src/clients/TokenLockingClient.ts @@ -2,8 +2,8 @@ import { Signer } from 'ethers'; import { Provider } from 'ethers/providers'; import { ClientType } from '../constants'; -import { TokenLocking__factory as TokenLockingFactory } from '../contracts/colony/10/factories/TokenLocking__factory'; -import { TokenLocking } from '../contracts/colony/10/TokenLocking'; +import { TokenLocking__factory as TokenLockingFactory } from '../contracts/colony/11/factories/TokenLocking__factory'; +import { TokenLocking } from '../contracts/colony/11/TokenLocking'; export interface TokenLockingClient extends TokenLocking { clientType: ClientType.TokenLockingClient; diff --git a/src/types.ts b/src/types.ts index a259e7685..6b30cac33 100644 --- a/src/types.ts +++ b/src/types.ts @@ -9,6 +9,7 @@ import { ColonyClientV7 } from './clients/Colony/ColonyClientV7'; import { ColonyClientV8 } from './clients/Colony/ColonyClientV8'; import { ColonyClientV9 } from './clients/Colony/ColonyClientV9'; import { ColonyClientV10 } from './clients/Colony/ColonyClientV10'; +import { ColonyClientV11 } from './clients/Colony/ColonyClientV11'; import { TokenClient } from './clients/TokenClient'; import { TokenLockingClient } from './clients/TokenLockingClient'; import { ExtensionClient } from './clients/Extensions/colonyContractExtensions'; @@ -23,7 +24,8 @@ export type ColonyClient = | ColonyClientV7 | ColonyClientV8 | ColonyClientV9 - | ColonyClientV10; + | ColonyClientV10 + | ColonyClientV11; export type ContractClient = | ColonyClient From 6be24ae73c0e08bfa6c154536674ebc42960dc33 Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Mon, 28 Nov 2022 19:59:24 +0200 Subject: [PATCH 03/15] Bump: change version to next stable patch `4.2.2-rc.0` --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 37af6a88d..b6470f7d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@colony/colony-js", - "version": "v4.2.1", + "version": "v4.2.2-rc.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 483edd483..25ead6910 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@colony/colony-js", - "version": "v4.2.1", + "version": "v4.2.2-rc.0", "main": "lib/index.js", "module": "lib-esm/index.js", "files": [ From 4c90ce7a32e1c373960563e7f159ee78f194ace7 Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Wed, 14 Dec 2022 16:40:27 +0200 Subject: [PATCH 04/15] Add: generate contracts for `VotingReputation` 8 --- src/contracts/colony/11/IColony.d.ts | 64 + src/contracts/colony/11/IColonyNetwork.d.ts | 216 ++ src/contracts/colony/11/MetaTxToken.d.ts | 23 + .../11/factories/IColonyNetwork__factory.ts | 73 + .../colony/11/factories/IColony__factory.ts | 19 + .../11/factories/MetaTxToken__factory.ts | 21 +- .../11/factories/TokenLocking__factory.ts | 2 +- .../votingReputation/8/VotingReputation.d.ts | 2082 +++++++++++++++++ .../8/factories/VotingReputation__factory.ts | 1354 +++++++++++ .../extensions/votingReputation/8/index.d.ts | 29 + src/versions.ts | 10 + 11 files changed, 3891 insertions(+), 2 deletions(-) create mode 100644 src/contracts/extensions/votingReputation/8/VotingReputation.d.ts create mode 100644 src/contracts/extensions/votingReputation/8/factories/VotingReputation__factory.ts create mode 100644 src/contracts/extensions/votingReputation/8/index.d.ts diff --git a/src/contracts/colony/11/IColony.d.ts b/src/contracts/colony/11/IColony.d.ts index d5f83d3e9..07c9291b3 100644 --- a/src/contracts/colony/11/IColony.d.ts +++ b/src/contracts/colony/11/IColony.d.ts @@ -39,6 +39,10 @@ interface IColonyInterface extends Interface { isInRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + multicall: TypedFunctionDescription<{ + encode([data]: [Arrayish[]]): string; + }>; + numRecoveryRoles: TypedFunctionDescription<{ encode([]: []): string }>; removeRecoveryRole: TypedFunctionDescription<{ @@ -1478,6 +1482,26 @@ export class IColony extends Contract { */ "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + /** * Return number of recovery roles. */ @@ -5217,6 +5241,26 @@ export class IColony extends Contract { */ "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + /** * Return number of recovery roles. */ @@ -9209,6 +9253,26 @@ export class IColony extends Contract { */ "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + /** * Return number of recovery roles. */ diff --git a/src/contracts/colony/11/IColonyNetwork.d.ts b/src/contracts/colony/11/IColonyNetwork.d.ts index b5ca12ffb..2a4285534 100644 --- a/src/contracts/colony/11/IColonyNetwork.d.ts +++ b/src/contracts/colony/11/IColonyNetwork.d.ts @@ -39,6 +39,10 @@ interface IColonyNetworkInterface extends Interface { isInRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + multicall: TypedFunctionDescription<{ + encode([data]: [Arrayish[]]): string; + }>; + numRecoveryRoles: TypedFunctionDescription<{ encode([]: []): string }>; removeRecoveryRole: TypedFunctionDescription<{ @@ -137,6 +141,26 @@ interface IColonyNetworkInterface extends Interface { encode([_tokenAddress]: [string]): string; }>; + createColonyForFrontend: TypedFunctionDescription<{ + encode([ + _tokenAddress, + _name, + _symbol, + _decimals, + _version, + _colonyName, + _metadata, + ]: [ + string, + string, + string, + BigNumberish, + BigNumberish, + string, + string + ]): string; + }>; + addColonyVersion: TypedFunctionDescription<{ encode([_version, _resolver]: [BigNumberish, string]): string; }>; @@ -656,6 +680,26 @@ export class IColonyNetwork extends Contract { */ "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + /** * Return number of recovery roles. */ @@ -1157,6 +1201,50 @@ export class IColonyNetwork extends Contract { overrides?: TransactionOverrides ): Promise; + /** + * We expect this function to only be used by the dapp + * Creates a new colony in the network, possibly with a token and token authority, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to (optional) In the case of ETH, and most tokens, this is 18. + * @param _metadata The metadata associated with the new colony + * @param _name The name of the token (optional) + * @param _symbol The short 'ticket' symbol for the token (optional) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token (optional) + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + createColonyForFrontend( + _tokenAddress: string, + _name: string, + _symbol: string, + _decimals: BigNumberish, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * We expect this function to only be used by the dapp + * Creates a new colony in the network, possibly with a token and token authority, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to (optional) In the case of ETH, and most tokens, this is 18. + * @param _metadata The metadata associated with the new colony + * @param _name The name of the token (optional) + * @param _symbol The short 'ticket' symbol for the token (optional) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token (optional) + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColonyForFrontend(address,string,string,uint8,uint256,string,string)"( + _tokenAddress: string, + _name: string, + _symbol: string, + _decimals: BigNumberish, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + /** * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract @@ -2265,6 +2353,26 @@ export class IColonyNetwork extends Contract { */ "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + /** * Return number of recovery roles. */ @@ -2763,6 +2871,50 @@ export class IColonyNetwork extends Contract { overrides?: TransactionOverrides ): Promise; + /** + * We expect this function to only be used by the dapp + * Creates a new colony in the network, possibly with a token and token authority, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to (optional) In the case of ETH, and most tokens, this is 18. + * @param _metadata The metadata associated with the new colony + * @param _name The name of the token (optional) + * @param _symbol The short 'ticket' symbol for the token (optional) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token (optional) + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + createColonyForFrontend( + _tokenAddress: string, + _name: string, + _symbol: string, + _decimals: BigNumberish, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * We expect this function to only be used by the dapp + * Creates a new colony in the network, possibly with a token and token authority, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to (optional) In the case of ETH, and most tokens, this is 18. + * @param _metadata The metadata associated with the new colony + * @param _name The name of the token (optional) + * @param _symbol The short 'ticket' symbol for the token (optional) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token (optional) + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColonyForFrontend(address,string,string,uint8,uint256,string,string)"( + _tokenAddress: string, + _name: string, + _symbol: string, + _decimals: BigNumberish, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + /** * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract @@ -3963,6 +4115,26 @@ export class IColonyNetwork extends Contract { */ "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + /** * Return number of recovery roles. */ @@ -4428,6 +4600,50 @@ export class IColonyNetwork extends Contract { overrides?: TransactionOverrides ): Promise; + /** + * We expect this function to only be used by the dapp + * Creates a new colony in the network, possibly with a token and token authority, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to (optional) In the case of ETH, and most tokens, this is 18. + * @param _metadata The metadata associated with the new colony + * @param _name The name of the token (optional) + * @param _symbol The short 'ticket' symbol for the token (optional) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token (optional) + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + createColonyForFrontend( + _tokenAddress: string, + _name: string, + _symbol: string, + _decimals: BigNumberish, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * We expect this function to only be used by the dapp + * Creates a new colony in the network, possibly with a token and token authority, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to (optional) In the case of ETH, and most tokens, this is 18. + * @param _metadata The metadata associated with the new colony + * @param _name The name of the token (optional) + * @param _symbol The short 'ticket' symbol for the token (optional) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token (optional) + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColonyForFrontend(address,string,string,uint8,uint256,string,string)"( + _tokenAddress: string, + _name: string, + _symbol: string, + _decimals: BigNumberish, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + /** * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract diff --git a/src/contracts/colony/11/MetaTxToken.d.ts b/src/contracts/colony/11/MetaTxToken.d.ts index e7d9a71c0..1620f88ba 100644 --- a/src/contracts/colony/11/MetaTxToken.d.ts +++ b/src/contracts/colony/11/MetaTxToken.d.ts @@ -79,6 +79,8 @@ interface MetaTxTokenInterface extends Interface { encode([_user]: [string]): string; }>; + nonces: TypedFunctionDescription<{ encode([_user]: [string]): string }>; + transferFrom: TypedFunctionDescription<{ encode([src, dst, wad]: [string, string, BigNumberish]): string; }>; @@ -333,6 +335,13 @@ export class MetaTxToken extends Contract { overrides?: TransactionOverrides ): Promise; + nonces(_user: string, overrides?: TransactionOverrides): Promise; + + "nonces(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + transferFrom( src: string, dst: string, @@ -576,6 +585,13 @@ export class MetaTxToken extends Contract { overrides?: TransactionOverrides ): Promise; + nonces(_user: string, overrides?: TransactionOverrides): Promise; + + "nonces(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + transferFrom( src: string, dst: string, @@ -842,6 +858,13 @@ export class MetaTxToken extends Contract { overrides?: TransactionOverrides ): Promise; + nonces(_user: string, overrides?: TransactionOverrides): Promise; + + "nonces(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + transferFrom( src: string, dst: string, diff --git a/src/contracts/colony/11/factories/IColonyNetwork__factory.ts b/src/contracts/colony/11/factories/IColonyNetwork__factory.ts index a99b2296e..0f942cc56 100644 --- a/src/contracts/colony/11/factories/IColonyNetwork__factory.ts +++ b/src/contracts/colony/11/factories/IColonyNetwork__factory.ts @@ -711,6 +711,25 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "results", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, { inputs: [], name: "numRecoveryRoles", @@ -1284,6 +1303,60 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddress", + type: "address", + }, + { + internalType: "string", + name: "_name", + type: "string", + }, + { + internalType: "string", + name: "_symbol", + type: "string", + }, + { + internalType: "uint8", + name: "_decimals", + type: "uint8", + }, + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + { + internalType: "string", + name: "_colonyName", + type: "string", + }, + { + internalType: "string", + name: "_metadata", + type: "string", + }, + ], + name: "createColonyForFrontend", + outputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "colony", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, { inputs: [ { diff --git a/src/contracts/colony/11/factories/IColony__factory.ts b/src/contracts/colony/11/factories/IColony__factory.ts index 0225744b3..6fa720837 100644 --- a/src/contracts/colony/11/factories/IColony__factory.ts +++ b/src/contracts/colony/11/factories/IColony__factory.ts @@ -1563,6 +1563,25 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "results", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, { inputs: [], name: "numRecoveryRoles", diff --git a/src/contracts/colony/11/factories/MetaTxToken__factory.ts b/src/contracts/colony/11/factories/MetaTxToken__factory.ts index 434df9a98..6ec280d94 100644 --- a/src/contracts/colony/11/factories/MetaTxToken__factory.ts +++ b/src/contracts/colony/11/factories/MetaTxToken__factory.ts @@ -565,6 +565,25 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, { inputs: [ { @@ -709,4 +728,4 @@ const _abi = [ ]; const _bytecode = - "0x60806040523480156200001157600080fd5b506040516200220038038062002200833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b506040526020015191506000905080600181620001b4620003a6565b6001600160a01b03168152602081019190915260400160009081209190915555620001de620003a6565b600480546001600160a01b0319166001600160a01b039290921691909117905562000208620003a6565b6001600160a01b03167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a28251620002529060069060208601906200045c565b508151620002689060059060208501906200045c565b506004805460ff60a01b1916600160a01b60ff8416021790556007805460ff191660019081179091556040516006805446937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f9391829184916002610100928216159290920260001901160480156200031b5780601f10620002f85761010080835404028352918201916200031b565b820191906000526020600020905b81548152906001019060200180831162000306575b505060408051918290038220828201825260018352603160f81b602093840152815180840196909652858201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606086015260808501959095523060a0808601919091528551808603909101815260c09094019094525050805191012060085550620004ee915050565b6000363330148015620003ba575060348110155b156200044d5760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88114620004385733935050505062000459565b508101516001600160a01b0316915062000457565b3391505062000459565b505b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049f57805160ff1916838001178555620004cf565b82800160010185558215620004cf579182015b82811115620004cf578251825591602001919060010190620004b2565b50620004579291505b80821115620004575760008155600101620004d8565b611d0280620004fe6000396000f3fe6080604052600436106101815760003560e01c806370a08231116100d1578063a69df4b51161008a578063bf7e214f11610064578063bf7e214f146106fa578063cf3090121461070f578063d505accf14610724578063dd62ed3e1461078257610181565b8063a69df4b514610679578063a9059cbb1461068e578063b3eac1d8146106c757610181565b806370a082311461056a5780637a9e5e4b1461059d5780638da5cb5b146105d057806395d89b41146106015780639dc29fac14610616578063a0712d681461064f57610181565b806330adf81f1161013e5780633644e515116101185780633644e5151461041557806340c10f191461042a57806342966c68146104635780636281133d1461048d57610181565b806330adf81f146103c0578063313ce567146103d55780633408e4701461040057610181565b806306fdde0314610186578063095ea7b3146102105780630c53c51c1461025d57806313af40351461032157806318160ddd1461035657806323b872dd1461037d575b600080fd5b34801561019257600080fd5b5061019b6107bd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021c57600080fd5b506102496004803603604081101561023357600080fd5b506001600160a01b03813516906020013561084b565b604080519115158252519081900360200190f35b61019b600480360360a081101561027357600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561029e57600080fd5b8201836020820111156102b057600080fd5b803590602001918460018302840111640100000000831117156102d257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff166108dc565b34801561032d57600080fd5b506103546004803603602081101561034457600080fd5b50356001600160a01b0316610b95565b005b34801561036257600080fd5b5061036b610c4a565b60408051918252519081900360200190f35b34801561038957600080fd5b50610249600480360360608110156103a057600080fd5b506001600160a01b03813581169160208101359091169060400135610c51565b3480156103cc57600080fd5b5061036b610cca565b3480156103e157600080fd5b506103ea610cee565b6040805160ff9092168252519081900360200190f35b34801561040c57600080fd5b5061036b610cfe565b34801561042157600080fd5b5061036b610d02565b34801561043657600080fd5b506103546004803603604081101561044d57600080fd5b506001600160a01b038135169060200135610d08565b34801561046f57600080fd5b506103546004803603602081101561048657600080fd5b5035610e2c565b34801561049957600080fd5b50610249600480360360e08110156104b057600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104e757600080fd5b8201836020820111156104f957600080fd5b8035906020019184600183028401116401000000008311171561051b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff16610e40565b34801561057657600080fd5b5061036b6004803603602081101561058d57600080fd5b50356001600160a01b0316610fbf565b3480156105a957600080fd5b50610354600480360360208110156105c057600080fd5b50356001600160a01b0316610fda565b3480156105dc57600080fd5b506105e561107d565b604080516001600160a01b039092168252519081900360200190f35b34801561060d57600080fd5b5061019b61108c565b34801561062257600080fd5b506103546004803603604081101561063957600080fd5b506001600160a01b0381351690602001356110e7565b34801561065b57600080fd5b506103546004803603602081101561067257600080fd5b5035611321565b34801561068557600080fd5b50610354611385565b34801561069a57600080fd5b50610249600480360360408110156106b157600080fd5b506001600160a01b0381351690602001356113e4565b3480156106d357600080fd5b5061036b600480360360208110156106ea57600080fd5b50356001600160a01b03166113ff565b34801561070657600080fd5b506105e561141a565b34801561071b57600080fd5b50610249611429565b34801561073057600080fd5b50610354600480360360e081101561074757600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611432565b34801561078e57600080fd5b5061036b600480360360408110156107a557600080fd5b506001600160a01b038135811691602001351661174b565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108435780601f1061081857610100808354040283529160200191610843565b820191906000526020600020905b81548152906001019060200180831161082657829003601f168201915b505050505081565b6000816002600061085a611776565b6001600160a01b0390811682526020808301939093526040918201600090812091881680825291909352912091909155610892611776565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a35060015b92915050565b60606108fc866108eb886113ff565b6108f3610cfe565b88888888610e40565b6109375760405162461bcd60e51b8152600401808060200182810382526029815260200180611ca46029913960400191505060405180910390fd5b61094086611825565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a6040516020018084805190602001908083835b602083106109a35780518252601f199092019160209182019101610984565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001826001600160a01b031660601b815260140193505050506040516020818303038152906040526040518082805190602001908083835b60208310610a205780518252601f199092019160209182019101610a01565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a82576040519150601f19603f3d011682016040523d82523d6000602084013e610a87565b606091505b509150915081610ac85760405162461bcd60e51b8152600401808060200182810382526028815260200180611c7c6028913960400191505060405180910390fd5b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b88610af2611776565b8960405180846001600160a01b03168152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b4e578181015183820152602001610b36565b50505050905090810190601f168015610b7b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1979650505050505050565b610bb2610ba0611776565b6000356001600160e01b031916611845565b610bfa576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6000545b90565b60075460009060ff1615610cb757610c6a610ba0611776565b610cb7576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b610cc284848461192c565b949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b600454600160a01b900460ff1681565b4690565b60085481565b610d13610ba0611776565b610d5b576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6001600160a01b038216600090815260016020526040902054610d7e9082611b8b565b6001600160a01b03831660009081526001602052604081209190915554610da59082611b8b565b6000556040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a26040805182815290516001600160a01b038416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b610e3d610e37611776565b826110e7565b50565b600080610edd8830898960405160200180858152602001846001600160a01b031660601b815260140183815260200182805190602001908083835b60208310610e9a5780518252601f199092019160209182019101610e7b565b6001836020036101000a03801982511681845116808217855250505050505090500194505050505060405160208183030381529060405280519060200120611bda565b9050600060018285888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610f3b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610fa3576040805162461bcd60e51b815260206004820152601f60248201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604482015290519081900360640190fd5b6001600160a01b038a8116911614915050979650505050505050565b6001600160a01b031660009081526001602052604090205490565b610fe5610ba0611776565b61102d576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0383811691909117918290556040519116907f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada490600090a250565b6004546001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108435780601f1061081857610100808354040283529160200191610843565b6110ef611776565b6001600160a01b0316826001600160a01b031614611224576001600160a01b03821660009081526002602052604081208291611129611776565b6001600160a01b03166001600160a01b0316815260200190815260200160002054101561119d576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b03821660009081526002602052604081206111e8916111c1611776565b6001600160a01b03166001600160a01b031681526020019081526020016000205482611c2b565b6001600160a01b038316600090815260026020526040812090611209611776565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b038216600090815260016020526040902054811115611291576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546112b49082611c2b565b6001600160a01b038316600090815260016020526040812091909155546112db9082611c2b565b6000556040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b61132c610ba0611776565b611374576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b610e3d61137f611776565b82610d08565b611390610ba0611776565b6113d8576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6007805460ff19169055565b60006113f86113f1611776565b8484610c51565b9392505050565b6001600160a01b031660009081526009602052604090205490565b6003546001600160a01b031681565b60075460ff1681565b60075460ff161561149557611448610ba0611776565b611495576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b428410156114ea576040805162461bcd60e51b815260206004820152601d60248201527f636f6c6f6e792d746f6b656e2d657870697265642d646561646c696e65000000604482015290519081900360640190fd5b6040805180820182526002815261190160f01b60208083019182526008546001600160a01b03808d1660008181526009855287812080546001810190915588517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981880152808a0193909352928e166060830152608082018d905260a082019290925260c08082018c90528751808303909101815260e082019097528651969093019590952084519193909261010001918291908083835b602083106115c15780518252601f1990920191602091820191016115a2565b51815160209384036101000a6000190180199092169116179052920194855250838101929092525060408051808403830181528184018083528151918401919091206000918290526060850180845281905260ff8a16608086015260a0850189905260c085018890529151919550935060019260e08082019392601f1981019281900390910190855afa15801561165c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906116925750886001600160a01b0316816001600160a01b0316145b6116e3576040805162461bcd60e51b815260206004820152601e60248201527f636f6c6f6e792d746f6b656e2d696e76616c69642d7369676e61747572650000604482015290519081900360640190fd5b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290208b905581518b815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050505050505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000363330148015611789575060348110155b156118185760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e8811461180457339350505050610c4e565b508101516001600160a01b03169150611821565b33915050610c4e565b5090565b6001600160a01b0316600090815260096020526040902080546001019055565b60006001600160a01b038316301415611860575060016108d6565b6004546001600160a01b038481169116141561187e575060016108d6565b6003546001600160a01b0316611896575060006108d6565b6003546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156118f957600080fd5b505afa15801561190d573d6000803e3d6000fd5b505050506040513d602081101561192357600080fd5b505190506108d6565b6000611936611776565b6001600160a01b0316846001600160a01b031614611a6b576001600160a01b03841660009081526002602052604081208391611970611776565b6001600160a01b03166001600160a01b031681526020019081526020016000205410156119e4576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260408120611a2f91611a08611776565b6001600160a01b03166001600160a01b031681526020019081526020016000205483611c2b565b6001600160a01b038516600090815260026020526040812090611a50611776565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b038416600090815260016020526040902054821115611ad8576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040902054611afb9083611c2b565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611b2a9083611b8b565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b808201828110156108d6576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b808203828111156108d6576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fdfe636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e7375636365737366756c6d6574617472616e73616374696f6e2d7369676e65722d7369676e61747572652d6d69736d61746368a26469706673582212207879e36cebc44f8661d5f882b858f5a2a9468e870fd62878968cec3646f81c4064736f6c63430007030033"; + "0x60806040523480156200001157600080fd5b506040516200221b3803806200221b833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b506040526020015191506000905080600181620001b4620003a6565b6001600160a01b03168152602081019190915260400160009081209190915555620001de620003a6565b600480546001600160a01b0319166001600160a01b039290921691909117905562000208620003a6565b6001600160a01b03167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a28251620002529060069060208601906200045c565b508151620002689060059060208501906200045c565b506004805460ff60a01b1916600160a01b60ff8416021790556007805460ff191660019081179091556040516006805446937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f9391829184916002610100928216159290920260001901160480156200031b5780601f10620002f85761010080835404028352918201916200031b565b820191906000526020600020905b81548152906001019060200180831162000306575b505060408051918290038220828201825260018352603160f81b602093840152815180840196909652858201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606086015260808501959095523060a0808601919091528551808603909101815260c09094019094525050805191012060085550620004ee915050565b6000363330148015620003ba575060348110155b156200044d5760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88114620004385733935050505062000459565b508101516001600160a01b0316915062000457565b3391505062000459565b505b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049f57805160ff1916838001178555620004cf565b82800160010185558215620004cf579182015b82811115620004cf578251825591602001919060010190620004b2565b50620004579291505b80821115620004575760008155600101620004d8565b611d1d80620004fe6000396000f3fe60806040526004361061019c5760003560e01c806370a08231116100ec578063a69df4b51161008a578063bf7e214f11610064578063bf7e214f14610715578063cf3090121461072a578063d505accf1461073f578063dd62ed3e1461079d5761019c565b8063a69df4b5146106c7578063a9059cbb146106dc578063b3eac1d8146105eb5761019c565b80638da5cb5b116100c65780638da5cb5b1461061e57806395d89b411461064f5780639dc29fac14610664578063a0712d681461069d5761019c565b806370a08231146105855780637a9e5e4b146105b85780637ecebe00146105eb5761019c565b806330adf81f116101595780633644e515116101335780633644e5151461043057806340c10f191461044557806342966c681461047e5780636281133d146104a85761019c565b806330adf81f146103db578063313ce567146103f05780633408e4701461041b5761019c565b806306fdde03146101a1578063095ea7b31461022b5780630c53c51c1461027857806313af40351461033c57806318160ddd1461037157806323b872dd14610398575b600080fd5b3480156101ad57600080fd5b506101b66107d8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f05781810151838201526020016101d8565b50505050905090810190601f16801561021d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023757600080fd5b506102646004803603604081101561024e57600080fd5b506001600160a01b038135169060200135610866565b604080519115158252519081900360200190f35b6101b6600480360360a081101561028e57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102b957600080fd5b8201836020820111156102cb57600080fd5b803590602001918460018302840111640100000000831117156102ed57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff166108f7565b34801561034857600080fd5b5061036f6004803603602081101561035f57600080fd5b50356001600160a01b0316610bb0565b005b34801561037d57600080fd5b50610386610c65565b60408051918252519081900360200190f35b3480156103a457600080fd5b50610264600480360360608110156103bb57600080fd5b506001600160a01b03813581169160208101359091169060400135610c6c565b3480156103e757600080fd5b50610386610ce5565b3480156103fc57600080fd5b50610405610d09565b6040805160ff9092168252519081900360200190f35b34801561042757600080fd5b50610386610d19565b34801561043c57600080fd5b50610386610d1d565b34801561045157600080fd5b5061036f6004803603604081101561046857600080fd5b506001600160a01b038135169060200135610d23565b34801561048a57600080fd5b5061036f600480360360208110156104a157600080fd5b5035610e47565b3480156104b457600080fd5b50610264600480360360e08110156104cb57600080fd5b6001600160a01b03823516916020810135916040820135919081019060808101606082013564010000000081111561050257600080fd5b82018360208201111561051457600080fd5b8035906020019184600183028401116401000000008311171561053657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff16610e5b565b34801561059157600080fd5b50610386600480360360208110156105a857600080fd5b50356001600160a01b0316610fda565b3480156105c457600080fd5b5061036f600480360360208110156105db57600080fd5b50356001600160a01b0316610ff5565b3480156105f757600080fd5b506103866004803603602081101561060e57600080fd5b50356001600160a01b0316611098565b34801561062a57600080fd5b506106336110b3565b604080516001600160a01b039092168252519081900360200190f35b34801561065b57600080fd5b506101b66110c2565b34801561067057600080fd5b5061036f6004803603604081101561068757600080fd5b506001600160a01b03813516906020013561111d565b3480156106a957600080fd5b5061036f600480360360208110156106c057600080fd5b5035611357565b3480156106d357600080fd5b5061036f6113bb565b3480156106e857600080fd5b50610264600480360360408110156106ff57600080fd5b506001600160a01b03813516906020013561141a565b34801561072157600080fd5b50610633611435565b34801561073657600080fd5b50610264611444565b34801561074b57600080fd5b5061036f600480360360e081101561076257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561144d565b3480156107a957600080fd5b50610386600480360360408110156107c057600080fd5b506001600160a01b0381358116916020013516611766565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085e5780601f106108335761010080835404028352916020019161085e565b820191906000526020600020905b81548152906001019060200180831161084157829003601f168201915b505050505081565b60008160026000610875611791565b6001600160a01b03908116825260208083019390935260409182016000908120918816808252919093529120919091556108ad611791565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a35060015b92915050565b60606109178661090688611098565b61090e610d19565b88888888610e5b565b6109525760405162461bcd60e51b8152600401808060200182810382526029815260200180611cbf6029913960400191505060405180910390fd5b61095b86611840565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a6040516020018084805190602001908083835b602083106109be5780518252601f19909201916020918201910161099f565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001826001600160a01b031660601b815260140193505050506040516020818303038152906040526040518082805190602001908083835b60208310610a3b5780518252601f199092019160209182019101610a1c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a9d576040519150601f19603f3d011682016040523d82523d6000602084013e610aa2565b606091505b509150915081610ae35760405162461bcd60e51b8152600401808060200182810382526028815260200180611c976028913960400191505060405180910390fd5b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b88610b0d611791565b8960405180846001600160a01b03168152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b69578181015183820152602001610b51565b50505050905090810190601f168015610b965780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1979650505050505050565b610bcd610bbb611791565b6000356001600160e01b031916611860565b610c15576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6000545b90565b60075460009060ff1615610cd257610c85610bbb611791565b610cd2576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b610cdd848484611947565b949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b600454600160a01b900460ff1681565b4690565b60085481565b610d2e610bbb611791565b610d76576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6001600160a01b038216600090815260016020526040902054610d999082611ba6565b6001600160a01b03831660009081526001602052604081209190915554610dc09082611ba6565b6000556040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a26040805182815290516001600160a01b038416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b610e58610e52611791565b8261111d565b50565b600080610ef88830898960405160200180858152602001846001600160a01b031660601b815260140183815260200182805190602001908083835b60208310610eb55780518252601f199092019160209182019101610e96565b6001836020036101000a03801982511681845116808217855250505050505090500194505050505060405160208183030381529060405280519060200120611bf5565b9050600060018285888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610f56573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610fbe576040805162461bcd60e51b815260206004820152601f60248201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604482015290519081900360640190fd5b6001600160a01b038a8116911614915050979650505050505050565b6001600160a01b031660009081526001602052604090205490565b611000610bbb611791565b611048576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0383811691909117918290556040519116907f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada490600090a250565b6001600160a01b031660009081526009602052604090205490565b6004546001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085e5780601f106108335761010080835404028352916020019161085e565b611125611791565b6001600160a01b0316826001600160a01b03161461125a576001600160a01b0382166000908152600260205260408120829161115f611791565b6001600160a01b03166001600160a01b031681526020019081526020016000205410156111d3576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b038216600090815260026020526040812061121e916111f7611791565b6001600160a01b03166001600160a01b031681526020019081526020016000205482611c46565b6001600160a01b03831660009081526002602052604081209061123f611791565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b0382166000908152600160205260409020548111156112c7576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546112ea9082611c46565b6001600160a01b038316600090815260016020526040812091909155546113119082611c46565b6000556040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b611362610bbb611791565b6113aa576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b610e586113b5611791565b82610d23565b6113c6610bbb611791565b61140e576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6007805460ff19169055565b600061142e611427611791565b8484610c6c565b9392505050565b6003546001600160a01b031681565b60075460ff1681565b60075460ff16156114b057611463610bbb611791565b6114b0576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b42841015611505576040805162461bcd60e51b815260206004820152601d60248201527f636f6c6f6e792d746f6b656e2d657870697265642d646561646c696e65000000604482015290519081900360640190fd5b6040805180820182526002815261190160f01b60208083019182526008546001600160a01b03808d1660008181526009855287812080546001810190915588517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981880152808a0193909352928e166060830152608082018d905260a082019290925260c08082018c90528751808303909101815260e082019097528651969093019590952084519193909261010001918291908083835b602083106115dc5780518252601f1990920191602091820191016115bd565b51815160209384036101000a6000190180199092169116179052920194855250838101929092525060408051808403830181528184018083528151918401919091206000918290526060850180845281905260ff8a16608086015260a0850189905260c085018890529151919550935060019260e08082019392601f1981019281900390910190855afa158015611677573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906116ad5750886001600160a01b0316816001600160a01b0316145b6116fe576040805162461bcd60e51b815260206004820152601e60248201527f636f6c6f6e792d746f6b656e2d696e76616c69642d7369676e61747572650000604482015290519081900360640190fd5b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290208b905581518b815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050505050505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60003633301480156117a4575060348110155b156118335760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e8811461181f57339350505050610c69565b508101516001600160a01b0316915061183c565b33915050610c69565b5090565b6001600160a01b0316600090815260096020526040902080546001019055565b60006001600160a01b03831630141561187b575060016108f1565b6004546001600160a01b0384811691161415611899575060016108f1565b6003546001600160a01b03166118b1575060006108f1565b6003546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561191457600080fd5b505afa158015611928573d6000803e3d6000fd5b505050506040513d602081101561193e57600080fd5b505190506108f1565b6000611951611791565b6001600160a01b0316846001600160a01b031614611a86576001600160a01b0384166000908152600260205260408120839161198b611791565b6001600160a01b03166001600160a01b031681526020019081526020016000205410156119ff576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260408120611a4a91611a23611791565b6001600160a01b03166001600160a01b031681526020019081526020016000205483611c46565b6001600160a01b038516600090815260026020526040812090611a6b611791565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b038416600090815260016020526040902054821115611af3576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040902054611b169083611c46565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611b459083611ba6565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b808201828110156108f1576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b808203828111156108f1576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fdfe636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e7375636365737366756c6d6574617472616e73616374696f6e2d7369676e65722d7369676e61747572652d6d69736d61746368a2646970667358221220748add8387b261e1ad67f7c4c52babbb0c32fb4c12537bc671aa44812f6a132164736f6c63430007030033"; diff --git a/src/contracts/colony/11/factories/TokenLocking__factory.ts b/src/contracts/colony/11/factories/TokenLocking__factory.ts index 8e5e1aba0..7c50a615a 100644 --- a/src/contracts/colony/11/factories/TokenLocking__factory.ts +++ b/src/contracts/colony/11/factories/TokenLocking__factory.ts @@ -1041,4 +1041,4 @@ const _abi = [ ]; const _bytecode = - "0x608060405234801561001057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2612d0c8061005e6000396000f3fe6080604052600436106101c15760003560e01c80635afd5341116100f7578063b3eac1d811610095578063e49d7ebd11610064578063e49d7ebd146104f9578063ead5d35914610519578063f3fef3a314610539578063f753128114610559576101c1565b8063b3eac1d814610484578063bf503823146104a4578063bf7e214f146104c4578063c8820f6c146104d9576101c1565b80636d7bd889116100d15780636d7bd8891461040f5780637a9e5e4b1461042f5780638da5cb5b1461044f57806393c4553514610464576101c1565b80635afd5341146103a257806361ac1990146103c25780636281133d146103e2576101c1565b806321670f22116101645780633edd11281161013e5780633edd11281461032057806343af70a41461034057806347e7ef24146103605780634e5e839514610380576101c1565b806321670f22146102cb5780632c822a0d146102eb5780633408e4701461030b576101c1565b806310693fcd116101a057806310693fcd1461023e57806313af40351461025e5780631ca555741461027e5780631cc17c521461029e576101c1565b80626ad100146101c657806303e27b42146101fc5780630c53c51c1461021e575b600080fd5b3480156101d257600080fd5b506101e66101e13660046122bf565b610579565b6040516101f39190612c7b565b60405180910390f35b34801561020857600080fd5b5061021c61021736600461229c565b6105a6565b005b61023161022c366004612381565b61065d565b6040516101f391906127f5565b34801561024a57600080fd5b506101e661025936600461229c565b6107b0565b34801561026a57600080fd5b5061021c61027936600461229c565b610971565b34801561028a57600080fd5b506101e661029936600461229c565b6109f3565b3480156102aa57600080fd5b506102be6102b93660046122bf565b610a0e565b6040516101f39190612c50565b3480156102d757600080fd5b5061021c6102e63660046123f3565b610a71565b3480156102f757600080fd5b506101e66103063660046122f7565b610a75565b34801561031757600080fd5b506101e6610aaa565b34801561032c57600080fd5b5061021c61033b3660046124ed565b610aaf565b34801561034c57600080fd5b5061021c61035b36600461241e565b610c9a565b34801561036c57600080fd5b5061021c61037b3660046123f3565b610e98565b34801561038c57600080fd5b50610395610ea4565b6040516101f391906126bc565b3480156103ae57600080fd5b5061021c6103bd366004612454565b610eb3565b3480156103ce57600080fd5b5061021c6103dd36600461241e565b6110e7565b3480156103ee57600080fd5b506104026103fd366004612523565b611276565b6040516101f391906127cc565b34801561041b57600080fd5b5061021c61042a366004612341565b611346565b34801561043b57600080fd5b5061021c61044a36600461229c565b611568565b34801561045b57600080fd5b506103956115e6565b34801561047057600080fd5b5061021c61047f3660046124a6565b6115f5565b34801561049057600080fd5b506101e661049f36600461229c565b6117b3565b3480156104b057600080fd5b5061021c6104bf3660046123f3565b6117ce565b3480156104d057600080fd5b5061039561188b565b3480156104e557600080fd5b5061021c6104f436600461241e565b61189a565b34801561050557600080fd5b5061021c61051436600461241e565b6119a6565b34801561052557600080fd5b5061021c6105343660046124ed565b611c0a565b34801561054557600080fd5b5061021c6105543660046123f3565b611e33565b34801561056557600080fd5b506101e66105743660046122f7565b611e3f565b6001600160a01b038083166000908152600860209081526040808320938516835292905220545b92915050565b6105bc336000356001600160e01b031916611e74565b6105e15760405162461bcd60e51b81526004016105d8906128ca565b60405180910390fd5b6001600160a01b0381166106075760405162461bcd60e51b81526004016105d89061287f565b600380546001600160a01b0319166001600160a01b0383161790556040517faac08694cb36f6250aa0c27b058ab1542ec8a9289c0a3af21af36cdfaf1b46cc906106529083906126bc565b60405180910390a150565b606061067d8661066c886117b3565b610674610aaa565b88888888611276565b6106995760405162461bcd60e51b81526004016105d8906129b8565b6106a286611f50565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a6040516020016106e59392919061260c565b60408051601f19818403018152908290526106ff916125f0565b6000604051808303816000865af19150503d806000811461073c576040519150601f19603f3d011682016040523d82523d6000602084013e610741565b606091505b5091509150816107635760405162461bcd60e51b81526004016105d890612837565b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b8861078d611f90565b8960405161079d9392919061276a565b60405180910390a1979650505050505050565b60006107ba611f90565b6003546001600160a01b039081169116148061085657506003546001600160a01b031663db0dd7ff6107ea611f90565b6040518263ffffffff1660e01b815260040161080691906126bc565b60206040518083038186803b15801561081e57600080fd5b505afa158015610832573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085691906125a8565b6108725760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b038216600090815260056020526040902080546001019055610899611f90565b6001600160a01b03838116600090815260096020908152604080832060058352818420548452909152902080546001600160a01b031916929091169190911790556108e2611f90565b6001600160a01b0316826001600160a01b03167f991b8e8a2e2b8ff515f7045174eeb52eb4868e69c5bb4259da6146a93c77574d60056000866001600160a01b03166001600160a01b03168152602001908152602001600020546040516109499190612c7b565b60405180910390a3506001600160a01b0381166000908152600560205260409020545b919050565b610987336000356001600160e01b031916611e74565b6109a35760405162461bcd60e51b81526004016105d8906128ca565b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6001600160a01b031660009081526005602052604090205490565b610a166121e9565b506001600160a01b039182166000908152600460209081526040808320939094168252918252829020825160808101845281548152600182015492810192909252600281015492820192909252600390910154606082015290565b5050565b6001600160a01b0392831660009081526007602090815260408083209486168352938152838220929094168152925290205490565b465b90565b82818015610aff576001600160a01b038216600090815260056020908152604080832054600490925282209091610ae4611f90565b6001600160a01b031681526020810191909152604001600020555b610b1082610b0b611f90565b61203f565b610b2c5760405162461bcd60e51b81526004016105d890612977565b6001600160a01b038516600090815260046020526040812081610b4d611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000209050610b7d816001015486612072565b60018201558315610ba757610b9a81600101548260030154612072565b6001820155600060038201555b856001600160a01b03166323b872dd610bbe611f90565b30886040518463ffffffff1660e01b8152600401610bde939291906126d0565b602060405180830381600087803b158015610bf857600080fd5b505af1158015610c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3091906125a8565b610c4c5760405162461bcd60e51b81526004016105d890612b41565b7fd783236f9ce1a99ac7489d26331b958d099f7895331d5c91777389e01a73cda986610c76611f90565b8360010154604051610c8a939291906126d0565b60405180910390a1505050505050565b610ca2611f90565b6003546001600160a01b0390811691161480610d3e57506003546001600160a01b031663db0dd7ff610cd2611f90565b6040518263ffffffff1660e01b8152600401610cee91906126bc565b60206040518083038186803b158015610d0657600080fd5b505afa158015610d1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3e91906125a8565b610d5a5760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380841660009081526007602090815260408083209385168352929052908120610db491610d8d611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000205483612095565b6001600160a01b038085166000908152600760209081526040808320938616835292905290812090610de4611f90565b6001600160a01b03908116825260208083019390935260409182016000908120949094558681168452600883528184209085168452909152902054610e299083612095565b6001600160a01b038085166000908152600860209081526040808320938616835292905220557f7be7157460ce899204c5cd458bfc6a08b3c8f0c170351afb2f3b4bd59a36d14d8184610e7a611f90565b85604051610e8b9493929190612740565b60405180910390a1505050565b610a7182826000610aaf565b6003546001600160a01b031690565b610ebb611f90565b6003546001600160a01b0390811691161480610f5757506003546001600160a01b031663db0dd7ff610eeb611f90565b6040518263ffffffff1660e01b8152600401610f0791906126bc565b60206040518083038186803b158015610f1f57600080fd5b505afa158015610f33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5791906125a8565b610f735760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380851660009081526007602090815260408083209386168352929052908120610fcd91610fa6611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000205484612095565b6001600160a01b038086166000908152600760209081526040808320938716835292905290812090610ffd611f90565b6001600160a01b039081168252602080830193909352604091820160009081209490945587811684526008835281842090861684529091529020546110429084612095565b6001600160a01b0380861660008181526008602090815260408083209488168352938152838220949094556004845282812091815292529020600181015461108a9085612095565b600182015561109a8385846120b8565b7f4898a6d00c9e3129b2a97ee8e1ad2d897e1ec5b306a8e5849c84b3d89d2b11bb836110c4611f90565b8785886040516110d895949392919061270d565b60405180910390a15050505050565b6110ef611f90565b6003546001600160a01b039081169116148061118b57506003546001600160a01b031663db0dd7ff61111f611f90565b6040518263ffffffff1660e01b815260040161113b91906126bc565b60206040518083038186803b15801561115357600080fd5b505afa158015611167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118b91906125a8565b6111a75760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380841660009081526006602090815260408083209385168352929052908120611201916111da611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000205483612072565b6001600160a01b038085166000908152600660209081526040808320938616835292905290812090611231611f90565b6001600160a01b031681526020810191909152604001600020557f0c6931af464e8dc46a721db0ef5a5f0ff97db45dfd9fee54ba7460c68b15768c8184610e7a611f90565b6000806112ae883089896040516020016112939493929190612676565b604051602081830303815290604052805190602001206121b9565b90506000600182858888604051600081526020016040526040516112d594939291906127d7565b6020604051602081039080840390855afa1580156112f7573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661132a5760405162461bcd60e51b81526004016105d890612bcb565b6001600160a01b038a8116911614915050979650505050505050565b61134e611f90565b6003546001600160a01b03908116911614806113ea57506003546001600160a01b031663db0dd7ff61137e611f90565b6040518263ffffffff1660e01b815260040161139a91906126bc565b60206040518083038186803b1580156113b257600080fd5b505afa1580156113c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ea91906125a8565b6114065760405162461bcd60e51b81526004016105d8906128f8565b61140e611f90565b6001600160a01b03848116600090815260096020908152604080832086845290915290205481169116146114545760405162461bcd60e51b81526004016105d890612a45565b6001600160a01b03831660009081526005602052604090205481111561148c5760405162461bcd60e51b81526004016105d890612ac5565b6001600160a01b0380841660009081526004602090815260408083209386168352929052908120546114bf908390612095565b9050806114de5760405162461bcd60e51b81526004016105d890612afc565b806001146114fe5760405162461bcd60e51b81526004016105d890612c02565b6001600160a01b0380851660009081526004602090815260408083209387168352929052819020839055517f66d1ba6a7bba8a64b1341777e1e7721371ab2824e4b50ec33c687036451fe7f09061155a908690869086906126d0565b60405180910390a150505050565b61157e336000356001600160e01b031916611e74565b61159a5760405162461bcd60e51b81526004016105d8906128ca565b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b838360086000611603611f90565b6001600160a01b03908116825260208083019390935260409182016000908120918616815290835281812054600490935290812061166d91611643611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000206001015483612095565b101561168b5760405162461bcd60e51b81526004016105d890612b85565b858380156116db576001600160a01b0382166000908152600560209081526040808320546004909252822090916116c0611f90565b6001600160a01b031681526020810191909152604001600020555b6116e782610b0b611f90565b6117035760405162461bcd60e51b81526004016105d890612977565b6001600160a01b038816600090815260046020526040812081611724611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000209050611754816001015489612095565b60018201556117648989896120b8565b7fb8c56c2a9387492995ba191019b63a38d5ce068bd9fe02315cbe2600d561dc398961178e611f90565b898b6040516117a09493929190612740565b60405180910390a1505050505050505050565b6001600160a01b03166000908152600a602052604090205490565b6001600160a01b038216600090815260056020526040902054811180159061182f57506001600160a01b038216600090815260046020526040812090611812611f90565b6001600160a01b0316815260208101919091526040016000205481115b61184b5760405162461bcd60e51b81526004016105d890612a01565b6001600160a01b0382166000908152600460205260408120829161186d611f90565b6001600160a01b031681526020810191909152604001600020555050565b6000546001600160a01b031681565b826001600160a01b03166323b872dd6118b1611f90565b30856040518463ffffffff1660e01b81526004016118d1939291906126d0565b602060405180830381600087803b1580156118eb57600080fd5b505af11580156118ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192391906125a8565b61193f5760405162461bcd60e51b81526004016105d890612b41565b61194a8383836120b8565b6001600160a01b03808416600090815260046020908152604080832093851683529290528190206001015490517fd783236f9ce1a99ac7489d26331b958d099f7895331d5c91777389e01a73cda991610e8b91869185916126d0565b6119ae611f90565b6003546001600160a01b0390811691161480611a4a57506003546001600160a01b031663db0dd7ff6119de611f90565b6040518263ffffffff1660e01b81526004016119fa91906126bc565b60206040518083038186803b158015611a1257600080fd5b505afa158015611a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4a91906125a8565b611a665760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380841660009081526006602090815260408083209385168352929052908120611a9991610d8d611f90565b6001600160a01b038085166000908152600660209081526040808320938616835292905290812090611ac9611f90565b6001600160a01b039081168252602080830193909352604091820160009081209490945586811684526007835281842090851684529091528120611b0f916111da611f90565b6001600160a01b038085166000908152600760209081526040808320938616835292905290812090611b3f611f90565b6001600160a01b03908116825260208083019390935260409182016000908120949094558681168452600883528184209085168452909152902054611b849083612072565b6001600160a01b0384811660008181526008602090815260408083209487168352938152838220859055600481528382209282529190915220600101541015611bdf5760405162461bcd60e51b81526004016105d890612a7c565b7f1bc037d9dae402d0c9a02b4f09b74725297e60aa2d1a20f30c935ca65316963c8184610e7a611f90565b828260086000611c18611f90565b6001600160a01b039081168252602080830193909352604091820160009081209186168152908352818120546004909352908120611c5891611643611f90565b1015611c765760405162461bcd60e51b81526004016105d890612b85565b84838015611cc6576001600160a01b038216600090815260056020908152604080832054600490925282209091611cab611f90565b6001600160a01b031681526020810191909152604001600020555b611cd282610b0b611f90565b611cee5760405162461bcd60e51b81526004016105d890612977565b6001600160a01b038716600090815260046020526040812081611d0f611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000209050611d3f816001015488612095565b60018201556001600160a01b03881663a9059cbb611d5b611f90565b896040518363ffffffff1660e01b8152600401611d799291906126f4565b602060405180830381600087803b158015611d9357600080fd5b505af1158015611da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dcb91906125a8565b611de75760405162461bcd60e51b81526004016105d890612b41565b7f01e2c71b014f62b55400e8becdca80c6a907b5cc36c7a5789443c3ed5e57992788611e11611f90565b89604051611e21939291906126d0565b60405180910390a15050505050505050565b610a7182826000611c0a565b6001600160a01b0392831660009081526006602090815260408083209486168352938152838220929094168152925290205490565b60006001600160a01b038316301415611e8f575060016105a0565b6001546001600160a01b0384811691161415611ead575060016105a0565b6000546001600160a01b0316611ec5575060006105a0565b60005460405163b700961360e01b81526001600160a01b039091169063b700961390611ef99086903090879060040161279f565b60206040518083038186803b158015611f1157600080fd5b505afa158015611f25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4991906125a8565b90506105a0565b6001600160a01b0381166000908152600a6020526040902054611f74906001612072565b6001600160a01b039091166000908152600a6020526040902055565b6000363330148015611fa3575060348110155b156120325760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e8811461201e57339350505050610aac565b508101516001600160a01b0316915061203b565b33915050610aac565b5090565b6001600160a01b039182166000908152600560209081526040808320546004835281842094909516835292905220541490565b808201828110156105a05760405162461bcd60e51b81526004016105d890612949565b808203828111156105a05760405162461bcd60e51b81526004016105d890612808565b6001600160a01b0380841660009081526004602090815260408083209385168352929052206120e7848361203f565b15612104576120fa816001015484612072565b60018201556121b3565b60405163a9059cbb60e01b81526001600160a01b0385169063a9059cbb9061213290859087906004016126f4565b602060405180830381600087803b15801561214c57600080fd5b505af192505050801561217c575060408051601f3d908101601f19168201909252612179918101906125a8565b60015b6121985761218e816003015484612072565b60038201556121b3565b806121b1576121ab826003015485612072565b60038301555b505b50505050565b6000816040516020016121cc9190612645565b604051602081830303815290604052805190602001209050919050565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b600082601f830112612221578081fd5b813567ffffffffffffffff8082111561223657fe5b604051601f8301601f19168101602001828111828210171561225457fe5b60405282815292508284830160200186101561226f57600080fd5b8260208601602083013760006020848301015250505092915050565b803560ff8116811461096c57600080fd5b6000602082840312156122ad578081fd5b81356122b881612cb0565b9392505050565b600080604083850312156122d1578081fd5b82356122dc81612cb0565b915060208301356122ec81612cb0565b809150509250929050565b60008060006060848603121561230b578081fd5b833561231681612cb0565b9250602084013561232681612cb0565b9150604084013561233681612cb0565b809150509250925092565b600080600060608486031215612355578283fd5b833561236081612cb0565b9250602084013561237081612cb0565b929592945050506040919091013590565b600080600080600060a08688031215612398578081fd5b85356123a381612cb0565b9450602086013567ffffffffffffffff8111156123be578182fd5b6123ca88828901612211565b94505060408601359250606086013591506123e76080870161228b565b90509295509295909350565b60008060408385031215612405578182fd5b823561241081612cb0565b946020939093013593505050565b600080600060608486031215612432578283fd5b833561243d81612cb0565b925060208401359150604084013561233681612cb0565b60008060008060808587031215612469578384fd5b843561247481612cb0565b935060208501359250604085013561248b81612cb0565b9150606085013561249b81612cb0565b939692955090935050565b600080600080608085870312156124bb578384fd5b84356124c681612cb0565b93506020850135925060408501356124dd81612cb0565b9150606085013561249b81612cc8565b600080600060608486031215612501578283fd5b833561250c81612cb0565b925060208401359150604084013561233681612cc8565b600080600080600080600060e0888a03121561253d578182fd5b873561254881612cb0565b96506020880135955060408801359450606088013567ffffffffffffffff811115612571578283fd5b61257d8a828b01612211565b9450506080880135925060a0880135915061259a60c0890161228b565b905092959891949750929550565b6000602082840312156125b9578081fd5b81516122b881612cc8565b600081518084526125dc816020860160208601612c84565b601f01601f19169290920160200192915050565b60008251612602818460208701612c84565b9190910192915050565b6000845161261e818460208901612c84565b919091019283525060601b6bffffffffffffffffffffffff19166020820152603401919050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60008582526bffffffffffffffffffffffff198560601b16602083015283603483015282516126ac816054850160208701612c84565b9190910160540195945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039586168152938516602085015291841660408401529092166060820152608081019190915260a00190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b03848116825283166020820152606060408201819052600090612796908301846125c4565b95945050505050565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b901515815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082526122b860208301846125c4565b60208082526015908201527464732d6d6174682d7375622d756e646572666c6f7760581b604082015260600190565b60208082526028908201527f636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e737560408201526718d8d95cdcd99d5b60c21b606082015260800190565b6020808252602b908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6e6574776f726b2d63616e60408201526a6e6f742d62652d7a65726f60a81b606082015260800190565b602080825260149082015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604082015260600190565b60208082526031908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d73656e6465722d6e6f742d604082015270636f6c6f6e792d6f722d6e6574776f726b60781b606082015260800190565b60208082526014908201527364732d6d6174682d6164642d6f766572666c6f7760601b604082015260600190565b60208082526021908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d746f6b656e2d6c6f636b656040820152601960fa1b606082015260800190565b60208082526029908201527f6d6574617472616e73616374696f6e2d7369676e65722d7369676e617475726560408201526805adad2e6dac2e8c6d60bb1b606082015260800190565b60208082526024908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d696e76616c69642d6c6f636040820152631acb5a5960e21b606082015260800190565b6020808252601f908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6e6f742d6c6f636b657200604082015260600190565b60208082526029908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d696e73756666696369656e6040820152681d0b59195c1bdcda5d60ba1b606082015260800190565b6020808252601b908201527f636f6c6f6e792d746f6b656e2d696e76616c69642d6c6f636b69640000000000604082015260600190565b60208082526025908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d616c72656164792d756e6c6040820152641bd8dad95960da1b606082015260800190565b60208082526024908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d7472616e736665722d66616040820152631a5b195960e21b606082015260800190565b60208082526026908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6578636573732d6f626c6960408201526533b0ba34b7b760d11b606082015260800190565b6020808252601f908201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604082015260600190565b6020808252602e908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6861732d70726576696f7560408201526d732d6163746976652d6c6f636b7360901b606082015260800190565b8151815260208083015190820152604080830151908201526060918201519181019190915260800190565b90815260200190565b60005b83811015612c9f578181015183820152602001612c87565b838111156121b35750506000910152565b6001600160a01b0381168114612cc557600080fd5b50565b8015158114612cc557600080fdfea264697066735822122005a116a8dbfef0cd610a09fcffbafe2a72b8501be3ab9660c171e4b938084f2a64736f6c63430007030033"; + "0x608060405234801561001057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2612d0c8061005e6000396000f3fe6080604052600436106101c15760003560e01c80635afd5341116100f7578063b3eac1d811610095578063e49d7ebd11610064578063e49d7ebd146104f9578063ead5d35914610519578063f3fef3a314610539578063f753128114610559576101c1565b8063b3eac1d814610484578063bf503823146104a4578063bf7e214f146104c4578063c8820f6c146104d9576101c1565b80636d7bd889116100d15780636d7bd8891461040f5780637a9e5e4b1461042f5780638da5cb5b1461044f57806393c4553514610464576101c1565b80635afd5341146103a257806361ac1990146103c25780636281133d146103e2576101c1565b806321670f22116101645780633edd11281161013e5780633edd11281461032057806343af70a41461034057806347e7ef24146103605780634e5e839514610380576101c1565b806321670f22146102cb5780632c822a0d146102eb5780633408e4701461030b576101c1565b806310693fcd116101a057806310693fcd1461023e57806313af40351461025e5780631ca555741461027e5780631cc17c521461029e576101c1565b80626ad100146101c657806303e27b42146101fc5780630c53c51c1461021e575b600080fd5b3480156101d257600080fd5b506101e66101e13660046122bf565b610579565b6040516101f39190612c7b565b60405180910390f35b34801561020857600080fd5b5061021c61021736600461229c565b6105a6565b005b61023161022c366004612381565b61065d565b6040516101f391906127f5565b34801561024a57600080fd5b506101e661025936600461229c565b6107b0565b34801561026a57600080fd5b5061021c61027936600461229c565b610971565b34801561028a57600080fd5b506101e661029936600461229c565b6109f3565b3480156102aa57600080fd5b506102be6102b93660046122bf565b610a0e565b6040516101f39190612c50565b3480156102d757600080fd5b5061021c6102e63660046123f3565b610a71565b3480156102f757600080fd5b506101e66103063660046122f7565b610a75565b34801561031757600080fd5b506101e6610aaa565b34801561032c57600080fd5b5061021c61033b3660046124ed565b610aaf565b34801561034c57600080fd5b5061021c61035b36600461241e565b610c9a565b34801561036c57600080fd5b5061021c61037b3660046123f3565b610e98565b34801561038c57600080fd5b50610395610ea4565b6040516101f391906126bc565b3480156103ae57600080fd5b5061021c6103bd366004612454565b610eb3565b3480156103ce57600080fd5b5061021c6103dd36600461241e565b6110e7565b3480156103ee57600080fd5b506104026103fd366004612523565b611276565b6040516101f391906127cc565b34801561041b57600080fd5b5061021c61042a366004612341565b611346565b34801561043b57600080fd5b5061021c61044a36600461229c565b611568565b34801561045b57600080fd5b506103956115e6565b34801561047057600080fd5b5061021c61047f3660046124a6565b6115f5565b34801561049057600080fd5b506101e661049f36600461229c565b6117b3565b3480156104b057600080fd5b5061021c6104bf3660046123f3565b6117ce565b3480156104d057600080fd5b5061039561188b565b3480156104e557600080fd5b5061021c6104f436600461241e565b61189a565b34801561050557600080fd5b5061021c61051436600461241e565b6119a6565b34801561052557600080fd5b5061021c6105343660046124ed565b611c0a565b34801561054557600080fd5b5061021c6105543660046123f3565b611e33565b34801561056557600080fd5b506101e66105743660046122f7565b611e3f565b6001600160a01b038083166000908152600860209081526040808320938516835292905220545b92915050565b6105bc336000356001600160e01b031916611e74565b6105e15760405162461bcd60e51b81526004016105d8906128ca565b60405180910390fd5b6001600160a01b0381166106075760405162461bcd60e51b81526004016105d89061287f565b600380546001600160a01b0319166001600160a01b0383161790556040517faac08694cb36f6250aa0c27b058ab1542ec8a9289c0a3af21af36cdfaf1b46cc906106529083906126bc565b60405180910390a150565b606061067d8661066c886117b3565b610674610aaa565b88888888611276565b6106995760405162461bcd60e51b81526004016105d8906129b8565b6106a286611f50565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a6040516020016106e59392919061260c565b60408051601f19818403018152908290526106ff916125f0565b6000604051808303816000865af19150503d806000811461073c576040519150601f19603f3d011682016040523d82523d6000602084013e610741565b606091505b5091509150816107635760405162461bcd60e51b81526004016105d890612837565b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b8861078d611f90565b8960405161079d9392919061276a565b60405180910390a1979650505050505050565b60006107ba611f90565b6003546001600160a01b039081169116148061085657506003546001600160a01b031663db0dd7ff6107ea611f90565b6040518263ffffffff1660e01b815260040161080691906126bc565b60206040518083038186803b15801561081e57600080fd5b505afa158015610832573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085691906125a8565b6108725760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b038216600090815260056020526040902080546001019055610899611f90565b6001600160a01b03838116600090815260096020908152604080832060058352818420548452909152902080546001600160a01b031916929091169190911790556108e2611f90565b6001600160a01b0316826001600160a01b03167f991b8e8a2e2b8ff515f7045174eeb52eb4868e69c5bb4259da6146a93c77574d60056000866001600160a01b03166001600160a01b03168152602001908152602001600020546040516109499190612c7b565b60405180910390a3506001600160a01b0381166000908152600560205260409020545b919050565b610987336000356001600160e01b031916611e74565b6109a35760405162461bcd60e51b81526004016105d8906128ca565b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6001600160a01b031660009081526005602052604090205490565b610a166121e9565b506001600160a01b039182166000908152600460209081526040808320939094168252918252829020825160808101845281548152600182015492810192909252600281015492820192909252600390910154606082015290565b5050565b6001600160a01b0392831660009081526007602090815260408083209486168352938152838220929094168152925290205490565b465b90565b82818015610aff576001600160a01b038216600090815260056020908152604080832054600490925282209091610ae4611f90565b6001600160a01b031681526020810191909152604001600020555b610b1082610b0b611f90565b61203f565b610b2c5760405162461bcd60e51b81526004016105d890612977565b6001600160a01b038516600090815260046020526040812081610b4d611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000209050610b7d816001015486612072565b60018201558315610ba757610b9a81600101548260030154612072565b6001820155600060038201555b856001600160a01b03166323b872dd610bbe611f90565b30886040518463ffffffff1660e01b8152600401610bde939291906126d0565b602060405180830381600087803b158015610bf857600080fd5b505af1158015610c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3091906125a8565b610c4c5760405162461bcd60e51b81526004016105d890612b41565b7fd783236f9ce1a99ac7489d26331b958d099f7895331d5c91777389e01a73cda986610c76611f90565b8360010154604051610c8a939291906126d0565b60405180910390a1505050505050565b610ca2611f90565b6003546001600160a01b0390811691161480610d3e57506003546001600160a01b031663db0dd7ff610cd2611f90565b6040518263ffffffff1660e01b8152600401610cee91906126bc565b60206040518083038186803b158015610d0657600080fd5b505afa158015610d1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3e91906125a8565b610d5a5760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380841660009081526007602090815260408083209385168352929052908120610db491610d8d611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000205483612095565b6001600160a01b038085166000908152600760209081526040808320938616835292905290812090610de4611f90565b6001600160a01b03908116825260208083019390935260409182016000908120949094558681168452600883528184209085168452909152902054610e299083612095565b6001600160a01b038085166000908152600860209081526040808320938616835292905220557f7be7157460ce899204c5cd458bfc6a08b3c8f0c170351afb2f3b4bd59a36d14d8184610e7a611f90565b85604051610e8b9493929190612740565b60405180910390a1505050565b610a7182826000610aaf565b6003546001600160a01b031690565b610ebb611f90565b6003546001600160a01b0390811691161480610f5757506003546001600160a01b031663db0dd7ff610eeb611f90565b6040518263ffffffff1660e01b8152600401610f0791906126bc565b60206040518083038186803b158015610f1f57600080fd5b505afa158015610f33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5791906125a8565b610f735760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380851660009081526007602090815260408083209386168352929052908120610fcd91610fa6611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000205484612095565b6001600160a01b038086166000908152600760209081526040808320938716835292905290812090610ffd611f90565b6001600160a01b039081168252602080830193909352604091820160009081209490945587811684526008835281842090861684529091529020546110429084612095565b6001600160a01b0380861660008181526008602090815260408083209488168352938152838220949094556004845282812091815292529020600181015461108a9085612095565b600182015561109a8385846120b8565b7f4898a6d00c9e3129b2a97ee8e1ad2d897e1ec5b306a8e5849c84b3d89d2b11bb836110c4611f90565b8785886040516110d895949392919061270d565b60405180910390a15050505050565b6110ef611f90565b6003546001600160a01b039081169116148061118b57506003546001600160a01b031663db0dd7ff61111f611f90565b6040518263ffffffff1660e01b815260040161113b91906126bc565b60206040518083038186803b15801561115357600080fd5b505afa158015611167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118b91906125a8565b6111a75760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380841660009081526006602090815260408083209385168352929052908120611201916111da611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000205483612072565b6001600160a01b038085166000908152600660209081526040808320938616835292905290812090611231611f90565b6001600160a01b031681526020810191909152604001600020557f0c6931af464e8dc46a721db0ef5a5f0ff97db45dfd9fee54ba7460c68b15768c8184610e7a611f90565b6000806112ae883089896040516020016112939493929190612676565b604051602081830303815290604052805190602001206121b9565b90506000600182858888604051600081526020016040526040516112d594939291906127d7565b6020604051602081039080840390855afa1580156112f7573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661132a5760405162461bcd60e51b81526004016105d890612bcb565b6001600160a01b038a8116911614915050979650505050505050565b61134e611f90565b6003546001600160a01b03908116911614806113ea57506003546001600160a01b031663db0dd7ff61137e611f90565b6040518263ffffffff1660e01b815260040161139a91906126bc565b60206040518083038186803b1580156113b257600080fd5b505afa1580156113c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ea91906125a8565b6114065760405162461bcd60e51b81526004016105d8906128f8565b61140e611f90565b6001600160a01b03848116600090815260096020908152604080832086845290915290205481169116146114545760405162461bcd60e51b81526004016105d890612a45565b6001600160a01b03831660009081526005602052604090205481111561148c5760405162461bcd60e51b81526004016105d890612ac5565b6001600160a01b0380841660009081526004602090815260408083209386168352929052908120546114bf908390612095565b9050806114de5760405162461bcd60e51b81526004016105d890612afc565b806001146114fe5760405162461bcd60e51b81526004016105d890612c02565b6001600160a01b0380851660009081526004602090815260408083209387168352929052819020839055517f66d1ba6a7bba8a64b1341777e1e7721371ab2824e4b50ec33c687036451fe7f09061155a908690869086906126d0565b60405180910390a150505050565b61157e336000356001600160e01b031916611e74565b61159a5760405162461bcd60e51b81526004016105d8906128ca565b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b838360086000611603611f90565b6001600160a01b03908116825260208083019390935260409182016000908120918616815290835281812054600490935290812061166d91611643611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000206001015483612095565b101561168b5760405162461bcd60e51b81526004016105d890612b85565b858380156116db576001600160a01b0382166000908152600560209081526040808320546004909252822090916116c0611f90565b6001600160a01b031681526020810191909152604001600020555b6116e782610b0b611f90565b6117035760405162461bcd60e51b81526004016105d890612977565b6001600160a01b038816600090815260046020526040812081611724611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000209050611754816001015489612095565b60018201556117648989896120b8565b7fb8c56c2a9387492995ba191019b63a38d5ce068bd9fe02315cbe2600d561dc398961178e611f90565b898b6040516117a09493929190612740565b60405180910390a1505050505050505050565b6001600160a01b03166000908152600a602052604090205490565b6001600160a01b038216600090815260056020526040902054811180159061182f57506001600160a01b038216600090815260046020526040812090611812611f90565b6001600160a01b0316815260208101919091526040016000205481115b61184b5760405162461bcd60e51b81526004016105d890612a01565b6001600160a01b0382166000908152600460205260408120829161186d611f90565b6001600160a01b031681526020810191909152604001600020555050565b6000546001600160a01b031681565b826001600160a01b03166323b872dd6118b1611f90565b30856040518463ffffffff1660e01b81526004016118d1939291906126d0565b602060405180830381600087803b1580156118eb57600080fd5b505af11580156118ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192391906125a8565b61193f5760405162461bcd60e51b81526004016105d890612b41565b61194a8383836120b8565b6001600160a01b03808416600090815260046020908152604080832093851683529290528190206001015490517fd783236f9ce1a99ac7489d26331b958d099f7895331d5c91777389e01a73cda991610e8b91869185916126d0565b6119ae611f90565b6003546001600160a01b0390811691161480611a4a57506003546001600160a01b031663db0dd7ff6119de611f90565b6040518263ffffffff1660e01b81526004016119fa91906126bc565b60206040518083038186803b158015611a1257600080fd5b505afa158015611a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4a91906125a8565b611a665760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380841660009081526006602090815260408083209385168352929052908120611a9991610d8d611f90565b6001600160a01b038085166000908152600660209081526040808320938616835292905290812090611ac9611f90565b6001600160a01b039081168252602080830193909352604091820160009081209490945586811684526007835281842090851684529091528120611b0f916111da611f90565b6001600160a01b038085166000908152600760209081526040808320938616835292905290812090611b3f611f90565b6001600160a01b03908116825260208083019390935260409182016000908120949094558681168452600883528184209085168452909152902054611b849083612072565b6001600160a01b0384811660008181526008602090815260408083209487168352938152838220859055600481528382209282529190915220600101541015611bdf5760405162461bcd60e51b81526004016105d890612a7c565b7f1bc037d9dae402d0c9a02b4f09b74725297e60aa2d1a20f30c935ca65316963c8184610e7a611f90565b828260086000611c18611f90565b6001600160a01b039081168252602080830193909352604091820160009081209186168152908352818120546004909352908120611c5891611643611f90565b1015611c765760405162461bcd60e51b81526004016105d890612b85565b84838015611cc6576001600160a01b038216600090815260056020908152604080832054600490925282209091611cab611f90565b6001600160a01b031681526020810191909152604001600020555b611cd282610b0b611f90565b611cee5760405162461bcd60e51b81526004016105d890612977565b6001600160a01b038716600090815260046020526040812081611d0f611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000209050611d3f816001015488612095565b60018201556001600160a01b03881663a9059cbb611d5b611f90565b896040518363ffffffff1660e01b8152600401611d799291906126f4565b602060405180830381600087803b158015611d9357600080fd5b505af1158015611da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dcb91906125a8565b611de75760405162461bcd60e51b81526004016105d890612b41565b7f01e2c71b014f62b55400e8becdca80c6a907b5cc36c7a5789443c3ed5e57992788611e11611f90565b89604051611e21939291906126d0565b60405180910390a15050505050505050565b610a7182826000611c0a565b6001600160a01b0392831660009081526006602090815260408083209486168352938152838220929094168152925290205490565b60006001600160a01b038316301415611e8f575060016105a0565b6001546001600160a01b0384811691161415611ead575060016105a0565b6000546001600160a01b0316611ec5575060006105a0565b60005460405163b700961360e01b81526001600160a01b039091169063b700961390611ef99086903090879060040161279f565b60206040518083038186803b158015611f1157600080fd5b505afa158015611f25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4991906125a8565b90506105a0565b6001600160a01b0381166000908152600a6020526040902054611f74906001612072565b6001600160a01b039091166000908152600a6020526040902055565b6000363330148015611fa3575060348110155b156120325760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e8811461201e57339350505050610aac565b508101516001600160a01b0316915061203b565b33915050610aac565b5090565b6001600160a01b039182166000908152600560209081526040808320546004835281842094909516835292905220541490565b808201828110156105a05760405162461bcd60e51b81526004016105d890612949565b808203828111156105a05760405162461bcd60e51b81526004016105d890612808565b6001600160a01b0380841660009081526004602090815260408083209385168352929052206120e7848361203f565b15612104576120fa816001015484612072565b60018201556121b3565b60405163a9059cbb60e01b81526001600160a01b0385169063a9059cbb9061213290859087906004016126f4565b602060405180830381600087803b15801561214c57600080fd5b505af192505050801561217c575060408051601f3d908101601f19168201909252612179918101906125a8565b60015b6121985761218e816003015484612072565b60038201556121b3565b806121b1576121ab826003015485612072565b60038301555b505b50505050565b6000816040516020016121cc9190612645565b604051602081830303815290604052805190602001209050919050565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b600082601f830112612221578081fd5b813567ffffffffffffffff8082111561223657fe5b604051601f8301601f19168101602001828111828210171561225457fe5b60405282815292508284830160200186101561226f57600080fd5b8260208601602083013760006020848301015250505092915050565b803560ff8116811461096c57600080fd5b6000602082840312156122ad578081fd5b81356122b881612cb0565b9392505050565b600080604083850312156122d1578081fd5b82356122dc81612cb0565b915060208301356122ec81612cb0565b809150509250929050565b60008060006060848603121561230b578081fd5b833561231681612cb0565b9250602084013561232681612cb0565b9150604084013561233681612cb0565b809150509250925092565b600080600060608486031215612355578283fd5b833561236081612cb0565b9250602084013561237081612cb0565b929592945050506040919091013590565b600080600080600060a08688031215612398578081fd5b85356123a381612cb0565b9450602086013567ffffffffffffffff8111156123be578182fd5b6123ca88828901612211565b94505060408601359250606086013591506123e76080870161228b565b90509295509295909350565b60008060408385031215612405578182fd5b823561241081612cb0565b946020939093013593505050565b600080600060608486031215612432578283fd5b833561243d81612cb0565b925060208401359150604084013561233681612cb0565b60008060008060808587031215612469578384fd5b843561247481612cb0565b935060208501359250604085013561248b81612cb0565b9150606085013561249b81612cb0565b939692955090935050565b600080600080608085870312156124bb578384fd5b84356124c681612cb0565b93506020850135925060408501356124dd81612cb0565b9150606085013561249b81612cc8565b600080600060608486031215612501578283fd5b833561250c81612cb0565b925060208401359150604084013561233681612cc8565b600080600080600080600060e0888a03121561253d578182fd5b873561254881612cb0565b96506020880135955060408801359450606088013567ffffffffffffffff811115612571578283fd5b61257d8a828b01612211565b9450506080880135925060a0880135915061259a60c0890161228b565b905092959891949750929550565b6000602082840312156125b9578081fd5b81516122b881612cc8565b600081518084526125dc816020860160208601612c84565b601f01601f19169290920160200192915050565b60008251612602818460208701612c84565b9190910192915050565b6000845161261e818460208901612c84565b919091019283525060601b6bffffffffffffffffffffffff19166020820152603401919050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60008582526bffffffffffffffffffffffff198560601b16602083015283603483015282516126ac816054850160208701612c84565b9190910160540195945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039586168152938516602085015291841660408401529092166060820152608081019190915260a00190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b03848116825283166020820152606060408201819052600090612796908301846125c4565b95945050505050565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b901515815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082526122b860208301846125c4565b60208082526015908201527464732d6d6174682d7375622d756e646572666c6f7760581b604082015260600190565b60208082526028908201527f636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e737560408201526718d8d95cdcd99d5b60c21b606082015260800190565b6020808252602b908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6e6574776f726b2d63616e60408201526a6e6f742d62652d7a65726f60a81b606082015260800190565b602080825260149082015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604082015260600190565b60208082526031908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d73656e6465722d6e6f742d604082015270636f6c6f6e792d6f722d6e6574776f726b60781b606082015260800190565b60208082526014908201527364732d6d6174682d6164642d6f766572666c6f7760601b604082015260600190565b60208082526021908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d746f6b656e2d6c6f636b656040820152601960fa1b606082015260800190565b60208082526029908201527f6d6574617472616e73616374696f6e2d7369676e65722d7369676e617475726560408201526805adad2e6dac2e8c6d60bb1b606082015260800190565b60208082526024908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d696e76616c69642d6c6f636040820152631acb5a5960e21b606082015260800190565b6020808252601f908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6e6f742d6c6f636b657200604082015260600190565b60208082526029908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d696e73756666696369656e6040820152681d0b59195c1bdcda5d60ba1b606082015260800190565b6020808252601b908201527f636f6c6f6e792d746f6b656e2d696e76616c69642d6c6f636b69640000000000604082015260600190565b60208082526025908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d616c72656164792d756e6c6040820152641bd8dad95960da1b606082015260800190565b60208082526024908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d7472616e736665722d66616040820152631a5b195960e21b606082015260800190565b60208082526026908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6578636573732d6f626c6960408201526533b0ba34b7b760d11b606082015260800190565b6020808252601f908201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604082015260600190565b6020808252602e908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6861732d70726576696f7560408201526d732d6163746976652d6c6f636b7360901b606082015260800190565b8151815260208083015190820152604080830151908201526060918201519181019190915260800190565b90815260200190565b60005b83811015612c9f578181015183820152602001612c87565b838111156121b35750506000910152565b6001600160a01b0381168114612cc557600080fd5b50565b8015158114612cc557600080fdfea26469706673582212208d23d025ff346cfb3791e78a1f192996ade6a355481088df409042b1394689c464736f6c63430007030033"; diff --git a/src/contracts/extensions/votingReputation/8/VotingReputation.d.ts b/src/contracts/extensions/votingReputation/8/VotingReputation.d.ts new file mode 100644 index 000000000..86a696fa1 --- /dev/null +++ b/src/contracts/extensions/votingReputation/8/VotingReputation.d.ts @@ -0,0 +1,2082 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface VotingReputationInterface extends Interface { + functions: { + authority: TypedFunctionDescription<{ encode([]: []): string }>; + + executeMetaTransaction: TypedFunctionDescription<{ + encode([_user, _payload, _sigR, _sigS, _sigV]: [ + string, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getCapabilityRoles: TypedFunctionDescription<{ + encode([_sig]: [Arrayish]): string; + }>; + + getChainId: TypedFunctionDescription<{ encode([]: []): string }>; + + getColony: TypedFunctionDescription<{ encode([]: []): string }>; + + getDeprecated: TypedFunctionDescription<{ encode([]: []): string }>; + + multicall: TypedFunctionDescription<{ + encode([data]: [Arrayish[]]): string; + }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + setAuthority: TypedFunctionDescription<{ + encode([authority_]: [string]): string; + }>; + + setOwner: TypedFunctionDescription<{ encode([owner_]: [string]): string }>; + + verify: TypedFunctionDescription<{ + encode([_owner, _nonce, _chainId, _payload, _sigR, _sigS, _sigV]: [ + string, + BigNumberish, + BigNumberish, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getMetatransactionNonce: TypedFunctionDescription<{ + encode([_userAddress]: [string]): string; + }>; + + identifier: TypedFunctionDescription<{ encode([]: []): string }>; + + version: TypedFunctionDescription<{ encode([]: []): string }>; + + install: TypedFunctionDescription<{ encode([_colony]: [string]): string }>; + + initialise: TypedFunctionDescription<{ + encode([ + _totalStakeFraction, + _voterRewardFraction, + _userMinStakeFraction, + _maxVoteFraction, + _stakePeriod, + _submitPeriod, + _revealPeriod, + _escalationPeriod, + ]: [ + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + finishUpgrade: TypedFunctionDescription<{ encode([]: []): string }>; + + deprecate: TypedFunctionDescription<{ + encode([_deprecated]: [boolean]): string; + }>; + + uninstall: TypedFunctionDescription<{ encode([]: []): string }>; + + createMotion: TypedFunctionDescription<{ + encode([ + _domainId, + _childSkillIndex, + _altTarget, + _action, + _key, + _value, + _branchMask, + _siblings, + ]: [ + BigNumberish, + BigNumberish, + string, + Arrayish, + Arrayish, + Arrayish, + BigNumberish, + Arrayish[] + ]): string; + }>; + + stakeMotion: TypedFunctionDescription<{ + encode([ + _motionId, + _permissionDomainId, + _childSkillIndex, + _vote, + _amount, + _key, + _value, + _branchMask, + _siblings, + ]: [ + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + Arrayish, + Arrayish, + BigNumberish, + Arrayish[] + ]): string; + }>; + + submitVote: TypedFunctionDescription<{ + encode([_motionId, _voteSecret, _key, _value, _branchMask, _siblings]: [ + BigNumberish, + Arrayish, + Arrayish, + Arrayish, + BigNumberish, + Arrayish[] + ]): string; + }>; + + revealVote: TypedFunctionDescription<{ + encode([_motionId, _salt, _vote, _key, _value, _branchMask, _siblings]: [ + BigNumberish, + Arrayish, + BigNumberish, + Arrayish, + Arrayish, + BigNumberish, + Arrayish[] + ]): string; + }>; + + escalateMotion: TypedFunctionDescription<{ + encode([ + _motionId, + _newDomainId, + _childSkillIndex, + _key, + _value, + _branchMask, + _siblings, + ]: [ + BigNumberish, + BigNumberish, + BigNumberish, + Arrayish, + Arrayish, + BigNumberish, + Arrayish[] + ]): string; + }>; + + finalizeMotion: TypedFunctionDescription<{ + encode([_motionId]: [BigNumberish]): string; + }>; + + failingExecutionAllowed: TypedFunctionDescription<{ + encode([_motionId]: [BigNumberish]): string; + }>; + + claimReward: TypedFunctionDescription<{ + encode([ + _motionId, + _permissionDomainId, + _childSkillIndex, + _staker, + _vote, + ]: [ + BigNumberish, + BigNumberish, + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + getTotalStakeFraction: TypedFunctionDescription<{ encode([]: []): string }>; + + getVoterRewardFraction: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getUserMinStakeFraction: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getMaxVoteFraction: TypedFunctionDescription<{ encode([]: []): string }>; + + getStakePeriod: TypedFunctionDescription<{ encode([]: []): string }>; + + getSubmitPeriod: TypedFunctionDescription<{ encode([]: []): string }>; + + getRevealPeriod: TypedFunctionDescription<{ encode([]: []): string }>; + + getEscalationPeriod: TypedFunctionDescription<{ encode([]: []): string }>; + + getMotionCount: TypedFunctionDescription<{ encode([]: []): string }>; + + getMotion: TypedFunctionDescription<{ + encode([_motionId]: [BigNumberish]): string; + }>; + + getStake: TypedFunctionDescription<{ + encode([_motionId, _staker, _vote]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + getExpenditureMotionCount: TypedFunctionDescription<{ + encode([_structHash]: [Arrayish]): string; + }>; + + getExpenditurePastVote: TypedFunctionDescription<{ + encode([_actionHash]: [Arrayish]): string; + }>; + + getMotionState: TypedFunctionDescription<{ + encode([_motionId]: [BigNumberish]): string; + }>; + + getVoterReward: TypedFunctionDescription<{ + encode([_motionId, _voterRep]: [BigNumberish, BigNumberish]): string; + }>; + + getVoterRewardRange: TypedFunctionDescription<{ + encode([_motionId, _voterRep, _voterAddress]: [ + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + getStakerReward: TypedFunctionDescription<{ + encode([_motionId, _staker, _vote]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + createClaimDelayAction: TypedFunctionDescription<{ + encode([action, value]: [Arrayish, BigNumberish]): string; + }>; + }; + + events: { + ExtensionInitialised: TypedEventDescription<{ + encodeTopics([]: []): string[]; + }>; + + LogSetAuthority: TypedEventDescription<{ + encodeTopics([authority]: [string | null]): string[]; + }>; + + LogSetOwner: TypedEventDescription<{ + encodeTopics([owner]: [string | null]): string[]; + }>; + + MetaTransactionExecuted: TypedEventDescription<{ + encodeTopics([user, relayerAddress, functionSignature]: [ + null, + null, + null + ]): string[]; + }>; + + MotionCreated: TypedEventDescription<{ + encodeTopics([motionId, creator, domainId]: [ + BigNumberish | null, + null, + BigNumberish | null + ]): string[]; + }>; + + MotionEscalated: TypedEventDescription<{ + encodeTopics([motionId, escalator, domainId, newDomainId]: [ + BigNumberish | null, + null, + BigNumberish | null, + BigNumberish | null + ]): string[]; + }>; + + MotionEventSet: TypedEventDescription<{ + encodeTopics([motionId, eventIndex]: [ + BigNumberish | null, + null + ]): string[]; + }>; + + MotionFinalized: TypedEventDescription<{ + encodeTopics([motionId, action, executed]: [ + BigNumberish | null, + null, + null + ]): string[]; + }>; + + MotionRewardClaimed: TypedEventDescription<{ + encodeTopics([motionId, staker, vote, amount]: [ + BigNumberish | null, + string | null, + BigNumberish | null, + null + ]): string[]; + }>; + + MotionStaked: TypedEventDescription<{ + encodeTopics([motionId, staker, vote, amount]: [ + BigNumberish | null, + string | null, + BigNumberish | null, + null + ]): string[]; + }>; + + MotionVoteRevealed: TypedEventDescription<{ + encodeTopics([motionId, voter, vote]: [ + BigNumberish | null, + string | null, + BigNumberish | null + ]): string[]; + }>; + + MotionVoteSubmitted: TypedEventDescription<{ + encodeTopics([motionId, voter]: [ + BigNumberish | null, + string | null + ]): string[]; + }>; + }; +} + +export class VotingReputation extends Contract { + connect(signerOrProvider: Signer | Provider | string): VotingReputation; + attach(addressOrName: string): VotingReputation; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): VotingReputation; + once(event: EventFilter | string, listener: Listener): VotingReputation; + addListener( + eventName: EventFilter | string, + listener: Listener + ): VotingReputation; + removeAllListeners(eventName: EventFilter | string): VotingReputation; + removeListener(eventName: any, listener: Listener): VotingReputation; + + interface: VotingReputationInterface; + + functions: { + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + getColony(overrides?: TransactionOverrides): Promise; + + "getColony()"(overrides?: TransactionOverrides): Promise; + + getDeprecated(overrides?: TransactionOverrides): Promise; + + "getDeprecated()"(overrides?: TransactionOverrides): Promise; + + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + _userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + _userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + identifier(overrides?: TransactionOverrides): Promise; + + "identifier()"(overrides?: TransactionOverrides): Promise; + + version(overrides?: TransactionOverrides): Promise; + + "version()"(overrides?: TransactionOverrides): Promise; + + install( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + "install(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + initialise( + _totalStakeFraction: BigNumberish, + _voterRewardFraction: BigNumberish, + _userMinStakeFraction: BigNumberish, + _maxVoteFraction: BigNumberish, + _stakePeriod: BigNumberish, + _submitPeriod: BigNumberish, + _revealPeriod: BigNumberish, + _escalationPeriod: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "initialise(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)"( + _totalStakeFraction: BigNumberish, + _voterRewardFraction: BigNumberish, + _userMinStakeFraction: BigNumberish, + _maxVoteFraction: BigNumberish, + _stakePeriod: BigNumberish, + _submitPeriod: BigNumberish, + _revealPeriod: BigNumberish, + _escalationPeriod: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + finishUpgrade( + overrides?: TransactionOverrides + ): Promise; + + "finishUpgrade()"( + overrides?: TransactionOverrides + ): Promise; + + deprecate( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deprecate(bool)"( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + uninstall(overrides?: TransactionOverrides): Promise; + + "uninstall()"( + overrides?: TransactionOverrides + ): Promise; + + createMotion( + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _altTarget: string, + _action: Arrayish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "createMotion(uint256,uint256,address,bytes,bytes,bytes,uint256,bytes32[])"( + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _altTarget: string, + _action: Arrayish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + stakeMotion( + _motionId: BigNumberish, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _vote: BigNumberish, + _amount: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "stakeMotion(uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256,bytes32[])"( + _motionId: BigNumberish, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _vote: BigNumberish, + _amount: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + submitVote( + _motionId: BigNumberish, + _voteSecret: Arrayish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "submitVote(uint256,bytes32,bytes,bytes,uint256,bytes32[])"( + _motionId: BigNumberish, + _voteSecret: Arrayish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + revealVote( + _motionId: BigNumberish, + _salt: Arrayish, + _vote: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "revealVote(uint256,bytes32,uint256,bytes,bytes,uint256,bytes32[])"( + _motionId: BigNumberish, + _salt: Arrayish, + _vote: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + escalateMotion( + _motionId: BigNumberish, + _newDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "escalateMotion(uint256,uint256,uint256,bytes,bytes,uint256,bytes32[])"( + _motionId: BigNumberish, + _newDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + finalizeMotion( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "finalizeMotion(uint256)"( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + failingExecutionAllowed( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "failingExecutionAllowed(uint256)"( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + claimReward( + _motionId: BigNumberish, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "claimReward(uint256,uint256,uint256,address,uint256)"( + _motionId: BigNumberish, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getTotalStakeFraction(overrides?: TransactionOverrides): Promise; + + "getTotalStakeFraction()"( + overrides?: TransactionOverrides + ): Promise; + + getVoterRewardFraction( + overrides?: TransactionOverrides + ): Promise; + + "getVoterRewardFraction()"( + overrides?: TransactionOverrides + ): Promise; + + getUserMinStakeFraction( + overrides?: TransactionOverrides + ): Promise; + + "getUserMinStakeFraction()"( + overrides?: TransactionOverrides + ): Promise; + + getMaxVoteFraction(overrides?: TransactionOverrides): Promise; + + "getMaxVoteFraction()"( + overrides?: TransactionOverrides + ): Promise; + + getStakePeriod(overrides?: TransactionOverrides): Promise; + + "getStakePeriod()"(overrides?: TransactionOverrides): Promise; + + getSubmitPeriod(overrides?: TransactionOverrides): Promise; + + "getSubmitPeriod()"(overrides?: TransactionOverrides): Promise; + + getRevealPeriod(overrides?: TransactionOverrides): Promise; + + "getRevealPeriod()"(overrides?: TransactionOverrides): Promise; + + getEscalationPeriod(overrides?: TransactionOverrides): Promise; + + "getEscalationPeriod()"( + overrides?: TransactionOverrides + ): Promise; + + getMotionCount(overrides?: TransactionOverrides): Promise; + + "getMotionCount()"(overrides?: TransactionOverrides): Promise; + + getMotion( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + BigNumber[], + string, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber[], + BigNumber[], + BigNumber[], + boolean, + boolean, + string, + string + ] & { + events: BigNumber[]; + rootHash: string; + domainId: BigNumber; + skillId: BigNumber; + skillRep: BigNumber; + repSubmitted: BigNumber; + paidVoterComp: BigNumber; + pastVoterComp: BigNumber[]; + stakes: BigNumber[]; + votes: BigNumber[]; + escalated: boolean; + finalized: boolean; + altTarget: string; + action: string; + } + >; + + "getMotion(uint256)"( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + BigNumber[], + string, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber[], + BigNumber[], + BigNumber[], + boolean, + boolean, + string, + string + ] & { + events: BigNumber[]; + rootHash: string; + domainId: BigNumber; + skillId: BigNumber; + skillRep: BigNumber; + repSubmitted: BigNumber; + paidVoterComp: BigNumber; + pastVoterComp: BigNumber[]; + stakes: BigNumber[]; + votes: BigNumber[]; + escalated: boolean; + finalized: boolean; + altTarget: string; + action: string; + } + >; + + getStake( + _motionId: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "getStake(uint256,address,uint256)"( + _motionId: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getExpenditureMotionCount( + _structHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getExpenditureMotionCount(bytes32)"( + _structHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getExpenditurePastVote( + _actionHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getExpenditurePastVote(bytes32)"( + _actionHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getMotionState( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "getMotionState(uint256)"( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getVoterReward( + _motionId: BigNumberish, + _voterRep: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "getVoterReward(uint256,uint256)"( + _motionId: BigNumberish, + _voterRep: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getVoterRewardRange( + _motionId: BigNumberish, + _voterRep: BigNumberish, + _voterAddress: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { _rewardMin: BigNumber; _rewardMax: BigNumber } + >; + + "getVoterRewardRange(uint256,uint256,address)"( + _motionId: BigNumberish, + _voterRep: BigNumberish, + _voterAddress: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { _rewardMin: BigNumber; _rewardMax: BigNumber } + >; + + getStakerReward( + _motionId: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { _reward: BigNumber; _penalty: BigNumber } + >; + + "getStakerReward(uint256,address,uint256)"( + _motionId: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { _reward: BigNumber; _penalty: BigNumber } + >; + + createClaimDelayAction( + action: Arrayish, + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "createClaimDelayAction(bytes,uint256)"( + action: Arrayish, + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + getColony(overrides?: TransactionOverrides): Promise; + + "getColony()"(overrides?: TransactionOverrides): Promise; + + getDeprecated(overrides?: TransactionOverrides): Promise; + + "getDeprecated()"(overrides?: TransactionOverrides): Promise; + + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + _userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + _userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + identifier(overrides?: TransactionOverrides): Promise; + + "identifier()"(overrides?: TransactionOverrides): Promise; + + version(overrides?: TransactionOverrides): Promise; + + "version()"(overrides?: TransactionOverrides): Promise; + + install( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + "install(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + initialise( + _totalStakeFraction: BigNumberish, + _voterRewardFraction: BigNumberish, + _userMinStakeFraction: BigNumberish, + _maxVoteFraction: BigNumberish, + _stakePeriod: BigNumberish, + _submitPeriod: BigNumberish, + _revealPeriod: BigNumberish, + _escalationPeriod: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "initialise(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)"( + _totalStakeFraction: BigNumberish, + _voterRewardFraction: BigNumberish, + _userMinStakeFraction: BigNumberish, + _maxVoteFraction: BigNumberish, + _stakePeriod: BigNumberish, + _submitPeriod: BigNumberish, + _revealPeriod: BigNumberish, + _escalationPeriod: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + finishUpgrade(overrides?: TransactionOverrides): Promise; + + "finishUpgrade()"( + overrides?: TransactionOverrides + ): Promise; + + deprecate( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deprecate(bool)"( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + uninstall(overrides?: TransactionOverrides): Promise; + + "uninstall()"(overrides?: TransactionOverrides): Promise; + + createMotion( + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _altTarget: string, + _action: Arrayish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "createMotion(uint256,uint256,address,bytes,bytes,bytes,uint256,bytes32[])"( + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _altTarget: string, + _action: Arrayish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + stakeMotion( + _motionId: BigNumberish, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _vote: BigNumberish, + _amount: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "stakeMotion(uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256,bytes32[])"( + _motionId: BigNumberish, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _vote: BigNumberish, + _amount: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + submitVote( + _motionId: BigNumberish, + _voteSecret: Arrayish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "submitVote(uint256,bytes32,bytes,bytes,uint256,bytes32[])"( + _motionId: BigNumberish, + _voteSecret: Arrayish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + revealVote( + _motionId: BigNumberish, + _salt: Arrayish, + _vote: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "revealVote(uint256,bytes32,uint256,bytes,bytes,uint256,bytes32[])"( + _motionId: BigNumberish, + _salt: Arrayish, + _vote: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + escalateMotion( + _motionId: BigNumberish, + _newDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "escalateMotion(uint256,uint256,uint256,bytes,bytes,uint256,bytes32[])"( + _motionId: BigNumberish, + _newDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + finalizeMotion( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "finalizeMotion(uint256)"( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + failingExecutionAllowed( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "failingExecutionAllowed(uint256)"( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + claimReward( + _motionId: BigNumberish, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "claimReward(uint256,uint256,uint256,address,uint256)"( + _motionId: BigNumberish, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getTotalStakeFraction(overrides?: TransactionOverrides): Promise; + + "getTotalStakeFraction()"( + overrides?: TransactionOverrides + ): Promise; + + getVoterRewardFraction(overrides?: TransactionOverrides): Promise; + + "getVoterRewardFraction()"( + overrides?: TransactionOverrides + ): Promise; + + getUserMinStakeFraction(overrides?: TransactionOverrides): Promise; + + "getUserMinStakeFraction()"( + overrides?: TransactionOverrides + ): Promise; + + getMaxVoteFraction(overrides?: TransactionOverrides): Promise; + + "getMaxVoteFraction()"(overrides?: TransactionOverrides): Promise; + + getStakePeriod(overrides?: TransactionOverrides): Promise; + + "getStakePeriod()"(overrides?: TransactionOverrides): Promise; + + getSubmitPeriod(overrides?: TransactionOverrides): Promise; + + "getSubmitPeriod()"(overrides?: TransactionOverrides): Promise; + + getRevealPeriod(overrides?: TransactionOverrides): Promise; + + "getRevealPeriod()"(overrides?: TransactionOverrides): Promise; + + getEscalationPeriod(overrides?: TransactionOverrides): Promise; + + "getEscalationPeriod()"(overrides?: TransactionOverrides): Promise; + + getMotionCount(overrides?: TransactionOverrides): Promise; + + "getMotionCount()"(overrides?: TransactionOverrides): Promise; + + getMotion( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + BigNumber[], + string, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber[], + BigNumber[], + BigNumber[], + boolean, + boolean, + string, + string + ] & { + events: BigNumber[]; + rootHash: string; + domainId: BigNumber; + skillId: BigNumber; + skillRep: BigNumber; + repSubmitted: BigNumber; + paidVoterComp: BigNumber; + pastVoterComp: BigNumber[]; + stakes: BigNumber[]; + votes: BigNumber[]; + escalated: boolean; + finalized: boolean; + altTarget: string; + action: string; + } + >; + + "getMotion(uint256)"( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + BigNumber[], + string, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber[], + BigNumber[], + BigNumber[], + boolean, + boolean, + string, + string + ] & { + events: BigNumber[]; + rootHash: string; + domainId: BigNumber; + skillId: BigNumber; + skillRep: BigNumber; + repSubmitted: BigNumber; + paidVoterComp: BigNumber; + pastVoterComp: BigNumber[]; + stakes: BigNumber[]; + votes: BigNumber[]; + escalated: boolean; + finalized: boolean; + altTarget: string; + action: string; + } + >; + + getStake( + _motionId: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "getStake(uint256,address,uint256)"( + _motionId: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getExpenditureMotionCount( + _structHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getExpenditureMotionCount(bytes32)"( + _structHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getExpenditurePastVote( + _actionHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getExpenditurePastVote(bytes32)"( + _actionHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getMotionState( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "getMotionState(uint256)"( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getVoterReward( + _motionId: BigNumberish, + _voterRep: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "getVoterReward(uint256,uint256)"( + _motionId: BigNumberish, + _voterRep: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getVoterRewardRange( + _motionId: BigNumberish, + _voterRep: BigNumberish, + _voterAddress: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { _rewardMin: BigNumber; _rewardMax: BigNumber } + >; + + "getVoterRewardRange(uint256,uint256,address)"( + _motionId: BigNumberish, + _voterRep: BigNumberish, + _voterAddress: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { _rewardMin: BigNumber; _rewardMax: BigNumber } + >; + + getStakerReward( + _motionId: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { _reward: BigNumber; _penalty: BigNumber } + >; + + "getStakerReward(uint256,address,uint256)"( + _motionId: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { _reward: BigNumber; _penalty: BigNumber } + >; + + createClaimDelayAction( + action: Arrayish, + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "createClaimDelayAction(bytes,uint256)"( + action: Arrayish, + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + ExtensionInitialised(): EventFilter; + + LogSetAuthority(authority: string | null): EventFilter; + + LogSetOwner(owner: string | null): EventFilter; + + MetaTransactionExecuted( + user: null, + relayerAddress: null, + functionSignature: null + ): EventFilter; + + MotionCreated( + motionId: BigNumberish | null, + creator: null, + domainId: BigNumberish | null + ): EventFilter; + + MotionEscalated( + motionId: BigNumberish | null, + escalator: null, + domainId: BigNumberish | null, + newDomainId: BigNumberish | null + ): EventFilter; + + MotionEventSet( + motionId: BigNumberish | null, + eventIndex: null + ): EventFilter; + + MotionFinalized( + motionId: BigNumberish | null, + action: null, + executed: null + ): EventFilter; + + MotionRewardClaimed( + motionId: BigNumberish | null, + staker: string | null, + vote: BigNumberish | null, + amount: null + ): EventFilter; + + MotionStaked( + motionId: BigNumberish | null, + staker: string | null, + vote: BigNumberish | null, + amount: null + ): EventFilter; + + MotionVoteRevealed( + motionId: BigNumberish | null, + voter: string | null, + vote: BigNumberish | null + ): EventFilter; + + MotionVoteSubmitted( + motionId: BigNumberish | null, + voter: string | null + ): EventFilter; + }; + + estimate: { + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + getColony(overrides?: TransactionOverrides): Promise; + + "getColony()"(overrides?: TransactionOverrides): Promise; + + getDeprecated(overrides?: TransactionOverrides): Promise; + + "getDeprecated()"(overrides?: TransactionOverrides): Promise; + + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + _userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + _userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + identifier(overrides?: TransactionOverrides): Promise; + + "identifier()"(overrides?: TransactionOverrides): Promise; + + version(overrides?: TransactionOverrides): Promise; + + "version()"(overrides?: TransactionOverrides): Promise; + + install( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + "install(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + initialise( + _totalStakeFraction: BigNumberish, + _voterRewardFraction: BigNumberish, + _userMinStakeFraction: BigNumberish, + _maxVoteFraction: BigNumberish, + _stakePeriod: BigNumberish, + _submitPeriod: BigNumberish, + _revealPeriod: BigNumberish, + _escalationPeriod: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "initialise(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)"( + _totalStakeFraction: BigNumberish, + _voterRewardFraction: BigNumberish, + _userMinStakeFraction: BigNumberish, + _maxVoteFraction: BigNumberish, + _stakePeriod: BigNumberish, + _submitPeriod: BigNumberish, + _revealPeriod: BigNumberish, + _escalationPeriod: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + finishUpgrade(overrides?: TransactionOverrides): Promise; + + "finishUpgrade()"(overrides?: TransactionOverrides): Promise; + + deprecate( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deprecate(bool)"( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + uninstall(overrides?: TransactionOverrides): Promise; + + "uninstall()"(overrides?: TransactionOverrides): Promise; + + createMotion( + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _altTarget: string, + _action: Arrayish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "createMotion(uint256,uint256,address,bytes,bytes,bytes,uint256,bytes32[])"( + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _altTarget: string, + _action: Arrayish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + stakeMotion( + _motionId: BigNumberish, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _vote: BigNumberish, + _amount: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "stakeMotion(uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256,bytes32[])"( + _motionId: BigNumberish, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _vote: BigNumberish, + _amount: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + submitVote( + _motionId: BigNumberish, + _voteSecret: Arrayish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "submitVote(uint256,bytes32,bytes,bytes,uint256,bytes32[])"( + _motionId: BigNumberish, + _voteSecret: Arrayish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + revealVote( + _motionId: BigNumberish, + _salt: Arrayish, + _vote: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "revealVote(uint256,bytes32,uint256,bytes,bytes,uint256,bytes32[])"( + _motionId: BigNumberish, + _salt: Arrayish, + _vote: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + escalateMotion( + _motionId: BigNumberish, + _newDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "escalateMotion(uint256,uint256,uint256,bytes,bytes,uint256,bytes32[])"( + _motionId: BigNumberish, + _newDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _key: Arrayish, + _value: Arrayish, + _branchMask: BigNumberish, + _siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + finalizeMotion( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "finalizeMotion(uint256)"( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + failingExecutionAllowed( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "failingExecutionAllowed(uint256)"( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + claimReward( + _motionId: BigNumberish, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "claimReward(uint256,uint256,uint256,address,uint256)"( + _motionId: BigNumberish, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getTotalStakeFraction(overrides?: TransactionOverrides): Promise; + + "getTotalStakeFraction()"( + overrides?: TransactionOverrides + ): Promise; + + getVoterRewardFraction( + overrides?: TransactionOverrides + ): Promise; + + "getVoterRewardFraction()"( + overrides?: TransactionOverrides + ): Promise; + + getUserMinStakeFraction( + overrides?: TransactionOverrides + ): Promise; + + "getUserMinStakeFraction()"( + overrides?: TransactionOverrides + ): Promise; + + getMaxVoteFraction(overrides?: TransactionOverrides): Promise; + + "getMaxVoteFraction()"( + overrides?: TransactionOverrides + ): Promise; + + getStakePeriod(overrides?: TransactionOverrides): Promise; + + "getStakePeriod()"(overrides?: TransactionOverrides): Promise; + + getSubmitPeriod(overrides?: TransactionOverrides): Promise; + + "getSubmitPeriod()"(overrides?: TransactionOverrides): Promise; + + getRevealPeriod(overrides?: TransactionOverrides): Promise; + + "getRevealPeriod()"(overrides?: TransactionOverrides): Promise; + + getEscalationPeriod(overrides?: TransactionOverrides): Promise; + + "getEscalationPeriod()"( + overrides?: TransactionOverrides + ): Promise; + + getMotionCount(overrides?: TransactionOverrides): Promise; + + "getMotionCount()"(overrides?: TransactionOverrides): Promise; + + getMotion( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "getMotion(uint256)"( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getStake( + _motionId: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "getStake(uint256,address,uint256)"( + _motionId: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getExpenditureMotionCount( + _structHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getExpenditureMotionCount(bytes32)"( + _structHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getExpenditurePastVote( + _actionHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getExpenditurePastVote(bytes32)"( + _actionHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getMotionState( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "getMotionState(uint256)"( + _motionId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getVoterReward( + _motionId: BigNumberish, + _voterRep: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "getVoterReward(uint256,uint256)"( + _motionId: BigNumberish, + _voterRep: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getVoterRewardRange( + _motionId: BigNumberish, + _voterRep: BigNumberish, + _voterAddress: string, + overrides?: TransactionOverrides + ): Promise; + + "getVoterRewardRange(uint256,uint256,address)"( + _motionId: BigNumberish, + _voterRep: BigNumberish, + _voterAddress: string, + overrides?: TransactionOverrides + ): Promise; + + getStakerReward( + _motionId: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "getStakerReward(uint256,address,uint256)"( + _motionId: BigNumberish, + _staker: string, + _vote: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + createClaimDelayAction( + action: Arrayish, + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "createClaimDelayAction(bytes,uint256)"( + action: Arrayish, + value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/extensions/votingReputation/8/factories/VotingReputation__factory.ts b/src/contracts/extensions/votingReputation/8/factories/VotingReputation__factory.ts new file mode 100644 index 000000000..9b2e06e28 --- /dev/null +++ b/src/contracts/extensions/votingReputation/8/factories/VotingReputation__factory.ts @@ -0,0 +1,1354 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from ".."; +import { VotingReputation } from "../VotingReputation"; + +export class VotingReputation__factory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): VotingReputation { + return super.attach(address) as VotingReputation; + } + connect(signer: Signer): VotingReputation__factory { + return super.connect(signer) as VotingReputation__factory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): VotingReputation { + return new Contract(address, _abi, signerOrProvider) as VotingReputation; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [], + name: "ExtensionInitialised", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "authority", + type: "address", + }, + ], + name: "LogSetAuthority", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "LogSetOwner", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address payable", + name: "relayerAddress", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "functionSignature", + type: "bytes", + }, + ], + name: "MetaTransactionExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "motionId", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "creator", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "domainId", + type: "uint256", + }, + ], + name: "MotionCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "motionId", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "escalator", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "domainId", + type: "uint256", + }, + { + indexed: true, + internalType: "uint256", + name: "newDomainId", + type: "uint256", + }, + ], + name: "MotionEscalated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "motionId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "eventIndex", + type: "uint256", + }, + ], + name: "MotionEventSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "motionId", + type: "uint256", + }, + { + indexed: false, + internalType: "bytes", + name: "action", + type: "bytes", + }, + { + indexed: false, + internalType: "bool", + name: "executed", + type: "bool", + }, + ], + name: "MotionFinalized", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "motionId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "staker", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "vote", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "MotionRewardClaimed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "motionId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "staker", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "vote", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "MotionStaked", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "motionId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "vote", + type: "uint256", + }, + ], + name: "MotionVoteRevealed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "motionId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + ], + name: "MotionVoteSubmitted", + type: "event", + }, + { + inputs: [], + name: "authority", + outputs: [ + { + internalType: "contract DSAuthority", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "executeMetaTransaction", + outputs: [ + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "_sig", + type: "bytes4", + }, + ], + name: "getCapabilityRoles", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getChainId", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getColony", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getDeprecated", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "results", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract DSAuthority", + name: "authority_", + type: "address", + }, + ], + name: "setAuthority", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner_", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + { + internalType: "uint256", + name: "_nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "_chainId", + type: "uint256", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "verify", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_userAddress", + type: "address", + }, + ], + name: "getMetatransactionNonce", + outputs: [ + { + internalType: "uint256", + name: "_nonce", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "identifier", + outputs: [ + { + internalType: "bytes32", + name: "_identifier", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_colony", + type: "address", + }, + ], + name: "install", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_totalStakeFraction", + type: "uint256", + }, + { + internalType: "uint256", + name: "_voterRewardFraction", + type: "uint256", + }, + { + internalType: "uint256", + name: "_userMinStakeFraction", + type: "uint256", + }, + { + internalType: "uint256", + name: "_maxVoteFraction", + type: "uint256", + }, + { + internalType: "uint256", + name: "_stakePeriod", + type: "uint256", + }, + { + internalType: "uint256", + name: "_submitPeriod", + type: "uint256", + }, + { + internalType: "uint256", + name: "_revealPeriod", + type: "uint256", + }, + { + internalType: "uint256", + name: "_escalationPeriod", + type: "uint256", + }, + ], + name: "initialise", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "finishUpgrade", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bool", + name: "_deprecated", + type: "bool", + }, + ], + name: "deprecate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "uninstall", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_domainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_childSkillIndex", + type: "uint256", + }, + { + internalType: "address", + name: "_altTarget", + type: "address", + }, + { + internalType: "bytes", + name: "_action", + type: "bytes", + }, + { + 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: "createMotion", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_motionId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_permissionDomainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_childSkillIndex", + type: "uint256", + }, + { + internalType: "uint256", + name: "_vote", + type: "uint256", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + 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: "stakeMotion", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_motionId", + type: "uint256", + }, + { + internalType: "bytes32", + name: "_voteSecret", + type: "bytes32", + }, + { + 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: "submitVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_motionId", + type: "uint256", + }, + { + internalType: "bytes32", + name: "_salt", + type: "bytes32", + }, + { + internalType: "uint256", + name: "_vote", + type: "uint256", + }, + { + 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: "revealVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_motionId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_newDomainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_childSkillIndex", + type: "uint256", + }, + { + 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: "escalateMotion", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_motionId", + type: "uint256", + }, + ], + name: "finalizeMotion", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_motionId", + type: "uint256", + }, + ], + name: "failingExecutionAllowed", + outputs: [ + { + internalType: "bool", + name: "_allowed", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_motionId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_permissionDomainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_childSkillIndex", + type: "uint256", + }, + { + internalType: "address", + name: "_staker", + type: "address", + }, + { + internalType: "uint256", + name: "_vote", + type: "uint256", + }, + ], + name: "claimReward", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getTotalStakeFraction", + outputs: [ + { + internalType: "uint256", + name: "_fraction", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getVoterRewardFraction", + outputs: [ + { + internalType: "uint256", + name: "_fraction", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getUserMinStakeFraction", + outputs: [ + { + internalType: "uint256", + name: "_fraction", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getMaxVoteFraction", + outputs: [ + { + internalType: "uint256", + name: "_fraction", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getStakePeriod", + outputs: [ + { + internalType: "uint256", + name: "_period", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getSubmitPeriod", + outputs: [ + { + internalType: "uint256", + name: "_period", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getRevealPeriod", + outputs: [ + { + internalType: "uint256", + name: "_period", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getEscalationPeriod", + outputs: [ + { + internalType: "uint256", + name: "_period", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getMotionCount", + outputs: [ + { + internalType: "uint256", + name: "_count", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_motionId", + type: "uint256", + }, + ], + name: "getMotion", + outputs: [ + { + components: [ + { + internalType: "uint64[3]", + name: "events", + type: "uint64[3]", + }, + { + internalType: "bytes32", + name: "rootHash", + type: "bytes32", + }, + { + internalType: "uint256", + name: "domainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "skillId", + type: "uint256", + }, + { + internalType: "uint256", + name: "skillRep", + type: "uint256", + }, + { + internalType: "uint256", + name: "repSubmitted", + type: "uint256", + }, + { + internalType: "uint256", + name: "paidVoterComp", + type: "uint256", + }, + { + internalType: "uint256[2]", + name: "pastVoterComp", + type: "uint256[2]", + }, + { + internalType: "uint256[2]", + name: "stakes", + type: "uint256[2]", + }, + { + internalType: "uint256[2]", + name: "votes", + type: "uint256[2]", + }, + { + internalType: "bool", + name: "escalated", + type: "bool", + }, + { + internalType: "bool", + name: "finalized", + type: "bool", + }, + { + internalType: "address", + name: "altTarget", + type: "address", + }, + { + internalType: "bytes", + name: "action", + type: "bytes", + }, + ], + internalType: "struct VotingReputationDataTypes.Motion", + name: "_motion", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_motionId", + type: "uint256", + }, + { + internalType: "address", + name: "_staker", + type: "address", + }, + { + internalType: "uint256", + name: "_vote", + type: "uint256", + }, + ], + name: "getStake", + outputs: [ + { + internalType: "uint256", + name: "_stake", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_structHash", + type: "bytes32", + }, + ], + name: "getExpenditureMotionCount", + outputs: [ + { + internalType: "uint256", + name: "_count", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_actionHash", + type: "bytes32", + }, + ], + name: "getExpenditurePastVote", + outputs: [ + { + internalType: "uint256", + name: "_vote", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_motionId", + type: "uint256", + }, + ], + name: "getMotionState", + outputs: [ + { + internalType: "enum VotingReputationDataTypes.MotionState", + name: "_motionState", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_motionId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_voterRep", + type: "uint256", + }, + ], + name: "getVoterReward", + outputs: [ + { + internalType: "uint256", + name: "_reward", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_motionId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_voterRep", + type: "uint256", + }, + { + internalType: "address", + name: "_voterAddress", + type: "address", + }, + ], + name: "getVoterRewardRange", + outputs: [ + { + internalType: "uint256", + name: "_rewardMin", + type: "uint256", + }, + { + internalType: "uint256", + name: "_rewardMax", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_motionId", + type: "uint256", + }, + { + internalType: "address", + name: "_staker", + type: "address", + }, + { + internalType: "uint256", + name: "_vote", + type: "uint256", + }, + ], + name: "getStakerReward", + outputs: [ + { + internalType: "uint256", + name: "_reward", + type: "uint256", + }, + { + internalType: "uint256", + name: "_penalty", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "action", + type: "bytes", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "createClaimDelayAction", + outputs: [ + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2615f8c806200005f6000396000f3fe6080604052600436106102725760003560e01c80637a9e5e4b1161014f578063b9a8c27a116100c1578063d84eb9ee1161007a578063d84eb9ee14610703578063da23325914610723578063de3b0aa414610743578063ee2cf47314610763578063fc4af53f14610783578063fcf6ba93146107a357610272565b8063b9a8c27a14610659578063bbd2f6c514610679578063bd4e523c14610699578063bf7e214f146106b9578063bfd68ab7146106ce578063c06e47d6146106e357610272565b80639251cff4116101135780639251cff41461058a578063ac9650d8146105aa578063ad15aad2146105d7578063b004864714610604578063b3eac1d814610619578063b57025d41461063957610272565b80637a9e5e4b146104f35780637b9afba6146105135780637de22eb414610533578063835ddcc1146105535780638da5cb5b1461056857610272565b8063420b900c116101e85780636281133d116101ac5780636281133d146104475780636acd7fe6146104745780636e7375b01461049457806372d8bd7b146104a95780637998a1c4146104be5780637a3dc330146104d357610272565b8063420b900c146103a257806354fd4d50146103cf5780635c0d9d53146103e45780635cda0135146103f95780635d0050b21461041957610272565b80632363df0e1161023a5780632363df0e1461030e5780632a1b8f9b146103235780632a1c708b146103435780632dfbb083146103585780633408e47014610378578063340df28f1461038d57610272565b806302d15d64146102775780630c53c51c146102a25780630d638f30146102c257806313af4035146102d95780631a7dad2e146102f9575b600080fd5b34801561028357600080fd5b5061028c6107b8565b604051610299919061513e565b60405180910390f35b6102b56102b0366004614899565b6107bf565b6040516102999190615334565b3480156102ce57600080fd5b506102d761091b565b005b3480156102e557600080fd5b506102d76102f4366004614861565b61095b565b34801561030557600080fd5b5061028c6109dd565b34801561031a57600080fd5b5061028c6109e3565b34801561032f57600080fd5b506102d761033e366004614861565b6109e9565b34801561034f57600080fd5b5061028c610be8565b34801561036457600080fd5b5061028c610373366004614a64565b610bee565b34801561038457600080fd5b5061028c610bf6565b34801561039957600080fd5b506102d7610bfa565b3480156103ae57600080fd5b506103c26103bd366004614a34565b610c2e565b60405161029991906153da565b3480156103db57600080fd5b5061028c610f00565b3480156103f057600080fd5b5061028c610f05565b34801561040557600080fd5b506102d7610414366004614d57565b610f0b565b34801561042557600080fd5b50610439610434366004614b7e565b6114bf565b60405161029992919061506e565b34801561045357600080fd5b5061046761046236600461490a565b6117ce565b60405161029991906152f6565b34801561048057600080fd5b506102d761048f366004614a34565b61189e565b3480156104a057600080fd5b5061028c611e3e565b3480156104b557600080fd5b5061028c611e44565b3480156104ca57600080fd5b5061028c611e4a565b3480156104df57600080fd5b5061028c6104ee366004614a34565b611e6e565b3480156104ff57600080fd5b506102d761050e366004614861565b611e80565b34801561051f57600080fd5b506102d761052e366004614f32565b611efe565b34801561053f57600080fd5b506102b561054e366004614a8c565b612179565b34801561055f57600080fd5b5061028c61236c565b34801561057457600080fd5b5061057d612372565b604051610299919061518d565b34801561059657600080fd5b506102d76105a53660046149fc565b612381565b3480156105b657600080fd5b506105ca6105c536600461498e565b6123d1565b6040516102999190615296565b3480156105e357600080fd5b506105f76105f2366004614a34565b6125a2565b6040516102999190615ce0565b34801561061057600080fd5b5061028c6127ed565b34801561062557600080fd5b5061028c610634366004614861565b6127f3565b34801561064557600080fd5b506102d7610654366004614c54565b612813565b34801561066557600080fd5b506102d7610674366004614c54565b612b67565b34801561068557600080fd5b506102d7610694366004614e74565b612dfe565b3480156106a557600080fd5b506104676106b4366004614a34565b6135e7565b3480156106c557600080fd5b5061057d613663565b3480156106da57600080fd5b5061057d613672565b3480156106ef57600080fd5b506102d76106fe366004614bb5565b613681565b34801561070f57600080fd5b5061028c61071e366004614cfe565b613856565b34801561072f57600080fd5b506102d761073e366004614e2c565b6138b1565b34801561074f57600080fd5b5061028c61075e366004614a34565b613ac7565b34801561076f57600080fd5b5061028c61077e366004614b7e565b613ad9565b34801561078f57600080fd5b5061043961079e366004614d1f565b613b0c565b3480156107af57600080fd5b50610467613bbf565b600d545b90565b60606107df866107ce886127f3565b6107d6610bf6565b888888886117ce565b6108045760405162461bcd60e51b81526004016107fb9061589c565b60405180910390fd5b61080d86613bcf565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a604051602001610850939291906150d4565b60408051601f198184030181529082905261086a916150b8565b6000604051808303816000865af19150503d80600081146108a7576040519150601f19603f3d011682016040523d82523d6000602084013e6108ac565b606091505b5091509150816108ce5760405162461bcd60e51b81526004016107fb906154dc565b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b886108f8613bef565b89604051610908939291906151f0565b60405180910390a1979650505050505050565b610931336000356001600160e01b031916613c9e565b61094d5760405162461bcd60e51b81526004016107fb9061555b565b6003546001600160a01b0316ff5b610971336000356001600160e01b031916613c9e565b61098d5760405162461bcd60e51b81526004016107fb9061555b565b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600c5490565b60085490565b6003546001600160a01b031615610a125760405162461bcd60e51b81526004016107fb9061591c565b600380546001600160a01b0319166001600160a01b03838116919091179182905560408051634e5e839560e01b815290519290911691634e5e839591600480820192602092909190829003018186803b158015610a6e57600080fd5b505afa158015610a82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa6919061487d565b600480546001600160a01b0319166001600160a01b03928316178082556040805163598cc81560e11b81529051919093169263b319902a9281810192602092909190829003018186803b158015610afc57600080fd5b505afa158015610b10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b34919061487d565b600580546001600160a01b0319166001600160a01b03928316179055600354604080516321df0da760e01b8152905191909216916321df0da7916004808301926020929190829003018186803b158015610b8d57600080fd5b505afa158015610ba1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc5919061487d565b600680546001600160a01b0319166001600160a01b039290921691909117905550565b60075490565b60005b919050565b4690565b610c10336000356001600160e01b031916613c9e565b610c2c5760405162461bcd60e51b81526004016107fb9061555b565b565b600081815260106020526040812081610c4684613d7a565b9050831580610c565750600f5484115b80610c765750600e82015460026000196101006001841615020190911604155b15610c8657600092505050610bf1565b600d820154610100900460ff1615610ca357600692505050610bf1565b600a820154811180610cb85750600982015481115b15610e155781546001600160401b0316421015610cda57600192505050610bf1565b600a820154811415610d8857600e82018054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152610d7f9390929091830182828015610d755780601f10610d4a57610100808354040283529160200191610d75565b820191906000526020600020905b815481529060010190602001808311610d5857829003601f168201915b5050505050613d99565b92505050610bf1565b600b82018054600091610da0919060015b0154613dca565b1115610e0a57600e82018054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152610d7f9390929091830182828015610d755780601f10610d4a57610100808354040283529160200191610d75565b600792505050610bf1565b8154600160401b90046001600160401b0316421015610e3957600292505050610bf1565b8154600160801b90046001600160401b0316421015610e5d57600392505050610bf1565b600e548254600160801b90046001600160401b03160142108015610e85575060018260020154115b15610e9557600492505050610bf1565b600e82018054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152610d7f9390929091830182828015610d755780601f10610d4a57610100808354040283529160200191610d75565b5050919050565b600890565b60095490565b600354600160a01b900460ff1615610f355760405162461bcd60e51b81526004016107fb90615c3b565b6001600354600160a81b900460ff166002811115610f4f57fe5b14610f6c5760405162461bcd60e51b81526004016107fb9061598a565b6003546001600160a01b0387811691161415610f9a5760405162461bcd60e51b81526004016107fb90615ac8565b6000610fa587613ded565b90506000610fb287613e15565b90506001600160e01b031981166363468cf560e11b1415610fe55760405162461bcd60e51b81526004016107fb90615953565b60006001600160e01b031982166302468acf60e31b14156110a8576000198a146110215760405162461bcd60e51b81526004016107fb906157f7565b600354604051630d3d4c7160e11b81526001600160a01b0390911690631a7a98e290611051908e9060040161513e565b604080518083038186803b15801561106857600080fd5b505afa15801561107c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a09190614b37565b519050611303565b604051632dfbb08360e01b815260039081906001600160a01b03861690632dfbb083906110d990879060040161531f565b60206040518083038186803b1580156110f157600080fd5b505afa158015611105573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111299190614a4c565b17141561118e578a600114801561114157506000198a145b61115d5760405162461bcd60e51b81526004016107fb906157f7565b600354604051630d3d4c7160e11b81526001600160a01b0390911690631a7a98e2906110519060019060040161513e565b600354604051630d3d4c7160e11b81526001600160a01b0390911690631a7a98e2906111be908e9060040161513e565b604080518083038186803b1580156111d557600080fd5b505afa1580156111e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120d9190614b37565b519050600061121b89613e1c565b90508082146112e0576000600460009054906101000a90046001600160a01b03166001600160a01b03166309d10a5e848e6040518363ffffffff1660e01b815260040161126992919061506e565b60206040518083038186803b15801561128157600080fd5b505afa158015611295573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b99190614a4c565b90508181146112da5760405162461bcd60e51b81526004016107fb906157f7565b50611301565b6000198b146113015760405162461bcd60e51b81526004016107fb906157f7565b505b600f805460010190819055600090815260106020908152604091829020600b54815467ffffffffffffffff1916429091016001600160401b0390811691909117808355600c5467ffffffffffffffff60401b198216600160401b9284169091018316820217808455600d5467ffffffffffffffff60801b198216600160801b93909204841601909216021781556004805484516397824c3f60e01b8152945192946001600160a01b03909116936397824c3f93828401939192909190829003018186803b1580156113d357600080fd5b505afa1580156113e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140b9190614a4c565b60018201819055600282018d905560038201839055611430908360008b8b8b8b613f38565b6004820155600d8101805462010000600160b01b031916620100006001600160a01b038d1602179055885161146e90600e83019060208c01906145da565b508b600f547fec8f382abfacc0416a7b1eca9ddfcb6f79f9ee369eba7478f5471bd692bb5db761149c613bef565b6040516114a9919061518d565b60405180910390a3505050505050505050505050565b60008381526010602052604081208190816114f36009830186600281106114e257fe5b0154836007018760028110610d9957fe5b905080611508576000809350935050506117c6565b60008781526011602090815260408083206001600160a01b038a168452825280832088845290915281205461153d908361400a565b9050600061155b8285600901896002811061155457fe5b015461402e565b905060008080611576600b8801820154600b89016001610d99565b111561168957600b860154600c870154600091829111156115a25750506009860154600a8701546115af565b5050600a86015460098701545b6115bd828960060154614043565b600b890180549193506000916115d4916001610d99565b905060006115f28a600b018e600281106115ea57fe5b01548361400a565b9050600061160882671bc16d674ec8000061402e565b9050670de0b6b3a76400008111806116305750670de0b6b3a76400008114801561163057508d155b156116625761165b896116568661165189670de0b6b3a7640000870361402e565b613dca565b61402e565b965061167f565b61167089611656878461402e565b965061167c8888614043565b95505b50505050506117bc565b60068601541561169557fe5b60006116a08c613d7a565b905080876009018b600281106116b257fe5b01541480156116d8575080876009016116ca8c614066565b600281106116d457fe5b0154105b1561172b576000876009016116ec8c614066565b600281106116f657fe5b01549050600061171282600a670de0b6b3a76400005b0461402e565b9050611722876116568584613dca565b945050506117ba565b80876009018b6002811061173b57fe5b0154108015611761575080876009016117538c614066565b6002811061175d57fe5b0154145b156117b6576000876009018b6002811061177757fe5b01549050600061179182600a670de0b6b3a764000061170c565b90506117a1876116568484614043565b94506117ad8686614043565b935050506117ba565b8392505b505b9096509450505050505b935093915050565b600080611806883089896040516020016117eb9493929190615147565b60405160208183030381529060405280519060200120614073565b905060006001828588886040516000815260200160405260405161182d9493929190615301565b6020604051602081039080840390855afa15801561184f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166118825760405162461bcd60e51b81526004016107fb90615c04565b6001600160a01b038a8116911614915050979650505050505050565b600081815260106020526040902060056118b783610c2e565b60078111156118c257fe5b146118df5760405162461bcd60e51b81526004016107fb90615b4a565b6118e882613d7a565b600a820154148061190b5750600b8101805460009161190991906001610d99565b115b61191157fe5b600d8101805461ff00191661010017905560006009820160010154600983016000015410806119475750600c820154600b830154105b600e83018054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152939450633268b39f60e21b936119ec93909290918301828280156119e25780601f106119b7576101008083540402835291602001916119e2565b820191906000526020600020905b8154815290600101906020018083116119c557829003601f168201915b5050505050613e15565b6001600160e01b0319161480611a755750600e8201805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815263bae82ec960e01b93611a6993919290918301828280156119e25780601f106119b7576101008083540402835291602001916119e2565b6001600160e01b031916145b8015611aab5750600354600d8301546001600160a01b0391821691611aa09162010000900416613ded565b6001600160a01b0316145b15611d2b57600e8201805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152600093611b4b9391929091830182828015611b415780601f10611b1657610100808354040283529160200191611b41565b820191906000526020600020905b815481529060010190602001808311611b2457829003601f168201915b50505050506140a3565b600081815260146020526040902054909150611b68906001614043565b6000828152601460205260409020819055611c2957600e8301805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152606093611c1a9391929091830182828015611c0e5780601f10611be357610100808354040283529160200191611c0e565b820191906000526020600020905b815481529060010190602001808311611bf157829003601f168201915b50505050506000612179565b9050611c2685826141ac565b50505b600e8301805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152600093611cc49391929091830182828015611cba5780601f10611c8f57610100808354040283529160200191611cba565b820191906000526020600020905b815481529060010190602001808311611c9d57829003601f168201915b50505050506141f0565b9050600080611cde600b8701820154600b88016001610d99565b11611ced57600a850154611cf3565b600c8501545b600083815260136020526040902054909150811115611d22576000828152601360205260409020819055611d27565b600093505b5050505b60008115611dfb57600e8301805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152611dcd93889391929091830182828015611dc35780601f10611d9857610100808354040283529160200191611dc3565b820191906000526020600020905b815481529060010190602001808311611da657829003601f168201915b50505050506141ac565b90508080611ddf5750611ddf846135e7565b611dfb5760405162461bcd60e51b81526004016107fb90615589565b837f30a64da5658ebdc08619e03d1f155ef960c07fa9b332002f9ad606ec64b6096484600e0183604051611e30929190615347565b60405180910390a250505050565b600a5490565b600e5490565b7fdc951b3d4193c331186bc2de3b4e659e51d8b00ef92751ae69abaa48a6ab38dd90565b60009081526013602052604090205490565b611e96336000356001600160e01b031916613c9e565b611eb25760405162461bcd60e51b81526004016107fb9061555b565b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6003546001600160a01b031663ab2f7ae2611f17613bef565b6001806040518463ffffffff1660e01b8152600401611f38939291906151a1565b60206040518083038186803b158015611f5057600080fd5b505afa158015611f64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f889190614a18565b611fa45760405162461bcd60e51b81526004016107fb9061582e565b6000600354600160a81b900460ff166002811115611fbe57fe5b14611fdb5760405162461bcd60e51b81526004016107fb906155fb565b6706f05b59d3b200008811156120035760405162461bcd60e51b81526004016107fb906156d7565b6706f05b59d3b2000087111561202b5760405162461bcd60e51b81526004016107fb906156d7565b670de0b6b3a76400008611156120535760405162461bcd60e51b81526004016107fb90615b8b565b670de0b6b3a764000085111561207b5760405162461bcd60e51b81526004016107fb90615b8b565b6301e1338084111561209f5760405162461bcd60e51b81526004016107fb90615c72565b6301e133808311156120c35760405162461bcd60e51b81526004016107fb90615c72565b6301e133808211156120e75760405162461bcd60e51b81526004016107fb90615c72565b6301e1338081111561210b5760405162461bcd60e51b81526004016107fb90615c72565b6003805460ff60a81b1916600160a81b179055600788905560088790556009869055600a859055600b849055600c839055600d829055600e8190556040517f690c4b6201f6a4c703f9d21c205d98a08dff8461e7a71e49c6d47cc8b894850190600090a15050505050505050565b6060600061218684613e15565b90506001600160e01b03198116633268b39f60e21b14806121b757506001600160e01b0319811663bae82ec960e01b145b6121bd57fe5b60248401516044850151606486015160848701517fc9a2ce7c23ec8f1247c8e7895d1090624fc190620eca20c6cdb5e12c1461906b9392919060006001600160e01b03198716633268b39f60e21b1480156122185750816019145b156122a157604080516101648082526101a0820190925260609160208201818036833750505060208101979097525050506024840192909252604483015260648201526019608482015260e060a482015261012060c482015260e48101849052600161010482018190526101248201819052610144820152600461016482015291506123669050565b604080516101a48082526101e0820190925260609160208201818036833701905050905060006001600160e01b03198916633268b39f60e21b146122e65760846122ea565b6101845b61ffff169050808c01519250876020830152866024830152856044830152846064830152601a608483015260e060a483015261014060c48301528a60e483015260026101048301526000610124830152600161014483015260026101648301528261018483015260016101a48301528199505050505050505050505b92915050565b600f5490565b6001546001600160a01b031681565b612397336000356001600160e01b031916613c9e565b6123b35760405162461bcd60e51b81526004016107fb9061555b565b60038054911515600160a01b0260ff60a01b19909216919091179055565b606060006123dd613bef565b9050606033301480156123f957506001600160a01b0382163014155b15612443577f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88260405160200161243192919061504e565b60405160208183030381529060405290505b836001600160401b038111801561245957600080fd5b5060405190808252806020026020018201604052801561248d57816020015b60608152602001906001900390816124785790505b50925060005b848110156125995760006060308888858181106124ac57fe5b90506020028101906124be9190615e3f565b866040516020016124d193929190615092565b60408051601f19818403018152908290526124eb916150b8565b600060405180830381855af49150503d8060008114612526576040519150601f19603f3d011682016040523d82523d6000602084013e61252b565b606091505b5091509150816125775760448151101561254457600080fd5b6004810190508080602001905181019061255e9190614ace565b60405162461bcd60e51b81526004016107fb9190615334565b8086848151811061258457fe5b60209081029190910101525050600101612493565b50505092915050565b6125aa614654565b6000828152601060205260409081902081516102208101909252816101c081018260038282826020028201916000905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116125da579050505050505081526020016001820154815260200160028201548152602001600382015481526020016004820154815260200160058201548152602001600682015481526020016007820160028060200260405190810160405280929190826002801561269d576020028201915b815481526020019060010190808311612689575b5050509183525050604080518082019182905260209092019190600984019060029082845b8154815260200190600101908083116126c2575050509183525050604080518082019182905260209092019190600b84019060029082845b8154815260200190600101908083116126fa575050509183525050600d82015460ff80821615156020808501919091526101008084049092161515604080860191909152620100009093046001600160a01b03166060850152600e850180548451600260018316159095026000190190911693909304601f81018390048302840183019094528383526080909401939192908301828280156127dd5780601f106127b2576101008083540402835291602001916127dd565b820191906000526020600020905b8154815290600101906020018083116127c057829003601f168201915b5050505050815250509050919050565b600b5490565b6001600160a01b0316600090815260156020526040902054620f42400190565b6000878152601060205260409020600461282c89610c2e565b600781111561283757fe5b146128545760405162461bcd60e51b81526004016107fb906159b9565b600354604051630d3d4c7160e11b81526000916001600160a01b031690631a7a98e290612885908b9060040161513e565b604080518083038186803b15801561289c57600080fd5b505afa1580156128b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128d49190614b37565b51600480546040516304e8852f60e11b81529293506000926001600160a01b03909116916309d10a5e9161290c9186918d910161506e565b60206040518083038186803b15801561292457600080fd5b505afa158015612938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061295c9190614a4c565b9050826003015481146129815760405162461bcd60e51b81526004016107fb906158e5565b600283018054908a90556003840183905560018401546129a7908460008b8b8b8b613f38565b6004850155600c840154600b850154600091116129c55760016129c8565b60005b90506129e88560090182600281106129dc57fe5b01548660060154614043565b8560090182600281106129f757fe5b0155612a17600786018260028110612a0b57fe5b01548660060154613dca565b856007018260028110612a2657fe5b0155600060068601819055612a3a8d613d7a565b90508060098701600001541080612a545750600a86015481115b612a5e5742612a64565b600b5442015b865467ffffffffffffffff19166001600160401b0391821617808855600c5467ffffffffffffffff60401b198216600160401b9284169091018316820217808955600d805467ffffffffffffffff60801b198316600160801b94909304851601909316919091021787558601805460ff191660011790558b838e7fd11ec0a82b67846e80d77c897fa0e54e2d81a0275e18cb2d40b9f534d9b738ad612b07613bef565b604051612b14919061518d565b60405180910390a485546001600160401b03428116911611612b58578c600080516020615f378339815191526000604051612b4f919061513e565b60405180910390a25b50505050505050505050505050565b60008781526010602052604090206003612b8089610c2e565b6007811115612b8b57fe5b14612ba85760405162461bcd60e51b81526004016107fb906159f0565b6001861115612bc95760405162461bcd60e51b81526004016107fb90615a6c565b6000612be982600101548360030154612be0613bef565b89898989613f38565b9050612c0582600b018860028110612bfd57fe5b015482613dca565b82600b018860028110612c1457fe5b0155600089815260126020526040812081612c2d613bef565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050612c5a8989614275565b8114612c785760405162461bcd60e51b81526004016107fb90615632565b60008a815260126020526040812090612c8f613bef565b6001600160a01b03166001600160a01b03168152602001908152602001600020600090556000612cbf8b84613856565b9050612ccf846006015482613dca565b600685015588612cdd613bef565b6001600160a01b03168c7f90285c90067ec863f95f2423d6cc031a545257d9b53dfb1974a65b46bd4a55bd60405160405180910390a46005840154600b85018054612d29916001610d99565b1415612d7c57835467ffffffffffffffff60801b1916600160801b426001600160401b0316021784556040518b90600080516020615f3783398151915290612d739060029061513e565b60405180910390a25b6005546006546001600160a01b03918216916393c45535911683612d9e613bef565b60016040518563ffffffff1660e01b8152600401612dbf949392919061526c565b600060405180830381600087803b158015612dd957600080fd5b505af1158015612ded573d6000803e3d6000fd5b505050505050505050505050505050565b60008981526010602052604090206001871115612e2d5760405162461bcd60e51b81526004016107fb90615a6c565b6001612e388b610c2e565b6007811115612e4357fe5b14612e605760405162461bcd60e51b81526004016107fb90615669565b6000612e6b8b613d7a565b90506000612e9288612e8d84866009018d60028110612e8657fe5b0154614043565b6142a8565b905060008111612eb45760405162461bcd60e51b81526004016107fb90615a99565b60008c8152601160205260408120612f079082612ecf613bef565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008c81526020019081526020016000205483613dca565b9050612f2784600101548560030154612f1e613bef565b8b8b8b8b613f38565b811115612f465760405162461bcd60e51b81526004016107fb9061570c565b612f528360095461402e565b81101580612f78575082612f76856009018c60028110612f6e57fe5b015484613dca565b145b612f945760405162461bcd60e51b81526004016107fb90615524565b612fae846009018b60028110612fa657fe5b015483613dca565b846009018b60028110612fbd57fe5b015560008d81526011602052604081208291612fd7613bef565b6001600160a01b03168152602080820192909252604090810160009081208e825290925290205560018a1480156130135750600d84015460ff16155b80156130225750600a84015483145b801561311e5750600e8401805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152633268b39f60e21b9361309593919290918301828280156119e25780601f106119b7576101008083540402835291602001916119e2565b6001600160e01b031916148061311e5750600e8401805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815263bae82ec960e01b9361311293919290918301828280156119e25780601f106119b7576101008083540402835291602001916119e2565b6001600160e01b031916145b801561313b5750600d8401546201000090046001600160a01b0316155b156132a857600e8401805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181526000936131a69391929091830182828015611b415780601f10611b1657610100808354040283529160200191611b41565b6000818152601460205260409020549091506131c3906001613dca565b60008281526014602090815260409182902092909255600e870180548251601f6002600019610100600186161502019093169290920491820185900485028101850190935280835260609361327d939291908301828280156132665780601f1061323b57610100808354040283529160200191613266565b820191906000526020600020905b81548152906001019060200180831161324957829003601f168201915b505050505060036000198161327757fe5b04612179565b90506132898f826141ac565b6132a55760405162461bcd60e51b81526004016107fb906153ed565b50505b896132b1613bef565b6001600160a01b03168e7f36de51a8af0dcecf368691aa77f69ba4d4e7974e9c709f33aeaad0e7ac5af1b8856040516132ea919061513e565b60405180910390a46009840154831480156133085750600a84015483145b156133a557835467ffffffffffffffff1916426001600160401b0390811691909117808655600c5467ffffffffffffffff60401b198216600160401b9284169091018316820217808755600d5467ffffffffffffffff60801b198216600160801b93909204841601909216021784556040518d90600080516020615f37833981519152906133989060009061513e565b60405180910390a2613482565b891580156133b65750600984015483145b806133cf575060018a1480156133cf5750600a84015483145b1561348257600b8054855467ffffffffffffffff1916429091016001600160401b0390811691909117808755600c5467ffffffffffffffff60401b198216600160401b9284169091018316820217808855600d5467ffffffffffffffff60801b198216600160801b939092048416019092160217855561345290850160006146e0565b83600501600090558c600080516020615f378339815191526000604051613479919061513e565b60405180910390a25b6005546006546040516307dba22560e31b81526001600160a01b0392831692633edd1128926134bc92911690600090600190600401615249565b600060405180830381600087803b1580156134d657600080fd5b505af11580156134ea573d6000803e3d6000fd5b50506003546001600160a01b0316915063096abb499050613509613bef565b8660020154856040518463ffffffff1660e01b815260040161352d939291906151cf565b600060405180830381600087803b15801561354757600080fd5b505af115801561355b573d6000803e3d6000fd5b50506003546001600160a01b0316915063446c1aa290508d8d3061357d613bef565b896002015488306040518863ffffffff1660e01b81526004016135a69796959493929190615dda565b600060405180830381600087803b1580156135c057600080fd5b505af11580156135d4573d6000803e3d6000fd5b5050505050505050505050505050505050565b6000818152601060205260408120816135ff84613d7a565b905080600983016001015410806136195750600982015481115b1561365b578160005b600491828204019190066008029054906101000a90046001600160401b031662093a80016001600160401b031642101592505050610bf1565b816002613622565b6000546001600160a01b031681565b6003546001600160a01b031690565b6000868152601060205260409020600261369a88610c2e565b60078111156136a557fe5b146136c25760405162461bcd60e51b81526004016107fb9061542f565b856136df5760405162461bcd60e51b81526004016107fb90615b13565b60006136f682600101548360030154612be0613bef565b60008981526012602052604081209192509081613711613bef565b6001600160a01b03166001600160a01b0316815260200190815260200160002054141561374c57613746826005015482613dca565b60058301555b60008881526012602052604081208891613764613bef565b6001600160a01b03168152602081019190915260400160002055613786613bef565b6001600160a01b0316887f918e84941a111dde88f3d5739c3e63ffa70d869cbbfd4ecbab1dbb3b379055f960405160405180910390a36137cc8260040154600a5461402e565b82600501541061384c57815467ffffffffffffffff60401b1916600160401b426001600160401b038181169290920292909217808555600d5490920116600160801b0267ffffffffffffffff60801b199091161782556040518890600080516020615f37833981519152906138439060019061513e565b60405180910390a25b5050505050505050565b60008281526010602052604081206005810154829061387690859061400a565b905060006138906009840160010154600985016000610d99565b90506138a761389f838361402e565b60085461402e565b9695505050505050565b600085815260106020526040902060066138ca87610c2e565b60078111156138d557fe5b14806138f4575060076138e787610c2e565b60078111156138f257fe5b145b6139105760405162461bcd60e51b81526004016107fb90615ca9565b60008061391e8886866114bf565b60008a81526011602090815260408083206001600160a01b038b1684528252808320898452909152902054919350915061396a5760405162461bcd60e51b81526004016107fb906156a0565b60008881526011602090815260408083206001600160a01b03808a1685529083528184208885529092528083209290925560055460065492516393c4553560e01b8152908216926393c45535926139cd9291169086908a9060019060040161526c565b600060405180830381600087803b1580156139e757600080fd5b505af11580156139fb573d6000803e3d6000fd5b505050506000811115613a7a57600354600284015460405163fce891a560e01b81526001600160a01b039092169163fce891a591613a47918b918b918b90600089900390600401615e13565b600060405180830381600087803b158015613a6157600080fd5b505af1158015613a75573d6000803e3d6000fd5b505050505b83856001600160a01b0316897f388e060f12fe3bf76a4ba6d79050cbfa0484dfbfc3a2b866afbcbf4058b24bfe85604051613ab5919061513e565b60405180910390a45050505050505050565b60009081526014602052604090205490565b60008381526011602090815260408083206001600160a01b038616845282528083208484529091529020545b9392505050565b600083815260106020526040812060048101548291908290613b2f90879061400a565b600583015460008981526012602090815260408083206001600160a01b038b16845290915290205491925090613b6c57613b698188613dca565b90505b6000613b78888361400a565b90506000613b926009860160010154600987016000610d99565b9050613ba161389f858361402e565b613bae61389f848461402e565b965096505050505050935093915050565b600354600160a01b900460ff1690565b6001600160a01b0316600090815260156020526040902080546001019055565b6000363330148015613c02575060348110155b15613c915760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88114613c7d573393505050506107bc565b508101516001600160a01b03169150613c9a565b339150506107bc565b5090565b60006001600160a01b038316301415613cb957506001612366565b6001546001600160a01b0384811691161415613cd757506001612366565b6000546001600160a01b0316613cef57506000612366565b60005460405163b700961360e01b81526001600160a01b039091169063b700961390613d239086903090879060040161521c565b60206040518083038186803b158015613d3b57600080fd5b505afa158015613d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d739190614a18565b9050612366565b600081815260106020526040812060040154600754612366919061402e565b60006302468acf60e31b613dac83613e15565b6001600160e01b03191614613dc2576005612366565b506006919050565b808201828110156123665760405162461bcd60e51b81526004016107fb90615788565b60006001600160a01b03821615613e045781612366565b50506003546001600160a01b031690565b6020015190565b60248101516044820151600354604051630d3d4c7160e11b8152600093929184916001600160a01b0390911690631a7a98e290613e5d90869060040161513e565b604080518083038186803b158015613e7457600080fd5b505afa158015613e88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eac9190614b37565b51600480546040516304e8852f60e11b81529293506001600160a01b0316916309d10a5e91613edf91859187910161506e565b60206040518083038186803b158015613ef757600080fd5b505afa158015613f0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f2f9190614a4c565b95945050505050565b600080613f47868686866142bf565b9050808914613f685760405162461bcd60e51b81526004016107fb90615bc2565b60208501516014870151603488015160488901516003546001600160a01b03808516911614613fa95760405162461bcd60e51b81526004016107fb90615495565b8b8214613fc85760405162461bcd60e51b81526004016107fb906157b6565b8a6001600160a01b0316816001600160a01b031614613ff95760405162461bcd60e51b81526004016107fb90615743565b50919b9a5050505050505050505050565b60008161401f84670de0b6b3a76400006142e7565b8161402657fe5b049392505050565b6000670de0b6b3a764000061401f84846142e7565b808203828111156123665760405162461bcd60e51b81526004016107fb90615466565b6000612366600183614043565b600081604051602001614086919061510d565b604051602081830303815290604052805190602001209050919050565b6000806140af83613e15565b90506001600160e01b03198116633268b39f60e21b14806140e057506001600160e01b0319811663bae82ec960e01b145b6140e657fe5b6064830151608484015160006001600160e01b03198416633268b39f60e21b1480156141125750816019145b156141455782604051602001614128919061513e565b6040516020818303038152906040528051906020012094506141a3565b60006001600160e01b03198516633268b39f60e21b1461416657608461416a565b6101845b61ffff169050808701519150838260405160200161418992919061506e565b604051602081830303815290604052805190602001209550505b50505050919050565b6000828152601060205260408120600d015481906141d8906201000090046001600160a01b0316613ded565b90506000808451602086016000855af1949350505050565b6000806141fc83613e15565b90506001600160e01b03198116633268b39f60e21b148061422d57506001600160e01b0319811663bae82ec960e01b145b61423357fe5b60006001600160e01b03198216633268b39f60e21b146142545760c4614257565b60e45b60ff1690506000818501526044845103606485012092505050919050565b6000828260405160200161428a92919061506e565b60405160208183030381529060405280519060200120905092915050565b6000818311156142b85781613b05565b5090919050565b6000806142dc86805190602001208680519060200120868661431e565b509695505050505050565b6000811580614302575050808202828282816142ff57fe5b04145b6123665760405162461bcd60e51b81526004016107fb906155cd565b60006143286146ee565b61433061470c565b5060408051808201909152868152610100602082015261434e614723565b8681526143596146ee565b60005b86518110156144355760006143708961449f565b60ff169050806001901b19891698506143958160ff03866144f790919063ffffffff16565b602086018190529095506000906143ab9061455e565b602087015290506143bb856145b8565b8482600281106143c757fe5b602002015288518990600019858203019081106143e057fe5b60200260200101518482600103600281106143f757fe5b60200201818152505083604051602001614411919061501a565b60408051601f1981840301815291905280516020909101208552505060010161435c565b50866144475760208201839052614488565b60006144528861449f565b60ff16905061446d8160ff03856144f790919063ffffffff16565b602085018190529094506144809061455e565b602085015250505b614491826145b8565b999098509650505050505050565b6000816144be5760405162461bcd60e51b81526004016107fb90615865565b8160805b60018160ff1610610ef957600019600160ff83161b0182166144ec579182019160ff81169190911c905b60011c607f166144c2565b6144ff61470c565b61450761470c565b8360200151831115801561451d57506101008311155b61452357fe5b60208201839052826145385760008252614547565b835160011960ff8590031b1682525b60208085015184900390820152925190911b825291565b600061456861470c565b600083602001511161458c5760405162461bcd60e51b81526004016107fb90615a27565b5050805160408051808201909152825160011b8152602092830151600019019281019290925260ff1c91565b805160208083015180820151905160405160009461408694909392910161507c565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061461b57805160ff1916838001178555614648565b82800160010185558215614648579182015b8281111561464857825182559160200191906001019061462d565b50613c9a929150614742565b604051806101c00160405280614668614757565b81526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081526020016146a26146ee565b81526020016146af6146ee565b81526020016146bc6146ee565b81526000602082018190526040820181905260608083019190915260809091015290565b506000815560010160009055565b60405180604001604052806002906020820280368337509192915050565b604080518082019091526000808252602082015290565b60408051808201909152600081526020810161473d61470c565b905290565b5b80821115613c9a5760008155600101614743565b60405180606001604052806003906020820280368337509192915050565b8035610bf181615f13565b600082601f830112614790578081fd5b81356001600160401b038111156147a357fe5b60208082026147b3828201615e8a565b838152935081840185830182870184018810156147cf57600080fd5b600092505b848310156147f25780358252600192909201919083019083016147d4565b505050505092915050565b600082601f83011261480d578081fd5b813561482061481b82615ead565b615e8a565b915080825283602082850101111561483757600080fd5b8060208401602084013760009082016020015292915050565b803560ff81168114610bf157600080fd5b600060208284031215614872578081fd5b8135613b0581615f13565b60006020828403121561488e578081fd5b8151613b0581615f13565b600080600080600060a086880312156148b0578081fd5b85356148bb81615f13565b945060208601356001600160401b038111156148d5578182fd5b6148e1888289016147fd565b94505060408601359250606086013591506148fe60808701614850565b90509295509295909350565b600080600080600080600060e0888a031215614924578182fd5b873561492f81615f13565b9650602088013595506040880135945060608801356001600160401b03811115614957578283fd5b6149638a828b016147fd565b9450506080880135925060a0880135915061498060c08901614850565b905092959891949750929550565b600080602083850312156149a0578182fd5b82356001600160401b03808211156149b6578384fd5b818501915085601f8301126149c9578384fd5b8135818111156149d7578485fd5b86602080830285010111156149ea578485fd5b60209290920196919550909350505050565b600060208284031215614a0d578081fd5b8135613b0581615f28565b600060208284031215614a29578081fd5b8151613b0581615f28565b600060208284031215614a45578081fd5b5035919050565b600060208284031215614a5d578081fd5b5051919050565b600060208284031215614a75578081fd5b81356001600160e01b031981168114613b05578182fd5b60008060408385031215614a9e578182fd5b82356001600160401b03811115614ab3578283fd5b614abf858286016147fd565b95602094909401359450505050565b600060208284031215614adf578081fd5b81516001600160401b03811115614af4578182fd5b8201601f81018413614b04578182fd5b8051614b1261481b82615ead565b818152856020838501011115614b26578384fd5b613f2f826020830160208601615eda565b600060408284031215614b48578081fd5b604051604081018181106001600160401b0382111715614b6457fe5b604052825181526020928301519281019290925250919050565b600080600060608486031215614b92578081fd5b833592506020840135614ba481615f13565b929592945050506040919091013590565b60008060008060008060c08789031215614bcd578384fd5b863595506020870135945060408701356001600160401b0380821115614bf1578586fd5b614bfd8a838b016147fd565b95506060890135915080821115614c12578384fd5b614c1e8a838b016147fd565b94506080890135935060a0890135915080821115614c3a578283fd5b50614c4789828a01614780565b9150509295509295509295565b600080600080600080600060e0888a031215614c6e578081fd5b87359650602088013595506040880135945060608801356001600160401b0380821115614c99578283fd5b614ca58b838c016147fd565b955060808a0135915080821115614cba578283fd5b614cc68b838c016147fd565b945060a08a0135935060c08a0135915080821115614ce2578283fd5b50614cef8a828b01614780565b91505092959891949750929550565b60008060408385031215614d10578182fd5b50508035926020909101359150565b600080600060608486031215614d33578081fd5b83359250602084013591506040840135614d4c81615f13565b809150509250925092565b600080600080600080600080610100898b031215614d73578182fd5b8835975060208901359650614d8a60408a01614775565b955060608901356001600160401b0380821115614da5578384fd5b614db18c838d016147fd565b965060808b0135915080821115614dc6578384fd5b614dd28c838d016147fd565b955060a08b0135915080821115614de7578384fd5b614df38c838d016147fd565b945060c08b0135935060e08b0135915080821115614e0f578283fd5b50614e1c8b828c01614780565b9150509295985092959890939650565b600080600080600060a08688031215614e43578283fd5b8535945060208601359350604086013592506060860135614e6381615f13565b949793965091946080013592915050565b60008060008060008060008060006101208a8c031215614e92578283fd5b8935985060208a0135975060408a0135965060608a0135955060808a0135945060a08a01356001600160401b0380821115614ecb578485fd5b614ed78d838e016147fd565b955060c08c0135915080821115614eec578485fd5b614ef88d838e016147fd565b945060e08c013593506101008c0135915080821115614f15578283fd5b50614f228c828d01614780565b9150509295985092959850929598565b600080600080600080600080610100898b031215614f4e578182fd5b505086359860208801359850604088013597606081013597506080810135965060a0810135955060c0810135945060e0013592509050565b6001600160a01b03169052565b8060005b6002811015614fb6578151845260209384019390910190600101614f97565b50505050565b8060005b6003811015614fb65781516001600160401b0316845260209384019390910190600101614fc0565b15159052565b60008151808452615006816020860160208601615eda565b601f01601f19169290920160200192915050565b60008183825b600281101561503f578151835260209283019290910190600101615020565b50505060408201905092915050565b91825260601b6bffffffffffffffffffffffff1916602082015260340190565b918252602082015260400190565b9283526020830191909152604082015260600190565b60008385833783820181815283516150ae818360208801615eda565b0195945050505050565b600082516150ca818460208701615eda565b9190910192915050565b600084516150e6818460208901615eda565b919091019283525060601b6bffffffffffffffffffffffff19166020820152603401919050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b90815260200190565b60008582526bffffffffffffffffffffffff198560601b166020830152836034830152825161517d816054850160208701615eda565b9190910160540195945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b038416815260208101839052606081016151c183615f06565b826040830152949350505050565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b03848116825283166020820152606060408201819052600090613f2f90830184614fee565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b6001600160a01b0393909316835260208301919091521515604082015260600190565b6001600160a01b039485168152602081019390935292166040820152901515606082015260800190565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156152e957603f198886030184526152d7858351614fee565b945092850192908501906001016152bb565b5092979650505050505050565b901515815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6001600160e01b031991909116815260200190565b600060208252613b056020830184614fee565b6000604082016040835281855460018082166000811461536e576001811461538c576153c5565b60028304607f16855260ff19831660608801526080870193506153c5565b6002830480865261539c8a615ece565b875b828110156153bb5781548a8201606001529084019060200161539e565b8901606001955050505b5050508092505050613b056020830184614fe8565b602081016153e783615f06565b91905290565b60208082526022908201527f766f74696e672d7265702d657870656e6469747572652d6c6f636b2d6661696c604082015261195960f21b606082015260800190565b6020808252601a908201527f766f74696e672d7265702d6d6f74696f6e2d6e6f742d6f70656e000000000000604082015260600190565b60208082526015908201527464732d6d6174682d7375622d756e646572666c6f7760581b604082015260600190565b60208082526027908201527f636f6c6f6e792d657874656e73696f6e2d696e76616c69642d636f6c6f6e792d6040820152666164647265737360c81b606082015260800190565b60208082526028908201527f636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e737560408201526718d8d95cdcd99d5b60c21b606082015260800190565b6020808252601d908201527f766f74696e672d7265702d696e73756666696369656e742d7374616b65000000604082015260600190565b602080825260149082015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604082015260600190565b60208082526024908201527f766f74696e672d657865637574696f6e2d6661696c65642d6e6f742d6f6e652d6040820152637765656b60e01b606082015260800190565b60208082526014908201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604082015260600190565b6020808252601e908201527f766f74696e672d7265702d616c72656164792d696e697469616c697365640000604082015260600190565b6020808252601a908201527f766f74696e672d7265702d7365637265742d6e6f2d6d61746368000000000000604082015260600190565b6020808252601d908201527f766f74696e672d7265702d6d6f74696f6e2d6e6f742d7374616b696e67000000604082015260600190565b6020808252601b908201527f766f74696e672d7265702d6e6f7468696e672d746f2d636c61696d0000000000604082015260600190565b6020808252818101527f766f74696e672d7265702d677265617465722d7468616e2d68616c662d776164604082015260600190565b6020808252601b908201527f766f74696e672d7265702d696e73756666696369656e742d7265700000000000604082015260600190565b60208082526025908201527f636f6c6f6e792d657874656e73696f6e2d696e76616c69642d757365722d6164604082015264647265737360d81b606082015260800190565b60208082526014908201527364732d6d6174682d6164642d6f766572666c6f7760601b604082015260600190565b60208082526021908201527f636f6c6f6e792d657874656e73696f6e2d696e76616c69642d736b696c6c2d696040820152601960fa1b606082015260800190565b6020808252601c908201527f766f74696e672d7265702d696e76616c69642d646f6d61696e2d696400000000604082015260600190565b6020808252601a908201527f766f74696e672d7265702d63616c6c65722d6e6f742d726f6f74000000000000604082015260600190565b6020808252601e908201527f636f6c6f6e792d70617472696369612d747265652d7a65726f2d73656c660000604082015260600190565b60208082526029908201527f6d6574617472616e73616374696f6e2d7369676e65722d7369676e617475726560408201526805adad2e6dac2e8c6d60bb1b606082015260800190565b6020808252601f908201527f766f74696e672d7265702d696e76616c69642d646f6d61696e2d70726f6f6600604082015260600190565b6020808252601b908201527f657874656e73696f6e2d616c72656164792d696e7374616c6c65640000000000604082015260600190565b6020808252601e908201527f766f74696e672d7265702d646973616c6c6f7765642d66756e6374696f6e0000604082015260600190565b602080825260159082015274766f74696e672d7265702d6e6f742d61637469766560581b604082015260600190565b6020808252601c908201527f766f74696e672d7265702d6d6f74696f6e2d6e6f742d636c6f73656400000000604082015260600190565b6020808252601c908201527f766f74696e672d7265702d6d6f74696f6e2d6e6f742d72657665616c00000000604082015260600190565b60208082526025908201527f636f6c6f6e792d70617472696369612d747265652d7a65726f2d73656c662d6c6040820152640cadccee8d60db1b606082015260800190565b602080825260139082015272766f74696e672d7265702d6261642d766f746560681b604082015260600190565b6020808252601590820152741d9bdd1a5b99cb5c995c0b5898590b585b5bdd5b9d605a1b604082015260600190565b6020808252602b908201527f766f74696e672d7265702d616c742d7461726765742d63616e6e6f742d62652d60408201526a626173652d636f6c6f6e7960a81b606082015260800190565b60208082526019908201527f766f74696e672d7265702d696e76616c69642d73656372657400000000000000604082015260600190565b60208082526021908201527f766f74696e672d7265702d6d6f74696f6e2d6e6f742d66696e616c697a61626c6040820152606560f81b606082015260800190565b6020808252601b908201527f766f74696e672d7265702d677265617465722d7468616e2d7761640000000000604082015260600190565b60208082526022908201527f636f6c6f6e792d657874656e73696f6e2d696e76616c69642d726f6f742d68616040820152610e6d60f31b606082015260800190565b6020808252601f908201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604082015260600190565b6020808252601b908201527f636f6c6f6e792d657874656e73696f6e2d646570726563617465640000000000604082015260600190565b6020808252601a908201527f766f74696e672d7265702d706572696f642d746f6f2d6c6f6e67000000000000604082015260600190565b6020808252601f908201527f766f74696e672d7265702d6d6f74696f6e2d6e6f742d636c61696d61626c6500604082015260600190565b600060208252615cf4602083018451614fbc565b60208301516080830152604083015160a0830152606083015160c0830152608083015160e083015260a0830151610100818185015260c08501519150610120828186015260e08601519250610140615d4e81870185614f93565b91860151925061018091615d6486840185614f93565b818701519350615d786101c0870185614f93565b8601519250615d8d9050610200850183614fe8565b6101608501519150615da3610220850183614fe8565b8401519050615db6610240840182614f86565b506101a083015161026083810152615dd2610280840182614fee565b949350505050565b96875260208701959095526001600160a01b0393841660408701529183166060860152608085015260a08401521660c082015260e00190565b948552602085019390935260408401919091526001600160a01b03166060830152608082015260a00190565b6000808335601e19843603018112615e55578283fd5b8301803591506001600160401b03821115615e6e578283fd5b602001915036819003821315615e8357600080fd5b9250929050565b6040518181016001600160401b0381118282101715615ea557fe5b604052919050565b60006001600160401b03821115615ec057fe5b50601f01601f191660200190565b60009081526020902090565b60005b83811015615ef5578181015183820152602001615edd565b83811115614fb65750506000910152565b60088110615f1057fe5b50565b6001600160a01b0381168114615f1057600080fd5b8015158114615f1057600080fdfe0ae897e29e11067b0051d7f0047638509aeaeacf4e5c4146283aa5dd6ad03fd4a26469706673582212208022d83b78ac3747261ebbcf68799e9d205feaad6fa201953197247f816f36b864736f6c63430007030033"; diff --git a/src/contracts/extensions/votingReputation/8/index.d.ts b/src/contracts/extensions/votingReputation/8/index.d.ts new file mode 100644 index 000000000..910d6a045 --- /dev/null +++ b/src/contracts/extensions/votingReputation/8/index.d.ts @@ -0,0 +1,29 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BigNumberish, + EventDescription, + FunctionDescription, +} from "ethers/utils"; + +export interface TransactionOverrides { + gasLimit?: BigNumberish | Promise; + gasPrice?: BigNumberish | Promise; + nonce?: BigNumberish | Promise; + value?: BigNumberish | Promise; + from?: string | Promise; + chainId?: number | Promise; +} + +export interface TypedEventDescription< + T extends Pick +> extends EventDescription { + encodeTopics: T["encodeTopics"]; +} + +export interface TypedFunctionDescription< + T extends Pick +> extends FunctionDescription { + encode: T["encode"]; +} diff --git a/src/versions.ts b/src/versions.ts index 39542dc20..86cf62ffc 100644 --- a/src/versions.ts +++ b/src/versions.ts @@ -155,6 +155,7 @@ export enum VotingReputationExtensionVersion { FuchsiaLightweightSpaceshipTwo = 5, FuchsiaLightweightSpaceshipThree = 6, GreenLightweightSpaceship = 7, + GreenLightweightSpaceshipTwo = 8, } const votingReputationReleaseMap = { @@ -165,6 +166,7 @@ const votingReputationReleaseMap = { [VotingReputationExtensionVersion.FuchsiaLightweightSpaceshipTwo]: `flwss2`, [VotingReputationExtensionVersion.FuchsiaLightweightSpaceshipThree]: `flwss3`, [VotingReputationExtensionVersion.GreenLightweightSpaceship]: 'glwss', + [VotingReputationExtensionVersion.GreenLightweightSpaceshipTwo]: 'develop', }; export const CurrentVotingReputationVersion = parseInt( @@ -229,6 +231,14 @@ const VotingReputationExtensionVersionIncompatibilityMap: Record< ColonyVersion.LightweightSpaceship, ColonyVersion.CeruleanLightweightSpaceship, ], + [VotingReputationExtensionVersion.GreenLightweightSpaceshipTwo]: [ + ColonyVersion.GoerliGlider, + ColonyVersion.Glider, + ColonyVersion.AuburnGlider, + ColonyVersion.BurgundyGlider, + ColonyVersion.LightweightSpaceship, + ColonyVersion.CeruleanLightweightSpaceship, + ], }; const VotingReputationExtensionVersionCompatibilityMap: Record< From 2c35f9f5ce81221b6a2845df0d7d2ecd0918c2ea Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Wed, 14 Dec 2022 16:51:49 +0200 Subject: [PATCH 05/15] Add: `VotingReputation` `v8` client --- .../8/VotingReputationClient.ts | 189 ++++++++++++++++++ .../8/VotingReputationClientAddons.ts | 65 ++++++ .../VotingReputationClientEncodeInterfaces.ts | 15 ++ 3 files changed, 269 insertions(+) create mode 100644 src/clients/Extensions/VotingReputation/8/VotingReputationClient.ts create mode 100644 src/clients/Extensions/VotingReputation/8/VotingReputationClientAddons.ts create mode 100644 src/clients/Extensions/VotingReputation/8/VotingReputationClientEncodeInterfaces.ts diff --git a/src/clients/Extensions/VotingReputation/8/VotingReputationClient.ts b/src/clients/Extensions/VotingReputation/8/VotingReputationClient.ts new file mode 100644 index 000000000..00ded72ec --- /dev/null +++ b/src/clients/Extensions/VotingReputation/8/VotingReputationClient.ts @@ -0,0 +1,189 @@ +/* + * VotingReputation Client Version 8 autogenerated by + * @colony/colony-js version v4.2.2-rc.0 from colonyNetwork tag 'flwss' + * + * Feel free to modify as needed! + */ + +/* eslint-disable @typescript-eslint/no-explicit-any */ + +// import { ClientType } from '../../../../constants'; +// import { VotingReputation__factory as VotingReputationFactory } from '../../../../contracts/extensions/votingReputation/8/factories/VotingReputation__factory'; +// import { VotingReputation } from '../../../../contracts/extensions/votingReputation/8/VotingReputation'; +// import { ExtendedIColony } from '../../../../clients/Colony/extensions/commonExtensions'; + +// import { +// getVotingReputationClientAddons, +// getVotingReputationClientEstimateAddons, +// } from './VotingReputationClientAddons'; + +import { ClientType } from '../../../../constants'; +import { VotingReputation__factory as VotingReputationFactory } from '../../../../contracts/extensions/votingReputation/8/factories/VotingReputation__factory'; +import { VotingReputation } from '../../../../contracts/extensions/votingReputation/8/VotingReputation'; +import { ExtendedIColony } from '../../../../clients/Colony/extensions/commonExtensions'; + +import * as currentVersionAddons from './VotingReputationClientAddons'; +import * as version1Addons from '../1/VotingReputationClientAddons'; +import * as version2Addons from '../2/VotingReputationClientAddons'; +import * as version3Addons from '../3/VotingReputationClientAddons'; +import * as version4Addons from '../4/VotingReputationClientAddons'; +import * as version5Addons from '../5/VotingReputationClientAddons'; +import * as version6Addons from '../6/VotingReputationClientAddons'; +import * as version7Addons from '../7/VotingReputationClientAddons'; + +import * as currentVersionEncodedInterfaces from './VotingReputationClientEncodeInterfaces'; +import * as version4EncodedInterfaces from '../4/VotingReputationClientEncodeInterfaces'; +import * as version5EncodedInterfaces from '../5/VotingReputationClientEncodeInterfaces'; +import * as version6EncodedInterfaces from '../6/VotingReputationClientEncodeInterfaces'; +import * as version7EncodedInterfaces from '../7/VotingReputationClientEncodeInterfaces'; + +type VotingReputationEstimate = VotingReputation['estimate']; +interface VotingReputationEstimateWithAddons extends VotingReputationEstimate { + /* + * @TODO These needs to be specifically determined once we can integrate + * static code analysis into this lib + */ + [key: string]: any; +} + +export interface VotingReputationClient extends VotingReputation { + clientType: ClientType.VotingReputationClient; + estimate: VotingReputationEstimateWithAddons; + /* + * @TODO These needs to be specifically determined once we can integrate + * static code analysis into this lib + */ + [key: string]: any; +} + +const getVotingReputationClient = ( + address: string, + colonyClient: ExtendedIColony, +): VotingReputationClient => { + const votingReputationClient = VotingReputationFactory.connect( + address, + colonyClient.signer || colonyClient.provider, + ) as VotingReputationClient; + votingReputationClient.clientType = ClientType.VotingReputationClient; + + const addons = { + ...version1Addons.getVotingReputationClientAddons( + votingReputationClient, + colonyClient, + ), + ...version2Addons.getVotingReputationClientAddons( + votingReputationClient, + colonyClient, + ), + ...version3Addons.getVotingReputationClientAddons( + votingReputationClient, + colonyClient, + ), + ...version4Addons.getVotingReputationClientAddons( + votingReputationClient, + colonyClient, + ), + ...version5Addons.getVotingReputationClientAddons( + votingReputationClient, + colonyClient, + ), + ...version6Addons.getVotingReputationClientAddons( + votingReputationClient, + colonyClient, + ), + ...version7Addons.getVotingReputationClientAddons( + votingReputationClient, + colonyClient, + ), + ...currentVersionAddons.getVotingReputationClientAddons( + votingReputationClient, + colonyClient, + ), + }; + const addonsEstimate = { + ...version1Addons.getVotingReputationClientEstimateAddons( + votingReputationClient, + colonyClient, + ), + ...version2Addons.getVotingReputationClientEstimateAddons( + votingReputationClient, + colonyClient, + ), + ...version3Addons.getVotingReputationClientEstimateAddons( + votingReputationClient, + colonyClient, + ), + ...version4Addons.getVotingReputationClientEstimateAddons( + votingReputationClient, + colonyClient, + ), + ...version5Addons.getVotingReputationClientEstimateAddons( + votingReputationClient, + colonyClient, + ), + ...version6Addons.getVotingReputationClientEstimateAddons( + votingReputationClient, + colonyClient, + ), + ...version7Addons.getVotingReputationClientEstimateAddons( + votingReputationClient, + colonyClient, + ), + ...currentVersionAddons.getVotingReputationClientEstimateAddons( + votingReputationClient, + colonyClient, + ), + }; + + const encodedInterfaces = { + ...version4EncodedInterfaces.getVotingReputationClientEncodeInterfaces( + votingReputationClient, + colonyClient, + ), + ...version5EncodedInterfaces.getVotingReputationClientEncodeInterfaces( + votingReputationClient, + colonyClient, + ), + ...version6EncodedInterfaces.getVotingReputationClientEncodeInterfaces( + votingReputationClient, + colonyClient, + ), + ...version7EncodedInterfaces.getVotingReputationClientEncodeInterfaces( + votingReputationClient, + colonyClient, + ), + // eslint-disable-next-line max-len + ...currentVersionEncodedInterfaces.getVotingReputationClientEncodeInterfaces( + votingReputationClient, + colonyClient, + ), + }; + + Object.keys(addons).map((addonName) => { + votingReputationClient[addonName] = addons[addonName]; + return null; + }); + + Object.keys(addonsEstimate).map((addonName) => { + votingReputationClient.estimate[addonName] = addonsEstimate[addonName]; + return null; + }); + + Object.keys(encodedInterfaces).map((interfaceName) => { + /* + * @NOTE We're adding new interfaces to the functions list that the client + * implicitly doesn't know about + */ + // @ts-ignore + votingReputationClient.interface.functions[interfaceName] = { + encode: encodedInterfaces[interfaceName], + }; + return null; + }); + + return votingReputationClient; +}; + +export default getVotingReputationClient; + +/* eslint-enable */ diff --git a/src/clients/Extensions/VotingReputation/8/VotingReputationClientAddons.ts b/src/clients/Extensions/VotingReputation/8/VotingReputationClientAddons.ts new file mode 100644 index 000000000..8851229f1 --- /dev/null +++ b/src/clients/Extensions/VotingReputation/8/VotingReputationClientAddons.ts @@ -0,0 +1,65 @@ +/* + * VotingReputation Client Version 8 Addons autogenerated by + * @colony/colony-js version v4.2.2-rc.0 from colonyNetwork tag 'flwss' + * + * Feel free to modify as needed! + */ + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any */ + +import { ExtendedIColony } from '../../../../clients/Colony/extensions/commonExtensions'; + +import { VotingReputationClient } from './VotingReputationClient'; + +/* + * Extra client methods + */ +export const getVotingReputationClientAddons = ( + votingReputationClient: VotingReputationClient, + colonyClient: ExtendedIColony, +): Record => ({ + /* + * Example withProofs method + * + * contractCallWithProofs: async ( + * _domainId: BigNumberish, + * overrides?: TransactionOverrides, + * ): Promise => { + * const [extensionPDID, extensionCSI] = await getExtensionPermissionProofs( + * colonyClient, + * _domainId, + * votingReputationClient.address, + * ); + * return votingReputationClient.contractCall(extensionPDID, extensionCSI, _domainId, overrides); + * }, + */ +}); + +/* + * Extra client methods estimates + * + * These are needed! Don't skip them! + */ +export const getVotingReputationClientEstimateAddons = ( + votingReputationClient: VotingReputationClient, + colonyClient: ExtendedIColony, +): Record => ({ + /* + * Example withProofs estimate method + * (Mostly the same as the actual method, just that it calls the client + * estimate contract call and doesn't pass in the transaction overrides) + * + * contractCallWithProofs: async ( + * _domainId: BigNumberish, + * ): Promise => { + * const [extensionPDID, extensionCSI] = await getExtensionPermissionProofs( + * colonyClient, + * _domainId, + * votingReputationClient.address, + * ); + * return votingReputationClient.estimate.contractCall(extensionPDID, extensionCSI, _domainId); + * }, + */ +}); + +/* eslint-enable */ diff --git a/src/clients/Extensions/VotingReputation/8/VotingReputationClientEncodeInterfaces.ts b/src/clients/Extensions/VotingReputation/8/VotingReputationClientEncodeInterfaces.ts new file mode 100644 index 000000000..69dcd9f03 --- /dev/null +++ b/src/clients/Extensions/VotingReputation/8/VotingReputationClientEncodeInterfaces.ts @@ -0,0 +1,15 @@ +/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars */ + +import { ExtendedIColony } from '../../../Colony/extensions/commonExtensions'; + +import { VotingReputationClient } from './VotingReputationClient'; + +/* + * Extra client encode interfaces + */ +export const getVotingReputationClientEncodeInterfaces = ( + votingReputationClient: VotingReputationClient, + colonyClient: ExtendedIColony, +): Record Promise> => ({}); + +/* eslint-enable */ From 0ed37e7790702c2f1d4d293ae6af8aee0e26a100 Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Wed, 14 Dec 2022 16:56:25 +0200 Subject: [PATCH 06/15] Bump: change version to next stable patch `4.2.2-rc.1` --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b6470f7d8..a5635340d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@colony/colony-js", - "version": "v4.2.2-rc.0", + "version": "v4.2.2-rc.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 25ead6910..ece481c12 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@colony/colony-js", - "version": "v4.2.2-rc.0", + "version": "v4.2.2-rc.1", "main": "lib/index.js", "module": "lib-esm/index.js", "files": [ From dae35e7529be0a0a79f4e7f52ab9276c546c41bc Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Wed, 14 Dec 2022 17:13:40 +0200 Subject: [PATCH 07/15] Fix: `VotingReputationClient` V8 types --- .../8/VotingReputationClient.ts | 47 ++++++++----------- 1 file changed, 19 insertions(+), 28 deletions(-) diff --git a/src/clients/Extensions/VotingReputation/8/VotingReputationClient.ts b/src/clients/Extensions/VotingReputation/8/VotingReputationClient.ts index 00ded72ec..e2ea8a9c1 100644 --- a/src/clients/Extensions/VotingReputation/8/VotingReputationClient.ts +++ b/src/clients/Extensions/VotingReputation/8/VotingReputationClient.ts @@ -7,20 +7,11 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -// import { ClientType } from '../../../../constants'; -// import { VotingReputation__factory as VotingReputationFactory } from '../../../../contracts/extensions/votingReputation/8/factories/VotingReputation__factory'; -// import { VotingReputation } from '../../../../contracts/extensions/votingReputation/8/VotingReputation'; -// import { ExtendedIColony } from '../../../../clients/Colony/extensions/commonExtensions'; - -// import { -// getVotingReputationClientAddons, -// getVotingReputationClientEstimateAddons, -// } from './VotingReputationClientAddons'; - import { ClientType } from '../../../../constants'; import { VotingReputation__factory as VotingReputationFactory } from '../../../../contracts/extensions/votingReputation/8/factories/VotingReputation__factory'; import { VotingReputation } from '../../../../contracts/extensions/votingReputation/8/VotingReputation'; import { ExtendedIColony } from '../../../../clients/Colony/extensions/commonExtensions'; +import { VotingReputationClient as VotingReputationClient7 } from '../7/VotingReputationClient'; import * as currentVersionAddons from './VotingReputationClientAddons'; import * as version1Addons from '../1/VotingReputationClientAddons'; @@ -68,31 +59,31 @@ const getVotingReputationClient = ( const addons = { ...version1Addons.getVotingReputationClientAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version2Addons.getVotingReputationClientAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version3Addons.getVotingReputationClientAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version4Addons.getVotingReputationClientAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version5Addons.getVotingReputationClientAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version6Addons.getVotingReputationClientAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version7Addons.getVotingReputationClientAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...currentVersionAddons.getVotingReputationClientAddons( @@ -102,31 +93,31 @@ const getVotingReputationClient = ( }; const addonsEstimate = { ...version1Addons.getVotingReputationClientEstimateAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version2Addons.getVotingReputationClientEstimateAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version3Addons.getVotingReputationClientEstimateAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version4Addons.getVotingReputationClientEstimateAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version5Addons.getVotingReputationClientEstimateAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version6Addons.getVotingReputationClientEstimateAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version7Addons.getVotingReputationClientEstimateAddons( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...currentVersionAddons.getVotingReputationClientEstimateAddons( @@ -137,19 +128,19 @@ const getVotingReputationClient = ( const encodedInterfaces = { ...version4EncodedInterfaces.getVotingReputationClientEncodeInterfaces( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version5EncodedInterfaces.getVotingReputationClientEncodeInterfaces( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version6EncodedInterfaces.getVotingReputationClientEncodeInterfaces( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), ...version7EncodedInterfaces.getVotingReputationClientEncodeInterfaces( - votingReputationClient, + (votingReputationClient as unknown) as VotingReputationClient7, colonyClient, ), // eslint-disable-next-line max-len From 26a3e0166bc9940c830aac1e90bdcbce660aabe6 Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Fri, 16 Dec 2022 16:46:38 +0200 Subject: [PATCH 08/15] Add: generate contracts for all new versions from glwss2 --- .../extensions/coinMachine/6/CoinMachine.d.ts | 1734 +++++++++++++++++ .../6/factories/CoinMachine__factory.ts | 795 ++++++++ .../extensions/coinMachine/6/index.d.ts | 29 + .../oneTxPayment/4/OneTxPayment.d.ts | 1173 +++++++++++ .../4/factories/OneTxPayment__factory.ts | 531 +++++ .../extensions/oneTxPayment/4/index.d.ts | 29 + .../extensions/whitelist/3/Whitelist.d.ts | 1215 ++++++++++++ .../3/factories/Whitelist__factory.ts | 564 ++++++ .../extensions/whitelist/3/index.d.ts | 29 + src/versions.ts | 13 +- 10 files changed, 6110 insertions(+), 2 deletions(-) create mode 100644 src/contracts/extensions/coinMachine/6/CoinMachine.d.ts create mode 100644 src/contracts/extensions/coinMachine/6/factories/CoinMachine__factory.ts create mode 100644 src/contracts/extensions/coinMachine/6/index.d.ts create mode 100644 src/contracts/extensions/oneTxPayment/4/OneTxPayment.d.ts create mode 100644 src/contracts/extensions/oneTxPayment/4/factories/OneTxPayment__factory.ts create mode 100644 src/contracts/extensions/oneTxPayment/4/index.d.ts create mode 100644 src/contracts/extensions/whitelist/3/Whitelist.d.ts create mode 100644 src/contracts/extensions/whitelist/3/factories/Whitelist__factory.ts create mode 100644 src/contracts/extensions/whitelist/3/index.d.ts diff --git a/src/contracts/extensions/coinMachine/6/CoinMachine.d.ts b/src/contracts/extensions/coinMachine/6/CoinMachine.d.ts new file mode 100644 index 000000000..811861e62 --- /dev/null +++ b/src/contracts/extensions/coinMachine/6/CoinMachine.d.ts @@ -0,0 +1,1734 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface CoinMachineInterface extends Interface { + functions: { + authority: TypedFunctionDescription<{ encode([]: []): string }>; + + executeMetaTransaction: TypedFunctionDescription<{ + encode([_user, _payload, _sigR, _sigS, _sigV]: [ + string, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getCapabilityRoles: TypedFunctionDescription<{ + encode([_sig]: [Arrayish]): string; + }>; + + getChainId: TypedFunctionDescription<{ encode([]: []): string }>; + + getColony: TypedFunctionDescription<{ encode([]: []): string }>; + + getDeprecated: TypedFunctionDescription<{ encode([]: []): string }>; + + multicall: TypedFunctionDescription<{ + encode([data]: [Arrayish[]]): string; + }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + setAuthority: TypedFunctionDescription<{ + encode([authority_]: [string]): string; + }>; + + setOwner: TypedFunctionDescription<{ encode([owner_]: [string]): string }>; + + verify: TypedFunctionDescription<{ + encode([_owner, _nonce, _chainId, _payload, _sigR, _sigS, _sigV]: [ + string, + BigNumberish, + BigNumberish, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getMetatransactionNonce: TypedFunctionDescription<{ + encode([_userAddress]: [string]): string; + }>; + + identifier: TypedFunctionDescription<{ encode([]: []): string }>; + + version: TypedFunctionDescription<{ encode([]: []): string }>; + + install: TypedFunctionDescription<{ encode([_colony]: [string]): string }>; + + finishUpgrade: TypedFunctionDescription<{ encode([]: []): string }>; + + deprecate: TypedFunctionDescription<{ + encode([_deprecated]: [boolean]): string; + }>; + + uninstall: TypedFunctionDescription<{ encode([]: []): string }>; + + initialise: TypedFunctionDescription<{ + encode([ + _token, + _purchaseToken, + _periodLength, + _windowSize, + _targetPerPeriod, + _maxPerPeriod, + _userLimitFraction, + _startingPrice, + _whitelist, + ]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + setWhitelist: TypedFunctionDescription<{ + encode([_whitelist]: [string]): string; + }>; + + buyTokens: TypedFunctionDescription<{ + encode([_numTokens]: [BigNumberish]): string; + }>; + + updatePeriod: TypedFunctionDescription<{ encode([]: []): string }>; + + getPurchaseToken: TypedFunctionDescription<{ encode([]: []): string }>; + + getToken: TypedFunctionDescription<{ encode([]: []): string }>; + + getActivePeriod: TypedFunctionDescription<{ encode([]: []): string }>; + + getActiveSold: TypedFunctionDescription<{ encode([]: []): string }>; + + getActiveIntake: TypedFunctionDescription<{ encode([]: []): string }>; + + getEMAIntake: TypedFunctionDescription<{ encode([]: []): string }>; + + getTokenBalance: TypedFunctionDescription<{ encode([]: []): string }>; + + getPeriodLength: TypedFunctionDescription<{ encode([]: []): string }>; + + getWindowSize: TypedFunctionDescription<{ encode([]: []): string }>; + + getTargetPerPeriod: TypedFunctionDescription<{ encode([]: []): string }>; + + getMaxPerPeriod: TypedFunctionDescription<{ encode([]: []): string }>; + + getCurrentPrice: TypedFunctionDescription<{ encode([]: []): string }>; + + getSellableTokens: TypedFunctionDescription<{ encode([]: []): string }>; + + getUserLimit: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + getMaxPurchase: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + getWhitelist: TypedFunctionDescription<{ encode([]: []): string }>; + + getEvolvePrice: TypedFunctionDescription<{ encode([]: []): string }>; + }; + + events: { + ExtensionInitialised: TypedEventDescription<{ + encodeTopics([]: []): string[]; + }>; + + LogSetAuthority: TypedEventDescription<{ + encodeTopics([authority]: [string | null]): string[]; + }>; + + LogSetOwner: TypedEventDescription<{ + encodeTopics([owner]: [string | null]): string[]; + }>; + + MetaTransactionExecuted: TypedEventDescription<{ + encodeTopics([user, relayerAddress, functionSignature]: [ + null, + null, + null + ]): string[]; + }>; + + PeriodUpdated: TypedEventDescription<{ + encodeTopics([activePeriod, currentPeriod]: [null, null]): string[]; + }>; + + PriceEvolutionSet: TypedEventDescription<{ + encodeTopics([evolvePrice]: [null]): string[]; + }>; + + TokensBought: TypedEventDescription<{ + encodeTopics([buyer, token, numTokens, totalCost]: [ + string | null, + null, + null, + null + ]): string[]; + }>; + + WhitelistSet: TypedEventDescription<{ + encodeTopics([whitelist]: [null]): string[]; + }>; + }; +} + +export class CoinMachine extends Contract { + connect(signerOrProvider: Signer | Provider | string): CoinMachine; + attach(addressOrName: string): CoinMachine; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): CoinMachine; + once(event: EventFilter | string, listener: Listener): CoinMachine; + addListener(eventName: EventFilter | string, listener: Listener): CoinMachine; + removeAllListeners(eventName: EventFilter | string): CoinMachine; + removeListener(eventName: any, listener: Listener): CoinMachine; + + interface: CoinMachineInterface; + + functions: { + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + getColony(overrides?: TransactionOverrides): Promise; + + "getColony()"(overrides?: TransactionOverrides): Promise; + + getDeprecated(overrides?: TransactionOverrides): Promise; + + "getDeprecated()"(overrides?: TransactionOverrides): Promise; + + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param _userAddress The user's address + */ + getMetatransactionNonce( + _userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param _userAddress The user's address + */ + "getMetatransactionNonce(address)"( + _userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the identifier of the extension + */ + identifier(overrides?: TransactionOverrides): Promise; + + /** + * Returns the identifier of the extension + */ + "identifier()"(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + install( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + "install(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when upgrading the extension + */ + finishUpgrade( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when upgrading the extension + */ + "finishUpgrade()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + deprecate( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + "deprecate(bool)"( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when uninstalling the extension + */ + uninstall(overrides?: TransactionOverrides): Promise; + + /** + * Called when uninstalling the extension + */ + "uninstall()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Must be called before any sales can be made + * @param _maxPerPeriod The maximum number of tokens that can be sold per period + * @param _periodLength How long in seconds each period of the sale should last + * @param _purchaseToken The token to receive payments in. Use 0x0 for ether + * @param _startingPrice The sale price to start at, expressed in units of _purchaseToken per token being sold, as a WAD + * @param _targetPerPeriod The number of tokens to aim to sell per period + * @param _token The token we are selling. Cannot be ether + * @param _userLimitFraction The fraction of the total sale that a single user can buy (in WAD) + * @param _whitelist Optionally an address of a whitelist contract to use can be provided. Pass 0x0 if no whitelist being used + * @param _windowSize Characteristic number of periods that should be used for the moving average. In the long-term, 86% of the weighting will be in this window size. The higher the number, the slower the price will be to adjust + */ + initialise( + _token: string, + _purchaseToken: string, + _periodLength: BigNumberish, + _windowSize: BigNumberish, + _targetPerPeriod: BigNumberish, + _maxPerPeriod: BigNumberish, + _userLimitFraction: BigNumberish, + _startingPrice: BigNumberish, + _whitelist: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Must be called before any sales can be made + * @param _maxPerPeriod The maximum number of tokens that can be sold per period + * @param _periodLength How long in seconds each period of the sale should last + * @param _purchaseToken The token to receive payments in. Use 0x0 for ether + * @param _startingPrice The sale price to start at, expressed in units of _purchaseToken per token being sold, as a WAD + * @param _targetPerPeriod The number of tokens to aim to sell per period + * @param _token The token we are selling. Cannot be ether + * @param _userLimitFraction The fraction of the total sale that a single user can buy (in WAD) + * @param _whitelist Optionally an address of a whitelist contract to use can be provided. Pass 0x0 if no whitelist being used + * @param _windowSize Characteristic number of periods that should be used for the moving average. In the long-term, 86% of the weighting will be in this window size. The higher the number, the slower the price will be to adjust + */ + "initialise(address,address,uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _token: string, + _purchaseToken: string, + _periodLength: BigNumberish, + _windowSize: BigNumberish, + _targetPerPeriod: BigNumberish, + _maxPerPeriod: BigNumberish, + _userLimitFraction: BigNumberish, + _startingPrice: BigNumberish, + _whitelist: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the address for an (optional) whitelist + * @param _whitelist The address of the whitelist + */ + setWhitelist( + _whitelist: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the address for an (optional) whitelist + * @param _whitelist The address of the whitelist + */ + "setWhitelist(address)"( + _whitelist: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Purchase tokens from Coin Machine. + * @param _numTokens The number of tokens to purchase + */ + buyTokens( + _numTokens: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Purchase tokens from Coin Machine. + * @param _numTokens The number of tokens to purchase + */ + "buyTokens(uint256)"( + _numTokens: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Bring the token accounting current + */ + updatePeriod( + overrides?: TransactionOverrides + ): Promise; + + /** + * Bring the token accounting current + */ + "updatePeriod()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of the token being used to make purchases + */ + getPurchaseToken(overrides?: TransactionOverrides): Promise; + + /** + * Get the address of the token being used to make purchases + */ + "getPurchaseToken()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the address of the token being sold + */ + getToken(overrides?: TransactionOverrides): Promise; + + /** + * Get the address of the token being sold + */ + "getToken()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the period that the price was last updated for or a purchase was made + */ + getActivePeriod(overrides?: TransactionOverrides): Promise; + + /** + * Get the period that the price was last updated for or a purchase was made + */ + "getActivePeriod()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tokens sold in the period that the price was last updated for or a purchase was made + */ + getActiveSold(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tokens sold in the period that the price was last updated for or a purchase was made + */ + "getActiveSold()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tokens received in the period that the price was last updated for or a purchase was made + */ + getActiveIntake(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tokens received in the period that the price was last updated for or a purchase was made + */ + "getActiveIntake()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the EMA of the number of tokens received each period + */ + getEMAIntake(overrides?: TransactionOverrides): Promise; + + /** + * Get the EMA of the number of tokens received each period + */ + "getEMAIntake()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the remaining balance of tokens + */ + getTokenBalance(overrides?: TransactionOverrides): Promise; + + /** + * Get the remaining balance of tokens + */ + "getTokenBalance()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the length of the sale period + */ + getPeriodLength(overrides?: TransactionOverrides): Promise; + + /** + * Get the length of the sale period + */ + "getPeriodLength()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the size of the averaging window + */ + getWindowSize(overrides?: TransactionOverrides): Promise; + + /** + * Get the size of the averaging window + */ + "getWindowSize()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the target number of tokens to sell per period + */ + getTargetPerPeriod(overrides?: TransactionOverrides): Promise; + + /** + * Get the target number of tokens to sell per period + */ + "getTargetPerPeriod()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the maximum number of tokens to sell per period + */ + getMaxPerPeriod(overrides?: TransactionOverrides): Promise; + + /** + * Get the maximum number of tokens to sell per period + */ + "getMaxPerPeriod()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the current price per token + */ + getCurrentPrice(overrides?: TransactionOverrides): Promise; + + /** + * Get the current price per token + */ + "getCurrentPrice()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of remaining tokens for sale this period + */ + getSellableTokens(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of remaining tokens for sale this period + */ + "getSellableTokens()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the maximum amount of tokens a user can purchase in total + * @param _user The user's address + */ + getUserLimit( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the maximum amount of tokens a user can purchase in total + * @param _user The user's address + */ + "getUserLimit(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the maximum amount of tokens a user can purchase in a period + * @param _user The user's address + */ + getMaxPurchase( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the maximum amount of tokens a user can purchase in a period + * @param _user The user's address + */ + "getMaxPurchase(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of the whitelist (if exists) + */ + getWhitelist(overrides?: TransactionOverrides): Promise; + + /** + * Get the address of the whitelist (if exists) + */ + "getWhitelist()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the evolvePrice boolean + */ + getEvolvePrice(overrides?: TransactionOverrides): Promise; + + /** + * Get the evolvePrice boolean + */ + "getEvolvePrice()"(overrides?: TransactionOverrides): Promise; + }; + + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + getColony(overrides?: TransactionOverrides): Promise; + + "getColony()"(overrides?: TransactionOverrides): Promise; + + getDeprecated(overrides?: TransactionOverrides): Promise; + + "getDeprecated()"(overrides?: TransactionOverrides): Promise; + + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param _userAddress The user's address + */ + getMetatransactionNonce( + _userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param _userAddress The user's address + */ + "getMetatransactionNonce(address)"( + _userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the identifier of the extension + */ + identifier(overrides?: TransactionOverrides): Promise; + + /** + * Returns the identifier of the extension + */ + "identifier()"(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + install( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + "install(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when upgrading the extension + */ + finishUpgrade(overrides?: TransactionOverrides): Promise; + + /** + * Called when upgrading the extension + */ + "finishUpgrade()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + deprecate( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + "deprecate(bool)"( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when uninstalling the extension + */ + uninstall(overrides?: TransactionOverrides): Promise; + + /** + * Called when uninstalling the extension + */ + "uninstall()"(overrides?: TransactionOverrides): Promise; + + /** + * Must be called before any sales can be made + * @param _maxPerPeriod The maximum number of tokens that can be sold per period + * @param _periodLength How long in seconds each period of the sale should last + * @param _purchaseToken The token to receive payments in. Use 0x0 for ether + * @param _startingPrice The sale price to start at, expressed in units of _purchaseToken per token being sold, as a WAD + * @param _targetPerPeriod The number of tokens to aim to sell per period + * @param _token The token we are selling. Cannot be ether + * @param _userLimitFraction The fraction of the total sale that a single user can buy (in WAD) + * @param _whitelist Optionally an address of a whitelist contract to use can be provided. Pass 0x0 if no whitelist being used + * @param _windowSize Characteristic number of periods that should be used for the moving average. In the long-term, 86% of the weighting will be in this window size. The higher the number, the slower the price will be to adjust + */ + initialise( + _token: string, + _purchaseToken: string, + _periodLength: BigNumberish, + _windowSize: BigNumberish, + _targetPerPeriod: BigNumberish, + _maxPerPeriod: BigNumberish, + _userLimitFraction: BigNumberish, + _startingPrice: BigNumberish, + _whitelist: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Must be called before any sales can be made + * @param _maxPerPeriod The maximum number of tokens that can be sold per period + * @param _periodLength How long in seconds each period of the sale should last + * @param _purchaseToken The token to receive payments in. Use 0x0 for ether + * @param _startingPrice The sale price to start at, expressed in units of _purchaseToken per token being sold, as a WAD + * @param _targetPerPeriod The number of tokens to aim to sell per period + * @param _token The token we are selling. Cannot be ether + * @param _userLimitFraction The fraction of the total sale that a single user can buy (in WAD) + * @param _whitelist Optionally an address of a whitelist contract to use can be provided. Pass 0x0 if no whitelist being used + * @param _windowSize Characteristic number of periods that should be used for the moving average. In the long-term, 86% of the weighting will be in this window size. The higher the number, the slower the price will be to adjust + */ + "initialise(address,address,uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _token: string, + _purchaseToken: string, + _periodLength: BigNumberish, + _windowSize: BigNumberish, + _targetPerPeriod: BigNumberish, + _maxPerPeriod: BigNumberish, + _userLimitFraction: BigNumberish, + _startingPrice: BigNumberish, + _whitelist: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the address for an (optional) whitelist + * @param _whitelist The address of the whitelist + */ + setWhitelist( + _whitelist: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the address for an (optional) whitelist + * @param _whitelist The address of the whitelist + */ + "setWhitelist(address)"( + _whitelist: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Purchase tokens from Coin Machine. + * @param _numTokens The number of tokens to purchase + */ + buyTokens( + _numTokens: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Purchase tokens from Coin Machine. + * @param _numTokens The number of tokens to purchase + */ + "buyTokens(uint256)"( + _numTokens: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Bring the token accounting current + */ + updatePeriod(overrides?: TransactionOverrides): Promise; + + /** + * Bring the token accounting current + */ + "updatePeriod()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of the token being used to make purchases + */ + getPurchaseToken(overrides?: TransactionOverrides): Promise; + + /** + * Get the address of the token being used to make purchases + */ + "getPurchaseToken()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the address of the token being sold + */ + getToken(overrides?: TransactionOverrides): Promise; + + /** + * Get the address of the token being sold + */ + "getToken()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the period that the price was last updated for or a purchase was made + */ + getActivePeriod(overrides?: TransactionOverrides): Promise; + + /** + * Get the period that the price was last updated for or a purchase was made + */ + "getActivePeriod()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tokens sold in the period that the price was last updated for or a purchase was made + */ + getActiveSold(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tokens sold in the period that the price was last updated for or a purchase was made + */ + "getActiveSold()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tokens received in the period that the price was last updated for or a purchase was made + */ + getActiveIntake(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tokens received in the period that the price was last updated for or a purchase was made + */ + "getActiveIntake()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the EMA of the number of tokens received each period + */ + getEMAIntake(overrides?: TransactionOverrides): Promise; + + /** + * Get the EMA of the number of tokens received each period + */ + "getEMAIntake()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the remaining balance of tokens + */ + getTokenBalance(overrides?: TransactionOverrides): Promise; + + /** + * Get the remaining balance of tokens + */ + "getTokenBalance()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the length of the sale period + */ + getPeriodLength(overrides?: TransactionOverrides): Promise; + + /** + * Get the length of the sale period + */ + "getPeriodLength()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the size of the averaging window + */ + getWindowSize(overrides?: TransactionOverrides): Promise; + + /** + * Get the size of the averaging window + */ + "getWindowSize()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the target number of tokens to sell per period + */ + getTargetPerPeriod(overrides?: TransactionOverrides): Promise; + + /** + * Get the target number of tokens to sell per period + */ + "getTargetPerPeriod()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the maximum number of tokens to sell per period + */ + getMaxPerPeriod(overrides?: TransactionOverrides): Promise; + + /** + * Get the maximum number of tokens to sell per period + */ + "getMaxPerPeriod()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the current price per token + */ + getCurrentPrice(overrides?: TransactionOverrides): Promise; + + /** + * Get the current price per token + */ + "getCurrentPrice()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of remaining tokens for sale this period + */ + getSellableTokens(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of remaining tokens for sale this period + */ + "getSellableTokens()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the maximum amount of tokens a user can purchase in total + * @param _user The user's address + */ + getUserLimit( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the maximum amount of tokens a user can purchase in total + * @param _user The user's address + */ + "getUserLimit(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the maximum amount of tokens a user can purchase in a period + * @param _user The user's address + */ + getMaxPurchase( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the maximum amount of tokens a user can purchase in a period + * @param _user The user's address + */ + "getMaxPurchase(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of the whitelist (if exists) + */ + getWhitelist(overrides?: TransactionOverrides): Promise; + + /** + * Get the address of the whitelist (if exists) + */ + "getWhitelist()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the evolvePrice boolean + */ + getEvolvePrice(overrides?: TransactionOverrides): Promise; + + /** + * Get the evolvePrice boolean + */ + "getEvolvePrice()"(overrides?: TransactionOverrides): Promise; + + filters: { + ExtensionInitialised(): EventFilter; + + LogSetAuthority(authority: string | null): EventFilter; + + LogSetOwner(owner: string | null): EventFilter; + + MetaTransactionExecuted( + user: null, + relayerAddress: null, + functionSignature: null + ): EventFilter; + + PeriodUpdated(activePeriod: null, currentPeriod: null): EventFilter; + + PriceEvolutionSet(evolvePrice: null): EventFilter; + + TokensBought( + buyer: string | null, + token: null, + numTokens: null, + totalCost: null + ): EventFilter; + + WhitelistSet(whitelist: null): EventFilter; + }; + + estimate: { + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + getColony(overrides?: TransactionOverrides): Promise; + + "getColony()"(overrides?: TransactionOverrides): Promise; + + getDeprecated(overrides?: TransactionOverrides): Promise; + + "getDeprecated()"(overrides?: TransactionOverrides): Promise; + + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param _userAddress The user's address + */ + getMetatransactionNonce( + _userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param _userAddress The user's address + */ + "getMetatransactionNonce(address)"( + _userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the identifier of the extension + */ + identifier(overrides?: TransactionOverrides): Promise; + + /** + * Returns the identifier of the extension + */ + "identifier()"(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + install( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + "install(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when upgrading the extension + */ + finishUpgrade(overrides?: TransactionOverrides): Promise; + + /** + * Called when upgrading the extension + */ + "finishUpgrade()"(overrides?: TransactionOverrides): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + deprecate( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + "deprecate(bool)"( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when uninstalling the extension + */ + uninstall(overrides?: TransactionOverrides): Promise; + + /** + * Called when uninstalling the extension + */ + "uninstall()"(overrides?: TransactionOverrides): Promise; + + /** + * Must be called before any sales can be made + * @param _maxPerPeriod The maximum number of tokens that can be sold per period + * @param _periodLength How long in seconds each period of the sale should last + * @param _purchaseToken The token to receive payments in. Use 0x0 for ether + * @param _startingPrice The sale price to start at, expressed in units of _purchaseToken per token being sold, as a WAD + * @param _targetPerPeriod The number of tokens to aim to sell per period + * @param _token The token we are selling. Cannot be ether + * @param _userLimitFraction The fraction of the total sale that a single user can buy (in WAD) + * @param _whitelist Optionally an address of a whitelist contract to use can be provided. Pass 0x0 if no whitelist being used + * @param _windowSize Characteristic number of periods that should be used for the moving average. In the long-term, 86% of the weighting will be in this window size. The higher the number, the slower the price will be to adjust + */ + initialise( + _token: string, + _purchaseToken: string, + _periodLength: BigNumberish, + _windowSize: BigNumberish, + _targetPerPeriod: BigNumberish, + _maxPerPeriod: BigNumberish, + _userLimitFraction: BigNumberish, + _startingPrice: BigNumberish, + _whitelist: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Must be called before any sales can be made + * @param _maxPerPeriod The maximum number of tokens that can be sold per period + * @param _periodLength How long in seconds each period of the sale should last + * @param _purchaseToken The token to receive payments in. Use 0x0 for ether + * @param _startingPrice The sale price to start at, expressed in units of _purchaseToken per token being sold, as a WAD + * @param _targetPerPeriod The number of tokens to aim to sell per period + * @param _token The token we are selling. Cannot be ether + * @param _userLimitFraction The fraction of the total sale that a single user can buy (in WAD) + * @param _whitelist Optionally an address of a whitelist contract to use can be provided. Pass 0x0 if no whitelist being used + * @param _windowSize Characteristic number of periods that should be used for the moving average. In the long-term, 86% of the weighting will be in this window size. The higher the number, the slower the price will be to adjust + */ + "initialise(address,address,uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _token: string, + _purchaseToken: string, + _periodLength: BigNumberish, + _windowSize: BigNumberish, + _targetPerPeriod: BigNumberish, + _maxPerPeriod: BigNumberish, + _userLimitFraction: BigNumberish, + _startingPrice: BigNumberish, + _whitelist: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the address for an (optional) whitelist + * @param _whitelist The address of the whitelist + */ + setWhitelist( + _whitelist: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the address for an (optional) whitelist + * @param _whitelist The address of the whitelist + */ + "setWhitelist(address)"( + _whitelist: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Purchase tokens from Coin Machine. + * @param _numTokens The number of tokens to purchase + */ + buyTokens( + _numTokens: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Purchase tokens from Coin Machine. + * @param _numTokens The number of tokens to purchase + */ + "buyTokens(uint256)"( + _numTokens: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Bring the token accounting current + */ + updatePeriod(overrides?: TransactionOverrides): Promise; + + /** + * Bring the token accounting current + */ + "updatePeriod()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the address of the token being used to make purchases + */ + getPurchaseToken(overrides?: TransactionOverrides): Promise; + + /** + * Get the address of the token being used to make purchases + */ + "getPurchaseToken()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the address of the token being sold + */ + getToken(overrides?: TransactionOverrides): Promise; + + /** + * Get the address of the token being sold + */ + "getToken()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the period that the price was last updated for or a purchase was made + */ + getActivePeriod(overrides?: TransactionOverrides): Promise; + + /** + * Get the period that the price was last updated for or a purchase was made + */ + "getActivePeriod()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tokens sold in the period that the price was last updated for or a purchase was made + */ + getActiveSold(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tokens sold in the period that the price was last updated for or a purchase was made + */ + "getActiveSold()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tokens received in the period that the price was last updated for or a purchase was made + */ + getActiveIntake(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tokens received in the period that the price was last updated for or a purchase was made + */ + "getActiveIntake()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the EMA of the number of tokens received each period + */ + getEMAIntake(overrides?: TransactionOverrides): Promise; + + /** + * Get the EMA of the number of tokens received each period + */ + "getEMAIntake()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the remaining balance of tokens + */ + getTokenBalance(overrides?: TransactionOverrides): Promise; + + /** + * Get the remaining balance of tokens + */ + "getTokenBalance()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the length of the sale period + */ + getPeriodLength(overrides?: TransactionOverrides): Promise; + + /** + * Get the length of the sale period + */ + "getPeriodLength()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the size of the averaging window + */ + getWindowSize(overrides?: TransactionOverrides): Promise; + + /** + * Get the size of the averaging window + */ + "getWindowSize()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the target number of tokens to sell per period + */ + getTargetPerPeriod(overrides?: TransactionOverrides): Promise; + + /** + * Get the target number of tokens to sell per period + */ + "getTargetPerPeriod()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the maximum number of tokens to sell per period + */ + getMaxPerPeriod(overrides?: TransactionOverrides): Promise; + + /** + * Get the maximum number of tokens to sell per period + */ + "getMaxPerPeriod()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the current price per token + */ + getCurrentPrice(overrides?: TransactionOverrides): Promise; + + /** + * Get the current price per token + */ + "getCurrentPrice()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of remaining tokens for sale this period + */ + getSellableTokens(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of remaining tokens for sale this period + */ + "getSellableTokens()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the maximum amount of tokens a user can purchase in total + * @param _user The user's address + */ + getUserLimit( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the maximum amount of tokens a user can purchase in total + * @param _user The user's address + */ + "getUserLimit(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the maximum amount of tokens a user can purchase in a period + * @param _user The user's address + */ + getMaxPurchase( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the maximum amount of tokens a user can purchase in a period + * @param _user The user's address + */ + "getMaxPurchase(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of the whitelist (if exists) + */ + getWhitelist(overrides?: TransactionOverrides): Promise; + + /** + * Get the address of the whitelist (if exists) + */ + "getWhitelist()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the evolvePrice boolean + */ + getEvolvePrice(overrides?: TransactionOverrides): Promise; + + /** + * Get the evolvePrice boolean + */ + "getEvolvePrice()"(overrides?: TransactionOverrides): Promise; + }; +} diff --git a/src/contracts/extensions/coinMachine/6/factories/CoinMachine__factory.ts b/src/contracts/extensions/coinMachine/6/factories/CoinMachine__factory.ts new file mode 100644 index 000000000..3bc85f8e9 --- /dev/null +++ b/src/contracts/extensions/coinMachine/6/factories/CoinMachine__factory.ts @@ -0,0 +1,795 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from ".."; +import { CoinMachine } from "../CoinMachine"; + +export class CoinMachine__factory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): CoinMachine { + return super.attach(address) as CoinMachine; + } + connect(signer: Signer): CoinMachine__factory { + return super.connect(signer) as CoinMachine__factory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): CoinMachine { + return new Contract(address, _abi, signerOrProvider) as CoinMachine; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [], + name: "ExtensionInitialised", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "authority", + type: "address", + }, + ], + name: "LogSetAuthority", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "LogSetOwner", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address payable", + name: "relayerAddress", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "functionSignature", + type: "bytes", + }, + ], + name: "MetaTransactionExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "activePeriod", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "currentPeriod", + type: "uint256", + }, + ], + name: "PeriodUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bool", + name: "evolvePrice", + type: "bool", + }, + ], + name: "PriceEvolutionSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "buyer", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "numTokens", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "totalCost", + type: "uint256", + }, + ], + name: "TokensBought", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "whitelist", + type: "address", + }, + ], + name: "WhitelistSet", + type: "event", + }, + { + inputs: [], + name: "authority", + outputs: [ + { + internalType: "contract DSAuthority", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "executeMetaTransaction", + outputs: [ + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "_sig", + type: "bytes4", + }, + ], + name: "getCapabilityRoles", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getChainId", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getColony", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getDeprecated", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "results", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract DSAuthority", + name: "authority_", + type: "address", + }, + ], + name: "setAuthority", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner_", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + { + internalType: "uint256", + name: "_nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "_chainId", + type: "uint256", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "verify", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_userAddress", + type: "address", + }, + ], + name: "getMetatransactionNonce", + outputs: [ + { + internalType: "uint256", + name: "_nonce", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "identifier", + outputs: [ + { + internalType: "bytes32", + name: "_identifier", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_colony", + type: "address", + }, + ], + name: "install", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "finishUpgrade", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bool", + name: "_deprecated", + type: "bool", + }, + ], + name: "deprecate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "uninstall", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_purchaseToken", + type: "address", + }, + { + internalType: "uint256", + name: "_periodLength", + type: "uint256", + }, + { + internalType: "uint256", + name: "_windowSize", + type: "uint256", + }, + { + internalType: "uint256", + name: "_targetPerPeriod", + type: "uint256", + }, + { + internalType: "uint256", + name: "_maxPerPeriod", + type: "uint256", + }, + { + internalType: "uint256", + name: "_userLimitFraction", + type: "uint256", + }, + { + internalType: "uint256", + name: "_startingPrice", + type: "uint256", + }, + { + internalType: "address", + name: "_whitelist", + type: "address", + }, + ], + name: "initialise", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_whitelist", + type: "address", + }, + ], + name: "setWhitelist", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_numTokens", + type: "uint256", + }, + ], + name: "buyTokens", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "updatePeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getPurchaseToken", + outputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getToken", + outputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getActivePeriod", + outputs: [ + { + internalType: "uint256", + name: "_period", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getActiveSold", + outputs: [ + { + internalType: "uint256", + name: "_sold", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getActiveIntake", + outputs: [ + { + internalType: "uint256", + name: "_intake", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getEMAIntake", + outputs: [ + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getTokenBalance", + outputs: [ + { + internalType: "uint256", + name: "_balance", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getPeriodLength", + outputs: [ + { + internalType: "uint256", + name: "_length", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getWindowSize", + outputs: [ + { + internalType: "uint256", + name: "_size", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getTargetPerPeriod", + outputs: [ + { + internalType: "uint256", + name: "_target", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getMaxPerPeriod", + outputs: [ + { + internalType: "uint256", + name: "_max", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getCurrentPrice", + outputs: [ + { + internalType: "uint256", + name: "_price", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getSellableTokens", + outputs: [ + { + internalType: "uint256", + name: "_remaining", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "getUserLimit", + outputs: [ + { + internalType: "uint256", + name: "_max", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "getMaxPurchase", + outputs: [ + { + internalType: "uint256", + name: "_max", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getWhitelist", + outputs: [ + { + internalType: "address", + name: "_whitelist", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getEvolvePrice", + outputs: [ + { + internalType: "bool", + name: "_evolve", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2612ad08061005e6000396000f3fe6080604052600436106102305760003560e01c806382b2e2571161012e578063b5b2f1ef116100ab578063e9587e861161006f578063e9587e86146105c0578063eb91d37e146105e0578063f51361c7146105f5578063f9f81e091461060a578063fcf6ba931461061f57610230565b8063b5b2f1ef1461054c578063bf7e214f14610561578063bfd68ab714610576578063c6ea3b0b1461058b578063d01f63f5146105ab57610230565b8063a0e3ad26116100f2578063a0e3ad26146104c0578063a5c56a2b146104d5578063a83627de146104ea578063ac9650d8146104ff578063b3eac1d81461052c57610230565b806382b2e257146104415780638469ddc714610456578063854cff2f1461046b5780638da5cb5b1461048b5780639251cff4146104a057610230565b80632a1b8f9b116101bc5780633610724e116101805780633610724e146103b757806354fd4d50146103ca5780636281133d146103df5780637998a1c41461040c5780637a9e5e4b1461042157610230565b80632a1b8f9b146103385780632a85c366146103585780632dfbb0831461036d5780633408e4701461038d578063340df28f146103a257610230565b806312defc731161020357806312defc73146102c457806313af4035146102d95780631f7ea81f146102f957806321df0da71461030e57806329287b461461032357610230565b80630a1e0c22146102355780630c53c51c146102605780630d638f3014610280578063114f676914610297575b600080fd5b34801561024157600080fd5b5061024a610634565b6040516102579190612319565b60405180910390f35b61027361026e366004611f72565b610644565b60405161025791906124a5565b34801561028c57600080fd5b506102956107a0565b005b3480156102a357600080fd5b506102b76102b2366004611eb5565b6108a9565b604051610257919061247e565b3480156102d057600080fd5b506102b76108ed565b3480156102e557600080fd5b506102956102f4366004611eb5565b6108f3565b34801561030557600080fd5b506102b7610975565b34801561031a57600080fd5b5061024a61097b565b34801561032f57600080fd5b506102b761098a565b34801561034457600080fd5b50610295610353366004611eb5565b610990565b34801561036457600080fd5b506102b7610a0d565b34801561037957600080fd5b506102b7610388366004612110565b610a13565b34801561039957600080fd5b506102b7610a19565b3480156103ae57600080fd5b50610295610a1d565b6102956103c53660046121ab565b610b2c565b3480156103d657600080fd5b506102b7610fcc565b3480156103eb57600080fd5b506103ff6103fa366004611fe4565b610fd1565b6040516102579190612473565b34801561041857600080fd5b506102b76110a1565b34801561042d57600080fd5b5061029561043c366004611eb5565b6110c5565b34801561044d57600080fd5b506102b7611143565b34801561046257600080fd5b506102b76111c9565b34801561047757600080fd5b50610295610486366004611eb5565b6111cf565b34801561049757600080fd5b5061024a6112f5565b3480156104ac57600080fd5b506102956104bb3660046120d8565b611304565b3480156104cc57600080fd5b506102b7611362565b3480156104e157600080fd5b506102b7611368565b3480156104f657600080fd5b5061029561136e565b34801561050b57600080fd5b5061051f61051a366004612069565b611479565b6040516102579190612413565b34801561053857600080fd5b506102b7610547366004611eb5565b61164b565b34801561055857600080fd5b506102b7611666565b34801561056d57600080fd5b5061024a61168f565b34801561058257600080fd5b5061024a61169e565b34801561059757600080fd5b506102956105a6366004611eed565b6116ad565b3480156105b757600080fd5b5061024a611956565b3480156105cc57600080fd5b506102b76105db366004611eb5565b611965565b3480156105ec57600080fd5b506102b76119da565b34801561060157600080fd5b506102b7611a89565b34801561061657600080fd5b506103ff611a8f565b34801561062b57600080fd5b506103ff611a9f565b6004546001600160a01b03165b90565b6060610664866106538861164b565b61065b610a19565b88888888610fd1565b6106895760405162461bcd60e51b81526004016106809061265c565b60405180910390fd5b61069286611aaf565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a6040516020016106d593929190612269565b60408051601f19818403018152908290526106ef9161224d565b6000604051808303816000865af19150503d806000811461072c576040519150601f19603f3d011682016040523d82523d6000602084013e610731565b606091505b5091509150816107535760405162461bcd60e51b8152600401610680906124e7565b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b8861077d611acf565b8960405161078d93929190612399565b60405180910390a1979650505050505050565b6107b6336000356001600160e01b031916611b7a565b6107d25760405162461bcd60e51b81526004016106809061252f565b6010546001600160a01b03161561089b5760006107ed611143565b905080156108995760105460035460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb9261082b929116908590600401612380565b602060405180830381600087803b15801561084557600080fd5b505af1158015610859573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087d91906120f4565b6108995760405162461bcd60e51b815260040161068090612826565b505b6003546001600160a01b0316ff5b6000806108b4611143565b905060006108c0611666565b905060006108cd85611965565b90506108e2816108dd8585611c56565b611c56565b93505050505b919050565b600e5490565b610909336000356001600160e01b031916611b7a565b6109255760405162461bcd60e51b81526004016106809061252f565b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b60095490565b6010546001600160a01b031690565b600f5490565b6109a6336000356001600160e01b031916611b7a565b6109c25760405162461bcd60e51b81526004016106809061252f565b6003546001600160a01b0316156109eb5760405162461bcd60e51b815260040161068090612713565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60085490565b50600090565b4690565b610a33336000356001600160e01b031916611b7a565b610a4f5760405162461bcd60e51b81526004016106809061252f565b600360009054906101000a90046001600160a01b03166001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9d57600080fd5b505afa158015610ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad59190611ed1565b601080546001600160a01b0319166001600160a01b0392909216919091179055670de0b6b3a7640000601255610b2a6000610b0e611143565b118015610b255750600354600160a01b900460ff16155b611c6d565b565b600354600160a01b900460ff1615610b565760405162461bcd60e51b815260040161068090612970565b610b5e61136e565b6011546001600160a01b03161580610bf657506011546001600160a01b031663673448dd610b8a611acf565b6040518263ffffffff1660e01b8152600401610ba69190612319565b60206040518083038186803b158015610bbe57600080fd5b505afa158015610bd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf691906120f4565b610c125760405162461bcd60e51b81526004016106809061258b565b6000610c1f6102b2611acf565b90506000610c2d8284611c56565b90506000610c3d82600c54611cce565b905060008211610c97573415610c8f57610c55611acf565b6001600160a01b03166108fc349081150290604051600060405180830381858888f19350505050158015610c8d573d6000803e3d6000fd5b505b505050610fc9565b610ca3600e5482611cf2565b600e55600d54610cb39083611cf2565b600d8190556009541015610cc357fe5b670de0b6b3a76400006012541015610d4157610ce160135483611cf2565b601355610d1a60146000610cf3611acf565b6001600160a01b03166001600160a01b031681526020019081526020016000205483611cf2565b60146000610d26611acf565b6001600160a01b031681526020810191909152604001600020555b610d49611143565b8210610d5957610d596000611c6d565b6004546001600160a01b0316610e155780341015610d895760405162461bcd60e51b8152600401610680906127ef565b80341115610dd557610d99611acf565b6001600160a01b03166108fc8234039081150290604051600060405180830381858888f19350505050158015610dd3573d6000803e3d6000fd5b505b6003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610e0f573d6000803e3d6000fd5b50610ecc565b6004546001600160a01b03166323b872dd610e2e611acf565b6003546040516001600160e01b031960e085901b168152610e5e92916001600160a01b031690869060040161232d565b602060405180830381600087803b158015610e7857600080fd5b505af1158015610e8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb091906120f4565b610ecc5760405162461bcd60e51b81526004016106809061274a565b6010546001600160a01b031663a9059cbb610ee5611acf565b846040518363ffffffff1660e01b8152600401610f03929190612380565b602060405180830381600087803b158015610f1d57600080fd5b505af1158015610f31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5591906120f4565b610f715760405162461bcd60e51b815260040161068090612826565b610f79611acf565b6010546040516001600160a01b03928316927fc244d500136edffae7025aaf7fbd7a07193ac544a1d0cc3132cf2a32452d340c92610fbd92911690869086906123f2565b60405180910390a25050505b50565b600790565b60008061100988308989604051602001610fee94939291906122d3565b60405160208183030381529060405280519060200120611d15565b90506000600182858888604051600081526020016040526040516110309493929190612487565b6020604051602081039080840390855afa158015611052573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166110855760405162461bcd60e51b8152600401610680906128cb565b6001600160a01b038a8116911614915050979650505050505050565b7f9600bfe26d6984b5236952886f19c3d84b771865e505e2cb8f3a7137b7f3a46590565b6110db336000356001600160e01b031916611b7a565b6110f75760405162461bcd60e51b81526004016106809061252f565b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6010546040516370a0823160e01b81526000916001600160a01b0316906370a0823190611174903090600401612319565b60206040518083038186803b15801561118c57600080fd5b505afa1580156111a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c491906121c3565b905090565b60055490565b6003546001600160a01b031663ab2f7ae26111e8611acf565b6001806040518463ffffffff1660e01b815260040161120993929190612351565b60206040518083038186803b15801561122157600080fd5b505afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125991906120f4565b6112755760405162461bcd60e51b815260040161068090612894565b600354600160a01b900460ff161561129f5760405162461bcd60e51b815260040161068090612970565b601180546001600160a01b0319166001600160a01b0383161790556040517f29d77446d0fb0dcebabf25ce79ea69ba1382a4525d4acf615a38c89c798aef71906112ea908390612319565b60405180910390a150565b6001546001600160a01b031681565b61131a336000356001600160e01b031916611b7a565b6113365760405162461bcd60e51b81526004016106809061252f565b6003805482158015600160a01b0260ff60a01b1990921691909117909155610fc957610fc96000611c6d565b60075490565b600b5490565b6000611378611d45565b600b5490915081811061138c575050610b2a565b601154600160a01b900460ff166113af57600b8290556113af6000610b0e611143565b81600b541015611431576113c7600654600e54611cce565b6113df600654670de0b6b3a764000003600f54611cce565b01600f55600b5482036000190180156114175761141361140b600654670de0b6b3a76400000383611d58565b600f54611cce565b600f555b82600b8190555061142c600f54600854611d6f565b600c55505b6000600e819055600d556040517f5b873fc01d45058fe77f3883a91020f46d5a7385baac6ceab19748d1d0ae464a9061146d90839085906129a7565b60405180910390a15050565b60606000611485611acf565b9050606033301480156114a157506001600160a01b0382163014155b156114eb577f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e8826040516020016114d9929190612207565b60405160208183030381529060405290505b8367ffffffffffffffff8111801561150257600080fd5b5060405190808252806020026020018201604052801561153657816020015b60608152602001906001900390816115215790505b50925060005b8481101561164257600060603088888581811061155557fe5b905060200281019061156791906129b5565b8660405160200161157a93929190612227565b60408051601f19818403018152908290526115949161224d565b600060405180830381855af49150503d80600081146115cf576040519150601f19603f3d011682016040523d82523d6000602084013e6115d4565b606091505b509150915081611620576044815110156115ed57600080fd5b600481019050808060200190518101906116079190612138565b60405162461bcd60e51b815260040161068091906124a5565b8086848151811061162d57fe5b6020908102919091010152505060010161153c565b50505092915050565b6001600160a01b031660009081526015602052604090205490565b60006111c4600954611676611d45565b600b54101561168657600061168a565b600d545b611d84565b6000546001600160a01b031681565b6003546001600160a01b031690565b6003546001600160a01b031663ab2f7ae26116c6611acf565b6001806040518463ffffffff1660e01b81526004016116e793929190612351565b60206040518083038186803b1580156116ff57600080fd5b505afa158015611713573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061173791906120f4565b6117535760405162461bcd60e51b815260040161068090612894565b600b54156117735760405162461bcd60e51b815260040161068090612627565b6001600160a01b0389166117995760405162461bcd60e51b8152600401610680906126a5565b600087116117b95760405162461bcd60e51b815260040161068090612902565b600086116117d95760405162461bcd60e51b8152600401610680906125c2565b6101ff8611156117fb5760405162461bcd60e51b815260040161068090612939565b6000851161181b5760405162461bcd60e51b815260040161068090612781565b8484101561183b5760405162461bcd60e51b8152600401610680906126dc565b670de0b6b3a76400008311156118635760405162461bcd60e51b81526004016106809061285d565b600083116118835760405162461bcd60e51b8152600401610680906127b8565b601080546001600160a01b03808c166001600160a01b03199283161790925560048054928b169290911691909117905560058790556118c6600260018801611d6f565b6006556007869055600885905560098490556012839055600c8290556118ea611d45565b600b556008546118fa9083611cce565b600f556001600160a01b0381161561191557611915816111cf565b6119226000610b0e611143565b6040517f690c4b6201f6a4c703f9d21c205d98a08dff8461e7a71e49c6d47cc8b894850190600090a1505050505050505050565b6011546001600160a01b031690565b6000670de0b6b3a7640000601254148061198857506011546001600160a01b0316155b6119d0576119cb6119ad6119a561199d611143565b601354611cf2565b601254611cce565b6001600160a01b038416600090815260146020526040902054611d84565b6119d4565b6000195b92915050565b6000806119e5611d45565b905080600b54101580611a025750601154600160a01b900460ff16155b15611a11575050600c54610641565b600f54600654600e54611a249190611cce565b611a3a600654670de0b6b3a76400000383611cce565b600b54910191508203600019018015611a6f57611a6c611a66600654670de0b6b3a76400000383611d58565b83611cce565b91505b611a7b82600854611d6f565b9350505050610641565b5090565b600d5490565b601154600160a01b900460ff1690565b600354600160a01b900460ff1690565b6001600160a01b0316600090815260156020526040902080546001019055565b6000363330148015611ae2575060348110155b15611b715760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88114611b5d57339350505050610641565b508101516001600160a01b03169150611a85565b33915050610641565b60006001600160a01b038316301415611b95575060016119d4565b6001546001600160a01b0384811691161415611bb3575060016119d4565b6000546001600160a01b0316611bcb575060006119d4565b60005460405163b700961360e01b81526001600160a01b039091169063b700961390611bff908690309087906004016123c5565b60206040518083038186803b158015611c1757600080fd5b505afa158015611c2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c4f91906120f4565b9392505050565b600081831115611c665781611c4f565b5090919050565b601160149054906101000a900460ff16151581151514610fc9576011805460ff60a01b1916600160a01b831515021790556040517f5b4e200daa1a93764a810c35f18f2fcfb14b5e95df6ae7ac1ffdc8eec425babc906112ea908390612473565b6000670de0b6b3a7640000611ce38484611da7565b81611cea57fe5b049392505050565b808201828110156119d45760405162461bcd60e51b8152600401610680906125f9565b600081604051602001611d2891906122a2565b604051602081830303815290604052805190602001209050919050565b60006005544281611d5257fe5b04905090565b6000633b9aca00611ce384633b9aca000284611dde565b600081611ce384670de0b6b3a7640000611da7565b808203828111156119d45760405162461bcd60e51b8152600401610680906124b8565b6000811580611dc257505080820282828281611dbf57fe5b04145b6119d45760405162461bcd60e51b81526004016106809061255d565b600060028206611dfa576b033b2e3c9fd0803ce8000000611dfc565b825b90506002820491505b81156119d457611e158384611e38565b92506002820615611e2d57611e2a8184611e38565b90505b600282049150611e05565b60006b033b2e3c9fd0803ce8000000611ce38484611da7565b600082601f830112611e61578081fd5b8135611e74611e6f82612a25565b612a01565b9150808252836020828501011115611e8b57600080fd5b8060208401602084013760009082016020015292915050565b803560ff811681146108e857600080fd5b600060208284031215611ec6578081fd5b8135611c4f81612a77565b600060208284031215611ee2578081fd5b8151611c4f81612a77565b60008060008060008060008060006101208a8c031215611f0b578485fd5b8935611f1681612a77565b985060208a0135611f2681612a77565b975060408a0135965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a013591506101008a0135611f6181612a77565b809150509295985092959850929598565b600080600080600060a08688031215611f89578081fd5b8535611f9481612a77565b9450602086013567ffffffffffffffff811115611faf578182fd5b611fbb88828901611e51565b9450506040860135925060608601359150611fd860808701611ea4565b90509295509295909350565b600080600080600080600060e0888a031215611ffe578283fd5b873561200981612a77565b96506020880135955060408801359450606088013567ffffffffffffffff811115612032578384fd5b61203e8a828b01611e51565b9450506080880135925060a0880135915061205b60c08901611ea4565b905092959891949750929550565b6000806020838503121561207b578182fd5b823567ffffffffffffffff80821115612092578384fd5b818501915085601f8301126120a5578384fd5b8135818111156120b3578485fd5b86602080830285010111156120c6578485fd5b60209290920196919550909350505050565b6000602082840312156120e9578081fd5b8135611c4f81612a8c565b600060208284031215612105578081fd5b8151611c4f81612a8c565b600060208284031215612121578081fd5b81356001600160e01b031981168114611c4f578182fd5b600060208284031215612149578081fd5b815167ffffffffffffffff81111561215f578182fd5b8201601f8101841361216f578182fd5b805161217d611e6f82612a25565b818152856020838501011115612191578384fd5b6121a2826020830160208601612a47565b95945050505050565b6000602082840312156121bc578081fd5b5035919050565b6000602082840312156121d4578081fd5b5051919050565b600081518084526121f3816020860160208601612a47565b601f01601f19169290920160200192915050565b91825260601b6bffffffffffffffffffffffff1916602082015260340190565b6000838583378382018181528351612243818360208801612a47565b0195945050505050565b6000825161225f818460208701612a47565b9190910192915050565b6000845161227b818460208901612a47565b919091019283525060601b6bffffffffffffffffffffffff19166020820152603401919050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60008582526bffffffffffffffffffffffff198560601b1660208301528360348301528251612309816054850160208701612a47565b9190910160540195945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b038416815260208101839052606081016008831061237257fe5b826040830152949350505050565b6001600160a01b03929092168252602082015260400190565b6001600160a01b038481168252831660208201526060604082018190526000906121a2908301846121db565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b6001600160a01b039390931683526020830191909152604082015260600190565b6000602080830181845280855180835260408601915060408482028701019250838701855b8281101561246657603f198886030184526124548583516121db565b94509285019290850190600101612438565b5092979650505050505050565b901515815260200190565b90815260200190565b93845260ff9290921660208401526040830152606082015260800190565b600060208252611c4f60208301846121db565b60208082526015908201527464732d6d6174682d7375622d756e646572666c6f7760581b604082015260600190565b60208082526028908201527f636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e737560408201526718d8d95cdcd99d5b60c21b606082015260800190565b602080825260149082015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604082015260600190565b60208082526014908201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604082015260600190565b60208082526019908201527f636f696e2d6d616368696e652d756e617574686f726973656400000000000000604082015260600190565b6020808252601d908201527f636f696e2d6d616368696e652d77696e646f772d746f6f2d736d616c6c000000604082015260600190565b60208082526014908201527364732d6d6174682d6164642d6f766572666c6f7760601b604082015260600190565b6020808252818101527f636f696e2d6d616368696e652d616c72656164792d696e697469616c69736564604082015260600190565b60208082526029908201527f6d6574617472616e73616374696f6e2d7369676e65722d7369676e617475726560408201526805adad2e6dac2e8c6d60bb1b606082015260800190565b6020808252601a908201527f636f696e2d6d616368696e652d696e76616c69642d746f6b656e000000000000604082015260600190565b6020808252601a908201527f636f696e2d6d616368696e652d6d61782d746f6f2d736d616c6c000000000000604082015260600190565b6020808252601b908201527f657874656e73696f6e2d616c72656164792d696e7374616c6c65640000000000604082015260600190565b6020808252601c908201527f636f696e2d6d616368696e652d70757263686173652d6661696c656400000000604082015260600190565b6020808252601d908201527f636f696e2d6d616368696e652d7461726765742d746f6f2d736d616c6c000000604082015260600190565b6020808252601c908201527f636f696e2d6d616368696e652d6c696d69742d746f6f2d736d616c6c00000000604082015260600190565b6020808252601f908201527f636f696e2d6d616368696e652d696e73756666696369656e742d66756e647300604082015260600190565b6020808252601c908201527f636f696e2d6d616368696e652d7472616e736665722d6661696c656400000000604082015260600190565b6020808252601c908201527f636f696e2d6d616368696e652d6c696d69742d746f6f2d6c6172676500000000604082015260600190565b6020808252601c908201527f636f696e2d6d616368696e652d63616c6c65722d6e6f742d726f6f7400000000604082015260600190565b6020808252601f908201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604082015260600190565b6020808252601d908201527f636f696e2d6d616368696e652d706572696f642d746f6f2d736d616c6c000000604082015260600190565b6020808252601d908201527f636f696e2d6d616368696e652d77696e646f772d746f6f2d6c61726765000000604082015260600190565b6020808252601b908201527f636f6c6f6e792d657874656e73696f6e2d646570726563617465640000000000604082015260600190565b918252602082015260400190565b6000808335601e198436030181126129cb578283fd5b83018035915067ffffffffffffffff8211156129e5578283fd5b6020019150368190038213156129fa57600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715612a1d57fe5b604052919050565b600067ffffffffffffffff821115612a3957fe5b50601f01601f191660200190565b60005b83811015612a62578181015183820152602001612a4a565b83811115612a71576000848401525b50505050565b6001600160a01b0381168114610fc957600080fd5b8015158114610fc957600080fdfea2646970667358221220b0ce6454071dcd3a9581aa6ce405ebf9043c7ff2c490477593225bfe70c80fb664736f6c63430007030033"; diff --git a/src/contracts/extensions/coinMachine/6/index.d.ts b/src/contracts/extensions/coinMachine/6/index.d.ts new file mode 100644 index 000000000..910d6a045 --- /dev/null +++ b/src/contracts/extensions/coinMachine/6/index.d.ts @@ -0,0 +1,29 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BigNumberish, + EventDescription, + FunctionDescription, +} from "ethers/utils"; + +export interface TransactionOverrides { + gasLimit?: BigNumberish | Promise; + gasPrice?: BigNumberish | Promise; + nonce?: BigNumberish | Promise; + value?: BigNumberish | Promise; + from?: string | Promise; + chainId?: number | Promise; +} + +export interface TypedEventDescription< + T extends Pick +> extends EventDescription { + encodeTopics: T["encodeTopics"]; +} + +export interface TypedFunctionDescription< + T extends Pick +> extends FunctionDescription { + encode: T["encode"]; +} diff --git a/src/contracts/extensions/oneTxPayment/4/OneTxPayment.d.ts b/src/contracts/extensions/oneTxPayment/4/OneTxPayment.d.ts new file mode 100644 index 000000000..ea88e2083 --- /dev/null +++ b/src/contracts/extensions/oneTxPayment/4/OneTxPayment.d.ts @@ -0,0 +1,1173 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface OneTxPaymentInterface extends Interface { + functions: { + authority: TypedFunctionDescription<{ encode([]: []): string }>; + + executeMetaTransaction: TypedFunctionDescription<{ + encode([_user, _payload, _sigR, _sigS, _sigV]: [ + string, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getChainId: TypedFunctionDescription<{ encode([]: []): string }>; + + getColony: TypedFunctionDescription<{ encode([]: []): string }>; + + getDeprecated: TypedFunctionDescription<{ encode([]: []): string }>; + + multicall: TypedFunctionDescription<{ + encode([data]: [Arrayish[]]): string; + }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + setAuthority: TypedFunctionDescription<{ + encode([authority_]: [string]): string; + }>; + + setOwner: TypedFunctionDescription<{ encode([owner_]: [string]): string }>; + + verify: TypedFunctionDescription<{ + encode([_owner, _nonce, _chainId, _payload, _sigR, _sigS, _sigV]: [ + string, + BigNumberish, + BigNumberish, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getMetatransactionNonce: TypedFunctionDescription<{ + encode([userAddress]: [string]): string; + }>; + + identifier: TypedFunctionDescription<{ encode([]: []): string }>; + + version: TypedFunctionDescription<{ encode([]: []): string }>; + + install: TypedFunctionDescription<{ encode([_colony]: [string]): string }>; + + finishUpgrade: TypedFunctionDescription<{ encode([]: []): string }>; + + deprecate: TypedFunctionDescription<{ + encode([_deprecated]: [boolean]): string; + }>; + + uninstall: TypedFunctionDescription<{ encode([]: []): string }>; + + getCapabilityRoles: TypedFunctionDescription<{ + encode([_sig]: [Arrayish]): string; + }>; + + makePayment: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _callerPermissionDomainId, + _callerChildSkillIndex, + _workers, + _tokens, + _amounts, + _domainId, + _skillId, + ]: [ + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + string[], + string[], + BigNumberish[], + BigNumberish, + BigNumberish + ]): string; + }>; + + makePaymentFundedFromDomain: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _callerPermissionDomainId, + _callerChildSkillIndex, + _workers, + _tokens, + _amounts, + _domainId, + _skillId, + ]: [ + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + string[], + string[], + BigNumberish[], + BigNumberish, + BigNumberish + ]): string; + }>; + }; + + events: { + ExtensionInitialised: TypedEventDescription<{ + encodeTopics([]: []): string[]; + }>; + + LogSetAuthority: TypedEventDescription<{ + encodeTopics([authority]: [string | null]): string[]; + }>; + + LogSetOwner: TypedEventDescription<{ + encodeTopics([owner]: [string | null]): string[]; + }>; + + MetaTransactionExecuted: TypedEventDescription<{ + encodeTopics([user, relayerAddress, functionSignature]: [ + null, + null, + null + ]): string[]; + }>; + + OneTxPaymentMade: TypedEventDescription<{ + encodeTopics([agent, fundamentalId, nPayouts]: [ + null, + null, + null + ]): string[]; + }>; + }; +} + +export class OneTxPayment extends Contract { + connect(signerOrProvider: Signer | Provider | string): OneTxPayment; + attach(addressOrName: string): OneTxPayment; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): OneTxPayment; + once(event: EventFilter | string, listener: Listener): OneTxPayment; + addListener( + eventName: EventFilter | string, + listener: Listener + ): OneTxPayment; + removeAllListeners(eventName: EventFilter | string): OneTxPayment; + removeListener(eventName: any, listener: Listener): OneTxPayment; + + interface: OneTxPaymentInterface; + + functions: { + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + getColony(overrides?: TransactionOverrides): Promise; + + "getColony()"(overrides?: TransactionOverrides): Promise; + + getDeprecated(overrides?: TransactionOverrides): Promise; + + "getDeprecated()"(overrides?: TransactionOverrides): Promise; + + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param userAddress The user's address + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param userAddress The user's address + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the identifier of the extension + */ + identifier(overrides?: TransactionOverrides): Promise; + + /** + * Returns the identifier of the extension + */ + "identifier()"(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + install( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + "install(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when upgrading the extension + */ + finishUpgrade( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when upgrading the extension + */ + "finishUpgrade()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + deprecate( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + "deprecate(bool)"( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when uninstalling the extension + */ + uninstall(overrides?: TransactionOverrides): Promise; + + /** + * Called when uninstalling the extension + */ + "uninstall()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Return the permissions required for each function + * @param _sig The function signature + */ + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return the permissions required for each function + * @param _sig The function signature + */ + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Assumes that each entity holds administration and funding roles in the root domain + * Completes a colony payment in a single transaction + * @param _amounts amounts of the tokens being paid out + * @param _callerChildSkillIndex Index of the _callerPermissionDomainId skill.children array to get + * @param _callerPermissionDomainId The domainId in which the _caller_ has the administration permission (must have funding in root) + * @param _childSkillIndex Index of the _permissionDomainId skill.children array to get + * @param _domainId The domainId the payment should be coming from + * @param _permissionDomainId The domainId in which the _contract_ has permissions to add a payment and fund it + * @param _skillId The skillId that the payment should be marked with, possibly awarding reputation in this skill. + * @param _tokens Addresses of the tokens the payments are being made in. 0x00 for Ether. + * @param _workers The addresses of the recipients of the payment + */ + makePayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _callerPermissionDomainId: BigNumberish, + _callerChildSkillIndex: BigNumberish, + _workers: string[], + _tokens: string[], + _amounts: BigNumberish[], + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Assumes that each entity holds administration and funding roles in the root domain + * Completes a colony payment in a single transaction + * @param _amounts amounts of the tokens being paid out + * @param _callerChildSkillIndex Index of the _callerPermissionDomainId skill.children array to get + * @param _callerPermissionDomainId The domainId in which the _caller_ has the administration permission (must have funding in root) + * @param _childSkillIndex Index of the _permissionDomainId skill.children array to get + * @param _domainId The domainId the payment should be coming from + * @param _permissionDomainId The domainId in which the _contract_ has permissions to add a payment and fund it + * @param _skillId The skillId that the payment should be marked with, possibly awarding reputation in this skill. + * @param _tokens Addresses of the tokens the payments are being made in. 0x00 for Ether. + * @param _workers The addresses of the recipients of the payment + */ + "makePayment(uint256,uint256,uint256,uint256,address[],address[],uint256[],uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _callerPermissionDomainId: BigNumberish, + _callerChildSkillIndex: BigNumberish, + _workers: string[], + _tokens: string[], + _amounts: BigNumberish[], + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Assumes that each entity holds administration and funding roles in the same domain, although contract and caller can have the permissions in different domains. Payment is taken from domain funds - if the domain does not have sufficient funds, call will fail. + * Completes a colony payment in a single transaction + * @param _amounts The amounts of the tokens being paid out + * @param _callerChildSkillIndex Index of the _callerPermissionDomainId skill.children array to get + * @param _callerPermissionDomainId The domainId in which the _caller_ has permissions to add a payment and fund it + * @param _childSkillIndex Index of the _permissionDomainId skill.children array to get + * @param _domainId The domainId the payment should be coming from + * @param _permissionDomainId The domainId in which the _contract_ has permissions to add a payment and fund it + * @param _skillId The skillId that the payment should be marked with, possibly awarding reputation in this skill. + * @param _tokens The addresses of the token the payments are being made in. 0x00 for Ether. + * @param _workers The addresses of the recipients of the payment + */ + makePaymentFundedFromDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _callerPermissionDomainId: BigNumberish, + _callerChildSkillIndex: BigNumberish, + _workers: string[], + _tokens: string[], + _amounts: BigNumberish[], + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Assumes that each entity holds administration and funding roles in the same domain, although contract and caller can have the permissions in different domains. Payment is taken from domain funds - if the domain does not have sufficient funds, call will fail. + * Completes a colony payment in a single transaction + * @param _amounts The amounts of the tokens being paid out + * @param _callerChildSkillIndex Index of the _callerPermissionDomainId skill.children array to get + * @param _callerPermissionDomainId The domainId in which the _caller_ has permissions to add a payment and fund it + * @param _childSkillIndex Index of the _permissionDomainId skill.children array to get + * @param _domainId The domainId the payment should be coming from + * @param _permissionDomainId The domainId in which the _contract_ has permissions to add a payment and fund it + * @param _skillId The skillId that the payment should be marked with, possibly awarding reputation in this skill. + * @param _tokens The addresses of the token the payments are being made in. 0x00 for Ether. + * @param _workers The addresses of the recipients of the payment + */ + "makePaymentFundedFromDomain(uint256,uint256,uint256,uint256,address[],address[],uint256[],uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _callerPermissionDomainId: BigNumberish, + _callerChildSkillIndex: BigNumberish, + _workers: string[], + _tokens: string[], + _amounts: BigNumberish[], + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; + + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + getColony(overrides?: TransactionOverrides): Promise; + + "getColony()"(overrides?: TransactionOverrides): Promise; + + getDeprecated(overrides?: TransactionOverrides): Promise; + + "getDeprecated()"(overrides?: TransactionOverrides): Promise; + + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param userAddress The user's address + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param userAddress The user's address + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the identifier of the extension + */ + identifier(overrides?: TransactionOverrides): Promise; + + /** + * Returns the identifier of the extension + */ + "identifier()"(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + install( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + "install(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when upgrading the extension + */ + finishUpgrade(overrides?: TransactionOverrides): Promise; + + /** + * Called when upgrading the extension + */ + "finishUpgrade()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + deprecate( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + "deprecate(bool)"( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when uninstalling the extension + */ + uninstall(overrides?: TransactionOverrides): Promise; + + /** + * Called when uninstalling the extension + */ + "uninstall()"(overrides?: TransactionOverrides): Promise; + + /** + * Return the permissions required for each function + * @param _sig The function signature + */ + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return the permissions required for each function + * @param _sig The function signature + */ + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Assumes that each entity holds administration and funding roles in the root domain + * Completes a colony payment in a single transaction + * @param _amounts amounts of the tokens being paid out + * @param _callerChildSkillIndex Index of the _callerPermissionDomainId skill.children array to get + * @param _callerPermissionDomainId The domainId in which the _caller_ has the administration permission (must have funding in root) + * @param _childSkillIndex Index of the _permissionDomainId skill.children array to get + * @param _domainId The domainId the payment should be coming from + * @param _permissionDomainId The domainId in which the _contract_ has permissions to add a payment and fund it + * @param _skillId The skillId that the payment should be marked with, possibly awarding reputation in this skill. + * @param _tokens Addresses of the tokens the payments are being made in. 0x00 for Ether. + * @param _workers The addresses of the recipients of the payment + */ + makePayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _callerPermissionDomainId: BigNumberish, + _callerChildSkillIndex: BigNumberish, + _workers: string[], + _tokens: string[], + _amounts: BigNumberish[], + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Assumes that each entity holds administration and funding roles in the root domain + * Completes a colony payment in a single transaction + * @param _amounts amounts of the tokens being paid out + * @param _callerChildSkillIndex Index of the _callerPermissionDomainId skill.children array to get + * @param _callerPermissionDomainId The domainId in which the _caller_ has the administration permission (must have funding in root) + * @param _childSkillIndex Index of the _permissionDomainId skill.children array to get + * @param _domainId The domainId the payment should be coming from + * @param _permissionDomainId The domainId in which the _contract_ has permissions to add a payment and fund it + * @param _skillId The skillId that the payment should be marked with, possibly awarding reputation in this skill. + * @param _tokens Addresses of the tokens the payments are being made in. 0x00 for Ether. + * @param _workers The addresses of the recipients of the payment + */ + "makePayment(uint256,uint256,uint256,uint256,address[],address[],uint256[],uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _callerPermissionDomainId: BigNumberish, + _callerChildSkillIndex: BigNumberish, + _workers: string[], + _tokens: string[], + _amounts: BigNumberish[], + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Assumes that each entity holds administration and funding roles in the same domain, although contract and caller can have the permissions in different domains. Payment is taken from domain funds - if the domain does not have sufficient funds, call will fail. + * Completes a colony payment in a single transaction + * @param _amounts The amounts of the tokens being paid out + * @param _callerChildSkillIndex Index of the _callerPermissionDomainId skill.children array to get + * @param _callerPermissionDomainId The domainId in which the _caller_ has permissions to add a payment and fund it + * @param _childSkillIndex Index of the _permissionDomainId skill.children array to get + * @param _domainId The domainId the payment should be coming from + * @param _permissionDomainId The domainId in which the _contract_ has permissions to add a payment and fund it + * @param _skillId The skillId that the payment should be marked with, possibly awarding reputation in this skill. + * @param _tokens The addresses of the token the payments are being made in. 0x00 for Ether. + * @param _workers The addresses of the recipients of the payment + */ + makePaymentFundedFromDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _callerPermissionDomainId: BigNumberish, + _callerChildSkillIndex: BigNumberish, + _workers: string[], + _tokens: string[], + _amounts: BigNumberish[], + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Assumes that each entity holds administration and funding roles in the same domain, although contract and caller can have the permissions in different domains. Payment is taken from domain funds - if the domain does not have sufficient funds, call will fail. + * Completes a colony payment in a single transaction + * @param _amounts The amounts of the tokens being paid out + * @param _callerChildSkillIndex Index of the _callerPermissionDomainId skill.children array to get + * @param _callerPermissionDomainId The domainId in which the _caller_ has permissions to add a payment and fund it + * @param _childSkillIndex Index of the _permissionDomainId skill.children array to get + * @param _domainId The domainId the payment should be coming from + * @param _permissionDomainId The domainId in which the _contract_ has permissions to add a payment and fund it + * @param _skillId The skillId that the payment should be marked with, possibly awarding reputation in this skill. + * @param _tokens The addresses of the token the payments are being made in. 0x00 for Ether. + * @param _workers The addresses of the recipients of the payment + */ + "makePaymentFundedFromDomain(uint256,uint256,uint256,uint256,address[],address[],uint256[],uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _callerPermissionDomainId: BigNumberish, + _callerChildSkillIndex: BigNumberish, + _workers: string[], + _tokens: string[], + _amounts: BigNumberish[], + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + ExtensionInitialised(): EventFilter; + + LogSetAuthority(authority: string | null): EventFilter; + + LogSetOwner(owner: string | null): EventFilter; + + MetaTransactionExecuted( + user: null, + relayerAddress: null, + functionSignature: null + ): EventFilter; + + OneTxPaymentMade( + agent: null, + fundamentalId: null, + nPayouts: null + ): EventFilter; + }; + + estimate: { + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + getColony(overrides?: TransactionOverrides): Promise; + + "getColony()"(overrides?: TransactionOverrides): Promise; + + getDeprecated(overrides?: TransactionOverrides): Promise; + + "getDeprecated()"(overrides?: TransactionOverrides): Promise; + + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param userAddress The user's address + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param userAddress The user's address + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the identifier of the extension + */ + identifier(overrides?: TransactionOverrides): Promise; + + /** + * Returns the identifier of the extension + */ + "identifier()"(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + install( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + "install(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when upgrading the extension + */ + finishUpgrade(overrides?: TransactionOverrides): Promise; + + /** + * Called when upgrading the extension + */ + "finishUpgrade()"(overrides?: TransactionOverrides): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + deprecate( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + "deprecate(bool)"( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when uninstalling the extension + */ + uninstall(overrides?: TransactionOverrides): Promise; + + /** + * Called when uninstalling the extension + */ + "uninstall()"(overrides?: TransactionOverrides): Promise; + + /** + * Return the permissions required for each function + * @param _sig The function signature + */ + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return the permissions required for each function + * @param _sig The function signature + */ + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Assumes that each entity holds administration and funding roles in the root domain + * Completes a colony payment in a single transaction + * @param _amounts amounts of the tokens being paid out + * @param _callerChildSkillIndex Index of the _callerPermissionDomainId skill.children array to get + * @param _callerPermissionDomainId The domainId in which the _caller_ has the administration permission (must have funding in root) + * @param _childSkillIndex Index of the _permissionDomainId skill.children array to get + * @param _domainId The domainId the payment should be coming from + * @param _permissionDomainId The domainId in which the _contract_ has permissions to add a payment and fund it + * @param _skillId The skillId that the payment should be marked with, possibly awarding reputation in this skill. + * @param _tokens Addresses of the tokens the payments are being made in. 0x00 for Ether. + * @param _workers The addresses of the recipients of the payment + */ + makePayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _callerPermissionDomainId: BigNumberish, + _callerChildSkillIndex: BigNumberish, + _workers: string[], + _tokens: string[], + _amounts: BigNumberish[], + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Assumes that each entity holds administration and funding roles in the root domain + * Completes a colony payment in a single transaction + * @param _amounts amounts of the tokens being paid out + * @param _callerChildSkillIndex Index of the _callerPermissionDomainId skill.children array to get + * @param _callerPermissionDomainId The domainId in which the _caller_ has the administration permission (must have funding in root) + * @param _childSkillIndex Index of the _permissionDomainId skill.children array to get + * @param _domainId The domainId the payment should be coming from + * @param _permissionDomainId The domainId in which the _contract_ has permissions to add a payment and fund it + * @param _skillId The skillId that the payment should be marked with, possibly awarding reputation in this skill. + * @param _tokens Addresses of the tokens the payments are being made in. 0x00 for Ether. + * @param _workers The addresses of the recipients of the payment + */ + "makePayment(uint256,uint256,uint256,uint256,address[],address[],uint256[],uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _callerPermissionDomainId: BigNumberish, + _callerChildSkillIndex: BigNumberish, + _workers: string[], + _tokens: string[], + _amounts: BigNumberish[], + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Assumes that each entity holds administration and funding roles in the same domain, although contract and caller can have the permissions in different domains. Payment is taken from domain funds - if the domain does not have sufficient funds, call will fail. + * Completes a colony payment in a single transaction + * @param _amounts The amounts of the tokens being paid out + * @param _callerChildSkillIndex Index of the _callerPermissionDomainId skill.children array to get + * @param _callerPermissionDomainId The domainId in which the _caller_ has permissions to add a payment and fund it + * @param _childSkillIndex Index of the _permissionDomainId skill.children array to get + * @param _domainId The domainId the payment should be coming from + * @param _permissionDomainId The domainId in which the _contract_ has permissions to add a payment and fund it + * @param _skillId The skillId that the payment should be marked with, possibly awarding reputation in this skill. + * @param _tokens The addresses of the token the payments are being made in. 0x00 for Ether. + * @param _workers The addresses of the recipients of the payment + */ + makePaymentFundedFromDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _callerPermissionDomainId: BigNumberish, + _callerChildSkillIndex: BigNumberish, + _workers: string[], + _tokens: string[], + _amounts: BigNumberish[], + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Assumes that each entity holds administration and funding roles in the same domain, although contract and caller can have the permissions in different domains. Payment is taken from domain funds - if the domain does not have sufficient funds, call will fail. + * Completes a colony payment in a single transaction + * @param _amounts The amounts of the tokens being paid out + * @param _callerChildSkillIndex Index of the _callerPermissionDomainId skill.children array to get + * @param _callerPermissionDomainId The domainId in which the _caller_ has permissions to add a payment and fund it + * @param _childSkillIndex Index of the _permissionDomainId skill.children array to get + * @param _domainId The domainId the payment should be coming from + * @param _permissionDomainId The domainId in which the _contract_ has permissions to add a payment and fund it + * @param _skillId The skillId that the payment should be marked with, possibly awarding reputation in this skill. + * @param _tokens The addresses of the token the payments are being made in. 0x00 for Ether. + * @param _workers The addresses of the recipients of the payment + */ + "makePaymentFundedFromDomain(uint256,uint256,uint256,uint256,address[],address[],uint256[],uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _callerPermissionDomainId: BigNumberish, + _callerChildSkillIndex: BigNumberish, + _workers: string[], + _tokens: string[], + _amounts: BigNumberish[], + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/extensions/oneTxPayment/4/factories/OneTxPayment__factory.ts b/src/contracts/extensions/oneTxPayment/4/factories/OneTxPayment__factory.ts new file mode 100644 index 000000000..23302da79 --- /dev/null +++ b/src/contracts/extensions/oneTxPayment/4/factories/OneTxPayment__factory.ts @@ -0,0 +1,531 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from ".."; +import { OneTxPayment } from "../OneTxPayment"; + +export class OneTxPayment__factory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): OneTxPayment { + return super.attach(address) as OneTxPayment; + } + connect(signer: Signer): OneTxPayment__factory { + return super.connect(signer) as OneTxPayment__factory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): OneTxPayment { + return new Contract(address, _abi, signerOrProvider) as OneTxPayment; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [], + name: "ExtensionInitialised", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "authority", + type: "address", + }, + ], + name: "LogSetAuthority", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "LogSetOwner", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address payable", + name: "relayerAddress", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "functionSignature", + type: "bytes", + }, + ], + name: "MetaTransactionExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "agent", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "fundamentalId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "nPayouts", + type: "uint256", + }, + ], + name: "OneTxPaymentMade", + type: "event", + }, + { + inputs: [], + name: "authority", + outputs: [ + { + internalType: "contract DSAuthority", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "executeMetaTransaction", + outputs: [ + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "getChainId", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getColony", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getDeprecated", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "results", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract DSAuthority", + name: "authority_", + type: "address", + }, + ], + name: "setAuthority", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner_", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + { + internalType: "uint256", + name: "_nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "_chainId", + type: "uint256", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "verify", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "userAddress", + type: "address", + }, + ], + name: "getMetatransactionNonce", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "identifier", + outputs: [ + { + internalType: "bytes32", + name: "_identifier", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_colony", + type: "address", + }, + ], + name: "install", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "finishUpgrade", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bool", + name: "_deprecated", + type: "bool", + }, + ], + name: "deprecate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "uninstall", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "_sig", + type: "bytes4", + }, + ], + name: "getCapabilityRoles", + outputs: [ + { + internalType: "bytes32", + name: "_roles", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_permissionDomainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_childSkillIndex", + type: "uint256", + }, + { + internalType: "uint256", + name: "_callerPermissionDomainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_callerChildSkillIndex", + type: "uint256", + }, + { + internalType: "address payable[]", + name: "_workers", + type: "address[]", + }, + { + internalType: "address[]", + name: "_tokens", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]", + }, + { + internalType: "uint256", + name: "_domainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + ], + name: "makePayment", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_permissionDomainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_childSkillIndex", + type: "uint256", + }, + { + internalType: "uint256", + name: "_callerPermissionDomainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_callerChildSkillIndex", + type: "uint256", + }, + { + internalType: "address payable[]", + name: "_workers", + type: "address[]", + }, + { + internalType: "address[]", + name: "_tokens", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]", + }, + { + internalType: "uint256", + name: "_domainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + ], + name: "makePaymentFundedFromDomain", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a26131a78061005e6000396000f3fe60806040526004361061011f5760003560e01c80636bf2dc43116100a0578063ac9650d811610064578063ac9650d8146102f4578063b3eac1d814610321578063bf7e214f14610341578063bfd68ab714610356578063fcf6ba931461036b5761011f565b80636bf2dc431461025d5780637998a1c41461027d5780637a9e5e4b146102925780638da5cb5b146102b25780639251cff4146102d45761011f565b80632dfbb083116100e75780632dfbb083146101c45780633408e470146101f1578063340df28f1461020657806354fd4d501461021b5780636281133d146102305761011f565b80630c53c51c146101245780630d638f301461014d57806313af4035146101645780632a1b8f9b146101845780632a2678bb146101a4575b600080fd5b6101376101323660046125fd565b610380565b6040516101449190612d23565b60405180910390f35b34801561015957600080fd5b506101626104dc565b005b34801561017057600080fd5b5061016261017f3660046125da565b61051c565b34801561019057600080fd5b5061016261019f3660046125da565b61059e565b3480156101b057600080fd5b506101626101bf3660046129c2565b61061b565b3480156101d057600080fd5b506101e46101df366004612798565b610f6c565b6040516101449190612cfc565b3480156101fd57600080fd5b506101e4610fb3565b34801561021257600080fd5b50610162610fb8565b34801561022757600080fd5b506101e4610fec565b34801561023c57600080fd5b5061025061024b36600461266e565b610ff1565b6040516101449190612cf1565b34801561026957600080fd5b506101626102783660046129c2565b6110c1565b34801561028957600080fd5b506101e4611976565b34801561029e57600080fd5b506101626102ad3660046125da565b61199a565b3480156102be57600080fd5b506102c7611a18565b6040516101449190612bcc565b3480156102e057600080fd5b506101626102ef366004612760565b611a27565b34801561030057600080fd5b5061031461030f3660046126f2565b611a5c565b6040516101449190612c91565b34801561032d57600080fd5b506101e461033c3660046125da565b611c2d565b34801561034d57600080fd5b506102c7611c48565b34801561036257600080fd5b506102c7611c57565b34801561037757600080fd5b50610250611c66565b60606103a08661038f88611c2d565b610397610fb3565b88888888610ff1565b6103c55760405162461bcd60e51b81526004016103bc90612ed3565b60405180910390fd5b6103ce86611c76565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a60405160200161041193929190612b1c565b60408051601f198184030181529082905261042b91612b00565b6000604051808303816000865af19150503d8060008114610468576040519150601f19603f3d011682016040523d82523d6000602084013e61046d565b606091505b50915091508161048f5760405162461bcd60e51b81526004016103bc90612dc1565b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b886104b9611c96565b896040516104c993929190612c38565b60405180910390a1979650505050505050565b6104f2336000356001600160e01b031916611d45565b61050e5760405162461bcd60e51b81526004016103bc90612e09565b6003546001600160a01b0316ff5b610532336000356001600160e01b031916611d45565b61054e5760405162461bcd60e51b81526004016103bc90612e09565b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6105b4336000356001600160e01b031916611d45565b6105d05760405162461bcd60e51b81526004016103bc90612e09565b6003546001600160a01b0316156105f95760405162461bcd60e51b81526004016103bc90612f1c565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b8351855114801561062d575082518551145b6106495760405162461bcd60e51b81526004016103bc90612f53565b6003546001600160a01b0316633354f138610662611c96565b8960058a876040518663ffffffff1660e01b8152600401610687959493929190612be0565b60206040518083038186803b15801561069f57600080fd5b505afa1580156106b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d7919061277c565b801561076c57506003546001600160a01b0316633354f1386106f7611c96565b8960068a876040518663ffffffff1660e01b815260040161071c959493929190612be0565b60206040518083038186803b15801561073457600080fd5b505afa158015610748573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076c919061277c565b6107885760405162461bcd60e51b81526004016103bc90612e37565b845160011415610ac75760035485516000916001600160a01b031690634f8df643908c908c908a9086906107b857fe5b6020026020010151896000815181106107cd57fe5b6020026020010151896000815181106107e257fe5b602002602001015189896040518863ffffffff1660e01b815260040161080e9796959493929190612d36565b602060405180830381600087803b15801561082857600080fd5b505af115801561083c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086091906129aa565b600354604051631940541b60e11b81529192506000916001600160a01b0390911690633280a83690610896908590600401612cfc565b60006040518083038186803b1580156108ae57600080fd5b505afa1580156108c2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108ea91908101906128fc565b6040908101516003549151630d3d4c7160e11b81529092506000916001600160a01b031690631a7a98e290610923908890600401612cfc565b604080518083038186803b15801561093a57600080fd5b505afa15801561094e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109729190612832565b6020015190506109ae8c8c83858a60008151811061098c57fe5b60200260200101518c6000815181106109a157fe5b6020026020010151611e23565b6003546040516306cb0d2160e51b81526001600160a01b039091169063d961a420906109e2908f908f908890600401612d72565b600060405180830381600087803b1580156109fc57600080fd5b505af1158015610a10573d6000803e3d6000fd5b505060035489516001600160a01b039091169250630f4c52f3915085908a90600090610a3857fe5b60200260200101516040518363ffffffff1660e01b8152600401610a5d929190612ff8565b600060405180830381600087803b158015610a7757600080fd5b505af1158015610a8b573d6000803e3d6000fd5b50505050600080516020613152833981519152610aa6611c96565b8951604051610ab792918791612c17565b60405180910390a1505050610f61565b60035460405163a5487a3760e01b81526000916001600160a01b03169063a5487a3790610afc908d908d908890600401612d72565b602060405180830381600087803b158015610b1657600080fd5b505af1158015610b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4e91906129aa565b6003546040516374b556c360e11b81529192506000916001600160a01b039091169063e96aad8690610b84908590600401612cfc565b60c06040518083038186803b158015610b9c57600080fd5b505afa158015610bb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd49190612879565b6040908101516003549151630d3d4c7160e11b81529092506000916001600160a01b031690631a7a98e290610c0d908890600401612cfc565b604080518083038186803b158015610c2457600080fd5b505afa158015610c38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5c9190612832565b602001519050610c708c8c83858b8b611e99565b6000805b8951821015610f2057811580610cc55750896001830381518110610c9457fe5b60200260200101516001600160a01b03168a8381518110610cb157fe5b60200260200101516001600160a01b031614155b15610e2657811580610d115750896001830381518110610ce157fe5b60200260200101516001600160a01b03168a8381518110610cfe57fe5b60200260200101516001600160a01b0316115b610d2d5760405162461bcd60e51b81526004016103bc90612e9c565b6003548a516001909201916001600160a01b03909116906317b46cb790879084908e9087908110610d5a57fe5b60200260200101516040518463ffffffff1660e01b8152600401610d809392919061300f565b600060405180830381600087803b158015610d9a57600080fd5b505af1158015610dae573d6000803e3d6000fd5b5050505085600014610e2157600354604051637d09f6b960e11b81526001600160a01b039091169063fa13ed7290610dee90889085908b90600401612d72565b600060405180830381600087803b158015610e0857600080fd5b505af1158015610e1c573d6000803e3d6000fd5b505050505b610e80565b886001830381518110610e3557fe5b60200260200101516001600160a01b0316898381518110610e5257fe5b60200260200101516001600160a01b031611610e805760405162461bcd60e51b81526004016103bc90612f8a565b60035489516001600160a01b039091169063476d1d0590879084908d9087908110610ea757fe5b60200260200101518c8781518110610ebb57fe5b60200260200101516040518563ffffffff1660e01b8152600401610ee2949392919061302e565b600060405180830381600087803b158015610efc57600080fd5b505af1158015610f10573d6000803e3d6000fd5b505060019093019250610c749050565b610f2b858b8b611f6a565b600080516020613152833981519152610f42611c96565b8b51604051610f5392918991612c17565b60405180910390a150505050505b505050505050505050565b60006001600160e01b03198216636bf2dc4360e01b1480610f9d57506001600160e01b03198216632a2678bb60e01b145b15610faa57506060610fae565b5060005b919050565b465b90565b610fce336000356001600160e01b031916611d45565b610fea5760405162461bcd60e51b81526004016103bc90612e09565b565b600490565b6000806110298830898960405160200161100e9493929190612b86565b604051602081830303815290604052805190602001206120bf565b90506000600182858888604051600081526020016040526040516110509493929190612d05565b6020604051602081039080840390855afa158015611072573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166110a55760405162461bcd60e51b81526004016103bc90612fc1565b6001600160a01b038a8116911614915050979650505050505050565b835185511480156110d3575082518551145b6110ef5760405162461bcd60e51b81526004016103bc90612f53565b6003546001600160a01b0316633354f138611108611c96565b600160058c876040518663ffffffff1660e01b815260040161112e959493929190612be0565b60206040518083038186803b15801561114657600080fd5b505afa15801561115a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117e919061277c565b801561121357506003546001600160a01b0316633354f13861119e611c96565b8960068a876040518663ffffffff1660e01b81526004016111c3959493929190612be0565b60206040518083038186803b1580156111db57600080fd5b505afa1580156111ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611213919061277c565b61122f5760405162461bcd60e51b81526004016103bc90612e37565b84516001141561155c5760035485516000916001600160a01b031690634f8df643906001908c908a90869061126057fe5b60200260200101518960008151811061127557fe5b60200260200101518960008151811061128a57fe5b602002602001015189896040518863ffffffff1660e01b81526004016112b69796959493929190612d36565b602060405180830381600087803b1580156112d057600080fd5b505af11580156112e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130891906129aa565b600354604051631940541b60e11b81529192506000916001600160a01b0390911690633280a8369061133e908590600401612cfc565b60006040518083038186803b15801561135657600080fd5b505afa15801561136a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261139291908101906128fc565b604001519050600360009054906101000a90046001600160a01b03166001600160a01b031663c68d19ea60016000198d6001868b6000815181106113d257fe5b60200260200101518d6000815181106113e757fe5b60200260200101516040518863ffffffff1660e01b81526004016114119796959493929190612d88565b600060405180830381600087803b15801561142b57600080fd5b505af115801561143f573d6000803e3d6000fd5b50506003546040516306cb0d2160e51b81526001600160a01b03909116925063d961a4209150611478906001908e908790600401612d72565b600060405180830381600087803b15801561149257600080fd5b505af11580156114a6573d6000803e3d6000fd5b505060035488516001600160a01b039091169250630f4c52f39150849089906000906114ce57fe5b60200260200101516040518363ffffffff1660e01b81526004016114f3929190612ff8565b600060405180830381600087803b15801561150d57600080fd5b505af1158015611521573d6000803e3d6000fd5b5050505060008051602061315283398151915261153c611c96565b885160405161154d92918691612c17565b60405180910390a15050610f61565b60035460405163a5487a3760e01b81526000916001600160a01b03169063a5487a3790611592906001908d908890600401612d72565b602060405180830381600087803b1580156115ac57600080fd5b505af11580156115c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e491906129aa565b6003546040516374b556c360e11b81529192506000916001600160a01b039091169063e96aad869061161a908590600401612cfc565b60c06040518083038186803b15801561163257600080fd5b505afa158015611646573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061166a9190612879565b60400151905061167c8a8288886120ef565b6000805b885182101561192c578115806116d157508860018303815181106116a057fe5b60200260200101516001600160a01b03168983815181106116bd57fe5b60200260200101516001600160a01b031614155b156118325781158061171d57508860018303815181106116ed57fe5b60200260200101516001600160a01b031689838151811061170a57fe5b60200260200101516001600160a01b0316115b6117395760405162461bcd60e51b81526004016103bc90612e9c565b60035489516001909201916001600160a01b03909116906317b46cb790869084908d908790811061176657fe5b60200260200101516040518463ffffffff1660e01b815260040161178c9392919061300f565b600060405180830381600087803b1580156117a657600080fd5b505af11580156117ba573d6000803e3d6000fd5b505050508460001461182d57600354604051637d09f6b960e11b81526001600160a01b039091169063fa13ed72906117fa90879085908a90600401612d72565b600060405180830381600087803b15801561181457600080fd5b505af1158015611828573d6000803e3d6000fd5b505050505b61188c565b87600183038151811061184157fe5b60200260200101516001600160a01b031688838151811061185e57fe5b60200260200101516001600160a01b03161161188c5760405162461bcd60e51b81526004016103bc90612f8a565b60035488516001600160a01b039091169063476d1d0590869084908c90879081106118b357fe5b60200260200101518b87815181106118c757fe5b60200260200101516040518563ffffffff1660e01b81526004016118ee949392919061302e565b600060405180830381600087803b15801561190857600080fd5b505af115801561191c573d6000803e3d6000fd5b5050600190930192506116809050565b611937848a8a611f6a565b60008051602061315283398151915261194e611c96565b8a5160405161195f92918891612c17565b60405180910390a150505050505050505050505050565b7fa89bc527362fca70a521a083b19b3b6bad9d33d24617254f625ef38bda0407cd90565b6119b0336000356001600160e01b031916611d45565b6119cc5760405162461bcd60e51b81526004016103bc90612e09565b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b611a3d336000356001600160e01b031916611d45565b611a595760405162461bcd60e51b81526004016103bc90612e09565b50565b60606000611a68611c96565b905060603330148015611a8457506001600160a01b0382163014155b15611ace577f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e882604051602001611abc929190612aba565b60405160208183030381529060405290505b836001600160401b0381118015611ae457600080fd5b50604051908082528060200260200182016040528015611b1857816020015b6060815260200190600190039081611b035790505b50925060005b84811015611c24576000606030888885818110611b3757fe5b9050602002810190611b499190613052565b86604051602001611b5c93929190612ada565b60408051601f1981840301815290829052611b7691612b00565b600060405180830381855af49150503d8060008114611bb1576040519150601f19603f3d011682016040523d82523d6000602084013e611bb6565b606091505b509150915081611c0257604481511015611bcf57600080fd5b60048101905080806020019051810190611be991906127c0565b60405162461bcd60e51b81526004016103bc9190612d23565b80868481518110611c0f57fe5b60209081029190910101525050600101611b1e565b50505092915050565b6001600160a01b031660009081526004602052604090205490565b6000546001600160a01b031681565b6003546001600160a01b031690565b600354600160a01b900460ff1690565b6001600160a01b0316600090815260046020526040902080546001019055565b6000363330148015611ca9575060348110155b15611d385760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88114611d2457339350505050610fb5565b508101516001600160a01b03169150611d41565b33915050610fb5565b5090565b60006001600160a01b038316301415611d6057506001611e1d565b6001546001600160a01b0384811691161415611d7e57506001611e1d565b6000546001600160a01b0316611d9657506000611e1d565b60005460405163b700961360e01b81526001600160a01b039091169063b700961390611dca90869030908790600401612c64565b60206040518083038186803b158015611de257600080fd5b505afa158015611df6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1a919061277c565b90505b92915050565b6003546040516363468cf560e11b81526001600160a01b039091169063c68d19ea90611e5f908990899081908a908a908a908a90600401612d88565b600060405180830381600087803b158015611e7957600080fd5b505af1158015611e8d573d6000803e3d6000fd5b50505050505050505050565b6000606080611ea885856121ce565b92509250925060005b83811015611e8d57600360009054906101000a90046001600160a01b03166001600160a01b031663c68d19ea8b8b8c8c8c888881518110611eee57fe5b60200260200101518a8981518110611f0257fe5b60200260200101516040518863ffffffff1660e01b8152600401611f2c9796959493929190612d88565b600060405180830381600087803b158015611f4657600080fd5b505af1158015611f5a573d6000803e3d6000fd5b505060019092019150611eb19050565b6003546040516359f3af6360e11b81526001600160a01b039091169063b3e75ec690611f9a908690600401612cfc565b600060405180830381600087803b158015611fb457600080fd5b505af1158015611fc8573d6000803e3d6000fd5b505050506000805b83518110156120b8578015806120215750836001820381518110611ff057fe5b60200260200101516001600160a01b031684828151811061200d57fe5b60200260200101516001600160a01b031614155b1561202d576001909101905b60035483516001600160a01b0390911690632fe96899908790859087908690811061205457fe5b60200260200101516040518463ffffffff1660e01b815260040161207a9392919061300f565b600060405180830381600087803b15801561209457600080fd5b505af11580156120a8573d6000803e3d6000fd5b505060019092019150611fd09050565b5050505050565b6000816040516020016120d29190612b55565b604051602081830303815290604052805190602001209050919050565b60006060806120fe85856121ce565b92509250925060005b838110156121c457600360009054906101000a90046001600160a01b03166001600160a01b031663c68d19ea60016000198b60018c88888151811061214857fe5b60200260200101518a898151811061215c57fe5b60200260200101516040518863ffffffff1660e01b81526004016121869796959493929190612d88565b600060405180830381600087803b1580156121a057600080fd5b505af11580156121b4573d6000803e3d6000fd5b5050600190920191506121079050565b5050505050505050565b60006060806000606086516001600160401b03811180156121ee57600080fd5b50604051908082528060200260200182016040528015612218578160200160208202803683370190505b509050606087516001600160401b038111801561223457600080fd5b5060405190808252806020026020018201604052801561225e578160200160208202803683370190505b50905060005b8851811015612399576000805b858110801561227e575081155b156123185784818151811061228f57fe5b60200260200101516001600160a01b03168b84815181106122ac57fe5b60200260200101516001600160a01b0316141561231057600191506122f78482815181106122d657fe5b60200260200101518b85815181106122ea57fe5b60200260200101516123a8565b84828151811061230357fe5b6020026020010181815250505b600101612271565b8161238f578a838151811061232957fe5b602002602001015185878151811061233d57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505089838151811061236957fe5b602002602001015184878151811061237d57fe5b60209081029190910101526001909501945b5050600101612264565b50919450925090509250925092565b80820182811015611e1d5760405162461bcd60e51b81526004016103bc90612e6e565b8051610fae8161312e565b600082601f8301126123e6578081fd5b81356123f96123f4826130c0565b61309d565b81815291506020808301908481018184028601820187101561241a57600080fd5b60005b848110156124425781356124308161312e565b8452928201929082019060010161241d565b505050505092915050565b600082601f83011261245d578081fd5b813561246b6123f4826130c0565b81815291506020808301908481018184028601820187101561248c57600080fd5b60005b848110156124425781356124a28161312e565b8452928201929082019060010161248f565b600082601f8301126124c4578081fd5b81356124d26123f4826130c0565b8181529150602080830190848101818402860182018710156124f357600080fd5b60005b84811015612442578135845292820192908201906001016124f6565b600082601f830112612522578081fd5b81516125306123f4826130c0565b81815291506020808301908481018184028601820187101561255157600080fd5b60005b8481101561244257815184529282019290820190600101612554565b8051610fae81613143565b600082601f83011261258b578081fd5b81356125996123f4826130dd565b91508082528360208285010111156125b057600080fd5b8060208401602084013760009082016020015292915050565b803560ff81168114610fae57600080fd5b6000602082840312156125eb578081fd5b81356125f68161312e565b9392505050565b600080600080600060a08688031215612614578081fd5b853561261f8161312e565b945060208601356001600160401b03811115612639578182fd5b6126458882890161257b565b9450506040860135925060608601359150612662608087016125c9565b90509295509295909350565b600080600080600080600060e0888a031215612688578485fd5b87356126938161312e565b9650602088013595506040880135945060608801356001600160401b038111156126bb578283fd5b6126c78a828b0161257b565b9450506080880135925060a088013591506126e460c089016125c9565b905092959891949750929550565b60008060208385031215612704578182fd5b82356001600160401b038082111561271a578384fd5b818501915085601f83011261272d578384fd5b81358181111561273b578485fd5b866020808302850101111561274e578485fd5b60209290920196919550909350505050565b600060208284031215612771578081fd5b81356125f681613143565b60006020828403121561278d578081fd5b81516125f681613143565b6000602082840312156127a9578081fd5b81356001600160e01b0319811681146125f6578182fd5b6000602082840312156127d1578081fd5b81516001600160401b038111156127e6578182fd5b8201601f810184136127f6578182fd5b80516128046123f4826130dd565b818152856020838501011115612818578384fd5b6128298260208301602086016130fe565b95945050505050565b600060408284031215612843578081fd5b604051604081018181106001600160401b038211171561285f57fe5b604052825181526020928301519281019290925250919050565b600060c0828403121561288a578081fd5b60405160c081018181106001600160401b03821117156128a657fe5b6040528251600481106128b7578283fd5b81526128c5602084016123cb565b602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b60006020828403121561290d578081fd5b81516001600160401b0380821115612923578283fd5b9083019060a08286031215612936578283fd5b60405160a08101818110838211171561294b57fe5b604052612957836123cb565b815261296560208401612570565b6020820152604083015160408201526060830151606082015260808301518281111561298f578485fd5b61299b87828601612512565b60808301525095945050505050565b6000602082840312156129bb578081fd5b5051919050565b60008060008060008060008060006101208a8c0312156129e0578283fd5b8935985060208a0135975060408a0135965060608a0135955060808a01356001600160401b0380821115612a12578485fd5b612a1e8d838e0161244d565b965060a08c0135915080821115612a33578485fd5b612a3f8d838e016123d6565b955060c08c0135915080821115612a54578485fd5b50612a618c828d016124b4565b93505060e08a013591506101008a013590509295985092959850929598565b60008151808452612a988160208601602086016130fe565b601f01601f19169290920160200192915050565b60088110612ab657fe5b9052565b91825260601b6bffffffffffffffffffffffff1916602082015260340190565b6000838583378382018181528351612af68183602088016130fe565b0195945050505050565b60008251612b128184602087016130fe565b9190910192915050565b60008451612b2e8184602089016130fe565b919091019283525060601b6bffffffffffffffffffffffff19166020820152603401919050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60008582526bffffffffffffffffffffffff198560601b1660208301528360348301528251612bbc8160548501602087016130fe565b9190910160540195945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b03861681526020810185905260a08101612c046040830186612aac565b6060820193909352608001529392505050565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0384811682528316602082015260606040820181905260009061282990830184612a80565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015612ce457603f19888603018452612cd2858351612a80565b94509285019290850190600101612cb6565b5092979650505050505050565b901515815260200190565b90815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082526125f66020830184612a80565b96875260208701959095526001600160a01b039384166040870152919092166060850152608084019190915260a083015260c082015260e00190565b9283526020830191909152604082015260600190565b968752602087019590955260408601939093526060850191909152608084015260a08301526001600160a01b031660c082015260e00190565b60208082526028908201527f636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e737560408201526718d8d95cdcd99d5b60c21b606082015260800190565b602080825260149082015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604082015260600190565b6020808252601d908201527f6f6e652d74782d7061796d656e742d6e6f742d617574686f72697a6564000000604082015260600190565b60208082526014908201527364732d6d6174682d6164642d6f766572666c6f7760601b604082015260600190565b6020808252601f908201527f6f6e652d74782d7061796d656e742d6261642d776f726b65722d6f7264657200604082015260600190565b60208082526029908201527f6d6574617472616e73616374696f6e2d7369676e65722d7369676e617475726560408201526805adad2e6dac2e8c6d60bb1b606082015260800190565b6020808252601b908201527f657874656e73696f6e2d616c72656164792d696e7374616c6c65640000000000604082015260600190565b6020808252601c908201527f6f6e652d74782d7061796d656e742d696e76616c69642d696e70757400000000604082015260600190565b6020808252601e908201527f6f6e652d74782d7061796d656e742d6261642d746f6b656e2d6f726465720000604082015260600190565b6020808252601f908201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604082015260600190565b9182526001600160a01b0316602082015260400190565b92835260208301919091526001600160a01b0316604082015260600190565b93845260208401929092526001600160a01b03166040830152606082015260800190565b6000808335601e19843603018112613068578283fd5b8301803591506001600160401b03821115613081578283fd5b60200191503681900382131561309657600080fd5b9250929050565b6040518181016001600160401b03811182821017156130b857fe5b604052919050565b60006001600160401b038211156130d357fe5b5060209081020190565b60006001600160401b038211156130f057fe5b50601f01601f191660200190565b60005b83811015613119578181015183820152602001613101565b83811115613128576000848401525b50505050565b6001600160a01b0381168114611a5957600080fd5b8015158114611a5957600080fdfed9a1ad84578b017e90e4244baf045bcabf50583f51887a391bbe8183e8e34ecaa2646970667358221220987e34ae3a6b4dec63cb42bb24c497827c6b7e9fcd2d131621b1072ab7f4bcf264736f6c63430007030033"; diff --git a/src/contracts/extensions/oneTxPayment/4/index.d.ts b/src/contracts/extensions/oneTxPayment/4/index.d.ts new file mode 100644 index 000000000..910d6a045 --- /dev/null +++ b/src/contracts/extensions/oneTxPayment/4/index.d.ts @@ -0,0 +1,29 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BigNumberish, + EventDescription, + FunctionDescription, +} from "ethers/utils"; + +export interface TransactionOverrides { + gasLimit?: BigNumberish | Promise; + gasPrice?: BigNumberish | Promise; + nonce?: BigNumberish | Promise; + value?: BigNumberish | Promise; + from?: string | Promise; + chainId?: number | Promise; +} + +export interface TypedEventDescription< + T extends Pick +> extends EventDescription { + encodeTopics: T["encodeTopics"]; +} + +export interface TypedFunctionDescription< + T extends Pick +> extends FunctionDescription { + encode: T["encode"]; +} diff --git a/src/contracts/extensions/whitelist/3/Whitelist.d.ts b/src/contracts/extensions/whitelist/3/Whitelist.d.ts new file mode 100644 index 000000000..4ffe4977c --- /dev/null +++ b/src/contracts/extensions/whitelist/3/Whitelist.d.ts @@ -0,0 +1,1215 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface WhitelistInterface extends Interface { + functions: { + authority: TypedFunctionDescription<{ encode([]: []): string }>; + + executeMetaTransaction: TypedFunctionDescription<{ + encode([_user, _payload, _sigR, _sigS, _sigV]: [ + string, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getCapabilityRoles: TypedFunctionDescription<{ + encode([_sig]: [Arrayish]): string; + }>; + + getChainId: TypedFunctionDescription<{ encode([]: []): string }>; + + getColony: TypedFunctionDescription<{ encode([]: []): string }>; + + getDeprecated: TypedFunctionDescription<{ encode([]: []): string }>; + + multicall: TypedFunctionDescription<{ + encode([data]: [Arrayish[]]): string; + }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + setAuthority: TypedFunctionDescription<{ + encode([authority_]: [string]): string; + }>; + + setOwner: TypedFunctionDescription<{ encode([owner_]: [string]): string }>; + + verify: TypedFunctionDescription<{ + encode([_owner, _nonce, _chainId, _payload, _sigR, _sigS, _sigV]: [ + string, + BigNumberish, + BigNumberish, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getMetatransactionNonce: TypedFunctionDescription<{ + encode([userAddress]: [string]): string; + }>; + + identifier: TypedFunctionDescription<{ encode([]: []): string }>; + + version: TypedFunctionDescription<{ encode([]: []): string }>; + + install: TypedFunctionDescription<{ encode([_colony]: [string]): string }>; + + finishUpgrade: TypedFunctionDescription<{ encode([]: []): string }>; + + deprecate: TypedFunctionDescription<{ + encode([_deprecated]: [boolean]): string; + }>; + + uninstall: TypedFunctionDescription<{ encode([]: []): string }>; + + initialise: TypedFunctionDescription<{ + encode([_useApprovals, _agreementHash]: [boolean, string]): string; + }>; + + approveUsers: TypedFunctionDescription<{ + encode([_users, _status]: [string[], boolean]): string; + }>; + + signAgreement: TypedFunctionDescription<{ + encode([_agreementHash]: [string]): string; + }>; + + isApproved: TypedFunctionDescription<{ encode([_user]: [string]): string }>; + + getUseApprovals: TypedFunctionDescription<{ encode([]: []): string }>; + + getAgreementHash: TypedFunctionDescription<{ encode([]: []): string }>; + + getApproval: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + getSignature: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + }; + + events: { + AgreementSigned: TypedEventDescription<{ + encodeTopics([_user]: [string | null]): string[]; + }>; + + ExtensionInitialised: TypedEventDescription<{ + encodeTopics([]: []): string[]; + }>; + + LogSetAuthority: TypedEventDescription<{ + encodeTopics([authority]: [string | null]): string[]; + }>; + + LogSetOwner: TypedEventDescription<{ + encodeTopics([owner]: [string | null]): string[]; + }>; + + MetaTransactionExecuted: TypedEventDescription<{ + encodeTopics([user, relayerAddress, functionSignature]: [ + null, + null, + null + ]): string[]; + }>; + + UserApproved: TypedEventDescription<{ + encodeTopics([_user, _status]: [string | null, null]): string[]; + }>; + }; +} + +export class Whitelist extends Contract { + connect(signerOrProvider: Signer | Provider | string): Whitelist; + attach(addressOrName: string): Whitelist; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): Whitelist; + once(event: EventFilter | string, listener: Listener): Whitelist; + addListener(eventName: EventFilter | string, listener: Listener): Whitelist; + removeAllListeners(eventName: EventFilter | string): Whitelist; + removeListener(eventName: any, listener: Listener): Whitelist; + + interface: WhitelistInterface; + + functions: { + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + getColony(overrides?: TransactionOverrides): Promise; + + "getColony()"(overrides?: TransactionOverrides): Promise; + + getDeprecated(overrides?: TransactionOverrides): Promise; + + "getDeprecated()"(overrides?: TransactionOverrides): Promise; + + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param userAddress The user's address + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param userAddress The user's address + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the identifier of the extension + */ + identifier(overrides?: TransactionOverrides): Promise; + + /** + * Returns the identifier of the extension + */ + "identifier()"(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + install( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + "install(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when upgrading the extension + */ + finishUpgrade( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when upgrading the extension + */ + "finishUpgrade()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + deprecate( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + "deprecate(bool)"( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when uninstalling the extension + */ + uninstall(overrides?: TransactionOverrides): Promise; + + /** + * Called when uninstalling the extension + */ + "uninstall()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the extension + * @param _agreementHash An agreement hash (such as an IPFS URI) + * @param _useApprovals Whether or not to require administrative approval + */ + initialise( + _useApprovals: boolean, + _agreementHash: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the extension + * @param _agreementHash An agreement hash (such as an IPFS URI) + * @param _useApprovals Whether or not to require administrative approval + */ + "initialise(bool,string)"( + _useApprovals: boolean, + _agreementHash: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets user statuses in the whitelist + * @param _status The whitelist status to set + * @param _users An array of user addresses + */ + approveUsers( + _users: string[], + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets user statuses in the whitelist + * @param _status The whitelist status to set + * @param _users An array of user addresses + */ + "approveUsers(address[],bool)"( + _users: string[], + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * The user's signature on the agreement + * @param _agreementHash The agreement hash being signed + */ + signAgreement( + _agreementHash: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * The user's signature on the agreement + * @param _agreementHash The agreement hash being signed + */ + "signAgreement(string)"( + _agreementHash: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's overall whitelist status + * @param _user The address of the user + */ + isApproved( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's overall whitelist status + * @param _user The address of the user + */ + "isApproved(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the useApprovals boolean + */ + getUseApprovals(overrides?: TransactionOverrides): Promise; + + /** + * Get the useApprovals boolean + */ + "getUseApprovals()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the agreementHash + */ + getAgreementHash(overrides?: TransactionOverrides): Promise; + + /** + * Get the agreementHash + */ + "getAgreementHash()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the user's approval status + * @param _user The address of the user + */ + getApproval( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's approval status + * @param _user The address of the user + */ + "getApproval(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's signature status + * @param _user The address of the user + */ + getSignature( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's signature status + * @param _user The address of the user + */ + "getSignature(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + }; + + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + getColony(overrides?: TransactionOverrides): Promise; + + "getColony()"(overrides?: TransactionOverrides): Promise; + + getDeprecated(overrides?: TransactionOverrides): Promise; + + "getDeprecated()"(overrides?: TransactionOverrides): Promise; + + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param userAddress The user's address + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param userAddress The user's address + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the identifier of the extension + */ + identifier(overrides?: TransactionOverrides): Promise; + + /** + * Returns the identifier of the extension + */ + "identifier()"(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + install( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + "install(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when upgrading the extension + */ + finishUpgrade(overrides?: TransactionOverrides): Promise; + + /** + * Called when upgrading the extension + */ + "finishUpgrade()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + deprecate( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + "deprecate(bool)"( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when uninstalling the extension + */ + uninstall(overrides?: TransactionOverrides): Promise; + + /** + * Called when uninstalling the extension + */ + "uninstall()"(overrides?: TransactionOverrides): Promise; + + /** + * Initialise the extension + * @param _agreementHash An agreement hash (such as an IPFS URI) + * @param _useApprovals Whether or not to require administrative approval + */ + initialise( + _useApprovals: boolean, + _agreementHash: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the extension + * @param _agreementHash An agreement hash (such as an IPFS URI) + * @param _useApprovals Whether or not to require administrative approval + */ + "initialise(bool,string)"( + _useApprovals: boolean, + _agreementHash: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets user statuses in the whitelist + * @param _status The whitelist status to set + * @param _users An array of user addresses + */ + approveUsers( + _users: string[], + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets user statuses in the whitelist + * @param _status The whitelist status to set + * @param _users An array of user addresses + */ + "approveUsers(address[],bool)"( + _users: string[], + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * The user's signature on the agreement + * @param _agreementHash The agreement hash being signed + */ + signAgreement( + _agreementHash: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * The user's signature on the agreement + * @param _agreementHash The agreement hash being signed + */ + "signAgreement(string)"( + _agreementHash: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's overall whitelist status + * @param _user The address of the user + */ + isApproved(_user: string, overrides?: TransactionOverrides): Promise; + + /** + * Get the user's overall whitelist status + * @param _user The address of the user + */ + "isApproved(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the useApprovals boolean + */ + getUseApprovals(overrides?: TransactionOverrides): Promise; + + /** + * Get the useApprovals boolean + */ + "getUseApprovals()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the agreementHash + */ + getAgreementHash(overrides?: TransactionOverrides): Promise; + + /** + * Get the agreementHash + */ + "getAgreementHash()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the user's approval status + * @param _user The address of the user + */ + getApproval( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's approval status + * @param _user The address of the user + */ + "getApproval(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's signature status + * @param _user The address of the user + */ + getSignature( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's signature status + * @param _user The address of the user + */ + "getSignature(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + AgreementSigned(_user: string | null): EventFilter; + + ExtensionInitialised(): EventFilter; + + LogSetAuthority(authority: string | null): EventFilter; + + LogSetOwner(owner: string | null): EventFilter; + + MetaTransactionExecuted( + user: null, + relayerAddress: null, + functionSignature: null + ): EventFilter; + + UserApproved(_user: string | null, _status: null): EventFilter; + }; + + estimate: { + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + getColony(overrides?: TransactionOverrides): Promise; + + "getColony()"(overrides?: TransactionOverrides): Promise; + + getDeprecated(overrides?: TransactionOverrides): Promise; + + "getDeprecated()"(overrides?: TransactionOverrides): Promise; + + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param userAddress The user's address + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next nonce for a meta-transaction + * @param userAddress The user's address + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the identifier of the extension + */ + identifier(overrides?: TransactionOverrides): Promise; + + /** + * Returns the identifier of the extension + */ + "identifier()"(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Returns the version of the extension + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + install( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Configures the extension + * @param _colony The colony in which the extension holds permissions + */ + "install(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when upgrading the extension + */ + finishUpgrade(overrides?: TransactionOverrides): Promise; + + /** + * Called when upgrading the extension + */ + "finishUpgrade()"(overrides?: TransactionOverrides): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + deprecate( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when deprecating (or undeprecating) the extension + * @param _deprecated Indicates whether the extension should be deprecated or undeprecated + */ + "deprecate(bool)"( + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called when uninstalling the extension + */ + uninstall(overrides?: TransactionOverrides): Promise; + + /** + * Called when uninstalling the extension + */ + "uninstall()"(overrides?: TransactionOverrides): Promise; + + /** + * Initialise the extension + * @param _agreementHash An agreement hash (such as an IPFS URI) + * @param _useApprovals Whether or not to require administrative approval + */ + initialise( + _useApprovals: boolean, + _agreementHash: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the extension + * @param _agreementHash An agreement hash (such as an IPFS URI) + * @param _useApprovals Whether or not to require administrative approval + */ + "initialise(bool,string)"( + _useApprovals: boolean, + _agreementHash: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets user statuses in the whitelist + * @param _status The whitelist status to set + * @param _users An array of user addresses + */ + approveUsers( + _users: string[], + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets user statuses in the whitelist + * @param _status The whitelist status to set + * @param _users An array of user addresses + */ + "approveUsers(address[],bool)"( + _users: string[], + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * The user's signature on the agreement + * @param _agreementHash The agreement hash being signed + */ + signAgreement( + _agreementHash: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * The user's signature on the agreement + * @param _agreementHash The agreement hash being signed + */ + "signAgreement(string)"( + _agreementHash: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's overall whitelist status + * @param _user The address of the user + */ + isApproved( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's overall whitelist status + * @param _user The address of the user + */ + "isApproved(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the useApprovals boolean + */ + getUseApprovals(overrides?: TransactionOverrides): Promise; + + /** + * Get the useApprovals boolean + */ + "getUseApprovals()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the agreementHash + */ + getAgreementHash(overrides?: TransactionOverrides): Promise; + + /** + * Get the agreementHash + */ + "getAgreementHash()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the user's approval status + * @param _user The address of the user + */ + getApproval( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's approval status + * @param _user The address of the user + */ + "getApproval(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's signature status + * @param _user The address of the user + */ + getSignature( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the user's signature status + * @param _user The address of the user + */ + "getSignature(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/extensions/whitelist/3/factories/Whitelist__factory.ts b/src/contracts/extensions/whitelist/3/factories/Whitelist__factory.ts new file mode 100644 index 000000000..1f3b8aa46 --- /dev/null +++ b/src/contracts/extensions/whitelist/3/factories/Whitelist__factory.ts @@ -0,0 +1,564 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from ".."; +import { Whitelist } from "../Whitelist"; + +export class Whitelist__factory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): Whitelist { + return super.attach(address) as Whitelist; + } + connect(signer: Signer): Whitelist__factory { + return super.connect(signer) as Whitelist__factory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): Whitelist { + return new Contract(address, _abi, signerOrProvider) as Whitelist; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "AgreementSigned", + type: "event", + }, + { + anonymous: false, + inputs: [], + name: "ExtensionInitialised", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "authority", + type: "address", + }, + ], + name: "LogSetAuthority", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "LogSetOwner", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address payable", + name: "relayerAddress", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "functionSignature", + type: "bytes", + }, + ], + name: "MetaTransactionExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_user", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "_status", + type: "bool", + }, + ], + name: "UserApproved", + type: "event", + }, + { + inputs: [], + name: "authority", + outputs: [ + { + internalType: "contract DSAuthority", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "executeMetaTransaction", + outputs: [ + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "_sig", + type: "bytes4", + }, + ], + name: "getCapabilityRoles", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getChainId", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getColony", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getDeprecated", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "results", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract DSAuthority", + name: "authority_", + type: "address", + }, + ], + name: "setAuthority", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner_", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + { + internalType: "uint256", + name: "_nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "_chainId", + type: "uint256", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "verify", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "userAddress", + type: "address", + }, + ], + name: "getMetatransactionNonce", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "identifier", + outputs: [ + { + internalType: "bytes32", + name: "_identifier", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_colony", + type: "address", + }, + ], + name: "install", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "finishUpgrade", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bool", + name: "_deprecated", + type: "bool", + }, + ], + name: "deprecate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "uninstall", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bool", + name: "_useApprovals", + type: "bool", + }, + { + internalType: "string", + name: "_agreementHash", + type: "string", + }, + ], + name: "initialise", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "_users", + type: "address[]", + }, + { + internalType: "bool", + name: "_status", + type: "bool", + }, + ], + name: "approveUsers", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "_agreementHash", + type: "string", + }, + ], + name: "signAgreement", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "isApproved", + outputs: [ + { + internalType: "bool", + name: "_approved", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getUseApprovals", + outputs: [ + { + internalType: "bool", + name: "_useApprovals", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getAgreementHash", + outputs: [ + { + internalType: "string", + name: "_hash", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "getApproval", + outputs: [ + { + internalType: "bool", + name: "_status", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "getSignature", + outputs: [ + { + internalType: "bool", + name: "_status", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2611f5e8061005e6000396000f3fe6080604052600436106101815760003560e01c80637998a1c4116100d1578063ac9650d81161008a578063bfd68ab711610064578063bfd68ab71461042d578063da076a8714610442578063fcd9110414610462578063fcf6ba931461047757610181565b8063ac9650d8146103cb578063b3eac1d8146103f8578063bf7e214f1461041857610181565b80637998a1c4146103145780637a9e5e4b146103295780638da5cb5b146103495780639251cff41461036b578063a11c1d511461038b578063a3087860146103ab57610181565b80632dfbb0831161013e57806354fd4d501161011857806354fd4d50146102aa5780636281133d146102bf578063673448dd146102df578063696da921146102ff57610181565b80632dfbb083146102535780633408e47014610280578063340df28f1461029557610181565b80630c53c51c146101865780630d638f30146101af57806313af4035146101c65780631bbfb009146101e6578063277fc0e9146102065780632a1b8f9b14610233575b600080fd5b610199610194366004611505565b61048c565b6040516101a69190611b5d565b60405180910390f35b3480156101bb57600080fd5b506101c46105e8565b005b3480156101d257600080fd5b506101c46101e13660046114e9565b610628565b3480156101f257600080fd5b506101c46102013660046115fc565b6106aa565b34801561021257600080fd5b506102266102213660046114e9565b6108a9565b6040516101a69190611b2b565b34801561023f57600080fd5b506101c461024e3660046114e9565b6108cb565b34801561025f57600080fd5b5061027361026e3660046117ab565b610948565b6040516101a69190611b36565b34801561028c57600080fd5b5061027361094e565b3480156102a157600080fd5b506101c4610953565b3480156102b657600080fd5b50610273610987565b3480156102cb57600080fd5b506102266102da366004611577565b61098c565b3480156102eb57600080fd5b506102266102fa3660046114e9565b610a5c565b34801561030b57600080fd5b50610199610b34565b34801561032057600080fd5b50610273610bca565b34801561033557600080fd5b506101c46103443660046114e9565b610bee565b34801561035557600080fd5b5061035e610c6c565b6040516101a69190611a2f565b34801561037757600080fd5b506101c4610386366004611725565b610c7b565b34801561039757600080fd5b506101c46103a63660046117d3565b610ccb565b3480156103b757600080fd5b506101c46103c636600461175d565b610e51565b3480156103d757600080fd5b506103eb6103e63660046116b6565b610fc1565b6040516101a69190611acb565b34801561040457600080fd5b506102736104133660046114e9565b611193565b34801561042457600080fd5b5061035e6111ae565b34801561043957600080fd5b5061035e6111bd565b34801561044e57600080fd5b5061022661045d3660046114e9565b6111cc565b34801561046e57600080fd5b506102266111ea565b34801561048357600080fd5b506102266111fa565b60606104ac8661049b88611193565b6104a361094e565b8888888861098c565b6104d15760405162461bcd60e51b81526004016104c890611c7d565b60405180910390fd5b6104da8661120a565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a60405160200161051d9392919061190f565b60408051601f1981840301815290829052610537916118f3565b6000604051808303816000865af19150503d8060008114610574576040519150601f19603f3d011682016040523d82523d6000602084013e610579565b606091505b50915091508161059b5760405162461bcd60e51b81526004016104c890611b70565b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b886105c561122a565b896040516105d593929190611a72565b60405180910390a1979650505050505050565b6105fe336000356001600160e01b0319166112d9565b61061a5760405162461bcd60e51b81526004016104c890611bef565b6003546001600160a01b0316ff5b61063e336000356001600160e01b0319166112d9565b61065a5760405162461bcd60e51b81526004016104c890611bef565b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600354600160a81b900460ff16806106d657506004546002600019610100600184161502019091160415155b6106f25760405162461bcd60e51b81526004016104c890611d9b565b600354600160a01b900460ff161561071c5760405162461bcd60e51b81526004016104c890611e09565b600354600160a81b900460ff166107455760405162461bcd60e51b81526004016104c890611c1d565b6003546001600160a01b031663ab2f7ae261075e61122a565b600160066040518463ffffffff1660e01b815260040161078093929190611a43565b60206040518083038186803b15801561079857600080fd5b505afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190611741565b6107ec5760405162461bcd60e51b81526004016104c890611c4d565b60005b82518110156108a457816005600085848151811061080957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555082818151811061085457fe5b60200260200101516001600160a01b03167f60dc44a8ff6f8c563265a9654c756ef7d51cb49658531b2c735ef754c74e8a34836040516108949190611b2b565b60405180910390a26001016107ef565b505050565b6001600160a01b03811660009081526006602052604090205460ff165b919050565b6108e1336000356001600160e01b0319166112d9565b6108fd5760405162461bcd60e51b81526004016104c890611bef565b6003546001600160a01b0316156109265760405162461bcd60e51b81526004016104c890611cc6565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b50600090565b465b90565b610969336000356001600160e01b0319166112d9565b6109855760405162461bcd60e51b81526004016104c890611bef565b565b600390565b6000806109c4883089896040516020016109a994939291906119e9565b604051602081830303815290604052805190602001206113b5565b90506000600182858888604051600081526020016040526040516109eb9493929190611b3f565b6020604051602081039080840390855afa158015610a0d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610a405760405162461bcd60e51b81526004016104c890611dd2565b6001600160a01b038a8116911614915050979650505050505050565b600354600090600160a81b900460ff1680610a8b57506004546002600019610100600184161502019091160415155b610aa75760405162461bcd60e51b81526004016104c890611d9b565b600354600160a01b900460ff16158015610aed5750600354600160a81b900460ff161580610aed57506001600160a01b03821660009081526005602052604090205460ff165b8015610b2e5750600454600260001961010060018416150201909116041580610b2e57506001600160a01b03821660009081526006602052604090205460ff165b92915050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610bc05780601f10610b9557610100808354040283529160200191610bc0565b820191906000526020600020905b815481529060010190602001808311610ba357829003601f168201915b5050505050905090565b7fc3d232a6c0e2fb343117f17a5ff344a1a84769265318c6d7a8d7d9b2f8bb49e390565b610c04336000356001600160e01b0319166112d9565b610c205760405162461bcd60e51b81526004016104c890611bef565b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b610c91336000356001600160e01b0319166112d9565b610cad5760405162461bcd60e51b81526004016104c890611bef565b60038054911515600160a01b0260ff60a01b19909216919091179055565b600354600160a81b900460ff1680610cf757506004546002600019610100600184161502019091160415155b610d135760405162461bcd60e51b81526004016104c890611d9b565b600354600160a01b900460ff1615610d3d5760405162461bcd60e51b81526004016104c890611e09565b60045460026000196101006001841615020190911604610d6f5760405162461bcd60e51b81526004016104c890611d34565b80604051602001610d8091906118f3565b604051602081830303815290604052805190602001206004604051602001610da89190611948565b6040516020818303038152906040528051906020012014610ddb5760405162461bcd60e51b81526004016104c890611cfd565b600160066000610de961122a565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610e1961122a565b6001600160a01b03167f5cca47fc45be2c2c68100afd7cd2431116c0c535c159e4f6c7e63934cf9f7aad60405160405180910390a250565b6003546001600160a01b031663ab2f7ae2610e6a61122a565b6001806040518463ffffffff1660e01b8152600401610e8b93929190611a43565b60206040518083038186803b158015610ea357600080fd5b505afa158015610eb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edb9190611741565b610ef75760405162461bcd60e51b81526004016104c890611c4d565b600354600160a81b900460ff16158015610f24575060045460026000196101006001841615020190911604155b610f405760405162461bcd60e51b81526004016104c890611bb8565b8180610f4d575060008151115b610f695760405162461bcd60e51b81526004016104c890611d64565b6003805460ff60a81b1916600160a81b841515021790558051610f939060049060208401906113e5565b506040517f690c4b6201f6a4c703f9d21c205d98a08dff8461e7a71e49c6d47cc8b894850190600090a15050565b60606000610fcd61122a565b905060603330148015610fe957506001600160a01b0382163014155b15611033577f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e8826040516020016110219291906118ad565b60405160208183030381529060405290505b8367ffffffffffffffff8111801561104a57600080fd5b5060405190808252806020026020018201604052801561107e57816020015b60608152602001906001900390816110695790505b50925060005b8481101561118a57600060603088888581811061109d57fe5b90506020028101906110af9190611e40565b866040516020016110c2939291906118cd565b60408051601f19818403018152908290526110dc916118f3565b600060405180830381855af49150503d8060008114611117576040519150601f19603f3d011682016040523d82523d6000602084013e61111c565b606091505b5091509150816111685760448151101561113557600080fd5b6004810190508080602001905181019061114f919061180e565b60405162461bcd60e51b81526004016104c89190611b5d565b8086848151811061117557fe5b60209081029190910101525050600101611084565b50505092915050565b6001600160a01b031660009081526007602052604090205490565b6000546001600160a01b031681565b6003546001600160a01b031690565b6001600160a01b031660009081526005602052604090205460ff1690565b600354600160a81b900460ff1690565b600354600160a01b900460ff1690565b6001600160a01b0316600090815260076020526040902080546001019055565b600036333014801561123d575060348110155b156112cc5760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e881146112b857339350505050610950565b508101516001600160a01b031691506112d5565b33915050610950565b5090565b60006001600160a01b0383163014156112f457506001610b2e565b6001546001600160a01b038481169116141561131257506001610b2e565b6000546001600160a01b031661132a57506000610b2e565b60005460405163b700961360e01b81526001600160a01b039091169063b70096139061135e90869030908790600401611a9e565b60206040518083038186803b15801561137657600080fd5b505afa15801561138a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ae9190611741565b9392505050565b6000816040516020016113c891906119b8565b604051602081830303815290604052805190602001209050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061142657805160ff1916838001178555611453565b82800160010185558215611453579182015b82811115611453578251825591602001919060010190611438565b506112d59291505b808211156112d5576000815560010161145b565b80356108c681611f02565b80356108c681611f1a565b600082601f830112611495578081fd5b81356114a86114a382611eb0565b611e8c565b91508082528360208285010111156114bf57600080fd5b8060208401602084013760009082016020015292915050565b803560ff811681146108c657600080fd5b6000602082840312156114fa578081fd5b81356113ae81611f02565b600080600080600060a0868803121561151c578081fd5b853561152781611f02565b9450602086013567ffffffffffffffff811115611542578182fd5b61154e88828901611485565b945050604086013592506060860135915061156b608087016114d8565b90509295509295909350565b600080600080600080600060e0888a031215611591578182fd5b873561159c81611f02565b96506020880135955060408801359450606088013567ffffffffffffffff8111156115c5578283fd5b6115d18a828b01611485565b9450506080880135925060a088013591506115ee60c089016114d8565b905092959891949750929550565b6000806040838503121561160e578182fd5b823567ffffffffffffffff80821115611625578384fd5b818501915085601f830112611638578384fd5b81358181111561164457fe5b60209150818102611656838201611e8c565b8281528381019085850183870186018b1015611670578889fd5b8896505b84871015611699576116858161146f565b835260019690960195918501918501611674565b5096506116ab9250505085820161147a565b925050509250929050565b600080602083850312156116c8578182fd5b823567ffffffffffffffff808211156116df578384fd5b818501915085601f8301126116f2578384fd5b813581811115611700578485fd5b8660208083028501011115611713578485fd5b60209290920196919550909350505050565b600060208284031215611736578081fd5b81356113ae81611f1a565b600060208284031215611752578081fd5b81516113ae81611f1a565b6000806040838503121561176f578182fd5b823561177a81611f1a565b9150602083013567ffffffffffffffff811115611795578182fd5b6117a185828601611485565b9150509250929050565b6000602082840312156117bc578081fd5b81356001600160e01b0319811681146113ae578182fd5b6000602082840312156117e4578081fd5b813567ffffffffffffffff8111156117fa578182fd5b61180684828501611485565b949350505050565b60006020828403121561181f578081fd5b815167ffffffffffffffff811115611835578182fd5b8201601f81018413611845578182fd5b80516118536114a382611eb0565b818152856020838501011115611867578384fd5b611878826020830160208601611ed2565b95945050505050565b60008151808452611899816020860160208601611ed2565b601f01601f19169290920160200192915050565b91825260601b6bffffffffffffffffffffffff1916602082015260340190565b60008385833783820181815283516118e9818360208801611ed2565b0195945050505050565b60008251611905818460208701611ed2565b9190910192915050565b60008451611921818460208901611ed2565b919091019283525060601b6bffffffffffffffffffffffff19166020820152603401919050565b6000808354600180821660008114611967576001811461197e576119ad565b60ff198316865260028304607f16860193506119ad565b600283048786526020808720875b838110156119a55781548a82015290850190820161198c565b505050860193505b509195945050505050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60008582526bffffffffffffffffffffffff198560601b1660208301528360348301528251611a1f816054850160208701611ed2565b9190910160540195945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b0384168152602081018390526060810160088310611a6457fe5b826040830152949350505050565b6001600160a01b0384811682528316602082015260606040820181905260009061187890830184611881565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015611b1e57603f19888603018452611b0c858351611881565b94509285019290850190600101611af0565b5092979650505050505050565b901515815260200190565b90815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082526113ae6020830184611881565b60208082526028908201527f636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e737560408201526718d8d95cdcd99d5b60c21b606082015260800190565b6020808252601d908201527f77686974656c6973742d616c72656164792d696e697469616c69736564000000604082015260600190565b602080825260149082015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604082015260600190565b60208082526016908201527577686974656c6973742d6e6f2d617070726f76616c7360501b604082015260600190565b6020808252601690820152751dda1a5d195b1a5cdd0b5d5b985d5d1a1bdc9a5cd95960521b604082015260600190565b60208082526029908201527f6d6574617472616e73616374696f6e2d7369676e65722d7369676e617475726560408201526805adad2e6dac2e8c6d60bb1b606082015260800190565b6020808252601b908201527f657874656e73696f6e2d616c72656164792d696e7374616c6c65640000000000604082015260600190565b60208082526017908201527f77686974656c6973742d6261642d7369676e6174757265000000000000000000604082015260600190565b6020808252601690820152751dda1a5d195b1a5cdd0b5b9bcb5859dc99595b595b9d60521b604082015260600190565b6020808252601c908201527f77686974656c6973742d6261642d696e697469616c69736174696f6e00000000604082015260600190565b60208082526019908201527f77686974656c6973742d6e6f742d696e697469616c6973656400000000000000604082015260600190565b6020808252601f908201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604082015260600190565b6020808252601b908201527f636f6c6f6e792d657874656e73696f6e2d646570726563617465640000000000604082015260600190565b6000808335601e19843603018112611e56578283fd5b83018035915067ffffffffffffffff821115611e70578283fd5b602001915036819003821315611e8557600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715611ea857fe5b604052919050565b600067ffffffffffffffff821115611ec457fe5b50601f01601f191660200190565b60005b83811015611eed578181015183820152602001611ed5565b83811115611efc576000848401525b50505050565b6001600160a01b0381168114611f1757600080fd5b50565b8015158114611f1757600080fdfea2646970667358221220f2eb937438efddc5df714ef1becf04f9009160c7a7702882af7381e2715f300a64736f6c63430007030033"; diff --git a/src/contracts/extensions/whitelist/3/index.d.ts b/src/contracts/extensions/whitelist/3/index.d.ts new file mode 100644 index 000000000..910d6a045 --- /dev/null +++ b/src/contracts/extensions/whitelist/3/index.d.ts @@ -0,0 +1,29 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BigNumberish, + EventDescription, + FunctionDescription, +} from "ethers/utils"; + +export interface TransactionOverrides { + gasLimit?: BigNumberish | Promise; + gasPrice?: BigNumberish | Promise; + nonce?: BigNumberish | Promise; + value?: BigNumberish | Promise; + from?: string | Promise; + chainId?: number | Promise; +} + +export interface TypedEventDescription< + T extends Pick +> extends EventDescription { + encodeTopics: T["encodeTopics"]; +} + +export interface TypedFunctionDescription< + T extends Pick +> extends FunctionDescription { + encode: T["encode"]; +} diff --git a/src/versions.ts b/src/versions.ts index 86cf62ffc..1eb69983e 100644 --- a/src/versions.ts +++ b/src/versions.ts @@ -41,7 +41,7 @@ const colonyReleaseMap = { [ColonyVersion.EbonyLightweightSpaceship]: `elwss`, [ColonyVersion.FuchsiaLightweightSpaceship]: `flwss`, [ColonyVersion.GreenLightweightSpaceship]: `glwss`, - [ColonyVersion.GreenLightweightSpaceshipTwo]: `develop`, + [ColonyVersion.GreenLightweightSpaceshipTwo]: `glwss2`, }; /** @@ -63,12 +63,14 @@ export enum OneTxPaymentExtensionVersion { CeruleanLightweightSpaceship = 1, DandelionLightweightSpaceship = 2, FuchsiaLightweightSpaceship = 3, + GreenLightweightSpaceshipTwo = 4, } const oneTxPaymentReleaseMap = { [OneTxPaymentExtensionVersion.CeruleanLightweightSpaceship]: `clwss`, [OneTxPaymentExtensionVersion.DandelionLightweightSpaceship]: `dlwss`, [OneTxPaymentExtensionVersion.FuchsiaLightweightSpaceship]: `flwss`, + [OneTxPaymentExtensionVersion.GreenLightweightSpaceshipTwo]: `glwss2`, }; export const CurrentOneTxPaymentVersion = parseInt( @@ -87,6 +89,7 @@ const OneTxPaymentExtensionVersionIncompatibilityMap: Record< [OneTxPaymentExtensionVersion.CeruleanLightweightSpaceship]: [], [OneTxPaymentExtensionVersion.DandelionLightweightSpaceship]: [], [OneTxPaymentExtensionVersion.FuchsiaLightweightSpaceship]: [], + [OneTxPaymentExtensionVersion.GreenLightweightSpaceshipTwo]: [], }; const OneTxPaymentExtensionVersionCompatibilityMap: Record< @@ -107,6 +110,7 @@ export enum CoinMachineExtensionVersion { EbonyLightweightSpaceshipTwo = 3, EbonyLightweightSpaceshipThree = 4, FuchsiaLightweightSpaceship = 5, + GreenLightweightSpaceshipTwo = 6, } const coinMachineReleaseMap = { @@ -115,6 +119,7 @@ const coinMachineReleaseMap = { [CoinMachineExtensionVersion.EbonyLightweightSpaceshipTwo]: `elwss2`, [CoinMachineExtensionVersion.EbonyLightweightSpaceshipThree]: `elwss3`, [CoinMachineExtensionVersion.FuchsiaLightweightSpaceship]: `flwss`, + [CoinMachineExtensionVersion.GreenLightweightSpaceshipTwo]: `glwss2`, }; export const CurrentCoinMachineVersion = parseInt( @@ -133,6 +138,7 @@ const CoinMachineExtensionVersionIncompatibilityMap: Record< [CoinMachineExtensionVersion.EbonyLightweightSpaceshipTwo]: [], [CoinMachineExtensionVersion.EbonyLightweightSpaceshipThree]: [], [CoinMachineExtensionVersion.FuchsiaLightweightSpaceship]: [], + [CoinMachineExtensionVersion.GreenLightweightSpaceshipTwo]: [], }; const CoinMachineExtensionVersionCompatibilityMap: Record< @@ -166,7 +172,7 @@ const votingReputationReleaseMap = { [VotingReputationExtensionVersion.FuchsiaLightweightSpaceshipTwo]: `flwss2`, [VotingReputationExtensionVersion.FuchsiaLightweightSpaceshipThree]: `flwss3`, [VotingReputationExtensionVersion.GreenLightweightSpaceship]: 'glwss', - [VotingReputationExtensionVersion.GreenLightweightSpaceshipTwo]: 'develop', + [VotingReputationExtensionVersion.GreenLightweightSpaceshipTwo]: 'glwss2', }; export const CurrentVotingReputationVersion = parseInt( @@ -256,11 +262,13 @@ const VotingReputationExtensionVersionCompatibilityMap: Record< export enum WhitelistExtensionVersion { EbonyLightweightSpaceship = 1, FuchsiaLightweightSpaceship = 2, + GreenLightweightSpaceshipTwo = 3, } const whitelistReleaseMap = { [WhitelistExtensionVersion.EbonyLightweightSpaceship]: `elwss`, [WhitelistExtensionVersion.FuchsiaLightweightSpaceship]: `flwss`, + [WhitelistExtensionVersion.GreenLightweightSpaceshipTwo]: `glwss2`, }; export const CurrentWhitelistVersion = parseInt( @@ -276,6 +284,7 @@ const WhitelistExtensionVersionIncompatibilityMap: Record< > = { [WhitelistExtensionVersion.EbonyLightweightSpaceship]: [], [WhitelistExtensionVersion.FuchsiaLightweightSpaceship]: [], + [WhitelistExtensionVersion.GreenLightweightSpaceshipTwo]: [], }; const WhitelistExtensionVersionCompatibilityMap: Record< From 7ab76b1a200690dff6b6f8a14464b020dc7d1c92 Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Fri, 16 Dec 2022 16:51:42 +0200 Subject: [PATCH 09/15] Add: `OneTxPayment` `v4` client --- .../OneTxPayment/4/OneTxPaymentClient.ts | 127 ++++++++++++++++++ .../4/OneTxPaymentClientAddons.ts | 65 +++++++++ .../4/OneTxPaymentClientEncodeInterfaces.ts | 15 +++ 3 files changed, 207 insertions(+) create mode 100644 src/clients/Extensions/OneTxPayment/4/OneTxPaymentClient.ts create mode 100644 src/clients/Extensions/OneTxPayment/4/OneTxPaymentClientAddons.ts create mode 100644 src/clients/Extensions/OneTxPayment/4/OneTxPaymentClientEncodeInterfaces.ts diff --git a/src/clients/Extensions/OneTxPayment/4/OneTxPaymentClient.ts b/src/clients/Extensions/OneTxPayment/4/OneTxPaymentClient.ts new file mode 100644 index 000000000..998a31b37 --- /dev/null +++ b/src/clients/Extensions/OneTxPayment/4/OneTxPaymentClient.ts @@ -0,0 +1,127 @@ +/* + * OneTxPayment Client Version 3 autogenerated by + * @colony/colony-js version v4.1.2 from colonyNetwork tag 'flwss' + * + * Feel free to modify as needed! + */ + +/* eslint-disable @typescript-eslint/no-explicit-any */ + +import { ClientType } from '../../../../constants'; +import { OneTxPayment__factory as OneTxPaymentFactory } from '../../../../contracts/extensions/oneTxPayment/4/factories/OneTxPayment__factory'; +import { OneTxPayment } from '../../../../contracts/extensions/oneTxPayment/4/OneTxPayment'; +import { ExtendedIColony } from '../../../../clients/Colony/extensions/commonExtensions'; + +import * as currentVersionAddons from './OneTxPaymentClientAddons'; +import * as version1Addons from '../1/OneTxPaymentClientAddons'; +import * as version2Addons from '../2/OneTxPaymentClientAddons'; +import * as version3Addons from '../3/OneTxPaymentClientAddons'; + +import * as currentVersionEncodedInterfaces from './OneTxPaymentClientEncodeInterfaces'; +import * as version3EncodedInterfaces from '../3/OneTxPaymentClientEncodeInterfaces'; + +type OneTxPaymentEstimate = OneTxPayment['estimate']; +interface OneTxPaymentEstimateWithAddons extends OneTxPaymentEstimate { + /* + * @TODO These needs to be specifically determined once we can integrate + * static code analysis into this lib + */ + [key: string]: any; +} + +export interface OneTxPaymentClient extends OneTxPayment { + clientType: ClientType.OneTxPaymentClient; + estimate: OneTxPaymentEstimateWithAddons; + /* + * @TODO These needs to be specifically determined once we can integrate + * static code analysis into this lib + */ + [key: string]: any; +} + +const getOneTxPaymentClient = ( + address: string, + colonyClient: ExtendedIColony, +): OneTxPaymentClient => { + const oneTxPaymentClient = OneTxPaymentFactory.connect( + address, + colonyClient.signer || colonyClient.provider, + ) as OneTxPaymentClient; + oneTxPaymentClient.clientType = ClientType.OneTxPaymentClient; + + const addons = { + ...version1Addons.getOneTxPaymentClientAddons( + oneTxPaymentClient, + colonyClient, + ), + ...version2Addons.getOneTxPaymentClientAddons( + oneTxPaymentClient, + colonyClient, + ), + ...version3Addons.getOneTxPaymentClientAddons( + oneTxPaymentClient, + colonyClient, + ), + ...currentVersionAddons.getOneTxPaymentClientAddons( + oneTxPaymentClient, + colonyClient, + ), + }; + const addonsEstimate = { + ...version1Addons.getOneTxPaymentClientEstimateAddons( + oneTxPaymentClient, + colonyClient, + ), + ...version2Addons.getOneTxPaymentClientEstimateAddons( + oneTxPaymentClient, + colonyClient, + ), + ...version3Addons.getOneTxPaymentClientEstimateAddons( + oneTxPaymentClient, + colonyClient, + ), + ...currentVersionAddons.getOneTxPaymentClientEstimateAddons( + oneTxPaymentClient, + colonyClient, + ), + }; + + const encodedInterfaces = { + ...version3EncodedInterfaces.getOneTxPaymentClientEncodeInterfaces( + oneTxPaymentClient, + colonyClient, + ), + ...currentVersionEncodedInterfaces.getOneTxPaymentClientEncodeInterfaces( + oneTxPaymentClient, + colonyClient, + ), + }; + + Object.keys(addons).map((addonName) => { + oneTxPaymentClient[addonName] = addons[addonName]; + return null; + }); + + Object.keys(addonsEstimate).map((addonName) => { + oneTxPaymentClient.estimate[addonName] = addonsEstimate[addonName]; + return null; + }); + + Object.keys(encodedInterfaces).map((interfaceName) => { + /* + * @NOTE We're adding new interfaces to the functions list that the client + * implicitly doesn't know about + */ + // @ts-ignore + oneTxPaymentClient.interface.functions[interfaceName] = { + encode: encodedInterfaces[interfaceName], + }; + return null; + }); + + return oneTxPaymentClient; +}; + +export default getOneTxPaymentClient; + +/* eslint-enable */ diff --git a/src/clients/Extensions/OneTxPayment/4/OneTxPaymentClientAddons.ts b/src/clients/Extensions/OneTxPayment/4/OneTxPaymentClientAddons.ts new file mode 100644 index 000000000..d2f4259b1 --- /dev/null +++ b/src/clients/Extensions/OneTxPayment/4/OneTxPaymentClientAddons.ts @@ -0,0 +1,65 @@ +/* + * OneTxPayment Client Version 4 Addons autogenerated by + * @colony/colony-js version v4.2.2-rc.1 from colonyNetwork tag 'glwss2' + * + * Feel free to modify as needed! + */ + +/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any */ + +import { ExtendedIColony } from '../../../../clients/Colony/extensions/commonExtensions'; + +import { OneTxPaymentClient } from './OneTxPaymentClient'; + +/* + * Extra client methods + */ +export const getOneTxPaymentClientAddons = ( + oneTxPaymentClient: OneTxPaymentClient, + colonyClient: ExtendedIColony, +): Record => ({ + /* + * Example withProofs method + * + * contractCallWithProofs: async ( + * _domainId: BigNumberish, + * overrides?: TransactionOverrides, + * ): Promise => { + * const [extensionPDID, extensionCSI] = await getExtensionPermissionProofs( + * colonyClient, + * _domainId, + * oneTxPaymentClient.address, + * ); + * return oneTxPaymentClient.contractCall(extensionPDID, extensionCSI, _domainId, overrides); + * }, + */ +}); + +/* + * Extra client methods estimates + * + * These are needed! Don't skip them! + */ +export const getOneTxPaymentClientEstimateAddons = ( + oneTxPaymentClient: OneTxPaymentClient, + colonyClient: ExtendedIColony, +): Record => ({ + /* + * Example withProofs estimate method + * (Mostly the same as the actual method, just that it calls the client + * estimate contract call and doesn't pass in the transaction overrides) + * + * contractCallWithProofs: async ( + * _domainId: BigNumberish, + * ): Promise => { + * const [extensionPDID, extensionCSI] = await getExtensionPermissionProofs( + * colonyClient, + * _domainId, + * oneTxPaymentClient.address, + * ); + * return oneTxPaymentClient.estimate.contractCall(extensionPDID, extensionCSI, _domainId); + * }, + */ +}); + +/* eslint-enable */ diff --git a/src/clients/Extensions/OneTxPayment/4/OneTxPaymentClientEncodeInterfaces.ts b/src/clients/Extensions/OneTxPayment/4/OneTxPaymentClientEncodeInterfaces.ts new file mode 100644 index 000000000..7b7e3c4d6 --- /dev/null +++ b/src/clients/Extensions/OneTxPayment/4/OneTxPaymentClientEncodeInterfaces.ts @@ -0,0 +1,15 @@ +/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars */ + +import { ExtendedIColony } from '../../../../clients/Colony/extensions/commonExtensions'; + +import { OneTxPaymentClient } from './OneTxPaymentClient'; + +/* + * Extra client encode interfaces + */ +export const getOneTxPaymentClientEncodeInterfaces = ( + oneTxPaymentClient: OneTxPaymentClient, + colonyClient: ExtendedIColony, +): Record Promise> => ({}); + +/* eslint-enable */ From f294c29ed4d9d4c362fceba2183f49b1f5309959 Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Fri, 16 Dec 2022 16:55:34 +0200 Subject: [PATCH 10/15] Bump: change version to next release candidate `4.2.2-rc.2` --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a5635340d..7f9a16c2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@colony/colony-js", - "version": "v4.2.2-rc.1", + "version": "v4.2.2-rc.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ece481c12..eb7d49e69 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@colony/colony-js", - "version": "v4.2.2-rc.1", + "version": "v4.2.2-rc.2", "main": "lib/index.js", "module": "lib-esm/index.js", "files": [ From 4097e1844eaf1c3ced37d7426e21fe56d03f15e1 Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Mon, 13 Feb 2023 02:28:06 +0200 Subject: [PATCH 11/15] Add: colony `v12` artifacts --- src/contracts/colony/12/IColony.d.ts | 12712 ++++++++++++++++ src/contracts/colony/12/IColonyNetwork.d.ts | 5622 +++++++ src/contracts/colony/12/MetaTxToken.d.ts | 941 ++ src/contracts/colony/12/TokenERC20.d.ts | 316 + src/contracts/colony/12/TokenLocking.d.ts | 1403 ++ src/contracts/colony/12/TokenSAI.d.ts | 316 + .../12/factories/IColonyNetwork__factory.ts | 2239 +++ .../colony/12/factories/IColony__factory.ts | 5049 ++++++ .../12/factories/MetaTxToken__factory.ts | 731 + .../12/factories/TokenERC20__factory.ts | 240 + .../12/factories/TokenLocking__factory.ts | 1044 ++ .../colony/12/factories/TokenSAI__factory.ts | 240 + src/contracts/colony/12/index.d.ts | 29 + src/versions.ts | 2 + 14 files changed, 30884 insertions(+) create mode 100644 src/contracts/colony/12/IColony.d.ts create mode 100644 src/contracts/colony/12/IColonyNetwork.d.ts create mode 100644 src/contracts/colony/12/MetaTxToken.d.ts create mode 100644 src/contracts/colony/12/TokenERC20.d.ts create mode 100644 src/contracts/colony/12/TokenLocking.d.ts create mode 100644 src/contracts/colony/12/TokenSAI.d.ts create mode 100644 src/contracts/colony/12/factories/IColonyNetwork__factory.ts create mode 100644 src/contracts/colony/12/factories/IColony__factory.ts create mode 100644 src/contracts/colony/12/factories/MetaTxToken__factory.ts create mode 100644 src/contracts/colony/12/factories/TokenERC20__factory.ts create mode 100644 src/contracts/colony/12/factories/TokenLocking__factory.ts create mode 100644 src/contracts/colony/12/factories/TokenSAI__factory.ts create mode 100644 src/contracts/colony/12/index.d.ts diff --git a/src/contracts/colony/12/IColony.d.ts b/src/contracts/colony/12/IColony.d.ts new file mode 100644 index 000000000..07c9291b3 --- /dev/null +++ b/src/contracts/colony/12/IColony.d.ts @@ -0,0 +1,12712 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface IColonyInterface extends Interface { + functions: { + approveExitRecovery: TypedFunctionDescription<{ encode([]: []): string }>; + + checkNotAdditionalProtectedVariable: TypedFunctionDescription<{ + encode([_slot]: [BigNumberish]): string; + }>; + + enterRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + + executeMetaTransaction: TypedFunctionDescription<{ + encode([userAddress, payload, sigR, sigS, sigV]: [ + string, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + exitRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + + getMetatransactionNonce: TypedFunctionDescription<{ + encode([userAddress]: [string]): string; + }>; + + isInRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + + multicall: TypedFunctionDescription<{ + encode([data]: [Arrayish[]]): string; + }>; + + numRecoveryRoles: TypedFunctionDescription<{ encode([]: []): string }>; + + removeRecoveryRole: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + setRecoveryRole: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + setStorageSlotRecovery: TypedFunctionDescription<{ + encode([_slot, _value]: [BigNumberish, Arrayish]): string; + }>; + + authority: TypedFunctionDescription<{ encode([]: []): string }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + version: TypedFunctionDescription<{ encode([]: []): string }>; + + upgrade: TypedFunctionDescription<{ + encode([_newVersion]: [BigNumberish]): string; + }>; + + finishUpgrade: TypedFunctionDescription<{ encode([]: []): string }>; + + getColonyNetwork: TypedFunctionDescription<{ encode([]: []): string }>; + + getToken: TypedFunctionDescription<{ encode([]: []): string }>; + + makeArbitraryTransaction: TypedFunctionDescription<{ + encode([_to, _action]: [string, Arrayish]): string; + }>; + + makeArbitraryTransactions: TypedFunctionDescription<{ + encode([_targets, _actions, _strict]: [ + string[], + Arrayish[], + boolean + ]): string; + }>; + + makeSingleArbitraryTransaction: TypedFunctionDescription<{ + encode([_target, _action]: [string, Arrayish]): string; + }>; + + annotateTransaction: TypedFunctionDescription<{ + encode([_txHash, _metadata]: [Arrayish, string]): string; + }>; + + setRootRole: TypedFunctionDescription<{ + encode([_user, _setTo]: [string, boolean]): string; + }>; + + setArbitrationRole: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _user, + _domainId, + _setTo, + ]: [BigNumberish, BigNumberish, string, BigNumberish, boolean]): string; + }>; + + setArchitectureRole: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _user, + _domainId, + _setTo, + ]: [BigNumberish, BigNumberish, string, BigNumberish, boolean]): string; + }>; + + setFundingRole: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _user, + _domainId, + _setTo, + ]: [BigNumberish, BigNumberish, string, BigNumberish, boolean]): string; + }>; + + setAdministrationRole: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _user, + _domainId, + _setTo, + ]: [BigNumberish, BigNumberish, string, BigNumberish, boolean]): string; + }>; + + setUserRoles: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _user, + _domainId, + _roles, + ]: [BigNumberish, BigNumberish, string, BigNumberish, Arrayish]): string; + }>; + + hasUserRole: TypedFunctionDescription<{ + encode([_user, _domainId, _role]: [ + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + hasInheritedUserRole: TypedFunctionDescription<{ + encode([_user, _domainId, _role, _childSkillIndex, _childDomainId]: [ + string, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + userCanSetRoles: TypedFunctionDescription<{ + encode([_user, _domainId, _childSkillIndex, _childDomainId]: [ + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + getUserRoles: TypedFunctionDescription<{ + encode([_user, _domain]: [string, BigNumberish]): string; + }>; + + getCapabilityRoles: TypedFunctionDescription<{ + encode([_sig]: [Arrayish]): string; + }>; + + emitDomainReputationReward: TypedFunctionDescription<{ + encode([_domainId, _user, _amount]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + emitSkillReputationReward: TypedFunctionDescription<{ + encode([_skillId, _user, _amount]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + emitDomainReputationPenalty: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _domainId, + _user, + _amount, + ]: [ + BigNumberish, + BigNumberish, + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + emitSkillReputationPenalty: TypedFunctionDescription<{ + encode([_skillId, _user, _amount]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + initialiseColony: TypedFunctionDescription<{ + encode([_colonyNetworkAddress, _token]: [string, string]): string; + }>; + + editColony: TypedFunctionDescription<{ + encode([_metadata]: [string]): string; + }>; + + editColonyByDelta: TypedFunctionDescription<{ + encode([_metadataDelta]: [string]): string; + }>; + + bootstrapColony: TypedFunctionDescription<{ + encode([_users, _amount]: [string[], BigNumberish[]]): string; + }>; + + mintTokens: TypedFunctionDescription<{ + encode([_wad]: [BigNumberish]): string; + }>; + + mintTokensFor: TypedFunctionDescription<{ + encode([_guy, _wad]: [string, BigNumberish]): string; + }>; + + lockToken: TypedFunctionDescription<{ encode([]: []): string }>; + + unlockTokenForUser: TypedFunctionDescription<{ + encode([user, lockId]: [string, BigNumberish]): string; + }>; + + registerColonyLabel: TypedFunctionDescription<{ + encode([colonyName, orbitdb]: [string, string]): string; + }>; + + updateColonyOrbitDB: TypedFunctionDescription<{ + encode([orbitdb]: [string]): string; + }>; + + installExtension: TypedFunctionDescription<{ + encode([extensionId, version]: [Arrayish, BigNumberish]): string; + }>; + + upgradeExtension: TypedFunctionDescription<{ + encode([extensionId, newVersion]: [Arrayish, BigNumberish]): string; + }>; + + deprecateExtension: TypedFunctionDescription<{ + encode([extensionId, deprecated]: [Arrayish, boolean]): string; + }>; + + uninstallExtension: TypedFunctionDescription<{ + encode([extensionId]: [Arrayish]): string; + }>; + + initialiseRootLocalSkill: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + addLocalSkill: TypedFunctionDescription<{ encode([]: []): string }>; + + deprecateLocalSkill: TypedFunctionDescription<{ + encode([localSkillId, deprecated]: [BigNumberish, boolean]): string; + }>; + + getRootLocalSkill: TypedFunctionDescription<{ encode([]: []): string }>; + + addDomain: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _parentDomainId]: [ + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + editDomain: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _domainId, _metadata]: [ + BigNumberish, + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + deprecateDomain: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _domainId, _deprecated]: [ + BigNumberish, + BigNumberish, + BigNumberish, + boolean + ]): string; + }>; + + getDomain: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getDomainCount: TypedFunctionDescription<{ encode([]: []): string }>; + + verifyReputationProof: TypedFunctionDescription<{ + encode([key, value, branchMask, siblings]: [ + Arrayish, + Arrayish, + BigNumberish, + Arrayish[] + ]): string; + }>; + + setDefaultGlobalClaimDelay: TypedFunctionDescription<{ + encode([_globalClaimDelay]: [BigNumberish]): string; + }>; + + makeExpenditure: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _domainId]: [ + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + transferExpenditure: TypedFunctionDescription<{ + encode([_id, _newOwner]: [BigNumberish, string]): string; + }>; + + transferExpenditureViaArbitration: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _id, _newOwner]: [ + BigNumberish, + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + cancelExpenditure: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + lockExpenditure: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + finalizeExpenditure: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + setExpenditureMetadata: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _id, _metadata]: [ + BigNumberish, + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + setExpenditureRecipient: TypedFunctionDescription<{ + encode([_id, _slot, _recipient]: [ + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + setExpenditureRecipients: TypedFunctionDescription<{ + encode([_id, _slots, _recipients]: [ + BigNumberish, + BigNumberish[], + string[] + ]): string; + }>; + + setExpenditurePayouts: TypedFunctionDescription<{ + encode([_id, _slots, _token, _amounts]: [ + BigNumberish, + BigNumberish[], + string, + BigNumberish[] + ]): string; + }>; + + setExpenditurePayout: TypedFunctionDescription<{ + encode([_id, _slot, _token, _amount]: [ + BigNumberish, + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + setExpenditureSkill: TypedFunctionDescription<{ + encode([_id, _slot, _skillId]: [ + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + setExpenditureSkills: TypedFunctionDescription<{ + encode([_id, _slots, _skillIds]: [ + BigNumberish, + BigNumberish[], + BigNumberish[] + ]): string; + }>; + + setExpenditureClaimDelay: TypedFunctionDescription<{ + encode([_id, _slot, _claimDelay]: [ + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + setExpenditureClaimDelays: TypedFunctionDescription<{ + encode([_id, _slots, _claimDelays]: [ + BigNumberish, + BigNumberish[], + BigNumberish[] + ]): string; + }>; + + setExpenditurePayoutModifiers: TypedFunctionDescription<{ + encode([_id, _slots, _payoutModifiers]: [ + BigNumberish, + BigNumberish[], + BigNumberish[] + ]): string; + }>; + + setExpenditureValues: TypedFunctionDescription<{ + encode([ + _id, + _recipientSlots, + _recipients, + _skillIdSlots, + _skillIds, + _claimDelaySlots, + _claimDelays, + _payoutModifierSlots, + _payoutModifiers, + _payoutTokens, + _payoutSlots, + _payoutValues, + ]: [ + BigNumberish, + BigNumberish[], + string[], + BigNumberish[], + BigNumberish[], + BigNumberish[], + BigNumberish[], + BigNumberish[], + BigNumberish[], + string[], + BigNumberish[][], + BigNumberish[][] + ]): string; + }>; + + setExpenditureState: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _id, + _storageSlot, + _mask, + _keys, + _value, + ]: [ + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + boolean[], + Arrayish[], + Arrayish + ]): string; + }>; + + claimExpenditurePayout: TypedFunctionDescription<{ + encode([_id, _slot, _token]: [ + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + getExpenditureCount: TypedFunctionDescription<{ encode([]: []): string }>; + + getExpenditure: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getExpenditureSlot: TypedFunctionDescription<{ + encode([_id, _slot]: [BigNumberish, BigNumberish]): string; + }>; + + getExpenditureSlotPayout: TypedFunctionDescription<{ + encode([_id, _slot, _token]: [ + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + addPayment: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _recipient, + _token, + _amount, + _domainId, + _skillId, + ]: [ + BigNumberish, + BigNumberish, + string, + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + finalizePayment: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _id]: [ + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + setPaymentRecipient: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _id, _recipient]: [ + BigNumberish, + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + setPaymentSkill: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _id, _skillId]: [ + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + setPaymentPayout: TypedFunctionDescription<{ + encode([_permissionDomainId, _childSkillIndex, _id, _token, _amount]: [ + BigNumberish, + BigNumberish, + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + getPayment: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + claimPayment: TypedFunctionDescription<{ + encode([_id, _token]: [BigNumberish, string]): string; + }>; + + getPaymentCount: TypedFunctionDescription<{ encode([]: []): string }>; + + makeTask: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _specificationHash, + _domainId, + _skillId, + _dueDate, + ]: [ + BigNumberish, + BigNumberish, + Arrayish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + getTaskCount: TypedFunctionDescription<{ encode([]: []): string }>; + + getTaskChangeNonce: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + executeTaskChange: TypedFunctionDescription<{ + encode([_sigV, _sigR, _sigS, _mode, _value, _data]: [ + BigNumberish[], + Arrayish[], + Arrayish[], + BigNumberish[], + BigNumberish, + Arrayish + ]): string; + }>; + + executeTaskRoleAssignment: TypedFunctionDescription<{ + encode([_sigV, _sigR, _sigS, _mode, _value, _data]: [ + BigNumberish[], + Arrayish[], + Arrayish[], + BigNumberish[], + BigNumberish, + Arrayish + ]): string; + }>; + + submitTaskWorkRating: TypedFunctionDescription<{ + encode([_id, _role, _ratingSecret]: [ + BigNumberish, + BigNumberish, + Arrayish + ]): string; + }>; + + revealTaskWorkRating: TypedFunctionDescription<{ + encode([_id, _role, _rating, _salt]: [ + BigNumberish, + BigNumberish, + BigNumberish, + Arrayish + ]): string; + }>; + + generateSecret: TypedFunctionDescription<{ + encode([_salt, _value]: [Arrayish, BigNumberish]): string; + }>; + + getTaskWorkRatingSecretsInfo: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getTaskWorkRatingSecret: TypedFunctionDescription<{ + encode([_id, _role]: [BigNumberish, BigNumberish]): string; + }>; + + setTaskManagerRole: TypedFunctionDescription<{ + encode([_id, _user, _permissionDomainId, _childSkillIndex]: [ + BigNumberish, + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + setTaskEvaluatorRole: TypedFunctionDescription<{ + encode([_id, _user]: [BigNumberish, string]): string; + }>; + + setTaskWorkerRole: TypedFunctionDescription<{ + encode([_id, _user]: [BigNumberish, string]): string; + }>; + + removeTaskEvaluatorRole: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + removeTaskWorkerRole: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + setTaskSkill: TypedFunctionDescription<{ + encode([_id, _skillId]: [BigNumberish, BigNumberish]): string; + }>; + + setTaskBrief: TypedFunctionDescription<{ + encode([_id, _specificationHash]: [BigNumberish, Arrayish]): string; + }>; + + setTaskDueDate: TypedFunctionDescription<{ + encode([_id, _dueDate]: [BigNumberish, BigNumberish]): string; + }>; + + submitTaskDeliverable: TypedFunctionDescription<{ + encode([_id, _deliverableHash]: [BigNumberish, Arrayish]): string; + }>; + + submitTaskDeliverableAndRating: TypedFunctionDescription<{ + encode([_id, _deliverableHash, _ratingSecret]: [ + BigNumberish, + Arrayish, + Arrayish + ]): string; + }>; + + finalizeTask: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + cancelTask: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + completeTask: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getTask: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getTaskRole: TypedFunctionDescription<{ + encode([_id, _role]: [BigNumberish, BigNumberish]): string; + }>; + + setRewardInverse: TypedFunctionDescription<{ + encode([_rewardInverse]: [BigNumberish]): string; + }>; + + getRewardInverse: TypedFunctionDescription<{ encode([]: []): string }>; + + getTaskPayout: TypedFunctionDescription<{ + encode([_id, _role, _token]: [ + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + setTaskManagerPayout: TypedFunctionDescription<{ + encode([_id, _token, _amount]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + setTaskEvaluatorPayout: TypedFunctionDescription<{ + encode([_id, _token, _amount]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + setTaskWorkerPayout: TypedFunctionDescription<{ + encode([_id, _token, _amount]: [ + BigNumberish, + string, + BigNumberish + ]): string; + }>; + + setAllTaskPayouts: TypedFunctionDescription<{ + encode([_id, _token, _managerAmount, _evaluatorAmount, _workerAmount]: [ + BigNumberish, + string, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + }>; + + claimTaskPayout: TypedFunctionDescription<{ + encode([_id, _role, _token]: [ + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + startNextRewardPayout: TypedFunctionDescription<{ + encode([_token, key, value, branchMask, siblings]: [ + string, + Arrayish, + Arrayish, + BigNumberish, + Arrayish[] + ]): string; + }>; + + claimRewardPayout: TypedFunctionDescription<{ + encode([_payoutId, _squareRoots, key, value, branchMask, siblings]: [ + BigNumberish, + BigNumberish[], + Arrayish, + Arrayish, + BigNumberish, + Arrayish[] + ]): string; + }>; + + getRewardPayoutInfo: TypedFunctionDescription<{ + encode([_payoutId]: [BigNumberish]): string; + }>; + + finalizeRewardPayout: TypedFunctionDescription<{ + encode([_payoutId]: [BigNumberish]): string; + }>; + + getFundingPot: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getFundingPotCount: TypedFunctionDescription<{ encode([]: []): string }>; + + getFundingPotBalance: TypedFunctionDescription<{ + encode([_potId, _token]: [BigNumberish, string]): string; + }>; + + getFundingPotPayout: TypedFunctionDescription<{ + encode([_potId, _token]: [BigNumberish, string]): string; + }>; + + moveFundsBetweenPots: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _domainId, + _fromChildSkillIndex, + _toChildSkillIndex, + _fromPot, + _toPot, + _amount, + _token, + ]: [ + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + claimColonyFunds: TypedFunctionDescription<{ + encode([_token]: [string]): string; + }>; + + getNonRewardPotsTotal: TypedFunctionDescription<{ + encode([_token]: [string]): string; + }>; + + approveStake: TypedFunctionDescription<{ + encode([_approvee, _domainId, _amount]: [ + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + obligateStake: TypedFunctionDescription<{ + encode([_user, _domainId, _amount]: [ + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + deobligateStake: TypedFunctionDescription<{ + encode([_user, _domainId, _amount]: [ + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + transferStake: TypedFunctionDescription<{ + encode([ + _permissionDomainId, + _childSkillIndex, + _obligator, + _user, + _domainId, + _amount, + _recipient, + ]: [ + BigNumberish, + BigNumberish, + string, + string, + BigNumberish, + BigNumberish, + string + ]): string; + }>; + + getApproval: TypedFunctionDescription<{ + encode([_user, _obligator, _domainId]: [ + string, + string, + BigNumberish + ]): string; + }>; + + getObligation: TypedFunctionDescription<{ + encode([_user, _obligator, _domainId]: [ + string, + string, + BigNumberish + ]): string; + }>; + + getDomainFromFundingPot: TypedFunctionDescription<{ + encode([_fundingPotId]: [BigNumberish]): string; + }>; + + burnTokens: TypedFunctionDescription<{ + encode([token, amount]: [string, BigNumberish]): string; + }>; + + unlockToken: TypedFunctionDescription<{ encode([]: []): string }>; + + updateApprovalAmount: TypedFunctionDescription<{ + encode([token, spender]: [string, string]): string; + }>; + + getTokenApproval: TypedFunctionDescription<{ + encode([token, spender]: [string, string]): string; + }>; + + getTotalTokenApproval: TypedFunctionDescription<{ + encode([token]: [string]): string; + }>; + }; + + events: { + Annotation: TypedEventDescription<{ + encodeTopics([agent, txHash, metadata]: [ + string | null, + Arrayish | null, + null + ]): string[]; + }>; + + ArbitraryReputationUpdate: TypedEventDescription<{ + encodeTopics([agent, user, skillId, amount]: [ + null, + null, + null, + null + ]): string[]; + }>; + + ArbitraryTransaction: TypedEventDescription<{ + encodeTopics([target, data, success]: [null, null, null]): string[]; + }>; + + ColonyBootstrapped: TypedEventDescription<{ + encodeTopics([agent, users, amounts]: [null, null, null]): string[]; + }>; + + ColonyFundsClaimed: TypedEventDescription<{ + encodeTopics([agent, token, fee, payoutRemainder]: [ + null, + null, + null, + null + ]): string[]; + }>; + + ColonyFundsMovedBetweenFundingPots: TypedEventDescription<{ + encodeTopics([agent, fromPot, toPot, amount, token]: [ + null, + BigNumberish | null, + BigNumberish | null, + null, + null + ]): string[]; + }>; + + ColonyInitialised: TypedEventDescription<{ + encodeTopics([agent, colonyNetwork, token]: [null, null, null]): string[]; + }>; + + ColonyMetadata: TypedEventDescription<{ + encodeTopics([agent, metadata]: [null, null]): string[]; + }>; + + ColonyMetadataDelta: TypedEventDescription<{ + encodeTopics([agent, metadata]: [null, null]): string[]; + }>; + + ColonyRewardInverseSet: TypedEventDescription<{ + encodeTopics([agent, rewardInverse]: [null, null]): string[]; + }>; + + ColonyRoleSet: TypedEventDescription<{ + encodeTopics([agent, user, domainId, role, setTo]: [ + null, + string | null, + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + + ColonyUpgraded: TypedEventDescription<{ + encodeTopics([agent, oldVersion, newVersion]: [ + null, + null, + null + ]): string[]; + }>; + + DomainAdded: TypedEventDescription<{ + encodeTopics([agent, domainId]: [null, null]): string[]; + }>; + + DomainDeprecated: TypedEventDescription<{ + encodeTopics([agent, domainId, deprecated]: [ + null, + BigNumberish | null, + null + ]): string[]; + }>; + + DomainMetadata: TypedEventDescription<{ + encodeTopics([agent, domainId, metadata]: [ + null, + BigNumberish | null, + null + ]): string[]; + }>; + + ExpenditureAdded: TypedEventDescription<{ + encodeTopics([agent, expenditureId]: [null, null]): string[]; + }>; + + ExpenditureCancelled: TypedEventDescription<{ + encodeTopics([agent, expenditureId]: [ + null, + BigNumberish | null + ]): string[]; + }>; + + ExpenditureClaimDelaySet: TypedEventDescription<{ + encodeTopics([agent, expenditureId, slot, claimDelay]: [ + null, + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + + ExpenditureFinalized: TypedEventDescription<{ + encodeTopics([agent, expenditureId]: [ + null, + BigNumberish | null + ]): string[]; + }>; + + ExpenditureGlobalClaimDelaySet: TypedEventDescription<{ + encodeTopics([agent, globalClaimDelay]: [null, null]): string[]; + }>; + + ExpenditureLocked: TypedEventDescription<{ + encodeTopics([agent, expenditureId]: [ + null, + BigNumberish | null + ]): string[]; + }>; + + ExpenditureMetadataSet: TypedEventDescription<{ + encodeTopics([agent, expenditureId, metadata]: [ + null, + BigNumberish | null, + null + ]): string[]; + }>; + + ExpenditurePayoutModifierSet: TypedEventDescription<{ + encodeTopics([agent, expenditureId, slot, payoutModifier]: [ + null, + BigNumberish | null, + BigNumberish | null, + null + ]): string[]; + }>; + + ExpenditurePayoutSet: TypedEventDescription<{ + encodeTopics([agent, expenditureId, slot, token, amount]: [ + null, + BigNumberish | null, + BigNumberish | null, + string | null, + null + ]): string[]; + }>; + + ExpenditureRecipientSet: TypedEventDescription<{ + encodeTopics([agent, expenditureId, slot, recipient]: [ + null, + BigNumberish | null, + BigNumberish | null, + string | null + ]): string[]; + }>; + + ExpenditureSkillSet: TypedEventDescription<{ + encodeTopics([agent, expenditureId, slot, skillId]: [ + null, + BigNumberish | null, + BigNumberish | null, + BigNumberish | null + ]): string[]; + }>; + + ExpenditureStateChanged: TypedEventDescription<{ + encodeTopics([agent, expenditureId, storageSlot, mask, keys, value]: [ + null, + BigNumberish | null, + BigNumberish | null, + null, + null, + null + ]): string[]; + }>; + + ExpenditureTransferred: TypedEventDescription<{ + encodeTopics([agent, expenditureId, owner]: [ + null, + BigNumberish | null, + string | null + ]): string[]; + }>; + + FundingPotAdded: TypedEventDescription<{ + encodeTopics([fundingPotId]: [null]): string[]; + }>; + + LocalSkillAdded: TypedEventDescription<{ + encodeTopics([agent, localSkillId]: [null, null]): string[]; + }>; + + LocalSkillDeprecated: TypedEventDescription<{ + encodeTopics([agent, localSkillId, deprecated]: [ + null, + null, + null + ]): string[]; + }>; + + MetaTransactionExecuted: TypedEventDescription<{ + encodeTopics([userAddress, relayerAddress, payload]: [ + null, + null, + null + ]): string[]; + }>; + + PaymentAdded: TypedEventDescription<{ + encodeTopics([agent, paymentId]: [null, null]): string[]; + }>; + + PaymentFinalized: TypedEventDescription<{ + encodeTopics([agent, paymentId]: [null, BigNumberish | null]): string[]; + }>; + + PaymentPayoutSet: TypedEventDescription<{ + encodeTopics([agent, paymentId, token, amount]: [ + null, + BigNumberish | null, + null, + null + ]): string[]; + }>; + + PaymentRecipientSet: TypedEventDescription<{ + encodeTopics([agent, paymentId, recipient]: [ + null, + BigNumberish | null, + null + ]): string[]; + }>; + + PaymentSkillSet: TypedEventDescription<{ + encodeTopics([agent, paymentId, skillId]: [ + null, + BigNumberish | null, + null + ]): string[]; + }>; + + PayoutClaimed: TypedEventDescription<{ + encodeTopics([agent, fundingPotId, token, amount]: [ + null, + BigNumberish | null, + null, + null + ]): string[]; + }>; + + RecoveryModeEntered: TypedEventDescription<{ + encodeTopics([user]: [null]): string[]; + }>; + + RecoveryModeExitApproved: TypedEventDescription<{ + encodeTopics([user]: [null]): string[]; + }>; + + RecoveryModeExited: TypedEventDescription<{ + encodeTopics([user]: [null]): string[]; + }>; + + RecoveryRoleSet: TypedEventDescription<{ + encodeTopics([user, setTo]: [string | null, null]): string[]; + }>; + + RecoveryStorageSlotSet: TypedEventDescription<{ + encodeTopics([user, slot, fromValue, toValue]: [ + null, + null, + null, + null + ]): string[]; + }>; + + RewardPayoutClaimed: TypedEventDescription<{ + encodeTopics([rewardPayoutId, user, fee, rewardRemainder]: [ + null, + null, + null, + null + ]): string[]; + }>; + + RewardPayoutCycleEnded: TypedEventDescription<{ + encodeTopics([agent, rewardPayoutId]: [null, null]): string[]; + }>; + + RewardPayoutCycleStarted: TypedEventDescription<{ + encodeTopics([agent, rewardPayoutId]: [null, null]): string[]; + }>; + + TaskAdded: TypedEventDescription<{ + encodeTopics([agent, taskId]: [null, null]): string[]; + }>; + + TaskBriefSet: TypedEventDescription<{ + encodeTopics([taskId, specificationHash]: [ + BigNumberish | null, + null + ]): string[]; + }>; + + TaskCanceled: TypedEventDescription<{ + encodeTopics([taskId]: [BigNumberish | null]): string[]; + }>; + + TaskChangedViaSignatures: TypedEventDescription<{ + encodeTopics([reviewerAddresses]: [null]): string[]; + }>; + + TaskCompleted: TypedEventDescription<{ + encodeTopics([agent, taskId]: [null, BigNumberish | null]): string[]; + }>; + + TaskDeliverableSubmitted: TypedEventDescription<{ + encodeTopics([agent, taskId, deliverableHash]: [ + null, + BigNumberish | null, + null + ]): string[]; + }>; + + TaskDueDateSet: TypedEventDescription<{ + encodeTopics([taskId, dueDate]: [BigNumberish | null, null]): string[]; + }>; + + TaskFinalized: TypedEventDescription<{ + encodeTopics([agent, taskId]: [null, BigNumberish | null]): string[]; + }>; + + TaskPayoutSet: TypedEventDescription<{ + encodeTopics([taskId, role, token, amount]: [ + BigNumberish | null, + null, + null, + null + ]): string[]; + }>; + + TaskRoleUserSet: TypedEventDescription<{ + encodeTopics([taskId, role, user]: [ + BigNumberish | null, + null, + string | null + ]): string[]; + }>; + + TaskSkillSet: TypedEventDescription<{ + encodeTopics([taskId, skillId]: [ + BigNumberish | null, + BigNumberish | null + ]): string[]; + }>; + + TaskWorkRatingRevealed: TypedEventDescription<{ + encodeTopics([agent, taskId, role, rating]: [ + null, + BigNumberish | null, + null, + null + ]): string[]; + }>; + + TokenUnlocked: TypedEventDescription<{ + encodeTopics([agent]: [null]): string[]; + }>; + + TokensBurned: TypedEventDescription<{ + encodeTopics([agent, token, amount]: [null, null, null]): string[]; + }>; + + TokensMinted: TypedEventDescription<{ + encodeTopics([agent, who, amount]: [null, null, null]): string[]; + }>; + }; +} + +export class IColony extends Contract { + connect(signerOrProvider: Signer | Provider | string): IColony; + attach(addressOrName: string): IColony; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IColony; + once(event: EventFilter | string, listener: Listener): IColony; + addListener(eventName: EventFilter | string, listener: Listener): IColony; + removeAllListeners(eventName: EventFilter | string): IColony; + removeListener(eventName: any, listener: Listener): IColony; + + interface: IColonyInterface; + + functions: { + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + approveExitRecovery( + overrides?: TransactionOverrides + ): Promise; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + "approveExitRecovery()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + checkNotAdditionalProtectedVariable( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + "checkNotAdditionalProtectedVariable(uint256)"( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + enterRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + "enterRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + executeMetaTransaction( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + exitRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + "exitRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Is colony network in recovery mode. + */ + isInRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Is colony network in recovery mode. + */ + "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Return number of recovery roles. + */ + numRecoveryRoles(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + "numRecoveryRoles()"(overrides?: TransactionOverrides): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + removeRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + "removeRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + setRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + "setRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + setStorageSlotRecovery( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + "setStorageSlotRecovery(uint256,bytes32)"( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyAuthority` for the colony. + */ + authority(overrides?: TransactionOverrides): Promise; + + /** + * Get the `ColonyAuthority` for the colony. + */ + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Used for testing. + * Get the colony `owner` address. This should be address(0x0) at all times. + */ + owner(overrides?: TransactionOverrides): Promise; + + /** + * Used for testing. + * Get the colony `owner` address. This should be address(0x0) at all times. + */ + "owner()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the Colony contract version. Starts from 1 and is incremented with every deployed contract change. + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Get the Colony contract version. Starts from 1 and is incremented with every deployed contract change. + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Downgrades are not allowed, i.e. `_newVersion` should be higher than the currect colony version. + * Upgrades a colony to a new Colony contract version `_newVersion`. + * @param _newVersion The target version for the upgrade + */ + upgrade( + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Downgrades are not allowed, i.e. `_newVersion` should be higher than the currect colony version. + * Upgrades a colony to a new Colony contract version `_newVersion`. + * @param _newVersion The target version for the upgrade + */ + "upgrade(uint256)"( + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * A function to be called after an upgrade has been done from v2 to v3. + */ + finishUpgrade( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * A function to be called after an upgrade has been done from v2 to v3. + */ + "finishUpgrade()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * The colonyNetworkAddress we read here is set once, during `initialiseColony`. + * Returns the colony network address set on the Colony. + */ + getColonyNetwork(overrides?: TransactionOverrides): Promise; + + /** + * The colonyNetworkAddress we read here is set once, during `initialiseColony`. + * Returns the colony network address set on the Colony. + */ + "getColonyNetwork()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the colony token. + */ + getToken(overrides?: TransactionOverrides): Promise; + + /** + * Get the colony token. + */ + "getToken()"(overrides?: TransactionOverrides): Promise; + + /** + * @deprecatedExecute arbitrary transaction on behalf of the Colony + * @param _action Bytes array encoding the function call and arguments + * @param _to Contract to receive the function call (cannot be this contract, network or token locking) + */ + makeArbitraryTransaction( + _to: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedExecute arbitrary transaction on behalf of the Colony + * @param _action Bytes array encoding the function call and arguments + * @param _to Contract to receive the function call (cannot be this contract, network or token locking) + */ + "makeArbitraryTransaction(address,bytes)"( + _to: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Execute arbitrary transactions on behalf of the Colony in series + * @param _actions Array of Bytes arrays encoding the function calls and arguments + * @param _strict Boolean indicating whether if one transaction fails, the whole call to this function should fail. + * @param _targets Array of addressed to be targeted + */ + makeArbitraryTransactions( + _targets: string[], + _actions: Arrayish[], + _strict: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Execute arbitrary transactions on behalf of the Colony in series + * @param _actions Array of Bytes arrays encoding the function calls and arguments + * @param _strict Boolean indicating whether if one transaction fails, the whole call to this function should fail. + * @param _targets Array of addressed to be targeted + */ + "makeArbitraryTransactions(address[],bytes[],bool)"( + _targets: string[], + _actions: Arrayish[], + _strict: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the colony itself. If you wish to use this functionality, you should use the makeAbitraryTransactions function + * Executes a single arbitrary transaction + * @param _action Bytes array encoding the function call and arguments + * @param _target Contract to receive the function call + */ + makeSingleArbitraryTransaction( + _target: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the colony itself. If you wish to use this functionality, you should use the makeAbitraryTransactions function + * Executes a single arbitrary transaction + * @param _action Bytes array encoding the function call and arguments + * @param _target Contract to receive the function call + */ + "makeSingleArbitraryTransaction(address,bytes)"( + _target: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a metadata string for a transaction + * @param _metadata String of metadata for tx + * @param _txHash Hash of transaction being annotated (0x0 for current tx) + */ + annotateTransaction( + _txHash: Arrayish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a metadata string for a transaction + * @param _metadata String of metadata for tx + * @param _txHash Hash of transaction being annotated (0x0 for current tx) + */ + "annotateTransaction(bytes32,string)"( + _txHash: Arrayish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony root role. Can be called by root role only. + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an root role to + */ + setRootRole( + _user: string, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony root role. Can be called by root role only. + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an root role to + */ + "setRootRole(address,bool)"( + _user: string, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony arbitration role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an arbitration role to + */ + setArbitrationRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony arbitration role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an arbitration role to + */ + "setArbitrationRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony architecture role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an architecture role to + */ + setArchitectureRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony architecture role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an architecture role to + */ + "setArchitectureRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony funding role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an funding role to + */ + setFundingRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony funding role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an funding role to + */ + "setFundingRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony admin role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an admin role to + */ + setAdministrationRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony admin role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an admin role to + */ + "setAdministrationRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set several roles in one transaction. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _roles Byte array representing the desired role setting (1 for on, 0 for off) + * @param _user User we want to give a role to + */ + setUserRoles( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _roles: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set several roles in one transaction. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _roles Byte array representing the desired role setting (1 for on, 0 for off) + * @param _user User we want to give a role to + */ + "setUserRoles(uint256,uint256,address,uint256,bytes32)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _roles: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _domainId The domain where we want to check for the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + hasUserRole( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _domainId The domain where we want to check for the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + "hasUserRole(address,uint256,uint8)"( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 inheritance validator function + * @param _childDomainId The domain where we want to use the role + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + hasInheritedUserRole( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 inheritance validator function + * @param _childDomainId The domain where we want to use the role + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + "hasInheritedUserRole(address,uint256,uint8,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _childDomainId The domain where we want to edit roles + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role (currently Root or Architecture) + * @param _user The user whose permissions we want to check + */ + userCanSetRoles( + _user: string, + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _childDomainId The domain where we want to edit roles + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role (currently Root or Architecture) + * @param _user The user whose permissions we want to check + */ + "userCanSetRoles(address,uint256,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles for a user in a given domain + * @param _domain The domain we want to get roles in + * @param _user The user whose roles we want to get + */ + getUserRoles( + _user: string, + _domain: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles for a user in a given domain + * @param _domain The domain we want to get roles in + * @param _user The user whose roles we want to get + */ + "getUserRoles(address,uint256)"( + _user: string, + _domain: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles authorized to call a function + * @param _sig The function signature + */ + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles authorized to call a function + * @param _sig The function signature + */ + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive domain reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _domainId The domain where the user will gain reputation + * @param _user The user who will gain reputation + */ + emitDomainReputationReward( + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive domain reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _domainId The domain where the user will gain reputation + * @param _user The user who will gain reputation + */ + "emitDomainReputationReward(uint256,address,int256)"( + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive skill reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _skillId The skill where the user will gain reputation + * @param _user The user who will gain reputation + */ + emitSkillReputationReward( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive skill reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _skillId The skill where the user will gain reputation + * @param _user The user who will gain reputation + */ + "emitSkillReputationReward(uint256,address,int256)"( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative domain reputation update. Available only to Arbitration role holders + * @param _amount The (negative) amount of reputation to lose + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the user will lose reputation + * @param _permissionDomainId The domainId in which I hold the Arbitration role + * @param _user The user who will lose reputation + */ + emitDomainReputationPenalty( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative domain reputation update. Available only to Arbitration role holders + * @param _amount The (negative) amount of reputation to lose + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the user will lose reputation + * @param _permissionDomainId The domainId in which I hold the Arbitration role + * @param _user The user who will lose reputation + */ + "emitDomainReputationPenalty(uint256,uint256,uint256,address,int256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative skill reputation update. Available only to Arbitration role holders in the root domain + * @param _amount The (negative) amount of reputation to lose + * @param _skillId The skill where the user will lose reputation + * @param _user The user who will lose reputation + */ + emitSkillReputationPenalty( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative skill reputation update. Available only to Arbitration role holders in the root domain + * @param _amount The (negative) amount of reputation to lose + * @param _skillId The skill where the user will lose reputation + * @param _user The user who will lose reputation + */ + "emitSkillReputationPenalty(uint256,address,int256)"( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the reward inverse to the uint max 2**256 - 1. + * Called once when the colony is created to initialise certain storage slot values. + * @param _colonyNetworkAddress Address of the colony network + * @param _token Address of the colony ERC20 Token + */ + initialiseColony( + _colonyNetworkAddress: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the reward inverse to the uint max 2**256 - 1. + * Called once when the colony is created to initialise certain storage slot values. + * @param _colonyNetworkAddress Address of the colony network + * @param _token Address of the colony ERC20 Token + */ + "initialiseColony(address,address)"( + _colonyNetworkAddress: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _metadata IPFS hash of the metadata + */ + editColony( + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _metadata IPFS hash of the metadata + */ + "editColony(string)"( + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to change the metadata associated with a colony. Expected to be a IPFS hash of a delta to a JSON blob, but not enforced to any degree by the contracts + * @param _metadataDelta IPFS hash of the metadata delta + */ + editColonyByDelta( + _metadataDelta: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to change the metadata associated with a colony. Expected to be a IPFS hash of a delta to a JSON blob, but not enforced to any degree by the contracts + * @param _metadataDelta IPFS hash of the metadata delta + */ + "editColonyByDelta(string)"( + _metadataDelta: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be called when `taskCount` is `0` by authorized addresses. + * 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. + * @param _amount Amount of reputation/tokens for every address + * @param _users Array of address to bootstrap with reputation + */ + bootstrapColony( + _users: string[], + _amount: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be called when `taskCount` is `0` by authorized addresses. + * 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. + * @param _amount Amount of reputation/tokens for every address + * @param _users Array of address to bootstrap with reputation + */ + "bootstrapColony(address[],int256[])"( + _users: string[], + _amount: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens. Secured function to authorised members. + * @param _wad Amount to mint + */ + mintTokens( + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens. Secured function to authorised members. + * @param _wad Amount to mint + */ + "mintTokens(uint256)"( + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens and send to `_guy`. Secured function to authorised members. + * @param _guy Recipient of new tokens + * @param _wad Amount to mint + */ + mintTokensFor( + _guy: string, + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens and send to `_guy`. Secured function to authorised members. + * @param _guy Recipient of new tokens + * @param _wad Amount to mint + */ + "mintTokensFor(address,uint256)"( + _guy: string, + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Lock the colony's token. Can only be called by a network-managed extension. + */ + lockToken(overrides?: TransactionOverrides): Promise; + + /** + * Lock the colony's token. Can only be called by a network-managed extension. + */ + "lockToken()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Unlock the colony's token for a user. Can only be called by a network-managed extension. + * @param lockId The specific lock to unlock + * @param user The user to unlock + */ + unlockTokenForUser( + user: string, + lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unlock the colony's token for a user. Can only be called by a network-managed extension. + * @param lockId The specific lock to unlock + * @param user The user to unlock + */ + "unlockTokenForUser(address,uint256)"( + user: string, + lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register colony's ENS label. + * @param colonyName The label to register. + * @param orbitdb The path of the orbitDB database associated with the colony name + */ + registerColonyLabel( + colonyName: string, + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register colony's ENS label. + * @param colonyName The label to register. + * @param orbitdb The path of the orbitDB database associated with the colony name + */ + "registerColonyLabel(string,string)"( + colonyName: string, + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param orbitdb The path of the orbitDB database to be associated with the colony + */ + updateColonyOrbitDB( + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param orbitdb The path of the orbitDB database to be associated with the colony + */ + "updateColonyOrbitDB(string)"( + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension to the colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param version The new extension version to install + */ + installExtension( + extensionId: Arrayish, + version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension to the colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param version The new extension version to install + */ + "installExtension(bytes32,uint256)"( + extensionId: Arrayish, + version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param newVersion The version to upgrade to (must be one larger than the current version) + */ + upgradeExtension( + extensionId: Arrayish, + newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param newVersion The version to upgrade to (must be one larger than the current version) + */ + "upgradeExtension(bytes32,uint256)"( + extensionId: Arrayish, + newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Secured function to authorised members. + * @param deprecated Whether to deprecate the extension or not + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + deprecateExtension( + extensionId: Arrayish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Secured function to authorised members. + * @param deprecated Whether to deprecate the extension or not + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + "deprecateExtension(bytes32,bool)"( + extensionId: Arrayish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * Uninstall an extension from a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + uninstallExtension( + extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * Uninstall an extension from a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + "uninstallExtension(bytes32)"( + extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skill tree for the colony. + */ + initialiseRootLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skill tree for the colony. + */ + "initialiseRootLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new local skill for the colony. Secured function to authorised members. + */ + addLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new local skill for the colony. Secured function to authorised members. + */ + "addLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a local skill for the colony. Secured function to authorised members. + * @param deprecated Deprecation status to set for the skill + * @param localSkillId Id for the local skill + */ + deprecateLocalSkill( + localSkillId: BigNumberish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a local skill for the colony. Secured function to authorised members. + * @param deprecated Deprecation status to set for the skill + * @param localSkillId Id for the local skill + */ + "deprecateLocalSkill(uint256,bool)"( + localSkillId: BigNumberish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the root local skill id + */ + getRootLocalSkill(overrides?: TransactionOverrides): Promise; + + /** + * Get the root local skill id + */ + "getRootLocalSkill()"(overrides?: TransactionOverrides): Promise; + + /** + * Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + addDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "addDomain(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "addDomain(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Id of the domain being edited + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + editDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Id of the domain being edited + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "editDomain(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a domain, preventing certain actions from happening there + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _deprecated Whether or not the domain is deprecated + * @param _domainId Id of the domain being deprecated + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + deprecateDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a domain, preventing certain actions from happening there + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _deprecated Whether or not the domain is deprecated + * @param _domainId Id of the domain being deprecated + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "deprecateDomain(uint256,uint256,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a domain by id. + * @param _id Id of the domain which details to get + */ + getDomain( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { skillId: BigNumber; fundingPotId: BigNumber } + >; + + /** + * Get a domain by id. + * @param _id Id of the domain which details to get + */ + "getDomain(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { skillId: BigNumber; fundingPotId: BigNumber } + >; + + /** + * Get the number of domains in the colony. + */ + getDomainCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of domains in the colony. + */ + "getDomainCount()"(overrides?: TransactionOverrides): Promise; + + /** + * 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. + * Helper function that can be used by a client to verify the correctness of a patricia proof they have been supplied with. + * @param branchMask The branchmask of the proof + * @param key The key of the element the proof is for. + * @param siblings The siblings of the proof + * @param value The value of the element that the proof is for. + */ + verifyReputationProof( + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Helper function that can be used by a client to verify the correctness of a patricia proof they have been supplied with. + * @param branchMask The branchmask of the proof + * @param key The key of the element the proof is for. + * @param siblings The siblings of the proof + * @param value The value of the element that the proof is for. + */ + "verifyReputationProof(bytes,bytes,uint256,bytes32[])"( + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the default global claim delay for expenditures + * @param _globalClaimDelay The new default global claim delay + */ + setDefaultGlobalClaimDelay( + _globalClaimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the default global claim delay for expenditures + * @param _globalClaimDelay The new default global claim delay + */ + "setDefaultGlobalClaimDelay(uint256)"( + _globalClaimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new expenditure in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the expenditure belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + makeExpenditure( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new expenditure in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the expenditure belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "makeExpenditure(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Updates the expenditure owner. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + */ + transferExpenditure( + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Updates the expenditure owner. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + */ + "transferExpenditure(uint256,address)"( + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future version + * @deprecatedUpdates the expenditure owner. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + transferExpenditureViaArbitration( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future version + * @deprecatedUpdates the expenditure owner. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "transferExpenditureViaArbitration(uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Cancels the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + cancelExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Cancels the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "cancelExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Locks the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + lockExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Locks the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "lockExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the expenditure and allows for funds to be claimed. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + finalizeExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the expenditure and allows for funds to be claimed. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "finalizeExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the metadata for an expenditure. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + setExpenditureMetadata( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the metadata for an expenditure. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "setExpenditureMetadata(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the metadata for an expenditure. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + */ + "setExpenditureMetadata(uint256,string)"( + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSets the recipient on an expenditure slot. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipient Address of the recipient + * @param _slot Slot for the recipient address + */ + setExpenditureRecipient( + _id: BigNumberish, + _slot: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSets the recipient on an expenditure slot. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipient Address of the recipient + * @param _slot Slot for the recipient address + */ + "setExpenditureRecipient(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the recipients in given expenditure slots. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipients Addresses of the recipients + * @param _slots Array of slots to set recipients + */ + setExpenditureRecipients( + _id: BigNumberish, + _slots: BigNumberish[], + _recipients: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the recipients in given expenditure slots. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipients Addresses of the recipients + * @param _slots Array of slots to set recipients + */ + "setExpenditureRecipients(uint256,uint256[],address[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _recipients: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Set the token payouts in given expenditure slots. Can only be called by expenditure owner. + * @param _amounts Payout amounts + * @param _id Id of the expenditure + * @param _slots Array of slots to set payouts + * @param _token Address of the token, `0x0` value indicates Ether + */ + setExpenditurePayouts( + _id: BigNumberish, + _slots: BigNumberish[], + _token: string, + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Set the token payouts in given expenditure slots. Can only be called by expenditure owner. + * @param _amounts Payout amounts + * @param _id Id of the expenditure + * @param _slots Array of slots to set payouts + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayouts(uint256,uint256[],address,uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _token: string, + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSet the token payout on an expenditure slot. Can only be called by expenditure owner. + * @param _amount Payout amount + * @param _id Id of the expenditure + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + setExpenditurePayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSet the token payout on an expenditure slot. Can only be called by expenditure owner. + * @param _amount Payout amount + * @param _id Id of the expenditure + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayout(uint256,uint256,address,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the token payout in a given expenditure slot. Can only be called by an Arbitration user. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _slot The slot to set the payout + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayout(uint256,uint256,uint256,uint256,address,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillId Id of the new skill to set + * @param _slot Number of the slot + */ + setExpenditureSkill( + _id: BigNumberish, + _slot: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillId Id of the new skill to set + * @param _slot Number of the slot + */ + "setExpenditureSkill(uint256,uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillIds Ids of the new skills to set + * @param _slots Array of slots to set skills + */ + setExpenditureSkills( + _id: BigNumberish, + _slots: BigNumberish[], + _skillIds: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillIds Ids of the new skills to set + * @param _slots Array of slots to set skills + */ + "setExpenditureSkills(uint256,uint256[],uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _skillIds: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the claim delay on an expenditure slot. Can only be called by expenditure owner. + * @param _claimDelay Duration of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slot Number of the slot + */ + setExpenditureClaimDelay( + _id: BigNumberish, + _slot: BigNumberish, + _claimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the claim delay on an expenditure slot. Can only be called by expenditure owner. + * @param _claimDelay Duration of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slot Number of the slot + */ + "setExpenditureClaimDelay(uint256,uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _claimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the claim delays in given expenditure slots. Can only be called by expenditure owner. + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slots Array of slots to set claim delays + */ + setExpenditureClaimDelays( + _id: BigNumberish, + _slots: BigNumberish[], + _claimDelays: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the claim delays in given expenditure slots. Can only be called by expenditure owner. + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slots Array of slots to set claim delays + */ + "setExpenditureClaimDelays(uint256,uint256[],uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _claimDelays: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout modifiers in given expenditure slots. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _slots Array of slots to set payout modifiers + */ + setExpenditurePayoutModifiers( + _id: BigNumberish, + _slots: BigNumberish[], + _payoutModifiers: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout modifiers in given expenditure slots. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _slots Array of slots to set payout modifiers + */ + "setExpenditurePayoutModifiers(uint256,uint256[],int256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _payoutModifiers: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set many values of an expenditure simultaneously. Can only be called by expenditure owner. + * @param _claimDelaySlots Array of slots to set claim delays + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _payoutModifierSlots Array of slots to set payout modifiers + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _payoutSlots 2-dimensional array of slots to set payouts + * @param _payoutTokens Addresses of the tokens, `0x0` value indicates Ether + * @param _payoutValues 2-dimensional array of the payout amounts + * @param _recipientSlots Array of slots to set recipients + * @param _recipients Addresses of the recipients + * @param _skillIdSlots Array of slots to set skills + * @param _skillIds Ids of the new skills to set + */ + setExpenditureValues( + _id: BigNumberish, + _recipientSlots: BigNumberish[], + _recipients: string[], + _skillIdSlots: BigNumberish[], + _skillIds: BigNumberish[], + _claimDelaySlots: BigNumberish[], + _claimDelays: BigNumberish[], + _payoutModifierSlots: BigNumberish[], + _payoutModifiers: BigNumberish[], + _payoutTokens: string[], + _payoutSlots: BigNumberish[][], + _payoutValues: BigNumberish[][], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set many values of an expenditure simultaneously. Can only be called by expenditure owner. + * @param _claimDelaySlots Array of slots to set claim delays + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _payoutModifierSlots Array of slots to set payout modifiers + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _payoutSlots 2-dimensional array of slots to set payouts + * @param _payoutTokens Addresses of the tokens, `0x0` value indicates Ether + * @param _payoutValues 2-dimensional array of the payout amounts + * @param _recipientSlots Array of slots to set recipients + * @param _recipients Addresses of the recipients + * @param _skillIdSlots Array of slots to set skills + * @param _skillIds Ids of the new skills to set + */ + "setExpenditureValues(uint256,uint256[],address[],uint256[],uint256[],uint256[],uint256[],uint256[],int256[],address[],uint256[][],uint256[][])"( + _id: BigNumberish, + _recipientSlots: BigNumberish[], + _recipients: string[], + _skillIdSlots: BigNumberish[], + _skillIds: BigNumberish[], + _claimDelaySlots: BigNumberish[], + _claimDelays: BigNumberish[], + _payoutModifierSlots: BigNumberish[], + _payoutModifiers: BigNumberish[], + _payoutTokens: string[], + _payoutSlots: BigNumberish[][], + _payoutValues: BigNumberish[][], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set arbitrary state on an expenditure slot. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _keys Array of additional keys (for mappings & arrays) + * @param _mask Array of booleans indicated whether a key is a mapping (F) or an array index (T). + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _storageSlot Number of the top-level storage slot (25, 26, or 27) + * @param _value Value to set at location + */ + setExpenditureState( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _storageSlot: BigNumberish, + _mask: boolean[], + _keys: Arrayish[], + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set arbitrary state on an expenditure slot. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _keys Array of additional keys (for mappings & arrays) + * @param _mask Array of booleans indicated whether a key is a mapping (F) or an array index (T). + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _storageSlot Number of the top-level storage slot (25, 26, or 27) + * @param _value Value to set at location + */ + "setExpenditureState(uint256,uint256,uint256,uint256,bool[],bytes32[],bytes32)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _storageSlot: BigNumberish, + _mask: boolean[], + _keys: Arrayish[], + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Claim the payout for an expenditure slot. Here the network receives a fee from each payout. + * @param _id Expenditure identifier + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimExpenditurePayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Claim the payout for an expenditure slot. Here the network receives a fee from each payout. + * @param _id Expenditure identifier + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimExpenditurePayout(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of expenditures in the colony. + */ + getExpenditureCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of expenditures in the colony. + */ + "getExpenditureCount()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure. + * @param _id Expenditure identifier + */ + getExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, string, BigNumber, BigNumber, BigNumber, BigNumber] & { + status: number; + owner: string; + fundingPotId: BigNumber; + domainId: BigNumber; + finalizedTimestamp: BigNumber; + globalClaimDelay: BigNumber; + } + >; + + /** + * Returns an existing expenditure. + * @param _id Expenditure identifier + */ + "getExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, string, BigNumber, BigNumber, BigNumber, BigNumber] & { + status: number; + owner: string; + fundingPotId: BigNumber; + domainId: BigNumber; + finalizedTimestamp: BigNumber; + globalClaimDelay: BigNumber; + } + >; + + /** + * Returns an existing expenditure slot. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + */ + getExpenditureSlot( + _id: BigNumberish, + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + claimDelay: BigNumber; + payoutModifier: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * Returns an existing expenditure slot. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + */ + "getExpenditureSlot(uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + claimDelay: BigNumber; + payoutModifier: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * Returns an existing expenditure slot's payout for a token. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + * @param _token Token address + */ + getExpenditureSlotPayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure slot's payout for a token. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + * @param _token Token address + */ + "getExpenditureSlotPayout(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new payment in the colony. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the payment belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + * @param _skillId The skill associated with the payment + * @param _token Address of the token, `0x0` value indicates Ether + */ + addPayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _recipient: string, + _token: string, + _amount: BigNumberish, + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new payment in the colony. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the payment belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + * @param _skillId The skill associated with the payment + * @param _token Address of the token, `0x0` value indicates Ether + */ + "addPayment(uint256,uint256,address,address,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _recipient: string, + _token: string, + _amount: BigNumberish, + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the payment and logs the reputation log updates. Allowed to be called once after payment is fully funded. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + finalizePayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the payment and logs the reputation log updates. Allowed to be called once after payment is fully funded. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "finalizePayment(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the recipient on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + */ + setPaymentRecipient( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the recipient on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + */ + "setPaymentRecipient(uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId Id of the new skill to set + */ + setPaymentSkill( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId Id of the new skill to set + */ + "setPaymentSkill(uint256,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout for a given token on an existing payment. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _token Address of the token, `0x0` value indicates Ether + */ + setPaymentPayout( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout for a given token on an existing payment. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setPaymentPayout(uint256,uint256,uint256,address,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an exiting payment. + * @param _id Payment identifier + */ + getPayment( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + finalized: boolean; + fundingPotId: BigNumber; + domainId: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * Returns an exiting payment. + * @param _id Payment identifier + */ + "getPayment(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + finalized: boolean; + fundingPotId: BigNumber; + domainId: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * 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. + * @param _id Payment identifier + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimPayment( + _id: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Payment identifier + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimPayment(uint256,address)"( + _id: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of payments in the colony. + */ + getPaymentCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of payments in the colony. + */ + "getPaymentCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Make a new task in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the task belongs + * @param _dueDate The due date of the task, can set to `0` for no-op + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId The skill associated with the task, can set to `0` for no-op + * @param _specificationHash Database identifier where the task specification is stored + */ + makeTask( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _specificationHash: Arrayish, + _domainId: BigNumberish, + _skillId: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Make a new task in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the task belongs + * @param _dueDate The due date of the task, can set to `0` for no-op + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId The skill associated with the task, can set to `0` for no-op + * @param _specificationHash Database identifier where the task specification is stored + */ + "makeTask(uint256,uint256,bytes32,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _specificationHash: Arrayish, + _domainId: BigNumberish, + _skillId: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of tasks in the colony. + */ + getTaskCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tasks in the colony. + */ + "getTaskCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Starts from 0 and is incremented on every co-reviewed task change via `executeTaskChange` call. + * @param _id Id of the task + */ + getTaskChangeNonce( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts from 0 and is incremented on every co-reviewed task change via `executeTaskChange` call. + * @param _id Id of the task + */ + "getTaskChangeNonce(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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 + */ + executeTaskChange( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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 + */ + "executeTaskChange(uint8[],bytes32[],bytes32[],uint8[],uint256,bytes)"( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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)"( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _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. + * @param _role Id of the role, as defined in TaskRole enum + */ + submitTaskWorkRating( + _id: BigNumberish, + _role: BigNumberish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _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. + * @param _role Id of the role, as defined in TaskRole enum + */ + "submitTaskWorkRating(uint256,uint8,bytes32)"( + _id: BigNumberish, + _role: BigNumberish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * 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. + * @param _id Id of the task + * @param _rating 0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50) + * @param _role Id of the role, as defined in TaskRole enum + * @param _salt Salt value used to generate the rating secret + */ + revealTaskWorkRating( + _id: BigNumberish, + _role: BigNumberish, + _rating: BigNumberish, + _salt: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * 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. + * @param _id Id of the task + * @param _rating 0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50) + * @param _role Id of the role, as defined in TaskRole enum + * @param _salt Salt value used to generate the rating secret + */ + "revealTaskWorkRating(uint256,uint8,uint8,bytes32)"( + _id: BigNumberish, + _role: BigNumberish, + _rating: BigNumberish, + _salt: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Helper function used to generage consistently the rating secret using salt value `_salt` and value to hide `_value` + * @param _salt Salt value + * @param _value Value to hide + */ + generateSecret( + _salt: Arrayish, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Helper function used to generage consistently the rating secret using salt value `_salt` and value to hide `_value` + * @param _salt Salt value + * @param _value Value to hide + */ + "generateSecret(bytes32,uint256)"( + _salt: Arrayish, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyStorage.RatingSecrets` information for task `_id`. + * @param _id Id of the task + */ + getTaskWorkRatingSecretsInfo( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { + nSecrets: BigNumber; + lastSubmittedAt: BigNumber; + } + >; + + /** + * Get the `ColonyStorage.RatingSecrets` information for task `_id`. + * @param _id Id of the task + */ + "getTaskWorkRatingSecretsInfo(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { + nSecrets: BigNumber; + lastSubmittedAt: BigNumber; + } + >; + + /** + * Get the rating secret submitted for role `_role` in task `_id` + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + getTaskWorkRatingSecret( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the rating secret submitted for role `_role` in task `_id` + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + "getTaskWorkRatingSecret(uint256,uint8)"( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the task + * @param _permissionDomainId The domain ID in which _user has the Administration permission + * @param _user Address of the user we want to give a manager role to + */ + setTaskManagerRole( + _id: BigNumberish, + _user: string, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the task + * @param _permissionDomainId The domain ID in which _user has the Administration permission + * @param _user Address of the user we want to give a manager role to + */ + "setTaskManagerRole(uint256,address,uint256,uint256)"( + _id: BigNumberish, + _user: string, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a evaluator role to + */ + setTaskEvaluatorRole( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a evaluator role to + */ + "setTaskEvaluatorRole(uint256,address)"( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a worker role to + */ + setTaskWorkerRole( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a worker role to + */ + "setTaskWorkerRole(uint256,address)"( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing evaluator role. Agreed between manager and currently assigned evaluator. + * @param _id Id of the task + */ + removeTaskEvaluatorRole( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing evaluator role. Agreed between manager and currently assigned evaluator. + * @param _id Id of the task + */ + "removeTaskEvaluatorRole(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing worker role. Agreed between manager and currently assigned worker. + * @param _id Id of the task + */ + removeTaskWorkerRole( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing worker role. Agreed between manager and currently assigned worker. + * @param _id Id of the task + */ + "removeTaskWorkerRole(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Set the skill for task `_id`. + * @param _id Id of the task + * @param _skillId Id of the skill which has to be a global skill + */ + setTaskSkill( + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Set the skill for task `_id`. + * @param _id Id of the task + * @param _skillId Id of the skill which has to be a global skill + */ + "setTaskSkill(uint256,uint256)"( + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _specificationHash Unique hash of the task brief in ddb + */ + setTaskBrief( + _id: BigNumberish, + _specificationHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _specificationHash Unique hash of the task brief in ddb + */ + "setTaskBrief(uint256,bytes32)"( + _id: BigNumberish, + _specificationHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the due date on task `_id`. Allowed before a task is finalized. + * @param _dueDate Due date as seconds since unix epoch + * @param _id Id of the task + */ + setTaskDueDate( + _id: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the due date on task `_id`. Allowed before a task is finalized. + * @param _dueDate Due date as seconds since unix epoch + * @param _id Id of the task + */ + "setTaskDueDate(uint256,uint256)"( + _id: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.deliverableHash` and `task.completionTimestamp` properties. + * 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. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + */ + submitTaskDeliverable( + _id: BigNumberish, + _deliverableHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.deliverableHash` and `task.completionTimestamp` properties. + * 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. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + */ + "submitTaskDeliverable(uint256,bytes32)"( + _id: BigNumberish, + _deliverableHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Internally call `submitTaskDeliverable` and `submitTaskWorkRating` in sequence. + * Submit the task deliverable for Worker and rating for Manager. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + * @param _ratingSecret Rating secret for manager + */ + submitTaskDeliverableAndRating( + _id: BigNumberish, + _deliverableHash: Arrayish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Internally call `submitTaskDeliverable` and `submitTaskWorkRating` in sequence. + * Submit the task deliverable for Worker and rating for Manager. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + * @param _ratingSecret Rating secret for manager + */ + "submitTaskDeliverableAndRating(uint256,bytes32,bytes32)"( + _id: BigNumberish, + _deliverableHash: Arrayish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.finalized` property to true + * 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. + * @param _id Id of the task + */ + finalizeTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.finalized` property to true + * 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. + * @param _id Id of the task + */ + "finalizeTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.status` property to `1`. + * 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`. + * @param _id Id of the task + */ + cancelTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.status` property to `1`. + * 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`. + * @param _id Id of the task + */ + "cancelTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + */ + completeTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + */ + "completeTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a task with id `_id` + * @param _id Id of the task + */ + getTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + string, + number, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber[] + ] & { + specificationHash: string; + deliverableHash: string; + status: number; + dueDate: BigNumber; + fundingPotId: BigNumber; + completionTimestamp: BigNumber; + domainId: BigNumber; + skillIds: BigNumber[]; + } + >; + + /** + * Get a task with id `_id` + * @param _id Id of the task + */ + "getTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + string, + number, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber[] + ] & { + specificationHash: string; + deliverableHash: string; + status: number; + dueDate: BigNumber; + fundingPotId: BigNumber; + completionTimestamp: BigNumber; + domainId: BigNumber; + skillIds: BigNumber[]; + } + >; + + /** + * Get the `Role` properties back for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + getTaskRole( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, number] & { + user: string; + rateFail: boolean; + rating: number; + } + >; + + /** + * Get the `Role` properties back for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + "getTaskRole(uint256,uint8)"( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, number] & { + user: string; + rateFail: boolean; + rating: number; + } + >; + + /** + * Set the reward inverse to pay out from revenue. e.g. if the fee is 1% (or 0.01), set 100. + * @param _rewardInverse The inverse of the reward + */ + setRewardInverse( + _rewardInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the reward inverse to pay out from revenue. e.g. if the fee is 1% (or 0.01), set 100. + * @param _rewardInverse The inverse of the reward + */ + "setRewardInverse(uint256)"( + _rewardInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return 1 / the reward to pay out from revenue. e.g. if the fee is 1% (or 0.01), return 100. + */ + getRewardInverse(overrides?: TransactionOverrides): Promise; + + /** + * Return 1 / the reward to pay out from revenue. e.g. if the fee is 1% (or 0.01), return 100. + */ + "getRewardInverse()"(overrides?: TransactionOverrides): Promise; + + /** + * Get payout amount in `_token` denomination for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + getTaskPayout( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get payout amount in `_token` denomination for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getTaskPayout(uint256,uint8,address)"( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for manager in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskManagerPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for manager in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskManagerPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for evaluator in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskEvaluatorPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for evaluator in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskEvaluatorPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for worker in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskWorkerPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for worker in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskWorkerPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only call if evaluator and worker are unassigned or manager, otherwise need signature. + * Set `_token` payout for all roles in task `_id` to the respective amounts. + * @param _evaluatorAmount Payout amount for evaluator + * @param _id Id of the task + * @param _managerAmount Payout amount for manager + * @param _token Address of the token, `0x0` value indicates Ether + * @param _workerAmount Payout amount for worker + */ + setAllTaskPayouts( + _id: BigNumberish, + _token: string, + _managerAmount: BigNumberish, + _evaluatorAmount: BigNumberish, + _workerAmount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only call if evaluator and worker are unassigned or manager, otherwise need signature. + * Set `_token` payout for all roles in task `_id` to the respective amounts. + * @param _evaluatorAmount Payout amount for evaluator + * @param _id Id of the task + * @param _managerAmount Payout amount for manager + * @param _token Address of the token, `0x0` value indicates Ether + * @param _workerAmount Payout amount for worker + */ + "setAllTaskPayouts(uint256,address,uint256,uint256,uint256)"( + _id: BigNumberish, + _token: string, + _managerAmount: BigNumberish, + _evaluatorAmount: BigNumberish, + _workerAmount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimTaskPayout( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimTaskPayout(uint256,uint8,address)"( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * @param _token Address of the token used for reward payout + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + startNextRewardPayout( + _token: string, + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * @param _token Address of the token used for reward payout + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + "startNextRewardPayout(address,bytes,bytes,uint256,bytes32[])"( + _token: string, + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + * @param _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. + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + claimRewardPayout( + _payoutId: BigNumberish, + _squareRoots: BigNumberish[], + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + * @param _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. + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + "claimRewardPayout(uint256,uint256[7],bytes,bytes,uint256,bytes32[])"( + _payoutId: BigNumberish, + _squareRoots: BigNumberish[], + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Get useful information about specific reward payout. + * @param _payoutId Id of the reward payout + */ + getRewardPayoutInfo( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + BigNumber, + BigNumber, + BigNumber, + string, + BigNumber, + BigNumber, + boolean + ] & { + reputationState: string; + colonyWideReputation: BigNumber; + totalTokens: BigNumber; + amount: BigNumber; + tokenAddress: string; + blockTimestamp: BigNumber; + amountRemaining: BigNumber; + finalized: boolean; + } + >; + + /** + * Get useful information about specific reward payout. + * @param _payoutId Id of the reward payout + */ + "getRewardPayoutInfo(uint256)"( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + BigNumber, + BigNumber, + BigNumber, + string, + BigNumber, + BigNumber, + boolean + ] & { + reputationState: string; + colonyWideReputation: BigNumber; + totalTokens: BigNumber; + amount: BigNumber; + tokenAddress: string; + blockTimestamp: BigNumber; + amountRemaining: BigNumber; + finalized: boolean; + } + >; + + /** + * 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. + * @param _payoutId Id of the reward payout + */ + finalizeRewardPayout( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + */ + "finalizeRewardPayout(uint256)"( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the reward funding pot (e.g. id: 0) this returns (0, 0, 0). + * Get the non-mapping properties of a pot by id. + * @param _id Id of the pot which details to get + */ + getFundingPot( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, BigNumber, BigNumber] & { + associatedType: number; + associatedTypeId: BigNumber; + payoutsWeCannotMake: BigNumber; + } + >; + + /** + * For the reward funding pot (e.g. id: 0) this returns (0, 0, 0). + * Get the non-mapping properties of a pot by id. + * @param _id Id of the pot which details to get + */ + "getFundingPot(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, BigNumber, BigNumber] & { + associatedType: number; + associatedTypeId: BigNumber; + payoutsWeCannotMake: BigNumber; + } + >; + + /** + * Get the number of funding pots in the colony. + */ + getFundingPotCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of funding pots in the colony. + */ + "getFundingPotCount()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `_token` balance of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + getFundingPotBalance( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `_token` balance of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getFundingPotBalance(uint256,address)"( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the assigned `_token` payouts of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + getFundingPotPayout( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the assigned `_token` payouts of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getFundingPotPayout(uint256,address)"( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Move a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _childSkillIndex The child index in _permissionDomainId where I will be taking this action + * @param _domainId The domain where I am taking this action, pointed to by _permissionDomainId and _childSkillIndex + * @param _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 + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The same, but for the _toPot which the funds are being moved to + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + moveFundsBetweenPots( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Move a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _childSkillIndex The child index in _permissionDomainId where I will be taking this action + * @param _domainId The domain where I am taking this action, pointed to by _permissionDomainId and _childSkillIndex + * @param _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 + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The same, but for the _toPot which the funds are being moved to + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedMove a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _fromChildSkillIndex The child index in `_permissionDomainId` where we can find the domain for `_fromPotId` + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The child index in `_permissionDomainId` where we can find the domain for `_toPotId` + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimColonyFunds( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimColonyFunds(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the total amount of tokens `_token` minus amount reserved to be paid to the reputation and token holders as rewards. + * @param _token Address of the token, `0x0` value indicates Ether + */ + getNonRewardPotsTotal( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the total amount of tokens `_token` minus amount reserved to be paid to the reputation and token holders as rewards. + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getNonRewardPotsTotal(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Allow the _approvee to obligate some amount of tokens as a stake. + * @param _amount Amount of internal token up to which we are willing to be obligated. + * @param _approvee Address of the account we are willing to let obligate us. + * @param _domainId Domain in which we are willing to be obligated. + */ + approveStake( + _approvee: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Allow the _approvee to obligate some amount of tokens as a stake. + * @param _amount Amount of internal token up to which we are willing to be obligated. + * @param _approvee Address of the account we are willing to let obligate us. + * @param _domainId Domain in which we are willing to be obligated. + */ + "approveStake(address,uint256,uint256)"( + _approvee: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Obligate the user some amount of tokens as a stake. + * @param _amount Amount of internal token we are obligating. + * @param _domainId Domain in which we are obligating the user. + * @param _user Address of the account we are obligating. + */ + obligateStake( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Obligate the user some amount of tokens as a stake. + * @param _amount Amount of internal token we are obligating. + * @param _domainId Domain in which we are obligating the user. + * @param _user Address of the account we are obligating. + */ + "obligateStake(address,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deobligate the user some amount of tokens, releasing the stake. + * @param _amount Amount of internal token we are deobligating. + * @param _domainId Domain in which we are deobligating the user. + * @param _user Address of the account we are deobligating. + */ + deobligateStake( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deobligate the user some amount of tokens, releasing the stake. + * @param _amount Amount of internal token we are deobligating. + * @param _domainId Domain in which we are deobligating the user. + * @param _user Address of the account we are deobligating. + */ + "deobligateStake(address,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Transfer some amount of obligated tokens. Can be called by the arbitration role. + * @param _amount Amount of internal token we are transferring. + * @param _childSkillIndex The child index in `_permissionDomainId` where we can find `_domainId`. + * @param _domainId Domain in which we are transferring the tokens. + * @param _obligator Address of the account who set the obligation. + * @param _permissionDomainId The domainId in which I have the permission to take this action. + * @param _recipient Recipient of the transferred tokens. + * @param _user Address of the account we are transferring. + */ + transferStake( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _obligator: string, + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Transfer some amount of obligated tokens. Can be called by the arbitration role. + * @param _amount Amount of internal token we are transferring. + * @param _childSkillIndex The child index in `_permissionDomainId` where we can find `_domainId`. + * @param _domainId Domain in which we are transferring the tokens. + * @param _obligator Address of the account who set the obligation. + * @param _permissionDomainId The domainId in which I have the permission to take this action. + * @param _recipient Recipient of the transferred tokens. + * @param _user Address of the account we are transferring. + */ + "transferStake(uint256,uint256,address,address,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _obligator: string, + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an approval to obligate tokens. + * @param _domainId Domain in which we are willing to be obligated. + * @param _obligator Address of the account we are willing to let obligate us. + * @param _user User allowing their tokens to be obligated. + */ + getApproval( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an approval to obligate tokens. + * @param _domainId Domain in which we are willing to be obligated. + * @param _obligator Address of the account we are willing to let obligate us. + * @param _user User allowing their tokens to be obligated. + */ + "getApproval(address,address,uint256)"( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an obligation of tokens. + * @param _domainId Domain in which we are obligated. + * @param _obligator Address of the account who obligated us. + * @param _user User whose tokens are obligated. + */ + getObligation( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an obligation of tokens. + * @param _domainId Domain in which we are obligated. + * @param _obligator Address of the account who obligated us. + * @param _user User whose tokens are obligated. + */ + "getObligation(address,address,uint256)"( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the domain corresponding to a funding pot + * @param _fundingPotId Id of the funding pot + */ + getDomainFromFundingPot( + _fundingPotId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the domain corresponding to a funding pot + * @param _fundingPotId Id of the funding pot + */ + "getDomainFromFundingPot(uint256)"( + _fundingPotId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Burn tokens held by the colony. Can only burn tokens held in the root funding pot. + * @param amount The amount of tokens to burn + * @param token The address of the token to burn + */ + burnTokens( + token: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Burn tokens held by the colony. Can only burn tokens held in the root funding pot. + * @param amount The amount of tokens to burn + * @param token The address of the token to burn + */ + "burnTokens(address,uint256)"( + token: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * unlock the native colony token, if possible + */ + unlockToken(overrides?: TransactionOverrides): Promise; + + /** + * unlock the native colony token, if possible + */ + "unlockToken()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the internal bookkeeping around external ERC20 approvals + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + updateApprovalAmount( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the internal bookkeeping around external ERC20 approvals + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + "updateApprovalAmount(address,address)"( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current approval amount + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + getTokenApproval( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current approval amount + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + "getTokenApproval(address,address)"( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current total approval amount across all spenders + * @param token The address of the token which was approved + */ + getTotalTokenApproval( + token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current total approval amount across all spenders + * @param token The address of the token which was approved + */ + "getTotalTokenApproval(address)"( + token: string, + overrides?: TransactionOverrides + ): Promise; + }; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + approveExitRecovery( + overrides?: TransactionOverrides + ): Promise; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + "approveExitRecovery()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + checkNotAdditionalProtectedVariable( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + "checkNotAdditionalProtectedVariable(uint256)"( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + enterRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + "enterRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + executeMetaTransaction( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + exitRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + "exitRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Is colony network in recovery mode. + */ + isInRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Is colony network in recovery mode. + */ + "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Return number of recovery roles. + */ + numRecoveryRoles(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + "numRecoveryRoles()"(overrides?: TransactionOverrides): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + removeRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + "removeRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + setRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + "setRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + setStorageSlotRecovery( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + "setStorageSlotRecovery(uint256,bytes32)"( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyAuthority` for the colony. + */ + authority(overrides?: TransactionOverrides): Promise; + + /** + * Get the `ColonyAuthority` for the colony. + */ + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Used for testing. + * Get the colony `owner` address. This should be address(0x0) at all times. + */ + owner(overrides?: TransactionOverrides): Promise; + + /** + * Used for testing. + * Get the colony `owner` address. This should be address(0x0) at all times. + */ + "owner()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the Colony contract version. Starts from 1 and is incremented with every deployed contract change. + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Get the Colony contract version. Starts from 1 and is incremented with every deployed contract change. + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Downgrades are not allowed, i.e. `_newVersion` should be higher than the currect colony version. + * Upgrades a colony to a new Colony contract version `_newVersion`. + * @param _newVersion The target version for the upgrade + */ + upgrade( + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Downgrades are not allowed, i.e. `_newVersion` should be higher than the currect colony version. + * Upgrades a colony to a new Colony contract version `_newVersion`. + * @param _newVersion The target version for the upgrade + */ + "upgrade(uint256)"( + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * A function to be called after an upgrade has been done from v2 to v3. + */ + finishUpgrade(overrides?: TransactionOverrides): Promise; + + /** + * 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. + * A function to be called after an upgrade has been done from v2 to v3. + */ + "finishUpgrade()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * The colonyNetworkAddress we read here is set once, during `initialiseColony`. + * Returns the colony network address set on the Colony. + */ + getColonyNetwork(overrides?: TransactionOverrides): Promise; + + /** + * The colonyNetworkAddress we read here is set once, during `initialiseColony`. + * Returns the colony network address set on the Colony. + */ + "getColonyNetwork()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the colony token. + */ + getToken(overrides?: TransactionOverrides): Promise; + + /** + * Get the colony token. + */ + "getToken()"(overrides?: TransactionOverrides): Promise; + + /** + * @deprecatedExecute arbitrary transaction on behalf of the Colony + * @param _action Bytes array encoding the function call and arguments + * @param _to Contract to receive the function call (cannot be this contract, network or token locking) + */ + makeArbitraryTransaction( + _to: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedExecute arbitrary transaction on behalf of the Colony + * @param _action Bytes array encoding the function call and arguments + * @param _to Contract to receive the function call (cannot be this contract, network or token locking) + */ + "makeArbitraryTransaction(address,bytes)"( + _to: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Execute arbitrary transactions on behalf of the Colony in series + * @param _actions Array of Bytes arrays encoding the function calls and arguments + * @param _strict Boolean indicating whether if one transaction fails, the whole call to this function should fail. + * @param _targets Array of addressed to be targeted + */ + makeArbitraryTransactions( + _targets: string[], + _actions: Arrayish[], + _strict: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Execute arbitrary transactions on behalf of the Colony in series + * @param _actions Array of Bytes arrays encoding the function calls and arguments + * @param _strict Boolean indicating whether if one transaction fails, the whole call to this function should fail. + * @param _targets Array of addressed to be targeted + */ + "makeArbitraryTransactions(address[],bytes[],bool)"( + _targets: string[], + _actions: Arrayish[], + _strict: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the colony itself. If you wish to use this functionality, you should use the makeAbitraryTransactions function + * Executes a single arbitrary transaction + * @param _action Bytes array encoding the function call and arguments + * @param _target Contract to receive the function call + */ + makeSingleArbitraryTransaction( + _target: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the colony itself. If you wish to use this functionality, you should use the makeAbitraryTransactions function + * Executes a single arbitrary transaction + * @param _action Bytes array encoding the function call and arguments + * @param _target Contract to receive the function call + */ + "makeSingleArbitraryTransaction(address,bytes)"( + _target: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a metadata string for a transaction + * @param _metadata String of metadata for tx + * @param _txHash Hash of transaction being annotated (0x0 for current tx) + */ + annotateTransaction( + _txHash: Arrayish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a metadata string for a transaction + * @param _metadata String of metadata for tx + * @param _txHash Hash of transaction being annotated (0x0 for current tx) + */ + "annotateTransaction(bytes32,string)"( + _txHash: Arrayish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony root role. Can be called by root role only. + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an root role to + */ + setRootRole( + _user: string, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony root role. Can be called by root role only. + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an root role to + */ + "setRootRole(address,bool)"( + _user: string, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony arbitration role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an arbitration role to + */ + setArbitrationRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony arbitration role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an arbitration role to + */ + "setArbitrationRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony architecture role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an architecture role to + */ + setArchitectureRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony architecture role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an architecture role to + */ + "setArchitectureRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony funding role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an funding role to + */ + setFundingRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony funding role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an funding role to + */ + "setFundingRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony admin role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an admin role to + */ + setAdministrationRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony admin role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an admin role to + */ + "setAdministrationRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set several roles in one transaction. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _roles Byte array representing the desired role setting (1 for on, 0 for off) + * @param _user User we want to give a role to + */ + setUserRoles( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _roles: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set several roles in one transaction. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _roles Byte array representing the desired role setting (1 for on, 0 for off) + * @param _user User we want to give a role to + */ + "setUserRoles(uint256,uint256,address,uint256,bytes32)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _roles: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _domainId The domain where we want to check for the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + hasUserRole( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _domainId The domain where we want to check for the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + "hasUserRole(address,uint256,uint8)"( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 inheritance validator function + * @param _childDomainId The domain where we want to use the role + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + hasInheritedUserRole( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 inheritance validator function + * @param _childDomainId The domain where we want to use the role + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + "hasInheritedUserRole(address,uint256,uint8,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _childDomainId The domain where we want to edit roles + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role (currently Root or Architecture) + * @param _user The user whose permissions we want to check + */ + userCanSetRoles( + _user: string, + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _childDomainId The domain where we want to edit roles + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role (currently Root or Architecture) + * @param _user The user whose permissions we want to check + */ + "userCanSetRoles(address,uint256,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles for a user in a given domain + * @param _domain The domain we want to get roles in + * @param _user The user whose roles we want to get + */ + getUserRoles( + _user: string, + _domain: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles for a user in a given domain + * @param _domain The domain we want to get roles in + * @param _user The user whose roles we want to get + */ + "getUserRoles(address,uint256)"( + _user: string, + _domain: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles authorized to call a function + * @param _sig The function signature + */ + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles authorized to call a function + * @param _sig The function signature + */ + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive domain reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _domainId The domain where the user will gain reputation + * @param _user The user who will gain reputation + */ + emitDomainReputationReward( + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive domain reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _domainId The domain where the user will gain reputation + * @param _user The user who will gain reputation + */ + "emitDomainReputationReward(uint256,address,int256)"( + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive skill reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _skillId The skill where the user will gain reputation + * @param _user The user who will gain reputation + */ + emitSkillReputationReward( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive skill reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _skillId The skill where the user will gain reputation + * @param _user The user who will gain reputation + */ + "emitSkillReputationReward(uint256,address,int256)"( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative domain reputation update. Available only to Arbitration role holders + * @param _amount The (negative) amount of reputation to lose + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the user will lose reputation + * @param _permissionDomainId The domainId in which I hold the Arbitration role + * @param _user The user who will lose reputation + */ + emitDomainReputationPenalty( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative domain reputation update. Available only to Arbitration role holders + * @param _amount The (negative) amount of reputation to lose + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the user will lose reputation + * @param _permissionDomainId The domainId in which I hold the Arbitration role + * @param _user The user who will lose reputation + */ + "emitDomainReputationPenalty(uint256,uint256,uint256,address,int256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative skill reputation update. Available only to Arbitration role holders in the root domain + * @param _amount The (negative) amount of reputation to lose + * @param _skillId The skill where the user will lose reputation + * @param _user The user who will lose reputation + */ + emitSkillReputationPenalty( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative skill reputation update. Available only to Arbitration role holders in the root domain + * @param _amount The (negative) amount of reputation to lose + * @param _skillId The skill where the user will lose reputation + * @param _user The user who will lose reputation + */ + "emitSkillReputationPenalty(uint256,address,int256)"( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the reward inverse to the uint max 2**256 - 1. + * Called once when the colony is created to initialise certain storage slot values. + * @param _colonyNetworkAddress Address of the colony network + * @param _token Address of the colony ERC20 Token + */ + initialiseColony( + _colonyNetworkAddress: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the reward inverse to the uint max 2**256 - 1. + * Called once when the colony is created to initialise certain storage slot values. + * @param _colonyNetworkAddress Address of the colony network + * @param _token Address of the colony ERC20 Token + */ + "initialiseColony(address,address)"( + _colonyNetworkAddress: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _metadata IPFS hash of the metadata + */ + editColony( + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _metadata IPFS hash of the metadata + */ + "editColony(string)"( + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to change the metadata associated with a colony. Expected to be a IPFS hash of a delta to a JSON blob, but not enforced to any degree by the contracts + * @param _metadataDelta IPFS hash of the metadata delta + */ + editColonyByDelta( + _metadataDelta: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to change the metadata associated with a colony. Expected to be a IPFS hash of a delta to a JSON blob, but not enforced to any degree by the contracts + * @param _metadataDelta IPFS hash of the metadata delta + */ + "editColonyByDelta(string)"( + _metadataDelta: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be called when `taskCount` is `0` by authorized addresses. + * 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. + * @param _amount Amount of reputation/tokens for every address + * @param _users Array of address to bootstrap with reputation + */ + bootstrapColony( + _users: string[], + _amount: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be called when `taskCount` is `0` by authorized addresses. + * 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. + * @param _amount Amount of reputation/tokens for every address + * @param _users Array of address to bootstrap with reputation + */ + "bootstrapColony(address[],int256[])"( + _users: string[], + _amount: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens. Secured function to authorised members. + * @param _wad Amount to mint + */ + mintTokens( + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens. Secured function to authorised members. + * @param _wad Amount to mint + */ + "mintTokens(uint256)"( + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens and send to `_guy`. Secured function to authorised members. + * @param _guy Recipient of new tokens + * @param _wad Amount to mint + */ + mintTokensFor( + _guy: string, + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens and send to `_guy`. Secured function to authorised members. + * @param _guy Recipient of new tokens + * @param _wad Amount to mint + */ + "mintTokensFor(address,uint256)"( + _guy: string, + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Lock the colony's token. Can only be called by a network-managed extension. + */ + lockToken(overrides?: TransactionOverrides): Promise; + + /** + * Lock the colony's token. Can only be called by a network-managed extension. + */ + "lockToken()"(overrides?: TransactionOverrides): Promise; + + /** + * Unlock the colony's token for a user. Can only be called by a network-managed extension. + * @param lockId The specific lock to unlock + * @param user The user to unlock + */ + unlockTokenForUser( + user: string, + lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unlock the colony's token for a user. Can only be called by a network-managed extension. + * @param lockId The specific lock to unlock + * @param user The user to unlock + */ + "unlockTokenForUser(address,uint256)"( + user: string, + lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register colony's ENS label. + * @param colonyName The label to register. + * @param orbitdb The path of the orbitDB database associated with the colony name + */ + registerColonyLabel( + colonyName: string, + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register colony's ENS label. + * @param colonyName The label to register. + * @param orbitdb The path of the orbitDB database associated with the colony name + */ + "registerColonyLabel(string,string)"( + colonyName: string, + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param orbitdb The path of the orbitDB database to be associated with the colony + */ + updateColonyOrbitDB( + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param orbitdb The path of the orbitDB database to be associated with the colony + */ + "updateColonyOrbitDB(string)"( + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension to the colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param version The new extension version to install + */ + installExtension( + extensionId: Arrayish, + version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension to the colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param version The new extension version to install + */ + "installExtension(bytes32,uint256)"( + extensionId: Arrayish, + version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param newVersion The version to upgrade to (must be one larger than the current version) + */ + upgradeExtension( + extensionId: Arrayish, + newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param newVersion The version to upgrade to (must be one larger than the current version) + */ + "upgradeExtension(bytes32,uint256)"( + extensionId: Arrayish, + newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Secured function to authorised members. + * @param deprecated Whether to deprecate the extension or not + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + deprecateExtension( + extensionId: Arrayish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Secured function to authorised members. + * @param deprecated Whether to deprecate the extension or not + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + "deprecateExtension(bytes32,bool)"( + extensionId: Arrayish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * Uninstall an extension from a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + uninstallExtension( + extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * Uninstall an extension from a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + "uninstallExtension(bytes32)"( + extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skill tree for the colony. + */ + initialiseRootLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skill tree for the colony. + */ + "initialiseRootLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new local skill for the colony. Secured function to authorised members. + */ + addLocalSkill(overrides?: TransactionOverrides): Promise; + + /** + * Add a new local skill for the colony. Secured function to authorised members. + */ + "addLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a local skill for the colony. Secured function to authorised members. + * @param deprecated Deprecation status to set for the skill + * @param localSkillId Id for the local skill + */ + deprecateLocalSkill( + localSkillId: BigNumberish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a local skill for the colony. Secured function to authorised members. + * @param deprecated Deprecation status to set for the skill + * @param localSkillId Id for the local skill + */ + "deprecateLocalSkill(uint256,bool)"( + localSkillId: BigNumberish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the root local skill id + */ + getRootLocalSkill(overrides?: TransactionOverrides): Promise; + + /** + * Get the root local skill id + */ + "getRootLocalSkill()"(overrides?: TransactionOverrides): Promise; + + /** + * Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + addDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "addDomain(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "addDomain(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Id of the domain being edited + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + editDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Id of the domain being edited + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "editDomain(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a domain, preventing certain actions from happening there + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _deprecated Whether or not the domain is deprecated + * @param _domainId Id of the domain being deprecated + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + deprecateDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a domain, preventing certain actions from happening there + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _deprecated Whether or not the domain is deprecated + * @param _domainId Id of the domain being deprecated + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "deprecateDomain(uint256,uint256,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a domain by id. + * @param _id Id of the domain which details to get + */ + getDomain( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { skillId: BigNumber; fundingPotId: BigNumber } + >; + + /** + * Get a domain by id. + * @param _id Id of the domain which details to get + */ + "getDomain(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { skillId: BigNumber; fundingPotId: BigNumber } + >; + + /** + * Get the number of domains in the colony. + */ + getDomainCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of domains in the colony. + */ + "getDomainCount()"(overrides?: TransactionOverrides): Promise; + + /** + * 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. + * Helper function that can be used by a client to verify the correctness of a patricia proof they have been supplied with. + * @param branchMask The branchmask of the proof + * @param key The key of the element the proof is for. + * @param siblings The siblings of the proof + * @param value The value of the element that the proof is for. + */ + verifyReputationProof( + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Helper function that can be used by a client to verify the correctness of a patricia proof they have been supplied with. + * @param branchMask The branchmask of the proof + * @param key The key of the element the proof is for. + * @param siblings The siblings of the proof + * @param value The value of the element that the proof is for. + */ + "verifyReputationProof(bytes,bytes,uint256,bytes32[])"( + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the default global claim delay for expenditures + * @param _globalClaimDelay The new default global claim delay + */ + setDefaultGlobalClaimDelay( + _globalClaimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the default global claim delay for expenditures + * @param _globalClaimDelay The new default global claim delay + */ + "setDefaultGlobalClaimDelay(uint256)"( + _globalClaimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new expenditure in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the expenditure belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + makeExpenditure( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new expenditure in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the expenditure belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "makeExpenditure(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Updates the expenditure owner. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + */ + transferExpenditure( + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Updates the expenditure owner. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + */ + "transferExpenditure(uint256,address)"( + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future version + * @deprecatedUpdates the expenditure owner. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + transferExpenditureViaArbitration( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future version + * @deprecatedUpdates the expenditure owner. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "transferExpenditureViaArbitration(uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Cancels the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + cancelExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Cancels the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "cancelExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Locks the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + lockExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Locks the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "lockExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the expenditure and allows for funds to be claimed. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + finalizeExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the expenditure and allows for funds to be claimed. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "finalizeExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the metadata for an expenditure. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + setExpenditureMetadata( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the metadata for an expenditure. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "setExpenditureMetadata(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the metadata for an expenditure. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + */ + "setExpenditureMetadata(uint256,string)"( + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSets the recipient on an expenditure slot. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipient Address of the recipient + * @param _slot Slot for the recipient address + */ + setExpenditureRecipient( + _id: BigNumberish, + _slot: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSets the recipient on an expenditure slot. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipient Address of the recipient + * @param _slot Slot for the recipient address + */ + "setExpenditureRecipient(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the recipients in given expenditure slots. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipients Addresses of the recipients + * @param _slots Array of slots to set recipients + */ + setExpenditureRecipients( + _id: BigNumberish, + _slots: BigNumberish[], + _recipients: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the recipients in given expenditure slots. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipients Addresses of the recipients + * @param _slots Array of slots to set recipients + */ + "setExpenditureRecipients(uint256,uint256[],address[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _recipients: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Set the token payouts in given expenditure slots. Can only be called by expenditure owner. + * @param _amounts Payout amounts + * @param _id Id of the expenditure + * @param _slots Array of slots to set payouts + * @param _token Address of the token, `0x0` value indicates Ether + */ + setExpenditurePayouts( + _id: BigNumberish, + _slots: BigNumberish[], + _token: string, + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Set the token payouts in given expenditure slots. Can only be called by expenditure owner. + * @param _amounts Payout amounts + * @param _id Id of the expenditure + * @param _slots Array of slots to set payouts + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayouts(uint256,uint256[],address,uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _token: string, + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSet the token payout on an expenditure slot. Can only be called by expenditure owner. + * @param _amount Payout amount + * @param _id Id of the expenditure + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + setExpenditurePayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSet the token payout on an expenditure slot. Can only be called by expenditure owner. + * @param _amount Payout amount + * @param _id Id of the expenditure + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayout(uint256,uint256,address,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the token payout in a given expenditure slot. Can only be called by an Arbitration user. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _slot The slot to set the payout + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayout(uint256,uint256,uint256,uint256,address,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillId Id of the new skill to set + * @param _slot Number of the slot + */ + setExpenditureSkill( + _id: BigNumberish, + _slot: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillId Id of the new skill to set + * @param _slot Number of the slot + */ + "setExpenditureSkill(uint256,uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillIds Ids of the new skills to set + * @param _slots Array of slots to set skills + */ + setExpenditureSkills( + _id: BigNumberish, + _slots: BigNumberish[], + _skillIds: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillIds Ids of the new skills to set + * @param _slots Array of slots to set skills + */ + "setExpenditureSkills(uint256,uint256[],uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _skillIds: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the claim delay on an expenditure slot. Can only be called by expenditure owner. + * @param _claimDelay Duration of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slot Number of the slot + */ + setExpenditureClaimDelay( + _id: BigNumberish, + _slot: BigNumberish, + _claimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the claim delay on an expenditure slot. Can only be called by expenditure owner. + * @param _claimDelay Duration of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slot Number of the slot + */ + "setExpenditureClaimDelay(uint256,uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _claimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the claim delays in given expenditure slots. Can only be called by expenditure owner. + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slots Array of slots to set claim delays + */ + setExpenditureClaimDelays( + _id: BigNumberish, + _slots: BigNumberish[], + _claimDelays: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the claim delays in given expenditure slots. Can only be called by expenditure owner. + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slots Array of slots to set claim delays + */ + "setExpenditureClaimDelays(uint256,uint256[],uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _claimDelays: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout modifiers in given expenditure slots. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _slots Array of slots to set payout modifiers + */ + setExpenditurePayoutModifiers( + _id: BigNumberish, + _slots: BigNumberish[], + _payoutModifiers: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout modifiers in given expenditure slots. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _slots Array of slots to set payout modifiers + */ + "setExpenditurePayoutModifiers(uint256,uint256[],int256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _payoutModifiers: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set many values of an expenditure simultaneously. Can only be called by expenditure owner. + * @param _claimDelaySlots Array of slots to set claim delays + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _payoutModifierSlots Array of slots to set payout modifiers + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _payoutSlots 2-dimensional array of slots to set payouts + * @param _payoutTokens Addresses of the tokens, `0x0` value indicates Ether + * @param _payoutValues 2-dimensional array of the payout amounts + * @param _recipientSlots Array of slots to set recipients + * @param _recipients Addresses of the recipients + * @param _skillIdSlots Array of slots to set skills + * @param _skillIds Ids of the new skills to set + */ + setExpenditureValues( + _id: BigNumberish, + _recipientSlots: BigNumberish[], + _recipients: string[], + _skillIdSlots: BigNumberish[], + _skillIds: BigNumberish[], + _claimDelaySlots: BigNumberish[], + _claimDelays: BigNumberish[], + _payoutModifierSlots: BigNumberish[], + _payoutModifiers: BigNumberish[], + _payoutTokens: string[], + _payoutSlots: BigNumberish[][], + _payoutValues: BigNumberish[][], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set many values of an expenditure simultaneously. Can only be called by expenditure owner. + * @param _claimDelaySlots Array of slots to set claim delays + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _payoutModifierSlots Array of slots to set payout modifiers + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _payoutSlots 2-dimensional array of slots to set payouts + * @param _payoutTokens Addresses of the tokens, `0x0` value indicates Ether + * @param _payoutValues 2-dimensional array of the payout amounts + * @param _recipientSlots Array of slots to set recipients + * @param _recipients Addresses of the recipients + * @param _skillIdSlots Array of slots to set skills + * @param _skillIds Ids of the new skills to set + */ + "setExpenditureValues(uint256,uint256[],address[],uint256[],uint256[],uint256[],uint256[],uint256[],int256[],address[],uint256[][],uint256[][])"( + _id: BigNumberish, + _recipientSlots: BigNumberish[], + _recipients: string[], + _skillIdSlots: BigNumberish[], + _skillIds: BigNumberish[], + _claimDelaySlots: BigNumberish[], + _claimDelays: BigNumberish[], + _payoutModifierSlots: BigNumberish[], + _payoutModifiers: BigNumberish[], + _payoutTokens: string[], + _payoutSlots: BigNumberish[][], + _payoutValues: BigNumberish[][], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set arbitrary state on an expenditure slot. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _keys Array of additional keys (for mappings & arrays) + * @param _mask Array of booleans indicated whether a key is a mapping (F) or an array index (T). + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _storageSlot Number of the top-level storage slot (25, 26, or 27) + * @param _value Value to set at location + */ + setExpenditureState( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _storageSlot: BigNumberish, + _mask: boolean[], + _keys: Arrayish[], + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set arbitrary state on an expenditure slot. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _keys Array of additional keys (for mappings & arrays) + * @param _mask Array of booleans indicated whether a key is a mapping (F) or an array index (T). + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _storageSlot Number of the top-level storage slot (25, 26, or 27) + * @param _value Value to set at location + */ + "setExpenditureState(uint256,uint256,uint256,uint256,bool[],bytes32[],bytes32)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _storageSlot: BigNumberish, + _mask: boolean[], + _keys: Arrayish[], + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Claim the payout for an expenditure slot. Here the network receives a fee from each payout. + * @param _id Expenditure identifier + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimExpenditurePayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Claim the payout for an expenditure slot. Here the network receives a fee from each payout. + * @param _id Expenditure identifier + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimExpenditurePayout(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of expenditures in the colony. + */ + getExpenditureCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of expenditures in the colony. + */ + "getExpenditureCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Returns an existing expenditure. + * @param _id Expenditure identifier + */ + getExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, string, BigNumber, BigNumber, BigNumber, BigNumber] & { + status: number; + owner: string; + fundingPotId: BigNumber; + domainId: BigNumber; + finalizedTimestamp: BigNumber; + globalClaimDelay: BigNumber; + } + >; + + /** + * Returns an existing expenditure. + * @param _id Expenditure identifier + */ + "getExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, string, BigNumber, BigNumber, BigNumber, BigNumber] & { + status: number; + owner: string; + fundingPotId: BigNumber; + domainId: BigNumber; + finalizedTimestamp: BigNumber; + globalClaimDelay: BigNumber; + } + >; + + /** + * Returns an existing expenditure slot. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + */ + getExpenditureSlot( + _id: BigNumberish, + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + claimDelay: BigNumber; + payoutModifier: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * Returns an existing expenditure slot. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + */ + "getExpenditureSlot(uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + claimDelay: BigNumber; + payoutModifier: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * Returns an existing expenditure slot's payout for a token. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + * @param _token Token address + */ + getExpenditureSlotPayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure slot's payout for a token. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + * @param _token Token address + */ + "getExpenditureSlotPayout(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new payment in the colony. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the payment belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + * @param _skillId The skill associated with the payment + * @param _token Address of the token, `0x0` value indicates Ether + */ + addPayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _recipient: string, + _token: string, + _amount: BigNumberish, + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new payment in the colony. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the payment belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + * @param _skillId The skill associated with the payment + * @param _token Address of the token, `0x0` value indicates Ether + */ + "addPayment(uint256,uint256,address,address,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _recipient: string, + _token: string, + _amount: BigNumberish, + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the payment and logs the reputation log updates. Allowed to be called once after payment is fully funded. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + finalizePayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the payment and logs the reputation log updates. Allowed to be called once after payment is fully funded. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "finalizePayment(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the recipient on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + */ + setPaymentRecipient( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the recipient on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + */ + "setPaymentRecipient(uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId Id of the new skill to set + */ + setPaymentSkill( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId Id of the new skill to set + */ + "setPaymentSkill(uint256,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout for a given token on an existing payment. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _token Address of the token, `0x0` value indicates Ether + */ + setPaymentPayout( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout for a given token on an existing payment. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setPaymentPayout(uint256,uint256,uint256,address,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an exiting payment. + * @param _id Payment identifier + */ + getPayment( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + finalized: boolean; + fundingPotId: BigNumber; + domainId: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * Returns an exiting payment. + * @param _id Payment identifier + */ + "getPayment(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, BigNumber, BigNumber, BigNumber[]] & { + recipient: string; + finalized: boolean; + fundingPotId: BigNumber; + domainId: BigNumber; + skills: BigNumber[]; + } + >; + + /** + * 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. + * @param _id Payment identifier + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimPayment( + _id: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Payment identifier + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimPayment(uint256,address)"( + _id: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of payments in the colony. + */ + getPaymentCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of payments in the colony. + */ + "getPaymentCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Make a new task in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the task belongs + * @param _dueDate The due date of the task, can set to `0` for no-op + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId The skill associated with the task, can set to `0` for no-op + * @param _specificationHash Database identifier where the task specification is stored + */ + makeTask( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _specificationHash: Arrayish, + _domainId: BigNumberish, + _skillId: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Make a new task in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the task belongs + * @param _dueDate The due date of the task, can set to `0` for no-op + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId The skill associated with the task, can set to `0` for no-op + * @param _specificationHash Database identifier where the task specification is stored + */ + "makeTask(uint256,uint256,bytes32,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _specificationHash: Arrayish, + _domainId: BigNumberish, + _skillId: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of tasks in the colony. + */ + getTaskCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tasks in the colony. + */ + "getTaskCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Starts from 0 and is incremented on every co-reviewed task change via `executeTaskChange` call. + * @param _id Id of the task + */ + getTaskChangeNonce( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts from 0 and is incremented on every co-reviewed task change via `executeTaskChange` call. + * @param _id Id of the task + */ + "getTaskChangeNonce(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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 + */ + executeTaskChange( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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 + */ + "executeTaskChange(uint8[],bytes32[],bytes32[],uint8[],uint256,bytes)"( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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)"( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _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. + * @param _role Id of the role, as defined in TaskRole enum + */ + submitTaskWorkRating( + _id: BigNumberish, + _role: BigNumberish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _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. + * @param _role Id of the role, as defined in TaskRole enum + */ + "submitTaskWorkRating(uint256,uint8,bytes32)"( + _id: BigNumberish, + _role: BigNumberish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * 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. + * @param _id Id of the task + * @param _rating 0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50) + * @param _role Id of the role, as defined in TaskRole enum + * @param _salt Salt value used to generate the rating secret + */ + revealTaskWorkRating( + _id: BigNumberish, + _role: BigNumberish, + _rating: BigNumberish, + _salt: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * 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. + * @param _id Id of the task + * @param _rating 0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50) + * @param _role Id of the role, as defined in TaskRole enum + * @param _salt Salt value used to generate the rating secret + */ + "revealTaskWorkRating(uint256,uint8,uint8,bytes32)"( + _id: BigNumberish, + _role: BigNumberish, + _rating: BigNumberish, + _salt: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Helper function used to generage consistently the rating secret using salt value `_salt` and value to hide `_value` + * @param _salt Salt value + * @param _value Value to hide + */ + generateSecret( + _salt: Arrayish, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Helper function used to generage consistently the rating secret using salt value `_salt` and value to hide `_value` + * @param _salt Salt value + * @param _value Value to hide + */ + "generateSecret(bytes32,uint256)"( + _salt: Arrayish, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyStorage.RatingSecrets` information for task `_id`. + * @param _id Id of the task + */ + getTaskWorkRatingSecretsInfo( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { nSecrets: BigNumber; lastSubmittedAt: BigNumber } + >; + + /** + * Get the `ColonyStorage.RatingSecrets` information for task `_id`. + * @param _id Id of the task + */ + "getTaskWorkRatingSecretsInfo(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { nSecrets: BigNumber; lastSubmittedAt: BigNumber } + >; + + /** + * Get the rating secret submitted for role `_role` in task `_id` + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + getTaskWorkRatingSecret( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the rating secret submitted for role `_role` in task `_id` + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + "getTaskWorkRatingSecret(uint256,uint8)"( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the task + * @param _permissionDomainId The domain ID in which _user has the Administration permission + * @param _user Address of the user we want to give a manager role to + */ + setTaskManagerRole( + _id: BigNumberish, + _user: string, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the task + * @param _permissionDomainId The domain ID in which _user has the Administration permission + * @param _user Address of the user we want to give a manager role to + */ + "setTaskManagerRole(uint256,address,uint256,uint256)"( + _id: BigNumberish, + _user: string, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a evaluator role to + */ + setTaskEvaluatorRole( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a evaluator role to + */ + "setTaskEvaluatorRole(uint256,address)"( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a worker role to + */ + setTaskWorkerRole( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a worker role to + */ + "setTaskWorkerRole(uint256,address)"( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing evaluator role. Agreed between manager and currently assigned evaluator. + * @param _id Id of the task + */ + removeTaskEvaluatorRole( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing evaluator role. Agreed between manager and currently assigned evaluator. + * @param _id Id of the task + */ + "removeTaskEvaluatorRole(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing worker role. Agreed between manager and currently assigned worker. + * @param _id Id of the task + */ + removeTaskWorkerRole( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing worker role. Agreed between manager and currently assigned worker. + * @param _id Id of the task + */ + "removeTaskWorkerRole(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Set the skill for task `_id`. + * @param _id Id of the task + * @param _skillId Id of the skill which has to be a global skill + */ + setTaskSkill( + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Set the skill for task `_id`. + * @param _id Id of the task + * @param _skillId Id of the skill which has to be a global skill + */ + "setTaskSkill(uint256,uint256)"( + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _specificationHash Unique hash of the task brief in ddb + */ + setTaskBrief( + _id: BigNumberish, + _specificationHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _specificationHash Unique hash of the task brief in ddb + */ + "setTaskBrief(uint256,bytes32)"( + _id: BigNumberish, + _specificationHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the due date on task `_id`. Allowed before a task is finalized. + * @param _dueDate Due date as seconds since unix epoch + * @param _id Id of the task + */ + setTaskDueDate( + _id: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the due date on task `_id`. Allowed before a task is finalized. + * @param _dueDate Due date as seconds since unix epoch + * @param _id Id of the task + */ + "setTaskDueDate(uint256,uint256)"( + _id: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.deliverableHash` and `task.completionTimestamp` properties. + * 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. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + */ + submitTaskDeliverable( + _id: BigNumberish, + _deliverableHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.deliverableHash` and `task.completionTimestamp` properties. + * 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. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + */ + "submitTaskDeliverable(uint256,bytes32)"( + _id: BigNumberish, + _deliverableHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Internally call `submitTaskDeliverable` and `submitTaskWorkRating` in sequence. + * Submit the task deliverable for Worker and rating for Manager. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + * @param _ratingSecret Rating secret for manager + */ + submitTaskDeliverableAndRating( + _id: BigNumberish, + _deliverableHash: Arrayish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Internally call `submitTaskDeliverable` and `submitTaskWorkRating` in sequence. + * Submit the task deliverable for Worker and rating for Manager. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + * @param _ratingSecret Rating secret for manager + */ + "submitTaskDeliverableAndRating(uint256,bytes32,bytes32)"( + _id: BigNumberish, + _deliverableHash: Arrayish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.finalized` property to true + * 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. + * @param _id Id of the task + */ + finalizeTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.finalized` property to true + * 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. + * @param _id Id of the task + */ + "finalizeTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.status` property to `1`. + * 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`. + * @param _id Id of the task + */ + cancelTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.status` property to `1`. + * 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`. + * @param _id Id of the task + */ + "cancelTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + */ + completeTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + */ + "completeTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a task with id `_id` + * @param _id Id of the task + */ + getTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + string, + number, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber[] + ] & { + specificationHash: string; + deliverableHash: string; + status: number; + dueDate: BigNumber; + fundingPotId: BigNumber; + completionTimestamp: BigNumber; + domainId: BigNumber; + skillIds: BigNumber[]; + } + >; + + /** + * Get a task with id `_id` + * @param _id Id of the task + */ + "getTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + string, + number, + BigNumber, + BigNumber, + BigNumber, + BigNumber, + BigNumber[] + ] & { + specificationHash: string; + deliverableHash: string; + status: number; + dueDate: BigNumber; + fundingPotId: BigNumber; + completionTimestamp: BigNumber; + domainId: BigNumber; + skillIds: BigNumber[]; + } + >; + + /** + * Get the `Role` properties back for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + getTaskRole( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, number] & { + user: string; + rateFail: boolean; + rating: number; + } + >; + + /** + * Get the `Role` properties back for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + "getTaskRole(uint256,uint8)"( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, boolean, number] & { + user: string; + rateFail: boolean; + rating: number; + } + >; + + /** + * Set the reward inverse to pay out from revenue. e.g. if the fee is 1% (or 0.01), set 100. + * @param _rewardInverse The inverse of the reward + */ + setRewardInverse( + _rewardInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the reward inverse to pay out from revenue. e.g. if the fee is 1% (or 0.01), set 100. + * @param _rewardInverse The inverse of the reward + */ + "setRewardInverse(uint256)"( + _rewardInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return 1 / the reward to pay out from revenue. e.g. if the fee is 1% (or 0.01), return 100. + */ + getRewardInverse(overrides?: TransactionOverrides): Promise; + + /** + * Return 1 / the reward to pay out from revenue. e.g. if the fee is 1% (or 0.01), return 100. + */ + "getRewardInverse()"(overrides?: TransactionOverrides): Promise; + + /** + * Get payout amount in `_token` denomination for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + getTaskPayout( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get payout amount in `_token` denomination for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getTaskPayout(uint256,uint8,address)"( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for manager in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskManagerPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for manager in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskManagerPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for evaluator in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskEvaluatorPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for evaluator in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskEvaluatorPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for worker in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskWorkerPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for worker in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskWorkerPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only call if evaluator and worker are unassigned or manager, otherwise need signature. + * Set `_token` payout for all roles in task `_id` to the respective amounts. + * @param _evaluatorAmount Payout amount for evaluator + * @param _id Id of the task + * @param _managerAmount Payout amount for manager + * @param _token Address of the token, `0x0` value indicates Ether + * @param _workerAmount Payout amount for worker + */ + setAllTaskPayouts( + _id: BigNumberish, + _token: string, + _managerAmount: BigNumberish, + _evaluatorAmount: BigNumberish, + _workerAmount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only call if evaluator and worker are unassigned or manager, otherwise need signature. + * Set `_token` payout for all roles in task `_id` to the respective amounts. + * @param _evaluatorAmount Payout amount for evaluator + * @param _id Id of the task + * @param _managerAmount Payout amount for manager + * @param _token Address of the token, `0x0` value indicates Ether + * @param _workerAmount Payout amount for worker + */ + "setAllTaskPayouts(uint256,address,uint256,uint256,uint256)"( + _id: BigNumberish, + _token: string, + _managerAmount: BigNumberish, + _evaluatorAmount: BigNumberish, + _workerAmount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimTaskPayout( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimTaskPayout(uint256,uint8,address)"( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * @param _token Address of the token used for reward payout + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + startNextRewardPayout( + _token: string, + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * @param _token Address of the token used for reward payout + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + "startNextRewardPayout(address,bytes,bytes,uint256,bytes32[])"( + _token: string, + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + * @param _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. + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + claimRewardPayout( + _payoutId: BigNumberish, + _squareRoots: BigNumberish[], + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + * @param _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. + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + "claimRewardPayout(uint256,uint256[7],bytes,bytes,uint256,bytes32[])"( + _payoutId: BigNumberish, + _squareRoots: BigNumberish[], + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Get useful information about specific reward payout. + * @param _payoutId Id of the reward payout + */ + getRewardPayoutInfo( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + BigNumber, + BigNumber, + BigNumber, + string, + BigNumber, + BigNumber, + boolean + ] & { + reputationState: string; + colonyWideReputation: BigNumber; + totalTokens: BigNumber; + amount: BigNumber; + tokenAddress: string; + blockTimestamp: BigNumber; + amountRemaining: BigNumber; + finalized: boolean; + } + >; + + /** + * Get useful information about specific reward payout. + * @param _payoutId Id of the reward payout + */ + "getRewardPayoutInfo(uint256)"( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [ + string, + BigNumber, + BigNumber, + BigNumber, + string, + BigNumber, + BigNumber, + boolean + ] & { + reputationState: string; + colonyWideReputation: BigNumber; + totalTokens: BigNumber; + amount: BigNumber; + tokenAddress: string; + blockTimestamp: BigNumber; + amountRemaining: BigNumber; + finalized: boolean; + } + >; + + /** + * 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. + * @param _payoutId Id of the reward payout + */ + finalizeRewardPayout( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + */ + "finalizeRewardPayout(uint256)"( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the reward funding pot (e.g. id: 0) this returns (0, 0, 0). + * Get the non-mapping properties of a pot by id. + * @param _id Id of the pot which details to get + */ + getFundingPot( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, BigNumber, BigNumber] & { + associatedType: number; + associatedTypeId: BigNumber; + payoutsWeCannotMake: BigNumber; + } + >; + + /** + * For the reward funding pot (e.g. id: 0) this returns (0, 0, 0). + * Get the non-mapping properties of a pot by id. + * @param _id Id of the pot which details to get + */ + "getFundingPot(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [number, BigNumber, BigNumber] & { + associatedType: number; + associatedTypeId: BigNumber; + payoutsWeCannotMake: BigNumber; + } + >; + + /** + * Get the number of funding pots in the colony. + */ + getFundingPotCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of funding pots in the colony. + */ + "getFundingPotCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the `_token` balance of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + getFundingPotBalance( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `_token` balance of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getFundingPotBalance(uint256,address)"( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the assigned `_token` payouts of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + getFundingPotPayout( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the assigned `_token` payouts of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getFundingPotPayout(uint256,address)"( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Move a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _childSkillIndex The child index in _permissionDomainId where I will be taking this action + * @param _domainId The domain where I am taking this action, pointed to by _permissionDomainId and _childSkillIndex + * @param _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 + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The same, but for the _toPot which the funds are being moved to + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + moveFundsBetweenPots( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Move a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _childSkillIndex The child index in _permissionDomainId where I will be taking this action + * @param _domainId The domain where I am taking this action, pointed to by _permissionDomainId and _childSkillIndex + * @param _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 + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The same, but for the _toPot which the funds are being moved to + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedMove a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _fromChildSkillIndex The child index in `_permissionDomainId` where we can find the domain for `_fromPotId` + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The child index in `_permissionDomainId` where we can find the domain for `_toPotId` + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimColonyFunds( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimColonyFunds(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the total amount of tokens `_token` minus amount reserved to be paid to the reputation and token holders as rewards. + * @param _token Address of the token, `0x0` value indicates Ether + */ + getNonRewardPotsTotal( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the total amount of tokens `_token` minus amount reserved to be paid to the reputation and token holders as rewards. + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getNonRewardPotsTotal(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Allow the _approvee to obligate some amount of tokens as a stake. + * @param _amount Amount of internal token up to which we are willing to be obligated. + * @param _approvee Address of the account we are willing to let obligate us. + * @param _domainId Domain in which we are willing to be obligated. + */ + approveStake( + _approvee: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Allow the _approvee to obligate some amount of tokens as a stake. + * @param _amount Amount of internal token up to which we are willing to be obligated. + * @param _approvee Address of the account we are willing to let obligate us. + * @param _domainId Domain in which we are willing to be obligated. + */ + "approveStake(address,uint256,uint256)"( + _approvee: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Obligate the user some amount of tokens as a stake. + * @param _amount Amount of internal token we are obligating. + * @param _domainId Domain in which we are obligating the user. + * @param _user Address of the account we are obligating. + */ + obligateStake( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Obligate the user some amount of tokens as a stake. + * @param _amount Amount of internal token we are obligating. + * @param _domainId Domain in which we are obligating the user. + * @param _user Address of the account we are obligating. + */ + "obligateStake(address,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deobligate the user some amount of tokens, releasing the stake. + * @param _amount Amount of internal token we are deobligating. + * @param _domainId Domain in which we are deobligating the user. + * @param _user Address of the account we are deobligating. + */ + deobligateStake( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deobligate the user some amount of tokens, releasing the stake. + * @param _amount Amount of internal token we are deobligating. + * @param _domainId Domain in which we are deobligating the user. + * @param _user Address of the account we are deobligating. + */ + "deobligateStake(address,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Transfer some amount of obligated tokens. Can be called by the arbitration role. + * @param _amount Amount of internal token we are transferring. + * @param _childSkillIndex The child index in `_permissionDomainId` where we can find `_domainId`. + * @param _domainId Domain in which we are transferring the tokens. + * @param _obligator Address of the account who set the obligation. + * @param _permissionDomainId The domainId in which I have the permission to take this action. + * @param _recipient Recipient of the transferred tokens. + * @param _user Address of the account we are transferring. + */ + transferStake( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _obligator: string, + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Transfer some amount of obligated tokens. Can be called by the arbitration role. + * @param _amount Amount of internal token we are transferring. + * @param _childSkillIndex The child index in `_permissionDomainId` where we can find `_domainId`. + * @param _domainId Domain in which we are transferring the tokens. + * @param _obligator Address of the account who set the obligation. + * @param _permissionDomainId The domainId in which I have the permission to take this action. + * @param _recipient Recipient of the transferred tokens. + * @param _user Address of the account we are transferring. + */ + "transferStake(uint256,uint256,address,address,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _obligator: string, + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an approval to obligate tokens. + * @param _domainId Domain in which we are willing to be obligated. + * @param _obligator Address of the account we are willing to let obligate us. + * @param _user User allowing their tokens to be obligated. + */ + getApproval( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an approval to obligate tokens. + * @param _domainId Domain in which we are willing to be obligated. + * @param _obligator Address of the account we are willing to let obligate us. + * @param _user User allowing their tokens to be obligated. + */ + "getApproval(address,address,uint256)"( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an obligation of tokens. + * @param _domainId Domain in which we are obligated. + * @param _obligator Address of the account who obligated us. + * @param _user User whose tokens are obligated. + */ + getObligation( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an obligation of tokens. + * @param _domainId Domain in which we are obligated. + * @param _obligator Address of the account who obligated us. + * @param _user User whose tokens are obligated. + */ + "getObligation(address,address,uint256)"( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the domain corresponding to a funding pot + * @param _fundingPotId Id of the funding pot + */ + getDomainFromFundingPot( + _fundingPotId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the domain corresponding to a funding pot + * @param _fundingPotId Id of the funding pot + */ + "getDomainFromFundingPot(uint256)"( + _fundingPotId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Burn tokens held by the colony. Can only burn tokens held in the root funding pot. + * @param amount The amount of tokens to burn + * @param token The address of the token to burn + */ + burnTokens( + token: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Burn tokens held by the colony. Can only burn tokens held in the root funding pot. + * @param amount The amount of tokens to burn + * @param token The address of the token to burn + */ + "burnTokens(address,uint256)"( + token: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * unlock the native colony token, if possible + */ + unlockToken(overrides?: TransactionOverrides): Promise; + + /** + * unlock the native colony token, if possible + */ + "unlockToken()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the internal bookkeeping around external ERC20 approvals + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + updateApprovalAmount( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the internal bookkeeping around external ERC20 approvals + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + "updateApprovalAmount(address,address)"( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current approval amount + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + getTokenApproval( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current approval amount + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + "getTokenApproval(address,address)"( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current total approval amount across all spenders + * @param token The address of the token which was approved + */ + getTotalTokenApproval( + token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current total approval amount across all spenders + * @param token The address of the token which was approved + */ + "getTotalTokenApproval(address)"( + token: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Annotation( + agent: string | null, + txHash: Arrayish | null, + metadata: null + ): EventFilter; + + ArbitraryReputationUpdate( + agent: null, + user: null, + skillId: null, + amount: null + ): EventFilter; + + ArbitraryTransaction(target: null, data: null, success: null): EventFilter; + + ColonyBootstrapped(agent: null, users: null, amounts: null): EventFilter; + + ColonyFundsClaimed( + agent: null, + token: null, + fee: null, + payoutRemainder: null + ): EventFilter; + + ColonyFundsMovedBetweenFundingPots( + agent: null, + fromPot: BigNumberish | null, + toPot: BigNumberish | null, + amount: null, + token: null + ): EventFilter; + + ColonyInitialised( + agent: null, + colonyNetwork: null, + token: null + ): EventFilter; + + ColonyMetadata(agent: null, metadata: null): EventFilter; + + ColonyMetadataDelta(agent: null, metadata: null): EventFilter; + + ColonyRewardInverseSet(agent: null, rewardInverse: null): EventFilter; + + ColonyRoleSet( + agent: null, + user: string | null, + domainId: BigNumberish | null, + role: BigNumberish | null, + setTo: null + ): EventFilter; + + ColonyUpgraded( + agent: null, + oldVersion: null, + newVersion: null + ): EventFilter; + + DomainAdded(agent: null, domainId: null): EventFilter; + + DomainDeprecated( + agent: null, + domainId: BigNumberish | null, + deprecated: null + ): EventFilter; + + DomainMetadata( + agent: null, + domainId: BigNumberish | null, + metadata: null + ): EventFilter; + + ExpenditureAdded(agent: null, expenditureId: null): EventFilter; + + ExpenditureCancelled( + agent: null, + expenditureId: BigNumberish | null + ): EventFilter; + + ExpenditureClaimDelaySet( + agent: null, + expenditureId: BigNumberish | null, + slot: BigNumberish | null, + claimDelay: null + ): EventFilter; + + ExpenditureFinalized( + agent: null, + expenditureId: BigNumberish | null + ): EventFilter; + + ExpenditureGlobalClaimDelaySet( + agent: null, + globalClaimDelay: null + ): EventFilter; + + ExpenditureLocked( + agent: null, + expenditureId: BigNumberish | null + ): EventFilter; + + ExpenditureMetadataSet( + agent: null, + expenditureId: BigNumberish | null, + metadata: null + ): EventFilter; + + ExpenditurePayoutModifierSet( + agent: null, + expenditureId: BigNumberish | null, + slot: BigNumberish | null, + payoutModifier: null + ): EventFilter; + + ExpenditurePayoutSet( + agent: null, + expenditureId: BigNumberish | null, + slot: BigNumberish | null, + token: string | null, + amount: null + ): EventFilter; + + ExpenditureRecipientSet( + agent: null, + expenditureId: BigNumberish | null, + slot: BigNumberish | null, + recipient: string | null + ): EventFilter; + + ExpenditureSkillSet( + agent: null, + expenditureId: BigNumberish | null, + slot: BigNumberish | null, + skillId: BigNumberish | null + ): EventFilter; + + ExpenditureStateChanged( + agent: null, + expenditureId: BigNumberish | null, + storageSlot: BigNumberish | null, + mask: null, + keys: null, + value: null + ): EventFilter; + + ExpenditureTransferred( + agent: null, + expenditureId: BigNumberish | null, + owner: string | null + ): EventFilter; + + FundingPotAdded(fundingPotId: null): EventFilter; + + LocalSkillAdded(agent: null, localSkillId: null): EventFilter; + + LocalSkillDeprecated( + agent: null, + localSkillId: null, + deprecated: null + ): EventFilter; + + MetaTransactionExecuted( + userAddress: null, + relayerAddress: null, + payload: null + ): EventFilter; + + PaymentAdded(agent: null, paymentId: null): EventFilter; + + PaymentFinalized(agent: null, paymentId: BigNumberish | null): EventFilter; + + PaymentPayoutSet( + agent: null, + paymentId: BigNumberish | null, + token: null, + amount: null + ): EventFilter; + + PaymentRecipientSet( + agent: null, + paymentId: BigNumberish | null, + recipient: null + ): EventFilter; + + PaymentSkillSet( + agent: null, + paymentId: BigNumberish | null, + skillId: null + ): EventFilter; + + PayoutClaimed( + agent: null, + fundingPotId: BigNumberish | null, + token: null, + amount: null + ): EventFilter; + + RecoveryModeEntered(user: null): EventFilter; + + RecoveryModeExitApproved(user: null): EventFilter; + + RecoveryModeExited(user: null): EventFilter; + + RecoveryRoleSet(user: string | null, setTo: null): EventFilter; + + RecoveryStorageSlotSet( + user: null, + slot: null, + fromValue: null, + toValue: null + ): EventFilter; + + RewardPayoutClaimed( + rewardPayoutId: null, + user: null, + fee: null, + rewardRemainder: null + ): EventFilter; + + RewardPayoutCycleEnded(agent: null, rewardPayoutId: null): EventFilter; + + RewardPayoutCycleStarted(agent: null, rewardPayoutId: null): EventFilter; + + TaskAdded(agent: null, taskId: null): EventFilter; + + TaskBriefSet( + taskId: BigNumberish | null, + specificationHash: null + ): EventFilter; + + TaskCanceled(taskId: BigNumberish | null): EventFilter; + + TaskChangedViaSignatures(reviewerAddresses: null): EventFilter; + + TaskCompleted(agent: null, taskId: BigNumberish | null): EventFilter; + + TaskDeliverableSubmitted( + agent: null, + taskId: BigNumberish | null, + deliverableHash: null + ): EventFilter; + + TaskDueDateSet(taskId: BigNumberish | null, dueDate: null): EventFilter; + + TaskFinalized(agent: null, taskId: BigNumberish | null): EventFilter; + + TaskPayoutSet( + taskId: BigNumberish | null, + role: null, + token: null, + amount: null + ): EventFilter; + + TaskRoleUserSet( + taskId: BigNumberish | null, + role: null, + user: string | null + ): EventFilter; + + TaskSkillSet( + taskId: BigNumberish | null, + skillId: BigNumberish | null + ): EventFilter; + + TaskWorkRatingRevealed( + agent: null, + taskId: BigNumberish | null, + role: null, + rating: null + ): EventFilter; + + TokenUnlocked(agent: null): EventFilter; + + TokensBurned(agent: null, token: null, amount: null): EventFilter; + + TokensMinted(agent: null, who: null, amount: null): EventFilter; + }; + + estimate: { + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + approveExitRecovery(overrides?: TransactionOverrides): Promise; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + "approveExitRecovery()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + checkNotAdditionalProtectedVariable( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + "checkNotAdditionalProtectedVariable(uint256)"( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + enterRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + "enterRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + executeMetaTransaction( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + exitRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + "exitRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Is colony network in recovery mode. + */ + isInRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Is colony network in recovery mode. + */ + "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Return number of recovery roles. + */ + numRecoveryRoles(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + "numRecoveryRoles()"(overrides?: TransactionOverrides): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + removeRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + "removeRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + setRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + "setRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + setStorageSlotRecovery( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + "setStorageSlotRecovery(uint256,bytes32)"( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyAuthority` for the colony. + */ + authority(overrides?: TransactionOverrides): Promise; + + /** + * Get the `ColonyAuthority` for the colony. + */ + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Used for testing. + * Get the colony `owner` address. This should be address(0x0) at all times. + */ + owner(overrides?: TransactionOverrides): Promise; + + /** + * Used for testing. + * Get the colony `owner` address. This should be address(0x0) at all times. + */ + "owner()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the Colony contract version. Starts from 1 and is incremented with every deployed contract change. + */ + version(overrides?: TransactionOverrides): Promise; + + /** + * Get the Colony contract version. Starts from 1 and is incremented with every deployed contract change. + */ + "version()"(overrides?: TransactionOverrides): Promise; + + /** + * Downgrades are not allowed, i.e. `_newVersion` should be higher than the currect colony version. + * Upgrades a colony to a new Colony contract version `_newVersion`. + * @param _newVersion The target version for the upgrade + */ + upgrade( + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Downgrades are not allowed, i.e. `_newVersion` should be higher than the currect colony version. + * Upgrades a colony to a new Colony contract version `_newVersion`. + * @param _newVersion The target version for the upgrade + */ + "upgrade(uint256)"( + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * A function to be called after an upgrade has been done from v2 to v3. + */ + finishUpgrade(overrides?: TransactionOverrides): Promise; + + /** + * 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. + * A function to be called after an upgrade has been done from v2 to v3. + */ + "finishUpgrade()"(overrides?: TransactionOverrides): Promise; + + /** + * The colonyNetworkAddress we read here is set once, during `initialiseColony`. + * Returns the colony network address set on the Colony. + */ + getColonyNetwork(overrides?: TransactionOverrides): Promise; + + /** + * The colonyNetworkAddress we read here is set once, during `initialiseColony`. + * Returns the colony network address set on the Colony. + */ + "getColonyNetwork()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the colony token. + */ + getToken(overrides?: TransactionOverrides): Promise; + + /** + * Get the colony token. + */ + "getToken()"(overrides?: TransactionOverrides): Promise; + + /** + * @deprecatedExecute arbitrary transaction on behalf of the Colony + * @param _action Bytes array encoding the function call and arguments + * @param _to Contract to receive the function call (cannot be this contract, network or token locking) + */ + makeArbitraryTransaction( + _to: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedExecute arbitrary transaction on behalf of the Colony + * @param _action Bytes array encoding the function call and arguments + * @param _to Contract to receive the function call (cannot be this contract, network or token locking) + */ + "makeArbitraryTransaction(address,bytes)"( + _to: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Execute arbitrary transactions on behalf of the Colony in series + * @param _actions Array of Bytes arrays encoding the function calls and arguments + * @param _strict Boolean indicating whether if one transaction fails, the whole call to this function should fail. + * @param _targets Array of addressed to be targeted + */ + makeArbitraryTransactions( + _targets: string[], + _actions: Arrayish[], + _strict: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Execute arbitrary transactions on behalf of the Colony in series + * @param _actions Array of Bytes arrays encoding the function calls and arguments + * @param _strict Boolean indicating whether if one transaction fails, the whole call to this function should fail. + * @param _targets Array of addressed to be targeted + */ + "makeArbitraryTransactions(address[],bytes[],bool)"( + _targets: string[], + _actions: Arrayish[], + _strict: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the colony itself. If you wish to use this functionality, you should use the makeAbitraryTransactions function + * Executes a single arbitrary transaction + * @param _action Bytes array encoding the function call and arguments + * @param _target Contract to receive the function call + */ + makeSingleArbitraryTransaction( + _target: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the colony itself. If you wish to use this functionality, you should use the makeAbitraryTransactions function + * Executes a single arbitrary transaction + * @param _action Bytes array encoding the function call and arguments + * @param _target Contract to receive the function call + */ + "makeSingleArbitraryTransaction(address,bytes)"( + _target: string, + _action: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a metadata string for a transaction + * @param _metadata String of metadata for tx + * @param _txHash Hash of transaction being annotated (0x0 for current tx) + */ + annotateTransaction( + _txHash: Arrayish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a metadata string for a transaction + * @param _metadata String of metadata for tx + * @param _txHash Hash of transaction being annotated (0x0 for current tx) + */ + "annotateTransaction(bytes32,string)"( + _txHash: Arrayish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony root role. Can be called by root role only. + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an root role to + */ + setRootRole( + _user: string, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony root role. Can be called by root role only. + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an root role to + */ + "setRootRole(address,bool)"( + _user: string, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony arbitration role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an arbitration role to + */ + setArbitrationRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony arbitration role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an arbitration role to + */ + "setArbitrationRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony architecture role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an architecture role to + */ + setArchitectureRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony architecture role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an architecture role to + */ + "setArchitectureRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony funding role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an funding role to + */ + setFundingRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony funding role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an funding role to + */ + "setFundingRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony admin role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an admin role to + */ + setAdministrationRole( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony admin role. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _setTo The state of the role permission (true assign the permission, false revokes it) + * @param _user User we want to give an admin role to + */ + "setAdministrationRole(uint256,uint256,address,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _setTo: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set several roles in one transaction. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _roles Byte array representing the desired role setting (1 for on, 0 for off) + * @param _user User we want to give a role to + */ + setUserRoles( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _roles: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set several roles in one transaction. Can be called by root role or architecture role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Domain in which we are giving user the role + * @param _permissionDomainId Domain in which the caller has root/architecture role + * @param _roles Byte array representing the desired role setting (1 for on, 0 for off) + * @param _user User we want to give a role to + */ + "setUserRoles(uint256,uint256,address,uint256,bytes32)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _user: string, + _domainId: BigNumberish, + _roles: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _domainId The domain where we want to check for the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + hasUserRole( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _domainId The domain where we want to check for the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + "hasUserRole(address,uint256,uint8)"( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 inheritance validator function + * @param _childDomainId The domain where we want to use the role + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + hasInheritedUserRole( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 inheritance validator function + * @param _childDomainId The domain where we want to use the role + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role + * @param _role The role we want to check for + * @param _user The user whose role we want to check + */ + "hasInheritedUserRole(address,uint256,uint8,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _role: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _childDomainId The domain where we want to edit roles + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role (currently Root or Architecture) + * @param _user The user whose permissions we want to check + */ + userCanSetRoles( + _user: string, + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _childDomainId The domain where we want to edit roles + * @param _childSkillIndex The index that the `_childDomainId` is relative to `_domainId` + * @param _domainId Domain in which the caller has the role (currently Root or Architecture) + * @param _user The user whose permissions we want to check + */ + "userCanSetRoles(address,uint256,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _childSkillIndex: BigNumberish, + _childDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles for a user in a given domain + * @param _domain The domain we want to get roles in + * @param _user The user whose roles we want to get + */ + getUserRoles( + _user: string, + _domain: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles for a user in a given domain + * @param _domain The domain we want to get roles in + * @param _user The user whose roles we want to get + */ + "getUserRoles(address,uint256)"( + _user: string, + _domain: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles authorized to call a function + * @param _sig The function signature + */ + getCapabilityRoles( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the bytes32 representation of the roles authorized to call a function + * @param _sig The function signature + */ + "getCapabilityRoles(bytes4)"( + _sig: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive domain reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _domainId The domain where the user will gain reputation + * @param _user The user who will gain reputation + */ + emitDomainReputationReward( + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive domain reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _domainId The domain where the user will gain reputation + * @param _user The user who will gain reputation + */ + "emitDomainReputationReward(uint256,address,int256)"( + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive skill reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _skillId The skill where the user will gain reputation + * @param _user The user who will gain reputation + */ + emitSkillReputationReward( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a positive skill reputation update. Available only to Root role holders + * @param _amount The (positive) amount of reputation to gain + * @param _skillId The skill where the user will gain reputation + * @param _user The user who will gain reputation + */ + "emitSkillReputationReward(uint256,address,int256)"( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative domain reputation update. Available only to Arbitration role holders + * @param _amount The (negative) amount of reputation to lose + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the user will lose reputation + * @param _permissionDomainId The domainId in which I hold the Arbitration role + * @param _user The user who will lose reputation + */ + emitDomainReputationPenalty( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative domain reputation update. Available only to Arbitration role holders + * @param _amount The (negative) amount of reputation to lose + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the user will lose reputation + * @param _permissionDomainId The domainId in which I hold the Arbitration role + * @param _user The user who will lose reputation + */ + "emitDomainReputationPenalty(uint256,uint256,uint256,address,int256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative skill reputation update. Available only to Arbitration role holders in the root domain + * @param _amount The (negative) amount of reputation to lose + * @param _skillId The skill where the user will lose reputation + * @param _user The user who will lose reputation + */ + emitSkillReputationPenalty( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Emit a negative skill reputation update. Available only to Arbitration role holders in the root domain + * @param _amount The (negative) amount of reputation to lose + * @param _skillId The skill where the user will lose reputation + * @param _user The user who will lose reputation + */ + "emitSkillReputationPenalty(uint256,address,int256)"( + _skillId: BigNumberish, + _user: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the reward inverse to the uint max 2**256 - 1. + * Called once when the colony is created to initialise certain storage slot values. + * @param _colonyNetworkAddress Address of the colony network + * @param _token Address of the colony ERC20 Token + */ + initialiseColony( + _colonyNetworkAddress: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the reward inverse to the uint max 2**256 - 1. + * Called once when the colony is created to initialise certain storage slot values. + * @param _colonyNetworkAddress Address of the colony network + * @param _token Address of the colony ERC20 Token + */ + "initialiseColony(address,address)"( + _colonyNetworkAddress: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _metadata IPFS hash of the metadata + */ + editColony( + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * @param _metadata IPFS hash of the metadata + */ + "editColony(string)"( + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to change the metadata associated with a colony. Expected to be a IPFS hash of a delta to a JSON blob, but not enforced to any degree by the contracts + * @param _metadataDelta IPFS hash of the metadata delta + */ + editColonyByDelta( + _metadataDelta: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to change the metadata associated with a colony. Expected to be a IPFS hash of a delta to a JSON blob, but not enforced to any degree by the contracts + * @param _metadataDelta IPFS hash of the metadata delta + */ + "editColonyByDelta(string)"( + _metadataDelta: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be called when `taskCount` is `0` by authorized addresses. + * 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. + * @param _amount Amount of reputation/tokens for every address + * @param _users Array of address to bootstrap with reputation + */ + bootstrapColony( + _users: string[], + _amount: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be called when `taskCount` is `0` by authorized addresses. + * 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. + * @param _amount Amount of reputation/tokens for every address + * @param _users Array of address to bootstrap with reputation + */ + "bootstrapColony(address[],int256[])"( + _users: string[], + _amount: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens. Secured function to authorised members. + * @param _wad Amount to mint + */ + mintTokens( + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens. Secured function to authorised members. + * @param _wad Amount to mint + */ + "mintTokens(uint256)"( + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens and send to `_guy`. Secured function to authorised members. + * @param _guy Recipient of new tokens + * @param _wad Amount to mint + */ + mintTokensFor( + _guy: string, + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Mint `_wad` amount of colony tokens and send to `_guy`. Secured function to authorised members. + * @param _guy Recipient of new tokens + * @param _wad Amount to mint + */ + "mintTokensFor(address,uint256)"( + _guy: string, + _wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Lock the colony's token. Can only be called by a network-managed extension. + */ + lockToken(overrides?: TransactionOverrides): Promise; + + /** + * Lock the colony's token. Can only be called by a network-managed extension. + */ + "lockToken()"(overrides?: TransactionOverrides): Promise; + + /** + * Unlock the colony's token for a user. Can only be called by a network-managed extension. + * @param lockId The specific lock to unlock + * @param user The user to unlock + */ + unlockTokenForUser( + user: string, + lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unlock the colony's token for a user. Can only be called by a network-managed extension. + * @param lockId The specific lock to unlock + * @param user The user to unlock + */ + "unlockTokenForUser(address,uint256)"( + user: string, + lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register colony's ENS label. + * @param colonyName The label to register. + * @param orbitdb The path of the orbitDB database associated with the colony name + */ + registerColonyLabel( + colonyName: string, + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register colony's ENS label. + * @param colonyName The label to register. + * @param orbitdb The path of the orbitDB database associated with the colony name + */ + "registerColonyLabel(string,string)"( + colonyName: string, + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param orbitdb The path of the orbitDB database to be associated with the colony + */ + updateColonyOrbitDB( + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param orbitdb The path of the orbitDB database to be associated with the colony + */ + "updateColonyOrbitDB(string)"( + orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension to the colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param version The new extension version to install + */ + installExtension( + extensionId: Arrayish, + version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension to the colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param version The new extension version to install + */ + "installExtension(bytes32,uint256)"( + extensionId: Arrayish, + version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param newVersion The version to upgrade to (must be one larger than the current version) + */ + upgradeExtension( + extensionId: Arrayish, + newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + * @param newVersion The version to upgrade to (must be one larger than the current version) + */ + "upgradeExtension(bytes32,uint256)"( + extensionId: Arrayish, + newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Secured function to authorised members. + * @param deprecated Whether to deprecate the extension or not + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + deprecateExtension( + extensionId: Arrayish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Secured function to authorised members. + * @param deprecated Whether to deprecate the extension or not + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + "deprecateExtension(bytes32,bool)"( + extensionId: Arrayish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * Uninstall an extension from a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + uninstallExtension( + extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * Uninstall an extension from a colony. Secured function to authorised members. + * @param extensionId keccak256 hash of the extension name, used as an indentifier + */ + "uninstallExtension(bytes32)"( + extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skill tree for the colony. + */ + initialiseRootLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skill tree for the colony. + */ + "initialiseRootLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new local skill for the colony. Secured function to authorised members. + */ + addLocalSkill(overrides?: TransactionOverrides): Promise; + + /** + * Add a new local skill for the colony. Secured function to authorised members. + */ + "addLocalSkill()"(overrides?: TransactionOverrides): Promise; + + /** + * Deprecate a local skill for the colony. Secured function to authorised members. + * @param deprecated Deprecation status to set for the skill + * @param localSkillId Id for the local skill + */ + deprecateLocalSkill( + localSkillId: BigNumberish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a local skill for the colony. Secured function to authorised members. + * @param deprecated Deprecation status to set for the skill + * @param localSkillId Id for the local skill + */ + "deprecateLocalSkill(uint256,bool)"( + localSkillId: BigNumberish, + deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the root local skill id + */ + getRootLocalSkill(overrides?: TransactionOverrides): Promise; + + /** + * Get the root local skill id + */ + "getRootLocalSkill()"(overrides?: TransactionOverrides): Promise; + + /** + * Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + addDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adding new domains is currently retricted to one level only, i.e. `_parentDomainId` has to be the root domain id: `1`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "addDomain(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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 + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _parentDomainId Id of the domain under which the new one will be added + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "addDomain(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _parentDomainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Id of the domain being edited + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + editDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId Id of the domain being edited + * @param _metadata Metadata relating to the domain. Expected to be the IPFS hash of a JSON blob, but not enforced by the contracts. + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "editDomain(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a domain, preventing certain actions from happening there + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _deprecated Whether or not the domain is deprecated + * @param _domainId Id of the domain being deprecated + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + deprecateDomain( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecate a domain, preventing certain actions from happening there + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _deprecated Whether or not the domain is deprecated + * @param _domainId Id of the domain being deprecated + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "deprecateDomain(uint256,uint256,uint256,bool)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a domain by id. + * @param _id Id of the domain which details to get + */ + getDomain( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a domain by id. + * @param _id Id of the domain which details to get + */ + "getDomain(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of domains in the colony. + */ + getDomainCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of domains in the colony. + */ + "getDomainCount()"(overrides?: TransactionOverrides): Promise; + + /** + * 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. + * Helper function that can be used by a client to verify the correctness of a patricia proof they have been supplied with. + * @param branchMask The branchmask of the proof + * @param key The key of the element the proof is for. + * @param siblings The siblings of the proof + * @param value The value of the element that the proof is for. + */ + verifyReputationProof( + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Helper function that can be used by a client to verify the correctness of a patricia proof they have been supplied with. + * @param branchMask The branchmask of the proof + * @param key The key of the element the proof is for. + * @param siblings The siblings of the proof + * @param value The value of the element that the proof is for. + */ + "verifyReputationProof(bytes,bytes,uint256,bytes32[])"( + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the default global claim delay for expenditures + * @param _globalClaimDelay The new default global claim delay + */ + setDefaultGlobalClaimDelay( + _globalClaimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the default global claim delay for expenditures + * @param _globalClaimDelay The new default global claim delay + */ + "setDefaultGlobalClaimDelay(uint256)"( + _globalClaimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new expenditure in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the expenditure belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + makeExpenditure( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new expenditure in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the expenditure belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "makeExpenditure(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Updates the expenditure owner. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + */ + transferExpenditure( + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Updates the expenditure owner. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + */ + "transferExpenditure(uint256,address)"( + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future version + * @deprecatedUpdates the expenditure owner. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + transferExpenditureViaArbitration( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future version + * @deprecatedUpdates the expenditure owner. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _newOwner New owner of expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "transferExpenditureViaArbitration(uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _newOwner: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Cancels the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + cancelExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Cancels the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "cancelExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Locks the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + lockExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Locks the expenditure and prevents further editing. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "lockExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the expenditure and allows for funds to be claimed. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + finalizeExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the expenditure and allows for funds to be claimed. Can only be called by expenditure owner. + * @param _id Expenditure identifier + */ + "finalizeExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the metadata for an expenditure. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + setExpenditureMetadata( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the metadata for an expenditure. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "setExpenditureMetadata(uint256,uint256,uint256,string)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the metadata for an expenditure. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _metadata IPFS hash of the metadata + */ + "setExpenditureMetadata(uint256,string)"( + _id: BigNumberish, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSets the recipient on an expenditure slot. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipient Address of the recipient + * @param _slot Slot for the recipient address + */ + setExpenditureRecipient( + _id: BigNumberish, + _slot: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSets the recipient on an expenditure slot. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipient Address of the recipient + * @param _slot Slot for the recipient address + */ + "setExpenditureRecipient(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the recipients in given expenditure slots. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipients Addresses of the recipients + * @param _slots Array of slots to set recipients + */ + setExpenditureRecipients( + _id: BigNumberish, + _slots: BigNumberish[], + _recipients: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Sets the recipients in given expenditure slots. Can only be called by expenditure owner. + * @param _id Id of the expenditure + * @param _recipients Addresses of the recipients + * @param _slots Array of slots to set recipients + */ + "setExpenditureRecipients(uint256,uint256[],address[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _recipients: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Set the token payouts in given expenditure slots. Can only be called by expenditure owner. + * @param _amounts Payout amounts + * @param _id Id of the expenditure + * @param _slots Array of slots to set payouts + * @param _token Address of the token, `0x0` value indicates Ether + */ + setExpenditurePayouts( + _id: BigNumberish, + _slots: BigNumberish[], + _token: string, + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * Set the token payouts in given expenditure slots. Can only be called by expenditure owner. + * @param _amounts Payout amounts + * @param _id Id of the expenditure + * @param _slots Array of slots to set payouts + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayouts(uint256,uint256[],address,uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _token: string, + _amounts: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSet the token payout on an expenditure slot. Can only be called by expenditure owner. + * @param _amount Payout amount + * @param _id Id of the expenditure + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + setExpenditurePayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called while expenditure is in draft state. + * @deprecatedSet the token payout on an expenditure slot. Can only be called by expenditure owner. + * @param _amount Payout amount + * @param _id Id of the expenditure + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayout(uint256,uint256,address,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the token payout in a given expenditure slot. Can only be called by an Arbitration user. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the expenditure + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _slot The slot to set the payout + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setExpenditurePayout(uint256,uint256,uint256,uint256,address,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillId Id of the new skill to set + * @param _slot Number of the slot + */ + setExpenditureSkill( + _id: BigNumberish, + _slot: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillId Id of the new skill to set + * @param _slot Number of the slot + */ + "setExpenditureSkill(uint256,uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillIds Ids of the new skills to set + * @param _slots Array of slots to set skills + */ + setExpenditureSkills( + _id: BigNumberish, + _slots: BigNumberish[], + _skillIds: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an expenditure slot. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _skillIds Ids of the new skills to set + * @param _slots Array of slots to set skills + */ + "setExpenditureSkills(uint256,uint256[],uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _skillIds: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the claim delay on an expenditure slot. Can only be called by expenditure owner. + * @param _claimDelay Duration of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slot Number of the slot + */ + setExpenditureClaimDelay( + _id: BigNumberish, + _slot: BigNumberish, + _claimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedSets the claim delay on an expenditure slot. Can only be called by expenditure owner. + * @param _claimDelay Duration of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slot Number of the slot + */ + "setExpenditureClaimDelay(uint256,uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + _claimDelay: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the claim delays in given expenditure slots. Can only be called by expenditure owner. + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slots Array of slots to set claim delays + */ + setExpenditureClaimDelays( + _id: BigNumberish, + _slots: BigNumberish[], + _claimDelays: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the claim delays in given expenditure slots. Can only be called by expenditure owner. + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _slots Array of slots to set claim delays + */ + "setExpenditureClaimDelays(uint256,uint256[],uint256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _claimDelays: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout modifiers in given expenditure slots. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _slots Array of slots to set payout modifiers + */ + setExpenditurePayoutModifiers( + _id: BigNumberish, + _slots: BigNumberish[], + _payoutModifiers: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout modifiers in given expenditure slots. Can only be called by expenditure owner. + * @param _id Expenditure identifier + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _slots Array of slots to set payout modifiers + */ + "setExpenditurePayoutModifiers(uint256,uint256[],int256[])"( + _id: BigNumberish, + _slots: BigNumberish[], + _payoutModifiers: BigNumberish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set many values of an expenditure simultaneously. Can only be called by expenditure owner. + * @param _claimDelaySlots Array of slots to set claim delays + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _payoutModifierSlots Array of slots to set payout modifiers + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _payoutSlots 2-dimensional array of slots to set payouts + * @param _payoutTokens Addresses of the tokens, `0x0` value indicates Ether + * @param _payoutValues 2-dimensional array of the payout amounts + * @param _recipientSlots Array of slots to set recipients + * @param _recipients Addresses of the recipients + * @param _skillIdSlots Array of slots to set skills + * @param _skillIds Ids of the new skills to set + */ + setExpenditureValues( + _id: BigNumberish, + _recipientSlots: BigNumberish[], + _recipients: string[], + _skillIdSlots: BigNumberish[], + _skillIds: BigNumberish[], + _claimDelaySlots: BigNumberish[], + _claimDelays: BigNumberish[], + _payoutModifierSlots: BigNumberish[], + _payoutModifiers: BigNumberish[], + _payoutTokens: string[], + _payoutSlots: BigNumberish[][], + _payoutValues: BigNumberish[][], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set many values of an expenditure simultaneously. Can only be called by expenditure owner. + * @param _claimDelaySlots Array of slots to set claim delays + * @param _claimDelays Durations of time (in seconds) to delay + * @param _id Expenditure identifier + * @param _payoutModifierSlots Array of slots to set payout modifiers + * @param _payoutModifiers Values (between +/- WAD) to modify the payout & reputation bonus + * @param _payoutSlots 2-dimensional array of slots to set payouts + * @param _payoutTokens Addresses of the tokens, `0x0` value indicates Ether + * @param _payoutValues 2-dimensional array of the payout amounts + * @param _recipientSlots Array of slots to set recipients + * @param _recipients Addresses of the recipients + * @param _skillIdSlots Array of slots to set skills + * @param _skillIds Ids of the new skills to set + */ + "setExpenditureValues(uint256,uint256[],address[],uint256[],uint256[],uint256[],uint256[],uint256[],int256[],address[],uint256[][],uint256[][])"( + _id: BigNumberish, + _recipientSlots: BigNumberish[], + _recipients: string[], + _skillIdSlots: BigNumberish[], + _skillIds: BigNumberish[], + _claimDelaySlots: BigNumberish[], + _claimDelays: BigNumberish[], + _payoutModifierSlots: BigNumberish[], + _payoutModifiers: BigNumberish[], + _payoutTokens: string[], + _payoutSlots: BigNumberish[][], + _payoutValues: BigNumberish[][], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set arbitrary state on an expenditure slot. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _keys Array of additional keys (for mappings & arrays) + * @param _mask Array of booleans indicated whether a key is a mapping (F) or an array index (T). + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _storageSlot Number of the top-level storage slot (25, 26, or 27) + * @param _value Value to set at location + */ + setExpenditureState( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _storageSlot: BigNumberish, + _mask: boolean[], + _keys: Arrayish[], + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set arbitrary state on an expenditure slot. Can only be called by Arbitration role. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _id Expenditure identifier + * @param _keys Array of additional keys (for mappings & arrays) + * @param _mask Array of booleans indicated whether a key is a mapping (F) or an array index (T). + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _storageSlot Number of the top-level storage slot (25, 26, or 27) + * @param _value Value to set at location + */ + "setExpenditureState(uint256,uint256,uint256,uint256,bool[],bytes32[],bytes32)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _storageSlot: BigNumberish, + _mask: boolean[], + _keys: Arrayish[], + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Claim the payout for an expenditure slot. Here the network receives a fee from each payout. + * @param _id Expenditure identifier + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimExpenditurePayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Claim the payout for an expenditure slot. Here the network receives a fee from each payout. + * @param _id Expenditure identifier + * @param _slot Number of the slot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimExpenditurePayout(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of expenditures in the colony. + */ + getExpenditureCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of expenditures in the colony. + */ + "getExpenditureCount()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure. + * @param _id Expenditure identifier + */ + getExpenditure( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure. + * @param _id Expenditure identifier + */ + "getExpenditure(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure slot. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + */ + getExpenditureSlot( + _id: BigNumberish, + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure slot. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + */ + "getExpenditureSlot(uint256,uint256)"( + _id: BigNumberish, + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure slot's payout for a token. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + * @param _token Token address + */ + getExpenditureSlotPayout( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an existing expenditure slot's payout for a token. + * @param _id Expenditure identifier + * @param _slot Expenditure slot + * @param _token Token address + */ + "getExpenditureSlotPayout(uint256,uint256,address)"( + _id: BigNumberish, + _slot: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new payment in the colony. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the payment belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + * @param _skillId The skill associated with the payment + * @param _token Address of the token, `0x0` value indicates Ether + */ + addPayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _recipient: string, + _token: string, + _amount: BigNumberish, + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Add a new payment in the colony. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId`, (only used if `_permissionDomainId` is different to `_domainId`) + * @param _domainId The domain where the payment belongs + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + * @param _skillId The skill associated with the payment + * @param _token Address of the token, `0x0` value indicates Ether + */ + "addPayment(uint256,uint256,address,address,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _recipient: string, + _token: string, + _amount: BigNumberish, + _domainId: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the payment and logs the reputation log updates. Allowed to be called once after payment is fully funded. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + finalizePayment( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Finalizes the payment and logs the reputation log updates. Allowed to be called once after payment is fully funded. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + */ + "finalizePayment(uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the recipient on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + */ + setPaymentRecipient( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the recipient on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _recipient Address of the payment recipient + */ + "setPaymentRecipient(uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId Id of the new skill to set + */ + setPaymentSkill( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the skill on an existing payment. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId Id of the new skill to set + */ + "setPaymentSkill(uint256,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout for a given token on an existing payment. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _token Address of the token, `0x0` value indicates Ether + */ + setPaymentPayout( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the payout for a given token on an existing payment. Secured function to authorised members. + * @param _amount Payout amount + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Payment identifier + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setPaymentPayout(uint256,uint256,uint256,address,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an exiting payment. + * @param _id Payment identifier + */ + getPayment( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns an exiting payment. + * @param _id Payment identifier + */ + "getPayment(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Payment identifier + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimPayment( + _id: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Payment identifier + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimPayment(uint256,address)"( + _id: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of payments in the colony. + */ + getPaymentCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of payments in the colony. + */ + "getPaymentCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Make a new task in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the task belongs + * @param _dueDate The due date of the task, can set to `0` for no-op + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId The skill associated with the task, can set to `0` for no-op + * @param _specificationHash Database identifier where the task specification is stored + */ + makeTask( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _specificationHash: Arrayish, + _domainId: BigNumberish, + _skillId: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Make a new task in the colony. Secured function to authorised members. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _domainId The domain where the task belongs + * @param _dueDate The due date of the task, can set to `0` for no-op + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _skillId The skill associated with the task, can set to `0` for no-op + * @param _specificationHash Database identifier where the task specification is stored + */ + "makeTask(uint256,uint256,bytes32,uint256,uint256,uint256)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _specificationHash: Arrayish, + _domainId: BigNumberish, + _skillId: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of tasks in the colony. + */ + getTaskCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of tasks in the colony. + */ + "getTaskCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Starts from 0 and is incremented on every co-reviewed task change via `executeTaskChange` call. + * @param _id Id of the task + */ + getTaskChangeNonce( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts from 0 and is incremented on every co-reviewed task change via `executeTaskChange` call. + * @param _id Id of the task + */ + "getTaskChangeNonce(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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 + */ + executeTaskChange( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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 + */ + "executeTaskChange(uint8[],bytes32[],bytes32[],uint8[],uint256,bytes)"( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _data The transaction data + * @param _mode How the signature was generated - 0 for Geth-style (usual), 1 for Trezor-style (only Trezor does this) + * @param _sigR r output of the ECDSA signature of the transaction + * @param _sigS s output of the ECDSA signature of the transaction + * @param _sigV recovery id + * @param _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)"( + _sigV: BigNumberish[], + _sigR: Arrayish[], + _sigS: Arrayish[], + _mode: BigNumberish[], + _value: BigNumberish, + _data: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _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. + * @param _role Id of the role, as defined in TaskRole enum + */ + submitTaskWorkRating( + _id: BigNumberish, + _role: BigNumberish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _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. + * @param _role Id of the role, as defined in TaskRole enum + */ + "submitTaskWorkRating(uint256,uint8,bytes32)"( + _id: BigNumberish, + _role: BigNumberish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * 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. + * @param _id Id of the task + * @param _rating 0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50) + * @param _role Id of the role, as defined in TaskRole enum + * @param _salt Salt value used to generate the rating secret + */ + revealTaskWorkRating( + _id: BigNumberish, + _role: BigNumberish, + _rating: BigNumberish, + _salt: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * 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. + * @param _id Id of the task + * @param _rating 0-50 rating score (in increments of 10, .e.g 0, 10, 20, 30, 40 or 50) + * @param _role Id of the role, as defined in TaskRole enum + * @param _salt Salt value used to generate the rating secret + */ + "revealTaskWorkRating(uint256,uint8,uint8,bytes32)"( + _id: BigNumberish, + _role: BigNumberish, + _rating: BigNumberish, + _salt: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Helper function used to generage consistently the rating secret using salt value `_salt` and value to hide `_value` + * @param _salt Salt value + * @param _value Value to hide + */ + generateSecret( + _salt: Arrayish, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Helper function used to generage consistently the rating secret using salt value `_salt` and value to hide `_value` + * @param _salt Salt value + * @param _value Value to hide + */ + "generateSecret(bytes32,uint256)"( + _salt: Arrayish, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyStorage.RatingSecrets` information for task `_id`. + * @param _id Id of the task + */ + getTaskWorkRatingSecretsInfo( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `ColonyStorage.RatingSecrets` information for task `_id`. + * @param _id Id of the task + */ + "getTaskWorkRatingSecretsInfo(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the rating secret submitted for role `_role` in task `_id` + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + getTaskWorkRatingSecret( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the rating secret submitted for role `_role` in task `_id` + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + "getTaskWorkRatingSecret(uint256,uint8)"( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the task + * @param _permissionDomainId The domain ID in which _user has the Administration permission + * @param _user Address of the user we want to give a manager role to + */ + setTaskManagerRole( + _id: BigNumberish, + _user: string, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _childSkillIndex The index that the `_domainId` is relative to `_permissionDomainId` + * @param _id Id of the task + * @param _permissionDomainId The domain ID in which _user has the Administration permission + * @param _user Address of the user we want to give a manager role to + */ + "setTaskManagerRole(uint256,address,uint256,uint256)"( + _id: BigNumberish, + _user: string, + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a evaluator role to + */ + setTaskEvaluatorRole( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a evaluator role to + */ + "setTaskEvaluatorRole(uint256,address)"( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a worker role to + */ + setTaskWorkerRole( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function can only be called through `executeTaskRoleAssignment`. + * 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. + * @param _id Id of the task + * @param _user Address of the user we want to give a worker role to + */ + "setTaskWorkerRole(uint256,address)"( + _id: BigNumberish, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing evaluator role. Agreed between manager and currently assigned evaluator. + * @param _id Id of the task + */ + removeTaskEvaluatorRole( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing evaluator role. Agreed between manager and currently assigned evaluator. + * @param _id Id of the task + */ + "removeTaskEvaluatorRole(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing worker role. Agreed between manager and currently assigned worker. + * @param _id Id of the task + */ + removeTaskWorkerRole( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Removing worker role. Agreed between manager and currently assigned worker. + * @param _id Id of the task + */ + "removeTaskWorkerRole(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Set the skill for task `_id`. + * @param _id Id of the task + * @param _skillId Id of the skill which has to be a global skill + */ + setTaskSkill( + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Set the skill for task `_id`. + * @param _id Id of the task + * @param _skillId Id of the skill which has to be a global skill + */ + "setTaskSkill(uint256,uint256)"( + _id: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _specificationHash Unique hash of the task brief in ddb + */ + setTaskBrief( + _id: BigNumberish, + _specificationHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _specificationHash Unique hash of the task brief in ddb + */ + "setTaskBrief(uint256,bytes32)"( + _id: BigNumberish, + _specificationHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the due date on task `_id`. Allowed before a task is finalized. + * @param _dueDate Due date as seconds since unix epoch + * @param _id Id of the task + */ + setTaskDueDate( + _id: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the due date on task `_id`. Allowed before a task is finalized. + * @param _dueDate Due date as seconds since unix epoch + * @param _id Id of the task + */ + "setTaskDueDate(uint256,uint256)"( + _id: BigNumberish, + _dueDate: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.deliverableHash` and `task.completionTimestamp` properties. + * 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. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + */ + submitTaskDeliverable( + _id: BigNumberish, + _deliverableHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.deliverableHash` and `task.completionTimestamp` properties. + * 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. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + */ + "submitTaskDeliverable(uint256,bytes32)"( + _id: BigNumberish, + _deliverableHash: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Internally call `submitTaskDeliverable` and `submitTaskWorkRating` in sequence. + * Submit the task deliverable for Worker and rating for Manager. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + * @param _ratingSecret Rating secret for manager + */ + submitTaskDeliverableAndRating( + _id: BigNumberish, + _deliverableHash: Arrayish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Internally call `submitTaskDeliverable` and `submitTaskWorkRating` in sequence. + * Submit the task deliverable for Worker and rating for Manager. + * @param _deliverableHash Unique hash of the task deliverable content in ddb + * @param _id Id of the task + * @param _ratingSecret Rating secret for manager + */ + "submitTaskDeliverableAndRating(uint256,bytes32,bytes32)"( + _id: BigNumberish, + _deliverableHash: Arrayish, + _ratingSecret: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.finalized` property to true + * 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. + * @param _id Id of the task + */ + finalizeTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.finalized` property to true + * 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. + * @param _id Id of the task + */ + "finalizeTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.status` property to `1`. + * 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`. + * @param _id Id of the task + */ + cancelTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the `task.status` property to `1`. + * 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`. + * @param _id Id of the task + */ + "cancelTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + */ + completeTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + */ + "completeTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a task with id `_id` + * @param _id Id of the task + */ + getTask( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a task with id `_id` + * @param _id Id of the task + */ + "getTask(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Role` properties back for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + getTaskRole( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Role` properties back for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + */ + "getTaskRole(uint256,uint8)"( + _id: BigNumberish, + _role: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the reward inverse to pay out from revenue. e.g. if the fee is 1% (or 0.01), set 100. + * @param _rewardInverse The inverse of the reward + */ + setRewardInverse( + _rewardInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the reward inverse to pay out from revenue. e.g. if the fee is 1% (or 0.01), set 100. + * @param _rewardInverse The inverse of the reward + */ + "setRewardInverse(uint256)"( + _rewardInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return 1 / the reward to pay out from revenue. e.g. if the fee is 1% (or 0.01), return 100. + */ + getRewardInverse(overrides?: TransactionOverrides): Promise; + + /** + * Return 1 / the reward to pay out from revenue. e.g. if the fee is 1% (or 0.01), return 100. + */ + "getRewardInverse()"(overrides?: TransactionOverrides): Promise; + + /** + * Get payout amount in `_token` denomination for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + getTaskPayout( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get payout amount in `_token` denomination for role `_role` in task `_id`. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getTaskPayout(uint256,uint8,address)"( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for manager in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskManagerPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for manager in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskManagerPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for evaluator in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskEvaluatorPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for evaluator in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskEvaluatorPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for worker in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + setTaskWorkerPayout( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set `_token` payout for worker in task `_id` to `_amount`. + * @param _amount Payout amount + * @param _id Id of the task + * @param _token Address of the token, `0x0` value indicates Ether + */ + "setTaskWorkerPayout(uint256,address,uint256)"( + _id: BigNumberish, + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only call if evaluator and worker are unassigned or manager, otherwise need signature. + * Set `_token` payout for all roles in task `_id` to the respective amounts. + * @param _evaluatorAmount Payout amount for evaluator + * @param _id Id of the task + * @param _managerAmount Payout amount for manager + * @param _token Address of the token, `0x0` value indicates Ether + * @param _workerAmount Payout amount for worker + */ + setAllTaskPayouts( + _id: BigNumberish, + _token: string, + _managerAmount: BigNumberish, + _evaluatorAmount: BigNumberish, + _workerAmount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only call if evaluator and worker are unassigned or manager, otherwise need signature. + * Set `_token` payout for all roles in task `_id` to the respective amounts. + * @param _evaluatorAmount Payout amount for evaluator + * @param _id Id of the task + * @param _managerAmount Payout amount for manager + * @param _token Address of the token, `0x0` value indicates Ether + * @param _workerAmount Payout amount for worker + */ + "setAllTaskPayouts(uint256,address,uint256,uint256,uint256)"( + _id: BigNumberish, + _token: string, + _managerAmount: BigNumberish, + _evaluatorAmount: BigNumberish, + _workerAmount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimTaskPayout( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _id Id of the task + * @param _role Id of the role, as defined in TaskRole enum + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimTaskPayout(uint256,uint8,address)"( + _id: BigNumberish, + _role: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * @param _token Address of the token used for reward payout + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + startNextRewardPayout( + _token: string, + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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`. + * @param _token Address of the token used for reward payout + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + "startNextRewardPayout(address,bytes,bytes,uint256,bytes32[])"( + _token: string, + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + * @param _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. + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + claimRewardPayout( + _payoutId: BigNumberish, + _squareRoots: BigNumberish[], + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + * @param _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. + * @param branchMask The branchmask of the proof + * @param key Some Reputation hash tree key + * @param siblings The siblings of the proof + * @param value Reputation value + */ + "claimRewardPayout(uint256,uint256[7],bytes,bytes,uint256,bytes32[])"( + _payoutId: BigNumberish, + _squareRoots: BigNumberish[], + key: Arrayish, + value: Arrayish, + branchMask: BigNumberish, + siblings: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Get useful information about specific reward payout. + * @param _payoutId Id of the reward payout + */ + getRewardPayoutInfo( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get useful information about specific reward payout. + * @param _payoutId Id of the reward payout + */ + "getRewardPayoutInfo(uint256)"( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + */ + finalizeRewardPayout( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _payoutId Id of the reward payout + */ + "finalizeRewardPayout(uint256)"( + _payoutId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the reward funding pot (e.g. id: 0) this returns (0, 0, 0). + * Get the non-mapping properties of a pot by id. + * @param _id Id of the pot which details to get + */ + getFundingPot( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the reward funding pot (e.g. id: 0) this returns (0, 0, 0). + * Get the non-mapping properties of a pot by id. + * @param _id Id of the pot which details to get + */ + "getFundingPot(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of funding pots in the colony. + */ + getFundingPotCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of funding pots in the colony. + */ + "getFundingPotCount()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `_token` balance of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + getFundingPotBalance( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `_token` balance of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getFundingPotBalance(uint256,address)"( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the assigned `_token` payouts of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + getFundingPotPayout( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the assigned `_token` payouts of pot with id `_potId`. + * @param _potId Id of the funding pot + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getFundingPotPayout(uint256,address)"( + _potId: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Move a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _childSkillIndex The child index in _permissionDomainId where I will be taking this action + * @param _domainId The domain where I am taking this action, pointed to by _permissionDomainId and _childSkillIndex + * @param _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 + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The same, but for the _toPot which the funds are being moved to + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + moveFundsBetweenPots( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Move a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _childSkillIndex The child index in _permissionDomainId where I will be taking this action + * @param _domainId The domain where I am taking this action, pointed to by _permissionDomainId and _childSkillIndex + * @param _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 + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The same, but for the _toPot which the funds are being moved to + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _domainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * @deprecatedMove a given amount: `_amount` of `_token` funds from funding pot with id `_fromPot` to one with id `_toPot`. + * @param _amount Amount of funds + * @param _fromChildSkillIndex The child index in `_permissionDomainId` where we can find the domain for `_fromPotId` + * @param _fromPot Funding pot id providing the funds + * @param _permissionDomainId The domainId in which I have the permission to take this action + * @param _toChildSkillIndex The child index in `_permissionDomainId` where we can find the domain for `_toPotId` + * @param _toPot Funding pot id receiving the funds + * @param _token Address of the token, `0x0` value indicates Ether + */ + "moveFundsBetweenPots(uint256,uint256,uint256,uint256,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _fromChildSkillIndex: BigNumberish, + _toChildSkillIndex: BigNumberish, + _fromPot: BigNumberish, + _toPot: BigNumberish, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _token Address of the token, `0x0` value indicates Ether + */ + claimColonyFunds( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * @param _token Address of the token, `0x0` value indicates Ether + */ + "claimColonyFunds(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the total amount of tokens `_token` minus amount reserved to be paid to the reputation and token holders as rewards. + * @param _token Address of the token, `0x0` value indicates Ether + */ + getNonRewardPotsTotal( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the total amount of tokens `_token` minus amount reserved to be paid to the reputation and token holders as rewards. + * @param _token Address of the token, `0x0` value indicates Ether + */ + "getNonRewardPotsTotal(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Allow the _approvee to obligate some amount of tokens as a stake. + * @param _amount Amount of internal token up to which we are willing to be obligated. + * @param _approvee Address of the account we are willing to let obligate us. + * @param _domainId Domain in which we are willing to be obligated. + */ + approveStake( + _approvee: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Allow the _approvee to obligate some amount of tokens as a stake. + * @param _amount Amount of internal token up to which we are willing to be obligated. + * @param _approvee Address of the account we are willing to let obligate us. + * @param _domainId Domain in which we are willing to be obligated. + */ + "approveStake(address,uint256,uint256)"( + _approvee: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Obligate the user some amount of tokens as a stake. + * @param _amount Amount of internal token we are obligating. + * @param _domainId Domain in which we are obligating the user. + * @param _user Address of the account we are obligating. + */ + obligateStake( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Obligate the user some amount of tokens as a stake. + * @param _amount Amount of internal token we are obligating. + * @param _domainId Domain in which we are obligating the user. + * @param _user Address of the account we are obligating. + */ + "obligateStake(address,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deobligate the user some amount of tokens, releasing the stake. + * @param _amount Amount of internal token we are deobligating. + * @param _domainId Domain in which we are deobligating the user. + * @param _user Address of the account we are deobligating. + */ + deobligateStake( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Deobligate the user some amount of tokens, releasing the stake. + * @param _amount Amount of internal token we are deobligating. + * @param _domainId Domain in which we are deobligating the user. + * @param _user Address of the account we are deobligating. + */ + "deobligateStake(address,uint256,uint256)"( + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Transfer some amount of obligated tokens. Can be called by the arbitration role. + * @param _amount Amount of internal token we are transferring. + * @param _childSkillIndex The child index in `_permissionDomainId` where we can find `_domainId`. + * @param _domainId Domain in which we are transferring the tokens. + * @param _obligator Address of the account who set the obligation. + * @param _permissionDomainId The domainId in which I have the permission to take this action. + * @param _recipient Recipient of the transferred tokens. + * @param _user Address of the account we are transferring. + */ + transferStake( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _obligator: string, + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Transfer some amount of obligated tokens. Can be called by the arbitration role. + * @param _amount Amount of internal token we are transferring. + * @param _childSkillIndex The child index in `_permissionDomainId` where we can find `_domainId`. + * @param _domainId Domain in which we are transferring the tokens. + * @param _obligator Address of the account who set the obligation. + * @param _permissionDomainId The domainId in which I have the permission to take this action. + * @param _recipient Recipient of the transferred tokens. + * @param _user Address of the account we are transferring. + */ + "transferStake(uint256,uint256,address,address,uint256,uint256,address)"( + _permissionDomainId: BigNumberish, + _childSkillIndex: BigNumberish, + _obligator: string, + _user: string, + _domainId: BigNumberish, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an approval to obligate tokens. + * @param _domainId Domain in which we are willing to be obligated. + * @param _obligator Address of the account we are willing to let obligate us. + * @param _user User allowing their tokens to be obligated. + */ + getApproval( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an approval to obligate tokens. + * @param _domainId Domain in which we are willing to be obligated. + * @param _obligator Address of the account we are willing to let obligate us. + * @param _user User allowing their tokens to be obligated. + */ + "getApproval(address,address,uint256)"( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an obligation of tokens. + * @param _domainId Domain in which we are obligated. + * @param _obligator Address of the account who obligated us. + * @param _user User whose tokens are obligated. + */ + getObligation( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * View an obligation of tokens. + * @param _domainId Domain in which we are obligated. + * @param _obligator Address of the account who obligated us. + * @param _user User whose tokens are obligated. + */ + "getObligation(address,address,uint256)"( + _user: string, + _obligator: string, + _domainId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the domain corresponding to a funding pot + * @param _fundingPotId Id of the funding pot + */ + getDomainFromFundingPot( + _fundingPotId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the domain corresponding to a funding pot + * @param _fundingPotId Id of the funding pot + */ + "getDomainFromFundingPot(uint256)"( + _fundingPotId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Burn tokens held by the colony. Can only burn tokens held in the root funding pot. + * @param amount The amount of tokens to burn + * @param token The address of the token to burn + */ + burnTokens( + token: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Burn tokens held by the colony. Can only burn tokens held in the root funding pot. + * @param amount The amount of tokens to burn + * @param token The address of the token to burn + */ + "burnTokens(address,uint256)"( + token: string, + amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * unlock the native colony token, if possible + */ + unlockToken(overrides?: TransactionOverrides): Promise; + + /** + * unlock the native colony token, if possible + */ + "unlockToken()"(overrides?: TransactionOverrides): Promise; + + /** + * Update the internal bookkeeping around external ERC20 approvals + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + updateApprovalAmount( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update the internal bookkeeping around external ERC20 approvals + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + "updateApprovalAmount(address,address)"( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current approval amount + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + getTokenApproval( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current approval amount + * @param spender The account we have approved + * @param token The address of the token which was approved + */ + "getTokenApproval(address,address)"( + token: string, + spender: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current total approval amount across all spenders + * @param token The address of the token which was approved + */ + getTotalTokenApproval( + token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the current total approval amount across all spenders + * @param token The address of the token which was approved + */ + "getTotalTokenApproval(address)"( + token: string, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/colony/12/IColonyNetwork.d.ts b/src/contracts/colony/12/IColonyNetwork.d.ts new file mode 100644 index 000000000..2a4285534 --- /dev/null +++ b/src/contracts/colony/12/IColonyNetwork.d.ts @@ -0,0 +1,5622 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface IColonyNetworkInterface extends Interface { + functions: { + approveExitRecovery: TypedFunctionDescription<{ encode([]: []): string }>; + + checkNotAdditionalProtectedVariable: TypedFunctionDescription<{ + encode([_slot]: [BigNumberish]): string; + }>; + + enterRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + + executeMetaTransaction: TypedFunctionDescription<{ + encode([userAddress, payload, sigR, sigS, sigV]: [ + string, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + exitRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + + getMetatransactionNonce: TypedFunctionDescription<{ + encode([userAddress]: [string]): string; + }>; + + isInRecoveryMode: TypedFunctionDescription<{ encode([]: []): string }>; + + multicall: TypedFunctionDescription<{ + encode([data]: [Arrayish[]]): string; + }>; + + numRecoveryRoles: TypedFunctionDescription<{ encode([]: []): string }>; + + removeRecoveryRole: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + setRecoveryRole: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + setStorageSlotRecovery: TypedFunctionDescription<{ + encode([_slot, _value]: [BigNumberish, Arrayish]): string; + }>; + + supportsInterface: TypedFunctionDescription<{ + encode([_interfaceID]: [Arrayish]): string; + }>; + + setReplacementReputationUpdateLogEntry: TypedFunctionDescription<{ + encode([ + _reputationMiningCycle, + _id, + _user, + _amount, + _skillId, + _colony, + _nUpdates, + _nPreviousUpdates, + ]: [ + string, + BigNumberish, + string, + BigNumberish, + BigNumberish, + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + getReplacementReputationUpdateLogEntry: TypedFunctionDescription<{ + encode([_reputationMiningCycle, _id]: [string, BigNumberish]): string; + }>; + + getReplacementReputationUpdateLogsExist: TypedFunctionDescription<{ + encode([_reputationMiningCycle]: [string]): string; + }>; + + getMetaColony: TypedFunctionDescription<{ encode([]: []): string }>; + + getColonyCount: TypedFunctionDescription<{ encode([]: []): string }>; + + isColony: TypedFunctionDescription<{ encode([_colony]: [string]): string }>; + + addSkill: TypedFunctionDescription<{ + encode([_parentSkillId]: [BigNumberish]): string; + }>; + + getSkill: TypedFunctionDescription<{ + encode([_skillId]: [BigNumberish]): string; + }>; + + deprecateSkill: TypedFunctionDescription<{ + encode([_skillId]: [BigNumberish]): string; + }>; + + initialiseRootLocalSkill: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + appendReputationUpdateLog: TypedFunctionDescription<{ + encode([_user, _amount, _skillId]: [ + string, + BigNumberish, + BigNumberish + ]): string; + }>; + + getSkillCount: TypedFunctionDescription<{ encode([]: []): string }>; + + getReputationMiningSkillId: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + setTokenLocking: TypedFunctionDescription<{ + encode([_tokenLockingAddress]: [string]): string; + }>; + + getTokenLocking: TypedFunctionDescription<{ encode([]: []): string }>; + + createMetaColony: TypedFunctionDescription<{ + encode([_tokenAddress]: [string]): string; + }>; + + createColony: TypedFunctionDescription<{ + encode([_tokenAddress]: [string]): string; + }>; + + createColonyForFrontend: TypedFunctionDescription<{ + encode([ + _tokenAddress, + _name, + _symbol, + _decimals, + _version, + _colonyName, + _metadata, + ]: [ + string, + string, + string, + BigNumberish, + BigNumberish, + string, + string + ]): string; + }>; + + addColonyVersion: TypedFunctionDescription<{ + encode([_version, _resolver]: [BigNumberish, string]): string; + }>; + + initialise: TypedFunctionDescription<{ + encode([_resolver, _version]: [string, BigNumberish]): string; + }>; + + getColony: TypedFunctionDescription<{ + encode([_id]: [BigNumberish]): string; + }>; + + getCurrentColonyVersion: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getParentSkillId: TypedFunctionDescription<{ + encode([_skillId, _parentSkillIndex]: [ + BigNumberish, + BigNumberish + ]): string; + }>; + + getChildSkillId: TypedFunctionDescription<{ + encode([_skillId, _childSkillIndex]: [ + BigNumberish, + BigNumberish + ]): string; + }>; + + getReputationMiningCycle: TypedFunctionDescription<{ + encode([_active]: [boolean]): string; + }>; + + calculateMinerWeight: TypedFunctionDescription<{ + encode([_timeStaked, _submissonIndex]: [ + BigNumberish, + BigNumberish + ]): string; + }>; + + getColonyVersionResolver: TypedFunctionDescription<{ + encode([_version]: [BigNumberish]): string; + }>; + + setReputationRootHash: TypedFunctionDescription<{ + encode([_newHash, _newNLeaves, _stakers]: [ + Arrayish, + BigNumberish, + string[] + ]): string; + }>; + + startNextCycle: TypedFunctionDescription<{ encode([]: []): string }>; + + initialiseReputationMining: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getReputationRootHash: TypedFunctionDescription<{ encode([]: []): string }>; + + getReputationRootHashNLeaves: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + getReputationRootHashNNodes: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + startTokenAuction: TypedFunctionDescription<{ + encode([_token]: [string]): string; + }>; + + setupRegistrar: TypedFunctionDescription<{ + encode([_ens, _rootNode]: [string, Arrayish]): string; + }>; + + registerUserLabel: TypedFunctionDescription<{ + encode([_username, _orbitdb]: [string, string]): string; + }>; + + registerColonyLabel: TypedFunctionDescription<{ + encode([_colonyName, _orbitdb]: [string, string]): string; + }>; + + updateColonyOrbitDB: TypedFunctionDescription<{ + encode([_orbitdb]: [string]): string; + }>; + + updateUserOrbitDB: TypedFunctionDescription<{ + encode([_orbitdb]: [string]): string; + }>; + + getProfileDBAddress: TypedFunctionDescription<{ + encode([_node]: [Arrayish]): string; + }>; + + lookupRegisteredENSDomain: TypedFunctionDescription<{ + encode([_addr]: [string]): string; + }>; + + addr: TypedFunctionDescription<{ encode([_node]: [Arrayish]): string }>; + + getENSRegistrar: TypedFunctionDescription<{ encode([]: []): string }>; + + setMiningResolver: TypedFunctionDescription<{ + encode([_miningResolverAddress]: [string]): string; + }>; + + getMiningResolver: TypedFunctionDescription<{ encode([]: []): string }>; + + addExtensionToNetwork: TypedFunctionDescription<{ + encode([_extensionId, _resolver]: [Arrayish, string]): string; + }>; + + installExtension: TypedFunctionDescription<{ + encode([_extensionId, _version]: [Arrayish, BigNumberish]): string; + }>; + + upgradeExtension: TypedFunctionDescription<{ + encode([_extensionId, _newVersion]: [Arrayish, BigNumberish]): string; + }>; + + deprecateExtension: TypedFunctionDescription<{ + encode([_extensionId, _deprecated]: [Arrayish, boolean]): string; + }>; + + uninstallExtension: TypedFunctionDescription<{ + encode([_extensionId]: [Arrayish]): string; + }>; + + getExtensionResolver: TypedFunctionDescription<{ + encode([_extensionId, _version]: [Arrayish, BigNumberish]): string; + }>; + + getExtensionInstallation: TypedFunctionDescription<{ + encode([_extensionId, _colony]: [Arrayish, string]): string; + }>; + + getFeeInverse: TypedFunctionDescription<{ encode([]: []): string }>; + + setFeeInverse: TypedFunctionDescription<{ + encode([_feeInverse]: [BigNumberish]): string; + }>; + + getPayoutWhitelist: TypedFunctionDescription<{ + encode([_token]: [string]): string; + }>; + + setPayoutWhitelist: TypedFunctionDescription<{ + encode([_token, _status]: [string, boolean]): string; + }>; + + punishStakers: TypedFunctionDescription<{ + encode([_stakers, _amount]: [string[], BigNumberish]): string; + }>; + + stakeForMining: TypedFunctionDescription<{ + encode([_amount]: [BigNumberish]): string; + }>; + + unstakeForMining: TypedFunctionDescription<{ + encode([_amount]: [BigNumberish]): string; + }>; + + getMiningStake: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + reward: TypedFunctionDescription<{ + encode([_recipient, _amount]: [string, BigNumberish]): string; + }>; + + burnUnneededRewards: TypedFunctionDescription<{ + encode([_amount]: [BigNumberish]): string; + }>; + + claimMiningReward: TypedFunctionDescription<{ + encode([_recipient]: [string]): string; + }>; + + setReputationMiningCycleReward: TypedFunctionDescription<{ + encode([_amount]: [BigNumberish]): string; + }>; + + getReputationMiningCycleReward: TypedFunctionDescription<{ + encode([]: []): string; + }>; + + deployTokenViaNetwork: TypedFunctionDescription<{ + encode([_name, _symbol, _decimals]: [ + string, + string, + BigNumberish + ]): string; + }>; + + deployTokenAuthority: TypedFunctionDescription<{ + encode([_token, _colony, _allowedToTransfer]: [ + string, + string, + string[] + ]): string; + }>; + + setMiningDelegate: TypedFunctionDescription<{ + encode([_delegate, _allowed]: [string, boolean]): string; + }>; + + getMiningDelegator: TypedFunctionDescription<{ + encode([_delegate]: [string]): string; + }>; + }; + + events: { + AuctionCreated: TypedEventDescription<{ + encodeTopics([auction, token, quantity]: [null, null, null]): string[]; + }>; + + ColonyAdded: TypedEventDescription<{ + encodeTopics([colonyId, colonyAddress, token]: [ + BigNumberish | null, + string | null, + null + ]): string[]; + }>; + + ColonyLabelRegistered: TypedEventDescription<{ + encodeTopics([colony, label]: [string | null, null]): string[]; + }>; + + ColonyNetworkInitialised: TypedEventDescription<{ + encodeTopics([resolver]: [null]): string[]; + }>; + + ColonyVersionAdded: TypedEventDescription<{ + encodeTopics([version, resolver]: [null, null]): string[]; + }>; + + ExtensionAddedToNetwork: TypedEventDescription<{ + encodeTopics([extensionId, version]: [Arrayish | null, null]): string[]; + }>; + + ExtensionDeprecated: TypedEventDescription<{ + encodeTopics([extensionId, colony, deprecated]: [ + Arrayish | null, + string | null, + null + ]): string[]; + }>; + + ExtensionInstalled: TypedEventDescription<{ + encodeTopics([extensionId, colony, version]: [ + Arrayish | null, + string | null, + null + ]): string[]; + }>; + + ExtensionUninstalled: TypedEventDescription<{ + encodeTopics([extensionId, colony]: [ + Arrayish | null, + string | null + ]): string[]; + }>; + + ExtensionUpgraded: TypedEventDescription<{ + encodeTopics([extensionId, colony, version]: [ + Arrayish | null, + string | null, + null + ]): string[]; + }>; + + MetaColonyCreated: TypedEventDescription<{ + encodeTopics([metaColony, token, rootSkillId]: [ + null, + null, + null + ]): string[]; + }>; + + MetaTransactionExecuted: TypedEventDescription<{ + encodeTopics([userAddress, relayerAddress, payload]: [ + null, + null, + null + ]): string[]; + }>; + + MiningCycleResolverSet: TypedEventDescription<{ + encodeTopics([miningCycleResolver]: [null]): string[]; + }>; + + NetworkFeeInverseSet: TypedEventDescription<{ + encodeTopics([feeInverse]: [null]): string[]; + }>; + + RecoveryModeEntered: TypedEventDescription<{ + encodeTopics([user]: [null]): string[]; + }>; + + RecoveryModeExitApproved: TypedEventDescription<{ + encodeTopics([user]: [null]): string[]; + }>; + + RecoveryModeExited: TypedEventDescription<{ + encodeTopics([user]: [null]): string[]; + }>; + + RecoveryRoleSet: TypedEventDescription<{ + encodeTopics([user, setTo]: [string | null, null]): string[]; + }>; + + RecoveryStorageSlotSet: TypedEventDescription<{ + encodeTopics([user, slot, fromValue, toValue]: [ + null, + null, + null, + null + ]): string[]; + }>; + + RegistrarInitialised: TypedEventDescription<{ + encodeTopics([ens, rootNode]: [null, null]): string[]; + }>; + + ReputationMinerPenalised: TypedEventDescription<{ + encodeTopics([miner, tokensLost]: [null, null]): string[]; + }>; + + ReputationMiningCycleComplete: TypedEventDescription<{ + encodeTopics([hash, nLeaves]: [null, null]): string[]; + }>; + + ReputationMiningInitialised: TypedEventDescription<{ + encodeTopics([inactiveReputationMiningCycle]: [null]): string[]; + }>; + + ReputationMiningRewardSet: TypedEventDescription<{ + encodeTopics([amount]: [null]): string[]; + }>; + + ReputationRootHashSet: TypedEventDescription<{ + encodeTopics([newHash, newNLeaves, stakers, reward]: [ + null, + null, + null, + null + ]): string[]; + }>; + + SkillAdded: TypedEventDescription<{ + encodeTopics([skillId, parentSkillId]: [null, null]): string[]; + }>; + + TokenAuthorityDeployed: TypedEventDescription<{ + encodeTopics([tokenAuthorityAddress]: [null]): string[]; + }>; + + TokenDeployed: TypedEventDescription<{ + encodeTopics([tokenAddress]: [null]): string[]; + }>; + + TokenLockingAddressSet: TypedEventDescription<{ + encodeTopics([tokenLocking]: [null]): string[]; + }>; + + TokenWhitelisted: TypedEventDescription<{ + encodeTopics([token, status]: [null, null]): string[]; + }>; + + UserLabelRegistered: TypedEventDescription<{ + encodeTopics([user, label]: [string | null, null]): string[]; + }>; + }; +} + +export class IColonyNetwork extends Contract { + connect(signerOrProvider: Signer | Provider | string): IColonyNetwork; + attach(addressOrName: string): IColonyNetwork; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): IColonyNetwork; + once(event: EventFilter | string, listener: Listener): IColonyNetwork; + addListener( + eventName: EventFilter | string, + listener: Listener + ): IColonyNetwork; + removeAllListeners(eventName: EventFilter | string): IColonyNetwork; + removeListener(eventName: any, listener: Listener): IColonyNetwork; + + interface: IColonyNetworkInterface; + + functions: { + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + approveExitRecovery( + overrides?: TransactionOverrides + ): Promise; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + "approveExitRecovery()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + checkNotAdditionalProtectedVariable( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + "checkNotAdditionalProtectedVariable(uint256)"( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + enterRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + "enterRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + executeMetaTransaction( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + exitRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + "exitRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Is colony network in recovery mode. + */ + isInRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Is colony network in recovery mode. + */ + "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Return number of recovery roles. + */ + numRecoveryRoles(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + "numRecoveryRoles()"(overrides?: TransactionOverrides): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + removeRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + "removeRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + setRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + "setRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + setStorageSlotRecovery( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + "setStorageSlotRecovery(uint256,bytes32)"( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Interface identification is specified in ERC-165. + * Query if a contract implements an interface + * @param _interfaceID The interface identifier, as specified in ERC-165 + */ + supportsInterface( + _interfaceID: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Interface identification is specified in ERC-165. + * Query if a contract implements an interface + * @param _interfaceID The interface identifier, as specified in ERC-165 + */ + "supportsInterface(bytes4)"( + _interfaceID: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Note that strictly, `_nUpdates` and `_nPreviousUpdates` don't need to be set - they're only used during dispute resolution, which these replacement log entries are never used for. However, for ease of resyncing the client, we have decided to include them for now. + * Set a replacement log entry if we're in recovery mode. + * @param _amount The amount of reputation being earned / lost + * @param _colony The address of the colony being updated + * @param _id The number of the log entry in the reputation mining cycle in question. + * @param _nPreviousUpdates The number of updates in the log before this entry + * @param _nUpdates The number of updates the log entry corresponds to + * @param _reputationMiningCycle The address of the reputation mining cycle that the log was in. + * @param _skillId The id of the origin skill for the reputation update + * @param _user The address of the user earning / losing the reputation + */ + setReplacementReputationUpdateLogEntry( + _reputationMiningCycle: string, + _id: BigNumberish, + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + _colony: string, + _nUpdates: BigNumberish, + _nPreviousUpdates: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Note that strictly, `_nUpdates` and `_nPreviousUpdates` don't need to be set - they're only used during dispute resolution, which these replacement log entries are never used for. However, for ease of resyncing the client, we have decided to include them for now. + * Set a replacement log entry if we're in recovery mode. + * @param _amount The amount of reputation being earned / lost + * @param _colony The address of the colony being updated + * @param _id The number of the log entry in the reputation mining cycle in question. + * @param _nPreviousUpdates The number of updates in the log before this entry + * @param _nUpdates The number of updates the log entry corresponds to + * @param _reputationMiningCycle The address of the reputation mining cycle that the log was in. + * @param _skillId The id of the origin skill for the reputation update + * @param _user The address of the user earning / losing the reputation + */ + "setReplacementReputationUpdateLogEntry(address,uint256,address,int256,uint256,address,uint128,uint128)"( + _reputationMiningCycle: string, + _id: BigNumberish, + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + _colony: string, + _nUpdates: BigNumberish, + _nPreviousUpdates: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a replacement log entry (if set) for the log entry `_id` in the mining cycle that was at the address `_reputationMiningCycle`. + * @param _id The log entry number we wish to see if there is a replacement for + * @param _reputationMiningCycle The address of the reputation mining cycle we are asking about + */ + getReplacementReputationUpdateLogEntry( + _reputationMiningCycle: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, string, BigNumber, BigNumber] & { + user: string; + amount: BigNumber; + skillId: BigNumber; + colony: string; + nUpdates: BigNumber; + nPreviousUpdates: BigNumber; + } + >; + + /** + * Get a replacement log entry (if set) for the log entry `_id` in the mining cycle that was at the address `_reputationMiningCycle`. + * @param _id The log entry number we wish to see if there is a replacement for + * @param _reputationMiningCycle The address of the reputation mining cycle we are asking about + */ + "getReplacementReputationUpdateLogEntry(address,uint256)"( + _reputationMiningCycle: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, string, BigNumber, BigNumber] & { + user: string; + amount: BigNumber; + skillId: BigNumber; + colony: string; + nUpdates: BigNumber; + nPreviousUpdates: BigNumber; + } + >; + + /** + * Get whether any replacement log entries have been set for the supplied reputation mining cycle.Used by the client to avoid doubling the number of RPC calls when syncing from scratch. + * @param _reputationMiningCycle The reputation mining cycle address we want to know if any entries have been replaced in. + */ + getReplacementReputationUpdateLogsExist( + _reputationMiningCycle: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get whether any replacement log entries have been set for the supplied reputation mining cycle.Used by the client to avoid doubling the number of RPC calls when syncing from scratch. + * @param _reputationMiningCycle The reputation mining cycle address we want to know if any entries have been replaced in. + */ + "getReplacementReputationUpdateLogsExist(address)"( + _reputationMiningCycle: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the Meta Colony address. + */ + getMetaColony(overrides?: TransactionOverrides): Promise; + + /** + * Get the Meta Colony address. + */ + "getMetaColony()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of colonies in the network. + */ + getColonyCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of colonies in the network. + */ + "getColonyCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Check if specific address is a colony created on colony network. + * @param _colony Address of the colony + */ + isColony( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Check if specific address is a colony created on colony network. + * @param _colony Address of the colony + */ + "isColony(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if the parent skill does not exist or if this is called by an unauthorised sender. + * Adds a new skill to the global or local skills tree, under skill `_parentSkillId`. Only the Meta Colony is allowed to add a global skill, called via `IColony.addGlobalSkill`. Any colony is allowed to add a local skill and which is associated with a new domain via `IColony.addDomain`. + * @param _parentSkillId Id of the skill under which the new skill will be added. If 0, a global skill is added with no parent. + */ + addSkill( + _parentSkillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if the parent skill does not exist or if this is called by an unauthorised sender. + * Adds a new skill to the global or local skills tree, under skill `_parentSkillId`. Only the Meta Colony is allowed to add a global skill, called via `IColony.addGlobalSkill`. Any colony is allowed to add a local skill and which is associated with a new domain via `IColony.addDomain`. + * @param _parentSkillId Id of the skill under which the new skill will be added. If 0, a global skill is added with no parent. + */ + "addSkill(uint256)"( + _parentSkillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `nParents` and `nChildren` of skill with id `_skillId`. + * @param _skillId Id of the skill + */ + getSkill( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber[], BigNumber[], boolean, boolean] & { + nParents: BigNumber; + nChildren: BigNumber; + parents: BigNumber[]; + children: BigNumber[]; + globalSkill: boolean; + deprecated: boolean; + } + >; + + /** + * Get the `nParents` and `nChildren` of skill with id `_skillId`. + * @param _skillId Id of the skill + */ + "getSkill(uint256)"( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber[], BigNumber[], boolean, boolean] & { + nParents: BigNumber; + nChildren: BigNumber; + parents: BigNumber[]; + children: BigNumber[]; + globalSkill: boolean; + deprecated: boolean; + } + >; + + /** + * This function is deprecated and will be removed in a future release + * Mark a skill as deprecated which stops new tasks and payments from using it. + * @param _skillId Id of the skill + */ + deprecateSkill( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function is deprecated and will be removed in a future release + * Mark a skill as deprecated which stops new tasks and payments from using it. + * @param _skillId Id of the skill + */ + "deprecateSkill(uint256)"( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set deprecation status for a skill + * @param _deprecated Deprecation status + * @param _skillId Id of the skill + */ + "deprecateSkill(uint256,bool)"( + _skillId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skills tree for a colony + */ + initialiseRootLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skills tree for a colony + */ + "initialiseRootLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if it is called by anyone but a colony or if skill with id `_skillId` does not exist or. + * Adds a reputation update entry to log. + * @param _amount The amount of reputation change for the update, this can be a negative as well as a positive value + * @param _skillId The skill for the reputation update + * @param _user The address of the user for the reputation update + */ + appendReputationUpdateLog( + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if it is called by anyone but a colony or if skill with id `_skillId` does not exist or. + * Adds a reputation update entry to log. + * @param _amount The amount of reputation change for the update, this can be a negative as well as a positive value + * @param _skillId The skill for the reputation update + * @param _user The address of the user for the reputation update + */ + "appendReputationUpdateLog(address,int256,uint256)"( + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of skills in the network including both global and local skills. + */ + getSkillCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of skills in the network including both global and local skills. + */ + "getSkillCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the `skillId` of the reputation mining skill. Only set once the metacolony is set up. + */ + getReputationMiningSkillId( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `skillId` of the reputation mining skill. Only set once the metacolony is set up. + */ + "getReputationMiningSkillId()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the token locking address. This is only set once, and can't be changed afterwards. + * @param _tokenLockingAddress Address of the locking contract + */ + setTokenLocking( + _tokenLockingAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the token locking address. This is only set once, and can't be changed afterwards. + * @param _tokenLockingAddress Address of the locking contract + */ + "setTokenLocking(address)"( + _tokenLockingAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get token locking contract address. + */ + getTokenLocking(overrides?: TransactionOverrides): Promise; + + /** + * Get token locking contract address. + */ + "getTokenLocking()"(overrides?: TransactionOverrides): Promise; + + /** + * Create the Meta Colony, same as a normal colony plus the root skill. + * @param _tokenAddress Address of the CLNY token + */ + createMetaColony( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Create the Meta Colony, same as a normal colony plus the root skill. + * @param _tokenAddress Address of the CLNY token + */ + "createMetaColony(address)"( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, at version 3 + * @param _tokenAddress Address of an ERC20 token to serve as the colony token. + */ + createColony( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, at version 3 + * @param _tokenAddress Address of an ERC20 token to serve as the colony token. + */ + "createColony(address)"( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the colony to mint tokens, token ownership must be transferred to the new colonyWe expect this function to only be used by the dapp + * Creates a new colony in the network, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _metadata The metadata associated with the new colony + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string,string)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Overload of the simpler `createColony` -- creates a new colony in the network with a variety of options, at version 4 + * @param _colonyName The label to register (if null, no label is registered) + * @param _orbitdb DEPRECATED Currently a no-op + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _useExtensionManager DEPRECATED Currently a no-op + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string,string,bool)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + _orbitdb: string, + _useExtensionManager: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * We expect this function to only be used by the dapp + * Creates a new colony in the network, possibly with a token and token authority, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to (optional) In the case of ETH, and most tokens, this is 18. + * @param _metadata The metadata associated with the new colony + * @param _name The name of the token (optional) + * @param _symbol The short 'ticket' symbol for the token (optional) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token (optional) + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + createColonyForFrontend( + _tokenAddress: string, + _name: string, + _symbol: string, + _decimals: BigNumberish, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * We expect this function to only be used by the dapp + * Creates a new colony in the network, possibly with a token and token authority, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to (optional) In the case of ETH, and most tokens, this is 18. + * @param _metadata The metadata associated with the new colony + * @param _name The name of the token (optional) + * @param _symbol The short 'ticket' symbol for the token (optional) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token (optional) + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColonyForFrontend(address,string,string,uint8,uint256,string,string)"( + _tokenAddress: string, + _name: string, + _symbol: string, + _decimals: BigNumberish, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. + * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract + * @param _version The new Colony contract version + */ + addColonyVersion( + _version: BigNumberish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. + * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract + * @param _version The new Colony contract version + */ + "addColonyVersion(uint256,address)"( + _version: BigNumberish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be run once, by the Network owner before any Colony versions are added. + * Initialises the colony network by setting the first Colony version resolver to `_resolver` address. + * @param _resolver Address of the resolver for Colony contract + * @param _version Version of the Colony contract the resolver represents + */ + initialise( + _resolver: string, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be run once, by the Network owner before any Colony versions are added. + * Initialises the colony network by setting the first Colony version resolver to `_resolver` address. + * @param _resolver Address of the resolver for Colony contract + * @param _version Version of the Colony contract the resolver represents + */ + "initialise(address,uint256)"( + _resolver: string, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a colony address by its Id in the network. + * @param _id Id of the colony to get + */ + getColony( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a colony address by its Id in the network. + * @param _id Id of the colony to get + */ + "getColony(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the latest Colony contract version. This is the version used to create all new colonies. + */ + getCurrentColonyVersion( + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the latest Colony contract version. This is the version used to create all new colonies. + */ + "getCurrentColonyVersion()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the parent skill at index `_parentSkillIndex` for skill with Id `_skillId`. + * @param _parentSkillIndex Index of the `skill.parents` array to get Note that not all parent skill ids are stored here. See `Skill.parents` member for definition on which parents are stored + * @param _skillId Id of the skill + */ + getParentSkillId( + _skillId: BigNumberish, + _parentSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the parent skill at index `_parentSkillIndex` for skill with Id `_skillId`. + * @param _parentSkillIndex Index of the `skill.parents` array to get Note that not all parent skill ids are stored here. See `Skill.parents` member for definition on which parents are stored + * @param _skillId Id of the skill + */ + "getParentSkillId(uint256,uint256)"( + _skillId: BigNumberish, + _parentSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the child skill at index `_childSkillIndex` for skill with Id `_skillId`. + * @param _childSkillIndex Index of the `skill.children` array to get + * @param _skillId Id of the skill + */ + getChildSkillId( + _skillId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the child skill at index `_childSkillIndex` for skill with Id `_skillId`. + * @param _childSkillIndex Index of the `skill.children` array to get + * @param _skillId Id of the skill + */ + "getChildSkillId(uint256,uint256)"( + _skillId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of either the active or inactive reputation mining cycle, based on `active`. The active reputation mining cycle is the one currently under consideration by reputation miners. The inactive reputation cycle is the one with the log that is being appended to. + * @param _active Whether the user wants the active or inactive reputation mining cycle + */ + getReputationMiningCycle( + _active: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of either the active or inactive reputation mining cycle, based on `active`. The active reputation mining cycle is the one currently under consideration by reputation miners. The inactive reputation cycle is the one with the log that is being appended to. + * @param _active Whether the user wants the active or inactive reputation mining cycle + */ + "getReputationMiningCycle(bool)"( + _active: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Calculate raw miner weight in WADs. + * @param _submissonIndex Index of reputation hash submission (between 0 and 11) + * @param _timeStaked Amount of time (in seconds) that the miner has staked their CLNY + */ + calculateMinerWeight( + _timeStaked: BigNumberish, + _submissonIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Calculate raw miner weight in WADs. + * @param _submissonIndex Index of reputation hash submission (between 0 and 11) + * @param _timeStaked Amount of time (in seconds) that the miner has staked their CLNY + */ + "calculateMinerWeight(uint256,uint256)"( + _timeStaked: BigNumberish, + _submissonIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Resolver` address for Colony contract version `_version`. + * @param _version The Colony contract version + */ + getColonyVersionResolver( + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Resolver` address for Colony contract version `_version`. + * @param _version The Colony contract version + */ + "getColonyVersionResolver(uint256)"( + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a new Reputation root hash and starts a new mining cycle. Can only be called by the ReputationMiningCycle contract. + * @param _newHash The reputation root hash + * @param _newNLeaves The updated leaves count value + * @param _stakers Array of users who submitted or backed the hash, being accepted here as the new reputation root hash + */ + setReputationRootHash( + _newHash: Arrayish, + _newNLeaves: BigNumberish, + _stakers: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a new Reputation root hash and starts a new mining cycle. Can only be called by the ReputationMiningCycle contract. + * @param _newHash The reputation root hash + * @param _newNLeaves The updated leaves count value + * @param _stakers Array of users who submitted or backed the hash, being accepted here as the new reputation root hash + */ + "setReputationRootHash(bytes32,uint256,address[])"( + _newHash: Arrayish, + _newNLeaves: BigNumberish, + _stakers: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts a new Reputation Mining cycle. Explicitly called only the first time, subsequently called from within `setReputationRootHash`. + */ + startNextCycle( + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts a new Reputation Mining cycle. Explicitly called only the first time, subsequently called from within `setReputationRootHash`. + */ + "startNextCycle()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Creates initial inactive reputation mining cycle. + */ + initialiseReputationMining( + overrides?: TransactionOverrides + ): Promise; + + /** + * Creates initial inactive reputation mining cycle. + */ + "initialiseReputationMining()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the root hash of the current reputation state tree. + */ + getReputationRootHash(overrides?: TransactionOverrides): Promise; + + /** + * Get the root hash of the current reputation state tree. + */ + "getReputationRootHash()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * I cannot see a reason why a user's client would need to call this - only stored to help with some edge cases in reputation mining dispute resolution. + * Get the number of leaves in the current reputation state tree. + */ + getReputationRootHashNLeaves( + overrides?: TransactionOverrides + ): Promise; + + /** + * I cannot see a reason why a user's client would need to call this - only stored to help with some edge cases in reputation mining dispute resolution. + * Get the number of leaves in the current reputation state tree. + */ + "getReputationRootHashNLeaves()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecated, replaced by getReputationRootHashNLeaves which does the same thing but is more accurately named.will be removed in a later version. + * Get the number of leaves in the current reputation state tree. + */ + getReputationRootHashNNodes( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecated, replaced by getReputationRootHashNLeaves which does the same thing but is more accurately named.will be removed in a later version. + * Get the number of leaves in the current reputation state tree. + */ + "getReputationRootHashNNodes()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Create and start a new `DutchAuction` for the entire amount of `_token` owned by the Colony Network. + * @param _token Address of the token held by the network to be auctioned + */ + startTokenAuction( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Create and start a new `DutchAuction` for the entire amount of `_token` owned by the Colony Network. + * @param _token Address of the token held by the network to be auctioned + */ + "startTokenAuction(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Setup registrar with ENS and root node. + * @param _ens Address of ENS registrar + * @param _rootNode Namehash of the root node for the domain + */ + setupRegistrar( + _ens: string, + _rootNode: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Setup registrar with ENS and root node. + * @param _ens Address of ENS registrar + * @param _rootNode Namehash of the root node for the domain + */ + "setupRegistrar(address,bytes32)"( + _ens: string, + _rootNode: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "user.joincolony.eth" label. + * @param _orbitdb The path of the orbitDB database associated with the user profile + * @param _username The label to register + */ + registerUserLabel( + _username: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "user.joincolony.eth" label. + * @param _orbitdb The path of the orbitDB database associated with the user profile + * @param _username The label to register + */ + "registerUserLabel(string,string)"( + _username: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "colony.joincolony.eth" label. Can only be called by a Colony. + * @param _colonyName The label to register. + * @param _orbitdb The path of the orbitDB database associated with the colony name + */ + registerColonyLabel( + _colonyName: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "colony.joincolony.eth" label. Can only be called by a Colony. + * @param _colonyName The label to register. + * @param _orbitdb The path of the orbitDB database associated with the colony name + */ + "registerColonyLabel(string,string)"( + _colonyName: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the colony + */ + updateColonyOrbitDB( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the colony + */ + "updateColonyOrbitDB(string)"( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a user's orbitdb address. Can only be called by a user with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the user + */ + updateUserOrbitDB( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a user's orbitdb address. Can only be called by a user with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the user + */ + "updateUserOrbitDB(string)"( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Retrieve the orbitdb address corresponding to a registered account. + * @param _node The Namehash of the account being queried. + */ + getProfileDBAddress( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Retrieve the orbitdb address corresponding to a registered account. + * @param _node The Namehash of the account being queried. + */ + "getProfileDBAddress(bytes32)"( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Reverse lookup a username from an address. + * @param _addr The address we wish to find the corresponding ENS domain for (if any) + */ + lookupRegisteredENSDomain( + _addr: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Reverse lookup a username from an address. + * @param _addr The address we wish to find the corresponding ENS domain for (if any) + */ + "lookupRegisteredENSDomain(address)"( + _addr: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the address the supplied node resolves do, if we are the resolver. + * @param _node The namehash of the ENS address being requested + */ + addr(_node: Arrayish, overrides?: TransactionOverrides): Promise; + + /** + * Returns the address the supplied node resolves do, if we are the resolver. + * @param _node The namehash of the ENS address being requested + */ + "addr(bytes32)"( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the address of the ENSRegistrar for the Network. + */ + getENSRegistrar(overrides?: TransactionOverrides): Promise; + + /** + * Returns the address of the ENSRegistrar for the Network. + */ + "getENSRegistrar()"(overrides?: TransactionOverrides): Promise; + + /** + * Set the resolver to be used by new instances of ReputationMiningCycle. + * @param _miningResolverAddress The address of the Resolver contract with the functions correctly wired. + */ + setMiningResolver( + _miningResolverAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the resolver to be used by new instances of ReputationMiningCycle. + * @param _miningResolverAddress The address of the Resolver contract with the functions correctly wired. + */ + "setMiningResolver(address)"( + _miningResolverAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the resolver to be used by new instances of ReputationMiningCycle. + */ + getMiningResolver(overrides?: TransactionOverrides): Promise; + + /** + * Get the resolver to be used by new instances of ReputationMiningCycle. + */ + "getMiningResolver()"(overrides?: TransactionOverrides): Promise; + + /** + * Can only be called by the MetaColony.The extension version is queried from the resolver itself. + * Add a new extension resolver to the Extensions repository. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _resolver The deployed resolver containing the extension contract logic + */ + addExtensionToNetwork( + _extensionId: Arrayish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony.The extension version is queried from the resolver itself. + * Add a new extension resolver to the Extensions repository. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _resolver The deployed resolver containing the extension contract logic + */ + "addExtensionToNetwork(bytes32,address)"( + _extensionId: Arrayish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension to install + */ + installExtension( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension to install + */ + "installExtension(bytes32,uint256)"( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _newVersion Version of the extension to upgrade to (must be one greater than current) + */ + upgradeExtension( + _extensionId: Arrayish, + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _newVersion Version of the extension to upgrade to (must be one greater than current) + */ + "upgradeExtension(bytes32,uint256)"( + _extensionId: Arrayish, + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Can only be called by a Colony. + * @param _deprecated Whether to deprecate the extension or not + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + deprecateExtension( + _extensionId: Arrayish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Can only be called by a Colony. + * @param _deprecated Whether to deprecate the extension or not + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "deprecateExtension(bytes32,bool)"( + _extensionId: Arrayish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Uninstall an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + uninstallExtension( + _extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Uninstall an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "uninstallExtension(bytes32)"( + _extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's resolver. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension + */ + getExtensionResolver( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's resolver. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension + */ + "getExtensionResolver(bytes32,uint256)"( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's installation. + * @param _colony Address of the colony the extension is installed in + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + getExtensionInstallation( + _extensionId: Arrayish, + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's installation. + * @param _colony Address of the colony the extension is installed in + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "getExtensionInstallation(bytes32,address)"( + _extensionId: Arrayish, + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return 1 / the fee to pay to the network. e.g. if the fee is 1% (or 0.01), return 100. + */ + getFeeInverse(overrides?: TransactionOverrides): Promise; + + /** + * Return 1 / the fee to pay to the network. e.g. if the fee is 1% (or 0.01), return 100. + */ + "getFeeInverse()"(overrides?: TransactionOverrides): Promise; + + /** + * Set the colony network fee to pay. e.g. if the fee is 1% (or 0.01), pass 100 as `_feeInverse`. + * @param _feeInverse The inverse of the network fee to set + */ + setFeeInverse( + _feeInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the colony network fee to pay. e.g. if the fee is 1% (or 0.01), pass 100 as `_feeInverse`. + * @param _feeInverse The inverse of the network fee to set + */ + "setFeeInverse(uint256)"( + _feeInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a token's status in the payout whitelist + * @param _token The token being queried + */ + getPayoutWhitelist( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a token's status in the payout whitelist + * @param _token The token being queried + */ + "getPayoutWhitelist(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a token's status in the payout whitelist + * @param _status The whitelist status + * @param _token The token being set + */ + setPayoutWhitelist( + _token: string, + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a token's status in the payout whitelist + * @param _status The whitelist status + * @param _token The token being set + */ + "setPayoutWhitelist(address,bool)"( + _token: string, + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * While external, it can only be called successfully by the current ReputationMiningCycle. + * Function called to punish people who staked against a new reputation root hash that turned out to be incorrect. + * @param _amount Amount of stake to slash + * @param _stakers Array of the addresses of stakers to punish + */ + punishStakers( + _stakers: string[], + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * While external, it can only be called successfully by the current ReputationMiningCycle. + * Function called to punish people who staked against a new reputation root hash that turned out to be incorrect. + * @param _amount Amount of stake to slash + * @param _stakers Array of the addresses of stakers to punish + */ + "punishStakers(address[],uint256)"( + _stakers: string[], + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Stake CLNY to allow the staker to participate in reputation mining. + * @param _amount Amount of CLNY to stake for the purposes of mining + */ + stakeForMining( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Stake CLNY to allow the staker to participate in reputation mining. + * @param _amount Amount of CLNY to stake for the purposes of mining + */ + "stakeForMining(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unstake CLNY currently staked for reputation mining. + * @param _amount Amount of CLNY staked for mining to unstake + */ + unstakeForMining( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unstake CLNY currently staked for reputation mining. + * @param _amount Amount of CLNY staked for mining to unstake + */ + "unstakeForMining(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * returns how much CLNY _user has staked for the purposes of reputation mining + * @param _user The user to query + */ + getMiningStake( + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { amount: BigNumber; timestamp: BigNumber } + >; + + /** + * returns how much CLNY _user has staked for the purposes of reputation mining + * @param _user The user to query + */ + "getMiningStake(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { amount: BigNumber; timestamp: BigNumber } + >; + + /** + * Only callable by the active reputation mining cycle + * Used to track that a user is eligible to claim a reward + * @param _amount The amount of CLNY to be awarded + * @param _recipient The address receiving the award + */ + reward( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to track that a user is eligible to claim a reward + * @param _amount The amount of CLNY to be awarded + * @param _recipient The address receiving the award + */ + "reward(address,uint256)"( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to burn tokens that are not needed to pay out rewards (because not every possible defence was made for all submissions) + * @param _amount The amount of CLNY to burn + */ + burnUnneededRewards( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to burn tokens that are not needed to pay out rewards (because not every possible defence was made for all submissions) + * @param _amount The amount of CLNY to burn + */ + "burnUnneededRewards(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can be called by anyone, not just _recipient + * Used by a user to claim any mining rewards due to them. This will place them in their balance or pending balance, as appropriate. + * @param _recipient The user whose rewards to claim + */ + claimMiningReward( + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can be called by anyone, not just _recipient + * Used by a user to claim any mining rewards due to them. This will place them in their balance or pending balance, as appropriate. + * @param _recipient The user whose rewards to claim + */ + "claimMiningReward(address)"( + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony. + * Called to set the total per-cycle reputation reward, which will be split between all miners. + * @param _amount The CLNY awarded per mining cycle to the miners + */ + setReputationMiningCycleReward( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony. + * Called to set the total per-cycle reputation reward, which will be split between all miners. + * @param _amount The CLNY awarded per mining cycle to the miners + */ + "setReputationMiningCycleReward(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the total per-cycle reputation mining reward. + */ + getReputationMiningCycleReward( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the total per-cycle reputation mining reward. + */ + "getReputationMiningCycleReward()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token. + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to In the case of ETH, and most tokens, this is 18. + * @param _name The name of the token + * @param _symbol The short 'ticket' symbol for the token + */ + deployTokenViaNetwork( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token. + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to In the case of ETH, and most tokens, this is 18. + * @param _name The name of the token + * @param _symbol The short 'ticket' symbol for the token + */ + "deployTokenViaNetwork(string,string,uint8)"( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token authority + * @param _allowedToTransfer An array of addresses that are allowed to transfer the token even if it's locked + * @param _colony The address of the colony in control of the token + * @param _token The address of the otken + */ + deployTokenAuthority( + _token: string, + _colony: string, + _allowedToTransfer: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token authority + * @param _allowedToTransfer An array of addresses that are allowed to transfer the token even if it's locked + * @param _colony The address of the colony in control of the token + * @param _token The address of the otken + */ + "deployTokenAuthority(address,address,address[])"( + _token: string, + _colony: string, + _allowedToTransfer: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to give or remove another address's permission to mine on your behalf + * @param _allowed Whether they are allowed (true) or not (false) to mine on your behalf + * @param _delegate The address you're giving or removing permission from + */ + setMiningDelegate( + _delegate: string, + _allowed: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to give or remove another address's permission to mine on your behalf + * @param _allowed Whether they are allowed (true) or not (false) to mine on your behalf + * @param _delegate The address you're giving or removing permission from + */ + "setMiningDelegate(address,bool)"( + _delegate: string, + _allowed: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the address _delegate is allowed to mine for + * @param _delegate The address that wants to mine + */ + getMiningDelegator( + _delegate: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the address _delegate is allowed to mine for + * @param _delegate The address that wants to mine + */ + "getMiningDelegator(address)"( + _delegate: string, + overrides?: TransactionOverrides + ): Promise; + }; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + approveExitRecovery( + overrides?: TransactionOverrides + ): Promise; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + "approveExitRecovery()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + checkNotAdditionalProtectedVariable( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + "checkNotAdditionalProtectedVariable(uint256)"( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + enterRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + "enterRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + executeMetaTransaction( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + exitRecoveryMode( + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + "exitRecoveryMode()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Is colony network in recovery mode. + */ + isInRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Is colony network in recovery mode. + */ + "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Return number of recovery roles. + */ + numRecoveryRoles(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + "numRecoveryRoles()"(overrides?: TransactionOverrides): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + removeRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + "removeRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + setRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + "setRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + setStorageSlotRecovery( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + "setStorageSlotRecovery(uint256,bytes32)"( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Interface identification is specified in ERC-165. + * Query if a contract implements an interface + * @param _interfaceID The interface identifier, as specified in ERC-165 + */ + supportsInterface( + _interfaceID: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Interface identification is specified in ERC-165. + * Query if a contract implements an interface + * @param _interfaceID The interface identifier, as specified in ERC-165 + */ + "supportsInterface(bytes4)"( + _interfaceID: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Note that strictly, `_nUpdates` and `_nPreviousUpdates` don't need to be set - they're only used during dispute resolution, which these replacement log entries are never used for. However, for ease of resyncing the client, we have decided to include them for now. + * Set a replacement log entry if we're in recovery mode. + * @param _amount The amount of reputation being earned / lost + * @param _colony The address of the colony being updated + * @param _id The number of the log entry in the reputation mining cycle in question. + * @param _nPreviousUpdates The number of updates in the log before this entry + * @param _nUpdates The number of updates the log entry corresponds to + * @param _reputationMiningCycle The address of the reputation mining cycle that the log was in. + * @param _skillId The id of the origin skill for the reputation update + * @param _user The address of the user earning / losing the reputation + */ + setReplacementReputationUpdateLogEntry( + _reputationMiningCycle: string, + _id: BigNumberish, + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + _colony: string, + _nUpdates: BigNumberish, + _nPreviousUpdates: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Note that strictly, `_nUpdates` and `_nPreviousUpdates` don't need to be set - they're only used during dispute resolution, which these replacement log entries are never used for. However, for ease of resyncing the client, we have decided to include them for now. + * Set a replacement log entry if we're in recovery mode. + * @param _amount The amount of reputation being earned / lost + * @param _colony The address of the colony being updated + * @param _id The number of the log entry in the reputation mining cycle in question. + * @param _nPreviousUpdates The number of updates in the log before this entry + * @param _nUpdates The number of updates the log entry corresponds to + * @param _reputationMiningCycle The address of the reputation mining cycle that the log was in. + * @param _skillId The id of the origin skill for the reputation update + * @param _user The address of the user earning / losing the reputation + */ + "setReplacementReputationUpdateLogEntry(address,uint256,address,int256,uint256,address,uint128,uint128)"( + _reputationMiningCycle: string, + _id: BigNumberish, + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + _colony: string, + _nUpdates: BigNumberish, + _nPreviousUpdates: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a replacement log entry (if set) for the log entry `_id` in the mining cycle that was at the address `_reputationMiningCycle`. + * @param _id The log entry number we wish to see if there is a replacement for + * @param _reputationMiningCycle The address of the reputation mining cycle we are asking about + */ + getReplacementReputationUpdateLogEntry( + _reputationMiningCycle: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, string, BigNumber, BigNumber] & { + user: string; + amount: BigNumber; + skillId: BigNumber; + colony: string; + nUpdates: BigNumber; + nPreviousUpdates: BigNumber; + } + >; + + /** + * Get a replacement log entry (if set) for the log entry `_id` in the mining cycle that was at the address `_reputationMiningCycle`. + * @param _id The log entry number we wish to see if there is a replacement for + * @param _reputationMiningCycle The address of the reputation mining cycle we are asking about + */ + "getReplacementReputationUpdateLogEntry(address,uint256)"( + _reputationMiningCycle: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [string, BigNumber, BigNumber, string, BigNumber, BigNumber] & { + user: string; + amount: BigNumber; + skillId: BigNumber; + colony: string; + nUpdates: BigNumber; + nPreviousUpdates: BigNumber; + } + >; + + /** + * Get whether any replacement log entries have been set for the supplied reputation mining cycle.Used by the client to avoid doubling the number of RPC calls when syncing from scratch. + * @param _reputationMiningCycle The reputation mining cycle address we want to know if any entries have been replaced in. + */ + getReplacementReputationUpdateLogsExist( + _reputationMiningCycle: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get whether any replacement log entries have been set for the supplied reputation mining cycle.Used by the client to avoid doubling the number of RPC calls when syncing from scratch. + * @param _reputationMiningCycle The reputation mining cycle address we want to know if any entries have been replaced in. + */ + "getReplacementReputationUpdateLogsExist(address)"( + _reputationMiningCycle: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the Meta Colony address. + */ + getMetaColony(overrides?: TransactionOverrides): Promise; + + /** + * Get the Meta Colony address. + */ + "getMetaColony()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of colonies in the network. + */ + getColonyCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of colonies in the network. + */ + "getColonyCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Check if specific address is a colony created on colony network. + * @param _colony Address of the colony + */ + isColony(_colony: string, overrides?: TransactionOverrides): Promise; + + /** + * Check if specific address is a colony created on colony network. + * @param _colony Address of the colony + */ + "isColony(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if the parent skill does not exist or if this is called by an unauthorised sender. + * Adds a new skill to the global or local skills tree, under skill `_parentSkillId`. Only the Meta Colony is allowed to add a global skill, called via `IColony.addGlobalSkill`. Any colony is allowed to add a local skill and which is associated with a new domain via `IColony.addDomain`. + * @param _parentSkillId Id of the skill under which the new skill will be added. If 0, a global skill is added with no parent. + */ + addSkill( + _parentSkillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if the parent skill does not exist or if this is called by an unauthorised sender. + * Adds a new skill to the global or local skills tree, under skill `_parentSkillId`. Only the Meta Colony is allowed to add a global skill, called via `IColony.addGlobalSkill`. Any colony is allowed to add a local skill and which is associated with a new domain via `IColony.addDomain`. + * @param _parentSkillId Id of the skill under which the new skill will be added. If 0, a global skill is added with no parent. + */ + "addSkill(uint256)"( + _parentSkillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `nParents` and `nChildren` of skill with id `_skillId`. + * @param _skillId Id of the skill + */ + getSkill( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber[], BigNumber[], boolean, boolean] & { + nParents: BigNumber; + nChildren: BigNumber; + parents: BigNumber[]; + children: BigNumber[]; + globalSkill: boolean; + deprecated: boolean; + } + >; + + /** + * Get the `nParents` and `nChildren` of skill with id `_skillId`. + * @param _skillId Id of the skill + */ + "getSkill(uint256)"( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber[], BigNumber[], boolean, boolean] & { + nParents: BigNumber; + nChildren: BigNumber; + parents: BigNumber[]; + children: BigNumber[]; + globalSkill: boolean; + deprecated: boolean; + } + >; + + /** + * This function is deprecated and will be removed in a future release + * Mark a skill as deprecated which stops new tasks and payments from using it. + * @param _skillId Id of the skill + */ + deprecateSkill( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function is deprecated and will be removed in a future release + * Mark a skill as deprecated which stops new tasks and payments from using it. + * @param _skillId Id of the skill + */ + "deprecateSkill(uint256)"( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set deprecation status for a skill + * @param _deprecated Deprecation status + * @param _skillId Id of the skill + */ + "deprecateSkill(uint256,bool)"( + _skillId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skills tree for a colony + */ + initialiseRootLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skills tree for a colony + */ + "initialiseRootLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if it is called by anyone but a colony or if skill with id `_skillId` does not exist or. + * Adds a reputation update entry to log. + * @param _amount The amount of reputation change for the update, this can be a negative as well as a positive value + * @param _skillId The skill for the reputation update + * @param _user The address of the user for the reputation update + */ + appendReputationUpdateLog( + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if it is called by anyone but a colony or if skill with id `_skillId` does not exist or. + * Adds a reputation update entry to log. + * @param _amount The amount of reputation change for the update, this can be a negative as well as a positive value + * @param _skillId The skill for the reputation update + * @param _user The address of the user for the reputation update + */ + "appendReputationUpdateLog(address,int256,uint256)"( + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of skills in the network including both global and local skills. + */ + getSkillCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of skills in the network including both global and local skills. + */ + "getSkillCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the `skillId` of the reputation mining skill. Only set once the metacolony is set up. + */ + getReputationMiningSkillId( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `skillId` of the reputation mining skill. Only set once the metacolony is set up. + */ + "getReputationMiningSkillId()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the token locking address. This is only set once, and can't be changed afterwards. + * @param _tokenLockingAddress Address of the locking contract + */ + setTokenLocking( + _tokenLockingAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the token locking address. This is only set once, and can't be changed afterwards. + * @param _tokenLockingAddress Address of the locking contract + */ + "setTokenLocking(address)"( + _tokenLockingAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get token locking contract address. + */ + getTokenLocking(overrides?: TransactionOverrides): Promise; + + /** + * Get token locking contract address. + */ + "getTokenLocking()"(overrides?: TransactionOverrides): Promise; + + /** + * Create the Meta Colony, same as a normal colony plus the root skill. + * @param _tokenAddress Address of the CLNY token + */ + createMetaColony( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Create the Meta Colony, same as a normal colony plus the root skill. + * @param _tokenAddress Address of the CLNY token + */ + "createMetaColony(address)"( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, at version 3 + * @param _tokenAddress Address of an ERC20 token to serve as the colony token. + */ + createColony( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, at version 3 + * @param _tokenAddress Address of an ERC20 token to serve as the colony token. + */ + "createColony(address)"( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the colony to mint tokens, token ownership must be transferred to the new colonyWe expect this function to only be used by the dapp + * Creates a new colony in the network, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _metadata The metadata associated with the new colony + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string,string)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Overload of the simpler `createColony` -- creates a new colony in the network with a variety of options, at version 4 + * @param _colonyName The label to register (if null, no label is registered) + * @param _orbitdb DEPRECATED Currently a no-op + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _useExtensionManager DEPRECATED Currently a no-op + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string,string,bool)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + _orbitdb: string, + _useExtensionManager: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * We expect this function to only be used by the dapp + * Creates a new colony in the network, possibly with a token and token authority, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to (optional) In the case of ETH, and most tokens, this is 18. + * @param _metadata The metadata associated with the new colony + * @param _name The name of the token (optional) + * @param _symbol The short 'ticket' symbol for the token (optional) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token (optional) + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + createColonyForFrontend( + _tokenAddress: string, + _name: string, + _symbol: string, + _decimals: BigNumberish, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * We expect this function to only be used by the dapp + * Creates a new colony in the network, possibly with a token and token authority, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to (optional) In the case of ETH, and most tokens, this is 18. + * @param _metadata The metadata associated with the new colony + * @param _name The name of the token (optional) + * @param _symbol The short 'ticket' symbol for the token (optional) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token (optional) + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColonyForFrontend(address,string,string,uint8,uint256,string,string)"( + _tokenAddress: string, + _name: string, + _symbol: string, + _decimals: BigNumberish, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. + * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract + * @param _version The new Colony contract version + */ + addColonyVersion( + _version: BigNumberish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. + * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract + * @param _version The new Colony contract version + */ + "addColonyVersion(uint256,address)"( + _version: BigNumberish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be run once, by the Network owner before any Colony versions are added. + * Initialises the colony network by setting the first Colony version resolver to `_resolver` address. + * @param _resolver Address of the resolver for Colony contract + * @param _version Version of the Colony contract the resolver represents + */ + initialise( + _resolver: string, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be run once, by the Network owner before any Colony versions are added. + * Initialises the colony network by setting the first Colony version resolver to `_resolver` address. + * @param _resolver Address of the resolver for Colony contract + * @param _version Version of the Colony contract the resolver represents + */ + "initialise(address,uint256)"( + _resolver: string, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a colony address by its Id in the network. + * @param _id Id of the colony to get + */ + getColony( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a colony address by its Id in the network. + * @param _id Id of the colony to get + */ + "getColony(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the latest Colony contract version. This is the version used to create all new colonies. + */ + getCurrentColonyVersion(overrides?: TransactionOverrides): Promise; + + /** + * Returns the latest Colony contract version. This is the version used to create all new colonies. + */ + "getCurrentColonyVersion()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the parent skill at index `_parentSkillIndex` for skill with Id `_skillId`. + * @param _parentSkillIndex Index of the `skill.parents` array to get Note that not all parent skill ids are stored here. See `Skill.parents` member for definition on which parents are stored + * @param _skillId Id of the skill + */ + getParentSkillId( + _skillId: BigNumberish, + _parentSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the parent skill at index `_parentSkillIndex` for skill with Id `_skillId`. + * @param _parentSkillIndex Index of the `skill.parents` array to get Note that not all parent skill ids are stored here. See `Skill.parents` member for definition on which parents are stored + * @param _skillId Id of the skill + */ + "getParentSkillId(uint256,uint256)"( + _skillId: BigNumberish, + _parentSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the child skill at index `_childSkillIndex` for skill with Id `_skillId`. + * @param _childSkillIndex Index of the `skill.children` array to get + * @param _skillId Id of the skill + */ + getChildSkillId( + _skillId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the child skill at index `_childSkillIndex` for skill with Id `_skillId`. + * @param _childSkillIndex Index of the `skill.children` array to get + * @param _skillId Id of the skill + */ + "getChildSkillId(uint256,uint256)"( + _skillId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of either the active or inactive reputation mining cycle, based on `active`. The active reputation mining cycle is the one currently under consideration by reputation miners. The inactive reputation cycle is the one with the log that is being appended to. + * @param _active Whether the user wants the active or inactive reputation mining cycle + */ + getReputationMiningCycle( + _active: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of either the active or inactive reputation mining cycle, based on `active`. The active reputation mining cycle is the one currently under consideration by reputation miners. The inactive reputation cycle is the one with the log that is being appended to. + * @param _active Whether the user wants the active or inactive reputation mining cycle + */ + "getReputationMiningCycle(bool)"( + _active: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Calculate raw miner weight in WADs. + * @param _submissonIndex Index of reputation hash submission (between 0 and 11) + * @param _timeStaked Amount of time (in seconds) that the miner has staked their CLNY + */ + calculateMinerWeight( + _timeStaked: BigNumberish, + _submissonIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Calculate raw miner weight in WADs. + * @param _submissonIndex Index of reputation hash submission (between 0 and 11) + * @param _timeStaked Amount of time (in seconds) that the miner has staked their CLNY + */ + "calculateMinerWeight(uint256,uint256)"( + _timeStaked: BigNumberish, + _submissonIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Resolver` address for Colony contract version `_version`. + * @param _version The Colony contract version + */ + getColonyVersionResolver( + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Resolver` address for Colony contract version `_version`. + * @param _version The Colony contract version + */ + "getColonyVersionResolver(uint256)"( + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a new Reputation root hash and starts a new mining cycle. Can only be called by the ReputationMiningCycle contract. + * @param _newHash The reputation root hash + * @param _newNLeaves The updated leaves count value + * @param _stakers Array of users who submitted or backed the hash, being accepted here as the new reputation root hash + */ + setReputationRootHash( + _newHash: Arrayish, + _newNLeaves: BigNumberish, + _stakers: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a new Reputation root hash and starts a new mining cycle. Can only be called by the ReputationMiningCycle contract. + * @param _newHash The reputation root hash + * @param _newNLeaves The updated leaves count value + * @param _stakers Array of users who submitted or backed the hash, being accepted here as the new reputation root hash + */ + "setReputationRootHash(bytes32,uint256,address[])"( + _newHash: Arrayish, + _newNLeaves: BigNumberish, + _stakers: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts a new Reputation Mining cycle. Explicitly called only the first time, subsequently called from within `setReputationRootHash`. + */ + startNextCycle( + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts a new Reputation Mining cycle. Explicitly called only the first time, subsequently called from within `setReputationRootHash`. + */ + "startNextCycle()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Creates initial inactive reputation mining cycle. + */ + initialiseReputationMining( + overrides?: TransactionOverrides + ): Promise; + + /** + * Creates initial inactive reputation mining cycle. + */ + "initialiseReputationMining()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the root hash of the current reputation state tree. + */ + getReputationRootHash(overrides?: TransactionOverrides): Promise; + + /** + * Get the root hash of the current reputation state tree. + */ + "getReputationRootHash()"(overrides?: TransactionOverrides): Promise; + + /** + * I cannot see a reason why a user's client would need to call this - only stored to help with some edge cases in reputation mining dispute resolution. + * Get the number of leaves in the current reputation state tree. + */ + getReputationRootHashNLeaves( + overrides?: TransactionOverrides + ): Promise; + + /** + * I cannot see a reason why a user's client would need to call this - only stored to help with some edge cases in reputation mining dispute resolution. + * Get the number of leaves in the current reputation state tree. + */ + "getReputationRootHashNLeaves()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecated, replaced by getReputationRootHashNLeaves which does the same thing but is more accurately named.will be removed in a later version. + * Get the number of leaves in the current reputation state tree. + */ + getReputationRootHashNNodes( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecated, replaced by getReputationRootHashNLeaves which does the same thing but is more accurately named.will be removed in a later version. + * Get the number of leaves in the current reputation state tree. + */ + "getReputationRootHashNNodes()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Create and start a new `DutchAuction` for the entire amount of `_token` owned by the Colony Network. + * @param _token Address of the token held by the network to be auctioned + */ + startTokenAuction( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Create and start a new `DutchAuction` for the entire amount of `_token` owned by the Colony Network. + * @param _token Address of the token held by the network to be auctioned + */ + "startTokenAuction(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Setup registrar with ENS and root node. + * @param _ens Address of ENS registrar + * @param _rootNode Namehash of the root node for the domain + */ + setupRegistrar( + _ens: string, + _rootNode: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Setup registrar with ENS and root node. + * @param _ens Address of ENS registrar + * @param _rootNode Namehash of the root node for the domain + */ + "setupRegistrar(address,bytes32)"( + _ens: string, + _rootNode: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "user.joincolony.eth" label. + * @param _orbitdb The path of the orbitDB database associated with the user profile + * @param _username The label to register + */ + registerUserLabel( + _username: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "user.joincolony.eth" label. + * @param _orbitdb The path of the orbitDB database associated with the user profile + * @param _username The label to register + */ + "registerUserLabel(string,string)"( + _username: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "colony.joincolony.eth" label. Can only be called by a Colony. + * @param _colonyName The label to register. + * @param _orbitdb The path of the orbitDB database associated with the colony name + */ + registerColonyLabel( + _colonyName: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "colony.joincolony.eth" label. Can only be called by a Colony. + * @param _colonyName The label to register. + * @param _orbitdb The path of the orbitDB database associated with the colony name + */ + "registerColonyLabel(string,string)"( + _colonyName: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the colony + */ + updateColonyOrbitDB( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the colony + */ + "updateColonyOrbitDB(string)"( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a user's orbitdb address. Can only be called by a user with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the user + */ + updateUserOrbitDB( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a user's orbitdb address. Can only be called by a user with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the user + */ + "updateUserOrbitDB(string)"( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Retrieve the orbitdb address corresponding to a registered account. + * @param _node The Namehash of the account being queried. + */ + getProfileDBAddress( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Retrieve the orbitdb address corresponding to a registered account. + * @param _node The Namehash of the account being queried. + */ + "getProfileDBAddress(bytes32)"( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Reverse lookup a username from an address. + * @param _addr The address we wish to find the corresponding ENS domain for (if any) + */ + lookupRegisteredENSDomain( + _addr: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Reverse lookup a username from an address. + * @param _addr The address we wish to find the corresponding ENS domain for (if any) + */ + "lookupRegisteredENSDomain(address)"( + _addr: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the address the supplied node resolves do, if we are the resolver. + * @param _node The namehash of the ENS address being requested + */ + addr(_node: Arrayish, overrides?: TransactionOverrides): Promise; + + /** + * Returns the address the supplied node resolves do, if we are the resolver. + * @param _node The namehash of the ENS address being requested + */ + "addr(bytes32)"( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the address of the ENSRegistrar for the Network. + */ + getENSRegistrar(overrides?: TransactionOverrides): Promise; + + /** + * Returns the address of the ENSRegistrar for the Network. + */ + "getENSRegistrar()"(overrides?: TransactionOverrides): Promise; + + /** + * Set the resolver to be used by new instances of ReputationMiningCycle. + * @param _miningResolverAddress The address of the Resolver contract with the functions correctly wired. + */ + setMiningResolver( + _miningResolverAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the resolver to be used by new instances of ReputationMiningCycle. + * @param _miningResolverAddress The address of the Resolver contract with the functions correctly wired. + */ + "setMiningResolver(address)"( + _miningResolverAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the resolver to be used by new instances of ReputationMiningCycle. + */ + getMiningResolver(overrides?: TransactionOverrides): Promise; + + /** + * Get the resolver to be used by new instances of ReputationMiningCycle. + */ + "getMiningResolver()"(overrides?: TransactionOverrides): Promise; + + /** + * Can only be called by the MetaColony.The extension version is queried from the resolver itself. + * Add a new extension resolver to the Extensions repository. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _resolver The deployed resolver containing the extension contract logic + */ + addExtensionToNetwork( + _extensionId: Arrayish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony.The extension version is queried from the resolver itself. + * Add a new extension resolver to the Extensions repository. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _resolver The deployed resolver containing the extension contract logic + */ + "addExtensionToNetwork(bytes32,address)"( + _extensionId: Arrayish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension to install + */ + installExtension( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension to install + */ + "installExtension(bytes32,uint256)"( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _newVersion Version of the extension to upgrade to (must be one greater than current) + */ + upgradeExtension( + _extensionId: Arrayish, + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _newVersion Version of the extension to upgrade to (must be one greater than current) + */ + "upgradeExtension(bytes32,uint256)"( + _extensionId: Arrayish, + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Can only be called by a Colony. + * @param _deprecated Whether to deprecate the extension or not + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + deprecateExtension( + _extensionId: Arrayish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Can only be called by a Colony. + * @param _deprecated Whether to deprecate the extension or not + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "deprecateExtension(bytes32,bool)"( + _extensionId: Arrayish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Uninstall an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + uninstallExtension( + _extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Uninstall an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "uninstallExtension(bytes32)"( + _extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's resolver. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension + */ + getExtensionResolver( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's resolver. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension + */ + "getExtensionResolver(bytes32,uint256)"( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's installation. + * @param _colony Address of the colony the extension is installed in + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + getExtensionInstallation( + _extensionId: Arrayish, + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's installation. + * @param _colony Address of the colony the extension is installed in + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "getExtensionInstallation(bytes32,address)"( + _extensionId: Arrayish, + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return 1 / the fee to pay to the network. e.g. if the fee is 1% (or 0.01), return 100. + */ + getFeeInverse(overrides?: TransactionOverrides): Promise; + + /** + * Return 1 / the fee to pay to the network. e.g. if the fee is 1% (or 0.01), return 100. + */ + "getFeeInverse()"(overrides?: TransactionOverrides): Promise; + + /** + * Set the colony network fee to pay. e.g. if the fee is 1% (or 0.01), pass 100 as `_feeInverse`. + * @param _feeInverse The inverse of the network fee to set + */ + setFeeInverse( + _feeInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the colony network fee to pay. e.g. if the fee is 1% (or 0.01), pass 100 as `_feeInverse`. + * @param _feeInverse The inverse of the network fee to set + */ + "setFeeInverse(uint256)"( + _feeInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a token's status in the payout whitelist + * @param _token The token being queried + */ + getPayoutWhitelist( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a token's status in the payout whitelist + * @param _token The token being queried + */ + "getPayoutWhitelist(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a token's status in the payout whitelist + * @param _status The whitelist status + * @param _token The token being set + */ + setPayoutWhitelist( + _token: string, + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a token's status in the payout whitelist + * @param _status The whitelist status + * @param _token The token being set + */ + "setPayoutWhitelist(address,bool)"( + _token: string, + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * While external, it can only be called successfully by the current ReputationMiningCycle. + * Function called to punish people who staked against a new reputation root hash that turned out to be incorrect. + * @param _amount Amount of stake to slash + * @param _stakers Array of the addresses of stakers to punish + */ + punishStakers( + _stakers: string[], + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * While external, it can only be called successfully by the current ReputationMiningCycle. + * Function called to punish people who staked against a new reputation root hash that turned out to be incorrect. + * @param _amount Amount of stake to slash + * @param _stakers Array of the addresses of stakers to punish + */ + "punishStakers(address[],uint256)"( + _stakers: string[], + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Stake CLNY to allow the staker to participate in reputation mining. + * @param _amount Amount of CLNY to stake for the purposes of mining + */ + stakeForMining( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Stake CLNY to allow the staker to participate in reputation mining. + * @param _amount Amount of CLNY to stake for the purposes of mining + */ + "stakeForMining(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unstake CLNY currently staked for reputation mining. + * @param _amount Amount of CLNY staked for mining to unstake + */ + unstakeForMining( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unstake CLNY currently staked for reputation mining. + * @param _amount Amount of CLNY staked for mining to unstake + */ + "unstakeForMining(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * returns how much CLNY _user has staked for the purposes of reputation mining + * @param _user The user to query + */ + getMiningStake( + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { amount: BigNumber; timestamp: BigNumber } + >; + + /** + * returns how much CLNY _user has staked for the purposes of reputation mining + * @param _user The user to query + */ + "getMiningStake(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber] & { amount: BigNumber; timestamp: BigNumber } + >; + + /** + * Only callable by the active reputation mining cycle + * Used to track that a user is eligible to claim a reward + * @param _amount The amount of CLNY to be awarded + * @param _recipient The address receiving the award + */ + reward( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to track that a user is eligible to claim a reward + * @param _amount The amount of CLNY to be awarded + * @param _recipient The address receiving the award + */ + "reward(address,uint256)"( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to burn tokens that are not needed to pay out rewards (because not every possible defence was made for all submissions) + * @param _amount The amount of CLNY to burn + */ + burnUnneededRewards( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to burn tokens that are not needed to pay out rewards (because not every possible defence was made for all submissions) + * @param _amount The amount of CLNY to burn + */ + "burnUnneededRewards(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can be called by anyone, not just _recipient + * Used by a user to claim any mining rewards due to them. This will place them in their balance or pending balance, as appropriate. + * @param _recipient The user whose rewards to claim + */ + claimMiningReward( + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can be called by anyone, not just _recipient + * Used by a user to claim any mining rewards due to them. This will place them in their balance or pending balance, as appropriate. + * @param _recipient The user whose rewards to claim + */ + "claimMiningReward(address)"( + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony. + * Called to set the total per-cycle reputation reward, which will be split between all miners. + * @param _amount The CLNY awarded per mining cycle to the miners + */ + setReputationMiningCycleReward( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony. + * Called to set the total per-cycle reputation reward, which will be split between all miners. + * @param _amount The CLNY awarded per mining cycle to the miners + */ + "setReputationMiningCycleReward(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the total per-cycle reputation mining reward. + */ + getReputationMiningCycleReward( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the total per-cycle reputation mining reward. + */ + "getReputationMiningCycleReward()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token. + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to In the case of ETH, and most tokens, this is 18. + * @param _name The name of the token + * @param _symbol The short 'ticket' symbol for the token + */ + deployTokenViaNetwork( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token. + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to In the case of ETH, and most tokens, this is 18. + * @param _name The name of the token + * @param _symbol The short 'ticket' symbol for the token + */ + "deployTokenViaNetwork(string,string,uint8)"( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token authority + * @param _allowedToTransfer An array of addresses that are allowed to transfer the token even if it's locked + * @param _colony The address of the colony in control of the token + * @param _token The address of the otken + */ + deployTokenAuthority( + _token: string, + _colony: string, + _allowedToTransfer: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token authority + * @param _allowedToTransfer An array of addresses that are allowed to transfer the token even if it's locked + * @param _colony The address of the colony in control of the token + * @param _token The address of the otken + */ + "deployTokenAuthority(address,address,address[])"( + _token: string, + _colony: string, + _allowedToTransfer: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to give or remove another address's permission to mine on your behalf + * @param _allowed Whether they are allowed (true) or not (false) to mine on your behalf + * @param _delegate The address you're giving or removing permission from + */ + setMiningDelegate( + _delegate: string, + _allowed: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to give or remove another address's permission to mine on your behalf + * @param _allowed Whether they are allowed (true) or not (false) to mine on your behalf + * @param _delegate The address you're giving or removing permission from + */ + "setMiningDelegate(address,bool)"( + _delegate: string, + _allowed: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the address _delegate is allowed to mine for + * @param _delegate The address that wants to mine + */ + getMiningDelegator( + _delegate: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the address _delegate is allowed to mine for + * @param _delegate The address that wants to mine + */ + "getMiningDelegator(address)"( + _delegate: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + AuctionCreated(auction: null, token: null, quantity: null): EventFilter; + + ColonyAdded( + colonyId: BigNumberish | null, + colonyAddress: string | null, + token: null + ): EventFilter; + + ColonyLabelRegistered(colony: string | null, label: null): EventFilter; + + ColonyNetworkInitialised(resolver: null): EventFilter; + + ColonyVersionAdded(version: null, resolver: null): EventFilter; + + ExtensionAddedToNetwork( + extensionId: Arrayish | null, + version: null + ): EventFilter; + + ExtensionDeprecated( + extensionId: Arrayish | null, + colony: string | null, + deprecated: null + ): EventFilter; + + ExtensionInstalled( + extensionId: Arrayish | null, + colony: string | null, + version: null + ): EventFilter; + + ExtensionUninstalled( + extensionId: Arrayish | null, + colony: string | null + ): EventFilter; + + ExtensionUpgraded( + extensionId: Arrayish | null, + colony: string | null, + version: null + ): EventFilter; + + MetaColonyCreated( + metaColony: null, + token: null, + rootSkillId: null + ): EventFilter; + + MetaTransactionExecuted( + userAddress: null, + relayerAddress: null, + payload: null + ): EventFilter; + + MiningCycleResolverSet(miningCycleResolver: null): EventFilter; + + NetworkFeeInverseSet(feeInverse: null): EventFilter; + + RecoveryModeEntered(user: null): EventFilter; + + RecoveryModeExitApproved(user: null): EventFilter; + + RecoveryModeExited(user: null): EventFilter; + + RecoveryRoleSet(user: string | null, setTo: null): EventFilter; + + RecoveryStorageSlotSet( + user: null, + slot: null, + fromValue: null, + toValue: null + ): EventFilter; + + RegistrarInitialised(ens: null, rootNode: null): EventFilter; + + ReputationMinerPenalised(miner: null, tokensLost: null): EventFilter; + + ReputationMiningCycleComplete(hash: null, nLeaves: null): EventFilter; + + ReputationMiningInitialised( + inactiveReputationMiningCycle: null + ): EventFilter; + + ReputationMiningRewardSet(amount: null): EventFilter; + + ReputationRootHashSet( + newHash: null, + newNLeaves: null, + stakers: null, + reward: null + ): EventFilter; + + SkillAdded(skillId: null, parentSkillId: null): EventFilter; + + TokenAuthorityDeployed(tokenAuthorityAddress: null): EventFilter; + + TokenDeployed(tokenAddress: null): EventFilter; + + TokenLockingAddressSet(tokenLocking: null): EventFilter; + + TokenWhitelisted(token: null, status: null): EventFilter; + + UserLabelRegistered(user: string | null, label: null): EventFilter; + }; + + estimate: { + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + approveExitRecovery(overrides?: TransactionOverrides): Promise; + + /** + * Indicate approval to exit recovery mode. Can only be called by user with recovery role. + */ + "approveExitRecovery()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + checkNotAdditionalProtectedVariable( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * 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. + * Check whether the supplied slot is a protected variable specific to this contract + * @param _slot The storage slot number to check. + */ + "checkNotAdditionalProtectedVariable(uint256)"( + _slot: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + enterRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Put colony network mining into recovery mode. Can only be called by user with recovery role. + */ + "enterRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + executeMetaTransaction( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Executes a metatransaction targeting this contract + * @param payload The transaction data that will be executed if signature valid + * @param sigR The 'r' part of the signature + * @param sigS The 's' part of the signature + * @param sigV The 'v' part of the signature + * @param userAddress The address of the user that signed the metatransaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + userAddress: string, + payload: Arrayish, + sigR: Arrayish, + sigS: Arrayish, + sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + exitRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Exit recovery mode, can be called by anyone if enough whitelist approvals are given. + */ + "exitRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Gets the next metatransaction nonce for user that should be used targeting this contract + * @param userAddress The address of the user that will sign the metatransaction + */ + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Is colony network in recovery mode. + */ + isInRecoveryMode(overrides?: TransactionOverrides): Promise; + + /** + * Is colony network in recovery mode. + */ + "isInRecoveryMode()"(overrides?: TransactionOverrides): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + multicall( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * The `msg.value` should not be trusted for any method callable from multicall. + * Call multiple functions in the current contract and return the data from all of them if they all succeed + * @param data The encoded function data for each of the calls to make to this contract + */ + "multicall(bytes[])"( + data: Arrayish[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Return number of recovery roles. + */ + numRecoveryRoles(overrides?: TransactionOverrides): Promise; + + /** + * Return number of recovery roles. + */ + "numRecoveryRoles()"(overrides?: TransactionOverrides): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + removeRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Remove colony recovery role. Can only be called by root role. + * @param _user User we want to remove recovery role from + */ + "removeRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + setRecoveryRole( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set new colony recovery role. Can be called by root. + * @param _user User we want to give a recovery role to + */ + "setRecoveryRole(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + setStorageSlotRecovery( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * certain critical variables are protected from editing in this function + * Update value of arbitrary storage variable. Can only be called by user with recovery role. + * @param _slot Uint address of storage slot to be updated + * @param _value word of data to be set + */ + "setStorageSlotRecovery(uint256,bytes32)"( + _slot: BigNumberish, + _value: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Interface identification is specified in ERC-165. + * Query if a contract implements an interface + * @param _interfaceID The interface identifier, as specified in ERC-165 + */ + supportsInterface( + _interfaceID: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Interface identification is specified in ERC-165. + * Query if a contract implements an interface + * @param _interfaceID The interface identifier, as specified in ERC-165 + */ + "supportsInterface(bytes4)"( + _interfaceID: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Note that strictly, `_nUpdates` and `_nPreviousUpdates` don't need to be set - they're only used during dispute resolution, which these replacement log entries are never used for. However, for ease of resyncing the client, we have decided to include them for now. + * Set a replacement log entry if we're in recovery mode. + * @param _amount The amount of reputation being earned / lost + * @param _colony The address of the colony being updated + * @param _id The number of the log entry in the reputation mining cycle in question. + * @param _nPreviousUpdates The number of updates in the log before this entry + * @param _nUpdates The number of updates the log entry corresponds to + * @param _reputationMiningCycle The address of the reputation mining cycle that the log was in. + * @param _skillId The id of the origin skill for the reputation update + * @param _user The address of the user earning / losing the reputation + */ + setReplacementReputationUpdateLogEntry( + _reputationMiningCycle: string, + _id: BigNumberish, + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + _colony: string, + _nUpdates: BigNumberish, + _nPreviousUpdates: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Note that strictly, `_nUpdates` and `_nPreviousUpdates` don't need to be set - they're only used during dispute resolution, which these replacement log entries are never used for. However, for ease of resyncing the client, we have decided to include them for now. + * Set a replacement log entry if we're in recovery mode. + * @param _amount The amount of reputation being earned / lost + * @param _colony The address of the colony being updated + * @param _id The number of the log entry in the reputation mining cycle in question. + * @param _nPreviousUpdates The number of updates in the log before this entry + * @param _nUpdates The number of updates the log entry corresponds to + * @param _reputationMiningCycle The address of the reputation mining cycle that the log was in. + * @param _skillId The id of the origin skill for the reputation update + * @param _user The address of the user earning / losing the reputation + */ + "setReplacementReputationUpdateLogEntry(address,uint256,address,int256,uint256,address,uint128,uint128)"( + _reputationMiningCycle: string, + _id: BigNumberish, + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + _colony: string, + _nUpdates: BigNumberish, + _nPreviousUpdates: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a replacement log entry (if set) for the log entry `_id` in the mining cycle that was at the address `_reputationMiningCycle`. + * @param _id The log entry number we wish to see if there is a replacement for + * @param _reputationMiningCycle The address of the reputation mining cycle we are asking about + */ + getReplacementReputationUpdateLogEntry( + _reputationMiningCycle: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a replacement log entry (if set) for the log entry `_id` in the mining cycle that was at the address `_reputationMiningCycle`. + * @param _id The log entry number we wish to see if there is a replacement for + * @param _reputationMiningCycle The address of the reputation mining cycle we are asking about + */ + "getReplacementReputationUpdateLogEntry(address,uint256)"( + _reputationMiningCycle: string, + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get whether any replacement log entries have been set for the supplied reputation mining cycle.Used by the client to avoid doubling the number of RPC calls when syncing from scratch. + * @param _reputationMiningCycle The reputation mining cycle address we want to know if any entries have been replaced in. + */ + getReplacementReputationUpdateLogsExist( + _reputationMiningCycle: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get whether any replacement log entries have been set for the supplied reputation mining cycle.Used by the client to avoid doubling the number of RPC calls when syncing from scratch. + * @param _reputationMiningCycle The reputation mining cycle address we want to know if any entries have been replaced in. + */ + "getReplacementReputationUpdateLogsExist(address)"( + _reputationMiningCycle: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the Meta Colony address. + */ + getMetaColony(overrides?: TransactionOverrides): Promise; + + /** + * Get the Meta Colony address. + */ + "getMetaColony()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of colonies in the network. + */ + getColonyCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of colonies in the network. + */ + "getColonyCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Check if specific address is a colony created on colony network. + * @param _colony Address of the colony + */ + isColony( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Check if specific address is a colony created on colony network. + * @param _colony Address of the colony + */ + "isColony(address)"( + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if the parent skill does not exist or if this is called by an unauthorised sender. + * Adds a new skill to the global or local skills tree, under skill `_parentSkillId`. Only the Meta Colony is allowed to add a global skill, called via `IColony.addGlobalSkill`. Any colony is allowed to add a local skill and which is associated with a new domain via `IColony.addDomain`. + * @param _parentSkillId Id of the skill under which the new skill will be added. If 0, a global skill is added with no parent. + */ + addSkill( + _parentSkillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if the parent skill does not exist or if this is called by an unauthorised sender. + * Adds a new skill to the global or local skills tree, under skill `_parentSkillId`. Only the Meta Colony is allowed to add a global skill, called via `IColony.addGlobalSkill`. Any colony is allowed to add a local skill and which is associated with a new domain via `IColony.addDomain`. + * @param _parentSkillId Id of the skill under which the new skill will be added. If 0, a global skill is added with no parent. + */ + "addSkill(uint256)"( + _parentSkillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `nParents` and `nChildren` of skill with id `_skillId`. + * @param _skillId Id of the skill + */ + getSkill( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `nParents` and `nChildren` of skill with id `_skillId`. + * @param _skillId Id of the skill + */ + "getSkill(uint256)"( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function is deprecated and will be removed in a future release + * Mark a skill as deprecated which stops new tasks and payments from using it. + * @param _skillId Id of the skill + */ + deprecateSkill( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This function is deprecated and will be removed in a future release + * Mark a skill as deprecated which stops new tasks and payments from using it. + * @param _skillId Id of the skill + */ + "deprecateSkill(uint256)"( + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set deprecation status for a skill + * @param _deprecated Deprecation status + * @param _skillId Id of the skill + */ + "deprecateSkill(uint256,bool)"( + _skillId: BigNumberish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skills tree for a colony + */ + initialiseRootLocalSkill( + overrides?: TransactionOverrides + ): Promise; + + /** + * Initialise the local skills tree for a colony + */ + "initialiseRootLocalSkill()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if it is called by anyone but a colony or if skill with id `_skillId` does not exist or. + * Adds a reputation update entry to log. + * @param _amount The amount of reputation change for the update, this can be a negative as well as a positive value + * @param _skillId The skill for the reputation update + * @param _user The address of the user for the reputation update + */ + appendReputationUpdateLog( + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Errors if it is called by anyone but a colony or if skill with id `_skillId` does not exist or. + * Adds a reputation update entry to log. + * @param _amount The amount of reputation change for the update, this can be a negative as well as a positive value + * @param _skillId The skill for the reputation update + * @param _user The address of the user for the reputation update + */ + "appendReputationUpdateLog(address,int256,uint256)"( + _user: string, + _amount: BigNumberish, + _skillId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the number of skills in the network including both global and local skills. + */ + getSkillCount(overrides?: TransactionOverrides): Promise; + + /** + * Get the number of skills in the network including both global and local skills. + */ + "getSkillCount()"(overrides?: TransactionOverrides): Promise; + + /** + * Get the `skillId` of the reputation mining skill. Only set once the metacolony is set up. + */ + getReputationMiningSkillId( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `skillId` of the reputation mining skill. Only set once the metacolony is set up. + */ + "getReputationMiningSkillId()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the token locking address. This is only set once, and can't be changed afterwards. + * @param _tokenLockingAddress Address of the locking contract + */ + setTokenLocking( + _tokenLockingAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Sets the token locking address. This is only set once, and can't be changed afterwards. + * @param _tokenLockingAddress Address of the locking contract + */ + "setTokenLocking(address)"( + _tokenLockingAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get token locking contract address. + */ + getTokenLocking(overrides?: TransactionOverrides): Promise; + + /** + * Get token locking contract address. + */ + "getTokenLocking()"(overrides?: TransactionOverrides): Promise; + + /** + * Create the Meta Colony, same as a normal colony plus the root skill. + * @param _tokenAddress Address of the CLNY token + */ + createMetaColony( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Create the Meta Colony, same as a normal colony plus the root skill. + * @param _tokenAddress Address of the CLNY token + */ + "createMetaColony(address)"( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, at version 3 + * @param _tokenAddress Address of an ERC20 token to serve as the colony token. + */ + createColony( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, at version 3 + * @param _tokenAddress Address of an ERC20 token to serve as the colony token. + */ + "createColony(address)"( + _tokenAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the colony to mint tokens, token ownership must be transferred to the new colonyWe expect this function to only be used by the dapp + * Creates a new colony in the network, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _metadata The metadata associated with the new colony + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string,string)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * For the colony to mint tokens, token ownership must be transferred to the new colony + * Creates a new colony in the network, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is now deprecated and will be removed in a future versionFor the colony to mint tokens, token ownership must be transferred to the new colony + * Overload of the simpler `createColony` -- creates a new colony in the network with a variety of options, at version 4 + * @param _colonyName The label to register (if null, no label is registered) + * @param _orbitdb DEPRECATED Currently a no-op + * @param _tokenAddress Address of an ERC20 token to serve as the colony token + * @param _useExtensionManager DEPRECATED Currently a no-op + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColony(address,uint256,string,string,bool)"( + _tokenAddress: string, + _version: BigNumberish, + _colonyName: string, + _orbitdb: string, + _useExtensionManager: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * We expect this function to only be used by the dapp + * Creates a new colony in the network, possibly with a token and token authority, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to (optional) In the case of ETH, and most tokens, this is 18. + * @param _metadata The metadata associated with the new colony + * @param _name The name of the token (optional) + * @param _symbol The short 'ticket' symbol for the token (optional) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token (optional) + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + createColonyForFrontend( + _tokenAddress: string, + _name: string, + _symbol: string, + _decimals: BigNumberish, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * We expect this function to only be used by the dapp + * Creates a new colony in the network, possibly with a token and token authority, with an optional ENS name + * @param _colonyName The label to register (if null, no label is registered) + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to (optional) In the case of ETH, and most tokens, this is 18. + * @param _metadata The metadata associated with the new colony + * @param _name The name of the token (optional) + * @param _symbol The short 'ticket' symbol for the token (optional) + * @param _tokenAddress Address of an ERC20 token to serve as the colony token (optional) + * @param _version The version of colony to deploy (pass 0 for the current version) + */ + "createColonyForFrontend(address,string,string,uint8,uint256,string,string)"( + _tokenAddress: string, + _name: string, + _symbol: string, + _decimals: BigNumberish, + _version: BigNumberish, + _colonyName: string, + _metadata: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. + * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract + * @param _version The new Colony contract version + */ + addColonyVersion( + _version: BigNumberish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Adds a new Colony contract version and the address of associated `_resolver` contract. Secured function to authorised members. Allowed to be called by the Meta Colony only. + * @param _resolver Address of the `Resolver` contract which will be used with the underlying `EtherRouter` contract + * @param _version The new Colony contract version + */ + "addColonyVersion(uint256,address)"( + _version: BigNumberish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be run once, by the Network owner before any Colony versions are added. + * Initialises the colony network by setting the first Colony version resolver to `_resolver` address. + * @param _resolver Address of the resolver for Colony contract + * @param _version Version of the Colony contract the resolver represents + */ + initialise( + _resolver: string, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only allowed to be run once, by the Network owner before any Colony versions are added. + * Initialises the colony network by setting the first Colony version resolver to `_resolver` address. + * @param _resolver Address of the resolver for Colony contract + * @param _version Version of the Colony contract the resolver represents + */ + "initialise(address,uint256)"( + _resolver: string, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a colony address by its Id in the network. + * @param _id Id of the colony to get + */ + getColony( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a colony address by its Id in the network. + * @param _id Id of the colony to get + */ + "getColony(uint256)"( + _id: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the latest Colony contract version. This is the version used to create all new colonies. + */ + getCurrentColonyVersion( + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the latest Colony contract version. This is the version used to create all new colonies. + */ + "getCurrentColonyVersion()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the parent skill at index `_parentSkillIndex` for skill with Id `_skillId`. + * @param _parentSkillIndex Index of the `skill.parents` array to get Note that not all parent skill ids are stored here. See `Skill.parents` member for definition on which parents are stored + * @param _skillId Id of the skill + */ + getParentSkillId( + _skillId: BigNumberish, + _parentSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the parent skill at index `_parentSkillIndex` for skill with Id `_skillId`. + * @param _parentSkillIndex Index of the `skill.parents` array to get Note that not all parent skill ids are stored here. See `Skill.parents` member for definition on which parents are stored + * @param _skillId Id of the skill + */ + "getParentSkillId(uint256,uint256)"( + _skillId: BigNumberish, + _parentSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the child skill at index `_childSkillIndex` for skill with Id `_skillId`. + * @param _childSkillIndex Index of the `skill.children` array to get + * @param _skillId Id of the skill + */ + getChildSkillId( + _skillId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the id of the child skill at index `_childSkillIndex` for skill with Id `_skillId`. + * @param _childSkillIndex Index of the `skill.children` array to get + * @param _skillId Id of the skill + */ + "getChildSkillId(uint256,uint256)"( + _skillId: BigNumberish, + _childSkillIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of either the active or inactive reputation mining cycle, based on `active`. The active reputation mining cycle is the one currently under consideration by reputation miners. The inactive reputation cycle is the one with the log that is being appended to. + * @param _active Whether the user wants the active or inactive reputation mining cycle + */ + getReputationMiningCycle( + _active: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the address of either the active or inactive reputation mining cycle, based on `active`. The active reputation mining cycle is the one currently under consideration by reputation miners. The inactive reputation cycle is the one with the log that is being appended to. + * @param _active Whether the user wants the active or inactive reputation mining cycle + */ + "getReputationMiningCycle(bool)"( + _active: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Calculate raw miner weight in WADs. + * @param _submissonIndex Index of reputation hash submission (between 0 and 11) + * @param _timeStaked Amount of time (in seconds) that the miner has staked their CLNY + */ + calculateMinerWeight( + _timeStaked: BigNumberish, + _submissonIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Calculate raw miner weight in WADs. + * @param _submissonIndex Index of reputation hash submission (between 0 and 11) + * @param _timeStaked Amount of time (in seconds) that the miner has staked their CLNY + */ + "calculateMinerWeight(uint256,uint256)"( + _timeStaked: BigNumberish, + _submissonIndex: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Resolver` address for Colony contract version `_version`. + * @param _version The Colony contract version + */ + getColonyVersionResolver( + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the `Resolver` address for Colony contract version `_version`. + * @param _version The Colony contract version + */ + "getColonyVersionResolver(uint256)"( + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a new Reputation root hash and starts a new mining cycle. Can only be called by the ReputationMiningCycle contract. + * @param _newHash The reputation root hash + * @param _newNLeaves The updated leaves count value + * @param _stakers Array of users who submitted or backed the hash, being accepted here as the new reputation root hash + */ + setReputationRootHash( + _newHash: Arrayish, + _newNLeaves: BigNumberish, + _stakers: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a new Reputation root hash and starts a new mining cycle. Can only be called by the ReputationMiningCycle contract. + * @param _newHash The reputation root hash + * @param _newNLeaves The updated leaves count value + * @param _stakers Array of users who submitted or backed the hash, being accepted here as the new reputation root hash + */ + "setReputationRootHash(bytes32,uint256,address[])"( + _newHash: Arrayish, + _newNLeaves: BigNumberish, + _stakers: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Starts a new Reputation Mining cycle. Explicitly called only the first time, subsequently called from within `setReputationRootHash`. + */ + startNextCycle(overrides?: TransactionOverrides): Promise; + + /** + * Starts a new Reputation Mining cycle. Explicitly called only the first time, subsequently called from within `setReputationRootHash`. + */ + "startNextCycle()"(overrides?: TransactionOverrides): Promise; + + /** + * Creates initial inactive reputation mining cycle. + */ + initialiseReputationMining( + overrides?: TransactionOverrides + ): Promise; + + /** + * Creates initial inactive reputation mining cycle. + */ + "initialiseReputationMining()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the root hash of the current reputation state tree. + */ + getReputationRootHash(overrides?: TransactionOverrides): Promise; + + /** + * Get the root hash of the current reputation state tree. + */ + "getReputationRootHash()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * I cannot see a reason why a user's client would need to call this - only stored to help with some edge cases in reputation mining dispute resolution. + * Get the number of leaves in the current reputation state tree. + */ + getReputationRootHashNLeaves( + overrides?: TransactionOverrides + ): Promise; + + /** + * I cannot see a reason why a user's client would need to call this - only stored to help with some edge cases in reputation mining dispute resolution. + * Get the number of leaves in the current reputation state tree. + */ + "getReputationRootHashNLeaves()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecated, replaced by getReputationRootHashNLeaves which does the same thing but is more accurately named.will be removed in a later version. + * Get the number of leaves in the current reputation state tree. + */ + getReputationRootHashNNodes( + overrides?: TransactionOverrides + ): Promise; + + /** + * Deprecated, replaced by getReputationRootHashNLeaves which does the same thing but is more accurately named.will be removed in a later version. + * Get the number of leaves in the current reputation state tree. + */ + "getReputationRootHashNNodes()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * Create and start a new `DutchAuction` for the entire amount of `_token` owned by the Colony Network. + * @param _token Address of the token held by the network to be auctioned + */ + startTokenAuction( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Create and start a new `DutchAuction` for the entire amount of `_token` owned by the Colony Network. + * @param _token Address of the token held by the network to be auctioned + */ + "startTokenAuction(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Setup registrar with ENS and root node. + * @param _ens Address of ENS registrar + * @param _rootNode Namehash of the root node for the domain + */ + setupRegistrar( + _ens: string, + _rootNode: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Setup registrar with ENS and root node. + * @param _ens Address of ENS registrar + * @param _rootNode Namehash of the root node for the domain + */ + "setupRegistrar(address,bytes32)"( + _ens: string, + _rootNode: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "user.joincolony.eth" label. + * @param _orbitdb The path of the orbitDB database associated with the user profile + * @param _username The label to register + */ + registerUserLabel( + _username: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "user.joincolony.eth" label. + * @param _orbitdb The path of the orbitDB database associated with the user profile + * @param _username The label to register + */ + "registerUserLabel(string,string)"( + _username: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "colony.joincolony.eth" label. Can only be called by a Colony. + * @param _colonyName The label to register. + * @param _orbitdb The path of the orbitDB database associated with the colony name + */ + registerColonyLabel( + _colonyName: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Register a "colony.joincolony.eth" label. Can only be called by a Colony. + * @param _colonyName The label to register. + * @param _orbitdb The path of the orbitDB database associated with the colony name + */ + "registerColonyLabel(string,string)"( + _colonyName: string, + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the colony + */ + updateColonyOrbitDB( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a colony's orbitdb address. Can only be called by a colony with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the colony + */ + "updateColonyOrbitDB(string)"( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a user's orbitdb address. Can only be called by a user with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the user + */ + updateUserOrbitDB( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Update a user's orbitdb address. Can only be called by a user with a registered subdomain + * @param _orbitdb The path of the orbitDB database to be associated with the user + */ + "updateUserOrbitDB(string)"( + _orbitdb: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Retrieve the orbitdb address corresponding to a registered account. + * @param _node The Namehash of the account being queried. + */ + getProfileDBAddress( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Retrieve the orbitdb address corresponding to a registered account. + * @param _node The Namehash of the account being queried. + */ + "getProfileDBAddress(bytes32)"( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Reverse lookup a username from an address. + * @param _addr The address we wish to find the corresponding ENS domain for (if any) + */ + lookupRegisteredENSDomain( + _addr: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Reverse lookup a username from an address. + * @param _addr The address we wish to find the corresponding ENS domain for (if any) + */ + "lookupRegisteredENSDomain(address)"( + _addr: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the address the supplied node resolves do, if we are the resolver. + * @param _node The namehash of the ENS address being requested + */ + addr(_node: Arrayish, overrides?: TransactionOverrides): Promise; + + /** + * Returns the address the supplied node resolves do, if we are the resolver. + * @param _node The namehash of the ENS address being requested + */ + "addr(bytes32)"( + _node: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Returns the address of the ENSRegistrar for the Network. + */ + getENSRegistrar(overrides?: TransactionOverrides): Promise; + + /** + * Returns the address of the ENSRegistrar for the Network. + */ + "getENSRegistrar()"(overrides?: TransactionOverrides): Promise; + + /** + * Set the resolver to be used by new instances of ReputationMiningCycle. + * @param _miningResolverAddress The address of the Resolver contract with the functions correctly wired. + */ + setMiningResolver( + _miningResolverAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the resolver to be used by new instances of ReputationMiningCycle. + * @param _miningResolverAddress The address of the Resolver contract with the functions correctly wired. + */ + "setMiningResolver(address)"( + _miningResolverAddress: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get the resolver to be used by new instances of ReputationMiningCycle. + */ + getMiningResolver(overrides?: TransactionOverrides): Promise; + + /** + * Get the resolver to be used by new instances of ReputationMiningCycle. + */ + "getMiningResolver()"(overrides?: TransactionOverrides): Promise; + + /** + * Can only be called by the MetaColony.The extension version is queried from the resolver itself. + * Add a new extension resolver to the Extensions repository. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _resolver The deployed resolver containing the extension contract logic + */ + addExtensionToNetwork( + _extensionId: Arrayish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony.The extension version is queried from the resolver itself. + * Add a new extension resolver to the Extensions repository. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _resolver The deployed resolver containing the extension contract logic + */ + "addExtensionToNetwork(bytes32,address)"( + _extensionId: Arrayish, + _resolver: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension to install + */ + installExtension( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Install an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension to install + */ + "installExtension(bytes32,uint256)"( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _newVersion Version of the extension to upgrade to (must be one greater than current) + */ + upgradeExtension( + _extensionId: Arrayish, + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Upgrade an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _newVersion Version of the extension to upgrade to (must be one greater than current) + */ + "upgradeExtension(bytes32,uint256)"( + _extensionId: Arrayish, + _newVersion: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Can only be called by a Colony. + * @param _deprecated Whether to deprecate the extension or not + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + deprecateExtension( + _extensionId: Arrayish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the deprecation of an extension in a colony. Can only be called by a Colony. + * @param _deprecated Whether to deprecate the extension or not + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "deprecateExtension(bytes32,bool)"( + _extensionId: Arrayish, + _deprecated: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Uninstall an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + uninstallExtension( + _extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Uninstall an extension in a colony. Can only be called by a Colony. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "uninstallExtension(bytes32)"( + _extensionId: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's resolver. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension + */ + getExtensionResolver( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's resolver. + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + * @param _version Version of the extension + */ + "getExtensionResolver(bytes32,uint256)"( + _extensionId: Arrayish, + _version: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's installation. + * @param _colony Address of the colony the extension is installed in + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + getExtensionInstallation( + _extensionId: Arrayish, + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get an extension's installation. + * @param _colony Address of the colony the extension is installed in + * @param _extensionId keccak256 hash of the extension name, used as an indentifier + */ + "getExtensionInstallation(bytes32,address)"( + _extensionId: Arrayish, + _colony: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Return 1 / the fee to pay to the network. e.g. if the fee is 1% (or 0.01), return 100. + */ + getFeeInverse(overrides?: TransactionOverrides): Promise; + + /** + * Return 1 / the fee to pay to the network. e.g. if the fee is 1% (or 0.01), return 100. + */ + "getFeeInverse()"(overrides?: TransactionOverrides): Promise; + + /** + * Set the colony network fee to pay. e.g. if the fee is 1% (or 0.01), pass 100 as `_feeInverse`. + * @param _feeInverse The inverse of the network fee to set + */ + setFeeInverse( + _feeInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set the colony network fee to pay. e.g. if the fee is 1% (or 0.01), pass 100 as `_feeInverse`. + * @param _feeInverse The inverse of the network fee to set + */ + "setFeeInverse(uint256)"( + _feeInverse: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a token's status in the payout whitelist + * @param _token The token being queried + */ + getPayoutWhitelist( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Get a token's status in the payout whitelist + * @param _token The token being queried + */ + "getPayoutWhitelist(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a token's status in the payout whitelist + * @param _status The whitelist status + * @param _token The token being set + */ + setPayoutWhitelist( + _token: string, + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Set a token's status in the payout whitelist + * @param _status The whitelist status + * @param _token The token being set + */ + "setPayoutWhitelist(address,bool)"( + _token: string, + _status: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * While external, it can only be called successfully by the current ReputationMiningCycle. + * Function called to punish people who staked against a new reputation root hash that turned out to be incorrect. + * @param _amount Amount of stake to slash + * @param _stakers Array of the addresses of stakers to punish + */ + punishStakers( + _stakers: string[], + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * While external, it can only be called successfully by the current ReputationMiningCycle. + * Function called to punish people who staked against a new reputation root hash that turned out to be incorrect. + * @param _amount Amount of stake to slash + * @param _stakers Array of the addresses of stakers to punish + */ + "punishStakers(address[],uint256)"( + _stakers: string[], + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Stake CLNY to allow the staker to participate in reputation mining. + * @param _amount Amount of CLNY to stake for the purposes of mining + */ + stakeForMining( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Stake CLNY to allow the staker to participate in reputation mining. + * @param _amount Amount of CLNY to stake for the purposes of mining + */ + "stakeForMining(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unstake CLNY currently staked for reputation mining. + * @param _amount Amount of CLNY staked for mining to unstake + */ + unstakeForMining( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Unstake CLNY currently staked for reputation mining. + * @param _amount Amount of CLNY staked for mining to unstake + */ + "unstakeForMining(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * returns how much CLNY _user has staked for the purposes of reputation mining + * @param _user The user to query + */ + getMiningStake( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * returns how much CLNY _user has staked for the purposes of reputation mining + * @param _user The user to query + */ + "getMiningStake(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to track that a user is eligible to claim a reward + * @param _amount The amount of CLNY to be awarded + * @param _recipient The address receiving the award + */ + reward( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to track that a user is eligible to claim a reward + * @param _amount The amount of CLNY to be awarded + * @param _recipient The address receiving the award + */ + "reward(address,uint256)"( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to burn tokens that are not needed to pay out rewards (because not every possible defence was made for all submissions) + * @param _amount The amount of CLNY to burn + */ + burnUnneededRewards( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Only callable by the active reputation mining cycle + * Used to burn tokens that are not needed to pay out rewards (because not every possible defence was made for all submissions) + * @param _amount The amount of CLNY to burn + */ + "burnUnneededRewards(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can be called by anyone, not just _recipient + * Used by a user to claim any mining rewards due to them. This will place them in their balance or pending balance, as appropriate. + * @param _recipient The user whose rewards to claim + */ + claimMiningReward( + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can be called by anyone, not just _recipient + * Used by a user to claim any mining rewards due to them. This will place them in their balance or pending balance, as appropriate. + * @param _recipient The user whose rewards to claim + */ + "claimMiningReward(address)"( + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony. + * Called to set the total per-cycle reputation reward, which will be split between all miners. + * @param _amount The CLNY awarded per mining cycle to the miners + */ + setReputationMiningCycleReward( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Can only be called by the MetaColony. + * Called to set the total per-cycle reputation reward, which will be split between all miners. + * @param _amount The CLNY awarded per mining cycle to the miners + */ + "setReputationMiningCycleReward(uint256)"( + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the total per-cycle reputation mining reward. + */ + getReputationMiningCycleReward( + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the total per-cycle reputation mining reward. + */ + "getReputationMiningCycleReward()"( + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token. + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to In the case of ETH, and most tokens, this is 18. + * @param _name The name of the token + * @param _symbol The short 'ticket' symbol for the token + */ + deployTokenViaNetwork( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token. + * @param _decimals The number of decimal places that 1 user-facing token can be divided up in to In the case of ETH, and most tokens, this is 18. + * @param _name The name of the token + * @param _symbol The short 'ticket' symbol for the token + */ + "deployTokenViaNetwork(string,string,uint8)"( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token authority + * @param _allowedToTransfer An array of addresses that are allowed to transfer the token even if it's locked + * @param _colony The address of the colony in control of the token + * @param _token The address of the otken + */ + deployTokenAuthority( + _token: string, + _colony: string, + _allowedToTransfer: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * This is more expensive than deploying a token directly, but is able to be done via a metatransaction + * Called to deploy a token authority + * @param _allowedToTransfer An array of addresses that are allowed to transfer the token even if it's locked + * @param _colony The address of the colony in control of the token + * @param _token The address of the otken + */ + "deployTokenAuthority(address,address,address[])"( + _token: string, + _colony: string, + _allowedToTransfer: string[], + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to give or remove another address's permission to mine on your behalf + * @param _allowed Whether they are allowed (true) or not (false) to mine on your behalf + * @param _delegate The address you're giving or removing permission from + */ + setMiningDelegate( + _delegate: string, + _allowed: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to give or remove another address's permission to mine on your behalf + * @param _allowed Whether they are allowed (true) or not (false) to mine on your behalf + * @param _delegate The address you're giving or removing permission from + */ + "setMiningDelegate(address,bool)"( + _delegate: string, + _allowed: boolean, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the address _delegate is allowed to mine for + * @param _delegate The address that wants to mine + */ + getMiningDelegator( + _delegate: string, + overrides?: TransactionOverrides + ): Promise; + + /** + * Called to get the address _delegate is allowed to mine for + * @param _delegate The address that wants to mine + */ + "getMiningDelegator(address)"( + _delegate: string, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/colony/12/MetaTxToken.d.ts b/src/contracts/colony/12/MetaTxToken.d.ts new file mode 100644 index 000000000..1620f88ba --- /dev/null +++ b/src/contracts/colony/12/MetaTxToken.d.ts @@ -0,0 +1,941 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface MetaTxTokenInterface extends Interface { + functions: { + DOMAIN_SEPARATOR: TypedFunctionDescription<{ encode([]: []): string }>; + + PERMIT_TYPEHASH: TypedFunctionDescription<{ encode([]: []): string }>; + + allowance: TypedFunctionDescription<{ + encode([src, guy]: [string, string]): string; + }>; + + approve: TypedFunctionDescription<{ + encode([guy, wad]: [string, BigNumberish]): string; + }>; + + authority: TypedFunctionDescription<{ encode([]: []): string }>; + + balanceOf: TypedFunctionDescription<{ encode([src]: [string]): string }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + executeMetaTransaction: TypedFunctionDescription<{ + encode([_user, _payload, _sigR, _sigS, _sigV]: [ + string, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getChainId: TypedFunctionDescription<{ encode([]: []): string }>; + + locked: TypedFunctionDescription<{ encode([]: []): string }>; + + name: TypedFunctionDescription<{ encode([]: []): string }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + setAuthority: TypedFunctionDescription<{ + encode([authority_]: [string]): string; + }>; + + setOwner: TypedFunctionDescription<{ encode([owner_]: [string]): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([dst, wad]: [string, BigNumberish]): string; + }>; + + verify: TypedFunctionDescription<{ + encode([_owner, _nonce, _chainId, _payload, _sigR, _sigS, _sigV]: [ + string, + BigNumberish, + BigNumberish, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getMetatransactionNonce: TypedFunctionDescription<{ + encode([_user]: [string]): string; + }>; + + nonces: TypedFunctionDescription<{ encode([_user]: [string]): string }>; + + transferFrom: TypedFunctionDescription<{ + encode([src, dst, wad]: [string, string, BigNumberish]): string; + }>; + + mint: TypedFunctionDescription<{ + encode([guy, wad]: [string, BigNumberish]): string; + }>; + + burn: TypedFunctionDescription<{ encode([wad]: [BigNumberish]): string }>; + + unlock: TypedFunctionDescription<{ encode([]: []): string }>; + + permit: TypedFunctionDescription<{ + encode([owner, spender, value, deadline, v, r, s]: [ + string, + string, + BigNumberish, + BigNumberish, + BigNumberish, + Arrayish, + Arrayish + ]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([src, guy, wad]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Burn: TypedEventDescription<{ + encodeTopics([guy, wad]: [string | null, null]): string[]; + }>; + + LogSetAuthority: TypedEventDescription<{ + encodeTopics([authority]: [string | null]): string[]; + }>; + + LogSetOwner: TypedEventDescription<{ + encodeTopics([owner]: [string | null]): string[]; + }>; + + MetaTransactionExecuted: TypedEventDescription<{ + encodeTopics([user, relayerAddress, functionSignature]: [ + null, + null, + null + ]): string[]; + }>; + + Mint: TypedEventDescription<{ + encodeTopics([guy, wad]: [string | null, null]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([src, dst, wad]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class MetaTxToken extends Contract { + connect(signerOrProvider: Signer | Provider | string): MetaTxToken; + attach(addressOrName: string): MetaTxToken; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): MetaTxToken; + once(event: EventFilter | string, listener: Listener): MetaTxToken; + addListener(eventName: EventFilter | string, listener: Listener): MetaTxToken; + removeAllListeners(eventName: EventFilter | string): MetaTxToken; + removeListener(eventName: any, listener: Listener): MetaTxToken; + + interface: MetaTxTokenInterface; + + functions: { + DOMAIN_SEPARATOR(overrides?: TransactionOverrides): Promise; + + "DOMAIN_SEPARATOR()"(overrides?: TransactionOverrides): Promise; + + PERMIT_TYPEHASH(overrides?: TransactionOverrides): Promise; + + "PERMIT_TYPEHASH()"(overrides?: TransactionOverrides): Promise; + + allowance( + src: string, + guy: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + src: string, + guy: string, + overrides?: TransactionOverrides + ): Promise; + + approve( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + src: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + src: string, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + locked(overrides?: TransactionOverrides): Promise; + + "locked()"(overrides?: TransactionOverrides): Promise; + + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transfer( + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + nonces(_user: string, overrides?: TransactionOverrides): Promise; + + "nonces(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + src: string, + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + src: string, + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "mint(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "mint(uint256)"( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + burn( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "burn(uint256)"( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "burn(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + unlock(overrides?: TransactionOverrides): Promise; + + "unlock()"(overrides?: TransactionOverrides): Promise; + + permit( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)"( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: TransactionOverrides + ): Promise; + }; + + DOMAIN_SEPARATOR(overrides?: TransactionOverrides): Promise; + + "DOMAIN_SEPARATOR()"(overrides?: TransactionOverrides): Promise; + + PERMIT_TYPEHASH(overrides?: TransactionOverrides): Promise; + + "PERMIT_TYPEHASH()"(overrides?: TransactionOverrides): Promise; + + allowance( + src: string, + guy: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + src: string, + guy: string, + overrides?: TransactionOverrides + ): Promise; + + approve( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + balanceOf(src: string, overrides?: TransactionOverrides): Promise; + + "balanceOf(address)"( + src: string, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + locked(overrides?: TransactionOverrides): Promise; + + "locked()"(overrides?: TransactionOverrides): Promise; + + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transfer( + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + nonces(_user: string, overrides?: TransactionOverrides): Promise; + + "nonces(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + src: string, + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + src: string, + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "mint(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "mint(uint256)"( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + burn( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "burn(uint256)"( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "burn(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + unlock(overrides?: TransactionOverrides): Promise; + + "unlock()"(overrides?: TransactionOverrides): Promise; + + permit( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)"( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval(src: string | null, guy: string | null, wad: null): EventFilter; + + Burn(guy: string | null, wad: null): EventFilter; + + LogSetAuthority(authority: string | null): EventFilter; + + LogSetOwner(owner: string | null): EventFilter; + + MetaTransactionExecuted( + user: null, + relayerAddress: null, + functionSignature: null + ): EventFilter; + + Mint(guy: string | null, wad: null): EventFilter; + + Transfer(src: string | null, dst: string | null, wad: null): EventFilter; + }; + + estimate: { + DOMAIN_SEPARATOR(overrides?: TransactionOverrides): Promise; + + "DOMAIN_SEPARATOR()"(overrides?: TransactionOverrides): Promise; + + PERMIT_TYPEHASH(overrides?: TransactionOverrides): Promise; + + "PERMIT_TYPEHASH()"(overrides?: TransactionOverrides): Promise; + + allowance( + src: string, + guy: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + src: string, + guy: string, + overrides?: TransactionOverrides + ): Promise; + + approve( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + src: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + src: string, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + locked(overrides?: TransactionOverrides): Promise; + + "locked()"(overrides?: TransactionOverrides): Promise; + + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transfer( + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + nonces(_user: string, overrides?: TransactionOverrides): Promise; + + "nonces(address)"( + _user: string, + overrides?: TransactionOverrides + ): Promise; + + transferFrom( + src: string, + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + src: string, + dst: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + mint( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "mint(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "mint(uint256)"( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + burn( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "burn(uint256)"( + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "burn(address,uint256)"( + guy: string, + wad: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + unlock(overrides?: TransactionOverrides): Promise; + + "unlock()"(overrides?: TransactionOverrides): Promise; + + permit( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: TransactionOverrides + ): Promise; + + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)"( + owner: string, + spender: string, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: Arrayish, + s: Arrayish, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/colony/12/TokenERC20.d.ts b/src/contracts/colony/12/TokenERC20.d.ts new file mode 100644 index 000000000..93c7a6793 --- /dev/null +++ b/src/contracts/colony/12/TokenERC20.d.ts @@ -0,0 +1,316 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface TokenERC20Interface extends Interface { + functions: { + name: TypedFunctionDescription<{ encode([]: []): string }>; + + approve: TypedFunctionDescription<{ + encode([_spender, _value]: [string, BigNumberish]): string; + }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transferFrom: TypedFunctionDescription<{ + encode([_from, _to, _value]: [string, string, BigNumberish]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + balanceOf: TypedFunctionDescription<{ encode([_owner]: [string]): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([_to, _value]: [string, BigNumberish]): string; + }>; + + allowance: TypedFunctionDescription<{ + encode([_owner, _spender]: [string, string]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class TokenERC20 extends Contract { + connect(signerOrProvider: Signer | Provider | string): TokenERC20; + attach(addressOrName: string): TokenERC20; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): TokenERC20; + once(event: EventFilter | string, listener: Listener): TokenERC20; + addListener(eventName: EventFilter | string, listener: Listener): TokenERC20; + removeAllListeners(eventName: EventFilter | string): TokenERC20; + removeListener(eventName: any, listener: Listener): TokenERC20; + + interface: TokenERC20Interface; + + functions: { + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + approve( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transferFrom( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + transfer( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + allowance( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + }; + + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + approve( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transferFrom( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + transfer( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + allowance( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + approve( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transferFrom( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + transfer( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + allowance( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/colony/12/TokenLocking.d.ts b/src/contracts/colony/12/TokenLocking.d.ts new file mode 100644 index 000000000..e448bd8a9 --- /dev/null +++ b/src/contracts/colony/12/TokenLocking.d.ts @@ -0,0 +1,1403 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface TokenLockingInterface extends Interface { + functions: { + authority: TypedFunctionDescription<{ encode([]: []): string }>; + + executeMetaTransaction: TypedFunctionDescription<{ + encode([_user, _payload, _sigR, _sigS, _sigV]: [ + string, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getChainId: TypedFunctionDescription<{ encode([]: []): string }>; + + owner: TypedFunctionDescription<{ encode([]: []): string }>; + + setAuthority: TypedFunctionDescription<{ + encode([authority_]: [string]): string; + }>; + + setOwner: TypedFunctionDescription<{ encode([owner_]: [string]): string }>; + + verify: TypedFunctionDescription<{ + encode([_owner, _nonce, _chainId, _payload, _sigR, _sigS, _sigV]: [ + string, + BigNumberish, + BigNumberish, + Arrayish, + Arrayish, + Arrayish, + BigNumberish + ]): string; + }>; + + getMetatransactionNonce: TypedFunctionDescription<{ + encode([userAddress]: [string]): string; + }>; + + setColonyNetwork: TypedFunctionDescription<{ + encode([_colonyNetwork]: [string]): string; + }>; + + getColonyNetwork: TypedFunctionDescription<{ encode([]: []): string }>; + + lockToken: TypedFunctionDescription<{ encode([_token]: [string]): string }>; + + unlockTokenForUser: TypedFunctionDescription<{ + encode([_token, _user, _lockId]: [string, string, BigNumberish]): string; + }>; + + incrementLockCounterTo: TypedFunctionDescription<{ + encode([_token, _lockId]: [string, BigNumberish]): string; + }>; + + deposit: TypedFunctionDescription<{ + encode([_token, _amount, _force]: [ + string, + BigNumberish, + boolean + ]): string; + }>; + + depositFor: TypedFunctionDescription<{ + encode([_token, _amount, _recipient]: [ + string, + BigNumberish, + string + ]): string; + }>; + + transfer: TypedFunctionDescription<{ + encode([_token, _amount, _recipient, _force]: [ + string, + BigNumberish, + string, + boolean + ]): string; + }>; + + withdraw: TypedFunctionDescription<{ + encode([_token, _amount, _force]: [ + string, + BigNumberish, + boolean + ]): string; + }>; + + approveStake: TypedFunctionDescription<{ + encode([_user, _amount, _token]: [string, BigNumberish, string]): string; + }>; + + obligateStake: TypedFunctionDescription<{ + encode([_user, _amount, _token]: [string, BigNumberish, string]): string; + }>; + + deobligateStake: TypedFunctionDescription<{ + encode([_user, _amount, _token]: [string, BigNumberish, string]): string; + }>; + + transferStake: TypedFunctionDescription<{ + encode([_user, _amount, _token, _recipient]: [ + string, + BigNumberish, + string, + string + ]): string; + }>; + + reward: TypedFunctionDescription<{ + encode([_recipient, _amount]: [string, BigNumberish]): string; + }>; + + getTotalLockCount: TypedFunctionDescription<{ + encode([_token]: [string]): string; + }>; + + getUserLock: TypedFunctionDescription<{ + encode([_token, _user]: [string, string]): string; + }>; + + getTotalObligation: TypedFunctionDescription<{ + encode([_user, _token]: [string, string]): string; + }>; + + getApproval: TypedFunctionDescription<{ + encode([_user, _token, _obligator]: [string, string, string]): string; + }>; + + getObligation: TypedFunctionDescription<{ + encode([_user, _token, _obligator]: [string, string, string]): string; + }>; + }; + + events: { + ColonyNetworkSet: TypedEventDescription<{ + encodeTopics([colonyNetwork]: [null]): string[]; + }>; + + LogSetAuthority: TypedEventDescription<{ + encodeTopics([authority]: [string | null]): string[]; + }>; + + LogSetOwner: TypedEventDescription<{ + encodeTopics([owner]: [string | null]): string[]; + }>; + + MetaTransactionExecuted: TypedEventDescription<{ + encodeTopics([user, relayerAddress, functionSignature]: [ + null, + null, + null + ]): string[]; + }>; + + StakeTransferred: TypedEventDescription<{ + encodeTopics([token, by, from, to, amount]: [ + null, + null, + null, + null, + null + ]): string[]; + }>; + + TokenLocked: TypedEventDescription<{ + encodeTopics([token, lockedBy, lockCount]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + UserTokenApproved: TypedEventDescription<{ + encodeTopics([token, user, approvedBy, amount]: [ + null, + null, + null, + null + ]): string[]; + }>; + + UserTokenClaimed: TypedEventDescription<{ + encodeTopics([token, user, amount]: [null, null, null]): string[]; + }>; + + UserTokenDeobligated: TypedEventDescription<{ + encodeTopics([token, user, obligatedBy, amount]: [ + null, + null, + null, + null + ]): string[]; + }>; + + UserTokenDeposited: TypedEventDescription<{ + encodeTopics([token, user, amount]: [null, null, null]): string[]; + }>; + + UserTokenObligated: TypedEventDescription<{ + encodeTopics([token, user, obligatedBy, amount]: [ + null, + null, + null, + null + ]): string[]; + }>; + + UserTokenTransferred: TypedEventDescription<{ + encodeTopics([token, user, recipient, amount]: [ + null, + null, + null, + null + ]): string[]; + }>; + + UserTokenUnlocked: TypedEventDescription<{ + encodeTopics([token, user, lockId]: [null, null, null]): string[]; + }>; + + UserTokenWithdrawn: TypedEventDescription<{ + encodeTopics([token, user, amount]: [null, null, null]): string[]; + }>; + }; +} + +export class TokenLocking extends Contract { + connect(signerOrProvider: Signer | Provider | string): TokenLocking; + attach(addressOrName: string): TokenLocking; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): TokenLocking; + once(event: EventFilter | string, listener: Listener): TokenLocking; + addListener( + eventName: EventFilter | string, + listener: Listener + ): TokenLocking; + removeAllListeners(eventName: EventFilter | string): TokenLocking; + removeListener(eventName: any, listener: Listener): TokenLocking; + + interface: TokenLockingInterface; + + functions: { + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + setColonyNetwork( + _colonyNetwork: string, + overrides?: TransactionOverrides + ): Promise; + + "setColonyNetwork(address)"( + _colonyNetwork: string, + overrides?: TransactionOverrides + ): Promise; + + getColonyNetwork(overrides?: TransactionOverrides): Promise; + + "getColonyNetwork()"(overrides?: TransactionOverrides): Promise; + + lockToken( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "lockToken(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + unlockTokenForUser( + _token: string, + _user: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "unlockTokenForUser(address,address,uint256)"( + _token: string, + _user: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + incrementLockCounterTo( + _token: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "incrementLockCounterTo(address,uint256)"( + _token: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + deposit( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deposit(address,uint256,bool)"( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deposit(address,uint256)"( + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + depositFor( + _token: string, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + "depositFor(address,uint256,address)"( + _token: string, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + transfer( + _token: string, + _amount: BigNumberish, + _recipient: string, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256,address,bool)"( + _token: string, + _amount: BigNumberish, + _recipient: string, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + withdraw( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "withdraw(address,uint256,bool)"( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "withdraw(address,uint256)"( + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + approveStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "approveStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + obligateStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "obligateStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + deobligateStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "deobligateStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + transferStake( + _user: string, + _amount: BigNumberish, + _token: string, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + "transferStake(address,uint256,address,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + reward( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "reward(address,uint256)"( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getTotalLockCount( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "getTotalLockCount(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + getUserLock( + _token: string, + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber] & { + lockCount: BigNumber; + balance: BigNumber; + DEPRECATED_timestamp: BigNumber; + pendingBalance: BigNumber; + } + >; + + "getUserLock(address,address)"( + _token: string, + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber] & { + lockCount: BigNumber; + balance: BigNumber; + DEPRECATED_timestamp: BigNumber; + pendingBalance: BigNumber; + } + >; + + getTotalObligation( + _user: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "getTotalObligation(address,address)"( + _user: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + getApproval( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + "getApproval(address,address,address)"( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + getObligation( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + "getObligation(address,address,address)"( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + }; + + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + setColonyNetwork( + _colonyNetwork: string, + overrides?: TransactionOverrides + ): Promise; + + "setColonyNetwork(address)"( + _colonyNetwork: string, + overrides?: TransactionOverrides + ): Promise; + + getColonyNetwork(overrides?: TransactionOverrides): Promise; + + "getColonyNetwork()"(overrides?: TransactionOverrides): Promise; + + lockToken( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "lockToken(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + unlockTokenForUser( + _token: string, + _user: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "unlockTokenForUser(address,address,uint256)"( + _token: string, + _user: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + incrementLockCounterTo( + _token: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "incrementLockCounterTo(address,uint256)"( + _token: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + deposit( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deposit(address,uint256,bool)"( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deposit(address,uint256)"( + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + depositFor( + _token: string, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + "depositFor(address,uint256,address)"( + _token: string, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + transfer( + _token: string, + _amount: BigNumberish, + _recipient: string, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256,address,bool)"( + _token: string, + _amount: BigNumberish, + _recipient: string, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + withdraw( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "withdraw(address,uint256,bool)"( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "withdraw(address,uint256)"( + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + approveStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "approveStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + obligateStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "obligateStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + deobligateStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "deobligateStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + transferStake( + _user: string, + _amount: BigNumberish, + _token: string, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + "transferStake(address,uint256,address,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + reward( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "reward(address,uint256)"( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getTotalLockCount( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "getTotalLockCount(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + getUserLock( + _token: string, + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber] & { + lockCount: BigNumber; + balance: BigNumber; + DEPRECATED_timestamp: BigNumber; + pendingBalance: BigNumber; + } + >; + + "getUserLock(address,address)"( + _token: string, + _user: string, + overrides?: TransactionOverrides + ): Promise< + [BigNumber, BigNumber, BigNumber, BigNumber] & { + lockCount: BigNumber; + balance: BigNumber; + DEPRECATED_timestamp: BigNumber; + pendingBalance: BigNumber; + } + >; + + getTotalObligation( + _user: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "getTotalObligation(address,address)"( + _user: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + getApproval( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + "getApproval(address,address,address)"( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + getObligation( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + "getObligation(address,address,address)"( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + ColonyNetworkSet(colonyNetwork: null): EventFilter; + + LogSetAuthority(authority: string | null): EventFilter; + + LogSetOwner(owner: string | null): EventFilter; + + MetaTransactionExecuted( + user: null, + relayerAddress: null, + functionSignature: null + ): EventFilter; + + StakeTransferred( + token: null, + by: null, + from: null, + to: null, + amount: null + ): EventFilter; + + TokenLocked( + token: string | null, + lockedBy: string | null, + lockCount: null + ): EventFilter; + + UserTokenApproved( + token: null, + user: null, + approvedBy: null, + amount: null + ): EventFilter; + + UserTokenClaimed(token: null, user: null, amount: null): EventFilter; + + UserTokenDeobligated( + token: null, + user: null, + obligatedBy: null, + amount: null + ): EventFilter; + + UserTokenDeposited(token: null, user: null, amount: null): EventFilter; + + UserTokenObligated( + token: null, + user: null, + obligatedBy: null, + amount: null + ): EventFilter; + + UserTokenTransferred( + token: null, + user: null, + recipient: null, + amount: null + ): EventFilter; + + UserTokenUnlocked(token: null, user: null, lockId: null): EventFilter; + + UserTokenWithdrawn(token: null, user: null, amount: null): EventFilter; + }; + + estimate: { + authority(overrides?: TransactionOverrides): Promise; + + "authority()"(overrides?: TransactionOverrides): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + executeMetaTransaction( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + /** + * Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method. + * @param _payload Function call to make via meta transaction + * @param _sigR R part of the signature + * @param _sigS S part of the signature + * @param _sigV V part of the signature + * @param _user Address of user trying to do meta transaction + */ + "executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)"( + _user: string, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getChainId(overrides?: TransactionOverrides): Promise; + + "getChainId()"(overrides?: TransactionOverrides): Promise; + + owner(overrides?: TransactionOverrides): Promise; + + "owner()"(overrides?: TransactionOverrides): Promise; + + setAuthority( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + "setAuthority(address)"( + authority_: string, + overrides?: TransactionOverrides + ): Promise; + + setOwner( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + "setOwner(address)"( + owner_: string, + overrides?: TransactionOverrides + ): Promise; + + verify( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "verify(address,uint256,uint256,bytes,bytes32,bytes32,uint8)"( + _owner: string, + _nonce: BigNumberish, + _chainId: BigNumberish, + _payload: Arrayish, + _sigR: Arrayish, + _sigS: Arrayish, + _sigV: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getMetatransactionNonce( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + "getMetatransactionNonce(address)"( + userAddress: string, + overrides?: TransactionOverrides + ): Promise; + + setColonyNetwork( + _colonyNetwork: string, + overrides?: TransactionOverrides + ): Promise; + + "setColonyNetwork(address)"( + _colonyNetwork: string, + overrides?: TransactionOverrides + ): Promise; + + getColonyNetwork(overrides?: TransactionOverrides): Promise; + + "getColonyNetwork()"(overrides?: TransactionOverrides): Promise; + + lockToken( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "lockToken(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + unlockTokenForUser( + _token: string, + _user: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "unlockTokenForUser(address,address,uint256)"( + _token: string, + _user: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + incrementLockCounterTo( + _token: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "incrementLockCounterTo(address,uint256)"( + _token: string, + _lockId: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + deposit( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deposit(address,uint256,bool)"( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "deposit(address,uint256)"( + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + depositFor( + _token: string, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + "depositFor(address,uint256,address)"( + _token: string, + _amount: BigNumberish, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + transfer( + _token: string, + _amount: BigNumberish, + _recipient: string, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256,address,bool)"( + _token: string, + _amount: BigNumberish, + _recipient: string, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + withdraw( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "withdraw(address,uint256,bool)"( + _token: string, + _amount: BigNumberish, + _force: boolean, + overrides?: TransactionOverrides + ): Promise; + + "withdraw(address,uint256)"( + _token: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + approveStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "approveStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + obligateStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "obligateStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + deobligateStake( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "deobligateStake(address,uint256,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + transferStake( + _user: string, + _amount: BigNumberish, + _token: string, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + "transferStake(address,uint256,address,address)"( + _user: string, + _amount: BigNumberish, + _token: string, + _recipient: string, + overrides?: TransactionOverrides + ): Promise; + + reward( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "reward(address,uint256)"( + _recipient: string, + _amount: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + getTotalLockCount( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "getTotalLockCount(address)"( + _token: string, + overrides?: TransactionOverrides + ): Promise; + + getUserLock( + _token: string, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + "getUserLock(address,address)"( + _token: string, + _user: string, + overrides?: TransactionOverrides + ): Promise; + + getTotalObligation( + _user: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + "getTotalObligation(address,address)"( + _user: string, + _token: string, + overrides?: TransactionOverrides + ): Promise; + + getApproval( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + "getApproval(address,address,address)"( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + getObligation( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + + "getObligation(address,address,address)"( + _user: string, + _token: string, + _obligator: string, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/colony/12/TokenSAI.d.ts b/src/contracts/colony/12/TokenSAI.d.ts new file mode 100644 index 000000000..7b5834e38 --- /dev/null +++ b/src/contracts/colony/12/TokenSAI.d.ts @@ -0,0 +1,316 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractTransaction, EventFilter, Signer } from "ethers"; +import { Listener, Provider } from "ethers/providers"; +import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils"; +import { + TransactionOverrides, + TypedEventDescription, + TypedFunctionDescription, +} from "."; + +interface TokenSAIInterface extends Interface { + functions: { + name: TypedFunctionDescription<{ encode([]: []): string }>; + + approve: TypedFunctionDescription<{ + encode([_spender, _value]: [string, BigNumberish]): string; + }>; + + totalSupply: TypedFunctionDescription<{ encode([]: []): string }>; + + transferFrom: TypedFunctionDescription<{ + encode([_from, _to, _value]: [string, string, BigNumberish]): string; + }>; + + decimals: TypedFunctionDescription<{ encode([]: []): string }>; + + balanceOf: TypedFunctionDescription<{ encode([_owner]: [string]): string }>; + + symbol: TypedFunctionDescription<{ encode([]: []): string }>; + + transfer: TypedFunctionDescription<{ + encode([_to, _value]: [string, BigNumberish]): string; + }>; + + allowance: TypedFunctionDescription<{ + encode([_owner, _spender]: [string, string]): string; + }>; + }; + + events: { + Approval: TypedEventDescription<{ + encodeTopics([owner, spender, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + + Transfer: TypedEventDescription<{ + encodeTopics([from, to, value]: [ + string | null, + string | null, + null + ]): string[]; + }>; + }; +} + +export class TokenSAI extends Contract { + connect(signerOrProvider: Signer | Provider | string): TokenSAI; + attach(addressOrName: string): TokenSAI; + deployed(): Promise; + + on(event: EventFilter | string, listener: Listener): TokenSAI; + once(event: EventFilter | string, listener: Listener): TokenSAI; + addListener(eventName: EventFilter | string, listener: Listener): TokenSAI; + removeAllListeners(eventName: EventFilter | string): TokenSAI; + removeListener(eventName: any, listener: Listener): TokenSAI; + + interface: TokenSAIInterface; + + functions: { + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + approve( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transferFrom( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + transfer( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + allowance( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + }; + + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + approve( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transferFrom( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + transfer( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + allowance( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + filters: { + Approval( + owner: string | null, + spender: string | null, + value: null + ): EventFilter; + + Transfer(from: string | null, to: string | null, value: null): EventFilter; + }; + + estimate: { + name(overrides?: TransactionOverrides): Promise; + + "name()"(overrides?: TransactionOverrides): Promise; + + approve( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "approve(address,uint256)"( + _spender: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + totalSupply(overrides?: TransactionOverrides): Promise; + + "totalSupply()"(overrides?: TransactionOverrides): Promise; + + transferFrom( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transferFrom(address,address,uint256)"( + _from: string, + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + decimals(overrides?: TransactionOverrides): Promise; + + "decimals()"(overrides?: TransactionOverrides): Promise; + + balanceOf( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + "balanceOf(address)"( + _owner: string, + overrides?: TransactionOverrides + ): Promise; + + symbol(overrides?: TransactionOverrides): Promise; + + "symbol()"(overrides?: TransactionOverrides): Promise; + + transfer( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + "transfer(address,uint256)"( + _to: string, + _value: BigNumberish, + overrides?: TransactionOverrides + ): Promise; + + allowance( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + + "allowance(address,address)"( + _owner: string, + _spender: string, + overrides?: TransactionOverrides + ): Promise; + }; +} diff --git a/src/contracts/colony/12/factories/IColonyNetwork__factory.ts b/src/contracts/colony/12/factories/IColonyNetwork__factory.ts new file mode 100644 index 000000000..0f942cc56 --- /dev/null +++ b/src/contracts/colony/12/factories/IColonyNetwork__factory.ts @@ -0,0 +1,2239 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IColonyNetwork } from "../IColonyNetwork"; + +export class IColonyNetwork__factory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IColonyNetwork { + return new Contract(address, _abi, signerOrProvider) as IColonyNetwork; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "auction", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "quantity", + type: "uint256", + }, + ], + name: "AuctionCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "colonyId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "colonyAddress", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + ], + name: "ColonyAdded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "colony", + type: "address", + }, + { + indexed: false, + internalType: "bytes32", + name: "label", + type: "bytes32", + }, + ], + name: "ColonyLabelRegistered", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "resolver", + type: "address", + }, + ], + name: "ColonyNetworkInitialised", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "version", + type: "uint256", + }, + { + indexed: false, + internalType: "address", + name: "resolver", + type: "address", + }, + ], + name: "ColonyVersionAdded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "extensionId", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "version", + type: "uint256", + }, + ], + name: "ExtensionAddedToNetwork", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "extensionId", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "colony", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "deprecated", + type: "bool", + }, + ], + name: "ExtensionDeprecated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "extensionId", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "colony", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "version", + type: "uint256", + }, + ], + name: "ExtensionInstalled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "extensionId", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "colony", + type: "address", + }, + ], + name: "ExtensionUninstalled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "extensionId", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "colony", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "version", + type: "uint256", + }, + ], + name: "ExtensionUpgraded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "metaColony", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "rootSkillId", + type: "uint256", + }, + ], + name: "MetaColonyCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "userAddress", + type: "address", + }, + { + indexed: false, + internalType: "address payable", + name: "relayerAddress", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "payload", + type: "bytes", + }, + ], + name: "MetaTransactionExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "miningCycleResolver", + type: "address", + }, + ], + name: "MiningCycleResolverSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "feeInverse", + type: "uint256", + }, + ], + name: "NetworkFeeInverseSet", + 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: "address", + name: "ens", + type: "address", + }, + { + indexed: false, + internalType: "bytes32", + name: "rootNode", + type: "bytes32", + }, + ], + name: "RegistrarInitialised", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "miner", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "tokensLost", + type: "uint256", + }, + ], + name: "ReputationMinerPenalised", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes32", + name: "hash", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "nLeaves", + type: "uint256", + }, + ], + name: "ReputationMiningCycleComplete", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "inactiveReputationMiningCycle", + type: "address", + }, + ], + name: "ReputationMiningInitialised", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "ReputationMiningRewardSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes32", + name: "newHash", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint256", + name: "newNLeaves", + type: "uint256", + }, + { + indexed: false, + internalType: "address[]", + name: "stakers", + type: "address[]", + }, + { + indexed: false, + internalType: "uint256", + name: "reward", + type: "uint256", + }, + ], + name: "ReputationRootHashSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "skillId", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "parentSkillId", + type: "uint256", + }, + ], + name: "SkillAdded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "tokenAuthorityAddress", + type: "address", + }, + ], + name: "TokenAuthorityDeployed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "tokenAddress", + type: "address", + }, + ], + name: "TokenDeployed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "tokenLocking", + type: "address", + }, + ], + name: "TokenLockingAddressSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "status", + type: "bool", + }, + ], + name: "TokenWhitelisted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "bytes32", + name: "label", + type: "bytes32", + }, + ], + name: "UserLabelRegistered", + 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: [ + { + internalType: "address", + name: "userAddress", + type: "address", + }, + { + internalType: "bytes", + name: "payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "sigV", + type: "uint8", + }, + ], + name: "executeMetaTransaction", + outputs: [ + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "exitRecoveryMode", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "userAddress", + type: "address", + }, + ], + name: "getMetatransactionNonce", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "isInRecoveryMode", + outputs: [ + { + internalType: "bool", + name: "inRecoveryMode", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "results", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + 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: [ + { + internalType: "bytes4", + name: "_interfaceID", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "_status", + type: "bool", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_reputationMiningCycle", + type: "address", + }, + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "int256", + name: "_amount", + type: "int256", + }, + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + { + internalType: "address", + name: "_colony", + type: "address", + }, + { + internalType: "uint128", + name: "_nUpdates", + type: "uint128", + }, + { + internalType: "uint128", + name: "_nPreviousUpdates", + type: "uint128", + }, + ], + name: "setReplacementReputationUpdateLogEntry", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_reputationMiningCycle", + type: "address", + }, + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + ], + name: "getReplacementReputationUpdateLogEntry", + outputs: [ + { + components: [ + { + internalType: "address", + name: "user", + type: "address", + }, + { + internalType: "int256", + name: "amount", + type: "int256", + }, + { + internalType: "uint256", + name: "skillId", + type: "uint256", + }, + { + internalType: "address", + name: "colony", + type: "address", + }, + { + internalType: "uint128", + name: "nUpdates", + type: "uint128", + }, + { + internalType: "uint128", + name: "nPreviousUpdates", + type: "uint128", + }, + ], + internalType: "struct ColonyNetworkDataTypes.ReputationLogEntry", + name: "_reputationLogEntry", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_reputationMiningCycle", + type: "address", + }, + ], + name: "getReplacementReputationUpdateLogsExist", + outputs: [ + { + internalType: "bool", + name: "_exists", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getMetaColony", + outputs: [ + { + internalType: "address payable", + name: "_colonyAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getColonyCount", + outputs: [ + { + internalType: "uint256", + name: "_count", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_colony", + type: "address", + }, + ], + name: "isColony", + outputs: [ + { + internalType: "bool", + name: "_addressIsColony", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_parentSkillId", + type: "uint256", + }, + ], + name: "addSkill", + outputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + ], + name: "getSkill", + outputs: [ + { + components: [ + { + internalType: "uint128", + name: "nParents", + type: "uint128", + }, + { + internalType: "uint128", + name: "nChildren", + type: "uint128", + }, + { + internalType: "uint256[]", + name: "parents", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "children", + type: "uint256[]", + }, + { + internalType: "bool", + name: "globalSkill", + type: "bool", + }, + { + internalType: "bool", + name: "deprecated", + type: "bool", + }, + ], + internalType: "struct ColonyNetworkDataTypes.Skill", + name: "_skill", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + ], + name: "deprecateSkill", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + { + internalType: "bool", + name: "_deprecated", + type: "bool", + }, + ], + name: "deprecateSkill", + outputs: [ + { + internalType: "bool", + name: "_changed", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "initialiseRootLocalSkill", + outputs: [ + { + internalType: "uint256", + name: "_rootLocalSkillId", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "int256", + name: "_amount", + type: "int256", + }, + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + ], + name: "appendReputationUpdateLog", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getSkillCount", + outputs: [ + { + internalType: "uint256", + name: "_count", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getReputationMiningSkillId", + outputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenLockingAddress", + type: "address", + }, + ], + name: "setTokenLocking", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getTokenLocking", + outputs: [ + { + internalType: "address", + name: "_lockingAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddress", + type: "address", + }, + ], + name: "createMetaColony", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddress", + type: "address", + }, + ], + name: "createColony", + outputs: [ + { + internalType: "address", + name: "_colonyAddress", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddress", + type: "address", + }, + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + { + internalType: "string", + name: "_colonyName", + type: "string", + }, + { + internalType: "string", + name: "_metadata", + type: "string", + }, + ], + name: "createColony", + outputs: [ + { + internalType: "address", + name: "_colonyAddress", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddress", + type: "address", + }, + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + { + internalType: "string", + name: "_colonyName", + type: "string", + }, + ], + name: "createColony", + outputs: [ + { + internalType: "address", + name: "_colonyAddress", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddress", + type: "address", + }, + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + { + internalType: "string", + name: "_colonyName", + type: "string", + }, + { + internalType: "string", + name: "_orbitdb", + type: "string", + }, + { + internalType: "bool", + name: "_useExtensionManager", + type: "bool", + }, + ], + name: "createColony", + outputs: [ + { + internalType: "address", + name: "_colonyAddress", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddress", + type: "address", + }, + { + internalType: "string", + name: "_name", + type: "string", + }, + { + internalType: "string", + name: "_symbol", + type: "string", + }, + { + internalType: "uint8", + name: "_decimals", + type: "uint8", + }, + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + { + internalType: "string", + name: "_colonyName", + type: "string", + }, + { + internalType: "string", + name: "_metadata", + type: "string", + }, + ], + name: "createColonyForFrontend", + outputs: [ + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "address", + name: "colony", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + { + internalType: "address", + name: "_resolver", + type: "address", + }, + ], + name: "addColonyVersion", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_resolver", + type: "address", + }, + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + ], + name: "initialise", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + ], + name: "getColony", + outputs: [ + { + internalType: "address", + name: "_colonyAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getCurrentColonyVersion", + outputs: [ + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_parentSkillIndex", + type: "uint256", + }, + ], + name: "getParentSkillId", + outputs: [ + { + internalType: "uint256", + name: "_parentSkillId", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_skillId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_childSkillIndex", + type: "uint256", + }, + ], + name: "getChildSkillId", + outputs: [ + { + internalType: "uint256", + name: "_childSkillId", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bool", + name: "_active", + type: "bool", + }, + ], + name: "getReputationMiningCycle", + outputs: [ + { + internalType: "address", + name: "_repMiningCycleAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_timeStaked", + type: "uint256", + }, + { + internalType: "uint256", + name: "_submissonIndex", + type: "uint256", + }, + ], + name: "calculateMinerWeight", + outputs: [ + { + internalType: "uint256", + name: "_minerWeight", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + ], + name: "getColonyVersionResolver", + outputs: [ + { + internalType: "address", + name: "_resolverAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_newHash", + type: "bytes32", + }, + { + internalType: "uint256", + name: "_newNLeaves", + type: "uint256", + }, + { + internalType: "address[]", + name: "_stakers", + type: "address[]", + }, + ], + name: "setReputationRootHash", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "startNextCycle", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "initialiseReputationMining", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getReputationRootHash", + outputs: [ + { + internalType: "bytes32", + name: "rootHash", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getReputationRootHashNLeaves", + outputs: [ + { + internalType: "uint256", + name: "nLeaves", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getReputationRootHashNNodes", + outputs: [ + { + internalType: "uint256", + name: "nNodes", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "startTokenAuction", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_ens", + type: "address", + }, + { + internalType: "bytes32", + name: "_rootNode", + type: "bytes32", + }, + ], + name: "setupRegistrar", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "_username", + type: "string", + }, + { + internalType: "string", + name: "_orbitdb", + type: "string", + }, + ], + name: "registerUserLabel", + 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: "string", + name: "_orbitdb", + type: "string", + }, + ], + name: "updateUserOrbitDB", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_node", + type: "bytes32", + }, + ], + name: "getProfileDBAddress", + outputs: [ + { + internalType: "string", + name: "_orbitdb", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_addr", + type: "address", + }, + ], + name: "lookupRegisteredENSDomain", + outputs: [ + { + internalType: "string", + name: "_domain", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_node", + type: "bytes32", + }, + ], + name: "addr", + outputs: [ + { + internalType: "address", + name: "_address", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getENSRegistrar", + outputs: [ + { + internalType: "address", + name: "_address", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_miningResolverAddress", + type: "address", + }, + ], + name: "setMiningResolver", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getMiningResolver", + outputs: [ + { + internalType: "address", + name: "miningResolverAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_extensionId", + type: "bytes32", + }, + { + internalType: "address", + name: "_resolver", + type: "address", + }, + ], + name: "addExtensionToNetwork", + 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: "bytes32", + name: "_extensionId", + type: "bytes32", + }, + { + internalType: "uint256", + name: "_version", + type: "uint256", + }, + ], + name: "getExtensionResolver", + outputs: [ + { + internalType: "address", + name: "_resolver", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_extensionId", + type: "bytes32", + }, + { + internalType: "address", + name: "_colony", + type: "address", + }, + ], + name: "getExtensionInstallation", + outputs: [ + { + internalType: "address", + name: "_installation", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getFeeInverse", + outputs: [ + { + internalType: "uint256", + name: "_feeInverse", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_feeInverse", + type: "uint256", + }, + ], + name: "setFeeInverse", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "getPayoutWhitelist", + outputs: [ + { + internalType: "bool", + name: "_status", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "bool", + name: "_status", + type: "bool", + }, + ], + name: "setPayoutWhitelist", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "_stakers", + type: "address[]", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "punishStakers", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "stakeForMining", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "unstakeForMining", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "getMiningStake", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + internalType: "struct ColonyNetworkDataTypes.MiningStake", + name: "_info", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_recipient", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "reward", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "burnUnneededRewards", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_recipient", + type: "address", + }, + ], + name: "claimMiningReward", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "setReputationMiningCycleReward", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getReputationMiningCycleReward", + outputs: [ + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "_name", + type: "string", + }, + { + internalType: "string", + name: "_symbol", + type: "string", + }, + { + internalType: "uint8", + name: "_decimals", + type: "uint8", + }, + ], + name: "deployTokenViaNetwork", + outputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_colony", + type: "address", + }, + { + internalType: "address[]", + name: "_allowedToTransfer", + type: "address[]", + }, + ], + name: "deployTokenAuthority", + outputs: [ + { + internalType: "address", + name: "_tokenAuthority", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_delegate", + type: "address", + }, + { + internalType: "bool", + name: "_allowed", + type: "bool", + }, + ], + name: "setMiningDelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_delegate", + type: "address", + }, + ], + name: "getMiningDelegator", + outputs: [ + { + internalType: "address", + name: "_delegator", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +]; diff --git a/src/contracts/colony/12/factories/IColony__factory.ts b/src/contracts/colony/12/factories/IColony__factory.ts new file mode 100644 index 000000000..6fa720837 --- /dev/null +++ b/src/contracts/colony/12/factories/IColony__factory.ts @@ -0,0 +1,5049 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { IColony } from "../IColony"; + +export class IColony__factory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IColony { + return new Contract(address, _abi, signerOrProvider) as IColony; + } +} + +const _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: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "skillId", + type: "uint256", + }, + { + indexed: false, + internalType: "int256", + name: "amount", + type: "int256", + }, + ], + name: "ArbitraryReputationUpdate", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "data", + type: "bytes", + }, + { + indexed: false, + internalType: "bool", + name: "success", + type: "bool", + }, + ], + name: "ArbitraryTransaction", + 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: "string", + name: "metadata", + type: "string", + }, + ], + name: "ColonyMetadataDelta", + 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: "bool", + name: "deprecated", + type: "bool", + }, + ], + name: "DomainDeprecated", + 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", + }, + { + indexed: true, + internalType: "uint256", + name: "slot", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "claimDelay", + type: "uint256", + }, + ], + name: "ExpenditureClaimDelaySet", + 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: false, + internalType: "uint256", + name: "globalClaimDelay", + type: "uint256", + }, + ], + name: "ExpenditureGlobalClaimDelaySet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "agent", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "expenditureId", + type: "uint256", + }, + ], + name: "ExpenditureLocked", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "agent", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "expenditureId", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "metadata", + type: "string", + }, + ], + name: "ExpenditureMetadataSet", + 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: false, + internalType: "int256", + name: "payoutModifier", + type: "int256", + }, + ], + name: "ExpenditurePayoutModifierSet", + 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: "uint256", + name: "storageSlot", + type: "uint256", + }, + { + indexed: false, + internalType: "bool[]", + name: "mask", + type: "bool[]", + }, + { + indexed: false, + internalType: "bytes32[]", + name: "keys", + type: "bytes32[]", + }, + { + indexed: false, + internalType: "bytes32", + name: "value", + type: "bytes32", + }, + ], + name: "ExpenditureStateChanged", + 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: "localSkillId", + type: "uint256", + }, + ], + name: "LocalSkillAdded", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "agent", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "localSkillId", + type: "uint256", + }, + { + indexed: false, + internalType: "bool", + name: "deprecated", + type: "bool", + }, + ], + name: "LocalSkillDeprecated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "userAddress", + type: "address", + }, + { + indexed: false, + internalType: "address payable", + name: "relayerAddress", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "payload", + type: "bytes", + }, + ], + name: "MetaTransactionExecuted", + 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: [ + { + indexed: false, + internalType: "address", + name: "agent", + type: "address", + }, + ], + 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: [ + { + internalType: "address", + name: "userAddress", + type: "address", + }, + { + internalType: "bytes", + name: "payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "sigV", + type: "uint8", + }, + ], + name: "executeMetaTransaction", + outputs: [ + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "exitRecoveryMode", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "userAddress", + type: "address", + }, + ], + name: "getMetatransactionNonce", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "isInRecoveryMode", + outputs: [ + { + internalType: "bool", + name: "inRecoveryMode", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "results", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + 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: "address[]", + name: "_targets", + type: "address[]", + }, + { + internalType: "bytes[]", + name: "_actions", + type: "bytes[]", + }, + { + internalType: "bool", + name: "_strict", + type: "bool", + }, + ], + name: "makeArbitraryTransactions", + outputs: [ + { + internalType: "bool", + name: "success", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_target", + type: "address", + }, + { + internalType: "bytes", + name: "_action", + type: "bytes", + }, + ], + name: "makeSingleArbitraryTransaction", + 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: "string", + name: "_metadataDelta", + type: "string", + }, + ], + name: "editColonyByDelta", + 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: "timesLocked", + 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: [], + name: "initialiseRootLocalSkill", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "addLocalSkill", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "localSkillId", + type: "uint256", + }, + { + internalType: "bool", + name: "deprecated", + type: "bool", + }, + ], + name: "deprecateLocalSkill", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getRootLocalSkill", + outputs: [ + { + internalType: "uint256", + name: "rootLocalSkill", + type: "uint256", + }, + ], + stateMutability: "view", + 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: "_permissionDomainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_childSkillIndex", + type: "uint256", + }, + { + internalType: "uint256", + name: "_domainId", + type: "uint256", + }, + { + internalType: "bool", + name: "_deprecated", + type: "bool", + }, + ], + name: "deprecateDomain", + 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: "_globalClaimDelay", + type: "uint256", + }, + ], + name: "setDefaultGlobalClaimDelay", + outputs: [], + stateMutability: "nonpayable", + 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: "lockExpenditure", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + ], + name: "finalizeExpenditure", + 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: "string", + name: "_metadata", + type: "string", + }, + ], + name: "setExpenditureMetadata", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "string", + name: "_metadata", + type: "string", + }, + ], + name: "setExpenditureMetadata", + 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: "_slots", + type: "uint256[]", + }, + { + internalType: "address payable[]", + name: "_recipients", + type: "address[]", + }, + ], + name: "setExpenditureRecipients", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "uint256[]", + name: "_slots", + type: "uint256[]", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256[]", + name: "_amounts", + type: "uint256[]", + }, + ], + name: "setExpenditurePayouts", + 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: "_permissionDomainId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_childSkillIndex", + type: "uint256", + }, + { + 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: "_id", + type: "uint256", + }, + { + internalType: "uint256[]", + name: "_slots", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_skillIds", + type: "uint256[]", + }, + ], + name: "setExpenditureSkills", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + 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: "_id", + type: "uint256", + }, + { + internalType: "uint256[]", + name: "_slots", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_claimDelays", + type: "uint256[]", + }, + ], + name: "setExpenditureClaimDelays", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "uint256[]", + name: "_slots", + type: "uint256[]", + }, + { + internalType: "int256[]", + name: "_payoutModifiers", + type: "int256[]", + }, + ], + name: "setExpenditurePayoutModifiers", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_id", + type: "uint256", + }, + { + internalType: "uint256[]", + name: "_recipientSlots", + type: "uint256[]", + }, + { + internalType: "address payable[]", + name: "_recipients", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "_skillIdSlots", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_skillIds", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_claimDelaySlots", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_claimDelays", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_payoutModifierSlots", + type: "uint256[]", + }, + { + internalType: "int256[]", + name: "_payoutModifiers", + type: "int256[]", + }, + { + internalType: "address[]", + name: "_payoutTokens", + type: "address[]", + }, + { + internalType: "uint256[][]", + name: "_payoutSlots", + type: "uint256[][]", + }, + { + internalType: "uint256[][]", + name: "_payoutValues", + type: "uint256[][]", + }, + ], + name: "setExpenditureValues", + 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", + }, +]; diff --git a/src/contracts/colony/12/factories/MetaTxToken__factory.ts b/src/contracts/colony/12/factories/MetaTxToken__factory.ts new file mode 100644 index 000000000..9fe390468 --- /dev/null +++ b/src/contracts/colony/12/factories/MetaTxToken__factory.ts @@ -0,0 +1,731 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; +import { BigNumberish } from "ethers/utils"; + +import { TransactionOverrides } from ".."; +import { MetaTxToken } from "../MetaTxToken"; + +export class MetaTxToken__factory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): Promise { + return super.deploy( + _name, + _symbol, + _decimals, + overrides + ) as Promise; + } + getDeployTransaction( + _name: string, + _symbol: string, + _decimals: BigNumberish, + overrides?: TransactionOverrides + ): UnsignedTransaction { + return super.getDeployTransaction(_name, _symbol, _decimals, overrides); + } + attach(address: string): MetaTxToken { + return super.attach(address) as MetaTxToken; + } + connect(signer: Signer): MetaTxToken__factory { + return super.connect(signer) as MetaTxToken__factory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): MetaTxToken { + return new Contract(address, _abi, signerOrProvider) as MetaTxToken; + } +} + +const _abi = [ + { + inputs: [ + { + internalType: "string", + name: "_name", + type: "string", + }, + { + internalType: "string", + name: "_symbol", + type: "string", + }, + { + internalType: "uint8", + name: "_decimals", + type: "uint8", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "src", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "guy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "guy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "Burn", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "authority", + type: "address", + }, + ], + name: "LogSetAuthority", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "LogSetOwner", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address payable", + name: "relayerAddress", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "functionSignature", + type: "bytes", + }, + ], + name: "MetaTransactionExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "guy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "Mint", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "src", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "dst", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "PERMIT_TYPEHASH", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "src", + type: "address", + }, + { + internalType: "address", + name: "guy", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "guy", + type: "address", + }, + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "authority", + outputs: [ + { + internalType: "contract DSAuthority", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "src", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "executeMetaTransaction", + outputs: [ + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "getChainId", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "locked", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract DSAuthority", + name: "authority_", + type: "address", + }, + ], + name: "setAuthority", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner_", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "dst", + type: "address", + }, + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + { + internalType: "uint256", + name: "_nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "_chainId", + type: "uint256", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "verify", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "getMetatransactionNonce", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "src", + type: "address", + }, + { + internalType: "address", + name: "dst", + type: "address", + }, + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "guy", + type: "address", + }, + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "guy", + type: "address", + }, + { + internalType: "uint256", + name: "wad", + type: "uint256", + }, + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; + +const _bytecode = + "0x60c06040523480156200001157600080fd5b506040516200229938038062002299833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b506040526020015191506000905080600181620001b4620003ba565b6001600160a01b03168152602081019190915260400160009081209190915555620001de620003ba565b600480546001600160a01b0319166001600160a01b039290921691909117905562000208620003ba565b6001600160a01b03167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a282516200025290600690602086019062000470565b5081516200026890600590602085019062000470565b507fff0000000000000000000000000000000000000000000000000000000000000060f882901b166080526007805460ff191660019081179091556040516006805446937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f9391829184916002600019928216156101000292909201160480156200032d5780601f106200030a5761010080835404028352918201916200032d565b820191906000526020600020905b81548152906001019060200180831162000318575b505060408051918290038220828201825260018352603160f81b602093840152815180840196909652858201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606086015260808501959095523060a08086019190915285518086038201815260c0909501909552835193019290922090925250620005029350505050565b6000363330148015620003ce575060348110155b15620004615760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e881146200044c573393505050506200046d565b508101516001600160a01b031691506200046b565b339150506200046d565b505b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004b357805160ff1916838001178555620004e3565b82800160010185558215620004e3579182015b82811115620004e3578251825591602001919060010190620004c6565b506200046b9291505b808211156200046b5760008155600101620004ec565b60805160f81c60a051611d6b6200052e60003980610d3352806115de525080610d0b5250611d6b6000f3fe60806040526004361061019c5760003560e01c806370a08231116100ec578063a69df4b51161008a578063bf7e214f11610064578063bf7e214f14610715578063cf3090121461072a578063d505accf1461073f578063dd62ed3e1461079d5761019c565b8063a69df4b5146106c7578063a9059cbb146106dc578063b3eac1d8146105eb5761019c565b80638da5cb5b116100c65780638da5cb5b1461061e57806395d89b411461064f5780639dc29fac14610664578063a0712d681461069d5761019c565b806370a08231146105855780637a9e5e4b146105b85780637ecebe00146105eb5761019c565b806330adf81f116101595780633644e515116101335780633644e5151461043057806340c10f191461044557806342966c681461047e5780636281133d146104a85761019c565b806330adf81f146103db578063313ce567146103f05780633408e4701461041b5761019c565b806306fdde03146101a1578063095ea7b31461022b5780630c53c51c1461027857806313af40351461033c57806318160ddd1461037157806323b872dd14610398575b600080fd5b3480156101ad57600080fd5b506101b66107d8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f05781810151838201526020016101d8565b50505050905090810190601f16801561021d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023757600080fd5b506102646004803603604081101561024e57600080fd5b506001600160a01b038135169060200135610866565b604080519115158252519081900360200190f35b6101b6600480360360a081101561028e57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102b957600080fd5b8201836020820111156102cb57600080fd5b803590602001918460018302840111640100000000831117156102ed57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff166108f7565b34801561034857600080fd5b5061036f6004803603602081101561035f57600080fd5b50356001600160a01b0316610bb0565b005b34801561037d57600080fd5b50610386610c65565b60408051918252519081900360200190f35b3480156103a457600080fd5b50610264600480360360608110156103bb57600080fd5b506001600160a01b03813581169160208101359091169060400135610c6c565b3480156103e757600080fd5b50610386610ce5565b3480156103fc57600080fd5b50610405610d09565b6040805160ff9092168252519081900360200190f35b34801561042757600080fd5b50610386610d2d565b34801561043c57600080fd5b50610386610d31565b34801561045157600080fd5b5061036f6004803603604081101561046857600080fd5b506001600160a01b038135169060200135610d55565b34801561048a57600080fd5b5061036f600480360360208110156104a157600080fd5b5035610e79565b3480156104b457600080fd5b50610264600480360360e08110156104cb57600080fd5b6001600160a01b03823516916020810135916040820135919081019060808101606082013564010000000081111561050257600080fd5b82018360208201111561051457600080fd5b8035906020019184600183028401116401000000008311171561053657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff16610e8d565b34801561059157600080fd5b50610386600480360360208110156105a857600080fd5b50356001600160a01b031661100c565b3480156105c457600080fd5b5061036f600480360360208110156105db57600080fd5b50356001600160a01b0316611027565b3480156105f757600080fd5b506103866004803603602081101561060e57600080fd5b50356001600160a01b03166110ca565b34801561062a57600080fd5b506106336110e5565b604080516001600160a01b039092168252519081900360200190f35b34801561065b57600080fd5b506101b66110f4565b34801561067057600080fd5b5061036f6004803603604081101561068757600080fd5b506001600160a01b03813516906020013561114f565b3480156106a957600080fd5b5061036f600480360360208110156106c057600080fd5b5035611389565b3480156106d357600080fd5b5061036f6113ed565b3480156106e857600080fd5b50610264600480360360408110156106ff57600080fd5b506001600160a01b03813516906020013561144c565b34801561072157600080fd5b50610633611467565b34801561073657600080fd5b50610264611476565b34801561074b57600080fd5b5061036f600480360360e081101561076257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561147f565b3480156107a957600080fd5b50610386600480360360408110156107c057600080fd5b506001600160a01b03813581169160200135166117b4565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085e5780601f106108335761010080835404028352916020019161085e565b820191906000526020600020905b81548152906001019060200180831161084157829003601f168201915b505050505081565b600081600260006108756117df565b6001600160a01b03908116825260208083019390935260409182016000908120918816808252919093529120919091556108ad6117df565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a35060015b92915050565b606061091786610906886110ca565b61090e610d2d565b88888888610e8d565b6109525760405162461bcd60e51b8152600401808060200182810382526029815260200180611d0d6029913960400191505060405180910390fd5b61095b8661188e565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a6040516020018084805190602001908083835b602083106109be5780518252601f19909201916020918201910161099f565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001826001600160a01b031660601b815260140193505050506040516020818303038152906040526040518082805190602001908083835b60208310610a3b5780518252601f199092019160209182019101610a1c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a9d576040519150601f19603f3d011682016040523d82523d6000602084013e610aa2565b606091505b509150915081610ae35760405162461bcd60e51b8152600401808060200182810382526028815260200180611ce56028913960400191505060405180910390fd5b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b88610b0d6117df565b8960405180846001600160a01b03168152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b69578181015183820152602001610b51565b50505050905090810190601f168015610b965780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1979650505050505050565b610bcd610bbb6117df565b6000356001600160e01b0319166118ae565b610c15576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6000545b90565b60075460009060ff1615610cd257610c85610bbb6117df565b610cd2576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b610cdd848484611995565b949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b7f000000000000000000000000000000000000000000000000000000000000000081565b4690565b7f000000000000000000000000000000000000000000000000000000000000000081565b610d60610bbb6117df565b610da8576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6001600160a01b038216600090815260016020526040902054610dcb9082611bf4565b6001600160a01b03831660009081526001602052604081209190915554610df29082611bf4565b6000556040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a26040805182815290516001600160a01b038416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b610e8a610e846117df565b8261114f565b50565b600080610f2a8830898960405160200180858152602001846001600160a01b031660601b815260140183815260200182805190602001908083835b60208310610ee75780518252601f199092019160209182019101610ec8565b6001836020036101000a03801982511681845116808217855250505050505090500194505050505060405160208183030381529060405280519060200120611c43565b9050600060018285888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610f88573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610ff0576040805162461bcd60e51b815260206004820152601f60248201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604482015290519081900360640190fd5b6001600160a01b038a8116911614915050979650505050505050565b6001600160a01b031660009081526001602052604090205490565b611032610bbb6117df565b61107a576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0383811691909117918290556040519116907f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada490600090a250565b6001600160a01b031660009081526008602052604090205490565b6004546001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085e5780601f106108335761010080835404028352916020019161085e565b6111576117df565b6001600160a01b0316826001600160a01b03161461128c576001600160a01b038216600090815260026020526040812082916111916117df565b6001600160a01b03166001600160a01b03168152602001908152602001600020541015611205576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0382166000908152600260205260408120611250916112296117df565b6001600160a01b03166001600160a01b031681526020019081526020016000205482611c94565b6001600160a01b0383166000908152600260205260408120906112716117df565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b0382166000908152600160205260409020548111156112f9576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b03821660009081526001602052604090205461131c9082611c94565b6001600160a01b038316600090815260016020526040812091909155546113439082611c94565b6000556040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b611394610bbb6117df565b6113dc576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b610e8a6113e76117df565b82610d55565b6113f8610bbb6117df565b611440576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6007805460ff19169055565b60006114606114596117df565b8484610c6c565b9392505050565b6003546001600160a01b031681565b60075460ff1681565b60075460ff16156114e257611495610bbb6117df565b6114e2576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b42841015611537576040805162461bcd60e51b815260206004820152601d60248201527f636f6c6f6e792d746f6b656e2d657870697265642d646561646c696e65000000604482015290519081900360640190fd5b6040805180820182526002815261190160f01b60208083019182526001600160a01b03808c1660008181526008845286812080546001810190915587517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98187015280890193909352928d166060830152608082018c905260a082019290925260c08082018b90528651808303909101815260e082019096528551959092019490942083517f0000000000000000000000000000000000000000000000000000000000000000939192610100019182918083835b6020831061162a5780518252601f19909201916020918201910161160b565b51815160209384036101000a6000190180199092169116179052920194855250838101929092525060408051808403830181528184018083528151918401919091206000918290526060850180845281905260ff8a16608086015260a0850189905260c085018890529151919550935060019260e08082019392601f1981019281900390910190855afa1580156116c5573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906116fb5750886001600160a01b0316816001600160a01b0316145b61174c576040805162461bcd60e51b815260206004820152601e60248201527f636f6c6f6e792d746f6b656e2d696e76616c69642d7369676e61747572650000604482015290519081900360640190fd5b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290208b905581518b815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050505050505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60003633301480156117f2575060348110155b156118815760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e8811461186d57339350505050610c69565b508101516001600160a01b0316915061188a565b33915050610c69565b5090565b6001600160a01b0316600090815260086020526040902080546001019055565b60006001600160a01b0383163014156118c9575060016108f1565b6004546001600160a01b03848116911614156118e7575060016108f1565b6003546001600160a01b03166118ff575060006108f1565b6003546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561196257600080fd5b505afa158015611976573d6000803e3d6000fd5b505050506040513d602081101561198c57600080fd5b505190506108f1565b600061199f6117df565b6001600160a01b0316846001600160a01b031614611ad4576001600160a01b038416600090815260026020526040812083916119d96117df565b6001600160a01b03166001600160a01b03168152602001908152602001600020541015611a4d576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260408120611a9891611a716117df565b6001600160a01b03166001600160a01b031681526020019081526020016000205483611c94565b6001600160a01b038516600090815260026020526040812090611ab96117df565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b038416600090815260016020526040902054821115611b41576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040902054611b649083611c94565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611b939083611bf4565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b808201828110156108f1576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b808203828111156108f1576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fdfe636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e7375636365737366756c6d6574617472616e73616374696f6e2d7369676e65722d7369676e61747572652d6d69736d61746368a2646970667358221220ec27d29eeae9a5b68083c522a26d26a7262778f379635e68001ca079b164519e64736f6c63430007030033"; diff --git a/src/contracts/colony/12/factories/TokenERC20__factory.ts b/src/contracts/colony/12/factories/TokenERC20__factory.ts new file mode 100644 index 000000000..dc1d83452 --- /dev/null +++ b/src/contracts/colony/12/factories/TokenERC20__factory.ts @@ -0,0 +1,240 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { TokenERC20 } from "../TokenERC20"; + +export class TokenERC20__factory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): TokenERC20 { + return new Contract(address, _abi, signerOrProvider) as TokenERC20; + } +} + +const _abi = [ + { + constant: true, + inputs: [], + name: "name", + outputs: [ + { + name: "", + type: "string", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { + name: "_spender", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "totalSupply", + outputs: [ + { + name: "", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { + name: "_from", + type: "address", + }, + { + name: "_to", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "decimals", + outputs: [ + { + name: "", + type: "uint8", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [ + { + name: "_owner", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + name: "balance", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [], + name: "symbol", + outputs: [ + { + name: "", + type: "string", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { + name: "_to", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [ + { + name: "_owner", + type: "address", + }, + { + name: "_spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + name: "", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + payable: true, + stateMutability: "payable", + type: "fallback", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: "owner", + type: "address", + }, + { + indexed: true, + name: "spender", + type: "address", + }, + { + indexed: false, + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: "from", + type: "address", + }, + { + indexed: true, + name: "to", + type: "address", + }, + { + indexed: false, + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, +]; diff --git a/src/contracts/colony/12/factories/TokenLocking__factory.ts b/src/contracts/colony/12/factories/TokenLocking__factory.ts new file mode 100644 index 000000000..7c50a615a --- /dev/null +++ b/src/contracts/colony/12/factories/TokenLocking__factory.ts @@ -0,0 +1,1044 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, ContractFactory, Signer } from "ethers"; +import { Provider } from "ethers/providers"; +import { UnsignedTransaction } from "ethers/utils/transaction"; + +import { TransactionOverrides } from ".."; +import { TokenLocking } from "../TokenLocking"; + +export class TokenLocking__factory extends ContractFactory { + constructor(signer?: Signer) { + super(_abi, _bytecode, signer); + } + + deploy(overrides?: TransactionOverrides): Promise { + return super.deploy(overrides) as Promise; + } + getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { + return super.getDeployTransaction(overrides); + } + attach(address: string): TokenLocking { + return super.attach(address) as TokenLocking; + } + connect(signer: Signer): TokenLocking__factory { + return super.connect(signer) as TokenLocking__factory; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): TokenLocking { + return new Contract(address, _abi, signerOrProvider) as TokenLocking; + } +} + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "colonyNetwork", + type: "address", + }, + ], + name: "ColonyNetworkSet", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "authority", + type: "address", + }, + ], + name: "LogSetAuthority", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "LogSetOwner", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address payable", + name: "relayerAddress", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "functionSignature", + type: "bytes", + }, + ], + name: "MetaTransactionExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "by", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "StakeTransferred", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "lockedBy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "lockCount", + type: "uint256", + }, + ], + name: "TokenLocked", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "approvedBy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenApproved", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenClaimed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "obligatedBy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenDeobligated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenDeposited", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "obligatedBy", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenObligated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "recipient", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenTransferred", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "lockId", + type: "uint256", + }, + ], + name: "UserTokenUnlocked", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "user", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "UserTokenWithdrawn", + type: "event", + }, + { + inputs: [], + name: "authority", + outputs: [ + { + internalType: "contract DSAuthority", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "executeMetaTransaction", + outputs: [ + { + internalType: "bytes", + name: "", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "getChainId", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract DSAuthority", + name: "authority_", + type: "address", + }, + ], + name: "setAuthority", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner_", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + { + internalType: "uint256", + name: "_nonce", + type: "uint256", + }, + { + internalType: "uint256", + name: "_chainId", + type: "uint256", + }, + { + internalType: "bytes", + name: "_payload", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_sigR", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_sigS", + type: "bytes32", + }, + { + internalType: "uint8", + name: "_sigV", + type: "uint8", + }, + ], + name: "verify", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "userAddress", + type: "address", + }, + ], + name: "getMetatransactionNonce", + outputs: [ + { + internalType: "uint256", + name: "nonce", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_colonyNetwork", + type: "address", + }, + ], + name: "setColonyNetwork", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "getColonyNetwork", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "lockToken", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "uint256", + name: "_lockId", + type: "uint256", + }, + ], + name: "unlockTokenForUser", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_lockId", + type: "uint256", + }, + ], + name: "incrementLockCounterTo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "bool", + name: "_force", + type: "bool", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "address", + name: "_recipient", + type: "address", + }, + ], + name: "depositFor", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "address", + name: "_recipient", + type: "address", + }, + { + internalType: "bool", + name: "_force", + type: "bool", + }, + ], + name: "transfer", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "bool", + name: "_force", + type: "bool", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "approveStake", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "obligateStake", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "deobligateStake", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_recipient", + type: "address", + }, + ], + name: "transferStake", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_recipient", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "reward", + outputs: [], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "getTotalLockCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_user", + type: "address", + }, + ], + name: "getUserLock", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "lockCount", + type: "uint256", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "DEPRECATED_timestamp", + type: "uint256", + }, + { + internalType: "uint256", + name: "pendingBalance", + type: "uint256", + }, + ], + internalType: "struct TokenLockingDataTypes.Lock", + name: "lock", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + ], + name: "getTotalObligation", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_obligator", + type: "address", + }, + ], + name: "getApproval", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_user", + type: "address", + }, + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_obligator", + type: "address", + }, + ], + name: "getObligation", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +]; + +const _bytecode = + "0x608060405234801561001057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2612d0c8061005e6000396000f3fe6080604052600436106101c15760003560e01c80635afd5341116100f7578063b3eac1d811610095578063e49d7ebd11610064578063e49d7ebd146104f9578063ead5d35914610519578063f3fef3a314610539578063f753128114610559576101c1565b8063b3eac1d814610484578063bf503823146104a4578063bf7e214f146104c4578063c8820f6c146104d9576101c1565b80636d7bd889116100d15780636d7bd8891461040f5780637a9e5e4b1461042f5780638da5cb5b1461044f57806393c4553514610464576101c1565b80635afd5341146103a257806361ac1990146103c25780636281133d146103e2576101c1565b806321670f22116101645780633edd11281161013e5780633edd11281461032057806343af70a41461034057806347e7ef24146103605780634e5e839514610380576101c1565b806321670f22146102cb5780632c822a0d146102eb5780633408e4701461030b576101c1565b806310693fcd116101a057806310693fcd1461023e57806313af40351461025e5780631ca555741461027e5780631cc17c521461029e576101c1565b80626ad100146101c657806303e27b42146101fc5780630c53c51c1461021e575b600080fd5b3480156101d257600080fd5b506101e66101e13660046122bf565b610579565b6040516101f39190612c7b565b60405180910390f35b34801561020857600080fd5b5061021c61021736600461229c565b6105a6565b005b61023161022c366004612381565b61065d565b6040516101f391906127f5565b34801561024a57600080fd5b506101e661025936600461229c565b6107b0565b34801561026a57600080fd5b5061021c61027936600461229c565b610971565b34801561028a57600080fd5b506101e661029936600461229c565b6109f3565b3480156102aa57600080fd5b506102be6102b93660046122bf565b610a0e565b6040516101f39190612c50565b3480156102d757600080fd5b5061021c6102e63660046123f3565b610a71565b3480156102f757600080fd5b506101e66103063660046122f7565b610a75565b34801561031757600080fd5b506101e6610aaa565b34801561032c57600080fd5b5061021c61033b3660046124ed565b610aaf565b34801561034c57600080fd5b5061021c61035b36600461241e565b610c9a565b34801561036c57600080fd5b5061021c61037b3660046123f3565b610e98565b34801561038c57600080fd5b50610395610ea4565b6040516101f391906126bc565b3480156103ae57600080fd5b5061021c6103bd366004612454565b610eb3565b3480156103ce57600080fd5b5061021c6103dd36600461241e565b6110e7565b3480156103ee57600080fd5b506104026103fd366004612523565b611276565b6040516101f391906127cc565b34801561041b57600080fd5b5061021c61042a366004612341565b611346565b34801561043b57600080fd5b5061021c61044a36600461229c565b611568565b34801561045b57600080fd5b506103956115e6565b34801561047057600080fd5b5061021c61047f3660046124a6565b6115f5565b34801561049057600080fd5b506101e661049f36600461229c565b6117b3565b3480156104b057600080fd5b5061021c6104bf3660046123f3565b6117ce565b3480156104d057600080fd5b5061039561188b565b3480156104e557600080fd5b5061021c6104f436600461241e565b61189a565b34801561050557600080fd5b5061021c61051436600461241e565b6119a6565b34801561052557600080fd5b5061021c6105343660046124ed565b611c0a565b34801561054557600080fd5b5061021c6105543660046123f3565b611e33565b34801561056557600080fd5b506101e66105743660046122f7565b611e3f565b6001600160a01b038083166000908152600860209081526040808320938516835292905220545b92915050565b6105bc336000356001600160e01b031916611e74565b6105e15760405162461bcd60e51b81526004016105d8906128ca565b60405180910390fd5b6001600160a01b0381166106075760405162461bcd60e51b81526004016105d89061287f565b600380546001600160a01b0319166001600160a01b0383161790556040517faac08694cb36f6250aa0c27b058ab1542ec8a9289c0a3af21af36cdfaf1b46cc906106529083906126bc565b60405180910390a150565b606061067d8661066c886117b3565b610674610aaa565b88888888611276565b6106995760405162461bcd60e51b81526004016105d8906129b8565b6106a286611f50565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a6040516020016106e59392919061260c565b60408051601f19818403018152908290526106ff916125f0565b6000604051808303816000865af19150503d806000811461073c576040519150601f19603f3d011682016040523d82523d6000602084013e610741565b606091505b5091509150816107635760405162461bcd60e51b81526004016105d890612837565b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b8861078d611f90565b8960405161079d9392919061276a565b60405180910390a1979650505050505050565b60006107ba611f90565b6003546001600160a01b039081169116148061085657506003546001600160a01b031663db0dd7ff6107ea611f90565b6040518263ffffffff1660e01b815260040161080691906126bc565b60206040518083038186803b15801561081e57600080fd5b505afa158015610832573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085691906125a8565b6108725760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b038216600090815260056020526040902080546001019055610899611f90565b6001600160a01b03838116600090815260096020908152604080832060058352818420548452909152902080546001600160a01b031916929091169190911790556108e2611f90565b6001600160a01b0316826001600160a01b03167f991b8e8a2e2b8ff515f7045174eeb52eb4868e69c5bb4259da6146a93c77574d60056000866001600160a01b03166001600160a01b03168152602001908152602001600020546040516109499190612c7b565b60405180910390a3506001600160a01b0381166000908152600560205260409020545b919050565b610987336000356001600160e01b031916611e74565b6109a35760405162461bcd60e51b81526004016105d8906128ca565b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6001600160a01b031660009081526005602052604090205490565b610a166121e9565b506001600160a01b039182166000908152600460209081526040808320939094168252918252829020825160808101845281548152600182015492810192909252600281015492820192909252600390910154606082015290565b5050565b6001600160a01b0392831660009081526007602090815260408083209486168352938152838220929094168152925290205490565b465b90565b82818015610aff576001600160a01b038216600090815260056020908152604080832054600490925282209091610ae4611f90565b6001600160a01b031681526020810191909152604001600020555b610b1082610b0b611f90565b61203f565b610b2c5760405162461bcd60e51b81526004016105d890612977565b6001600160a01b038516600090815260046020526040812081610b4d611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000209050610b7d816001015486612072565b60018201558315610ba757610b9a81600101548260030154612072565b6001820155600060038201555b856001600160a01b03166323b872dd610bbe611f90565b30886040518463ffffffff1660e01b8152600401610bde939291906126d0565b602060405180830381600087803b158015610bf857600080fd5b505af1158015610c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3091906125a8565b610c4c5760405162461bcd60e51b81526004016105d890612b41565b7fd783236f9ce1a99ac7489d26331b958d099f7895331d5c91777389e01a73cda986610c76611f90565b8360010154604051610c8a939291906126d0565b60405180910390a1505050505050565b610ca2611f90565b6003546001600160a01b0390811691161480610d3e57506003546001600160a01b031663db0dd7ff610cd2611f90565b6040518263ffffffff1660e01b8152600401610cee91906126bc565b60206040518083038186803b158015610d0657600080fd5b505afa158015610d1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3e91906125a8565b610d5a5760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380841660009081526007602090815260408083209385168352929052908120610db491610d8d611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000205483612095565b6001600160a01b038085166000908152600760209081526040808320938616835292905290812090610de4611f90565b6001600160a01b03908116825260208083019390935260409182016000908120949094558681168452600883528184209085168452909152902054610e299083612095565b6001600160a01b038085166000908152600860209081526040808320938616835292905220557f7be7157460ce899204c5cd458bfc6a08b3c8f0c170351afb2f3b4bd59a36d14d8184610e7a611f90565b85604051610e8b9493929190612740565b60405180910390a1505050565b610a7182826000610aaf565b6003546001600160a01b031690565b610ebb611f90565b6003546001600160a01b0390811691161480610f5757506003546001600160a01b031663db0dd7ff610eeb611f90565b6040518263ffffffff1660e01b8152600401610f0791906126bc565b60206040518083038186803b158015610f1f57600080fd5b505afa158015610f33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5791906125a8565b610f735760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380851660009081526007602090815260408083209386168352929052908120610fcd91610fa6611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000205484612095565b6001600160a01b038086166000908152600760209081526040808320938716835292905290812090610ffd611f90565b6001600160a01b039081168252602080830193909352604091820160009081209490945587811684526008835281842090861684529091529020546110429084612095565b6001600160a01b0380861660008181526008602090815260408083209488168352938152838220949094556004845282812091815292529020600181015461108a9085612095565b600182015561109a8385846120b8565b7f4898a6d00c9e3129b2a97ee8e1ad2d897e1ec5b306a8e5849c84b3d89d2b11bb836110c4611f90565b8785886040516110d895949392919061270d565b60405180910390a15050505050565b6110ef611f90565b6003546001600160a01b039081169116148061118b57506003546001600160a01b031663db0dd7ff61111f611f90565b6040518263ffffffff1660e01b815260040161113b91906126bc565b60206040518083038186803b15801561115357600080fd5b505afa158015611167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118b91906125a8565b6111a75760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380841660009081526006602090815260408083209385168352929052908120611201916111da611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000205483612072565b6001600160a01b038085166000908152600660209081526040808320938616835292905290812090611231611f90565b6001600160a01b031681526020810191909152604001600020557f0c6931af464e8dc46a721db0ef5a5f0ff97db45dfd9fee54ba7460c68b15768c8184610e7a611f90565b6000806112ae883089896040516020016112939493929190612676565b604051602081830303815290604052805190602001206121b9565b90506000600182858888604051600081526020016040526040516112d594939291906127d7565b6020604051602081039080840390855afa1580156112f7573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661132a5760405162461bcd60e51b81526004016105d890612bcb565b6001600160a01b038a8116911614915050979650505050505050565b61134e611f90565b6003546001600160a01b03908116911614806113ea57506003546001600160a01b031663db0dd7ff61137e611f90565b6040518263ffffffff1660e01b815260040161139a91906126bc565b60206040518083038186803b1580156113b257600080fd5b505afa1580156113c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ea91906125a8565b6114065760405162461bcd60e51b81526004016105d8906128f8565b61140e611f90565b6001600160a01b03848116600090815260096020908152604080832086845290915290205481169116146114545760405162461bcd60e51b81526004016105d890612a45565b6001600160a01b03831660009081526005602052604090205481111561148c5760405162461bcd60e51b81526004016105d890612ac5565b6001600160a01b0380841660009081526004602090815260408083209386168352929052908120546114bf908390612095565b9050806114de5760405162461bcd60e51b81526004016105d890612afc565b806001146114fe5760405162461bcd60e51b81526004016105d890612c02565b6001600160a01b0380851660009081526004602090815260408083209387168352929052819020839055517f66d1ba6a7bba8a64b1341777e1e7721371ab2824e4b50ec33c687036451fe7f09061155a908690869086906126d0565b60405180910390a150505050565b61157e336000356001600160e01b031916611e74565b61159a5760405162461bcd60e51b81526004016105d8906128ca565b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b838360086000611603611f90565b6001600160a01b03908116825260208083019390935260409182016000908120918616815290835281812054600490935290812061166d91611643611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000206001015483612095565b101561168b5760405162461bcd60e51b81526004016105d890612b85565b858380156116db576001600160a01b0382166000908152600560209081526040808320546004909252822090916116c0611f90565b6001600160a01b031681526020810191909152604001600020555b6116e782610b0b611f90565b6117035760405162461bcd60e51b81526004016105d890612977565b6001600160a01b038816600090815260046020526040812081611724611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000209050611754816001015489612095565b60018201556117648989896120b8565b7fb8c56c2a9387492995ba191019b63a38d5ce068bd9fe02315cbe2600d561dc398961178e611f90565b898b6040516117a09493929190612740565b60405180910390a1505050505050505050565b6001600160a01b03166000908152600a602052604090205490565b6001600160a01b038216600090815260056020526040902054811180159061182f57506001600160a01b038216600090815260046020526040812090611812611f90565b6001600160a01b0316815260208101919091526040016000205481115b61184b5760405162461bcd60e51b81526004016105d890612a01565b6001600160a01b0382166000908152600460205260408120829161186d611f90565b6001600160a01b031681526020810191909152604001600020555050565b6000546001600160a01b031681565b826001600160a01b03166323b872dd6118b1611f90565b30856040518463ffffffff1660e01b81526004016118d1939291906126d0565b602060405180830381600087803b1580156118eb57600080fd5b505af11580156118ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061192391906125a8565b61193f5760405162461bcd60e51b81526004016105d890612b41565b61194a8383836120b8565b6001600160a01b03808416600090815260046020908152604080832093851683529290528190206001015490517fd783236f9ce1a99ac7489d26331b958d099f7895331d5c91777389e01a73cda991610e8b91869185916126d0565b6119ae611f90565b6003546001600160a01b0390811691161480611a4a57506003546001600160a01b031663db0dd7ff6119de611f90565b6040518263ffffffff1660e01b81526004016119fa91906126bc565b60206040518083038186803b158015611a1257600080fd5b505afa158015611a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4a91906125a8565b611a665760405162461bcd60e51b81526004016105d8906128f8565b6001600160a01b0380841660009081526006602090815260408083209385168352929052908120611a9991610d8d611f90565b6001600160a01b038085166000908152600660209081526040808320938616835292905290812090611ac9611f90565b6001600160a01b039081168252602080830193909352604091820160009081209490945586811684526007835281842090851684529091528120611b0f916111da611f90565b6001600160a01b038085166000908152600760209081526040808320938616835292905290812090611b3f611f90565b6001600160a01b03908116825260208083019390935260409182016000908120949094558681168452600883528184209085168452909152902054611b849083612072565b6001600160a01b0384811660008181526008602090815260408083209487168352938152838220859055600481528382209282529190915220600101541015611bdf5760405162461bcd60e51b81526004016105d890612a7c565b7f1bc037d9dae402d0c9a02b4f09b74725297e60aa2d1a20f30c935ca65316963c8184610e7a611f90565b828260086000611c18611f90565b6001600160a01b039081168252602080830193909352604091820160009081209186168152908352818120546004909352908120611c5891611643611f90565b1015611c765760405162461bcd60e51b81526004016105d890612b85565b84838015611cc6576001600160a01b038216600090815260056020908152604080832054600490925282209091611cab611f90565b6001600160a01b031681526020810191909152604001600020555b611cd282610b0b611f90565b611cee5760405162461bcd60e51b81526004016105d890612977565b6001600160a01b038716600090815260046020526040812081611d0f611f90565b6001600160a01b03166001600160a01b031681526020019081526020016000209050611d3f816001015488612095565b60018201556001600160a01b03881663a9059cbb611d5b611f90565b896040518363ffffffff1660e01b8152600401611d799291906126f4565b602060405180830381600087803b158015611d9357600080fd5b505af1158015611da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dcb91906125a8565b611de75760405162461bcd60e51b81526004016105d890612b41565b7f01e2c71b014f62b55400e8becdca80c6a907b5cc36c7a5789443c3ed5e57992788611e11611f90565b89604051611e21939291906126d0565b60405180910390a15050505050505050565b610a7182826000611c0a565b6001600160a01b0392831660009081526006602090815260408083209486168352938152838220929094168152925290205490565b60006001600160a01b038316301415611e8f575060016105a0565b6001546001600160a01b0384811691161415611ead575060016105a0565b6000546001600160a01b0316611ec5575060006105a0565b60005460405163b700961360e01b81526001600160a01b039091169063b700961390611ef99086903090879060040161279f565b60206040518083038186803b158015611f1157600080fd5b505afa158015611f25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4991906125a8565b90506105a0565b6001600160a01b0381166000908152600a6020526040902054611f74906001612072565b6001600160a01b039091166000908152600a6020526040902055565b6000363330148015611fa3575060348110155b156120325760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e8811461201e57339350505050610aac565b508101516001600160a01b0316915061203b565b33915050610aac565b5090565b6001600160a01b039182166000908152600560209081526040808320546004835281842094909516835292905220541490565b808201828110156105a05760405162461bcd60e51b81526004016105d890612949565b808203828111156105a05760405162461bcd60e51b81526004016105d890612808565b6001600160a01b0380841660009081526004602090815260408083209385168352929052206120e7848361203f565b15612104576120fa816001015484612072565b60018201556121b3565b60405163a9059cbb60e01b81526001600160a01b0385169063a9059cbb9061213290859087906004016126f4565b602060405180830381600087803b15801561214c57600080fd5b505af192505050801561217c575060408051601f3d908101601f19168201909252612179918101906125a8565b60015b6121985761218e816003015484612072565b60038201556121b3565b806121b1576121ab826003015485612072565b60038301555b505b50505050565b6000816040516020016121cc9190612645565b604051602081830303815290604052805190602001209050919050565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b600082601f830112612221578081fd5b813567ffffffffffffffff8082111561223657fe5b604051601f8301601f19168101602001828111828210171561225457fe5b60405282815292508284830160200186101561226f57600080fd5b8260208601602083013760006020848301015250505092915050565b803560ff8116811461096c57600080fd5b6000602082840312156122ad578081fd5b81356122b881612cb0565b9392505050565b600080604083850312156122d1578081fd5b82356122dc81612cb0565b915060208301356122ec81612cb0565b809150509250929050565b60008060006060848603121561230b578081fd5b833561231681612cb0565b9250602084013561232681612cb0565b9150604084013561233681612cb0565b809150509250925092565b600080600060608486031215612355578283fd5b833561236081612cb0565b9250602084013561237081612cb0565b929592945050506040919091013590565b600080600080600060a08688031215612398578081fd5b85356123a381612cb0565b9450602086013567ffffffffffffffff8111156123be578182fd5b6123ca88828901612211565b94505060408601359250606086013591506123e76080870161228b565b90509295509295909350565b60008060408385031215612405578182fd5b823561241081612cb0565b946020939093013593505050565b600080600060608486031215612432578283fd5b833561243d81612cb0565b925060208401359150604084013561233681612cb0565b60008060008060808587031215612469578384fd5b843561247481612cb0565b935060208501359250604085013561248b81612cb0565b9150606085013561249b81612cb0565b939692955090935050565b600080600080608085870312156124bb578384fd5b84356124c681612cb0565b93506020850135925060408501356124dd81612cb0565b9150606085013561249b81612cc8565b600080600060608486031215612501578283fd5b833561250c81612cb0565b925060208401359150604084013561233681612cc8565b600080600080600080600060e0888a03121561253d578182fd5b873561254881612cb0565b96506020880135955060408801359450606088013567ffffffffffffffff811115612571578283fd5b61257d8a828b01612211565b9450506080880135925060a0880135915061259a60c0890161228b565b905092959891949750929550565b6000602082840312156125b9578081fd5b81516122b881612cc8565b600081518084526125dc816020860160208601612c84565b601f01601f19169290920160200192915050565b60008251612602818460208701612c84565b9190910192915050565b6000845161261e818460208901612c84565b919091019283525060601b6bffffffffffffffffffffffff19166020820152603401919050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60008582526bffffffffffffffffffffffff198560601b16602083015283603483015282516126ac816054850160208701612c84565b9190910160540195945050505050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039586168152938516602085015291841660408401529092166060820152608081019190915260a00190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b03848116825283166020820152606060408201819052600090612796908301846125c4565b95945050505050565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b901515815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082526122b860208301846125c4565b60208082526015908201527464732d6d6174682d7375622d756e646572666c6f7760581b604082015260600190565b60208082526028908201527f636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e737560408201526718d8d95cdcd99d5b60c21b606082015260800190565b6020808252602b908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6e6574776f726b2d63616e60408201526a6e6f742d62652d7a65726f60a81b606082015260800190565b602080825260149082015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604082015260600190565b60208082526031908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d73656e6465722d6e6f742d604082015270636f6c6f6e792d6f722d6e6574776f726b60781b606082015260800190565b60208082526014908201527364732d6d6174682d6164642d6f766572666c6f7760601b604082015260600190565b60208082526021908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d746f6b656e2d6c6f636b656040820152601960fa1b606082015260800190565b60208082526029908201527f6d6574617472616e73616374696f6e2d7369676e65722d7369676e617475726560408201526805adad2e6dac2e8c6d60bb1b606082015260800190565b60208082526024908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d696e76616c69642d6c6f636040820152631acb5a5960e21b606082015260800190565b6020808252601f908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6e6f742d6c6f636b657200604082015260600190565b60208082526029908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d696e73756666696369656e6040820152681d0b59195c1bdcda5d60ba1b606082015260800190565b6020808252601b908201527f636f6c6f6e792d746f6b656e2d696e76616c69642d6c6f636b69640000000000604082015260600190565b60208082526025908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d616c72656164792d756e6c6040820152641bd8dad95960da1b606082015260800190565b60208082526024908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d7472616e736665722d66616040820152631a5b195960e21b606082015260800190565b60208082526026908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6578636573732d6f626c6960408201526533b0ba34b7b760d11b606082015260800190565b6020808252601f908201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604082015260600190565b6020808252602e908201527f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6861732d70726576696f7560408201526d732d6163746976652d6c6f636b7360901b606082015260800190565b8151815260208083015190820152604080830151908201526060918201519181019190915260800190565b90815260200190565b60005b83811015612c9f578181015183820152602001612c87565b838111156121b35750506000910152565b6001600160a01b0381168114612cc557600080fd5b50565b8015158114612cc557600080fdfea26469706673582212208d23d025ff346cfb3791e78a1f192996ade6a355481088df409042b1394689c464736f6c63430007030033"; diff --git a/src/contracts/colony/12/factories/TokenSAI__factory.ts b/src/contracts/colony/12/factories/TokenSAI__factory.ts new file mode 100644 index 000000000..a8f6c796d --- /dev/null +++ b/src/contracts/colony/12/factories/TokenSAI__factory.ts @@ -0,0 +1,240 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer } from "ethers"; +import { Provider } from "ethers/providers"; + +import { TokenSAI } from "../TokenSAI"; + +export class TokenSAI__factory { + static connect( + address: string, + signerOrProvider: Signer | Provider + ): TokenSAI { + return new Contract(address, _abi, signerOrProvider) as TokenSAI; + } +} + +const _abi = [ + { + constant: true, + inputs: [], + name: "name", + outputs: [ + { + name: "", + type: "bytes32", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { + name: "_spender", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "totalSupply", + outputs: [ + { + name: "", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { + name: "_from", + type: "address", + }, + { + name: "_to", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "decimals", + outputs: [ + { + name: "", + type: "uint8", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [ + { + name: "_owner", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + name: "balance", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [], + name: "symbol", + outputs: [ + { + name: "", + type: "bytes32", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { + name: "_to", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [ + { + name: "_owner", + type: "address", + }, + { + name: "_spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + name: "", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + payable: true, + stateMutability: "payable", + type: "fallback", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: "owner", + type: "address", + }, + { + indexed: true, + name: "spender", + type: "address", + }, + { + indexed: false, + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + name: "from", + type: "address", + }, + { + indexed: true, + name: "to", + type: "address", + }, + { + indexed: false, + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, +]; diff --git a/src/contracts/colony/12/index.d.ts b/src/contracts/colony/12/index.d.ts new file mode 100644 index 000000000..910d6a045 --- /dev/null +++ b/src/contracts/colony/12/index.d.ts @@ -0,0 +1,29 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + BigNumberish, + EventDescription, + FunctionDescription, +} from "ethers/utils"; + +export interface TransactionOverrides { + gasLimit?: BigNumberish | Promise; + gasPrice?: BigNumberish | Promise; + nonce?: BigNumberish | Promise; + value?: BigNumberish | Promise; + from?: string | Promise; + chainId?: number | Promise; +} + +export interface TypedEventDescription< + T extends Pick +> extends EventDescription { + encodeTopics: T["encodeTopics"]; +} + +export interface TypedFunctionDescription< + T extends Pick +> extends FunctionDescription { + encode: T["encode"]; +} diff --git a/src/versions.ts b/src/versions.ts index 1eb69983e..94d4d997e 100644 --- a/src/versions.ts +++ b/src/versions.ts @@ -27,6 +27,7 @@ export enum ColonyVersion { FuchsiaLightweightSpaceship = 9, GreenLightweightSpaceship = 10, GreenLightweightSpaceshipTwo = 11, + GreenLightweightSpaceshipThree = 12, } // These are the corresponding git release tags for the deployed versions of the Colony Network @@ -42,6 +43,7 @@ const colonyReleaseMap = { [ColonyVersion.FuchsiaLightweightSpaceship]: `flwss`, [ColonyVersion.GreenLightweightSpaceship]: `glwss`, [ColonyVersion.GreenLightweightSpaceshipTwo]: `glwss2`, + [ColonyVersion.GreenLightweightSpaceshipThree]: `glwss3`, }; /** From f0e2533affb6c9a0e11e39458fd28706d86524c1 Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Mon, 13 Feb 2023 02:29:49 +0200 Subject: [PATCH 12/15] Update: metaTx token deployment ABI --- src/contracts/deploy/MetaTxToken.json | 13000 +++++++++++++----------- 1 file changed, 6889 insertions(+), 6111 deletions(-) diff --git a/src/contracts/deploy/MetaTxToken.json b/src/contracts/deploy/MetaTxToken.json index ddb334391..465aa8690 100644 --- a/src/contracts/deploy/MetaTxToken.json +++ b/src/contracts/deploy/MetaTxToken.json @@ -515,6 +515,25 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "nonce", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -657,91 +676,108 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.7.3+commit.9bfce1f6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"_decimals\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"LogSetAuthority\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"LogSetOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address payable\",\"name\":\"relayerAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"functionSignature\",\"type\":\"bytes\"}],\"name\":\"MetaTransactionExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"contract DSAuthority\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_payload\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_sigS\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"_sigV\",\"type\":\"uint8\"}],\"name\":\"executeMetaTransaction\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getMetatransactionNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"locked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract DSAuthority\",\"name\":\"authority_\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_chainId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_payload\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_sigS\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"_sigV\",\"type\":\"uint8\"}],\"name\":\"verify\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)\":{\"params\":{\"_payload\":\"Function call to make via meta transaction\",\"_sigR\":\"R part of the signature\",\"_sigS\":\"S part of the signature\",\"_sigV\":\"V part of the signature\",\"_user\":\"Address of user trying to do meta transaction\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)\":{\"notice\":\"Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"/home/alex/colony/colonyNetwork/contracts/metatxToken/MetaTxToken.sol\":\"MetaTxToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/alex/colony/colonyNetwork/contracts/common/BasicMetaTransaction.sol\":{\"keccak256\":\"0xbefc18701ee84d21bcd0f1ec6b2633cbc0b37b2fa281ff08ed38633ef822e897\",\"urls\":[\"bzz-raw://f2660629fb97a5e7041f1cdc359f50a29bfdc022d1c5d53c21506229ae0d383a\",\"dweb:/ipfs/QmNgLSVPHUNC247MeUfFSQHNDASKyw2PiLAoDQRj6eEpPr\"]},\"/home/alex/colony/colonyNetwork/contracts/common/ERC20Extended.sol\":{\"keccak256\":\"0x8ee76ab93ed44fa284c4b04980cfed835bd1952f52870e44d5213cf8367d4d72\",\"urls\":[\"bzz-raw://641b7d7325370fbf5b1438f70ec0f7504ceb0cf7fbb5d91e7d9c7c21dd15aaa1\",\"dweb:/ipfs/QmVrKk9T5upEDNk6rpYU6KaELwDc1vTA9CJswHe6TBoYkR\"]},\"/home/alex/colony/colonyNetwork/contracts/common/MetaTransactionMsgSender.sol\":{\"keccak256\":\"0xe0ff4cef89b9e16896cfe2d39aced588897fd9203774d941aae228220021e413\",\"urls\":[\"bzz-raw://548cd52bb3c56b709132b3862d36ecfdcf03f3ac725bfbb1904f5933fc85484e\",\"dweb:/ipfs/QmVLpWfj7jWZAGsz24hb3NRJby7TaEVZiyspDZqWthS3MS\"]},\"/home/alex/colony/colonyNetwork/contracts/common/MultiChain.sol\":{\"keccak256\":\"0x83b2f975cb2a95281c6d2637101fd98c4fb1d5dd3af8d62997a0a0e42724bd64\",\"urls\":[\"bzz-raw://03c93ed27c3d97b8e2e6000678ca14bc9a10a2ab3426ab90f679de29a18bba41\",\"dweb:/ipfs/QmVC9EiYWQvM3wRB8TYcFkP1w8NtGXyTxHFoUKiwAGmqgV\"]},\"/home/alex/colony/colonyNetwork/contracts/metatxToken/DSAuthMeta.sol\":{\"keccak256\":\"0xe9dbe38e7b9c249194a0edb56173c6db3a1fa71edd29e946723102dfa0ef0e3e\",\"urls\":[\"bzz-raw://a51a1550c710171fa02e773778d5edfdd73fb3871ed7ba74bbf0a6f474f64791\",\"dweb:/ipfs/QmNVt3J7SyK4dRop9h2s1bdJh52A4NBbZCMXLyPRWWHVd4\"]},\"/home/alex/colony/colonyNetwork/contracts/metatxToken/DSTokenBaseMeta.sol\":{\"keccak256\":\"0x28d3dd113891090248b3037370cd1939a5646a29c2c6d6849b46bd0e4e3d3dee\",\"urls\":[\"bzz-raw://419a0abcfd8d7f9af5d5d9b4b5c097e3dd832ddc70f46c5a8146e376bb4181c4\",\"dweb:/ipfs/QmXgtaNvgDqQ9iWbNtevAy4NPneo4my3GJeJvYHvP3gtjN\"]},\"/home/alex/colony/colonyNetwork/contracts/metatxToken/MetaTxToken.sol\":{\"keccak256\":\"0x33b475c45728c90e1be18c7c018be5219c80cec4d7fecff110b1d9ba854d0a5b\",\"urls\":[\"bzz-raw://34302925d0d248e3e85f4dac41b09b731c7c0ba3c2f3c2f83b6fabbbfa75efeb\",\"dweb:/ipfs/QmVAXLc55hSXQfyZYzqQAo6Ubd9gd5HFDbAXmbZMJBpqce\"]},\"/home/alex/colony/colonyNetwork/lib/dappsys/auth.sol\":{\"keccak256\":\"0xb59c9b93ee83bf361ad763b027b0cc2ab7fb21486c4744802dd0017457c3424a\",\"urls\":[\"bzz-raw://01a1dff28577babee9044206c83db562d0941776cbd449b3ec47318571476fc6\",\"dweb:/ipfs/QmT5hrUe1zuVCAkdbudbHVNDa3E3uRy7NM1WwAAApRsJqe\"]},\"/home/alex/colony/colonyNetwork/lib/dappsys/erc20.sol\":{\"keccak256\":\"0xe01559371fecb34df51499200abb4d15dece3e8e43c3ba8561c0edac39c63c9d\",\"urls\":[\"bzz-raw://a53873aacc8a99f0585419f212094ff967c67f0f502588f0e71df4316e771af6\",\"dweb:/ipfs/QmYcgejDnfWURPH2pFnYPCfcDpmrY639pXuRdEWh8U4S45\"]},\"/home/alex/colony/colonyNetwork/lib/dappsys/math.sol\":{\"keccak256\":\"0x7cd3a27541f75fb9234cea98fbf42b40499dc0c732ddacf41981edca7b278211\",\"urls\":[\"bzz-raw://fc61d8737c6e2d1e6badcbe45ce8776fd7af9522f746224c4ca292bf81d057f1\",\"dweb:/ipfs/QmZZuNXm1fn1wQg5BmeCFPN73qZEUsf8oNz1jazYRyZEKp\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b50604051620021f9380380620021f9833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b506040526020015191506000905080600181620001b4620003a6565b6001600160a01b03168152602081019190915260400160009081209190915555620001de620003a6565b600480546001600160a01b0319166001600160a01b039290921691909117905562000208620003a6565b6001600160a01b03167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a28251620002529060069060208601906200045c565b508151620002689060059060208501906200045c565b506004805460ff60a01b1916600160a01b60ff8416021790556007805460ff191660019081179091556040516006805446937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f9391829184916002610100928216159290920260001901160480156200031b5780601f10620002f85761010080835404028352918201916200031b565b820191906000526020600020905b81548152906001019060200180831162000306575b505060408051918290038220828201825260018352603160f81b602093840152815180840196909652858201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606086015260808501959095523060a0808601919091528551808603909101815260c09094019094525050805191012060085550620004ee915050565b6000363330148015620003ba575060348110155b156200044d5760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88114620004385733935050505062000459565b508101516001600160a01b0316915062000457565b3391505062000459565b505b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049f57805160ff1916838001178555620004cf565b82800160010185558215620004cf579182015b82811115620004cf578251825591602001919060010190620004b2565b50620004579291505b80821115620004575760008155600101620004d8565b611cfb80620004fe6000396000f3fe6080604052600436106101815760003560e01c806370a08231116100d1578063a69df4b51161008a578063bf7e214f11610064578063bf7e214f146106fa578063cf3090121461070f578063d505accf14610724578063dd62ed3e1461078257610181565b8063a69df4b514610679578063a9059cbb1461068e578063b3eac1d8146106c757610181565b806370a082311461056a5780637a9e5e4b1461059d5780638da5cb5b146105d057806395d89b41146106015780639dc29fac14610616578063a0712d681461064f57610181565b806330adf81f1161013e5780633644e515116101185780633644e5151461041557806340c10f191461042a57806342966c68146104635780636281133d1461048d57610181565b806330adf81f146103c0578063313ce567146103d55780633408e4701461040057610181565b806306fdde0314610186578063095ea7b3146102105780630c53c51c1461025d57806313af40351461032157806318160ddd1461035657806323b872dd1461037d575b600080fd5b34801561019257600080fd5b5061019b6107bd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021c57600080fd5b506102496004803603604081101561023357600080fd5b506001600160a01b03813516906020013561084b565b604080519115158252519081900360200190f35b61019b600480360360a081101561027357600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561029e57600080fd5b8201836020820111156102b057600080fd5b803590602001918460018302840111640100000000831117156102d257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff166108dc565b34801561032d57600080fd5b506103546004803603602081101561034457600080fd5b50356001600160a01b0316610b8e565b005b34801561036257600080fd5b5061036b610c43565b60408051918252519081900360200190f35b34801561038957600080fd5b50610249600480360360608110156103a057600080fd5b506001600160a01b03813581169160208101359091169060400135610c4a565b3480156103cc57600080fd5b5061036b610cc3565b3480156103e157600080fd5b506103ea610ce7565b6040805160ff9092168252519081900360200190f35b34801561040c57600080fd5b5061036b610cf7565b34801561042157600080fd5b5061036b610cfb565b34801561043657600080fd5b506103546004803603604081101561044d57600080fd5b506001600160a01b038135169060200135610d01565b34801561046f57600080fd5b506103546004803603602081101561048657600080fd5b5035610e25565b34801561049957600080fd5b50610249600480360360e08110156104b057600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104e757600080fd5b8201836020820111156104f957600080fd5b8035906020019184600183028401116401000000008311171561051b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff16610e39565b34801561057657600080fd5b5061036b6004803603602081101561058d57600080fd5b50356001600160a01b0316610fb8565b3480156105a957600080fd5b50610354600480360360208110156105c057600080fd5b50356001600160a01b0316610fd3565b3480156105dc57600080fd5b506105e5611076565b604080516001600160a01b039092168252519081900360200190f35b34801561060d57600080fd5b5061019b611085565b34801561062257600080fd5b506103546004803603604081101561063957600080fd5b506001600160a01b0381351690602001356110e0565b34801561065b57600080fd5b506103546004803603602081101561067257600080fd5b503561131a565b34801561068557600080fd5b5061035461137e565b34801561069a57600080fd5b50610249600480360360408110156106b157600080fd5b506001600160a01b0381351690602001356113dd565b3480156106d357600080fd5b5061036b600480360360208110156106ea57600080fd5b50356001600160a01b03166113f8565b34801561070657600080fd5b506105e5611413565b34801561071b57600080fd5b50610249611422565b34801561073057600080fd5b50610354600480360360e081101561074757600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561142b565b34801561078e57600080fd5b5061036b600480360360408110156107a557600080fd5b506001600160a01b0381358116916020013516611744565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108435780601f1061081857610100808354040283529160200191610843565b820191906000526020600020905b81548152906001019060200180831161082657829003601f168201915b505050505081565b6000816002600061085a61176f565b6001600160a01b039081168252602080830193909352604091820160009081209188168082529190935291209190915561089261176f565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a35060015b92915050565b60606108fc866108eb886113f8565b6108f3610cf7565b88888888610e39565b6109375760405162461bcd60e51b8152600401808060200182810382526029815260200180611c9d6029913960400191505060405180910390fd5b6109408661181e565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a6040516020018084805190602001908083835b602083106109a35780518252601f199092019160209182019101610984565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001826001600160a01b031660601b815260140193505050506040516020818303038152906040526040518082805190602001908083835b60208310610a205780518252601f199092019160209182019101610a01565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a82576040519150601f19603f3d011682016040523d82523d6000602084013e610a87565b606091505b509150915081610ac85760405162461bcd60e51b8152600401808060200182810382526028815260200180611c756028913960400191505060405180910390fd5b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b88338960405180846001600160a01b03168152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b47578181015183820152602001610b2f565b50505050905090810190601f168015610b745780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1979650505050505050565b610bab610b9961176f565b6000356001600160e01b03191661183e565b610bf3576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6000545b90565b60075460009060ff1615610cb057610c63610b9961176f565b610cb0576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b610cbb848484611925565b949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b600454600160a01b900460ff1681565b4690565b60085481565b610d0c610b9961176f565b610d54576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6001600160a01b038216600090815260016020526040902054610d779082611b84565b6001600160a01b03831660009081526001602052604081209190915554610d9e9082611b84565b6000556040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a26040805182815290516001600160a01b038416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b610e36610e3061176f565b826110e0565b50565b600080610ed68830898960405160200180858152602001846001600160a01b031660601b815260140183815260200182805190602001908083835b60208310610e935780518252601f199092019160209182019101610e74565b6001836020036101000a03801982511681845116808217855250505050505090500194505050505060405160208183030381529060405280519060200120611bd3565b9050600060018285888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610f34573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610f9c576040805162461bcd60e51b815260206004820152601f60248201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604482015290519081900360640190fd5b6001600160a01b038a8116911614915050979650505050505050565b6001600160a01b031660009081526001602052604090205490565b610fde610b9961176f565b611026576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0383811691909117918290556040519116907f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada490600090a250565b6004546001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108435780601f1061081857610100808354040283529160200191610843565b6110e861176f565b6001600160a01b0316826001600160a01b03161461121d576001600160a01b0382166000908152600260205260408120829161112261176f565b6001600160a01b03166001600160a01b03168152602001908152602001600020541015611196576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b03821660009081526002602052604081206111e1916111ba61176f565b6001600160a01b03166001600160a01b031681526020019081526020016000205482611c24565b6001600160a01b03831660009081526002602052604081209061120261176f565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b03821660009081526001602052604090205481111561128a576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546112ad9082611c24565b6001600160a01b038316600090815260016020526040812091909155546112d49082611c24565b6000556040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b611325610b9961176f565b61136d576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b610e3661137861176f565b82610d01565b611389610b9961176f565b6113d1576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6007805460ff19169055565b60006113f16113ea61176f565b8484610c4a565b9392505050565b6001600160a01b031660009081526009602052604090205490565b6003546001600160a01b031681565b60075460ff1681565b60075460ff161561148e57611441610b9961176f565b61148e576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b428410156114e3576040805162461bcd60e51b815260206004820152601d60248201527f636f6c6f6e792d746f6b656e2d657870697265642d646561646c696e65000000604482015290519081900360640190fd5b6040805180820182526002815261190160f01b60208083019182526008546001600160a01b03808d1660008181526009855287812080546001810190915588517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981880152808a0193909352928e166060830152608082018d905260a082019290925260c08082018c90528751808303909101815260e082019097528651969093019590952084519193909261010001918291908083835b602083106115ba5780518252601f19909201916020918201910161159b565b51815160209384036101000a6000190180199092169116179052920194855250838101929092525060408051808403830181528184018083528151918401919091206000918290526060850180845281905260ff8a16608086015260a0850189905260c085018890529151919550935060019260e08082019392601f1981019281900390910190855afa158015611655573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061168b5750886001600160a01b0316816001600160a01b0316145b6116dc576040805162461bcd60e51b815260206004820152601e60248201527f636f6c6f6e792d746f6b656e2d696e76616c69642d7369676e61747572650000604482015290519081900360640190fd5b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290208b905581518b815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050505050505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000363330148015611782575060348110155b156118115760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e881146117fd57339350505050610c47565b508101516001600160a01b0316915061181a565b33915050610c47565b5090565b6001600160a01b0316600090815260096020526040902080546001019055565b60006001600160a01b038316301415611859575060016108d6565b6004546001600160a01b0384811691161415611877575060016108d6565b6003546001600160a01b031661188f575060006108d6565b6003546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156118f257600080fd5b505afa158015611906573d6000803e3d6000fd5b505050506040513d602081101561191c57600080fd5b505190506108d6565b600061192f61176f565b6001600160a01b0316846001600160a01b031614611a64576001600160a01b0384166000908152600260205260408120839161196961176f565b6001600160a01b03166001600160a01b031681526020019081526020016000205410156119dd576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260408120611a2891611a0161176f565b6001600160a01b03166001600160a01b031681526020019081526020016000205483611c24565b6001600160a01b038516600090815260026020526040812090611a4961176f565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b038416600090815260016020526040902054821115611ad1576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040902054611af49083611c24565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611b239083611b84565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b808201828110156108d6576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b808203828111156108d6576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fdfe636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e7375636365737366756c6d6574617472616e73616374696f6e2d7369676e65722d7369676e61747572652d6d69736d61746368a264697066735822122055eeac2228dfae391826f6e9c9787a4f1714e9610e01479e0866abfee76d559864736f6c63430007030033", - "deployedBytecode": "0x6080604052600436106101815760003560e01c806370a08231116100d1578063a69df4b51161008a578063bf7e214f11610064578063bf7e214f146106fa578063cf3090121461070f578063d505accf14610724578063dd62ed3e1461078257610181565b8063a69df4b514610679578063a9059cbb1461068e578063b3eac1d8146106c757610181565b806370a082311461056a5780637a9e5e4b1461059d5780638da5cb5b146105d057806395d89b41146106015780639dc29fac14610616578063a0712d681461064f57610181565b806330adf81f1161013e5780633644e515116101185780633644e5151461041557806340c10f191461042a57806342966c68146104635780636281133d1461048d57610181565b806330adf81f146103c0578063313ce567146103d55780633408e4701461040057610181565b806306fdde0314610186578063095ea7b3146102105780630c53c51c1461025d57806313af40351461032157806318160ddd1461035657806323b872dd1461037d575b600080fd5b34801561019257600080fd5b5061019b6107bd565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021c57600080fd5b506102496004803603604081101561023357600080fd5b506001600160a01b03813516906020013561084b565b604080519115158252519081900360200190f35b61019b600480360360a081101561027357600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561029e57600080fd5b8201836020820111156102b057600080fd5b803590602001918460018302840111640100000000831117156102d257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff166108dc565b34801561032d57600080fd5b506103546004803603602081101561034457600080fd5b50356001600160a01b0316610b8e565b005b34801561036257600080fd5b5061036b610c43565b60408051918252519081900360200190f35b34801561038957600080fd5b50610249600480360360608110156103a057600080fd5b506001600160a01b03813581169160208101359091169060400135610c4a565b3480156103cc57600080fd5b5061036b610cc3565b3480156103e157600080fd5b506103ea610ce7565b6040805160ff9092168252519081900360200190f35b34801561040c57600080fd5b5061036b610cf7565b34801561042157600080fd5b5061036b610cfb565b34801561043657600080fd5b506103546004803603604081101561044d57600080fd5b506001600160a01b038135169060200135610d01565b34801561046f57600080fd5b506103546004803603602081101561048657600080fd5b5035610e25565b34801561049957600080fd5b50610249600480360360e08110156104b057600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104e757600080fd5b8201836020820111156104f957600080fd5b8035906020019184600183028401116401000000008311171561051b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff16610e39565b34801561057657600080fd5b5061036b6004803603602081101561058d57600080fd5b50356001600160a01b0316610fb8565b3480156105a957600080fd5b50610354600480360360208110156105c057600080fd5b50356001600160a01b0316610fd3565b3480156105dc57600080fd5b506105e5611076565b604080516001600160a01b039092168252519081900360200190f35b34801561060d57600080fd5b5061019b611085565b34801561062257600080fd5b506103546004803603604081101561063957600080fd5b506001600160a01b0381351690602001356110e0565b34801561065b57600080fd5b506103546004803603602081101561067257600080fd5b503561131a565b34801561068557600080fd5b5061035461137e565b34801561069a57600080fd5b50610249600480360360408110156106b157600080fd5b506001600160a01b0381351690602001356113dd565b3480156106d357600080fd5b5061036b600480360360208110156106ea57600080fd5b50356001600160a01b03166113f8565b34801561070657600080fd5b506105e5611413565b34801561071b57600080fd5b50610249611422565b34801561073057600080fd5b50610354600480360360e081101561074757600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561142b565b34801561078e57600080fd5b5061036b600480360360408110156107a557600080fd5b506001600160a01b0381358116916020013516611744565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108435780601f1061081857610100808354040283529160200191610843565b820191906000526020600020905b81548152906001019060200180831161082657829003601f168201915b505050505081565b6000816002600061085a61176f565b6001600160a01b039081168252602080830193909352604091820160009081209188168082529190935291209190915561089261176f565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a35060015b92915050565b60606108fc866108eb886113f8565b6108f3610cf7565b88888888610e39565b6109375760405162461bcd60e51b8152600401808060200182810382526029815260200180611c9d6029913960400191505060405180910390fd5b6109408661181e565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a6040516020018084805190602001908083835b602083106109a35780518252601f199092019160209182019101610984565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001826001600160a01b031660601b815260140193505050506040516020818303038152906040526040518082805190602001908083835b60208310610a205780518252601f199092019160209182019101610a01565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a82576040519150601f19603f3d011682016040523d82523d6000602084013e610a87565b606091505b509150915081610ac85760405162461bcd60e51b8152600401808060200182810382526028815260200180611c756028913960400191505060405180910390fd5b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b88338960405180846001600160a01b03168152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b47578181015183820152602001610b2f565b50505050905090810190601f168015610b745780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1979650505050505050565b610bab610b9961176f565b6000356001600160e01b03191661183e565b610bf3576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6000545b90565b60075460009060ff1615610cb057610c63610b9961176f565b610cb0576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b610cbb848484611925565b949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b600454600160a01b900460ff1681565b4690565b60085481565b610d0c610b9961176f565b610d54576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6001600160a01b038216600090815260016020526040902054610d779082611b84565b6001600160a01b03831660009081526001602052604081209190915554610d9e9082611b84565b6000556040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a26040805182815290516001600160a01b038416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b610e36610e3061176f565b826110e0565b50565b600080610ed68830898960405160200180858152602001846001600160a01b031660601b815260140183815260200182805190602001908083835b60208310610e935780518252601f199092019160209182019101610e74565b6001836020036101000a03801982511681845116808217855250505050505090500194505050505060405160208183030381529060405280519060200120611bd3565b9050600060018285888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610f34573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610f9c576040805162461bcd60e51b815260206004820152601f60248201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604482015290519081900360640190fd5b6001600160a01b038a8116911614915050979650505050505050565b6001600160a01b031660009081526001602052604090205490565b610fde610b9961176f565b611026576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0383811691909117918290556040519116907f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada490600090a250565b6004546001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108435780601f1061081857610100808354040283529160200191610843565b6110e861176f565b6001600160a01b0316826001600160a01b03161461121d576001600160a01b0382166000908152600260205260408120829161112261176f565b6001600160a01b03166001600160a01b03168152602001908152602001600020541015611196576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b03821660009081526002602052604081206111e1916111ba61176f565b6001600160a01b03166001600160a01b031681526020019081526020016000205482611c24565b6001600160a01b03831660009081526002602052604081209061120261176f565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b03821660009081526001602052604090205481111561128a576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546112ad9082611c24565b6001600160a01b038316600090815260016020526040812091909155546112d49082611c24565b6000556040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b611325610b9961176f565b61136d576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b610e3661137861176f565b82610d01565b611389610b9961176f565b6113d1576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6007805460ff19169055565b60006113f16113ea61176f565b8484610c4a565b9392505050565b6001600160a01b031660009081526009602052604090205490565b6003546001600160a01b031681565b60075460ff1681565b60075460ff161561148e57611441610b9961176f565b61148e576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b428410156114e3576040805162461bcd60e51b815260206004820152601d60248201527f636f6c6f6e792d746f6b656e2d657870697265642d646561646c696e65000000604482015290519081900360640190fd5b6040805180820182526002815261190160f01b60208083019182526008546001600160a01b03808d1660008181526009855287812080546001810190915588517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981880152808a0193909352928e166060830152608082018d905260a082019290925260c08082018c90528751808303909101815260e082019097528651969093019590952084519193909261010001918291908083835b602083106115ba5780518252601f19909201916020918201910161159b565b51815160209384036101000a6000190180199092169116179052920194855250838101929092525060408051808403830181528184018083528151918401919091206000918290526060850180845281905260ff8a16608086015260a0850189905260c085018890529151919550935060019260e08082019392601f1981019281900390910190855afa158015611655573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061168b5750886001600160a01b0316816001600160a01b0316145b6116dc576040805162461bcd60e51b815260206004820152601e60248201527f636f6c6f6e792d746f6b656e2d696e76616c69642d7369676e61747572650000604482015290519081900360640190fd5b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290208b905581518b815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050505050505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6000363330148015611782575060348110155b156118115760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e881146117fd57339350505050610c47565b508101516001600160a01b0316915061181a565b33915050610c47565b5090565b6001600160a01b0316600090815260096020526040902080546001019055565b60006001600160a01b038316301415611859575060016108d6565b6004546001600160a01b0384811691161415611877575060016108d6565b6003546001600160a01b031661188f575060006108d6565b6003546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b1580156118f257600080fd5b505afa158015611906573d6000803e3d6000fd5b505050506040513d602081101561191c57600080fd5b505190506108d6565b600061192f61176f565b6001600160a01b0316846001600160a01b031614611a64576001600160a01b0384166000908152600260205260408120839161196961176f565b6001600160a01b03166001600160a01b031681526020019081526020016000205410156119dd576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260408120611a2891611a0161176f565b6001600160a01b03166001600160a01b031681526020019081526020016000205483611c24565b6001600160a01b038516600090815260026020526040812090611a4961176f565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b038416600090815260016020526040902054821115611ad1576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040902054611af49083611c24565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611b239083611b84565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b808201828110156108d6576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b808203828111156108d6576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fdfe636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e7375636365737366756c6d6574617472616e73616374696f6e2d7369676e65722d7369676e61747572652d6d69736d61746368a264697066735822122055eeac2228dfae391826f6e9c9787a4f1714e9610e01479e0866abfee76d559864736f6c63430007030033", - "immutableReferences": {}, + "metadata": "{\"compiler\":{\"version\":\"0.7.3+commit.9bfce1f6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"_decimals\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"LogSetAuthority\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"LogSetOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address payable\",\"name\":\"relayerAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"functionSignature\",\"type\":\"bytes\"}],\"name\":\"MetaTransactionExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"contract DSAuthority\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_payload\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_sigS\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"_sigV\",\"type\":\"uint8\"}],\"name\":\"executeMetaTransaction\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getMetatransactionNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"locked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract DSAuthority\",\"name\":\"authority_\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"src\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"dst\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"wad\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_chainId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_payload\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"_sigR\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_sigS\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"_sigV\",\"type\":\"uint8\"}],\"name\":\"verify\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)\":{\"params\":{\"_payload\":\"Function call to make via meta transaction\",\"_sigR\":\"R part of the signature\",\"_sigS\":\"S part of the signature\",\"_sigV\":\"V part of the signature\",\"_user\":\"Address of user trying to do meta transaction\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"executeMetaTransaction(address,bytes,bytes32,bytes32,uint8)\":{\"notice\":\"Main function to be called when user wants to execute meta transaction. The actual function to be called should be passed as param with name functionSignature Here the basic signature recovery is being used. Signature is expected to be generated using personal_sign method.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/metaTxToken/MetaTxToken.sol\":\"MetaTxToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/common/BasicMetaTransaction.sol\":{\"keccak256\":\"0x4cb831a8c827cf04478ba7a214b5dfea70a1925908abcad1d7b18ae7a11099d5\",\"urls\":[\"bzz-raw://703b0f9c4e380690102bc5a02c7f5643fc4107552ca2b1e69e28386f0b86eb34\",\"dweb:/ipfs/QmV5WFNfaeXT2qnpQGc6RdpTEaNv8Xum7P3yxkLLbfs8dj\"]},\"project:/contracts/common/ERC20Extended.sol\":{\"keccak256\":\"0x8ee76ab93ed44fa284c4b04980cfed835bd1952f52870e44d5213cf8367d4d72\",\"urls\":[\"bzz-raw://641b7d7325370fbf5b1438f70ec0f7504ceb0cf7fbb5d91e7d9c7c21dd15aaa1\",\"dweb:/ipfs/QmVrKk9T5upEDNk6rpYU6KaELwDc1vTA9CJswHe6TBoYkR\"]},\"project:/contracts/common/MetaTransactionMsgSender.sol\":{\"keccak256\":\"0x297b15c32fd1c5e290ec60063c8848a538d3d1ce290e65cdcbec943bad78abdf\",\"urls\":[\"bzz-raw://2e4cb9b8530b78e1097f5673c675a268665576a5f0d37f6a816afdac29de24f0\",\"dweb:/ipfs/QmeFoX93HigGrdiTGhd2ToMSh2qVhzRtSFp7v7pvSmpQBS\"]},\"project:/contracts/common/MultiChain.sol\":{\"keccak256\":\"0x83b2f975cb2a95281c6d2637101fd98c4fb1d5dd3af8d62997a0a0e42724bd64\",\"urls\":[\"bzz-raw://03c93ed27c3d97b8e2e6000678ca14bc9a10a2ab3426ab90f679de29a18bba41\",\"dweb:/ipfs/QmVC9EiYWQvM3wRB8TYcFkP1w8NtGXyTxHFoUKiwAGmqgV\"]},\"project:/contracts/metaTxToken/DSAuthMeta.sol\":{\"keccak256\":\"0xe9dbe38e7b9c249194a0edb56173c6db3a1fa71edd29e946723102dfa0ef0e3e\",\"urls\":[\"bzz-raw://a51a1550c710171fa02e773778d5edfdd73fb3871ed7ba74bbf0a6f474f64791\",\"dweb:/ipfs/QmNVt3J7SyK4dRop9h2s1bdJh52A4NBbZCMXLyPRWWHVd4\"]},\"project:/contracts/metaTxToken/DSTokenBaseMeta.sol\":{\"keccak256\":\"0x28d3dd113891090248b3037370cd1939a5646a29c2c6d6849b46bd0e4e3d3dee\",\"urls\":[\"bzz-raw://419a0abcfd8d7f9af5d5d9b4b5c097e3dd832ddc70f46c5a8146e376bb4181c4\",\"dweb:/ipfs/QmXgtaNvgDqQ9iWbNtevAy4NPneo4my3GJeJvYHvP3gtjN\"]},\"project:/contracts/metaTxToken/MetaTxToken.sol\":{\"keccak256\":\"0x478a381914757b83532e04ed3e5c35da55c6723e949559ffa3a59743adf5849f\",\"urls\":[\"bzz-raw://6a6ff15c3923bda2aeafcaec65fe6c6c213de458eb44fed28863fe789d7491dd\",\"dweb:/ipfs/QmT2VV4tYrWBHz9r6t2SCgoVBXDeKuBi7C9DKtFPHcSpnG\"]},\"project:/lib/dappsys/auth.sol\":{\"keccak256\":\"0xb59c9b93ee83bf361ad763b027b0cc2ab7fb21486c4744802dd0017457c3424a\",\"urls\":[\"bzz-raw://01a1dff28577babee9044206c83db562d0941776cbd449b3ec47318571476fc6\",\"dweb:/ipfs/QmT5hrUe1zuVCAkdbudbHVNDa3E3uRy7NM1WwAAApRsJqe\"]},\"project:/lib/dappsys/erc20.sol\":{\"keccak256\":\"0x85048e8b143a36dadeafb50c30bfc14dd4ba9ad1fdc9d7dafb3bfc4fdbaf6e71\",\"urls\":[\"bzz-raw://f4c2e381ab4fb2fc3de5c2a51123e606859efd5e4e1bd69da464cbff20672373\",\"dweb:/ipfs/QmbfvYxJNjnaYCDLWGB93BwS5XoeEULTW3aPeZh3A8GUtx\"]},\"project:/lib/dappsys/math.sol\":{\"keccak256\":\"0x7cd3a27541f75fb9234cea98fbf42b40499dc0c732ddacf41981edca7b278211\",\"urls\":[\"bzz-raw://fc61d8737c6e2d1e6badcbe45ce8776fd7af9522f746224c4ca292bf81d057f1\",\"dweb:/ipfs/QmZZuNXm1fn1wQg5BmeCFPN73qZEUsf8oNz1jazYRyZEKp\"]}},\"version\":1}", + "bytecode": "0x60c06040523480156200001157600080fd5b506040516200229938038062002299833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b506040526020015191506000905080600181620001b4620003ba565b6001600160a01b03168152602081019190915260400160009081209190915555620001de620003ba565b600480546001600160a01b0319166001600160a01b039290921691909117905562000208620003ba565b6001600160a01b03167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a282516200025290600690602086019062000470565b5081516200026890600590602085019062000470565b507fff0000000000000000000000000000000000000000000000000000000000000060f882901b166080526007805460ff191660019081179091556040516006805446937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f9391829184916002600019928216156101000292909201160480156200032d5780601f106200030a5761010080835404028352918201916200032d565b820191906000526020600020905b81548152906001019060200180831162000318575b505060408051918290038220828201825260018352603160f81b602093840152815180840196909652858201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606086015260808501959095523060a08086019190915285518086038201815260c0909501909552835193019290922090925250620005029350505050565b6000363330148015620003ce575060348110155b15620004615760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e881146200044c573393505050506200046d565b508101516001600160a01b031691506200046b565b339150506200046d565b505b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004b357805160ff1916838001178555620004e3565b82800160010185558215620004e3579182015b82811115620004e3578251825591602001919060010190620004c6565b506200046b9291505b808211156200046b5760008155600101620004ec565b60805160f81c60a051611d6b6200052e60003980610d3352806115de525080610d0b5250611d6b6000f3fe60806040526004361061019c5760003560e01c806370a08231116100ec578063a69df4b51161008a578063bf7e214f11610064578063bf7e214f14610715578063cf3090121461072a578063d505accf1461073f578063dd62ed3e1461079d5761019c565b8063a69df4b5146106c7578063a9059cbb146106dc578063b3eac1d8146105eb5761019c565b80638da5cb5b116100c65780638da5cb5b1461061e57806395d89b411461064f5780639dc29fac14610664578063a0712d681461069d5761019c565b806370a08231146105855780637a9e5e4b146105b85780637ecebe00146105eb5761019c565b806330adf81f116101595780633644e515116101335780633644e5151461043057806340c10f191461044557806342966c681461047e5780636281133d146104a85761019c565b806330adf81f146103db578063313ce567146103f05780633408e4701461041b5761019c565b806306fdde03146101a1578063095ea7b31461022b5780630c53c51c1461027857806313af40351461033c57806318160ddd1461037157806323b872dd14610398575b600080fd5b3480156101ad57600080fd5b506101b66107d8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f05781810151838201526020016101d8565b50505050905090810190601f16801561021d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023757600080fd5b506102646004803603604081101561024e57600080fd5b506001600160a01b038135169060200135610866565b604080519115158252519081900360200190f35b6101b6600480360360a081101561028e57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102b957600080fd5b8201836020820111156102cb57600080fd5b803590602001918460018302840111640100000000831117156102ed57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff166108f7565b34801561034857600080fd5b5061036f6004803603602081101561035f57600080fd5b50356001600160a01b0316610bb0565b005b34801561037d57600080fd5b50610386610c65565b60408051918252519081900360200190f35b3480156103a457600080fd5b50610264600480360360608110156103bb57600080fd5b506001600160a01b03813581169160208101359091169060400135610c6c565b3480156103e757600080fd5b50610386610ce5565b3480156103fc57600080fd5b50610405610d09565b6040805160ff9092168252519081900360200190f35b34801561042757600080fd5b50610386610d2d565b34801561043c57600080fd5b50610386610d31565b34801561045157600080fd5b5061036f6004803603604081101561046857600080fd5b506001600160a01b038135169060200135610d55565b34801561048a57600080fd5b5061036f600480360360208110156104a157600080fd5b5035610e79565b3480156104b457600080fd5b50610264600480360360e08110156104cb57600080fd5b6001600160a01b03823516916020810135916040820135919081019060808101606082013564010000000081111561050257600080fd5b82018360208201111561051457600080fd5b8035906020019184600183028401116401000000008311171561053657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff16610e8d565b34801561059157600080fd5b50610386600480360360208110156105a857600080fd5b50356001600160a01b031661100c565b3480156105c457600080fd5b5061036f600480360360208110156105db57600080fd5b50356001600160a01b0316611027565b3480156105f757600080fd5b506103866004803603602081101561060e57600080fd5b50356001600160a01b03166110ca565b34801561062a57600080fd5b506106336110e5565b604080516001600160a01b039092168252519081900360200190f35b34801561065b57600080fd5b506101b66110f4565b34801561067057600080fd5b5061036f6004803603604081101561068757600080fd5b506001600160a01b03813516906020013561114f565b3480156106a957600080fd5b5061036f600480360360208110156106c057600080fd5b5035611389565b3480156106d357600080fd5b5061036f6113ed565b3480156106e857600080fd5b50610264600480360360408110156106ff57600080fd5b506001600160a01b03813516906020013561144c565b34801561072157600080fd5b50610633611467565b34801561073657600080fd5b50610264611476565b34801561074b57600080fd5b5061036f600480360360e081101561076257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561147f565b3480156107a957600080fd5b50610386600480360360408110156107c057600080fd5b506001600160a01b03813581169160200135166117b4565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085e5780601f106108335761010080835404028352916020019161085e565b820191906000526020600020905b81548152906001019060200180831161084157829003601f168201915b505050505081565b600081600260006108756117df565b6001600160a01b03908116825260208083019390935260409182016000908120918816808252919093529120919091556108ad6117df565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a35060015b92915050565b606061091786610906886110ca565b61090e610d2d565b88888888610e8d565b6109525760405162461bcd60e51b8152600401808060200182810382526029815260200180611d0d6029913960400191505060405180910390fd5b61095b8661188e565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a6040516020018084805190602001908083835b602083106109be5780518252601f19909201916020918201910161099f565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001826001600160a01b031660601b815260140193505050506040516020818303038152906040526040518082805190602001908083835b60208310610a3b5780518252601f199092019160209182019101610a1c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a9d576040519150601f19603f3d011682016040523d82523d6000602084013e610aa2565b606091505b509150915081610ae35760405162461bcd60e51b8152600401808060200182810382526028815260200180611ce56028913960400191505060405180910390fd5b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b88610b0d6117df565b8960405180846001600160a01b03168152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b69578181015183820152602001610b51565b50505050905090810190601f168015610b965780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1979650505050505050565b610bcd610bbb6117df565b6000356001600160e01b0319166118ae565b610c15576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6000545b90565b60075460009060ff1615610cd257610c85610bbb6117df565b610cd2576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b610cdd848484611995565b949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b7f000000000000000000000000000000000000000000000000000000000000000081565b4690565b7f000000000000000000000000000000000000000000000000000000000000000081565b610d60610bbb6117df565b610da8576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6001600160a01b038216600090815260016020526040902054610dcb9082611bf4565b6001600160a01b03831660009081526001602052604081209190915554610df29082611bf4565b6000556040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a26040805182815290516001600160a01b038416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b610e8a610e846117df565b8261114f565b50565b600080610f2a8830898960405160200180858152602001846001600160a01b031660601b815260140183815260200182805190602001908083835b60208310610ee75780518252601f199092019160209182019101610ec8565b6001836020036101000a03801982511681845116808217855250505050505090500194505050505060405160208183030381529060405280519060200120611c43565b9050600060018285888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610f88573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610ff0576040805162461bcd60e51b815260206004820152601f60248201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604482015290519081900360640190fd5b6001600160a01b038a8116911614915050979650505050505050565b6001600160a01b031660009081526001602052604090205490565b611032610bbb6117df565b61107a576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0383811691909117918290556040519116907f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada490600090a250565b6001600160a01b031660009081526008602052604090205490565b6004546001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085e5780601f106108335761010080835404028352916020019161085e565b6111576117df565b6001600160a01b0316826001600160a01b03161461128c576001600160a01b038216600090815260026020526040812082916111916117df565b6001600160a01b03166001600160a01b03168152602001908152602001600020541015611205576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0382166000908152600260205260408120611250916112296117df565b6001600160a01b03166001600160a01b031681526020019081526020016000205482611c94565b6001600160a01b0383166000908152600260205260408120906112716117df565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b0382166000908152600160205260409020548111156112f9576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b03821660009081526001602052604090205461131c9082611c94565b6001600160a01b038316600090815260016020526040812091909155546113439082611c94565b6000556040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b611394610bbb6117df565b6113dc576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b610e8a6113e76117df565b82610d55565b6113f8610bbb6117df565b611440576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6007805460ff19169055565b60006114606114596117df565b8484610c6c565b9392505050565b6003546001600160a01b031681565b60075460ff1681565b60075460ff16156114e257611495610bbb6117df565b6114e2576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b42841015611537576040805162461bcd60e51b815260206004820152601d60248201527f636f6c6f6e792d746f6b656e2d657870697265642d646561646c696e65000000604482015290519081900360640190fd5b6040805180820182526002815261190160f01b60208083019182526001600160a01b03808c1660008181526008845286812080546001810190915587517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98187015280890193909352928d166060830152608082018c905260a082019290925260c08082018b90528651808303909101815260e082019096528551959092019490942083517f0000000000000000000000000000000000000000000000000000000000000000939192610100019182918083835b6020831061162a5780518252601f19909201916020918201910161160b565b51815160209384036101000a6000190180199092169116179052920194855250838101929092525060408051808403830181528184018083528151918401919091206000918290526060850180845281905260ff8a16608086015260a0850189905260c085018890529151919550935060019260e08082019392601f1981019281900390910190855afa1580156116c5573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906116fb5750886001600160a01b0316816001600160a01b0316145b61174c576040805162461bcd60e51b815260206004820152601e60248201527f636f6c6f6e792d746f6b656e2d696e76616c69642d7369676e61747572650000604482015290519081900360640190fd5b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290208b905581518b815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050505050505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60003633301480156117f2575060348110155b156118815760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e8811461186d57339350505050610c69565b508101516001600160a01b0316915061188a565b33915050610c69565b5090565b6001600160a01b0316600090815260086020526040902080546001019055565b60006001600160a01b0383163014156118c9575060016108f1565b6004546001600160a01b03848116911614156118e7575060016108f1565b6003546001600160a01b03166118ff575060006108f1565b6003546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561196257600080fd5b505afa158015611976573d6000803e3d6000fd5b505050506040513d602081101561198c57600080fd5b505190506108f1565b600061199f6117df565b6001600160a01b0316846001600160a01b031614611ad4576001600160a01b038416600090815260026020526040812083916119d96117df565b6001600160a01b03166001600160a01b03168152602001908152602001600020541015611a4d576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260408120611a9891611a716117df565b6001600160a01b03166001600160a01b031681526020019081526020016000205483611c94565b6001600160a01b038516600090815260026020526040812090611ab96117df565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b038416600090815260016020526040902054821115611b41576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040902054611b649083611c94565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611b939083611bf4565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b808201828110156108f1576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b808203828111156108f1576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fdfe636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e7375636365737366756c6d6574617472616e73616374696f6e2d7369676e65722d7369676e61747572652d6d69736d61746368a2646970667358221220ec27d29eeae9a5b68083c522a26d26a7262778f379635e68001ca079b164519e64736f6c63430007030033", + "deployedBytecode": "0x60806040526004361061019c5760003560e01c806370a08231116100ec578063a69df4b51161008a578063bf7e214f11610064578063bf7e214f14610715578063cf3090121461072a578063d505accf1461073f578063dd62ed3e1461079d5761019c565b8063a69df4b5146106c7578063a9059cbb146106dc578063b3eac1d8146105eb5761019c565b80638da5cb5b116100c65780638da5cb5b1461061e57806395d89b411461064f5780639dc29fac14610664578063a0712d681461069d5761019c565b806370a08231146105855780637a9e5e4b146105b85780637ecebe00146105eb5761019c565b806330adf81f116101595780633644e515116101335780633644e5151461043057806340c10f191461044557806342966c681461047e5780636281133d146104a85761019c565b806330adf81f146103db578063313ce567146103f05780633408e4701461041b5761019c565b806306fdde03146101a1578063095ea7b31461022b5780630c53c51c1461027857806313af40351461033c57806318160ddd1461037157806323b872dd14610398575b600080fd5b3480156101ad57600080fd5b506101b66107d8565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f05781810151838201526020016101d8565b50505050905090810190601f16801561021d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023757600080fd5b506102646004803603604081101561024e57600080fd5b506001600160a01b038135169060200135610866565b604080519115158252519081900360200190f35b6101b6600480360360a081101561028e57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102b957600080fd5b8201836020820111156102cb57600080fd5b803590602001918460018302840111640100000000831117156102ed57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff166108f7565b34801561034857600080fd5b5061036f6004803603602081101561035f57600080fd5b50356001600160a01b0316610bb0565b005b34801561037d57600080fd5b50610386610c65565b60408051918252519081900360200190f35b3480156103a457600080fd5b50610264600480360360608110156103bb57600080fd5b506001600160a01b03813581169160208101359091169060400135610c6c565b3480156103e757600080fd5b50610386610ce5565b3480156103fc57600080fd5b50610405610d09565b6040805160ff9092168252519081900360200190f35b34801561042757600080fd5b50610386610d2d565b34801561043c57600080fd5b50610386610d31565b34801561045157600080fd5b5061036f6004803603604081101561046857600080fd5b506001600160a01b038135169060200135610d55565b34801561048a57600080fd5b5061036f600480360360208110156104a157600080fd5b5035610e79565b3480156104b457600080fd5b50610264600480360360e08110156104cb57600080fd5b6001600160a01b03823516916020810135916040820135919081019060808101606082013564010000000081111561050257600080fd5b82018360208201111561051457600080fd5b8035906020019184600183028401116401000000008311171561053657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550508235935050506020810135906040013560ff16610e8d565b34801561059157600080fd5b50610386600480360360208110156105a857600080fd5b50356001600160a01b031661100c565b3480156105c457600080fd5b5061036f600480360360208110156105db57600080fd5b50356001600160a01b0316611027565b3480156105f757600080fd5b506103866004803603602081101561060e57600080fd5b50356001600160a01b03166110ca565b34801561062a57600080fd5b506106336110e5565b604080516001600160a01b039092168252519081900360200190f35b34801561065b57600080fd5b506101b66110f4565b34801561067057600080fd5b5061036f6004803603604081101561068757600080fd5b506001600160a01b03813516906020013561114f565b3480156106a957600080fd5b5061036f600480360360208110156106c057600080fd5b5035611389565b3480156106d357600080fd5b5061036f6113ed565b3480156106e857600080fd5b50610264600480360360408110156106ff57600080fd5b506001600160a01b03813516906020013561144c565b34801561072157600080fd5b50610633611467565b34801561073657600080fd5b50610264611476565b34801561074b57600080fd5b5061036f600480360360e081101561076257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561147f565b3480156107a957600080fd5b50610386600480360360408110156107c057600080fd5b506001600160a01b03813581169160200135166117b4565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085e5780601f106108335761010080835404028352916020019161085e565b820191906000526020600020905b81548152906001019060200180831161084157829003601f168201915b505050505081565b600081600260006108756117df565b6001600160a01b03908116825260208083019390935260409182016000908120918816808252919093529120919091556108ad6117df565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a35060015b92915050565b606061091786610906886110ca565b61090e610d2d565b88888888610e8d565b6109525760405162461bcd60e51b8152600401808060200182810382526029815260200180611d0d6029913960400191505060405180910390fd5b61095b8661188e565b60006060306001600160a01b0316877f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e88a6040516020018084805190602001908083835b602083106109be5780518252601f19909201916020918201910161099f565b6001836020036101000a038019825116818451168082178552505050505050905001838152602001826001600160a01b031660601b815260140193505050506040516020818303038152906040526040518082805190602001908083835b60208310610a3b5780518252601f199092019160209182019101610a1c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a9d576040519150601f19603f3d011682016040523d82523d6000602084013e610aa2565b606091505b509150915081610ae35760405162461bcd60e51b8152600401808060200182810382526028815260200180611ce56028913960400191505060405180910390fd5b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b88610b0d6117df565b8960405180846001600160a01b03168152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b69578181015183820152602001610b51565b50505050905090810190601f168015610b965780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1979650505050505050565b610bcd610bbb6117df565b6000356001600160e01b0319166118ae565b610c15576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6000545b90565b60075460009060ff1615610cd257610c85610bbb6117df565b610cd2576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b610cdd848484611995565b949350505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b7f000000000000000000000000000000000000000000000000000000000000000081565b4690565b7f000000000000000000000000000000000000000000000000000000000000000081565b610d60610bbb6117df565b610da8576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6001600160a01b038216600090815260016020526040902054610dcb9082611bf4565b6001600160a01b03831660009081526001602052604081209190915554610df29082611bf4565b6000556040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a26040805182815290516001600160a01b038416916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b610e8a610e846117df565b8261114f565b50565b600080610f2a8830898960405160200180858152602001846001600160a01b031660601b815260140183815260200182805190602001908083835b60208310610ee75780518252601f199092019160209182019101610ec8565b6001836020036101000a03801982511681845116808217855250505050505090500194505050505060405160208183030381529060405280519060200120611c43565b9050600060018285888860405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015610f88573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610ff0576040805162461bcd60e51b815260206004820152601f60248201527f636f6c6f6e792d6d65746174782d696e76616c69642d7369676e617475726500604482015290519081900360640190fd5b6001600160a01b038a8116911614915050979650505050505050565b6001600160a01b031660009081526001602052604090205490565b611032610bbb6117df565b61107a576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0383811691909117918290556040519116907f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada490600090a250565b6001600160a01b031660009081526008602052604090205490565b6004546001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561085e5780601f106108335761010080835404028352916020019161085e565b6111576117df565b6001600160a01b0316826001600160a01b03161461128c576001600160a01b038216600090815260026020526040812082916111916117df565b6001600160a01b03166001600160a01b03168152602001908152602001600020541015611205576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0382166000908152600260205260408120611250916112296117df565b6001600160a01b03166001600160a01b031681526020019081526020016000205482611c94565b6001600160a01b0383166000908152600260205260408120906112716117df565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b0382166000908152600160205260409020548111156112f9576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b03821660009081526001602052604090205461131c9082611c94565b6001600160a01b038316600090815260016020526040812091909155546113439082611c94565b6000556040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b611394610bbb6117df565b6113dc576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b610e8a6113e76117df565b82610d55565b6113f8610bbb6117df565b611440576040805162461bcd60e51b8152602060048201526014602482015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b6007805460ff19169055565b60006114606114596117df565b8484610c6c565b9392505050565b6003546001600160a01b031681565b60075460ff1681565b60075460ff16156114e257611495610bbb6117df565b6114e2576040805162461bcd60e51b815260206004820152601960248201527818dbdb1bdb9e4b5d1bdad95b8b5d5b985d5d1a1bdc9a5cd959603a1b604482015290519081900360640190fd5b42841015611537576040805162461bcd60e51b815260206004820152601d60248201527f636f6c6f6e792d746f6b656e2d657870697265642d646561646c696e65000000604482015290519081900360640190fd5b6040805180820182526002815261190160f01b60208083019182526001600160a01b03808c1660008181526008845286812080546001810190915587517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98187015280890193909352928d166060830152608082018c905260a082019290925260c08082018b90528651808303909101815260e082019096528551959092019490942083517f0000000000000000000000000000000000000000000000000000000000000000939192610100019182918083835b6020831061162a5780518252601f19909201916020918201910161160b565b51815160209384036101000a6000190180199092169116179052920194855250838101929092525060408051808403830181528184018083528151918401919091206000918290526060850180845281905260ff8a16608086015260a0850189905260c085018890529151919550935060019260e08082019392601f1981019281900390910190855afa1580156116c5573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906116fb5750886001600160a01b0316816001600160a01b0316145b61174c576040805162461bcd60e51b815260206004820152601e60248201527f636f6c6f6e792d746f6b656e2d696e76616c69642d7369676e61747572650000604482015290519081900360640190fd5b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290208b905581518b815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050505050505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60003633301480156117f2575060348110155b156118815760606000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505082810160131901519091507f02bcc191e283bfba76a1369ec8ba06566f33010645097c104c312753e04935e8811461186d57339350505050610c69565b508101516001600160a01b0316915061188a565b33915050610c69565b5090565b6001600160a01b0316600090815260086020526040902080546001019055565b60006001600160a01b0383163014156118c9575060016108f1565b6004546001600160a01b03848116911614156118e7575060016108f1565b6003546001600160a01b03166118ff575060006108f1565b6003546040805163b700961360e01b81526001600160a01b0386811660048301523060248301526001600160e01b0319861660448301529151919092169163b7009613916064808301926020929190829003018186803b15801561196257600080fd5b505afa158015611976573d6000803e3d6000fd5b505050506040513d602081101561198c57600080fd5b505190506108f1565b600061199f6117df565b6001600160a01b0316846001600160a01b031614611ad4576001600160a01b038416600090815260026020526040812083916119d96117df565b6001600160a01b03166001600160a01b03168152602001908152602001600020541015611a4d576040805162461bcd60e51b815260206004820152601e60248201527f64732d746f6b656e2d696e73756666696369656e742d617070726f76616c0000604482015290519081900360640190fd5b6001600160a01b0384166000908152600260205260408120611a9891611a716117df565b6001600160a01b03166001600160a01b031681526020019081526020016000205483611c94565b6001600160a01b038516600090815260026020526040812090611ab96117df565b6001600160a01b031681526020810191909152604001600020555b6001600160a01b038416600090815260016020526040902054821115611b41576040805162461bcd60e51b815260206004820152601d60248201527f64732d746f6b656e2d696e73756666696369656e742d62616c616e6365000000604482015290519081900360640190fd5b6001600160a01b038416600090815260016020526040902054611b649083611c94565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611b939083611bf4565b6001600160a01b0380851660008181526001602090815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b808201828110156108f1576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b604080517f19457468657265756d205369676e6564204d6573736167653a0a333200000000602080830191909152603c8083019490945282518083039094018452605c909101909152815191012090565b808203828111156108f1576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fdfe636f6c6f6e792d6d65746174782d66756e6374696f6e2d63616c6c2d756e7375636365737366756c6d6574617472616e73616374696f6e2d7369676e65722d7369676e61747572652d6d69736d61746368a2646970667358221220ec27d29eeae9a5b68083c522a26d26a7262778f379635e68001ca079b164519e64736f6c63430007030033", + "immutableReferences": { + "31353": [ + { + "length": 32, + "start": 3339 + } + ], + "31361": [ + { + "length": 32, + "start": 3379 + }, + { + "length": 32, + "start": 5598 + } + ] + }, "generatedSources": [], "deployedGeneratedSources": [], - "sourceMap": "784:3430:47:-:0;;;1521:534;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1521:534:47;;;;;;;;;;-1:-1:-1;1521:534:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1521:534:47;;;;;;;;;;-1:-1:-1;1521:534:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1521:534:47;;;;;;-1:-1:-1;824:1:47;;-1:-1:-1;824:1:47;1285:9:46;824:1:47;1295:11:46;:9;:11::i;:::-;-1:-1:-1;;;;;1285:22:46;;;;;;;;;;;;-1:-1:-1;1285:22:46;;;:31;;;;1326:16;1007:11:45;:9;:11::i;:::-;999:5;:19;;-1:-1:-1;;;;;;999:19:45;-1:-1:-1;;;;;999:19:45;;;;;;;;;;1045:11;:9;:11::i;:::-;-1:-1:-1;;;;;1033:24:45;;;;;;;;;;;1600:12:47;;;;:4;;:12;;;;;:::i;:::-;-1:-1:-1;1618:16:47;;;;:6;;:16;;;;;:::i;:::-;-1:-1:-1;1640:8:47;:20;;-1:-1:-1;;;;1640:20:47;-1:-1:-1;;;1640:20:47;;;;;;;1666:6;:13;;-1:-1:-1;;1666:13:47;-1:-1:-1;1666:13:47;;;;;;1929:22;;1945:4;1929:22;;1737:9;;1820:95;;1929:22;;;1945:4;;1929:22;1640:20;1929:22;;;;;;;;-1:-1:-1;;1929:22:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1929:22:47;;;;;;;;;1975:10;;;;;;;;-1:-1:-1;;;1975:10:47;;;;;1796:248;;;;;;;;;;;;;1965:21;1796:248;;;;;;;;;;;2029:4;1796:248;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1777:273:47;;;;;1758:16;:292;-1:-1:-1;784:3430:47;;-1:-1:-1;;784:3430:47;197:737:33;240:22;290:8;318:10;340:4;318:27;:42;;;;;358:2;349:5;:11;;318:42;315:613;;;376:18;397:8;;376:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;486:26:33;;;-1:-1:-1;;486:26:33;480:33;376:29;;-1:-1:-1;162:28:33;544;;540:83;;598:10;591:17;;;;;;;540:83;-1:-1:-1;793:17:33;;787:24;-1:-1:-1;;;;;783:73:33;;-1:-1:-1;645:225:33;;;907:10;900:17;;;;;315:613;197:737;;;:::o;784:3430:47:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;784:3430:47;;;-1:-1:-1;784:3430:47;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "784:3430:47:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;892:18;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2421:194:46;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2421:194:46;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1268:712:22;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1268:712:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1268:712:22;;-1:-1:-1;;1268:712:22;;;-1:-1:-1;;;1268:712:22;;;;;;;;;;;:::i;1070:130:45:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1070:130:45;-1:-1:-1;;;;;1070:130:45;;:::i;:::-;;1355:90:46;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2059:158:47;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2059:158:47;;;;;;;;;;;;;;;;;:::i;3318:108::-;;;;;;;;;;;;;:::i;843:21::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;750:133:34;;;;;;;;;;;;;:::i;937:31:47:-;;;;;;;;;;;;;:::i;2368:206::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2368:206:47;;;;;;;;:::i;2297:67::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2297:67:47;;:::i;2206:431:22:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2206:431:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2206:431:22;;-1:-1:-1;;2206:431:22;;;-1:-1:-1;;;2206:431:22;;;;;;;;;;;:::i;1450:106:46:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1450:106:46;-1:-1:-1;;;;;1450:106:46;;:::i;1206:167:45:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1206:167:45;-1:-1:-1;;;;;1206:167:45;;:::i;942:26::-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;942:26:45;;;;;;;;;;;;;;868:20:47;;;;;;;;;;;;;:::i;2578:427::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2578:427:47;;;;;;;;:::i;2221:72::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2221:72:47;;:::i;3009:59::-;;;;;;;;;;;;;:::i;1692:134:46:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1692:134:46;;;;;;;;:::i;1124:138:47:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1124:138:47;-1:-1:-1;;;;;1124:138:47;;:::i;906:30:45:-;;;;;;;;;;;;;:::i;915:18:47:-;;;;;;;;;;;;;:::i;3478:734::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3478:734:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1561:125:46:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1561:125:46;;;;;;;;;;:::i;892:18:47:-;;;;;;;;;;;;;;;-1:-1:-1;;892:18:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2421:194:46:-;2489:4;2536:3;2505:10;:23;2516:11;:9;:11::i;:::-;-1:-1:-1;;;;;2505:23:46;;;;;;;;;;;;;;;;;-1:-1:-1;2505:23:46;;;:28;;;;;;;;;;;;:34;;;;2564:11;:9;:11::i;:::-;-1:-1:-1;;;;;2555:31:46;;2582:3;2555:31;;;;;;;;;;;;;;;;;;-1:-1:-1;2604:4:46;2421:194;;;;;:::o;1268:712:22:-;1411:12;1442:90;1449:5;1456:30;1480:5;1456:23;:30::i;:::-;1488:12;:10;:12::i;:::-;1502:8;1512:5;1519;1526;1442:6;:90::i;:::-;1434:144;;;;-1:-1:-1;;;1434:144:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1586:36;1616:5;1586:29;:36::i;:::-;1700:12;1714:23;1749:4;-1:-1:-1;;;;;1741:18:22;1777:8;162:28:33;1809:5:22;1760:55;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1760:55:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1760:55:22;;;;;;;;;;;;;;;;;;;;;;;;1741:75;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1741:75:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1699:117;;;;1832:7;1824:60;;;;-1:-1:-1;;;1824:60:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1898:52;1922:5;1929:10;1941:8;1898:52;;;;-1:-1:-1;;;;;1898:52:22;;;;;;-1:-1:-1;;;;;1898:52:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1965:10;1268:712;-1:-1:-1;;;;;;;1268:712:22:o;1070:130:45:-;1411:34;1424:11;:9;:11::i;:::-;1437:7;;-1:-1:-1;;;;;;1437:7:45;1411:12;:34::i;:::-;1403:67;;;;;-1:-1:-1;;;1403:67:45;;;;;;;;;;;;-1:-1:-1;;;1403:67:45;;;;;;;;;;;;;;;1146:5:::1;:14:::0;;-1:-1:-1;;;;;;1146:14:45::1;-1:-1:-1::0;;;;;1146:14:45;;::::1;::::0;;;::::1;::::0;;;;1175:18:::1;::::0;1187:5;::::1;::::0;1175:18:::1;::::0;-1:-1:-1;;1175:18:45::1;1070:130:::0;:::o;1355:90:46:-;1408:4;1431:7;1355:90;;:::o;2059:158:47:-;1411:6;;2158:4;;1411:6;;1407:99;;;1435:34;1448:11;:9;:11::i;1435:34::-;1427:72;;;;;-1:-1:-1;;;1427:72:47;;;;;;;;;;;;-1:-1:-1;;;1427:72:47;;;;;;;;;;;;;;;2179:33:::1;2198:3;2203;2208;2179:18;:33::i;:::-;2172:40:::0;2059:158;-1:-1:-1;;;;2059:158:47:o;3318:108::-;3360:66;3318:108;:::o;843:21::-;;;-1:-1:-1;;;843:21:47;;;;;:::o;750:133:34:-;849:9;750:133;:::o;937:31:47:-;;;;:::o;2368:206::-;1411:34:45;1424:11;:9;:11::i;1411:34::-;1403:67;;;;;-1:-1:-1;;;1403:67:45;;;;;;;;;;;;-1:-1:-1;;;1403:67:45;;;;;;;;;;;;;;;-1:-1:-1;;;;;2447:14:47;::::1;;::::0;;;:9:::1;:14;::::0;;;;;2443:24:::1;::::0;2463:3;2443::::1;:24::i;:::-;-1:-1:-1::0;;;;;2426:14:47;::::1;;::::0;;;:9:::1;:14;::::0;;;;:41;;;;2487:7;2483:17:::1;::::0;2496:3;2483::::1;:17::i;:::-;2473:7;:27:::0;2512:14:::1;::::0;;;;;;;-1:-1:-1;;;;;2512:14:47;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;2537:32;::::0;;;;;;;-1:-1:-1;;;;;2537:32:47;::::1;::::0;2554:3:::1;::::0;2537:32:::1;::::0;;;;::::1;::::0;;::::1;2368:206:::0;;:::o;2297:67::-;2337:22;2342:11;:9;:11::i;:::-;2355:3;2337:4;:22::i;:::-;2297:67;:::o;2206:431:22:-;2365:4;2380:12;2395:71;2431:6;2439:4;2445:8;2455;2414:50;;;;;;;;;;;-1:-1:-1;;;;;2414:50:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2414:50:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2404:61;;;;;;2395:8;:71::i;:::-;2380:86;;2474:14;2491:36;2501:4;2507:5;2514;2521;2491:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2491:36:22;;-1:-1:-1;;2491:36:22;;;-1:-1:-1;;;;;;;2543:20:22;;2535:64;;;;;-1:-1:-1;;;2535:64:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2615:16:22;;;;;;;-1:-1:-1;;2206:431:22;;;;;;;;;:::o;1450:106:46:-;-1:-1:-1;;;;;1535:14:46;1512:4;1535:14;;;:9;:14;;;;;;;1450:106::o;1206:167:45:-;1411:34;1424:11;:9;:11::i;1411:34::-;1403:67;;;;;-1:-1:-1;;;1403:67:45;;;;;;;;;;;;-1:-1:-1;;;1403:67:45;;;;;;;;;;;;;;;1294:9:::1;:22:::0;;-1:-1:-1;;;;;;1294:22:45::1;-1:-1:-1::0;;;;;1294:22:45;;::::1;::::0;;;::::1;::::0;;;;1331:35:::1;::::0;1355:9;::::1;::::0;1331:35:::1;::::0;-1:-1:-1;;1331:35:45::1;1206:167:::0;:::o;942:26::-;;;-1:-1:-1;;;;;942:26:45;;:::o;868:20:47:-;;;;;;;;;;;;;;;-1:-1:-1;;868:20:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2578:427;2642:11;:9;:11::i;:::-;-1:-1:-1;;;;;2635:18:47;:3;-1:-1:-1;;;;;2635:18:47;;2631:194;;-1:-1:-1;;;;;2671:15:47;;;;;;:10;:15;;;;;2703:3;;2687:11;:9;:11::i;:::-;-1:-1:-1;;;;;2671:28:47;-1:-1:-1;;;;;2671:28:47;;;;;;;;;;;;;:35;;2663:78;;;;;-1:-1:-1;;;2663:78:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2784:15:47;;;;;;:10;:15;;;;;2780:38;;2800:11;:9;:11::i;:::-;-1:-1:-1;;;;;2784:28:47;-1:-1:-1;;;;;2784:28:47;;;;;;;;;;;;;2814:3;2780;:38::i;:::-;-1:-1:-1;;;;;2749:15:47;;;;;;:10;:15;;;;;;2765:11;:9;:11::i;:::-;-1:-1:-1;;;;;2749:28:47;;;;;;;;;;;;-1:-1:-1;2749:28:47;:69;2631:194;-1:-1:-1;;;;;2839:14:47;;;;;;:9;:14;;;;;;:21;-1:-1:-1;2839:21:47;2831:63;;;;;-1:-1:-1;;;2831:63:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2921:14:47;;;;;;:9;:14;;;;;;2917:24;;2937:3;2917;:24::i;:::-;-1:-1:-1;;;;;2900:14:47;;;;;;:9;:14;;;;;:41;;;;2961:7;2957:17;;2970:3;2957;:17::i;:::-;2947:7;:27;2986:14;;;;;;;;-1:-1:-1;;;;;2986:14:47;;;;;;;;;;;;;2578:427;;:::o;2221:72::-;1411:34:45;1424:11;:9;:11::i;1411:34::-;1403:67;;;;;-1:-1:-1;;;1403:67:45;;;;;;;;;;;;-1:-1:-1;;;1403:67:45;;;;;;;;;;;;;;;2266:22:47::1;2271:11;:9;:11::i;:::-;2284:3;2266:4;:22::i;3009:59::-:0;1411:34:45;1424:11;:9;:11::i;1411:34::-;1403:67;;;;;-1:-1:-1;;;1403:67:45;;;;;;;;;;;;-1:-1:-1;;;1403:67:45;;;;;;;;;;;;;;;3049:6:47::1;:14:::0;;-1:-1:-1;;3049:14:47::1;::::0;;3009:59::o;1692:134:46:-;1761:4;1784:35;1797:11;:9;:11::i;:::-;1810:3;1815;1784:12;:35::i;:::-;1777:42;1692:134;-1:-1:-1;;;1692:134:46:o;1124:138:47:-;-1:-1:-1;;;;;1229:28:47;1202:13;1229:28;;;:21;:28;;;;;;;1124:138::o;906:30:45:-;;;-1:-1:-1;;;;;906:30:45;;:::o;915:18:47:-;;;;;;:::o;3478:734::-;1411:6;;;;1407:99;;;1435:34;1448:11;:9;:11::i;1435:34::-;1427:72;;;;;-1:-1:-1;;;1427:72:47;;;;;;;;;;;;-1:-1:-1;;;1427:72:47;;;;;;;;;;;;;;;3636:15:::1;3624:8;:27;;3616:69;;;::::0;;-1:-1:-1;;;3616:69:47;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;3764:14;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;3764:14:47::1;::::0;;::::1;::::0;;;3794:16:::1;::::0;-1:-1:-1;;;;;3887:28:47;;::::1;3694:14;3887:28:::0;;;:21:::1;:28:::0;;;;;:30;;::::1;::::0;::::1;::::0;;;3836:92;;3360:66:::1;3836:92:::0;;::::1;::::0;;;;;;;;;;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3826:103;;;;;::::1;::::0;;;;3732:209;;3794:16;;3826:103;;3732:209;;;;;3764:14;3732:209;;3764:14;3732:209:::1;;;;;;::::0;;;;-1:-1:-1;;3732:209:47;;;;::::1;::::0;;::::1;::::0;::::1;;;;::::0;;;::::1;::::0;;::::1;;;-1:-1:-1::0;;3732:209:47;;::::1;::::0;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;;-1:-1:-1;3732:209:47;;::::1;::::0;;;;-1:-1:-1;3732:209:47;;;;;;;;;;;;;;;;3711:238;;;;::::1;::::0;;;;-1:-1:-1;3984:26:47;;;;;;;;;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;;;;;3711:238;;-1:-1:-1;;;3732:209:47::1;::::0;3984:26;;;;;3732:209;-1:-1:-1;;3984:26:47;;;;;;;;;;3732:209;3984:26:::1;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3984:26:47::1;::::0;-1:-1:-1;;3984:26:47;;;-1:-1:-1;;;;;;;4026:30:47;::::1;::::0;;::::1;::::0;:59:::1;;;4080:5;-1:-1:-1::0;;;;;4060:25:47::1;:16;-1:-1:-1::0;;;;;4060:25:47::1;;4026:59;4018:102;;;::::0;;-1:-1:-1;;;4018:102:47;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;4128:17:47;;::::1;;::::0;;;:10:::1;:17;::::0;;;;;;;:26;;::::1;::::0;;;;;;;;;;:34;;;4176:31;;;;;;;::::1;::::0;;;;;;;;::::1;1511:1;;3478:734:::0;;;;;;;:::o;1561:125:46:-;-1:-1:-1;;;;;1659:15:46;;;1636:4;1659:15;;;:10;:15;;;;;;;;:20;;;;;;;;;;;;;1561:125::o;197:737:33:-;240:22;290:8;318:10;340:4;318:27;:42;;;;;358:2;349:5;:11;;318:42;315:613;;;376:18;397:8;;376:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;486:26:33;;;-1:-1:-1;;486:26:33;480:33;376:29;;-1:-1:-1;162:28:33;544;;540:83;;598:10;591:17;;;;;;;540:83;-1:-1:-1;793:17:33;;787:24;-1:-1:-1;;;;;783:73:33;;-1:-1:-1;645:225:33;;;907:10;900:17;;;;;315:613;197:737;;:::o;1266:113:47:-;-1:-1:-1;;;;;1344:28:47;;;;;:21;:28;;;;;:30;;;;;;1266:113::o;1494:370:45:-;1564:4;-1:-1:-1;;;;;1584:20:45;;1599:4;1584:20;1580:278;;;-1:-1:-1;1627:4:45;1620:11;;1580:278;1659:5;;-1:-1:-1;;;;;1652:12:45;;;1659:5;;1652:12;1648:210;;;-1:-1:-1;1687:4:45;1680:11;;1648:210;1712:9;;-1:-1:-1;;;;;1712:9:45;1708:150;;-1:-1:-1;1762:5:45;1755:12;;1708:150;1805:9;;:42;;;-1:-1:-1;;;1805:42:45;;-1:-1:-1;;;;;1805:42:45;;;;;;;1836:4;1805:42;;;;-1:-1:-1;;;;;;1805:42:45;;;;;;;;:9;;;;;:17;;:42;;;;;;;;;;;;;;:9;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1805:42:45;;-1:-1:-1;1798:49:45;;1832:583:46;1942:4;1973:11;:9;:11::i;:::-;-1:-1:-1;;;;;1966:18:46;:3;-1:-1:-1;;;;;1966:18:46;;1962:210;;-1:-1:-1;;;;;2008:15:46;;;;;;:10;:15;;;;;2040:3;;2024:11;:9;:11::i;:::-;-1:-1:-1;;;;;2008:28:46;-1:-1:-1;;;;;2008:28:46;;;;;;;;;;;;;:35;;2000:78;;;;;-1:-1:-1;;;2000:78:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2127:15:46;;;;;;:10;:15;;;;;2123:38;;2143:11;:9;:11::i;:::-;-1:-1:-1;;;;;2127:28:46;-1:-1:-1;;;;;2127:28:46;;;;;;;;;;;;;2157:3;2123;:38::i;:::-;-1:-1:-1;;;;;2092:15:46;;;;;;:10;:15;;;;;;2108:11;:9;:11::i;:::-;-1:-1:-1;;;;;2092:28:46;;;;;;;;;;;;-1:-1:-1;2092:28:46;:69;1962:210;-1:-1:-1;;;;;2190:14:46;;;;;;:9;:14;;;;;;:21;-1:-1:-1;2190:21:46;2182:63;;;;;-1:-1:-1;;;2182:63:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2276:14:46;;;;;;:9;:14;;;;;;2272:24;;2292:3;2272;:24::i;:::-;-1:-1:-1;;;;;2255:14:46;;;;;;;:9;:14;;;;;;:41;;;;2327:14;;;;;;;2323:24;;2343:3;2323;:24::i;:::-;-1:-1:-1;;;;;2306:14:46;;;;;;;:9;:14;;;;;;;;;:41;;;;2363:23;;;;;;;2306:14;;2363:23;;;;;;;;;;;;;-1:-1:-1;2404:4:46;1832:583;;;;;:::o;744:126:79:-;827:5;;;822:16;;;;814:49;;;;;-1:-1:-1;;;814:49:79;;;;;;;;;;;;-1:-1:-1;;;814:49:79;;;;;;;;;;;;;;2047:155:22;2137:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2127:70;;;;;;2047:155::o;875:127:79:-;958:5;;;953:16;;;;945:50;;;;;-1:-1:-1;;;945:50:79;;;;;;;;;;;;-1:-1:-1;;;945:50:79;;;;;;;;;;;;;", - "source": "/*\n This file is part of The Colony Network.\n\n The Colony Network is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n The Colony Network is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with The Colony Network. If not, see .\n*/\n\npragma solidity 0.7.3;\n\nimport \"./DSTokenBaseMeta.sol\";\nimport \"./DSAuthMeta.sol\";\n\ncontract MetaTxToken is DSTokenBaseMeta(0), DSAuthMeta {\n uint8 public decimals;\n string public symbol;\n string public name;\n\n bool public locked;\n bytes32 public DOMAIN_SEPARATOR;\n\n mapping(address => uint256) metatransactionNonces;\n\n event Mint(address indexed guy, uint256 wad);\n event Burn(address indexed guy, uint256 wad);\n\n function getMetatransactionNonce(address _user) override public view returns (uint256 nonce){\n return metatransactionNonces[_user];\n }\n\n function incrementMetatransactionNonce(address _user) override internal {\n metatransactionNonces[_user]++;\n }\n\n modifier unlocked {\n if (locked) {\n require(isAuthorized(msgSender(), msg.sig), \"colony-token-unauthorised\");\n }\n _;\n }\n\n constructor(string memory _name, string memory _symbol, uint8 _decimals) {\n name = _name;\n symbol = _symbol;\n decimals = _decimals;\n locked = true;\n\n uint256 chainId;\n assembly {\n chainId := chainid()\n }\n\n DOMAIN_SEPARATOR = keccak256(\n abi.encode(\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"),\n keccak256(bytes(name)),\n keccak256(bytes(\"1\")),\n chainId,\n address(this)\n )\n );\n }\n\n function transferFrom(address src, address dst, uint256 wad) public\n unlocked override\n returns (bool)\n {\n return super.transferFrom(src, dst, wad);\n }\n\n function mint(uint256 wad) public auth {\n mint(msgSender(), wad);\n }\n\n function burn(uint256 wad) public {\n burn(msgSender(), wad);\n }\n\n function mint(address guy, uint256 wad) public auth {\n _balances[guy] = add(_balances[guy], wad);\n _supply = add(_supply, wad);\n\n emit Mint(guy, wad);\n emit Transfer(address(0x0), guy, wad);\n }\n\n function burn(address guy, uint256 wad) public {\n if (guy != msgSender()) {\n require(_approvals[guy][msgSender()] >= wad, \"ds-token-insufficient-approval\");\n _approvals[guy][msgSender()] = sub(_approvals[guy][msgSender()], wad);\n }\n\n require(_balances[guy] >= wad, \"ds-token-insufficient-balance\");\n _balances[guy] = sub(_balances[guy], wad);\n _supply = sub(_supply, wad);\n\n emit Burn(guy, wad);\n }\n\n function unlock() public\n auth\n {\n locked = false;\n }\n\n // Pinched from https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol\n // Which is also licenced under GPL V3\n\n // keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;\n string constant EIP_712_PREFIX = \"\\x19\\x01\";\n\n function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external unlocked {\n require(deadline >= block.timestamp, \"colony-token-expired-deadline\");\n\n bytes32 digest = keccak256(\n abi.encodePacked(\n EIP_712_PREFIX,\n DOMAIN_SEPARATOR,\n keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, metatransactionNonces[owner]++, deadline))\n )\n );\n address recoveredAddress = ecrecover(digest, v, r, s);\n require(recoveredAddress != address(0) && recoveredAddress == owner, \"colony-token-invalid-signature\");\n _approvals[owner][spender] = value;\n\n emit Approval(owner, spender, value);\n }\n}", - "sourcePath": "/home/alex/colony/colonyNetwork/contracts/metatxToken/MetaTxToken.sol", + "sourceMap": "784:3855:54:-:0;;;1946:534;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1946:534:54;;;;;;;;;;-1:-1:-1;1946:534:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1946:534:54;;;;;;;;;;-1:-1:-1;1946:534:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1946:534:54;;;;;;-1:-1:-1;824:1:54;;-1:-1:-1;824:1:54;1285:9:53;824:1:54;1295:11:53;:9;:11::i;:::-;-1:-1:-1;;;;;1285:22:53;;;;;;;;;;;;-1:-1:-1;1285:22:53;;;:31;;;;1326:16;1007:11:52;:9;:11::i;:::-;999:5;:19;;-1:-1:-1;;;;;;999:19:52;-1:-1:-1;;;;;999:19:52;;;;;;;;;;1045:11;:9;:11::i;:::-;1033:24;;-1:-1:-1;;;;;1033:24:52;;;;;;;;;;2025:12:54;;;;:4;;:12;;;;;:::i;:::-;-1:-1:-1;2043:16:54;;;;:6;;:16;;;;;:::i;:::-;-1:-1:-1;;;;;;;2065:20:54;;;;;;;2091:6;:13;;-1:-1:-1;;2091:13:54;2100:4;2091:13;;;;;;2354:22;;2370:4;2354:22;;2162:9;;2245:95;;2354:22;;;2370:4;;2354:22;-1:-1:-1;;2354:22:54;;;;2091:13;2354:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2354:22:54;;;;;;;;;2400:10;;;;;;;;-1:-1:-1;;;2400:10:54;;;;;2221:248;;;;;;;;;;;;;2390:21;2221:248;;;;;;;;;;;2454:4;2221:248;;;;;;;;;;;;;;;;;;;;;;;;2202:273;;;;;;;;2183:292;;;-1:-1:-1;784:3855:54;;-1:-1:-1;;;;784:3855:54;193:633:34;236:22;282:8;306:10;328:4;306:27;:42;;;;;346:2;337:5;:11;;306:42;303:519;;;358:18;379:8;;358:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;448:26:34;;;;442:33;448:26;;-1:-1:-1;;160:28:34;494;;490:69;;540:10;533:17;;;;;;;490:69;-1:-1:-1;707:17:34;;701:24;-1:-1:-1;;;;;697:73:34;;-1:-1:-1;575:203:34;;;805:10;798:17;;;;;303:519;193:633;;;:::o;784:3855:54:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;784:3855:54;;;-1:-1:-1;784:3855:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "784:3855:54:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1157:18;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2421:194:53;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2421:194:53;;-1:-1:-1;;;;;2421:194:53;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1273:713:23;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1273:713:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1273:713:23;;-1:-1:-1;;1273:713:23;;;-1:-1:-1;;;1273:713:23;;;;;;;;;;;:::i;1070:130:52:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1070:130:52;-1:-1:-1;;;;;1070:130:52;;:::i;:::-;;1355:90:53;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2484:158:54;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2484:158:54;;;;;;;;;;;;;;;;;:::i;3743:108::-;;;;;;;;;;;;;:::i;843:31::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;750:133:35;;;;;;;;;;;;;:::i;1202:41:54:-;;;;;;;;;;;;;:::i;2793:206::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2793:206:54;;-1:-1:-1;;;;;2793:206:54;;;;;;:::i;2722:67::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2722:67:54;;:::i;2212:431:23:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2212:431:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2212:431:23;;-1:-1:-1;;2212:431:23;;;-1:-1:-1;;;2212:431:23;;;;;;;;;;;:::i;1450:106:53:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1450:106:53;-1:-1:-1;;;;;1450:106:53;;:::i;1206:167:52:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1206:167:52;-1:-1:-1;;;;;1206:167:52;;:::i;1573:114:54:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1573:114:54;-1:-1:-1;;;;;1573:114:54;;:::i;942:26:52:-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;942:26:52;;;;;;;;;;;;;;1085:20:54;;;;;;;;;;;;;:::i;3003:427::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3003:427:54;;-1:-1:-1;;;;;3003:427:54;;;;;;:::i;2646:72::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2646:72:54;;:::i;3434:59::-;;;;;;;;;;;;;:::i;1692:134:53:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1692:134:53;;-1:-1:-1;;;;;1692:134:53;;;;;;:::i;906:30:52:-;;;;;;;;;;;;;:::i;1180:18:54:-;;;;;;;;;;;;;:::i;3903:734::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3903:734:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3903:734:54;;;;;;;;:::i;1561:125:53:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1561:125:53;;;;;;;;;;:::i;1157:18:54:-;;;;;;;;;;;;;;;-1:-1:-1;;1157:18:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2421:194:53:-;2489:4;2536:3;2505:10;:23;2516:11;:9;:11::i;:::-;-1:-1:-1;;;;;2505:23:53;;;;;;;;;;;;;;;;;-1:-1:-1;2505:23:53;;;:28;;;;;;;;;;;;:34;;;;2564:11;:9;:11::i;:::-;2555:31;;;;;;;;-1:-1:-1;;;;;2555:31:53;;;;;;;;;;;;;;-1:-1:-1;2604:4:53;2421:194;;;;;:::o;1273:713:23:-;1416:12;1447:90;1454:5;1461:30;1485:5;1461:23;:30::i;:::-;1493:12;:10;:12::i;:::-;1507:8;1517:5;1524;1531;1447:6;:90::i;:::-;1439:144;;;;-1:-1:-1;;;1439:144:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1591:36;1621:5;1591:29;:36::i;:::-;1705:12;1719:23;1754:4;-1:-1:-1;;;;;1746:18:23;1782:8;160:28:34;1814:5:23;1765:55;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1765:55:23;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1765:55:23;;;;;;;;;;;;;;;;-1:-1:-1;1765:55:23;;;;;-1:-1:-1;;1765:55:23;;;;;-1:-1:-1;1765:55:23;;;;;;;;;;;;;;;;;;1746:75;;1765:55;;-1:-1:-1;1765:55:23;;;1746:75;;;;1765:55;1746:75;;;;;;;;;;;-1:-1:-1;;1746:75:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1704:117;;;;1837:7;1829:60;;;;-1:-1:-1;;;1829:60:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1903:53;1927:5;1934:11;:9;:11::i;:::-;1903:53;;;-1:-1:-1;;;;;1903:53:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1947:8;;1903:53;;;;;;;;;;;;-1:-1:-1;1903:53:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1971:10;1273:713;-1:-1:-1;;;;;;;1273:713:23:o;1070:130:52:-;1411:34;1424:11;:9;:11::i;:::-;-1:-1:-1;;;;;;1437:7:52;;;1411:12;:34::i;:::-;1403:67;;;;;-1:-1:-1;;;1403:67:52;;;;;;;;;;;;-1:-1:-1;;;1403:67:52;;;;;;;;;;;;;;;1146:5:::1;:14:::0;;-1:-1:-1;;;;;;1146:14:52::1;-1:-1:-1::0;;;;;1146:14:52;;::::1;::::0;;;::::1;::::0;;;;1175:18:::1;::::0;1187:5;::::1;::::0;1175:18:::1;::::0;-1:-1:-1;;1175:18:52::1;1070:130:::0;:::o;1355:90:53:-;1408:4;1431:7;1355:90;;:::o;2484:158:54:-;1836:6;;2583:4;;1836:6;;1832:99;;;1860:34;1873:11;:9;:11::i;1860:34::-;1852:72;;;;;-1:-1:-1;;;1852:72:54;;;;;;;;;;;;-1:-1:-1;;;1852:72:54;;;;;;;;;;;;;;;2604:33:::1;2623:3;2628;2633;2604:18;:33::i;:::-;2597:40:::0;2484:158;-1:-1:-1;;;;2484:158:54:o;3743:108::-;3785:66;3743:108;:::o;843:31::-;;;:::o;750:133:35:-;849:9;750:133;:::o;1202:41:54:-;;;:::o;2793:206::-;1411:34:52;1424:11;:9;:11::i;1411:34::-;1403:67;;;;;-1:-1:-1;;;1403:67:52;;;;;;;;;;;;-1:-1:-1;;;1403:67:52;;;;;;;;;;;;;;;-1:-1:-1;;;;;2872:14:54;::::1;;::::0;;;-1:-1:-1;2872:14:54::1;::::0;;;;;2868:24:::1;::::0;2888:3;2868::::1;:24::i;:::-;-1:-1:-1::0;;;;;2851:14:54;::::1;;::::0;;;-1:-1:-1;2851:14:54::1;::::0;;;;:41;;;;2912:7;2908:17:::1;::::0;2921:3;2908::::1;:17::i;:::-;2898:7;:27:::0;2937:14:::1;::::0;;;;;;;-1:-1:-1;;;;;2937:14:54;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;2962:32;::::0;;;;;;;-1:-1:-1;;;;;2962:32:54;::::1;::::0;2979:3:::1;::::0;2962:32:::1;::::0;;;;::::1;::::0;;::::1;2793:206:::0;;:::o;2722:67::-;2762:22;2767:11;:9;:11::i;:::-;2780:3;2762:4;:22::i;:::-;2722:67;:::o;2212:431:23:-;2371:4;2386:12;2401:71;2437:6;2445:4;2451:8;2461;2420:50;;;;;;;;;;;-1:-1:-1;;;;;2420:50:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2420:50:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2410:61;;;;;;2401:8;:71::i;:::-;2386:86;;2480:14;2497:36;2507:4;2513:5;2520;2527;2497:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2497:36:23;;-1:-1:-1;;2497:36:23;;;-1:-1:-1;;;;;;;2549:20:23;;2541:64;;;;;-1:-1:-1;;;2541:64:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2621:16:23;;;;;;;;;;2212:431;-1:-1:-1;;;;;;;;2212:431:23:o;1450:106:53:-;-1:-1:-1;;;;;1535:14:53;1512:4;1535:14;;;-1:-1:-1;1535:14:53;;;;;;;1450:106::o;1206:167:52:-;1411:34;1424:11;:9;:11::i;1411:34::-;1403:67;;;;;-1:-1:-1;;;1403:67:52;;;;;;;;;;;;-1:-1:-1;;;1403:67:52;;;;;;;;;;;;;;;1294:9:::1;:22:::0;;-1:-1:-1;;;;;;1294:22:52::1;-1:-1:-1::0;;;;;1294:22:52;;::::1;::::0;;;::::1;::::0;;;;1331:35:::1;::::0;1355:9;::::1;::::0;1331:35:::1;::::0;-1:-1:-1;;1331:35:52::1;1206:167:::0;:::o;1573:114:54:-;-1:-1:-1;;;;;1654:28:54;1627:13;1654:28;;;:21;:28;;;;;;;1573:114::o;942:26:52:-;;;-1:-1:-1;;;;;942:26:52;;:::o;1085:20:54:-;;;;;;;;;;;;;;;-1:-1:-1;;1085:20:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3003:427;3067:11;:9;:11::i;:::-;-1:-1:-1;;;;;3060:18:54;;;;;;3056:194;;-1:-1:-1;;;;;3096:15:54;;;;;;:10;:15;;;;;3128:3;;3112:11;:9;:11::i;:::-;-1:-1:-1;;;;;3096:28:54;;;;;;;;;;;;-1:-1:-1;3096:28:54;;:35;;3088:78;;;;;-1:-1:-1;;;3088:78:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3209:15:54;;;;;;:10;:15;;;;;3205:38;;3225:11;:9;:11::i;:::-;-1:-1:-1;;;;;3209:28:54;;;;;;;;;;;;-1:-1:-1;3209:28:54;;3239:3;3205;:38::i;:::-;-1:-1:-1;;;;;3174:15:54;;;;;;:10;:15;;;;;;3190:11;:9;:11::i;:::-;-1:-1:-1;;;;;3174:28:54;;;;;;;;;;;;-1:-1:-1;3174:28:54;:69;3056:194;-1:-1:-1;;;;;3264:14:54;;;;;;-1:-1:-1;3264:14:54;;;;;;-1:-1:-1;;3264:21:54;3256:63;;;;;-1:-1:-1;;;3256:63:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3346:14:54;;;;;;-1:-1:-1;3346:14:54;;;;;;3342:24;;3362:3;3342;:24::i;:::-;-1:-1:-1;;;;;3325:14:54;;;;;;-1:-1:-1;3325:14:54;;;;;:41;;;;3386:7;3382:17;;3395:3;3382;:17::i;:::-;3372:7;:27;3411:14;;;;;;;;-1:-1:-1;;;;;3411:14:54;;;;;;;;;;;;;3003:427;;:::o;2646:72::-;1411:34:52;1424:11;:9;:11::i;1411:34::-;1403:67;;;;;-1:-1:-1;;;1403:67:52;;;;;;;;;;;;-1:-1:-1;;;1403:67:52;;;;;;;;;;;;;;;2691:22:54::1;2696:11;:9;:11::i;:::-;2709:3;2691:4;:22::i;3434:59::-:0;1411:34:52;1424:11;:9;:11::i;1411:34::-;1403:67;;;;;-1:-1:-1;;;1403:67:52;;;;;;;;;;;;-1:-1:-1;;;1403:67:52;;;;;;;;;;;;;;;3474:6:54::1;:14:::0;;-1:-1:-1;;3474:14:54::1;::::0;;3434:59::o;1692:134:53:-;1761:4;1784:35;1797:11;:9;:11::i;:::-;1810:3;1815;1784:12;:35::i;:::-;1777:42;1692:134;-1:-1:-1;;;1692:134:53:o;906:30:52:-;;;-1:-1:-1;;;;;906:30:52;;:::o;1180:18:54:-;;;;;;:::o;3903:734::-;1836:6;;;;1832:99;;;1860:34;1873:11;:9;:11::i;1860:34::-;1852:72;;;;;-1:-1:-1;;;1852:72:54;;;;;;;;;;;;-1:-1:-1;;;1852:72:54;;;;;;;;;;;;;;;4061:15:::1;4049:8;:27;;4041:69;;;::::0;;-1:-1:-1;;;4041:69:54;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;4189:14;::::0;;;;::::1;::::0;;::::1;::::0;;-1:-1:-1;;;4189:14:54::1;::::0;;::::1;::::0;;;-1:-1:-1;;;;;4312:28:54;;::::1;-1:-1:-1::0;4312:28:54;;;:21:::1;:28:::0;;;;;:30;;-1:-1:-1;4312:30:54;::::1;::::0;;;4261:92;;3785:66:::1;4261:92:::0;;::::1;::::0;;;;;;;;;;::::1;::::0;;;;;;;;;;-1:-1:-1;4261:92:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4251:103;;;;;::::1;::::0;;;;4157:209;;4219:16:::1;::::0;4251:103;;4157:209;;;;;;;4189:14;4157:209:::1;;;;;;::::0;;;;-1:-1:-1;;4157:209:54;;;;::::1;::::0;;::::1;::::0;::::1;;;;::::0;;;::::1;::::0;;::::1;;;-1:-1:-1::0;;4157:209:54;;::::1;::::0;;::::1;::::0;::::1;;::::0;;;::::1;::::0;;;-1:-1:-1;4157:209:54;;::::1;::::0;;;;-1:-1:-1;4157:209:54;;;;;;;;;;;;;;;;4136:238;;;;::::1;::::0;;;;-1:-1:-1;4409:26:54;;;;;;;;;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;;;;;;;;4136:238;;-1:-1:-1;;;4157:209:54::1;::::0;4409:26;;;;;4157:209;-1:-1:-1;;4409:26:54;;;;;;;;;;4157:209;4409:26:::1;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4409:26:54::1;::::0;-1:-1:-1;;4409:26:54;;;-1:-1:-1;;;;;;;4451:30:54;::::1;::::0;;::::1;::::0;:59:::1;;-1:-1:-1::0;;;;;;4485:25:54;;::::1;::::0;;::::1;;4451:59;4443:102;;;::::0;;-1:-1:-1;;;4443:102:54;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;4553:17:54;;::::1;;::::0;;;:10:::1;:17;::::0;;;;;;;:26;;::::1;::::0;;;;;;;;;;:34;;;4601:31;;;;;;;::::1;::::0;;;;;;;;::::1;1936:1;;3903:734:::0;;;;;;;:::o;1561:125:53:-;-1:-1:-1;;;;;1659:15:53;;;1636:4;1659:15;;;:10;:15;;;;;;;;:20;;;;;;;;;;;;;1561:125::o;193:633:34:-;236:22;282:8;306:10;328:4;306:27;:42;;;;;346:2;337:5;:11;;306:42;303:519;;;358:18;379:8;;358:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;448:26:34;;;;442:33;448:26;;-1:-1:-1;;160:28:34;494;;490:69;;540:10;533:17;;;;;;;490:69;-1:-1:-1;707:17:34;;701:24;-1:-1:-1;;;;;697:73:34;;-1:-1:-1;575:203:34;;;805:10;798:17;;;;;303:519;193:633;;:::o;1691:113:54:-;-1:-1:-1;;;;;1769:28:54;;;;;:21;:28;;;;;:30;;-1:-1:-1;1769:30:54;;;1691:113::o;1494:370:52:-;1564:4;1599;-1:-1:-1;;;;;1584:20:52;;;1580:278;;;-1:-1:-1;1627:4:52;1620:11;;1580:278;1659:5;;-1:-1:-1;;;;;1652:12:52;;;1659:5;;1652:12;1648:210;;;-1:-1:-1;1687:4:52;1680:11;;1648:210;1712:9;;-1:-1:-1;;;;;1712:9:52;1708:150;;-1:-1:-1;1762:5:52;1755:12;;1708:150;1805:9;;:42;;;-1:-1:-1;;;1805:42:52;;-1:-1:-1;;;;;1805:42:52;;;;;;;1836:4;1805:42;;;;-1:-1:-1;;;;;;1805:42:52;;;;;;;;:9;;;;;-1:-1:-1;;1805:42:52;;;;;;;;;;;;;;:9;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1805:42:52;;-1:-1:-1;1798:49:52;;1832:583:53;1942:4;1973:11;:9;:11::i;:::-;-1:-1:-1;;;;;1966:18:53;;;;;;1962:210;;-1:-1:-1;;;;;2008:15:53;;;;;;:10;:15;;;;;2040:3;;2024:11;:9;:11::i;:::-;-1:-1:-1;;;;;2008:28:53;;;;;;;;;;;;-1:-1:-1;2008:28:53;;:35;;2000:78;;;;;-1:-1:-1;;;2000:78:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2127:15:53;;;;;;:10;:15;;;;;2123:38;;2143:11;:9;:11::i;:::-;-1:-1:-1;;;;;2127:28:53;;;;;;;;;;;;-1:-1:-1;2127:28:53;;2157:3;2123;:38::i;:::-;-1:-1:-1;;;;;2092:15:53;;;;;;:10;:15;;;;;;2108:11;:9;:11::i;:::-;-1:-1:-1;;;;;2092:28:53;;;;;;;;;;;;-1:-1:-1;2092:28:53;:69;1962:210;-1:-1:-1;;;;;2190:14:53;;;;;;-1:-1:-1;2190:14:53;;;;;;-1:-1:-1;;2190:21:53;2182:63;;;;;-1:-1:-1;;;2182:63:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2276:14:53;;;;;;-1:-1:-1;2276:14:53;;;;;;2272:24;;2292:3;2272;:24::i;:::-;-1:-1:-1;;;;;2255:14:53;;;;;;;-1:-1:-1;2255:14:53;;;;;;:41;;;;2327:14;;;;;;;2323:24;;2343:3;2323;:24::i;:::-;-1:-1:-1;;;;;2306:14:53;;;;;;;-1:-1:-1;2306:14:53;;;;;;;;;:41;;;;2363:23;;;;;;;2306:14;;2363:23;;;;;;;;;;;;;-1:-1:-1;2404:4:53;1832:583;;;;;:::o;744:126:81:-;827:5;;;822:16;;;;814:49;;;;;-1:-1:-1;;;814:49:81;;;;;;;;;;;;-1:-1:-1;;;814:49:81;;;;;;;;;;;;;;2053:155:23;2143:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2133:70;;;;;;2053:155::o;875:127:81:-;958:5;;;953:16;;;;945:50;;;;;-1:-1:-1;;;945:50:81;;;;;;;;;;;;-1:-1:-1;;;945:50:81;;;;;;;;;;;;;", + "source": "/*\n This file is part of The Colony Network.\n\n The Colony Network is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n The Colony Network is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with The Colony Network. If not, see .\n*/\n\npragma solidity 0.7.3;\n\nimport \"./DSTokenBaseMeta.sol\";\nimport \"./DSAuthMeta.sol\";\n\ncontract MetaTxToken is DSTokenBaseMeta(0), DSAuthMeta {\n uint8 public immutable decimals;\n // Immutable-states incorrectly flags strings as being able to be immutable.\n // Can be removed when https://github.com/crytic/slither/issues/1595 is fixed\n // slither-disable-next-line immutable-states\n string public symbol;\n // slither-disable-next-line immutable-states\n string public name;\n\n bool public locked;\n bytes32 public immutable DOMAIN_SEPARATOR;\n\n mapping(address => uint256) metatransactionNonces;\n\n event Mint(address indexed guy, uint256 wad);\n event Burn(address indexed guy, uint256 wad);\n\n function getMetatransactionNonce(address _user) override public view returns (uint256 nonce){\n return metatransactionNonces[_user];\n }\n\n // EIP2612 function signature\n function nonces(address _user) external view returns (uint256 nonce){\n return metatransactionNonces[_user];\n }\n\n function incrementMetatransactionNonce(address _user) override internal {\n metatransactionNonces[_user]++;\n }\n\n modifier unlocked {\n if (locked) {\n require(isAuthorized(msgSender(), msg.sig), \"colony-token-unauthorised\");\n }\n _;\n }\n\n constructor(string memory _name, string memory _symbol, uint8 _decimals) {\n name = _name;\n symbol = _symbol;\n decimals = _decimals;\n locked = true;\n\n uint256 chainId;\n assembly {\n chainId := chainid()\n }\n\n DOMAIN_SEPARATOR = keccak256(\n abi.encode(\n keccak256(\"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"),\n keccak256(bytes(name)),\n keccak256(bytes(\"1\")),\n chainId,\n address(this)\n )\n );\n }\n\n function transferFrom(address src, address dst, uint256 wad) public\n unlocked override\n returns (bool)\n {\n return super.transferFrom(src, dst, wad);\n }\n\n function mint(uint256 wad) public auth {\n mint(msgSender(), wad);\n }\n\n function burn(uint256 wad) public {\n burn(msgSender(), wad);\n }\n\n function mint(address guy, uint256 wad) public auth {\n _balances[guy] = add(_balances[guy], wad);\n _supply = add(_supply, wad);\n\n emit Mint(guy, wad);\n emit Transfer(address(0x0), guy, wad);\n }\n\n function burn(address guy, uint256 wad) public {\n if (guy != msgSender()) {\n require(_approvals[guy][msgSender()] >= wad, \"ds-token-insufficient-approval\");\n _approvals[guy][msgSender()] = sub(_approvals[guy][msgSender()], wad);\n }\n\n require(_balances[guy] >= wad, \"ds-token-insufficient-balance\");\n _balances[guy] = sub(_balances[guy], wad);\n _supply = sub(_supply, wad);\n\n emit Burn(guy, wad);\n }\n\n function unlock() public\n auth\n {\n locked = false;\n }\n\n // Pinched from https://github.com/Uniswap/uniswap-v2-core/blob/master/contracts/UniswapV2ERC20.sol\n // Which is also licenced under GPL V3\n\n // keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;\n string constant EIP_712_PREFIX = \"\\x19\\x01\";\n\n function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external unlocked {\n require(deadline >= block.timestamp, \"colony-token-expired-deadline\");\n\n bytes32 digest = keccak256(\n abi.encodePacked(\n EIP_712_PREFIX,\n DOMAIN_SEPARATOR,\n keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, value, metatransactionNonces[owner]++, deadline))\n )\n );\n address recoveredAddress = ecrecover(digest, v, r, s);\n require(recoveredAddress != address(0) && recoveredAddress == owner, \"colony-token-invalid-signature\");\n _approvals[owner][spender] = value;\n\n emit Approval(owner, spender, value);\n }\n}", + "sourcePath": "/home/rdig/development/colony/colonyJS/vendor/colonyNetwork/contracts/metaTxToken/MetaTxToken.sol", "ast": { - "absolutePath": "/home/alex/colony/colonyNetwork/contracts/metatxToken/MetaTxToken.sol", + "absolutePath": "project:/contracts/metaTxToken/MetaTxToken.sol", "exportedSymbols": { "BasicMetaTransaction": [ - 17484 + 18971 ], "DSAuth": [ - 37393 + 43575 ], "DSAuthEvents": [ - 37276 + 43458 ], "DSAuthMeta": [ - 27005 + 31128 ], "DSAuthority": [ - 37267 + 43449 ], "DSMath": [ - 37749 + 43931 ], "DSTokenBaseMeta": [ - 27219 + 31342 ], "ERC20": [ - 37465 + 43647 ], "ERC20Events": [ - 37412 + 43594 ], "ERC20Extended": [ - 18388 + 19507 ], "MetaTransactionMsgSender": [ - 18604 + 19736 ], "MetaTxToken": [ - 27625 + 31760 ], "MultiChain": [ - 18679 + 19811 ] }, - "id": 27626, + "id": 31761, "nodeType": "SourceUnit", "nodes": [ { - "id": 27221, + "id": 31344, "literals": [ "solidity", "0.7", ".3" ], "nodeType": "PragmaDirective", - "src": "700:22:47" + "src": "700:22:54" }, { - "absolutePath": "/home/alex/colony/colonyNetwork/contracts/metatxToken/DSTokenBaseMeta.sol", + "absolutePath": "project:/contracts/metaTxToken/DSTokenBaseMeta.sol", "file": "./DSTokenBaseMeta.sol", - "id": 27222, + "id": 31345, "nodeType": "ImportDirective", - "scope": 27626, - "sourceUnit": 27220, - "src": "724:31:47", + "scope": 31761, + "sourceUnit": 31343, + "src": "724:31:54", "symbolAliases": [], "unitAlias": "" }, { - "absolutePath": "/home/alex/colony/colonyNetwork/contracts/metatxToken/DSAuthMeta.sol", + "absolutePath": "project:/contracts/metaTxToken/DSAuthMeta.sol", "file": "./DSAuthMeta.sol", - "id": 27223, + "id": 31346, "nodeType": "ImportDirective", - "scope": 27626, - "sourceUnit": 27006, - "src": "756:26:47", + "scope": 31761, + "sourceUnit": 31129, + "src": "756:26:54", "symbolAliases": [], "unitAlias": "" }, @@ -752,14 +788,14 @@ "arguments": [ { "hexValue": "30", - "id": 27225, + "id": 31348, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "824:1:47", + "src": "824:1:54", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -768,62 +804,62 @@ } ], "baseName": { - "id": 27224, + "id": 31347, "name": "DSTokenBaseMeta", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27219, - "src": "808:15:47", + "referencedDeclaration": 31342, + "src": "808:15:54", "typeDescriptions": { - "typeIdentifier": "t_contract$_DSTokenBaseMeta_$27219", + "typeIdentifier": "t_contract$_DSTokenBaseMeta_$31342", "typeString": "contract DSTokenBaseMeta" } }, - "id": 27226, + "id": 31349, "nodeType": "InheritanceSpecifier", - "src": "808:18:47" + "src": "808:18:54" }, { "baseName": { - "id": 27227, + "id": 31350, "name": "DSAuthMeta", "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27005, - "src": "828:10:47", + "referencedDeclaration": 31128, + "src": "828:10:54", "typeDescriptions": { - "typeIdentifier": "t_contract$_DSAuthMeta_$27005", + "typeIdentifier": "t_contract$_DSAuthMeta_$31128", "typeString": "contract DSAuthMeta" } }, - "id": 27228, + "id": 31351, "nodeType": "InheritanceSpecifier", - "src": "828:10:47" + "src": "828:10:54" } ], "contractDependencies": [ - 17484, - 18604, - 18679, - 27005, - 27219, - 37276, - 37412, - 37465, - 37749 + 18971, + 19736, + 19811, + 31128, + 31342, + 43458, + 43594, + 43647, + 43931 ], "contractKind": "contract", "fullyImplemented": true, - "id": 27625, + "id": 31760, "linearizedBaseContracts": [ - 27625, - 27005, - 27219, - 17484, - 18679, - 18604, - 37749, - 37276, - 37465, - 37412 + 31760, + 31128, + 31342, + 18971, + 19811, + 19736, + 43931, + 43458, + 43647, + 43594 ], "name": "MetaTxToken", "nodeType": "ContractDefinition", @@ -831,12 +867,12 @@ { "constant": false, "functionSelector": "313ce567", - "id": 27230, - "mutability": "mutable", + "id": 31353, + "mutability": "immutable", "name": "decimals", "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "843:21:47", + "scope": 31760, + "src": "843:31:54", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -844,10 +880,10 @@ "typeString": "uint8" }, "typeName": { - "id": 27229, + "id": 31352, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "843:5:47", + "src": "843:5:54", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -858,12 +894,12 @@ { "constant": false, "functionSelector": "95d89b41", - "id": 27232, + "id": 31355, "mutability": "mutable", "name": "symbol", "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "868:20:47", + "scope": 31760, + "src": "1085:20:54", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -871,10 +907,10 @@ "typeString": "string" }, "typeName": { - "id": 27231, + "id": 31354, "name": "string", "nodeType": "ElementaryTypeName", - "src": "868:6:47", + "src": "1085:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -885,12 +921,12 @@ { "constant": false, "functionSelector": "06fdde03", - "id": 27234, + "id": 31357, "mutability": "mutable", "name": "name", "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "892:18:47", + "scope": 31760, + "src": "1157:18:54", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -898,10 +934,10 @@ "typeString": "string" }, "typeName": { - "id": 27233, + "id": 31356, "name": "string", "nodeType": "ElementaryTypeName", - "src": "892:6:47", + "src": "1157:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -912,12 +948,12 @@ { "constant": false, "functionSelector": "cf309012", - "id": 27236, + "id": 31359, "mutability": "mutable", "name": "locked", "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "915:18:47", + "scope": 31760, + "src": "1180:18:54", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -925,10 +961,10 @@ "typeString": "bool" }, "typeName": { - "id": 27235, + "id": 31358, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "915:4:47", + "src": "1180:4:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -939,12 +975,12 @@ { "constant": false, "functionSelector": "3644e515", - "id": 27238, - "mutability": "mutable", + "id": 31361, + "mutability": "immutable", "name": "DOMAIN_SEPARATOR", "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "937:31:47", + "scope": 31760, + "src": "1202:41:54", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -952,10 +988,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 27237, + "id": 31360, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "937:7:47", + "src": "1202:7:54", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -965,12 +1001,12 @@ }, { "constant": false, - "id": 27242, + "id": 31365, "mutability": "mutable", "name": "metatransactionNonces", "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "973:49:47", + "scope": 31760, + "src": "1248:49:54", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -978,28 +1014,28 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 27241, + "id": 31364, "keyType": { - "id": 27239, + "id": 31362, "name": "address", "nodeType": "ElementaryTypeName", - "src": "981:7:47", + "src": "1256:7:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "973:27:47", + "src": "1248:27:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" }, "valueType": { - "id": 27240, + "id": 31363, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "992:7:47", + "src": "1267:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1010,22 +1046,22 @@ }, { "anonymous": false, - "id": 27248, + "id": 31371, "name": "Mint", "nodeType": "EventDefinition", "parameters": { - "id": 27247, + "id": 31370, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27244, + "id": 31367, "indexed": true, "mutability": "mutable", "name": "guy", "nodeType": "VariableDeclaration", - "scope": 27248, - "src": "1038:19:47", + "scope": 31371, + "src": "1313:19:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1033,10 +1069,10 @@ "typeString": "address" }, "typeName": { - "id": 27243, + "id": 31366, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1038:7:47", + "src": "1313:7:54", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1047,13 +1083,13 @@ }, { "constant": false, - "id": 27246, + "id": 31369, "indexed": false, "mutability": "mutable", "name": "wad", "nodeType": "VariableDeclaration", - "scope": 27248, - "src": "1059:11:47", + "scope": 31371, + "src": "1334:11:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1061,10 +1097,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27245, + "id": 31368, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1059:7:47", + "src": "1334:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1073,28 +1109,28 @@ "visibility": "internal" } ], - "src": "1037:34:47" + "src": "1312:34:54" }, - "src": "1027:45:47" + "src": "1302:45:54" }, { "anonymous": false, - "id": 27254, + "id": 31377, "name": "Burn", "nodeType": "EventDefinition", "parameters": { - "id": 27253, + "id": 31376, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27250, + "id": 31373, "indexed": true, "mutability": "mutable", "name": "guy", "nodeType": "VariableDeclaration", - "scope": 27254, - "src": "1086:19:47", + "scope": 31377, + "src": "1361:19:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1102,10 +1138,10 @@ "typeString": "address" }, "typeName": { - "id": 27249, + "id": 31372, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1086:7:47", + "src": "1361:7:54", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1116,13 +1152,13 @@ }, { "constant": false, - "id": 27252, + "id": 31375, "indexed": false, "mutability": "mutable", "name": "wad", "nodeType": "VariableDeclaration", - "scope": 27254, - "src": "1107:11:47", + "scope": 31377, + "src": "1382:11:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1130,10 +1166,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27251, + "id": 31374, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1107:7:47", + "src": "1382:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1142,41 +1178,41 @@ "visibility": "internal" } ], - "src": "1085:34:47" + "src": "1360:34:54" }, - "src": "1075:45:47" + "src": "1350:45:54" }, { "baseFunctions": [ - 17336 + 18823 ], "body": { - "id": 27266, + "id": 31389, "nodeType": "Block", - "src": "1216:46:47", + "src": "1491:46:54", "statements": [ { "expression": { "baseExpression": { - "id": 27262, + "id": 31385, "name": "metatransactionNonces", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27242, - "src": "1229:21:47", + "referencedDeclaration": 31365, + "src": "1504:21:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 27264, + "id": 31387, "indexExpression": { - "id": 27263, + "id": 31386, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27256, - "src": "1251:5:47", + "referencedDeclaration": 31379, + "src": "1526:5:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1187,44 +1223,44 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1229:28:47", + "src": "1504:28:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 27261, - "id": 27265, + "functionReturnParameters": 31384, + "id": 31388, "nodeType": "Return", - "src": "1222:35:47" + "src": "1497:35:54" } ] }, "functionSelector": "b3eac1d8", - "id": 27267, + "id": 31390, "implemented": true, "kind": "function", "modifiers": [], "name": "getMetatransactionNonce", "nodeType": "FunctionDefinition", "overrides": { - "id": 27258, + "id": 31381, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1172:8:47" + "src": "1447:8:54" }, "parameters": { - "id": 27257, + "id": 31380, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27256, + "id": 31379, "mutability": "mutable", "name": "_user", "nodeType": "VariableDeclaration", - "scope": 27267, - "src": "1157:13:47", + "scope": 31390, + "src": "1432:13:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1232,10 +1268,10 @@ "typeString": "address" }, "typeName": { - "id": 27255, + "id": 31378, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1157:7:47", + "src": "1432:7:54", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1245,20 +1281,20 @@ "visibility": "internal" } ], - "src": "1156:15:47" + "src": "1431:15:54" }, "returnParameters": { - "id": 27261, + "id": 31384, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27260, + "id": 31383, "mutability": "mutable", "name": "nonce", "nodeType": "VariableDeclaration", - "scope": 27267, - "src": "1202:13:47", + "scope": 31390, + "src": "1477:13:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1266,10 +1302,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27259, + "id": 31382, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1202:7:47", + "src": "1477:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1278,26 +1314,157 @@ "visibility": "internal" } ], - "src": "1201:15:47" + "src": "1476:15:54" }, - "scope": 27625, - "src": "1124:138:47", + "scope": 31760, + "src": "1399:138:54", "stateMutability": "view", "virtual": false, "visibility": "public" }, + { + "body": { + "id": 31401, + "nodeType": "Block", + "src": "1641:46:54", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 31397, + "name": "metatransactionNonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31365, + "src": "1654:21:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 31399, + "indexExpression": { + "id": 31398, + "name": "_user", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 31392, + "src": "1676:5:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1654:28:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 31396, + "id": 31400, + "nodeType": "Return", + "src": "1647:35:54" + } + ] + }, + "functionSelector": "7ecebe00", + "id": 31402, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "nonces", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 31393, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31392, + "mutability": "mutable", + "name": "_user", + "nodeType": "VariableDeclaration", + "scope": 31402, + "src": "1589:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 31391, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1589:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1588:15:54" + }, + "returnParameters": { + "id": 31396, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 31395, + "mutability": "mutable", + "name": "nonce", + "nodeType": "VariableDeclaration", + "scope": 31402, + "src": "1627:13:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 31394, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1627:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1626:15:54" + }, + "scope": 31760, + "src": "1573:114:54", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, { "baseFunctions": [ - 17341 + 18828 ], "body": { - "id": 27278, + "id": 31413, "nodeType": "Block", - "src": "1338:41:47", + "src": "1763:41:54", "statements": [ { "expression": { - "id": 27276, + "id": 31411, "isConstant": false, "isLValue": false, "isPure": false, @@ -1305,28 +1472,28 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "1344:30:47", + "src": "1769:30:54", "subExpression": { "baseExpression": { - "id": 27273, + "id": 31408, "name": "metatransactionNonces", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27242, - "src": "1344:21:47", + "referencedDeclaration": 31365, + "src": "1769:21:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 27275, + "id": 31410, "indexExpression": { - "id": 27274, + "id": 31409, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27269, - "src": "1366:5:47", + "referencedDeclaration": 31404, + "src": "1791:5:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -1337,7 +1504,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "1344:28:47", + "src": "1769:28:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1348,36 +1515,36 @@ "typeString": "uint256" } }, - "id": 27277, + "id": 31412, "nodeType": "ExpressionStatement", - "src": "1344:30:47" + "src": "1769:30:54" } ] }, - "id": 27279, + "id": 31414, "implemented": true, "kind": "function", "modifiers": [], "name": "incrementMetatransactionNonce", "nodeType": "FunctionDefinition", "overrides": { - "id": 27271, + "id": 31406, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1320:8:47" + "src": "1745:8:54" }, "parameters": { - "id": 27270, + "id": 31405, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27269, + "id": 31404, "mutability": "mutable", "name": "_user", "nodeType": "VariableDeclaration", - "scope": 27279, - "src": "1305:13:47", + "scope": 31414, + "src": "1730:13:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1385,10 +1552,10 @@ "typeString": "address" }, "typeName": { - "id": 27268, + "id": 31403, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1305:7:47", + "src": "1730:7:54", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -1398,46 +1565,46 @@ "visibility": "internal" } ], - "src": "1304:15:47" + "src": "1729:15:54" }, "returnParameters": { - "id": 27272, + "id": 31407, "nodeType": "ParameterList", "parameters": [], - "src": "1338:0:47" + "src": "1763:0:54" }, - "scope": 27625, - "src": "1266:113:47", + "scope": 31760, + "src": "1691:113:54", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 27295, + "id": 31430, "nodeType": "Block", - "src": "1401:116:47", + "src": "1826:116:54", "statements": [ { "condition": { - "id": 27281, + "id": 31416, "name": "locked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27236, - "src": "1411:6:47", + "referencedDeclaration": 31359, + "src": "1836:6:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 27293, + "id": 31428, "nodeType": "IfStatement", - "src": "1407:99:47", + "src": "1832:99:54", "trueBody": { - "id": 27292, + "id": 31427, "nodeType": "Block", - "src": "1419:87:47", + "src": "1844:87:54", "statements": [ { "expression": { @@ -1448,18 +1615,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 27284, + "id": 31419, "name": "msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "1448:9:47", + "referencedDeclaration": 19735, + "src": "1873:9:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 27285, + "id": 31420, "isConstant": false, "isLValue": false, "isPure": false, @@ -1467,7 +1634,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1448:11:47", + "src": "1873:11:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -1476,25 +1643,25 @@ }, { "expression": { - "id": 27286, + "id": 31421, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "1461:3:47", + "src": "1886:3:54", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 27287, + "id": 31422, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sig", "nodeType": "MemberAccess", - "src": "1461:7:47", + "src": "1886:7:54", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -1512,18 +1679,18 @@ "typeString": "bytes4" } ], - "id": 27283, + "id": 31418, "name": "isAuthorized", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27004, - "src": "1435:12:47", + "referencedDeclaration": 31127, + "src": "1860:12:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$", "typeString": "function (address,bytes4) view returns (bool)" } }, - "id": 27288, + "id": 31423, "isConstant": false, "isLValue": false, "isPure": false, @@ -1531,7 +1698,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1435:34:47", + "src": "1860:34:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -1540,14 +1707,14 @@ }, { "hexValue": "636f6c6f6e792d746f6b656e2d756e617574686f7269736564", - "id": 27289, + "id": 31424, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1471:27:47", + "src": "1896:27:54", "typeDescriptions": { "typeIdentifier": "t_stringliteral_d37c89ab35379dbbb026297d255b69ea134b61b163699a001e9dbf9a490c7cf2", "typeString": "literal_string \"colony-token-unauthorised\"" @@ -1566,7 +1733,7 @@ "typeString": "literal_string \"colony-token-unauthorised\"" } ], - "id": 27282, + "id": 31417, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -1574,13 +1741,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1427:7:47", + "src": "1852:7:54", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 27290, + "id": 31425, "isConstant": false, "isLValue": false, "isPure": false, @@ -1588,60 +1755,60 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1427:72:47", + "src": "1852:72:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27291, + "id": 31426, "nodeType": "ExpressionStatement", - "src": "1427:72:47" + "src": "1852:72:54" } ] } }, { - "id": 27294, + "id": 31429, "nodeType": "PlaceholderStatement", - "src": "1511:1:47" + "src": "1936:1:54" } ] }, - "id": 27296, + "id": 31431, "name": "unlocked", "nodeType": "ModifierDefinition", "parameters": { - "id": 27280, + "id": 31415, "nodeType": "ParameterList", "parameters": [], - "src": "1401:0:47" + "src": "1826:0:54" }, - "src": "1383:134:47", + "src": "1808:134:54", "virtual": false, "visibility": "internal" }, { "body": { - "id": 27353, + "id": 31488, "nodeType": "Block", - "src": "1594:461:47", + "src": "2019:461:54", "statements": [ { "expression": { - "id": 27307, + "id": 31442, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 27305, + "id": 31440, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27234, - "src": "1600:4:47", + "referencedDeclaration": 31357, + "src": "2025:4:54", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1650,41 +1817,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 27306, + "id": 31441, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27298, - "src": "1607:5:47", + "referencedDeclaration": 31433, + "src": "2032:5:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "1600:12:47", + "src": "2025:12:54", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 27308, + "id": 31443, "nodeType": "ExpressionStatement", - "src": "1600:12:47" + "src": "2025:12:54" }, { "expression": { - "id": 27311, + "id": 31446, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 27309, + "id": 31444, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27232, - "src": "1618:6:47", + "referencedDeclaration": 31355, + "src": "2043:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1693,41 +1860,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 27310, + "id": 31445, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27300, - "src": "1627:7:47", + "referencedDeclaration": 31435, + "src": "2052:7:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "1618:16:47", + "src": "2043:16:54", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 27312, + "id": 31447, "nodeType": "ExpressionStatement", - "src": "1618:16:47" + "src": "2043:16:54" }, { "expression": { - "id": 27315, + "id": 31450, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 27313, + "id": 31448, "name": "decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27230, - "src": "1640:8:47", + "referencedDeclaration": 31353, + "src": "2065:8:54", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -1736,41 +1903,41 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 27314, + "id": 31449, "name": "_decimals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27302, - "src": "1651:9:47", + "referencedDeclaration": 31437, + "src": "2076:9:54", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "src": "1640:20:47", + "src": "2065:20:54", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, - "id": 27316, + "id": 31451, "nodeType": "ExpressionStatement", - "src": "1640:20:47" + "src": "2065:20:54" }, { "expression": { - "id": 27319, + "id": 31454, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 27317, + "id": 31452, "name": "locked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27236, - "src": "1666:6:47", + "referencedDeclaration": 31359, + "src": "2091:6:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -1780,43 +1947,43 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 27318, + "id": 31453, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "1675:4:47", + "src": "2100:4:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "1666:13:47", + "src": "2091:13:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 27320, + "id": 31455, "nodeType": "ExpressionStatement", - "src": "1666:13:47" + "src": "2091:13:54" }, { "assignments": [ - 27322 + 31457 ], "declarations": [ { "constant": false, - "id": 27322, + "id": 31457, "mutability": "mutable", "name": "chainId", "nodeType": "VariableDeclaration", - "scope": 27353, - "src": "1686:15:47", + "scope": 31488, + "src": "2111:15:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -1824,10 +1991,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27321, + "id": 31456, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1686:7:47", + "src": "2111:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -1836,33 +2003,33 @@ "visibility": "internal" } ], - "id": 27323, + "id": 31458, "nodeType": "VariableDeclarationStatement", - "src": "1686:15:47" + "src": "2111:15:54" }, { "AST": { "nodeType": "YulBlock", - "src": "1716:36:47", + "src": "2141:36:54", "statements": [ { "nodeType": "YulAssignment", - "src": "1726:20:47", + "src": "2151:20:54", "value": { "arguments": [], "functionName": { "name": "chainid", "nodeType": "YulIdentifier", - "src": "1737:7:47" + "src": "2162:7:54" }, "nodeType": "YulFunctionCall", - "src": "1737:9:47" + "src": "2162:9:54" }, "variableNames": [ { "name": "chainId", "nodeType": "YulIdentifier", - "src": "1726:7:47" + "src": "2151:7:54" } ] } @@ -1871,31 +2038,31 @@ "evmVersion": "istanbul", "externalReferences": [ { - "declaration": 27322, + "declaration": 31457, "isOffset": false, "isSlot": false, - "src": "1726:7:47", + "src": "2151:7:54", "valueSize": 1 } ], - "id": 27324, + "id": 31459, "nodeType": "InlineAssembly", - "src": "1707:45:47" + "src": "2132:45:54" }, { "expression": { - "id": 27351, + "id": 31486, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 27325, + "id": 31460, "name": "DOMAIN_SEPARATOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27238, - "src": "1758:16:47", + "referencedDeclaration": 31361, + "src": "2183:16:54", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -1911,14 +2078,14 @@ "arguments": [ { "hexValue": "454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", - "id": 27330, + "id": 31465, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1830:84:47", + "src": "2255:84:54", "typeDescriptions": { "typeIdentifier": "t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f", "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" @@ -1933,18 +2100,18 @@ "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" } ], - "id": 27329, + "id": 31464, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "1820:9:47", + "src": "2245:9:54", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 27331, + "id": 31466, "isConstant": false, "isLValue": false, "isPure": true, @@ -1952,7 +2119,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1820:95:47", + "src": "2245:95:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -1964,12 +2131,12 @@ { "arguments": [ { - "id": 27335, + "id": 31470, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27234, - "src": "1945:4:47", + "referencedDeclaration": 31357, + "src": "2370:4:54", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -1983,26 +2150,26 @@ "typeString": "string storage ref" } ], - "id": 27334, + "id": 31469, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1939:5:47", + "src": "2364:5:54", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 27333, + "id": 31468, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1939:5:47", + "src": "2364:5:54", "typeDescriptions": {} } }, - "id": 27336, + "id": 31471, "isConstant": false, "isLValue": false, "isPure": false, @@ -2010,7 +2177,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1939:11:47", + "src": "2364:11:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", @@ -2025,18 +2192,18 @@ "typeString": "bytes storage pointer" } ], - "id": 27332, + "id": 31467, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "1929:9:47", + "src": "2354:9:54", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 27337, + "id": 31472, "isConstant": false, "isLValue": false, "isPure": false, @@ -2044,7 +2211,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1929:22:47", + "src": "2354:22:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -2057,14 +2224,14 @@ "arguments": [ { "hexValue": "31", - "id": 27341, + "id": 31476, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1981:3:47", + "src": "2406:3:54", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", "typeString": "literal_string \"1\"" @@ -2079,26 +2246,26 @@ "typeString": "literal_string \"1\"" } ], - "id": 27340, + "id": 31475, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1975:5:47", + "src": "2400:5:54", "typeDescriptions": { "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 27339, + "id": 31474, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1975:5:47", + "src": "2400:5:54", "typeDescriptions": {} } }, - "id": 27342, + "id": 31477, "isConstant": false, "isLValue": false, "isPure": true, @@ -2106,7 +2273,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1975:10:47", + "src": "2400:10:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -2121,18 +2288,18 @@ "typeString": "bytes memory" } ], - "id": 27338, + "id": 31473, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "1965:9:47", + "src": "2390:9:54", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 27343, + "id": 31478, "isConstant": false, "isLValue": false, "isPure": true, @@ -2140,7 +2307,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1965:21:47", + "src": "2390:21:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -2148,12 +2315,12 @@ } }, { - "id": 27344, + "id": 31479, "name": "chainId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27322, - "src": "2000:7:47", + "referencedDeclaration": 31457, + "src": "2425:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2162,14 +2329,14 @@ { "arguments": [ { - "id": 27347, + "id": 31482, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, - "src": "2029:4:47", + "src": "2454:4:54", "typeDescriptions": { - "typeIdentifier": "t_contract$_MetaTxToken_$27625", + "typeIdentifier": "t_contract$_MetaTxToken_$31760", "typeString": "contract MetaTxToken" } } @@ -2177,30 +2344,30 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_MetaTxToken_$27625", + "typeIdentifier": "t_contract$_MetaTxToken_$31760", "typeString": "contract MetaTxToken" } ], - "id": 27346, + "id": 31481, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2021:7:47", + "src": "2446:7:54", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 27345, + "id": 31480, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2021:7:47", + "src": "2446:7:54", "typeDescriptions": {} } }, - "id": 27348, + "id": 31483, "isConstant": false, "isLValue": false, "isPure": false, @@ -2208,7 +2375,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2021:13:47", + "src": "2446:13:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -2240,31 +2407,31 @@ } ], "expression": { - "id": 27327, + "id": 31462, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "1796:3:47", + "src": "2221:3:54", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 27328, + "id": 31463, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "src": "1796:10:47", + "src": "2221:10:54", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 27349, + "id": 31484, "isConstant": false, "isLValue": false, "isPure": false, @@ -2272,7 +2439,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1796:248:47", + "src": "2221:248:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -2287,18 +2454,18 @@ "typeString": "bytes memory" } ], - "id": 27326, + "id": 31461, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "1777:9:47", + "src": "2202:9:54", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 27350, + "id": 31485, "isConstant": false, "isLValue": false, "isPure": false, @@ -2306,43 +2473,43 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1777:273:47", + "src": "2202:273:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "1758:292:47", + "src": "2183:292:54", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 27352, + "id": 31487, "nodeType": "ExpressionStatement", - "src": "1758:292:47" + "src": "2183:292:54" } ] }, - "id": 27354, + "id": 31489, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nodeType": "FunctionDefinition", "parameters": { - "id": 27303, + "id": 31438, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27298, + "id": 31433, "mutability": "mutable", "name": "_name", "nodeType": "VariableDeclaration", - "scope": 27354, - "src": "1533:19:47", + "scope": 31489, + "src": "1958:19:54", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2350,10 +2517,10 @@ "typeString": "string" }, "typeName": { - "id": 27297, + "id": 31432, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1533:6:47", + "src": "1958:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2363,12 +2530,12 @@ }, { "constant": false, - "id": 27300, + "id": 31435, "mutability": "mutable", "name": "_symbol", "nodeType": "VariableDeclaration", - "scope": 27354, - "src": "1554:21:47", + "scope": 31489, + "src": "1979:21:54", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -2376,10 +2543,10 @@ "typeString": "string" }, "typeName": { - "id": 27299, + "id": 31434, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1554:6:47", + "src": "1979:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -2389,12 +2556,12 @@ }, { "constant": false, - "id": 27302, + "id": 31437, "mutability": "mutable", "name": "_decimals", "nodeType": "VariableDeclaration", - "scope": 27354, - "src": "1577:15:47", + "scope": 31489, + "src": "2002:15:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2402,10 +2569,10 @@ "typeString": "uint8" }, "typeName": { - "id": 27301, + "id": 31436, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "1577:5:47", + "src": "2002:5:54", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -2414,63 +2581,63 @@ "visibility": "internal" } ], - "src": "1532:61:47" + "src": "1957:61:54" }, "returnParameters": { - "id": 27304, + "id": 31439, "nodeType": "ParameterList", "parameters": [], - "src": "1594:0:47" + "src": "2019:0:54" }, - "scope": 27625, - "src": "1521:534:47", + "scope": 31760, + "src": "1946:534:54", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 27189 + 31312 ], "body": { - "id": 27375, + "id": 31510, "nodeType": "Block", - "src": "2166:51:47", + "src": "2591:51:54", "statements": [ { "expression": { "arguments": [ { - "id": 27370, + "id": 31505, "name": "src", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27356, - "src": "2198:3:47", + "referencedDeclaration": 31491, + "src": "2623:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27371, + "id": 31506, "name": "dst", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27358, - "src": "2203:3:47", + "referencedDeclaration": 31493, + "src": "2628:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27372, + "id": 31507, "name": "wad", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27360, - "src": "2208:3:47", + "referencedDeclaration": 31495, + "src": "2633:3:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2493,32 +2660,32 @@ } ], "expression": { - "id": 27368, + "id": 31503, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, - "src": "2179:5:47", + "src": "2604:5:54", "typeDescriptions": { - "typeIdentifier": "t_super$_MetaTxToken_$27625", + "typeIdentifier": "t_super$_MetaTxToken_$31760", "typeString": "contract super MetaTxToken" } }, - "id": 27369, + "id": 31504, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "transferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 27189, - "src": "2179:18:47", + "referencedDeclaration": 31312, + "src": "2604:18:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,address,uint256) returns (bool)" } }, - "id": 27373, + "id": 31508, "isConstant": false, "isLValue": false, "isPure": false, @@ -2526,63 +2693,63 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2179:33:47", + "src": "2604:33:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 27367, - "id": 27374, + "functionReturnParameters": 31502, + "id": 31509, "nodeType": "Return", - "src": "2172:40:47" + "src": "2597:40:54" } ] }, "functionSelector": "23b872dd", - "id": 27376, + "id": 31511, "implemented": true, "kind": "function", "modifiers": [ { - "id": 27363, + "id": 31498, "modifierName": { - "id": 27362, + "id": 31497, "name": "unlocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27296, - "src": "2129:8:47", + "referencedDeclaration": 31431, + "src": "2554:8:54", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2129:8:47" + "src": "2554:8:54" } ], "name": "transferFrom", "nodeType": "FunctionDefinition", "overrides": { - "id": 27364, + "id": 31499, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "2138:8:47" + "src": "2563:8:54" }, "parameters": { - "id": 27361, + "id": 31496, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27356, + "id": 31491, "mutability": "mutable", "name": "src", "nodeType": "VariableDeclaration", - "scope": 27376, - "src": "2081:11:47", + "scope": 31511, + "src": "2506:11:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2590,10 +2757,10 @@ "typeString": "address" }, "typeName": { - "id": 27355, + "id": 31490, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2081:7:47", + "src": "2506:7:54", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2604,12 +2771,12 @@ }, { "constant": false, - "id": 27358, + "id": 31493, "mutability": "mutable", "name": "dst", "nodeType": "VariableDeclaration", - "scope": 27376, - "src": "2094:11:47", + "scope": 31511, + "src": "2519:11:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2617,10 +2784,10 @@ "typeString": "address" }, "typeName": { - "id": 27357, + "id": 31492, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2094:7:47", + "src": "2519:7:54", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -2631,12 +2798,12 @@ }, { "constant": false, - "id": 27360, + "id": 31495, "mutability": "mutable", "name": "wad", "nodeType": "VariableDeclaration", - "scope": 27376, - "src": "2107:11:47", + "scope": 31511, + "src": "2532:11:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2644,10 +2811,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27359, + "id": 31494, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2107:7:47", + "src": "2532:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2656,20 +2823,20 @@ "visibility": "internal" } ], - "src": "2080:39:47" + "src": "2505:39:54" }, "returnParameters": { - "id": 27367, + "id": 31502, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27366, + "id": 31501, "mutability": "mutable", "name": "", "nodeType": "VariableDeclaration", - "scope": 27376, - "src": "2158:4:47", + "scope": 31511, + "src": "2583:4:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2677,10 +2844,10 @@ "typeString": "bool" }, "typeName": { - "id": 27365, + "id": 31500, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2158:4:47", + "src": "2583:4:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -2689,19 +2856,19 @@ "visibility": "internal" } ], - "src": "2157:6:47" + "src": "2582:6:54" }, - "scope": 27625, - "src": "2059:158:47", + "scope": 31760, + "src": "2484:158:54", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 27389, + "id": 31524, "nodeType": "Block", - "src": "2260:33:47", + "src": "2685:33:54", "statements": [ { "expression": { @@ -2710,18 +2877,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 27384, + "id": 31519, "name": "msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "2271:9:47", + "referencedDeclaration": 19735, + "src": "2696:9:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 27385, + "id": 31520, "isConstant": false, "isLValue": false, "isPure": false, @@ -2729,7 +2896,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2271:11:47", + "src": "2696:11:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -2737,12 +2904,12 @@ } }, { - "id": 27386, + "id": 31521, "name": "wad", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27378, - "src": "2284:3:47", + "referencedDeclaration": 31513, + "src": "2709:3:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2760,21 +2927,21 @@ "typeString": "uint256" } ], - "id": 27383, + "id": 31518, "name": "mint", "nodeType": "Identifier", "overloadedDeclarations": [ - 27390, - 27444 + 31525, + 31579 ], - "referencedDeclaration": 27444, - "src": "2266:4:47", + "referencedDeclaration": 31579, + "src": "2691:4:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 27387, + "id": 31522, "isConstant": false, "isLValue": false, "isPure": false, @@ -2782,56 +2949,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2266:22:47", + "src": "2691:22:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27388, + "id": 31523, "nodeType": "ExpressionStatement", - "src": "2266:22:47" + "src": "2691:22:54" } ] }, "functionSelector": "a0712d68", - "id": 27390, + "id": 31525, "implemented": true, "kind": "function", "modifiers": [ { - "id": 27381, + "id": 31516, "modifierName": { - "id": 27380, + "id": 31515, "name": "auth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26957, - "src": "2255:4:47", + "referencedDeclaration": 31080, + "src": "2680:4:54", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2255:4:47" + "src": "2680:4:54" } ], "name": "mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 27379, + "id": 31514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27378, + "id": 31513, "mutability": "mutable", "name": "wad", "nodeType": "VariableDeclaration", - "scope": 27390, - "src": "2235:11:47", + "scope": 31525, + "src": "2660:11:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2839,10 +3006,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27377, + "id": 31512, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2235:7:47", + "src": "2660:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2851,25 +3018,25 @@ "visibility": "internal" } ], - "src": "2234:13:47" + "src": "2659:13:54" }, "returnParameters": { - "id": 27382, + "id": 31517, "nodeType": "ParameterList", "parameters": [], - "src": "2260:0:47" + "src": "2685:0:54" }, - "scope": 27625, - "src": "2221:72:47", + "scope": 31760, + "src": "2646:72:54", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 27401, + "id": 31536, "nodeType": "Block", - "src": "2331:33:47", + "src": "2756:33:54", "statements": [ { "expression": { @@ -2878,18 +3045,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 27396, + "id": 31531, "name": "msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "2342:9:47", + "referencedDeclaration": 19735, + "src": "2767:9:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 27397, + "id": 31532, "isConstant": false, "isLValue": false, "isPure": false, @@ -2897,7 +3064,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2342:11:47", + "src": "2767:11:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -2905,12 +3072,12 @@ } }, { - "id": 27398, + "id": 31533, "name": "wad", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27392, - "src": "2355:3:47", + "referencedDeclaration": 31527, + "src": "2780:3:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -2928,21 +3095,21 @@ "typeString": "uint256" } ], - "id": 27395, + "id": 31530, "name": "burn", "nodeType": "Identifier", "overloadedDeclarations": [ - 27402, - 27519 + 31537, + 31654 ], - "referencedDeclaration": 27519, - "src": "2337:4:47", + "referencedDeclaration": 31654, + "src": "2762:4:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 27399, + "id": 31534, "isConstant": false, "isLValue": false, "isPure": false, @@ -2950,38 +3117,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2337:22:47", + "src": "2762:22:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27400, + "id": 31535, "nodeType": "ExpressionStatement", - "src": "2337:22:47" + "src": "2762:22:54" } ] }, "functionSelector": "42966c68", - "id": 27402, + "id": 31537, "implemented": true, "kind": "function", "modifiers": [], "name": "burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 27393, + "id": 31528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27392, + "id": 31527, "mutability": "mutable", "name": "wad", "nodeType": "VariableDeclaration", - "scope": 27402, - "src": "2311:11:47", + "scope": 31537, + "src": "2736:11:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -2989,10 +3156,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27391, + "id": 31526, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2311:7:47", + "src": "2736:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3001,54 +3168,54 @@ "visibility": "internal" } ], - "src": "2310:13:47" + "src": "2735:13:54" }, "returnParameters": { - "id": 27394, + "id": 31529, "nodeType": "ParameterList", "parameters": [], - "src": "2331:0:47" + "src": "2756:0:54" }, - "scope": 27625, - "src": "2297:67:47", + "scope": 31760, + "src": "2722:67:54", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 27443, + "id": 31578, "nodeType": "Block", - "src": "2420:154:47", + "src": "2845:154:54", "statements": [ { "expression": { - "id": 27420, + "id": 31555, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 27411, + "id": 31546, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27022, - "src": "2426:9:47", + "referencedDeclaration": 31145, + "src": "2851:9:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 27413, + "id": 31548, "indexExpression": { - "id": 27412, + "id": 31547, "name": "guy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27404, - "src": "2436:3:47", + "referencedDeclaration": 31539, + "src": "2861:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3059,7 +3226,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2426:14:47", + "src": "2851:14:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3071,25 +3238,25 @@ "arguments": [ { "baseExpression": { - "id": 27415, + "id": 31550, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27022, - "src": "2447:9:47", + "referencedDeclaration": 31145, + "src": "2872:9:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 27417, + "id": 31552, "indexExpression": { - "id": 27416, + "id": 31551, "name": "guy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27404, - "src": "2457:3:47", + "referencedDeclaration": 31539, + "src": "2882:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3100,19 +3267,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2447:14:47", + "src": "2872:14:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 27418, + "id": 31553, "name": "wad", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27406, - "src": "2463:3:47", + "referencedDeclaration": 31541, + "src": "2888:3:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3130,18 +3297,18 @@ "typeString": "uint256" } ], - "id": 27414, + "id": 31549, "name": "add", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 37489, - "src": "2443:3:47", + "referencedDeclaration": 43671, + "src": "2868:3:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 27419, + "id": 31554, "isConstant": false, "isLValue": false, "isPure": false, @@ -3149,37 +3316,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2443:24:47", + "src": "2868:24:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2426:41:47", + "src": "2851:41:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 27421, + "id": 31556, "nodeType": "ExpressionStatement", - "src": "2426:41:47" + "src": "2851:41:54" }, { "expression": { - "id": 27427, + "id": 31562, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 27422, + "id": 31557, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27018, - "src": "2473:7:47", + "referencedDeclaration": 31141, + "src": "2898:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3190,24 +3357,24 @@ "rightHandSide": { "arguments": [ { - "id": 27424, + "id": 31559, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27018, - "src": "2487:7:47", + "referencedDeclaration": 31141, + "src": "2912:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 27425, + "id": 31560, "name": "wad", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27406, - "src": "2496:3:47", + "referencedDeclaration": 31541, + "src": "2921:3:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3225,18 +3392,18 @@ "typeString": "uint256" } ], - "id": 27423, + "id": 31558, "name": "add", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 37489, - "src": "2483:3:47", + "referencedDeclaration": 43671, + "src": "2908:3:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 27426, + "id": 31561, "isConstant": false, "isLValue": false, "isPure": false, @@ -3244,45 +3411,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2483:17:47", + "src": "2908:17:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2473:27:47", + "src": "2898:27:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 27428, + "id": 31563, "nodeType": "ExpressionStatement", - "src": "2473:27:47" + "src": "2898:27:54" }, { "eventCall": { "arguments": [ { - "id": 27430, + "id": 31565, "name": "guy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27404, - "src": "2517:3:47", + "referencedDeclaration": 31539, + "src": "2942:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27431, + "id": 31566, "name": "wad", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27406, - "src": "2522:3:47", + "referencedDeclaration": 31541, + "src": "2947:3:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3300,18 +3467,18 @@ "typeString": "uint256" } ], - "id": 27429, + "id": 31564, "name": "Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27248, - "src": "2512:4:47", + "referencedDeclaration": 31371, + "src": "2937:4:54", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 27432, + "id": 31567, "isConstant": false, "isLValue": false, "isPure": false, @@ -3319,16 +3486,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2512:14:47", + "src": "2937:14:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27433, + "id": 31568, "nodeType": "EmitStatement", - "src": "2507:19:47" + "src": "2932:19:54" }, { "eventCall": { @@ -3337,14 +3504,14 @@ "arguments": [ { "hexValue": "307830", - "id": 27437, + "id": 31572, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2554:3:47", + "src": "2979:3:54", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -3359,26 +3526,26 @@ "typeString": "int_const 0" } ], - "id": 27436, + "id": 31571, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "2546:7:47", + "src": "2971:7:54", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 27435, + "id": 31570, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2546:7:47", + "src": "2971:7:54", "typeDescriptions": {} } }, - "id": 27438, + "id": 31573, "isConstant": false, "isLValue": false, "isPure": true, @@ -3386,7 +3553,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2546:12:47", + "src": "2971:12:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3394,24 +3561,24 @@ } }, { - "id": 27439, + "id": 31574, "name": "guy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27404, - "src": "2560:3:47", + "referencedDeclaration": 31539, + "src": "2985:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27440, + "id": 31575, "name": "wad", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27406, - "src": "2565:3:47", + "referencedDeclaration": 31541, + "src": "2990:3:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3433,18 +3600,18 @@ "typeString": "uint256" } ], - "id": 27434, + "id": 31569, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 37411, - "src": "2537:8:47", + "referencedDeclaration": 43593, + "src": "2962:8:54", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 27441, + "id": 31576, "isConstant": false, "isLValue": false, "isPure": false, @@ -3452,56 +3619,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2537:32:47", + "src": "2962:32:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27442, + "id": 31577, "nodeType": "EmitStatement", - "src": "2532:37:47" + "src": "2957:37:54" } ] }, "functionSelector": "40c10f19", - "id": 27444, + "id": 31579, "implemented": true, "kind": "function", "modifiers": [ { - "id": 27409, + "id": 31544, "modifierName": { - "id": 27408, + "id": 31543, "name": "auth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26957, - "src": "2415:4:47", + "referencedDeclaration": 31080, + "src": "2840:4:54", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "2415:4:47" + "src": "2840:4:54" } ], "name": "mint", "nodeType": "FunctionDefinition", "parameters": { - "id": 27407, + "id": 31542, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27404, + "id": 31539, "mutability": "mutable", "name": "guy", "nodeType": "VariableDeclaration", - "scope": 27444, - "src": "2382:11:47", + "scope": 31579, + "src": "2807:11:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3509,10 +3676,10 @@ "typeString": "address" }, "typeName": { - "id": 27403, + "id": 31538, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2382:7:47", + "src": "2807:7:54", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -3523,12 +3690,12 @@ }, { "constant": false, - "id": 27406, + "id": 31541, "mutability": "mutable", "name": "wad", "nodeType": "VariableDeclaration", - "scope": 27444, - "src": "2395:11:47", + "scope": 31579, + "src": "2820:11:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -3536,10 +3703,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27405, + "id": 31540, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2395:7:47", + "src": "2820:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3548,25 +3715,25 @@ "visibility": "internal" } ], - "src": "2381:26:47" + "src": "2806:26:54" }, "returnParameters": { - "id": 27410, + "id": 31545, "nodeType": "ParameterList", "parameters": [], - "src": "2420:0:47" + "src": "2845:0:54" }, - "scope": 27625, - "src": "2368:206:47", + "scope": 31760, + "src": "2793:206:54", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 27518, + "id": 31653, "nodeType": "Block", - "src": "2625:380:47", + "src": "3050:380:54", "statements": [ { "condition": { @@ -3574,18 +3741,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 27454, + "id": 31589, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 27451, + "id": 31586, "name": "guy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2635:3:47", + "referencedDeclaration": 31581, + "src": "3060:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3597,18 +3764,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 27452, + "id": 31587, "name": "msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "2642:9:47", + "referencedDeclaration": 19735, + "src": "3067:9:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 27453, + "id": 31588, "isConstant": false, "isLValue": false, "isPure": false, @@ -3616,26 +3783,26 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2642:11:47", + "src": "3067:11:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "2635:18:47", + "src": "3060:18:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 27485, + "id": 31620, "nodeType": "IfStatement", - "src": "2631:194:47", + "src": "3056:194:54", "trueBody": { - "id": 27484, + "id": 31619, "nodeType": "Block", - "src": "2655:170:47", + "src": "3080:170:54", "statements": [ { "expression": { @@ -3645,7 +3812,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 27463, + "id": 31598, "isConstant": false, "isLValue": false, "isPure": false, @@ -3653,25 +3820,25 @@ "leftExpression": { "baseExpression": { "baseExpression": { - "id": 27456, + "id": 31591, "name": "_approvals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27028, - "src": "2671:10:47", + "referencedDeclaration": 31151, + "src": "3096:10:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 27458, + "id": 31593, "indexExpression": { - "id": 27457, + "id": 31592, "name": "guy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2682:3:47", + "referencedDeclaration": 31581, + "src": "3107:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3682,29 +3849,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2671:15:47", + "src": "3096:15:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 27461, + "id": 31596, "indexExpression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 27459, + "id": 31594, "name": "msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "2687:9:47", + "referencedDeclaration": 19735, + "src": "3112:9:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 27460, + "id": 31595, "isConstant": false, "isLValue": false, "isPure": false, @@ -3712,7 +3879,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2687:11:47", + "src": "3112:11:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3724,7 +3891,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2671:28:47", + "src": "3096:28:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3733,18 +3900,18 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 27462, + "id": 31597, "name": "wad", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27448, - "src": "2703:3:47", + "referencedDeclaration": 31583, + "src": "3128:3:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2671:35:47", + "src": "3096:35:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -3752,14 +3919,14 @@ }, { "hexValue": "64732d746f6b656e2d696e73756666696369656e742d617070726f76616c", - "id": 27464, + "id": 31599, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2708:32:47", + "src": "3133:32:54", "typeDescriptions": { "typeIdentifier": "t_stringliteral_696d4069430cf8d6cb2027cca74c9eeb7bde4a18fa913c0c20fafe3803d09463", "typeString": "literal_string \"ds-token-insufficient-approval\"" @@ -3778,7 +3945,7 @@ "typeString": "literal_string \"ds-token-insufficient-approval\"" } ], - "id": 27455, + "id": 31590, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -3786,13 +3953,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2663:7:47", + "src": "3088:7:54", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 27465, + "id": 31600, "isConstant": false, "isLValue": false, "isPure": false, @@ -3800,20 +3967,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2663:78:47", + "src": "3088:78:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27466, + "id": 31601, "nodeType": "ExpressionStatement", - "src": "2663:78:47" + "src": "3088:78:54" }, { "expression": { - "id": 27482, + "id": 31617, "isConstant": false, "isLValue": false, "isPure": false, @@ -3821,25 +3988,25 @@ "leftHandSide": { "baseExpression": { "baseExpression": { - "id": 27467, + "id": 31602, "name": "_approvals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27028, - "src": "2749:10:47", + "referencedDeclaration": 31151, + "src": "3174:10:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 27471, + "id": 31606, "indexExpression": { - "id": 27468, + "id": 31603, "name": "guy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2760:3:47", + "referencedDeclaration": 31581, + "src": "3185:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3850,29 +4017,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2749:15:47", + "src": "3174:15:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 27472, + "id": 31607, "indexExpression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 27469, + "id": 31604, "name": "msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "2765:9:47", + "referencedDeclaration": 19735, + "src": "3190:9:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 27470, + "id": 31605, "isConstant": false, "isLValue": false, "isPure": false, @@ -3880,7 +4047,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2765:11:47", + "src": "3190:11:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3892,7 +4059,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2749:28:47", + "src": "3174:28:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -3905,25 +4072,25 @@ { "baseExpression": { "baseExpression": { - "id": 27474, + "id": 31609, "name": "_approvals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27028, - "src": "2784:10:47", + "referencedDeclaration": 31151, + "src": "3209:10:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 27476, + "id": 31611, "indexExpression": { - "id": 27475, + "id": 31610, "name": "guy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2795:3:47", + "referencedDeclaration": 31581, + "src": "3220:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -3934,29 +4101,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2784:15:47", + "src": "3209:15:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 27479, + "id": 31614, "indexExpression": { "arguments": [], "expression": { "argumentTypes": [], - "id": 27477, + "id": 31612, "name": "msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "2800:9:47", + "referencedDeclaration": 19735, + "src": "3225:9:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", "typeString": "function () view returns (address payable)" } }, - "id": 27478, + "id": 31613, "isConstant": false, "isLValue": false, "isPure": false, @@ -3964,7 +4131,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2800:11:47", + "src": "3225:11:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", @@ -3976,19 +4143,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2784:28:47", + "src": "3209:28:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 27480, + "id": 31615, "name": "wad", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27448, - "src": "2814:3:47", + "referencedDeclaration": 31583, + "src": "3239:3:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4006,18 +4173,18 @@ "typeString": "uint256" } ], - "id": 27473, + "id": 31608, "name": "sub", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 37511, - "src": "2780:3:47", + "referencedDeclaration": 43693, + "src": "3205:3:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 27481, + "id": 31616, "isConstant": false, "isLValue": false, "isPure": false, @@ -4025,22 +4192,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2780:38:47", + "src": "3205:38:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2749:69:47", + "src": "3174:69:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 27483, + "id": 31618, "nodeType": "ExpressionStatement", - "src": "2749:69:47" + "src": "3174:69:54" } ] } @@ -4053,32 +4220,32 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 27491, + "id": 31626, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "baseExpression": { - "id": 27487, + "id": 31622, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27022, - "src": "2839:9:47", + "referencedDeclaration": 31145, + "src": "3264:9:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 27489, + "id": 31624, "indexExpression": { - "id": 27488, + "id": 31623, "name": "guy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2849:3:47", + "referencedDeclaration": 31581, + "src": "3274:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4089,7 +4256,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2839:14:47", + "src": "3264:14:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4098,18 +4265,18 @@ "nodeType": "BinaryOperation", "operator": ">=", "rightExpression": { - "id": 27490, + "id": 31625, "name": "wad", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27448, - "src": "2857:3:47", + "referencedDeclaration": 31583, + "src": "3282:3:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2839:21:47", + "src": "3264:21:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4117,14 +4284,14 @@ }, { "hexValue": "64732d746f6b656e2d696e73756666696369656e742d62616c616e6365", - "id": 27492, + "id": 31627, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2862:31:47", + "src": "3287:31:54", "typeDescriptions": { "typeIdentifier": "t_stringliteral_58b3253fdcbd27eec9eeef4ab31fa5cbbc7b0eada085070fa774e92cf7110bce", "typeString": "literal_string \"ds-token-insufficient-balance\"" @@ -4143,7 +4310,7 @@ "typeString": "literal_string \"ds-token-insufficient-balance\"" } ], - "id": 27486, + "id": 31621, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4151,13 +4318,13 @@ -18 ], "referencedDeclaration": -18, - "src": "2831:7:47", + "src": "3256:7:54", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 27493, + "id": 31628, "isConstant": false, "isLValue": false, "isPure": false, @@ -4165,45 +4332,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2831:63:47", + "src": "3256:63:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27494, + "id": 31629, "nodeType": "ExpressionStatement", - "src": "2831:63:47" + "src": "3256:63:54" }, { "expression": { - "id": 27504, + "id": 31639, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 27495, + "id": 31630, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27022, - "src": "2900:9:47", + "referencedDeclaration": 31145, + "src": "3325:9:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 27497, + "id": 31632, "indexExpression": { - "id": 27496, + "id": 31631, "name": "guy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2910:3:47", + "referencedDeclaration": 31581, + "src": "3335:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4214,7 +4381,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2900:14:47", + "src": "3325:14:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4226,25 +4393,25 @@ "arguments": [ { "baseExpression": { - "id": 27499, + "id": 31634, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27022, - "src": "2921:9:47", + "referencedDeclaration": 31145, + "src": "3346:9:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 27501, + "id": 31636, "indexExpression": { - "id": 27500, + "id": 31635, "name": "guy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2931:3:47", + "referencedDeclaration": 31581, + "src": "3356:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -4255,19 +4422,19 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2921:14:47", + "src": "3346:14:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 27502, + "id": 31637, "name": "wad", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27448, - "src": "2937:3:47", + "referencedDeclaration": 31583, + "src": "3362:3:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4285,18 +4452,18 @@ "typeString": "uint256" } ], - "id": 27498, + "id": 31633, "name": "sub", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 37511, - "src": "2917:3:47", + "referencedDeclaration": 43693, + "src": "3342:3:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 27503, + "id": 31638, "isConstant": false, "isLValue": false, "isPure": false, @@ -4304,37 +4471,37 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2917:24:47", + "src": "3342:24:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2900:41:47", + "src": "3325:41:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 27505, + "id": 31640, "nodeType": "ExpressionStatement", - "src": "2900:41:47" + "src": "3325:41:54" }, { "expression": { - "id": 27511, + "id": 31646, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 27506, + "id": 31641, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27018, - "src": "2947:7:47", + "referencedDeclaration": 31141, + "src": "3372:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4345,24 +4512,24 @@ "rightHandSide": { "arguments": [ { - "id": 27508, + "id": 31643, "name": "_supply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27018, - "src": "2961:7:47", + "referencedDeclaration": 31141, + "src": "3386:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 27509, + "id": 31644, "name": "wad", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27448, - "src": "2970:3:47", + "referencedDeclaration": 31583, + "src": "3395:3:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4380,18 +4547,18 @@ "typeString": "uint256" } ], - "id": 27507, + "id": 31642, "name": "sub", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 37511, - "src": "2957:3:47", + "referencedDeclaration": 43693, + "src": "3382:3:54", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (uint256,uint256) pure returns (uint256)" } }, - "id": 27510, + "id": 31645, "isConstant": false, "isLValue": false, "isPure": false, @@ -4399,45 +4566,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2957:17:47", + "src": "3382:17:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2947:27:47", + "src": "3372:27:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 27512, + "id": 31647, "nodeType": "ExpressionStatement", - "src": "2947:27:47" + "src": "3372:27:54" }, { "eventCall": { "arguments": [ { - "id": 27514, + "id": 31649, "name": "guy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2991:3:47", + "referencedDeclaration": 31581, + "src": "3416:3:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27515, + "id": 31650, "name": "wad", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27448, - "src": "2996:3:47", + "referencedDeclaration": 31583, + "src": "3421:3:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4455,18 +4622,18 @@ "typeString": "uint256" } ], - "id": 27513, + "id": 31648, "name": "Burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27254, - "src": "2986:4:47", + "referencedDeclaration": 31377, + "src": "3411:4:54", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 27516, + "id": 31651, "isConstant": false, "isLValue": false, "isPure": false, @@ -4474,38 +4641,38 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2986:14:47", + "src": "3411:14:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27517, + "id": 31652, "nodeType": "EmitStatement", - "src": "2981:19:47" + "src": "3406:19:54" } ] }, "functionSelector": "9dc29fac", - "id": 27519, + "id": 31654, "implemented": true, "kind": "function", "modifiers": [], "name": "burn", "nodeType": "FunctionDefinition", "parameters": { - "id": 27449, + "id": 31584, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27446, + "id": 31581, "mutability": "mutable", "name": "guy", "nodeType": "VariableDeclaration", - "scope": 27519, - "src": "2592:11:47", + "scope": 31654, + "src": "3017:11:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4513,10 +4680,10 @@ "typeString": "address" }, "typeName": { - "id": 27445, + "id": 31580, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2592:7:47", + "src": "3017:7:54", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -4527,12 +4694,12 @@ }, { "constant": false, - "id": 27448, + "id": 31583, "mutability": "mutable", "name": "wad", "nodeType": "VariableDeclaration", - "scope": 27519, - "src": "2605:11:47", + "scope": 31654, + "src": "3030:11:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4540,10 +4707,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27447, + "id": 31582, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2605:7:47", + "src": "3030:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4552,40 +4719,40 @@ "visibility": "internal" } ], - "src": "2591:26:47" + "src": "3016:26:54" }, "returnParameters": { - "id": 27450, + "id": 31585, "nodeType": "ParameterList", "parameters": [], - "src": "2625:0:47" + "src": "3050:0:54" }, - "scope": 27625, - "src": "2578:427:47", + "scope": 31760, + "src": "3003:427:54", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 27528, + "id": 31663, "nodeType": "Block", - "src": "3043:25:47", + "src": "3468:25:54", "statements": [ { "expression": { - "id": 27526, + "id": 31661, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 27524, + "id": 31659, "name": "locked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27236, - "src": "3049:6:47", + "referencedDeclaration": 31359, + "src": "3474:6:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4595,71 +4762,71 @@ "operator": "=", "rightHandSide": { "hexValue": "66616c7365", - "id": 27525, + "id": 31660, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3058:5:47", + "src": "3483:5:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "3049:14:47", + "src": "3474:14:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 27527, + "id": 31662, "nodeType": "ExpressionStatement", - "src": "3049:14:47" + "src": "3474:14:54" } ] }, "functionSelector": "a69df4b5", - "id": 27529, + "id": 31664, "implemented": true, "kind": "function", "modifiers": [ { - "id": 27522, + "id": 31657, "modifierName": { - "id": 27521, + "id": 31656, "name": "auth", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 26957, - "src": "3036:4:47", + "referencedDeclaration": 31080, + "src": "3461:4:54", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3036:4:47" + "src": "3461:4:54" } ], "name": "unlock", "nodeType": "FunctionDefinition", "parameters": { - "id": 27520, + "id": 31655, "nodeType": "ParameterList", "parameters": [], - "src": "3024:2:47" + "src": "3449:2:54" }, "returnParameters": { - "id": 27523, + "id": 31658, "nodeType": "ParameterList", "parameters": [], - "src": "3043:0:47" + "src": "3468:0:54" }, - "scope": 27625, - "src": "3009:59:47", + "scope": 31760, + "src": "3434:59:54", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" @@ -4667,12 +4834,12 @@ { "constant": true, "functionSelector": "30adf81f", - "id": 27532, + "id": 31667, "mutability": "constant", "name": "PERMIT_TYPEHASH", "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "3318:108:47", + "scope": 31760, + "src": "3743:108:54", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4680,10 +4847,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 27530, + "id": 31665, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3318:7:47", + "src": "3743:7:54", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4691,14 +4858,14 @@ }, "value": { "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 27531, + "id": 31666, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3360:66:47", + "src": "3785:66:54", "typeDescriptions": { "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", "typeString": "int_const 4995...(69 digits omitted)...3241" @@ -4709,12 +4876,12 @@ }, { "constant": true, - "id": 27535, + "id": 31670, "mutability": "constant", "name": "EIP_712_PREFIX", "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "3430:43:47", + "scope": 31760, + "src": "3855:43:54", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -4722,10 +4889,10 @@ "typeString": "string" }, "typeName": { - "id": 27533, + "id": 31668, "name": "string", "nodeType": "ElementaryTypeName", - "src": "3430:6:47", + "src": "3855:6:54", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -4733,14 +4900,14 @@ }, "value": { "hexValue": "1901", - "id": 27534, + "id": 31669, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3463:10:47", + "src": "3888:10:54", "typeDescriptions": { "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", "typeString": "literal_string hex\"1901\"" @@ -4751,9 +4918,9 @@ }, { "body": { - "id": 27623, + "id": 31758, "nodeType": "Block", - "src": "3608:604:47", + "src": "4033:604:54", "statements": [ { "expression": { @@ -4763,18 +4930,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 27558, + "id": 31693, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 27555, + "id": 31690, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27543, - "src": "3624:8:47", + "referencedDeclaration": 31678, + "src": "4049:8:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -4784,31 +4951,31 @@ "operator": ">=", "rightExpression": { "expression": { - "id": 27556, + "id": 31691, "name": "block", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -4, - "src": "3636:5:47", + "src": "4061:5:54", "typeDescriptions": { "typeIdentifier": "t_magic_block", "typeString": "block" } }, - "id": 27557, + "id": 31692, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "timestamp", "nodeType": "MemberAccess", - "src": "3636:15:47", + "src": "4061:15:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3624:27:47", + "src": "4049:27:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -4816,14 +4983,14 @@ }, { "hexValue": "636f6c6f6e792d746f6b656e2d657870697265642d646561646c696e65", - "id": 27559, + "id": 31694, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3653:31:47", + "src": "4078:31:54", "typeDescriptions": { "typeIdentifier": "t_stringliteral_815ebfb3109265b29ca267dae21cbe8c0cb89ce273ce5bcfb289f62de84da14d", "typeString": "literal_string \"colony-token-expired-deadline\"" @@ -4842,7 +5009,7 @@ "typeString": "literal_string \"colony-token-expired-deadline\"" } ], - "id": 27554, + "id": 31689, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -4850,13 +5017,13 @@ -18 ], "referencedDeclaration": -18, - "src": "3616:7:47", + "src": "4041:7:54", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 27560, + "id": 31695, "isConstant": false, "isLValue": false, "isPure": false, @@ -4864,30 +5031,30 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3616:69:47", + "src": "4041:69:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27561, + "id": 31696, "nodeType": "ExpressionStatement", - "src": "3616:69:47" + "src": "4041:69:54" }, { "assignments": [ - 27563 + 31698 ], "declarations": [ { "constant": false, - "id": 27563, + "id": 31698, "mutability": "mutable", "name": "digest", "nodeType": "VariableDeclaration", - "scope": 27623, - "src": "3694:14:47", + "scope": 31758, + "src": "4119:14:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -4895,10 +5062,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 27562, + "id": 31697, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3694:7:47", + "src": "4119:7:54", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4907,30 +5074,30 @@ "visibility": "internal" } ], - "id": 27585, + "id": 31720, "initialValue": { "arguments": [ { "arguments": [ { - "id": 27567, + "id": 31702, "name": "EIP_712_PREFIX", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27535, - "src": "3764:14:47", + "referencedDeclaration": 31670, + "src": "4189:14:54", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 27568, + "id": 31703, "name": "DOMAIN_SEPARATOR", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27238, - "src": "3794:16:47", + "referencedDeclaration": 31361, + "src": "4219:16:54", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -4941,55 +5108,55 @@ { "arguments": [ { - "id": 27572, + "id": 31707, "name": "PERMIT_TYPEHASH", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27532, - "src": "3847:15:47", + "referencedDeclaration": 31667, + "src": "4272:15:54", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 27573, + "id": 31708, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27537, - "src": "3864:5:47", + "referencedDeclaration": 31672, + "src": "4289:5:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27574, + "id": 31709, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27539, - "src": "3871:7:47", + "referencedDeclaration": 31674, + "src": "4296:7:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27575, + "id": 31710, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27541, - "src": "3880:5:47", + "referencedDeclaration": 31676, + "src": "4305:5:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 27579, + "id": 31714, "isConstant": false, "isLValue": false, "isPure": false, @@ -4997,28 +5164,28 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3887:30:47", + "src": "4312:30:54", "subExpression": { "baseExpression": { - "id": 27576, + "id": 31711, "name": "metatransactionNonces", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27242, - "src": "3887:21:47", + "referencedDeclaration": 31365, + "src": "4312:21:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 27578, + "id": 31713, "indexExpression": { - "id": 27577, + "id": 31712, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27537, - "src": "3909:5:47", + "referencedDeclaration": 31672, + "src": "4334:5:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5029,7 +5196,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3887:28:47", + "src": "4312:28:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5041,12 +5208,12 @@ } }, { - "id": 27580, + "id": 31715, "name": "deadline", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27543, - "src": "3919:8:47", + "referencedDeclaration": 31678, + "src": "4344:8:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5081,31 +5248,31 @@ } ], "expression": { - "id": 27570, + "id": 31705, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "3836:3:47", + "src": "4261:3:54", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 27571, + "id": 31706, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encode", "nodeType": "MemberAccess", - "src": "3836:10:47", + "src": "4261:10:54", "typeDescriptions": { "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 27581, + "id": 31716, "isConstant": false, "isLValue": false, "isPure": false, @@ -5113,7 +5280,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3836:92:47", + "src": "4261:92:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -5128,18 +5295,18 @@ "typeString": "bytes memory" } ], - "id": 27569, + "id": 31704, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "3826:9:47", + "src": "4251:9:54", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 27582, + "id": 31717, "isConstant": false, "isLValue": false, "isPure": false, @@ -5147,7 +5314,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3826:103:47", + "src": "4251:103:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5171,31 +5338,31 @@ } ], "expression": { - "id": 27565, + "id": 31700, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "3732:3:47", + "src": "4157:3:54", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 27566, + "id": 31701, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberName": "encodePacked", "nodeType": "MemberAccess", - "src": "3732:16:47", + "src": "4157:16:54", "typeDescriptions": { "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", "typeString": "function () pure returns (bytes memory)" } }, - "id": 27583, + "id": 31718, "isConstant": false, "isLValue": false, "isPure": false, @@ -5203,7 +5370,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3732:209:47", + "src": "4157:209:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -5218,18 +5385,18 @@ "typeString": "bytes memory" } ], - "id": 27564, + "id": 31699, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -8, - "src": "3711:9:47", + "src": "4136:9:54", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 27584, + "id": 31719, "isConstant": false, "isLValue": false, "isPure": false, @@ -5237,7 +5404,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3711:238:47", + "src": "4136:238:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -5245,21 +5412,21 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3694:255:47" + "src": "4119:255:54" }, { "assignments": [ - 27587 + 31722 ], "declarations": [ { "constant": false, - "id": 27587, + "id": 31722, "mutability": "mutable", "name": "recoveredAddress", "nodeType": "VariableDeclaration", - "scope": 27623, - "src": "3957:24:47", + "scope": 31758, + "src": "4382:24:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5267,10 +5434,10 @@ "typeString": "address" }, "typeName": { - "id": 27586, + "id": 31721, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3957:7:47", + "src": "4382:7:54", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5280,52 +5447,52 @@ "visibility": "internal" } ], - "id": 27594, + "id": 31729, "initialValue": { "arguments": [ { - "id": 27589, + "id": 31724, "name": "digest", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27563, - "src": "3994:6:47", + "referencedDeclaration": 31698, + "src": "4419:6:54", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 27590, + "id": 31725, "name": "v", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27545, - "src": "4002:1:47", + "referencedDeclaration": 31680, + "src": "4427:1:54", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, { - "id": 27591, + "id": 31726, "name": "r", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27547, - "src": "4005:1:47", + "referencedDeclaration": 31682, + "src": "4430:1:54", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 27592, + "id": 31727, "name": "s", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27549, - "src": "4008:1:47", + "referencedDeclaration": 31684, + "src": "4433:1:54", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5351,18 +5518,18 @@ "typeString": "bytes32" } ], - "id": 27588, + "id": 31723, "name": "ecrecover", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -6, - "src": "3984:9:47", + "src": "4409:9:54", "typeDescriptions": { "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" } }, - "id": 27593, + "id": 31728, "isConstant": false, "isLValue": false, "isPure": false, @@ -5370,7 +5537,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3984:26:47", + "src": "4409:26:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -5378,7 +5545,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3957:53:47" + "src": "4382:53:54" }, { "expression": { @@ -5388,7 +5555,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 27605, + "id": 31740, "isConstant": false, "isLValue": false, "isPure": false, @@ -5398,18 +5565,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 27601, + "id": 31736, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 27596, + "id": 31731, "name": "recoveredAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27587, - "src": "4026:16:47", + "referencedDeclaration": 31722, + "src": "4451:16:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5421,14 +5588,14 @@ "arguments": [ { "hexValue": "30", - "id": 27599, + "id": 31734, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4054:1:47", + "src": "4479:1:54", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -5443,26 +5610,26 @@ "typeString": "int_const 0" } ], - "id": 27598, + "id": 31733, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "4046:7:47", + "src": "4471:7:54", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 27597, + "id": 31732, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4046:7:47", + "src": "4471:7:54", "typeDescriptions": {} } }, - "id": 27600, + "id": 31735, "isConstant": false, "isLValue": false, "isPure": true, @@ -5470,14 +5637,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4046:10:47", + "src": "4471:10:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "src": "4026:30:47", + "src": "4451:30:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5490,18 +5657,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 27604, + "id": 31739, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 27602, + "id": 31737, "name": "recoveredAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27587, - "src": "4060:16:47", + "referencedDeclaration": 31722, + "src": "4485:16:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5510,24 +5677,24 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 27603, + "id": 31738, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27537, - "src": "4080:5:47", + "referencedDeclaration": 31672, + "src": "4505:5:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "4060:25:47", + "src": "4485:25:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "4026:59:47", + "src": "4451:59:54", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -5535,14 +5702,14 @@ }, { "hexValue": "636f6c6f6e792d746f6b656e2d696e76616c69642d7369676e6174757265", - "id": 27606, + "id": 31741, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4087:32:47", + "src": "4512:32:54", "typeDescriptions": { "typeIdentifier": "t_stringliteral_526edddc9727429a967a975832be0465c1934d62e7f830eb064e30b134f4fab2", "typeString": "literal_string \"colony-token-invalid-signature\"" @@ -5561,7 +5728,7 @@ "typeString": "literal_string \"colony-token-invalid-signature\"" } ], - "id": 27595, + "id": 31730, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -5569,13 +5736,13 @@ -18 ], "referencedDeclaration": -18, - "src": "4018:7:47", + "src": "4443:7:54", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 27607, + "id": 31742, "isConstant": false, "isLValue": false, "isPure": false, @@ -5583,20 +5750,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4018:102:47", + "src": "4443:102:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27608, + "id": 31743, "nodeType": "ExpressionStatement", - "src": "4018:102:47" + "src": "4443:102:54" }, { "expression": { - "id": 27615, + "id": 31750, "isConstant": false, "isLValue": false, "isPure": false, @@ -5604,25 +5771,25 @@ "leftHandSide": { "baseExpression": { "baseExpression": { - "id": 27609, + "id": 31744, "name": "_approvals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27028, - "src": "4128:10:47", + "referencedDeclaration": 31151, + "src": "4553:10:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 27612, + "id": 31747, "indexExpression": { - "id": 27610, + "id": 31745, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27537, - "src": "4139:5:47", + "referencedDeclaration": 31672, + "src": "4564:5:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5633,20 +5800,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4128:17:47", + "src": "4553:17:54", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 27613, + "id": 31748, "indexExpression": { - "id": 27611, + "id": 31746, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27539, - "src": "4146:7:47", + "referencedDeclaration": 31674, + "src": "4571:7:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -5657,7 +5824,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "4128:26:47", + "src": "4553:26:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5666,61 +5833,61 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 27614, + "id": 31749, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27541, - "src": "4157:5:47", + "referencedDeclaration": 31676, + "src": "4582:5:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4128:34:47", + "src": "4553:34:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 27616, + "id": 31751, "nodeType": "ExpressionStatement", - "src": "4128:34:47" + "src": "4553:34:54" }, { "eventCall": { "arguments": [ { - "id": 27618, + "id": 31753, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27537, - "src": "4185:5:47", + "referencedDeclaration": 31672, + "src": "4610:5:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27619, + "id": 31754, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27539, - "src": "4192:7:47", + "referencedDeclaration": 31674, + "src": "4617:7:54", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 27620, + "id": 31755, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27541, - "src": "4201:5:47", + "referencedDeclaration": 31676, + "src": "4626:5:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5742,18 +5909,18 @@ "typeString": "uint256" } ], - "id": 27617, + "id": 31752, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 37403, - "src": "4176:8:47", + "referencedDeclaration": 43585, + "src": "4601:8:54", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 27621, + "id": 31756, "isConstant": false, "isLValue": false, "isPure": false, @@ -5761,56 +5928,56 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4176:31:47", + "src": "4601:31:54", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 27622, + "id": 31757, "nodeType": "EmitStatement", - "src": "4171:36:47" + "src": "4596:36:54" } ] }, "functionSelector": "d505accf", - "id": 27624, + "id": 31759, "implemented": true, "kind": "function", "modifiers": [ { - "id": 27552, + "id": 31687, "modifierName": { - "id": 27551, + "id": 31686, "name": "unlocked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 27296, - "src": "3599:8:47", + "referencedDeclaration": 31431, + "src": "4024:8:54", "typeDescriptions": { "typeIdentifier": "t_modifier$__$", "typeString": "modifier ()" } }, "nodeType": "ModifierInvocation", - "src": "3599:8:47" + "src": "4024:8:54" } ], "name": "permit", "nodeType": "FunctionDefinition", "parameters": { - "id": 27550, + "id": 31685, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 27537, + "id": 31672, "mutability": "mutable", "name": "owner", "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3494:13:47", + "scope": 31759, + "src": "3919:13:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5818,10 +5985,10 @@ "typeString": "address" }, "typeName": { - "id": 27536, + "id": 31671, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3494:7:47", + "src": "3919:7:54", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5832,12 +5999,12 @@ }, { "constant": false, - "id": 27539, + "id": 31674, "mutability": "mutable", "name": "spender", "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3509:15:47", + "scope": 31759, + "src": "3934:15:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5845,10 +6012,10 @@ "typeString": "address" }, "typeName": { - "id": 27538, + "id": 31673, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3509:7:47", + "src": "3934:7:54", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -5859,12 +6026,12 @@ }, { "constant": false, - "id": 27541, + "id": 31676, "mutability": "mutable", "name": "value", "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3526:13:47", + "scope": 31759, + "src": "3951:13:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5872,10 +6039,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27540, + "id": 31675, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3526:7:47", + "src": "3951:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5885,12 +6052,12 @@ }, { "constant": false, - "id": 27543, + "id": 31678, "mutability": "mutable", "name": "deadline", "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3541:16:47", + "scope": 31759, + "src": "3966:16:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5898,10 +6065,10 @@ "typeString": "uint256" }, "typeName": { - "id": 27542, + "id": 31677, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3541:7:47", + "src": "3966:7:54", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -5911,12 +6078,12 @@ }, { "constant": false, - "id": 27545, + "id": 31680, "mutability": "mutable", "name": "v", "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3559:7:47", + "scope": 31759, + "src": "3984:7:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5924,10 +6091,10 @@ "typeString": "uint8" }, "typeName": { - "id": 27544, + "id": 31679, "name": "uint8", "nodeType": "ElementaryTypeName", - "src": "3559:5:47", + "src": "3984:5:54", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" @@ -5937,12 +6104,12 @@ }, { "constant": false, - "id": 27547, + "id": 31682, "mutability": "mutable", "name": "r", "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3568:9:47", + "scope": 31759, + "src": "3993:9:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5950,10 +6117,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 27546, + "id": 31681, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3568:7:47", + "src": "3993:7:54", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5963,12 +6130,12 @@ }, { "constant": false, - "id": 27549, + "id": 31684, "mutability": "mutable", "name": "s", "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3579:9:47", + "scope": 31759, + "src": "4004:9:54", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -5976,10 +6143,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 27548, + "id": 31683, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3579:7:47", + "src": "4004:7:54", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -5988,4431 +6155,4287 @@ "visibility": "internal" } ], - "src": "3493:96:47" + "src": "3918:96:54" }, "returnParameters": { - "id": 27553, + "id": 31688, "nodeType": "ParameterList", "parameters": [], - "src": "3608:0:47" + "src": "4033:0:54" }, - "scope": 27625, - "src": "3478:734:47", + "scope": 31760, + "src": "3903:734:54", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 27626, - "src": "784:3430:47" + "scope": 31761, + "src": "784:3855:54" } ], - "src": "700:3514:47" + "src": "700:3939:54" }, "legacyAST": { - "absolutePath": "/home/alex/colony/colonyNetwork/contracts/metatxToken/MetaTxToken.sol", - "exportedSymbols": { - "BasicMetaTransaction": [ - 17484 - ], - "DSAuth": [ - 37393 - ], - "DSAuthEvents": [ - 37276 - ], - "DSAuthMeta": [ - 27005 - ], - "DSAuthority": [ - 37267 - ], - "DSMath": [ - 37749 - ], - "DSTokenBaseMeta": [ - 27219 - ], - "ERC20": [ - 37465 - ], - "ERC20Events": [ - 37412 - ], - "ERC20Extended": [ - 18388 - ], - "MetaTransactionMsgSender": [ - 18604 - ], - "MetaTxToken": [ - 27625 - ], - "MultiChain": [ - 18679 - ] + "attributes": { + "absolutePath": "project:/contracts/metaTxToken/MetaTxToken.sol", + "exportedSymbols": { + "BasicMetaTransaction": [ + 18971 + ], + "DSAuth": [ + 43575 + ], + "DSAuthEvents": [ + 43458 + ], + "DSAuthMeta": [ + 31128 + ], + "DSAuthority": [ + 43449 + ], + "DSMath": [ + 43931 + ], + "DSTokenBaseMeta": [ + 31342 + ], + "ERC20": [ + 43647 + ], + "ERC20Events": [ + 43594 + ], + "ERC20Extended": [ + 19507 + ], + "MetaTransactionMsgSender": [ + 19736 + ], + "MetaTxToken": [ + 31760 + ], + "MultiChain": [ + 19811 + ] + } }, - "id": 27626, - "nodeType": "SourceUnit", - "nodes": [ + "children": [ { - "id": 27221, - "literals": [ - "solidity", - "0.7", - ".3" - ], - "nodeType": "PragmaDirective", - "src": "700:22:47" + "attributes": { + "literals": [ + "solidity", + "0.7", + ".3" + ] + }, + "id": 31344, + "name": "PragmaDirective", + "src": "700:22:54" }, { - "absolutePath": "/home/alex/colony/colonyNetwork/contracts/metatxToken/DSTokenBaseMeta.sol", - "file": "./DSTokenBaseMeta.sol", - "id": 27222, - "nodeType": "ImportDirective", - "scope": 27626, - "sourceUnit": 27220, - "src": "724:31:47", - "symbolAliases": [], - "unitAlias": "" + "attributes": { + "SourceUnit": 31343, + "absolutePath": "project:/contracts/metaTxToken/DSTokenBaseMeta.sol", + "file": "./DSTokenBaseMeta.sol", + "scope": 31761, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 31345, + "name": "ImportDirective", + "src": "724:31:54" }, { - "absolutePath": "/home/alex/colony/colonyNetwork/contracts/metatxToken/DSAuthMeta.sol", - "file": "./DSAuthMeta.sol", - "id": 27223, - "nodeType": "ImportDirective", - "scope": 27626, - "sourceUnit": 27006, - "src": "756:26:47", - "symbolAliases": [], - "unitAlias": "" + "attributes": { + "SourceUnit": 31129, + "absolutePath": "project:/contracts/metaTxToken/DSAuthMeta.sol", + "file": "./DSAuthMeta.sol", + "scope": 31761, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 31346, + "name": "ImportDirective", + "src": "756:26:54" }, { - "abstract": false, - "baseContracts": [ + "attributes": { + "abstract": false, + "contractDependencies": [ + 18971, + 19736, + 19811, + 31128, + 31342, + 43458, + 43594, + 43647, + 43931 + ], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 31760, + 31128, + 31342, + 18971, + 19811, + 19736, + 43931, + 43458, + 43647, + 43594 + ], + "name": "MetaTxToken", + "scope": 31761 + }, + "children": [ { - "arguments": [ + "children": [ { - "hexValue": "30", - "id": 27225, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "824:1:47", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "attributes": { + "name": "DSTokenBaseMeta", + "referencedDeclaration": 31342, + "type": "contract DSTokenBaseMeta" }, - "value": "0" + "id": 31347, + "name": "UserDefinedTypeName", + "src": "808:15:54" + }, + { + "attributes": { + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 31348, + "name": "Literal", + "src": "824:1:54" } ], - "baseName": { - "id": 27224, - "name": "DSTokenBaseMeta", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27219, - "src": "808:15:47", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DSTokenBaseMeta_$27219", - "typeString": "contract DSTokenBaseMeta" - } - }, - "id": 27226, - "nodeType": "InheritanceSpecifier", - "src": "808:18:47" + "id": 31349, + "name": "InheritanceSpecifier", + "src": "808:18:54" }, { - "baseName": { - "id": 27227, - "name": "DSAuthMeta", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 27005, - "src": "828:10:47", - "typeDescriptions": { - "typeIdentifier": "t_contract$_DSAuthMeta_$27005", - "typeString": "contract DSAuthMeta" + "attributes": {}, + "children": [ + { + "attributes": { + "name": "DSAuthMeta", + "referencedDeclaration": 31128, + "type": "contract DSAuthMeta" + }, + "id": 31350, + "name": "UserDefinedTypeName", + "src": "828:10:54" } - }, - "id": 27228, - "nodeType": "InheritanceSpecifier", - "src": "828:10:47" - } - ], - "contractDependencies": [ - 17484, - 18604, - 18679, - 27005, - 27219, - 37276, - 37412, - 37465, - 37749 - ], - "contractKind": "contract", - "fullyImplemented": true, - "id": 27625, - "linearizedBaseContracts": [ - 27625, - 27005, - 27219, - 17484, - 18679, - 18604, - 37749, - 37276, - 37465, - 37412 - ], - "name": "MetaTxToken", - "nodeType": "ContractDefinition", - "nodes": [ + ], + "id": 31351, + "name": "InheritanceSpecifier", + "src": "828:10:54" + }, { - "constant": false, - "functionSelector": "313ce567", - "id": 27230, - "mutability": "mutable", - "name": "decimals", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "843:21:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "attributes": { + "constant": false, + "functionSelector": "313ce567", + "mutability": "immutable", + "name": "decimals", + "scope": 31760, + "stateVariable": true, + "storageLocation": "default", + "type": "uint8", + "visibility": "public" }, - "typeName": { - "id": 27229, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "843:5:47", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "children": [ + { + "attributes": { + "name": "uint8", + "type": "uint8" + }, + "id": 31352, + "name": "ElementaryTypeName", + "src": "843:5:54" } - }, - "visibility": "public" + ], + "id": 31353, + "name": "VariableDeclaration", + "src": "843:31:54" }, { - "constant": false, - "functionSelector": "95d89b41", - "id": 27232, - "mutability": "mutable", - "name": "symbol", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "868:20:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" + "attributes": { + "constant": false, + "functionSelector": "95d89b41", + "mutability": "mutable", + "name": "symbol", + "scope": 31760, + "stateVariable": true, + "storageLocation": "default", + "type": "string", + "visibility": "public" }, - "typeName": { - "id": 27231, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "868:6:47", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "children": [ + { + "attributes": { + "name": "string", + "type": "string" + }, + "id": 31354, + "name": "ElementaryTypeName", + "src": "1085:6:54" } - }, - "visibility": "public" + ], + "id": 31355, + "name": "VariableDeclaration", + "src": "1085:20:54" }, { - "constant": false, - "functionSelector": "06fdde03", - "id": 27234, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "892:18:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" + "attributes": { + "constant": false, + "functionSelector": "06fdde03", + "mutability": "mutable", + "name": "name", + "scope": 31760, + "stateVariable": true, + "storageLocation": "default", + "type": "string", + "visibility": "public" }, - "typeName": { - "id": 27233, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "892:6:47", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "children": [ + { + "attributes": { + "name": "string", + "type": "string" + }, + "id": 31356, + "name": "ElementaryTypeName", + "src": "1157:6:54" } + ], + "id": 31357, + "name": "VariableDeclaration", + "src": "1157:18:54" + }, + { + "attributes": { + "constant": false, + "functionSelector": "cf309012", + "mutability": "mutable", + "name": "locked", + "scope": 31760, + "stateVariable": true, + "storageLocation": "default", + "type": "bool", + "visibility": "public" }, - "visibility": "public" + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 31358, + "name": "ElementaryTypeName", + "src": "1180:4:54" + } + ], + "id": 31359, + "name": "VariableDeclaration", + "src": "1180:18:54" }, { - "constant": false, - "functionSelector": "cf309012", - "id": 27236, - "mutability": "mutable", - "name": "locked", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "915:18:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "attributes": { + "constant": false, + "functionSelector": "3644e515", + "mutability": "immutable", + "name": "DOMAIN_SEPARATOR", + "scope": 31760, + "stateVariable": true, + "storageLocation": "default", + "type": "bytes32", + "visibility": "public" }, - "typeName": { - "id": 27235, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "915:4:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 31360, + "name": "ElementaryTypeName", + "src": "1202:7:54" } + ], + "id": 31361, + "name": "VariableDeclaration", + "src": "1202:41:54" + }, + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "metatransactionNonces", + "scope": 31760, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => uint256)", + "visibility": "internal" }, - "visibility": "public" + "children": [ + { + "attributes": { + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 31362, + "name": "ElementaryTypeName", + "src": "1256:7:54" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 31363, + "name": "ElementaryTypeName", + "src": "1267:7:54" + } + ], + "id": 31364, + "name": "Mapping", + "src": "1248:27:54" + } + ], + "id": 31365, + "name": "VariableDeclaration", + "src": "1248:49:54" }, { - "constant": false, - "functionSelector": "3644e515", - "id": 27238, - "mutability": "mutable", - "name": "DOMAIN_SEPARATOR", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "937:31:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "attributes": { + "anonymous": false, + "name": "Mint" }, - "typeName": { - "id": 27237, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "937:7:47", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "mutability": "mutable", + "name": "guy", + "scope": 31371, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 31366, + "name": "ElementaryTypeName", + "src": "1313:7:54" + } + ], + "id": 31367, + "name": "VariableDeclaration", + "src": "1313:19:54" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "mutability": "mutable", + "name": "wad", + "scope": 31371, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 31368, + "name": "ElementaryTypeName", + "src": "1334:7:54" + } + ], + "id": 31369, + "name": "VariableDeclaration", + "src": "1334:11:54" + } + ], + "id": 31370, + "name": "ParameterList", + "src": "1312:34:54" } + ], + "id": 31371, + "name": "EventDefinition", + "src": "1302:45:54" + }, + { + "attributes": { + "anonymous": false, + "name": "Burn" }, - "visibility": "public" + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "mutability": "mutable", + "name": "guy", + "scope": 31377, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 31372, + "name": "ElementaryTypeName", + "src": "1361:7:54" + } + ], + "id": 31373, + "name": "VariableDeclaration", + "src": "1361:19:54" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "mutability": "mutable", + "name": "wad", + "scope": 31377, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 31374, + "name": "ElementaryTypeName", + "src": "1382:7:54" + } + ], + "id": 31375, + "name": "VariableDeclaration", + "src": "1382:11:54" + } + ], + "id": 31376, + "name": "ParameterList", + "src": "1360:34:54" + } + ], + "id": 31377, + "name": "EventDefinition", + "src": "1350:45:54" }, { - "constant": false, - "id": 27242, - "mutability": "mutable", - "name": "metatransactionNonces", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "973:49:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" + "attributes": { + "baseFunctions": [ + 18823 + ], + "functionSelector": "b3eac1d8", + "implemented": true, + "isConstructor": false, + "kind": "function", + "modifiers": [ + null + ], + "name": "getMetatransactionNonce", + "scope": 31760, + "stateMutability": "view", + "virtual": false, + "visibility": "public" }, - "typeName": { - "id": 27241, - "keyType": { - "id": 27239, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "981:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "children": [ + { + "attributes": { + "overrides": [ + null + ] + }, + "id": 31381, + "name": "OverrideSpecifier", + "src": "1447:8:54" }, - "nodeType": "Mapping", - "src": "973:27:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "_user", + "scope": 31390, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 31378, + "name": "ElementaryTypeName", + "src": "1432:7:54" + } + ], + "id": 31379, + "name": "VariableDeclaration", + "src": "1432:13:54" + } + ], + "id": 31380, + "name": "ParameterList", + "src": "1431:15:54" }, - "valueType": { - "id": 27240, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "992:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "nonce", + "scope": 31390, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 31382, + "name": "ElementaryTypeName", + "src": "1477:7:54" + } + ], + "id": 31383, + "name": "VariableDeclaration", + "src": "1477:13:54" + } + ], + "id": 31384, + "name": "ParameterList", + "src": "1476:15:54" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 31384 + }, + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31365, + "type": "mapping(address => uint256)", + "value": "metatransactionNonces" + }, + "id": 31385, + "name": "Identifier", + "src": "1504:21:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31379, + "type": "address", + "value": "_user" + }, + "id": 31386, + "name": "Identifier", + "src": "1526:5:54" + } + ], + "id": 31387, + "name": "IndexAccess", + "src": "1504:28:54" + } + ], + "id": 31388, + "name": "Return", + "src": "1497:35:54" + } + ], + "id": 31389, + "name": "Block", + "src": "1491:46:54" } - }, - "visibility": "internal" + ], + "id": 31390, + "name": "FunctionDefinition", + "src": "1399:138:54" }, { - "anonymous": false, - "id": 27248, - "name": "Mint", - "nodeType": "EventDefinition", - "parameters": { - "id": 27247, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27244, - "indexed": true, - "mutability": "mutable", - "name": "guy", - "nodeType": "VariableDeclaration", - "scope": 27248, - "src": "1038:19:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27243, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1038:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27246, - "indexed": false, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "scope": 27248, - "src": "1059:11:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27245, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1059:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } + "attributes": { + "functionSelector": "7ecebe00", + "implemented": true, + "isConstructor": false, + "kind": "function", + "modifiers": [ + null ], - "src": "1037:34:47" + "name": "nonces", + "scope": 31760, + "stateMutability": "view", + "virtual": false, + "visibility": "external" }, - "src": "1027:45:47" + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "_user", + "scope": 31402, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 31391, + "name": "ElementaryTypeName", + "src": "1589:7:54" + } + ], + "id": 31392, + "name": "VariableDeclaration", + "src": "1589:13:54" + } + ], + "id": 31393, + "name": "ParameterList", + "src": "1588:15:54" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "nonce", + "scope": 31402, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 31394, + "name": "ElementaryTypeName", + "src": "1627:7:54" + } + ], + "id": 31395, + "name": "VariableDeclaration", + "src": "1627:13:54" + } + ], + "id": 31396, + "name": "ParameterList", + "src": "1626:15:54" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 31396 + }, + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31365, + "type": "mapping(address => uint256)", + "value": "metatransactionNonces" + }, + "id": 31397, + "name": "Identifier", + "src": "1654:21:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31392, + "type": "address", + "value": "_user" + }, + "id": 31398, + "name": "Identifier", + "src": "1676:5:54" + } + ], + "id": 31399, + "name": "IndexAccess", + "src": "1654:28:54" + } + ], + "id": 31400, + "name": "Return", + "src": "1647:35:54" + } + ], + "id": 31401, + "name": "Block", + "src": "1641:46:54" + } + ], + "id": 31402, + "name": "FunctionDefinition", + "src": "1573:114:54" }, { - "anonymous": false, - "id": 27254, - "name": "Burn", - "nodeType": "EventDefinition", - "parameters": { - "id": 27253, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27250, - "indexed": true, - "mutability": "mutable", - "name": "guy", - "nodeType": "VariableDeclaration", - "scope": 27254, - "src": "1086:19:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27249, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1086:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27252, - "indexed": false, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "scope": 27254, - "src": "1107:11:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27251, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1107:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } + "attributes": { + "baseFunctions": [ + 18828 + ], + "implemented": true, + "isConstructor": false, + "kind": "function", + "modifiers": [ + null ], - "src": "1085:34:47" + "name": "incrementMetatransactionNonce", + "scope": 31760, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" }, - "src": "1075:45:47" + "children": [ + { + "attributes": { + "overrides": [ + null + ] + }, + "id": 31406, + "name": "OverrideSpecifier", + "src": "1745:8:54" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "_user", + "scope": 31414, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 31403, + "name": "ElementaryTypeName", + "src": "1730:7:54" + } + ], + "id": 31404, + "name": "VariableDeclaration", + "src": "1730:13:54" + } + ], + "id": 31405, + "name": "ParameterList", + "src": "1729:15:54" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 31407, + "name": "ParameterList", + "src": "1763:0:54" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31365, + "type": "mapping(address => uint256)", + "value": "metatransactionNonces" + }, + "id": 31408, + "name": "Identifier", + "src": "1769:21:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31404, + "type": "address", + "value": "_user" + }, + "id": 31409, + "name": "Identifier", + "src": "1791:5:54" + } + ], + "id": 31410, + "name": "IndexAccess", + "src": "1769:28:54" + } + ], + "id": 31411, + "name": "UnaryOperation", + "src": "1769:30:54" + } + ], + "id": 31412, + "name": "ExpressionStatement", + "src": "1769:30:54" + } + ], + "id": 31413, + "name": "Block", + "src": "1763:41:54" + } + ], + "id": 31414, + "name": "FunctionDefinition", + "src": "1691:113:54" }, { - "baseFunctions": [ - 17336 - ], - "body": { - "id": 27266, - "nodeType": "Block", - "src": "1216:46:47", - "statements": [ - { - "expression": { - "baseExpression": { - "id": 27262, - "name": "metatransactionNonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27242, - "src": "1229:21:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" + "attributes": { + "name": "unlocked", + "virtual": false, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 31415, + "name": "ParameterList", + "src": "1826:0:54" + }, + { + "children": [ + { + "attributes": {}, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31359, + "type": "bool", + "value": "locked" + }, + "id": 31416, + "name": "Identifier", + "src": "1836:6:54" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_d37c89ab35379dbbb026297d255b69ea134b61b163699a001e9dbf9a490c7cf2", + "typeString": "literal_string \"colony-token-unauthorised\"" + } + ], + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "type": "function (bool,string memory) pure", + "value": "require" + }, + "id": 31417, + "name": "Identifier", + "src": "1852:7:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31127, + "type": "function (address,bytes4) view returns (bool)", + "value": "isAuthorized" + }, + "id": 31418, + "name": "Identifier", + "src": "1860:12:54" + }, + { + "attributes": { + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "address payable", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 19735, + "type": "function () view returns (address payable)", + "value": "msgSender" + }, + "id": 31419, + "name": "Identifier", + "src": "1873:9:54" + } + ], + "id": 31420, + "name": "FunctionCall", + "src": "1873:11:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sig", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -15, + "type": "msg", + "value": "msg" + }, + "id": 31421, + "name": "Identifier", + "src": "1886:3:54" + } + ], + "id": 31422, + "name": "MemberAccess", + "src": "1886:7:54" + } + ], + "id": 31423, + "name": "FunctionCall", + "src": "1860:34:54" + }, + { + "attributes": { + "hexvalue": "636f6c6f6e792d746f6b656e2d756e617574686f7269736564", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "token": "string", + "type": "literal_string \"colony-token-unauthorised\"", + "value": "colony-token-unauthorised" + }, + "id": 31424, + "name": "Literal", + "src": "1896:27:54" + } + ], + "id": 31425, + "name": "FunctionCall", + "src": "1852:72:54" + } + ], + "id": 31426, + "name": "ExpressionStatement", + "src": "1852:72:54" + } + ], + "id": 31427, + "name": "Block", + "src": "1844:87:54" } + ], + "id": 31428, + "name": "IfStatement", + "src": "1832:99:54" + }, + { + "id": 31429, + "name": "PlaceholderStatement", + "src": "1936:1:54" + } + ], + "id": 31430, + "name": "Block", + "src": "1826:116:54" + } + ], + "id": 31431, + "name": "ModifierDefinition", + "src": "1808:134:54" + }, + { + "attributes": { + "implemented": true, + "isConstructor": true, + "kind": "constructor", + "modifiers": [ + null + ], + "name": "", + "scope": 31760, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "_name", + "scope": 31489, + "stateVariable": false, + "storageLocation": "memory", + "type": "string", + "visibility": "internal" }, - "id": 27264, - "indexExpression": { - "id": 27263, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27256, - "src": "1251:5:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "children": [ + { + "attributes": { + "name": "string", + "type": "string" + }, + "id": 31432, + "name": "ElementaryTypeName", + "src": "1958:6:54" } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "1229:28:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + ], + "id": 31433, + "name": "VariableDeclaration", + "src": "1958:19:54" }, - "functionReturnParameters": 27261, - "id": 27265, - "nodeType": "Return", - "src": "1222:35:47" - } - ] - }, - "functionSelector": "b3eac1d8", - "id": 27267, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "getMetatransactionNonce", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 27258, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1172:8:47" - }, - "parameters": { - "id": 27257, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27256, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 27267, - "src": "1157:13:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "_symbol", + "scope": 31489, + "stateVariable": false, + "storageLocation": "memory", + "type": "string", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "string", + "type": "string" + }, + "id": 31434, + "name": "ElementaryTypeName", + "src": "1979:6:54" + } + ], + "id": 31435, + "name": "VariableDeclaration", + "src": "1979:21:54" }, - "typeName": { - "id": 27255, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1157:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "_decimals", + "scope": 31489, + "stateVariable": false, + "storageLocation": "default", + "type": "uint8", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint8", + "type": "uint8" + }, + "id": 31436, + "name": "ElementaryTypeName", + "src": "2002:5:54" + } + ], + "id": 31437, + "name": "VariableDeclaration", + "src": "2002:15:54" + } + ], + "id": 31438, + "name": "ParameterList", + "src": "1957:61:54" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 31439, + "name": "ParameterList", + "src": "2019:0:54" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "string storage ref" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31357, + "type": "string storage ref", + "value": "name" + }, + "id": 31440, + "name": "Identifier", + "src": "2025:4:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31433, + "type": "string memory", + "value": "_name" + }, + "id": 31441, + "name": "Identifier", + "src": "2032:5:54" + } + ], + "id": 31442, + "name": "Assignment", + "src": "2025:12:54" + } + ], + "id": 31443, + "name": "ExpressionStatement", + "src": "2025:12:54" }, - "visibility": "internal" - } - ], - "src": "1156:15:47" - }, - "returnParameters": { - "id": 27261, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27260, - "mutability": "mutable", - "name": "nonce", - "nodeType": "VariableDeclaration", - "scope": 27267, - "src": "1202:13:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "string storage ref" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31355, + "type": "string storage ref", + "value": "symbol" + }, + "id": 31444, + "name": "Identifier", + "src": "2043:6:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31435, + "type": "string memory", + "value": "_symbol" + }, + "id": 31445, + "name": "Identifier", + "src": "2052:7:54" + } + ], + "id": 31446, + "name": "Assignment", + "src": "2043:16:54" + } + ], + "id": 31447, + "name": "ExpressionStatement", + "src": "2043:16:54" }, - "typeName": { - "id": 27259, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1202:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint8" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31353, + "type": "uint8", + "value": "decimals" + }, + "id": 31448, + "name": "Identifier", + "src": "2065:8:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31437, + "type": "uint8", + "value": "_decimals" + }, + "id": 31449, + "name": "Identifier", + "src": "2076:9:54" + } + ], + "id": 31450, + "name": "Assignment", + "src": "2065:20:54" + } + ], + "id": 31451, + "name": "ExpressionStatement", + "src": "2065:20:54" }, - "visibility": "internal" - } - ], - "src": "1201:15:47" - }, - "scope": 27625, - "src": "1124:138:47", - "stateMutability": "view", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 17341 - ], - "body": { - "id": 27278, - "nodeType": "Block", - "src": "1338:41:47", - "statements": [ - { - "expression": { - "id": 27276, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "1344:30:47", - "subExpression": { - "baseExpression": { - "id": 27273, - "name": "metatransactionNonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27242, - "src": "1344:21:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 27275, - "indexExpression": { - "id": 27274, - "name": "_user", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27269, - "src": "1366:5:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "1344:28:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31359, + "type": "bool", + "value": "locked" + }, + "id": 31452, + "name": "Identifier", + "src": "2091:6:54" + }, + { + "attributes": { + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 31453, + "name": "Literal", + "src": "2100:4:54" + } + ], + "id": 31454, + "name": "Assignment", + "src": "2091:13:54" } + ], + "id": 31455, + "name": "ExpressionStatement", + "src": "2091:13:54" + }, + { + "attributes": { + "assignments": [ + 31457 + ] }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "chainId", + "scope": 31488, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 31456, + "name": "ElementaryTypeName", + "src": "2111:7:54" + } + ], + "id": 31457, + "name": "VariableDeclaration", + "src": "2111:15:54" + } + ], + "id": 31458, + "name": "VariableDeclarationStatement", + "src": "2111:15:54" + }, + { + "attributes": { + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 31457, + "isOffset": false, + "isSlot": false, + "src": "2151:7:54", + "valueSize": 1 + } + ], + "operations": "{ chainId := chainid() }" + }, + "children": [], + "id": 31459, + "name": "InlineAssembly", + "src": "2132:45:54" }, - "id": 27277, - "nodeType": "ExpressionStatement", - "src": "1344:30:47" - } - ] - }, - "id": 27279, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "incrementMetatransactionNonce", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 27271, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1320:8:47" - }, - "parameters": { - "id": 27270, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27269, - "mutability": "mutable", - "name": "_user", - "nodeType": "VariableDeclaration", - "scope": 27279, - "src": "1305:13:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27268, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1305:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "1304:15:47" - }, - "returnParameters": { - "id": 27272, - "nodeType": "ParameterList", - "parameters": [], - "src": "1338:0:47" - }, - "scope": 27625, - "src": "1266:113:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "body": { - "id": 27295, - "nodeType": "Block", - "src": "1401:116:47", - "statements": [ - { - "condition": { - "id": 27281, - "name": "locked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27236, - "src": "1411:6:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 27293, - "nodeType": "IfStatement", - "src": "1407:99:47", - "trueBody": { - "id": 27292, - "nodeType": "Block", - "src": "1419:87:47", - "statements": [ + { + "children": [ { - "expression": { - "arguments": [ - { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 27284, - "name": "msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "1448:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31361, + "type": "bytes32", + "value": "DOMAIN_SEPARATOR" + }, + "id": 31460, + "name": "Identifier", + "src": "2183:16:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" } - }, - "id": 27285, + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -8, + "type": "function (bytes memory) pure returns (bytes32)", + "value": "keccak256" + }, + "id": 31461, + "name": "Identifier", + "src": "2202:9:54" + }, + { + "attributes": { "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "isStructConstructorCall": false, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1448:11:47", + "names": [ + null + ], "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } + "type": "bytes memory", + "type_conversion": false }, - { - "expression": { - "id": 27286, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1461:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "member_name": "encode", + "type": "function () pure returns (bytes memory)" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -1, + "type": "abi", + "value": "abi" + }, + "id": 31462, + "name": "Identifier", + "src": "2221:3:54" + } + ], + "id": 31463, + "name": "MemberAccess", + "src": "2221:10:54" }, - "id": 27287, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sig", - "nodeType": "MemberAccess", - "src": "1461:7:47", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - } - ], - "expression": { - "argumentTypes": [ { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f", + "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -8, + "type": "function (bytes memory) pure returns (bytes32)", + "value": "keccak256" + }, + "id": 31464, + "name": "Identifier", + "src": "2245:9:54" + }, + { + "attributes": { + "hexvalue": "454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "token": "string", + "type": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"", + "value": "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)" + }, + "id": 31465, + "name": "Literal", + "src": "2255:84:54" + } + ], + "id": 31466, + "name": "FunctionCall", + "src": "2245:95:54" }, { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -8, + "type": "function (bytes memory) pure returns (bytes32)", + "value": "keccak256" + }, + "id": 31467, + "name": "Identifier", + "src": "2354:9:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bytes storage pointer", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes storage pointer)" + }, + "children": [ + { + "attributes": { + "name": "bytes" + }, + "id": 31468, + "name": "ElementaryTypeName", + "src": "2364:5:54" + } + ], + "id": 31469, + "name": "ElementaryTypeNameExpression", + "src": "2364:5:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31357, + "type": "string storage ref", + "value": "name" + }, + "id": 31470, + "name": "Identifier", + "src": "2370:4:54" + } + ], + "id": 31471, + "name": "FunctionCall", + "src": "2364:11:54" + } + ], + "id": 31472, + "name": "FunctionCall", + "src": "2354:22:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -8, + "type": "function (bytes memory) pure returns (bytes32)", + "value": "keccak256" + }, + "id": 31473, + "name": "Identifier", + "src": "2390:9:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bytes memory", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", + "typeString": "literal_string \"1\"" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes storage pointer)" + }, + "children": [ + { + "attributes": { + "name": "bytes" + }, + "id": 31474, + "name": "ElementaryTypeName", + "src": "2400:5:54" + } + ], + "id": 31475, + "name": "ElementaryTypeNameExpression", + "src": "2400:5:54" + }, + { + "attributes": { + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "token": "string", + "type": "literal_string \"1\"", + "value": "1" + }, + "id": 31476, + "name": "Literal", + "src": "2406:3:54" + } + ], + "id": 31477, + "name": "FunctionCall", + "src": "2400:10:54" + } + ], + "id": 31478, + "name": "FunctionCall", + "src": "2390:21:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31457, + "type": "uint256", + "value": "chainId" + }, + "id": 31479, + "name": "Identifier", + "src": "2425:7:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_MetaTxToken_$31760", + "typeString": "contract MetaTxToken" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)" + }, + "children": [ + { + "attributes": { + "name": "address" + }, + "id": 31480, + "name": "ElementaryTypeName", + "src": "2446:7:54" + } + ], + "id": 31481, + "name": "ElementaryTypeNameExpression", + "src": "2446:7:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -28, + "type": "contract MetaTxToken", + "value": "this" + }, + "id": 31482, + "name": "Identifier", + "src": "2454:4:54" + } + ], + "id": 31483, + "name": "FunctionCall", + "src": "2446:13:54" } ], - "id": 27283, - "name": "isAuthorized", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27004, - "src": "1435:12:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$", - "typeString": "function (address,bytes4) view returns (bool)" - } - }, - "id": 27288, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1435:34:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "636f6c6f6e792d746f6b656e2d756e617574686f7269736564", - "id": 27289, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1471:27:47", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d37c89ab35379dbbb026297d255b69ea134b61b163699a001e9dbf9a490c7cf2", - "typeString": "literal_string \"colony-token-unauthorised\"" - }, - "value": "colony-token-unauthorised" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d37c89ab35379dbbb026297d255b69ea134b61b163699a001e9dbf9a490c7cf2", - "typeString": "literal_string \"colony-token-unauthorised\"" + "id": 31484, + "name": "FunctionCall", + "src": "2221:248:54" } ], - "id": 27282, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1427:7:47", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27290, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1427:72:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" + "id": 31485, + "name": "FunctionCall", + "src": "2202:273:54" } - }, - "id": 27291, - "nodeType": "ExpressionStatement", - "src": "1427:72:47" + ], + "id": 31486, + "name": "Assignment", + "src": "2183:292:54" } - ] + ], + "id": 31487, + "name": "ExpressionStatement", + "src": "2183:292:54" } - }, - { - "id": 27294, - "nodeType": "PlaceholderStatement", - "src": "1511:1:47" - } - ] - }, - "id": 27296, - "name": "unlocked", - "nodeType": "ModifierDefinition", - "parameters": { - "id": 27280, - "nodeType": "ParameterList", - "parameters": [], - "src": "1401:0:47" - }, - "src": "1383:134:47", - "virtual": false, - "visibility": "internal" + ], + "id": 31488, + "name": "Block", + "src": "2019:461:54" + } + ], + "id": 31489, + "name": "FunctionDefinition", + "src": "1946:534:54" }, { - "body": { - "id": 27353, - "nodeType": "Block", - "src": "1594:461:47", - "statements": [ - { - "expression": { - "id": 27307, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 27305, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27234, - "src": "1600:4:47", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 27306, - "name": "_name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27298, - "src": "1607:5:47", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1600:12:47", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 27308, - "nodeType": "ExpressionStatement", - "src": "1600:12:47" + "attributes": { + "baseFunctions": [ + 31312 + ], + "functionSelector": "23b872dd", + "implemented": true, + "isConstructor": false, + "kind": "function", + "name": "transferFrom", + "scope": 31760, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "overrides": [ + null + ] }, - { - "expression": { - "id": 27311, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 27309, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27232, - "src": "1618:6:47", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } + "id": 31499, + "name": "OverrideSpecifier", + "src": "2563:8:54" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "src", + "scope": 31511, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "visibility": "internal" }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 27310, - "name": "_symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27300, - "src": "1627:7:47", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 31490, + "name": "ElementaryTypeName", + "src": "2506:7:54" } - }, - "src": "1618:16:47", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } + ], + "id": 31491, + "name": "VariableDeclaration", + "src": "2506:11:54" }, - "id": 27312, - "nodeType": "ExpressionStatement", - "src": "1618:16:47" - }, - { - "expression": { - "id": 27315, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 27313, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27230, - "src": "1640:8:47", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 27314, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27302, - "src": "1651:9:47", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "dst", + "scope": 31511, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "visibility": "internal" }, - "src": "1640:20:47", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 27316, - "nodeType": "ExpressionStatement", - "src": "1640:20:47" - }, - { - "expression": { - "id": 27319, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 27317, - "name": "locked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27236, - "src": "1666:6:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 31492, + "name": "ElementaryTypeName", + "src": "2519:7:54" } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "74727565", - "id": 27318, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1675:4:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "true" - }, - "src": "1666:13:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } + ], + "id": 31493, + "name": "VariableDeclaration", + "src": "2519:11:54" }, - "id": 27320, - "nodeType": "ExpressionStatement", - "src": "1666:13:47" - }, - { - "assignments": [ - 27322 - ], - "declarations": [ - { + { + "attributes": { "constant": false, - "id": 27322, "mutability": "mutable", - "name": "chainId", - "nodeType": "VariableDeclaration", - "scope": 27353, - "src": "1686:15:47", + "name": "wad", + "scope": 31511, "stateVariable": false, "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27321, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1686:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "type": "uint256", "visibility": "internal" - } - ], - "id": 27323, - "nodeType": "VariableDeclarationStatement", - "src": "1686:15:47" - }, - { - "AST": { - "nodeType": "YulBlock", - "src": "1716:36:47", - "statements": [ + }, + "children": [ { - "nodeType": "YulAssignment", - "src": "1726:20:47", - "value": { - "arguments": [], - "functionName": { - "name": "chainid", - "nodeType": "YulIdentifier", - "src": "1737:7:47" - }, - "nodeType": "YulFunctionCall", - "src": "1737:9:47" + "attributes": { + "name": "uint256", + "type": "uint256" }, - "variableNames": [ - { - "name": "chainId", - "nodeType": "YulIdentifier", - "src": "1726:7:47" - } - ] + "id": 31494, + "name": "ElementaryTypeName", + "src": "2532:7:54" } - ] - }, - "evmVersion": "istanbul", - "externalReferences": [ - { - "declaration": 27322, - "isOffset": false, - "isSlot": false, - "src": "1726:7:47", - "valueSize": 1 - } - ], - "id": 27324, - "nodeType": "InlineAssembly", - "src": "1707:45:47" - }, - { - "expression": { - "id": 27351, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 27325, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27238, - "src": "1758:16:47", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + ], + "id": 31495, + "name": "VariableDeclaration", + "src": "2532:11:54" + } + ], + "id": 31496, + "name": "ParameterList", + "src": "2505:39:54" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "", + "scope": 31511, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 31500, + "name": "ElementaryTypeName", + "src": "2583:4:54" } + ], + "id": 31501, + "name": "VariableDeclaration", + "src": "2583:4:54" + } + ], + "id": 31502, + "name": "ParameterList", + "src": "2582:6:54" + }, + { + "attributes": {}, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31431, + "type": "modifier ()", + "value": "unlocked" }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ + "id": 31497, + "name": "Identifier", + "src": "2554:8:54" + } + ], + "id": 31498, + "name": "ModifierInvocation", + "src": "2554:8:54" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 31502 + }, + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ { - "hexValue": "454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e747261637429", - "id": 27330, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1830:84:47", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f", - "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" - }, - "value": "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f", - "typeString": "literal_string \"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)\"" - } - ], - "id": 27329, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1820:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 27331, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "functionCall", + "isPure": false, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1820:95:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "member_name": "transferFrom", + "referencedDeclaration": 31312, + "type": "function (address,address,uint256) returns (bool)" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -25, + "type": "contract super MetaTxToken", + "value": "super" + }, + "id": 31503, + "name": "Identifier", + "src": "2604:5:54" } + ], + "id": 31504, + "name": "MemberAccess", + "src": "2604:18:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31491, + "type": "address", + "value": "src" }, - { - "arguments": [ + "id": 31505, + "name": "Identifier", + "src": "2623:3:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31493, + "type": "address", + "value": "dst" + }, + "id": 31506, + "name": "Identifier", + "src": "2628:3:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31495, + "type": "uint256", + "value": "wad" + }, + "id": 31507, + "name": "Identifier", + "src": "2633:3:54" + } + ], + "id": 31508, + "name": "FunctionCall", + "src": "2604:33:54" + } + ], + "id": 31509, + "name": "Return", + "src": "2597:40:54" + } + ], + "id": 31510, + "name": "Block", + "src": "2591:51:54" + } + ], + "id": 31511, + "name": "FunctionDefinition", + "src": "2484:158:54" + }, + { + "attributes": { + "functionSelector": "a0712d68", + "implemented": true, + "isConstructor": false, + "kind": "function", + "name": "mint", + "scope": 31760, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "wad", + "scope": 31525, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 31512, + "name": "ElementaryTypeName", + "src": "2660:7:54" + } + ], + "id": 31513, + "name": "VariableDeclaration", + "src": "2660:11:54" + } + ], + "id": 31514, + "name": "ParameterList", + "src": "2659:13:54" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 31517, + "name": "ParameterList", + "src": "2685:0:54" + }, + { + "attributes": {}, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31080, + "type": "modifier ()", + "value": "auth" + }, + "id": 31515, + "name": "Identifier", + "src": "2680:4:54" + } + ], + "id": 31516, + "name": "ModifierInvocation", + "src": "2680:4:54" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ { - "arguments": [ - { - "id": 27335, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27234, - "src": "1945:4:47", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - ], - "id": 27334, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1939:5:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 27333, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1939:5:47", - "typeDescriptions": {} - } - }, - "id": 27336, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1939:11:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes storage pointer" - } + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes storage pointer" - } - ], - "id": 27332, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1929:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 27337, + "overloadedDeclarations": [ + 31525, + 31579 + ], + "referencedDeclaration": 31579, + "type": "function (address,uint256)", + "value": "mint" + }, + "id": 31518, + "name": "Identifier", + "src": "2691:4:54" + }, + { + "attributes": { + "arguments": [ + null + ], "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "isStructConstructorCall": false, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1929:22:47", + "names": [ + null + ], "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "type": "address payable", + "type_conversion": false }, - { - "arguments": [ - { - "arguments": [ - { - "hexValue": "31", - "id": 27341, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1981:3:47", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", - "typeString": "literal_string \"1\"" - }, - "value": "1" - } + "children": [ + { + "attributes": { + "argumentTypes": [ + null ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6", - "typeString": "literal_string \"1\"" - } - ], - "id": 27340, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1975:5:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 27339, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1975:5:47", - "typeDescriptions": {} - } - }, - "id": 27342, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1975:10:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 19735, + "type": "function () view returns (address payable)", + "value": "msgSender" + }, + "id": 31519, + "name": "Identifier", + "src": "2696:9:54" + } + ], + "id": 31520, + "name": "FunctionCall", + "src": "2696:11:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 27338, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1965:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" + "referencedDeclaration": 31513, + "type": "uint256", + "value": "wad" + }, + "id": 31521, + "name": "Identifier", + "src": "2709:3:54" + } + ], + "id": 31522, + "name": "FunctionCall", + "src": "2691:22:54" + } + ], + "id": 31523, + "name": "ExpressionStatement", + "src": "2691:22:54" + } + ], + "id": 31524, + "name": "Block", + "src": "2685:33:54" + } + ], + "id": 31525, + "name": "FunctionDefinition", + "src": "2646:72:54" + }, + { + "attributes": { + "functionSelector": "42966c68", + "implemented": true, + "isConstructor": false, + "kind": "function", + "modifiers": [ + null + ], + "name": "burn", + "scope": 31760, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "wad", + "scope": 31537, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 31526, + "name": "ElementaryTypeName", + "src": "2736:7:54" + } + ], + "id": 31527, + "name": "VariableDeclaration", + "src": "2736:11:54" + } + ], + "id": 31528, + "name": "ParameterList", + "src": "2735:13:54" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 31529, + "name": "ParameterList", + "src": "2756:0:54" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } - }, - "id": 27343, + ], + "overloadedDeclarations": [ + 31537, + 31654 + ], + "referencedDeclaration": 31654, + "type": "function (address,uint256)", + "value": "burn" + }, + "id": 31530, + "name": "Identifier", + "src": "2762:4:54" + }, + { + "attributes": { + "arguments": [ + null + ], "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "functionCall", + "isPure": false, + "isStructConstructorCall": false, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1965:21:47", + "names": [ + null + ], "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "type": "address payable", + "type_conversion": false }, - { - "id": 27344, - "name": "chainId", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27322, - "src": "2000:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 19735, + "type": "function () view returns (address payable)", + "value": "msgSender" + }, + "id": 31531, + "name": "Identifier", + "src": "2767:9:54" } - }, - { - "arguments": [ - { - "id": 27347, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2029:4:47", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MetaTxToken_$27625", - "typeString": "contract MetaTxToken" - } - } + ], + "id": 31532, + "name": "FunctionCall", + "src": "2767:11:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MetaTxToken_$27625", - "typeString": "contract MetaTxToken" - } - ], - "id": 27346, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2021:7:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" + "referencedDeclaration": 31527, + "type": "uint256", + "value": "wad" + }, + "id": 31533, + "name": "Identifier", + "src": "2780:3:54" + } + ], + "id": 31534, + "name": "FunctionCall", + "src": "2762:22:54" + } + ], + "id": 31535, + "name": "ExpressionStatement", + "src": "2762:22:54" + } + ], + "id": 31536, + "name": "Block", + "src": "2756:33:54" + } + ], + "id": 31537, + "name": "FunctionDefinition", + "src": "2722:67:54" + }, + { + "attributes": { + "functionSelector": "40c10f19", + "implemented": true, + "isConstructor": false, + "kind": "function", + "name": "mint", + "scope": 31760, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "guy", + "scope": 31579, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 31538, + "name": "ElementaryTypeName", + "src": "2807:7:54" + } + ], + "id": 31539, + "name": "VariableDeclaration", + "src": "2807:11:54" + }, + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "wad", + "scope": 31579, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 31540, + "name": "ElementaryTypeName", + "src": "2820:7:54" + } + ], + "id": 31541, + "name": "VariableDeclaration", + "src": "2820:11:54" + } + ], + "id": 31542, + "name": "ParameterList", + "src": "2806:26:54" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 31545, + "name": "ParameterList", + "src": "2845:0:54" + }, + { + "attributes": {}, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31080, + "type": "modifier ()", + "value": "auth" + }, + "id": 31543, + "name": "Identifier", + "src": "2840:4:54" + } + ], + "id": 31544, + "name": "ModifierInvocation", + "src": "2840:4:54" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31145, + "type": "mapping(address => uint256)", + "value": "_balances" }, - "typeName": { - "id": 27345, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2021:7:47", - "typeDescriptions": {} - } + "id": 31546, + "name": "Identifier", + "src": "2851:9:54" }, - "id": 27348, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31539, + "type": "address", + "value": "guy" + }, + "id": 31547, + "name": "Identifier", + "src": "2861:3:54" + } + ], + "id": 31548, + "name": "IndexAccess", + "src": "2851:14:54" + }, + { + "attributes": { "isConstant": false, "isLValue": false, "isPure": false, - "kind": "typeConversion", + "isStructConstructorCall": false, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2021:13:47", + "names": [ + null + ], "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, + "type": "uint256", + "type_conversion": false + }, + "children": [ { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 43671, + "type": "function (uint256,uint256) pure returns (uint256)", + "value": "add" + }, + "id": 31549, + "name": "Identifier", + "src": "2868:3:54" }, { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31145, + "type": "mapping(address => uint256)", + "value": "_balances" + }, + "id": 31550, + "name": "Identifier", + "src": "2872:9:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31539, + "type": "address", + "value": "guy" + }, + "id": 31551, + "name": "Identifier", + "src": "2882:3:54" + } + ], + "id": 31552, + "name": "IndexAccess", + "src": "2872:14:54" }, { - "typeIdentifier": "t_address", - "typeString": "address" + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31541, + "type": "uint256", + "value": "wad" + }, + "id": 31553, + "name": "Identifier", + "src": "2888:3:54" } ], - "expression": { - "id": 27327, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "1796:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } + "id": 31554, + "name": "FunctionCall", + "src": "2868:24:54" + } + ], + "id": 31555, + "name": "Assignment", + "src": "2851:41:54" + } + ], + "id": 31556, + "name": "ExpressionStatement", + "src": "2851:41:54" + }, + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31141, + "type": "uint256", + "value": "_supply" }, - "id": 27328, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "1796:10:47", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } + "id": 31557, + "name": "Identifier", + "src": "2898:7:54" }, - "id": 27349, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 43671, + "type": "function (uint256,uint256) pure returns (uint256)", + "value": "add" + }, + "id": 31558, + "name": "Identifier", + "src": "2908:3:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31141, + "type": "uint256", + "value": "_supply" + }, + "id": 31559, + "name": "Identifier", + "src": "2912:7:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31541, + "type": "uint256", + "value": "wad" + }, + "id": 31560, + "name": "Identifier", + "src": "2921:3:54" + } + ], + "id": 31561, + "name": "FunctionCall", + "src": "2908:17:54" + } + ], + "id": 31562, + "name": "Assignment", + "src": "2898:27:54" + } + ], + "id": 31563, + "name": "ExpressionStatement", + "src": "2898:27:54" + }, + { + "children": [ + { + "attributes": { "isConstant": false, "isLValue": false, "isPure": false, - "kind": "functionCall", + "isStructConstructorCall": false, "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1796:248:47", + "names": [ + null + ], "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ + "type": "tuple()", + "type_conversion": false + }, + "children": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31371, + "type": "function (address,uint256)", + "value": "Mint" + }, + "id": 31564, + "name": "Identifier", + "src": "2937:4:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31539, + "type": "address", + "value": "guy" + }, + "id": 31565, + "name": "Identifier", + "src": "2942:3:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31541, + "type": "uint256", + "value": "wad" + }, + "id": 31566, + "name": "Identifier", + "src": "2947:3:54" } ], - "id": 27326, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "1777:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 27350, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1777:273:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "id": 31567, + "name": "FunctionCall", + "src": "2937:14:54" } - }, - "src": "1758:292:47", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + ], + "id": 31568, + "name": "EmitStatement", + "src": "2932:19:54" }, - "id": 27352, - "nodeType": "ExpressionStatement", - "src": "1758:292:47" - } - ] + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 43593, + "type": "function (address,address,uint256)", + "value": "Transfer" + }, + "id": 31569, + "name": "Identifier", + "src": "2962:8:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "address payable", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)" + }, + "children": [ + { + "attributes": { + "name": "address" + }, + "id": 31570, + "name": "ElementaryTypeName", + "src": "2971:7:54" + } + ], + "id": 31571, + "name": "ElementaryTypeNameExpression", + "src": "2971:7:54" + }, + { + "attributes": { + "hexvalue": "307830", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "token": "number", + "type": "int_const 0", + "value": "0x0" + }, + "id": 31572, + "name": "Literal", + "src": "2979:3:54" + } + ], + "id": 31573, + "name": "FunctionCall", + "src": "2971:12:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31539, + "type": "address", + "value": "guy" + }, + "id": 31574, + "name": "Identifier", + "src": "2985:3:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31541, + "type": "uint256", + "value": "wad" + }, + "id": 31575, + "name": "Identifier", + "src": "2990:3:54" + } + ], + "id": 31576, + "name": "FunctionCall", + "src": "2962:32:54" + } + ], + "id": 31577, + "name": "EmitStatement", + "src": "2957:37:54" + } + ], + "id": 31578, + "name": "Block", + "src": "2845:154:54" + } + ], + "id": 31579, + "name": "FunctionDefinition", + "src": "2793:206:54" + }, + { + "attributes": { + "functionSelector": "9dc29fac", + "implemented": true, + "isConstructor": false, + "kind": "function", + "modifiers": [ + null + ], + "name": "burn", + "scope": 31760, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" }, - "id": 27354, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27303, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27298, - "mutability": "mutable", - "name": "_name", - "nodeType": "VariableDeclaration", - "scope": 27354, - "src": "1533:19:47", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27297, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1533:6:47", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "guy", + "scope": 31654, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 31580, + "name": "ElementaryTypeName", + "src": "3017:7:54" + } + ], + "id": 31581, + "name": "VariableDeclaration", + "src": "3017:11:54" }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27300, - "mutability": "mutable", - "name": "_symbol", - "nodeType": "VariableDeclaration", - "scope": 27354, - "src": "1554:21:47", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27299, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1554:6:47", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27302, - "mutability": "mutable", - "name": "_decimals", - "nodeType": "VariableDeclaration", - "scope": 27354, - "src": "1577:15:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 27301, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1577:5:47", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - } - ], - "src": "1532:61:47" - }, - "returnParameters": { - "id": 27304, - "nodeType": "ParameterList", - "parameters": [], - "src": "1594:0:47" - }, - "scope": 27625, - "src": "1521:534:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "baseFunctions": [ - 27189 - ], - "body": { - "id": 27375, - "nodeType": "Block", - "src": "2166:51:47", - "statements": [ - { - "expression": { - "arguments": [ - { - "id": 27370, - "name": "src", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27356, - "src": "2198:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 27371, - "name": "dst", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27358, - "src": "2203:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 27372, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27360, - "src": "2208:3:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "id": 27368, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -25, - "src": "2179:5:47", - "typeDescriptions": { - "typeIdentifier": "t_super$_MetaTxToken_$27625", - "typeString": "contract super MetaTxToken" - } - }, - "id": 27369, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferFrom", - "nodeType": "MemberAccess", - "referencedDeclaration": 27189, - "src": "2179:18:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,address,uint256) returns (bool)" - } - }, - "id": 27373, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2179:33:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "functionReturnParameters": 27367, - "id": 27374, - "nodeType": "Return", - "src": "2172:40:47" - } - ] - }, - "functionSelector": "23b872dd", - "id": 27376, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 27363, - "modifierName": { - "id": 27362, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27296, - "src": "2129:8:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2129:8:47" - } - ], - "name": "transferFrom", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 27364, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "2138:8:47" - }, - "parameters": { - "id": 27361, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27356, - "mutability": "mutable", - "name": "src", - "nodeType": "VariableDeclaration", - "scope": 27376, - "src": "2081:11:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27355, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2081:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27358, - "mutability": "mutable", - "name": "dst", - "nodeType": "VariableDeclaration", - "scope": 27376, - "src": "2094:11:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27357, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2094:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27360, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "scope": 27376, - "src": "2107:11:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27359, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2107:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2080:39:47" - }, - "returnParameters": { - "id": 27367, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27366, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "scope": 27376, - "src": "2158:4:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 27365, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2158:4:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "2157:6:47" - }, - "scope": 27625, - "src": "2059:158:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 27389, - "nodeType": "Block", - "src": "2260:33:47", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 27384, - "name": "msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "2271:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 27385, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2271:11:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "id": 27386, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27378, - "src": "2284:3:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27383, - "name": "mint", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 27390, - 27444 - ], - "referencedDeclaration": 27444, - "src": "2266:4:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 27387, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2266:22:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27388, - "nodeType": "ExpressionStatement", - "src": "2266:22:47" - } - ] - }, - "functionSelector": "a0712d68", - "id": 27390, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 27381, - "modifierName": { - "id": 27380, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26957, - "src": "2255:4:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2255:4:47" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27379, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27378, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "scope": 27390, - "src": "2235:11:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27377, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2235:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2234:13:47" - }, - "returnParameters": { - "id": 27382, - "nodeType": "ParameterList", - "parameters": [], - "src": "2260:0:47" - }, - "scope": 27625, - "src": "2221:72:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 27401, - "nodeType": "Block", - "src": "2331:33:47", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 27396, - "name": "msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "2342:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 27397, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2342:11:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "id": 27398, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27392, - "src": "2355:3:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27395, - "name": "burn", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 27402, - 27519 - ], - "referencedDeclaration": 27519, - "src": "2337:4:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 27399, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2337:22:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27400, - "nodeType": "ExpressionStatement", - "src": "2337:22:47" - } - ] - }, - "functionSelector": "42966c68", - "id": 27402, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27393, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27392, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "scope": 27402, - "src": "2311:11:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27391, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2311:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2310:13:47" - }, - "returnParameters": { - "id": 27394, - "nodeType": "ParameterList", - "parameters": [], - "src": "2331:0:47" - }, - "scope": 27625, - "src": "2297:67:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 27443, - "nodeType": "Block", - "src": "2420:154:47", - "statements": [ - { - "expression": { - "id": 27420, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 27411, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27022, - "src": "2426:9:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 27413, - "indexExpression": { - "id": 27412, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27404, - "src": "2436:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2426:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "baseExpression": { - "id": 27415, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27022, - "src": "2447:9:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 27417, - "indexExpression": { - "id": 27416, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27404, - "src": "2457:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2447:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 27418, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27406, - "src": "2463:3:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27414, - "name": "add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37489, - "src": "2443:3:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 27419, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2443:24:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2426:41:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 27421, - "nodeType": "ExpressionStatement", - "src": "2426:41:47" - }, - { - "expression": { - "id": 27427, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 27422, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27018, - "src": "2473:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 27424, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27018, - "src": "2487:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 27425, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27406, - "src": "2496:3:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27423, - "name": "add", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37489, - "src": "2483:3:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 27426, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2483:17:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2473:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 27428, - "nodeType": "ExpressionStatement", - "src": "2473:27:47" - }, - { - "eventCall": { - "arguments": [ - { - "id": 27430, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27404, - "src": "2517:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 27431, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27406, - "src": "2522:3:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27429, - "name": "Mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27248, - "src": "2512:4:47", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 27432, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2512:14:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27433, - "nodeType": "EmitStatement", - "src": "2507:19:47" - }, - { - "eventCall": { - "arguments": [ - { - "arguments": [ - { - "hexValue": "307830", - "id": 27437, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2554:3:47", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0x0" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - } - ], - "id": 27436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2546:7:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 27435, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2546:7:47", - "typeDescriptions": {} - } - }, - "id": 27438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2546:12:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "id": 27439, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27404, - "src": "2560:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 27440, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27406, - "src": "2565:3:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27434, - "name": "Transfer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37411, - "src": "2537:8:47", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 27441, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2537:32:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27442, - "nodeType": "EmitStatement", - "src": "2532:37:47" - } - ] - }, - "functionSelector": "40c10f19", - "id": 27444, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 27409, - "modifierName": { - "id": 27408, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26957, - "src": "2415:4:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "2415:4:47" - } - ], - "name": "mint", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27407, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27404, - "mutability": "mutable", - "name": "guy", - "nodeType": "VariableDeclaration", - "scope": 27444, - "src": "2382:11:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27403, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2382:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27406, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "scope": 27444, - "src": "2395:11:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27405, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2395:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2381:26:47" - }, - "returnParameters": { - "id": 27410, - "nodeType": "ParameterList", - "parameters": [], - "src": "2420:0:47" - }, - "scope": 27625, - "src": "2368:206:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 27518, - "nodeType": "Block", - "src": "2625:380:47", - "statements": [ - { - "condition": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 27454, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 27451, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2635:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 27452, - "name": "msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "2642:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 27453, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2642:11:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "2635:18:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 27485, - "nodeType": "IfStatement", - "src": "2631:194:47", - "trueBody": { - "id": 27484, - "nodeType": "Block", - "src": "2655:170:47", - "statements": [ - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27463, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "baseExpression": { - "id": 27456, - "name": "_approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27028, - "src": "2671:10:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 27458, - "indexExpression": { - "id": 27457, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2682:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2671:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 27461, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 27459, - "name": "msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "2687:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 27460, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2687:11:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2671:28:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 27462, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27448, - "src": "2703:3:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2671:35:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "64732d746f6b656e2d696e73756666696369656e742d617070726f76616c", - "id": 27464, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2708:32:47", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_696d4069430cf8d6cb2027cca74c9eeb7bde4a18fa913c0c20fafe3803d09463", - "typeString": "literal_string \"ds-token-insufficient-approval\"" - }, - "value": "ds-token-insufficient-approval" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_696d4069430cf8d6cb2027cca74c9eeb7bde4a18fa913c0c20fafe3803d09463", - "typeString": "literal_string \"ds-token-insufficient-approval\"" - } - ], - "id": 27455, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2663:7:47", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2663:78:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27466, - "nodeType": "ExpressionStatement", - "src": "2663:78:47" - }, - { - "expression": { - "id": 27482, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 27467, - "name": "_approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27028, - "src": "2749:10:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 27471, - "indexExpression": { - "id": 27468, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2760:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2749:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 27472, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 27469, - "name": "msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "2765:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 27470, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2765:11:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2749:28:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "baseExpression": { - "baseExpression": { - "id": 27474, - "name": "_approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27028, - "src": "2784:10:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } - }, - "id": 27476, - "indexExpression": { - "id": 27475, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2795:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2784:15:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 27479, - "indexExpression": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 27477, - "name": "msgSender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 18603, - "src": "2800:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_address_payable_$", - "typeString": "function () view returns (address payable)" - } - }, - "id": 27478, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2800:11:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2784:28:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 27480, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27448, - "src": "2814:3:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27473, - "name": "sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37511, - "src": "2780:3:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 27481, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2780:38:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2749:69:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 27483, - "nodeType": "ExpressionStatement", - "src": "2749:69:47" - } - ] - } - }, - { - "expression": { - "arguments": [ - { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27491, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "baseExpression": { - "id": 27487, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27022, - "src": "2839:9:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 27489, - "indexExpression": { - "id": 27488, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2849:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2839:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "id": 27490, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27448, - "src": "2857:3:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2839:21:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "64732d746f6b656e2d696e73756666696369656e742d62616c616e6365", - "id": 27492, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2862:31:47", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_58b3253fdcbd27eec9eeef4ab31fa5cbbc7b0eada085070fa774e92cf7110bce", - "typeString": "literal_string \"ds-token-insufficient-balance\"" - }, - "value": "ds-token-insufficient-balance" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_58b3253fdcbd27eec9eeef4ab31fa5cbbc7b0eada085070fa774e92cf7110bce", - "typeString": "literal_string \"ds-token-insufficient-balance\"" - } - ], - "id": 27486, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2831:7:47", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2831:63:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27494, - "nodeType": "ExpressionStatement", - "src": "2831:63:47" - }, - { - "expression": { - "id": 27504, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "id": 27495, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27022, - "src": "2900:9:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 27497, - "indexExpression": { - "id": 27496, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2910:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "2900:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "baseExpression": { - "id": 27499, - "name": "_balances", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27022, - "src": "2921:9:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 27501, - "indexExpression": { - "id": 27500, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2931:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2921:14:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 27502, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27448, - "src": "2937:3:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27498, - "name": "sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37511, - "src": "2917:3:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 27503, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2917:24:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2900:41:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 27505, - "nodeType": "ExpressionStatement", - "src": "2900:41:47" - }, - { - "expression": { - "id": 27511, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 27506, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27018, - "src": "2947:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "arguments": [ - { - "id": 27508, - "name": "_supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27018, - "src": "2961:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "id": 27509, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27448, - "src": "2970:3:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27507, - "name": "sub", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37511, - "src": "2957:3:47", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (uint256,uint256) pure returns (uint256)" - } - }, - "id": 27510, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2957:17:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2947:27:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 27512, - "nodeType": "ExpressionStatement", - "src": "2947:27:47" - }, - { - "eventCall": { - "arguments": [ - { - "id": 27514, - "name": "guy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27446, - "src": "2991:3:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 27515, - "name": "wad", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27448, - "src": "2996:3:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27513, - "name": "Burn", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27254, - "src": "2986:4:47", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 27516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2986:14:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27517, - "nodeType": "EmitStatement", - "src": "2981:19:47" - } - ] - }, - "functionSelector": "9dc29fac", - "id": 27519, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "burn", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27449, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27446, - "mutability": "mutable", - "name": "guy", - "nodeType": "VariableDeclaration", - "scope": 27519, - "src": "2592:11:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27445, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2592:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27448, - "mutability": "mutable", - "name": "wad", - "nodeType": "VariableDeclaration", - "scope": 27519, - "src": "2605:11:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27447, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2605:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "2591:26:47" - }, - "returnParameters": { - "id": 27450, - "nodeType": "ParameterList", - "parameters": [], - "src": "2625:0:47" - }, - "scope": 27625, - "src": "2578:427:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "body": { - "id": 27528, - "nodeType": "Block", - "src": "3043:25:47", - "statements": [ - { - "expression": { - "id": 27526, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 27524, - "name": "locked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27236, - "src": "3049:6:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "hexValue": "66616c7365", - "id": 27525, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "bool", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3058:5:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "value": "false" - }, - "src": "3049:14:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 27527, - "nodeType": "ExpressionStatement", - "src": "3049:14:47" - } - ] - }, - "functionSelector": "a69df4b5", - "id": 27529, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 27522, - "modifierName": { - "id": 27521, - "name": "auth", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 26957, - "src": "3036:4:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "wad", + "scope": 31654, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 31582, + "name": "ElementaryTypeName", + "src": "3030:7:54" + } + ], + "id": 31583, + "name": "VariableDeclaration", + "src": "3030:11:54" } - }, - "nodeType": "ModifierInvocation", - "src": "3036:4:47" - } - ], - "name": "unlock", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27520, - "nodeType": "ParameterList", - "parameters": [], - "src": "3024:2:47" - }, - "returnParameters": { - "id": 27523, - "nodeType": "ParameterList", - "parameters": [], - "src": "3043:0:47" - }, - "scope": 27625, - "src": "3009:59:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "constant": true, - "functionSelector": "30adf81f", - "id": 27532, - "mutability": "constant", - "name": "PERMIT_TYPEHASH", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "3318:108:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27530, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3318:7:47", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": { - "hexValue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", - "id": 27531, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3360:66:47", - "typeDescriptions": { - "typeIdentifier": "t_rational_49955707469362902507454157297736832118868343942642399513960811609542965143241_by_1", - "typeString": "int_const 4995...(69 digits omitted)...3241" + ], + "id": 31584, + "name": "ParameterList", + "src": "3016:26:54" }, - "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" - }, - "visibility": "public" - }, - { - "constant": true, - "id": 27535, - "mutability": "constant", - "name": "EIP_712_PREFIX", - "nodeType": "VariableDeclaration", - "scope": 27625, - "src": "3430:43:47", - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 27533, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "3430:6:47", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "hexValue": "1901", - "id": 27534, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3463:10:47", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_301a50b291d33ce1e8e9064e3f6a6c51d902ec22892b50d58abf6357c6a45541", - "typeString": "literal_string hex\"1901\"" + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 31585, + "name": "ParameterList", + "src": "3050:0:54" }, - "value": "\u0019\u0001" - }, - "visibility": "internal" - }, - { - "body": { - "id": 27623, - "nodeType": "Block", - "src": "3608:604:47", - "statements": [ - { - "expression": { - "arguments": [ + { + "children": [ + { + "attributes": {}, + "children": [ { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 27558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "id": 27555, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27543, - "src": "3624:8:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": ">=", - "rightExpression": { - "expression": { - "id": 27556, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "3636:5:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } + "attributes": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" }, - "id": 27557, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "src": "3636:15:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3624:27:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "636f6c6f6e792d746f6b656e2d657870697265642d646561646c696e65", - "id": 27559, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3653:31:47", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_815ebfb3109265b29ca267dae21cbe8c0cb89ce273ce5bcfb289f62de84da14d", - "typeString": "literal_string \"colony-token-expired-deadline\"" - }, - "value": "colony-token-expired-deadline" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" + "operator": "!=", + "type": "bool" }, - { - "typeIdentifier": "t_stringliteral_815ebfb3109265b29ca267dae21cbe8c0cb89ce273ce5bcfb289f62de84da14d", - "typeString": "literal_string \"colony-token-expired-deadline\"" - } - ], - "id": 27554, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3616:7:47", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27560, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3616:69:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27561, - "nodeType": "ExpressionStatement", - "src": "3616:69:47" - }, - { - "assignments": [ - 27563 - ], - "declarations": [ - { - "constant": false, - "id": 27563, - "mutability": "mutable", - "name": "digest", - "nodeType": "VariableDeclaration", - "scope": 27623, - "src": "3694:14:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27562, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3694:7:47", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "id": 27585, - "initialValue": { - "arguments": [ - { - "arguments": [ - { - "id": 27567, - "name": "EIP_712_PREFIX", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27535, - "src": "3764:14:47", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, + "children": [ { - "id": 27568, - "name": "DOMAIN_SEPARATOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27238, - "src": "3794:16:47", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31581, + "type": "address", + "value": "guy" + }, + "id": 31586, + "name": "Identifier", + "src": "3060:3:54" }, { - "arguments": [ + "attributes": { + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "address payable", + "type_conversion": false + }, + "children": [ { - "arguments": [ - { - "id": 27572, - "name": "PERMIT_TYPEHASH", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27532, - "src": "3847:15:47", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 19735, + "type": "function () view returns (address payable)", + "value": "msgSender" + }, + "id": 31587, + "name": "Identifier", + "src": "3067:9:54" + } + ], + "id": 31588, + "name": "FunctionCall", + "src": "3067:11:54" + } + ], + "id": 31589, + "name": "BinaryOperation", + "src": "3060:18:54" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ { - "id": 27573, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27537, - "src": "3864:5:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_696d4069430cf8d6cb2027cca74c9eeb7bde4a18fa913c0c20fafe3803d09463", + "typeString": "literal_string \"ds-token-insufficient-approval\"" + } + ], + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "type": "function (bool,string memory) pure", + "value": "require" + }, + "id": 31590, + "name": "Identifier", + "src": "3088:7:54" }, { - "id": 27574, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27539, - "src": "3871:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "attributes": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31151, + "type": "mapping(address => mapping(address => uint256))", + "value": "_approvals" + }, + "id": 31591, + "name": "Identifier", + "src": "3096:10:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31581, + "type": "address", + "value": "guy" + }, + "id": 31592, + "name": "Identifier", + "src": "3107:3:54" + } + ], + "id": 31593, + "name": "IndexAccess", + "src": "3096:15:54" + }, + { + "attributes": { + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "address payable", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 19735, + "type": "function () view returns (address payable)", + "value": "msgSender" + }, + "id": 31594, + "name": "Identifier", + "src": "3112:9:54" + } + ], + "id": 31595, + "name": "FunctionCall", + "src": "3112:11:54" + } + ], + "id": 31596, + "name": "IndexAccess", + "src": "3096:28:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31583, + "type": "uint256", + "value": "wad" + }, + "id": 31597, + "name": "Identifier", + "src": "3128:3:54" + } + ], + "id": 31598, + "name": "BinaryOperation", + "src": "3096:35:54" }, { - "id": 27575, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27541, - "src": "3880:5:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, + "attributes": { + "hexvalue": "64732d746f6b656e2d696e73756666696369656e742d617070726f76616c", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "token": "string", + "type": "literal_string \"ds-token-insufficient-approval\"", + "value": "ds-token-insufficient-approval" + }, + "id": 31599, + "name": "Literal", + "src": "3133:32:54" + } + ], + "id": 31600, + "name": "FunctionCall", + "src": "3088:78:54" + } + ], + "id": 31601, + "name": "ExpressionStatement", + "src": "3088:78:54" + }, + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ { - "id": 27579, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "3887:30:47", - "subExpression": { - "baseExpression": { - "id": 27576, - "name": "metatransactionNonces", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27242, - "src": "3887:21:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 27578, - "indexExpression": { - "id": 27577, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27537, - "src": "3909:5:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, + "attributes": { "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "3887:28:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "type": "uint256" + }, + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31151, + "type": "mapping(address => mapping(address => uint256))", + "value": "_approvals" + }, + "id": 31602, + "name": "Identifier", + "src": "3174:10:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31581, + "type": "address", + "value": "guy" + }, + "id": 31603, + "name": "Identifier", + "src": "3185:3:54" + } + ], + "id": 31606, + "name": "IndexAccess", + "src": "3174:15:54" + }, + { + "attributes": { + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "address payable", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 19735, + "type": "function () view returns (address payable)", + "value": "msgSender" + }, + "id": 31604, + "name": "Identifier", + "src": "3190:9:54" + } + ], + "id": 31605, + "name": "FunctionCall", + "src": "3190:11:54" } + ], + "id": 31607, + "name": "IndexAccess", + "src": "3174:28:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "uint256", + "type_conversion": false }, - "typeDescriptions": { + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 43693, + "type": "function (uint256,uint256) pure returns (uint256)", + "value": "sub" + }, + "id": 31608, + "name": "Identifier", + "src": "3205:3:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31151, + "type": "mapping(address => mapping(address => uint256))", + "value": "_approvals" + }, + "id": 31609, + "name": "Identifier", + "src": "3209:10:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31581, + "type": "address", + "value": "guy" + }, + "id": 31610, + "name": "Identifier", + "src": "3220:3:54" + } + ], + "id": 31611, + "name": "IndexAccess", + "src": "3209:15:54" + }, + { + "attributes": { + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "address payable", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 19735, + "type": "function () view returns (address payable)", + "value": "msgSender" + }, + "id": 31612, + "name": "Identifier", + "src": "3225:9:54" + } + ], + "id": 31613, + "name": "FunctionCall", + "src": "3225:11:54" + } + ], + "id": 31614, + "name": "IndexAccess", + "src": "3209:28:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31583, + "type": "uint256", + "value": "wad" + }, + "id": 31615, + "name": "Identifier", + "src": "3239:3:54" + } + ], + "id": 31616, + "name": "FunctionCall", + "src": "3205:38:54" + } + ], + "id": 31617, + "name": "Assignment", + "src": "3174:69:54" + } + ], + "id": 31618, + "name": "ExpressionStatement", + "src": "3174:69:54" + } + ], + "id": 31619, + "name": "Block", + "src": "3080:170:54" + } + ], + "id": 31620, + "name": "IfStatement", + "src": "3056:194:54" + }, + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_58b3253fdcbd27eec9eeef4ab31fa5cbbc7b0eada085070fa774e92cf7110bce", + "typeString": "literal_string \"ds-token-insufficient-balance\"" + } + ], + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "type": "function (bool,string memory) pure", + "value": "require" + }, + "id": 31621, + "name": "Identifier", + "src": "3256:7:54" + }, + { + "attributes": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31145, + "type": "mapping(address => uint256)", + "value": "_balances" + }, + "id": 31622, + "name": "Identifier", + "src": "3264:9:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31581, + "type": "address", + "value": "guy" + }, + "id": 31623, + "name": "Identifier", + "src": "3274:3:54" + } + ], + "id": 31624, + "name": "IndexAccess", + "src": "3264:14:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31583, + "type": "uint256", + "value": "wad" + }, + "id": 31625, + "name": "Identifier", + "src": "3282:3:54" + } + ], + "id": 31626, + "name": "BinaryOperation", + "src": "3264:21:54" + }, + { + "attributes": { + "hexvalue": "64732d746f6b656e2d696e73756666696369656e742d62616c616e6365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "token": "string", + "type": "literal_string \"ds-token-insufficient-balance\"", + "value": "ds-token-insufficient-balance" + }, + "id": 31627, + "name": "Literal", + "src": "3287:31:54" + } + ], + "id": 31628, + "name": "FunctionCall", + "src": "3256:63:54" + } + ], + "id": 31629, + "name": "ExpressionStatement", + "src": "3256:63:54" + }, + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31145, + "type": "mapping(address => uint256)", + "value": "_balances" + }, + "id": 31630, + "name": "Identifier", + "src": "3325:9:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31581, + "type": "address", + "value": "guy" + }, + "id": 31631, + "name": "Identifier", + "src": "3335:3:54" + } + ], + "id": 31632, + "name": "IndexAccess", + "src": "3325:14:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 43693, + "type": "function (uint256,uint256) pure returns (uint256)", + "value": "sub" + }, + "id": 31633, + "name": "Identifier", + "src": "3342:3:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31145, + "type": "mapping(address => uint256)", + "value": "_balances" + }, + "id": 31634, + "name": "Identifier", + "src": "3346:9:54" }, { - "id": 27580, - "name": "deadline", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27543, - "src": "3919:8:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31581, + "type": "address", + "value": "guy" + }, + "id": 31635, + "name": "Identifier", + "src": "3356:3:54" } ], - "expression": { + "id": 31636, + "name": "IndexAccess", + "src": "3346:14:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31583, + "type": "uint256", + "value": "wad" + }, + "id": 31637, + "name": "Identifier", + "src": "3362:3:54" + } + ], + "id": 31638, + "name": "FunctionCall", + "src": "3342:24:54" + } + ], + "id": 31639, + "name": "Assignment", + "src": "3325:41:54" + } + ], + "id": 31640, + "name": "ExpressionStatement", + "src": "3325:41:54" + }, + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31141, + "type": "uint256", + "value": "_supply" + }, + "id": 31641, + "name": "Identifier", + "src": "3372:7:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -10422,942 +10445,1697 @@ "typeString": "uint256" } ], - "expression": { - "id": 27570, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3836:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 27571, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "encode", - "nodeType": "MemberAccess", - "src": "3836:10:47", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" - } + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 43693, + "type": "function (uint256,uint256) pure returns (uint256)", + "value": "sub" }, - "id": 27581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3836:92:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } + "id": 31642, + "name": "Identifier", + "src": "3382:3:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31141, + "type": "uint256", + "value": "_supply" + }, + "id": 31643, + "name": "Identifier", + "src": "3386:7:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31583, + "type": "uint256", + "value": "wad" + }, + "id": 31644, + "name": "Identifier", + "src": "3395:3:54" } ], - "expression": { + "id": 31645, + "name": "FunctionCall", + "src": "3382:17:54" + } + ], + "id": 31646, + "name": "Assignment", + "src": "3372:27:54" + } + ], + "id": 31647, + "name": "ExpressionStatement", + "src": "3372:27:54" + }, + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" } ], - "id": 27569, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "3826:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 27582, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3826:103:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31377, + "type": "function (address,uint256)", + "value": "Burn" }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "id": 31648, + "name": "Identifier", + "src": "3411:4:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31581, + "type": "address", + "value": "guy" }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "id": 27565, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "3732:3:47", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } + "id": 31649, + "name": "Identifier", + "src": "3416:3:54" }, - "id": 27566, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31583, + "type": "uint256", + "value": "wad" + }, + "id": 31650, + "name": "Identifier", + "src": "3421:3:54" + } + ], + "id": 31651, + "name": "FunctionCall", + "src": "3411:14:54" + } + ], + "id": 31652, + "name": "EmitStatement", + "src": "3406:19:54" + } + ], + "id": 31653, + "name": "Block", + "src": "3050:380:54" + } + ], + "id": 31654, + "name": "FunctionDefinition", + "src": "3003:427:54" + }, + { + "attributes": { + "functionSelector": "a69df4b5", + "implemented": true, + "isConstructor": false, + "kind": "function", + "name": "unlock", + "scope": 31760, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 31655, + "name": "ParameterList", + "src": "3449:2:54" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 31658, + "name": "ParameterList", + "src": "3468:0:54" + }, + { + "attributes": {}, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31080, + "type": "modifier ()", + "value": "auth" + }, + "id": 31656, + "name": "Identifier", + "src": "3461:4:54" + } + ], + "id": 31657, + "name": "ModifierInvocation", + "src": "3461:4:54" + }, + { + "children": [ + { + "children": [ + { + "attributes": { "isConstant": false, "isLValue": false, - "isPure": true, + "isPure": false, "lValueRequested": false, - "memberName": "encodePacked", - "nodeType": "MemberAccess", - "src": "3732:16:47", - "typeDescriptions": { - "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", - "typeString": "function () pure returns (bytes memory)" + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31359, + "type": "bool", + "value": "locked" + }, + "id": 31659, + "name": "Identifier", + "src": "3474:6:54" + }, + { + "attributes": { + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 31660, + "name": "Literal", + "src": "3483:5:54" } + ], + "id": 31661, + "name": "Assignment", + "src": "3474:14:54" + } + ], + "id": 31662, + "name": "ExpressionStatement", + "src": "3474:14:54" + } + ], + "id": 31663, + "name": "Block", + "src": "3468:25:54" + } + ], + "id": 31664, + "name": "FunctionDefinition", + "src": "3434:59:54" + }, + { + "attributes": { + "constant": true, + "functionSelector": "30adf81f", + "mutability": "constant", + "name": "PERMIT_TYPEHASH", + "scope": 31760, + "stateVariable": true, + "storageLocation": "default", + "type": "bytes32", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 31665, + "name": "ElementaryTypeName", + "src": "3743:7:54" + }, + { + "attributes": { + "hexvalue": "307836653731656461653132623162393766346431663630333730666566313031303566613266616165303132363131346131363963363438343564363132366339", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "token": "number", + "type": "int_const 4995...(69 digits omitted)...3241", + "value": "0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9" + }, + "id": 31666, + "name": "Literal", + "src": "3785:66:54" + } + ], + "id": 31667, + "name": "VariableDeclaration", + "src": "3743:108:54" + }, + { + "attributes": { + "constant": true, + "mutability": "constant", + "name": "EIP_712_PREFIX", + "scope": 31760, + "stateVariable": true, + "storageLocation": "default", + "type": "string", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "string", + "type": "string" + }, + "id": 31668, + "name": "ElementaryTypeName", + "src": "3855:6:54" + }, + { + "attributes": { + "hexvalue": "1901", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "token": "string", + "type": "literal_string hex\"1901\"", + "value": "\u0019\u0001" + }, + "id": 31669, + "name": "Literal", + "src": "3888:10:54" + } + ], + "id": 31670, + "name": "VariableDeclaration", + "src": "3855:43:54" + }, + { + "attributes": { + "functionSelector": "d505accf", + "implemented": true, + "isConstructor": false, + "kind": "function", + "name": "permit", + "scope": 31760, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "owner", + "scope": 31759, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" }, - "id": 27583, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3732:209:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } + "id": 31671, + "name": "ElementaryTypeName", + "src": "3919:7:54" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 27564, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "3711:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 27584, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3711:238:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "id": 31672, + "name": "VariableDeclaration", + "src": "3919:13:54" }, - "nodeType": "VariableDeclarationStatement", - "src": "3694:255:47" - }, - { - "assignments": [ - 27587 - ], - "declarations": [ - { + { + "attributes": { "constant": false, - "id": 27587, "mutability": "mutable", - "name": "recoveredAddress", - "nodeType": "VariableDeclaration", - "scope": 27623, - "src": "3957:24:47", + "name": "spender", + "scope": 31759, "stateVariable": false, "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3957:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, + "type": "address", "visibility": "internal" - } - ], - "id": 27594, - "initialValue": { - "arguments": [ - { - "id": 27589, - "name": "digest", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27563, - "src": "3994:6:47", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "id": 27590, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27545, - "src": "4002:1:47", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "id": 27591, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27547, - "src": "4005:1:47", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, + }, + "children": [ { - "id": 27592, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27549, - "src": "4008:1:47", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 31673, + "name": "ElementaryTypeName", + "src": "3934:7:54" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "id": 31674, + "name": "VariableDeclaration", + "src": "3934:15:54" + }, + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "value", + "scope": 31759, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" + "id": 31675, + "name": "ElementaryTypeName", + "src": "3951:7:54" + } + ], + "id": 31676, + "name": "VariableDeclaration", + "src": "3951:13:54" + }, + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "deadline", + "scope": 31759, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" + "id": 31677, + "name": "ElementaryTypeName", + "src": "3966:7:54" + } + ], + "id": 31678, + "name": "VariableDeclaration", + "src": "3966:16:54" + }, + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "v", + "scope": 31759, + "stateVariable": false, + "storageLocation": "default", + "type": "uint8", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint8", + "type": "uint8" }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 27588, - "name": "ecrecover", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -6, - "src": "3984:9:47", - "typeDescriptions": { - "typeIdentifier": "t_function_ecrecover_pure$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$_t_address_$", - "typeString": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)" + "id": 31679, + "name": "ElementaryTypeName", + "src": "3984:5:54" } + ], + "id": 31680, + "name": "VariableDeclaration", + "src": "3984:7:54" + }, + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "r", + "scope": 31759, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "visibility": "internal" }, - "id": 27593, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3984:26:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 31681, + "name": "ElementaryTypeName", + "src": "3993:7:54" + } + ], + "id": 31682, + "name": "VariableDeclaration", + "src": "3993:9:54" }, - "nodeType": "VariableDeclarationStatement", - "src": "3957:53:47" + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "s", + "scope": 31759, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 31683, + "name": "ElementaryTypeName", + "src": "4004:7:54" + } + ], + "id": 31684, + "name": "VariableDeclaration", + "src": "4004:9:54" + } + ], + "id": 31685, + "name": "ParameterList", + "src": "3918:96:54" + }, + { + "attributes": { + "parameters": [ + null + ] }, - { - "expression": { - "arguments": [ + "children": [], + "id": 31688, + "name": "ParameterList", + "src": "4033:0:54" + }, + { + "attributes": {}, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31431, + "type": "modifier ()", + "value": "unlocked" + }, + "id": 31686, + "name": "Identifier", + "src": "4024:8:54" + } + ], + "id": 31687, + "name": "ModifierInvocation", + "src": "4024:8:54" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_815ebfb3109265b29ca267dae21cbe8c0cb89ce273ce5bcfb289f62de84da14d", + "typeString": "literal_string \"colony-token-expired-deadline\"" + } + ], + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "type": "function (bool,string memory) pure", + "value": "require" + }, + "id": 31689, + "name": "Identifier", + "src": "4041:7:54" + }, + { + "attributes": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31678, + "type": "uint256", + "value": "deadline" + }, + "id": 31690, + "name": "Identifier", + "src": "4049:8:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "timestamp", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -4, + "type": "block", + "value": "block" + }, + "id": 31691, + "name": "Identifier", + "src": "4061:5:54" + } + ], + "id": 31692, + "name": "MemberAccess", + "src": "4061:15:54" + } + ], + "id": 31693, + "name": "BinaryOperation", + "src": "4049:27:54" + }, + { + "attributes": { + "hexvalue": "636f6c6f6e792d746f6b656e2d657870697265642d646561646c696e65", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "token": "string", + "type": "literal_string \"colony-token-expired-deadline\"", + "value": "colony-token-expired-deadline" + }, + "id": 31694, + "name": "Literal", + "src": "4078:31:54" + } + ], + "id": 31695, + "name": "FunctionCall", + "src": "4041:69:54" + } + ], + "id": 31696, + "name": "ExpressionStatement", + "src": "4041:69:54" + }, + { + "attributes": { + "assignments": [ + 31698 + ] + }, + "children": [ { - "commonType": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "digest", + "scope": 31758, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "visibility": "internal" }, - "id": 27605, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 27601, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 31697, + "name": "ElementaryTypeName", + "src": "4119:7:54" + } + ], + "id": 31698, + "name": "VariableDeclaration", + "src": "4119:14:54" + }, + { + "attributes": { "isConstant": false, "isLValue": false, "isPure": false, + "isStructConstructorCall": false, "lValueRequested": false, - "leftExpression": { - "id": 27596, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27587, - "src": "4026:16:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "names": [ + null + ], + "tryCall": false, + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -8, + "type": "function (bytes memory) pure returns (bytes32)", + "value": "keccak256" + }, + "id": 31699, + "name": "Identifier", + "src": "4136:9:54" }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "arguments": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bytes memory", + "type_conversion": false + }, + "children": [ { - "hexValue": "30", - "id": 27599, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4054:1:47", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "member_name": "encodePacked", + "type": "function () pure returns (bytes memory)" }, - "value": "0" + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -1, + "type": "abi", + "value": "abi" + }, + "id": 31700, + "name": "Identifier", + "src": "4157:3:54" + } + ], + "id": 31701, + "name": "MemberAccess", + "src": "4157:16:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31670, + "type": "string memory", + "value": "EIP_712_PREFIX" + }, + "id": 31702, + "name": "Identifier", + "src": "4189:14:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31361, + "type": "bytes32", + "value": "DOMAIN_SEPARATOR" + }, + "id": 31703, + "name": "Identifier", + "src": "4219:16:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -8, + "type": "function (bytes memory) pure returns (bytes32)", + "value": "keccak256" + }, + "id": 31704, + "name": "Identifier", + "src": "4251:9:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "bytes memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "member_name": "encode", + "type": "function () pure returns (bytes memory)" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -1, + "type": "abi", + "value": "abi" + }, + "id": 31705, + "name": "Identifier", + "src": "4261:3:54" + } + ], + "id": 31706, + "name": "MemberAccess", + "src": "4261:10:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31667, + "type": "bytes32", + "value": "PERMIT_TYPEHASH" + }, + "id": 31707, + "name": "Identifier", + "src": "4272:15:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31672, + "type": "address", + "value": "owner" + }, + "id": 31708, + "name": "Identifier", + "src": "4289:5:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31674, + "type": "address", + "value": "spender" + }, + "id": 31709, + "name": "Identifier", + "src": "4296:7:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31676, + "type": "uint256", + "value": "value" + }, + "id": 31710, + "name": "Identifier", + "src": "4305:5:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31365, + "type": "mapping(address => uint256)", + "value": "metatransactionNonces" + }, + "id": 31711, + "name": "Identifier", + "src": "4312:21:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31672, + "type": "address", + "value": "owner" + }, + "id": 31712, + "name": "Identifier", + "src": "4334:5:54" + } + ], + "id": 31713, + "name": "IndexAccess", + "src": "4312:28:54" + } + ], + "id": 31714, + "name": "UnaryOperation", + "src": "4312:30:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31678, + "type": "uint256", + "value": "deadline" + }, + "id": 31715, + "name": "Identifier", + "src": "4344:8:54" + } + ], + "id": 31716, + "name": "FunctionCall", + "src": "4261:92:54" + } + ], + "id": 31717, + "name": "FunctionCall", + "src": "4251:103:54" } ], - "expression": { + "id": 31718, + "name": "FunctionCall", + "src": "4157:209:54" + } + ], + "id": 31719, + "name": "FunctionCall", + "src": "4136:238:54" + } + ], + "id": 31720, + "name": "VariableDeclarationStatement", + "src": "4119:255:54" + }, + { + "attributes": { + "assignments": [ + 31722 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "mutability": "mutable", + "name": "recoveredAddress", + "scope": 31758, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "stateMutability": "nonpayable", + "type": "address" + }, + "id": 31721, + "name": "ElementaryTypeName", + "src": "4382:7:54" + } + ], + "id": 31722, + "name": "VariableDeclaration", + "src": "4382:24:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { "argumentTypes": [ { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": -6, + "type": "function (bytes32,uint8,bytes32,bytes32) pure returns (address)", + "value": "ecrecover" + }, + "id": 31723, + "name": "Identifier", + "src": "4409:9:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31698, + "type": "bytes32", + "value": "digest" + }, + "id": 31724, + "name": "Identifier", + "src": "4419:6:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31680, + "type": "uint8", + "value": "v" + }, + "id": 31725, + "name": "Identifier", + "src": "4427:1:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31682, + "type": "bytes32", + "value": "r" + }, + "id": 31726, + "name": "Identifier", + "src": "4430:1:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31684, + "type": "bytes32", + "value": "s" + }, + "id": 31727, + "name": "Identifier", + "src": "4433:1:54" + } + ], + "id": 31728, + "name": "FunctionCall", + "src": "4409:26:54" + } + ], + "id": 31729, + "name": "VariableDeclarationStatement", + "src": "4382:53:54" + }, + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_526edddc9727429a967a975832be0465c1934d62e7f830eb064e30b134f4fab2", + "typeString": "literal_string \"colony-token-invalid-signature\"" } ], - "id": 27598, + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "type": "function (bool,string memory) pure", + "value": "require" + }, + "id": 31730, + "name": "Identifier", + "src": "4443:7:54" + }, + { + "attributes": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31722, + "type": "address", + "value": "recoveredAddress" + }, + "id": 31731, + "name": "Identifier", + "src": "4451:16:54" + }, + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "address payable", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)" + }, + "children": [ + { + "attributes": { + "name": "address" + }, + "id": 31732, + "name": "ElementaryTypeName", + "src": "4471:7:54" + } + ], + "id": 31733, + "name": "ElementaryTypeNameExpression", + "src": "4471:7:54" + }, + { + "attributes": { + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 31734, + "name": "Literal", + "src": "4479:1:54" + } + ], + "id": 31735, + "name": "FunctionCall", + "src": "4471:10:54" + } + ], + "id": 31736, + "name": "BinaryOperation", + "src": "4451:30:54" + }, + { + "attributes": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31722, + "type": "address", + "value": "recoveredAddress" + }, + "id": 31737, + "name": "Identifier", + "src": "4485:16:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31672, + "type": "address", + "value": "owner" + }, + "id": 31738, + "name": "Identifier", + "src": "4505:5:54" + } + ], + "id": 31739, + "name": "BinaryOperation", + "src": "4485:25:54" + } + ], + "id": 31740, + "name": "BinaryOperation", + "src": "4451:59:54" + }, + { + "attributes": { + "hexvalue": "636f6c6f6e792d746f6b656e2d696e76616c69642d7369676e6174757265", "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4046:7:47", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 27597, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4046:7:47", - "typeDescriptions": {} - } + "token": "string", + "type": "literal_string \"colony-token-invalid-signature\"", + "value": "colony-token-invalid-signature" }, - "id": 27600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4046:10:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "4026:30:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" + "id": 31741, + "name": "Literal", + "src": "4512:32:54" } - }, - "nodeType": "BinaryOperation", - "operator": "&&", - "rightExpression": { - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 27604, + ], + "id": 31742, + "name": "FunctionCall", + "src": "4443:102:54" + } + ], + "id": 31743, + "name": "ExpressionStatement", + "src": "4443:102:54" + }, + { + "children": [ + { + "attributes": { "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "leftExpression": { - "id": 27602, - "name": "recoveredAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27587, - "src": "4060:16:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "id": 27603, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27537, - "src": "4080:5:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "4060:25:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "src": "4026:59:47", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "hexValue": "636f6c6f6e792d746f6b656e2d696e76616c69642d7369676e6174757265", - "id": 27606, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4087:32:47", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_526edddc9727429a967a975832be0465c1934d62e7f830eb064e30b134f4fab2", - "typeString": "literal_string \"colony-token-invalid-signature\"" - }, - "value": "colony-token-invalid-signature" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_526edddc9727429a967a975832be0465c1934d62e7f830eb064e30b134f4fab2", - "typeString": "literal_string \"colony-token-invalid-signature\"" - } - ], - "id": 27595, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4018:7:47", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 27607, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4018:102:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27608, - "nodeType": "ExpressionStatement", - "src": "4018:102:47" - }, - { - "expression": { - "id": 27615, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "baseExpression": { - "baseExpression": { - "id": 27609, - "name": "_approvals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27028, - "src": "4128:10:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", - "typeString": "mapping(address => mapping(address => uint256))" - } + "operator": "=", + "type": "uint256" }, - "id": 27612, - "indexExpression": { - "id": 27610, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27537, - "src": "4139:5:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31151, + "type": "mapping(address => mapping(address => uint256))", + "value": "_approvals" + }, + "id": 31744, + "name": "Identifier", + "src": "4553:10:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31672, + "type": "address", + "value": "owner" + }, + "id": 31745, + "name": "Identifier", + "src": "4564:5:54" + } + ], + "id": 31747, + "name": "IndexAccess", + "src": "4553:17:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31674, + "type": "address", + "value": "spender" + }, + "id": 31746, + "name": "Identifier", + "src": "4571:7:54" + } + ], + "id": 31748, + "name": "IndexAccess", + "src": "4553:26:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31676, + "type": "uint256", + "value": "value" + }, + "id": 31749, + "name": "Identifier", + "src": "4582:5:54" } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4128:17:47", - "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", - "typeString": "mapping(address => uint256)" - } - }, - "id": 27613, - "indexExpression": { - "id": 27611, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27539, - "src": "4146:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "IndexAccess", - "src": "4128:26:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 27614, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27541, - "src": "4157:5:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4128:34:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 27616, - "nodeType": "ExpressionStatement", - "src": "4128:34:47" - }, - { - "eventCall": { - "arguments": [ - { - "id": 27618, - "name": "owner", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27537, - "src": "4185:5:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 27619, - "name": "spender", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27539, - "src": "4192:7:47", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "id": 27620, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27541, - "src": "4201:5:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } + ], + "id": 31750, + "name": "Assignment", + "src": "4553:34:54" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" + "id": 31751, + "name": "ExpressionStatement", + "src": "4553:34:54" + }, + { + "children": [ + { + "attributes": { + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "tryCall": false, + "type": "tuple()", + "type_conversion": false }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 27617, - "name": "Approval", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 37403, - "src": "4176:8:47", - "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 43585, + "type": "function (address,address,uint256)", + "value": "Approval" + }, + "id": 31752, + "name": "Identifier", + "src": "4601:8:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31672, + "type": "address", + "value": "owner" + }, + "id": 31753, + "name": "Identifier", + "src": "4610:5:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31674, + "type": "address", + "value": "spender" + }, + "id": 31754, + "name": "Identifier", + "src": "4617:7:54" + }, + { + "attributes": { + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 31676, + "type": "uint256", + "value": "value" + }, + "id": 31755, + "name": "Identifier", + "src": "4626:5:54" + } + ], + "id": 31756, + "name": "FunctionCall", + "src": "4601:31:54" } - }, - "id": 27621, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4176:31:47", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 27622, - "nodeType": "EmitStatement", - "src": "4171:36:47" - } - ] - }, - "functionSelector": "d505accf", - "id": 27624, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "id": 27552, - "modifierName": { - "id": 27551, - "name": "unlocked", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27296, - "src": "3599:8:47", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" + ], + "id": 31757, + "name": "EmitStatement", + "src": "4596:36:54" } - }, - "nodeType": "ModifierInvocation", - "src": "3599:8:47" + ], + "id": 31758, + "name": "Block", + "src": "4033:604:54" } ], - "name": "permit", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 27550, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 27537, - "mutability": "mutable", - "name": "owner", - "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3494:13:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27536, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3494:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27539, - "mutability": "mutable", - "name": "spender", - "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3509:15:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 27538, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3509:7:47", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27541, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3526:13:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27540, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3526:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27543, - "mutability": "mutable", - "name": "deadline", - "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3541:16:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 27542, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3541:7:47", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27545, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3559:7:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 27544, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "3559:5:47", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27547, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3568:9:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27546, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3568:7:47", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 27549, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "scope": 27624, - "src": "3579:9:47", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 27548, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "3579:7:47", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "visibility": "internal" - } - ], - "src": "3493:96:47" - }, - "returnParameters": { - "id": 27553, - "nodeType": "ParameterList", - "parameters": [], - "src": "3608:0:47" - }, - "scope": 27625, - "src": "3478:734:47", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" + "id": 31759, + "name": "FunctionDefinition", + "src": "3903:734:54" } ], - "scope": 27626, - "src": "784:3430:47" + "id": 31760, + "name": "ContractDefinition", + "src": "784:3855:54" } ], - "src": "700:3514:47" + "id": 31761, + "name": "SourceUnit", + "src": "700:3939:54" }, "compiler": { "name": "solc", "version": "0.7.3+commit.9bfce1f6.Linux.g++" }, "networks": {}, - "schemaVersion": "3.3.0", - "updatedAt": "2021-07-01T10:51:24.382Z", + "schemaVersion": "3.4.11", + "updatedAt": "2023-02-13T00:27:06.387Z", "devdoc": { "kind": "dev", "methods": { @@ -11382,4 +12160,4 @@ }, "version": 1 } -} +} \ No newline at end of file From 973cb6299c01e8b1ea227cce47022195fa9b16ea Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Mon, 13 Feb 2023 02:46:02 +0200 Subject: [PATCH 13/15] Add: Colony V12 client --- src/clients/Colony/ColonyClientV12.ts | 130 ++++++++++++++++++ .../Colony/extensions/commonExtensions.ts | 4 +- .../Colony/extensions/extensionsV12.ts | 62 +++++++++ .../Colony/interfaces/encodeInterfacesV12.ts | 51 +++++++ src/clients/ColonyNetworkClient.ts | 9 ++ src/clients/TokenClient.ts | 12 +- src/clients/TokenLockingClient.ts | 4 +- src/types.ts | 6 +- 8 files changed, 268 insertions(+), 10 deletions(-) create mode 100644 src/clients/Colony/ColonyClientV12.ts create mode 100644 src/clients/Colony/extensions/extensionsV12.ts create mode 100644 src/clients/Colony/interfaces/encodeInterfacesV12.ts diff --git a/src/clients/Colony/ColonyClientV12.ts b/src/clients/Colony/ColonyClientV12.ts new file mode 100644 index 000000000..51da9c21f --- /dev/null +++ b/src/clients/Colony/ColonyClientV12.ts @@ -0,0 +1,130 @@ +import { Contract, Signer } from 'ethers'; +import { Provider } from 'ethers/providers'; + +import { IColonyFactory as IColonyFactoryV3 } from '../../contracts/3/IColonyFactory'; +import { IColonyFactory as IColonyFactoryV4 } from '../../contracts/4/IColonyFactory'; +import { IColony__factory as IColonyFactoryV5 } from '../../contracts/5/factories/IColony__factory'; +import { IColony__factory as IColonyFactoryV6 } from '../../contracts/colony/6/factories/IColony__factory'; +import { IColony__factory as IColonyFactoryV7 } from '../../contracts/colony/7/factories/IColony__factory'; +import { IColony__factory as IColonyFactoryV8 } from '../../contracts/colony/8/factories/IColony__factory'; +import { IColony__factory as IColonyFactoryV9 } from '../../contracts/colony/9/factories/IColony__factory'; +import { IColony__factory as IColonyFactoryV10 } from '../../contracts/colony/10/factories/IColony__factory'; +import { IColony__factory as IColonyFactoryV11 } from '../../contracts/colony/11/factories/IColony__factory'; +import { IColony__factory as IColonyFactoryV12 } from '../../contracts/colony/12/factories/IColony__factory'; + +import { IColony as IColonyV6 } from '../../contracts/colony/6/IColony'; +import { IColony as IColonyV7 } from '../../contracts/colony/7/IColony'; +import { IColony as IColonyV8 } from '../../contracts/colony/8/IColony'; +import { IColony as IColonyV9 } from '../../contracts/colony/9/IColony'; +import { IColony as IColonyV10 } from '../../contracts/colony/10/IColony'; +import { IColony as PreviousIColony } from '../../contracts/colony/11/IColony'; +import { IColony } from '../../contracts/colony/12/IColony'; + +import { ColonyNetworkClient } from '../ColonyNetworkClient'; +import { ExtendedIColony } from './extensions/commonExtensions'; +import { ColonyExtensionsV3 } from './extensions/extensionsV3'; +import { ColonyExtensionsV4 } from './extensions/extensionsV4'; +import { ColonyExtensionsV5 } from './extensions/extensionsV5'; +import { ColonyExtensionsV6 } from './extensions/extensionsV6'; +import { ColonyExtensionsV7 } from './extensions/extensionsV7'; +import { ColonyExtensionsV8 } from './extensions/extensionsV8'; +import { ColonyExtensionsV9 } from './extensions/extensionsV9'; +import { ColonyExtensionsV10 } from './extensions/extensionsV10'; +import { ColonyExtensionsV11 } from './extensions/extensionsV11'; +import { + addExtensions, + ColonyExtensionsV12, + ExtendedEstimateV12, +} from './extensions/extensionsV12'; + +import { addEncodeInterfaces } from './interfaces/encodeInterfacesV12'; + +import { getAllAbiEvents, getAbiFunctions } from '../../utils'; +import { ColonyVersion } from '../../versions'; + +type ColonyExtensions = Omit< + ExtendedIColony, + 'moveFundsBetweenPotsWithProofs' +> & + ColonyExtensionsV3 & + ColonyExtensionsV4 & + ColonyExtensionsV5 & + ColonyExtensionsV6 & + ColonyExtensionsV7 & + ColonyExtensionsV8 & + ColonyExtensionsV9 & + ColonyExtensionsV10 & + ColonyExtensionsV11 & + ColonyExtensionsV12; + +export type ColonyClientV12 = ColonyExtensions & { + clientVersion: ColonyVersion.GreenLightweightSpaceshipThree; + estimate: ExtendedIColony['estimate'] & ExtendedEstimateV12; +}; + +export default function getColonyClient( + this: ColonyNetworkClient, + address: string, + signerOrProvider: Signer | Provider, +): ColonyClientV12 { + const abiFunctions = getAbiFunctions( + IColonyFactoryV12, + address, + signerOrProvider, + ); + /* + * Get all events, including the ones from v3, as well as the current ones + */ + const abiEvents = getAllAbiEvents( + [ + IColonyFactoryV12, + IColonyFactoryV11, + IColonyFactoryV10, + IColonyFactoryV9, + IColonyFactoryV8, + IColonyFactoryV7, + IColonyFactoryV6, + IColonyFactoryV5, + IColonyFactoryV4, + IColonyFactoryV3, + ], + address, + signerOrProvider, + ); + + /* + * For this to work we have to create our own instance of the contract, so + * that we can pass in the merged abi events + */ + const customEthersContractInstace = (new Contract( + address, + [...abiFunctions, ...abiEvents], + signerOrProvider, + ) as unknown) as ColonyClientV12; + + /* + * We need to clone the Ethers intance otherwise props, which we may + * want appent or overwrite, won't work since Ethers marks their props + * as read-only and non-configurable by default + * + * @TODO All of this should be extracted as an util to remove code repetition + * when creating new Colony version clients + */ + const colonyClientV12 = { + ...customEthersContractInstace, + interface: { + ...customEthersContractInstace.interface, + /* + * Manually assign non-enumerable props + */ + parseLog: customEthersContractInstace.interface.parseLog, + parseTransaction: customEthersContractInstace.interface.parseTransaction, + }, + } as ColonyClientV12; + colonyClientV12.clientVersion = ColonyVersion.GreenLightweightSpaceshipThree; + + addExtensions(colonyClientV12, this); + addEncodeInterfaces(colonyClientV12); + + return colonyClientV12; +} diff --git a/src/clients/Colony/extensions/commonExtensions.ts b/src/clients/Colony/extensions/commonExtensions.ts index a0d73d4c4..b398764b5 100644 --- a/src/clients/Colony/extensions/commonExtensions.ts +++ b/src/clients/Colony/extensions/commonExtensions.ts @@ -23,6 +23,7 @@ import { IColony as IColonyV8 } from '../../../contracts/colony/8/IColony'; import { IColony as IColonyV9 } from '../../../contracts/colony/9/IColony'; import { IColony as IColonyV10 } from '../../../contracts/colony/10/IColony'; import { IColony as IColonyV11 } from '../../../contracts/colony/11/IColony'; +import { IColony as IColonyV12 } from '../../../contracts/colony/12/IColony'; import { TransactionOverrides } from '../../../contracts/6'; import { IColonyFactory } from '../../../contracts/4/IColonyFactory'; @@ -51,7 +52,8 @@ type AnyIColony = | IColonyV8 | IColonyV9 | IColonyV10 - | IColonyV11; + | IColonyV11 + | IColonyV12; // This is exposed to type the awkward recovery event client which is basically // just an IColonyV4 diff --git a/src/clients/Colony/extensions/extensionsV12.ts b/src/clients/Colony/extensions/extensionsV12.ts new file mode 100644 index 000000000..01e26e614 --- /dev/null +++ b/src/clients/Colony/extensions/extensionsV12.ts @@ -0,0 +1,62 @@ +import { IColony as IColonyV6 } from '../../../contracts/colony/6/IColony'; +import { IColony as IColonyV7 } from '../../../contracts/colony/7/IColony'; +import { IColony as IColonyV8 } from '../../../contracts/colony/8/IColony'; +import { IColony as IColonyV9 } from '../../../contracts/colony/9/IColony'; +import { IColony as IColonyV10 } from '../../../contracts/colony/10/IColony'; +import { IColony as PreviousIColony } from '../../../contracts/colony/11/IColony'; +import { IColony as IColonyV12 } from '../../../contracts/colony/12/IColony'; +import { ColonyNetworkClient } from '../../ColonyNetworkClient'; +import { ExtendedIColony } from './commonExtensions'; +import { ColonyExtensionsV3 } from './extensionsV3'; +import { ColonyExtensionsV4 } from './extensionsV4'; +import { ColonyExtensionsV5 } from './extensionsV5'; +import { ColonyExtensionsV6 } from './extensionsV6'; +import { ColonyExtensionsV7 } from './extensionsV7'; +import { ColonyExtensionsV8 } from './extensionsV8'; +import { ColonyExtensionsV9 } from './extensionsV9'; +import { ColonyExtensionsV10 } from './extensionsV10'; +import { + addExtensions as addExtensionsV11, + ColonyExtensionsV11, + ExtendedEstimateV11, +} from './extensionsV11'; + +type ValidColony = IColonyV12; + +type PreviousVersionsExtensions = ExtendedIColony & + ColonyExtensionsV3 & + ColonyExtensionsV4 & + ColonyExtensionsV5 & + ColonyExtensionsV6 & + ColonyExtensionsV7 & + ColonyExtensionsV8 & + ColonyExtensionsV9 & + ColonyExtensionsV10 & + ColonyExtensionsV11; + +/* + * Estimates + */ +export type ExtendedEstimateV12 = ExtendedEstimateV11; + +/* + * Extension Methods + */ +export type ColonyExtensionsV12< + T extends ValidColony +> = {} & PreviousVersionsExtensions; + +/* + * Bindings + */ +export const addExtensions = ( + instance: ExtendedIColony, + networkClient: ColonyNetworkClient, +): ColonyExtensionsV11 => { + // Add all extensions from v7, because these are also still valid + const extendedInstance = addExtensionsV11( + instance as PreviousVersionsExtensions, + networkClient, + ) as ColonyExtensionsV12; + return extendedInstance; +}; diff --git a/src/clients/Colony/interfaces/encodeInterfacesV12.ts b/src/clients/Colony/interfaces/encodeInterfacesV12.ts new file mode 100644 index 000000000..d121dcbc5 --- /dev/null +++ b/src/clients/Colony/interfaces/encodeInterfacesV12.ts @@ -0,0 +1,51 @@ +import { Interface } from 'ethers/utils'; +import { IColony as IColonyV10 } from '../../../contracts/colony/10/IColony'; +import { IColony as IColonyV11 } from '../../../contracts/colony/11/IColony'; +import { IColony as IColonyV12 } from '../../../contracts/colony/12/IColony'; +import { addEncodeInterfaces as addEncodeInterfacesV10 } from './encodeInterfacesV10'; +import { + Interfaces as InterfacesV11, + addEncodeInterfaces as addEncodeInterfacesV11, +} from './encodeInterfacesV11'; + +type PreviousVersionsInterfaces = InterfacesV11; +type ValidColony = IColonyV12; + +export type Interfaces = {} & PreviousVersionsInterfaces; + +export interface ColonyWithInterfacesV12 extends ValidColony { + interface: Interface & { + events: IColonyV12['interface']['events']; + functions: IColonyV12['interface']['functions'] & Interfaces; + }; +} + +/* + * Bindings + */ +export const addEncodeInterfaces = ( + colonyClient: ValidColony, +): ColonyWithInterfacesV12 => { + const { + interface: { functions: v10functions }, + } = addEncodeInterfacesV10(colonyClient as IColonyV10); + const { + interface: { functions: v11functions }, + } = addEncodeInterfacesV11(colonyClient as IColonyV11); + + /* + * We're overwriting the original object in an effort to reduce + * nesting + * + * Note: that this does not work the same for v9, but will function + * this way going onward from version 10 + */ + // eslint-disable-next-line no-param-reassign + colonyClient.interface.functions = { + ...colonyClient.interface.functions, + ...v11functions, + ...v10functions, + }; + + return colonyClient as ColonyWithInterfacesV12; +}; diff --git a/src/clients/ColonyNetworkClient.ts b/src/clients/ColonyNetworkClient.ts index 5f5b359e2..c73f1545b 100644 --- a/src/clients/ColonyNetworkClient.ts +++ b/src/clients/ColonyNetworkClient.ts @@ -31,6 +31,7 @@ import getColonyClientV8 from './Colony/ColonyClientV8'; import getColonyClientV9 from './Colony/ColonyClientV9'; import getColonyClientV10 from './Colony/ColonyClientV10'; import getColonyClientV11 from './Colony/ColonyClientV11'; +import getColonyClientV12 from './Colony/ColonyClientV12'; import getTokenClient from './TokenClient'; import getTokenLockingClient, { TokenLockingClient, @@ -275,6 +276,14 @@ const getColonyNetworkClient = ( ); break; } + case ColonyVersion.GreenLightweightSpaceshipThree: { + colonyClient = getColonyClientV12.call( + networkClient, + colonyAddress, + signerOrProvider, + ); + break; + } default: { throw new Error('Colony version not supported'); } diff --git a/src/clients/TokenClient.ts b/src/clients/TokenClient.ts index a53c40887..b1323d50b 100644 --- a/src/clients/TokenClient.ts +++ b/src/clients/TokenClient.ts @@ -3,12 +3,12 @@ import { Provider } from 'ethers/providers'; import { getAddress, isHexString, parseBytes32String } from 'ethers/utils'; import { ClientType, TokenClientType, tokenAddresses } from '../constants'; -import { MetaTxToken__factory as MetaTxTokenFactory } from '../contracts/colony/11/factories/MetaTxToken__factory'; -import { MetaTxToken } from '../contracts/colony/11/MetaTxToken'; -import { TokenERC20__factory as TokenErc20Factory } from '../contracts/colony/11/factories/TokenERC20__factory'; -import { TokenERC20 as TokenErc20 } from '../contracts/colony/11/TokenERC20'; -import { TokenSAI__factory as TokenSaiFactory } from '../contracts/colony/11/factories/TokenSAI__factory'; -import { TokenSAI as TokenSai } from '../contracts/colony/11/TokenSAI'; +import { MetaTxToken__factory as MetaTxTokenFactory } from '../contracts/colony/12/factories/MetaTxToken__factory'; +import { MetaTxToken } from '../contracts/colony/12/MetaTxToken'; +import { TokenERC20__factory as TokenErc20Factory } from '../contracts/colony/12/factories/TokenERC20__factory'; +import { TokenERC20 as TokenErc20 } from '../contracts/colony/12/TokenERC20'; +import { TokenSAI__factory as TokenSaiFactory } from '../contracts/colony/12/factories/TokenSAI__factory'; +import { TokenSAI as TokenSai } from '../contracts/colony/12/TokenSAI'; const isSai = (address: string): boolean => getAddress(address) === tokenAddresses.SAI; diff --git a/src/clients/TokenLockingClient.ts b/src/clients/TokenLockingClient.ts index 1bd145b78..cc6dac8e7 100644 --- a/src/clients/TokenLockingClient.ts +++ b/src/clients/TokenLockingClient.ts @@ -2,8 +2,8 @@ import { Signer } from 'ethers'; import { Provider } from 'ethers/providers'; import { ClientType } from '../constants'; -import { TokenLocking__factory as TokenLockingFactory } from '../contracts/colony/11/factories/TokenLocking__factory'; -import { TokenLocking } from '../contracts/colony/11/TokenLocking'; +import { TokenLocking__factory as TokenLockingFactory } from '../contracts/colony/12/factories/TokenLocking__factory'; +import { TokenLocking } from '../contracts/colony/12/TokenLocking'; export interface TokenLockingClient extends TokenLocking { clientType: ClientType.TokenLockingClient; diff --git a/src/types.ts b/src/types.ts index 6b30cac33..b21e54f85 100644 --- a/src/types.ts +++ b/src/types.ts @@ -10,6 +10,7 @@ import { ColonyClientV8 } from './clients/Colony/ColonyClientV8'; import { ColonyClientV9 } from './clients/Colony/ColonyClientV9'; import { ColonyClientV10 } from './clients/Colony/ColonyClientV10'; import { ColonyClientV11 } from './clients/Colony/ColonyClientV11'; +import { ColonyClientV12 } from './clients/Colony/ColonyClientV12'; import { TokenClient } from './clients/TokenClient'; import { TokenLockingClient } from './clients/TokenLockingClient'; import { ExtensionClient } from './clients/Extensions/colonyContractExtensions'; @@ -25,7 +26,10 @@ export type ColonyClient = | ColonyClientV8 | ColonyClientV9 | ColonyClientV10 - | ColonyClientV11; + | ColonyClientV11 + // eslint-disable-next-line @typescript-eslint/ban-ts-ignore + // @ts-ignore + | ColonyClientV12; export type ContractClient = | ColonyClient From 84f454e120e4c7e5f532a3f2beeef04caad2c401 Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Mon, 13 Feb 2023 02:47:34 +0200 Subject: [PATCH 14/15] Bump: change version to next release candidate `4.2.2-rc.3` --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7f9a16c2a..0c8bd8054 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@colony/colony-js", - "version": "v4.2.2-rc.2", + "version": "v4.2.2-rc.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index eb7d49e69..701516d4c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@colony/colony-js", - "version": "v4.2.2-rc.2", + "version": "v4.2.2-rc.3", "main": "lib/index.js", "module": "lib-esm/index.js", "files": [ From b3a3506fb909dd5858015d152e36eda79dc46f42 Mon Sep 17 00:00:00 2001 From: Raul Glogovetan Date: Mon, 13 Feb 2023 02:49:32 +0200 Subject: [PATCH 15/15] Fix: Colony V12 client ignore complex TS union type --- src/clients/Colony/ColonyClientV12.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/clients/Colony/ColonyClientV12.ts b/src/clients/Colony/ColonyClientV12.ts index 51da9c21f..92a67df1d 100644 --- a/src/clients/Colony/ColonyClientV12.ts +++ b/src/clients/Colony/ColonyClientV12.ts @@ -42,6 +42,8 @@ import { addEncodeInterfaces } from './interfaces/encodeInterfacesV12'; import { getAllAbiEvents, getAbiFunctions } from '../../utils'; import { ColonyVersion } from '../../versions'; +// eslint-disable-next-line @typescript-eslint/ban-ts-ignore +// @ts-ignore type ColonyExtensions = Omit< ExtendedIColony, 'moveFundsBetweenPotsWithProofs' @@ -57,6 +59,8 @@ type ColonyExtensions = Omit< ColonyExtensionsV11 & ColonyExtensionsV12; +// eslint-disable-next-line @typescript-eslint/ban-ts-ignore +// @ts-ignore export type ColonyClientV12 = ColonyExtensions & { clientVersion: ColonyVersion.GreenLightweightSpaceshipThree; estimate: ExtendedIColony['estimate'] & ExtendedEstimateV12;