@celo/contractkit"wrappers/DoubleSigningSlasher"DoubleSigningSlasherWrapper

Class: DoubleSigningSlasherWrapper

Contract handling slashing for Validator double-signing

Hierarchy

BaseSlasher‹DoubleSigningSlasher›

DoubleSigningSlasherWrapper

Index

Constructors

Properties

Accessors

Methods

Constructors

constructor

+ new DoubleSigningSlasherWrapper(kit: ContractKit, contract: DoubleSigningSlasher): DoubleSigningSlasherWrapper

Inherited from BaseWrapper.constructor

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:30

Parameters:

Name Type
kit ContractKit
contract DoubleSigningSlasher

Returns: DoubleSigningSlasherWrapper

Properties

eventTypes

eventTypes: EventsEnum‹T› = Object.keys(this.events).reduce>( (acc, key) => ({ ...acc, [key]: key }), {} as any )

Inherited from BaseWrapper.eventTypes

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:61


events

events: DoubleSigningSlasher["events"] = this.contract.events

Inherited from BaseWrapper.events

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:59


methodIds

methodIds: Record‹keyof T["methods"], string› = Object.keys(this.contract.methods).reduce, string>>( (acc, method: Methods) => { const methodABI = this.contract.options.jsonInterface.find((item) => item.name === method)

  acc[method] =
    methodABI === undefined
      ? '0x'
      : this.kit.connection.getAbiCoder().encodeFunctionSignature(methodABI)

  return acc
},
{} as any

)

Inherited from BaseWrapper.methodIds

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:66


slashingIncentives

slashingIncentives: function = proxyCall( this.contract.methods.slashingIncentives, undefined, (res) => ({ reward: valueToBigNumber(res.reward), penalty: valueToBigNumber(res.penalty), }) )

Inherited from BaseSlasher.slashingIncentives

Defined in packages/sdk/contractkit/src/wrappers/BaseSlasher.ts:69

Returns slashing incentives.

returns Rewards and penalties for slashing.

Type declaration:

▸ (...args: InputArgs): Promise‹Output›

Parameters:

Name Type
...args InputArgs

Accessors

address

get address(): string

Inherited from BaseWrapper.address

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:35

Contract address

Returns: string

Methods

getBlockNumberFromHeader

getBlockNumberFromHeader(header: string): Promise‹number›

Defined in packages/sdk/contractkit/src/wrappers/DoubleSigningSlasher.ts:15

Parses block number out of header.

Parameters:

Name Type Description
header string RLP encoded header

Returns: Promise‹number›

Block number.


getPastEvents

getPastEvents(event: Events‹DoubleSigningSlasher›, options: PastEventOptions): Promise‹EventLog[]›

Inherited from BaseWrapper.getPastEvents

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:55

Contract getPastEvents

Parameters:

Name Type
event Events‹DoubleSigningSlasher›
options PastEventOptions

Returns: Promise‹EventLog[]›


slashSigner

slashSigner(signerAddress: Address, headerA: string, headerB: string): Promise‹CeloTransactionObject‹void››

Defined in packages/sdk/contractkit/src/wrappers/DoubleSigningSlasher.ts:38

Slash a Validator signer for double-signing.

Parameters:

Name Type Description
signerAddress Address -
headerA string First double signed block header.
headerB string Second double signed block header.

Returns: Promise‹CeloTransactionObject‹void››


slashValidator

slashValidator(validatorAddress: Address, headerA: string, headerB: string): Promise‹CeloTransactionObject‹void››

Defined in packages/sdk/contractkit/src/wrappers/DoubleSigningSlasher.ts:26

Slash a Validator for double-signing.

Parameters:

Name Type Description
validatorAddress Address Validator to slash.
headerA string First double signed block header.
headerB string Second double signed block header.

Returns: Promise‹CeloTransactionObject‹void››


version

version(): Promise‹NonNullable‹T["methods"] extends object ? ContractVersion<> : never››

Inherited from BaseWrapper.version

Defined in packages/sdk/contractkit/src/wrappers/BaseWrapper.ts:39

Returns: Promise‹NonNullable‹T["methods"] extends object ? ContractVersion<> : never››