Skip to content
Merged
Show file tree
Hide file tree
Changes from 45 commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
c580604
Add debugger infrastructure + CLI debugger
Manyfestation Feb 14, 2026
fe32bac
fmt
Manyfestation Feb 14, 2026
11af7b2
Fix clippy warning and apply debugger lint fixes
Manyfestation Feb 14, 2026
3dc23d9
Restore state transition support on debugger branch
Manyfestation Feb 23, 2026
64a0e08
Merge origin/master into debugger
Manyfestation Feb 23, 2026
bd9fcb5
Fix AST JSON fixtures for current type_name schema
Manyfestation Feb 23, 2026
0d7a3bb
Fix length stack cleanup and remove unused target deps
Manyfestation Feb 23, 2026
cac30ad
Restore typed return TypeRef model
Manyfestation Feb 23, 2026
7e87bc4
Minimize debugger branch against upstream master
Manyfestation Feb 23, 2026
926343a
Refactor sil-debug CLI to clap and use faster-hex
Manyfestation Feb 23, 2026
70115b2
Fix inline call param resolution and improve debug event tracking
Manyfestation Feb 23, 2026
a21a38a
Finalize debugger inline resolution and cleanup
Manyfestation Feb 23, 2026
fa6ee6c
Fix param shadowing over constructor constants
Manyfestation Feb 24, 2026
9f6f6b6
Refine debugger recorder flow and simplify compiler call sites
Manyfestation Feb 24, 2026
44cbf55
Fix debugger stack bindings and opcode cursor sync
Manyfestation Feb 24, 2026
3202bad
Clarify debugger sequence and stepping documentation
Manyfestation Feb 24, 2026
9fc3da3
Simplify inline resolution and debugger variable plumbing
Manyfestation Feb 24, 2026
c22963d
CompileCtx
Manyfestation Feb 24, 2026
f196653
Restore pre-refactor staged debugger snapshot
Manyfestation Feb 24, 2026
2cd252b
Minimize compiler footprint by dropping CompileCtx refactor
Manyfestation Feb 24, 2026
f01e171
Deduplicate expression recursion in resolve and inline arg expansion
Manyfestation Feb 24, 2026
3337f9c
Simplify inline call flow and remove synthetic arg helpers
Manyfestation Feb 24, 2026
0008fb5
Fix inline call bug
Manyfestation Feb 24, 2026
fbdfb92
Fix clippy redundant pattern matching in debug session test
Manyfestation Feb 24, 2026
e893861
Rename changes
Manyfestation Feb 25, 2026
d3d6469
feat(debugger): port debugger onto izio spanned-ast core
Manyfestation Feb 25, 2026
4ecc23c
fmt
Manyfestation Feb 25, 2026
49c7e35
debugger: fix tx-context local eval and loop index visibility
Manyfestation Feb 25, 2026
9031d3e
refactor: split debugger into separate crates
Manyfestation Feb 26, 2026
ed30289
Merge remote-tracking branch 'origin/master' into debugger-spanned-as…
Manyfestation Feb 26, 2026
6cd7ff0
Merge pull - spanned ast pr
Manyfestation Feb 26, 2026
9b738c6
enhance expression resolution
Manyfestation Feb 26, 2026
8dda8ea
Merge remote-tracking branch 'origin/master' into debugger
Manyfestation Feb 26, 2026
04130bf
Final touches , readme, tests
Manyfestation Feb 26, 2026
4d1d598
fmt
Manyfestation Feb 26, 2026
be428fc
Merge origin/master into debugger
Manyfestation Feb 28, 2026
e2a13fd
Fix compiler compatibility after merging origin/master
Manyfestation Feb 28, 2026
bca54f3
fix: align with upstream PR #44 — restore serialize_i64 encoding
Manyfestation Feb 28, 2026
42bad3a
PR cleanup - remove redundent logic & structs
Manyfestation Mar 3, 2026
b5c461c
Simplify fn recorder
Manyfestation Mar 4, 2026
71a44aa
More docs, and better namings
Manyfestation Mar 4, 2026
8c8afdc
fix: function param shadowing and nested inline call arg resolution
Manyfestation Mar 5, 2026
9b22f76
Merge remote-tracking branch 'fork/compiler-bug-fixes' into debugger
Manyfestation Mar 5, 2026
95c9654
Refactor debug recorder to unify entrypoint and contract recorders
Manyfestation Mar 5, 2026
aeb3a70
Enhance session module with failure reporting and call stack management
Manyfestation Mar 5, 2026
ae125d6
sync: align debugger with merged #46 and resolve merge artifacts
Manyfestation Mar 5, 2026
c159037
Merge remote-tracking branch 'origin/master' into debugger
Manyfestation Mar 5, 2026
d626a11
rename caller_params to params
Manyfestation Mar 5, 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
97 changes: 85 additions & 12 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 6 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
[workspace]
members = ["silverscript-lang", "covenants/sdk"]
members = [
"silverscript-lang",
"debugger/session",
"debugger/cli",
"covenants/sdk",
]
exclude = ["tree-sitter"]
resolver = "2"

Expand Down
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,23 @@ This repository is a Rust workspace. The main crate is `silverscript-lang`.
cargo test -p silverscript-lang
```

## Debugger

The workspace includes a source-level debugger for stepping through scripts:

```bash
cargo run -p cli-debugger -- \
silverscript-lang/tests/examples/if_statement.sil \
--function hello \
--ctor-arg 3 --ctor-arg 10 \
--arg 1 --arg 2
```

## Layout

- `silverscript-lang/` – compiler, parser, and tests
- `debugger/session/` – `DebugSession` runtime (stepping, variable inspection)
- `debugger/cli/` – `sil-debug` CLI REPL
- `silverscript-lang/tests/examples/` – example contracts (`.sil` files)

## Documentation
Expand Down
20 changes: 20 additions & 0 deletions debugger/cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[package]
name = "cli-debugger"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
rust-version.workspace = true

[[bin]]
name = "cli-debugger"
path = "src/main.rs"

[dependencies]
debugger-session = { path = "../session" }
silverscript-lang = { path = "../../silverscript-lang" }
kaspa-consensus-core.workspace = true
kaspa-txscript.workspace = true
kaspa-txscript-errors.workspace = true
clap = { version = "4.5.60", features = ["derive"] }
Loading