agentwallet-sdk 6.0.4 → 6.1.0
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 +380 -323
- package/dist/bridge/__tests__/solana.test.js +1 -1
- package/dist/bridge/__tests__/solana.test.js.map +1 -1
- package/dist/escrow/MutualStakeEscrow.d.ts.map +1 -1
- package/dist/escrow/MutualStakeEscrow.js +3 -5
- package/dist/escrow/MutualStakeEscrow.js.map +1 -1
- package/dist/identity/index.d.ts +2 -0
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +2 -0
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/uaid.d.ts +193 -0
- package/dist/identity/uaid.d.ts.map +1 -0
- package/dist/identity/uaid.js +296 -0
- package/dist/identity/uaid.js.map +1 -0
- package/dist/index.d.ts +52 -252
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -5
- package/dist/index.js.map +1 -1
- package/dist/policy/SpendingPolicy.test.js.map +1 -1
- package/dist/router/PaymentRouter.d.ts +79 -0
- package/dist/router/PaymentRouter.d.ts.map +1 -0
- package/dist/router/PaymentRouter.js +144 -0
- package/dist/router/PaymentRouter.js.map +1 -0
- package/dist/router/index.d.ts +3 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +2 -0
- package/dist/router/index.js.map +1 -0
- package/dist/swap/SwapModule.js +1 -1
- package/dist/swap/SwapModule.js.map +1 -1
- package/dist/tokens/__tests__/decimals.test.d.ts +2 -0
- package/dist/tokens/__tests__/decimals.test.d.ts.map +1 -0
- package/dist/tokens/__tests__/decimals.test.js +107 -0
- package/dist/tokens/__tests__/decimals.test.js.map +1 -0
- package/dist/tokens/__tests__/registry.test.d.ts +2 -0
- package/dist/tokens/__tests__/registry.test.d.ts.map +1 -0
- package/dist/tokens/__tests__/registry.test.js +191 -0
- package/dist/tokens/__tests__/registry.test.js.map +1 -0
- package/dist/tokens/__tests__/transfers.test.d.ts +2 -0
- package/dist/tokens/__tests__/transfers.test.d.ts.map +1 -0
- package/dist/tokens/__tests__/transfers.test.js +103 -0
- package/dist/tokens/__tests__/transfers.test.js.map +1 -0
- package/dist/tokens/decimals.d.ts +65 -0
- package/dist/tokens/decimals.d.ts.map +1 -0
- package/dist/tokens/decimals.js +112 -0
- package/dist/tokens/decimals.js.map +1 -0
- package/dist/tokens/index.d.ts +14 -0
- package/dist/tokens/index.d.ts.map +1 -0
- package/dist/tokens/index.js +14 -0
- package/dist/tokens/index.js.map +1 -0
- package/dist/tokens/registry.d.ts +82 -0
- package/dist/tokens/registry.d.ts.map +1 -0
- package/dist/tokens/registry.js +293 -0
- package/dist/tokens/registry.js.map +1 -0
- package/dist/tokens/solana.d.ts +108 -0
- package/dist/tokens/solana.d.ts.map +1 -0
- package/dist/tokens/solana.js +306 -0
- package/dist/tokens/solana.js.map +1 -0
- package/dist/tokens/transfers.d.ts +95 -0
- package/dist/tokens/transfers.d.ts.map +1 -0
- package/dist/tokens/transfers.js +196 -0
- package/dist/tokens/transfers.js.map +1 -0
- package/dist/x402/chains/abstract/index.d.ts.map +1 -1
- package/dist/x402/chains/abstract/index.js.map +1 -1
- package/dist/x402/client.d.ts +7 -1
- package/dist/x402/client.d.ts.map +1 -1
- package/dist/x402/client.js +24 -13
- package/dist/x402/client.js.map +1 -1
- package/dist/x402/index.d.ts +1 -0
- package/dist/x402/index.d.ts.map +1 -1
- package/dist/x402/index.js +2 -0
- package/dist/x402/index.js.map +1 -1
- package/dist/x402/middleware.d.ts.map +1 -1
- package/dist/x402/middleware.js +0 -3
- package/dist/x402/middleware.js.map +1 -1
- package/dist/x402/multi-asset.d.ts +54 -0
- package/dist/x402/multi-asset.d.ts.map +1 -0
- package/dist/x402/multi-asset.js +123 -0
- package/dist/x402/multi-asset.js.map +1 -0
- package/package.json +12 -3
- package/dist/plugins/elizaos.d.ts +0 -52
- package/dist/plugins/elizaos.d.ts.map +0 -1
- package/dist/plugins/elizaos.js +0 -89
- package/dist/plugins/elizaos.js.map +0 -1
- package/dist/x402/chains/stellar/index.d.ts +0 -149
- package/dist/x402/chains/stellar/index.d.ts.map +0 -1
- package/dist/x402/chains/stellar/index.js +0 -197
- package/dist/x402/chains/stellar/index.js.map +0 -1
|
@@ -65,7 +65,7 @@ describe('USDC contract addresses', () => {
|
|
|
65
65
|
it('all EVM chains have valid 0x addresses', () => {
|
|
66
66
|
const chains = Object.keys(USDC_CONTRACT);
|
|
67
67
|
expect(chains.length).toBe(10);
|
|
68
|
-
for (const [
|
|
68
|
+
for (const [_chain, addr] of Object.entries(USDC_CONTRACT)) {
|
|
69
69
|
expect(addr).toMatch(/^0x[0-9a-fA-F]{40}$/);
|
|
70
70
|
}
|
|
71
71
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana.test.js","sourceRoot":"","sources":["../../../src/bridge/__tests__/solana.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"solana.test.js","sourceRoot":"","sources":["../../../src/bridge/__tests__/solana.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MutualStakeEscrow.d.ts","sourceRoot":"","sources":["../../src/escrow/MutualStakeEscrow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"MutualStakeEscrow.d.ts","sourceRoot":"","sources":["../../src/escrow/MutualStakeEscrow.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,UAAU,EACV,QAAQ,EACT,MAAM,YAAY,CAAC;AAwFpB;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE;QAClB,YAAY,EAAE,YAAY,CAAC;QAC3B,YAAY,EAAE,YAAY,CAAC;QAC3B,cAAc,EAAE,OAAO,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;KACjB;IAOD;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC;IAqDhE;;;;OAIG;IACG,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4B3E;;;OAGG;IACG,MAAM,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4BtD;;;;OAIG;IACG,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBnE;;;OAGG;IACG,MAAM,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBtD;;;;OAIG;IACG,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBxE;;;OAGG;IACG,MAAM,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBtD;;;OAGG;IACG,cAAc,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgB9D;;;OAGG;IACG,UAAU,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAyB/D;;;OAGG;IACG,SAAS,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;CAU5D"}
|
|
@@ -123,11 +123,9 @@ export class MutualStakeEscrow {
|
|
|
123
123
|
account,
|
|
124
124
|
chain: this.walletClient.chain,
|
|
125
125
|
});
|
|
126
|
-
|
|
127
|
-
//
|
|
128
|
-
|
|
129
|
-
);
|
|
130
|
-
// Fallback: read vault address from return data via simulation
|
|
126
|
+
await this.publicClient.waitForTransactionReceipt({ hash: txHash });
|
|
127
|
+
// Read vault address from return data via simulation
|
|
128
|
+
// (VaultCreated event parsing reserved for future use)
|
|
131
129
|
const vaultAddress = await this.publicClient.readContract({
|
|
132
130
|
address: this.factoryAddress,
|
|
133
131
|
abi: StakeVaultFactoryAbi,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MutualStakeEscrow.js","sourceRoot":"","sources":["../../src/escrow/MutualStakeEscrow.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MutualStakeEscrow.js","sourceRoot":"","sources":["../../src/escrow/MutualStakeEscrow.ts"],"names":[],"mappings":"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"}
|
package/dist/identity/index.d.ts
CHANGED
|
@@ -4,4 +4,6 @@ export { ReputationClient, ReputationRegistryAbi } from './reputation.js';
|
|
|
4
4
|
export type { ReputationClientConfig, GiveFeedbackParams, FeedbackEntry, AgentReputationSummary, FeedbackFilters, RespondToFeedbackParams, } from './reputation.js';
|
|
5
5
|
export { ValidationClient, ValidationRegistryAbi } from './validation.js';
|
|
6
6
|
export type { ValidationClientConfig, RequestValidationParams, RespondToValidationParams, ValidationStatus, ValidationSummary, } from './validation.js';
|
|
7
|
+
export { UAIDResolver } from './uaid.js';
|
|
8
|
+
export type { UAIDProtocol, ParsedUAID, UAIDResolution, UniversalAgentIdentity, UAIDResolverConfig, RegisterUAIDParams, } from './uaid.js';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAAE,0BAA0B,EAAE,aAAa,EACxD,sBAAsB,EAAE,wBAAwB,EAChD,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,wBAAwB,EAAE,mBAAmB,GAC3F,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,oBAAoB,EAAE,uBAAuB,EAAE,oBAAoB,EACnE,qBAAqB,EAAE,kBAAkB,EAAE,aAAa,EACxD,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,cAAc,GACvE,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,YAAY,EACV,sBAAsB,EAAE,kBAAkB,EAAE,aAAa,EACzD,sBAAsB,EAAE,eAAe,EAAE,uBAAuB,GACjE,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,YAAY,EACV,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,EAC1E,gBAAgB,EAAE,iBAAiB,GACpC,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAAE,0BAA0B,EAAE,aAAa,EACxD,sBAAsB,EAAE,wBAAwB,EAChD,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,wBAAwB,EAAE,mBAAmB,GAC3F,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,oBAAoB,EAAE,uBAAuB,EAAE,oBAAoB,EACnE,qBAAqB,EAAE,kBAAkB,EAAE,aAAa,EACxD,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,cAAc,GACvE,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,YAAY,EACV,sBAAsB,EAAE,kBAAkB,EAAE,aAAa,EACzD,sBAAsB,EAAE,eAAe,EAAE,uBAAuB,GACjE,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,YAAY,EACV,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,EAC1E,gBAAgB,EAAE,iBAAiB,GACpC,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EACV,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,sBAAsB,EAChE,kBAAkB,EAAE,kBAAkB,GACvC,MAAM,WAAW,CAAC"}
|
package/dist/identity/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { ERC8004Client, ERC8004IdentityRegistryAbi, METADATA_KEYS, REGISTRATION_FILE_TYPE, KNOWN_REGISTRY_ADDRESSES, buildDataURI, parseDataURI, resolveAgentURI, validateRegistrationFile, formatAgentRegistry, } from './erc8004.js';
|
|
2
2
|
export { ReputationClient, ReputationRegistryAbi } from './reputation.js';
|
|
3
3
|
export { ValidationClient, ValidationRegistryAbi } from './validation.js';
|
|
4
|
+
// ─── UAID: Cross-Chain Identity Resolution ─────────────────────────────────
|
|
5
|
+
export { UAIDResolver } from './uaid.js';
|
|
4
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAAE,0BAA0B,EAAE,aAAa,EACxD,sBAAsB,EAAE,wBAAwB,EAChD,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,wBAAwB,EAAE,mBAAmB,GAC3F,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAM1E,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAAE,0BAA0B,EAAE,aAAa,EACxD,sBAAsB,EAAE,wBAAwB,EAChD,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,wBAAwB,EAAE,mBAAmB,GAC3F,MAAM,cAAc,CAAC;AAOtB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAM1E,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAM1E,8EAA8E;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* uaid.ts — Universal Agent Identifier (UAID) Resolution Layer
|
|
3
|
+
*
|
|
4
|
+
* Provides cross-chain agent identity resolution via the HOL Registry Broker.
|
|
5
|
+
* UAIDs are chain-agnostic identifiers that bridge ERC-8004 tokens on EVM chains
|
|
6
|
+
* to agents on Solana, Hedera, off-chain frameworks, and any other protocol.
|
|
7
|
+
*
|
|
8
|
+
* This module is an optional extension — agents that only operate on EVM chains
|
|
9
|
+
* can continue using ERC8004Client directly.
|
|
10
|
+
*
|
|
11
|
+
* Registry: https://hol.org
|
|
12
|
+
* SDK: @hol-org/rb-client (peer dependency — install only if needed)
|
|
13
|
+
*
|
|
14
|
+
* @module identity/uaid
|
|
15
|
+
*/
|
|
16
|
+
import type { AgentIdentity, AgentRegistrationFile, SupportedChain } from './erc8004.js';
|
|
17
|
+
import type { Address } from 'viem';
|
|
18
|
+
/** Supported protocol types in the UAID ecosystem */
|
|
19
|
+
export type UAIDProtocol = 'erc8004' | 'a2a' | 'openconvai' | 'virtuals' | 'x402' | 'hedera' | 'solana' | string;
|
|
20
|
+
/** A parsed UAID with its component parts */
|
|
21
|
+
export interface ParsedUAID {
|
|
22
|
+
/** Raw UAID string */
|
|
23
|
+
raw: string;
|
|
24
|
+
/** Agent identifier portion */
|
|
25
|
+
aid: string;
|
|
26
|
+
/** Unique identifier portion */
|
|
27
|
+
uid: string;
|
|
28
|
+
/** Protocol used for resolution */
|
|
29
|
+
protocol: UAIDProtocol;
|
|
30
|
+
/** Native identifier on the protocol's own chain/system */
|
|
31
|
+
nativeId?: string;
|
|
32
|
+
}
|
|
33
|
+
/** Result of resolving a UAID to a known identity */
|
|
34
|
+
export interface UAIDResolution {
|
|
35
|
+
/** Whether resolution succeeded */
|
|
36
|
+
resolved: boolean;
|
|
37
|
+
/** The UAID that was resolved */
|
|
38
|
+
uaid: string;
|
|
39
|
+
/** Resolved agent identity (if ERC-8004 backed) */
|
|
40
|
+
identity: UniversalAgentIdentity | null;
|
|
41
|
+
/** Protocol the agent was resolved through */
|
|
42
|
+
protocol: UAIDProtocol;
|
|
43
|
+
/** Chain the identity lives on (if applicable) */
|
|
44
|
+
chain?: string;
|
|
45
|
+
/** Trust score from the registry (0-100) */
|
|
46
|
+
trustScore?: number;
|
|
47
|
+
/** Whether the agent is verified in the HOL registry */
|
|
48
|
+
registryVerified: boolean;
|
|
49
|
+
/** Error message if resolution failed */
|
|
50
|
+
error?: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Universal agent identity — superset of ERC-8004 AgentIdentity that works
|
|
54
|
+
* across chains. For EVM agents, this mirrors AgentIdentity. For non-EVM
|
|
55
|
+
* agents, it provides equivalent fields using native identifiers.
|
|
56
|
+
*/
|
|
57
|
+
export interface UniversalAgentIdentity {
|
|
58
|
+
/** Identifier — ERC-8004 tokenId for EVM, native ID for others */
|
|
59
|
+
agentId: string;
|
|
60
|
+
/** Owner — EVM address, Hedera account, Solana pubkey, etc. */
|
|
61
|
+
owner: string;
|
|
62
|
+
/** Agent URI / metadata endpoint */
|
|
63
|
+
agentURI: string;
|
|
64
|
+
/** Payment address (chain-native format) */
|
|
65
|
+
paymentAddress: string;
|
|
66
|
+
/** Registration metadata (if available) */
|
|
67
|
+
registrationFile: AgentRegistrationFile | null;
|
|
68
|
+
/** Source protocol */
|
|
69
|
+
protocol: UAIDProtocol;
|
|
70
|
+
/** Source chain */
|
|
71
|
+
chain: string;
|
|
72
|
+
/** UAID for cross-chain reference */
|
|
73
|
+
uaid: string;
|
|
74
|
+
}
|
|
75
|
+
/** Configuration for the UAID resolver */
|
|
76
|
+
export interface UAIDResolverConfig {
|
|
77
|
+
/** HOL Registry Broker API key (optional for read-only resolution) */
|
|
78
|
+
apiKey?: string;
|
|
79
|
+
/** Custom broker base URL (defaults to production) */
|
|
80
|
+
brokerUrl?: string;
|
|
81
|
+
/** Request timeout in ms (default: 10000) */
|
|
82
|
+
timeoutMs?: number;
|
|
83
|
+
/** Cache resolved identities for this many ms (default: 300000 = 5 min) */
|
|
84
|
+
cacheTtlMs?: number;
|
|
85
|
+
}
|
|
86
|
+
/** Parameters for registering an ERC-8004 identity as a UAID */
|
|
87
|
+
export interface RegisterUAIDParams {
|
|
88
|
+
/** ERC-8004 agent ID (tokenId) */
|
|
89
|
+
agentId: bigint;
|
|
90
|
+
/** Chain the identity is registered on */
|
|
91
|
+
chain: SupportedChain;
|
|
92
|
+
/** Registry contract address (uses known defaults if omitted) */
|
|
93
|
+
registryAddress?: Address;
|
|
94
|
+
/** Agent name for the registry */
|
|
95
|
+
name: string;
|
|
96
|
+
/** Agent description */
|
|
97
|
+
description: string;
|
|
98
|
+
/** Optional: additional capabilities to advertise */
|
|
99
|
+
capabilities?: string[];
|
|
100
|
+
}
|
|
101
|
+
export declare class UAIDResolver {
|
|
102
|
+
private readonly brokerUrl;
|
|
103
|
+
private readonly apiKey?;
|
|
104
|
+
private readonly timeoutMs;
|
|
105
|
+
private readonly cacheTtlMs;
|
|
106
|
+
private readonly cache;
|
|
107
|
+
constructor(config?: UAIDResolverConfig);
|
|
108
|
+
/**
|
|
109
|
+
* Resolve a UAID to an agent identity.
|
|
110
|
+
*
|
|
111
|
+
* Works across chains — the resolver contacts the HOL Registry Broker to
|
|
112
|
+
* find the agent's identity regardless of whether it lives on EVM, Hedera,
|
|
113
|
+
* Solana, or off-chain.
|
|
114
|
+
*
|
|
115
|
+
* @param uaid - Universal Agent Identifier string
|
|
116
|
+
* @returns Resolution result with identity details
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```ts
|
|
120
|
+
* const resolver = new UAIDResolver();
|
|
121
|
+
* const result = await resolver.resolve('uaid:aid:0x8004...;uid=42;proto=erc8004');
|
|
122
|
+
* if (result.resolved) {
|
|
123
|
+
* console.log(result.identity?.paymentAddress);
|
|
124
|
+
* }
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
resolve(uaid: string): Promise<UAIDResolution>;
|
|
128
|
+
/**
|
|
129
|
+
* Search the HOL registry for agents matching criteria.
|
|
130
|
+
*
|
|
131
|
+
* @param query - Search terms (name, capability, protocol)
|
|
132
|
+
* @param options - Optional filters
|
|
133
|
+
* @returns Array of matching UAIDResolution results
|
|
134
|
+
*/
|
|
135
|
+
search(query: string, options?: {
|
|
136
|
+
protocol?: UAIDProtocol;
|
|
137
|
+
limit?: number;
|
|
138
|
+
minTrustScore?: number;
|
|
139
|
+
}): Promise<UAIDResolution[]>;
|
|
140
|
+
/**
|
|
141
|
+
* Convert an ERC-8004 AgentIdentity to a UniversalAgentIdentity.
|
|
142
|
+
*
|
|
143
|
+
* Useful when you already have an on-chain identity and want to work
|
|
144
|
+
* with the universal format (e.g., for cross-chain discovery).
|
|
145
|
+
*/
|
|
146
|
+
erc8004ToUniversal(identity: AgentIdentity, chain: SupportedChain): UniversalAgentIdentity;
|
|
147
|
+
/**
|
|
148
|
+
* Build a UAID string for an ERC-8004 agent.
|
|
149
|
+
*
|
|
150
|
+
* This creates the identifier — it does NOT register with the HOL registry.
|
|
151
|
+
* Use registerERC8004Agent() to make the agent discoverable cross-chain.
|
|
152
|
+
*/
|
|
153
|
+
buildERC8004UAID(agentId: bigint, chain: SupportedChain, ownerAddress: Address): string;
|
|
154
|
+
/**
|
|
155
|
+
* Register an ERC-8004 agent in the HOL registry for cross-chain discovery.
|
|
156
|
+
*
|
|
157
|
+
* After registration, agents on Solana, Hedera, or any protocol can
|
|
158
|
+
* discover and verify this agent's identity via its UAID.
|
|
159
|
+
*
|
|
160
|
+
* Requires an API key with write permissions.
|
|
161
|
+
*
|
|
162
|
+
* @param params - Registration parameters
|
|
163
|
+
* @returns The assigned UAID
|
|
164
|
+
*/
|
|
165
|
+
registerERC8004Agent(params: RegisterUAIDParams): Promise<string>;
|
|
166
|
+
/**
|
|
167
|
+
* Verify an agent's identity via UAID — works across any chain.
|
|
168
|
+
*
|
|
169
|
+
* This is the cross-chain equivalent of ERC8004Client.lookupAgentIdentity().
|
|
170
|
+
* For EVM agents, it verifies the UAID maps to a valid on-chain ERC-8004 token.
|
|
171
|
+
* For non-EVM agents, it verifies through the registry's native trust mechanism.
|
|
172
|
+
*
|
|
173
|
+
* @param uaid - Universal Agent Identifier to verify
|
|
174
|
+
* @returns Verification result
|
|
175
|
+
*/
|
|
176
|
+
verify(uaid: string): Promise<{
|
|
177
|
+
verified: boolean;
|
|
178
|
+
identity: UniversalAgentIdentity | null;
|
|
179
|
+
trustScore: number;
|
|
180
|
+
protocol: UAIDProtocol;
|
|
181
|
+
error?: string;
|
|
182
|
+
}>;
|
|
183
|
+
/**
|
|
184
|
+
* Parse a UAID string into its components.
|
|
185
|
+
*
|
|
186
|
+
* Format: `uaid:aid:<identifier>;uid=<unique-id>;proto=<protocol>[;nativeId=<id>]`
|
|
187
|
+
*/
|
|
188
|
+
static parseUAID(uaid: string): ParsedUAID | null;
|
|
189
|
+
/** Clear the resolution cache */
|
|
190
|
+
clearCache(): void;
|
|
191
|
+
private brokerRequest;
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=uaid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uaid.d.ts","sourceRoot":"","sources":["../../src/identity/uaid.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* uaid.ts — Universal Agent Identifier (UAID) Resolution Layer
|
|
3
|
+
*
|
|
4
|
+
* Provides cross-chain agent identity resolution via the HOL Registry Broker.
|
|
5
|
+
* UAIDs are chain-agnostic identifiers that bridge ERC-8004 tokens on EVM chains
|
|
6
|
+
* to agents on Solana, Hedera, off-chain frameworks, and any other protocol.
|
|
7
|
+
*
|
|
8
|
+
* This module is an optional extension — agents that only operate on EVM chains
|
|
9
|
+
* can continue using ERC8004Client directly.
|
|
10
|
+
*
|
|
11
|
+
* Registry: https://hol.org
|
|
12
|
+
* SDK: @hol-org/rb-client (peer dependency — install only if needed)
|
|
13
|
+
*
|
|
14
|
+
* @module identity/uaid
|
|
15
|
+
*/
|
|
16
|
+
// ─── Constants ───────────────────────────────────────────────────────────────
|
|
17
|
+
const DEFAULT_BROKER_URL = 'https://hol.org/registry/api/v1';
|
|
18
|
+
const DEFAULT_TIMEOUT_MS = 10000;
|
|
19
|
+
const DEFAULT_CACHE_TTL_MS = 300000; // 5 minutes
|
|
20
|
+
/** EVM chain IDs for UAID protocol mapping */
|
|
21
|
+
const EVM_CHAIN_IDS = {
|
|
22
|
+
'ethereum': 1,
|
|
23
|
+
'base': 8453,
|
|
24
|
+
'base-sepolia': 84532,
|
|
25
|
+
'arbitrum': 42161,
|
|
26
|
+
'arbitrum-sepolia': 421614,
|
|
27
|
+
'polygon': 137,
|
|
28
|
+
};
|
|
29
|
+
// ─── Client ──────────────────────────────────────────────────────────────────
|
|
30
|
+
export class UAIDResolver {
|
|
31
|
+
constructor(config = {}) {
|
|
32
|
+
this.cache = new Map();
|
|
33
|
+
this.brokerUrl = (config.brokerUrl ?? DEFAULT_BROKER_URL).replace(/\/+$/, '');
|
|
34
|
+
this.apiKey = config.apiKey;
|
|
35
|
+
this.timeoutMs = config.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
36
|
+
this.cacheTtlMs = config.cacheTtlMs ?? DEFAULT_CACHE_TTL_MS;
|
|
37
|
+
}
|
|
38
|
+
// ── Core resolution ──────────────────────────────────────────────────────
|
|
39
|
+
/**
|
|
40
|
+
* Resolve a UAID to an agent identity.
|
|
41
|
+
*
|
|
42
|
+
* Works across chains — the resolver contacts the HOL Registry Broker to
|
|
43
|
+
* find the agent's identity regardless of whether it lives on EVM, Hedera,
|
|
44
|
+
* Solana, or off-chain.
|
|
45
|
+
*
|
|
46
|
+
* @param uaid - Universal Agent Identifier string
|
|
47
|
+
* @returns Resolution result with identity details
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* const resolver = new UAIDResolver();
|
|
52
|
+
* const result = await resolver.resolve('uaid:aid:0x8004...;uid=42;proto=erc8004');
|
|
53
|
+
* if (result.resolved) {
|
|
54
|
+
* console.log(result.identity?.paymentAddress);
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
async resolve(uaid) {
|
|
59
|
+
// Check cache
|
|
60
|
+
const cached = this.cache.get(uaid);
|
|
61
|
+
if (cached && cached.expiresAt > Date.now()) {
|
|
62
|
+
return cached.result;
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
const response = await this.brokerRequest('GET', `/agents/resolve?uaid=${encodeURIComponent(uaid)}`);
|
|
66
|
+
if (!response.ok) {
|
|
67
|
+
const result = {
|
|
68
|
+
resolved: false, uaid, identity: null, protocol: 'unknown',
|
|
69
|
+
registryVerified: false, error: `Registry returned ${response.status}`,
|
|
70
|
+
};
|
|
71
|
+
return result;
|
|
72
|
+
}
|
|
73
|
+
const data = await response.json();
|
|
74
|
+
const identity = {
|
|
75
|
+
agentId: String(data.agentId ?? data.nativeId ?? ''),
|
|
76
|
+
owner: data.owner ?? data.controller ?? '',
|
|
77
|
+
agentURI: data.agentURI ?? data.metadataUri ?? '',
|
|
78
|
+
paymentAddress: data.paymentAddress ?? data.agentWallet ?? '',
|
|
79
|
+
registrationFile: data.registrationFile ?? null,
|
|
80
|
+
protocol: data.protocol ?? 'unknown',
|
|
81
|
+
chain: data.chain ?? '',
|
|
82
|
+
uaid,
|
|
83
|
+
};
|
|
84
|
+
const result = {
|
|
85
|
+
resolved: true, uaid, identity,
|
|
86
|
+
protocol: data.protocol ?? 'unknown',
|
|
87
|
+
chain: data.chain,
|
|
88
|
+
trustScore: data.trustScore,
|
|
89
|
+
registryVerified: data.verified ?? false,
|
|
90
|
+
};
|
|
91
|
+
// Cache the result
|
|
92
|
+
this.cache.set(uaid, { result, expiresAt: Date.now() + this.cacheTtlMs });
|
|
93
|
+
return result;
|
|
94
|
+
}
|
|
95
|
+
catch (error) {
|
|
96
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
97
|
+
return {
|
|
98
|
+
resolved: false, uaid, identity: null, protocol: 'unknown',
|
|
99
|
+
registryVerified: false, error: `Resolution failed: ${message}`,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Search the HOL registry for agents matching criteria.
|
|
105
|
+
*
|
|
106
|
+
* @param query - Search terms (name, capability, protocol)
|
|
107
|
+
* @param options - Optional filters
|
|
108
|
+
* @returns Array of matching UAIDResolution results
|
|
109
|
+
*/
|
|
110
|
+
async search(query, options) {
|
|
111
|
+
try {
|
|
112
|
+
const params = new URLSearchParams({ q: query });
|
|
113
|
+
if (options?.protocol)
|
|
114
|
+
params.set('protocol', options.protocol);
|
|
115
|
+
if (options?.limit)
|
|
116
|
+
params.set('limit', String(options.limit));
|
|
117
|
+
if (options?.minTrustScore)
|
|
118
|
+
params.set('minTrust', String(options.minTrustScore));
|
|
119
|
+
const response = await this.brokerRequest('GET', `/agents/search?${params}`);
|
|
120
|
+
if (!response.ok)
|
|
121
|
+
return [];
|
|
122
|
+
const data = await response.json();
|
|
123
|
+
const results = (data.agents ?? []).map((agent) => ({
|
|
124
|
+
resolved: true,
|
|
125
|
+
uaid: agent.uaid,
|
|
126
|
+
identity: {
|
|
127
|
+
agentId: String(agent.agentId ?? agent.nativeId ?? ''),
|
|
128
|
+
owner: (agent.owner ?? agent.controller ?? ''),
|
|
129
|
+
agentURI: (agent.agentURI ?? agent.metadataUri ?? ''),
|
|
130
|
+
paymentAddress: (agent.paymentAddress ?? agent.agentWallet ?? ''),
|
|
131
|
+
registrationFile: (agent.registrationFile ?? null),
|
|
132
|
+
protocol: (agent.protocol ?? 'unknown'),
|
|
133
|
+
chain: (agent.chain ?? ''),
|
|
134
|
+
uaid: agent.uaid,
|
|
135
|
+
},
|
|
136
|
+
protocol: (agent.protocol ?? 'unknown'),
|
|
137
|
+
chain: agent.chain,
|
|
138
|
+
trustScore: agent.trustScore,
|
|
139
|
+
registryVerified: (agent.verified ?? false),
|
|
140
|
+
}));
|
|
141
|
+
return results;
|
|
142
|
+
}
|
|
143
|
+
catch {
|
|
144
|
+
return [];
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// ── ERC-8004 ↔ UAID bridge ────────────────────────────────────────────────
|
|
148
|
+
/**
|
|
149
|
+
* Convert an ERC-8004 AgentIdentity to a UniversalAgentIdentity.
|
|
150
|
+
*
|
|
151
|
+
* Useful when you already have an on-chain identity and want to work
|
|
152
|
+
* with the universal format (e.g., for cross-chain discovery).
|
|
153
|
+
*/
|
|
154
|
+
erc8004ToUniversal(identity, chain) {
|
|
155
|
+
const chainId = EVM_CHAIN_IDS[chain];
|
|
156
|
+
return {
|
|
157
|
+
agentId: identity.agentId.toString(),
|
|
158
|
+
owner: identity.owner,
|
|
159
|
+
agentURI: identity.agentURI,
|
|
160
|
+
paymentAddress: identity.agentWallet,
|
|
161
|
+
registrationFile: identity.registrationFile,
|
|
162
|
+
protocol: 'erc8004',
|
|
163
|
+
chain: `eip155:${chainId}`,
|
|
164
|
+
uaid: `uaid:aid:eip155:${chainId}:${identity.owner};uid=${identity.agentId};proto=erc8004`,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Build a UAID string for an ERC-8004 agent.
|
|
169
|
+
*
|
|
170
|
+
* This creates the identifier — it does NOT register with the HOL registry.
|
|
171
|
+
* Use registerERC8004Agent() to make the agent discoverable cross-chain.
|
|
172
|
+
*/
|
|
173
|
+
buildERC8004UAID(agentId, chain, ownerAddress) {
|
|
174
|
+
const chainId = EVM_CHAIN_IDS[chain];
|
|
175
|
+
return `uaid:aid:eip155:${chainId}:${ownerAddress};uid=${agentId};proto=erc8004`;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Register an ERC-8004 agent in the HOL registry for cross-chain discovery.
|
|
179
|
+
*
|
|
180
|
+
* After registration, agents on Solana, Hedera, or any protocol can
|
|
181
|
+
* discover and verify this agent's identity via its UAID.
|
|
182
|
+
*
|
|
183
|
+
* Requires an API key with write permissions.
|
|
184
|
+
*
|
|
185
|
+
* @param params - Registration parameters
|
|
186
|
+
* @returns The assigned UAID
|
|
187
|
+
*/
|
|
188
|
+
async registerERC8004Agent(params) {
|
|
189
|
+
if (!this.apiKey) {
|
|
190
|
+
throw new Error('UAIDResolver: API key required for registration. Get one at https://hol.org');
|
|
191
|
+
}
|
|
192
|
+
const chainId = EVM_CHAIN_IDS[params.chain];
|
|
193
|
+
const uaid = `uaid:aid:eip155:${chainId}:${params.registryAddress ?? '0x8004A169FB4a3325136EB29fA0ceB6D2e539a432'};uid=${params.agentId};proto=erc8004`;
|
|
194
|
+
const response = await this.brokerRequest('POST', '/agents/register', {
|
|
195
|
+
uaid,
|
|
196
|
+
protocol: 'erc8004',
|
|
197
|
+
chain: `eip155:${chainId}`,
|
|
198
|
+
agentId: params.agentId.toString(),
|
|
199
|
+
name: params.name,
|
|
200
|
+
description: params.description,
|
|
201
|
+
capabilities: params.capabilities ?? [],
|
|
202
|
+
registryAddress: params.registryAddress ?? '0x8004A169FB4a3325136EB29fA0ceB6D2e539a432',
|
|
203
|
+
});
|
|
204
|
+
if (!response.ok) {
|
|
205
|
+
const errorBody = await response.text().catch(() => '');
|
|
206
|
+
throw new Error(`UAIDResolver: Registration failed (${response.status}): ${errorBody}`);
|
|
207
|
+
}
|
|
208
|
+
const data = await response.json();
|
|
209
|
+
return data.uaid ?? uaid;
|
|
210
|
+
}
|
|
211
|
+
// ── Verification ──────────────────────────────────────────────────────────
|
|
212
|
+
/**
|
|
213
|
+
* Verify an agent's identity via UAID — works across any chain.
|
|
214
|
+
*
|
|
215
|
+
* This is the cross-chain equivalent of ERC8004Client.lookupAgentIdentity().
|
|
216
|
+
* For EVM agents, it verifies the UAID maps to a valid on-chain ERC-8004 token.
|
|
217
|
+
* For non-EVM agents, it verifies through the registry's native trust mechanism.
|
|
218
|
+
*
|
|
219
|
+
* @param uaid - Universal Agent Identifier to verify
|
|
220
|
+
* @returns Verification result
|
|
221
|
+
*/
|
|
222
|
+
async verify(uaid) {
|
|
223
|
+
const resolution = await this.resolve(uaid);
|
|
224
|
+
if (!resolution.resolved || !resolution.identity) {
|
|
225
|
+
return {
|
|
226
|
+
verified: false,
|
|
227
|
+
identity: null,
|
|
228
|
+
trustScore: 0,
|
|
229
|
+
protocol: resolution.protocol,
|
|
230
|
+
error: resolution.error ?? 'Agent not found in registry',
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
return {
|
|
234
|
+
verified: resolution.registryVerified,
|
|
235
|
+
identity: resolution.identity,
|
|
236
|
+
trustScore: resolution.trustScore ?? 0,
|
|
237
|
+
protocol: resolution.protocol,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
// ── Utility ───────────────────────────────────────────────────────────────
|
|
241
|
+
/**
|
|
242
|
+
* Parse a UAID string into its components.
|
|
243
|
+
*
|
|
244
|
+
* Format: `uaid:aid:<identifier>;uid=<unique-id>;proto=<protocol>[;nativeId=<id>]`
|
|
245
|
+
*/
|
|
246
|
+
static parseUAID(uaid) {
|
|
247
|
+
if (!uaid.startsWith('uaid:'))
|
|
248
|
+
return null;
|
|
249
|
+
const parts = uaid.split(';');
|
|
250
|
+
const aidPart = parts.find(p => p.startsWith('uaid:aid:'));
|
|
251
|
+
const uidPart = parts.find(p => p.startsWith('uid='));
|
|
252
|
+
const protoPart = parts.find(p => p.startsWith('proto='));
|
|
253
|
+
const nativeIdPart = parts.find(p => p.startsWith('nativeId='));
|
|
254
|
+
if (!aidPart || !uidPart || !protoPart)
|
|
255
|
+
return null;
|
|
256
|
+
return {
|
|
257
|
+
raw: uaid,
|
|
258
|
+
aid: aidPart.replace('uaid:aid:', ''),
|
|
259
|
+
uid: uidPart.replace('uid=', ''),
|
|
260
|
+
protocol: protoPart.replace('proto=', ''),
|
|
261
|
+
nativeId: nativeIdPart?.replace('nativeId=', ''),
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
/** Clear the resolution cache */
|
|
265
|
+
clearCache() {
|
|
266
|
+
this.cache.clear();
|
|
267
|
+
}
|
|
268
|
+
// ── Private ───────────────────────────────────────────────────────────────
|
|
269
|
+
async brokerRequest(method, path, body) {
|
|
270
|
+
const url = `${this.brokerUrl}${path}`;
|
|
271
|
+
const headers = {
|
|
272
|
+
'Accept': 'application/json',
|
|
273
|
+
'User-Agent': 'agentwallet-sdk/uaid-resolver',
|
|
274
|
+
};
|
|
275
|
+
if (this.apiKey) {
|
|
276
|
+
headers['Authorization'] = `Bearer ${this.apiKey}`;
|
|
277
|
+
}
|
|
278
|
+
if (body) {
|
|
279
|
+
headers['Content-Type'] = 'application/json';
|
|
280
|
+
}
|
|
281
|
+
const controller = new AbortController();
|
|
282
|
+
const timeout = setTimeout(() => controller.abort(), this.timeoutMs);
|
|
283
|
+
try {
|
|
284
|
+
return await fetch(url, {
|
|
285
|
+
method,
|
|
286
|
+
headers,
|
|
287
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
288
|
+
signal: controller.signal,
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
finally {
|
|
292
|
+
clearTimeout(timeout);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
//# sourceMappingURL=uaid.js.map
|