Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
500 commits
Select commit Hold shift + click to select a range
16807b8
updated memories
Nov 1, 2025
c7459e6
(claude code) added opcodes for consensus based on fixtures
Nov 1, 2025
c848152
(claude code) added tests for consensus
Nov 1, 2025
7d73037
ignores
Nov 1, 2025
dadfda7
(claude code) implemented 0x1 opcodes for transactions and GCR (0x4) …
Nov 2, 2025
d6ac797
ignores
Nov 2, 2025
a0b664f
Wave 8.1: Implement TCP Physical Layer (Connection Infrastructure)
Nov 3, 2025
cbaf3c3
Wave 7.x: GCR handlers and session memory cleanup
Nov 3, 2025
b948c82
feat: Implement authentication and TCP server for OmniProtocol
claude Nov 11, 2025
c7a83cd
feat: Add key management integration and startup helpers for OmniProt…
claude Nov 11, 2025
e6007cd
docs: Add comprehensive implementation summary
claude Nov 11, 2025
060de51
feat: Integrate OmniProtocol server into node startup
claude Nov 11, 2025
1af3977
docs: Add OmniProtocol environment variables to .env.example
claude Nov 11, 2025
1a60923
feat: Add TLS/SSL encryption support to OmniProtocol
claude Nov 11, 2025
d6f4360
feat: Add comprehensive rate limiting to OmniProtocol
claude Nov 11, 2025
bf9b82d
fix: Complete rate limiting integration and update documentation
claude Nov 11, 2025
806f16d
docs: Update .serena/memories with OmniProtocol completion status
claude Nov 11, 2025
b2b5e8e
updated state in beads instead of sparse files
Dec 1, 2025
1f93356
ignored sparse files
Dec 1, 2025
c0c50e7
beads config
Dec 1, 2025
7d80594
ignored ceremony repo
Dec 1, 2025
9c81f0c
feat: Handle consensus_routine envelope in NODE_CALL handler
Dec 1, 2025
2fc9598
feat: Add client-side consensus serializers for OmniProtocol
Dec 1, 2025
8a4d798
feat: Add ConsensusOmniAdapter for dedicated consensus opcodes
Dec 1, 2025
ad92507
fix: Add 0x prefix to OmniProtocol peer identity format
Dec 1, 2025
c20faa2
fix: Authenticate on ANY message with valid auth block, not just hell…
Dec 1, 2025
1a9c15c
feat: Route mempool RPC method to ServerHandlers in NODE_CALL handler
Dec 1, 2025
8cc4067
memories
Dec 1, 2025
9932ddd
refactor: Centralize OmniProtocol adapter utilities into BaseAdapter …
Dec 1, 2025
eac190b
fix: Correct beads dependency direction for transaction testing issues
Dec 1, 2025
bd9a281
issues
Dec 2, 2025
68db60c
updated beads
Dec 2, 2025
eff7255
init beads
Dec 6, 2025
743dfcc
updated beads
Dec 16, 2025
e50402f
Merge remote-tracking branch 'refs/remotes/origin/custom_protocol' in…
Dec 16, 2025
364f173
defaulted mode to info (logs)
Dec 16, 2025
0bdd894
added blocking logs fix
Dec 16, 2025
f04c6ff
made CategorizedLogger console logs async
Dec 16, 2025
f201459
reduced logging into consensus
Dec 16, 2025
a7b6b46
made log rotation async
Dec 16, 2025
4f43869
perf: remove pretty-print JSON.stringify from hot paths
Dec 16, 2025
6fdcf79
perf: use persistent WriteStreams for log files
Dec 16, 2025
2a481e9
audit: document rogue console.log calls bypassing CategorizedLogger
Dec 16, 2025
a46c48c
chore: add ESLint no-console rule and create migration epic
Dec 16, 2025
09af1fe
fix: resolve ESLint naming convention errors in omniprotocol handlers
Dec 16, 2025
94aa102
added knip config
Dec 16, 2025
7989879
refactor: migrate console.log to CategorizedLogger in hot paths (Phas…
Dec 16, 2025
e3a835e
refactor: migrate console.log to CategorizedLogger in Consensus, Peer…
Dec 16, 2025
ba0cee0
chore: migrate console calls to CategorizedLogger in blockchain and o…
Dec 16, 2025
9b4fb75
started to replace console log with async loggers
Dec 16, 2025
804b365
updated memorioes
Dec 16, 2025
48c8d14
refactor: migrate console calls to CategorizedLogger in Crypto, Ident…
Dec 16, 2025
b2d96c2
refactor: complete console.log to CategorizedLogger migration (Phases…
Dec 16, 2025
94328ac
fix: update @scure/bip39 import path and dependencies
Dec 16, 2025
d4a3e64
chore: align tsconfig exclude with ESLint ignore patterns
Dec 16, 2025
c5ec9b4
fix: use proper SDK import for SerializedSignedObject
Dec 16, 2025
4a6fe66
fix(omniprotocol): enable TLSConnection to properly extend PeerConnec…
Dec 16, 2025
1d0de29
fix(logger): improve LegacyLoggerAdapter flexibility and add CMD cate…
Dec 16, 2025
6f91f1a
chore: update beads issues and gitignore
Dec 16, 2025
d259461
chore: remove dead code and unused modules
Dec 16, 2025
cfc9ecf
tracked future tasks
Dec 16, 2025
0b9924e
switched to sha3
Dec 16, 2025
b62ad66
corrected type errors
Dec 16, 2025
e332755
fix: resolve 6 TypeScript type errors
Dec 17, 2025
fc5abb9
fix: resolve 22 TypeScript type errors (38→16 remaining)
Dec 17, 2025
2013745
fix: resolve OmniProtocol type errors (16→5 remaining)
Dec 17, 2025
c684bb2
fix: remove dead crypto code and fix showPubkey type (4→2 errors)
Dec 17, 2025
07f2bd3
closed ts check epic
Dec 17, 2025
8783673
added memories
Dec 17, 2025
90649ec
added memories
Dec 17, 2025
0d9154a
Merge remote-tracking branch 'refs/remotes/origin/custom_protocol' in…
Dec 17, 2025
9511cf3
fix: address code review findings
Dec 17, 2025
ad34c10
fixed redundant boolean check
Dec 17, 2025
88ef32b
added qodo fetch exclusion
Dec 17, 2025
97611c8
Merge branch 'testnet' of https://github.com/kynesyslabs/node into fe…
HakobP-Solicy Dec 18, 2025
bdd00a1
cleanup
cwilvx Dec 19, 2025
7083bdf
fix debug logs
cwilvx Dec 19, 2025
92e8312
hello peer event driven
cwilvx Dec 19, 2025
23f67ef
Updated Point system for the Nomis identity
HakobP-Solicy Dec 20, 2025
933354e
added reset cript
Dec 20, 2025
ca934c4
updated beads version
Dec 20, 2025
d27780d
added epic to stack dtr on top of this
Dec 20, 2025
fa3d71f
chore: make .beads branch-specific like .serena
Dec 20, 2025
bedd85d
minor import fix
Dec 20, 2025
013f61a
refactor hello peer
cwilvx Dec 23, 2025
1373fb4
broadcast sync state change
cwilvx Dec 23, 2025
9960f48
bump shard size
cwilvx Dec 23, 2025
efdb692
Added GitHub OAuth identity verification flow
SergeyG-Solicy Dec 23, 2025
cfba58c
broadcast state after sync
cwilvx Dec 23, 2025
eee8bde
update shared state with db values
cwilvx Dec 24, 2025
ecb9bdf
fix bootloop
cwilvx Dec 24, 2025
803c140
Fixed qodo comments
SergeyG-Solicy Dec 24, 2025
9ac34c4
bumped sdk version
Dec 24, 2025
ad81eaa
Merge pull request #549 from kynesyslabs/feature/github-discord-oauth
tcsenpai Dec 24, 2025
71ebbc0
Merge pull request #535 from kynesyslabs/feature/xrp-send-implementation
tcsenpai Dec 24, 2025
8667c9c
Merge pull request #534 from kynesyslabs/feature/add-polygon
tcsenpai Dec 24, 2025
00c7a35
Merge pull request #529 from kynesyslabs/feature/add-btc
tcsenpai Dec 24, 2025
83d4d8e
Merge pull request #526 from kynesyslabs/feature/add-atom
tcsenpai Dec 24, 2025
1ed58f5
Merge branch 'testnet' into feature/add-near
tcsenpai Dec 24, 2025
6947787
Merge pull request #523 from kynesyslabs/feature/add-near
tcsenpai Dec 24, 2025
bc570a0
merged and ff
Dec 24, 2025
daff61f
linted
Dec 24, 2025
705f46a
put back helloPeer in getOnlinePeers
cwilvx Dec 24, 2025
86093b8
feat(datasource): add environment variable support for external database
Dec 25, 2025
5930f94
feat(devnet): add Docker Compose local development network
Dec 25, 2025
bff1268
docs(readme): add devnet documentation section
Dec 25, 2025
c6939a9
memories
Dec 25, 2025
9c2a664
memories
Dec 25, 2025
6907b1b
Changed Nomis Identity points logic
HakobP-Solicy Dec 25, 2025
f0a773f
Merge branch 'testnet' into event-drive-X-dtr
cwilvx Dec 26, 2025
15aa7c9
Merge branch 'dtr' into event-drive-X-dtr
cwilvx Dec 26, 2025
78549ee
Merge branch 'custom_protocol' into event-drive-X-dtr
cwilvx Dec 26, 2025
622f4c7
ignores
Dec 26, 2025
db97a2d
Revert "Added GitHub OAuth identity verification flow"
tcsenpai Dec 26, 2025
db55486
Merge pull request #551 from kynesyslabs/revert-549-feature/github-di…
tcsenpai Dec 26, 2025
425874a
Merge branch 'testnet' into custom_protocol
tcsenpai Dec 26, 2025
fb4be35
fixed comment
HakobP-Solicy Dec 30, 2025
97a4aba
updated beads
Dec 30, 2025
1cda14f
updated beads
Dec 30, 2025
540b4de
updated devnet scripts
Dec 30, 2025
628a480
updated agents for beads
Dec 30, 2025
980640f
updated reset script
Dec 30, 2025
328122e
updated beads
Dec 30, 2025
e5eba96
updated beads
Dec 30, 2025
39746ca
installed git town
Dec 30, 2025
8f07d14
move activate omni protocol block up
cwilvx Dec 31, 2025
afd7f9e
disable omniprotocol
cwilvx Jan 2, 2026
0153ab0
handle peer ecconrefused
cwilvx Jan 2, 2026
604945d
updated beads version
Jan 2, 2026
c844ac9
prepared branch
Jan 3, 2026
001f5e6
feat: add TLSNotary backend integration for HTTPS attestation
Jan 3, 2026
83388f8
versioning mainly
Jan 3, 2026
c3b4b93
feat(tlsnotary): add SDK discovery endpoint and auto-key generation
Jan 3, 2026
b1a5f85
refactor(tlsnotary): replace console.* with logger and fix host resol…
Jan 3, 2026
d75004e
feat(tui): add TLSN category for TLSNotary log filtering
Jan 3, 2026
1292c44
fix(tlsnotary): resolve FFI pointer type errors in ffi.ts
Jan 3, 2026
e10e065
fix(tui): add TLSN and CMD to ALL_CATEGORIES for buffer initialization
Jan 3, 2026
c449f4d
feat(tui): add TLSNotary status display to TUI header
Jan 3, 2026
d71aeeb
fix(omniprotocol): switch from @noble/ed25519 to node-forge for Ed25519
Jan 3, 2026
fe49e0d
fix(omniprotocol): route hello_peer via NODE_CALL to manageHelloPeer
Jan 3, 2026
0b8eb63
add confirmationBlock to relayed transactions
cwilvx Jan 3, 2026
7e6fe39
feat(tlsnotary): add debug and fatal modes for better debugging
Jan 3, 2026
23bf461
feat(tlsnotary): add TCP proxy mode for debugging incoming data
Jan 3, 2026
492f792
feat(tlsnotary): implement dynamic wstcp proxy manager for TLS attest…
Jan 3, 2026
ac7f655
feat(tlsnotary): add token manager + fix proxy spawn error handling
Jan 4, 2026
7e217b8
fixed tlsnotary server config
Jan 4, 2026
c6d8f81
added wstcp for tlsn
Jan 4, 2026
77538bf
managed tlsnotary server docker and logs
Jan 4, 2026
bc7a4dc
updated issues
Jan 4, 2026
bff37bb
integrated tlsnotary
Jan 4, 2026
47b7666
improved code quality
Jan 4, 2026
c1e67ee
fix: address PR #554 review concerns
Jan 4, 2026
15e0841
handle inbound connection write error
cwilvx Jan 5, 2026
9530a32
change shard size
cwilvx Jan 5, 2026
5de0d74
remove if prod check for dtr
cwilvx Jan 5, 2026
43cca15
retry waiting for dtr waiter in case of timeout
cwilvx Jan 5, 2026
5d81b6c
check result == 200 before sync data update
cwilvx Jan 5, 2026
1fb3bb5
add console.error
cwilvx Jan 5, 2026
6c49d9a
try: use node forge instead of noble/ed25519 for signature
cwilvx Jan 5, 2026
e611e80
replace ed25519 verify with forge
cwilvx Jan 5, 2026
85a26c2
add logs
cwilvx Jan 5, 2026
fbe206a
refactor: Improve error handling and logging in L2PS components; enha…
Shitikyan Jan 5, 2026
16343e8
fix: address PR #554 CodeRabbit review round 2 feedback
Jan 5, 2026
4bb9a15
beads issues
Jan 5, 2026
624887e
refactor: Enhance error handling and logging across L2PS components f…
Shitikyan Jan 5, 2026
e5fd15e
fix: cast nativePayload in default case to avoid TS never narrowing
Jan 5, 2026
4465190
fix(portAllocator): use module-level import and handle close errors
Jan 5, 2026
fb7e08a
fix(ffi): retain strong references to buffers passed to native code
Jan 5, 2026
50c7d5f
fix(install-deps): add prerequisite checks and idempotency
Jan 5, 2026
320bb03
refactor: Improve error logging for L2PS components to enhance clarit…
Shitikyan Jan 5, 2026
8070324
fix(tlsnotary): calculate proof byte size correctly for fee computation
Jan 5, 2026
3e3b3f8
fix(gcr): normalize TLSNotary records for deterministic hashing
Jan 5, 2026
05e1ea3
fix(omniprotocol): validate request.params is array before access
Jan 5, 2026
7c5c970
fix(tlsnotary): remove duplicate token creation from handleNativeOper…
Jan 5, 2026
0a1fa15
fix(tlsnotary): throw error on invalid URL for deterministic rejection
Jan 5, 2026
2af85c0
fix(tlsnotary): refactor isPortAvailable for robust cleanup
Jan 5, 2026
a73c91b
fix(tlsnotary): stop server before destroying handle in destroy()
Jan 5, 2026
a67133d
fix(omniprotocol): clear buffer on oversized payload detection
Jan 5, 2026
d35ff49
fix(tlsnotary): use crypto.randomUUID for secure proxy IDs
Jan 5, 2026
472d66e
refactor: Enhance error message handling across L2PS components for i…
Shitikyan Jan 5, 2026
28a16d6
fix(tlsnotary): use wss:// for HTTPS origins to prevent mixed-content
Jan 5, 2026
bce535f
fix(tlsnotary): track and close debug proxy server on shutdown
Jan 5, 2026
2f0ea12
fix(tui): add eraseLine before TLSNotary status to prevent stale chars
Jan 5, 2026
5ab0e5d
refactor: Standardize error message handling across L2PS components f…
Shitikyan Jan 5, 2026
a3d7206
fix(tlsnotary): throw errors instead of break for tlsn_store validation
Jan 5, 2026
efba6d0
fix(tlsnotary): use string type for proofTimestamp to prevent bigint …
Jan 5, 2026
6732278
fix(tlsnotary): dynamically determine WebSocket scheme in getInfo
Jan 5, 2026
863bf8c
fix(tui): use dynamic tab lookup instead of hardcoded indices
Jan 5, 2026
3b20a48
fix(tlsnotary): properly await proxy server close and listen
Jan 5, 2026
d88e2db
fix(tlsnotary): use try/finally in destroy to always reset serverRunning
Jan 5, 2026
cae8f8f
fix(tlsnotary): add timeout to isPortAvailable to prevent hanging
Jan 5, 2026
8e02698
refactor: Implement centralized error message handling across L2PS co…
Shitikyan Jan 5, 2026
f400033
refactor: Improve argument parsing logic in parseArgs function for be…
Shitikyan Jan 5, 2026
5deced6
updated sdk version
Jan 5, 2026
2c1c812
fix(tlsnotary): map proxy errors to appropriate HTTP status codes
Jan 6, 2026
a504693
Merge pull request #554 from kynesyslabs/notary
tcsenpai Jan 6, 2026
b55da50
catch invalid auth block error
cwilvx Jan 6, 2026
df83785
put back check offline peer
cwilvx Jan 7, 2026
f6e1d44
log fatal consensus error
cwilvx Jan 7, 2026
ec5704e
Merge branch 'custom_protocol' into event-drive-X-dtr
cwilvx Jan 7, 2026
6fbe818
cleanup
cwilvx Jan 7, 2026
36bc211
put back git pull in run script
cwilvx Jan 7, 2026
950bf4e
fix omni_enabled env variable
cwilvx Jan 7, 2026
dca985d
upgrade sdk
cwilvx Jan 7, 2026
b94719d
merge #558 event-driven-X-dtr
cwilvx Jan 7, 2026
39b4e8a
fix get genesis block for sync
cwilvx Jan 8, 2026
d048d5e
updated version
Jan 8, 2026
449808c
feat: refactor L2PS components for improved privacy and performance
Shitikyan Jan 8, 2026
0f09aa6
Merge upstream/testnet into l2ps_implementation
Shitikyan Jan 9, 2026
615c059
Removed unused code
HakobP-Solicy Jan 9, 2026
0e0d63d
Merge branch 'testnet' of https://github.com/kynesyslabs/node into fe…
HakobP-Solicy Jan 9, 2026
c732def
fixed comments
HakobP-Solicy Jan 9, 2026
e4ec320
feat: implement L2PS handlers and serialization for OmniProtocol comm…
Shitikyan Jan 9, 2026
93e0ec3
merge #552 - nomis integration
cwilvx Jan 9, 2026
50f8904
upgrade sdk
cwilvx Jan 9, 2026
6a4a1fe
filter processed transaction before inConsensusLoop relay
cwilvx Jan 9, 2026
132dfd3
ignored fils
Jan 10, 2026
345a472
bumped sdk
Jan 10, 2026
be503e6
feat: add Prometheus metrics endpoint (Phase 1)
Jan 10, 2026
01cb8b1
fix: handle new peerlist.json format with url object
Jan 10, 2026
98992db
updated legacu terminalkit calls
Jan 10, 2026
6f72237
Add comprehensive OmniProtocol MDX documentation
claude Jan 11, 2026
bf4f233
Merge pull request #636 from kynesyslabs/claude/omniprotocol-document…
tcsenpai Jan 11, 2026
b269369
added graphana
Jan 11, 2026
181c15b
tidied up
Jan 11, 2026
525b2fb
updated specs
Jan 11, 2026
755702a
updated beads
Jan 11, 2026
e77b7da
Merge branch 'testnet' into grafana
Jan 11, 2026
af35b8e
updated documentation and runscript (and fixed TUI unresponsiveness)
Jan 11, 2026
57821ae
docs: add network ports and monitoring sections to README/INSTALL
Jan 11, 2026
56b0df9
docs: update INSTALL.md to use install-deps.sh script
Jan 11, 2026
0debd4d
chore: bump version to 0.9.8 "Oxlong Michael"
Jan 11, 2026
bd64227
fix: apply reviewer feedback for metrics and monitoring
Jan 11, 2026
345f480
fix: add demos_ prefix to system-health dashboard metrics
Jan 11, 2026
c907965
docs: clarify METRICS_PORT vs PROMETHEUS_PORT distinction
Jan 11, 2026
52a2537
fix: remove peer_id label from peer_latency histogram
Jan 11, 2026
060b086
fix: apply reviewer feedback for run script, metrics, and peer valida…
Jan 11, 2026
3b411c8
Merge pull request #638 from kynesyslabs/grafana
tcsenpai Jan 11, 2026
95e151e
Merge upstream/testnet into l2ps_implementation
Shitikyan Jan 12, 2026
88f5cb3
Merge branch 'l2ps_simplified' of https://github.com/kynesyslabs/node…
Shitikyan Jan 12, 2026
2ead2b2
Merge branch 'l2ps_simplified' into l2ps_implementation
Shitikyan Jan 12, 2026
0b5fdc0
feat: enhance L2PS transaction handling and validation, improve proof…
Shitikyan Jan 13, 2026
6bcd70c
Merge branch 'l2ps_implementation' of https://github.com/Shitikyan/no…
Shitikyan Jan 13, 2026
c13e5fe
fix: address CodeRabbit review comments - null check, nonce increment…
Shitikyan Jan 13, 2026
d86d98f
feat: update circomlibjs type declarations to improve field element h…
Shitikyan Jan 14, 2026
bb4977c
fix: handle BigInt conversion errors in L2PSBatchAggregator to preven…
Shitikyan Jan 14, 2026
a868d22
feat: Implement L2PS account transaction history endpoint with signat…
Shitikyan Jan 19, 2026
d4054bb
feat: Implement L2PS concurrent mempool synchronization with particip…
Shitikyan Jan 20, 2026
a6e9681
feat: Add L2PS architecture documentation, node certificates, and mne…
Shitikyan Jan 21, 2026
08e7ee1
fix: l2ps transactions status update
Shitikyan Jan 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .beads/.local_version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.29.0
0.47.0
15 changes: 15 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Exclude git directory
.git

# Exclude node_modules (installed fresh during build)
node_modules

# Exclude devnet runtime files
devnet/identities
devnet/.env
devnet/demos_peerlist.json
devnet/postgres-data

# Exclude unnecessary files
*.log
.DS_Store
59 changes: 59 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,62 @@ GITHUB_TOKEN=

DISCORD_API_URL=
DISCORD_BOT_TOKEN=

GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=

# ===========================================
# L2PS (Layer 2 Private System) Configuration
# ===========================================

# Batch Aggregator Settings
L2PS_AGGREGATION_INTERVAL_MS=10000
L2PS_MIN_BATCH_SIZE=1
L2PS_MAX_BATCH_SIZE=10
L2PS_CLEANUP_AGE_MS=300000

# ZK Proof Settings
L2PS_ZK_ENABLED=true

# Hash Service Settings
L2PS_HASH_INTERVAL_MS=5000

# ===========================================
# OmniProtocol TCP Server Configuration
# ===========================================
OMNI_ENABLED=false
OMNI_PORT=3001
OMNI_MODE=OMNI_ONLY
OMNI_FATAL=false

# OmniProtocol TLS Encryption
OMNI_TLS_ENABLED=false
OMNI_TLS_MODE=self-signed
OMNI_CERT_PATH=./certs/node-cert.pem
OMNI_KEY_PATH=./certs/node-key.pem
OMNI_CA_PATH=
OMNI_TLS_MIN_VERSION=TLSv1.3

# OmniProtocol Rate Limiting
OMNI_RATE_LIMIT_ENABLED=true
OMNI_MAX_CONNECTIONS_PER_IP=10
OMNI_MAX_REQUESTS_PER_SECOND_PER_IP=100
OMNI_MAX_REQUESTS_PER_SECOND_PER_IDENTITY=200

# Prometheus Metrics (optional - enabled by default)
# Exposes metrics at http://localhost:<METRICS_PORT>/metrics for Prometheus scraping
# Note: This is the NODE's metrics endpoint, not the Prometheus server port.
# The monitoring stack's Prometheus server runs on port 9091 (see monitoring/docker-compose.yml)
METRICS_ENABLED=true
METRICS_PORT=9090
METRICS_HOST=0.0.0.0

# ===========================================
# TLSNotary HTTPS Attestation Configuration
# ===========================================
TLSNOTARY_ENABLED=false
TLSNOTARY_PORT=7047
TLSNOTARY_SIGNING_KEY=
TLSNOTARY_PROXY_PORT=55688
TLSNOTARY_MAX_SENT_DATA=16384
TLSNOTARY_MAX_RECV_DATA=65536
57 changes: 56 additions & 1 deletion .eslintrc.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,9 @@ module.exports = {
// "linebreak-style": ["error", "unix"],
quotes: ["error", "double"],
semi: ["error", "never"],
// "no-console": "warn",
// no-console: warn for all src/ files to encourage CategorizedLogger usage
// Excluded files are defined in overrides below
"no-console": ["warn", { allow: ["error"] }],
// no-unused-vars is disabled
"no-unused-vars": ["off"],
"no-var": ["off"],
Expand Down Expand Up @@ -72,4 +74,57 @@ module.exports = {
},
],
},
// Override no-console for files where console.log is acceptable
overrides: [
{
// Standalone CLI tools and utilities where console output is intended
files: [
"src/benchmark.ts",
"src/client/**/*.ts",
// CLI utilities (both paths)
"src/utilities/keyMaker.ts",
"src/utilities/showPubkey.ts",
"src/utilities/backupAndRestore.ts",
"src/utilities/commandLine.ts",
"src/utilities/cli_libraries/**/*.ts",
"src/utilities/Diagnostic.ts",
"src/utilities/evmInfo.ts",
"src/libs/utils/keyMaker.ts",
"src/libs/utils/showPubkey.ts",
// TUI components need console access
"src/utilities/tui/**/*.ts",
"src/tests/**/*.ts",
],
rules: {
"no-console": "off",
},
},
{
// Test files, PoC scripts, and fixture scripts where console output is expected
files: [
"tests/**/*.ts",
"src/tests/**/*.ts",
"**/test.ts",
"**/test/*.ts",
"**/*_test.ts",
"**/*Test.ts",
"**/PoC.ts",
"**/poc.ts",
"omniprotocol_fixtures_scripts/**/*.ts",
"local_tests/**/*.ts",
"aptos_tests/**/*.ts",
],
rules: {
"no-console": "off",
"@typescript-eslint/naming-convention": "off",
},
},
{
// Main entry point startup/shutdown logs are acceptable
files: ["src/index.ts"],
rules: {
"no-console": "off",
},
},
],
}
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

