Calls

depositRelayerBond

Namespace
api.tx.ethBridge.depositRelayerBond
Type
function depositRelayerBond(

)

finaliseAuthoritiesChange

Namespace
api.tx.ethBridge.finaliseAuthoritiesChange
Type
function finaliseAuthoritiesChange(
  next_notary_keys: Vec<SeedPrimitivesEthyCryptoAppCryptoPublic>
)

setBridgePaused

Namespace
api.tx.ethBridge.setBridgePaused
Type
function setBridgePaused(
  paused: bool
)

setChallengePeriod

Namespace
api.tx.ethBridge.setChallengePeriod
Type
function setChallengePeriod(
  blocks: u32
)

setContractAddress

Namespace
api.tx.ethBridge.setContractAddress
Type
function setContractAddress(
  contract_address: H160
)

setDelayedEventProofsPerBlock

Namespace
api.tx.ethBridge.setDelayedEventProofsPerBlock
Type
function setDelayedEventProofsPerBlock(
  count: u8
)

setEventBlockConfirmations

Namespace
api.tx.ethBridge.setEventBlockConfirmations
Type
function setEventBlockConfirmations(
  confirmations: u64
)

setRelayer

Namespace
api.tx.ethBridge.setRelayer
Type
function setRelayer(
  relayer: SeedPrimitivesSignatureAccountId20
)

setXrplDoorSigners

Namespace
api.tx.ethBridge.setXrplDoorSigners
Type
function setXrplDoorSigners(
  new_signers: Vec<(SeedPrimitivesEthyCryptoAppCryptoPublic,bool)>
)

submitChallenge

Namespace
api.tx.ethBridge.submitChallenge
Type
function submitChallenge(
  event_claim_id: u64
)

submitEvent

Namespace
api.tx.ethBridge.submitEvent
Type
function submitEvent(
  tx_hash: H256,
  event: Bytes
)

submitNotarization

Namespace
api.tx.ethBridge.submitNotarization
Type
function submitNotarization(
  payload: PalletEthyNotarizationPayload,
  _signature: SeedPrimitivesEthyCryptoAppCryptoSignature
)

withdrawRelayerBond

Namespace
api.tx.ethBridge.withdrawRelayerBond
Type
function withdrawRelayerBond(

)

Storage

authoritiesChangedThisEra

Flag to indicate whether authorities have been changed during the current era Namespace
api.query.ethBridge.authoritiesChangedThisEra
Type
function authoritiesChangedThisEra(

): bool

bridgePaused

Whether the bridge is paused (e.g. during validator transitions or by governance) Namespace
api.query.ethBridge.bridgePaused
Type
function bridgePaused(

): bool

challengePeriod

The (optimistic) challenge period after which a submitted event is considered valid Namespace
api.query.ethBridge.challengePeriod
Type
function challengePeriod(

): u32

challengerAccount

Maps from event claim id to challenger and bond amount paid Namespace
api.query.ethBridge.challengerAccount
Type
function challengerAccount(
  u64
): Option<(SeedPrimitivesSignatureAccountId20,u128)>

contractAddress

The bridge contract address on Ethereum Namespace
api.query.ethBridge.contractAddress
Type
function contractAddress(

): H160

delayedEventProofsPerBlock

The maximum number of delayed events that can be processed in on_initialize() Namespace
api.query.ethBridge.delayedEventProofsPerBlock
Type
function delayedEventProofsPerBlock(

): u8

ethCallNotarizations

EthCallOracle notarizations keyed by (Id, Notary) Namespace
api.query.ethBridge.ethCallNotarizations
Type
function ethCallNotarizations(
  u64,
  SeedPrimitivesEthyCryptoAppCryptoPublic
): Option<PalletEthyCheckedEthCallResult>

ethCallNotarizationsAggregated

map from EthCallOracle notarizations to an aggregated count Namespace
api.query.ethBridge.ethCallNotarizationsAggregated
Type
function ethCallNotarizationsAggregated(
  u64
): Option<BTreeMap<PalletEthyCheckedEthCallResult, u32>>

ethCallRequestInfo

EthCallOracle request info Namespace
api.query.ethBridge.ethCallRequestInfo
Type
function ethCallRequestInfo(
  u64
): Option<PalletEthyCheckedEthCallRequest>

ethCallRequests

Queue of pending EthCallOracle requests Namespace
api.query.ethBridge.ethCallRequests
Type
function ethCallRequests(

): Vec<u64>

eventBlockConfirmations

The minimum number of block confirmations needed to notarize an Ethereum event Namespace
api.query.ethBridge.eventBlockConfirmations
Type
function eventBlockConfirmations(

): u64

eventNotarizations

Notarizations for queued events Either: None = no notarization exists OR Some(yay/nay) Namespace
api.query.ethBridge.eventNotarizations
Type
function eventNotarizations(
  u64,
  SeedPrimitivesEthyCryptoAppCryptoPublic
): Option<PalletEthyEventClaimResult>

