Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
0a36b1c
fix: aggregate issuer debt for collateral checks
a-shannon Aug 8, 2026
13d3338
security: fail closed across tracker authority boundaries
a-shannon Aug 8, 2026
c8b89c6
fix(mcp): pass reserve submit policy explicitly
a-shannon Aug 8, 2026
52a6cc0
security: retire legacy redemption and bind exact fee boxes
a-shannon Aug 8, 2026
794cdbe
fix: persist bounded authoritative note state
a-shannon Aug 8, 2026
474bbb1
fix: close tracker state journal quarantine gaps
a-shannon Aug 9, 2026
bc7bf2c
fix: fence tracker state publication
a-shannon Aug 9, 2026
b5c7903
fix: persist tracker publication receipts across restart
a-shannon Aug 9, 2026
6db2ba1
fix: harden tracker publication recovery
a-shannon Aug 9, 2026
e1f1bc7
test: prove durable publication restart wiring
a-shannon Aug 9, 2026
fb31aba
feat: pin inert Basis v2 runtime identity
a-shannon Aug 8, 2026
70d1410
fix: reconcile tracker publications on confirmed chain
a-shannon Aug 9, 2026
97c2640
fix: harden Basis v2 runtime admission
a-shannon Aug 9, 2026
d063d31
fix: close Basis v2 runtime admission gaps
a-shannon Aug 9, 2026
4974740
fix: make nested environment config fail closed
a-shannon Aug 9, 2026
43c9c9c
feat: add fixed Basis v2 AVL trees
a-shannon Aug 9, 2026
3282ef0
fix: harden Basis v2 fixed AVL proofs
a-shannon Aug 9, 2026
fa4bce1
Add bounded Basis v2 state snapshots
a-shannon Aug 9, 2026
e10ef6e
fix: close Basis v2 state recovery gaps
a-shannon Aug 9, 2026
d0cf4ff
Quarantine legacy redemption builders
a-shannon Aug 9, 2026
f62e493
docs: scope legacy API quarantine
a-shannon Aug 9, 2026
bcd2e65
docs: complete legacy runtime quarantine guards
a-shannon Aug 9, 2026
81440a0
feat: expose exact Basis v2 proof verification
a-shannon Aug 9, 2026
a575343
feat: add dormant Basis v2 redemption manifests
a-shannon Aug 9, 2026
fcadef1
feat: gate Basis v2 client admission
a-shannon Aug 9, 2026
711091f
refactor: remove legacy redemption runtime
a-shannon Aug 9, 2026
12e0280
refactor: remove global v1 redemption surfaces
a-shannon Aug 9, 2026
6ddc85f
fix: bound event pagination and debt totals
a-shannon Aug 9, 2026
b016d24
fix: bound tracker request work
a-shannon Aug 9, 2026
c60a201
fix: bound node HTTP responses
a-shannon Aug 9, 2026
88268df
fix: bound updater node calls
a-shannon Aug 9, 2026
48c2329
docs: define service resource bounds
a-shannon Aug 9, 2026
868b4ee
fix: bound scanner node requests
a-shannon Aug 9, 2026
8d9944f
fix(scanner): reconcile only complete paginated snapshots
a-shannon Aug 8, 2026
8b66301
fix(scanner): fail closed on ambiguous page responses
a-shannon Aug 9, 2026
964cc11
fix: bound v2 manifest admission and outputs
a-shannon Aug 9, 2026
59c00b0
refactor: seal scanner HTTP executor
a-shannon Aug 9, 2026
6f147fe
security: close scanner and retired CLI disclosure gaps
a-shannon Aug 9, 2026
6c87ce1
fix: bind confirmed-chain recovery authority
a-shannon Aug 9, 2026
f3a15a7
merge: integrate confirmed-chain reconciliation
a-shannon Aug 9, 2026
a6dae0c
test: make resource guards portable
Aug 9, 2026
342355c
security: sign tracker updates locally
a-shannon Aug 9, 2026
9b7ebc7
merge: integrate bounded local tracker signing
Aug 9, 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
34 changes: 34 additions & 0 deletions Cargo.lock

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

22 changes: 20 additions & 2 deletions config/basis.toml.example
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,32 @@ data_dir = "data"
database_url = "sqlite:data/basis.db"