# Use bd merge for beads JSONL files
.beads/issues.jsonl merge=beads
71 changes: 71 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# GitHub Copilot Instructions for Demos Network

## Project Overview

This project is the Demos Network node/RPC implementation. We use **bd (beads)** for all task tracking.

**Key Features:**
- Dependency-aware issue tracking
- Auto-sync with Git via JSONL
- AI-optimized CLI with JSON output

## Tech Stack

- **Runtime**: Bun (cross-platform)
- **Language**: TypeScript
- **Testing**: Bun test
- **CI/CD**: GitHub Actions

## Issue Tracking with bd

**CRITICAL**: This project uses **bd** for ALL task tracking. Do NOT create markdown TODO lists.

### Essential Commands

```bash
# Find work
bd ready --json # Unblocked issues
bd stale --days 30 --json # Forgotten issues

# Create and manage
bd create "Title" -t bug|feature|task -p 0-4 --json
bd update <id> --status in_progress --json
bd close <id> --reason "Done" --json

# Search
bd list --status open --priority 1 --json
bd show <id> --json

# Sync (CRITICAL at end of session!)
bd sync # Force immediate export/commit/push
```

### Workflow

1. **Check ready work**: `bd ready --json`
2. **Claim task**: `bd update <id> --status in_progress`
3. **Work on it**: Implement, test, document
4. **Discover new work?** `bd create "Found bug" -p 1 --deps discovered-from:<parent-id> --json`
5. **Complete**: `bd close <id> --reason "Done" --json`
6. **Sync**: `bd sync` (flushes changes to git immediately)

