openclaw-arcade-plugin 0.2.9 → 0.2.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,QAoJ9B;AAEH,eAAO,MAAM,MAAM;;;;;;CAMlB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,QAmK9B;AAEH,eAAO,MAAM,MAAM;;;;;;CAMlB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,5 @@
1
+ import debug from 'debug';
2
+ const log = debug('openclaw:plugin:arcade');
1
3
  let isInitialized = false;
2
4
  /**
3
5
  * OpenClaw Arcade Plugin
@@ -45,37 +47,50 @@ export function register(api) {
45
47
  required: ["action"]
46
48
  },
47
49
  async execute(_id, params) {
50
+ log('Executing tool action: %s with params: %O', params.action, params);
48
51
  try {
49
52
  const { action, txhex, txid } = params;
50
53
  switch (action) {
51
54
  case "broadcast":
52
55
  if (!txhex)
53
56
  throw new Error("txhex is required for broadcast");
57
+ log('Broadcasting transaction: %s...', txhex.slice(0, 64));
54
58
  const bResp = await fetch(`${arcadeUrl}/v1/tx`, {
55
59
  method: 'POST',
56
60
  headers: { 'Content-Type': 'application/json' },
57
61
  body: JSON.stringify({ rawTx: txhex })
58
62
  });
59
63
  const bData = await bResp.json();
60
- if (!bResp.ok)
64
+ if (!bResp.ok) {
65
+ log('Broadcast failed: %O', bData);
61
66
  throw new Error(`Broadcast failed: ${JSON.stringify(bData)}`);
67
+ }
68
+ log('Broadcast successful, TXID: %s', bData.txid);
62
69
  return { content: [{ type: "text", text: `Transaction broadcasted! TXID: ${bData.txid}\nStatus: ${bData.txStatus}` }] };
63
70
  case "status":
64
71
  if (!txid)
65
72
  throw new Error("txid is required for status check");
73
+ log('Checking status for TXID: %s', txid);
66
74
  const sResp = await fetch(`${arcadeUrl}/v1/tx/${txid}`);
67
75
  const sData = await sResp.json();
68
- if (!sResp.ok)
76
+ if (!sResp.ok) {
77
+ log('Status check failed: %O', sData);
69
78
  throw new Error(`Status check failed: ${JSON.stringify(sData)}`);
79
+ }
80
+ log('Status: %s, Block: %s', sData.txStatus, sData.blockHeight);
70
81
  return { content: [{ type: "text", text: `Transaction ${txid}:\nStatus: ${sData.txStatus}\nBlock: ${sData.blockHeight || 'Pending'}` }] };
71
82
  case "proof":
72
83
  if (!txid)
73
84
  throw new Error("txid is required for proof retrieval");
85
+ log('Fetching proof for TXID: %s', txid);
74
86
  const pResp = await fetch(`${arcadeUrl}/v1/tx/${txid}/proof`);
75
- if (!pResp.ok)
87
+ if (!pResp.ok) {
88
+ log('Proof retrieval failed: %d', pResp.status);
76
89
  throw new Error(`Proof retrieval failed: ${pResp.status}`);
90
+ }
77
91
  const pData = await pResp.arrayBuffer();
78
92
  const base64Proof = Buffer.from(pData).toString('base64');
93
+ log('Proof retrieved, length: %d bytes', pData.byteLength);
79
94
  return { content: [{ type: "text", text: `Merkle Proof (Base64): ${base64Proof}` }] };
80
95
  case "config":
81
96
  return { content: [{ type: "text", text: `Arcade Configuration:\nURL: ${arcadeUrl}\nNetwork: ${network}` }] };
@@ -98,10 +113,10 @@ export function register(api) {
98
113
  name: "arcade",
99
114
  description: "BSV transaction tracking commands",
100
115
  acceptsArgs: true,
101
- requireAuth: true,
102
116
  handler: async (ctx) => {
103
117
  try {
104
- const args = ctx.args || [];
118
+ api.logger?.info?.(`[openclaw-arcade] Command received with args: ${JSON.stringify(ctx.args)} (type: ${typeof ctx.args})`);
119
+ const args = Array.isArray(ctx.args) ? ctx.args : (typeof ctx.args === 'string' ? ctx.args.split(' ').filter(Boolean) : []);
105
120
  const action = args[0] || 'config';
106
121
  const params = { action };
107
122
  if (action === 'help') {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/index.ts CHANGED
@@ -1,5 +1,8 @@
1
1
  import path from "node:path";
2
2
  import os from "node:os";
3
+ import debug from 'debug';
4
+
5
+ const log = debug('openclaw:plugin:arcade');
3
6
 
4
7
  let isInitialized = false;
5
8
  /**
@@ -51,36 +54,51 @@ export function register(api: any) {
51
54
  required: ["action"]
52
55
  },
53
56
  async execute(_id: string, params: any) {
57
+ log('Executing tool action: %s with params: %O', params.action, params);
54
58
  try {
55
59
  const { action, txhex, txid } = params;
56
60
 
57
61
  switch (action) {
58
62
  case "broadcast":
59
63
  if (!txhex) throw new Error("txhex is required for broadcast");
64
+ log('Broadcasting transaction: %s...', txhex.slice(0, 64));
60
65
  const bResp = await fetch(`${arcadeUrl}/v1/tx`, {
61
66
  method: 'POST',
62
67
  headers: { 'Content-Type': 'application/json' },
63
68
  body: JSON.stringify({ rawTx: txhex })
64
69
  });
65
70
  const bData: any = await bResp.json();
66
- if (!bResp.ok) throw new Error(`Broadcast failed: ${JSON.stringify(bData)}`);
71
+ if (!bResp.ok) {
72
+ log('Broadcast failed: %O', bData);
73
+ throw new Error(`Broadcast failed: ${JSON.stringify(bData)}`);
74
+ }
75
+ log('Broadcast successful, TXID: %s', bData.txid);
67
76
  return { content: [{ type: "text", text: `Transaction broadcasted! TXID: ${bData.txid}\nStatus: ${bData.txStatus}` }] };
68
77
 
69
78
  case "status":
70
79
  if (!txid) throw new Error("txid is required for status check");
80
+ log('Checking status for TXID: %s', txid);
71
81
  const sResp = await fetch(`${arcadeUrl}/v1/tx/${txid}`);
72
82
  const sData: any = await sResp.json();
73
- if (!sResp.ok) throw new Error(`Status check failed: ${JSON.stringify(sData)}`);
83
+ if (!sResp.ok) {
84
+ log('Status check failed: %O', sData);
85
+ throw new Error(`Status check failed: ${JSON.stringify(sData)}`);
86
+ }
87
+ log('Status: %s, Block: %s', sData.txStatus, sData.blockHeight);
74
88
  return { content: [{ type: "text", text: `Transaction ${txid}:\nStatus: ${sData.txStatus}\nBlock: ${sData.blockHeight || 'Pending'}` }] };
75
89
 
76
90
  case "proof":
77
91
  if (!txid) throw new Error("txid is required for proof retrieval");
92
+ log('Fetching proof for TXID: %s', txid);
78
93
  const pResp = await fetch(`${arcadeUrl}/v1/tx/${txid}/proof`);
79
- if (!pResp.ok) throw new Error(`Proof retrieval failed: ${pResp.status}`);
94
+ if (!pResp.ok) {
95
+ log('Proof retrieval failed: %d', pResp.status);
96
+ throw new Error(`Proof retrieval failed: ${pResp.status}`);
97
+ }
80
98
  const pData = await pResp.arrayBuffer();
81
99
  const base64Proof = Buffer.from(pData).toString('base64');
100
+ log('Proof retrieved, length: %d bytes', pData.byteLength);
82
101
  return { content: [{ type: "text", text: `Merkle Proof (Base64): ${base64Proof}` }] };
83
-
84
102
  case "config":
85
103
  return { content: [{ type: "text", text: `Arcade Configuration:\nURL: ${arcadeUrl}\nNetwork: ${network}` }] };
86
104
 
@@ -103,10 +121,10 @@ export function register(api: any) {
103
121
  name: "arcade",
104
122
  description: "BSV transaction tracking commands",
105
123
  acceptsArgs: true,
106
- requireAuth: true,
107
124
  handler: async (ctx: any) => {
108
125
  try {
109
- const args = ctx.args || [];
126
+ api.logger?.info?.(`[openclaw-arcade] Command received with args: ${JSON.stringify(ctx.args)} (type: ${typeof ctx.args})`);
127
+ const args = Array.isArray(ctx.args) ? ctx.args : (typeof ctx.args === 'string' ? ctx.args.split(' ').filter(Boolean) : []);
110
128
  const action = args[0] || 'config';
111
129
  const params: any = { action };
112
130
 
@@ -2,7 +2,7 @@
2
2
  "id": "openclaw-arcade-plugin",
3
3
  "name": "BSV Arcade Broadcaster",
4
4
  "description": "Submit and track BSV transactions with full lifecycle visibility",
5
- "version": "0.2.9",
5
+ "version": "0.2.11",
6
6
  "skills": [
7
7
  "./SKILL.md"
8
8
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-arcade-plugin",
3
- "version": "0.2.9",
3
+ "version": "0.2.11",
4
4
  "description": "OpenClaw plugin for transaction broadcasting and lifecycle tracking via BSV Arcade",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -22,9 +22,11 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@bsv/sdk": "^2.0.13",
25
- "better-sqlite3": "^11.0.0"
25
+ "better-sqlite3": "^11.0.0",
26
+ "debug": "^4.4.0"
26
27
  },
27
28
  "devDependencies": {
29
+ "@types/debug": "^4.1.12",
28
30
  "@types/node": "^22.10.0",
29
31
  "eslint": "^10.1.0",
30
32
  "typescript": "^5.7.0"
@@ -0,0 +1,2 @@
1
+ declare module "@vscode/sqlite3";
2
+ declare module "debug";