Skip to main content

EthBridge

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