ExportSignatures
[Source]
(Added by the Export amendment.)
ExportSignatures is a pseudo-transaction derived from the agreed Export signature sidecar. It records a canonical quorum witness for an earlier validated Export intent.
The witness is not part of the original Export transaction’s metadata. It appears in the earliest later eligible ledger where the sidecar converges on a valid quorum, subject to the Export latch’s publication deadline.
Example
Section titled “Example”{ "TransactionType": "ExportSignatures", "Account": "rrrrrrrrrrrrrrrrrrrrrhoLvTp", "Fee": "0", "Sequence": 0, "SigningPubKey": "", "LedgerSequence": 12345682, "TransactionHash": "[W]", "ExportedTxn": { "TransactionType": "Payment", "Account": "rYourAccount...", "Sequence": 0, "TicketSequence": 2, "SigningPubKey": "", "Memos": ["[CALLER_MEMOS_THEN_FINAL_XAHAU_EXPORT_MEMO]"] }, "ExportContributors": "01", "ExportSigners": [ { "ExportSigner": { "SigningPubKey": "[VALIDATOR_SIGNING_PUBLIC_KEY]", "TxnSignature": "[HEX_SIGNATURE]" } } ]}Fields
Section titled “Fields”| Field | JSON Type | Internal Type | Description |
|---|---|---|---|
LedgerSequence | Number | UInt32 | Ledger index containing this witness. |
TransactionHash | String | Hash256 | W, the source Export transaction hash. |
ExportedTxn | Object | STObject | Exact unsigned release-stamped target transaction signed by the validators. It has an empty SigningPubKey and no Signers or TxnSignature. |
ExportContributors | String | Blob | Exact-width LSB-first bitmap over the immutable ExportCommittee’s canonical roster, identifying the positions represented in ExportSigners. |
ExportSigners | Array | STArray | Validator signing public keys and multisignatures. Entries correspond in order to the set contributor positions from lowest to highest. |
The contributor bitmap’s population must equal the number of signer entries and satisfy ceil(0.8 * committee size). Duplicate signing keys and duplicate signer AccountIDs are invalid, and every signature is verified against the stored release-stamped transaction.
Release Stamp
Section titled “Release Stamp”The final xahau/export Memo commits to:
- Version and flags.
- Source and target network IDs.
- W.
- The validated source ledger sequence and hash.
The Memo must be final. Caller-supplied Memos, if any, precede it unchanged. On replay, the witness and ExportLatch provide deterministic state; a node does not need mutable historical manifest state to re-decide the accepted witness.
Assembly
Section titled “Assembly”To construct the target-chain transaction from a witness:
- Start with the witness
ExportedTxnexactly as stored. - Derive each
Signer.Accountfrom itsSigningPubKey. - Add the key and
TxnSignatureto thatSignerentry. - Sort the
Signersarray by AccountID. - Leave the top-level
SigningPubKeyempty.
Latch Effect
Section titled “Latch Effect”If the matching latch exists and XPOP has not arrived, the witness hash is stored as ExportSignatureHash and the latch leaves the pending directory. If XPOP arrived first, witness application erases the latch and releases its reserve. A concurrently ordered explicit erase can leave the historical witness with no remaining latch state.
Common Fields
Section titled “Common Fields”As a pseudo-transaction, ExportSignatures uses the standard pseudo-transaction values:
| Field | Value |
|---|---|
Account | rrrrrrrrrrrrrrrrrrrrrhoLvTp (ACCOUNT_ZERO) |
Fee | 0 |
Sequence | 0 |
SigningPubKey | "" |
TxnSignature | Absent or empty. |