v0.1.0-pre.028

This commit is contained in:
2026-07-25 08:53:40 +02:00
parent d4ac628c99
commit fefb45ee11
5 changed files with 50 additions and 40 deletions

View File

@@ -3,12 +3,6 @@
# CHANGELOG
## [0.1.0-pre.027] - 2026-07-25
- Migration complète de `kb-wallet` depuis `kb_wallet` bot2.
- Conservation des six tests de validation des alias, signatures, persistance, non-écrasement, corruption et permissions Unix.
- Conservation du format JSON Solana standard, de la protection contre les symlinks et de leffacement des buffers secrets.
## 0.1.0-pre.024
- Première tranche fonctionnelle de `kb-onchain-transport`.

View File

@@ -270,9 +270,9 @@
- [ ] Migrer ensuite les contrats communs et le transport HTTP standard de lancienne `kb_rpc`.
### 0.1.0-pre.027 — Migration de `kb-wallet`
- [x] Porter les contrats de wallet temporaire et persistant depuis bot2.
- [x] Conserver les six tests bot2 sans réduction fonctionnelle.
- [x] Préserver les permissions privées, le rejet des symlinks et leffacement des buffers secrets.
- [x] Maintenir la séparation entre signature locale et politique dexécution.
### 0.1.0-pre.028 — configuration de tracing wallet
- [x] Routes canoniques `kb-wallet`.
- [x] Configuration dexemple sans clé fournisseur en clair.
- [ ] Migration fonctionnelle de `kb-pipeline` à poursuivre à partir de `pre.029`.

View File

