phygital-token-sdk 0.16.0 → 0.17.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 CHANGED
@@ -10,16 +10,16 @@ pnpm add phygital-token-sdk @solana/kit
10
10
 
11
11
  ## Authenticate with NFC device
12
12
 
13
- The custom authenticator uses the compressed secp256r1 **public key** as the WebAuthn `credential.id` and `user.id`. After a tap, `response.id` is that public key.
14
-
15
- The on-chain asset PDA is seeded by a separate chip **`identifier`**, which is distinct from the passkey public key. Use `findAssetPda(identifier)` when you know the identifier, or `fetchAssetsByPublicKey` to look up by passkey after a tap.
13
+ The custom authenticator uses the compressed secp256r1 **public key** as the WebAuthn `credential.id` and `user.id`. After a tap, `response.id` is that public key — and the on-chain asset PDA is seeded by that same public key. A separate chip `identifier` is stored on the asset for binding.
16
14
 
17
15
  ```ts
18
16
  import { createSolanaRpc } from "@solana/kit";
19
17
  import {
20
18
  startAuthentication,
21
19
  verifyResponse,
22
- fetchAssetsByPublicKey,
20
+ parseSecp256r1Pubkey,
21
+ findAssetPda,
22
+ fetchAsset,
23
23
  } from "phygital-token-sdk";
24
24
 
25
25
  const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");
@@ -35,8 +35,11 @@ const { isVerified, secp256r1PublicKey } = verifyResponse({
35
35
  });
36
36
 
37
37
  if (isVerified) {
38
- const [asset] = await fetchAssetsByPublicKey(rpc, secp256r1PublicKey);
39
- // Continue with asset.owner / asset.identifier / asset.publicKey
38
+ const asset = await fetchAsset(
39
+ rpc,
40
+ await findAssetPda(parseSecp256r1Pubkey(secp256r1PublicKey)),
41
+ );
42
+ // Continue with asset.data.owner / asset.data.identifier
40
43
  }
41
44
  ```
42
45
 
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { beginTransfer, completeTransfer, authenticatePasskeyForTransfer, type TransferSession, } from "./instructions/transfer.js";
2
2
  export { beginVerifyAsset, completeVerifyAsset, authenticatePasskeyForVerifyAsset, buildVerifyAssetArgs, type VerifyAssetSession, } from "./instructions/verifyAsset.js";
3
3
  export { buildInitializeInstruction, parseSecp256r1Pubkey, parseIdentifier, type InitializeParams, } from "./instructions/initialize.js";
4
- export { fetchAssetsByPublicKey, fetchAllAssetsFromOwner, } from "./utils/metadata.js";
4
+ export { fetchAssetByIdentifier, fetchAllAssetsFromOwner, } from "./utils/metadata.js";
5
5
  export { startAuthentication, verifyResponse, type VerifyResponseResult, type VerifyResponseOptions, } from "./utils/verify.js";
6
6
  export { findAssetPda } from "./utils/pdas/index.js";
7
7
  export * from "./generated/index.js";
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { beginTransfer, completeTransfer, authenticatePasskeyForTransfer, } from "./instructions/transfer.js";
2
2
  export { beginVerifyAsset, completeVerifyAsset, authenticatePasskeyForVerifyAsset, buildVerifyAssetArgs, } from "./instructions/verifyAsset.js";
3
3
  export { buildInitializeInstruction, parseSecp256r1Pubkey, parseIdentifier, } from "./instructions/initialize.js";
4
- export { fetchAssetsByPublicKey, fetchAllAssetsFromOwner, } from "./utils/metadata.js";
4
+ export { fetchAssetByIdentifier, fetchAllAssetsFromOwner, } from "./utils/metadata.js";
5
5
  export { startAuthentication, verifyResponse, } from "./utils/verify.js";
6
6
  export { findAssetPda } from "./utils/pdas/index.js";
7
7
  export * from "./generated/index.js";
@@ -24,7 +24,7 @@ export function parseSecp256r1Pubkey(input) {
24
24
  }
