@p2pdotme/sdk 1.2.5 → 1.2.7

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/dist/react.d.cts CHANGED
@@ -16,7 +16,7 @@ declare class SdkError<TCode extends string = string> extends Error {
16
16
  });
17
17
  }
18
18
 
19
- type ZkkycErrorCode = "VALIDATION_ERROR" | "CONTRACT_READ_ERROR" | "ENCODE_ERROR" | "RECLAIM_INIT_FAILED" | "RECLAIM_SESSION_NOT_FOUND" | "RECLAIM_PROOF_GENERATION_FAILED" | "RECLAIM_PROOF_INVALID" | "RECLAIM_POLLING_ABORTED" | "ZK_PASSPORT_INIT_FAILED" | "ZK_PASSPORT_REJECTED" | "ZK_PASSPORT_VERIFICATION_FAILED" | "ZK_PASSPORT_ABORTED" | "SIMPLE_KYC_SESSION_FAILED" | "SIMPLE_KYC_REDEEM_FAILED" | "PEER_DEPENDENCY_MISSING";
19
+ type ZkkycErrorCode = "VALIDATION_ERROR" | "CONTRACT_READ_ERROR" | "ENCODE_ERROR" | "RECLAIM_INIT_FAILED" | "RECLAIM_SESSION_NOT_FOUND" | "RECLAIM_PROOF_GENERATION_FAILED" | "RECLAIM_PROOF_INVALID" | "RECLAIM_POLLING_ABORTED" | "ZK_PASSPORT_INIT_FAILED" | "ZK_PASSPORT_REJECTED" | "ZK_PASSPORT_VERIFICATION_FAILED" | "ZK_PASSPORT_ABORTED" | "SIMPLE_KYC_SESSION_FAILED" | "SIMPLE_KYC_REDEEM_FAILED" | "BVN_ONBOARD_FAILED" | "BVN_SUBMIT_FAILED" | "BVN_OTP_SEND_FAILED" | "BVN_OTP_CONFIRM_FAILED" | "BVN_ATTESTATION_FAILED" | "BVN_SESSION_EXPIRED" | "PEER_DEPENDENCY_MISSING";
20
20
  declare class ZkkycError extends SdkError<ZkkycErrorCode> {
21
21
  constructor(message: string, options: {
22
22
  code: ZkkycErrorCode;
@@ -80,6 +80,13 @@ declare const ZodSimpleKycSubmitParamsSchema: z.ZodObject<{
80
80
  signature: z.ZodString;
81
81
  }, z.core.$strip>;
82
82
  type SimpleKycSubmitParams = z.infer<typeof ZodSimpleKycSubmitParamsSchema>;
83
+ declare const ZodBvnSubmitParamsSchema: z.ZodObject<{
84
+ nullifier: z.ZodString;
85
+ limit: z.ZodBigInt;
86
+ expiry: z.ZodBigInt;
87
+ signature: z.ZodString;
88
+ }, z.core.$strip>;
89
+ type BvnSubmitParams = z.infer<typeof ZodBvnSubmitParamsSchema>;
83
90
 
84
91
  interface Zkkyc {
85
92
  prepareSocialVerify(params: SocialVerifyParams): Result<{
@@ -98,6 +105,10 @@ interface Zkkyc {
98
105
  to: Address;
99
106
  data: `0x${string}`;
100
107
  }, ZkkycError>;
108
+ prepareSubmitBvnAttestation(params: BvnSubmitParams): Result<{
109
+ to: Address;
110
+ data: `0x${string}`;
111
+ }, ZkkycError>;
101
112
  }
102
113
 
103
114
  /**
package/dist/react.d.ts CHANGED
@@ -16,7 +16,7 @@ declare class SdkError<TCode extends string = string> extends Error {
16
16
  });
17
17
  }
18
18
 
19
- type ZkkycErrorCode = "VALIDATION_ERROR" | "CONTRACT_READ_ERROR" | "ENCODE_ERROR" | "RECLAIM_INIT_FAILED" | "RECLAIM_SESSION_NOT_FOUND" | "RECLAIM_PROOF_GENERATION_FAILED" | "RECLAIM_PROOF_INVALID" | "RECLAIM_POLLING_ABORTED" | "ZK_PASSPORT_INIT_FAILED" | "ZK_PASSPORT_REJECTED" | "ZK_PASSPORT_VERIFICATION_FAILED" | "ZK_PASSPORT_ABORTED" | "SIMPLE_KYC_SESSION_FAILED" | "SIMPLE_KYC_REDEEM_FAILED" | "PEER_DEPENDENCY_MISSING";
19
+ type ZkkycErrorCode = "VALIDATION_ERROR" | "CONTRACT_READ_ERROR" | "ENCODE_ERROR" | "RECLAIM_INIT_FAILED" | "RECLAIM_SESSION_NOT_FOUND" | "RECLAIM_PROOF_GENERATION_FAILED" | "RECLAIM_PROOF_INVALID" | "RECLAIM_POLLING_ABORTED" | "ZK_PASSPORT_INIT_FAILED" | "ZK_PASSPORT_REJECTED" | "ZK_PASSPORT_VERIFICATION_FAILED" | "ZK_PASSPORT_ABORTED" | "SIMPLE_KYC_SESSION_FAILED" | "SIMPLE_KYC_REDEEM_FAILED" | "BVN_ONBOARD_FAILED" | "BVN_SUBMIT_FAILED" | "BVN_OTP_SEND_FAILED" | "BVN_OTP_CONFIRM_FAILED" | "BVN_ATTESTATION_FAILED" | "BVN_SESSION_EXPIRED" | "PEER_DEPENDENCY_MISSING";
20
20
  declare class ZkkycError extends SdkError<ZkkycErrorCode> {
21
21
  constructor(message: string, options: {
22
22
  code: ZkkycErrorCode;
@@ -80,6 +80,13 @@ declare const ZodSimpleKycSubmitParamsSchema: z.ZodObject<{
80
80
  signature: z.ZodString;
81
81
  }, z.core.$strip>;
82
82
  type SimpleKycSubmitParams = z.infer<typeof ZodSimpleKycSubmitParamsSchema>;
83
+ declare const ZodBvnSubmitParamsSchema: z.ZodObject<{
84
+ nullifier: z.ZodString;
85
+ limit: z.ZodBigInt;
86
+ expiry: z.ZodBigInt;
87
+ signature: z.ZodString;
88
+ }, z.core.$strip>;
89
+ type BvnSubmitParams = z.infer<typeof ZodBvnSubmitParamsSchema>;
83
90
 
84
91
  interface Zkkyc {
85
92
  prepareSocialVerify(params: SocialVerifyParams): Result<{
@@ -98,6 +105,10 @@ interface Zkkyc {
98
105
  to: Address;
99
106
  data: `0x${string}`;
100
107
  }, ZkkycError>;
108
+ prepareSubmitBvnAttestation(params: BvnSubmitParams): Result<{
109
+ to: Address;
110
+ data: `0x${string}`;
111
+ }, ZkkycError>;
101
112
  }
102
113
 
103
114
  /**
package/dist/react.mjs CHANGED
@@ -1452,6 +1452,38 @@ var reputationManagerAbi = [
1452
1452
  outputs: [{ internalType: "bool", name: "", type: "bool" }],
1453
1453
  stateMutability: "view",
1454
1454
  type: "function"
1455
+ },
1456
+ // ── BVN (Nigerian Bank Verification Number) attestation ─────────────────
1457
+ { inputs: [], name: "BvnSignerNotSet", type: "error" },
1458
+ { inputs: [], name: "BvnAttestationExpired", type: "error" },
1459
+ { inputs: [], name: "BvnNullifierAlreadySpent", type: "error" },
1460
+ { inputs: [], name: "BvnAlreadyVerified", type: "error" },
1461
+ { inputs: [], name: "BvnInvalidSignature", type: "error" },
1462
+ {
1463
+ inputs: [
1464
+ { internalType: "bytes32", name: "nullifier", type: "bytes32" },
1465
+ { internalType: "uint256", name: "limit", type: "uint256" },
1466
+ { internalType: "uint256", name: "expiry", type: "uint256" },
1467
+ { internalType: "bytes", name: "signature", type: "bytes" }
1468
+ ],
1469
+ name: "submitBvnAttestation",
1470
+ outputs: [],
1471
+ stateMutability: "nonpayable",
1472
+ type: "function"
1473
+ },
1474
+ {
1475
+ inputs: [],
1476
+ name: "bvnRp",
1477
+ outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
1478
+ stateMutability: "view",
1479
+ type: "function"
1480
+ },
1481
+ {
1482
+ inputs: [{ internalType: "address", name: "", type: "address" }],
1483
+ name: "bvnVerified",
1484
+ outputs: [{ internalType: "bool", name: "", type: "bool" }],
1485
+ stateMutability: "view",
1486
+ type: "function"
1455
1487
  }
1456
1488
  ];
1457
1489
 
@@ -5797,6 +5829,20 @@ var ZodSimpleKycSubmitParamsSchema = z9.object({
5797
5829
  message: "signature must be a hex string"
5798
5830
  })
5799
5831
  });
5832
+ var ZodBvnSubmitParamsSchema = z9.object({
5833
+ /** Per-(tenant, identity) Sybil nullifier (bytes32 hex). */
5834
+ nullifier: z9.string().refine((v) => /^0x[a-fA-F0-9]{64}$/.test(v), {
5835
+ message: "nullifier must be a bytes32 hex string"
5836
+ }),
5837
+ /** Remaining limit in micro-USDC (part of the signed struct). */
5838
+ limit: z9.bigint(),
5839
+ /** Attestation expiry (unix seconds). */
5840
+ expiry: z9.bigint(),
5841
+ /** 65-byte secp256k1 signature (hex). */
5842
+ signature: z9.string().refine((v) => /^0x[a-fA-F0-9]+$/.test(v), {
5843
+ message: "signature must be a hex string"
5844
+ })
5845
+ });
5800
5846
 
5801
5847
  // src/contracts/reputation-manager/writes.ts
5802
5848
  function prepareSocialVerify(reputationManagerAddress, params) {
@@ -5890,6 +5936,33 @@ function prepareSubmitKycAttestation(reputationManagerAddress, params) {
5890
5936
  )()
5891
5937
  );
5892
5938
  }
5939
+ function prepareSubmitBvnAttestation(reputationManagerAddress, params) {
5940
+ return validate(
5941
+ ZodBvnSubmitParamsSchema,
5942
+ params,
5943
+ (message, cause, data) => new ZkkycError(message, { code: "VALIDATION_ERROR", cause, context: { params: data } })
5944
+ ).andThen(
5945
+ (validated) => Result2.fromThrowable(
5946
+ () => ({
5947
+ to: reputationManagerAddress,
5948
+ data: encodeFunctionData7({
5949
+ abi: ABIS.EXTERNAL.REPUTATION_MANAGER,
5950
+ functionName: "submitBvnAttestation",
5951
+ args: [
5952
+ validated.nullifier,
5953
+ validated.limit,
5954
+ validated.expiry,
5955
+ validated.signature
5956
+ ]
5957
+ })
5958
+ }),
5959
+ (error) => new ZkkycError("Failed to encode submitBvnAttestation", {
5960
+ code: "ENCODE_ERROR",
5961
+ cause: error
5962
+ })
5963
+ )()
5964
+ );
5965
+ }
5893
5966
  function prepareZkPassportRegister(reputationManagerAddress, params) {
5894
5967
  return validate(
5895
5968
  ZodZkPassportRegisterParamsSchema,
@@ -6982,7 +7055,8 @@ function createZkkyc(config) {
6982
7055
  prepareSocialVerify: (params) => prepareSocialVerify(reputationManagerAddress, params),
6983
7056
  prepareSubmitAnonAadharProof: (params) => prepareSubmitAnonAadharProof(reputationManagerAddress, params),
6984
7057
  prepareZkPassportRegister: (params) => prepareZkPassportRegister(reputationManagerAddress, params),
6985
- prepareSubmitKycAttestation: (params) => prepareSubmitKycAttestation(reputationManagerAddress, params)
7058
+ prepareSubmitKycAttestation: (params) => prepareSubmitKycAttestation(reputationManagerAddress, params),
7059
+ prepareSubmitBvnAttestation: (params) => prepareSubmitBvnAttestation(reputationManagerAddress, params)
6986
7060
  };
6987
7061
  }
6988
7062