Skip to main content

XrplBridge

Calls

addRelayer

add a relayer

Namespace

api.tx.xrplBridge.addRelayer

Type

function addRelayer(
  relayer: SeedPrimitivesSignatureAccountId20
)

pruneSettledLedgerIndex

Namespace

api.tx.xrplBridge.pruneSettledLedgerIndex

Type

function pruneSettledLedgerIndex(
  ledger_index: u32
)

removeRelayer

remove a relayer

Namespace

api.tx.xrplBridge.removeRelayer

Type

function removeRelayer(
  relayer: SeedPrimitivesSignatureAccountId20
)

resetSettledXrplTxData

Namespace

api.tx.xrplBridge.resetSettledXrplTxData

Type

function resetSettledXrplTxData(
  highest_settled_ledger_index: u32,
  submission_window_width: u32,
  highest_pruned_ledger_index: Option<u32>,
  settled_tx_data: Option<Vec<(H512,u32,PalletXrplBridgeXrpTransaction,SeedPrimitivesSignatureAccountId20)>>
)

setDoorAddress

Set XRPL door address managed by this pallet

Namespace

api.tx.xrplBridge.setDoorAddress

Type

function setDoorAddress(
  door_address: H160
)

setDoorTxFee

Set the door tx fee amount

Namespace

api.tx.xrplBridge.setDoorTxFee

Type

function setDoorTxFee(
  fee: u64
)

setPaymentDelay

Sets the payment delay payment_delay is a tuple of payment_threshold and delay in blocks

Namespace

api.tx.xrplBridge.setPaymentDelay

Type

function setPaymentDelay(
  payment_delay: Option<(u128,u32)>
)

setTicketSequenceCurrentAllocation

Set the door account current ticket sequence params for current allocation - force set

Namespace

api.tx.xrplBridge.setTicketSequenceCurrentAllocation

Type

function setTicketSequenceCurrentAllocation(
  ticket_sequence: u32,
  start_ticket_sequence: u32,
  ticket_bucket_size: u32
)

setTicketSequenceNextAllocation

Set the door account ticket sequence params for the next allocation

Namespace

api.tx.xrplBridge.setTicketSequenceNextAllocation

Type

function setTicketSequenceNextAllocation(
  start_ticket_sequence: u32,
  ticket_bucket_size: u32
)

setXrpSourceTag

Set the xrp source tag

Namespace

api.tx.xrplBridge.setXrpSourceTag

Type

function setXrpSourceTag(
  source_tag: u32
)

submitChallenge

Submit xrp transaction challenge

Namespace

api.tx.xrplBridge.submitChallenge

Type

function submitChallenge(
  transaction_hash: H512
)

submitTransaction

Submit xrp transaction

Namespace

api.tx.xrplBridge.submitTransaction

Type

function submitTransaction(
  ledger_index: u64,
  transaction_hash: H512,
  transaction: PalletXrplBridgeXrplTxData,
  timestamp: u64
)

withdrawXrp

Withdraw xrp transaction

Namespace

api.tx.xrplBridge.withdrawXrp

Type

function withdrawXrp(
  amount: u128,
  destination: H160
)

withdrawXrpWithDestinationTag

Withdraw xrp transaction

Namespace

api.tx.xrplBridge.withdrawXrpWithDestinationTag

Type

function withdrawXrpWithDestinationTag(
  amount: u128,
  destination: H160,
  destination_tag: u32
)

Storage

challengeXRPTransactionList

Challenge received for a transaction mapped by hash, will be cleared when validator validates

Namespace

api.query.xrplBridge.challengeXRPTransactionList

Type

function challengeXRPTransactionList(
  H512
): Option<SeedPrimitivesSignatureAccountId20>

delayedPayments

Map from DelayedPaymentId to (sender, WithdrawTx)

Namespace

api.query.xrplBridge.delayedPayments

Type

function delayedPayments(
  u64
): Option<PalletXrplBridgeDelayedWithdrawal>

delayedPaymentSchedule

Map from block number to DelayedPatmentIds scheduled for that block

Namespace

api.query.xrplBridge.delayedPaymentSchedule

Type

function delayedPaymentSchedule(
  u32
): Option<Vec<u64>>

doorAddress

The door address on XRPL

Namespace

api.query.xrplBridge.doorAddress

Type

function doorAddress(

): Option<H160>

doorTicketSequence

The current ticket sequence of the XRPL door account

Namespace

api.query.xrplBridge.doorTicketSequence

Type

function doorTicketSequence(

): u32

doorTicketSequenceParams

The Ticket sequence params of the XRPL door account for the current allocation

Namespace

api.query.xrplBridge.doorTicketSequenceParams

Type

function doorTicketSequenceParams(

): PalletXrplBridgeXrplTicketSequenceParams

doorTicketSequenceParamsNext

The Ticket sequence params of the XRPL door account for the next allocation

Namespace

api.query.xrplBridge.doorTicketSequenceParamsNext

Type