### Priorities

- `0` - Critical (security, data loss, broken builds)
- `1` - High (major features, important bugs)
- `2` - Medium (default, nice-to-have)
- `3` - Low (polish, optimization)
- `4` - Backlog (future ideas)

## Important Rules

- Use bd for ALL task tracking
- Always use `--json` flag for programmatic use
- Link discovered work with `discovered-from` dependencies
- Check `bd ready` before asking "what should I work on?"
- Do NOT create markdown TODO lists
- Do NOT commit `.beads/beads.db` (JSONL only)

---

**For detailed workflows and advanced features, see [AGENTS.md](../AGENTS.md)**
73 changes: 73 additions & 0 deletions .github/workflows/fix-beads-conflicts.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Preserve Branch-Specific Beads Files

on:
push:
branches: ['**']

jobs:
preserve-beads:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 2
token: ${{ secrets.GITHUB_TOKEN }}

- name: Check if this was a merge commit
id: check_merge
run: |
if git log -1 --pretty=format:"%P" | grep -q " "; then
echo "is_merge=true" >> $GITHUB_OUTPUT
echo "✅ Detected merge commit"
else
echo "is_merge=false" >> $GITHUB_OUTPUT
exit 0
fi

- name: Check for .beads changes in merge
if: steps.check_merge.outputs.is_merge == 'true'
id: check_beads
run: |
if git log -1 --name-only | grep -qE "^\.beads/(issues\.jsonl|deletions\.jsonl|metadata\.json)$"; then
echo "beads_changed=true" >> $GITHUB_OUTPUT
echo "🚨 .beads files were modified in merge - will revert!"
else
echo "beads_changed=false" >> $GITHUB_OUTPUT
exit 0
fi

