agentwallet-sdk 3.3.0 → 3.4.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/README.md +41 -516
- package/dist/bridge/abis.d.ts +48 -171
- package/dist/bridge/abis.d.ts.map +1 -1
- package/dist/bridge/abis.js.map +1 -1
- package/dist/bridge/client.d.ts +2 -41
- package/dist/bridge/client.d.ts.map +1 -1
- package/dist/bridge/client.js +35 -168
- package/dist/bridge/client.js.map +1 -1
- package/dist/bridge/index.d.ts +2 -4
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/index.js +1 -8
- package/dist/bridge/index.js.map +1 -1
- package/dist/bridge/types.d.ts +15 -134
- package/dist/bridge/types.d.ts.map +1 -1
- package/dist/bridge/types.js +16 -170
- package/dist/bridge/types.js.map +1 -1
- package/dist/identity/erc8004.d.ts +2 -240
- package/dist/identity/erc8004.d.ts.map +1 -1
- package/dist/identity/erc8004.js +58 -334
- package/dist/identity/erc8004.js.map +1 -1
- package/dist/index.d.ts +313 -136
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -59
- package/dist/index.js.map +1 -1
- package/dist/swap/SwapModule.d.ts +6 -50
- package/dist/swap/SwapModule.d.ts.map +1 -1
- package/dist/swap/SwapModule.js +25 -153
- package/dist/swap/SwapModule.js.map +1 -1
- package/dist/swap/abi.d.ts +47 -165
- package/dist/swap/abi.d.ts.map +1 -1
- package/dist/swap/abi.js.map +1 -1
- package/dist/swap/index.d.ts +2 -3
- package/dist/swap/index.d.ts.map +1 -1
- package/dist/swap/index.js +1 -4
- package/dist/swap/index.js.map +1 -1
- package/dist/swap/types.d.ts +6 -36
- package/dist/swap/types.d.ts.map +1 -1
- package/dist/swap/types.js +0 -1
- package/dist/swap/types.js.map +1 -1
- package/dist/types.d.ts +1 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -1
- package/dist/types.js.map +1 -1
- package/dist/x402/__tests__/budget.test.d.ts +2 -0
- package/dist/x402/__tests__/budget.test.d.ts.map +1 -0
- package/dist/x402/__tests__/budget.test.js +114 -0
- package/dist/x402/__tests__/budget.test.js.map +1 -0
- package/dist/x402/__tests__/client.test.d.ts +2 -0
- package/dist/x402/__tests__/client.test.d.ts.map +1 -0
- package/dist/x402/__tests__/client.test.js +107 -0
- package/dist/x402/__tests__/client.test.js.map +1 -0
- package/dist/x402/chains/abstract/index.d.ts +135 -0
- package/dist/x402/chains/abstract/index.d.ts.map +1 -0
- package/dist/x402/chains/abstract/index.js +190 -0
- package/dist/x402/chains/abstract/index.js.map +1 -0
- package/dist/x402/client.d.ts +1 -4
- package/dist/x402/client.d.ts.map +1 -1
- package/dist/x402/client.js +2 -16
- package/dist/x402/client.js.map +1 -1
- package/dist/x402/index.d.ts +3 -1
- package/dist/x402/index.d.ts.map +1 -1
- package/dist/x402/index.js +3 -1
- package/dist/x402/index.js.map +1 -1
- package/dist/x402/types.d.ts +3 -5
- package/dist/x402/types.d.ts.map +1 -1
- package/dist/x402/types.js +2 -17
- package/dist/x402/types.js.map +1 -1
- package/package.json +12 -32
- package/dist/ap2/index.d.ts +0 -185
- package/dist/ap2/index.d.ts.map +0 -1
- package/dist/ap2/index.js +0 -255
- package/dist/ap2/index.js.map +0 -1
- package/dist/bridge/unified.d.ts +0 -101
- package/dist/bridge/unified.d.ts.map +0 -1
- package/dist/bridge/unified.js +0 -284
- package/dist/bridge/unified.js.map +0 -1
- package/dist/chains.d.ts +0 -62
- package/dist/chains.d.ts.map +0 -1
- package/dist/chains.js +0 -108
- package/dist/chains.js.map +0 -1
- package/dist/fiat/index.d.ts +0 -10
- package/dist/fiat/index.d.ts.map +0 -1
- package/dist/fiat/index.js +0 -9
- package/dist/fiat/index.js.map +0 -1
- package/dist/fiat/onramp.d.ts +0 -101
- package/dist/fiat/onramp.d.ts.map +0 -1
- package/dist/fiat/onramp.js +0 -155
- package/dist/fiat/onramp.js.map +0 -1
- package/dist/fiat/providers/index.d.ts +0 -16
- package/dist/fiat/providers/index.d.ts.map +0 -1
- package/dist/fiat/providers/index.js +0 -30
- package/dist/fiat/providers/index.js.map +0 -1
- package/dist/fiat/providers/moonpay.d.ts +0 -22
- package/dist/fiat/providers/moonpay.d.ts.map +0 -1
- package/dist/fiat/providers/moonpay.js +0 -107
- package/dist/fiat/providers/moonpay.js.map +0 -1
- package/dist/fiat/providers/stripe.d.ts +0 -26
- package/dist/fiat/providers/stripe.d.ts.map +0 -1
- package/dist/fiat/providers/stripe.js +0 -135
- package/dist/fiat/providers/stripe.js.map +0 -1
- package/dist/fiat/providers/transak.d.ts +0 -26
- package/dist/fiat/providers/transak.d.ts.map +0 -1
- package/dist/fiat/providers/transak.js +0 -119
- package/dist/fiat/providers/transak.js.map +0 -1
- package/dist/fiat/types.d.ts +0 -106
- package/dist/fiat/types.d.ts.map +0 -1
- package/dist/fiat/types.js +0 -13
- package/dist/fiat/types.js.map +0 -1
- package/dist/flash/executor.d.ts +0 -119
- package/dist/flash/executor.d.ts.map +0 -1
- package/dist/flash/executor.js +0 -195
- package/dist/flash/executor.js.map +0 -1
- package/dist/flash/index.d.ts +0 -28
- package/dist/flash/index.d.ts.map +0 -1
- package/dist/flash/index.js +0 -25
- package/dist/flash/index.js.map +0 -1
- package/dist/flash/scanner.d.ts +0 -133
- package/dist/flash/scanner.d.ts.map +0 -1
- package/dist/flash/scanner.js +0 -212
- package/dist/flash/scanner.js.map +0 -1
- package/dist/flash/types.d.ts +0 -136
- package/dist/flash/types.d.ts.map +0 -1
- package/dist/flash/types.js +0 -23
- package/dist/flash/types.js.map +0 -1
- package/dist/gas/index.d.ts +0 -4
- package/dist/gas/index.d.ts.map +0 -1
- package/dist/gas/index.js +0 -3
- package/dist/gas/index.js.map +0 -1
- package/dist/gas/sponsor.d.ts +0 -70
- package/dist/gas/sponsor.d.ts.map +0 -1
- package/dist/gas/sponsor.js +0 -193
- package/dist/gas/sponsor.js.map +0 -1
- package/dist/gas/types.d.ts +0 -76
- package/dist/gas/types.d.ts.map +0 -1
- package/dist/gas/types.js +0 -21
- package/dist/gas/types.js.map +0 -1
- package/dist/identity/agent-identity.d.ts +0 -276
- package/dist/identity/agent-identity.d.ts.map +0 -1
- package/dist/identity/agent-identity.js +0 -300
- package/dist/identity/agent-identity.js.map +0 -1
- package/dist/identity/erc6551.d.ts +0 -441
- package/dist/identity/erc6551.d.ts.map +0 -1
- package/dist/identity/erc6551.js +0 -517
- package/dist/identity/erc6551.js.map +0 -1
- package/dist/mev/index.d.ts +0 -4
- package/dist/mev/index.d.ts.map +0 -1
- package/dist/mev/index.js +0 -4
- package/dist/mev/index.js.map +0 -1
- package/dist/mev/protection.d.ts +0 -54
- package/dist/mev/protection.d.ts.map +0 -1
- package/dist/mev/protection.js +0 -185
- package/dist/mev/protection.js.map +0 -1
- package/dist/mev/risk.d.ts +0 -19
- package/dist/mev/risk.d.ts.map +0 -1
- package/dist/mev/risk.js +0 -95
- package/dist/mev/risk.js.map +0 -1
- package/dist/mev/types.d.ts +0 -49
- package/dist/mev/types.d.ts.map +0 -1
- package/dist/mev/types.js +0 -2
- package/dist/mev/types.js.map +0 -1
- package/dist/settlement/index.d.ts +0 -4
- package/dist/settlement/index.d.ts.map +0 -1
- package/dist/settlement/index.js +0 -3
- package/dist/settlement/index.js.map +0 -1
- package/dist/settlement/types.d.ts +0 -66
- package/dist/settlement/types.d.ts.map +0 -1
- package/dist/settlement/types.js +0 -37
- package/dist/settlement/types.js.map +0 -1
- package/dist/settlement/verifier.d.ts +0 -75
- package/dist/settlement/verifier.d.ts.map +0 -1
- package/dist/settlement/verifier.js +0 -354
- package/dist/settlement/verifier.js.map +0 -1
- package/dist/solana/bridge.d.ts +0 -144
- package/dist/solana/bridge.d.ts.map +0 -1
- package/dist/solana/bridge.js +0 -352
- package/dist/solana/bridge.js.map +0 -1
- package/dist/solana/index.d.ts +0 -8
- package/dist/solana/index.d.ts.map +0 -1
- package/dist/solana/index.js +0 -6
- package/dist/solana/index.js.map +0 -1
- package/dist/solana/swap.d.ts +0 -85
- package/dist/solana/swap.d.ts.map +0 -1
- package/dist/solana/swap.js +0 -173
- package/dist/solana/swap.js.map +0 -1
- package/dist/solana/types.d.ts +0 -126
- package/dist/solana/types.d.ts.map +0 -1
- package/dist/solana/types.js +0 -10
- package/dist/solana/types.js.map +0 -1
- package/dist/solana/wallet.d.ts +0 -83
- package/dist/solana/wallet.d.ts.map +0 -1
- package/dist/solana/wallet.js +0 -164
- package/dist/solana/wallet.js.map +0 -1
- package/dist/solana/x402.d.ts +0 -69
- package/dist/solana/x402.d.ts.map +0 -1
- package/dist/solana/x402.js +0 -154
- package/dist/solana/x402.js.map +0 -1
- package/dist/solver/adapter.d.ts +0 -47
- package/dist/solver/adapter.d.ts.map +0 -1
- package/dist/solver/adapter.js +0 -138
- package/dist/solver/adapter.js.map +0 -1
- package/dist/solver/analyzer.d.ts +0 -48
- package/dist/solver/analyzer.d.ts.map +0 -1
- package/dist/solver/analyzer.js +0 -89
- package/dist/solver/analyzer.js.map +0 -1
- package/dist/solver/builder.d.ts +0 -31
- package/dist/solver/builder.d.ts.map +0 -1
- package/dist/solver/builder.js +0 -60
- package/dist/solver/builder.js.map +0 -1
- package/dist/solver/index.d.ts +0 -22
- package/dist/solver/index.d.ts.map +0 -1
- package/dist/solver/index.js +0 -21
- package/dist/solver/index.js.map +0 -1
- package/dist/solver/types.d.ts +0 -115
- package/dist/solver/types.d.ts.map +0 -1
- package/dist/solver/types.js +0 -10
- package/dist/solver/types.js.map +0 -1
- package/dist/spend-guard/index.d.ts +0 -125
- package/dist/spend-guard/index.d.ts.map +0 -1
- package/dist/spend-guard/index.js +0 -150
- package/dist/spend-guard/index.js.map +0 -1
- package/dist/swap/router/cache.d.ts +0 -13
- package/dist/swap/router/cache.d.ts.map +0 -1
- package/dist/swap/router/cache.js +0 -30
- package/dist/swap/router/cache.js.map +0 -1
- package/dist/swap/router/flashbots.d.ts +0 -10
- package/dist/swap/router/flashbots.d.ts.map +0 -1
- package/dist/swap/router/flashbots.js +0 -43
- package/dist/swap/router/flashbots.js.map +0 -1
- package/dist/swap/router/health.d.ts +0 -17
- package/dist/swap/router/health.d.ts.map +0 -1
- package/dist/swap/router/health.js +0 -38
- package/dist/swap/router/health.js.map +0 -1
- package/dist/swap/router/index.d.ts +0 -10
- package/dist/swap/router/index.d.ts.map +0 -1
- package/dist/swap/router/index.js +0 -10
- package/dist/swap/router/index.js.map +0 -1
- package/dist/swap/router/providers/cowswap.d.ts +0 -11
- package/dist/swap/router/providers/cowswap.d.ts.map +0 -1
- package/dist/swap/router/providers/cowswap.js +0 -79
- package/dist/swap/router/providers/cowswap.js.map +0 -1
- package/dist/swap/router/providers/index.d.ts +0 -20
- package/dist/swap/router/providers/index.d.ts.map +0 -1
- package/dist/swap/router/providers/index.js +0 -32
- package/dist/swap/router/providers/index.js.map +0 -1
- package/dist/swap/router/providers/jupiter.d.ts +0 -12
- package/dist/swap/router/providers/jupiter.d.ts.map +0 -1
- package/dist/swap/router/providers/jupiter.js +0 -73
- package/dist/swap/router/providers/jupiter.js.map +0 -1
- package/dist/swap/router/providers/lifi.d.ts +0 -11
- package/dist/swap/router/providers/lifi.d.ts.map +0 -1
- package/dist/swap/router/providers/lifi.js +0 -123
- package/dist/swap/router/providers/lifi.js.map +0 -1
- package/dist/swap/router/providers/oneinch.d.ts +0 -13
- package/dist/swap/router/providers/oneinch.d.ts.map +0 -1
- package/dist/swap/router/providers/oneinch.js +0 -71
- package/dist/swap/router/providers/oneinch.js.map +0 -1
- package/dist/swap/router/providers/paraswap.d.ts +0 -11
- package/dist/swap/router/providers/paraswap.d.ts.map +0 -1
- package/dist/swap/router/providers/paraswap.js +0 -73
- package/dist/swap/router/providers/paraswap.js.map +0 -1
- package/dist/swap/router/providers/uniswap.d.ts +0 -31
- package/dist/swap/router/providers/uniswap.d.ts.map +0 -1
- package/dist/swap/router/providers/uniswap.js +0 -116
- package/dist/swap/router/providers/uniswap.js.map +0 -1
- package/dist/swap/router/providers/zerox.d.ts +0 -13
- package/dist/swap/router/providers/zerox.d.ts.map +0 -1
- package/dist/swap/router/providers/zerox.js +0 -94
- package/dist/swap/router/providers/zerox.js.map +0 -1
- package/dist/swap/router/router.d.ts +0 -86
- package/dist/swap/router/router.d.ts.map +0 -1
- package/dist/swap/router/router.js +0 -224
- package/dist/swap/router/router.js.map +0 -1
- package/dist/swap/router/rsi/engine.d.ts +0 -60
- package/dist/swap/router/rsi/engine.d.ts.map +0 -1
- package/dist/swap/router/rsi/engine.js +0 -483
- package/dist/swap/router/rsi/engine.js.map +0 -1
- package/dist/swap/router/rsi/index.d.ts +0 -3
- package/dist/swap/router/rsi/index.d.ts.map +0 -1
- package/dist/swap/router/rsi/index.js +0 -3
- package/dist/swap/router/rsi/index.js.map +0 -1
- package/dist/swap/router/rsi/types.d.ts +0 -106
- package/dist/swap/router/rsi/types.d.ts.map +0 -1
- package/dist/swap/router/rsi/types.js +0 -3
- package/dist/swap/router/rsi/types.js.map +0 -1
- package/dist/swap/router/types.d.ts +0 -120
- package/dist/swap/router/types.d.ts.map +0 -1
- package/dist/swap/router/types.js +0 -16
- package/dist/swap/router/types.js.map +0 -1
- package/dist/tax/engine.d.ts +0 -131
- package/dist/tax/engine.d.ts.map +0 -1
- package/dist/tax/engine.js +0 -307
- package/dist/tax/engine.js.map +0 -1
- package/dist/tax/index.d.ts +0 -9
- package/dist/tax/index.d.ts.map +0 -1
- package/dist/tax/index.js +0 -8
- package/dist/tax/index.js.map +0 -1
- package/dist/tax/lots.d.ts +0 -60
- package/dist/tax/lots.d.ts.map +0 -1
- package/dist/tax/lots.js +0 -129
- package/dist/tax/lots.js.map +0 -1
- package/dist/tax/types.d.ts +0 -113
- package/dist/tax/types.d.ts.map +0 -1
- package/dist/tax/types.js +0 -18
- package/dist/tax/types.js.map +0 -1
- package/dist/yield/index.d.ts +0 -26
- package/dist/yield/index.d.ts.map +0 -1
- package/dist/yield/index.js +0 -25
- package/dist/yield/index.js.map +0 -1
- package/dist/yield/rates.d.ts +0 -114
- package/dist/yield/rates.d.ts.map +0 -1
- package/dist/yield/rates.js +0 -351
- package/dist/yield/rates.js.map +0 -1
- package/dist/yield/types.d.ts +0 -134
- package/dist/yield/types.d.ts.map +0 -1
- package/dist/yield/types.js +0 -24
- package/dist/yield/types.js.map +0 -1
- package/dist/yield/vault.d.ts +0 -112
- package/dist/yield/vault.d.ts.map +0 -1
- package/dist/yield/vault.js +0 -264
- package/dist/yield/vault.js.map +0 -1
|
@@ -6,17 +6,10 @@
|
|
|
6
6
|
* with URIStorage extension.
|
|
7
7
|
*
|
|
8
8
|
* Spec: https://eips.ethereum.org/EIPS/eip-8004
|
|
9
|
-
* Status: DRAFT (August 2025). No official mainnet singleton deployed yet
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* Key Principle: Non-custodial. All signing happens locally via the caller's
|
|
13
|
-
* WalletClient. Keys never leave the device.
|
|
9
|
+
* Status: DRAFT (August 2025). No official mainnet singleton deployed yet.
|
|
10
|
+
* Key Principle: Non-custodial. All signing happens locally via WalletClient.
|
|
14
11
|
*/
|
|
15
12
|
import { type Address, type Hash, type Hex, type WalletClient } from 'viem';
|
|
16
|
-
/**
|
|
17
|
-
* Minimal ABI for the ERC-8004 Identity Registry.
|
|
18
|
-
* Extends ERC-721 with agent-specific registration functions.
|
|
19
|
-
*/
|
|
20
13
|
export declare const ERC8004IdentityRegistryAbi: readonly [{
|
|
21
14
|
readonly name: "register";
|
|
22
15
|
readonly type: "function";
|
|
@@ -218,321 +211,90 @@ export declare const ERC8004IdentityRegistryAbi: readonly [{
|
|
|
218
211
|
readonly indexed: false;
|
|
219
212
|
}];
|
|
220
213
|
}];
|
|
221
|
-
/**
|
|
222
|
-
* ERC-8004 agent service endpoint definition.
|
|
223
|
-
* Agents advertise how they can be reached (A2A, MCP, web, etc.).
|
|
224
|
-
*/
|
|
225
214
|
export interface AgentServiceEndpoint {
|
|
226
|
-
/** Service type: "A2A" | "MCP" | "web" | "OASF" | "ENS" | "DID" | "email" | string */
|
|
227
215
|
name: string;
|
|
228
|
-
/** Endpoint URI (https://, ipfs://, ENS name, DID, email) */
|
|
229
216
|
endpoint: string;
|
|
230
|
-
/** Protocol version (SHOULD be set, not mandatory per spec) */
|
|
231
217
|
version?: string;
|
|
232
|
-
/** OASF-specific: skill identifiers */
|
|
233
218
|
skills?: string[];
|
|
234
|
-
/** OASF-specific: domain identifiers */
|
|
235
219
|
domains?: string[];
|
|
236
220
|
}
|
|
237
|
-
/** Trust mechanisms the agent claims to support */
|
|
238
221
|
export type SupportedTrustMechanism = 'reputation' | 'crypto-economic' | 'tee-attestation' | 'zkml' | string;
|
|
239
|
-
/**
|
|
240
|
-
* ERC-8004 cross-chain registration reference.
|
|
241
|
-
* An agent may be registered on multiple chains.
|
|
242
|
-
*/
|
|
243
222
|
export interface AgentRegistrationRef {
|
|
244
223
|
agentId: number;
|
|
245
|
-
/** "{namespace}:{chainId}:{identityRegistry}" e.g. "eip155:1:0x742..." */
|
|
246
224
|
agentRegistry: string;
|
|
247
225
|
}
|
|
248
|
-
/**
|
|
249
|
-
* ERC-8004 Agent Registration File (the off-chain JSON pointed to by agentURI).
|
|
250
|
-
* This is what clients parse to discover an agent's capabilities and endpoints.
|
|
251
|
-
*/
|
|
252
226
|
export interface AgentRegistrationFile {
|
|
253
|
-
/** MUST equal "https://eips.ethereum.org/EIPS/eip-8004#registration-v1" */
|
|
254
227
|
type: string;
|
|
255
|
-
/** Human-readable agent name */
|
|
256
228
|
name: string;
|
|
257
|
-
/** Description of what the agent does, pricing, interaction methods */
|
|
258
229
|
description: string;
|
|
259
|
-
/** Image URL for NFT marketplace display */
|
|
260
230
|
image?: string;
|
|
261
|
-
/** Communication endpoints */
|
|
262
231
|
services?: AgentServiceEndpoint[];
|
|
263
|
-
/** Whether the agent accepts x402 payments */
|
|
264
232
|
x402Support?: boolean;
|
|
265
|
-
/** Whether the agent is currently active */
|
|
266
233
|
active?: boolean;
|
|
267
|
-
/** Cross-chain identity references */
|
|
268
234
|
registrations?: AgentRegistrationRef[];
|
|
269
|
-
/** Trust models the agent participates in */
|
|
270
235
|
supportedTrust?: SupportedTrustMechanism[];
|
|
271
|
-
/** Arbitrary extension fields */
|
|
272
236
|
[key: string]: unknown;
|
|
273
237
|
}
|
|
274
|
-
/**
|
|
275
|
-
* Metadata about an AI model powering the agent.
|
|
276
|
-
* Stored on-chain as optional key/value pairs via getMetadata/setMetadata.
|
|
277
|
-
*/
|
|
278
238
|
export interface AgentModelMetadata {
|
|
279
|
-
/** Model identifier e.g. "claude-3-5-sonnet", "gpt-4o", "gemini-2.0-flash" */
|
|
280
239
|
model?: string;
|
|
281
|
-
/** Model provider e.g. "anthropic", "openai", "google" */
|
|
282
240
|
provider?: string;
|
|
283
|
-
/** Agent software version */
|
|
284
241
|
version?: string;
|
|
285
|
-
/** Primary capability categories e.g. ["coding", "research", "trading"] */
|
|
286
242
|
capabilities?: string[];
|
|
287
|
-
/** Framework used e.g. "langchain", "autogen", "custom" */
|
|
288
243
|
framework?: string;
|
|
289
244
|
}
|
|
290
|
-
/**
|
|
291
|
-
* Full resolved agent identity — combines on-chain registry data with
|
|
292
|
-
* the off-chain registration file.
|
|
293
|
-
*/
|
|
294
245
|
export interface AgentIdentity {
|
|
295
|
-
/** On-chain ERC-721 token ID */
|
|
296
246
|
agentId: bigint;
|
|
297
|
-
/** ERC-721 owner address (controls this agent's NFT) */
|
|
298
247
|
owner: Address;
|
|
299
|
-
/** URI pointing to the registration file */
|
|
300
248
|
agentURI: string;
|
|
301
|
-
/** Configured payment wallet (may be zero address if not set) */
|
|
302
249
|
agentWallet: Address;
|
|
303
|
-
/** Parsed registration file (null if URI not resolvable in this context) */
|
|
304
250
|
registrationFile: AgentRegistrationFile | null;
|
|
305
|
-
/** On-chain model metadata (if previously set) */
|
|
306
251
|
modelMetadata: AgentModelMetadata | null;
|
|
307
252
|
}
|
|
308
|
-
/**
|
|
309
|
-
* On-chain metadata entry (mirrors the Solidity struct MetadataEntry).
|
|
310
|
-
*/
|
|
311
253
|
export interface MetadataEntry {
|
|
312
254
|
metadataKey: string;
|
|
313
255
|
metadataValue: Hex;
|
|
314
256
|
}
|
|
315
|
-
/**
|
|
316
|
-
* Configuration for the ERC-8004 Identity Registry client.
|
|
317
|
-
*/
|
|
318
257
|
export interface ERC8004ClientConfig {
|
|
319
|
-
/** Address of the deployed ERC-8004 Identity Registry contract */
|
|
320
258
|
registryAddress: Address;
|
|
321
|
-
/** Chain name (matches existing SDK chain strings) */
|
|
322
259
|
chain: 'base' | 'base-sepolia' | 'ethereum' | 'arbitrum' | 'polygon';
|
|
323
|
-
/** RPC URL (optional — uses chain default if omitted) */
|
|
324
260
|
rpcUrl?: string;
|
|
325
261
|
}
|
|
326
|
-
/**
|
|
327
|
-
* Result of a registerAgent call.
|
|
328
|
-
*/
|
|
329
262
|
export interface RegistrationResult {
|
|
330
|
-
/** Transaction hash of the register() call */
|
|
331
263
|
txHash: Hash;
|
|
332
|
-
/**
|
|
333
|
-
* The assigned agentId. Returned from the receipt's Registered event.
|
|
334
|
-
* Use lookupAgentsByOwner() to enumerate if needed before confirmation.
|
|
335
|
-
*/
|
|
336
264
|
agentId: bigint | null;
|
|
337
265
|
}
|
|
338
266
|
export declare const METADATA_KEYS: {
|
|
339
|
-
/** Reserved by spec — set via setAgentWallet(), not setMetadata() */
|
|
340
267
|
readonly AGENT_WALLET: "agentWallet";
|
|
341
|
-
/** Optional: AI model identifier */
|
|
342
268
|
readonly MODEL: "agentModel";
|
|
343
|
-
/** Optional: model provider */
|
|
344
269
|
readonly MODEL_PROVIDER: "agentModelProvider";
|
|
345
|
-
/** Optional: agent version string */
|
|
346
270
|
readonly VERSION: "agentVersion";
|
|
347
|
-
/** Optional: JSON-encoded capability tags */
|
|
348
271
|
readonly CAPABILITIES: "agentCapabilities";
|
|
349
|
-
/** Optional: agent framework name */
|
|
350
272
|
readonly FRAMEWORK: "agentFramework";
|
|
351
273
|
};
|
|
352
|
-
/** ERC-8004 registration file type string (MUST match this exactly) */
|
|
353
274
|
export declare const REGISTRATION_FILE_TYPE = "https://eips.ethereum.org/EIPS/eip-8004#registration-v1";
|
|
354
|
-
/**
|
|
355
|
-
* Known testnet deployments of ERC-8004 Identity Registry.
|
|
356
|
-
* Mainnet singleton not yet deployed (spec is DRAFT as of Feb 2026).
|
|
357
|
-
* Update these addresses once official deployments are announced.
|
|
358
|
-
*/
|
|
359
275
|
export declare const KNOWN_REGISTRY_ADDRESSES: Partial<Record<ERC8004ClientConfig['chain'], Address>>;
|
|
360
|
-
/**
|
|
361
|
-
* ERC-8004 Identity Registry client.
|
|
362
|
-
*
|
|
363
|
-
* Provides type-safe, non-custodial access to the ERC-8004 Identity Registry.
|
|
364
|
-
* All write operations require a WalletClient — keys never leave the caller's device.
|
|
365
|
-
*
|
|
366
|
-
* @example
|
|
367
|
-
* ```typescript
|
|
368
|
-
* import { ERC8004Client } from '@agentwallet/sdk';
|
|
369
|
-
*
|
|
370
|
-
* const identity = new ERC8004Client({
|
|
371
|
-
* registryAddress: '0xYOUR_REGISTRY',
|
|
372
|
-
* chain: 'base',
|
|
373
|
-
* });
|
|
374
|
-
*
|
|
375
|
-
* // Register a new agent identity
|
|
376
|
-
* const { txHash, agentId } = await identity.registerAgent(
|
|
377
|
-
* walletClient,
|
|
378
|
-
* {
|
|
379
|
-
* name: 'MyTradingAgent',
|
|
380
|
-
* description: 'Autonomous DeFi trading agent',
|
|
381
|
-
* services: [{ name: 'A2A', endpoint: 'https://agent.example/.well-known/agent-card.json' }],
|
|
382
|
-
* x402Support: true,
|
|
383
|
-
* active: true,
|
|
384
|
-
* },
|
|
385
|
-
* 'ipfs://QmYourCID'
|
|
386
|
-
* );
|
|
387
|
-
*
|
|
388
|
-
* // Lookup an agent
|
|
389
|
-
* const agentIdentity = await identity.lookupAgentIdentity(walletClient.account!.address);
|
|
390
|
-
* ```
|
|
391
|
-
*/
|
|
392
276
|
export declare class ERC8004Client {
|
|
393
277
|
private readonly publicClient;
|
|
394
278
|
private readonly config;
|
|
395
279
|
private readonly chain;
|
|
396
280
|
constructor(config: ERC8004ClientConfig);
|
|
397
|
-
/** @internal Get a viem contract instance for read operations */
|
|
398
281
|
private getReadContract;
|
|
399
|
-
/** @internal Get a viem contract instance for read+write operations */
|
|
400
282
|
private getWriteContract;
|
|
401
|
-
/**
|
|
402
|
-
* Register a new agent identity on-chain.
|
|
403
|
-
*
|
|
404
|
-
* Builds a spec-compliant registration file JSON and registers it via
|
|
405
|
-
* the Identity Registry. The URI can be:
|
|
406
|
-
* - An IPFS URI you've already pinned: "ipfs://QmYourCID"
|
|
407
|
-
* - A base64 data URI for fully on-chain storage (auto-generated if not provided)
|
|
408
|
-
* - An HTTPS URI pointing to a static JSON file
|
|
409
|
-
*
|
|
410
|
-
* Non-custodial: the walletClient signs the transaction locally.
|
|
411
|
-
*
|
|
412
|
-
* @param walletClient - WalletClient controlling the agent owner key
|
|
413
|
-
* @param metadata - Agent metadata to include in the registration file
|
|
414
|
-
* @param agentURI - URI for the registration file (auto-builds data URI if omitted)
|
|
415
|
-
* @param onChainMetadata - Optional extra on-chain key/value pairs
|
|
416
|
-
* @returns txHash and agentId (from Registered event)
|
|
417
|
-
*/
|
|
418
283
|
registerAgent(walletClient: WalletClient, metadata: Omit<AgentRegistrationFile, 'type'>, agentURI?: string, onChainMetadata?: Record<string, string>): Promise<RegistrationResult>;
|
|
419
|
-
/**
|
|
420
|
-
* Look up an agent's full identity by their on-chain token ID.
|
|
421
|
-
*
|
|
422
|
-
* Fetches: owner, URI, payment wallet, and attempts to parse the
|
|
423
|
-
* registration file. Also reads standard on-chain model metadata if present.
|
|
424
|
-
*
|
|
425
|
-
* @param agentId - The ERC-721 tokenId assigned during registration
|
|
426
|
-
*/
|
|
427
284
|
lookupAgentIdentity(agentId: bigint): Promise<AgentIdentity>;
|
|
428
|
-
/**
|
|
429
|
-
* Look up an agent's identity by their wallet/owner address.
|
|
430
|
-
* Scans the Registered event log to find the most recent agentId for this owner.
|
|
431
|
-
*
|
|
432
|
-
* @param ownerAddress - The agent owner's Ethereum address
|
|
433
|
-
* @param fromBlock - Start scanning from this block (default: 0)
|
|
434
|
-
*/
|
|
435
285
|
lookupAgentByOwner(ownerAddress: Address, fromBlock?: bigint): Promise<AgentIdentity | null>;
|
|
436
|
-
/**
|
|
437
|
-
* Update the agent's registration file URI.
|
|
438
|
-
* Only callable by the NFT owner or an approved operator.
|
|
439
|
-
*
|
|
440
|
-
* @param walletClient - Owner/operator WalletClient
|
|
441
|
-
* @param agentId - The agent's tokenId
|
|
442
|
-
* @param newURI - New URI pointing to updated registration file
|
|
443
|
-
*/
|
|
444
286
|
updateAgentURI(walletClient: WalletClient, agentId: bigint, newURI: string): Promise<Hash>;
|
|
445
|
-
/**
|
|
446
|
-
* Read a single on-chain metadata value for an agent.
|
|
447
|
-
*
|
|
448
|
-
* @param agentId - The agent's tokenId
|
|
449
|
-
* @param key - Metadata key (see METADATA_KEYS for standard keys)
|
|
450
|
-
* @returns Raw bytes value, or null if not set
|
|
451
|
-
*/
|
|
452
287
|
getOnChainMetadata(agentId: bigint, key: string): Promise<Hex | null>;
|
|
453
|
-
/**
|
|
454
|
-
* Write a single on-chain metadata value for an agent.
|
|
455
|
-
* Note: the reserved 'agentWallet' key cannot be set via this method.
|
|
456
|
-
*
|
|
457
|
-
* @param walletClient - Owner/operator WalletClient
|
|
458
|
-
* @param agentId - The agent's tokenId
|
|
459
|
-
* @param key - Metadata key
|
|
460
|
-
* @param value - UTF-8 string value (will be hex-encoded)
|
|
461
|
-
*/
|
|
462
288
|
setOnChainMetadata(walletClient: WalletClient, agentId: bigint, key: string, value: string): Promise<Hash>;
|
|
463
|
-
/**
|
|
464
|
-
* Write model metadata on-chain for an agent.
|
|
465
|
-
* Uses the standard METADATA_KEYS constants.
|
|
466
|
-
*
|
|
467
|
-
* @param walletClient - Owner/operator WalletClient
|
|
468
|
-
* @param agentId - The agent's tokenId
|
|
469
|
-
* @param model - Model metadata object
|
|
470
|
-
*/
|
|
471
289
|
setModelMetadata(walletClient: WalletClient, agentId: bigint, model: AgentModelMetadata): Promise<Hash[]>;
|
|
472
|
-
/**
|
|
473
|
-
* Read all standard model metadata for an agent.
|
|
474
|
-
* Returns null if no model metadata has been set.
|
|
475
|
-
*/
|
|
476
290
|
readModelMetadata(agentId: bigint): Promise<AgentModelMetadata | null>;
|
|
477
|
-
/**
|
|
478
|
-
* Get the configured payment wallet for an agent.
|
|
479
|
-
* Returns zero address if not set (payment defaults to NFT owner).
|
|
480
|
-
*
|
|
481
|
-
* @param agentId - The agent's tokenId
|
|
482
|
-
*/
|
|
483
291
|
getAgentWallet(agentId: bigint): Promise<Address>;
|
|
484
|
-
/**
|
|
485
|
-
* Set the payment wallet for an agent.
|
|
486
|
-
* Requires an EIP-712 signature from the new wallet to prove control.
|
|
487
|
-
* This prevents draining payments to an attacker-controlled address.
|
|
488
|
-
*
|
|
489
|
-
* Non-custodial: the signature is generated locally by the walletClient.
|
|
490
|
-
*
|
|
491
|
-
* @param walletClient - Owner WalletClient (must own the agent NFT)
|
|
492
|
-
* @param agentId - The agent's tokenId
|
|
493
|
-
* @param newWallet - New payment wallet address
|
|
494
|
-
* @param deadline - Signature deadline (Unix timestamp)
|
|
495
|
-
* @param signature - EIP-712 or ERC-1271 signature from newWallet proving control
|
|
496
|
-
*/
|
|
497
292
|
setAgentWallet(walletClient: WalletClient, agentId: bigint, newWallet: Address, deadline: bigint, signature: Hex): Promise<Hash>;
|
|
498
|
-
/**
|
|
499
|
-
* Clear the agent wallet (resets payment address to NFT owner).
|
|
500
|
-
*
|
|
501
|
-
* @param walletClient - Owner WalletClient
|
|
502
|
-
* @param agentId - The agent's tokenId
|
|
503
|
-
*/
|
|
504
293
|
unsetAgentWallet(walletClient: WalletClient, agentId: bigint): Promise<Hash>;
|
|
505
294
|
}
|
|
506
|
-
/**
|
|
507
|
-
* Build a base64 data URI from an agent registration file.
|
|
508
|
-
* Enables fully on-chain metadata storage without IPFS or HTTPS dependencies.
|
|
509
|
-
*
|
|
510
|
-
* @example
|
|
511
|
-
* const uri = buildDataURI({ name: 'MyAgent', description: '...', ... });
|
|
512
|
-
* // → "data:application/json;base64,eyJ0..."
|
|
513
|
-
*/
|
|
514
295
|
export declare function buildDataURI(registrationFile: AgentRegistrationFile): string;
|
|
515
|
-
/**
|
|
516
|
-
* Parse a data URI or plain JSON string into an AgentRegistrationFile.
|
|
517
|
-
* For HTTPS/IPFS URIs, use resolveAgentURI() instead.
|
|
518
|
-
*/
|
|
519
296
|
export declare function parseDataURI(uri: string): AgentRegistrationFile;
|
|
520
|
-
/**
|
|
521
|
-
* Resolve an agentURI to its registration file.
|
|
522
|
-
* Supports: data URIs (inline), HTTPS (fetch), IPFS (not fetched — throws).
|
|
523
|
-
*/
|
|
524
297
|
export declare function resolveAgentURI(uri: string): Promise<AgentRegistrationFile>;
|
|
525
|
-
/**
|
|
526
|
-
* Validate an AgentRegistrationFile against ERC-8004 requirements.
|
|
527
|
-
* Returns an array of validation errors (empty = valid).
|
|
528
|
-
*/
|
|
529
298
|
export declare function validateRegistrationFile(file: AgentRegistrationFile): string[];
|
|
530
|
-
/**
|
|
531
|
-
* Format an agent registry identifier per ERC-8004 spec.
|
|
532
|
-
*
|
|
533
|
-
* @param chainId - Chain ID (e.g. 8453 for Base)
|
|
534
|
-
* @param registryAddress - Identity Registry contract address
|
|
535
|
-
* @returns "{namespace}:{chainId}:{identityRegistry}" e.g. "eip155:8453:0x742..."
|
|
536
|
-
*/
|
|
537
299
|
export declare function formatAgentRegistry(chainId: number, registryAddress: Address): string;
|
|
538
300
|
//# sourceMappingURL=erc8004.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erc8004.d.ts","sourceRoot":"","sources":["../../src/identity/erc8004.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"erc8004.d.ts","sourceRoot":"","sources":["../../src/identity/erc8004.ts"],"names":[],"mappings":"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"}
|