openclaw-arcade-plugin 0.1.15 → 0.1.17

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/SKILL.md CHANGED
@@ -15,6 +15,13 @@ metadata: '{"openclaw": {"requires": {"bins": ["node"]}}}'
15
15
  | `proof` | Retrieve the Merkle proof for a mined transaction |
16
16
  | `config` | Show current broadcaster URL and network |
17
17
 
18
+ ## Network Support
19
+
20
+ The plugin is network-aware and supports:
21
+ - **`mainnet`**: Production network (`https://arc.gorillapool.io`).
22
+ - **`testnet`**: Testing network (`https://testnet.arc.gorillapool.io`).
23
+ - **`local`**: Local development environment (customizable URL).
24
+
18
25
  ## Usage Guidance
19
26
 
20
27
  ### Broadcasting Payments
package/dist/index.d.ts CHANGED
@@ -2,12 +2,13 @@
2
2
  * OpenClaw Arcade Plugin
3
3
  * Transaction broadcasting and lifecycle tracking via BSV Arcade.
4
4
  */
5
+ export declare function register(api: any): Promise<void>;
5
6
  export declare const plugin: {
6
7
  id: string;
7
8
  name: string;
8
9
  description: string;
9
- activate(api: any): Promise<void>;
10
- register(api: any): void;
10
+ activate: typeof register;
11
+ register: typeof register;
11
12
  };
12
- export default plugin;
13
+ export default register;
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,eAAO,MAAM,MAAM;;;;kBAKG,GAAG;kBAIT,GAAG;CAoIlB,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,GAAG,iBAoIpC;AAEH,eAAO,MAAM,MAAM;;;;;;CAMlB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
package/dist/index.js CHANGED
@@ -3,141 +3,141 @@ let isInitialized = false;
3
3
  * OpenClaw Arcade Plugin
4
4
  * Transaction broadcasting and lifecycle tracking via BSV Arcade.
5
5
  */
