phygital-token-sdk 0.15.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
 
@@ -17,7 +17,9 @@ export declare const PHYGITAL_TOKEN_ERROR__UNABLE_TO_PARSE_CLIENT_DATA = 6014;
17
17
  export declare const PHYGITAL_TOKEN_ERROR__CHALLENGE_HASH_MISMATCH = 6015;
18
18
  export declare const PHYGITAL_TOKEN_ERROR__INVALID_AUTHENTICATOR_DATA = 6016;
19
19
  export declare const PHYGITAL_TOKEN_ERROR__USER_PRESENCE_NOT_VERIFIED = 6017;
20
- export type PhygitalTokenError = typeof PHYGITAL_TOKEN_ERROR__ASSET_IS_CURRENTLY_LOCKED | typeof PHYGITAL_TOKEN_ERROR__ASSET_IS_NOT_LOCKABLE | typeof PHYGITAL_TOKEN_ERROR__CHALLENGE_HASH_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__CLIENT_DATA_HASH_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__INVALID_AUTHENTICATOR_DATA | typeof PHYGITAL_TOKEN_ERROR__INVALID_RECIPIENT | typeof PHYGITAL_TOKEN_ERROR__INVALID_SECP256R1_INSTRUCTION | typeof PHYGITAL_TOKEN_ERROR__INVALID_SECP256R1_PUBLIC_KEY | typeof PHYGITAL_TOKEN_ERROR__INVALID_SIGNATURE_OFFSETS | typeof PHYGITAL_TOKEN_ERROR__INVALID_SLOT_HASH | typeof PHYGITAL_TOKEN_ERROR__INVALID_SYSVAR_DATA_FORMAT | typeof PHYGITAL_TOKEN_ERROR__MISSING_INSTRUCTIONS_SYSVAR | typeof PHYGITAL_TOKEN_ERROR__OWNER_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__SECP256R1_PUBKEY_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__SIGNATURE_INDEX_OUT_OF_BOUNDS | typeof PHYGITAL_TOKEN_ERROR__STALE_TRANSFER_SLOT | typeof PHYGITAL_TOKEN_ERROR__UNABLE_TO_PARSE_CLIENT_DATA | typeof PHYGITAL_TOKEN_ERROR__USER_PRESENCE_NOT_VERIFIED;
20
+ export declare const PHYGITAL_TOKEN_ERROR__RP_ID_MISMATCH = 6018;
21
+ export declare const PHYGITAL_TOKEN_ERROR__ORIGIN_MISMATCH = 6019;
22
+ export type PhygitalTokenError = typeof PHYGITAL_TOKEN_ERROR__ASSET_IS_CURRENTLY_LOCKED | typeof PHYGITAL_TOKEN_ERROR__ASSET_IS_NOT_LOCKABLE | typeof PHYGITAL_TOKEN_ERROR__CHALLENGE_HASH_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__CLIENT_DATA_HASH_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__INVALID_AUTHENTICATOR_DATA | typeof PHYGITAL_TOKEN_ERROR__INVALID_RECIPIENT | typeof PHYGITAL_TOKEN_ERROR__INVALID_SECP256R1_INSTRUCTION | typeof PHYGITAL_TOKEN_ERROR__INVALID_SECP256R1_PUBLIC_KEY | typeof PHYGITAL_TOKEN_ERROR__INVALID_SIGNATURE_OFFSETS | typeof PHYGITAL_TOKEN_ERROR__INVALID_SLOT_HASH | typeof PHYGITAL_TOKEN_ERROR__INVALID_SYSVAR_DATA_FORMAT | typeof PHYGITAL_TOKEN_ERROR__MISSING_INSTRUCTIONS_SYSVAR | typeof PHYGITAL_TOKEN_ERROR__ORIGIN_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__OWNER_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__RP_ID_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__SECP256R1_PUBKEY_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__SIGNATURE_INDEX_OUT_OF_BOUNDS | typeof PHYGITAL_TOKEN_ERROR__STALE_TRANSFER_SLOT | typeof PHYGITAL_TOKEN_ERROR__UNABLE_TO_PARSE_CLIENT_DATA | typeof PHYGITAL_TOKEN_ERROR__USER_PRESENCE_NOT_VERIFIED;
21
23
  export declare function getPhygitalTokenErrorMessage(code: PhygitalTokenError): string;
