@b3dotfun/leaderboards
Version:
SDK to interact with leaderboards smart contract
863 lines (862 loc) • 26 kB
TypeScript
export declare const LeaderboardABI: readonly [{
readonly inputs: readonly [];
readonly name: "AccessControlBadConfirmation";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}, {
readonly internalType: "bytes32";
readonly name: "neededRole";
readonly type: "bytes32";
}];
readonly name: "AccessControlUnauthorizedAccount";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "InvalidInitialization";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "LeaderboardConcluded";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "endTime";
readonly type: "uint256";
}];
readonly name: "LeaderboardEnded";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "startTime";
readonly type: "uint256";
}];
readonly name: "LeaderboardNotStarted";
readonly type: "error";
}, {
readonly inputs: readonly [];
readonly name: "NotInitializing";
readonly type: "error";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "timestamp";
readonly type: "uint256";
}];
readonly name: "ScoreTimestampBeforeStart";
readonly type: "error";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "admin";
readonly type: "address";
}];
readonly name: "AdminAddedEvent";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}, {
readonly indexed: false;
readonly internalType: "address";
readonly name: "admin";
readonly type: "address";
}];
readonly name: "AdminRemovedEvent";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address[]";
readonly name: "users";
readonly type: "address[]";
}];
readonly name: "EligibleUsersAddedEvent";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address[]";
readonly name: "users";
readonly type: "address[]";
}];
readonly name: "EligibleUsersRemovedEvent";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "uint64";
readonly name: "version";
readonly type: "uint64";
}];
readonly name: "Initialized";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [];
readonly name: "LeaderboardConcludedEvent";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "startTime";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "uint256";
readonly name: "endTime";
readonly type: "uint256";
}, {
readonly indexed: false;
readonly internalType: "string";
readonly name: "title";
readonly type: "string";
}];
readonly name: "LeaderboardUpdatedEvent";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly indexed: true;
readonly internalType: "bytes32";
readonly name: "previousAdminRole";
readonly type: "bytes32";
}, {
readonly indexed: true;
readonly internalType: "bytes32";
readonly name: "newAdminRole";
readonly type: "bytes32";
}];
readonly name: "RoleAdminChanged";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}];
readonly name: "RoleGranted";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}, {
readonly indexed: true;
readonly internalType: "address";
readonly name: "sender";
readonly type: "address";
}];
readonly name: "RoleRevoked";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "score";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "timestamp";
readonly type: "uint256";
}];
readonly indexed: false;
readonly internalType: "struct Leaderboard.ScoreUpdate[]";
readonly name: "scoreUpdates";
readonly type: "tuple[]";
}];
readonly name: "ScoreBatchEvent";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: true;
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}];
readonly name: "UserUnblacklistedEvent";
readonly type: "event";
}, {
readonly anonymous: false;
readonly inputs: readonly [{
readonly indexed: false;
readonly internalType: "address[]";
readonly name: "users";
readonly type: "address[]";
}];
readonly name: "UsersBlacklistedEvent";
readonly type: "event";
}, {
readonly inputs: readonly [];
readonly name: "ADMIN_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "DEFAULT_ADMIN_ROLE";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "newAdmin";
readonly type: "address";
}];
readonly name: "addAdmin";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address[]";
readonly name: "users";
readonly type: "address[]";
}];
readonly name: "addEligibleUsers";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address[]";
readonly name: "users";
readonly type: "address[]";
}];
readonly name: "blacklistUsers";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "concludeLeaderboard";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "amount";
readonly type: "uint256";
}];
readonly name: "decreaseUserAttempts";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "score";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "timestamp";
readonly type: "uint256";
}];
readonly internalType: "struct Leaderboard.ScoreUpdate[]";
readonly name: "inputs";
readonly type: "tuple[]";
}];
readonly name: "decrementScores";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getAdmins";
readonly outputs: readonly [{
readonly internalType: "address[]";
readonly name: "";
readonly type: "address[]";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getBlacklistUsers";
readonly outputs: readonly [{
readonly internalType: "address[]";
readonly name: "";
readonly type: "address[]";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getEligibleUsers";
readonly outputs: readonly [{
readonly internalType: "address[]";
readonly name: "";
readonly type: "address[]";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getLeaderboard";
readonly outputs: readonly [{
readonly internalType: "address[]";
readonly name: "users";
readonly type: "address[]";
}, {
readonly internalType: "uint256[]";
readonly name: "scores";
readonly type: "uint256[]";
}, {
readonly internalType: "uint256[]";
readonly name: "lastUpdated";
readonly type: "uint256[]";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getLeaderboardEndTime";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getLeaderboardProps";
readonly outputs: readonly [{
readonly components: readonly [{
readonly internalType: "uint256";
readonly name: "startTime";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "endTime";
readonly type: "uint256";
}, {
readonly internalType: "bool";
readonly name: "hasConcluded";
readonly type: "bool";
}, {
readonly internalType: "string";
readonly name: "slug";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "title";
readonly type: "string";
}, {
readonly internalType: "bool";
readonly name: "isPrivate";
readonly type: "bool";
}, {
readonly internalType: "bool";
readonly name: "useLatestScore";
readonly type: "bool";
}, {
readonly internalType: "bool";
readonly name: "hasAttemptLimit";
readonly type: "bool";
}, {
readonly internalType: "uint256";
readonly name: "initialAttempts";
readonly type: "uint256";
}, {
readonly internalType: "bool";
readonly name: "isReverseSort";
readonly type: "bool";
}];
readonly internalType: "struct Leaderboard.LeaderboardInfo";
readonly name: "";
readonly type: "tuple";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getLeaderboardStartTime";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getLeaderboardUserCount";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getRemainingTime";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}];
readonly name: "getRoleAdmin";
readonly outputs: readonly [{
readonly internalType: "bytes32";
readonly name: "";
readonly type: "bytes32";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getSlug";
readonly outputs: readonly [{
readonly internalType: "string";
readonly name: "";
readonly type: "string";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getTimeUntilStart";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "getTitle";
readonly outputs: readonly [{
readonly internalType: "string";
readonly name: "";
readonly type: "string";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}];
readonly name: "getUserAttempts";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}];
readonly name: "getUserScore";
readonly outputs: readonly [{
readonly internalType: "uint256";
readonly name: "scores";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "lastUpdated";
readonly type: "uint256";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}];
readonly name: "grantRole";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}];
readonly name: "hasRole";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "amount";
readonly type: "uint256";
}];
readonly name: "increaseUserAttempts";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "score";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "timestamp";
readonly type: "uint256";
}];
readonly internalType: "struct Leaderboard.ScoreUpdate[]";
readonly name: "inputs";
readonly type: "tuple[]";
}];
readonly name: "incrementScores";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "_admin";
readonly type: "address";
}, {
readonly internalType: "address";
readonly name: "_creatorAdmin";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "_startTime";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "_endTime";
readonly type: "uint256";
}, {
readonly internalType: "string";
readonly name: "_slug";
readonly type: "string";
}, {
readonly internalType: "string";
readonly name: "_title";
readonly type: "string";
}, {
readonly internalType: "bool";
readonly name: "_isPrivate";
readonly type: "bool";
}, {
readonly internalType: "bool";
readonly name: "_useLatestScore";
readonly type: "bool";
}, {
readonly internalType: "bool";
readonly name: "_hasAttemptLimit";
readonly type: "bool";
}, {
readonly internalType: "uint256";
readonly name: "_initialAttempts";
readonly type: "uint256";
}, {
readonly internalType: "bool";
readonly name: "_isReverseSort";
readonly type: "bool";
}];
readonly name: "initialize";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "isLeaderboardActive";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "isLeaderboardEnded";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [];
readonly name: "isPrivate";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}];
readonly name: "isUserBlacklisted";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}];
readonly name: "isUserEligible";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "score";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "timestamp";
readonly type: "uint256";
}];
readonly internalType: "struct Leaderboard.ScoreUpdate[]";
readonly name: "inputs";
readonly type: "tuple[]";
}];
readonly name: "overwriteScores";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "admin";
readonly type: "address";
}];
readonly name: "removeAdmin";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address[]";
readonly name: "users";
readonly type: "address[]";
}];
readonly name: "removeEligibleUsers";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly internalType: "address";
readonly name: "callerConfirmation";
readonly type: "address";
}];
readonly name: "renounceRole";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes32";
readonly name: "role";
readonly type: "bytes32";
}, {
readonly internalType: "address";
readonly name: "account";
readonly type: "address";
}];
readonly name: "revokeRole";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "bytes4";
readonly name: "interfaceId";
readonly type: "bytes4";
}];
readonly name: "supportsInterface";
readonly outputs: readonly [{
readonly internalType: "bool";
readonly name: "";
readonly type: "bool";
}];
readonly stateMutability: "view";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}];
readonly name: "unblacklistUser";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly internalType: "uint256";
readonly name: "startTime";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "endTime";
readonly type: "uint256";
}, {
readonly internalType: "string";
readonly name: "title";
readonly type: "string";
}];
readonly name: "updateLeaderboard";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}, {
readonly inputs: readonly [{
readonly components: readonly [{
readonly internalType: "address";
readonly name: "user";
readonly type: "address";
}, {
readonly internalType: "uint256";
readonly name: "score";
readonly type: "uint256";
}, {
readonly internalType: "uint256";
readonly name: "timestamp";
readonly type: "uint256";
}];
readonly internalType: "struct Leaderboard.ScoreUpdate[]";
readonly name: "inputs";
readonly type: "tuple[]";
}];
readonly name: "updateScores";
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
readonly type: "function";
}];