XrplBridge
Pallet Calls
Add Relayer
add a relayer
Namespace:
api.tx.xrplBridge.addRelayerType:
function addRelayer( relayer: SeedPrimitivesSignatureAccountId20 )
Prune Settled Ledger Index (Sudo Only)
Namespace:
api.tx.xrplBridge.pruneSettledLedgerIndexType:
function pruneSettledLedgerIndex( ledger_index: u32 )
Remove Relayer
remove a relayer
Namespace:
api.tx.xrplBridge.removeRelayerType:
function removeRelayer( relayer: SeedPrimitivesSignatureAccountId20 )
Reset Settled Xrpl Tx Data (Sudo Only)
Namespace:
api.tx.xrplBridge.resetSettledXrplTxDataType:
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)>> )
Set Door Address (Sudo Only)
Set XRPL door address managed by this pallet
Namespace:
api.tx.xrplBridge.setDoorAddressType:
function setDoorAddress( door_address: H160 )
Set Door Tx Fee (Sudo Only)
Set the door tx fee amount
Namespace:
api.tx.xrplBridge.setDoorTxFeeType:
function setDoorTxFee( fee: u64 )
Set Payment Delay (Sudo Only)
Sets the payment delay payment_delay is a tuple of payment_threshold and delay in blocks
Namespace:
api.tx.xrplBridge.setPaymentDelayType:
function setPaymentDelay( asset_id: u32, payment_delay: Option<(u128,u32)> )
Set Ticket Sequence Current Allocation (Sudo Only)
Set the door account current ticket sequence params for current allocation - force set
Namespace:
api.tx.xrplBridge.setTicketSequenceCurrentAllocationType:
function setTicketSequenceCurrentAllocation( ticket_sequence: u32, start_ticket_sequence: u32, ticket_bucket_size: u32 )
Set Ticket Sequence Next Allocation
Set the door account ticket sequence params for the next allocation
Namespace:
api.tx.xrplBridge.setTicketSequenceNextAllocationType:
function setTicketSequenceNextAllocation( start_ticket_sequence: u32, ticket_bucket_size: u32 )
Set Xrp Source Tag (Sudo Only)
Set the xrp source tag
Namespace:
api.tx.xrplBridge.setXrpSourceTagType:
function setXrpSourceTag( source_tag: u32 )
Submit Challenge
Submit xrp transaction challenge
Namespace:
api.tx.xrplBridge.submitChallengeType:
function submitChallenge( transaction_hash: H512 )
Submit Transaction
Submit xrp transaction
Namespace:
api.tx.xrplBridge.submitTransactionType:
function submitTransaction( ledger_index: u64, transaction_hash: H512, transaction: PalletXrplBridgeXrplTxData, timestamp: u64 )
Withdraw Xrp
Note. Use withdraw instead Withdraw xrp transaction
Namespace:
api.tx.xrplBridge.withdrawXrpType:
function withdrawXrp( amount: u128, destination: H160 )
Withdraw Xrp With Destination Tag
Note. Use withdraw instead Withdraw xrp transaction
Namespace:
api.tx.xrplBridge.withdrawXrpWithDestinationTagType:
function withdrawXrpWithDestinationTag( amount: u128, destination: H160, destination_tag: u32 )
Withdraw
Withdraw asset specified by asset_id. This extrinsic replaces withdrawXrp and withdrawXrpWithDestinationTag
Namespace:
api.tx.xrplBridge.withdrawType:
function withdraw( asset_id: u32, amount: u128, destination: H160, destination_tag: Option<u32> )
Set Xrpl Asset Map (Sudo Only)
Sets the mapping for an asset to an xrpl symbol Sets both XRPLToAssetId and AssetIdToXRPL
Namespace:
api.tx.xrplBridge.setXrplAssetMapType:
function setXrplAssetMap( asset_id: u32, xrpl_currency: PalletXrplBridgeXRPLCurrency, )
Pallet Storage
Challenge XRP Transaction List
Challenge received for a transaction mapped by hash, will be cleared when validator validates
Namespace:
api.query.xrplBridge.challengeXRPTransactionListType:
function challengeXRPTransactionList( H512 ): Option<SeedPrimitivesSignatureAccountId20>
Delayed Payments
Map from DelayedPaymentId to (sender, WithdrawTx)
Namespace:
api.query.xrplBridge.delayedPaymentsType:
function delayedPayments( u64 ): Option<PalletXrplBridgeDelayedWithdrawal>
Delayed Payment Schedule
Map from block number to DelayedPatmentIds scheduled for that block
Namespace:
api.query.xrplBridge.delayedPaymentScheduleType:
function delayedPaymentSchedule( u32 ): Option<Vec<u64>>
Door Address
The door address on XRPL
Namespace:
api.query.xrplBridge.doorAddressType:
function doorAddress( ): Option<H160>
Door Ticket Sequence
The current ticket sequence of the XRPL door account
Namespace:
api.query.xrplBridge.doorTicketSequenceType:
function doorTicketSequence( ): u32
Door Ticket Sequence Params
The Ticket sequence params of the XRPL door account for the current allocation
Namespace:
api.query.xrplBridge.doorTicketSequenceParamsType:
function doorTicketSequenceParams( ): PalletXrplBridgeXrplTicketSequenceParams
Door Ticket Sequence Params Next
The Ticket sequence params of the XRPL door account for the next allocation
Namespace:
api.query.xrplBridge.doorTicketSequenceParamsNextType:
function doorTicketSequenceParamsNext( ): PalletXrplBridgeXrplTicketSequenceParams
Door Tx Fee
The flat fee for XRPL door txs
Namespace:
api.query.xrplBridge.doorTxFeeType:
function doorTxFee( ): u64
Highest Pruned Ledger Index
Highest pruned XRPL ledger index
Namespace:
api.query.xrplBridge.highestPrunedLedgerIndexType:
function highestPrunedLedgerIndex( ): u32
Highest Settled Ledger Index
Highest settled XRPL ledger index
Namespace:
api.query.xrplBridge.highestSettledLedgerIndexType:
function highestSettledLedgerIndex( ): u32
Next Delayed Payment Id
The next available delayedPaymentId
Namespace:
api.query.xrplBridge.nextDelayedPaymentIdType:
function nextDelayedPaymentId( ): u64
Next Delay Process Block
The highest block number that has had all delayed payments processed
Namespace:
api.query.xrplBridge.nextDelayProcessBlockType:
function nextDelayProcessBlock( ): u32
Payment Delay
Payment delay for any withdraw over the specified Balance threshold
Namespace:
api.query.xrplBridge.paymentDelayType:
function paymentDelay( u32 ): Option<(u128,u32)>
Process XRP Transaction
Temporary storage to set the transactions ready to be processed at specified block number
Namespace:
api.query.xrplBridge.processXRPTransactionType:
function processXRPTransaction( u32 ): Option<Vec<H512>>
Process XRP Transaction Details
Stores submitted transactions from XRPL waiting to be processed Transactions will be cleared according to the submission window after processing
Namespace:
api.query.xrplBridge.processXRPTransactionDetailsType:
function processXRPTransactionDetails( H512 ): Option<(u64,PalletXrplBridgeXrpTransaction,SeedPrimitivesSignatureAccountId20)>
Relayer
List of all XRP transaction relayers
Namespace:
api.query.xrplBridge.relayerType:
function relayer( SeedPrimitivesSignatureAccountId20 ): Option<bool>
Settled XRP Transaction Details
Settled xrp transactions stored against XRPL ledger index
Namespace:
api.query.xrplBridge.settledXRPTransactionDetailsType:
function settledXRPTransactionDetails( u32 ): Option<Vec<H512>>
Asset Id To XRPL
Map TRN asset Id to XRPL symbol, storage to keep mapping between TRN -> XRPL tokens/assets
Namespace:
api.query.xrplBridge.assetIdToXRPLType:
function assetIdToXRPL( u32 ): Option<PalletXrplBridgeXRPLCurrency>
XRPL To Asset Id
Map XRPL symbol to TRN asset Id, storage to keep mapping between XRPL -> TRN tokens/assets
Namespace:
api.query.xrplBridge.xrplToAssetIdType:
function xrplToAssetId( PalletXrplBridgeXRPLCurrency ): Option<u32>
Source Tag
Source tag to be used to indicate the transaction is happening from futureverse
Namespace:
api.query.xrplBridge.sourceTagType:
function sourceTag( ): u32
Submission Window Width
XRPL transactions submission window width in ledger indexes
Namespace:
api.query.xrplBridge.submissionWindowWidthType:
function submissionWindowWidth( ): u32
Ticket Sequence Threshold Reached Emitted
Keeps track whether the TicketSequenceThresholdReached event is emitted
Namespace:
api.query.xrplBridge.ticketSequenceThresholdReachedEmittedType:
function ticketSequenceThresholdReachedEmitted( ): bool
Pallet Events
Door Address Set
Namespace:
api.events.xrplBridge.DoorAddressSetType:
type DoorAddressSet = { param0: H160 }
Door Next Ticket Sequence Param Set
Namespace:
api.events.xrplBridge.DoorNextTicketSequenceParamSetType:
type DoorNextTicketSequenceParamSet = { ticket_sequence_start_next: u32, ticket_bucket_size_next: u32 }
Door Ticket Sequence Param Set
Namespace:
api.events.xrplBridge.DoorTicketSequenceParamSetType:
type DoorTicketSequenceParamSet = { ticket_sequence: u32, ticket_sequence_start: u32, ticket_bucket_size: u32 }
Ledger Index Manual Prune
Namespace:
api.events.xrplBridge.LedgerIndexManualPruneType:
type LedgerIndexManualPrune = { ledger_index: u32, total_cleared: u32 }
Not Supported Transaction
Transaction not supported
Namespace:
api.events.xrplBridge.NotSupportedTransactionType:
type NotSupportedTransaction = { }
Payment Delay Removed
The payment delay was removed
Namespace:
api.events.xrplBridge.PaymentDelayRemovedType:
type PaymentDelayRemoved = { asset_id: u32, }
Payment Delay Set
The payment delay was set
Namespace:
api.events.xrplBridge.PaymentDelaySetType:
type PaymentDelaySet = { asset_id: u32, payment_threshold: u128, delay: u32 }
Processing Failed
Processing an event failed
Namespace:
api.events.xrplBridge.ProcessingFailedType:
type ProcessingFailed = { param0: u64, param1: H512, param2: SpRuntimeDispatchError }
Processing Ok
Processing an event succeeded
Namespace:
api.events.xrplBridge.ProcessingOkType:
type ProcessingOk = { param0: u64, param1: H512 }
Relayer Added
Namespace:
api.events.xrplBridge.RelayerAddedType:
type RelayerAdded = { param0: SeedPrimitivesSignatureAccountId20 }
Relayer Removed
Namespace:
api.events.xrplBridge.RelayerRemovedType:
type RelayerRemoved = { param0: SeedPrimitivesSignatureAccountId20 }
Ticket Sequence Threshold Reached
Namespace:
api.events.xrplBridge.TicketSequenceThresholdReachedType:
type TicketSequenceThresholdReached = { param0: u32 }
Transaction Added
Namespace:
api.events.xrplBridge.TransactionAddedType:
type TransactionAdded = { param0: u64, param1: H512 }
Transaction Challenge
Namespace:
api.events.xrplBridge.TransactionChallengeType:
type TransactionChallenge = { param0: u64, param1: H512 }
Withdraw Delayed
A withdrawal was delayed as it was above the min_payment threshold
Namespace:
api.events.xrplBridge.WithdrawDelayedType:
type WithdrawDelayed = { sender: SeedPrimitivesSignatureAccountId20, asset_id: u32, amount: u128, destination: H160, delayed_payment_id: u64 }
Withdraw Request
Request to withdraw some XRP amount to XRPL
Namespace:
api.events.xrplBridge.WithdrawRequestType:
type WithdrawRequest = { proof_id: u64, sender: SeedPrimitivesSignatureAccountId20, asset_id: u32, amount: u128, destination: H160 }
Xrpl Asset Map Set
A new mapping between asset_id and XRPL currency was set
Namespace:
api.events.xrplBridge.xrplAssetMapSetType:
type XrplAssetMapSet = { asset_id: u32, xrpl_currency: PalletXrplBridgeXRPLCurrency }
Pallet Errors
Asset Not Supported
This asset is not supported by the bridge
Namespace:
api.errors.xrplBridge.assetNotSupported
Cannot Process More Transactions At That Block
Cannot process more transactions at that block
Namespace:
api.errors.xrplBridge.CannotProcessMoreTransactionsAtThatBlock
Cannot Prune Active Ledger Index
This ledger index is within the submission window and can't be pruned
Namespace:
api.errors.xrplBridge.CannotPruneActiveLedgerIndex
Delay Schedule At Capacity
The scheduled block cannot hold any more delayed payments
Namespace:
api.errors.xrplBridge.DelayScheduleAtCapacity
Door Address Not Set
The door address has not been configured
Namespace:
api.errors.xrplBridge.DoorAddressNotSet
Invalid Highest Pruned Index
highest_pruned_ledger_index must be less than highest_settled_ledger_index - submission_window_width
Namespace:
api.errors.xrplBridge.InvalidHighestPrunedIndex
Invalid Signers
The signers are not known by ethy
Namespace:
api.errors.xrplBridge.InvalidSigners
Next Ticket Sequence Params Invalid
The NextTicketSequenceParams is invalid
Namespace:
api.errors.xrplBridge.NextTicketSequenceParamsInvalid
Next Ticket Sequence Params Not Set
The NextTicketSequenceParams has not been set
Namespace:
api.errors.xrplBridge.NextTicketSequenceParamsNotSet
No Available Payment Ids
The paymentIds have been exhausted
Namespace:
api.errors.xrplBridge.NoAvailablePaymentIds
Not Permitted
Namespace:
api.errors.xrplBridge.NotPermitted
No Transaction Details
There is no settledXRPTransactionDetails for this ledger index
Namespace:
api.errors.xrplBridge.NoTransactionDetails
Outside Submission Window
Transaction submitted is outside the submission window
Namespace:
api.errors.xrplBridge.OutSideSubmissionWindow
Relayer Does Not Exists
Namespace:
api.errors.xrplBridge.RelayerDoesNotExists
Ticket Sequence Params Invalid
The TicketSequenceParams is invalid
Namespace:
api.errors.xrplBridge.TicketSequenceParamsInvalid
Too Many Signers
XRPL does not allow more than 8 signers for door address
Namespace:
api.errors.xrplBridge.TooManySigners
Invalid Asset Decimals
The asset decimals are too high to bridge to XRPL
Namespace:
api.errors.xrplBridge.InvalidAssetDecimals
Invalid Currency Code
The issued amount currency code is invalid
Namespace:
api.errors.xrplBridge.InvalidCurrencyCode
Invalid Mantissa Exponent Conversion
Could not convert Balance to Mantissa Exponent
Namespace:
api.errors.xrplBridge.InvalidMantissaExponentConversion
Invalid Symbol Mapping
XRPL symbol to TRN asset id mapping is invalid
Namespace:
api.errors.xrplBridge.InvalidSymbolMapping
Asset Rounding Too High
The asset rounding due to saturation is too high, reduce the significant digits
Namespace:
api.errors.xrplBridge.AssetRoundingTooHigh
Too Many Transactions Per Ledger
Too Many transactions per ledger
Namespace:
api.errors.xrplBridge.TooManyTransactionsPerLedger
Tx Replay
Submitted a duplicate transaction hash
Namespace:
api.errors.xrplBridge.TxReplay
Withdraw Invalid Amount
Withdraw amount must be non-zero and < = u64
Namespace:
api.errors.xrplBridge.WithdrawInvalidAmount
Constants
Challenge Period
Challenge Period to wait for a challenge before processing the transaction
Namespace:
api.consts.xrplBridge.challengePeriodType:
type challengePeriod = u32
Delayed Payment Block Limit
Upper limit to the number of blocks we can check per block for delayed payments
Namespace:
api.consts.xrplBridge.delayedPaymentBlockLimitType:
type delayedPaymentBlockLimit = u32
Max Delayed Payments Per Block
Maximum number of delayed transactions that can be processed in a single block
Namespace:
api.consts.xrplBridge.maxDelayedPaymentsPerBlockType:
type maxDelayedPaymentsPerBlock = u32
Max Pruned Transactions Per Block
Maximum number of transactions that can be pruned in on_idle
Namespace:
api.consts.xrplBridge.maxPrunedTransactionsPerBlockType:
type maxPrunedTransactionsPerBlock = u32
Xrp Asset Id
XRP Asset Id set at runtime
Namespace:
api.consts.xrplBridge.xrpAssetIdType:
type xrpAssetId = u32
Native Asset Id
ROOT Asset Id set at runtime
Namespace:
api.consts.xrplBridge.nativeAssetIdType:
type nativeAssetId = u32
Pallet Id
This pallet's Id, used for deriving a sovereign account ID
Namespace:
api.consts.xrplBridge.palletIdType:
type palletId = u32