Conflict resolution:
- features.macro: kept fixCleanup3_4_0 from develop and kept SmartEscrow at
Supported::Yes, which is the only thing this branch changes.
Conflict resolution:
- sfields.macro: both sides claimed INT32 code 2. sfRemainingOwnerCountDelta
is already in develop, so it keeps code 2 and sfVMReturnCode moves to 3.
This changes the Smart Escrow serialization, which is safe while the
amendment is unactivated, but is a deliberate renumber rather than a
mechanical merge.
- EscrowFinish.cpp: took the SeqProxy form of the keylet::escrow call and
kept this branch's comment.
Follow-on fixes the merge required:
- Adapted two keylet::escrow calls in EscrowSmart_test.cpp to SeqProxy; they
are only on this branch, so the earlier pass over the wasm code did not
cover them.
- Updated two gas expectations that the trace host function refactor and the
regenerated fixtures invalidated: the codecov allowance in Wasm_test.cpp is
now 264'467 and sfGasUsed in EscrowSmart_test.cpp is now 48'433. Both are
measured, not estimated.
- Disabled testKeyletHostFunctions. kAllKeyletsWasmHex was built against the
old trace ABI and is rejected with temINVALID_BYTECODE. Regenerating it
needs the all_keylets source ported to the current stdlib first, along with
float_tests and float_0, which are stale for the same reason. See the TODO
on the test.
Conflict resolution:
- features.macro: both sides added an amendment at the top of the list.
Kept both, with fixCleanup3_4_0 above SmartEscrow.
- NetworkOPs.cpp: develop moved the ledgerClosed stream publisher out of
pubLedger and into the new publishLedgerStreams helper, while this branch
had added the Smart Escrow fee fields to the old inline version. Took the
helper and moved the gas_limit / bytecode_size_limit / gas_price block into
it, keeping the featureSmartEscrow guard.
Conflict resolution:
- fixtures.cpp: took the regenerated blobs from ripple/wasmi-host-functions
for the fixtures both branches carry (kAllHostFunctionsWasmHex,
kAllKeyletsWasmHex, kCodecovTestsWasmHex); kept this branch's other 57
fixtures unchanged.
- Wasm_test.cpp: took the gas expectations from ripple/wasmi-host-functions,
which reflect the trace host function refactor, and kept the test blocks
that only exist on this branch.
testFloat is commented out. kFloatTestsWasmHex and kFloat0Hex were built
against the old trace ABI, where the trace_* host functions returned i32
rather than void, so neither module instantiates any more. Regenerating them
needs the float_tests/ and float_0/ sources ported to the current stdlib
first; see the TODO in Wasm_test.cpp.
develop changed every sequence-based `keylet::` factory to take
`SeqProxy const&` instead of `std::uint32_t`, and removed the
two-argument `mptokenIssuance(seq, issuer)` overload. The wasm host
functions and their tests still passed raw sequences, so the branch
merged cleanly but did not compile.
Wrap the raw sequences at the call sites, matching the idiom develop
adopted in its own tests:
- `SeqProxy::rawSequence` for check, escrow, nftokenOffer, offer,
payChannel, permissionedDomain and vault
- `SeqProxy::rawTicket` for ticket
- `keylet::mptokenIssuance(makeMptID(seq, issuer))` for the removed
overload
No computed keylet changes: the factories only read `seq.value()`, and
the removed overload was itself defined as `mptokenIssuance(makeMptID(
seq, issuer))`.
* upstream/release/3.3.x: (41 commits)
chore: Bump version to 3.3.0
chore: Bump version to 3.3.0-rc7
fix: Increase manifest protocol message size cap and fix manifests relay
fix: Cap untrusted manifests per message and drop oversized ones
chore: Bump version to 3.2.1
chore: Bump version to 3.2.1-rc1
fix: Cap untrusted manifests per message and drop oversized ones
fix: Reject oversized validator manifest before decoding
fix: Reduce untrusted manifest cache cap to 100
fix: Bound untrusted manifest cache
chore: Bump version to 3.3.0-rc6
feat: Package validator-keys inside rippled
chore: Bump version to 3.3.0-rc5
fix: Switch SponsorshipSet to use a delta for sfFeeAmount
fix: Re-revert "fix: Set request size limits and differential pricing for get-object-by-hash calls"
chore: Bump version to 3.3.0-rc4
fix: Revert "fix: Set request size limits and differential pricing for get-object-by-hash calls"
chore: Bump version to 3.3.0-rc3
fix: Reduce untrusted manifest cache cap to 100
fix: Revert "fix: Reject oversized SHAMap nodes in gotStaleData and fetch-pack path"
...
* release/3.2.x:
chore: Bump version to 3.2.1
chore: Bump version to 3.2.1-rc1
fix: Cap untrusted manifests per message and drop oversized ones
fix: Reject oversized validator manifest before decoding
fix: Reduce untrusted manifest cache cap to 100
fix: Bound untrusted manifest cache
Bound the number of manifests carried in a single TMManifests message
(kMaxManifestsPerMessage). Trusted manifests are always included and
processed; untrusted gossip is capped per message on both send and
receive, and the sender is charged only when untrusted entries are
actually skipped. Oversized TMManifests messages are dropped without
penalty at the protocol layer so an unpatched peer is not disconnected.
Complements the cache bound from #276/#323.