@liens/cli 0.1.2 → 0.1.3

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/dist/bin.js CHANGED
@@ -10,7 +10,7 @@ const program = new Command();
10
10
  program
11
11
  .name("lien")
12
12
  .description("Lien — tie your loans. Create, simulate, and deploy Solana lending hooks.")
13
- .version("0.1.2");
13
+ .version("0.1.3");
14
14
  program.addCommand(createCommand());
15
15
  program.addCommand(simulateCommand());
16
16
  program.addCommand(deployCommand());
@@ -1 +1 @@
1
- {"version":3,"file":"receipts.d.ts","sourceRoot":"","sources":["../../src/commands/receipts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8DpC,wBAAgB,eAAe,IAAI,OAAO,CA2EzC"}
1
+ {"version":3,"file":"receipts.d.ts","sourceRoot":"","sources":["../../src/commands/receipts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkHpC,wBAAgB,eAAe,IAAI,OAAO,CA4FzC"}
@@ -12,13 +12,23 @@ const EVENT_KIND_LABEL = {
12
12
  6: "beforeLiquidate",
13
13
  7: "afterLiquidate",
14
14
  };
15
+ // HookRan struct (v0.1.3, 8-byte discriminator prefix):
16
+ // composition(32) + pool(32) + event_kind(u8) + hook_program(32) +
17
+ // priority(u16) + flags_bits(u16) + decision(u8) + side_effect_kind(u8) +
18
+ // side_effect_payload(u64) + timestamp(i64)
19
+ // = 8 + 32 + 32 + 1 + 32 + 2 + 2 + 1 + 1 + 8 + 8 = 127 bytes
20
+ const HOOK_RAN_LEN = 127;
21
+ // CompositionExecuted struct:
22
+ // composition(32) + pool(32) + event_kind(u8) + position_owner(32) +
23
+ // adapter(u8) + hook_count_eligible(u8) + hook_count_skipped(u8) + timestamp(i64)
24
+ // = 8 + 32 + 32 + 1 + 32 + 1 + 1 + 1 + 8 = 116 bytes
25
+ const COMP_EXEC_LEN = 116;
15
26
  function parseExecutorLogs(logs) {
16
- // The executor emits a CompositionExecuted event via Anchor's `emit!`. Anchor
17
- // prints "Program data: <base64>" lines for these. We don't decode the full
18
- // borsh payload here that's what @liens/sdk does. The CLI surface is a
19
- // human-readable summary, so we look for the program log markers and pull
20
- // the obvious bytes (event kind + counts) from the borsh prefix.
21
- const out = {};
27
+ // The executor emits two events via Anchor's `emit!`: CompositionExecuted
28
+ // (aggregate, since v0.1.0) and HookRan (per eligible entry, since v0.1.3).
29
+ // Anchor prints them as "Program data: <base64>" lines. We pull both
30
+ // shapes off by length-matching; full borsh decode lives in @liens/sdk.
31
+ const out = { hook_runs: [] };
22
32
  for (const line of logs) {
23
33
  if (!line.includes("Program data:"))
24
34
  continue;
@@ -32,23 +42,52 @@ function parseExecutorLogs(logs) {
32
42
  catch {
33
43
  continue;
34
44
  }
35
- // Anchor event layout: 8-byte discriminator + struct fields.
36
- // CompositionExecuted: composition(32) + pool(32) + event_kind(u8) +
37
- // position_owner(32) + adapter(u8) + hook_count_eligible(u8) +
38
- // hook_count_skipped(u8) + timestamp(i64)
39
- if (buf.length < 8 + 32 + 32 + 1 + 32 + 1 + 1 + 1)
40
- continue;
41
- out.composition = new PublicKey(buf.subarray(8, 40)).toBase58();
42
- out.pool = new PublicKey(buf.subarray(40, 72)).toBase58();
43
- out.event_kind = buf[72];
44
- // position_owner = bytes 73..105
45
- // adapter = byte 105
46
- out.hook_count_eligible = buf[106];
47
- out.hook_count_skipped = buf[107];
48
- break;
45
+ if (buf.length === COMP_EXEC_LEN) {
46
+ out.composition = new PublicKey(buf.subarray(8, 40)).toBase58();
47
+ out.pool = new PublicKey(buf.subarray(40, 72)).toBase58();
48
+ out.event_kind = buf[72];
49
+ out.hook_count_eligible = buf[106];
50
+ out.hook_count_skipped = buf[107];
51
+ }
52
+ else if (buf.length === HOOK_RAN_LEN) {
53
+ const hookProgram = new PublicKey(buf.subarray(8 + 32 + 32 + 1, 8 + 32 + 32 + 1 + 32)).toBase58();
54
+ const off = 8 + 32 + 32 + 1 + 32;
55
+ const priority = buf.readUInt16LE(off);
56
+ const flags_bits = buf.readUInt16LE(off + 2);
57
+ const decision = buf[off + 4];
58
+ const side_effect_kind = buf[off + 5];
59
+ const side_effect_payload = buf.readBigUInt64LE(off + 6);
60
+ out.hook_runs.push({
61
+ hook_program: hookProgram,
62
+ priority,
63
+ flags_bits,
64
+ decision,
65
+ side_effect_kind,
66
+ side_effect_payload,
67
+ });
68
+ // also fill composition / pool / event_kind from the first HookRan if
69
+ // CompositionExecuted is missing (older firmwares or partial logs).
70
+ if (!out.composition) {
71
+ out.composition = new PublicKey(buf.subarray(8, 40)).toBase58();
72
+ out.pool = new PublicKey(buf.subarray(40, 72)).toBase58();
73
+ out.event_kind = buf[72];
74
+ }
75
+ }
49
76
  }
50
77
  return out;
51
78
  }
79
+ const DECISION_LABEL = {
80
+ 0: "Accept",
81
+ 1: "AcceptWith",
82
+ 2: "Reject",
83
+ };
84
+ const SIDE_EFFECT_LABEL = {
85
+ 0: "none",
86
+ 1: "OverrideMaxLtvBps",
87
+ 2: "DelayLiquidationSlots",
88
+ 3: "OverrideRateBps",
89
+ 4: "OpenHedge",
90
+ };
52
91
  export function receiptsCommand() {
53
92
  return new Command("receipts")
54
93
  .description("Pull a HookRan receipt off the chain and pretty-print it. Single signature for now; per-pool window coming next.")
@@ -90,11 +129,24 @@ export function receiptsCommand() {
90
129
  console.log(` event ${EVENT_KIND_LABEL[receipt.event_kind] ?? "?"} (kind=${receipt.event_kind})`);
91
130
  console.log(` pool ${receipt.pool ?? "?"}`);
92
131
  console.log(` composition ${receipt.composition ?? "?"}`);
93
- console.log(` hooks eligible ${receipt.hook_count_eligible ?? "?"}`);
94
- console.log(` hooks skipped ${receipt.hook_count_skipped ?? "?"}`);
132
+ if (receipt.hook_count_eligible !== undefined) {
133
+ console.log(` hooks eligible ${receipt.hook_count_eligible}`);
134
+ console.log(` hooks skipped ${receipt.hook_count_skipped}`);
135
+ }
136
+ if (receipt.hook_runs && receipt.hook_runs.length > 0) {
137
+ console.log("");
138
+ console.log(kleur.bold(` HookRan entries (v0.1.3) — ${receipt.hook_runs.length} eligible:`));
139
+ for (const [i, hr] of receipt.hook_runs.entries()) {
140
+ console.log(` [${i}] hook_program ${hr.hook_program}`);
141
+ console.log(` priority ${hr.priority}`);
142
+ console.log(` flags_bits 0x${hr.flags_bits.toString(16).padStart(4, "0")}`);
143
+ console.log(` decision ${DECISION_LABEL[hr.decision] ?? "?"} (${hr.decision})`);
144
+ console.log(` side_effect ${SIDE_EFFECT_LABEL[hr.side_effect_kind] ?? "?"} payload=${hr.side_effect_payload}`);
145
+ }
146
+ }
95
147
  }
96
148
  else {
97
- console.log(kleur.dim(" (no CompositionExecuted event in this transaction — was the signature an executor call?)"));
149
+ console.log(kleur.dim(" (no CompositionExecuted / HookRan event in this transaction — was the signature an executor call?)"));
98
150
  }
99
151
  // Raw logs for forensics
100
152
  console.log("");
@@ -1 +1 @@
1
- {"version":3,"file":"receipts.js","sourceRoot":"","sources":["../../src/commands/receipts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receipts.js","sourceRoot":"","sources":["../../src/commands/receipts.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liens/cli",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Lien command-line tools \u2014 create, simulate, and deploy lending hooks on Solana.",
5
5
  "type": "module",
6
6
  "bin": {