25
25
  export const parseIdentifier = parseSecp256r1Pubkey;
26
26
  export async function buildInitializeInstruction(input) {
27
- const asset = await findAssetPda(input.identifier);
27
+ const asset = await findAssetPda(input.secp256r1Pubkey);
28
28
  const instruction = getInitializeInstruction({
29
29
  authority: input.authority,
30
30
  asset,
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../src/instructions/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAGnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAOtD,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,KAAiB,CAAC;IACtB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,UAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAGD,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAepD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,KAAuB;IAEvB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,wBAAwB,CAAC;QAC3C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK;QACL,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;IACH,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../src/instructions/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AAGnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAOtD,MAAM,UAAU,oBAAoB,CAAC,KAAsB;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,KAAiB,CAAC;IACtB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,UAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAGD,MAAM,CAAC,MAAM,eAAe,GAAG,oBAAoB,CAAC;AAepD,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,KAAuB;IAEvB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,wBAAwB,CAAC;QAC3C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK;QACL,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC,CAAC;IACH,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC"}
@@ -1,10 +1,8 @@
1
1
  import { type AuthenticationResponseJSON } from "../utils/passkey/webauthn.js";
2
2
  import type { Address, Instruction, Rpc, SolanaRpcApi } from "@solana/kit";
3
3
  import { type Secp256r1VerifyEntry } from "../utils/passkey/secp256r1.js";
4
- import { type Asset } from "../generated/index.js";
5
4
  export type VerifyAssetSession = {
6
5
  rpc: Rpc<SolanaRpcApi>;
7
- asset: Address;
8
6
  slotHash: Uint8Array;
9
7
  slotNumber: bigint;
10
8
  challenge: Uint8Array;
@@ -14,14 +12,12 @@ export type VerifyAssetSession = {
14
12
  };
15
13
  export declare function beginVerifyAsset(input: {
16
14
  rpc: Rpc<SolanaRpcApi>;
17
- asset: Address;
18
15
  message: Uint8Array;
19
16
  expectedRpId?: string;
20
17
  expectedOrigin?: string;
21
18
  }): Promise<VerifyAssetSession>;
22
19
  export declare function authenticatePasskeyForVerifyAsset(session: VerifyAssetSession): Promise<AuthenticationResponseJSON>;
23
- export declare function buildVerifyAssetArgs(session: VerifyAssetSession, response: AuthenticationResponseJSON, existingSecp256r1VerifyInputs?: Secp256r1VerifyEntry[]): Promise<{
24
- asset: Asset;
20
+ export declare function buildVerifyAssetArgs(response: AuthenticationResponseJSON, existingSecp256r1VerifyInputs?: Secp256r1VerifyEntry[]): Promise<{
25
21
  assetPda: Address;
26
22
  secp256r1Verify: Instruction;
27
23
  signedMessageIndex: number;
@@ -1 +1 @@
1
- {"version":3,"file":"verifyAsset.d.ts","sourceRoot":"","sources":["../../src/instructions/verifyAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,0BAA0B,EAIhC,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAGL,KAAK,KAAK,EACX,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,UAAU,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,UAAU,CAAC;IAEpB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAQF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiB9B;AAMD,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,0BAA0B,CAAC,CAIrC;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,0BAA0B,EACpC,6BAA6B,CAAC,EAAE,oBAAoB,EAAE,GACrD,OAAO,CAAC;IACT,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,WAAW,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,UAAU,CAAC;CAC5B,CAAC,CAeD;AAOD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,0BAA0B,EACpC,6BAA6B,CAAC,EAAE,oBAAoB,EAAE,GACrD,OAAO,CAAC,WAAW,EAAE,CAAC,CAsBxB"}
1
+ {"version":3,"file":"verifyAsset.d.ts","sourceRoot":"","sources":["../../src/instructions/verifyAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,0BAA0B,EAIhC,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAMvC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvB,QAAQ,EAAE,UAAU,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,UAAU,CAAC;IACtB,OAAO,EAAE,UAAU,CAAC;IAEpB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAQF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvB,OAAO,EAAE,UAAU,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgB9B;AAMD,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,0BAA0B,CAAC,CAIrC;AAMD,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,0BAA0B,EACpC,6BAA6B,CAAC,EAAE,oBAAoB,EAAE,GACrD,OAAO,CAAC;IACT,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,WAAW,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,UAAU,CAAC;CAC5B,CAAC,CAeD;AAOD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,0BAA0B,EACpC,6BAA6B,CAAC,EAAE,oBAAoB,EAAE,GACrD,OAAO,CAAC,WAAW,EAAE,CAAC,CAqBxB"}
@@ -1,8 +1,9 @@
1
1
  import { authenticateWithWebauthn, bufferToBase64URLString, nfcWebAuthnRequestOptions, } from "../utils/passkey/webauthn.js";
2
2
  import { buildSecp256r1VerifyInstructionFromWebAuthnResponse, buildVerifyAssetChallenge, } from "../utils/passkey/secp256r1.js";
3
3
  import { getLatestSlotHash } from "../utils/slotHash.js";
4
- import { fetchAsset, getVerifyAssetInstruction, } from "../generated/index.js";
4
+ import { getVerifyAssetInstruction } from "../generated/index.js";
5
5
  import { parseSecp256r1Pubkey } from "./initialize.js";
6
+ import { findAssetPda } from "../utils/pdas/asset.js";
6
7
  export async function beginVerifyAsset(input) {
7
8
  const { slotHash, slotNumber } = await getLatestSlotHash(input.rpc);
8
9
  const challenge = await buildVerifyAssetChallenge({
@@ -11,7 +12,6 @@ export async function beginVerifyAsset(input) {
11
12
  });
12
13
  return {
13
14
  rpc: input.rpc,
14
- asset: input.asset,
15
15
  slotHash,
16
16
  slotNumber,
17
17
  challenge,
@@ -23,23 +23,23 @@ export async function beginVerifyAsset(input) {
23
23
  export async function authenticatePasskeyForVerifyAsset(session) {
24
24
  return authenticateWithWebauthn(nfcWebAuthnRequestOptions(bufferToBase64URLString(session.challenge)));
25
25
  }
26
- export async function buildVerifyAssetArgs(session, response, existingSecp256r1VerifyInputs) {
27
- const asset = (await fetchAsset(session.rpc, session.asset)).data;
26
+ export async function buildVerifyAssetArgs(response, existingSecp256r1VerifyInputs) {
27
+ const secp256r1PublicKey = parseSecp256r1Pubkey(response.id);
28
+ const assetPda = await findAssetPda(secp256r1PublicKey);
28
29
  const { secp256r1Verify, signedMessageIndex, clientDataJson } = await buildSecp256r1VerifyInstructionFromWebAuthnResponse({
29
- secp256r1PublicKey: parseSecp256r1Pubkey(response.id),
30
+ secp256r1PublicKey,
30
31
  response,
31
32
  existingSecp256r1VerifyInputs,
32
33
  });
33
34
  return {
34
- asset,
35
- assetPda: session.asset,
35
+ assetPda,
36
36
  secp256r1Verify,
37
37
  signedMessageIndex,
38
38
  clientDataJson,
39
39
  };
40
40
  }
41
41
  export async function completeVerifyAsset(session, response, existingSecp256r1VerifyInputs) {
42
- const { assetPda, secp256r1Verify, signedMessageIndex, clientDataJson } = await buildVerifyAssetArgs(session, response, existingSecp256r1VerifyInputs);
42
+ const { assetPda, secp256r1Verify, signedMessageIndex, clientDataJson } = await buildVerifyAssetArgs(response, existingSecp256r1VerifyInputs);
43
43
  const verifyAssetInstruction = getVerifyAssetInstruction({
44
44
  asset: assetPda,
45
45
  secp256r1VerifyArgs: {
@@ -1 +1 @@
1
- {"version":3,"file":"verifyAsset.js","sourceRoot":"","sources":["../../src/instructions/verifyAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,mDAAmD,EACnD,yBAAyB,GAE1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,UAAU,EACV,yBAAyB,GAE1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAqBvD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAMtC;IACC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC;QAChD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ;QACR,UAAU;QACV,SAAS;QACT,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC;AACJ,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,OAA2B;IAE3B,OAAO,wBAAwB,CAC7B,yBAAyB,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CACtE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA2B,EAC3B,QAAoC,EACpC,6BAAsD;IAQtD,MAAM,KAAK,GAAG,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAC3D,MAAM,mDAAmD,CAAC;QACxD,kBAAkB,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,QAAQ;QACR,6BAA6B;KAC9B,CAAC,CAAC;IACL,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,OAAO,CAAC,KAAK;QACvB,eAAe;QACf,kBAAkB;QAClB,cAAc;KACf,CAAC;AACJ,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAA2B,EAC3B,QAAoC,EACpC,6BAAsD;IAEtD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,GACrE,MAAM,oBAAoB,CACxB,OAAO,EACP,QAAQ,EACR,6BAA6B,CAC9B,CAAC;IAEJ,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;QACvD,KAAK,EAAE,QAAQ;QACf,mBAAmB,EAAE;YACnB,uBAAuB,EAAE,CAAC,CAAC;YAC3B,kBAAkB;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,cAAc;SACf;QACD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;QAC1C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;KAC/C,CAAC,CAAC;IAEH,OAAO,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"verifyAsset.js","sourceRoot":"","sources":["../../src/instructions/verifyAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,mDAAmD,EACnD,yBAAyB,GAE1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAoBtD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAKtC;IACC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC;QAChD,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,QAAQ;QACR,UAAU;QACV,SAAS;QACT,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,cAAc,EAAE,KAAK,CAAC,cAAc;KACrC,CAAC;AACJ,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,OAA2B;IAE3B,OAAO,wBAAwB,CAC7B,yBAAyB,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CACtE,CAAC;AACJ,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAoC,EACpC,6BAAsD;IAOtD,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACxD,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAC3D,MAAM,mDAAmD,CAAC;QACxD,kBAAkB;QAClB,QAAQ;QACR,6BAA6B;KAC9B,CAAC,CAAC;IACL,OAAO;QACL,QAAQ;QACR,eAAe;QACf,kBAAkB;QAClB,cAAc;KACf,CAAC;AACJ,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAA2B,EAC3B,QAAoC,EACpC,6BAAsD;IAEtD,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,GACrE,MAAM,oBAAoB,CACxB,QAAQ,EACR,6BAA6B,CAC9B,CAAC;IAEJ,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;QACvD,KAAK,EAAE,QAAQ;QACf,mBAAmB,EAAE;YACnB,uBAAuB,EAAE,CAAC,CAAC;YAC3B,kBAAkB;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,cAAc;SACf;QACD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;QAC1C,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,IAAI;KAC/C,CAAC,CAAC;IAEH,OAAO,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;AACnD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type Address, type Rpc, type SolanaRpcApi } from "@solana/kit";
2
2
  import { type Asset, type Secp256r1Pubkey } from "../generated/index.js";
3
- export declare function fetchAssetsByPublicKey(rpc: Rpc<SolanaRpcApi>, secp256r1PublicKey: string | Secp256r1Pubkey): Promise<Asset[]>;
3
+ export declare function fetchAssetByIdentifier(rpc: Rpc<SolanaRpcApi>, identifier: string | Secp256r1Pubkey): Promise<Asset | null>;
4
4
  export declare function fetchAllAssetsFromOwner(owner: Address, rpc: Rpc<SolanaRpcApi>): Promise<Asset[]>;
5
5
  //# sourceMappingURL=metadata.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/utils/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EAEZ,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAa/B,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,kBAAkB,EAAE,MAAM,GAAG,eAAe,GAC3C,OAAO,CAAC,KAAK,EAAE,CAAC,CA+BlB;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,GACrB,OAAO,CAAC,KAAK,EAAE,CAAC,CA0BlB"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/utils/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EAEZ,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAc/B,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,EACtB,UAAU,EAAE,MAAM,GAAG,eAAe,GACnC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CA+BvB;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,GACrB,OAAO,CAAC,KAAK,EAAE,CAAC,CA0BlB"}
@@ -3,11 +3,11 @@ import { getAssetDecoder, PHYGITAL_TOKEN_PROGRAM_ADDRESS, } from "../generated/i
3
3
  import { parseSecp256r1Pubkey } from "../instructions/initialize.js";
4
4
  const ASSET_ACCOUNT_DATA_SIZE = 116;
5
5
  const ASSET_OWNER_OFFSET = 9;
6
- const ASSET_PUBLIC_KEY_OFFSET = 50;
7
- export async function fetchAssetsByPublicKey(rpc, secp256r1PublicKey) {
8
- const pubkey = typeof secp256r1PublicKey === "string"
9
- ? parseSecp256r1Pubkey(secp256r1PublicKey)
10
- : secp256r1PublicKey;
6
+ const ASSET_IDENTIFIER_OFFSET = 83;
7
+ export async function fetchAssetByIdentifier(rpc, identifier) {
8
+ const parsed = typeof identifier === "string"
9
+ ? parseSecp256r1Pubkey(identifier)
10
+ : identifier;
11
11
  const data = await rpc
12
12
  .getProgramAccounts(PHYGITAL_TOKEN_PROGRAM_ADDRESS, {
13
13
  encoding: "base64",
@@ -16,17 +16,17 @@ export async function fetchAssetsByPublicKey(rpc, secp256r1PublicKey) {
16
16
  {
17
17
  memcmp: {
18
18
  encoding: "base64",
19
- offset: BigInt(ASSET_PUBLIC_KEY_OFFSET),
20
- bytes: getBase64Decoder().decode(pubkey[0]),
19
+ offset: BigInt(ASSET_IDENTIFIER_OFFSET),
20
+ bytes: getBase64Decoder().decode(parsed[0]),
21
21
  },
22
22
  },
23
23
  ],
24
24
  })
25
25
  .send();
26
26
  if (!data.length) {
27
- return [];
27
+ return null;
28
28
  }
29
- return data.map((x) => getAssetDecoder().decode(getBase64Encoder().encode(x.account.data[0])));
29
+ return getAssetDecoder().decode(getBase64Encoder().encode(data[0].account.data[0]));
30
30
  }
31
31
  export async function fetchAllAssetsFromOwner(owner, rpc) {
32
32
  const data = await rpc
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/utils/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GAKjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,8BAA8B,GAG/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGrE,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAMnC,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,GAAsB,EACtB,kBAA4C;IAE5C,MAAM,MAAM,GACV,OAAO,kBAAkB,KAAK,QAAQ;QACpC,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;QAC1C,CAAC,CAAC,kBAAkB,CAAC;IAEzB,MAAM,IAAI,GAAG,MAAM,GAAG;SACnB,kBAAkB,CAAC,8BAA8B,EAAE;QAClD,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE;YACP,EAAE,QAAQ,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE;YAC7C;gBACE,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAiB;oBAC3B,MAAM,EAAE,MAAM,CAAC,uBAAuB,CAAC;oBACvC,KAAK,EAAE,gBAAgB,EAAE,CAAC,MAAM,CAC9B,MAAM,CAAC,CAAC,CAAC,CACY;iBACxB;aACF;SACF;KACF,CAAC;SACD,IAAI,EAAE,CAAC;IAEV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,eAAe,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAc,EACd,GAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,GAAG;SACnB,kBAAkB,CAAC,8BAA8B,EAAE;QAClD,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE;YACP,EAAE,QAAQ,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE;YAC7C;gBACE,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAiB;oBAC3B,MAAM,EAAE,MAAM,CAAC,kBAAkB,CAAC;oBAClC,KAAK,EAAE,gBAAgB,EAAE,CAAC,MAAM,CAC9B,iBAAiB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CACZ;iBACxB;aACF;SACF;KACF,CAAC;SACD,IAAI,EAAE,CAAC;IAEV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,eAAe,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/utils/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GAKjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,EACf,8BAA8B,GAG/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAGrE,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAOnC,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,GAAsB,EACtB,UAAoC;IAEpC,MAAM,MAAM,GACV,OAAO,UAAU,KAAK,QAAQ;QAC5B,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC;QAClC,CAAC,CAAC,UAAU,CAAC;IAEjB,MAAM,IAAI,GAAG,MAAM,GAAG;SACnB,kBAAkB,CAAC,8BAA8B,EAAE;QAClD,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE;YACP,EAAE,QAAQ,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE;YAC7C;gBACE,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAiB;oBAC3B,MAAM,EAAE,MAAM,CAAC,uBAAuB,CAAC;oBACvC,KAAK,EAAE,gBAAgB,EAAE,CAAC,MAAM,CAC9B,MAAM,CAAC,CAAC,CAAC,CACY;iBACxB;aACF;SACF;KACF,CAAC;SACD,IAAI,EAAE,CAAC;IAEV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,eAAe,EAAE,CAAC,MAAM,CAC7B,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAc,EACd,GAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,GAAG;SACnB,kBAAkB,CAAC,8BAA8B,EAAE;QAClD,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE;YACP,EAAE,QAAQ,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE;YAC7C;gBACE,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAiB;oBAC3B,MAAM,EAAE,MAAM,CAAC,kBAAkB,CAAC;oBAClC,KAAK,EAAE,gBAAgB,EAAE,CAAC,MAAM,CAC9B,iBAAiB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CACZ;iBACxB;aACF;SACF;KACF,CAAC;SACD,IAAI,EAAE,CAAC;IAEV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,eAAe,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CACvE,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { type Address } from "@solana/kit";
2
2
  import { type Secp256r1Pubkey } from "../../generated/index.js";
3
- export declare function findAssetPda(identifier: Secp256r1Pubkey): Promise<Address>;
3
+ export declare function findAssetPda(secp256r1Pubkey: Secp256r1Pubkey): Promise<Address>;
4
4
  //# sourceMappingURL=asset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/utils/pdas/asset.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAGb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAQlC,wBAAsB,YAAY,CAChC,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,OAAO,CAAC,CAUlB"}
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/utils/pdas/asset.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAGb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,0BAA0B,CAAC;AAQlC,wBAAsB,YAAY,CAChC,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,OAAO,CAAC,CAUlB"}
@@ -1,12 +1,12 @@
1
1
  import { getProgramDerivedAddress, getBytesEncoder, } from "@solana/kit";
2
2
  import { PHYGITAL_TOKEN_PROGRAM_ADDRESS, } from "../../generated/index.js";
3
3
  const ASSET_SEED = new TextEncoder().encode("asset");
4
- export async function findAssetPda(identifier) {
4
+ export async function findAssetPda(secp256r1Pubkey) {
5
5
  const [asset] = await getProgramDerivedAddress({
6
6
  programAddress: PHYGITAL_TOKEN_PROGRAM_ADDRESS,
7
7
  seeds: [
8
8
  getBytesEncoder().encode(ASSET_SEED),
9
- getBytesEncoder().encode(identifier[0].slice(1)),
9
+ getBytesEncoder().encode(secp256r1Pubkey[0].slice(1)),
10
10
  ],
11
11
  });
12
12
  return asset;
@@ -1 +1 @@
1
- {"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../src/utils/pdas/asset.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACxB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAElC,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAMrD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAA2B;IAE3B,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC7C,cAAc,EAAE,8BAA8B;QAC9C,KAAK,EAAE;YACL,eAAe,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;YACpC,eAAe,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACjD;KACF,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../src/utils/pdas/asset.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,wBAAwB,EACxB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAElC,MAAM,UAAU,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAMrD,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,eAAgC;IAEhC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,wBAAwB,CAAC;QAC7C,cAAc,EAAE,8BAA8B;QAC9C,KAAK,EAAE;YACL,eAAe,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;YACpC,eAAe,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACtD;KACF,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/utils/verify.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,0BAA0B,EAChC,MAAM,uBAAuB,CAAC;AAW/B,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,OAAO,CAAC;IAEpB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAGF,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,0BAA0B,CAAC;CACtC,CAAC;AAQF,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,GACrD,OAAO,CAAC,0BAA0B,CAAC,CAuBrC;AAkBD,wBAAgB,cAAc,CAAC,EAC7B,eAAe,EACf,QAAQ,GACT,EAAE,qBAAqB,GAAG,oBAAoB,CAwB9C"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/utils/verify.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,0BAA0B,EAChC,MAAM,uBAAuB,CAAC;AAW/B,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,OAAO,CAAC;IAEpB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAGF,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,0BAA0B,CAAC;CACtC,CAAC;AAQF,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,GACrD,OAAO,CAAC,0BAA0B,CAAC,CAuBrC;AAiBD,wBAAgB,cAAc,CAAC,EAC7B,eAAe,EACf,QAAQ,GACT,EAAE,qBAAqB,GAAG,oBAAoB,CAwB9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/utils/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAqBrE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,UAAsD;IAEtD,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAEjD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,oBAAoB,CACzB;YACE,SAAS;YACT,IAAI,EAAE,EAAE;YACR,gBAAgB,EAAE,WAAW;YAC7B,MAAM,EAAE,EAAE;YACV,gBAAgB,EAAE;gBAChB;oBACE,EAAE,EAAE,EAAE;oBACN,IAAI,EAAE,YAAY;oBAClB,UAAU,EAAE,CAAC,KAAK,CAAC;iBACpB;aACF;SACF,EACD,UAAU,CACX,CAAC;IACJ,CAAC;IAED,OAAO,wBAAwB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC;AACxE,CAAC;AAkBD,MAAM,UAAU,cAAc,CAAC,EAC7B,eAAe,EACf,QAAQ,GACc;IACtB,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAE7E,IAAI,UAAU,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,SAAS,GAAG,uBAAuB,CACvC,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CACrD,CAAC;IACF,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAC5B,SAAS,EACT,OAAO,EACP,IAAI,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACrD,CAAC;IAEF,OAAO;QACL,UAAU;QACV,kBAAkB,EAAE,QAAQ,CAAC,EAAE;KAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/utils/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAqBrE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,UAAsD;IAEtD,MAAM,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAEjD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,oBAAoB,CACzB;YACE,SAAS;YACT,IAAI,EAAE,EAAE;YACR,gBAAgB,EAAE,WAAW;YAC7B,MAAM,EAAE,EAAE;YACV,gBAAgB,EAAE;gBAChB;oBACE,EAAE,EAAE,EAAE;oBACN,IAAI,EAAE,YAAY;oBAClB,UAAU,EAAE,CAAC,KAAK,CAAC;iBACpB;aACF;SACF,EACD,UAAU,CACX,CAAC;IACJ,CAAC;IAED,OAAO,wBAAwB,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC;AACxE,CAAC;AAiBD,MAAM,UAAU,cAAc,CAAC,EAC7B,eAAe,EACf,QAAQ,GACc;IACtB,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAE7E,IAAI,UAAU,CAAC,SAAS,KAAK,iBAAiB,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,SAAS,GAAG,uBAAuB,CACvC,uBAAuB,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CACrD,CAAC;IACF,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAC5B,SAAS,EACT,OAAO,EACP,IAAI,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CACrD,CAAC;IAEF,OAAO;QACL,UAAU;QACV,kBAAkB,EAAE,QAAQ,CAAC,EAAE;KAChC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phygital-token-sdk",
3
- "version": "0.16.0",
3
+ "version": "0.17.0",
4
4
  "description": "TypeScript client for the Phygital Token Solana program (generated via Codama)",
5
5
  "license": "ISC",
6
6
  "type": "module",