function doorTicketSequenceParamsNext(

): PalletXrplBridgeXrplTicketSequenceParams

doorTxFee

The flat fee for XRPL door txs

Namespace

api.query.xrplBridge.doorTxFee

Type

function doorTxFee(

): u64

highestPrunedLedgerIndex

Highest pruned XRPL ledger index

Namespace

api.query.xrplBridge.highestPrunedLedgerIndex

Type

function highestPrunedLedgerIndex(

): u32

highestSettledLedgerIndex

Highest settled XRPL ledger index

Namespace

api.query.xrplBridge.highestSettledLedgerIndex

Type

function highestSettledLedgerIndex(

): u32

nextDelayedPaymentId

The next available delayedPaymentId

Namespace

api.query.xrplBridge.nextDelayedPaymentId

Type

function nextDelayedPaymentId(

): u64

nextDelayProcessBlock

The highest block number that has had all delayed payments processed

Namespace

api.query.xrplBridge.nextDelayProcessBlock

Type

function nextDelayProcessBlock(

): u32

paymentDelay

Payment delay for any withdraw over the specified Balance threshold

Namespace

api.query.xrplBridge.paymentDelay

Type

function paymentDelay(

): Option<(u128,u32)>

processXRPTransaction

Temporary storage to set the transactions ready to be processed at specified block number

Namespace

api.query.xrplBridge.processXRPTransaction

Type

function processXRPTransaction(
  u32
): Option<Vec<H512>>

processXRPTransactionDetails

Stores submitted transactions from XRPL waiting to be processed Transactions will be cleared according to the submission window after processing

Namespace

api.query.xrplBridge.processXRPTransactionDetails

Type

function processXRPTransactionDetails(
  H512
): Option<(u64,PalletXrplBridgeXrpTransaction,SeedPrimitivesSignatureAccountId20)>

relayer

List of all XRP transaction relayers

Namespace

api.query.xrplBridge.relayer

Type

function relayer(
  SeedPrimitivesSignatureAccountId20
): Option<bool>

settledXRPTransactionDetails

Settled xrp transactions stored against XRPL ledger index

Namespace

api.query.xrplBridge.settledXRPTransactionDetails

Type

function settledXRPTransactionDetails(
  u32
): Option<Vec<H512>>

sourceTag

Source tag to be used to indicate the transaction is happening from futureverse

Namespace

api.query.xrplBridge.sourceTag

Type

function sourceTag(

): u32

submissionWindowWidth

XRPL transactions submission window width in ledger indexes

Namespace

api.query.xrplBridge.submissionWindowWidth

Type

function submissionWindowWidth(

): u32

ticketSequenceThresholdReachedEmitted

Keeps track whether the TicketSequenceThresholdReached event is emitted

Namespace

api.query.xrplBridge.ticketSequenceThresholdReachedEmitted

Type

function ticketSequenceThresholdReachedEmitted(

): bool

Events

DoorAddressSet

Namespace

api.events.xrplBridge.DoorAddressSet

Type

type DoorAddressSet = {
  param0: H160
}

DoorNextTicketSequenceParamSet

Namespace

api.events.xrplBridge.DoorNextTicketSequenceParamSet

Type

type DoorNextTicketSequenceParamSet = {
  ticket_sequence_start_next: u32,
  ticket_bucket_size_next: u32
}

DoorTicketSequenceParamSet

Namespace

api.events.xrplBridge.DoorTicketSequenceParamSet

Type

type DoorTicketSequenceParamSet = {
  ticket_sequence: u32,
  ticket_sequence_start: u32,
  ticket_bucket_size: u32
}

LedgerIndexManualPrune

Namespace

api.events.xrplBridge.LedgerIndexManualPrune

Type

type LedgerIndexManualPrune = {
  ledger_index: u32,
  total_cleared: u32
}

NotSupportedTransaction

Transaction not supported

Namespace

api.events.xrplBridge.NotSupportedTransaction

Type

type NotSupportedTransaction = {

}

PaymentDelayRemoved

The payment delay was removed

Namespace

api.events.xrplBridge.PaymentDelayRemoved

Type

type PaymentDelayRemoved = {

}

PaymentDelaySet

The payment delay was set

Namespace

api.events.xrplBridge.PaymentDelaySet

Type

type PaymentDelaySet = {
  payment_threshold: u128,
  delay: u32
}

ProcessingFailed

Processing an event failed

Namespace

api.events.xrplBridge.ProcessingFailed

Type

type ProcessingFailed = {
  param0: u64,
  param1: H512,
  param2: SpRuntimeDispatchError
}

ProcessingOk

Processing an event succeeded

Namespace

api.events.xrplBridge.ProcessingOk

Type

type ProcessingOk = {
  param0: u64,
  param1: H512
}

RelayerAdded

Namespace

api.events.xrplBridge.RelayerAdded

Type

type RelayerAdded = {
  param0: SeedPrimitivesSignatureAccountId20
}

RelayerRemoved

Namespace

