-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RK] Batch upstream merge #19
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* fixes compiling on debian microsoft/mimalloc#883
…plate * fix transaction hash merkle root calculation in modify block template to consider storage mass activation * avoid similar future errors: expose only a single calc_hash_merkle_root function with `include_mass_field` arg and update all test usages explicitly * move subnet checks to inner location * reorganize cache mem estimators
* In `ParentsBuilder` optimize the execution path of the common case for high levels * Prune relations for all levels below the affiliated proof level for block * Keep relations for multi-level parents of pruning point and its anticone
* refactored Borsh serialization (wRPC v2) * refactored watch-only * fix Rust v1.81 lints * using latest resolver APIs (guards) * updated TypeScript bindings (typescript-v2) * fixes related to "insufficient-funds" * `Hex View for ScriptBuilder`: * formatted hex view for scripts * `Kip9 Updates`: * improvements to mass calculator (Kip9::Beta variant) ** New RPC Methods * `get_sync_status()`: * node sync status polling * `get_connection_count()`: * total TCP sockets in use * `get_system_info()`: * unique ID, git commit hash, total RAM, CPU cores, internal FD limit * `get_metrics()`: * provisional dictionary*based map for custom metrics ### Important Notes * `get_server_info()`: * broken due to data structure changes * `wRPC v2 Breaking Changes`: * new public node infrastructure deployment * custom serializers for elastic data structure serialization
- getCurrentBlockColor algorithm and RPC functions - move `get_current_block_color` to consensus and apply standard sorting - check for block existence on `get_current_block_color` - add extra DAG order checks to ensure about children - Includes: 1. Stylistic changes using ? 2. `is_dag_ancestor_of(a, b)` is different than `!is_dag_ancestor_of(b, a)` - Bug fix: 1. Hash -> child 2. Make store calls only where they are actually used (within the if) - Style: 1. Use struct unfolding syntax 2. Use a name such as `decedent` which reflects the relation to `hash` - remove Borsh derivations - fix gRPC message codes - fix gRPC `getCurrentBlockColorResponse` - improve tests
* add case to test_evict * remove explicit check for too big transactions * raise DEFAULT_MEMPOOL_SIZE_LIMIT to 1GB * move to estimated size * remove estimated_size field
…urate * remove crate-level mutable access to inner mempool tx * fix bytes size tracking * update `update_revalidated_transaction` only if validation result is OK * remove transaction if validation fails
…f the outlier transaction * deals with outliers (high feerate transactions) * captures block space * estimates feerate for remaining block space * inaccurate average tx mass for outliers * fix: Capture block space by specific mass of outlier transaction * includes test to verify changes
* rename verbose data mass to `compute_mass` * fix TS interface verbose transaction data property name * relocate consensus core processes `MassCalculator` to consensus core * WASM fix ECDSA pubkey generation * error variant related to ECDSA from `PublicKey` creation * refactor client mass APIs * propagate `minimum_signatures` via pending tx * rename mass calc functions to `unsigned` for clarity * introduce change index to PTX * fix missing transfer of client Transaction mass to `RpcTransaction` * introduce `IRawBlock` and `IRawHeader` TS types used in `GetBlockTemplateResponse` and `SubmitBlockRequest` * fix docs * refactor mass calculator and extract global storage mass function that operates on iterators + use from wallet mass calculator
Great, will create the additional PR for the rest of upstream fixes |
This was referenced Oct 24, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request merges updates from the Rusty-Kaspa repository into Rusty-Spectre. It includes several improvements to the mempool, updates for TN-11, as well as enhancements to PSKT/PSST and WRPCv2, as we discussed.
Important Notes and To-Dos:
openssl
. This will be resolved in a later pull request, which will replaceopenssl
withrusttls
consensus/core/src/tx/script_public_key.rs
crypto/addresses/src/lib.rs
While this can be bypassed this with
#[allow(dead_code)]
, we should investigate why this code is unused and if it's needed.I have already addressed the Rust 1.81 lints in 052e65c
get_server_info()
:wRPC v2 Breaking Changes
:enter our own scripted transactions details in (we can already take some details from
wallet\psst\examples\multisig.rs
and https://explorer.spectre-network.org/txs/76ab09236a7aa13fe8f5389c74545c0110d4bba1ca778e49367d4d8de827834b):consensus/src/processes/transaction_validator/transaction_validator_populated.rs
crypto/txscript/src/standard/multisig.rs
wallet/psst/src/bundle.rs
fixed readme layout
kaspanet/rusty-kaspa#499
kaspanet/rusty-kaspa#479
kaspanet/rusty-kaspa#512
kaspanet/rusty-kaspa#518
kaspanet/rusty-kaspa#513
kaspanet/rusty-kaspa#519
kaspanet/rusty-kaspa#523
kaspanet/rusty-kaspa#526
kaspanet/rusty-kaspa#476
include_mass_field
arg and update all test usages explicitlykaspanet/rusty-kaspa#527
ParentsBuilder
optimize the execution path of the common case for high levelskaspanet/rusty-kaspa#530
kaspanet/rusty-kaspa#506
wRPC v2, integrations, typescript-v2, resolver v2 052e65c
Hex View for ScriptBuilder
:Kip9 Updates
:New RPC Methods
get_sync_status()
:get_connection_count()
:get_system_info()
:get_metrics()
:kaspanet/rusty-kaspa#528
get_current_block_color
to consensus and apply standard sortingget_current_block_color
is_dag_ancestor_of(a, b)
is different than!is_dag_ancestor_of(b, a)
decedent
which reflects the relation tohash
getCurrentBlockColorResponse
kaspanet/rusty-kaspa#524
kaspanet/rusty-kaspa#535
update_revalidated_transaction
only if validation result is OKkaspanet/rusty-kaspa#537
kaspanet/rusty-kaspa#538
compute_mass
MassCalculator
to consensus corePublicKey
creationminimum_signatures
via pending txunsigned
for clarityRpcTransaction
IRawBlock
andIRawHeader
TS types used inGetBlockTemplateResponse
andSubmitBlockRequest