chainfess 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,10 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.1
4
+
5
+ - README and `--help` say "no RPC calls" for `demo` instead of "no network": `demo` calls no RPC, but `npx` downloads the package on first run.
6
+ - README says `cast tx` reproduces each line and `cast nonce` prints the live count, which only rises after the audit.
7
+ - `package.json` has a `repository` field.
8
+ - `--version`, the report's `toolVersion` and the hook's `npx` command name 0.1.1.
9
+
3
10
  ## 0.1.0
4
11
 
5
12
  First release.
6
13
 
7
- - `chainfess demo`: bundled fixture, recorded RPC replies, no wallet, no network.
14
+ - `chainfess demo`: bundled fixture, recorded RPC replies, no wallet, no RPC calls.
8
15
  - `chainfess audit`: Claude Code session logs (`.jsonl`), subagent transcripts, saved tool outputs and Foundry `broadcast/` files, compared with the wallet's nonce and blocks on Robinhood Chain.
9
16
  - Four outcomes, deterministic, no LLM: Accounted, Partial, Unaccounted, Foreign signer.
10
17
  - `chainfess sign` and `chainfess verify` for signed reports.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Your agent says X. The chain says Y. Chainfess lists every transaction the log does not account for.
4
4
 
5
- Try it in 10 seconds, no wallet, no network:
5
+ Try it in 10 seconds, no wallet, no RPC calls:
6
6
 
7
7
  ```
8
8
  npx chainfess demo
@@ -45,7 +45,7 @@ Reports show hashes, addresses, values, the command pattern name, the source kin
45
45
 
46
46
  ## Verify
47
47
 
48
- Verify the rules yourself: `cast tx <hash>` and `cast nonce <wallet>` reproduce every number. The report footer prints both lines.
48
+ Verify the rules yourself: `cast tx <hash>` reproduces each line. `cast nonce <wallet>` prints the live count, which only rises after the audit. The report footer prints both lines.
49
49
 
50
50
  ## Scope
51
51
 
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "chainfess",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Compares a coding agent's session log with what its wallet did on chain and lists every transaction the log does not account for.",
5
5
  "license": "MIT",
6
+ "repository": { "type": "git", "url": "git+https://github.com/chainfess/chainfess.git" },
6
7
  "type": "module",
7
8
  "bin": { "chainfess": "bin/chainfess.mjs" },
8
9
  "engines": { "node": ">=20" },
package/src/cli.mjs CHANGED
@@ -17,7 +17,7 @@ const HELP = `chainfess: your agent says X, the chain says Y.
17
17
  Lists every transaction a coding agent's session log does not account for.
18
18
 
19
19
  chainfess demo [--json]
20
- Bundled fixture, recorded RPC replies, no wallet, no network.
20
+ Bundled fixture, recorded RPC replies, no wallet, no RPC calls.
21
21
 
22
22
  chainfess audit --wallet 0x… [--log file]… [--all-sessions] [--rpc url] [--chain-id n]
23
23
  [--from ISO] [--to ISO] [--from-block n] [--to-block n] [--max-hours h]
@@ -222,7 +222,7 @@ export async function main(argv, ioOverride = {}) {
222
222
  return cmd === undefined ? 2 : 0;
223
223
  case '--version':
224
224
  case '-v':
225
- io.out('0.1.0\n');
225
+ io.out('0.1.1\n');
226
226
  return 0;
227
227
  default:
228
228
  io.err(`unknown command: ${String(cmd).slice(0, 40)}\n${HELP}`);
package/src/hook.mjs CHANGED
@@ -9,7 +9,7 @@ import { parseArgs } from 'node:util';
9
9
 
10
10
  const BIN = fileURLToPath(new URL('../bin/chainfess.mjs', import.meta.url));
11
11
  const MARKER = 'chainfess-session-end-hook';
12
- const VERSION = '0.1.0';
12
+ const VERSION = '0.1.1';
13
13
  const STDIN_WAIT_MS = 2000;
14
14
 
15
15
  function paths(io) {
package/src/report.mjs CHANGED
@@ -3,7 +3,7 @@ import { toChecksum } from './keccak.mjs';
3
3
  import { STATUS } from './classify.mjs';
4
4
  import { DEFAULT_RPC } from './rpc.mjs';
5
5
 
6
- export const TOOL_VERSION = '0.1.0';
6
+ export const TOOL_VERSION = '0.1.1';
7
7
  const iso = (ms) => (ms === null || ms === undefined ? null : new Date(ms).toISOString().replace(/\.\d{3}Z$/, 'Z'));
8
8
 
9
9
  export function weiToEth(wei) {