messagesValidAt

Map from block number to list of EventClaims that will be considered valid and should be forwarded to handlers (i.e after the optimistic challenge period has passed without issue) Namespace
api.query.ethBridge.messagesValidAt
Type
function messagesValidAt(
  u32
): Vec<u64>

nextAuthorityChange

The block in which we process the next authority change Namespace
api.query.ethBridge.nextAuthorityChange
Type
function nextAuthorityChange(

): Option<u32>

nextEthCallId

Subscription Id for EthCall requests Namespace
api.query.ethBridge.nextEthCallId
Type
function nextEthCallId(

): u64

nextEventProofId

Id of the next event proof Namespace
api.query.ethBridge.nextEventProofId
Type
function nextEventProofId(

): u64

nextNotaryKeys

Scheduled notary (validator) public keys for the next session Namespace
api.query.ethBridge.nextNotaryKeys
Type
function nextNotaryKeys(

): Vec<SeedPrimitivesEthyCryptoAppCryptoPublic>

notaryKeys

Active notary (validator) public keys Namespace
api.query.ethBridge.notaryKeys
Type
function notaryKeys(

): Vec<SeedPrimitivesEthyCryptoAppCryptoPublic>

notarySetId

The current validator set id Namespace
api.query.ethBridge.notarySetId
Type
function notarySetId(

): u64

notarySetProofId

The event proof Id generated by the previous validator set to notarize the current set. Useful for syncing the latest proof to Ethereum Namespace
api.query.ethBridge.notarySetProofId
Type
function notarySetProofId(

): u64

notaryXrplKeys

Active xrpl notary (validator) public keys Namespace
api.query.ethBridge.notaryXrplKeys
Type
function notaryXrplKeys(

): Vec<SeedPrimitivesEthyCryptoAppCryptoPublic>

pendingClaimChallenges

List of all event ids that are currently being challenged Namespace
api.query.ethBridge.pendingClaimChallenges
Type
function pendingClaimChallenges(

): Vec<u64>

pendingClaimStatus

Status of pending event claims Namespace
api.query.ethBridge.pendingClaimStatus
Type
function pendingClaimStatus(
  u64
): Option<PalletEthyEventClaimStatus>

pendingEventClaims

Queued event claims, can be challenged within challenge period Namespace
api.query.ethBridge.pendingEventClaims
Type
function pendingEventClaims(
  u64
): Option<PalletEthyEventClaim>

pendingEventProofs

Queued event proofs to be processed once bridge has been re-enabled Namespace
api.query.ethBridge.pendingEventProofs
Type
function pendingEventProofs(
  u64
): Option<PalletEthyEthySigningRequest>

processedMessageIds

Tracks processed message Ids (prevent replay) Namespace
api.query.ethBridge.processedMessageIds
Type
function processedMessageIds(

): Vec<u64>

relayer

The permissioned relayer Namespace
api.query.ethBridge.relayer
Type
function relayer(

): Option<SeedPrimitivesSignatureAccountId20>

relayerPaidBond

Maps from relayer account to their paid bond amount Namespace
api.query.ethBridge.relayerPaidBond
Type
function relayerPaidBond(
  SeedPrimitivesSignatureAccountId20
): u128

xrplDoorSigners

Door Signers set by sudo (white list) Namespace
api.query.ethBridge.xrplDoorSigners
Type
function xrplDoorSigners(
  SeedPrimitivesEthyCryptoAppCryptoPublic
): bool

xrplNotarySetProofId

The event proof Id generated by the previous validator set to notarize the current set. Useful for syncing the latest proof to Xrpl Namespace
api.query.ethBridge.xrplNotarySetProofId
Type
function xrplNotarySetProofId(

): u64

Events

AuthoritySetChange

A notary (validator) set change is in motion (event_id, new_validator_set_id) A proof for the change will be generated with the given event_id Namespace
api.events.ethBridge.AuthoritySetChange
Type
type AuthoritySetChange = {
  param0: u64,
  param1: u64
}

Challenged

An event has been challenged (claim_id, challenger) Namespace
api.events.ethBridge.Challenged
Type
type Challenged = {
  param0: u64,
  param1: SeedPrimitivesSignatureAccountId20
}

EventSend

An event proof has been sent for signing by ethy-gadget Namespace
api.events.ethBridge.EventSend
Type
type EventSend = {
  event_proof_id: u64,
  signing_request: PalletEthyEthySigningRequest
}

EventSubmit

An event has been submitted from Ethereum (event_claim_id, event_claim, process_at) Namespace
api.events.ethBridge.EventSubmit
Type
type EventSubmit = {
  param0: u64,
  param1: PalletEthyEventClaim,
  param2: u32
}

FinaliseScheduleFail

