Skip to content
Merged
Show file tree
Hide file tree
Changes from 75 commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
2684d18
chore(deps): update tinywallet submodule
senamakel Aug 11, 2026
67b39fb
chore(deps): update tinywallet subproject commit
senamakel Aug 11, 2026
f76a69b
feat(vendor): add tinywallet dependency
senamakel Aug 11, 2026
514d029
chore(deps): add tinywallet vendor dependency
senamakel Aug 11, 2026
77d018d
chore(deps): add tinywallet dependency
senamakel Aug 11, 2026
03da34b
chore(deps): update tinywallet dependency
senamakel Aug 11, 2026
80970f0
fix(wallet_tests): update test to reflect corrected fee calculation
senamakel Aug 11, 2026
a5c22a4
chore: files changed src/openhuman/modules/mod.rs
senamakel Aug 11, 2026
2661ce8
fix(registry): handle missing module directory on startup
senamakel Aug 11, 2026
1d01cf6
fix(registry): handle missing module directory gracefully
senamakel Aug 11, 2026
747f1ba
test(registry): add tests for empty-artifact safety in tinywallet
senamakel Aug 11, 2026
025e48e
chore(deps): drop bitcoin crate from web3 feature
senamakel Aug 11, 2026
3516b47
chore(deps): update Cargo.lock for tinywallet dependencies
senamakel Aug 11, 2026
ec1e546
feat(web3): add bitcoin dependency to web3 feature
senamakel Aug 11, 2026
7a19a08
test(registry): strengthen empty-asset resolution test
senamakel Aug 11, 2026
fb163a8
chore(registry): remove tinywallet module record and its tests
senamakel Aug 11, 2026
2dffe24
chore(wallet): reformat multi-line expressions to single lines
senamakel Aug 11, 2026
29b80e6
fix(wallet): use is_multiple_of for hex length check
senamakel Aug 11, 2026
55c022a
fix(abi): add missing ABI encoding for wallet contract calls
senamakel Aug 11, 2026
28faf3c
refactor(execution): replace U256 with u128 for hex parsing
senamakel Aug 11, 2026
43bbd54
refactor(evm): replace ethers-based signing with wallet module delega…
senamakel Aug 11, 2026
6d167ca
refactor(evm): replace hex_to_u256 with hex_to_u128 for EVM fields
senamakel Aug 11, 2026
04b52b6
fix(evm): replace `as_u64()` with safe fallible conversion
senamakel Aug 11, 2026
a13a69c
refactor(wallet): replace manual Tron signing with shared sign_transa…
senamakel Aug 11, 2026
5022bd1
fix(tron): use correct recipient address for TRC20 transfers
senamakel Aug 11, 2026
baf0a40
refactor(btc): delegate transaction building and signing to tinywallet
senamakel Aug 11, 2026
3a7ca3a
refactor(btc): remove unused bitcoin crate dependencies from wallet m…
senamakel Aug 11, 2026
7625da3
chore: remove unused imports from chain modules
senamakel Aug 11, 2026
2458268
refactor(x402): replace ethers-based EVM signer derivation with tinyw…
senamakel Aug 11, 2026
f4d5f9c
refactor(x402): replace ethers wallet with raw k256 signing in EVM pa…
senamakel Aug 11, 2026
5894d88
test(x402): replace ad-hoc EIP-712 helpers with tinywallet crate
senamakel Aug 11, 2026
106ab52
test(x402): add helper to produce a deterministic test signer
senamakel Aug 11, 2026
f2cd41d
fix(test): remove unused import and fix argument type in x402 tests
senamakel Aug 11, 2026
3b58864
test(x402): use correct function name in deterministic hash test
senamakel Aug 11, 2026
23bb1c3
chore(web3): remove unused bitcoin and ethers dependencies
senamakel Aug 11, 2026
959680d
chore(deps): remove unused Ethereum and Bitcoin dependencies
senamakel Aug 11, 2026
11bdda7
chore: reformat code for consistency
senamakel Aug 11, 2026
e783f77
test(chain): mark integration tests as ignored until tinywallet v0.2.0
senamakel Aug 11, 2026
e64f9de
test(execution): ignore tests that depend on the tinywallet module
senamakel Aug 11, 2026
ff802e5
refactor(wallet): derive chain from transaction spec instead of passi…
senamakel Aug 11, 2026
e261b77
chore(wallet): remove unused Chain import and clarify test comment
senamakel Aug 11, 2026
b3a1253
feat(modules): register tinywallet v0.2.0 module record
senamakel Aug 11, 2026
b3b08d3
chore: files changed src/openhuman/modules/registry.rs,src/openhuman/…
senamakel Aug 11, 2026
edb093b
fix(tron): replace fixture txIDs with ones valid for the signed payload
senamakel Aug 11, 2026
1abccf0
test: mark wallet-module integration tests as `#[ignore]` to prevent …
senamakel Aug 11, 2026
752b5bf
chore(deps): update tinywallet subproject commit
senamakel Aug 11, 2026
726e2f8
chore: files changed Cargo.toml,src/openhuman/modules/wallet.rs,src/o…
senamakel Aug 11, 2026
47b6488
chore: files changed src/openhuman/web3/wallet/chains/tron.rs,vendor/…
senamakel Aug 11, 2026
5a584f0
feat(x402): replace manual hex decoding with hex crate and add signat…
senamakel Aug 11, 2026
ffec9a7
chore: files changed src/openhuman/web3/wallet/chains/btc.rs,src/open…
senamakel Aug 11, 2026
4d8ac69
chore: files changed src/openhuman/web3/wallet/chains/tron.rs,vendor/…
senamakel Aug 11, 2026
b56a0dd
chore(x402): collapse assertion to single line
senamakel Aug 11, 2026
f7986cf
chore(modules): gate wallet and documents behind their features
senamakel Aug 11, 2026
9ceabba
fix(x402): correct signer verification in EVM payment test
senamakel Aug 11, 2026
c0cb101
chore(deps): update tinywallet submodule and prune unused dependencies
senamakel Aug 11, 2026
34fa1ea
chore(deps): update tinywallet subproject commit
senamakel Aug 11, 2026
7f7047f
chore: files changed vendor/tinywallet
senamakel Aug 11, 2026
82d9e23
feat(tron): add server-side verification of Tron transaction fields
senamakel Aug 11, 2026
7a9be2d
test(tron): replace dummy test data with real transaction hashes
senamakel Aug 11, 2026
7ca4b25
chore: files changed src/openhuman/web3/wallet/chains/tron.rs
senamakel Aug 11, 2026
7e8bc63
fix(tron): update test endpoint to compute txid from payload
senamakel Aug 11, 2026
759e54d
chore: files changed src/openhuman/web3/wallet/chains/tron.rs
senamakel Aug 11, 2026
8892b87
refactor(tron): replace external txid recomputation with local function
senamakel Aug 11, 2026
fcc0d0b
fix: add `--ignored` flag to run commands for ignored wallet integrat…
senamakel Aug 11, 2026
3dae06b
feat(tron): replace substring search with protobuf parsing for transf…
senamakel Aug 11, 2026
d53d464
feat(tron): add protobuf parsing helpers for Tron contract fields
senamakel Aug 11, 2026
3bea095
chore: files changed src/openhuman/web3/wallet/chains/tron.rs
senamakel Aug 11, 2026
197379e
feat(tron): add structured logging and improve validation error messages
senamakel Aug 11, 2026
459b432
fix(tron): rename variable for clarity in test
senamakel Aug 11, 2026
60199e1
fix(tron): remove unnecessary lifetime annotation in one_bytes
senamakel Aug 11, 2026
abb1c95
fix(tron): collapse one_bytes signature to a single line
senamakel Aug 11, 2026
0c2f239
fix(tron): validate TRC20 call_value and fee_limit in transaction spec
senamakel Aug 11, 2026
350c688
feat(tron): add call_value and fee_limit validation for TRC20 transac…
senamakel Aug 11, 2026
3847dd0
chore(tron): reformat long lines in transaction validation
senamakel Aug 11, 2026
bcd9898
fix(ops): reorder resolution checks to respect disabled modules
senamakel Aug 11, 2026
eece0f7
chore: files changed .github/workflows/ci-lite.yml
senamakel Aug 11, 2026
0c3745e
fix(ci): use LLVM_PROFILE_FILE_NAME to control profile output location
senamakel Aug 11, 2026
00a3fc9
ci(ci-lite): switch to cargo llvm-cov show-env for profile collection
senamakel Aug 11, 2026
f81f1fc
test(e2e): replace static Tron mock responses with real protobuf seri…
senamakel Aug 11, 2026
848c844
fix(tests): collapse multi-line mock_tron_varint_field call
senamakel Aug 11, 2026
46fbf51
fix(ci): use /dev/shm for LLVM profile storage in container jobs
senamakel Aug 11, 2026
cb7ddd8
fix(ci): unset RUSTC_WRAPPER before llvm-cov test run
senamakel Aug 11, 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
587 changes: 22 additions & 565 deletions Cargo.lock