[ergo]
basis_reserve_contract_p2s = "3PQnJ92Krn6NeM1GdMSmNayw34Nuud7UKMoKSTRUTucsNybh99K1HEfjZqyvP7cPag1yBkDv3ruMAgb2NsVKq3tAygjHz7mKDzHK6CJGhD3WfNViD7DoViqbgsXrzvs6Kt8Wyzb48uGqJAFQFWes6ZPKELqUZowy8xtVCS5w1VwnyaeRiWpEyUVGaEHw3qWo5DcVxzmMAP8XXhVTw1rYYrUxsyGPNaBxQkkkTVD9L3bmw77EfeAJgJ1hLxghykNofHscHtMtES4v5FSfqke3Huun81S7gNoraEnsR6Dy6YnQgrBswwCZhyGc89YeNFQn1TCFh5Hct3nKGrd1bV5zoCw67Q9fKtoaCtvcPQ2GDWycGKNRNgyAnPEa8WbHbTEVcjAN25aBwhnY5LFGqYxnUAjhpfkTPJ4FJWRijSqMESzpyrmhTLZdivmn4YSwcchVZr7bHGbfncEDwqPKefdoxNnVPxuVdmeqQXL3aDL7TaqWgExzz1UPXHw3UiKYTUkNgQKCN4WV3LHqc9PecoisL77ydVbSCxPapaX2zTf26F8bGK3hsTVBZnMkt93SJP5GmPgZU5FT9NkFh4okjXK9ce2wmA4MV93ySyYnUKGwTRFJWwE7G1MYqBqTY3ESkn8PJHqVuL4cgtuV2GEPagKt19befRAuUV3FaLGVPJMzpKdANd7hKGZRcy3DnPfT1Q9dyFD4VpdBgFRXJWaaDqYjL7ni4nJcKKam9P395wRRnjGWhTV4hv3KoxC8Xk2CZAUjhkTzvuNHxQrLsWjyrKWJqZgs2uZxoAEHEobDegYWiTcnFCPU9EeJxZLSjysDFninqpQvA66Yt1SvJnSZm49RKsaoR98UJVScdiQfNZE76zTYBioXGatdRz7QVkXDzDPjPMu9Hhepc2XbHqo3ia8tszHptbnSzm2R3PC7iu2Tnhu3QT"
# The historical reserve identity is the temporary compatibility default. The
# `/reserves/create`, `/config/reserve-contract-p2s`, and
# `/redemption/build` are disabled; this is not a claim about legacy library
# prototypes and not a legacy-safety endorsement.
# The pinned Basis v2 candidate identity is embedded, but runtime activation
# fails closed until the v2 scanner and BNS2/BRS2 stores are installed.
# Tracker NFT ID (hex-encoded) - required for reserve creation and redemption
# This NFT identifies the tracker server and must be set in reserve contract R6 register
tracker_nft_id = "your_tracker_nft_token_id_here"
# Set true only once when intentionally creating a new, empty tracker generation.
# Keep false for every restart and for every existing on-chain tracker NFT.
allow_fresh_tracker_generation = false
# Confirmation policy, expressed as successor depth (the inclusion tip is 0).
confirmed_chain_min_successor_depth = 6
confirmed_chain_max_evidence_age_ms = 60000
# Required explicit application horizon. Maintainers must ratify and uncomment
# a value; the publisher stays disabled while it is absent, below the
# acceptance depth, or above the implementation bound of 4095.
# confirmed_chain_reorg_monitor_depth = 720
# Set true only together with a genuinely new, history-free BNS1 generation.
# Keep false for every restart; a missing/misdirected journal then fails closed.
allow_fresh_reconciliation_journal = false
# Tracker public key - can be hex-encoded public key or P2PK address
tracker_public_key = "your_tracker_public_key_or_p2pk_address_here"
# Tracker secret key for local signing (hex-encoded, 32 bytes)
# If provided, the server will sign redemption transactions locally instead of using the Ergo node API
# The tracker-box publisher signs in process and never sends this key to the node.
# WARNING: never commit this value to version control
tracker_secret_key = "your_tracker_secret_key_here"

Expand Down
3 changes: 0 additions & 3 deletions crates/basis_app/src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,10 @@ pub enum Screen {
Accounts,
Notes,
Reserves,
Transactions,
AddressBook,
Settings,
CreateNote,
RedeemNote,
CreateReserve,
GenerateTransaction,
AcceptancePolicy,
}

Expand Down
Loading