api.events.xrplBridge.RelayerRemoved

Type

type RelayerRemoved = {
  param0: SeedPrimitivesSignatureAccountId20
}

TicketSequenceThresholdReached

Namespace

api.events.xrplBridge.TicketSequenceThresholdReached

Type

type TicketSequenceThresholdReached = {
  param0: u32
}

TransactionAdded

Namespace

api.events.xrplBridge.TransactionAdded

Type

type TransactionAdded = {
  param0: u64,
  param1: H512
}

TransactionChallenge

Namespace

api.events.xrplBridge.TransactionChallenge

Type

type TransactionChallenge = {
  param0: u64,
  param1: H512
}

WithdrawDelayed

A withdrawal was delayed as it was above the min_payment threshold

Namespace

api.events.xrplBridge.WithdrawDelayed

Type

type WithdrawDelayed = {
  sender: SeedPrimitivesSignatureAccountId20,
  amount: u128,
  destination: H160,
  delayed_payment_id: u64
}

WithdrawRequest

Request to withdraw some XRP amount to XRPL

Namespace

api.events.xrplBridge.WithdrawRequest

Type

type WithdrawRequest = {
  proof_id: u64,
  sender: SeedPrimitivesSignatureAccountId20,
  amount: u128,
  destination: H160
}

Errors

CannotProcessMoreTransactionsAtThatBlock

Cannot process more transactions at that block

Namespace

api.errors.xrplBridge.CannotProcessMoreTransactionsAtThatBlock

CannotPruneActiveLedgerIndex

This ledger index is within the submission window and can't be pruned

Namespace

api.errors.xrplBridge.CannotPruneActiveLedgerIndex

DelayScheduleAtCapacity

The scheduled block cannot hold any more delayed payments

Namespace

api.errors.xrplBridge.DelayScheduleAtCapacity

DoorAddressNotSet

The door address has not been configured

Namespace

api.errors.xrplBridge.DoorAddressNotSet

InvalidHighestPrunedIndex

highest_pruned_ledger_index must be less than highest_settled_ledger_index - submission_window_width

Namespace

api.errors.xrplBridge.InvalidHighestPrunedIndex

InvalidSigners

The signers are not known by ethy

Namespace

api.errors.xrplBridge.InvalidSigners

NextTicketSequenceParamsInvalid

The NextTicketSequenceParams is invalid

Namespace

api.errors.xrplBridge.NextTicketSequenceParamsInvalid

NextTicketSequenceParamsNotSet

The NextTicketSequenceParams has not been set

Namespace

api.errors.xrplBridge.NextTicketSequenceParamsNotSet

NoAvailablePaymentIds

The paymentIds have been exhausted

Namespace

api.errors.xrplBridge.NoAvailablePaymentIds

NotPermitted

Namespace

api.errors.xrplBridge.NotPermitted

NoTransactionDetails

There is no settledXRPTransactionDetails for this ledger index

Namespace

api.errors.xrplBridge.NoTransactionDetails

OutSideSubmissionWindow

Transaction submitted is outside the submission window

Namespace

api.errors.xrplBridge.OutSideSubmissionWindow

RelayerDoesNotExists

Namespace

api.errors.xrplBridge.RelayerDoesNotExists

TicketSequenceParamsInvalid

The TicketSequenceParams is invalid

Namespace

api.errors.xrplBridge.TicketSequenceParamsInvalid

TooManySigners

XRPL does not allow more than 8 signers for door address

Namespace

api.errors.xrplBridge.TooManySigners

TooManyTransactionsPerLedger

Too Many transactions per ledger

Namespace

api.errors.xrplBridge.TooManyTransactionsPerLedger

TxReplay

Submitted a duplicate transaction hash

Namespace

api.errors.xrplBridge.TxReplay

WithdrawInvalidAmount

Withdraw amount must be non-zero and < = u64

Namespace

api.errors.xrplBridge.WithdrawInvalidAmount

Constants

challengePeriod

Challenge Period to wait for a challenge before processing the transaction

Namespace

api.consts.xrplBridge.challengePeriod

Type

type challengePeriod = u32

delayedPaymentBlockLimit

Upper limit to the number of blocks we can check per block for delayed payments

Namespace

api.consts.xrplBridge.delayedPaymentBlockLimit

Type

type delayedPaymentBlockLimit = u32

maxDelayedPaymentsPerBlock

Maximum number of delayed transactions that can be processed in a single block

Namespace

api.consts.xrplBridge.maxDelayedPaymentsPerBlock

Type

type maxDelayedPaymentsPerBlock = u32

maxPrunedTransactionsPerBlock

Maximum number of transactions that can be pruned in on_idle

Namespace

api.consts.xrplBridge.maxPrunedTransactionsPerBlock

Type

type maxPrunedTransactionsPerBlock = u32

xrpAssetId

XRP Asset Id set at runtime

Namespace

api.consts.xrplBridge.xrpAssetId

Type

type xrpAssetId = u32