The schedule to unpause the bridge has failed (scheduled_block) Namespace
api.events.ethBridge.FinaliseScheduleFail
Type
type FinaliseScheduleFail = {
  param0: u32
}

Invalid

Verifying an event failed Namespace
api.events.ethBridge.Invalid
Type
type Invalid = {
  param0: u64
}

ProcessAtExtended

The event is still awaiting consensus. Process block pushed out (claim_id, process_at) Namespace
api.events.ethBridge.ProcessAtExtended
Type
type ProcessAtExtended = {
  param0: u64,
  param1: u32
}

ProcessingFailed

Processing an event failed Namespace
api.events.ethBridge.ProcessingFailed
Type
type ProcessingFailed = {
  param0: u64,
  param1: SeedPalletCommonEventRouterError
}

ProcessingOk

Processing an event succeeded Namespace
api.events.ethBridge.ProcessingOk
Type
type ProcessingOk = {
  param0: u64
}

ProofDelayed

Generating event proof delayed as bridge is paused Namespace
api.events.ethBridge.ProofDelayed
Type
type ProofDelayed = {
  param0: u64
}

RelayerBondDeposit

An account has deposited a relayer bond Namespace
api.events.ethBridge.RelayerBondDeposit
Type
type RelayerBondDeposit = {
  param0: SeedPrimitivesSignatureAccountId20,
  param1: u128
}

RelayerBondWithdraw

An account has withdrawn a relayer bond Namespace
api.events.ethBridge.RelayerBondWithdraw
Type
type RelayerBondWithdraw = {
  param0: SeedPrimitivesSignatureAccountId20,
  param1: u128
}

RelayerSet

A new relayer has been set Namespace
api.events.ethBridge.RelayerSet
Type
type RelayerSet = {
  param0: Option<SeedPrimitivesSignatureAccountId20>
}

SetContractAddress

The bridge contract address has been set Namespace
api.events.ethBridge.SetContractAddress
Type
type SetContractAddress = {
  param0: H160
}

Verified

Verifying an event succeeded Namespace
api.events.ethBridge.Verified
Type
type Verified = {
  param0: u64
}

XrplAuthoritySetChange

A notary (validator) set change for Xrpl is in motion (event_id, new_validator_set_id) A proof for the change will be generated with the given event_id Namespace
api.events.ethBridge.XrplAuthoritySetChange
Type
type XrplAuthoritySetChange = {
  param0: u64,
  param1: u64
}

XrplAuthoritySetChangeRequestFailed

Xrpl authority set change request failed Namespace
api.events.ethBridge.XrplAuthoritySetChangeRequestFailed
Type
type XrplAuthoritySetChangeRequestFailed = {

}

XrplDoorSignersSet

Xrpl Door signers are set Namespace
api.events.ethBridge.XrplDoorSignersSet
Type
type XrplDoorSignersSet = {

}

Errors

BridgePaused

The bridge is paused pending validator set changes (once every era / 24 hours) It will reactive after ~10 minutes Namespace
api.errors.ethBridge.BridgePaused

CantBondRelayer

The relayer already has a bonded amount Namespace
api.errors.ethBridge.CantBondRelayer

CantUnbondRelayer

The relayer is active and cant unbond the specified amount Namespace
api.errors.ethBridge.CantUnbondRelayer

ClaimAlreadyChallenged

There is already a challenge for this claim Namespace
api.errors.ethBridge.ClaimAlreadyChallenged

EventReplayPending

Event was already submitted and is pending Namespace
api.errors.ethBridge.EventReplayPending

EventReplayProcessed

Event was already submitted and is complete Namespace
api.errors.ethBridge.EventReplayProcessed

HttpFetch

Namespace
api.errors.ethBridge.HttpFetch

Internal

Some internal operation failed Namespace
api.errors.ethBridge.Internal

InvalidClaim

Claim was invalid e.g. not properly ABI encoded Namespace
api.errors.ethBridge.InvalidClaim

InvalidNotarization

A notarization was invalid Namespace
api.errors.ethBridge.InvalidNotarization

MaxNewSignersExceeded

Someone tried to set a greater amount of validators than allowed Namespace
api.errors.ethBridge.MaxNewSignersExceeded

NoBondPaid

The relayer hasn’t paid the relayer bond so can’t be set as the active relayer Namespace
api.errors.ethBridge.NoBondPaid

NoClaim

There is no event claim associated with the supplied claim_id Namespace
api.errors.ethBridge.NoClaim

NoLocalSigningAccount

Namespace
api.errors.ethBridge.NoLocalSigningAccount

NoPermission

Caller does not have permission for that action Namespace
api.errors.ethBridge.NoPermission

OcwConfig

offchain worker not configured properly Namespace
api.errors.ethBridge.OcwConfig

OffchainUnsignedTxSignedPayload

Namespace
api.errors.ethBridge.OffchainUnsignedTxSignedPayload
undefined