{ "contractName": "FundingQueue", "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": "id", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "newPrevId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "backing", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "prevBacking", "type": "uint256" } ], "name": "ProposalBacked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ProposalCancelled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ProposalCompleted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "fromPot", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "toPot", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "ProposalCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "ProposalPinged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ProposalStakeReclaimed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "domainTotalRep", "type": "uint256" } ], "name": "ProposalStaked", "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": [], "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": "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": "_totalRequested", "type": "uint256" }, { "internalType": "address", "name": "_token", "type": "address" } ], "name": "createProposal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_prevId", "type": "uint256" } ], "name": "cancelProposal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "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": "stakeProposal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_backing", "type": "uint256" }, { "internalType": "uint256", "name": "_currPrevId", "type": "uint256" }, { "internalType": "uint256", "name": "_newPrevId", "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": "backProposal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "pingProposal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "reclaimStake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getProposalCount", "outputs": [ { "internalType": "uint256", "name": "count", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "getProposal", "outputs": [ { "components": [ { "internalType": "enum FundingQueue.ProposalState", "name": "state", "type": "uint8" }, { "internalType": "address", "name": "creator", "type": "address" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "domainId", "type": "uint256" }, { "internalType": "uint256", "name": "domainTotalRep", "type": "uint256" }, { "internalType": "uint256", "name": "fromPot", "type": "uint256" }, { "internalType": "uint256", "name": "toPot", "type": "uint256" }, { "internalType": "uint256", "name": "fromChildSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "toChildSkillIndex", "type": "uint256" }, { "internalType": "uint256", "name": "totalRequested", "type": "uint256" }, { "internalType": "uint256", "name": "totalPaid", "type": "uint256" }, { "internalType": "uint256", "name": "lastUpdated", "type": "uint256" }, { "internalType": "uint256", "name": "totalSupport", "type": "uint256" } ], "internalType": "struct FundingQueue.Proposal", "name": "proposal", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address", "name": "_supporter", "type": "address" } ], "name": "getSupport", "outputs": [ { "internalType": "uint256", "name": "support", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "name": "getNextProposalId", "outputs": [ { "internalType": "uint256", "name": "nextId", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ], "devdoc": { "kind": "dev", "methods": { "backProposal(uint256,uint256,uint256,uint256,bytes,bytes,uint256,bytes32[])": { "params": { "_backing": "The amount of backing to give the proposal (up to user's reputation)", "_branchMask": "The branchmask of the proof", "_currPrevId": "The current previous proposal in the list", "_id": "The proposal Id", "_key": "A reputation hash tree key, of the caller's reputation in _domainId", "_newPrevId": "The new previous proposal after we re-arrange", "_siblings": "The siblings of the proof", "_value": "Reputation value indicating the caller's reputation in _domainId" } }, "cancelProposal(uint256,uint256)": { "params": { "_id": "The proposal Id", "_prevId": "The id of the preceding proposal in the linked list" } }, "createProposal(uint256,uint256,uint256,uint256,uint256,uint256,address)": { "params": { "_domainId": "The domain the extension has the funding permission", "_fromChildSkillIndex": "The index of the fromPot's domain in _domainId.children[]", "_fromPot": "Funding pot id providing the funds", "_toChildSkillIndex": "The index of the toPot's domain in _domainId.children[]", "_toPot": "Funding pot id receiving the funds", "_token": "The token being transferred", "_totalRequested": "The total amount being requested" } }, "deprecate(bool)": { "params": { "_deprecated": "Indicates whether the extension should be deprecated or undeprecated" } }, "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" } }, "getMetatransactionNonce(address)": { "params": { "userAddress": "The user's address" }, "returns": { "nonce": "The nonce" } }, "getNextProposalId(uint256)": { "params": { "_id": "The proposal Id" }, "returns": { "nextId": "The next proposal Id in the list" } }, "getProposal(uint256)": { "params": { "_id": "The proposal Id" }, "returns": { "proposal": "The proposal struct" } }, "getProposalCount()": { "returns": { "count": "The count" } }, "getSupport(uint256,address)": { "params": { "_id": "The proposal Id", "_supporter": "The supporter" }, "returns": { "support": "The support amount" } }, "identifier()": { "returns": { "_identifier": "The extension's identifier" } }, "install(address)": { "params": { "_colony": "The colony in which the extension holds permissions" } }, "pingProposal(uint256)": { "params": { "_id": "The proposal Id" } }, "reclaimStake(uint256)": { "params": { "_id": "The proposal Id" } }, "stakeProposal(uint256,bytes,bytes,uint256,bytes32[])": { "params": { "_branchMask": "The branchmask of the proof", "_id": "The proposal Id", "_key": "A reputation hash tree key, of the total reputation in _domainId", "_siblings": "The siblings of the proof", "_value": "Reputation value indicating the total reputation in _domainId" } }, "version()": { "returns": { "_version": "The extension's version number" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "backProposal(uint256,uint256,uint256,uint256,bytes,bytes,uint256,bytes32[])": { "notice": "Back a funding proposal and advance it along the list" }, "cancelProposal(uint256,uint256)": { "notice": "Cancel a funding proposal and remove from linked list" }, "createProposal(uint256,uint256,uint256,uint256,uint256,uint256,address)": { "notice": "Create a new funding proposal" }, "deprecate(bool)": { "notice": "Called when deprecating (or undeprecating) the extension" }, "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." }, "finishUpgrade()": { "notice": "Called when upgrading the extension" }, "getMetatransactionNonce(address)": { "notice": "Gets the next nonce for a meta-transaction" }, "getNextProposalId(uint256)": { "notice": "Gets the id of the next proposal in the list" }, "getProposal(uint256)": { "notice": "Get the proposal struct for a given proposal" }, "getProposalCount()": { "notice": "Get the total number of proposals" }, "getSupport(uint256,address)": { "notice": "Gets the reputation support from a user to a proposal" }, "identifier()": { "notice": "Returns the identifier of the extension" }, "install(address)": { "notice": "Configures the extension" }, "pingProposal(uint256)": { "notice": "Transfer the marginal funds" }, "reclaimStake(uint256)": { "notice": "Reclaim the stake after the proposal is funded" }, "stakeProposal(uint256,bytes,bytes,uint256,bytes32[])": { "notice": "Stake a funding proposal" }, "uninstall()": { "notice": "Called when uninstalling the extension" }, "version()": { "notice": "Returns the version of the extension" } }, "version": 1 } }