@waiaas/adapter-evm 2.8.0-rc → 2.8.0-rc.4
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/README.md
CHANGED
|
@@ -120,14 +120,25 @@ npx @waiaas/skills add all
|
|
|
120
120
|
|
|
121
121
|
This adds `.skill.md` instruction files to your project. Include them in your agent's context and it learns the WAIaaS API automatically. Available skills: `setup`, `quickstart`, `wallet`, `transactions`, `policies`, `admin`, `actions`, `x402`.
|
|
122
122
|
|
|
123
|
-
### Agent Self-Setup
|
|
123
|
+
### Agent Self-Setup (Auto-Provision)
|
|
124
124
|
|
|
125
|
-
AI agents can set up WAIaaS
|
|
125
|
+
AI agents can set up WAIaaS fully autonomously with no human interaction:
|
|
126
126
|
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
```bash
|
|
128
|
+
npm install -g @waiaas/cli
|
|
129
|
+
waiaas init --auto-provision # Generates random master password → recovery.key
|
|
130
|
+
waiaas start # No password prompt
|
|
131
|
+
waiaas quickset # Creates wallets + sessions automatically
|
|
132
|
+
waiaas set-master # (Later) Harden password, then delete recovery.key
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
The `--auto-provision` flag generates a cryptographically random master password and saves it to `~/.waiaas/recovery.key`. All subsequent CLI commands read it automatically. See the [Agent Self-Setup Guide](docs/guides/agent-self-setup.md) for the complete flow.
|
|
129
136
|
|
|
130
|
-
|
|
137
|
+
For manual setup with human-guided password entry, install skills and follow `waiaas-setup/SKILL.md`:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
npx @waiaas/skills add all
|
|
141
|
+
```
|
|
131
142
|
|
|
132
143
|
## Alternative: Docker
|
|
133
144
|
|
|
@@ -203,6 +214,7 @@ Enabled by default (`admin_ui = true` in config.toml).
|
|
|
203
214
|
| [Security Model](docs/security-model.md) | Authentication, policy engine, Kill Switch, AutoStop |
|
|
204
215
|
| [Deployment Guide](docs/deployment.md) | Docker, npm, configuration reference |
|
|
205
216
|
| [API Reference](docs/api-reference.md) | REST API endpoints and authentication |
|
|
217
|
+
| [Agent Self-Setup Guide](docs/guides/agent-self-setup.md) | Fully autonomous setup with auto-provision |
|
|
206
218
|
| [Agent Skills Integration](docs/guides/agent-skills-integration.md) | Universal guide for 27+ AI agent platforms |
|
|
207
219
|
| [Claude Code Integration](docs/guides/claude-code-integration.md) | Skill files + MCP server setup for Claude Code |
|
|
208
220
|
| [OpenClaw Integration](docs/guides/openclaw-integration.md) | Quick setup for OpenClaw bot |
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
*
|
|
14
14
|
* Phase 225-02: Initial implementation.
|
|
15
15
|
*/
|
|
16
|
+
import { type Address } from 'viem';
|
|
16
17
|
import type { IChainSubscriber, IncomingTransaction, ChainType } from '@waiaas/core';
|
|
17
18
|
/** RPC alert callback type for notifying admin of RPC issues (#185). */
|
|
18
19
|
export type RpcAlertCallback = (alert: {
|
|
@@ -27,18 +28,28 @@ export type RpcAlertCallback = (alert: {
|
|
|
27
28
|
export declare class EvmIncomingSubscriber implements IChainSubscriber {
|
|
28
29
|
readonly chain: ChainType;
|
|
29
30
|
private client;
|
|
31
|
+
private currentRpcUrl;
|
|
32
|
+
private resolveRpcUrl;
|
|
33
|
+
private reportRpcFailure?;
|
|
34
|
+
private reportRpcSuccess?;
|
|
30
35
|
private subscriptions;
|
|
31
36
|
private generateId;
|
|
32
37
|
private onRpcAlert?;
|
|
38
|
+
private resolveTokenAddresses?;
|
|
33
39
|
private errorCount;
|
|
34
40
|
private backoffUntil;
|
|
35
41
|
/** Track wallets that already emitted RPC_HEALTH_DEGRADED to avoid spam. */
|
|
36
42
|
private alertedWallets;
|
|
37
43
|
constructor(config: {
|
|
38
|
-
rpcUrl
|
|
44
|
+
rpcUrl?: string;
|
|
45
|
+
resolveRpcUrl?: () => string;
|
|
46
|
+
reportRpcFailure?: (url: string) => void;
|
|
47
|
+
reportRpcSuccess?: (url: string) => void;
|
|
39
48
|
wsUrl?: string;
|
|
40
49
|
generateId?: () => string;
|
|
41
50
|
onRpcAlert?: RpcAlertCallback;
|
|
51
|
+
/** Resolve registered token contract addresses for getLogs address filter (#203). */
|
|
52
|
+
resolveTokenAddresses?: () => Address[];
|
|
42
53
|
});
|
|
43
54
|
subscribe(walletId: string, address: string, network: string, onTransaction: (tx: IncomingTransaction) => void): Promise<void>;
|
|
44
55
|
unsubscribe(walletId: string): Promise<void>;
|
|
@@ -52,6 +63,11 @@ export declare class EvmIncomingSubscriber implements IChainSubscriber {
|
|
|
52
63
|
*/
|
|
53
64
|
getBlockNumber(): Promise<bigint>;
|
|
54
65
|
pollAll(): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Re-resolve RPC URL from pool and recreate viem client if URL changed (#199).
|
|
68
|
+
* Called at the start of each pollAll() cycle to pick up cooldown rotations.
|
|
69
|
+
*/
|
|
70
|
+
private refreshClient;
|
|
55
71
|
private pollERC20;
|
|
56
72
|
private pollNativeETH;
|
|
57
73
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm-incoming-subscriber.d.ts","sourceRoot":"","sources":["../src/evm-incoming-subscriber.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"evm-incoming-subscriber.d.ts","sourceRoot":"","sources":["../src/evm-incoming-subscriber.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAKL,KAAK,OAAO,EACb,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAuCrF,wEAAwE;AACxE,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE;IACrC,IAAI,EAAE,qBAAqB,GAAG,2BAA2B,CAAC;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,KAAK,IAAI,CAAC;AAEX,qBAAa,qBAAsB,YAAW,gBAAgB;IAC5D,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAc;IAEvC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IACjD,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IACjD,OAAO,CAAC,aAAa,CAAsC;IAC3D,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,UAAU,CAAC,CAAmB;IACtC,OAAO,CAAC,qBAAqB,CAAC,CAAkB;IAChD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAK;IACzB,4EAA4E;IAC5E,OAAO,CAAC,cAAc,CAAqB;gBAE/B,MAAM,EAAE;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC;QAC7B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QACzC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QACzC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,gBAAgB,CAAC;QAC9B,qFAAqF;QACrF,qBAAqB,CAAC,EAAE,MAAM,OAAO,EAAE,CAAC;KACzC;IAeK,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,CAAC,EAAE,EAAE,mBAAmB,KAAK,IAAI,GAC/C,OAAO,CAAC,IAAI,CAAC;IAcV,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlD,iBAAiB,IAAI,MAAM,EAAE;IAMvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQlC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAMjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAyI9B;;;OAGG;IACH,OAAO,CAAC,aAAa;YAYP,SAAS;YAuCT,aAAa;CA4C5B"}
|
|
@@ -37,17 +37,27 @@ const RPC_ALERT_THRESHOLD = 5;
|
|
|
37
37
|
export class EvmIncomingSubscriber {
|
|
38
38
|
chain = 'ethereum';
|
|
39
39
|
client;
|
|
40
|
+
currentRpcUrl;
|
|
41
|
+
resolveRpcUrl;
|
|
42
|
+
reportRpcFailure;
|
|
43
|
+
reportRpcSuccess;
|
|
40
44
|
subscriptions = new Map();
|
|
41
45
|
generateId;
|
|
42
46
|
onRpcAlert;
|
|
47
|
+
resolveTokenAddresses;
|
|
43
48
|
errorCount = 0;
|
|
44
49
|
backoffUntil = 0;
|
|
45
50
|
/** Track wallets that already emitted RPC_HEALTH_DEGRADED to avoid spam. */
|
|
46
51
|
alertedWallets = new Set();
|
|
47
52
|
constructor(config) {
|
|
48
|
-
this.
|
|
53
|
+
this.resolveRpcUrl = config.resolveRpcUrl ?? (() => config.rpcUrl);
|
|
54
|
+
this.reportRpcFailure = config.reportRpcFailure;
|
|
55
|
+
this.reportRpcSuccess = config.reportRpcSuccess;
|
|
56
|
+
this.currentRpcUrl = this.resolveRpcUrl();
|
|
57
|
+
this.client = createPublicClient({ transport: http(this.currentRpcUrl) });
|
|
49
58
|
this.generateId = config.generateId ?? (() => crypto.randomUUID());
|
|
50
59
|
this.onRpcAlert = config.onRpcAlert;
|
|
60
|
+
this.resolveTokenAddresses = config.resolveTokenAddresses;
|
|
51
61
|
// wsUrl accepted for future WSS subscription support (#193).
|
|
52
62
|
// Currently stored but unused -- EVM uses polling-first strategy (D-06).
|
|
53
63
|
}
|
|
@@ -99,6 +109,9 @@ export class EvmIncomingSubscriber {
|
|
|
99
109
|
// Backoff: skip polling if still within backoff window
|
|
100
110
|
if (Date.now() < this.backoffUntil)
|
|
101
111
|
return;
|
|
112
|
+
// Dynamic RPC URL re-resolution: switch to next available endpoint (#199)
|
|
113
|
+
this.refreshClient();
|
|
114
|
+
const rpcUrl = this.currentRpcUrl;
|
|
102
115
|
let hadError = false;
|
|
103
116
|
try {
|
|
104
117
|
const currentBlock = await this.client.getBlockNumber();
|
|
@@ -173,11 +186,17 @@ export class EvmIncomingSubscriber {
|
|
|
173
186
|
if (!hadError) {
|
|
174
187
|
this.errorCount = 0;
|
|
175
188
|
this.backoffUntil = 0;
|
|
189
|
+
this.reportRpcSuccess?.(rpcUrl);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
// At least one per-wallet error: report to RPC Pool for cooldown (#199)
|
|
193
|
+
this.reportRpcFailure?.(rpcUrl);
|
|
176
194
|
}
|
|
177
195
|
}
|
|
178
196
|
catch (err) {
|
|
179
197
|
// RPC-level error (e.g. getBlockNumber failed — 429/500): apply backoff
|
|
180
198
|
this.errorCount++;
|
|
199
|
+
this.reportRpcFailure?.(rpcUrl);
|
|
181
200
|
const backoffMs = Math.min(BACKOFF_BASE_MS * 2 ** (this.errorCount - 1), BACKOFF_MAX_MS);
|
|
182
201
|
this.backoffUntil = Date.now() + backoffMs;
|
|
183
202
|
if (this.errorCount >= WARN_THRESHOLD) {
|
|
@@ -186,14 +205,38 @@ export class EvmIncomingSubscriber {
|
|
|
186
205
|
}
|
|
187
206
|
}
|
|
188
207
|
// -- Private helpers --
|
|
208
|
+
/**
|
|
209
|
+
* Re-resolve RPC URL from pool and recreate viem client if URL changed (#199).
|
|
210
|
+
* Called at the start of each pollAll() cycle to pick up cooldown rotations.
|
|
211
|
+
*/
|
|
212
|
+
refreshClient() {
|
|
213
|
+
try {
|
|
214
|
+
const newUrl = this.resolveRpcUrl();
|
|
215
|
+
if (newUrl !== this.currentRpcUrl) {
|
|
216
|
+
this.currentRpcUrl = newUrl;
|
|
217
|
+
this.client = createPublicClient({ transport: http(newUrl) });
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
catch {
|
|
221
|
+
// resolveRpcUrl may throw (e.g., AllRpcFailedError) — keep current client
|
|
222
|
+
}
|
|
223
|
+
}
|
|
189
224
|
async pollERC20(walletAddress, fromBlock, toBlock, walletId, network) {
|
|
225
|
+
// Resolve token addresses for getLogs address filter (#203)
|
|
226
|
+
const tokenAddresses = this.resolveTokenAddresses?.() ?? [];
|
|
227
|
+
// No registered tokens → skip ERC-20 polling gracefully (#203)
|
|
228
|
+
if (tokenAddresses.length === 0)
|
|
229
|
+
return [];
|
|
190
230
|
const logs = await this.client.getLogs({
|
|
231
|
+
address: tokenAddresses,
|
|
191
232
|
event: TRANSFER_EVENT,
|
|
192
233
|
args: { to: walletAddress },
|
|
193
234
|
fromBlock,
|
|
194
235
|
toBlock,
|
|
195
236
|
});
|
|
196
|
-
return
|
|
237
|
+
// Null guard: some RPCs return null instead of empty array (#203)
|
|
238
|
+
const results = logs ?? [];
|
|
239
|
+
return results.map((log) => ({
|
|
197
240
|
id: this.generateId(),
|
|
198
241
|
txHash: log.transactionHash,
|
|
199
242
|
walletId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm-incoming-subscriber.js","sourceRoot":"","sources":["../src/evm-incoming-subscriber.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,kBAAkB,EAClB,IAAI,EACJ,YAAY,GAGb,MAAM,MAAM,CAAC;AAGd,6DAA6D;AAC7D,MAAM,cAAc,GAAG,YAAY,CACjC,yEAAyE,CAC1E,CAAC;AAEF,sEAAsE;AACtE,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAa7D,gDAAgD;AAChD,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,mCAAmC;AACnC,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,8DAA8D;AAC9D,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,oEAAoE;AACpE,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,2EAA2E;AAC3E,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAa9B,MAAM,OAAO,qBAAqB;IACvB,KAAK,GAAc,UAAU,CAAC;IAE/B,MAAM,CAAe;IACrB,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;IACnD,UAAU,CAAe;IACzB,UAAU,CAAoB;IAC9B,UAAU,GAAG,CAAC,CAAC;IACf,YAAY,GAAG,CAAC,CAAC;IACzB,4EAA4E;IACpE,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C,YAAY,
|
|
1
|
+
{"version":3,"file":"evm-incoming-subscriber.js","sourceRoot":"","sources":["../src/evm-incoming-subscriber.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,kBAAkB,EAClB,IAAI,EACJ,YAAY,GAGb,MAAM,MAAM,CAAC;AAGd,6DAA6D;AAC7D,MAAM,cAAc,GAAG,YAAY,CACjC,yEAAyE,CAC1E,CAAC;AAEF,sEAAsE;AACtE,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAa7D,gDAAgD;AAChD,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,mCAAmC;AACnC,MAAM,cAAc,GAAG,OAAO,CAAC;AAC/B,8DAA8D;AAC9D,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,oEAAoE;AACpE,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAC/B,2EAA2E;AAC3E,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAa9B,MAAM,OAAO,qBAAqB;IACvB,KAAK,GAAc,UAAU,CAAC;IAE/B,MAAM,CAAe;IACrB,aAAa,CAAS;IACtB,aAAa,CAAe;IAC5B,gBAAgB,CAAyB;IACzC,gBAAgB,CAAyB;IACzC,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;IACnD,UAAU,CAAe;IACzB,UAAU,CAAoB;IAC9B,qBAAqB,CAAmB;IACxC,UAAU,GAAG,CAAC,CAAC;IACf,YAAY,GAAG,CAAC,CAAC;IACzB,4EAA4E;IACpE,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C,YAAY,MAUX;QACC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAO,CAAC,CAAC;QACpE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC1D,6DAA6D;QAC7D,yEAAyE;IAC3E,CAAC;IAED,oCAAoC;IAEpC,KAAK,CAAC,SAAS,CACb,QAAgB,EAChB,OAAe,EACf,OAAe,EACf,aAAgD;QAEhD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,aAAa;QAE3D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE;YAC/B,OAAO;YACP,OAAO;YACP,aAAa;YACb,SAAS,EAAE,YAAY;YACvB,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;SAChB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB;IAElB,iBAAiB;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,sBAAsB;IAEtB,KAAK,CAAC,OAAO;QACX,iEAAiE;IACnE,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,4EAA4E;QAC5E,0EAA0E;QAC1E,kEAAkE;QAClE,0EAA0E;QAC1E,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,kDAAkD;IAElD;;;OAGG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IACtC,CAAC;IAED,2DAA2D;IAE3D,KAAK,CAAC,OAAO;QACX,uDAAuD;QACvD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY;YAAE,OAAO;QAE3C,0EAA0E;QAC1E,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAElC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAExD,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjD,2DAA2D;gBAC3D,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,YAAY;oBAAE,SAAS;gBAE5C,IAAI,CAAC;oBACH,IAAI,GAAG,CAAC,SAAS,IAAI,YAAY;wBAAE,SAAS,CAAC,gBAAgB;oBAE7D,MAAM,OAAO,GACX,GAAG,CAAC,SAAS,GAAG,eAAe,GAAG,YAAY;wBAC5C,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,eAAe;wBACjC,CAAC,CAAC,YAAY,CAAC;oBAEnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CACnC,GAAG,CAAC,OAAkB,EACtB,GAAG,CAAC,SAAS,GAAG,EAAE,EAClB,OAAO,EACP,QAAQ,EACR,GAAG,CAAC,OAAO,CACZ,CAAC;oBAEF,wEAAwE;oBACxE,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxE,MAAM,SAAS,GAAG,IAAI;wBACpB,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CACtB,GAAG,CAAC,OAAkB,EACtB,GAAG,CAAC,SAAS,GAAG,EAAE,EAClB,OAAO,EACP,QAAQ,EACR,GAAG,CAAC,OAAO,CACZ,CAAC;oBAEN,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC;oBAC3C,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;wBACxB,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;oBACxB,CAAC;oBAED,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;oBACxB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;oBACnB,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC;oBACrB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,QAAQ,GAAG,IAAI,CAAC;oBAChB,GAAG,CAAC,UAAU,EAAE,CAAC;oBAEjB,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAEhE,iFAAiF;oBACjF,IAAI,GAAG,CAAC,UAAU,IAAI,oBAAoB,EAAE,CAAC;wBAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;wBACrC,MAAM,OAAO,GACX,GAAG,CAAC,SAAS,GAAG,eAAe,GAAG,YAAY;4BAC5C,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,eAAe;4BACjC,CAAC,CAAC,YAAY,CAAC;wBACnB,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;wBAExB,8CAA8C;wBAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,IAAI,EAAE,2BAA2B;4BACjC,QAAQ;4BACR,OAAO,EAAE,GAAG,CAAC,OAAO;4BACpB,UAAU,EAAE,GAAG,CAAC,UAAU;4BAC1B,SAAS,EAAE,MAAM;4BACjB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;4BAC5B,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;yBACzB,CAAC,CAAC;oBACL,CAAC;oBAED,iCAAiC;oBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,eAAe,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,EAC3C,cAAc,CACf,CAAC;oBACF,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;oBAE1C,wDAAwD;oBACxD,IAAI,GAAG,CAAC,UAAU,KAAK,mBAAmB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAClC,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,IAAI,EAAE,qBAAqB;4BAC3B,QAAQ;4BACR,OAAO,EAAE,GAAG,CAAC,OAAO;4BACpB,UAAU,EAAE,GAAG,CAAC,UAAU;4BAC1B,SAAS,EAAE,MAAM;yBAClB,CAAC,CAAC;oBACL,CAAC;oBAED,oEAAoE;oBACpE,IAAI,GAAG,CAAC,UAAU,IAAI,cAAc,EAAE,CAAC;wBACrC,OAAO,CAAC,IAAI,CACV,8BAA8B,QAAQ,aAAa,SAAS,GAAG,IAAI,mBAAmB,GAAG,CAAC,UAAU,MAAM,MAAM,EAAE,CACnH,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iEAAiE;YACjE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;gBACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,wEAAwE;gBACxE,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,wEAAwE;YACxE,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,eAAe,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EAC5C,cAAc,CACf,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC3C,IAAI,IAAI,CAAC,UAAU,IAAI,cAAc,EAAE,CAAC;gBACtC,OAAO,CAAC,IAAI,CACV,+BAA+B,SAAS,GAAG,IAAI,mBAAmB,IAAI,CAAC,UAAU,IAAI,EACrF,GAAG,CACJ,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,wBAAwB;IAExB;;;OAGG;IACK,aAAa;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,IAAI,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;gBAClC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;QAC5E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,SAAS,CACrB,aAAsB,EACtB,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,OAAe;QAEf,4DAA4D;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC;QAE5D,+DAA+D;QAC/D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACrC,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE;YAC3B,SAAS;YACT,OAAO;SACR,CAAC,CAAC;QAEH,kEAAkE;QAClE,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC3B,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;YACrB,MAAM,EAAE,GAAG,CAAC,eAAgB;YAC5B,QAAQ;YACR,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,IAAK;YAC3B,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAM,CAAC,QAAQ,EAAE;YAClC,YAAY,EAAE,GAAG,CAAC,OAAO;YACzB,KAAK,EAAE,UAAmB;YAC1B,OAAO;YACP,MAAM,EAAE,UAAmB;YAC3B,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;YACpC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACzC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,aAAsB,EACtB,SAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,OAAe;QAEf,MAAM,OAAO,GAA0B,EAAE,CAAC;QAE1C,KAAK,IAAI,QAAQ,GAAG,SAAS,EAAE,QAAQ,IAAI,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACvC,WAAW,EAAE,QAAQ;gBACrB,mBAAmB,EAAE,IAAI;aAC1B,CAAC,CAAC;YAEH,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACpC,2DAA2D;gBAC3D,IAAI,OAAO,EAAE,KAAK,QAAQ;oBAAE,SAAS;gBACrC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,EAAE;oBAAE,SAAS;gBAE/C,IACE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE;oBACnD,EAAE,CAAC,KAAK,GAAG,EAAE,EACb,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC;wBACX,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE;wBACrB,MAAM,EAAE,EAAE,CAAC,IAAI;wBACf,QAAQ;wBACR,WAAW,EAAE,EAAE,CAAC,IAAI;wBACpB,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE;wBAC3B,YAAY,EAAE,IAAI,EAAE,aAAa;wBACjC,KAAK,EAAE,UAAmB;wBAC1B,OAAO;wBACP,MAAM,EAAE,UAAmB;wBAC3B,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;wBAC7B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;wBACzC,WAAW,EAAE,IAAI;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@waiaas/adapter-evm",
|
|
3
|
-
"version": "2.8.0-rc",
|
|
3
|
+
"version": "2.8.0-rc.4",
|
|
4
4
|
"description": "WAIaaS EVM chain adapter - Ethereum/ERC-20 support via viem",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"viem": "^2.21.0",
|
|
32
|
-
"@waiaas/core": "2.8.0-rc"
|
|
32
|
+
"@waiaas/core": "2.8.0-rc.4"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@types/node": "^25.2.3"
|