diff --git a/packages/rln/src/contract/abi.ts b/packages/rln/src/contract/abi.ts index 748e23f04f..858ec25de5 100644 --- a/packages/rln/src/contract/abi.ts +++ b/packages/rln/src/contract/abi.ts @@ -1,392 +1,646 @@ export const RLN_ABI = [ + { inputs: [], stateMutability: "nonpayable", type: "constructor" }, { - type: "constructor", - inputs: [], - stateMutability: "nonpayable" + inputs: [ + { internalType: "uint256", name: "idCommitment", type: "uint256" } + ], + name: "CannotEraseActiveMembership", + type: "error" + }, + { inputs: [], name: "CannotExceedMaxTotalRateLimit", type: "error" }, + { + inputs: [ + { internalType: "uint256", name: "idCommitment", type: "uint256" } + ], + name: "CannotExtendNonGracePeriodMembership", + type: "error" }, { - type: "error", - name: "DuplicateIdCommitment", - inputs: [] - }, - { - type: "error", + inputs: [ + { internalType: "uint256", name: "idCommitment", type: "uint256" } + ], name: "InvalidIdCommitment", - inputs: [ - { - name: "idCommitment", - type: "uint256" - } - ] + type: "error" }, + { inputs: [], name: "InvalidMembershipRateLimit", type: "error" }, { - type: "error", + inputs: [ + { internalType: "uint256", name: "startIndex", type: "uint256" }, + { internalType: "uint256", name: "endIndex", type: "uint256" } + ], name: "InvalidPaginationQuery", + type: "error" + }, + { + inputs: [ + { internalType: "uint256", name: "idCommitment", type: "uint256" } + ], + name: "MembershipDoesNotExist", + type: "error" + }, + { + inputs: [ + { internalType: "uint256", name: "idCommitment", type: "uint256" } + ], + name: "NonHolderCannotEraseGracePeriodMembership", + type: "error" + }, + { + inputs: [ + { internalType: "uint256", name: "idCommitment", type: "uint256" } + ], + name: "NonHolderCannotExtend", + type: "error" + }, + { + anonymous: false, inputs: [ { - name: "startIndex", - type: "uint256" - }, - { - name: "endIndex", - type: "uint256" - } - ] - }, - { - type: "function", - name: "MAX_MEMBERSHIP_SET_SIZE", - inputs: [], - outputs: [ - { - name: "", - type: "uint32" - } - ], - stateMutability: "view" - }, - { - type: "function", - name: "MERKLE_TREE_DEPTH", - inputs: [], - outputs: [ - { - name: "", - type: "uint8" - } - ], - stateMutability: "view" - }, - { - type: "function", - name: "Q", - inputs: [], - outputs: [ - { - name: "", - type: "uint256" - } - ], - stateMutability: "view" - }, - { - type: "function", - name: "activeDurationForNewMemberships", - inputs: [], - outputs: [ - { - name: "", - type: "uint32" - } - ], - stateMutability: "view" - }, - { - type: "function", - name: "currentTotalRateLimit", - inputs: [], - outputs: [ - { - name: "", - type: "uint256" - } - ], - stateMutability: "view" - }, - { - type: "function", - name: "deployedBlockNumber", - inputs: [], - outputs: [ - { - name: "", - type: "uint32" - } - ], - stateMutability: "view" - }, - { - type: "function", - name: "depositsToWithdraw", - inputs: [ - { - name: "holder", + indexed: false, + internalType: "address", + name: "previousAdmin", type: "address" }, { - name: "token", + indexed: false, + internalType: "address", + name: "newAdmin", type: "address" } ], - outputs: [ - { - name: "balance", - type: "uint256" - } - ], - stateMutability: "view" + name: "AdminChanged", + type: "event" }, { - type: "function", - name: "eraseMemberships", + anonymous: false, inputs: [ { - name: "idCommitments", - type: "uint256[]" + indexed: true, + internalType: "address", + name: "beacon", + type: "address" } ], - outputs: [], - stateMutability: "nonpayable" + name: "BeaconUpgraded", + type: "event" }, { - type: "function", - name: "eraseMemberships", + anonymous: false, inputs: [ - { - name: "idCommitments", - type: "uint256[]" - }, - { - name: "eraseFromMembershipSet", - type: "bool" - } + { indexed: false, internalType: "uint8", name: "version", type: "uint8" } ], - outputs: [], - stateMutability: "nonpayable" + name: "Initialized", + type: "event" }, { - type: "function", - name: "extendMemberships", - inputs: [ - { - name: "idCommitments", - type: "uint256[]" - } - ], - outputs: [], - stateMutability: "nonpayable" - }, - { - type: "function", - name: "getMembershipInfo", + anonymous: false, inputs: [ { + indexed: false, + internalType: "uint256", name: "idCommitment", type: "uint256" - } + }, + { + indexed: false, + internalType: "uint32", + name: "membershipRateLimit", + type: "uint32" + }, + { indexed: false, internalType: "uint32", name: "index", type: "uint32" } ], - outputs: [ + name: "MembershipErased", + type: "event" + }, + { + anonymous: false, + inputs: [ { - name: "", - type: "uint32" + indexed: false, + internalType: "uint256", + name: "idCommitment", + type: "uint256" }, { - name: "", + indexed: false, + internalType: "uint32", + name: "membershipRateLimit", type: "uint32" }, + { indexed: false, internalType: "uint32", name: "index", type: "uint32" } + ], + name: "MembershipExpired", + type: "event" + }, + { + anonymous: false, + inputs: [ { - name: "", + indexed: false, + internalType: "uint256", + name: "idCommitment", + type: "uint256" + }, + { + indexed: false, + internalType: "uint32", + name: "membershipRateLimit", + type: "uint32" + }, + { indexed: false, internalType: "uint32", name: "index", type: "uint32" }, + { + indexed: false, + internalType: "uint256", + name: "newGracePeriodStartTimestamp", type: "uint256" } ], - stateMutability: "view" + name: "MembershipExtended", + type: "event" }, { - type: "function", - name: "getMerkleProof", + anonymous: false, inputs: [ { - name: "index", - type: "uint40" - } - ], - outputs: [ - { - name: "", - type: "uint256[20]" - } - ], - stateMutability: "view" - }, - { - type: "function", - name: "getRateCommitmentsInRangeBoundsInclusive", - inputs: [ - { - name: "startIndex", - type: "uint32" + indexed: false, + internalType: "uint256", + name: "idCommitment", + type: "uint256" }, { - name: "endIndex", - type: "uint32" - } + indexed: false, + internalType: "uint256", + name: "membershipRateLimit", + type: "uint256" + }, + { indexed: false, internalType: "uint32", name: "index", type: "uint32" } ], - outputs: [ - { - name: "", - type: "uint256[]" - } - ], - stateMutability: "view" + name: "MembershipRegistered", + type: "event" }, { - type: "function", - name: "gracePeriodDurationForNewMemberships", - inputs: [], - outputs: [ - { - name: "", - type: "uint32" - } - ], - stateMutability: "view" - }, - { - type: "function", - name: "initialize", + anonymous: false, inputs: [ { - name: "_priceCalculator", + indexed: true, + internalType: "address", + name: "previousOwner", type: "address" }, { - name: "_maxTotalRateLimit", - type: "uint32" - }, + indexed: true, + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "OwnershipTransferred", + type: "event" + }, + { + anonymous: false, + inputs: [ { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + inputs: [], + name: "MAX_MEMBERSHIP_SET_SIZE", + outputs: [{ internalType: "uint32", name: "", type: "uint32" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "MERKLE_TREE_DEPTH", + outputs: [{ internalType: "uint8", name: "", type: "uint8" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "Q", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "activeDurationForNewMemberships", + outputs: [{ internalType: "uint32", name: "", type: "uint32" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "currentTotalRateLimit", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "deployedBlockNumber", + outputs: [{ internalType: "uint32", name: "", type: "uint32" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { internalType: "address", name: "holder", type: "address" }, + { internalType: "address", name: "token", type: "address" } + ], + name: "depositsToWithdraw", + outputs: [{ internalType: "uint256", name: "balance", type: "uint256" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { internalType: "uint256[]", name: "idCommitments", type: "uint256[]" } + ], + name: "eraseMemberships", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { internalType: "uint256[]", name: "idCommitments", type: "uint256[]" }, + { internalType: "bool", name: "eraseFromMembershipSet", type: "bool" } + ], + name: "eraseMemberships", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { internalType: "uint256[]", name: "idCommitments", type: "uint256[]" } + ], + name: "extendMemberships", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { internalType: "uint256", name: "idCommitment", type: "uint256" } + ], + name: "getMembershipInfo", + outputs: [ + { internalType: "uint32", name: "", type: "uint32" }, + { internalType: "uint32", name: "", type: "uint32" }, + { internalType: "uint256", name: "", type: "uint256" } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [{ internalType: "uint40", name: "index", type: "uint40" }], + name: "getMerkleProof", + outputs: [{ internalType: "uint256[20]", name: "", type: "uint256[20]" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { internalType: "uint32", name: "startIndex", type: "uint32" }, + { internalType: "uint32", name: "endIndex", type: "uint32" } + ], + name: "getRateCommitmentsInRangeBoundsInclusive", + outputs: [{ internalType: "uint256[]", name: "", type: "uint256[]" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "gracePeriodDurationForNewMemberships", + outputs: [{ internalType: "uint32", name: "", type: "uint32" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [{ internalType: "uint256", name: "", type: "uint256" }], + name: "indicesOfLazilyErasedMemberships", + outputs: [{ internalType: "uint32", name: "", type: "uint32" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { internalType: "address", name: "_priceCalculator", type: "address" }, + { internalType: "uint32", name: "_maxTotalRateLimit", type: "uint32" }, + { + internalType: "uint32", name: "_minMembershipRateLimit", type: "uint32" }, { + internalType: "uint32", name: "_maxMembershipRateLimit", type: "uint32" }, - { - name: "_activeDuration", - type: "uint32" - }, - { - name: "_gracePeriod", - type: "uint32" - } + { internalType: "uint32", name: "_activeDuration", type: "uint32" }, + { internalType: "uint32", name: "_gracePeriod", type: "uint32" } ], + name: "initialize", outputs: [], - stateMutability: "nonpayable" + stateMutability: "nonpayable", + type: "function" }, { - type: "function", + inputs: [ + { internalType: "uint256", name: "_idCommitment", type: "uint256" } + ], name: "isExpired", + outputs: [{ internalType: "bool", name: "", type: "bool" }], + stateMutability: "view", + type: "function" + }, + { inputs: [ - { - name: "_idCommitment", - type: "uint256" - } + { internalType: "uint256", name: "_idCommitment", type: "uint256" } ], + name: "isInGracePeriod", + outputs: [{ internalType: "bool", name: "", type: "bool" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { internalType: "uint256", name: "idCommitment", type: "uint256" } + ], + name: "isInMembershipSet", + outputs: [{ internalType: "bool", name: "", type: "bool" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { internalType: "uint256", name: "idCommitment", type: "uint256" } + ], + name: "isValidIdCommitment", + outputs: [{ internalType: "bool", name: "", type: "bool" }], + stateMutability: "pure", + type: "function" + }, + { + inputs: [{ internalType: "uint32", name: "rateLimit", type: "uint32" }], + name: "isValidMembershipRateLimit", + outputs: [{ internalType: "bool", name: "", type: "bool" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "maxMembershipRateLimit", + outputs: [{ internalType: "uint32", name: "", type: "uint32" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "maxTotalRateLimit", + outputs: [{ internalType: "uint32", name: "", type: "uint32" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { internalType: "uint256", name: "_idCommitment", type: "uint256" } + ], + name: "membershipExpirationTimestamp", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { internalType: "uint256", name: "idCommitment", type: "uint256" } + ], + name: "memberships", outputs: [ + { internalType: "uint256", name: "depositAmount", type: "uint256" }, + { internalType: "uint32", name: "activeDuration", type: "uint32" }, { - name: "", - type: "bool" - } + internalType: "uint256", + name: "gracePeriodStartTimestamp", + type: "uint256" + }, + { internalType: "uint32", name: "gracePeriodDuration", type: "uint32" }, + { internalType: "uint32", name: "rateLimit", type: "uint32" }, + { internalType: "uint32", name: "index", type: "uint32" }, + { internalType: "address", name: "holder", type: "address" }, + { internalType: "address", name: "token", type: "address" } ], - stateMutability: "view" + stateMutability: "view", + type: "function" }, { - type: "function", + inputs: [], + name: "merkleTree", + outputs: [ + { internalType: "uint40", name: "maxIndex", type: "uint40" }, + { internalType: "uint40", name: "numberOfLeaves", type: "uint40" } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "minMembershipRateLimit", + outputs: [{ internalType: "uint32", name: "", type: "uint32" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "nextFreeIndex", + outputs: [{ internalType: "uint32", name: "", type: "uint32" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "owner", + outputs: [{ internalType: "address", name: "", type: "address" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "priceCalculator", + outputs: [ + { internalType: "contract IPriceCalculator", name: "", type: "address" } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proxiableUUID", + outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { internalType: "uint256", name: "idCommitment", type: "uint256" }, + { internalType: "uint32", name: "rateLimit", type: "uint32" }, + { + internalType: "uint256[]", + name: "idCommitmentsToErase", + type: "uint256[]" + } + ], name: "register", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { inputs: [ + { internalType: "address", name: "owner", type: "address" }, + { internalType: "uint256", name: "deadline", type: "uint256" }, + { internalType: "uint8", name: "v", type: "uint8" }, + { internalType: "bytes32", name: "r", type: "bytes32" }, + { internalType: "bytes32", name: "s", type: "bytes32" }, + { internalType: "uint256", name: "idCommitment", type: "uint256" }, + { internalType: "uint32", name: "rateLimit", type: "uint32" }, { - name: "idCommitment", - type: "uint256" - }, - { - name: "rateLimit", - type: "uint32" - }, - { + internalType: "uint256[]", name: "idCommitmentsToErase", type: "uint256[]" } ], - outputs: [], - stateMutability: "nonpayable" - }, - { - type: "function", name: "registerWithPermit", - inputs: [ - { - name: "owner", - type: "address" - }, - { - name: "deadline", - type: "uint256" - }, - { - name: "v", - type: "uint8" - }, - { - name: "r", - type: "bytes32" - }, - { - name: "s", - type: "bytes32" - }, - { - name: "idCommitment", - type: "uint256" - }, - { - name: "rateLimit", - type: "uint32" - }, - { - name: "idCommitmentsToErase", - type: "uint256[]" - } - ], outputs: [], - stateMutability: "nonpayable" + stateMutability: "nonpayable", + type: "function" }, { - type: "event", - name: "MembershipRegistered", - inputs: [ - { - name: "idCommitment", - type: "uint256", - indexed: false - }, - { - name: "rateLimit", - type: "uint32", - indexed: false - }, - { - name: "index", - type: "uint256", - indexed: false - } - ], - anonymous: false + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "root", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function" }, { - type: "event", - name: "MembershipRemoved", inputs: [ { - name: "idCommitment", - type: "uint256", - indexed: false - }, - { - name: "index", - type: "uint256", - indexed: false + internalType: "uint32", + name: "_activeDurationForNewMembership", + type: "uint32" } ], - anonymous: false + name: "setActiveDuration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint32", + name: "_gracePeriodDurationForNewMembership", + type: "uint32" + } + ], + name: "setGracePeriodDuration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint32", + name: "_maxMembershipRateLimit", + type: "uint32" + } + ], + name: "setMaxMembershipRateLimit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { internalType: "uint32", name: "_maxTotalRateLimit", type: "uint32" } + ], + name: "setMaxTotalRateLimit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint32", + name: "_minMembershipRateLimit", + type: "uint32" + } + ], + name: "setMinMembershipRateLimit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { internalType: "address", name: "_priceCalculator", type: "address" } + ], + name: "setPriceCalculator", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [{ internalType: "address", name: "newOwner", type: "address" }], + name: "transferOwnership", + 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: "token", type: "address" }], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function" } ];