Repository navigation
Feat/v0.5.0plus - #217
Open
spacesops wants to merge 32 commits into
Open
Feat/v0.5.0plus#217spacesops wants to merge 32 commits into
spacesops wants to merge 32 commits into
Conversation
Implements the TX_CALLBACK_API: clients can register HTTP endpoints and watch-lists of txids; when a watched tx appears in a block the daemon POSTs a JSON notification asynchronously without blocking block processing. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Exposes Bitcoin Core estimatesmartfee via RPC and CLI, converting BTC/kB to sat/vB for convenient fee estimation. Made-with: Cursor
Brings in 16 upstream commits (v0.0.9 bump, bug fixes, lint fixes): - Graceful handling of revoked-space data inconsistency in protocol/src/script.rs, client/src/store/spaces.rs, and client/src/client.rs (replaces .expect() panics) - Wallet recovery now scans from genesis block height instead of current chain tip - Rust lifetime lint fixes across wallet and protocol crates - macOS GitHub Actions fix - [workspace.package] version = "0.0.9" added to Cargo.toml Conflict resolutions: - veritas/: kept deletion (crate was removed in borsh refactor) - Cargo.toml: adopted [workspace.package] block, kept branch members/deps - Cargo.lock: kept branch version, dropped obsolete spaces_veritas entry - client/src/bin/space-cli.rs: trivial whitespace conflict, kept HEAD - client/src/client.rs: kept branch named-method API for Expired revoke - client/src/store/spaces.rs: dropped upstream old open_db function - protocol/src/script.rs: applied graceful fix to load_open_context, discarded upstreams eval/op_open restructure (branch uses different layout) Made-with: Cursor
Made-with: Cursor # Conflicts: # client/src/wallets.rs
- Add Subject::Handle(SName) with FromStr: multi-label names (e.g. sub@space) parse as handles; single-label SNames map to Label for backward compatibility. - Reject handles in wallet/RPC paths that require a concrete space or num (setfallback, transfer, operate, delegate, etc.). - Implement get_fallback for handles: scan merged spaces/nums block index for SIP-7 payloads with TXT key "handle" matching the canonical handle string; return the latest match by height and tx position when available. - Add SqliteIndex list_*_blocks_merged, Chain helpers, and ChainStateCommand::FindFallbackByHandle. - Update rpc schema docs for getfallback; add unit tests for parsing and scan. Made-with: Cursor
Support * (multi-char) and ? (single-char) wildcards in getfallback subjects. Space-name patterns (@*, @m?d) match SIP-7 TXT records with key "space"; handle patterns (*@mad, *@*) match TXT records with key "handle". Returns a JSON object keyed by matched name. - Add Subject::HandlePattern variant for wildcard-containing inputs - Unified merge_scan_txt_wildcard scans indexed blocks by TXT key - Change get_fallback RPC return type to serde_json::Value - Add ChainStateCommand::SearchFallbackByPattern - Reject HandlePattern in wallet/transfer/operate/setfallback paths - 17 unit tests for glob matching, scan, and key isolation Made-with: Cursor
Made-with: Cursor
Bring in upstream release/CI and crate updates while preserving subspacesplus RPC and callback functionality, and resolve merge conflicts to keep local feature behavior intact. Co-authored-by: Cursor <cursoragent@cursor.com>
Share setfallback payload flags across commands, extend CreateNum RPC/CLI with optional data, and emit OP_RETURN payloads when binding new nums so fallback records can be set atomically at creation time. Co-authored-by: Cursor <cursoragent@cursor.com>
Integrate upstream num rebind/unbind support, checkpoint v2 DB changes, and v0.2.1 release while preserving local features: createnum fallback data, listnums, tx callbacks, getfallback, and signevent. Co-authored-by: Cursor <cursoragent@cursor.com>
Brings in upstream's num buy/sell support and externally-signed transfer PSBT funding, keeping the local createnum fallback-data, ListNums, and handle/wildcard Subject work. Conflict resolutions: - wallet/src/lib.rs: took upstream's reworked Listing/verify_listing/buy and sell (local side had only formatting changes there); kept both the local subject_tests and upstream's transfer_tests modules. - wallet/src/lib.rs: resolve_listing_subject now rejects Subject::Handle and Subject::HandlePattern, which upstream's match did not know about. - client/src/rpc_schema.rs: union of both sides, re-adding the local listnumsbyspk and walletcreatenum methods (50 total). - client/src/wallets.rs: import merge to pick up Psbt. Also restores the RpcClient import in ptr_tests.rs and completes CreateNumParams initializers, which were already broken before the merge. Co-authored-by: Cursor <cursoragent@cursor.com>
…ing. Wallet send now supports dry_run so createnum and setfallback can show the SIP-7 payload and the raw transaction that would have been broadcast. Co-authored-by: Cursor <cursoragent@cursor.com>
getnum now returns a records array when on-chain num data is valid SIP-7, so callers do not have to unpack the raw payload themselves. Co-authored-by: Cursor <cursoragent@cursor.com>
… address. Dump live nums chain-wide, optionally keep SIP-7 TXT matches (type=* or type=nsite-gateway). createnum prints num1…, the 5120 script pubkey, and taproot address, including --dry-run. Co-authored-by: Cursor <cursoragent@cursor.com>
Stop prepending @ so num1… and #numeric subjects parse correctly and the tweaked private key can be exported for wallet-owned nums. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep feat extras (getallnums/getallspaces, createnum dry-run, getprivtweak, callbacks, estimatefee, signing) together with main trust ids, genesis wallet recovery, and root-anchors cache rebuild. Regenerated Cargo.lock. Co-authored-by: Cursor <cursoragent@cursor.com>
Brings in the committed_fallback option for buildchainproof so cert relays can resolve a record right after a commitment moves its outpoint, instead of erroring until the next commit interval. Conflicts were confined to imports and the num-resolution loop in build_chain_proof. Our copy of that loop differed from the merge base only in line wrapping, so the upstream collect_proof_keys refactor was taken as-is. Kept feat extras alongside the new upstream helpers: get_all_nums and list_live_nums_with_script_pubkey sit next to live_snapshots_mut and committed_snapshots. Co-authored-by: Cursor <cursoragent@cursor.com>
Export both the Nostr nsec and the 32-byte private key so the same signing key can be used for a space or a num. Co-authored-by: Cursor <cursoragent@cursor.com>
Member
|
For the sign message, dont we already have "walletsignschnorr" and "verifyschnorr" RPCs ? it doesn't exist in space-cli yet only rpc side. Would that solve your problem? If so, perhaps a small PR to space-cli to add that would be sufficient? small diffs are quicker to review. Any other features that spaces doesn't have but exist in your version you would like to discuss? |
This file contains hidden or 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
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.
Buffrr, I've been holding back these changes until things got released and stabilized.
Unfortunately it probably looks like a mess from your standpoint. Most are just enhancements and convenient changes to space-cli and underlying things as needed.
However, you pulled out message signing and I'm relying on that to validate a top-level name holder to my platform. This wasn't a big deal if the user was using the StartOS install since I use my variant in the package. But today I was adding operation and delegation features to Akron and had to use my versions of things to maintain the signing feature.
I could publish my own versions of the crates but stopped short figuring it would create more mess that necessary.
I also can't build my version of Akron for windows from my Mac without going through a lot of hoops.
Best to take a look and let's discuss if you have any objections to my mods. -Andrew