@@ -4,7 +4,7 @@
{
"name": "local_devnet",
"app": {
"name": "khadhroony-bot2",
"name": "khadhroony-bot3",
"environment": "development",
"auto_reconnect_default": false
},
@@ -45,7 +45,7 @@
"kb-lib.materializer.transaction",
"kb-store",
"kb-onchain-transport",
"kb_wallet",
"kb-wallet",
"kb_pipeline",
"kb_app_demo",
"kb_executor_metadata_metaplex_token_metadata",
@@ -1048,12 +1048,12 @@
"enabled": true,
"sink": "file",
"level": "debug",
"path": "logs/devnet/kb_wallet/debug.log",
"path": "logs/devnet/kb-wallet/debug.log",
"rotation": "daily",
"format": "human",
"ansi": false,
"targets": [
"kb_wallet"
"kb-wallet"
]
},
{
@@ -1061,12 +1061,12 @@
"enabled": true,
"sink": "file",
"level": "info",
"path": "logs/devnet/kb_wallet/info.log",
"path": "logs/devnet/kb-wallet/info.log",
"rotation": "daily",
"format": "human",
"ansi": false,
"targets": [
"kb_wallet"
"kb-wallet"
]
},
{
@@ -1074,12 +1074,12 @@
"enabled": true,
"sink": "file",
"level": "error",
"path": "logs/devnet/kb_wallet/error.jsonl",
"path": "logs/devnet/kb-wallet/error.jsonl",
"rotation": "daily",
"format": "json",
"ansi": false,
"targets": [
"kb_wallet"
"kb-wallet"
]
},
{
@@ -1645,7 +1645,7 @@
{
"name": "mainnet_research",
"app": {
"name": "khadhroony-bot2",
"name": "khadhroony-bot3",
"environment": "research",
"auto_reconnect_default": false
},
@@ -1693,7 +1693,7 @@
"kb_pipeline",
"kb-onchain-transport",
"kb-store",
"kb_wallet"
"kb-wallet"
]
},
{
@@ -2689,12 +2689,12 @@
"enabled": true,
"sink": "file",
"level": "debug",
"path": "logs/mainnet_research/kb_wallet/debug.log",
"path": "logs/mainnet_research/kb-wallet/debug.log",
"rotation": "daily",
"format": "human",
"ansi": false,
"targets": [
"kb_wallet"
"kb-wallet"
]
},
{
@@ -2702,12 +2702,12 @@
"enabled": true,
"sink": "file",
"level": "info",
"path": "logs/mainnet_research/kb_wallet/info.log",
"path": "logs/mainnet_research/kb-wallet/info.log",
"rotation": "daily",
"format": "human",
"ansi": false,
"targets": [
"kb_wallet"
"kb-wallet"
]
},
{
@@ -2715,12 +2715,12 @@
"enabled": true,
"sink": "file",
"level": "error",
"path": "logs/mainnet_research/kb_wallet/error.jsonl",
"path": "logs/mainnet_research/kb-wallet/error.jsonl",
"rotation": "daily",
"format": "json",
"ansi": false,
"targets": [
"kb_wallet"
"kb-wallet"
]
},
{
@@ -3210,7 +3210,7 @@
"enabled": true,
"provider": "helius",
"cluster": "mainnet-beta",
"url": "https://mainnet.helius-rpc.com/?api-key=95e73621-b539-4a79-af39-3b0877a13857",
"url": "https://mainnet.helius-rpc.com/?api-key=${HELIUS_API_KEY}",
"connect_timeout_ms": 4000,
"request_timeout_ms": 10000,
"max_idle_connections_per_host": 8,
@@ -3370,7 +3370,7 @@
"enabled": true,
"provider": "helius",
"cluster": "mainnet-beta",
"url": "wss://mainnet.helius-rpc.com/?api-key=95e73621-b539-4a79-af39-3b0877a13857",
"url": "wss://mainnet.helius-rpc.com/?api-key=${HELIUS_API_KEY}",
"connect_timeout_ms": 5000,
"request_timeout_ms": 10000,
"unsubscribe_timeout_ms": 1500,
@@ -3486,7 +3486,7 @@
{
"name": "mainnet",
"app": {
"name": "khadhroony-bot2",
"name": "khadhroony-bot3",
"environment": "mainnet",
"auto_reconnect_default": false
},
@@ -3534,7 +3534,7 @@
"kb_pipeline",
"kb-onchain-transport",
"kb-store",
"kb_wallet"
"kb-wallet"
]
},
{
@@ -4530,12 +4530,12 @@
"enabled": true,
"sink": "file",
"level": "debug",
"path": "logs/mainnet/kb_wallet/debug.log",
"path": "logs/mainnet/kb-wallet/debug.log",
"rotation": "daily",
"format": "human",
"ansi": false,
"targets": [
"kb_wallet"
"kb-wallet"
]
},
{
@@ -4543,12 +4543,12 @@
"enabled": true,
"sink": "file",
"level": "info",
"path": "logs/mainnet/kb_wallet/info.log",
"path": "logs/mainnet/kb-wallet/info.log",
"rotation": "daily",
"format": "human",
"ansi": false,
"targets": [
"kb_wallet"
"kb-wallet"
]
},
{
@@ -4556,12 +4556,12 @@
"enabled": true,
"sink": "file",
"level": "error",
"path": "logs/mainnet/kb_wallet/error.jsonl",
"path": "logs/mainnet/kb-wallet/error.jsonl",
"rotation": "daily",
"format": "json",
"ansi": false,
"targets": [
"kb_wallet"
"kb-wallet"
]
},
{
@@ -5051,7 +5051,7 @@
"enabled": true,
"provider": "helius",
"cluster": "mainnet-beta",
"url": "https://mainnet.helius-rpc.com/?api-key=95e73621-b539-4a79-af39-3b0877a13857",
"url": "https://mainnet.helius-rpc.com/?api-key=${HELIUS_API_KEY}",
"connect_timeout_ms": 4000,
"request_timeout_ms": 10000,
"max_idle_connections_per_host": 8,
@@ -5211,7 +5211,7 @@
"enabled": true,
"provider": "helius",
"cluster": "mainnet-beta",
"url": "wss://mainnet.helius-rpc.com/?api-key=95e73621-b539-4a79-af39-3b0877a13857",
"url": "wss://mainnet.helius-rpc.com/?api-key=${HELIUS_API_KEY}",
"connect_timeout_ms": 5000,
"request_timeout_ms": 10000,
"unsubscribe_timeout_ms": 1500,

View File

@@ -56,7 +56,7 @@ La validation se fait en deux étapes :
## Secrets et placeholders
Le fichier versionné doit rester sans secret. Les placeholders restent directement dans les URLs. Les keypairs générés par `kb_wallet` vivent hors du fichier de configuration et sous un répertoire ignoré par Git.
Le fichier versionné doit rester sans secret. Les placeholders restent directement dans les URLs. Les keypairs générés par `kb-wallet` vivent hors du fichier de configuration et sous un répertoire ignoré par Git.
## Exports TS-rs

View File

@@ -1345,6 +1345,22 @@ mod tests {
}
}
#[test]
fn example_config_uses_canonical_wallet_tracing_routes_without_embedded_secrets() {
let config_result = super::parse_config_json(EXAMPLE_CONFIG);
let config = match config_result {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => panic!("example config must parse: {error}"),
};
assert!(!EXAMPLE_CONFIG.contains("api-key=95e73621"));
assert!(!EXAMPLE_CONFIG.contains("\"kb_wallet\""));
for profile in config.profiles {
assert!(profile.logging.targets.iter().any(|target| {
return target.enabled && target.targets == std::vec!["kb-wallet".to_string()];
}));
}
}
#[test]
fn example_config_parses_and_resolves_active_profile() {
let config_result = super::parse_config_json(EXAMPLE_CONFIG);