Add RPC "simulate" to execute a dry run of a transaction (#5069)

- Spec: https://github.com/XRPLF/XRPL-Standards/tree/master/XLS-0069d-simulate
- Also update signing methods to autofill fees better and properly handle transactions that require a non-standard fee.
This commit is contained in:
Mayukha Vadari
2025-01-28 19:02:28 -05:00
committed by tequ
parent a0505ce47d
commit 2b59176cfd
42 changed files with 1847 additions and 227 deletions

View File

@@ -154,7 +154,10 @@ enum error_code_i {
// deposit_authorized + credentials
rpcBAD_CREDENTIALS = 96,
rpcLAST = rpcBAD_CREDENTIALS // rpcLAST should always equal the last code.
// Simulate
rpcTX_SIGNED = 97,
rpcLAST = rpcTX_SIGNED // rpcLAST should always equal the last code.
};
/** Codes returned in the `warnings` array of certain RPC commands.

View File

@@ -115,6 +115,8 @@ JSS(SettleDelay); // in: TransactionSign
JSS(SendMax); // in: TransactionSign
JSS(Sequence); // in/out: TransactionSign; field.
JSS(SetFlag); // field.
JSS(Signer); // field.
JSS(Signers); // field.
JSS(HookStateData); // field.
JSS(HookStateKey); // field.
JSS(SigningPubKey); // field.