From 549b9d209321a6c468829e805e6b832433816c99 Mon Sep 17 00:00:00 2001 From: sirpy Date: Mon, 21 Oct 2024 12:54:02 +0300 Subject: [PATCH] add: deployments --- packages/contracts/releases/deployment.json | 11749 +++++++++++++++++- 1 file changed, 11072 insertions(+), 677 deletions(-) diff --git a/packages/contracts/releases/deployment.json b/packages/contracts/releases/deployment.json index 79bf7f8a..38c2fe71 100644 --- a/packages/contracts/releases/deployment.json +++ b/packages/contracts/releases/deployment.json @@ -6518,11 +6518,11 @@ } }, { - "name": "localhost", + "name": "development-celo", "chainId": "42220", "contracts": { "DirectPaymentsFactory": { - "address": "0x998abeb3E57409262aE5b751f60747921B33613E", + "address": "0xb1C7F09156d04BFf6F412447A73a0F72929b6ea4", "abi": [ { "anonymous": false, @@ -7488,7 +7488,7 @@ ] }, "DirectPaymentsFactory_Implementation": { - "address": "0x95401dc811bb5740090279Ba06cfA8fcF6113778", + "address": "0xff13c3E9E462a73433505E7230F72F4565b81296", "abi": [ { "inputs": [], @@ -8430,7 +8430,7 @@ ] }, "DirectPaymentsFactory_Proxy": { - "address": "0x998abeb3E57409262aE5b751f60747921B33613E", + "address": "0xb1C7F09156d04BFf6F412447A73a0F72929b6ea4", "abi": [ { "inputs": [ @@ -8504,7 +8504,7 @@ ] }, "DirectPaymentsPool": { - "address": "0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8", + "address": "0x3a522bc2746d2411663317365C66ef4b248135E7", "abi": [ { "inputs": [ @@ -10513,155 +10513,8 @@ } ] }, - "GoodDollar": { - "address": "0xc5a5C42992dECbae36851359345FE25997F5C42d", - "abi": [ - "constructor(address _host)", - "error SF_TOKEN_AGREEMENT_ALREADY_EXISTS()", - "error SF_TOKEN_AGREEMENT_DOES_NOT_EXIST()", - "error SF_TOKEN_BURN_INSUFFICIENT_BALANCE()", - "error SF_TOKEN_MOVE_INSUFFICIENT_BALANCE()", - "error SF_TOKEN_ONLY_HOST()", - "error SF_TOKEN_ONLY_LISTED_AGREEMENT()", - "error SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS()", - "error SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS()", - "error SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS()", - "error SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER()", - "error SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED()", - "error SUPER_TOKEN_MINT_TO_ZERO_ADDRESS()", - "error SUPER_TOKEN_NFT_PROXY_ALREADY_SET()", - "error SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT()", - "error SUPER_TOKEN_NO_UNDERLYING_TOKEN()", - "error SUPER_TOKEN_ONLY_GOV_OWNER()", - "error SUPER_TOKEN_ONLY_HOST()", - "error SUPER_TOKEN_ONLY_SELF()", - "error SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS()", - "error SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS()", - "event AgreementCreated(address indexed agreementClass, bytes32 id, bytes32[] data)", - "event AgreementLiquidated(address indexed agreementClass, bytes32 id, address indexed penaltyAccount, address indexed rewardAccount, uint256 rewardAmount)", - "event AgreementLiquidatedBy(address liquidatorAccount, address indexed agreementClass, bytes32 id, address indexed penaltyAccount, address indexed bondAccount, uint256 rewardAmount, uint256 bailoutAmount)", - "event AgreementLiquidatedV2(address indexed agreementClass, bytes32 id, address indexed liquidatorAccount, address indexed targetAccount, address rewardAmountReceiver, uint256 rewardAmount, int256 targetAccountBalanceDelta, bytes liquidationTypeData)", - "event AgreementStateUpdated(address indexed agreementClass, address indexed account, uint256 slotId)", - "event AgreementTerminated(address indexed agreementClass, bytes32 id)", - "event AgreementUpdated(address indexed agreementClass, bytes32 id, bytes32[] data)", - "event Approval(address indexed owner, address indexed spender, uint256 value)", - "event AuthorizedOperator(address indexed operator, address indexed tokenHolder)", - "event Bailout(address indexed bailoutAccount, uint256 bailoutAmount)", - "event Burned(address indexed operator, address indexed from, uint256 amount, bytes data, bytes operatorData)", - "event CodeUpdated(bytes32 uuid, address codeAddress)", - "event ConstantInflowNFTCreated(address indexed constantInflowNFT)", - "event ConstantOutflowNFTCreated(address indexed constantOutflowNFT)", - "event Initialized(uint8 version)", - "event Minted(address indexed operator, address indexed to, uint256 amount, bytes data, bytes operatorData)", - "event Paused(address account)", - "event RevokedOperator(address indexed operator, address indexed tokenHolder)", - "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", - "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", - "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", - "event Sent(address indexed operator, address indexed from, address indexed to, uint256 amount, bytes data, bytes operatorData)", - "event Transfer(address indexed from, address indexed to, uint256 value, bytes data)", - "event Transfer(address indexed from, address indexed to, uint256 value)", - "event TransferFee(address from, address to, uint256 amount, uint256 fee, bool senderPays)", - "event Unpaused(address account)", - "function CONSTANT_INFLOW_NFT() view returns (address)", - "function CONSTANT_OUTFLOW_NFT() view returns (address)", - "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", - "function DOMAIN_SEPARATOR() view returns (bytes32)", - "function MINTER_ROLE() view returns (bytes32)", - "function PAUSER_ROLE() view returns (bytes32)", - "function addMinter(address _minter)", - "function addPauser(address _pauser)", - "function allowance(address account, address spender) view returns (uint256)", - "function approve(address spender, uint256 amount) returns (bool)", - "function authorizeOperator(address operator)", - "function balanceOf(address account) view returns (uint256 balance)", - "function burn(uint256 amount)", - "function burn(uint256 amount, bytes data)", - "function burnFrom(address account, uint256 amount)", - "function cap() view returns (uint256)", - "function castrate()", - "function createAgreement(bytes32 id, bytes32[] data)", - "function creditGasFees(address from, address feeRecipient, address gatewayFeeRecipient, address baseFeeRecipient, uint256 refund, uint256 tipTxFee, uint256 gatewayFee, uint256 baseTxFee)", - "function debitGasFees(address from, uint256 value)", - "function decimals() pure returns (uint8)", - "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", - "function defaultOperators() view returns (address[])", - "function disableHostOperations() view returns (bool)", - "function enableHostOperations(bool enabled)", - "function feeRecipient() view returns (address)", - "function formula() view returns (address)", - "function getAccountActiveAgreements(address account) view returns (address[])", - "function getAgreementData(address agreementClass, bytes32 id, uint256 dataLength) view returns (bytes32[] data)", - "function getAgreementStateSlot(address agreementClass, address account, uint256 slotId, uint256 dataLength) view returns (bytes32[] slotData)", - "function getCodeAddress() view returns (address codeAddress)", - "function getFees(uint256 amount, address sender, address recipient) view returns (uint256 fee, bool senderPays)", - "function getFees(uint256 amount) view returns (uint256 fee, bool senderPays)", - "function getHost() view returns (address host)", - "function getRoleAdmin(bytes32 role) view returns (bytes32)", - "function getRoleMember(bytes32 role, uint256 index) view returns (address)", - "function getRoleMemberCount(bytes32 role) view returns (uint256)", - "function getUnderlyingToken() view returns (address)", - "function grantRole(bytes32 role, address account)", - "function granularity() pure returns (uint256)", - "function hasRole(bytes32 role, address account) view returns (bool)", - "function identity() view returns (address)", - "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", - "function initialize(address underlyingToken, uint8 underlyingDecimals, string n, string s)", - "function initialize(string n, string s, uint256 _cap, address _formula, address _identity, address _feeRecipient, address _owner, address _outflowNFT, address _inflowNFT)", - "function isAccountCritical(address account, uint256 timestamp) view returns (bool isCritical)", - "function isAccountCriticalNow(address account) view returns (bool isCritical)", - "function isAccountSolvent(address account, uint256 timestamp) view returns (bool isSolvent)", - "function isAccountSolventNow(address account) view returns (bool isSolvent)", - "function isMinter(address _minter) view returns (bool)", - "function isOperatorFor(address operator, address tokenHolder) view returns (bool)", - "function isPauser(address _pauser) view returns (bool)", - "function makeLiquidationPayoutsV2(bytes32 id, bytes liquidationTypeData, address liquidatorAccount, bool useDefaultRewardAccount, address targetAccount, uint256 rewardAmount, int256 targetAccountBalanceDelta)", - "function mint(address to, uint256 amount) returns (bool)", - "function name() view returns (string)", - "function nonces(address owner) view returns (uint256)", - "function operationApprove(address account, address spender, uint256 amount)", - "function operationDecreaseAllowance(address account, address spender, uint256 subtractedValue)", - "function operationIncreaseAllowance(address account, address spender, uint256 addedValue)", - "function operationSend(address spender, address recipient, uint256 amount, bytes userData)", - "function operationTransferFrom(address account, address spender, address recipient, uint256 amount)", - "function operatorBurn(address account, uint256 amount, bytes data, bytes operatorData)", - "function operatorSend(address sender, address recipient, uint256 amount, bytes data, bytes operatorData)", - "function owner() view returns (address)", - "function pause()", - "function paused() view returns (bool)", - "function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)", - "function poolAdminNFT() view returns (address)", - "function poolMemberNFT() view returns (address)", - "function proxiableUUID() pure returns (bytes32)", - "function realtimeBalanceOf(address account, uint256 timestamp) view returns (int256 availableBalance, uint256 deposit, uint256 owedDeposit)", - "function realtimeBalanceOfNow(address account) view returns (int256 availableBalance, uint256 deposit, uint256 owedDeposit, uint256 timestamp)", - "function renounceMinter()", - "function renounceRole(bytes32 role, address account)", - "function revokeOperator(address operator)", - "function revokeRole(bytes32 role, address account)", - "function selfApproveFor(address account, address spender, uint256 amount)", - "function send(address recipient, uint256 amount, bytes data)", - "function setFeeRecipient(address _feeRecipient)", - "function setFormula(address _formula)", - "function setIdentity(address _identity)", - "function setNFTProxyContracts(address _constantOutflowNFT, address _constantInflowNFT, address _poolAdminNFT, address _poolMemberNFT)", - "function settleBalance(address account, int256 delta)", - "function supportsInterface(bytes4 interfaceId) view returns (bool)", - "function symbol() view returns (string)", - "function terminateAgreement(bytes32 id, uint256 dataLength)", - "function totalSupply() view returns (uint256)", - "function transfer(address to, uint256 amount) returns (bool)", - "function transferAndCall(address to, uint256 amount, bytes data) returns (bool)", - "function transferFrom(address holder, address recipient, uint256 amount) returns (bool)", - "function transferOwnership(address _owner)", - "function unpause()", - "function updateAgreementData(bytes32 id, bytes32[] data)", - "function updateAgreementStateSlot(address account, uint256 slotId, bytes32[] slotData)", - "function updateCode(address newAddress)" - ] - }, "HelperLibrary": { - "address": "0xa82fF9aFd8f496c3d6ac40E2a0F282E47488CFc9", + "address": "0xC25Da2F6d074230F0870056659f8cEC6eD6f44cb", "abi": [ { "inputs": [ @@ -10824,7 +10677,7 @@ ] }, "ProvableNFT": { - "address": "0xf5059a5D33d5853360D16C683c16e67980206f36", + "address": "0x251EEBd7d9469bbcc02Ef23c95D902Cbb7fD73B3", "abi": [ { "anonymous": false, @@ -12029,7 +11882,7 @@ ] }, "ProvableNFT_Implementation": { - "address": "0x851356ae760d987E095750cCeb3bC6014560891C", + "address": "0x3c6461fc746E156adB3d8979847b7c2637021b91", "abi": [ { "inputs": [ @@ -13210,7 +13063,7 @@ ] }, "ProvableNFT_Proxy": { - "address": "0xf5059a5D33d5853360D16C683c16e67980206f36", + "address": "0x251EEBd7d9469bbcc02Ef23c95D902Cbb7fD73B3", "abi": [ { "inputs": [ @@ -13283,18 +13136,19 @@ } ] }, - "SuperFluidResolver": { - "address": "0x02330b5Be8EBD0D4d354813a7BB535140A77C881", - "abi": [] - }, - "SwapRouterMock": { - "address": "0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690", + "UBIPool": { + "address": "0x5104a0843F45856b1529Faac34d2003990F87286", "abi": [ { "inputs": [ { - "internalType": "address", - "name": "token", + "internalType": "contract ISuperfluid", + "name": "_host", + "type": "address" + }, + { + "internalType": "contract IV3SwapRouter", + "name": "_swapRouter", "type": "address" } ], @@ -13304,167 +13158,49 @@ { "inputs": [ { - "components": [ - { - "internalType": "bytes", - "name": "path", - "type": "bytes" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountOutMinimum", - "type": "uint256" - } - ], - "internalType": "struct IV3SwapRouter.ExactInputParams", - "name": "params", - "type": "tuple" + "internalType": "address", + "name": "whitelistedRoot", + "type": "address" } ], - "name": "exactInput", - "outputs": [ + "name": "ALREADY_CLAIMED", + "type": "error" + }, + { + "inputs": [], + "name": "CLAIMFOR_DISABLED", + "type": "error" + }, + { + "inputs": [], + "name": "EMPTY_MANAGER", + "type": "error" + }, + { + "inputs": [ { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" + "internalType": "int96", + "name": "curFeeRate", + "type": "int96" + }, + { + "internalType": "int96", + "name": "newFeeRate", + "type": "int96" } ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "tokenIn", - "type": "address" - }, - { - "internalType": "address", - "name": "tokenOut", - "type": "address" - }, - { - "internalType": "uint24", - "name": "fee", - "type": "uint24" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountOutMinimum", - "type": "uint256" - }, - { - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - } - ], - "internalType": "struct IV3SwapRouter.ExactInputSingleParams", - "name": "params", - "type": "tuple" - } - ], - "name": "exactInputSingle", - "outputs": [ - { - "internalType": "uint256", - "name": "amountOut", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - } - ] - }, - "UBIPool": { - "address": "0x4826533B4897376654Bb4d4AD88B7faFD0C98528", - "abi": [ - { - "inputs": [ - { - "internalType": "contract ISuperfluid", - "name": "_host", - "type": "address" - }, - { - "internalType": "contract IV3SwapRouter", - "name": "_swapRouter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "whitelistedRoot", - "type": "address" - } - ], - "name": "ALREADY_CLAIMED", - "type": "error" - }, - { - "inputs": [], - "name": "CLAIMFOR_DISABLED", - "type": "error" - }, - { - "inputs": [], - "name": "EMPTY_MANAGER", - "type": "error" - }, - { - "inputs": [ - { - "internalType": "int96", - "name": "curFeeRate", - "type": "int96" - }, - { - "internalType": "int96", - "name": "newFeeRate", - "type": "int96" - } - ], - "name": "FEE_FLOW_FAILED", - "type": "error" - }, - { - "inputs": [], - "name": "INVALID_0_VALUE", - "type": "error" - }, - { - "inputs": [], - "name": "MAX_CLAIMERS_REACHED", - "type": "error" + "name": "FEE_FLOW_FAILED", + "type": "error" + }, + { + "inputs": [], + "name": "INVALID_0_VALUE", + "type": "error" + }, + { + "inputs": [], + "name": "MAX_CLAIMERS_REACHED", + "type": "error" }, { "inputs": [ @@ -14724,6 +14460,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "member", + "type": "address" + } + ], + "name": "removeMember", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -15203,7 +14952,7 @@ ] }, "UBIPoolFactory": { - "address": "0x0E801D84Fa97b50751Dbf25036d067dCf18858bF", + "address": "0x4602C5F43A9961E430247D3Fb2d5450285080754", "abi": [ { "anonymous": false, @@ -16151,7 +15900,7 @@ ] }, "UBIPoolFactory_Implementation": { - "address": "0x99bbA657f2BbC93c02D617f8bA121cB8Fc104Acf", + "address": "0x1fd21Fe7e0ad98e311b507c71B196bAc3939B404", "abi": [ { "inputs": [], @@ -17075,7 +16824,7 @@ ] }, "UBIPoolFactory_Proxy": { - "address": "0x0E801D84Fa97b50751Dbf25036d067dCf18858bF", + "address": "0x4602C5F43A9961E430247D3Fb2d5450285080754", "abi": [ { "inputs": [ @@ -17151,11 +16900,11 @@ } }, { - "name": "development-celo", + "name": "localhost", "chainId": "42220", "contracts": { "DirectPaymentsFactory": { - "address": "0xb1C7F09156d04BFf6F412447A73a0F72929b6ea4", + "address": "0x998abeb3E57409262aE5b751f60747921B33613E", "abi": [ { "anonymous": false, @@ -18121,7 +17870,7 @@ ] }, "DirectPaymentsFactory_Implementation": { - "address": "0x09f252f2a25fbaC45007De009e4587eeB769772D", + "address": "0x95401dc811bb5740090279Ba06cfA8fcF6113778", "abi": [ { "inputs": [], @@ -19063,7 +18812,7 @@ ] }, "DirectPaymentsFactory_Proxy": { - "address": "0xb1C7F09156d04BFf6F412447A73a0F72929b6ea4", + "address": "0x998abeb3E57409262aE5b751f60747921B33613E", "abi": [ { "inputs": [ @@ -19137,7 +18886,7 @@ ] }, "DirectPaymentsPool": { - "address": "0x3ddC912625244b056AB5b1572E8F50B8E0389DF6", + "address": "0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8", "abi": [ { "inputs": [ @@ -21146,118 +20895,265 @@ } ] }, - "HelperLibrary": { - "address": "0xC25Da2F6d074230F0870056659f8cEC6eD6f44cb", - "abi": [ - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "netIncome", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalFees", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "lastUpdate", - "type": "uint256" - }, - { - "internalType": "address", - "name": "lastFeeRecipient", - "type": "address" - }, - { - "internalType": "int96", - "name": "lastIncomeRate", - "type": "int96" - } - ], - "internalType": "struct IGoodCollectiveSuperApp.Stats", - "name": "stats", - "type": "tuple" - }, - { - "internalType": "contract ISuperToken", - "name": "superToken", - "type": "ISuperToken" - } - ], - "name": "getRealtimeStats", - "outputs": [ - { - "internalType": "uint256", - "name": "netIncome", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "totalFees", - "type": "uint256" - }, - { - "internalType": "int96", - "name": "incomeFlowRate", - "type": "int96" - }, - { - "internalType": "int96", - "name": "feeRate", - "type": "int96" - } - ], - "stateMutability": "view", - "type": "function" - } - ] - }, - "MultiClaimModule": { - "address": "0xE6Af17143015aAA030c8aCd81811e72AC6046c0e", + "GoodDollar": { + "address": "0xc5a5C42992dECbae36851359345FE25997F5C42d", "abi": [ - { - "inputs": [], - "name": "getModuleTypes", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "typeID", - "type": "uint256" - } - ], - "name": "isModuleType", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "contracts", - "type": "address[]" + "constructor(address _host)", + "error SF_TOKEN_AGREEMENT_ALREADY_EXISTS()", + "error SF_TOKEN_AGREEMENT_DOES_NOT_EXIST()", + "error SF_TOKEN_BURN_INSUFFICIENT_BALANCE()", + "error SF_TOKEN_MOVE_INSUFFICIENT_BALANCE()", + "error SF_TOKEN_ONLY_HOST()", + "error SF_TOKEN_ONLY_LISTED_AGREEMENT()", + "error SUPER_TOKEN_APPROVE_FROM_ZERO_ADDRESS()", + "error SUPER_TOKEN_APPROVE_TO_ZERO_ADDRESS()", + "error SUPER_TOKEN_BURN_FROM_ZERO_ADDRESS()", + "error SUPER_TOKEN_CALLER_IS_NOT_OPERATOR_FOR_HOLDER()", + "error SUPER_TOKEN_INFLATIONARY_DEFLATIONARY_NOT_SUPPORTED()", + "error SUPER_TOKEN_MINT_TO_ZERO_ADDRESS()", + "error SUPER_TOKEN_NFT_PROXY_ALREADY_SET()", + "error SUPER_TOKEN_NOT_ERC777_TOKENS_RECIPIENT()", + "error SUPER_TOKEN_NO_UNDERLYING_TOKEN()", + "error SUPER_TOKEN_ONLY_GOV_OWNER()", + "error SUPER_TOKEN_ONLY_HOST()", + "error SUPER_TOKEN_ONLY_SELF()", + "error SUPER_TOKEN_TRANSFER_FROM_ZERO_ADDRESS()", + "error SUPER_TOKEN_TRANSFER_TO_ZERO_ADDRESS()", + "event AgreementCreated(address indexed agreementClass, bytes32 id, bytes32[] data)", + "event AgreementLiquidated(address indexed agreementClass, bytes32 id, address indexed penaltyAccount, address indexed rewardAccount, uint256 rewardAmount)", + "event AgreementLiquidatedBy(address liquidatorAccount, address indexed agreementClass, bytes32 id, address indexed penaltyAccount, address indexed bondAccount, uint256 rewardAmount, uint256 bailoutAmount)", + "event AgreementLiquidatedV2(address indexed agreementClass, bytes32 id, address indexed liquidatorAccount, address indexed targetAccount, address rewardAmountReceiver, uint256 rewardAmount, int256 targetAccountBalanceDelta, bytes liquidationTypeData)", + "event AgreementStateUpdated(address indexed agreementClass, address indexed account, uint256 slotId)", + "event AgreementTerminated(address indexed agreementClass, bytes32 id)", + "event AgreementUpdated(address indexed agreementClass, bytes32 id, bytes32[] data)", + "event Approval(address indexed owner, address indexed spender, uint256 value)", + "event AuthorizedOperator(address indexed operator, address indexed tokenHolder)", + "event Bailout(address indexed bailoutAccount, uint256 bailoutAmount)", + "event Burned(address indexed operator, address indexed from, uint256 amount, bytes data, bytes operatorData)", + "event CodeUpdated(bytes32 uuid, address codeAddress)", + "event ConstantInflowNFTCreated(address indexed constantInflowNFT)", + "event ConstantOutflowNFTCreated(address indexed constantOutflowNFT)", + "event Initialized(uint8 version)", + "event Minted(address indexed operator, address indexed to, uint256 amount, bytes data, bytes operatorData)", + "event Paused(address account)", + "event RevokedOperator(address indexed operator, address indexed tokenHolder)", + "event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)", + "event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)", + "event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)", + "event Sent(address indexed operator, address indexed from, address indexed to, uint256 amount, bytes data, bytes operatorData)", + "event Transfer(address indexed from, address indexed to, uint256 value, bytes data)", + "event Transfer(address indexed from, address indexed to, uint256 value)", + "event TransferFee(address from, address to, uint256 amount, uint256 fee, bool senderPays)", + "event Unpaused(address account)", + "function CONSTANT_INFLOW_NFT() view returns (address)", + "function CONSTANT_OUTFLOW_NFT() view returns (address)", + "function DEFAULT_ADMIN_ROLE() view returns (bytes32)", + "function DOMAIN_SEPARATOR() view returns (bytes32)", + "function MINTER_ROLE() view returns (bytes32)", + "function PAUSER_ROLE() view returns (bytes32)", + "function addMinter(address _minter)", + "function addPauser(address _pauser)", + "function allowance(address account, address spender) view returns (uint256)", + "function approve(address spender, uint256 amount) returns (bool)", + "function authorizeOperator(address operator)", + "function balanceOf(address account) view returns (uint256 balance)", + "function burn(uint256 amount)", + "function burn(uint256 amount, bytes data)", + "function burnFrom(address account, uint256 amount)", + "function cap() view returns (uint256)", + "function castrate()", + "function createAgreement(bytes32 id, bytes32[] data)", + "function creditGasFees(address from, address feeRecipient, address gatewayFeeRecipient, address baseFeeRecipient, uint256 refund, uint256 tipTxFee, uint256 gatewayFee, uint256 baseTxFee)", + "function debitGasFees(address from, uint256 value)", + "function decimals() pure returns (uint8)", + "function decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)", + "function defaultOperators() view returns (address[])", + "function disableHostOperations() view returns (bool)", + "function enableHostOperations(bool enabled)", + "function feeRecipient() view returns (address)", + "function formula() view returns (address)", + "function getAccountActiveAgreements(address account) view returns (address[])", + "function getAgreementData(address agreementClass, bytes32 id, uint256 dataLength) view returns (bytes32[] data)", + "function getAgreementStateSlot(address agreementClass, address account, uint256 slotId, uint256 dataLength) view returns (bytes32[] slotData)", + "function getCodeAddress() view returns (address codeAddress)", + "function getFees(uint256 amount, address sender, address recipient) view returns (uint256 fee, bool senderPays)", + "function getFees(uint256 amount) view returns (uint256 fee, bool senderPays)", + "function getHost() view returns (address host)", + "function getRoleAdmin(bytes32 role) view returns (bytes32)", + "function getRoleMember(bytes32 role, uint256 index) view returns (address)", + "function getRoleMemberCount(bytes32 role) view returns (uint256)", + "function getUnderlyingToken() view returns (address)", + "function grantRole(bytes32 role, address account)", + "function granularity() pure returns (uint256)", + "function hasRole(bytes32 role, address account) view returns (bool)", + "function identity() view returns (address)", + "function increaseAllowance(address spender, uint256 addedValue) returns (bool)", + "function initialize(address underlyingToken, uint8 underlyingDecimals, string n, string s)", + "function initialize(string n, string s, uint256 _cap, address _formula, address _identity, address _feeRecipient, address _owner, address _outflowNFT, address _inflowNFT)", + "function isAccountCritical(address account, uint256 timestamp) view returns (bool isCritical)", + "function isAccountCriticalNow(address account) view returns (bool isCritical)", + "function isAccountSolvent(address account, uint256 timestamp) view returns (bool isSolvent)", + "function isAccountSolventNow(address account) view returns (bool isSolvent)", + "function isMinter(address _minter) view returns (bool)", + "function isOperatorFor(address operator, address tokenHolder) view returns (bool)", + "function isPauser(address _pauser) view returns (bool)", + "function makeLiquidationPayoutsV2(bytes32 id, bytes liquidationTypeData, address liquidatorAccount, bool useDefaultRewardAccount, address targetAccount, uint256 rewardAmount, int256 targetAccountBalanceDelta)", + "function mint(address to, uint256 amount) returns (bool)", + "function name() view returns (string)", + "function nonces(address owner) view returns (uint256)", + "function operationApprove(address account, address spender, uint256 amount)", + "function operationDecreaseAllowance(address account, address spender, uint256 subtractedValue)", + "function operationIncreaseAllowance(address account, address spender, uint256 addedValue)", + "function operationSend(address spender, address recipient, uint256 amount, bytes userData)", + "function operationTransferFrom(address account, address spender, address recipient, uint256 amount)", + "function operatorBurn(address account, uint256 amount, bytes data, bytes operatorData)", + "function operatorSend(address sender, address recipient, uint256 amount, bytes data, bytes operatorData)", + "function owner() view returns (address)", + "function pause()", + "function paused() view returns (bool)", + "function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)", + "function poolAdminNFT() view returns (address)", + "function poolMemberNFT() view returns (address)", + "function proxiableUUID() pure returns (bytes32)", + "function realtimeBalanceOf(address account, uint256 timestamp) view returns (int256 availableBalance, uint256 deposit, uint256 owedDeposit)", + "function realtimeBalanceOfNow(address account) view returns (int256 availableBalance, uint256 deposit, uint256 owedDeposit, uint256 timestamp)", + "function renounceMinter()", + "function renounceRole(bytes32 role, address account)", + "function revokeOperator(address operator)", + "function revokeRole(bytes32 role, address account)", + "function selfApproveFor(address account, address spender, uint256 amount)", + "function send(address recipient, uint256 amount, bytes data)", + "function setFeeRecipient(address _feeRecipient)", + "function setFormula(address _formula)", + "function setIdentity(address _identity)", + "function setNFTProxyContracts(address _constantOutflowNFT, address _constantInflowNFT, address _poolAdminNFT, address _poolMemberNFT)", + "function settleBalance(address account, int256 delta)", + "function supportsInterface(bytes4 interfaceId) view returns (bool)", + "function symbol() view returns (string)", + "function terminateAgreement(bytes32 id, uint256 dataLength)", + "function totalSupply() view returns (uint256)", + "function transfer(address to, uint256 amount) returns (bool)", + "function transferAndCall(address to, uint256 amount, bytes data) returns (bool)", + "function transferFrom(address holder, address recipient, uint256 amount) returns (bool)", + "function transferOwnership(address _owner)", + "function unpause()", + "function updateAgreementData(bytes32 id, bytes32[] data)", + "function updateAgreementStateSlot(address account, uint256 slotId, bytes32[] slotData)", + "function updateCode(address newAddress)" + ] + }, + "HelperLibrary": { + "address": "0xa82fF9aFd8f496c3d6ac40E2a0F282E47488CFc9", + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "netIncome", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastUpdate", + "type": "uint256" + }, + { + "internalType": "address", + "name": "lastFeeRecipient", + "type": "address" + }, + { + "internalType": "int96", + "name": "lastIncomeRate", + "type": "int96" + } + ], + "internalType": "struct IGoodCollectiveSuperApp.Stats", + "name": "stats", + "type": "tuple" + }, + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "ISuperToken" + } + ], + "name": "getRealtimeStats", + "outputs": [ + { + "internalType": "uint256", + "name": "netIncome", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalFees", + "type": "uint256" + }, + { + "internalType": "int96", + "name": "incomeFlowRate", + "type": "int96" + }, + { + "internalType": "int96", + "name": "feeRate", + "type": "int96" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "MultiClaimModule": { + "address": "0xE6Af17143015aAA030c8aCd81811e72AC6046c0e", + "abi": [ + { + "inputs": [], + "name": "getModuleTypes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "typeID", + "type": "uint256" + } + ], + "name": "isModuleType", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address[]", + "name": "contracts", + "type": "address[]" }, { "internalType": "contract IERC20Upgradeable", @@ -21310,7 +21206,7 @@ ] }, "ProvableNFT": { - "address": "0x251EEBd7d9469bbcc02Ef23c95D902Cbb7fD73B3", + "address": "0xf5059a5D33d5853360D16C683c16e67980206f36", "abi": [ { "anonymous": false, @@ -22515,7 +22411,7 @@ ] }, "ProvableNFT_Implementation": { - "address": "0x3c6461fc746E156adB3d8979847b7c2637021b91", + "address": "0x851356ae760d987E095750cCeb3bC6014560891C", "abi": [ { "inputs": [ @@ -23486,17 +23382,10526 @@ { "inputs": [ { - "internalType": "bytes32", - "name": "role", - "type": "bytes32" + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "ProvableNFT_Proxy": { + "address": "0xf5059a5D33d5853360D16C683c16e67980206f36", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ] + }, + "SuperFluidResolver": { + "address": "0x02330b5Be8EBD0D4d354813a7BB535140A77C881", + "abi": [] + }, + "SwapRouterMock": { + "address": "0xc3e53F4d16Ae77Db1c982e75a937B9f60FE63690", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "token", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "bytes", + "name": "path", + "type": "bytes" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOutMinimum", + "type": "uint256" + } + ], + "internalType": "struct IV3SwapRouter.ExactInputParams", + "name": "params", + "type": "tuple" + } + ], + "name": "exactInput", + "outputs": [ + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "tokenIn", + "type": "address" + }, + { + "internalType": "address", + "name": "tokenOut", + "type": "address" + }, + { + "internalType": "uint24", + "name": "fee", + "type": "uint24" + }, + { + "internalType": "address", + "name": "recipient", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amountIn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "amountOutMinimum", + "type": "uint256" + }, + { + "internalType": "uint160", + "name": "sqrtPriceLimitX96", + "type": "uint160" + } + ], + "internalType": "struct IV3SwapRouter.ExactInputSingleParams", + "name": "params", + "type": "tuple" + } + ], + "name": "exactInputSingle", + "outputs": [ + { + "internalType": "uint256", + "name": "amountOut", + "type": "uint256" + } + ], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "UBIPool": { + "address": "0x4826533B4897376654Bb4d4AD88B7faFD0C98528", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ISuperfluid", + "name": "_host", + "type": "address" + }, + { + "internalType": "contract IV3SwapRouter", + "name": "_swapRouter", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "whitelistedRoot", + "type": "address" + } + ], + "name": "ALREADY_CLAIMED", + "type": "error" + }, + { + "inputs": [], + "name": "CLAIMFOR_DISABLED", + "type": "error" + }, + { + "inputs": [], + "name": "EMPTY_MANAGER", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int96", + "name": "curFeeRate", + "type": "int96" + }, + { + "internalType": "int96", + "name": "newFeeRate", + "type": "int96" + } + ], + "name": "FEE_FLOW_FAILED", + "type": "error" + }, + { + "inputs": [], + "name": "INVALID_0_VALUE", + "type": "error" + }, + { + "inputs": [], + "name": "MAX_CLAIMERS_REACHED", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int96", + "name": "flowRate", + "type": "int96" + } + ], + "name": "MIN_FLOWRATE", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "claimer", + "type": "address" + } + ], + "name": "NOT_MEMBER", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "whitelistedRoot", + "type": "address" + } + ], + "name": "NOT_WHITELISTED", + "type": "error" + }, + { + "inputs": [], + "name": "NotAcceptedSuperToken", + "type": "error" + }, + { + "inputs": [], + "name": "NotImplemented", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "ONLY_HOST_OR_SENDER", + "type": "error" + }, + { + "inputs": [], + "name": "UNSUPPORTED_TOKEN", + "type": "error" + }, + { + "inputs": [], + "name": "UnauthorizedHost", + "type": "error" + }, + { + "inputs": [], + "name": "ZERO_ADDRESS", + "type": "error" + }, + { + "inputs": [], + "name": "ZERO_AMOUNT", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + } + ], + "indexed": false, + "internalType": "struct UBIPool.PoolSettings", + "name": "settings", + "type": "tuple" + } + ], + "name": "PoolSettingsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "supporter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "previousContribution", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "contribution", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int96", + "name": "previousFlowRate", + "type": "int96" + }, + { + "indexed": false, + "internalType": "int96", + "name": "flowRate", + "type": "int96" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isFlowUpdate", + "type": "bool" + } + ], + "name": "SupporterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "day", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "dailyUbi", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "blockNumber", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "periodClaimers", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "periodDistributed", + "type": "uint256" + } + ], + "name": "UBICalculated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "whitelistedRoot", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "claimer", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "UBIClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "day", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "pool", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "cycleLength", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "dailyUBIPool", + "type": "uint256" + } + ], + "name": "UBICycleCalculated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "cycleLengthDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "claimPeriodDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "minActiveUsers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "claimForEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "maxClaimAmount", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "maxClaimers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "onlyMembers", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct UBIPool.UBISettings", + "name": "settings", + "type": "tuple" + } + ], + "name": "UBISettingsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "CFAV1_TYPE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MANAGER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MEMBER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MIN_FLOW_RATE", + "outputs": [ + { + "internalType": "int96", + "name": "", + "type": "int96" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "member", + "type": "address" + }, + { + "internalType": "bytes", + "name": "extraData", + "type": "bytes" + } + ], + "name": "addMember", + "outputs": [ + { + "internalType": "bool", + "name": "isMember", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "agreementData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "ctx", + "type": "bytes" + } + ], + "name": "afterAgreementCreated", + "outputs": [ + { + "internalType": "bytes", + "name": "newCtx", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "address" + }, + { + "internalType": "address", + "name": "agreementClass", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "agreementData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "cbdata", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "ctx", + "type": "bytes" + } + ], + "name": "afterAgreementTerminated", + "outputs": [ + { + "internalType": "bytes", + "name": "newCtx", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "agreementData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "cbdata", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "ctx", + "type": "bytes" + } + ], + "name": "afterAgreementUpdated", + "outputs": [ + { + "internalType": "bytes", + "name": "newCtx", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "address" + }, + { + "internalType": "address", + "name": "agreementClass", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "beforeAgreementCreated", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "address" + }, + { + "internalType": "address", + "name": "agreementClass", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "agreementData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "beforeAgreementTerminated", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "address" + }, + { + "internalType": "address", + "name": "agreementClass", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "agreementData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "beforeAgreementUpdated", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "cfaV1", + "outputs": [ + { + "internalType": "contract ISuperfluid", + "name": "host", + "type": "address" + }, + { + "internalType": "contract IConstantFlowAgreementV1", + "name": "cfa", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_member", + "type": "address" + } + ], + "name": "checkEntitlement", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "checkEntitlement", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "claimer", + "type": "address" + }, + { + "internalType": "bool", + "name": "sendToWhitelistedRoot", + "type": "bool" + } + ], + "name": "claimFor", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "currentDayInCycle", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "estimateNextDailyUBI", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getCurrentDay", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + } + ], + "name": "getRealtimeContribution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRealtimeStats", + "outputs": [ + { + "internalType": "uint256", + "name": "netIncome", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalFees", + "type": "uint256" + }, + { + "internalType": "int96", + "name": "incomeFlowRate", + "type": "int96" + }, + { + "internalType": "int96", + "name": "feeRate", + "type": "int96" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRegistry", + "outputs": [ + { + "internalType": "contract IRegistry", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "swapFrom", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minReturn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "path", + "type": "bytes" + } + ], + "internalType": "struct HelperLibrary.SwapData", + "name": "_customData", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_ctx", + "type": "bytes" + } + ], + "name": "handleSwap", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_member", + "type": "address" + } + ], + "name": "hasClaimed", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "host", + "outputs": [ + { + "internalType": "contract ISuperfluid", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + } + ], + "internalType": "struct UBIPool.PoolSettings", + "name": "_settings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "cycleLengthDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "claimPeriodDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "minActiveUsers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "claimForEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "maxClaimAmount", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "maxClaimers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "onlyMembers", + "type": "bool" + } + ], + "internalType": "struct UBIPool.UBISettings", + "name": "_ubiSettings", + "type": "tuple" + }, + { + "internalType": "contract UBIPoolFactory", + "name": "_registry", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "_superToken", + "type": "address" + } + ], + "name": "isAcceptedSuperToken", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nextClaimTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onTokenTransfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "registry", + "outputs": [ + { + "internalType": "contract UBIPoolFactory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + } + ], + "internalType": "struct UBIPool.PoolSettings", + "name": "_settings", + "type": "tuple" + } + ], + "name": "setPoolSettings", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "cycleLengthDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "claimPeriodDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "minActiveUsers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "claimForEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "maxClaimAmount", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "maxClaimers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "onlyMembers", + "type": "bool" + } + ], + "internalType": "struct UBIPool.UBISettings", + "name": "_ubiSettings", + "type": "tuple" + } + ], + "name": "setUBISettings", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "settings", + "outputs": [ + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "stats", + "outputs": [ + { + "internalType": "uint256", + "name": "netIncome", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastUpdate", + "type": "uint256" + }, + { + "internalType": "address", + "name": "lastFeeRecipient", + "type": "address" + }, + { + "internalType": "int96", + "name": "lastIncomeRate", + "type": "int96" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "status", + "outputs": [ + { + "internalType": "uint256", + "name": "currentDay", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "dailyUbi", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "dailyCyclePool", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "startOfCycle", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "currentCycleLength", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "periodClaimers", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "periodDistributed", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "claimersCount", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "superToken", + "outputs": [ + { + "internalType": "contract ISuperToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_ctx", + "type": "bytes" + } + ], + "name": "support", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "swapFrom", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minReturn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "path", + "type": "bytes" + } + ], + "internalType": "struct HelperLibrary.SwapData", + "name": "_customData", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "_ctx", + "type": "bytes" + } + ], + "name": "supportWithSwap", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "supporters", + "outputs": [ + { + "internalType": "uint256", + "name": "contribution", + "type": "uint256" + }, + { + "internalType": "int96", + "name": "flowRate", + "type": "int96" + }, + { + "internalType": "uint128", + "name": "lastUpdated", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "swapRouter", + "outputs": [ + { + "internalType": "contract IV3SwapRouter", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "ubiSettings", + "outputs": [ + { + "internalType": "uint32", + "name": "cycleLengthDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "claimPeriodDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "minActiveUsers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "claimForEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "maxClaimAmount", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "maxClaimers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "onlyMembers", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToLatest", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "UBIPoolFactory": { + "address": "0x0E801D84Fa97b50751Dbf25036d067dCf18858bF", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "stateMutability": "payable", + "type": "receive" + }, + { + "inputs": [], + "name": "NOT_POOL", + "type": "error" + }, + { + "inputs": [], + "name": "NOT_PROJECT_OWNER", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "indexed": true, + "internalType": "string", + "name": "projectId", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "ipfs", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + } + ], + "indexed": false, + "internalType": "struct UBIPool.PoolSettings", + "name": "poolSettings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "cycleLengthDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "claimPeriodDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "minActiveUsers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "claimForEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "maxClaimAmount", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "maxClaimers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "onlyMembers", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct UBIPool.UBISettings", + "name": "poolLimits", + "type": "tuple" + } + ], + "name": "PoolCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "ipfs", + "type": "string" + } + ], + "name": "PoolDetailsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isVerified", + "type": "bool" + } + ], + "name": "PoolVerifiedChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "UpdatedImpl", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "addMember", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract UBIPool", + "name": "_pool", + "type": "address" + }, + { + "internalType": "string", + "name": "_ipfs", + "type": "string" + } + ], + "name": "changePoolDetails", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "string", + "name": "_ipfs", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + } + ], + "internalType": "struct UBIPool.PoolSettings", + "name": "_settings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "cycleLengthDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "claimPeriodDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "minActiveUsers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "claimForEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "maxClaimAmount", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "maxClaimers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "onlyMembers", + "type": "bool" + } + ], + "internalType": "struct UBIPool.UBISettings", + "name": "_limits", + "type": "tuple" + } + ], + "name": "createManagedPool", + "outputs": [ + { + "internalType": "contract UBIPool", + "name": "pool", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "string", + "name": "_ipfs", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + } + ], + "internalType": "struct UBIPool.PoolSettings", + "name": "_settings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "cycleLengthDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "claimPeriodDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "minActiveUsers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "claimForEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "maxClaimAmount", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "maxClaimers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "onlyMembers", + "type": "bool" + } + ], + "internalType": "struct UBIPool.UBISettings", + "name": "_limits", + "type": "tuple" + } + ], + "name": "createPool", + "outputs": [ + { + "internalType": "contract UBIPool", + "name": "pool", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "feeBps", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeRecipient", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "member", + "type": "address" + } + ], + "name": "getMemberPools", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "impl", + "outputs": [ + { + "internalType": "contract UpgradeableBeacon", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_impl", + "type": "address" + }, + { + "internalType": "address", + "name": "_feeRecipient", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_feeBps", + "type": "uint32" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "memberPools", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "pools", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "projectIdToControlPool", + "outputs": [ + { + "internalType": "contract UBIPool", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "registry", + "outputs": [ + { + "internalType": "string", + "name": "ipfs", + "type": "string" + }, + { + "internalType": "bool", + "name": "isVerified", + "type": "bool" + }, + { + "internalType": "string", + "name": "projectId", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "member", + "type": "address" + } + ], + "name": "removeMember", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_feeRecipient", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_feeBps", + "type": "uint32" + } + ], + "name": "setFeeInfo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract UBIPool", + "name": "_pool", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isVerified", + "type": "bool" + } + ], + "name": "setVerified", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_impl", + "type": "address" + } + ], + "name": "updateImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "constructor" + } + ] + }, + "UBIPoolFactory_Implementation": { + "address": "0x99bbA657f2BbC93c02D617f8bA121cB8Fc104Acf", + "abi": [ + { + "inputs": [], + "name": "NOT_POOL", + "type": "error" + }, + { + "inputs": [], + "name": "NOT_PROJECT_OWNER", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "indexed": true, + "internalType": "string", + "name": "projectId", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "ipfs", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + } + ], + "indexed": false, + "internalType": "struct UBIPool.PoolSettings", + "name": "poolSettings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "cycleLengthDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "claimPeriodDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "minActiveUsers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "claimForEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "maxClaimAmount", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "maxClaimers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "onlyMembers", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct UBIPool.UBISettings", + "name": "poolLimits", + "type": "tuple" + } + ], + "name": "PoolCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "ipfs", + "type": "string" + } + ], + "name": "PoolDetailsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isVerified", + "type": "bool" + } + ], + "name": "PoolVerifiedChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "UpdatedImpl", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "addMember", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract UBIPool", + "name": "_pool", + "type": "address" + }, + { + "internalType": "string", + "name": "_ipfs", + "type": "string" + } + ], + "name": "changePoolDetails", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "string", + "name": "_ipfs", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + } + ], + "internalType": "struct UBIPool.PoolSettings", + "name": "_settings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "cycleLengthDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "claimPeriodDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "minActiveUsers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "claimForEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "maxClaimAmount", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "maxClaimers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "onlyMembers", + "type": "bool" + } + ], + "internalType": "struct UBIPool.UBISettings", + "name": "_limits", + "type": "tuple" + } + ], + "name": "createManagedPool", + "outputs": [ + { + "internalType": "contract UBIPool", + "name": "pool", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "string", + "name": "_ipfs", + "type": "string" + }, + { + "components": [ + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + } + ], + "internalType": "struct UBIPool.PoolSettings", + "name": "_settings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "cycleLengthDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "claimPeriodDays", + "type": "uint32" + }, + { + "internalType": "uint32", + "name": "minActiveUsers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "claimForEnabled", + "type": "bool" + }, + { + "internalType": "uint256", + "name": "maxClaimAmount", + "type": "uint256" + }, + { + "internalType": "uint32", + "name": "maxClaimers", + "type": "uint32" + }, + { + "internalType": "bool", + "name": "onlyMembers", + "type": "bool" + } + ], + "internalType": "struct UBIPool.UBISettings", + "name": "_limits", + "type": "tuple" + } + ], + "name": "createPool", + "outputs": [ + { + "internalType": "contract UBIPool", + "name": "pool", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "feeBps", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeRecipient", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "member", + "type": "address" + } + ], + "name": "getMemberPools", + "outputs": [ + { + "internalType": "address[]", + "name": "", + "type": "address[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "impl", + "outputs": [ + { + "internalType": "contract UpgradeableBeacon", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_impl", + "type": "address" + }, + { + "internalType": "address", + "name": "_feeRecipient", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_feeBps", + "type": "uint32" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "memberPools", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "pools", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "projectIdToControlPool", + "outputs": [ + { + "internalType": "contract UBIPool", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "registry", + "outputs": [ + { + "internalType": "string", + "name": "ipfs", + "type": "string" + }, + { + "internalType": "bool", + "name": "isVerified", + "type": "bool" + }, + { + "internalType": "string", + "name": "projectId", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "member", + "type": "address" + } + ], + "name": "removeMember", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_feeRecipient", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_feeBps", + "type": "uint32" + } + ], + "name": "setFeeInfo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract UBIPool", + "name": "_pool", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isVerified", + "type": "bool" + } + ], + "name": "setVerified", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_impl", + "type": "address" + } + ], + "name": "updateImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "UBIPoolFactory_Proxy": { + "address": "0x0E801D84Fa97b50751Dbf25036d067dCf18858bF", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ] + } + } + }, + { + "name": "production-celo", + "chainId": "42220", + "contracts": { + "HelperLibrary": { + "address": "0xbc67CA6E216b37C3496Aa9Aa091a648b575755a4", + "abi": [ + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "netIncome", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastUpdate", + "type": "uint256" + }, + { + "internalType": "address", + "name": "lastFeeRecipient", + "type": "address" + }, + { + "internalType": "int96", + "name": "lastIncomeRate", + "type": "int96" + } + ], + "internalType": "struct IGoodCollectiveSuperApp.Stats", + "name": "stats", + "type": "tuple" + }, + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "ISuperToken" + } + ], + "name": "getRealtimeStats", + "outputs": [ + { + "internalType": "uint256", + "name": "netIncome", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalFees", + "type": "uint256" + }, + { + "internalType": "int96", + "name": "incomeFlowRate", + "type": "int96" + }, + { + "internalType": "int96", + "name": "feeRate", + "type": "int96" + } + ], + "stateMutability": "view", + "type": "function" + } + ] + }, + "DirectPaymentsPool": { + "address": "0xb49947CeFA93bf543A93d521F619b3C78AD46E5E", + "abi": [ + { + "inputs": [ + { + "internalType": "contract ISuperfluid", + "name": "_host", + "type": "address" + }, + { + "internalType": "contract IV3SwapRouter", + "name": "_swapRouter", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "ALREADY_CLAIMED", + "type": "error" + }, + { + "inputs": [], + "name": "EMPTY_MANAGER", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int96", + "name": "curFeeRate", + "type": "int96" + }, + { + "internalType": "int96", + "name": "newFeeRate", + "type": "int96" + } + ], + "name": "FEE_FLOW_FAILED", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int96", + "name": "flowRate", + "type": "int96" + } + ], + "name": "MIN_FLOWRATE", + "type": "error" + }, + { + "inputs": [], + "name": "NFTTYPE_CHANGED", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "NFT_MISSING", + "type": "error" + }, + { + "inputs": [], + "name": "NOT_MANAGER", + "type": "error" + }, + { + "inputs": [], + "name": "NO_BALANCE", + "type": "error" + }, + { + "inputs": [], + "name": "NotAcceptedSuperToken", + "type": "error" + }, + { + "inputs": [], + "name": "NotImplemented", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "ONLY_HOST_OR_SENDER", + "type": "error" + }, + { + "inputs": [], + "name": "OVER_GLOBAL_LIMITS", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "OVER_MEMBER_LIMITS", + "type": "error" + }, + { + "inputs": [], + "name": "UNSUPPORTED_NFT", + "type": "error" + }, + { + "inputs": [], + "name": "UNSUPPORTED_TOKEN", + "type": "error" + }, + { + "inputs": [], + "name": "UnauthorizedHost", + "type": "error" + }, + { + "inputs": [], + "name": "ZERO_ADDRESS", + "type": "error" + }, + { + "inputs": [], + "name": "ZERO_AMOUNT", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint16", + "name": "eventType", + "type": "uint16" + }, + { + "indexed": false, + "internalType": "uint32", + "name": "eventTimestamp", + "type": "uint32" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "eventQuantity", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "indexed": false, + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "rewardPerContributer", + "type": "uint256" + } + ], + "name": "EventRewardClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "totalRewards", + "type": "uint256" + } + ], + "name": "NFTClaimed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "contributer", + "type": "address" + } + ], + "name": "NOT_MEMBER_OR_WHITELISTED", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "indexed": true, + "internalType": "string", + "name": "projectId", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "ipfs", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16[]", + "name": "validEvents", + "type": "uint16[]" + }, + { + "internalType": "uint128[]", + "name": "rewardPerEvent", + "type": "uint128[]" + }, + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowRewardOverride", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct DirectPaymentsPool.PoolSettings", + "name": "poolSettings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "maxTotalPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerDay", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct DirectPaymentsPool.SafetyLimits", + "name": "poolLimits", + "type": "tuple" + } + ], + "name": "PoolCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "maxTotalPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerDay", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct DirectPaymentsPool.SafetyLimits", + "name": "limits", + "type": "tuple" + } + ], + "name": "PoolLimitsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16[]", + "name": "validEvents", + "type": "uint16[]" + }, + { + "internalType": "uint128[]", + "name": "rewardPerEvent", + "type": "uint128[]" + }, + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowRewardOverride", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct DirectPaymentsPool.PoolSettings", + "name": "settings", + "type": "tuple" + } + ], + "name": "PoolSettingsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "supporter", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "previousContribution", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "contribution", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "int96", + "name": "previousFlowRate", + "type": "int96" + }, + { + "indexed": false, + "internalType": "int96", + "name": "flowRate", + "type": "int96" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isFlowUpdate", + "type": "bool" + } + ], + "name": "SupporterUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "CFAV1_TYPE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MANAGER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MEMBER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MINTER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MIN_FLOW_RATE", + "outputs": [ + { + "internalType": "int96", + "name": "", + "type": "int96" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "agreementData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "ctx", + "type": "bytes" + } + ], + "name": "afterAgreementCreated", + "outputs": [ + { + "internalType": "bytes", + "name": "newCtx", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "address" + }, + { + "internalType": "address", + "name": "agreementClass", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "agreementData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "cbdata", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "ctx", + "type": "bytes" + } + ], + "name": "afterAgreementTerminated", + "outputs": [ + { + "internalType": "bytes", + "name": "newCtx", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "agreementData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "cbdata", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "ctx", + "type": "bytes" + } + ], + "name": "afterAgreementUpdated", + "outputs": [ + { + "internalType": "bytes", + "name": "newCtx", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "address" + }, + { + "internalType": "address", + "name": "agreementClass", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "beforeAgreementCreated", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "address" + }, + { + "internalType": "address", + "name": "agreementClass", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "agreementData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "beforeAgreementTerminated", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "superToken", + "type": "address" + }, + { + "internalType": "address", + "name": "agreementClass", + "type": "address" + }, + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + }, + { + "internalType": "bytes", + "name": "agreementData", + "type": "bytes" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "beforeAgreementUpdated", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "cfaV1", + "outputs": [ + { + "internalType": "contract ISuperfluid", + "name": "host", + "type": "address" + }, + { + "internalType": "contract IConstantFlowAgreementV1", + "name": "cfa", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_nftId", + "type": "uint256" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_nftId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "version", + "type": "uint16" + }, + { + "internalType": "string", + "name": "nftUri", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData[]", + "name": "events", + "type": "tuple[]" + } + ], + "internalType": "struct ProvableNFT.NFTData", + "name": "_data", + "type": "tuple" + } + ], + "name": "claim", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "claimedNfts", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_user", + "type": "address" + } + ], + "name": "getRealtimeContribution", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRealtimeStats", + "outputs": [ + { + "internalType": "uint256", + "name": "netIncome", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalFees", + "type": "uint256" + }, + { + "internalType": "int96", + "name": "incomeFlowRate", + "type": "int96" + }, + { + "internalType": "int96", + "name": "feeRate", + "type": "int96" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getRegistry", + "outputs": [ + { + "internalType": "contract IRegistry", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "globalLimits", + "outputs": [ + { + "internalType": "uint128", + "name": "daily", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "monthly", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "total", + "type": "uint128" + }, + { + "internalType": "uint64", + "name": "lastReward", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "lastMonth", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "address", + "name": "swapFrom", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minReturn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "path", + "type": "bytes" + } + ], + "internalType": "struct HelperLibrary.SwapData", + "name": "_customData", + "type": "tuple" + }, + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_ctx", + "type": "bytes" + } + ], + "name": "handleSwap", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "host", + "outputs": [ + { + "internalType": "contract ISuperfluid", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ProvableNFT", + "name": "_nft", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16[]", + "name": "validEvents", + "type": "uint16[]" + }, + { + "internalType": "uint128[]", + "name": "rewardPerEvent", + "type": "uint128[]" + }, + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowRewardOverride", + "type": "bool" + } + ], + "internalType": "struct DirectPaymentsPool.PoolSettings", + "name": "_settings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "maxTotalPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerDay", + "type": "uint256" + } + ], + "internalType": "struct DirectPaymentsPool.SafetyLimits", + "name": "_limits", + "type": "tuple" + }, + { + "internalType": "contract DirectPaymentsFactory", + "name": "_registry", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract ISuperToken", + "name": "_superToken", + "type": "address" + } + ], + "name": "isAcceptedSuperToken", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "limits", + "outputs": [ + { + "internalType": "uint256", + "name": "maxTotalPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerDay", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "memberLimits", + "outputs": [ + { + "internalType": "uint128", + "name": "daily", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "monthly", + "type": "uint128" + }, + { + "internalType": "uint128", + "name": "total", + "type": "uint128" + }, + { + "internalType": "uint64", + "name": "lastReward", + "type": "uint64" + }, + { + "internalType": "uint64", + "name": "lastMonth", + "type": "uint64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "version", + "type": "uint16" + }, + { + "internalType": "string", + "name": "nftUri", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData[]", + "name": "events", + "type": "tuple[]" + } + ], + "internalType": "struct ProvableNFT.NFTData", + "name": "_nftData", + "type": "tuple" + }, + { + "internalType": "bool", + "name": "withClaim", + "type": "bool" + } + ], + "name": "mintNFT", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nft", + "outputs": [ + { + "internalType": "contract ProvableNFT", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onERC721Received", + "outputs": [ + { + "internalType": "bytes4", + "name": "", + "type": "bytes4" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "name": "onTokenTransfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "registry", + "outputs": [ + { + "internalType": "contract DirectPaymentsFactory", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "maxTotalPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerDay", + "type": "uint256" + } + ], + "internalType": "struct DirectPaymentsPool.SafetyLimits", + "name": "_limits", + "type": "tuple" + } + ], + "name": "setPoolLimits", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16[]", + "name": "validEvents", + "type": "uint16[]" + }, + { + "internalType": "uint128[]", + "name": "rewardPerEvent", + "type": "uint128[]" + }, + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowRewardOverride", + "type": "bool" + } + ], + "internalType": "struct DirectPaymentsPool.PoolSettings", + "name": "_settings", + "type": "tuple" + } + ], + "name": "setPoolSettings", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "settings", + "outputs": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowRewardOverride", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "stats", + "outputs": [ + { + "internalType": "uint256", + "name": "netIncome", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalFees", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "lastUpdate", + "type": "uint256" + }, + { + "internalType": "address", + "name": "lastFeeRecipient", + "type": "address" + }, + { + "internalType": "int96", + "name": "lastIncomeRate", + "type": "int96" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "superToken", + "outputs": [ + { + "internalType": "contract ISuperToken", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "_ctx", + "type": "bytes" + } + ], + "name": "support", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_sender", + "type": "address" + }, + { + "components": [ + { + "internalType": "address", + "name": "swapFrom", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "minReturn", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "path", + "type": "bytes" + } + ], + "internalType": "struct HelperLibrary.SwapData", + "name": "_customData", + "type": "tuple" + }, + { + "internalType": "bytes", + "name": "_ctx", + "type": "bytes" + } + ], + "name": "supportWithSwap", + "outputs": [ + { + "internalType": "bytes", + "name": "", + "type": "bytes" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "supporters", + "outputs": [ + { + "internalType": "uint256", + "name": "contribution", + "type": "uint256" + }, + { + "internalType": "int96", + "name": "flowRate", + "type": "int96" + }, + { + "internalType": "uint128", + "name": "lastUpdated", + "type": "uint128" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "swapRouter", + "outputs": [ + { + "internalType": "contract IV3SwapRouter", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToLatest", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "ProvableNFT_Implementation": { + "address": "0x31DF376bE970d426E053C760B9C642Da86e53BA0", + "abi": [ + { + "inputs": [ + { + "internalType": "bytes32", + "name": "dataHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "tokenId", + "type": "bytes32" + } + ], + "name": "BAD_DATAHASH", + "type": "error" + }, + { + "inputs": [], + "name": "BAD_NFTTYPE", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "name": "NOT_MANAGER", + "type": "error" + }, + { + "inputs": [], + "name": "NOT_MINTER", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "nftDataHash", + "type": "bytes32" + } + ], + "name": "ProvableNftMinted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MINTER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_manager", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_nftType", + "type": "uint32" + } + ], + "name": "addManager", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_nftType", + "type": "uint32" + } + ], + "name": "getManagerRole", + "outputs": [ + { + "internalType": "bytes32", + "name": "roleHash", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getNFTData", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "version", + "type": "uint16" + }, + { + "internalType": "string", + "name": "nftUri", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData[]", + "name": "events", + "type": "tuple[]" + } + ], + "internalType": "struct ProvableNFT.NFTData", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_index", + "type": "uint256" + } + ], + "name": "getNFTEvent", + "outputs": [ + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getNFTEvents", + "outputs": [ + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "string", + "name": "_uri", + "type": "string" + }, + { + "internalType": "bytes32", + "name": "_nftDataHash", + "type": "bytes32" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "version", + "type": "uint16" + }, + { + "internalType": "string", + "name": "nftUri", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData[]", + "name": "events", + "type": "tuple[]" + } + ], + "internalType": "struct ProvableNFT.NFTData", + "name": "_nftData", + "type": "tuple" + }, + { + "internalType": "bool", + "name": "_withStore", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "_callData", + "type": "bytes" + } + ], + "name": "mintPermissioned", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "version", + "type": "uint16" + }, + { + "internalType": "string", + "name": "nftUri", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData[]", + "name": "events", + "type": "tuple[]" + } + ], + "internalType": "struct ProvableNFT.NFTData", + "name": "_nftData", + "type": "tuple" + } + ], + "name": "proveNFTData", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "version", + "type": "uint16" + }, + { + "internalType": "string", + "name": "nftUri", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData[]", + "name": "events", + "type": "tuple[]" + } + ], + "internalType": "struct ProvableNFT.NFTData", + "name": "data", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "ProvableNFT_Proxy": { + "address": "0x62AFaF745425fd2b67b358083068d3802e9EF04d", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ] + }, + "ProvableNFT": { + "address": "0x62AFaF745425fd2b67b358083068d3802e9EF04d", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "stateMutability": "payable", + "type": "receive" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "dataHash", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "tokenId", + "type": "bytes32" + } + ], + "name": "BAD_DATAHASH", + "type": "error" + }, + { + "inputs": [], + "name": "BAD_NFTTYPE", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "name": "NOT_MANAGER", + "type": "error" + }, + { + "inputs": [], + "name": "NOT_MINTER", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "bytes32", + "name": "nftDataHash", + "type": "bytes32" + } + ], + "name": "ProvableNftMinted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "MINTER_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_manager", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_nftType", + "type": "uint32" + } + ], + "name": "addManager", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint32", + "name": "_nftType", + "type": "uint32" + } + ], + "name": "getManagerRole", + "outputs": [ + { + "internalType": "bytes32", + "name": "roleHash", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getNFTData", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "version", + "type": "uint16" + }, + { + "internalType": "string", + "name": "nftUri", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData[]", + "name": "events", + "type": "tuple[]" + } + ], + "internalType": "struct ProvableNFT.NFTData", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "_index", + "type": "uint256" + } + ], + "name": "getNFTEvent", + "outputs": [ + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + } + ], + "name": "getNFTEvents", + "outputs": [ + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData[]", + "name": "", + "type": "tuple[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_name", + "type": "string" + }, + { + "internalType": "string", + "name": "_symbol", + "type": "string" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "string", + "name": "_uri", + "type": "string" + }, + { + "internalType": "bytes32", + "name": "_nftDataHash", + "type": "bytes32" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "version", + "type": "uint16" + }, + { + "internalType": "string", + "name": "nftUri", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData[]", + "name": "events", + "type": "tuple[]" + } + ], + "internalType": "struct ProvableNFT.NFTData", + "name": "_nftData", + "type": "tuple" + }, + { + "internalType": "bool", + "name": "_withStore", + "type": "bool" + }, + { + "internalType": "bytes", + "name": "_callData", + "type": "bytes" + } + ], + "name": "mintPermissioned", + "outputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_tokenId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "version", + "type": "uint16" + }, + { + "internalType": "string", + "name": "nftUri", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData[]", + "name": "events", + "type": "tuple[]" + } + ], + "internalType": "struct ProvableNFT.NFTData", + "name": "_nftData", + "type": "tuple" + } + ], + "name": "proveNFTData", + "outputs": [ + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16", + "name": "version", + "type": "uint16" + }, + { + "internalType": "string", + "name": "nftUri", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint16", + "name": "subtype", + "type": "uint16" + }, + { + "internalType": "uint32", + "name": "timestamp", + "type": "uint32" + }, + { + "internalType": "uint256", + "name": "quantity", + "type": "uint256" + }, + { + "internalType": "string", + "name": "eventUri", + "type": "string" + }, + { + "internalType": "address[]", + "name": "contributers", + "type": "address[]" + }, + { + "internalType": "uint128", + "name": "rewardOverride", + "type": "uint128" + } + ], + "internalType": "struct ProvableNFT.EventData[]", + "name": "events", + "type": "tuple[]" + } + ], + "internalType": "struct ProvableNFT.NFTData", + "name": "data", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "constructor" + } + ] + }, + "DirectPaymentsFactory_Implementation": { + "address": "0x65A82dc2142C8fB529E202a1B2b0F427E487a94e", + "abi": [ + { + "inputs": [], + "name": "NOT_POOL", + "type": "error" + }, + { + "inputs": [], + "name": "NOT_PROJECT_OWNER", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "indexed": true, + "internalType": "string", + "name": "projectId", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "ipfs", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16[]", + "name": "validEvents", + "type": "uint16[]" + }, + { + "internalType": "uint128[]", + "name": "rewardPerEvent", + "type": "uint128[]" + }, + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowRewardOverride", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct DirectPaymentsPool.PoolSettings", + "name": "poolSettings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "maxTotalPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerDay", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct DirectPaymentsPool.SafetyLimits", + "name": "poolLimits", + "type": "tuple" + } + ], + "name": "PoolCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "ipfs", + "type": "string" + } + ], + "name": "PoolDetailsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isVerified", + "type": "bool" + } + ], + "name": "PoolVerifiedChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "UpdatedImpl", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "member", + "type": "address" + } + ], + "name": "addMember", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract DirectPaymentsPool", + "name": "_pool", + "type": "address" + }, + { + "internalType": "string", + "name": "_ipfs", + "type": "string" + } + ], + "name": "changePoolDetails", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "string", + "name": "_ipfs", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16[]", + "name": "validEvents", + "type": "uint16[]" + }, + { + "internalType": "uint128[]", + "name": "rewardPerEvent", + "type": "uint128[]" + }, + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowRewardOverride", + "type": "bool" + } + ], + "internalType": "struct DirectPaymentsPool.PoolSettings", + "name": "_settings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "maxTotalPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerDay", + "type": "uint256" + } + ], + "internalType": "struct DirectPaymentsPool.SafetyLimits", + "name": "_limits", + "type": "tuple" + } + ], + "name": "createBeaconPool", + "outputs": [ + { + "internalType": "contract DirectPaymentsPool", + "name": "pool", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "string", + "name": "_ipfs", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16[]", + "name": "validEvents", + "type": "uint16[]" + }, + { + "internalType": "uint128[]", + "name": "rewardPerEvent", + "type": "uint128[]" + }, + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowRewardOverride", + "type": "bool" + } + ], + "internalType": "struct DirectPaymentsPool.PoolSettings", + "name": "_settings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "maxTotalPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerDay", + "type": "uint256" + } + ], + "internalType": "struct DirectPaymentsPool.SafetyLimits", + "name": "_limits", + "type": "tuple" + } + ], + "name": "createPool", + "outputs": [ + { + "internalType": "contract DirectPaymentsPool", + "name": "pool", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "feeBps", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeRecipient", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "impl", + "outputs": [ + { + "internalType": "contract UpgradeableBeacon", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_dpimpl", + "type": "address" + }, + { + "internalType": "contract ProvableNFT", + "name": "_nft", + "type": "address" + }, + { + "internalType": "address", + "name": "_feeRecipient", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_feeBps", + "type": "uint32" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "memberPools", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nextNftType", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nft", + "outputs": [ + { + "internalType": "contract ProvableNFT", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "pools", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "projectIdToControlPool", + "outputs": [ + { + "internalType": "contract DirectPaymentsPool", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "registry", + "outputs": [ + { + "internalType": "string", + "name": "ipfs", + "type": "string" + }, + { + "internalType": "bool", + "name": "isVerified", + "type": "bool" + }, + { + "internalType": "string", + "name": "projectId", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "member", + "type": "address" + } + ], + "name": "removeMember", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_feeRecipient", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_feeBps", + "type": "uint32" + } + ], + "name": "setFeeInfo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract DirectPaymentsPool", + "name": "_pool", + "type": "address" + }, + { + "internalType": "bool", + "name": "_isVerified", + "type": "bool" + } + ], + "name": "setVerified", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_impl", + "type": "address" + } + ], + "name": "updateImpl", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + } + ], + "name": "upgradeTo", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ] + }, + "DirectPaymentsFactory_Proxy": { + "address": "0x55B06783023D8bfAB28ddb823098f1485b15Bf22", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_logic", + "type": "address" + }, + { + "internalType": "bytes", + "name": "_data", + "type": "bytes" + } + ], + "stateMutability": "payable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ] + }, + "DirectPaymentsFactory": { + "address": "0x55B06783023D8bfAB28ddb823098f1485b15Bf22", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "stateMutability": "payable", + "type": "receive" + }, + { + "inputs": [], + "name": "NOT_POOL", + "type": "error" + }, + { + "inputs": [], + "name": "NOT_PROJECT_OWNER", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint8", + "name": "version", + "type": "uint8" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "indexed": true, + "internalType": "string", + "name": "projectId", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "ipfs", + "type": "string" + }, + { + "indexed": true, + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16[]", + "name": "validEvents", + "type": "uint16[]" + }, + { + "internalType": "uint128[]", + "name": "rewardPerEvent", + "type": "uint128[]" + }, + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowRewardOverride", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct DirectPaymentsPool.PoolSettings", + "name": "poolSettings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "maxTotalPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerDay", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct DirectPaymentsPool.SafetyLimits", + "name": "poolLimits", + "type": "tuple" + } + ], + "name": "PoolCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "ipfs", + "type": "string" + } + ], + "name": "PoolDetailsChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "pool", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "isVerified", + "type": "bool" + } + ], + "name": "PoolVerifiedChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "impl", + "type": "address" + } + ], + "name": "UpdatedImpl", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "member", + "type": "address" + } + ], + "name": "addMember", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract DirectPaymentsPool", + "name": "_pool", + "type": "address" + }, + { + "internalType": "string", + "name": "_ipfs", + "type": "string" + } + ], + "name": "changePoolDetails", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "string", + "name": "_ipfs", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16[]", + "name": "validEvents", + "type": "uint16[]" + }, + { + "internalType": "uint128[]", + "name": "rewardPerEvent", + "type": "uint128[]" + }, + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowRewardOverride", + "type": "bool" + } + ], + "internalType": "struct DirectPaymentsPool.PoolSettings", + "name": "_settings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "maxTotalPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerDay", + "type": "uint256" + } + ], + "internalType": "struct DirectPaymentsPool.SafetyLimits", + "name": "_limits", + "type": "tuple" + } + ], + "name": "createBeaconPool", + "outputs": [ + { + "internalType": "contract DirectPaymentsPool", + "name": "pool", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "_projectId", + "type": "string" + }, + { + "internalType": "string", + "name": "_ipfs", + "type": "string" + }, + { + "components": [ + { + "internalType": "uint32", + "name": "nftType", + "type": "uint32" + }, + { + "internalType": "uint16[]", + "name": "validEvents", + "type": "uint16[]" + }, + { + "internalType": "uint128[]", + "name": "rewardPerEvent", + "type": "uint128[]" + }, + { + "internalType": "address", + "name": "manager", + "type": "address" + }, + { + "internalType": "contract IMembersValidator", + "name": "membersValidator", + "type": "address" + }, + { + "internalType": "contract IIdentityV2", + "name": "uniquenessValidator", + "type": "address" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "rewardToken", + "type": "address" + }, + { + "internalType": "bool", + "name": "allowRewardOverride", + "type": "bool" + } + ], + "internalType": "struct DirectPaymentsPool.PoolSettings", + "name": "_settings", + "type": "tuple" + }, + { + "components": [ + { + "internalType": "uint256", + "name": "maxTotalPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerMonth", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "maxMemberPerDay", + "type": "uint256" + } + ], + "internalType": "struct DirectPaymentsPool.SafetyLimits", + "name": "_limits", + "type": "tuple" + } + ], + "name": "createPool", + "outputs": [ + { + "internalType": "contract DirectPaymentsPool", + "name": "pool", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "feeBps", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "feeRecipient", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "impl", + "outputs": [ + { + "internalType": "contract UpgradeableBeacon", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_owner", + "type": "address" + }, + { + "internalType": "address", + "name": "_dpimpl", + "type": "address" + }, + { + "internalType": "contract ProvableNFT", + "name": "_nft", + "type": "address" + }, + { + "internalType": "address", + "name": "_feeRecipient", + "type": "address" + }, + { + "internalType": "uint32", + "name": "_feeBps", + "type": "uint32" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "memberPools", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nextNftType", + "outputs": [ + { + "internalType": "uint32", + "name": "", + "type": "uint32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nft", + "outputs": [ + { + "internalType": "contract ProvableNFT", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "pools", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "name": "projectIdToControlPool", + "outputs": [ + { + "internalType": "contract DirectPaymentsPool", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "registry", + "outputs": [ + { + "internalType": "string", + "name": "ipfs", + "type": "string" + }, + { + "internalType": "bool", + "name": "isVerified", + "type": "bool" }, + { + "internalType": "string", + "name": "projectId", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ { "internalType": "address", - "name": "account", + "name": "member", "type": "address" } ], - "name": "renounceRole", + "name": "removeMember", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -23514,7 +33919,7 @@ "type": "address" } ], - "name": "revokeRole", + "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -23522,22 +33927,17 @@ { "inputs": [ { - "internalType": "address", - "name": "from", - "type": "address" + "internalType": "bytes32", + "name": "role", + "type": "bytes32" }, { "internalType": "address", - "name": "to", + "name": "account", "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" } ], - "name": "safeTransferFrom", + "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -23546,26 +33946,16 @@ "inputs": [ { "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", + "name": "_feeRecipient", "type": "address" }, { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" + "internalType": "uint32", + "name": "_feeBps", + "type": "uint32" } ], - "name": "safeTransferFrom", + "name": "setFeeInfo", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -23573,17 +33963,17 @@ { "inputs": [ { - "internalType": "address", - "name": "operator", + "internalType": "contract DirectPaymentsPool", + "name": "_pool", "type": "address" }, { "internalType": "bool", - "name": "approved", + "name": "_isVerified", "type": "bool" } ], - "name": "setApprovalForAll", + "name": "setVerified", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -23607,57 +33997,15 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", + "name": "_impl", "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" } ], - "name": "transferFrom", + "name": "updateImpl", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -23692,12 +34040,7 @@ "outputs": [], "stateMutability": "payable", "type": "function" - } - ] - }, - "ProvableNFT_Proxy": { - "address": "0x251EEBd7d9469bbcc02Ef23c95D902Cbb7fD73B3", - "abi": [ + }, { "inputs": [ { @@ -23713,64 +34056,11 @@ ], "stateMutability": "payable", "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" - } - ], - "name": "AdminChanged", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "stateMutability": "payable", - "type": "receive" } ] }, "UBIPool": { - "address": "0xeEDC10E7e417FB9B79dA655F9D00384520E2c545", + "address": "0xf527334fEb570D21644586903262BAfD63cc9f46", "abi": [ { "inputs": [ @@ -25093,6 +35383,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "member", + "type": "address" + } + ], + "name": "removeMember", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -25571,9 +35874,19 @@ } ] }, - "UBIPoolFactory": { - "address": "0x4602C5F43A9961E430247D3Fb2d5450285080754", + "UBIPoolFactory_Implementation": { + "address": "0x29Bf50E94c3adD90551C1E7C85dD5f7a8C968B75", "abi": [ + { + "inputs": [], + "name": "NOT_POOL", + "type": "error" + }, + { + "inputs": [], + "name": "NOT_PROJECT_OWNER", + "type": "error" + }, { "anonymous": false, "inputs": [ @@ -25599,44 +35912,13 @@ { "indexed": true, "internalType": "address", - "name": "beacon", - "type": "address" - } - ], - "name": "BeaconUpgraded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", + "name": "beacon", "type": "address" } ], - "name": "Upgraded", + "name": "BeaconUpgraded", "type": "event" }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "stateMutability": "payable", - "type": "receive" - }, - { - "inputs": [], - "name": "NOT_POOL", - "type": "error" - }, - { - "inputs": [], - "name": "NOT_PROJECT_OWNER", - "type": "error" - }, { "anonymous": false, "inputs": [ @@ -25872,6 +36154,19 @@ "name": "UpdatedImpl", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", @@ -26500,7 +36795,12 @@ "outputs": [], "stateMutability": "payable", "type": "function" - }, + } + ] + }, + "UBIPoolFactory_Proxy": { + "address": "0x7af4A611FFA07644C3FE93aA49230e2BD2Ec8dBf", + "abi": [ { "inputs": [ { @@ -26516,22 +36816,65 @@ ], "stateMutability": "payable", "type": "constructor" - } - ] - }, - "UBIPoolFactory_Implementation": { - "address": "0x396A429Fe95F21475860593C86CC9c17D39F7f69", - "abi": [ + }, { - "inputs": [], - "name": "NOT_POOL", - "type": "error" + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" }, { - "inputs": [], - "name": "NOT_PROJECT_OWNER", - "type": "error" + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" }, + { + "stateMutability": "payable", + "type": "receive" + } + ] + }, + "UBIPoolFactory": { + "address": "0x7af4A611FFA07644C3FE93aA49230e2BD2Ec8dBf", + "abi": [ { "anonymous": false, "inputs": [ @@ -26564,6 +36907,37 @@ "name": "BeaconUpgraded", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "stateMutability": "payable", + "type": "fallback" + }, + { + "stateMutability": "payable", + "type": "receive" + }, + { + "inputs": [], + "name": "NOT_POOL", + "type": "error" + }, + { + "inputs": [], + "name": "NOT_PROJECT_OWNER", + "type": "error" + }, { "anonymous": false, "inputs": [ @@ -26799,19 +37173,6 @@ "name": "UpdatedImpl", "type": "event" }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "Upgraded", - "type": "event" - }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", @@ -27440,12 +37801,7 @@ "outputs": [], "stateMutability": "payable", "type": "function" - } - ] - }, - "UBIPoolFactory_Proxy": { - "address": "0x4602C5F43A9961E430247D3Fb2d5450285080754", - "abi": [ + }, { "inputs": [ { @@ -27461,59 +37817,98 @@ ], "stateMutability": "payable", "type": "constructor" + } + ] + }, + "MultiClaimModule": { + "address": "0xE6Af17143015aAA030c8aCd81811e72AC6046c0e", + "abi": [ + { + "inputs": [], + "name": "getModuleTypes", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" }, { - "anonymous": false, "inputs": [ { - "indexed": false, - "internalType": "address", - "name": "previousAdmin", - "type": "address" - }, + "internalType": "uint256", + "name": "typeID", + "type": "uint256" + } + ], + "name": "isModuleType", + "outputs": [ { - "indexed": false, - "internalType": "address", - "name": "newAdmin", - "type": "address" + "internalType": "bool", + "name": "", + "type": "bool" } ], - "name": "AdminChanged", - "type": "event" + "stateMutability": "view", + "type": "function" }, { - "anonymous": false, "inputs": [ { - "indexed": true, + "internalType": "address[]", + "name": "contracts", + "type": "address[]" + }, + { + "internalType": "contract IERC20Upgradeable", + "name": "token", + "type": "address" + }, + { "internalType": "address", - "name": "beacon", + "name": "recipient", "type": "address" } ], - "name": "BeaconUpgraded", - "type": "event" + "name": "multiClaim", + "outputs": [ + { + "internalType": "bool[]", + "name": "success", + "type": "bool[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" }, { - "anonymous": false, "inputs": [ { - "indexed": true, - "internalType": "address", - "name": "implementation", - "type": "address" + "internalType": "bytes", + "name": "data", + "type": "bytes" } ], - "name": "Upgraded", - "type": "event" - }, - { - "stateMutability": "payable", - "type": "fallback" + "name": "onInstall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" }, { - "stateMutability": "payable", - "type": "receive" + "inputs": [ + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "onUninstall", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" } ] }