- name: Revert .beads to pre-merge state
if: steps.check_merge.outputs.is_merge == 'true' && steps.check_beads.outputs.beads_changed == 'true'
run: |
CURRENT_BRANCH=$(git branch --show-current)
echo "🔄 Reverting .beads/ issue tracking files to pre-merge state on $CURRENT_BRANCH"

# Get the first parent (target branch before merge)
MERGE_BASE=$(git log -1 --pretty=format:"%P" | cut -d' ' -f1)

# Restore specific .beads files from the target branch's state before merge
git checkout $MERGE_BASE -- .beads/issues.jsonl 2>/dev/null || echo "No issues.jsonl in base commit"
git checkout $MERGE_BASE -- .beads/deletions.jsonl 2>/dev/null || echo "No deletions.jsonl in base commit"
git checkout $MERGE_BASE -- .beads/metadata.json 2>/dev/null || echo "No metadata.json in base commit"

# Configure git
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"

# Commit the reversion
if git diff --staged --quiet; then
git add .beads/issues.jsonl .beads/deletions.jsonl .beads/metadata.json 2>/dev/null || true
fi

if ! git diff --cached --quiet; then
git commit -m "🔒 Preserve branch-specific .beads issue tracking files

Reverted .beads/ changes from merge to keep $CURRENT_BRANCH version intact.
[skip ci]"

