Skip to content
Open
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
7420f47
SmartEscrow fee voting changes
mvadari Sep 22, 2025
5a6c4e8
Merge branch 'ripple/wamr-host-functions' into ripple/se/fees
mvadari Sep 22, 2025
737fab5
fix issues
mvadari Sep 23, 2025
c3fd52c
Merge branch 'ripple/wamr-host-functions' into ripple/se/fees
mvadari Sep 26, 2025
c8b06e7
Merge branch 'ripple/wamr-host-functions' into ripple/se/fees
mvadari Sep 26, 2025
e59f5f3
fix tests
mvadari Sep 26, 2025
ca85d09
Merge branch 'ripple/wamr-host-functions' into ripple/se/fees
mvadari Sep 30, 2025
51ee064
Merge branch 'ripple/wamr-host-functions' into ripple/se/fees
mvadari Oct 2, 2025
86525d8
test: add tests for fee voting (#5747)
mvadari Oct 6, 2025
f57b855
Merge branch 'ripple/wamr-host-functions' into ripple/se/fees
mvadari Oct 6, 2025
51f1be7
Merge branch 'ripple/wamr-host-functions' into ripple/se/fees
mvadari Oct 9, 2025
fe60130
Merge branch 'ripple/wamr-host-functions' into ripple/se/fees
mvadari Oct 13, 2025
43caa1e
Merge branch 'ripple/wamr-host-functions' into ripple/se/fees
mvadari Oct 20, 2025
ce19c13
Merge branch 'ripple/wamr-host-functions' into ripple/se/fees
mvadari Oct 23, 2025
af6beb1
fix ledger used for rules
mvadari Oct 23, 2025
209ee25
Merge branch 'ripple/wamr-host-functions' into ripple/se/fees
mvadari Oct 24, 2025
67e2c1b
Merge branch 'wamr-host-functions' into ripple/se/fees
mvadari Oct 24, 2025
aebec53
Merge branch 'wamr-host-functions' into ripple/se/fees
mvadari Oct 24, 2025
eed280d
Merge branch 'wamr-host-functions' into ripple/se/fees
mvadari Nov 4, 2025
3195eb1
Merge branch 'wamr-host-functions' into ripple/se/fees
mvadari Nov 4, 2025
5784138
Merge branch 'ripple/wamr-host-functions' into ripple/se/fees
mvadari Nov 4, 2025
95d78a8
Merge branch 'wasmi-host-functions' into ripple/se/fees
mvadari Nov 24, 2025
e40a4df
Merge branch 'ripple/wasmi-host-functions' into ripple/se/fees
mvadari Nov 24, 2025
27ac302
Merge branch 'ripple/wasmi-host-functions' into ripple/se/fees
mvadari Dec 2, 2025
827ecc6
Merge branch 'ripple/wasmi-host-functions' into ripple/se/fees
mvadari Dec 15, 2025
9d1f51b
Merge branch 'ripple/wasmi-host-functions' into ripple/se/fees
mvadari Dec 23, 2025
36ecd3b
Merge remote-tracking branch 'upstream/ripple/wasmi-host-functions' i…
mvadari Jan 5, 2026
8bb8c2e
Merge remote-tracking branch 'upstream/ripple/wasmi-host-functions' i…
mvadari Jan 6, 2026
397bc87
fix more merge issues
mvadari Jan 6, 2026
1033798
Merge branch 'wasmi-host-functions' into ripple/se/fees
mvadari Jan 8, 2026
f0d0739
Merge branch 'ripple/wasmi-host-functions' into ripple/se/fees
mvadari Jan 12, 2026
e151357
Merge branch 'ripple/wasmi-host-functions' into ripple/se/fees
mvadari Jan 13, 2026
384b360
Merge branch 'ripple/wasmi-host-functions' into ripple/se/fees
mvadari Jan 15, 2026
43c80ed
Merge branch 'wasmi-host-functions' into ripple/se/fees
mvadari Jan 21, 2026
981ac7a
simplify fee code (#6249)
mvadari Jan 23, 2026
4621e4e
Merge branch 'ripple/wasmi-host-functions' into ripple/se/fees
mvadari Jan 26, 2026
c077e7f
Merge commit '4eb34f3' into ripple/se/fees
mvadari Jan 28, 2026
6ae0e86
Merge remote-tracking branch 'upstream/ripple/wasmi-host-functions' i…
mvadari Jan 28, 2026
69c61b2
fix merge issues
mvadari Jan 28, 2026
f625fb9
Merge branch 'wasmi-host-functions' into ripple/se/fees
mvadari Feb 3, 2026
13707dd
Merge remote-tracking branch 'upstream/ripple/wasmi-host-functions' i…
mvadari Feb 4, 2026
cd46b5d
Merge branch 'wasmi-host-functions' into ripple/se/fees
mvadari Feb 4, 2026
eb2d44d
Merge branch 'wasmi-host-functions' into ripple/se/fees
mvadari Feb 10, 2026
4fe508c
fix comments
mvadari Feb 12, 2026
5148098
Merge branch 'wasmi-host-functions' into ripple/se/fees
mvadari Feb 18, 2026
00eeab6
Merge branch 'wasmi-host-functions' into ripple/se/fees
mvadari Feb 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions cfg/rippled-example.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -1290,6 +1290,39 @@
# Example:
# owner_reserve = 2000000 # 2 XRP
#
# extension_compute_limit = <gas>
#
# The extension compute limit is the maximum amount of gas that can be
# consumed by a single transaction. The gas limit is used to prevent
# transactions from consuming too many resources.
#
# If this parameter is unspecified, rippled will use an internal
# default. Don't change this without understanding the consequences.
#
# Example:
# extension_compute_limit = 1000000 # 1 million gas
#
# extension_size_limit = <bytes>
#
# The extension size limit is the maximum size of a WASM extension in
# bytes. The size limit is used to prevent extensions from consuming
# too many resources.
#
# If this parameter is unspecified, rippled will use an internal
# default. Don't change this without understanding the consequences.
#
# Example:
# extension_size_limit = 100000 # 100 kb
#
# gas_price = <bytes>
#
# The gas price is the conversion between WASM gas and its price in drops.
#
# If this parameter is unspecified, rippled will use an internal
# default. Don't change this without understanding the consequences.
#
# Example:
# gas_price = 1000000 # 1 drop per gas
#-------------------------------------------------------------------------------
#
# 9. Misc Settings
Expand Down
6 changes: 6 additions & 0 deletions include/xrpl/protocol/Fees.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@

namespace ripple {

constexpr std::uint32_t MICRO_DROPS_PER_DROP{1'000'000};

/** Reflects the fee settings for a particular ledger.

The fees are always the same for any transactions applied
Expand All @@ -34,6 +36,10 @@ struct Fees
XRPAmount base{0}; // Reference tx cost (drops)
XRPAmount reserve{0}; // Reserve base (drops)
XRPAmount increment{0}; // Reserve increment (drops)
std::uint32_t extensionComputeLimit{
0}; // Extension compute limit (instructions)
std::uint32_t extensionSizeLimit{0}; // Extension size limit (bytes)
std::uint32_t gasPrice{0}; // price of WASM gas (micro-drops)

explicit Fees() = default;
Fees(Fees const&) = default;
Expand Down
2 changes: 1 addition & 1 deletion include/xrpl/protocol/detail/features.macro
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
// If you add an amendment here, then do not forget to increment `numFeatures`
// in include/xrpl/protocol/Feature.h.

XRPL_FEATURE(SmartEscrow, Supported::no, VoteBehavior::DefaultNo)
XRPL_FIX (IncludeKeyletFields, Supported::yes, VoteBehavior::DefaultNo)
XRPL_FEATURE(DynamicMPT, Supported::no, VoteBehavior::DefaultNo)
XRPL_FIX (TokenEscrowV1, Supported::yes, VoteBehavior::DefaultNo)
Expand All @@ -47,7 +48,6 @@ XRPL_FEATURE(Batch, Supported::yes, VoteBehavior::DefaultNo
XRPL_FEATURE(SingleAssetVault, Supported::no, VoteBehavior::DefaultNo)
XRPL_FEATURE(PermissionDelegation, Supported::no, VoteBehavior::DefaultNo)
XRPL_FIX (PayChanCancelAfter, Supported::yes, VoteBehavior::DefaultNo)
// Check flags in Credential transactions
XRPL_FIX (InvalidTxFlags, Supported::yes, VoteBehavior::DefaultNo)
XRPL_FIX (FrozenLPTokenTransfer, Supported::yes, VoteBehavior::DefaultNo)
XRPL_FEATURE(DeepFreeze, Supported::yes, VoteBehavior::DefaultNo)
Expand Down
5 changes: 5 additions & 0 deletions include/xrpl/protocol/detail/ledger_entries.macro
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,11 @@ LEDGER_ENTRY(ltFEE_SETTINGS, 0x0073, FeeSettings, fee, ({
{sfBaseFeeDrops, soeOPTIONAL},
{sfReserveBaseDrops, soeOPTIONAL},
{sfReserveIncrementDrops, soeOPTIONAL},
// Smart Escrow fields
{sfExtensionComputeLimit, soeOPTIONAL},
{sfExtensionSizeLimit, soeOPTIONAL},
{sfGasPrice, soeOPTIONAL},

{sfPreviousTxnID, soeOPTIONAL},
{sfPreviousTxnLgrSeq, soeOPTIONAL},
}))
Expand Down
3 changes: 3 additions & 0 deletions include/xrpl/protocol/detail/sfields.macro
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,9 @@ TYPED_SFIELD(sfFirstNFTokenSequence, UINT32, 50)
TYPED_SFIELD(sfOracleDocumentID, UINT32, 51)
TYPED_SFIELD(sfPermissionValue, UINT32, 52)
TYPED_SFIELD(sfMutableFlags, UINT32, 53)
TYPED_SFIELD(sfExtensionComputeLimit, UINT32, 54)
TYPED_SFIELD(sfExtensionSizeLimit, UINT32, 55)
TYPED_SFIELD(sfGasPrice, UINT32, 56)

// 64-bit integers (common)
TYPED_SFIELD(sfIndexNext, UINT64, 1)
Expand Down
4 changes: 4 additions & 0 deletions include/xrpl/protocol/detail/transactions.macro
Original file line number Diff line number Diff line change
Expand Up @@ -978,6 +978,10 @@ TRANSACTION(ttFEE, 101, SetFee,
{sfBaseFeeDrops, soeOPTIONAL},
{sfReserveBaseDrops, soeOPTIONAL},
{sfReserveIncrementDrops, soeOPTIONAL},
// Smart Escrow fields
{sfExtensionComputeLimit, soeOPTIONAL},
{sfExtensionSizeLimit, soeOPTIONAL},
{sfGasPrice, soeOPTIONAL},
}))

/** This system-generated transaction type is used to update the network's negative UNL
Expand Down
9 changes: 6 additions & 3 deletions include/xrpl/protocol/jss.h
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,9 @@ JSS(expected_date_UTC); // out: any (warnings)
JSS(expected_ledger_size); // out: TxQ
JSS(expiration); // out: AccountOffers, AccountChannels,
// ValidatorList, amm_info
JSS(extension_compute); // out: NetworkOps
JSS(extension_size); // out: NetworkOps
JSS(gas_price); // out: NetworkOps
JSS(fail_hard); // in: Sign, Submit
JSS(failed); // out: InboundLedger
JSS(feature); // in: Feature
Expand Down Expand Up @@ -722,11 +725,11 @@ JSS(write_load); // out: GetCounts
#pragma push_macro("LEDGER_ENTRY_DUPLICATE")
#undef LEDGER_ENTRY_DUPLICATE

#define LEDGER_ENTRY(tag, value, name, rpcName, ...) \
JSS(name); \
#define LEDGER_ENTRY(tag, value, name, rpcName, fields) \
JSS(name); \
JSS(rpcName);

#define LEDGER_ENTRY_DUPLICATE(tag, value, name, rpcName, ...) JSS(rpcName);
#define LEDGER_ENTRY_DUPLICATE(tag, value, name, rpcName, fields) JSS(rpcName);

#include <xrpl/protocol/detail/ledger_entries.macro>

Expand Down
4 changes: 4 additions & 0 deletions src/libxrpl/protocol/STValidation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,10 @@ STValidation::validationFormat()
{sfBaseFeeDrops, soeOPTIONAL},
{sfReserveBaseDrops, soeOPTIONAL},
{sfReserveIncrementDrops, soeOPTIONAL},
// featureSmartEscrow
{sfExtensionComputeLimit, soeOPTIONAL},
{sfExtensionSizeLimit, soeOPTIONAL},
{sfGasPrice, soeOPTIONAL},
};
// clang-format on

Expand Down
Loading
Loading