Skip to content

ParasSlashing


Calls


report_dispute_lost_unsigned

See [Pallet::report_dispute_lost_unsigned].

Attributes

Name Type
dispute_proof Box<DisputeProof>
key_owner_proof T::KeyOwnerProof

Python

call = substrate.compose_call(
    'ParasSlashing', 'report_dispute_lost_unsigned', {
    'dispute_proof': {
        'kind': (
            'ForInvalid',
            'AgainstValid',
        ),
        'time_slot': {
            'candidate_hash': 'scale_info::12',
            'session_index': 'u32',
        },
        'validator_id': '[u8; 32]',
        'validator_index': 'u32',
    },
    'key_owner_proof': {
        'session': 'u32',
        'trie_nodes': ['Bytes'],
        'validator_count': 'u32',
    },
}
)

Storage functions


UnappliedSlashes

Validators pending dispute slashes.

Python

result = substrate.query(
    'ParasSlashing', 'UnappliedSlashes', ['u32', 'scale_info::12']
)

Return value

{'keys': 'scale_info::836', 'kind': ('ForInvalid', 'AgainstValid')}

ValidatorSetCounts

ValidatorSetCount per session.

Python

result = substrate.query(
    'ParasSlashing', 'ValidatorSetCounts', ['u32']
)

Return value

'u32'

Errors


DuplicateSlashingReport

The given slashing report is valid but already previously reported.


InvalidCandidateHash

The candidate hash is invalid.


InvalidKeyOwnershipProof

The key ownership proof is invalid.


InvalidSessionIndex

The session index is too old or invalid.


InvalidValidatorIndex

There is no pending slash for the given validator index and time slot.


ValidatorIndexIdMismatch

The validator index does not match the validator id.