git push origin $CURRENT_BRANCH
echo "✅ Successfully preserved $CURRENT_BRANCH .beads files"
else
echo "ℹ️ No changes to revert"
fi
37 changes: 37 additions & 0 deletions .github/workflows/notify-beads-merging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Beads Merge Warning

on:
pull_request:
branches: ['**']

jobs:
beads-warning:
runs-on: ubuntu-latest
steps:
- name: Check for .beads changes
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Warn about .beads files
run: |
# Check if PR touches .beads issue tracking files
if git diff --name-only origin/${{ github.base_ref }}...HEAD | grep -qE "^\.beads/(issues\.jsonl|deletions\.jsonl|metadata\.json)$"; then
echo "⚠️ This PR modifies .beads/ issue tracking files"
echo "🤖 After merge, these will be auto-reverted to preserve branch-specific issues"
echo ""
echo "Files affected:"
git diff --name-only origin/${{ github.base_ref }}...HEAD | grep -E "^\.beads/(issues\.jsonl|deletions\.jsonl|metadata\.json)$" | sed 's/^/ - /'

# Post comment on PR
gh pr comment ${{ github.event.number }} --body "⚠️ **Beads Issue Tracking Files Detected**

This PR modifies \`.beads/\` issue tracking files. After merge, these changes will be **automatically reverted** to preserve branch-specific issue tracking.

Files that will be reverted:
$(git diff --name-only origin/${{ github.base_ref }}...HEAD | grep -E '^\.beads/(issues\.jsonl|deletions\.jsonl|metadata\.json)$' | sed 's/^/- /')" || echo "Could not post comment"
else
echo "✅ No .beads issue tracking files affected"
fi
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3 changes: 1 addition & 2 deletions .prettierrc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,5 @@
"tabWidth": 4,
"semi": false,
"trailingComma": "all",
"useTabs": false,
"SwitchCase": 1
"useTabs": false
}
16 changes: 13 additions & 3 deletions .requirements
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
# Minimum requirements (node will NOT start if below these)
MIN_CPU_SPEED=2000
MIN_RAM=8
MIN_RAM=4
MIN_DISK_SPACE=100
MIN_NETWORK_DOWNLOAD_SPEED=10
MIN_NETWORK_UPLOAD_SPEED=5
NETWORK_TEST_FILE_SIZE=100000000
MIN_NETWORK_UPLOAD_SPEED=10

# Suggested requirements (node will WARN if below these but above minimum)
SUGGESTED_CPU_SPEED=2500
SUGGESTED_RAM=8
SUGGESTED_DISK_SPACE=200
SUGGESTED_NETWORK_DOWNLOAD_SPEED=30
SUGGESTED_NETWORK_UPLOAD_SPEED=30

# Test configuration
NETWORK_TEST_FILE_SIZE=100000000
26 changes: 26 additions & 0 deletions .serena/memories/_continue_here.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Continue Here - Last Session: 2025-12-17

## Last Activity
TypeScript type audit completed successfully.

## Status
- **Branch**: custom_protocol
- **Type errors**: 0 production, 2 test-only (fhe_test.ts - not planned)
- **Epic node-tsaudit**: CLOSED

## Recent Commits
- `c684bb2a` - fix: remove dead crypto code and fix showPubkey type
- `20137452` - fix: resolve OmniProtocol type errors
- `fc5abb9e` - fix: resolve 22 TypeScript type errors

## Key Memories
- `typescript_audit_complete_2025_12_17` - Full audit details and patterns

## Previous Work (2025-12-16)
- Console.log migration epic COMPLETE (node-7d8)
- OmniProtocol 90% complete (node-99g)

## Ready For
- New feature development
- Further code quality improvements
- Any pending tasks in beads
Loading