Large diffs are not rendered by default.

19 changes: 12 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -388,13 +388,10 @@ fs2 = "0.4"
# only by `openhuman::scheduler_gate::signals` to decide when to throttle
# background LLM work on laptops.
starship-battery = { version = "0.10", optional = true }
ethers-core = { version = "2.0.14", default-features = false, optional = true }
ethers-signers = { version = "2.0.14", default-features = false, optional = true }
# Multi-chain wallet signing.
# - bitcoin: P2WPKH PSBT build/sign/broadcast (includes secp256k1).
# - ed25519-dalek: Solana transaction signing.
# - bs58: Solana base58 addresses + Tron base58check addresses.
bitcoin = { version = "0.32", default-features = false, features = ["std", "secp-recovery", "rand-std"], optional = true }
ed25519-dalek = { version = "2", default-features = false, features = ["std", "rand_core"] }
bs58 = { version = "0.5", default-features = false, features = ["std", "check"] }
# Shared BIP-39 mnemonic → seed for non-EVM chains (BTC P2WPKH derivation,
Expand Down Expand Up @@ -455,7 +452,17 @@ tinydocs = { path = "vendor/tinydocs", default-features = false, optional = true
# After cloning: `git submodule update --init vendor/tinywallet`.
#
# Optional: exclusive to the default-ON `web3` feature.
tinywallet = { path = "vendor/tinywallet", default-features = false, features = ["btc", "evm", "solana", "tron", "keccak", "key", "net", "asset", "client", "tx"], optional = true }
# Taken WITHOUT `tx` or `client`, which is the whole point: those are the only
# gates that pull the `bitcoin` crate and its native secp256k1 build, and
# transaction building now happens in the loaded `tinywallet` module instead.
# What stays is address validation, key derivation, the `Transport` seam, the
# wire contract, EIP-712 hashing and ERC-20 calldata — none of which needs a
# chain library.
tinywallet = { path = "vendor/tinywallet", default-features = false, features = ["btc", "evm", "solana", "tron", "keccak", "key", "net", "wire", "eip712", "abi", "x402"], optional = true }
# secp256k1 signing over the digests the wallet module hands back. Pure Rust,
# and already in the graph beneath `coins-bip32` (which derives the key being
# used), so naming it directly costs nothing and is what lets `bitcoin` go.
k256 = { version = "0.13", default-features = false, features = ["std", "ecdsa"], optional = true }

[target.'cfg(windows)'.dependencies]
# Windows: tokio-tungstenite uses native-tls (schannel) so wss://
Expand Down Expand Up @@ -708,10 +715,8 @@ voice = [
# to do with the wallet. Measured: excluding them costs 0, because tinyplace
# pulls them in regardless.
web3 = [
"dep:bitcoin",
"dep:k256",
Comment thread
coderabbitai[bot] marked this conversation as resolved.
"dep:curve25519-dalek",
"dep:ethers-core",
"dep:ethers-signers",
"dep:coins-bip39",
"dep:tinywallet",
]
Expand Down
Loading
Loading