@roninbuilders/contracts
Version:
Type safe Contract ABIs for Ronin Network
580 lines (578 loc) • 19.3 kB
TypeScript
declare const contract: {
readonly id: 2066;
readonly address: "0x47fec49fc75d687114edcf8beb2dcd349b19ae19";
readonly contract_name: "SlashIndicator";
readonly display_name: "Slash Indicator";
readonly is_deprecated: false;
readonly is_proxy: false;
readonly proxy_to: false;
readonly created_at: 1711428479;
readonly abi: readonly [{
readonly type: "constructor";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [];
}, {
readonly name: "ErrCallPrecompiled";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "ErrCallerMustBeJailedInTheCurrentPeriod";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "ErrCannotSlashAValidatorTwiceOrSlashMoreThanOneValidatorInOneBlock";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "ErrContractTypeNotFound";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "uint8";
readonly name: "contractType";
}];
}, {
readonly name: "ErrEvidenceAlreadySubmitted";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "ErrInsufficientCreditScoreToBailOut";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "ErrInvalidArguments";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "bytes4";
readonly name: "msgSig";
}];
}, {
readonly name: "ErrInvalidCreditScoreConfig";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "ErrInvalidCutOffPercentageConfig";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "ErrInvalidThreshold";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "bytes4";
readonly name: "msgSig";
}];
}, {
readonly name: "ErrUnauthorized";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "bytes4";
readonly name: "msgSig";
}, {
readonly type: "uint8";
readonly name: "expectedRole";
}];
}, {
readonly name: "ErrUnexpectedInternalCall";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "bytes4";
readonly name: "msgSig";
}, {
readonly type: "uint8";
readonly name: "expectedContractType";
}, {
readonly type: "address";
readonly name: "actual";
}];
}, {
readonly name: "ErrUnregisteredPublicKey";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "ErrValidatorHasBailedOutPreviously";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "ErrZeroCodeContract";
readonly type: "error";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "addr";
}];
}, {
readonly name: "BailedOut";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "cid";
readonly indexed: true;
}, {
readonly type: "uint256";
readonly name: "period";
}, {
readonly type: "uint256";
readonly name: "usedCreditScore";
}];
}, {
readonly name: "ContractUpdated";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint8";
readonly name: "contractType";
readonly indexed: true;
}, {
readonly type: "address";
readonly name: "addr";
readonly indexed: true;
}];
}, {
readonly name: "CreditScoreConfigsUpdated";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "gainCreditScore";
}, {
readonly type: "uint256";
readonly name: "maxCreditScore";
}, {
readonly type: "uint256";
readonly name: "bailOutCostMultiplier";
}, {
readonly type: "uint256";
readonly name: "cutOffPercentageAfterBailout";
}];
}, {
readonly name: "CreditScoresUpdated";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "address[]";
readonly name: "cids";
}, {
readonly type: "uint256[]";
readonly name: "creditScores";
}];
}, {
readonly name: "DoubleSignSlashingConfigsUpdated";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "slashDoubleSignAmount";
}, {
readonly type: "uint256";
readonly name: "doubleSigningJailUntilBlock";
}, {
readonly type: "uint256";
readonly name: "doubleSigningOffsetLimitBlock";
}];
}, {
readonly name: "FastFinalitySlashingConfigsUpdated";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "slashFastFinalityAmount";
}, {
readonly type: "uint256";
readonly name: "fastFinalityJailUntilBlock";
}];
}, {
readonly name: "Initialized";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint8";
readonly name: "version";
}];
}, {
readonly name: "Slashed";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "cid";
readonly indexed: true;
}, {
readonly type: "uint8";
readonly name: "slashType";
}, {
readonly type: "uint256";
readonly name: "period";
}];
}, {
readonly name: "UnavailabilitySlashingConfigsUpdated";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "unavailabilityTier1Threshold";
}, {
readonly type: "uint256";
readonly name: "unavailabilityTier2Threshold";
}, {
readonly type: "uint256";
readonly name: "slashAmountForUnavailabilityTier2Threshold";
}, {
readonly type: "uint256";
readonly name: "jailDurationForUnavailabilityTier2Threshold";
}];
}, {
readonly name: "bailOut";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "consensusAddr";
}];
readonly outputs: readonly [];
}, {
readonly name: "checkBailedOutAtPeriod";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "consensus";
}, {
readonly type: "uint256";
readonly name: "period";
}];
readonly outputs: readonly [{
readonly type: "bool";
}];
}, {
readonly name: "currentUnavailabilityIndicator";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "consensus";
}];
readonly outputs: readonly [{
readonly type: "uint256";
}];
}, {
readonly name: "execResetCreditScores";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address[]";
readonly name: "validatorIds";
}];
readonly outputs: readonly [];
}, {
readonly name: "execUpdateCreditScores";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address[]";
readonly name: "validatorIds";
}, {
readonly type: "uint256";
readonly name: "period";
}];
readonly outputs: readonly [];
}, {
readonly name: "getContract";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [{
readonly type: "uint8";
readonly name: "contractType";
}];
readonly outputs: readonly [{
readonly type: "address";
readonly name: "contract_";
}];
}, {
readonly name: "getCreditScore";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "consensusAddr";
}];
readonly outputs: readonly [{
readonly type: "uint256";
}];
}, {
readonly name: "getCreditScoreConfigs";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "uint256";
readonly name: "gainCreditScore_";
}, {
readonly type: "uint256";
readonly name: "maxCreditScore_";
}, {
readonly type: "uint256";
readonly name: "bailOutCostMultiplier_";
}, {
readonly type: "uint256";
readonly name: "cutOffPercentageAfterBailout_";
}];
}, {
readonly name: "getDoubleSignSlashingConfigs";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "uint256";
readonly name: "slashDoubleSignAmount_";
}, {
readonly type: "uint256";
readonly name: "doubleSigningJailUntilBlock_";
}, {
readonly type: "uint256";
readonly name: "doubleSigningOffsetLimitBlock_";
}];
}, {
readonly name: "getFastFinalitySlashingConfigs";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "uint256";
readonly name: "slashFastFinalityAmount_";
}, {
readonly type: "uint256";
readonly name: "fastFinalityJailUntilBlock_";
}];
}, {
readonly name: "getManyCreditScores";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [{
readonly type: "address[]";
readonly name: "consensusAddrs";
}];
readonly outputs: readonly [{
readonly type: "uint256[]";
readonly name: "resultList";
}];
}, {
readonly name: "getUnavailabilityIndicator";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "consensus";
}, {
readonly type: "uint256";
readonly name: "period";
}];
readonly outputs: readonly [{
readonly type: "uint256";
}];
}, {
readonly name: "getUnavailabilitySlashingConfigs";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "uint256";
readonly name: "unavailabilityTier1Threshold_";
}, {
readonly type: "uint256";
readonly name: "unavailabilityTier2Threshold_";
}, {
readonly type: "uint256";
readonly name: "slashAmountForUnavailabilityTier2Threshold_";
}, {
readonly type: "uint256";
readonly name: "jailDurationForUnavailabilityTier2Threshold_";
}];
}, {
readonly name: "initialize";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "__validatorContract";
}, {
readonly type: "address";
readonly name: "__maintenanceContract";
}, {
readonly type: "address";
readonly name: "__roninTrustedOrganizationContract";
}, {
readonly type: "address";
readonly name: "__roninGovernanceAdminContract";
}, {
readonly type: "uint256[4]";
}, {
readonly type: "uint256[2]";
}, {
readonly type: "uint256[3]";
readonly name: "_doubleSignSlashingConfigs";
}, {
readonly type: "uint256[4]";
readonly name: "_unavailabilitySlashingConfigs";
}, {
readonly type: "uint256[4]";
readonly name: "_creditScoreConfigs";
}];
readonly outputs: readonly [];
}, {
readonly name: "initializeV2";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "roninGovernanceAdminContract";
}];
readonly outputs: readonly [];
}, {
readonly name: "initializeV3";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "profileContract";
}];
readonly outputs: readonly [];
}, {
readonly name: "lastUnavailabilitySlashedBlock";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "uint256";
}];
}, {
readonly name: "precompileValidateDoubleSignAddress";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "address";
}];
}, {
readonly name: "precompileValidateFastFinalityAddress";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "address";
}];
}, {
readonly name: "setContract";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "uint8";
readonly name: "contractType";
}, {
readonly type: "address";
readonly name: "addr";
}];
readonly outputs: readonly [];
}, {
readonly name: "setCreditScoreConfigs";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "_gainScore";
}, {
readonly type: "uint256";
readonly name: "_maxScore";
}, {
readonly type: "uint256";
readonly name: "_bailOutMultiplier";
}, {
readonly type: "uint256";
readonly name: "_cutOffPercentage";
}];
readonly outputs: readonly [];
}, {
readonly name: "setDoubleSignSlashingConfigs";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "_slashAmount";
}, {
readonly type: "uint256";
readonly name: "_jailUntilBlock";
}, {
readonly type: "uint256";
readonly name: "_offsetLimitBlock";
}];
readonly outputs: readonly [];
}, {
readonly name: "setFastFinalitySlashingConfigs";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "slashAmount";
}, {
readonly type: "uint256";
readonly name: "jailUntilBlock";
}];
readonly outputs: readonly [];
}, {
readonly name: "setUnavailabilitySlashingConfigs";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "tier1Threshold";
}, {
readonly type: "uint256";
readonly name: "tier2Threshold";
}, {
readonly type: "uint256";
readonly name: "slashAmountForTier2";
}, {
readonly type: "uint256";
readonly name: "jailDurationForTier2";
}];
readonly outputs: readonly [];
}, {
readonly name: "slashDoubleSign";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "consensusAddr";
}, {
readonly type: "bytes";
readonly name: "header1";
}, {
readonly type: "bytes";
readonly name: "header2";
}];
readonly outputs: readonly [];
}, {
readonly name: "slashFastFinality";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "consensusAddr";
}, {
readonly type: "bytes";
readonly name: "voterPublicKey";
}, {
readonly type: "uint256";
readonly name: "targetBlockNumber";
}, {
readonly type: "bytes32[2]";
readonly name: "targetBlockHash";
}, {
readonly type: "bytes[][2]";
readonly name: "listOfPublicKey";
}, {
readonly type: "bytes[2]";
readonly name: "aggregatedSignature";
}];
readonly outputs: readonly [];
}, {
readonly name: "slashUnavailability";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "consensusAddr";
}];
readonly outputs: readonly [];
}];
};
export { contract as default };