@roninbuilders/contracts
Version:
Type safe Contract ABIs for Ronin Network
696 lines (694 loc) • 23.4 kB
text/typescript
declare const contract: {
readonly id: 947;
readonly address: "0x440baf1c4b008ee4d617a83401f06aa80f5163e9";
readonly contract_name: "SlashIndicator";
readonly display_name: "Slash Indicator";
readonly is_deprecated: false;
readonly is_proxy: false;
readonly proxy_to: false;
readonly created_at: 1697443059;
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: "ErrInvalidRatios";
readonly type: "error";
readonly inputs: readonly [];
}, {
readonly name: "ErrInvalidSlash";
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: "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: "validator";
readonly indexed: true;
}, {
readonly type: "uint256";
readonly name: "period";
}, {
readonly type: "uint256";
readonly name: "usedCreditScore";
}];
}, {
readonly name: "BridgeOperatorSlashingConfigsUpdated";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "missingVotesRatioTier1";
}, {
readonly type: "uint256";
readonly name: "missingVotesRatioTier2";
}, {
readonly type: "uint256";
readonly name: "jailDurationForMissingVotesRatioTier2";
}, {
readonly type: "uint256";
readonly name: "skipBridgeOperatorSlashingThreshold";
}];
}, {
readonly name: "BridgeVotingSlashingConfigsUpdated";
readonly type: "event";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "bridgeVotingThreshold";
}, {
readonly type: "uint256";
readonly name: "bridgeVotingSlashAmount";
}];
}, {
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: "validators";
}, {
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: "validator";
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: "_validator";
}, {
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: "_validator";
}];
readonly outputs: readonly [{
readonly type: "uint256";
}];
}, {
readonly name: "execResetCreditScores";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address[]";
readonly name: "_validators";
}];
readonly outputs: readonly [];
}, {
readonly name: "execSlashBridgeOperator";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "_consensusAddr";
}, {
readonly type: "uint256";
readonly name: "_tier";
}, {
readonly type: "uint256";
readonly name: "_period";
}];
readonly outputs: readonly [];
}, {
readonly name: "getBridgeOperatorSlashingConfigs";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "uint256";
readonly name: "missingVotesRatioTier1_";
}, {
readonly type: "uint256";
readonly name: "missingVotesRatioTier2_";
}, {
readonly type: "uint256";
readonly name: "jailDurationForMissingVotesRatioTier2_";
}, {
readonly type: "uint256";
readonly name: "skipBridgeOperatorSlashingThreshold_";
}];
}, {
readonly name: "getBridgeVotingSlashingConfigs";
readonly type: "function";
readonly stateMutability: "view";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly type: "uint256";
readonly name: "bridgeVotingThreshold_";
}, {
readonly type: "uint256";
readonly name: "bridgeVotingSlashAmount_";
}];
}, {
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: "_validator";
}];
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: "_validators";
}];
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: "_validator";
}, {
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 name: "_bridgeOperatorSlashingConfigs";
}, {
readonly type: "uint256[2]";
readonly name: "_bridgeVotingSlashingConfigs";
}, {
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: "setBridgeOperatorSlashingConfigs";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "_ratioTier1";
}, {
readonly type: "uint256";
readonly name: "_ratioTier2";
}, {
readonly type: "uint256";
readonly name: "_jailDurationTier2";
}, {
readonly type: "uint256";
readonly name: "_skipSlashingThreshold";
}];
readonly outputs: readonly [];
}, {
readonly name: "setBridgeVotingSlashingConfigs";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "uint256";
readonly name: "_threshold";
}, {
readonly type: "uint256";
readonly name: "_slashAmount";
}];
readonly outputs: readonly [];
}, {
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: "_slashAmountForTier2Threshold";
}, {
readonly type: "uint256";
readonly name: "_jailDurationForTier2Threshold";
}];
readonly outputs: readonly [];
}, {
readonly name: "slashBridgeVoting";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address";
readonly name: "_consensusAddr";
}];
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: "_validatorAddr";
}];
readonly outputs: readonly [];
}, {
readonly name: "updateCreditScores";
readonly type: "function";
readonly stateMutability: "nonpayable";
readonly inputs: readonly [{
readonly type: "address[]";
readonly name: "_validators";
}, {
readonly type: "uint256";
readonly name: "_period";
}];
readonly outputs: readonly [];
}];
};
export { contract as default };