22
24
  export declare function isPhygitalTokenError<TProgramErrorCode extends PhygitalTokenError>(error: unknown, transactionMessage: {
23
25
  instructions: Record<number, {
@@ -1 +1 @@
1
- {"version":3,"file":"phygitalToken.d.ts","sourceRoot":"","sources":["../../../src/generated/errors/phygitalToken.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,uCAAuC,EAC5C,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,eAAO,MAAM,mDAAmD,OAAS,CAAC;AAE1E,eAAO,MAAM,mDAAmD,OAAS,CAAC;AAE1E,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,kDAAkD,OAAS,CAAC;AAEzE,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,oCAAoC,OAAS,CAAC;AAE3D,eAAO,MAAM,uCAAuC,OAAS,CAAC;AAE9D,eAAO,MAAM,yCAAyC,OAAS,CAAC;AAEhE,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,iDAAiD,OAAS,CAAC;AAExE,eAAO,MAAM,gDAAgD,OAAS,CAAC;AAEvE,eAAO,MAAM,uCAAuC,OAAS,CAAC;AAE9D,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,2CAA2C,OAAS,CAAC;AAElE,eAAO,MAAM,iDAAiD,OAAS,CAAC;AAExE,eAAO,MAAM,6CAA6C,OAAS,CAAC;AAEpE,eAAO,MAAM,gDAAgD,OAAS,CAAC;AAEvE,eAAO,MAAM,gDAAgD,OAAS,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAC1B,OAAO,+CAA+C,GACtD,OAAO,2CAA2C,GAClD,OAAO,6CAA6C,GACpD,OAAO,+CAA+C,GACtD,OAAO,gDAAgD,GACvD,OAAO,uCAAuC,GAC9C,OAAO,mDAAmD,GAC1D,OAAO,kDAAkD,GACzD,OAAO,+CAA+C,GACtD,OAAO,uCAAuC,GAC9C,OAAO,gDAAgD,GACvD,OAAO,iDAAiD,GACxD,OAAO,oCAAoC,GAC3C,OAAO,+CAA+C,GACtD,OAAO,mDAAmD,GAC1D,OAAO,yCAAyC,GAChD,OAAO,iDAAiD,GACxD,OAAO,gDAAgD,CAAC;AA0B5D,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAQ7E;AAED,wBAAgB,oBAAoB,CAClC,iBAAiB,SAAS,kBAAkB,EAE5C,KAAK,EAAE,OAAO,EACd,kBAAkB,EAAE;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC3D,EACD,IAAI,CAAC,EAAE,iBAAiB,GACvB,KAAK,IAAI,WAAW,CAAC,OAAO,uCAAuC,CAAC,GACrE,QAAQ,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAO7D"}
1
+ {"version":3,"file":"phygitalToken.d.ts","sourceRoot":"","sources":["../../../src/generated/errors/phygitalToken.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,uCAAuC,EAC5C,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,eAAO,MAAM,mDAAmD,OAAS,CAAC;AAE1E,eAAO,MAAM,mDAAmD,OAAS,CAAC;AAE1E,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,kDAAkD,OAAS,CAAC;AAEzE,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,oCAAoC,OAAS,CAAC;AAE3D,eAAO,MAAM,uCAAuC,OAAS,CAAC;AAE9D,eAAO,MAAM,yCAAyC,OAAS,CAAC;AAEhE,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,iDAAiD,OAAS,CAAC;AAExE,eAAO,MAAM,gDAAgD,OAAS,CAAC;AAEvE,eAAO,MAAM,uCAAuC,OAAS,CAAC;AAE9D,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,2CAA2C,OAAS,CAAC;AAElE,eAAO,MAAM,iDAAiD,OAAS,CAAC;AAExE,eAAO,MAAM,6CAA6C,OAAS,CAAC;AAEpE,eAAO,MAAM,gDAAgD,OAAS,CAAC;AAEvE,eAAO,MAAM,gDAAgD,OAAS,CAAC;AAEvE,eAAO,MAAM,oCAAoC,OAAS,CAAC;AAE3D,eAAO,MAAM,qCAAqC,OAAS,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAC1B,OAAO,+CAA+C,GACtD,OAAO,2CAA2C,GAClD,OAAO,6CAA6C,GACpD,OAAO,+CAA+C,GACtD,OAAO,gDAAgD,GACvD,OAAO,uCAAuC,GAC9C,OAAO,mDAAmD,GAC1D,OAAO,kDAAkD,GACzD,OAAO,+CAA+C,GACtD,OAAO,uCAAuC,GAC9C,OAAO,gDAAgD,GACvD,OAAO,iDAAiD,GACxD,OAAO,qCAAqC,GAC5C,OAAO,oCAAoC,GAC3C,OAAO,oCAAoC,GAC3C,OAAO,+CAA+C,GACtD,OAAO,mDAAmD,GAC1D,OAAO,yCAAyC,GAChD,OAAO,iDAAiD,GACxD,OAAO,gDAAgD,CAAC;AA4B5D,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAQ7E;AAED,wBAAgB,oBAAoB,CAClC,iBAAiB,SAAS,kBAAkB,EAE5C,KAAK,EAAE,OAAO,EACd,kBAAkB,EAAE;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC3D,EACD,IAAI,CAAC,EAAE,iBAAiB,GACvB,KAAK,IAAI,WAAW,CAAC,OAAO,uCAAuC,CAAC,GACrE,QAAQ,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAO7D"}
@@ -18,6 +18,8 @@ export const PHYGITAL_TOKEN_ERROR__UNABLE_TO_PARSE_CLIENT_DATA = 0x177e;
18
18
  export const PHYGITAL_TOKEN_ERROR__CHALLENGE_HASH_MISMATCH = 0x177f;
19
19
  export const PHYGITAL_TOKEN_ERROR__INVALID_AUTHENTICATOR_DATA = 0x1780;
20
20
  export const PHYGITAL_TOKEN_ERROR__USER_PRESENCE_NOT_VERIFIED = 0x1781;
21
+ export const PHYGITAL_TOKEN_ERROR__RP_ID_MISMATCH = 0x1782;
22
+ export const PHYGITAL_TOKEN_ERROR__ORIGIN_MISMATCH = 0x1783;
21
23
  let phygitalTokenErrorMessages;
22
24
  if (process.env["NODE_ENV"] !== "production") {
23
25
  phygitalTokenErrorMessages = {
@@ -33,7 +35,9 @@ if (process.env["NODE_ENV"] !== "production") {
33
35
  [PHYGITAL_TOKEN_ERROR__INVALID_SLOT_HASH]: `Slot not found in SlotHashes sysvar — signature has expired or is being replayed`,
34
36
  [PHYGITAL_TOKEN_ERROR__INVALID_SYSVAR_DATA_FORMAT]: `Invalid sysvar data format`,
35
37
  [PHYGITAL_TOKEN_ERROR__MISSING_INSTRUCTIONS_SYSVAR]: `Missing instructions sysvar account`,
38
+ [PHYGITAL_TOKEN_ERROR__ORIGIN_MISMATCH]: `WebAuthn origin does not match the expected origin.`,
36
39
  [PHYGITAL_TOKEN_ERROR__OWNER_MISMATCH]: `Token owner mismatch`,
40
+ [PHYGITAL_TOKEN_ERROR__RP_ID_MISMATCH]: `WebAuthn rpId hash does not match the expected relying party id.`,
37
41
  [PHYGITAL_TOKEN_ERROR__SECP256R1_PUBKEY_MISMATCH]: `secp256r1 pubkey does not match token record`,
38
42
  [PHYGITAL_TOKEN_ERROR__SIGNATURE_INDEX_OUT_OF_BOUNDS]: `The signature index provided is out of bounds for the secp256r1 instruction`,
39
43
  [PHYGITAL_TOKEN_ERROR__STALE_TRANSFER_SLOT]: `Transfer slot must be greater than the last successful transfer slot`,
@@ -1 +1 @@
1
- {"version":3,"file":"phygitalToken.js","sourceRoot":"","sources":["../../../src/generated/errors/phygitalToken.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,cAAc,GAIf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAGtE,MAAM,CAAC,MAAM,mDAAmD,GAAG,MAAM,CAAC;AAE1E,MAAM,CAAC,MAAM,mDAAmD,GAAG,MAAM,CAAC;AAE1E,MAAM,CAAC,MAAM,+CAA+C,GAAG,MAAM,CAAC;AAEtE,MAAM,CAAC,MAAM,kDAAkD,GAAG,MAAM,CAAC;AAEzE,MAAM,CAAC,MAAM,+CAA+C,GAAG,MAAM,CAAC;AAEtE,MAAM,CAAC,MAAM,oCAAoC,GAAG,MAAM,CAAC;AAE3D,MAAM,CAAC,MAAM,uCAAuC,GAAG,MAAM,CAAC;AAE9D,MAAM,CAAC,MAAM,yCAAyC,GAAG,MAAM,CAAC;AAEhE,MAAM,CAAC,MAAM,+CAA+C,GAAG,MAAM,CAAC;AAEtE,MAAM,CAAC,MAAM,iDAAiD,GAAG,MAAM,CAAC;AAExE,MAAM,CAAC,MAAM,gDAAgD,GAAG,MAAM,CAAC;AAEvE,MAAM,CAAC,MAAM,uCAAuC,GAAG,MAAM,CAAC;AAE9D,MAAM,CAAC,MAAM,+CAA+C,GAAG,MAAM,CAAC;AAEtE,MAAM,CAAC,MAAM,2CAA2C,GAAG,MAAM,CAAC;AAElE,MAAM,CAAC,MAAM,iDAAiD,GAAG,MAAM,CAAC;AAExE,MAAM,CAAC,MAAM,6CAA6C,GAAG,MAAM,CAAC;AAEpE,MAAM,CAAC,MAAM,gDAAgD,GAAG,MAAM,CAAC;AAEvE,MAAM,CAAC,MAAM,gDAAgD,GAAG,MAAM,CAAC;AAsBvE,IAAI,0BAA0E,CAAC;AAC/E,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;IAC7C,0BAA0B,GAAG;QAC3B,CAAC,+CAA+C,CAAC,EAAE,yDAAyD;QAC5G,CAAC,2CAA2C,CAAC,EAAE,6BAA6B;QAC5E,CAAC,6CAA6C,CAAC,EAAE,0BAA0B;QAC3E,CAAC,+CAA+C,CAAC,EAAE,2BAA2B;QAC9E,CAAC,gDAAgD,CAAC,EAAE,4DAA4D;QAChH,CAAC,uCAAuC,CAAC,EAAE,+CAA+C;QAC1F,CAAC,mDAAmD,CAAC,EAAE,kGAAkG;QACzJ,CAAC,kDAAkD,CAAC,EAAE,8BAA8B;QACpF,CAAC,+CAA+C,CAAC,EAAE,6EAA6E;QAChI,CAAC,uCAAuC,CAAC,EAAE,kFAAkF;QAC7H,CAAC,gDAAgD,CAAC,EAAE,4BAA4B;QAChF,CAAC,iDAAiD,CAAC,EAAE,qCAAqC;QAC1F,CAAC,oCAAoC,CAAC,EAAE,sBAAsB;QAC9D,CAAC,+CAA+C,CAAC,EAAE,8CAA8C;QACjG,CAAC,mDAAmD,CAAC,EAAE,6EAA6E;QACpI,CAAC,yCAAyC,CAAC,EAAE,sEAAsE;QACnH,CAAC,iDAAiD,CAAC,EAAE,mCAAmC;QACxF,CAAC,gDAAgD,CAAC,EAAE,oEAAoE;KACzH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAwB;IACnE,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;QAC7C,OAAQ,0BAAiE,CACvE,IAAI,CACL,CAAC;IACJ,CAAC;IAED,OAAO,oDAAoD,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAGlC,KAAc,EACd,kBAEC,EACD,IAAwB;IAGxB,OAAO,cAAc,CACnB,KAAK,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,IAAI,CACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"phygitalToken.js","sourceRoot":"","sources":["../../../src/generated/errors/phygitalToken.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type AccountMeta, type Address, type Codec, type Decoder, type Encoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlyUint8Array, type WritableAccount } from "@solana/kit";
1
+ import { type AccountMeta, type Address, type Codec, type Decoder, type Encoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type Option, type OptionOrNullable, type ReadonlyAccount, type ReadonlyUint8Array, type WritableAccount } from "@solana/kit";
2
2
  import { PHYGITAL_TOKEN_PROGRAM_ADDRESS } from "../programs/index.js";
3
3
  import { type Secp256r1VerifyArgs, type Secp256r1VerifyArgsArgs } from "../types/index.js";
4
4
  export declare const VERIFY_ASSET_DISCRIMINATOR: ReadonlyUint8Array;
@@ -13,10 +13,14 @@ export type VerifyAssetInstructionData = {
13
13
  discriminator: ReadonlyUint8Array;
14
14
  secp256r1VerifyArgs: Secp256r1VerifyArgs;
15
15
  message: ReadonlyUint8Array;
16
+ expectedRpId: Option<string>;
17
+ expectedOrigin: Option<string>;
16
18
  };
17
19
  export type VerifyAssetInstructionDataArgs = {
18
20
  secp256r1VerifyArgs: Secp256r1VerifyArgsArgs;
19
21
  message: ReadonlyUint8Array;
22
+ expectedRpId: OptionOrNullable<string>;
23
+ expectedOrigin: OptionOrNullable<string>;
20
24
  };
21
25
  export declare function getVerifyAssetInstructionDataEncoder(): Encoder<VerifyAssetInstructionDataArgs>;
22
26
  export declare function getVerifyAssetInstructionDataDecoder(): Decoder<VerifyAssetInstructionData>;
@@ -27,6 +31,8 @@ export type VerifyAssetInput<TAccountAsset extends string = string, TAccountSlot
27
31
  instructionsSysvar?: Address<TAccountInstructionsSysvar>;
28
32
  secp256r1VerifyArgs: VerifyAssetInstructionDataArgs["secp256r1VerifyArgs"];
29
33
  message: VerifyAssetInstructionDataArgs["message"];
34
+ expectedRpId: VerifyAssetInstructionDataArgs["expectedRpId"];
35
+ expectedOrigin: VerifyAssetInstructionDataArgs["expectedOrigin"];
30
36
  };
31
37
  export declare function getVerifyAssetInstruction<TAccountAsset extends string, TAccountSlotHashes extends string, TAccountInstructionsSysvar extends string, TProgramAddress extends Address = typeof PHYGITAL_TOKEN_PROGRAM_ADDRESS>(input: VerifyAssetInput<TAccountAsset, TAccountSlotHashes, TAccountInstructionsSysvar>, config?: {
32
38
  programAddress?: TProgramAddress;
@@ -1 +1 @@
1
- {"version":3,"file":"verifyAsset.d.ts","sourceRoot":"","sources":["../../../src/generated/instructions/verifyAsset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifyAsset.d.ts","sourceRoot":"","sources":["../../../src/generated/instructions/verifyAsset.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { addDecoderSizePrefix, addEncoderSizePrefix, combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, transformEncoder, } from "@solana/kit";
1
+ import { addDecoderSizePrefix, addEncoderSizePrefix, combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getOptionDecoder, getOptionEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getUtf8Decoder, getUtf8Encoder, SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, SolanaError, transformEncoder, } from "@solana/kit";
2
2
  import { getAccountMetaFactory, } from "@solana/kit/program-client-core";
3
3
  import { PHYGITAL_TOKEN_PROGRAM_ADDRESS } from "../programs/index.js";
4
4
  import { getSecp256r1VerifyArgsDecoder, getSecp256r1VerifyArgsEncoder, } from "../types/index.js";
@@ -13,6 +13,14 @@ export function getVerifyAssetInstructionDataEncoder() {
13
13
  ["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
14
14
  ["secp256r1VerifyArgs", getSecp256r1VerifyArgsEncoder()],
15
15
  ["message", addEncoderSizePrefix(getBytesEncoder(), getU32Encoder())],
16
+ [
17
+ "expectedRpId",
18
+ getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),
19
+ ],
20
+ [
21
+ "expectedOrigin",
22
+ getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),
23
+ ],
16
24
  ]), (value) => ({ ...value, discriminator: VERIFY_ASSET_DISCRIMINATOR }));
17
25
  }
18
26
  export function getVerifyAssetInstructionDataDecoder() {
@@ -20,6 +28,14 @@ export function getVerifyAssetInstructionDataDecoder() {
20
28
  ["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
21
29
  ["secp256r1VerifyArgs", getSecp256r1VerifyArgsDecoder()],
22
30
  ["message", addDecoderSizePrefix(getBytesDecoder(), getU32Decoder())],
31
+ [
32
+ "expectedRpId",
33
+ getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),
34
+ ],
35
+ [
36
+ "expectedOrigin",
37
+ getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),
38
+ ],
23
39
  ]);
24
40
  }
25
41
  export function getVerifyAssetInstructionDataCodec() {
@@ -1 +1 @@
1
- {"version":3,"file":"verifyAsset.js","sourceRoot":"","sources":["../../../src/generated/instructions/verifyAsset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifyAsset.js","sourceRoot":"","sources":["../../../src/generated/instructions/verifyAsset.ts"],"names":[],"mappings":"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"}
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,23 +1,23 @@
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;
11
9
  message: Uint8Array;
10
+ expectedRpId?: string;
11
+ expectedOrigin?: string;
12
12
  };
13
13
  export declare function beginVerifyAsset(input: {
14
14
  rpc: Rpc<SolanaRpcApi>;
15
- asset: Address;
16
15
  message: Uint8Array;
16
+ expectedRpId?: string;
17
+ expectedOrigin?: string;
17
18
  }): Promise<VerifyAssetSession>;
18
19
  export declare function authenticatePasskeyForVerifyAsset(session: VerifyAssetSession): Promise<AuthenticationResponseJSON>;
19
- export declare function buildVerifyAssetArgs(session: VerifyAssetSession, response: AuthenticationResponseJSON, existingSecp256r1VerifyInputs?: Secp256r1VerifyEntry[]): Promise<{
20
- asset: Asset;
20
+ export declare function buildVerifyAssetArgs(response: AuthenticationResponseJSON, existingSecp256r1VerifyInputs?: Secp256r1VerifyEntry[]): Promise<{
21
21
  assetPda: Address;
22
22
  secp256r1Verify: Instruction;
23
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;CACrB,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;CACrB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAe9B;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,CAoBxB"}
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,33 +12,34 @@ 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,
18
18
  message: input.message,
19
+ expectedRpId: input.expectedRpId,
20
+ expectedOrigin: input.expectedOrigin,
19
21
  };
20
22
  }
21
23
  export async function authenticatePasskeyForVerifyAsset(session) {
22
24
  return authenticateWithWebauthn(nfcWebAuthnRequestOptions(bufferToBase64URLString(session.challenge)));
23
25
  }
24
- export async function buildVerifyAssetArgs(session, response, existingSecp256r1VerifyInputs) {
25
- 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);
26
29
  const { secp256r1Verify, signedMessageIndex, clientDataJson } = await buildSecp256r1VerifyInstructionFromWebAuthnResponse({
27
- secp256r1PublicKey: parseSecp256r1Pubkey(response.id),
30
+ secp256r1PublicKey,
28
31
  response,
29
32
  existingSecp256r1VerifyInputs,
30
33
  });
31
34
  return {
32
- asset,
33
- assetPda: session.asset,
35
+ assetPda,
34
36
  secp256r1Verify,
35
37
  signedMessageIndex,
36
38
  clientDataJson,
37
39
  };
38
40
  }
39
41
  export async function completeVerifyAsset(session, response, existingSecp256r1VerifyInputs) {
40
- const { assetPda, secp256r1Verify, signedMessageIndex, clientDataJson } = await buildVerifyAssetArgs(session, response, existingSecp256r1VerifyInputs);
42
+ const { assetPda, secp256r1Verify, signedMessageIndex, clientDataJson } = await buildVerifyAssetArgs(response, existingSecp256r1VerifyInputs);
41
43
  const verifyAssetInstruction = getVerifyAssetInstruction({
42
44
  asset: assetPda,
43
45
  secp256r1VerifyArgs: {
@@ -47,6 +49,8 @@ export async function completeVerifyAsset(session, response, existingSecp256r1Ve
47
49
  clientDataJson,
48
50
  },
49
51
  message: session.message,
52
+ expectedRpId: session.expectedRpId ?? null,
53
+ expectedOrigin: session.expectedOrigin ?? null,
50
54
  });
51
55
  return [secp256r1Verify, verifyAssetInstruction];
52
56
  }
@@ -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;AAiBvD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAItC;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;KACvB,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;KACzB,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.15.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",