EthBridge
Calls
depositRelayerBond
Namespace
api.tx.ethBridge.depositRelayerBondType
function depositRelayerBond(
)finaliseAuthoritiesChange
Namespace
api.tx.ethBridge.finaliseAuthoritiesChangeType
function finaliseAuthoritiesChange(
next_notary_keys: Vec<SeedPrimitivesEthyCryptoAppCryptoPublic>
)setBridgePaused
Namespace
api.tx.ethBridge.setBridgePausedType
function setBridgePaused(
paused: bool
)setChallengePeriod
Namespace
api.tx.ethBridge.setChallengePeriodType
function setChallengePeriod(
blocks: u32
)setContractAddress
Namespace
api.tx.ethBridge.setContractAddressType
function setContractAddress(
contract_address: H160
)setDelayedEventProofsPerBlock
Namespace
api.tx.ethBridge.setDelayedEventProofsPerBlockType
function setDelayedEventProofsPerBlock(
count: u8
)setEventBlockConfirmations
Namespace
api.tx.ethBridge.setEventBlockConfirmationsType
function setEventBlockConfirmations(
confirmations: u64
)setRelayer
Namespace
api.tx.ethBridge.setRelayerType
function setRelayer(
relayer: SeedPrimitivesSignatureAccountId20
)setXrplDoorSigners
Namespace
api.tx.ethBridge.setXrplDoorSignersType
function setXrplDoorSigners(
new_signers: Vec<(SeedPrimitivesEthyCryptoAppCryptoPublic,bool)>
)submitChallenge
Namespace
api.tx.ethBridge.submitChallengeType
function submitChallenge(
event_claim_id: u64
)submitEvent
Namespace
api.tx.ethBridge.submitEventType
function submitEvent(
tx_hash: H256,
event: Bytes
)submitNotarization
Namespace
api.tx.ethBridge.submitNotarizationType
function submitNotarization(
payload: PalletEthyNotarizationPayload,
_signature: SeedPrimitivesEthyCryptoAppCryptoSignature
)withdrawRelayerBond
Namespace
api.tx.ethBridge.withdrawRelayerBondType
function withdrawRelayerBond(
)Storage
authoritiesChangedThisEra
Flag to indicate whether authorities have been changed during the current era
Namespace
api.query.ethBridge.authoritiesChangedThisEraType
function authoritiesChangedThisEra(
): boolbridgePaused
Whether the bridge is paused (e.g. during validator transitions or by governance)
Namespace
api.query.ethBridge.bridgePausedType
function bridgePaused(
): boolchallengePeriod
The (optimistic) challenge period after which a submitted event is considered valid
Namespace
api.query.ethBridge.challengePeriodType
function challengePeriod(
): u32challengerAccount
Maps from event claim id to challenger and bond amount paid
Namespace
api.query.ethBridge.challengerAccountType
function challengerAccount(
u64
): Option<(SeedPrimitivesSignatureAccountId20,u128)>contractAddress
The bridge contract address on Ethereum
Namespace
api.query.ethBridge.contractAddressType
function contractAddress(
): H160delayedEventProofsPerBlock
The maximum number of delayed events that can be processed in on_initialize()
Namespace
api.query.ethBridge.delayedEventProofsPerBlockType
function delayedEventProofsPerBlock(
): u8ethCallNotarizations
EthCallOracle notarizations keyed by (Id, Notary)
Namespace
api.query.ethBridge.ethCallNotarizationsType
function ethCallNotarizations(
u64,
SeedPrimitivesEthyCryptoAppCryptoPublic
): Option<PalletEthyCheckedEthCallResult>ethCallNotarizationsAggregated
map from EthCallOracle notarizations to an aggregated count
Namespace
api.query.ethBridge.ethCallNotarizationsAggregatedType
function ethCallNotarizationsAggregated(
u64
): Option<BTreeMap<PalletEthyCheckedEthCallResult, u32>>ethCallRequestInfo
EthCallOracle request info
Namespace
api.query.ethBridge.ethCallRequestInfoType
function ethCallRequestInfo(
u64
): Option<PalletEthyCheckedEthCallRequest>ethCallRequests
Queue of pending EthCallOracle requests
Namespace
api.query.ethBridge.ethCallRequestsType
function ethCallRequests(
): Vec<u64>eventBlockConfirmations
The minimum number of block confirmations needed to notarize an Ethereum event
Namespace
api.query.ethBridge.eventBlockConfirmationsType
function eventBlockConfirmations(
): u64eventNotarizations
Notarizations for queued events Either: None = no notarization exists OR Some(yay/nay)
Namespace
api.query.ethBridge.eventNotarizationsType
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.messagesValidAtType
function messagesValidAt(
u32
): Vec<u64>nextAuthorityChange
The block in which we process the next authority change
Namespace
api.query.ethBridge.nextAuthorityChangeType
function nextAuthorityChange(
): Option<u32>nextEthCallId
Subscription Id for EthCall requests
Namespace
api.query.ethBridge.nextEthCallIdType
function nextEthCallId(
): u64nextEventProofId
Id of the next event proof
Namespace
api.query.ethBridge.nextEventProofIdType
function nextEventProofId(
): u64nextNotaryKeys
Scheduled notary (validator) public keys for the next session
Namespace
api.query.ethBridge.nextNotaryKeysType
function nextNotaryKeys(
): Vec<SeedPrimitivesEthyCryptoAppCryptoPublic>notaryKeys
Active notary (validator) public keys
Namespace
api.query.ethBridge.notaryKeysType
function notaryKeys(
): Vec<SeedPrimitivesEthyCryptoAppCryptoPublic>notarySetId
The current validator set id
Namespace
api.query.ethBridge.notarySetIdType
function notarySetId(
): u64notarySetProofId
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.notarySetProofIdType
function notarySetProofId(
): u64notaryXrplKeys
Active xrpl notary (validator) public keys
Namespace
api.query.ethBridge.notaryXrplKeysType
function notaryXrplKeys(
): Vec<SeedPrimitivesEthyCryptoAppCryptoPublic>pendingClaimChallenges
List of all event ids that are currently being challenged
Namespace
api.query.ethBridge.pendingClaimChallengesType
function pendingClaimChallenges(
): Vec<u64>pendingClaimStatus
Status of pending event claims
Namespace
api.query.ethBridge.pendingClaimStatusType
function pendingClaimStatus(
u64
): Option<PalletEthyEventClaimStatus>pendingEventClaims
Queued event claims, can be challenged within challenge period
Namespace
api.query.ethBridge.pendingEventClaimsType
function pendingEventClaims(
u64
): Option<PalletEthyEventClaim>pendingEventProofs
Queued event proofs to be processed once bridge has been re-enabled
Namespace
api.query.ethBridge.pendingEventProofsType
function pendingEventProofs(
u64
): Option<PalletEthyEthySigningRequest>processedMessageIds
Tracks processed message Ids (prevent replay)
Namespace
api.query.ethBridge.processedMessageIdsType
function processedMessageIds(
): Vec<u64>relayer
The permissioned relayer
Namespace
api.query.ethBridge.relayerType
function relayer(
): Option<SeedPrimitivesSignatureAccountId20>relayerPaidBond
Maps from relayer account to their paid bond amount
Namespace
api.query.ethBridge.relayerPaidBondType
function relayerPaidBond(
SeedPrimitivesSignatureAccountId20
): u128xrplDoorSigners
Door Signers set by sudo (white list)
Namespace
api.query.ethBridge.xrplDoorSignersType
function xrplDoorSigners(
SeedPrimitivesEthyCryptoAppCryptoPublic
): boolxrplNotarySetProofId
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.xrplNotarySetProofIdType
function xrplNotarySetProofId(
): u64Events
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.AuthoritySetChangeType
type AuthoritySetChange = {
param0: u64,
param1: u64
}Challenged
An event has been challenged (claim_id, challenger)
Namespace
api.events.ethBridge.ChallengedType
type Challenged = {
param0: u64,
param1: SeedPrimitivesSignatureAccountId20
}EventSend
An event proof has been sent for signing by ethy-gadget
Namespace
api.events.ethBridge.EventSendType
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.EventSubmitType
type EventSubmit = {
param0: u64,
param1: PalletEthyEventClaim,
param2: u32
}FinaliseScheduleFail
The schedule to unpause the bridge has failed (scheduled_block)
Namespace
api.events.ethBridge.FinaliseScheduleFailType
type FinaliseScheduleFail = {
param0: u32
}Invalid
Verifying an event failed
Namespace
api.events.ethBridge.InvalidType
type Invalid = {
param0: u64
}ProcessAtExtended
The event is still awaiting consensus. Process block pushed out (claim_id, process_at)
Namespace
api.events.ethBridge.ProcessAtExtendedType
type ProcessAtExtended = {
param0: u64,
param1: u32
}ProcessingFailed
Processing an event failed
Namespace
api.events.ethBridge.ProcessingFailedType
type ProcessingFailed = {
param0: u64,
param1: SeedPalletCommonEventRouterError
}ProcessingOk
Processing an event succeeded
Namespace
api.events.ethBridge.ProcessingOkType
type ProcessingOk = {
param0: u64
}ProofDelayed
Generating event proof delayed as bridge is paused
Namespace
api.events.ethBridge.ProofDelayedType
type ProofDelayed = {
param0: u64
}RelayerBondDeposit
An account has deposited a relayer bond
Namespace
api.events.ethBridge.RelayerBondDepositType
type RelayerBondDeposit = {
param0: SeedPrimitivesSignatureAccountId20,
param1: u128
}RelayerBondWithdraw
An account has withdrawn a relayer bond
Namespace
api.events.ethBridge.RelayerBondWithdrawType
type RelayerBondWithdraw = {
param0: SeedPrimitivesSignatureAccountId20,
param1: u128
}RelayerSet
A new relayer has been set
Namespace
api.events.ethBridge.RelayerSetType
type RelayerSet = {
param0: Option<SeedPrimitivesSignatureAccountId20>
}SetContractAddress
The bridge contract address has been set
Namespace
api.events.ethBridge.SetContractAddressType
type SetContractAddress = {
param0: H160
}Verified
Verifying an event succeeded
Namespace
api.events.ethBridge.VerifiedType
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.XrplAuthoritySetChangeType
type XrplAuthoritySetChange = {
param0: u64,
param1: u64
}XrplAuthoritySetChangeRequestFailed
Xrpl authority set change request failed
Namespace
api.events.ethBridge.XrplAuthoritySetChangeRequestFailedType
type XrplAuthoritySetChangeRequestFailed = {
}XrplDoorSignersSet
Xrpl Door signers are set
Namespace
api.events.ethBridge.XrplDoorSignersSetType
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.BridgePausedCantBondRelayer
The relayer already has a bonded amount
Namespace
api.errors.ethBridge.CantBondRelayerCantUnbondRelayer
The relayer is active and cant unbond the specified amount
Namespace
api.errors.ethBridge.CantUnbondRelayerClaimAlreadyChallenged
There is already a challenge for this claim
Namespace
api.errors.ethBridge.ClaimAlreadyChallengedEventReplayPending
Event was already submitted and is pending
Namespace
api.errors.ethBridge.EventReplayPendingEventReplayProcessed
Event was already submitted and is complete
Namespace
api.errors.ethBridge.EventReplayProcessedHttpFetch
Namespace
api.errors.ethBridge.HttpFetchInternal
Some internal operation failed
Namespace
api.errors.ethBridge.InternalInvalidClaim
Claim was invalid e.g. not properly ABI encoded
Namespace
api.errors.ethBridge.InvalidClaimInvalidNotarization
A notarization was invalid
Namespace
api.errors.ethBridge.InvalidNotarizationMaxNewSignersExceeded
Someone tried to set a greater amount of validators than allowed
Namespace
api.errors.ethBridge.MaxNewSignersExceededNoBondPaid
The relayer hasn't paid the relayer bond so can't be set as the active relayer
Namespace
api.errors.ethBridge.NoBondPaidNoClaim
There is no event claim associated with the supplied claim_id
Namespace
api.errors.ethBridge.NoClaimNoLocalSigningAccount
Namespace
api.errors.ethBridge.NoLocalSigningAccountNoPermission
Caller does not have permission for that action
Namespace
api.errors.ethBridge.NoPermissionOcwConfig
offchain worker not configured properly
Namespace
api.errors.ethBridge.OcwConfigOffchainUnsignedTxSignedPayload
Namespace
api.errors.ethBridge.OffchainUnsignedTxSignedPayloadundefined