6
- export const plugin = {
7
- id: "openclaw-arcade-plugin",
8
- name: "BSV Arcade Broadcaster",
9
- description: "Submit and track BSV transactions with full lifecycle visibility",
10
- async activate(api) {
11
- return this.register(api);
12
- },
13
- register(api) {
14
- if (isInitialized)
15
- return;
16
- isInitialized = true;
17
- const entries = api.getConfig?.()?.plugins?.entries || {};
18
- const entry = entries['openclaw-arcade-plugin']
19
- || entries['openclaw-arcade']
20
- || entries['bsv-arcade']
21
- || {};
22
- const pluginConfig = { ...entry, ...(entry.config || {}), ...(api.config || {}) };
23
- const network = pluginConfig.network || 'mainnet';
24
- const defaultArcadeUrl = network === 'testnet'
25
- ? 'https://testnet.arc.gorillapool.io'
26
- : 'https://arc.gorillapool.io';
27
- const arcadeUrl = (pluginConfig.arcadeUrl || defaultArcadeUrl).replace(/\/$/, '');
28
- api.logger.info(`[arcade] Initializing Arcade Plugin (network: ${network}, host: ${arcadeUrl})`);
29
- // 1. Tool
30
- api.registerTool({
31
- name: "arcade",
32
- description: "Submit and track BSV transactions with full lifecycle visibility",
33
- parameters: {
34
- type: "object",
35
- properties: {
36
- action: {
37
- type: "string",
38
- enum: ["broadcast", "status", "proof", "config"],
39
- description: "Action to perform"
40
- },
41
- txhex: {
42
- type: "string",
43
- description: "Hex-encoded raw transaction to broadcast"
44
- },
45
- txid: {
46
- type: "string",
47
- description: "Transaction ID to track or fetch proof for"
48
- }
6
+ export async function register(api) {
7
+ if (isInitialized)
8
+ return;
9
+ isInitialized = true;
10
+ const entries = api.getConfig?.()?.plugins?.entries || {};
11
+ const entry = entries['arcade']
12
+ || entries['openclaw-arcade-plugin']
13
+ || entries['openclaw-arcade']
14
+ || entries['bsv-arcade']
15
+ || {};
16
+ const pluginConfig = { ...entry, ...(entry.config || {}), ...(api.config || {}) };
17
+ const network = pluginConfig.network || 'mainnet';
18
+ const defaultArcadeUrl = network === 'testnet'
19
+ ? 'https://testnet.arc.gorillapool.io'
20
+ : 'https://arc.gorillapool.io';
21
+ const arcadeUrl = (pluginConfig.arcadeUrl || defaultArcadeUrl).replace(/\/$/, '');
22
+ api.logger.info(`[arcade] Initializing Arcade Plugin (network: ${network}, host: ${arcadeUrl})`);
23
+ // 1. Tool
24
+ api.registerTool({
25
+ name: "arcade",
26
+ description: "Submit and track BSV transactions with full lifecycle visibility",
27
+ parameters: {
28
+ type: "object",
29
+ properties: {
30
+ action: {
31
+ type: "string",
32
+ enum: ["broadcast", "status", "proof", "config"],
33
+ description: "Action to perform"
49
34
  },
50
- required: ["action"]
51
- },
52
- async execute(_id, params) {
53
- try {
54
- const { action, txhex, txid } = params;
55
- switch (action) {
56
- case "broadcast":
57
- if (!txhex)
58
- throw new Error("txhex is required for broadcast");
59
- const bResp = await fetch(`${arcadeUrl}/v1/tx`, {
60
- method: 'POST',
61
- headers: { 'Content-Type': 'application/json' },
62
- body: JSON.stringify({ rawTx: txhex })
63
- });
64
- const bData = await bResp.json();
65
- if (!bResp.ok)
66
- throw new Error(`Broadcast failed: ${JSON.stringify(bData)}`);
67
- return { content: [{ type: "text", text: `Transaction broadcasted! TXID: ${bData.txid}\nStatus: ${bData.txStatus}` }] };
68
- case "status":
69
- if (!txid)
70
- throw new Error("txid is required for status check");
71
- const sResp = await fetch(`${arcadeUrl}/v1/tx/${txid}`);
72
- const sData = await sResp.json();
73
- if (!sResp.ok)
74
- throw new Error(`Status check failed: ${JSON.stringify(sData)}`);
75
- return { content: [{ type: "text", text: `Transaction ${txid}:\nStatus: ${sData.txStatus}\nBlock: ${sData.blockHeight || 'Pending'}` }] };
76
- case "proof":
77
- if (!txid)
78
- throw new Error("txid is required for proof retrieval");
79
- const pResp = await fetch(`${arcadeUrl}/v1/tx/${txid}/proof`);
80
- if (!pResp.ok)
81
- throw new Error(`Proof retrieval failed: ${pResp.status}`);
82
- const pData = await pResp.arrayBuffer();
83
- const base64Proof = Buffer.from(pData).toString('base64');
84
- return { content: [{ type: "text", text: `Merkle Proof (Base64): ${base64Proof}` }] };
85
- case "config":
86
- return { content: [{ type: "text", text: `Arcade Configuration:\nURL: ${arcadeUrl}\nNetwork: ${network}` }] };
87
- default:
88
- throw new Error(`Unknown action: ${action}`);
89
- }
35
+ txhex: {
36
+ type: "string",
37
+ description: "Hex-encoded raw transaction to broadcast"
38
+ },
39
+ txid: {
40
+ type: "string",
41
+ description: "Transaction ID to track or fetch proof for"
90
42
  }
91
- catch (error) {
92
- return {
93
- content: [{
94
- type: "text",
95
- text: `Error: ${error.message || String(error)}`
96
- }]
97
- };
43
+ },
44
+ required: ["action"]
45
+ },
46
+ async execute(_id, params) {
47
+ try {
48
+ const { action, txhex, txid } = params;
49
+ switch (action) {
50
+ case "broadcast":
51
+ if (!txhex)
52
+ throw new Error("txhex is required for broadcast");
53
+ const bResp = await fetch(`${arcadeUrl}/v1/tx`, {
54
+ method: 'POST',
55
+ headers: { 'Content-Type': 'application/json' },
56
+ body: JSON.stringify({ rawTx: txhex })
57
+ });
58
+ const bData = await bResp.json();
59
+ if (!bResp.ok)
60
+ throw new Error(`Broadcast failed: ${JSON.stringify(bData)}`);
61
+ return { content: [{ type: "text", text: `Transaction broadcasted! TXID: ${bData.txid}\nStatus: ${bData.txStatus}` }] };
62
+ case "status":
63
+ if (!txid)
64
+ throw new Error("txid is required for status check");
65
+ const sResp = await fetch(`${arcadeUrl}/v1/tx/${txid}`);
66
+ const sData = await sResp.json();
67
+ if (!sResp.ok)
68
+ throw new Error(`Status check failed: ${JSON.stringify(sData)}`);
69
+ return { content: [{ type: "text", text: `Transaction ${txid}:\nStatus: ${sData.txStatus}\nBlock: ${sData.blockHeight || 'Pending'}` }] };
70
+ case "proof":
71
+ if (!txid)
72
+ throw new Error("txid is required for proof retrieval");
73
+ const pResp = await fetch(`${arcadeUrl}/v1/tx/${txid}/proof`);
74
+ if (!pResp.ok)
75
+ throw new Error(`Proof retrieval failed: ${pResp.status}`);
76
+ const pData = await pResp.arrayBuffer();
77
+ const base64Proof = Buffer.from(pData).toString('base64');
78
+ return { content: [{ type: "text", text: `Merkle Proof (Base64): ${base64Proof}` }] };
79
+ case "config":
80
+ return { content: [{ type: "text", text: `Arcade Configuration:\nURL: ${arcadeUrl}\nNetwork: ${network}` }] };
81
+ default:
82
+ throw new Error(`Unknown action: ${action}`);
98
83
  }
99
84
  }
100
- });
101
- // 2. Command
102
- api.registerCommand({
103
- name: "arcade",
104
- description: "BSV transaction tracking commands",
105
- acceptsArgs: true,
106
- requireAuth: true,
107
- handler: async (ctx) => {
108
- try {
109
- const args = ctx.args || [];
110
- const action = args[0] || 'config';
111
- const params = { action };
112
- if (action === 'help') {
113
- return { text: `🛡️ **Arcade Help**\n\n**Subcommands**:\n- \`status <txid>\`: Check broadcast status\n- \`broadcast <hex>\`: Send raw transaction\n- \`proof <txid>\`: Fetch Merkle Proof\n- \`config\`: Show active URL` };
114
- }
115
- if (action === 'status' && args[1])
116
- params.txid = args[1];
117
- if (action === 'broadcast' && args[1])
118
- params.txhex = args[1];
119
- // Custom logic for simplified chat output
120
- if (action === 'status' && params.txid) {
121
- const res = await fetch(`${arcadeUrl}/v1/tx/${params.txid}`);
122
- const data = await res.json();
123
- return { text: `🛡️ **Transaction Status**\n**TXID**: ${params.txid}\n**Status**: ${data.txStatus || 'Unknown'}` };
124
- }
125
- return { text: `Command '${action}' executed.` };
85
+ catch (error) {
86
+ return {
87
+ content: [{
88
+ type: "text",
89
+ text: `Error: ${error.message || String(error)}`
90
+ }]
91
+ };
92
+ }
93
+ }
94
+ });
95
+ // 2. Command
96
+ api.registerCommand({
97
+ name: "arcade",
98
+ description: "BSV transaction tracking commands",
99
+ acceptsArgs: true,
100
+ requireAuth: true,
101
+ handler: async (ctx) => {
102
+ try {
103
+ const args = ctx.args || [];
104
+ const action = args[0] || 'config';
105
+ const params = { action };
106
+ if (action === 'help') {
107
+ return { text: `🛡️ **Arcade Help**\n\n**Subcommands**:\n- \`status <txid>\`: Check broadcast status\n- \`broadcast <hex>\`: Send raw transaction\n- \`proof <txid>\`: Fetch Merkle Proof\n- \`config\`: Show active URL` };
126
108
  }
127
- catch (error) {
128
- return { text: `❌ Arcade Error: ${error.message}` };
109
+ if (action === 'status' && args[1])
110
+ params.txid = args[1];
111
+ if (action === 'broadcast' && args[1])
112
+ params.txhex = args[1];
113
+ // Custom logic for simplified chat output
114
+ if (action === 'status' && params.txid) {
115
+ const res = await fetch(`${arcadeUrl}/v1/tx/${params.txid}`);
116
+ const data = await res.json();
117
+ return { text: `🛡️ **Transaction Status**\n**TXID**: ${params.txid}\n**Status**: ${data.txStatus || 'Unknown'}` };
129
118
  }
119
+ return { text: `Command '${action}' executed.` };
130
120
  }
121
+ catch (error) {
122
+ return { text: `❌ Arcade Error: ${error.message}` };
123
+ }
124
+ }
125
+ });
126
+ // 3. CLI
127
+ api.registerCli(({ program }) => {
128
+ program.command("arcade")
129
+ .description("BSV transaction tracking commands")
130
+ .action(() => {
131
+ console.log("Usage: arcade <action> [args]");
131
132
  });
132
- // 3. CLI
133
- api.registerCli(({ program }) => {
134
- program.command("arcade")
135
- .description("BSV transaction tracking commands")
136
- .action(() => {
137
- console.log("Usage: arcade <action> [args]");
138
- });
139
- }, { descriptors: [{ name: "arcade", description: "BSV transaction tracking commands" }] });
140
- }
133
+ }, { descriptors: [{ name: "arcade", description: "BSV transaction tracking commands" }] });
134
+ }
135
+ export const plugin = {
136
+ id: "openclaw-arcade-plugin",
137
+ name: "BSV Arcade Broadcaster",
138
+ description: "Submit and track BSV transactions with full lifecycle visibility",
139
+ activate: register,
140
+ register: register
141
141
  };
142
- export default plugin;
142
+ export default register;
143
143
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAGA,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,EAAE,EAAE,wBAAwB;IAC5B,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,kEAAkE;IAE/E,KAAK,CAAC,QAAQ,CAAC,GAAQ;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,GAAQ;QACf,IAAI,aAAa;YAAE,OAAO;QAC1B,aAAa,GAAG,IAAI,CAAC;QAErB,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,wBAAwB,CAAC;eAC1C,OAAO,CAAC,iBAAiB,CAAC;eAC1B,OAAO,CAAC,YAAY,CAAC;eACrB,EAAE,CAAC;QAER,MAAM,YAAY,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAClF,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,IAAI,SAAS,CAAC;QAClD,MAAM,gBAAgB,GAAG,OAAO,KAAK,SAAS;YAC5C,CAAC,CAAC,oCAAoC;YACtC,CAAC,CAAC,4BAA4B,CAAC;QACjC,MAAM,SAAS,GAAG,CAAC,YAAY,CAAC,SAAS,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAElF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iDAAiD,OAAO,WAAW,SAAS,GAAG,CAAC,CAAC;QAEjG,UAAU;QACV,GAAG,CAAC,YAAY,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kEAAkE;YAC/E,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;wBAChD,WAAW,EAAE,mBAAmB;qBACjC;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0CAA0C;qBACxD;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4CAA4C;qBAC1D;iBACF;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;YACD,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,MAAW;gBACpC,IAAI,CAAC;oBACH,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;oBAEvC,QAAQ,MAAM,EAAE,CAAC;wBACf,KAAK,WAAW;4BACd,IAAI,CAAC,KAAK;gCAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;4BAC/D,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,QAAQ,EAAE;gCAC9C,MAAM,EAAE,MAAM;gCACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gCAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;6BACvC,CAAC,CAAC;4BACH,MAAM,KAAK,GAAQ,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;4BACtC,IAAI,CAAC,KAAK,CAAC,EAAE;gCAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BAC7E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;wBAE1H,KAAK,QAAQ;4BACX,IAAI,CAAC,IAAI;gCAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;4BAChE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,UAAU,IAAI,EAAE,CAAC,CAAC;4BACxD,MAAM,KAAK,GAAQ,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;4BACtC,IAAI,CAAC,KAAK,CAAC,EAAE;gCAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BAChF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,IAAI,cAAc,KAAK,CAAC,QAAQ,YAAY,KAAK,CAAC,WAAW,IAAI,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC;wBAE5I,KAAK,OAAO;4BACV,IAAI,CAAC,IAAI;gCAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;4BACnE,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,UAAU,IAAI,QAAQ,CAAC,CAAC;4BAC9D,IAAI,CAAC,KAAK,CAAC,EAAE;gCAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;4BAC1E,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;4BACxC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;4BAC1D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC;wBAExF,KAAK,QAAQ;4BACX,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,+BAA+B,SAAS,cAAc,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;wBAEhH;4BACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,UAAU,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;6BACjD,CAAC;qBACH,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,aAAa;QACb,GAAG,CAAC,eAAe,CAAC;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,mCAAmC;YAChD,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,KAAK,EAAE,GAAQ,EAAE,EAAE;gBAC1B,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;oBACnC,MAAM,MAAM,GAAQ,EAAE,MAAM,EAAE,CAAC;oBAE/B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;wBACtB,OAAO,EAAE,IAAI,EAAE,0MAA0M,EAAE,CAAC;oBAC9N,CAAC;oBAED,IAAI,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;wBAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC1D,IAAI,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC;wBAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAE9D,0CAA0C;oBAC1C,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBACvC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,UAAU,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC7D,MAAM,IAAI,GAAQ,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;wBACnC,OAAO,EAAE,IAAI,EAAE,yCAAyC,MAAM,CAAC,IAAI,iBAAiB,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,EAAE,CAAC;oBACrH,CAAC;oBAED,OAAO,EAAE,IAAI,EAAE,YAAY,MAAM,aAAa,EAAE,CAAC;gBACnD,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,OAAO,EAAE,IAAI,EAAE,mBAAmB,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtD,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,SAAS;QACT,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,EAAO,EAAE,EAAE;YACnC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;iBACtB,WAAW,CAAC,mCAAmC,CAAC;iBAChD,MAAM,CAAC,GAAG,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/index.ts CHANGED
@@ -7,24 +7,16 @@ let isInitialized = false;
7
7
  * OpenClaw Arcade Plugin
8
8
  * Transaction broadcasting and lifecycle tracking via BSV Arcade.
9
9
  */
10
- export const plugin = {
11
- id: "openclaw-arcade-plugin",
12
- name: "BSV Arcade Broadcaster",
13
- description: "Submit and track BSV transactions with full lifecycle visibility",
14
-
15
- async activate(api: any) {
16
- return this.register(api);
17
- },
18
-
19
- register(api: any) {
20
- if (isInitialized) return;
21
- isInitialized = true;
22
-
23
- const entries = api.getConfig?.()?.plugins?.entries || {};
24
- const entry = entries['openclaw-arcade-plugin']
25
- || entries['openclaw-arcade']
26
- || entries['bsv-arcade']
27
- || {};
10
+ export async function register(api: any) {
11
+ if (isInitialized) return;
12
+ isInitialized = true;
13
+
14
+ const entries = api.getConfig?.()?.plugins?.entries || {};
15
+ const entry = entries['arcade']
16
+ || entries['openclaw-arcade-plugin']
17
+ || entries['openclaw-arcade']
18
+ || entries['bsv-arcade']
19
+ || {};
28
20
 
29
21
  const pluginConfig = { ...entry, ...(entry.config || {}), ...(api.config || {}) };
30
22
  const network = pluginConfig.network || 'mainnet';
@@ -148,6 +140,13 @@ export const plugin = {
148
140
  });
149
141
  }, { descriptors: [{ name: "arcade", description: "BSV transaction tracking commands" }] });
150
142
  }
143
+
144
+ export const plugin = {
145
+ id: "openclaw-arcade-plugin",
146
+ name: "BSV Arcade Broadcaster",
147
+ description: "Submit and track BSV transactions with full lifecycle visibility",
148
+ activate: register,
149
+ register: register
151
150
  };
152
151
 
153
- export default plugin;
152
+ export default register;
@@ -45,11 +45,12 @@
45
45
  "type": "string",
46
46
  "enum": [
47
47
  "mainnet",
48
- "testnet"
48
+ "testnet",
49
+ "local"
49
50
  ],
50
51
  "default": "mainnet",
51
52
  "description": "BSV network to use"
52
- }
53
+ },
53
54
  }
54
55
  },
55
56
  "uiHints": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-arcade-plugin",
3
- "version": "0.1.15",
3
+ "version": "0.1.17",
4
4
  "description": "OpenClaw plugin for transaction broadcasting and lifecycle tracking via BSV Arcade",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",