XChainOwnedCreateAccountClaimID

Attention

Cross-chain bridges functionality is part of the proposed XLS-38d extension (Not Enabled) to the XRP Ledger protocol. There isn't an official amendment yet. Until there is an amendment, the details documented on these pages are subject to change frequently. [Source]

Please use this form to report bugs, provide feedback, or share network issues you experience.

[Source]

The XChainOwnedCreateAccountClaimID ledger object is used to collect attestations for creating an account via a cross-chain transfer.

It is created when an XChainAddAccountCreateAttestation transaction adds a signature attesting to a XChainAccountCreateCommit transaction and the XChainAccountCreateCount is greater than or equal to the current XChainAccountClaimCount on the Bridge ledger object.

The ledger object is destroyed when all the attestations have been received and the funds have transferred to the new account.

Example XChainOwnedCreateAccountClaimID JSON

{
  "LedgerEntryType": "XChainOwnedCreateAccountClaimID",
  "LedgerIndex": "5A92F6ED33FDA68FB4B9FD140EA38C056CD2BA9673ECA5B4CEF40F2166BB6F0C",
  "NewFields": {
    "Account": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
    "XChainAccountCreateCount": "66",
    "XChainBridge": {
      "IssuingChainDoor": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
      "IssuingChainIssue": {
        "currency": "XRP"
      },
      "LockingChainDoor": "rMAXACCrp3Y8PpswXcg3bKggHX76V3F8M4",
      "LockingChainIssue": {
        "currency": "XRP"
      }
    },
    "XChainCreateAccountAttestations": [
      {
        "XChainCreateAccountProofSig": {
          "Amount": "20000000",
          "AttestationRewardAccount": "rMtYb1vNdeMDpD9tA5qSFm8WXEBdEoKKVw",
          "AttestationSignerAccount": "rL8qTrAvZ8Q1o1H9H9Ahpj3xjgmRvFLvJ3",
          "Destination": "rBW1U7J9mEhEdk6dMHEFUjqQ7HW7WpaEMi",
          "PublicKey": "021F7CC4033EFBE5E8214B04D1BAAEC14808DC6C02F4ACE930A8EF0F5909B0C438",
          "SignatureReward": "100",
          "WasLockingChainSend": 1
        }
      }
    ]
  }
}

XChainOwnedCreateAccountClaimID Fields

FieldJSON TypeInternal TypeRequired?Description
AccountstringACCOUNTYesThe account that owns this object.
LedgerIndexstringHASH256YesThe ledger index is a hash of a unique prefix for XChainOwnedClaimIDs, the actual XChainClaimID value, and the fields in XChainBridge.
XChainAccountCreateCountnumberUINT64YesAn integer that determines the order that accounts created through cross-chain transfers must be performed. Smaller numbers must execute before larger numbers.
XChainBridgeXChainBridgeXCHAIN_BRIDGEYesThe door accounts and assets of the bridge this object correlates to.
XChainCreateAccountAttestationsarrayARRAYYesAttestations collected from the witness servers. This includes the parameters needed to recreate the message that was signed, including the amount, destination, signature reward amount, and reward account for that signature. With the exception of the reward account, all signatures must sign the message created with common parameters.

XChainCreateAccountAttestations

FieldJSON TypeInternal TypeRequiredDescription
XChainCreateAccountProofSigarrayOBJECTYesAn attestation from one witness server.
AmountCurrency AmountAMOUNTYesThe amount committed by the XChainAccountCreateCommit transaction on the source chain.
AttestationRewardAccountstringACCOUNTYesThe account that should receive this signer's share of the SignatureReward.
AttestationSignerAccountstringACCOUNTYesThe account on the door account's signer list that is signing the transaction.
DestinationstringACCOUNTYesThe destination account for the funds on the destination chain.
PublicKeystringBLOBYesThe public key used to verify the signature.
WasLockingChainSendnumberUINT8YesA boolean representing the chain where the event occurred.

XChainBridge Fields

FieldJSON TypeInternal TypeRequired?Description
IssuingChainDoorstringACCOUNTYesThe door account on the issuing chain. For an XRP-XRP bridge, this must be the genesis account (the account that is created when the network is first started, which contains all of the XRP).
IssuingChainIssueIssueISSUEYesThe asset that is minted and burned on the issuing chain. For an IOU-IOU bridge, the issuer of the asset must be the door account on the issuing chain, to avoid supply issues.
LockingChainDoorstringACCOUNTYesThe door account on the locking chain.
LockingChainIssueIssueISSUEYesThe asset that is locked and unlocked on the locking chain.

XCHAIN_BRIDGE Field Type

XCHAIN_BRIDGE is a new field type introduced by XLS-38d.

Type NameType CodeBit LengthLength-prefixed?Description
XCHAIN_BRIDGE25VariableNoA bridge between two blockchains, identified by the door accounts and issued assets on the locking chain and issuing chain. XCHAIN_BRIDGE is serialized in this order: locking chain door, locking chain issue, issuing chain door, issuing chain issue.