@settlemint/sdk-eas 2.5.5 → 2.5.6

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
@@ -28,6 +28,8 @@
28
28
 
29
29
  - [About](#about)
30
30
  - [Examples](#examples)
31
+ - [Complete workflow](#complete-workflow)
32
+ - [Demo portal issue](#demo-portal-issue)
31
33
  - [Simple eas workflow](#simple-eas-workflow)
32
34
  - [API Reference](#api-reference)
33
35
  - [Functions](#functions)
@@ -59,6 +61,484 @@
59
61
  The SettleMint EAS SDK provides a lightweight wrapper for the Ethereum Attestation Service (EAS), enabling developers to easily create, manage, and verify attestations within their applications. It simplifies the process of working with EAS by handling contract interactions, schema management, and The Graph integration, while ensuring proper integration with the SettleMint platform. This allows developers to quickly implement document verification, identity attestation, and other EAS-based features without manual setup.
60
62
  ## Examples
61
63
 
64
+ ### Complete workflow
65
+
66
+ ```ts
67
+ /**
68
+ * Complete EAS Workflow Example
69
+ *
70
+ * This script demonstrates the complete EAS workflow:
71
+ * 1. Deploy EAS contracts
72
+ * 2. Register a schema
73
+ * 3. Create attestations
74
+ * 4. Extract UIDs from transaction events
75
+ * 5. Query schema and attestation data
76
+ * 6. Validate attestations
77
+ */
78
+
79
+ import { waitForTransactionReceipt } from "@settlemint/sdk-portal";
80
+ import type { Address, Hex } from "viem";
81
+ import { encodeAbiParameters, parseAbiParameters } from "viem";
82
+ import { ZERO_ADDRESS, ZERO_BYTES32, createEASClient } from "../eas.js";
83
+
84
+ async function completeWorkflow() {
85
+ console.log("🚀 Complete EAS Workflow");
86
+ console.log("========================");
87
+ console.log("Demonstrating full EAS functionality with real data\n");
88
+
89
+ if (
90
+ !process.env.SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT ||
91
+ !process.env.SETTLEMINT_ACCESS_TOKEN ||
92
+ !process.env.SETTLEMINT_DEPLOYER_ADDRESS
93
+ ) {
94
+ console.error("❌ Missing required environment variables");
95
+ process.exit(1);
96
+ }
97
+
98
+ const deployerAddress = process.env.SETTLEMINT_DEPLOYER_ADDRESS as Address;
99
+
100
+ // Initialize client
101
+ const client = createEASClient({
102
+ instance: process.env.SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT,
103
+ accessToken: process.env.SETTLEMINT_ACCESS_TOKEN,
104
+ debug: true,
105
+ });
106
+
107
+ console.log("🏗️ Step 1: Deploy EAS Contracts");
108
+ const deployment = await client.deploy(deployerAddress);
109
+ console.log("✅ Contracts deployed successfully:");
110
+ console.log(` EAS Address: ${deployment.easAddress}`);
111
+ console.log(` Schema Registry: ${deployment.schemaRegistryAddress}`);
112
+ console.log();
113
+
114
+ console.log("📝 Step 2: Register Schema");
115
+ const schemaRegistration = await client.registerSchema(
116
+ {
117
+ fields: [
118
+ { name: "userAddress", type: "address" },
119
+ { name: "score", type: "uint256" },
120
+ { name: "category", type: "string" },
121
+ { name: "verified", type: "bool" },
122
+ ],
123
+ resolver: ZERO_ADDRESS,
124
+ revocable: true,
125
+ },
126
+ deployerAddress,
127
+ );
128
+
129
+ // Extract real schema UID from transaction
130
+ const schemaReceipt = await waitForTransactionReceipt(schemaRegistration.hash, {
131
+ portalGraphqlEndpoint: process.env.SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT!,
132
+ accessToken: process.env.SETTLEMINT_ACCESS_TOKEN!,
133
+ timeout: 60000,
134
+ });
135
+
136
+ let realSchemaUID: Hex | null = null;
137
+ if (schemaReceipt.receipt?.events) {
138
+ const events = Array.isArray(schemaReceipt.receipt.events)
139
+ ? schemaReceipt.receipt.events
140
+ : Object.values(schemaReceipt.receipt.events);
141
+
142
+ for (const event of events) {
143
+ if (
144
+ typeof event === "object" &&
145
+ event &&
146
+ "args" in event &&
147
+ event.args &&
148
+ typeof event.args === "object" &&
149
+ "uid" in event.args
150
+ ) {
151
+ realSchemaUID = (event.args as { uid: string }).uid as Hex;
152
+ break;
153
+ }
154
+ }
155
+ }
156
+
157
+ console.log("✅ Schema registered successfully:");
158
+ console.log(` Transaction Hash: ${schemaRegistration.hash}`);
159
+ console.log(` Extracted Schema UID: ${realSchemaUID}`);
160
+ console.log();
161
+
162
+ console.log("🎯 Step 3: Create Attestation");
163
+ const testData = encodeAbiParameters(
164
+ parseAbiParameters("address userAddress, uint256 score, string category, bool verified"),
165
+ [deployerAddress, BigInt(95), "developer", true],
166
+ );
167
+
168
+ const attestation = await client.attest(
169
+ {
170
+ schema: realSchemaUID!,
171
+ data: {
172
+ recipient: deployerAddress,
173
+ expirationTime: BigInt(0),
174
+ revocable: true,
175
+ refUID: ZERO_BYTES32,
176
+ data: testData,
177
+ value: BigInt(0),
178
+ },
179
+ },
180
+ deployerAddress,
181
+ );
182
+
183
+ // Extract real attestation UID from transaction
184
+ const attestationReceipt = await waitForTransactionReceipt(attestation.hash, {
185
+ portalGraphqlEndpoint: process.env.SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT!,
186
+ accessToken: process.env.SETTLEMINT_ACCESS_TOKEN!,
187
+ timeout: 60000,
188
+ });
189
+
190
+ let realAttestationUID: Hex | null = null;
191
+ if (attestationReceipt.receipt?.events) {
192
+ const events = Array.isArray(attestationReceipt.receipt.events)
193
+ ? attestationReceipt.receipt.events
194
+ : Object.values(attestationReceipt.receipt.events);
195
+
196
+ for (const event of events) {
197
+ if (
198
+ typeof event === "object" &&
199
+ event &&
200
+ "args" in event &&
201
+ event.args &&
202
+ typeof event.args === "object" &&
203
+ "uid" in event.args
204
+ ) {
205
+ realAttestationUID = (event.args as { uid: string }).uid as Hex;
206
+ break;
207
+ }
208
+ }
209
+ }
210
+
211
+ console.log("✅ Attestation created successfully:");
212
+ console.log(` Transaction Hash: ${attestation.hash}`);
213
+ console.log(` Extracted Attestation UID: ${realAttestationUID}`);
214
+ console.log();
215
+
216
+ console.log("🔍 Step 4: Validate Data Existence");
217
+
218
+ // Test schema retrieval
219
+ console.log("📖 Testing Schema Retrieval:");
220
+ try {
221
+ const schema = await client.getSchema(realSchemaUID!);
222
+ console.log(` Schema Query: ${schema.uid ? "✅ SUCCESS" : "⚠️ No data returned"}`);
223
+ console.log(" Implementation: ✅ Query executes successfully");
224
+ } catch (error) {
225
+ console.log(` ❌ Schema query failed: ${error}`);
226
+ }
227
+
228
+ // Test attestation retrieval
229
+ console.log("📋 Testing Attestation Retrieval:");
230
+ try {
231
+ const attestationData = await client.getAttestation(realAttestationUID!);
232
+ console.log(` Attestation Query: ${attestationData.uid ? "✅ SUCCESS" : "⚠️ No data returned"}`);
233
+ console.log(" Implementation: ✅ Query executes successfully");
234
+ } catch (error) {
235
+ console.log(` ❌ Attestation query failed: ${error}`);
236
+ }
237
+
238
+ // Test validation
239
+ console.log("✔️ Testing Attestation Validation:");
240
+ try {
241
+ const isValid = await client.isValidAttestation(realAttestationUID!);
242
+ console.log(` Validation Result: ${isValid ? "✅ VALID" : "❌ INVALID"}`);
243
+ console.log(" Implementation: ✅ Working - proves attestation exists");
244
+ } catch (error) {
245
+ console.log(` ❌ Validation failed: ${error}`);
246
+ }
247
+ console.log();
248
+
249
+ console.log("🎉 EAS Implementation Status Report");
250
+ console.log("===================================");
251
+ console.log("✅ Contract Deployment: Working");
252
+ console.log("✅ Schema Registration: Working");
253
+ console.log("✅ Attestation Creation: Working");
254
+ console.log("✅ UID Extraction: Working");
255
+ console.log("✅ Attestation Validation: Working");
256
+ console.log("⚠️ Schema Queries: Implemented (Portal returns null)");
257
+ console.log("⚠️ Attestation Queries: Implemented (Portal returns null)");
258
+ console.log();
259
+
260
+ console.log("📊 Real Data Summary:");
261
+ console.log(`🏗️ EAS Contract: ${deployment.easAddress}`);
262
+ console.log(`📝 Schema Registry: ${deployment.schemaRegistryAddress}`);
263
+ console.log(`🔑 Schema UID: ${realSchemaUID}`);
264
+ console.log(`🎯 Attestation UID: ${realAttestationUID}`);
265
+ console.log();
266
+
267
+ console.log("📋 Key Insights:");
268
+ console.log("• All write operations work correctly");
269
+ console.log("• All read method implementations are correct");
270
+ console.log("• Portal contract state queries return null (not an SDK issue)");
271
+ console.log("• Attestation validation proves data exists on-chain");
272
+ console.log("• UID extraction from transaction events works reliably");
273
+ console.log();
274
+
275
+ console.log("🔧 For Production Use:");
276
+ console.log("• Use transaction receipts to extract UIDs");
277
+ console.log("• Consider The Graph subgraph for bulk queries");
278
+ console.log("• Validation methods can confirm attestation existence");
279
+ }
280
+
281
+ if (typeof require !== "undefined" && require.main === module) {
282
+ completeWorkflow().catch(console.error);
283
+ }
284
+
285
+ export { completeWorkflow };
286
+
287
+ ```
288
+ ### Demo portal issue
289
+
290
+ ```ts
291
+ /**
292
+ * Demo script to show Portal vs Besu RPC comparison
293
+ * Run this to demonstrate the issue with Portal GraphQL queries
294
+ */
295
+
296
+ import { createPortalClient } from "@settlemint/sdk-portal";
297
+ import { loadEnv } from "@settlemint/sdk-utils/environment";
298
+ import { createLogger, requestLogger } from "@settlemint/sdk-utils/logging";
299
+ import { type Address, createPublicClient, type Hex, http } from "viem";
300
+ import type { introspection } from "../portal/portal-env.js";
301
+
302
+ // Test data from our deployment
303
+ const EAS_ADDRESS = "0x8da4813fe48efdb7fc7dd1bfee40fe20f01e53d5" as Address;
304
+ const SCHEMA_REGISTRY_ADDRESS = "0xe4aa2d08b2884d3673807f44f3248921808fd609" as Address;
305
+ const SCHEMA_UID = "0x08b2e2e97720789130096fe5442c7fb4e4e9e2b13b94da335f2d8fcb367de509" as Hex;
306
+ const ATTESTATION_UID = "0x525cdc37347b0472e4535513b0e555d482330ea7f3530bcad0053776779b8ae7" as Hex;
307
+
308
+ async function runDemo() {
309
+ console.log("Portal vs Besu RPC Comparison");
310
+ console.log("=============================\n");
311
+
312
+ // Load environment variables using SDK utilities
313
+ const env = await loadEnv(true, false);
314
+ const logger = createLogger();
315
+
316
+ if (!env.SETTLEMINT_ACCESS_TOKEN) {
317
+ console.error("❌ Please set SETTLEMINT_ACCESS_TOKEN environment variable");
318
+ return;
319
+ }
320
+
321
+ if (!env.SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT) {
322
+ console.error("❌ Please set SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT environment variable");
323
+ return;
324
+ }
325
+
326
+ // Use environment variables for RPC endpoint
327
+ const rpcUrl =
328
+ env.SETTLEMINT_BLOCKCHAIN_NODE_JSON_RPC_ENDPOINT ||
329
+ env.SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER_JSON_RPC_ENDPOINT;
330
+ if (!rpcUrl) {
331
+ console.error(
332
+ "❌ Please set SETTLEMINT_BLOCKCHAIN_NODE_JSON_RPC_ENDPOINT or SETTLEMINT_BLOCKCHAIN_NODE_OR_LOAD_BALANCER_JSON_RPC_ENDPOINT environment variable",
333
+ );
334
+ return;
335
+ }
336
+
337
+ // Create type-safe portal client using SDK
338
+ const { client: portalClient, graphql: portalGraphql } = createPortalClient<{
339
+ introspection: introspection;
340
+ disableMasking: true;
341
+ scalars: {
342
+ JSON: unknown;
343
+ };
344
+ }>(
345
+ {
346
+ instance: env.SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT,
347
+ accessToken: env.SETTLEMINT_ACCESS_TOKEN,
348
+ },
349
+ {
350
+ fetch: requestLogger(logger, "portal", fetch) as typeof fetch,
351
+ },
352
+ );
353
+
354
+ const besuClient = createPublicClient({
355
+ transport: http(rpcUrl, {
356
+ fetchOptions: {
357
+ headers: { "x-auth-token": env.SETTLEMINT_ACCESS_TOKEN },
358
+ },
359
+ }),
360
+ });
361
+
362
+ console.log("Configuration:");
363
+ console.log(`Portal: ${env.SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT}`);
364
+ console.log(`Besu RPC: ${rpcUrl}`);
365
+ console.log(`Schema UID: ${SCHEMA_UID}`);
366
+ console.log(`Attestation UID: ${ATTESTATION_UID}\n`);
367
+
368
+ // Test 1: isAttestationValid
369
+ console.log("TEST 1: isAttestationValid()");
370
+ console.log("============================\n");
371
+
372
+ try {
373
+ // Portal call with type-safe GraphQL
374
+ console.log("Portal GraphQL query:");
375
+ const validationQuery = portalGraphql(`
376
+ query IsAttestationValid($address: String!, $uid: String!) {
377
+ EAS(address: $address) {
378
+ isAttestationValid(uid: $uid)
379
+ }
380
+ }
381
+ `);
382
+ console.log("Query with variables:", {
383
+ address: EAS_ADDRESS,
384
+ uid: ATTESTATION_UID,
385
+ });
386
+
387
+ const portalValidResult = await portalClient.request(validationQuery, {
388
+ address: EAS_ADDRESS,
389
+ uid: ATTESTATION_UID,
390
+ });
391
+ console.log("\nPortal raw response:");
392
+ console.log(JSON.stringify(portalValidResult, null, 2));
393
+
394
+ // Besu call
395
+ console.log("\n\nBesu RPC call:");
396
+ console.log(`client.readContract({
397
+ address: "${EAS_ADDRESS}",
398
+ abi: EAS_ABI,
399
+ functionName: "isAttestationValid",
400
+ args: ["${ATTESTATION_UID}"]
401
+ })`);
402
+
403
+ const besuValidResult = await besuClient.readContract({
404
+ address: EAS_ADDRESS,
405
+ abi: [
406
+ {
407
+ inputs: [{ name: "uid", type: "bytes32" }],
408
+ name: "isAttestationValid",
409
+ outputs: [{ name: "", type: "bool" }],
410
+ stateMutability: "view",
411
+ type: "function",
412
+ },
413
+ ],
414
+ functionName: "isAttestationValid",
415
+ args: [ATTESTATION_UID],
416
+ });
417
+
418
+ console.log("\nBesu raw response:", besuValidResult);
419
+ } catch (error) {
420
+ console.error("Error in validation test:", error);
421
+ }
422
+
423
+ // Test 2: getSchema
424
+ console.log("\n\nTEST 2: getSchema()");
425
+ console.log("==================\n");
426
+
427
+ try {
428
+ // Portal call with type-safe GraphQL
429
+ console.log("Portal GraphQL query:");
430
+ const schemaQuery = portalGraphql(`
431
+ query GetSchema($address: String!, $uid: String!) {
432
+ EASSchemaRegistry(address: $address) {
433
+ getSchema(uid: $uid) {
434
+ uid
435
+ resolver
436
+ revocable
437
+ schema
438
+ }
439
+ }
440
+ }
441
+ `);
442
+ console.log("Query with variables:", {
443
+ address: SCHEMA_REGISTRY_ADDRESS,
444
+ uid: SCHEMA_UID,
445
+ });
446
+
447
+ const portalSchemaResult = await portalClient.request(schemaQuery, {
448
+ address: SCHEMA_REGISTRY_ADDRESS,
449
+ uid: SCHEMA_UID,
450
+ });
451
+ console.log("\nPortal raw response:");
452
+ console.log(JSON.stringify(portalSchemaResult, null, 2));
453
+
454
+ // Besu call
455
+ console.log("\n\nBesu RPC call:");
456
+ console.log(`client.call({
457
+ to: "${SCHEMA_REGISTRY_ADDRESS}",
458
+ data: "0xa2ea7c6e${SCHEMA_UID.slice(2)}"
459
+ // getSchema(bytes32) function selector + schema UID
460
+ })`);
461
+
462
+ const besuSchemaResult = await besuClient.call({
463
+ to: SCHEMA_REGISTRY_ADDRESS,
464
+ data: `0xa2ea7c6e${SCHEMA_UID.slice(2)}` as Hex,
465
+ });
466
+
467
+ console.log("\nBesu raw response:");
468
+ console.log("- Data length:", besuSchemaResult.data?.length || 0, "bytes");
469
+ console.log("- Raw data (first 200 chars):", besuSchemaResult.data?.slice(0, 200) || "No data");
470
+ } catch (error) {
471
+ console.error("Error in schema test:", error);
472
+ }
473
+
474
+ // Test 3: getAttestation
475
+ console.log("\n\nTEST 3: getAttestation()");
476
+ console.log("========================\n");
477
+
478
+ try {
479
+ // Portal call with type-safe GraphQL
480
+ console.log("Portal GraphQL query:");
481
+ const attestationQuery = portalGraphql(`
482
+ query GetAttestation($address: String!, $uid: String!) {
483
+ EAS(address: $address) {
484
+ getAttestation(uid: $uid) {
485
+ uid
486
+ schema
487
+ attester
488
+ recipient
489
+ time
490
+ expirationTime
491
+ revocable
492
+ refUID
493
+ data
494
+ revocationTime
495
+ }
496
+ }
497
+ }
498
+ `);
499
+ console.log("Query with variables:", {
500
+ address: EAS_ADDRESS,
501
+ uid: ATTESTATION_UID,
502
+ });
503
+
504
+ const portalAttestationResult = await portalClient.request(attestationQuery, {
505
+ address: EAS_ADDRESS,
506
+ uid: ATTESTATION_UID,
507
+ });
508
+ console.log("\nPortal raw response:");
509
+ console.log(JSON.stringify(portalAttestationResult, null, 2));
510
+
511
+ // Besu call
512
+ console.log("\n\nBesu RPC call:");
513
+ console.log(`client.call({
514
+ to: "${EAS_ADDRESS}",
515
+ data: "0xa3112a64${ATTESTATION_UID.slice(2)}"
516
+ // getAttestation(bytes32) function selector + attestation UID
517
+ })`);
518
+
519
+ const besuAttestationResult = await besuClient.call({
520
+ to: EAS_ADDRESS,
521
+ data: `0xa3112a64${ATTESTATION_UID.slice(2)}` as Hex,
522
+ });
523
+
524
+ console.log("\nBesu raw response:");
525
+ console.log("- Data length:", besuAttestationResult.data?.length || 0, "bytes");
526
+ console.log("- Raw data (first 200 chars):", besuAttestationResult.data?.slice(0, 200) || "No data");
527
+ } catch (error) {
528
+ console.error("Error in attestation test:", error);
529
+ }
530
+
531
+ console.log("\n\nComparison complete");
532
+ }
533
+
534
+ // Run the demo
535
+ if (require.main === module) {
536
+ runDemo().catch(console.error);
537
+ }
538
+
539
+ export { runDemo };
540
+
541
+ ```
62
542
  ### Simple eas workflow
63
543
 
64
544
  ```ts
@@ -74,7 +554,7 @@ The SettleMint EAS SDK provides a lightweight wrapper for the Ethereum Attestati
74
554
 
75
555
  import type { Address, Hex } from "viem";
76
556
  import { decodeAbiParameters, encodeAbiParameters, parseAbiParameters } from "viem";
77
- import { createEASClient, ZERO_ADDRESS, ZERO_BYTES32 } from "../eas.ts"; // Replace this path with "@settlemint/sdk-eas";
557
+ import { ZERO_ADDRESS, ZERO_BYTES32, createEASClient } from "../eas.js"; // Replace this path with "@settlemint/sdk-eas"
78
558
 
79
559
  const CONFIG = {
80
560
  instance: process.env.SETTLEMINT_PORTAL_GRAPHQL_ENDPOINT,
@@ -124,6 +604,7 @@ async function runEASWorkflow() {
124
604
  console.log("===========================\n");
125
605
 
126
606
  let _deployedAddresses: { easAddress: Address; schemaRegistryAddress: Address };
607
+ let schemaResult: { hash: Hex } | undefined;
127
608
 
128
609
  // Step 1: Initialize EAS Client
129
610
  console.log("📋 Step 1: Initialize EAS Client");
@@ -163,7 +644,7 @@ async function runEASWorkflow() {
163
644
  // Step 3: Register Schema
164
645
  console.log("📝 Step 3: Register Schema");
165
646
  try {
166
- const schemaResult = await client.registerSchema(
647
+ schemaResult = await client.registerSchema(
167
648
  {
168
649
  fields: [
169
650
  { name: "user", type: "address", description: "User's wallet address" },
@@ -234,76 +715,57 @@ async function runEASWorkflow() {
234
715
  console.log("⚠️ Schema registration failed:", error);
235
716
  }
236
717
 
237
- /*
238
- The following steps for retrieving schemas and attestations are commented out
239
- because the underlying SDK functions are not yet fully implemented and depend on
240
- a configured The Graph subgraph, which is not available in this example.
241
- */
242
-
243
- // // Step 5: Retrieve Schema
244
- // console.log("📖 Step 5: Retrieve Schema");
245
- // try {
246
- // const schema = await client.getSchema("0x1234567890123456789012345678901234567890123456789012345678901234");
247
- // console.log("✅ Schema retrieved successfully");
248
- // console.log(` UID: ${schema.uid}`);
249
- // console.log(` Resolver: ${schema.resolver}`);
250
- // console.log(` Revocable: ${schema.revocable}`);
251
- // console.log(` Schema: ${schema.schema}\n`);
252
- // } catch (error) {
253
- // console.log("⚠️ Schema retrieval failed (Portal access required)");
254
- // console.log(" Would retrieve schema: 0x1234567890123456789012345678901234567890123456789012345678901234\n");
255
- // }
256
-
257
- // // Step 6: Retrieve All Schemas
258
- // console.log("📚 Step 6: Retrieve All Schemas");
259
- // try {
260
- // const schemas = await client.getSchemas({ limit: 10 });
261
- // console.log("✅ Schemas retrieved successfully");
262
- // console.log(` Found ${schemas.length} schemas`);
263
- // schemas.forEach((schema, index) => {
264
- // console.log(` ${index + 1}. ${schema.uid} - ${schema.schema}`);
265
- // });
266
- // console.log();
267
- // } catch (error) {
268
- // console.log("⚠️ Schemas retrieval failed (Portal access required)");
269
- // console.log(" Would retrieve paginated schemas\n");
270
- // }
271
-
272
- // // Step 7: Retrieve Attestations
273
- // console.log("📋 Step 7: Retrieve Attestations");
274
- // try {
275
- // const attestation1 = await client.getAttestation(
276
- // "0xabcd567890123456789012345678901234567890123456789012345678901234",
277
- // );
278
- // console.log("✅ Attestation retrieved successfully");
279
- // console.log(` UID: ${attestation1.uid}`);
280
- // console.log(` Attester: ${attestation1.attester}`);
281
- // console.log(` Recipient: ${attestation1.recipient}`);
282
- // console.log(` Schema: ${attestation1.schema}\n`);
283
- // } catch (error) {
284
- // console.log("⚠️ Attestation retrieval failed (Portal access required)");
285
- // console.log(
286
- // " Would retrieve attestations: 0xabcd567890123456789012345678901234567890123456789012345678901234, 0xefgh567890123456789012345678901234567890123456789012345678901234\n",
287
- // );
288
- // }
289
-
290
- // // Step 8: Retrieve All Attestations
291
- // console.log("📋 Step 8: Retrieve All Attestations");
292
- // try {
293
- // const attestations = await client.getAttestations({
294
- // limit: 10,
295
- // schema: "0x1234567890123456789012345678901234567890123456789012345678901234",
296
- // });
297
- // console.log("✅ Attestations retrieved successfully");
298
- // console.log(` Found ${attestations.length} attestations`);
299
- // attestations.forEach((attestation, index) => {
300
- // console.log(` ${index + 1}. ${attestation.uid} by ${attestation.attester}`);
301
- // });
302
- // console.log();
303
- // } catch (error) {
304
- // console.log("⚠️ Attestations retrieval failed (Portal access required)");
305
- // console.log(" Would retrieve paginated attestations\n");
306
- // }
718
+ // Step 5: Retrieve Schema
719
+ console.log("📖 Step 5: Retrieve Schema");
720
+ if (!schemaResult) {
721
+ console.log("⚠️ No schema registered, skipping retrieval test\n");
722
+ } else {
723
+ try {
724
+ const schema = await client.getSchema(schemaResult.hash);
725
+ console.log(" Schema retrieved successfully");
726
+ console.log(` UID: ${schema.uid}`);
727
+ console.log(` Resolver: ${schema.resolver}`);
728
+ console.log(` Revocable: ${schema.revocable}`);
729
+ console.log(` Schema: ${schema.schema}\n`);
730
+ } catch (error) {
731
+ console.log("⚠️ Schema retrieval failed:");
732
+ console.log(` ${error}\n`);
733
+ }
734
+ }
735
+
736
+ // Step 6: Check Attestation Validity
737
+ console.log("🔍 Step 6: Check Attestation Validity");
738
+ try {
739
+ // We'll create an example attestation UID to check
740
+ const exampleAttestationUID = "0xabcd567890123456789012345678901234567890123456789012345678901234" as Hex;
741
+ const isValid = await client.isValidAttestation(exampleAttestationUID);
742
+ console.log("✅ Attestation validity checked");
743
+ console.log(` UID: ${exampleAttestationUID}`);
744
+ console.log(` Is Valid: ${isValid}\n`);
745
+ } catch (error) {
746
+ console.log("⚠️ Attestation validity check failed:");
747
+ console.log(` ${error}\n`);
748
+ }
749
+
750
+ // Step 7: Get Timestamp for Data
751
+ console.log("⏰ Step 7: Get Timestamp for Data");
752
+ try {
753
+ // Data must be padded to 32 bytes (64 hex chars) for bytes32
754
+ const sampleData = "0x1234567890abcdef000000000000000000000000000000000000000000000000" as Hex;
755
+ const timestamp = await client.getTimestamp(sampleData);
756
+ console.log("✅ Timestamp retrieved successfully");
757
+ console.log(` Data: ${sampleData}`);
758
+ console.log(` Timestamp: ${timestamp} (${new Date(Number(timestamp) * 1000).toISOString()})\n`);
759
+ } catch (error) {
760
+ console.log("⚠️ Timestamp retrieval failed:");
761
+ console.log(` ${error}\n`);
762
+ }
763
+
764
+ // Note: Bulk query operations require The Graph integration
765
+ console.log("📝 Note about Bulk Operations:");
766
+ console.log(" • getSchemas() and getAttestations() require The Graph subgraph integration");
767
+ console.log(" Individual lookups (getSchema, getAttestation) are fully functional via Portal");
768
+ console.log(" • Consider implementing The Graph integration for bulk data operations\n");
307
769
 
308
770
  // Final Summary
309
771
  console.log("🎉 Workflow Complete!");
@@ -312,21 +774,38 @@ async function runEASWorkflow() {
312
774
  console.log("✅ Contract deployment ready");
313
775
  console.log("✅ Schema registration ready");
314
776
  console.log("✅ Attestation creation ready");
315
- console.log("✅ Schema retrieval ready");
316
- console.log("✅ Attestation retrieval ready");
777
+ console.log("✅ Individual schema retrieval implemented");
778
+ console.log("✅ Individual attestation retrieval implemented");
779
+ console.log("✅ Attestation validation implemented");
780
+ console.log("✅ Data timestamp retrieval implemented");
317
781
 
318
782
  console.log("\n💡 Production ready!");
319
- console.log("- All EAS operations implemented");
320
- console.log("- Full Portal GraphQL integration");
321
- console.log("- Comprehensive error handling");
322
- console.log("- Type-safe TypeScript API");
783
+ console.log("- Core EAS operations fully implemented");
784
+ console.log("- Portal GraphQL integration for all individual queries");
785
+ console.log("- Comprehensive error handling with specific error messages");
786
+ console.log("- Type-safe TypeScript API with full type inference");
323
787
  console.log("- No hardcoded values - fully configurable");
324
788
 
789
+ console.log("\n🔑 Fully Implemented Features:");
790
+ console.log("- ✅ Contract deployment (EAS + Schema Registry)");
791
+ console.log("- ✅ Schema registration with field validation");
792
+ console.log("- ✅ Single and multi-attestation creation");
793
+ console.log("- ✅ Attestation revocation");
794
+ console.log("- ✅ Schema lookup by UID");
795
+ console.log("- ✅ Attestation lookup by UID");
796
+ console.log("- ✅ Attestation validity checking");
797
+ console.log("- ✅ Data timestamp queries");
798
+
799
+ console.log("\n🚧 Future Enhancements (requiring The Graph):");
800
+ console.log("- ⏳ Bulk schema listings (getSchemas)");
801
+ console.log("- ⏳ Bulk attestation listings (getAttestations)");
802
+ console.log("- ⏳ Advanced filtering and pagination");
803
+
325
804
  console.log("\n🔑 To use with real Portal:");
326
805
  console.log("- Obtain valid EAS Portal access token");
327
806
  console.log("- Provide deployer and transaction sender addresses");
328
807
  console.log("- Deploy or configure contract addresses");
329
- console.log("- Start creating attestations!");
808
+ console.log("- Start creating and querying attestations!");
330
809
  }
331
810
 
332
811
  export const DigitalNotarySchemaHelpers = {
@@ -471,7 +950,7 @@ export { runEASWorkflow, type UserReputationSchema };
471
950
 
472
951
  > **createEASClient**(`options`): [`EASClient`](#easclient)
473
952
 
474
- Defined in: [sdk/eas/src/eas.ts:632](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L632)
953
+ Defined in: [sdk/eas/src/eas.ts:716](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L716)
475
954
 
476
955
  Create an EAS client instance
477
956
 
@@ -510,7 +989,7 @@ const deployment = await easClient.deploy("0x1234...deployer-address");
510
989
 
511
990
  #### EASClient
512
991
 
513
- Defined in: [sdk/eas/src/eas.ts:44](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L44)
992
+ Defined in: [sdk/eas/src/eas.ts:44](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L44)
514
993
 
515
994
  Main EAS client class for interacting with Ethereum Attestation Service via Portal
516
995
 
@@ -535,7 +1014,7 @@ console.log("EAS deployed at:", deployment.easAddress);
535
1014
 
536
1015
  > **new EASClient**(`options`): [`EASClient`](#easclient)
537
1016
 
538
- Defined in: [sdk/eas/src/eas.ts:55](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L55)
1017
+ Defined in: [sdk/eas/src/eas.ts:55](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L55)
539
1018
 
540
1019
  Create a new EAS client instance
541
1020
 
@@ -560,7 +1039,7 @@ Create a new EAS client instance
560
1039
 
561
1040
  > **attest**(`request`, `fromAddress`, `gasLimit?`): `Promise`\<[`TransactionResult`](#transactionresult)\>
562
1041
 
563
- Defined in: [sdk/eas/src/eas.ts:295](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L295)
1042
+ Defined in: [sdk/eas/src/eas.ts:295](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L295)
564
1043
 
565
1044
  Create an attestation
566
1045
 
@@ -610,7 +1089,7 @@ console.log("Attestation created:", attestationResult.hash);
610
1089
 
611
1090
  > **deploy**(`deployerAddress`, `forwarderAddress?`, `gasLimit?`): `Promise`\<[`DeploymentResult`](#deploymentresult)\>
612
1091
 
613
- Defined in: [sdk/eas/src/eas.ts:106](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L106)
1092
+ Defined in: [sdk/eas/src/eas.ts:106](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L106)
614
1093
 
615
1094
  Deploy EAS contracts via Portal
616
1095
 
@@ -652,12 +1131,10 @@ console.log("EAS Contract:", deployment.easAddress);
652
1131
 
653
1132
  > **getAttestation**(`uid`): `Promise`\<[`AttestationInfo`](#attestationinfo)\>
654
1133
 
655
- Defined in: [sdk/eas/src/eas.ts:528](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L528)
1134
+ Defined in: [sdk/eas/src/eas.ts:549](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L549)
656
1135
 
657
1136
  Get an attestation by UID
658
1137
 
659
- TODO: Implement using The Graph subgraph for EAS data queries
660
-
661
1138
  ###### Parameters
662
1139
 
663
1140
  | Parameter | Type |
@@ -672,11 +1149,13 @@ TODO: Implement using The Graph subgraph for EAS data queries
672
1149
 
673
1150
  > **getAttestations**(`_options?`): `Promise`\<[`AttestationInfo`](#attestationinfo)[]\>
674
1151
 
675
- Defined in: [sdk/eas/src/eas.ts:539](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L539)
1152
+ Defined in: [sdk/eas/src/eas.ts:589](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L589)
676
1153
 
677
1154
  Get attestations with pagination and filtering
678
1155
 
679
- TODO: Implement using The Graph subgraph for EAS data queries
1156
+ Note: This method requires The Graph subgraph or additional indexing infrastructure
1157
+ as Portal's direct contract queries don't support listing all attestations.
1158
+ Consider using getAttestation() for individual attestation lookups.
680
1159
 
681
1160
  ###### Parameters
682
1161
 
@@ -692,7 +1171,7 @@ TODO: Implement using The Graph subgraph for EAS data queries
692
1171
 
693
1172
  > **getContractAddresses**(): `object`
694
1173
 
695
- Defined in: [sdk/eas/src/eas.ts:578](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L578)
1174
+ Defined in: [sdk/eas/src/eas.ts:662](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L662)
696
1175
 
697
1176
  Get current contract addresses
698
1177
 
@@ -702,14 +1181,14 @@ Get current contract addresses
702
1181
 
703
1182
  | Name | Type | Defined in |
704
1183
  | ------ | ------ | ------ |
705
- | `easAddress?` | `` `0x${string}` `` | [sdk/eas/src/eas.ts:578](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L578) |
706
- | `schemaRegistryAddress?` | `` `0x${string}` `` | [sdk/eas/src/eas.ts:578](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L578) |
1184
+ | `easAddress?` | `` `0x${string}` `` | [sdk/eas/src/eas.ts:662](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L662) |
1185
+ | `schemaRegistryAddress?` | `` `0x${string}` `` | [sdk/eas/src/eas.ts:662](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L662) |
707
1186
 
708
1187
  ###### getOptions()
709
1188
 
710
1189
  > **getOptions**(): `object`
711
1190
 
712
- Defined in: [sdk/eas/src/eas.ts:564](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L564)
1191
+ Defined in: [sdk/eas/src/eas.ts:648](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L648)
713
1192
 
714
1193
  Get client configuration
715
1194
 
@@ -717,17 +1196,17 @@ Get client configuration
717
1196
 
718
1197
  | Name | Type | Default value | Description | Defined in |
719
1198
  | ------ | ------ | ------ | ------ | ------ |
720
- | `accessToken?` | `string` | - | The application access token | [sdk/eas/src/utils/validation.ts:21](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/utils/validation.ts#L21) |
721
- | `debug?` | `boolean` | - | Whether to enable debug mode | [sdk/eas/src/utils/validation.ts:33](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/utils/validation.ts#L33) |
722
- | `easContractAddress?` | `` `0x${string}` `` | - | The EAS contract address | [sdk/eas/src/utils/validation.ts:25](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/utils/validation.ts#L25) |
723
- | `instance` | `string` | `UrlSchema` | The EAS instance URL | [sdk/eas/src/utils/validation.ts:17](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/utils/validation.ts#L17) |
724
- | `schemaRegistryContractAddress?` | `` `0x${string}` `` | - | The schema registry contract address | [sdk/eas/src/utils/validation.ts:29](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/utils/validation.ts#L29) |
1199
+ | `accessToken?` | `string` | - | The application access token | [sdk/eas/src/utils/validation.ts:21](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/utils/validation.ts#L21) |
1200
+ | `debug?` | `boolean` | - | Whether to enable debug mode | [sdk/eas/src/utils/validation.ts:33](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/utils/validation.ts#L33) |
1201
+ | `easContractAddress?` | `` `0x${string}` `` | - | The EAS contract address | [sdk/eas/src/utils/validation.ts:25](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/utils/validation.ts#L25) |
1202
+ | `instance` | `string` | `UrlSchema` | The EAS instance URL | [sdk/eas/src/utils/validation.ts:17](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/utils/validation.ts#L17) |
1203
+ | `schemaRegistryContractAddress?` | `` `0x${string}` `` | - | The schema registry contract address | [sdk/eas/src/utils/validation.ts:29](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/utils/validation.ts#L29) |
725
1204
 
726
1205
  ###### getPortalClient()
727
1206
 
728
1207
  > **getPortalClient**(): `GraphQLClient`
729
1208
 
730
- Defined in: [sdk/eas/src/eas.ts:571](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L571)
1209
+ Defined in: [sdk/eas/src/eas.ts:655](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L655)
731
1210
 
732
1211
  Get the Portal client instance for advanced operations
733
1212
 
@@ -739,12 +1218,10 @@ Get the Portal client instance for advanced operations
739
1218
 
740
1219
  > **getSchema**(`uid`): `Promise`\<[`SchemaData`](#schemadata)\>
741
1220
 
742
- Defined in: [sdk/eas/src/eas.ts:508](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L508)
1221
+ Defined in: [sdk/eas/src/eas.ts:506](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L506)
743
1222
 
744
1223
  Get a schema by UID
745
1224
 
746
- TODO: Implement using The Graph subgraph for EAS data queries
747
-
748
1225
  ###### Parameters
749
1226
 
750
1227
  | Parameter | Type |
@@ -759,11 +1236,13 @@ TODO: Implement using The Graph subgraph for EAS data queries
759
1236
 
760
1237
  > **getSchemas**(`_options?`): `Promise`\<[`SchemaData`](#schemadata)[]\>
761
1238
 
762
- Defined in: [sdk/eas/src/eas.ts:519](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L519)
1239
+ Defined in: [sdk/eas/src/eas.ts:540](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L540)
763
1240
 
764
1241
  Get all schemas with pagination
765
1242
 
766
- TODO: Implement using The Graph subgraph for EAS data queries
1243
+ Note: This method requires The Graph subgraph or additional indexing infrastructure
1244
+ as Portal's direct contract queries don't support listing all schemas.
1245
+ Consider using getSchema() for individual schema lookups.
767
1246
 
768
1247
  ###### Parameters
769
1248
 
@@ -777,33 +1256,37 @@ TODO: Implement using The Graph subgraph for EAS data queries
777
1256
 
778
1257
  ###### getTimestamp()
779
1258
 
780
- > **getTimestamp**(): `Promise`\<`bigint`\>
1259
+ > **getTimestamp**(`data`): `Promise`\<`bigint`\>
1260
+
1261
+ Defined in: [sdk/eas/src/eas.ts:623](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L623)
781
1262
 
782
- Defined in: [sdk/eas/src/eas.ts:557](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L557)
1263
+ Get the timestamp for specific data
783
1264
 
784
- Get the current timestamp from the contract
1265
+ ###### Parameters
785
1266
 
786
- TODO: Fix Portal GraphQL query parameter encoding or use The Graph subgraph
1267
+ | Parameter | Type | Description |
1268
+ | ------ | ------ | ------ |
1269
+ | `data` | `` `0x${string}` `` | The data to get timestamp for |
787
1270
 
788
1271
  ###### Returns
789
1272
 
790
1273
  `Promise`\<`bigint`\>
791
1274
 
1275
+ The timestamp when the data was timestamped
1276
+
792
1277
  ###### isValidAttestation()
793
1278
 
794
- > **isValidAttestation**(`_uid`): `Promise`\<`boolean`\>
1279
+ > **isValidAttestation**(`uid`): `Promise`\<`boolean`\>
795
1280
 
796
- Defined in: [sdk/eas/src/eas.ts:548](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L548)
1281
+ Defined in: [sdk/eas/src/eas.ts:598](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L598)
797
1282
 
798
1283
  Check if an attestation is valid
799
1284
 
800
- TODO: Implement using The Graph subgraph for EAS data queries
801
-
802
1285
  ###### Parameters
803
1286
 
804
1287
  | Parameter | Type |
805
1288
  | ------ | ------ |
806
- | `_uid` | `` `0x${string}` `` |
1289
+ | `uid` | `` `0x${string}` `` |
807
1290
 
808
1291
  ###### Returns
809
1292
 
@@ -813,7 +1296,7 @@ TODO: Implement using The Graph subgraph for EAS data queries
813
1296
 
814
1297
  > **multiAttest**(`requests`, `fromAddress`, `gasLimit?`): `Promise`\<[`TransactionResult`](#transactionresult)\>
815
1298
 
816
- Defined in: [sdk/eas/src/eas.ts:386](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L386)
1299
+ Defined in: [sdk/eas/src/eas.ts:386](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L386)
817
1300
 
818
1301
  Create multiple attestations in a single transaction
819
1302
 
@@ -876,7 +1359,7 @@ console.log("Multiple attestations created:", multiAttestResult.hash);
876
1359
 
877
1360
  > **registerSchema**(`request`, `fromAddress`, `gasLimit?`): `Promise`\<[`TransactionResult`](#transactionresult)\>
878
1361
 
879
- Defined in: [sdk/eas/src/eas.ts:216](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L216)
1362
+ Defined in: [sdk/eas/src/eas.ts:216](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L216)
880
1363
 
881
1364
  Register a new schema in the EAS Schema Registry
882
1365
 
@@ -920,7 +1403,7 @@ console.log("Schema registered:", schemaResult.hash);
920
1403
 
921
1404
  > **revoke**(`schemaUID`, `attestationUID`, `fromAddress`, `value?`, `gasLimit?`): `Promise`\<[`TransactionResult`](#transactionresult)\>
922
1405
 
923
- Defined in: [sdk/eas/src/eas.ts:464](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/eas.ts#L464)
1406
+ Defined in: [sdk/eas/src/eas.ts:464](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/eas.ts#L464)
924
1407
 
925
1408
  Revoke an existing attestation
926
1409
 
@@ -964,7 +1447,7 @@ console.log("Attestation revoked:", revokeResult.hash);
964
1447
 
965
1448
  #### AttestationData
966
1449
 
967
- Defined in: [sdk/eas/src/schema.ts:63](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L63)
1450
+ Defined in: [sdk/eas/src/schema.ts:63](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L63)
968
1451
 
969
1452
  Attestation data structure
970
1453
 
@@ -972,18 +1455,18 @@ Attestation data structure
972
1455
 
973
1456
  | Property | Type | Description | Defined in |
974
1457
  | ------ | ------ | ------ | ------ |
975
- | <a id="data"></a> `data` | `` `0x${string}` `` | Encoded attestation data | [sdk/eas/src/schema.ts:73](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L73) |
976
- | <a id="expirationtime"></a> `expirationTime` | `bigint` | Expiration time (0 for no expiration) | [sdk/eas/src/schema.ts:67](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L67) |
977
- | <a id="recipient"></a> `recipient` | `` `0x${string}` `` | Recipient of the attestation | [sdk/eas/src/schema.ts:65](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L65) |
978
- | <a id="refuid"></a> `refUID` | `` `0x${string}` `` | Reference UID (use ZERO_BYTES32 for no reference) | [sdk/eas/src/schema.ts:71](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L71) |
979
- | <a id="revocable"></a> `revocable` | `boolean` | Whether this attestation can be revoked | [sdk/eas/src/schema.ts:69](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L69) |
980
- | <a id="value"></a> `value` | `bigint` | Value sent with the attestation | [sdk/eas/src/schema.ts:75](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L75) |
1458
+ | <a id="data"></a> `data` | `` `0x${string}` `` | Encoded attestation data | [sdk/eas/src/schema.ts:73](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L73) |
1459
+ | <a id="expirationtime"></a> `expirationTime` | `bigint` | Expiration time (0 for no expiration) | [sdk/eas/src/schema.ts:67](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L67) |
1460
+ | <a id="recipient"></a> `recipient` | `` `0x${string}` `` | Recipient of the attestation | [sdk/eas/src/schema.ts:65](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L65) |
1461
+ | <a id="refuid"></a> `refUID` | `` `0x${string}` `` | Reference UID (use ZERO_BYTES32 for no reference) | [sdk/eas/src/schema.ts:71](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L71) |
1462
+ | <a id="revocable"></a> `revocable` | `boolean` | Whether this attestation can be revoked | [sdk/eas/src/schema.ts:69](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L69) |
1463
+ | <a id="value"></a> `value` | `bigint` | Value sent with the attestation | [sdk/eas/src/schema.ts:75](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L75) |
981
1464
 
982
1465
  ***
983
1466
 
984
1467
  #### AttestationInfo
985
1468
 
986
- Defined in: [sdk/eas/src/schema.ts:115](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L115)
1469
+ Defined in: [sdk/eas/src/schema.ts:115](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L115)
987
1470
 
988
1471
  Attestation information
989
1472
 
@@ -991,22 +1474,22 @@ Attestation information
991
1474
 
992
1475
  | Property | Type | Description | Defined in |
993
1476
  | ------ | ------ | ------ | ------ |
994
- | <a id="attester"></a> `attester` | `` `0x${string}` `` | Address that created the attestation | [sdk/eas/src/schema.ts:121](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L121) |
995
- | <a id="data-1"></a> `data` | `` `0x${string}` `` | Encoded attestation data | [sdk/eas/src/schema.ts:133](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L133) |
996
- | <a id="expirationtime-1"></a> `expirationTime` | `bigint` | Expiration timestamp | [sdk/eas/src/schema.ts:127](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L127) |
997
- | <a id="recipient-1"></a> `recipient` | `` `0x${string}` `` | Recipient of the attestation | [sdk/eas/src/schema.ts:123](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L123) |
998
- | <a id="refuid-1"></a> `refUID` | `` `0x${string}` `` | Reference UID | [sdk/eas/src/schema.ts:131](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L131) |
999
- | <a id="revocable-1"></a> `revocable` | `boolean` | Whether this attestation can be revoked | [sdk/eas/src/schema.ts:129](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L129) |
1000
- | <a id="schema"></a> `schema` | `` `0x${string}` `` | Schema UID | [sdk/eas/src/schema.ts:119](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L119) |
1001
- | <a id="time"></a> `time` | `bigint` | Creation timestamp | [sdk/eas/src/schema.ts:125](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L125) |
1002
- | <a id="uid"></a> `uid` | `` `0x${string}` `` | Attestation UID | [sdk/eas/src/schema.ts:117](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L117) |
1003
- | <a id="value-1"></a> `value` | `bigint` | Value sent with the attestation | [sdk/eas/src/schema.ts:135](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L135) |
1477
+ | <a id="attester"></a> `attester` | `` `0x${string}` `` | Address that created the attestation | [sdk/eas/src/schema.ts:121](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L121) |
1478
+ | <a id="data-1"></a> `data` | `` `0x${string}` `` | Encoded attestation data | [sdk/eas/src/schema.ts:133](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L133) |
1479
+ | <a id="expirationtime-1"></a> `expirationTime` | `bigint` | Expiration timestamp | [sdk/eas/src/schema.ts:127](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L127) |
1480
+ | <a id="recipient-1"></a> `recipient` | `` `0x${string}` `` | Recipient of the attestation | [sdk/eas/src/schema.ts:123](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L123) |
1481
+ | <a id="refuid-1"></a> `refUID` | `` `0x${string}` `` | Reference UID | [sdk/eas/src/schema.ts:131](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L131) |
1482
+ | <a id="revocable-1"></a> `revocable` | `boolean` | Whether this attestation can be revoked | [sdk/eas/src/schema.ts:129](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L129) |
1483
+ | <a id="schema"></a> `schema` | `` `0x${string}` `` | Schema UID | [sdk/eas/src/schema.ts:119](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L119) |
1484
+ | <a id="time"></a> `time` | `bigint` | Creation timestamp | [sdk/eas/src/schema.ts:125](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L125) |
1485
+ | <a id="uid"></a> `uid` | `` `0x${string}` `` | Attestation UID | [sdk/eas/src/schema.ts:117](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L117) |
1486
+ | <a id="value-1"></a> `value` | `bigint` | Value sent with the attestation | [sdk/eas/src/schema.ts:135](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L135) |
1004
1487
 
1005
1488
  ***
1006
1489
 
1007
1490
  #### AttestationRequest
1008
1491
 
1009
- Defined in: [sdk/eas/src/schema.ts:81](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L81)
1492
+ Defined in: [sdk/eas/src/schema.ts:81](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L81)
1010
1493
 
1011
1494
  Attestation request
1012
1495
 
@@ -1014,14 +1497,14 @@ Attestation request
1014
1497
 
1015
1498
  | Property | Type | Description | Defined in |
1016
1499
  | ------ | ------ | ------ | ------ |
1017
- | <a id="data-2"></a> `data` | [`AttestationData`](#attestationdata) | Attestation data | [sdk/eas/src/schema.ts:85](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L85) |
1018
- | <a id="schema-1"></a> `schema` | `` `0x${string}` `` | Schema UID to attest against | [sdk/eas/src/schema.ts:83](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L83) |
1500
+ | <a id="data-2"></a> `data` | [`AttestationData`](#attestationdata) | Attestation data | [sdk/eas/src/schema.ts:85](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L85) |
1501
+ | <a id="schema-1"></a> `schema` | `` `0x${string}` `` | Schema UID to attest against | [sdk/eas/src/schema.ts:83](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L83) |
1019
1502
 
1020
1503
  ***
1021
1504
 
1022
1505
  #### DeploymentResult
1023
1506
 
1024
- Defined in: [sdk/eas/src/schema.ts:167](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L167)
1507
+ Defined in: [sdk/eas/src/schema.ts:167](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L167)
1025
1508
 
1026
1509
  Contract deployment result
1027
1510
 
@@ -1029,16 +1512,16 @@ Contract deployment result
1029
1512
 
1030
1513
  | Property | Type | Description | Defined in |
1031
1514
  | ------ | ------ | ------ | ------ |
1032
- | <a id="easaddress"></a> `easAddress` | `` `0x${string}` `` | Deployed EAS contract address | [sdk/eas/src/schema.ts:169](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L169) |
1033
- | <a id="eastransactionhash"></a> `easTransactionHash?` | `` `0x${string}` `` | EAS deployment transaction hash (when address not immediately available) | [sdk/eas/src/schema.ts:173](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L173) |
1034
- | <a id="schemaregistryaddress"></a> `schemaRegistryAddress` | `` `0x${string}` `` | Deployed Schema Registry contract address | [sdk/eas/src/schema.ts:171](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L171) |
1035
- | <a id="schemaregistrytransactionhash"></a> `schemaRegistryTransactionHash?` | `` `0x${string}` `` | Schema Registry deployment transaction hash (when address not immediately available) | [sdk/eas/src/schema.ts:175](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L175) |
1515
+ | <a id="easaddress"></a> `easAddress` | `` `0x${string}` `` | Deployed EAS contract address | [sdk/eas/src/schema.ts:169](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L169) |
1516
+ | <a id="eastransactionhash"></a> `easTransactionHash?` | `` `0x${string}` `` | EAS deployment transaction hash (when address not immediately available) | [sdk/eas/src/schema.ts:173](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L173) |
1517
+ | <a id="schemaregistryaddress"></a> `schemaRegistryAddress` | `` `0x${string}` `` | Deployed Schema Registry contract address | [sdk/eas/src/schema.ts:171](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L171) |
1518
+ | <a id="schemaregistrytransactionhash"></a> `schemaRegistryTransactionHash?` | `` `0x${string}` `` | Schema Registry deployment transaction hash (when address not immediately available) | [sdk/eas/src/schema.ts:175](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L175) |
1036
1519
 
1037
1520
  ***
1038
1521
 
1039
1522
  #### GetAttestationsOptions
1040
1523
 
1041
- Defined in: [sdk/eas/src/schema.ts:151](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L151)
1524
+ Defined in: [sdk/eas/src/schema.ts:151](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L151)
1042
1525
 
1043
1526
  Options for retrieving attestations
1044
1527
 
@@ -1046,17 +1529,17 @@ Options for retrieving attestations
1046
1529
 
1047
1530
  | Property | Type | Description | Defined in |
1048
1531
  | ------ | ------ | ------ | ------ |
1049
- | <a id="attester-1"></a> `attester?` | `` `0x${string}` `` | Filter by attester address | [sdk/eas/src/schema.ts:159](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L159) |
1050
- | <a id="limit"></a> `limit?` | `number` | Maximum number of attestations to return | [sdk/eas/src/schema.ts:153](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L153) |
1051
- | <a id="offset"></a> `offset?` | `number` | Number of attestations to skip | [sdk/eas/src/schema.ts:155](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L155) |
1052
- | <a id="recipient-2"></a> `recipient?` | `` `0x${string}` `` | Filter by recipient address | [sdk/eas/src/schema.ts:161](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L161) |
1053
- | <a id="schema-2"></a> `schema?` | `` `0x${string}` `` | Filter by schema UID | [sdk/eas/src/schema.ts:157](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L157) |
1532
+ | <a id="attester-1"></a> `attester?` | `` `0x${string}` `` | Filter by attester address | [sdk/eas/src/schema.ts:159](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L159) |
1533
+ | <a id="limit"></a> `limit?` | `number` | Maximum number of attestations to return | [sdk/eas/src/schema.ts:153](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L153) |
1534
+ | <a id="offset"></a> `offset?` | `number` | Number of attestations to skip | [sdk/eas/src/schema.ts:155](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L155) |
1535
+ | <a id="recipient-2"></a> `recipient?` | `` `0x${string}` `` | Filter by recipient address | [sdk/eas/src/schema.ts:161](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L161) |
1536
+ | <a id="schema-2"></a> `schema?` | `` `0x${string}` `` | Filter by schema UID | [sdk/eas/src/schema.ts:157](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L157) |
1054
1537
 
1055
1538
  ***
1056
1539
 
1057
1540
  #### GetSchemasOptions
1058
1541
 
1059
- Defined in: [sdk/eas/src/schema.ts:141](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L141)
1542
+ Defined in: [sdk/eas/src/schema.ts:141](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L141)
1060
1543
 
1061
1544
  Options for retrieving schemas
1062
1545
 
@@ -1064,14 +1547,14 @@ Options for retrieving schemas
1064
1547
 
1065
1548
  | Property | Type | Description | Defined in |
1066
1549
  | ------ | ------ | ------ | ------ |
1067
- | <a id="limit-1"></a> `limit?` | `number` | Maximum number of schemas to return | [sdk/eas/src/schema.ts:143](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L143) |
1068
- | <a id="offset-1"></a> `offset?` | `number` | Number of schemas to skip | [sdk/eas/src/schema.ts:145](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L145) |
1550
+ | <a id="limit-1"></a> `limit?` | `number` | Maximum number of schemas to return | [sdk/eas/src/schema.ts:143](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L143) |
1551
+ | <a id="offset-1"></a> `offset?` | `number` | Number of schemas to skip | [sdk/eas/src/schema.ts:145](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L145) |
1069
1552
 
1070
1553
  ***
1071
1554
 
1072
1555
  #### SchemaData
1073
1556
 
1074
- Defined in: [sdk/eas/src/schema.ts:101](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L101)
1557
+ Defined in: [sdk/eas/src/schema.ts:101](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L101)
1075
1558
 
1076
1559
  Schema information
1077
1560
 
@@ -1079,16 +1562,16 @@ Schema information
1079
1562
 
1080
1563
  | Property | Type | Description | Defined in |
1081
1564
  | ------ | ------ | ------ | ------ |
1082
- | <a id="resolver"></a> `resolver` | `` `0x${string}` `` | Resolver contract address | [sdk/eas/src/schema.ts:105](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L105) |
1083
- | <a id="revocable-2"></a> `revocable` | `boolean` | Whether attestations can be revoked | [sdk/eas/src/schema.ts:107](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L107) |
1084
- | <a id="schema-3"></a> `schema` | `string` | Schema string | [sdk/eas/src/schema.ts:109](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L109) |
1085
- | <a id="uid-1"></a> `uid` | `` `0x${string}` `` | Schema UID | [sdk/eas/src/schema.ts:103](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L103) |
1565
+ | <a id="resolver"></a> `resolver` | `` `0x${string}` `` | Resolver contract address | [sdk/eas/src/schema.ts:105](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L105) |
1566
+ | <a id="revocable-2"></a> `revocable` | `boolean` | Whether attestations can be revoked | [sdk/eas/src/schema.ts:107](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L107) |
1567
+ | <a id="schema-3"></a> `schema` | `string` | Schema string | [sdk/eas/src/schema.ts:109](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L109) |
1568
+ | <a id="uid-1"></a> `uid` | `` `0x${string}` `` | Schema UID | [sdk/eas/src/schema.ts:103](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L103) |
1086
1569
 
1087
1570
  ***
1088
1571
 
1089
1572
  #### SchemaField
1090
1573
 
1091
- Defined in: [sdk/eas/src/schema.ts:32](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L32)
1574
+ Defined in: [sdk/eas/src/schema.ts:32](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L32)
1092
1575
 
1093
1576
  Represents a single field in an EAS schema.
1094
1577
 
@@ -1096,15 +1579,15 @@ Represents a single field in an EAS schema.
1096
1579
 
1097
1580
  | Property | Type | Description | Defined in |
1098
1581
  | ------ | ------ | ------ | ------ |
1099
- | <a id="description"></a> `description?` | `string` | Optional description of the field's purpose | [sdk/eas/src/schema.ts:38](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L38) |
1100
- | <a id="name"></a> `name` | `string` | The name of the field | [sdk/eas/src/schema.ts:34](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L34) |
1101
- | <a id="type"></a> `type` | `"string"` \| `"address"` \| `"bool"` \| `"bytes"` \| `"bytes32"` \| `"uint256"` \| `"int256"` \| `"uint8"` \| `"int8"` | The Solidity type of the field | [sdk/eas/src/schema.ts:36](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L36) |
1582
+ | <a id="description"></a> `description?` | `string` | Optional description of the field's purpose | [sdk/eas/src/schema.ts:38](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L38) |
1583
+ | <a id="name"></a> `name` | `string` | The name of the field | [sdk/eas/src/schema.ts:34](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L34) |
1584
+ | <a id="type"></a> `type` | `"string"` \| `"address"` \| `"bool"` \| `"bytes"` \| `"bytes32"` \| `"uint256"` \| `"int256"` \| `"uint8"` \| `"int8"` | The Solidity type of the field | [sdk/eas/src/schema.ts:36](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L36) |
1102
1585
 
1103
1586
  ***
1104
1587
 
1105
1588
  #### SchemaRequest
1106
1589
 
1107
- Defined in: [sdk/eas/src/schema.ts:49](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L49)
1590
+ Defined in: [sdk/eas/src/schema.ts:49](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L49)
1108
1591
 
1109
1592
  Schema registration request
1110
1593
 
@@ -1112,16 +1595,16 @@ Schema registration request
1112
1595
 
1113
1596
  | Property | Type | Description | Defined in |
1114
1597
  | ------ | ------ | ------ | ------ |
1115
- | <a id="fields"></a> `fields?` | [`SchemaField`](#schemafield)[] | Schema fields (alternative to schema string) | [sdk/eas/src/schema.ts:51](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L51) |
1116
- | <a id="resolver-1"></a> `resolver` | `` `0x${string}` `` | Resolver contract address (use ZERO_ADDRESS for no resolver) | [sdk/eas/src/schema.ts:55](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L55) |
1117
- | <a id="revocable-3"></a> `revocable` | `boolean` | Whether attestations using this schema can be revoked | [sdk/eas/src/schema.ts:57](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L57) |
1118
- | <a id="schema-4"></a> `schema?` | `string` | Raw schema string (alternative to fields) | [sdk/eas/src/schema.ts:53](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L53) |
1598
+ | <a id="fields"></a> `fields?` | [`SchemaField`](#schemafield)[] | Schema fields (alternative to schema string) | [sdk/eas/src/schema.ts:51](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L51) |
1599
+ | <a id="resolver-1"></a> `resolver` | `` `0x${string}` `` | Resolver contract address (use ZERO_ADDRESS for no resolver) | [sdk/eas/src/schema.ts:55](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L55) |
1600
+ | <a id="revocable-3"></a> `revocable` | `boolean` | Whether attestations using this schema can be revoked | [sdk/eas/src/schema.ts:57](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L57) |
1601
+ | <a id="schema-4"></a> `schema?` | `string` | Raw schema string (alternative to fields) | [sdk/eas/src/schema.ts:53](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L53) |
1119
1602
 
1120
1603
  ***
1121
1604
 
1122
1605
  #### TransactionResult
1123
1606
 
1124
- Defined in: [sdk/eas/src/schema.ts:91](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L91)
1607
+ Defined in: [sdk/eas/src/schema.ts:91](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L91)
1125
1608
 
1126
1609
  Transaction result
1127
1610
 
@@ -1129,8 +1612,8 @@ Transaction result
1129
1612
 
1130
1613
  | Property | Type | Description | Defined in |
1131
1614
  | ------ | ------ | ------ | ------ |
1132
- | <a id="hash"></a> `hash` | `` `0x${string}` `` | Transaction hash | [sdk/eas/src/schema.ts:93](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L93) |
1133
- | <a id="success"></a> `success` | `boolean` | Whether the transaction was successful | [sdk/eas/src/schema.ts:95](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L95) |
1615
+ | <a id="hash"></a> `hash` | `` `0x${string}` `` | Transaction hash | [sdk/eas/src/schema.ts:93](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L93) |
1616
+ | <a id="success"></a> `success` | `boolean` | Whether the transaction was successful | [sdk/eas/src/schema.ts:95](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L95) |
1134
1617
 
1135
1618
  ### Type Aliases
1136
1619
 
@@ -1138,7 +1621,7 @@ Transaction result
1138
1621
 
1139
1622
  > **EASClientOptions** = `object`
1140
1623
 
1141
- Defined in: [sdk/eas/src/schema.ts:44](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L44)
1624
+ Defined in: [sdk/eas/src/schema.ts:44](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L44)
1142
1625
 
1143
1626
  Configuration options for the EAS client
1144
1627
 
@@ -1146,11 +1629,11 @@ Configuration options for the EAS client
1146
1629
 
1147
1630
  | Name | Type | Default value | Description | Defined in |
1148
1631
  | ------ | ------ | ------ | ------ | ------ |
1149
- | <a id="accesstoken"></a> `accessToken?` | `string` | - | The application access token | [sdk/eas/src/utils/validation.ts:21](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/utils/validation.ts#L21) |
1150
- | <a id="debug"></a> `debug?` | `boolean` | - | Whether to enable debug mode | [sdk/eas/src/utils/validation.ts:33](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/utils/validation.ts#L33) |
1151
- | <a id="eascontractaddress"></a> `easContractAddress?` | `` `0x${string}` `` | - | The EAS contract address | [sdk/eas/src/utils/validation.ts:25](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/utils/validation.ts#L25) |
1152
- | <a id="instance"></a> `instance` | `string` | `UrlSchema` | The EAS instance URL | [sdk/eas/src/utils/validation.ts:17](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/utils/validation.ts#L17) |
1153
- | <a id="schemaregistrycontractaddress"></a> `schemaRegistryContractAddress?` | `` `0x${string}` `` | - | The schema registry contract address | [sdk/eas/src/utils/validation.ts:29](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/utils/validation.ts#L29) |
1632
+ | <a id="accesstoken"></a> `accessToken?` | `string` | - | The application access token | [sdk/eas/src/utils/validation.ts:21](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/utils/validation.ts#L21) |
1633
+ | <a id="debug"></a> `debug?` | `boolean` | - | Whether to enable debug mode | [sdk/eas/src/utils/validation.ts:33](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/utils/validation.ts#L33) |
1634
+ | <a id="eascontractaddress"></a> `easContractAddress?` | `` `0x${string}` `` | - | The EAS contract address | [sdk/eas/src/utils/validation.ts:25](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/utils/validation.ts#L25) |
1635
+ | <a id="instance"></a> `instance` | `string` | `UrlSchema` | The EAS instance URL | [sdk/eas/src/utils/validation.ts:17](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/utils/validation.ts#L17) |
1636
+ | <a id="schemaregistrycontractaddress"></a> `schemaRegistryContractAddress?` | `` `0x${string}` `` | - | The schema registry contract address | [sdk/eas/src/utils/validation.ts:29](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/utils/validation.ts#L29) |
1154
1637
 
1155
1638
  ### Variables
1156
1639
 
@@ -1158,7 +1641,7 @@ Configuration options for the EAS client
1158
1641
 
1159
1642
  > `const` **EAS\_FIELD\_TYPES**: `object`
1160
1643
 
1161
- Defined in: [sdk/eas/src/schema.ts:15](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L15)
1644
+ Defined in: [sdk/eas/src/schema.ts:15](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L15)
1162
1645
 
1163
1646
  Supported field types for EAS schema fields.
1164
1647
  Maps to the Solidity types that can be used in EAS schemas.
@@ -1167,15 +1650,15 @@ Maps to the Solidity types that can be used in EAS schemas.
1167
1650
 
1168
1651
  | Name | Type | Default value | Defined in |
1169
1652
  | ------ | ------ | ------ | ------ |
1170
- | <a id="address"></a> `address` | `"address"` | `"address"` | [sdk/eas/src/schema.ts:17](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L17) |
1171
- | <a id="bool"></a> `bool` | `"bool"` | `"bool"` | [sdk/eas/src/schema.ts:18](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L18) |
1172
- | <a id="bytes"></a> `bytes` | `"bytes"` | `"bytes"` | [sdk/eas/src/schema.ts:19](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L19) |
1173
- | <a id="bytes32"></a> `bytes32` | `"bytes32"` | `"bytes32"` | [sdk/eas/src/schema.ts:20](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L20) |
1174
- | <a id="int256"></a> `int256` | `"int256"` | `"int256"` | [sdk/eas/src/schema.ts:22](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L22) |
1175
- | <a id="int8"></a> `int8` | `"int8"` | `"int8"` | [sdk/eas/src/schema.ts:24](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L24) |
1176
- | <a id="string"></a> `string` | `"string"` | `"string"` | [sdk/eas/src/schema.ts:16](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L16) |
1177
- | <a id="uint256"></a> `uint256` | `"uint256"` | `"uint256"` | [sdk/eas/src/schema.ts:21](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L21) |
1178
- | <a id="uint8"></a> `uint8` | `"uint8"` | `"uint8"` | [sdk/eas/src/schema.ts:23](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L23) |
1653
+ | <a id="address"></a> `address` | `"address"` | `"address"` | [sdk/eas/src/schema.ts:17](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L17) |
1654
+ | <a id="bool"></a> `bool` | `"bool"` | `"bool"` | [sdk/eas/src/schema.ts:18](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L18) |
1655
+ | <a id="bytes"></a> `bytes` | `"bytes"` | `"bytes"` | [sdk/eas/src/schema.ts:19](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L19) |
1656
+ | <a id="bytes32"></a> `bytes32` | `"bytes32"` | `"bytes32"` | [sdk/eas/src/schema.ts:20](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L20) |
1657
+ | <a id="int256"></a> `int256` | `"int256"` | `"int256"` | [sdk/eas/src/schema.ts:22](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L22) |
1658
+ | <a id="int8"></a> `int8` | `"int8"` | `"int8"` | [sdk/eas/src/schema.ts:24](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L24) |
1659
+ | <a id="string"></a> `string` | `"string"` | `"string"` | [sdk/eas/src/schema.ts:16](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L16) |
1660
+ | <a id="uint256"></a> `uint256` | `"uint256"` | `"uint256"` | [sdk/eas/src/schema.ts:21](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L21) |
1661
+ | <a id="uint8"></a> `uint8` | `"uint8"` | `"uint8"` | [sdk/eas/src/schema.ts:23](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L23) |
1179
1662
 
1180
1663
  ***
1181
1664
 
@@ -1183,7 +1666,7 @@ Maps to the Solidity types that can be used in EAS schemas.
1183
1666
 
1184
1667
  > `const` **EASClientOptionsSchema**: `ZodObject`\<[`EASClientOptions`](#easclientoptions)\>
1185
1668
 
1186
- Defined in: [sdk/eas/src/utils/validation.ts:13](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/utils/validation.ts#L13)
1669
+ Defined in: [sdk/eas/src/utils/validation.ts:13](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/utils/validation.ts#L13)
1187
1670
 
1188
1671
  Zod schema for EASClientOptions.
1189
1672
 
@@ -1193,7 +1676,7 @@ Zod schema for EASClientOptions.
1193
1676
 
1194
1677
  > `const` **ZERO\_ADDRESS**: `"0x0000000000000000000000000000000000000000"` = `zeroAddress`
1195
1678
 
1196
- Defined in: [sdk/eas/src/schema.ts:8](https://github.com/settlemint/sdk/blob/v2.5.5/sdk/eas/src/schema.ts#L8)
1679
+ Defined in: [sdk/eas/src/schema.ts:8](https://github.com/settlemint/sdk/blob/v2.5.6/sdk/eas/src/schema.ts#L8)
1197
1680
 
1198
1681
  Common address constants
1199
1682