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.
Files changed (320) hide show
  1. package/README.md +41 -516
  2. package/dist/bridge/abis.d.ts +48 -171
  3. package/dist/bridge/abis.d.ts.map +1 -1
  4. package/dist/bridge/abis.js.map +1 -1
  5. package/dist/bridge/client.d.ts +2 -41
  6. package/dist/bridge/client.d.ts.map +1 -1
  7. package/dist/bridge/client.js +35 -168
  8. package/dist/bridge/client.js.map +1 -1
  9. package/dist/bridge/index.d.ts +2 -4
  10. package/dist/bridge/index.d.ts.map +1 -1
  11. package/dist/bridge/index.js +1 -8
  12. package/dist/bridge/index.js.map +1 -1
  13. package/dist/bridge/types.d.ts +15 -134
  14. package/dist/bridge/types.d.ts.map +1 -1
  15. package/dist/bridge/types.js +16 -170
  16. package/dist/bridge/types.js.map +1 -1
  17. package/dist/identity/erc8004.d.ts +2 -240
  18. package/dist/identity/erc8004.d.ts.map +1 -1
  19. package/dist/identity/erc8004.js +58 -334
  20. package/dist/identity/erc8004.js.map +1 -1
  21. package/dist/index.d.ts +313 -136
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +11 -59
  24. package/dist/index.js.map +1 -1
  25. package/dist/swap/SwapModule.d.ts +6 -50
  26. package/dist/swap/SwapModule.d.ts.map +1 -1
  27. package/dist/swap/SwapModule.js +25 -153
  28. package/dist/swap/SwapModule.js.map +1 -1
  29. package/dist/swap/abi.d.ts +47 -165
  30. package/dist/swap/abi.d.ts.map +1 -1
  31. package/dist/swap/abi.js.map +1 -1
  32. package/dist/swap/index.d.ts +2 -3
  33. package/dist/swap/index.d.ts.map +1 -1
  34. package/dist/swap/index.js +1 -4
  35. package/dist/swap/index.js.map +1 -1
  36. package/dist/swap/types.d.ts +6 -36
  37. package/dist/swap/types.d.ts.map +1 -1
  38. package/dist/swap/types.js +0 -1
  39. package/dist/swap/types.js.map +1 -1
  40. package/dist/types.d.ts +1 -2
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/types.js +0 -1
  43. package/dist/types.js.map +1 -1
  44. package/dist/x402/__tests__/budget.test.d.ts +2 -0
  45. package/dist/x402/__tests__/budget.test.d.ts.map +1 -0
  46. package/dist/x402/__tests__/budget.test.js +114 -0
  47. package/dist/x402/__tests__/budget.test.js.map +1 -0
  48. package/dist/x402/__tests__/client.test.d.ts +2 -0
  49. package/dist/x402/__tests__/client.test.d.ts.map +1 -0
  50. package/dist/x402/__tests__/client.test.js +107 -0
  51. package/dist/x402/__tests__/client.test.js.map +1 -0
  52. package/dist/x402/chains/abstract/index.d.ts +135 -0
  53. package/dist/x402/chains/abstract/index.d.ts.map +1 -0
  54. package/dist/x402/chains/abstract/index.js +190 -0
  55. package/dist/x402/chains/abstract/index.js.map +1 -0
  56. package/dist/x402/client.d.ts +1 -4
  57. package/dist/x402/client.d.ts.map +1 -1
  58. package/dist/x402/client.js +2 -16
  59. package/dist/x402/client.js.map +1 -1
  60. package/dist/x402/index.d.ts +3 -1
  61. package/dist/x402/index.d.ts.map +1 -1
  62. package/dist/x402/index.js +3 -1
  63. package/dist/x402/index.js.map +1 -1
  64. package/dist/x402/types.d.ts +3 -5
  65. package/dist/x402/types.d.ts.map +1 -1
  66. package/dist/x402/types.js +2 -17
  67. package/dist/x402/types.js.map +1 -1
  68. package/package.json +12 -32
  69. package/dist/ap2/index.d.ts +0 -185
  70. package/dist/ap2/index.d.ts.map +0 -1
  71. package/dist/ap2/index.js +0 -255
  72. package/dist/ap2/index.js.map +0 -1
  73. package/dist/bridge/unified.d.ts +0 -101
  74. package/dist/bridge/unified.d.ts.map +0 -1
  75. package/dist/bridge/unified.js +0 -284
  76. package/dist/bridge/unified.js.map +0 -1
  77. package/dist/chains.d.ts +0 -62
  78. package/dist/chains.d.ts.map +0 -1
  79. package/dist/chains.js +0 -108
  80. package/dist/chains.js.map +0 -1
  81. package/dist/fiat/index.d.ts +0 -10
  82. package/dist/fiat/index.d.ts.map +0 -1
  83. package/dist/fiat/index.js +0 -9
  84. package/dist/fiat/index.js.map +0 -1
  85. package/dist/fiat/onramp.d.ts +0 -101
  86. package/dist/fiat/onramp.d.ts.map +0 -1
  87. package/dist/fiat/onramp.js +0 -155
  88. package/dist/fiat/onramp.js.map +0 -1
  89. package/dist/fiat/providers/index.d.ts +0 -16
  90. package/dist/fiat/providers/index.d.ts.map +0 -1
  91. package/dist/fiat/providers/index.js +0 -30
  92. package/dist/fiat/providers/index.js.map +0 -1
  93. package/dist/fiat/providers/moonpay.d.ts +0 -22
  94. package/dist/fiat/providers/moonpay.d.ts.map +0 -1
  95. package/dist/fiat/providers/moonpay.js +0 -107
  96. package/dist/fiat/providers/moonpay.js.map +0 -1
  97. package/dist/fiat/providers/stripe.d.ts +0 -26
  98. package/dist/fiat/providers/stripe.d.ts.map +0 -1
  99. package/dist/fiat/providers/stripe.js +0 -135
  100. package/dist/fiat/providers/stripe.js.map +0 -1
  101. package/dist/fiat/providers/transak.d.ts +0 -26
  102. package/dist/fiat/providers/transak.d.ts.map +0 -1
  103. package/dist/fiat/providers/transak.js +0 -119
  104. package/dist/fiat/providers/transak.js.map +0 -1
  105. package/dist/fiat/types.d.ts +0 -106
  106. package/dist/fiat/types.d.ts.map +0 -1
  107. package/dist/fiat/types.js +0 -13
  108. package/dist/fiat/types.js.map +0 -1
  109. package/dist/flash/executor.d.ts +0 -119
  110. package/dist/flash/executor.d.ts.map +0 -1
  111. package/dist/flash/executor.js +0 -195
  112. package/dist/flash/executor.js.map +0 -1
  113. package/dist/flash/index.d.ts +0 -28
  114. package/dist/flash/index.d.ts.map +0 -1
  115. package/dist/flash/index.js +0 -25
  116. package/dist/flash/index.js.map +0 -1
  117. package/dist/flash/scanner.d.ts +0 -133
  118. package/dist/flash/scanner.d.ts.map +0 -1
  119. package/dist/flash/scanner.js +0 -212
  120. package/dist/flash/scanner.js.map +0 -1
  121. package/dist/flash/types.d.ts +0 -136
  122. package/dist/flash/types.d.ts.map +0 -1
  123. package/dist/flash/types.js +0 -23
  124. package/dist/flash/types.js.map +0 -1
  125. package/dist/gas/index.d.ts +0 -4
  126. package/dist/gas/index.d.ts.map +0 -1
  127. package/dist/gas/index.js +0 -3
  128. package/dist/gas/index.js.map +0 -1
  129. package/dist/gas/sponsor.d.ts +0 -70
  130. package/dist/gas/sponsor.d.ts.map +0 -1
  131. package/dist/gas/sponsor.js +0 -193
  132. package/dist/gas/sponsor.js.map +0 -1
  133. package/dist/gas/types.d.ts +0 -76
  134. package/dist/gas/types.d.ts.map +0 -1
  135. package/dist/gas/types.js +0 -21
  136. package/dist/gas/types.js.map +0 -1
  137. package/dist/identity/agent-identity.d.ts +0 -276
  138. package/dist/identity/agent-identity.d.ts.map +0 -1
  139. package/dist/identity/agent-identity.js +0 -300
  140. package/dist/identity/agent-identity.js.map +0 -1
  141. package/dist/identity/erc6551.d.ts +0 -441
  142. package/dist/identity/erc6551.d.ts.map +0 -1
  143. package/dist/identity/erc6551.js +0 -517
  144. package/dist/identity/erc6551.js.map +0 -1
  145. package/dist/mev/index.d.ts +0 -4
  146. package/dist/mev/index.d.ts.map +0 -1
  147. package/dist/mev/index.js +0 -4
  148. package/dist/mev/index.js.map +0 -1
  149. package/dist/mev/protection.d.ts +0 -54
  150. package/dist/mev/protection.d.ts.map +0 -1
  151. package/dist/mev/protection.js +0 -185
  152. package/dist/mev/protection.js.map +0 -1
  153. package/dist/mev/risk.d.ts +0 -19
  154. package/dist/mev/risk.d.ts.map +0 -1
  155. package/dist/mev/risk.js +0 -95
  156. package/dist/mev/risk.js.map +0 -1
  157. package/dist/mev/types.d.ts +0 -49
  158. package/dist/mev/types.d.ts.map +0 -1
  159. package/dist/mev/types.js +0 -2
  160. package/dist/mev/types.js.map +0 -1
  161. package/dist/settlement/index.d.ts +0 -4
  162. package/dist/settlement/index.d.ts.map +0 -1
  163. package/dist/settlement/index.js +0 -3
  164. package/dist/settlement/index.js.map +0 -1
  165. package/dist/settlement/types.d.ts +0 -66
  166. package/dist/settlement/types.d.ts.map +0 -1
  167. package/dist/settlement/types.js +0 -37
  168. package/dist/settlement/types.js.map +0 -1
  169. package/dist/settlement/verifier.d.ts +0 -75
  170. package/dist/settlement/verifier.d.ts.map +0 -1
  171. package/dist/settlement/verifier.js +0 -354
  172. package/dist/settlement/verifier.js.map +0 -1
  173. package/dist/solana/bridge.d.ts +0 -144
  174. package/dist/solana/bridge.d.ts.map +0 -1
  175. package/dist/solana/bridge.js +0 -352
  176. package/dist/solana/bridge.js.map +0 -1
  177. package/dist/solana/index.d.ts +0 -8
  178. package/dist/solana/index.d.ts.map +0 -1
  179. package/dist/solana/index.js +0 -6
  180. package/dist/solana/index.js.map +0 -1
  181. package/dist/solana/swap.d.ts +0 -85
  182. package/dist/solana/swap.d.ts.map +0 -1
  183. package/dist/solana/swap.js +0 -173
  184. package/dist/solana/swap.js.map +0 -1
  185. package/dist/solana/types.d.ts +0 -126
  186. package/dist/solana/types.d.ts.map +0 -1
  187. package/dist/solana/types.js +0 -10
  188. package/dist/solana/types.js.map +0 -1
  189. package/dist/solana/wallet.d.ts +0 -83
  190. package/dist/solana/wallet.d.ts.map +0 -1
  191. package/dist/solana/wallet.js +0 -164
  192. package/dist/solana/wallet.js.map +0 -1
  193. package/dist/solana/x402.d.ts +0 -69
  194. package/dist/solana/x402.d.ts.map +0 -1
  195. package/dist/solana/x402.js +0 -154
  196. package/dist/solana/x402.js.map +0 -1
  197. package/dist/solver/adapter.d.ts +0 -47
  198. package/dist/solver/adapter.d.ts.map +0 -1
  199. package/dist/solver/adapter.js +0 -138
  200. package/dist/solver/adapter.js.map +0 -1
  201. package/dist/solver/analyzer.d.ts +0 -48
  202. package/dist/solver/analyzer.d.ts.map +0 -1
  203. package/dist/solver/analyzer.js +0 -89
  204. package/dist/solver/analyzer.js.map +0 -1
  205. package/dist/solver/builder.d.ts +0 -31
  206. package/dist/solver/builder.d.ts.map +0 -1
  207. package/dist/solver/builder.js +0 -60
  208. package/dist/solver/builder.js.map +0 -1
  209. package/dist/solver/index.d.ts +0 -22
  210. package/dist/solver/index.d.ts.map +0 -1
  211. package/dist/solver/index.js +0 -21
  212. package/dist/solver/index.js.map +0 -1
  213. package/dist/solver/types.d.ts +0 -115
  214. package/dist/solver/types.d.ts.map +0 -1
  215. package/dist/solver/types.js +0 -10
  216. package/dist/solver/types.js.map +0 -1
  217. package/dist/spend-guard/index.d.ts +0 -125
  218. package/dist/spend-guard/index.d.ts.map +0 -1
  219. package/dist/spend-guard/index.js +0 -150
  220. package/dist/spend-guard/index.js.map +0 -1
  221. package/dist/swap/router/cache.d.ts +0 -13
  222. package/dist/swap/router/cache.d.ts.map +0 -1
  223. package/dist/swap/router/cache.js +0 -30
  224. package/dist/swap/router/cache.js.map +0 -1
  225. package/dist/swap/router/flashbots.d.ts +0 -10
  226. package/dist/swap/router/flashbots.d.ts.map +0 -1
  227. package/dist/swap/router/flashbots.js +0 -43
  228. package/dist/swap/router/flashbots.js.map +0 -1
  229. package/dist/swap/router/health.d.ts +0 -17
  230. package/dist/swap/router/health.d.ts.map +0 -1
  231. package/dist/swap/router/health.js +0 -38
  232. package/dist/swap/router/health.js.map +0 -1
  233. package/dist/swap/router/index.d.ts +0 -10
  234. package/dist/swap/router/index.d.ts.map +0 -1
  235. package/dist/swap/router/index.js +0 -10
  236. package/dist/swap/router/index.js.map +0 -1
  237. package/dist/swap/router/providers/cowswap.d.ts +0 -11
  238. package/dist/swap/router/providers/cowswap.d.ts.map +0 -1
  239. package/dist/swap/router/providers/cowswap.js +0 -79
  240. package/dist/swap/router/providers/cowswap.js.map +0 -1
  241. package/dist/swap/router/providers/index.d.ts +0 -20
  242. package/dist/swap/router/providers/index.d.ts.map +0 -1
  243. package/dist/swap/router/providers/index.js +0 -32
  244. package/dist/swap/router/providers/index.js.map +0 -1
  245. package/dist/swap/router/providers/jupiter.d.ts +0 -12
  246. package/dist/swap/router/providers/jupiter.d.ts.map +0 -1
  247. package/dist/swap/router/providers/jupiter.js +0 -73
  248. package/dist/swap/router/providers/jupiter.js.map +0 -1
  249. package/dist/swap/router/providers/lifi.d.ts +0 -11
  250. package/dist/swap/router/providers/lifi.d.ts.map +0 -1
  251. package/dist/swap/router/providers/lifi.js +0 -123
  252. package/dist/swap/router/providers/lifi.js.map +0 -1
  253. package/dist/swap/router/providers/oneinch.d.ts +0 -13
  254. package/dist/swap/router/providers/oneinch.d.ts.map +0 -1
  255. package/dist/swap/router/providers/oneinch.js +0 -71
  256. package/dist/swap/router/providers/oneinch.js.map +0 -1
  257. package/dist/swap/router/providers/paraswap.d.ts +0 -11
  258. package/dist/swap/router/providers/paraswap.d.ts.map +0 -1
  259. package/dist/swap/router/providers/paraswap.js +0 -73
  260. package/dist/swap/router/providers/paraswap.js.map +0 -1
  261. package/dist/swap/router/providers/uniswap.d.ts +0 -31
  262. package/dist/swap/router/providers/uniswap.d.ts.map +0 -1
  263. package/dist/swap/router/providers/uniswap.js +0 -116
  264. package/dist/swap/router/providers/uniswap.js.map +0 -1
  265. package/dist/swap/router/providers/zerox.d.ts +0 -13
  266. package/dist/swap/router/providers/zerox.d.ts.map +0 -1
  267. package/dist/swap/router/providers/zerox.js +0 -94
  268. package/dist/swap/router/providers/zerox.js.map +0 -1
  269. package/dist/swap/router/router.d.ts +0 -86
  270. package/dist/swap/router/router.d.ts.map +0 -1
  271. package/dist/swap/router/router.js +0 -224
  272. package/dist/swap/router/router.js.map +0 -1
  273. package/dist/swap/router/rsi/engine.d.ts +0 -60
  274. package/dist/swap/router/rsi/engine.d.ts.map +0 -1
  275. package/dist/swap/router/rsi/engine.js +0 -483
  276. package/dist/swap/router/rsi/engine.js.map +0 -1
  277. package/dist/swap/router/rsi/index.d.ts +0 -3
  278. package/dist/swap/router/rsi/index.d.ts.map +0 -1
  279. package/dist/swap/router/rsi/index.js +0 -3
  280. package/dist/swap/router/rsi/index.js.map +0 -1
  281. package/dist/swap/router/rsi/types.d.ts +0 -106
  282. package/dist/swap/router/rsi/types.d.ts.map +0 -1
  283. package/dist/swap/router/rsi/types.js +0 -3
  284. package/dist/swap/router/rsi/types.js.map +0 -1
  285. package/dist/swap/router/types.d.ts +0 -120
  286. package/dist/swap/router/types.d.ts.map +0 -1
  287. package/dist/swap/router/types.js +0 -16
  288. package/dist/swap/router/types.js.map +0 -1
  289. package/dist/tax/engine.d.ts +0 -131
  290. package/dist/tax/engine.d.ts.map +0 -1
  291. package/dist/tax/engine.js +0 -307
  292. package/dist/tax/engine.js.map +0 -1
  293. package/dist/tax/index.d.ts +0 -9
  294. package/dist/tax/index.d.ts.map +0 -1
  295. package/dist/tax/index.js +0 -8
  296. package/dist/tax/index.js.map +0 -1
  297. package/dist/tax/lots.d.ts +0 -60
  298. package/dist/tax/lots.d.ts.map +0 -1
  299. package/dist/tax/lots.js +0 -129
  300. package/dist/tax/lots.js.map +0 -1
  301. package/dist/tax/types.d.ts +0 -113
  302. package/dist/tax/types.d.ts.map +0 -1
  303. package/dist/tax/types.js +0 -18
  304. package/dist/tax/types.js.map +0 -1
  305. package/dist/yield/index.d.ts +0 -26
  306. package/dist/yield/index.d.ts.map +0 -1
  307. package/dist/yield/index.js +0 -25
  308. package/dist/yield/index.js.map +0 -1
  309. package/dist/yield/rates.d.ts +0 -114
  310. package/dist/yield/rates.d.ts.map +0 -1
  311. package/dist/yield/rates.js +0 -351
  312. package/dist/yield/rates.js.map +0 -1
  313. package/dist/yield/types.d.ts +0 -134
  314. package/dist/yield/types.d.ts.map +0 -1
  315. package/dist/yield/types.js +0 -24
  316. package/dist/yield/types.js.map +0 -1
  317. package/dist/yield/vault.d.ts +0 -112
  318. package/dist/yield/vault.d.ts.map +0 -1
  319. package/dist/yield/vault.js +0 -264
  320. 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
- * registry address is configurable per deployment.
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":"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"}
1
+ {"version":3,"file":"erc8004.d.ts","sourceRoot":"","sources":["../../src/identity/erc8004.ts"],"names":[],"mappings":"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"}