@agentfromzero/agentpassport-sdk 0.1.0 → 0.1.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 CHANGED
@@ -33,7 +33,8 @@ import { createPublicClient, http } from "viem";
33
33
  import { AgentPassportClient, monadTestnet, POLICIES } from "@agentfromzero/agentpassport-sdk";
34
34
 
35
35
  const ap = new AgentPassportClient({
36
- publicClient: createPublicClient({ chain: monadTestnet, transport: http(), pollingInterval: 400 }),
36
+ // batch.multicall folds concurrent reads into one eth_call: the public RPC allows ~15 requests/s.
37
+ publicClient: createPublicClient({ chain: monadTestnet, transport: http(), pollingInterval: 400, batch: { multicall: true } }),
37
38
  });
38
39
 
39
40
  await ap.meets(1908n, POLICIES.proven); // true: paid through escrow at least once, no disputes
@@ -43,7 +44,8 @@ const card = await ap.scorecard(1908n, POLICIES.proven);
43
44
  // { meets, checks: [{ rule, required, actual, ok }], passport, identity, reputation, blockNumber }
44
45
  ```
45
46
 
46
- `scorecard` reads everything at one block: the chain's own `meets` verdict, a rule-by-rule
47
+ `scorecard` reads everything at one block, in a single Multicall3 `eth_call` when the chain
48
+ defines Multicall3 (Monad does): the chain's own `meets` verdict, a rule-by-rule
47
49
  explanation (`evaluatePolicy` mirrors the contract exactly), the passport, the ERC-8004 identity
48
50
  (owner, `agentWallet`, agent-card URI), and the **escrow-backed slice of ERC-8004 reputation**:
49
51
  `getSummary` filtered to feedback whose client is the AgentPassport contract, so sybil feedback
package/dist/client.d.ts CHANGED
@@ -166,6 +166,8 @@ export declare class AgentPassportClient {
166
166
  refund(jobId: bigint | number): Promise<TxResult>;
167
167
  /** Hirer: reject a delivery inside the review window (refund + negative stamp). */
168
168
  dispute(jobId: bigint | number): Promise<TxResult>;
169
+ /** Reads several view calls at one block: one Multicall3 `eth_call` if the chain defines it, else in parallel. */
170
+ private readMany;
169
171
  private wallet;
170
172
  private write;
171
173
  private jobIdFrom;
package/dist/client.js CHANGED
@@ -64,12 +64,31 @@ export class AgentPassportClient {
64
64
  const policy = toPolicy(policyInput);
65
65
  const block = await this.publicClient.getBlock(opts.blockNumber ? { blockNumber: opts.blockNumber } : { blockTag: "latest" });
66
66
  const blockNumber = block.number;
67
- const [passport, meets, identity, reputation] = await Promise.all([
68
- this.getPassport(id, blockNumber),
69
- this.meets(id, policy, blockNumber),
70
- this.getAgent(id, blockNumber).catch(() => null),
71
- this.getEscrowReputation(id, blockNumber),
72
- ]);
67
+ const d = this.deployment;
68
+ // One round trip (Multicall3) when the chain has it: public Monad RPCs allow ~15 requests/s.
69
+ const [rawPassport, rawMeets, owner, wallet, uri, summary] = await this.readMany([
70
+ { address: d.agentPassport, abi: agentPassportAbi, functionName: "passportOf", args: [id] },
71
+ { address: d.agentPassport, abi: agentPassportAbi, functionName: "meets", args: [id, policy] },
72
+ { address: d.identityRegistry, abi: identityRegistryAbi, functionName: "ownerOf", args: [id] },
73
+ { address: d.identityRegistry, abi: identityRegistryAbi, functionName: "getAgentWallet", args: [id] },
74
+ { address: d.identityRegistry, abi: identityRegistryAbi, functionName: "tokenURI", args: [id] },
75
+ { address: d.reputationRegistry, abi: reputationRegistryAbi, functionName: "getSummary", args: [id, [d.agentPassport], "", ""] },
76
+ ], blockNumber);
77
+ if (rawPassport?.status !== "success" || rawMeets?.status !== "success") {
78
+ throw (rawPassport?.status === "failure" ? rawPassport.error : rawMeets?.status === "failure" ? rawMeets.error : new AgentPassportError("scorecard read failed"));
79
+ }
80
+ const p = rawPassport.result;
81
+ const passport = { ...p, jobsSettled: BigInt(p.jobsSettled), jobsRefunded: BigInt(p.jobsRefunded), jobsDisputed: BigInt(p.jobsDisputed), firstSeen: BigInt(p.firstSeen), lastSettled: BigInt(p.lastSettled) };
82
+ const meets = rawMeets.result;
83
+ const identity = owner?.status === "success"
84
+ ? {
85
+ owner: owner.result,
86
+ agentWallet: wallet?.status === "success" && wallet.result !== ZERO_ADDRESS ? wallet.result : null,
87
+ agentURI: uri?.status === "success" ? uri.result : "",
88
+ }
89
+ : null;
90
+ const [count, value, decimals] = summary?.status === "success" ? summary.result : [0n, 0n, 0];
91
+ const reputation = { count: BigInt(count), summary: formatFixed(value, decimals) };
73
92
  const explained = evaluatePolicy(passport, policy, block.timestamp);
74
93
  const iso = (t) => (t === 0n ? null : new Date(Number(t) * 1000).toISOString());
75
94
  return {
@@ -359,6 +378,13 @@ export class AgentPassportClient {
359
378
  return this.write(this.deployment.jobEscrow, jobEscrowAbi, "dispute", [BigInt(jobId)]);
360
379
  }
361
380
  // ───────────────────────────── internals ─────────────────────────────
381
+ /** Reads several view calls at one block: one Multicall3 `eth_call` if the chain defines it, else in parallel. */
382
+ async readMany(calls, blockNumber) {
383
+ if (this.publicClient.chain?.contracts?.multicall3) {
384
+ return (await this.publicClient.multicall({ contracts: calls, allowFailure: true, blockNumber }));
385
+ }
386
+ return Promise.all(calls.map((c) => this.publicClient.readContract({ ...c, blockNumber }).then((result) => ({ status: "success", result: result }), (error) => ({ status: "failure", error }))));
387
+ }
362
388
  wallet() {
363
389
  const wallet = this.walletClient;
364
390
  if (!wallet?.account)
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentfromzero/agentpassport-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "TypeScript SDK for AgentPassport: escrow-backed ERC-8004 reputation for AI agents on Monad. Read passports, check hiring policies, hire/deliver/release through USDC escrow, gasless EIP-3009 opens.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/client.ts CHANGED
@@ -128,12 +128,35 @@ export class AgentPassportClient {
128
128
  const policy = toPolicy(policyInput);
129
129
  const block = await this.publicClient.getBlock(opts.blockNumber ? { blockNumber: opts.blockNumber } : { blockTag: "latest" });
130
130
  const blockNumber = block.number;
131
- const [passport, meets, identity, reputation] = await Promise.all([
132
- this.getPassport(id, blockNumber),
133
- this.meets(id, policy, blockNumber),
134
- this.getAgent(id, blockNumber).catch(() => null),
135
- this.getEscrowReputation(id, blockNumber),
136
- ]);
131
+ const d = this.deployment;
132
+ // One round trip (Multicall3) when the chain has it: public Monad RPCs allow ~15 requests/s.
133
+ const [rawPassport, rawMeets, owner, wallet, uri, summary] = await this.readMany(
134
+ [
135
+ { address: d.agentPassport, abi: agentPassportAbi, functionName: "passportOf", args: [id] },
136
+ { address: d.agentPassport, abi: agentPassportAbi, functionName: "meets", args: [id, policy] },
137
+ { address: d.identityRegistry, abi: identityRegistryAbi, functionName: "ownerOf", args: [id] },
138
+ { address: d.identityRegistry, abi: identityRegistryAbi, functionName: "getAgentWallet", args: [id] },
139
+ { address: d.identityRegistry, abi: identityRegistryAbi, functionName: "tokenURI", args: [id] },
140
+ { address: d.reputationRegistry, abi: reputationRegistryAbi, functionName: "getSummary", args: [id, [d.agentPassport], "", ""] },
141
+ ],
142
+ blockNumber,
143
+ );
144
+ if (rawPassport?.status !== "success" || rawMeets?.status !== "success") {
145
+ throw (rawPassport?.status === "failure" ? rawPassport.error : rawMeets?.status === "failure" ? rawMeets.error : new AgentPassportError("scorecard read failed"));
146
+ }
147
+ const p = rawPassport.result as { jobsSettled: bigint | number; jobsRefunded: bigint | number; jobsDisputed: bigint | number; firstSeen: bigint | number; lastSettled: bigint | number; volumeSettled: bigint; token: Address };
148
+ const passport: Passport = { ...p, jobsSettled: BigInt(p.jobsSettled), jobsRefunded: BigInt(p.jobsRefunded), jobsDisputed: BigInt(p.jobsDisputed), firstSeen: BigInt(p.firstSeen), lastSettled: BigInt(p.lastSettled) };
149
+ const meets = rawMeets.result as boolean;
150
+ const identity =
151
+ owner?.status === "success"
152
+ ? {
153
+ owner: owner.result as Address,
154
+ agentWallet: wallet?.status === "success" && wallet.result !== ZERO_ADDRESS ? (wallet.result as Address) : null,
155
+ agentURI: uri?.status === "success" ? (uri.result as string) : "",
156
+ }
157
+ : null;
158
+ const [count, value, decimals] = summary?.status === "success" ? (summary.result as readonly [bigint, bigint, number]) : [0n, 0n, 0];
159
+ const reputation = { count: BigInt(count), summary: formatFixed(value, decimals) };
137
160
  const explained = evaluatePolicy(passport, policy, block.timestamp);
138
161
  const iso = (t: bigint) => (t === 0n ? null : new Date(Number(t) * 1000).toISOString());
139
162
  return {
@@ -445,6 +468,26 @@ export class AgentPassportClient {
445
468
 
446
469
  // ───────────────────────────── internals ─────────────────────────────
447
470
 
471
+ /** Reads several view calls at one block: one Multicall3 `eth_call` if the chain defines it, else in parallel. */
472
+ private async readMany(
473
+ calls: Array<{ address: Address; abi: Abi; functionName: string; args: readonly unknown[] }>,
474
+ blockNumber: bigint,
475
+ ): Promise<Array<{ status: "success"; result: unknown } | { status: "failure"; error: Error }>> {
476
+ if (this.publicClient.chain?.contracts?.multicall3) {
477
+ return (await this.publicClient.multicall({ contracts: calls as never, allowFailure: true, blockNumber })) as Array<
478
+ { status: "success"; result: unknown } | { status: "failure"; error: Error }
479
+ >;
480
+ }
481
+ return Promise.all(
482
+ calls.map((c) =>
483
+ this.publicClient.readContract({ ...c, blockNumber } as never).then(
484
+ (result) => ({ status: "success" as const, result: result as unknown }),
485
+ (error: Error) => ({ status: "failure" as const, error }),
486
+ ),
487
+ ),
488
+ );
489
+ }
490
+
448
491
  private wallet(): { wallet: WalletClient; account: Account } {
449
492
  const wallet = this.walletClient;
450
493
  if (!wallet?.account) throw new AgentPassportError("this call needs a walletClient with an account");