feat(lite): lite wallet foundation (inherited working-tree state)
Preserve the previously-uncommitted lite wallet implementation and related dev WIP under version control: - src/wallet/ lite services: client bridge, bridge runtime, connection, lifecycle, sync, gateway, result parsers, state mapper, artifact contract/resolver, refresh services, UI adapters, wallet_backend/capabilities. (Includes two small M1 fixes: lifecycle walletReady now parses the response; default chain name -> "main".) - src/chat/ chat protocol; tests/fixtures/ (lite + hushchat); tools/hushchat_fixture_check.cpp; scripts/build-lite-backend-artifact.sh. - Pre-existing modified app_network/security/wizard, network_refresh_service, sidebar, mining_tab, bootstrap dialog, and version headers captured as-is. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
60
tests/fixtures/lite/release_package_manifest.json
vendored
Normal file
60
tests/fixtures/lite/release_package_manifest.json
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"schema": "dragonx.lite.release-package-manifest.v1",
|
||||
"source": "generated-package-manifest-fixture",
|
||||
"generated": true,
|
||||
"packages": [
|
||||
{
|
||||
"name": "ObsidianDragon-full-linux-fixture",
|
||||
"build_kind": "full-node",
|
||||
"format": "linux-zip",
|
||||
"pool_mining_supported": true,
|
||||
"solo_mining_available": true,
|
||||
"full_node_lifecycle_actions_available": true,
|
||||
"expect": {
|
||||
"dragonxd": true,
|
||||
"dragonx_cli": true,
|
||||
"dragonx_tx": true,
|
||||
"sapling_params": true,
|
||||
"asmap": true,
|
||||
"xmrig_when_available": true
|
||||
},
|
||||
"assets": [
|
||||
{ "kind": "app-binary", "path": "ObsidianDragon", "present": true, "executable": true },
|
||||
{ "kind": "dragonxd", "path": "usr/bin/dragonxd", "present": true, "executable": true },
|
||||
{ "kind": "dragonx-cli", "path": "usr/bin/dragonx-cli", "present": true, "executable": true },
|
||||
{ "kind": "dragonx-tx", "path": "usr/bin/dragonx-tx", "present": true, "executable": true },
|
||||
{ "kind": "sapling-spend.params", "path": "usr/bin/sapling-spend.params", "present": true, "executable": false },
|
||||
{ "kind": "sapling-output.params", "path": "usr/bin/sapling-output.params", "present": true, "executable": false },
|
||||
{ "kind": "asmap.dat", "path": "usr/bin/asmap.dat", "present": true, "executable": false },
|
||||
{ "kind": "xmrig", "path": "usr/bin/xmrig", "present": true, "executable": true },
|
||||
{ "kind": "resources", "path": "usr/share/ObsidianDragon/res", "present": true, "executable": false }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ObsidianDragonLite-linux-fixture",
|
||||
"build_kind": "lite",
|
||||
"format": "linux-zip",
|
||||
"pool_mining_supported": true,
|
||||
"solo_mining_available": false,
|
||||
"full_node_lifecycle_actions_available": false,
|
||||
"assets": [
|
||||
{ "kind": "app-binary", "path": "ObsidianDragonLite", "present": true, "executable": true },
|
||||
{ "kind": "xmrig", "path": "xmrig", "present": true, "executable": true },
|
||||
{ "kind": "resources", "path": "res", "present": true, "executable": false }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ObsidianDragonLite-windows-fixture",
|
||||
"build_kind": "lite",
|
||||
"format": "windows-zip",
|
||||
"pool_mining_supported": true,
|
||||
"solo_mining_available": false,
|
||||
"full_node_lifecycle_actions_available": false,
|
||||
"assets": [
|
||||
{ "kind": "app-binary", "path": "ObsidianDragonLite.exe", "present": true, "executable": true },
|
||||
{ "kind": "other", "path": "tools/xmrig.exe", "present": true, "executable": true },
|
||||
{ "kind": "resources", "path": "res", "present": true, "executable": false }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
107
tests/fixtures/lite/result_parsers.json
vendored
Normal file
107
tests/fixtures/lite/result_parsers.json
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"info": {
|
||||
"chain_name": "dragonx",
|
||||
"version": "0.1.0",
|
||||
"vendor": "SilentDragonXLite",
|
||||
"latest_block_height": 250001,
|
||||
"difficulty": 42,
|
||||
"longestchain": 250003,
|
||||
"notarized": 249990
|
||||
},
|
||||
"height_object": {
|
||||
"height": 250004
|
||||
},
|
||||
"height_number": 250005,
|
||||
"balance": {
|
||||
"tbalance": 125000000,
|
||||
"zbalance": 230000000,
|
||||
"unconfirmed": 5000000,
|
||||
"verified_zbalance": 180000000,
|
||||
"spendable_zbalance": 170000000
|
||||
},
|
||||
"addresses": {
|
||||
"z_addresses": [
|
||||
"zs1parserfixture0000000000000000000000000000000000000000000000000000",
|
||||
"zs1parserfixture1111111111111111111111111111111111111111111111111111"
|
||||
],
|
||||
"t_addresses": [
|
||||
"RParserFixtureTransparentAddress0000000000001"
|
||||
]
|
||||
},
|
||||
"notes": {
|
||||
"unspent_notes": [
|
||||
{
|
||||
"address": "zs1parserfixture0000000000000000000000000000000000000000000000000000",
|
||||
"created_in_block": 249900,
|
||||
"created_in_txid": "note-txid-1",
|
||||
"value": 100000000,
|
||||
"spent": false,
|
||||
"unconfirmed_spent": false
|
||||
}
|
||||
],
|
||||
"utxos": [
|
||||
{
|
||||
"address": "RParserFixtureTransparentAddress0000000000001",
|
||||
"created_in_block": 249901,
|
||||
"created_in_txid": "utxo-txid-1",
|
||||
"value": 25000000,
|
||||
"spent": false,
|
||||
"unconfirmed_spent": true
|
||||
}
|
||||
],
|
||||
"pending_notes": [
|
||||
{
|
||||
"address": "zs1parserfixture1111111111111111111111111111111111111111111111111111",
|
||||
"created_in_block": 0,
|
||||
"created_in_txid": "pending-note-txid-1",
|
||||
"value": 30000000,
|
||||
"spent": false,
|
||||
"unconfirmed_spent": false
|
||||
}
|
||||
],
|
||||
"pending_utxos": [
|
||||
{
|
||||
"address": "RParserFixtureTransparentAddress0000000000001",
|
||||
"created_in_block": 0,
|
||||
"created_in_txid": "pending-utxo-txid-1",
|
||||
"value": 12000000,
|
||||
"spent": false,
|
||||
"unconfirmed_spent": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"list": [
|
||||
{
|
||||
"txid": "sent-txid-1",
|
||||
"datetime": 1710000000,
|
||||
"block_height": 249950,
|
||||
"unconfirmed": false,
|
||||
"outgoing_metadata": [
|
||||
{
|
||||
"address": "zs1recipientfixture0000000000000000000000000000000000000000000000",
|
||||
"value": 75000000,
|
||||
"memo": "outgoing memo"
|
||||
},
|
||||
{
|
||||
"address": "RRecipientTransparentFixture000000000000001",
|
||||
"value": 5000000,
|
||||
"memo": "transparent memo"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"txid": "receive-txid-1",
|
||||
"datetime": 1710001000,
|
||||
"block_height": 0,
|
||||
"unconfirmed": true,
|
||||
"address": "zs1parserfixture1111111111111111111111111111111111111111111111111111",
|
||||
"amount": 42000000,
|
||||
"memo": "incoming memo",
|
||||
"position": 2
|
||||
}
|
||||
],
|
||||
"syncstatus": {
|
||||
"synced_blocks": 125002,
|
||||
"total_blocks": 250004
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user