phygital-token-sdk 0.5.1 → 0.5.2

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/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { findAssociatedTokenAddress } from "./utils/associatedToken.js";
5
5
  export { TOKEN_2022_PROGRAM_ADDRESS } from "./utils/consts.js";
6
6
  export { buildCreateMintInstructions, buildMintTokenInstructions, MAX_METADATA_NAME_LEN, MAX_METADATA_SYMBOL_LEN, MAX_METADATA_URI_LEN, parseSecp256r1Pubkey, parseCredentialId, validateMetadataFields, type MetadataFields, } from "./instructions/mint.js";
7
7
  export { fetchAssetDisplayInfo, resolveMedia, type AssetDisplayInfo, type MediaCategory, type ResolvedMedia, type Shortcut, type TokenJsonMetadata, type TokenMediaFile, } from "./utils/metadata.js";
8
- export { fetchAssetCredentialFromCredentialId } from "./utils/assetCredential.js";
8
+ export { fetchAssetCredentialFromCredentialId, fetchAllAssetsFromOwner, } from "./utils/assetCredential.js";
9
9
  export { verifyDynamicUrlWithoutCounterCheck, verifyDynamicUrl, verifyWithChallengeResponse, verifyWithChallengeResponseOverNfc, type VerifyDynamicUrlCallback, type VerifyDynamicUrlResult, type VerifyWithChallengeResponseResult, type VerifyWithChallengeResponseOptions, type GetPublicKeyFromCredentialIdCallback, } from "./utils/verify.js";
10
10
  export { findAssetPda } from "./utils/pdas/index.js";
11
11
  export * from "./generated/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,mDAAmD,EACnD,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,6BAA6B,GACnC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,cAAc,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,oCAAoC,EAAE,MAAM,4BAA4B,CAAC;AAElF,OAAO,EACL,mCAAmC,EACnC,gBAAgB,EAChB,2BAA2B,EAC3B,kCAAkC,EAClC,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,iCAAiC,EACtC,KAAK,kCAAkC,EACvC,KAAK,oCAAoC,GAC1C,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,mDAAmD,EACnD,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,6BAA6B,GACnC,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,cAAc,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,oCAAoC,EACpC,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,mCAAmC,EACnC,gBAAgB,EAChB,2BAA2B,EAC3B,kCAAkC,EAClC,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,iCAAiC,EACtC,KAAK,kCAAkC,EACvC,KAAK,oCAAoC,GAC1C,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ export { findAssociatedTokenAddress } from "./utils/associatedToken.js";
5
5
  export { TOKEN_2022_PROGRAM_ADDRESS } from "./utils/consts.js";
6
6
  export { buildCreateMintInstructions, buildMintTokenInstructions, MAX_METADATA_NAME_LEN, MAX_METADATA_SYMBOL_LEN, MAX_METADATA_URI_LEN, parseSecp256r1Pubkey, parseCredentialId, validateMetadataFields, } from "./instructions/mint.js";
7
7
  export { fetchAssetDisplayInfo, resolveMedia, } from "./utils/metadata.js";
8
- export { fetchAssetCredentialFromCredentialId } from "./utils/assetCredential.js";
8
+ export { fetchAssetCredentialFromCredentialId, fetchAllAssetsFromOwner, } from "./utils/assetCredential.js";
9
9
  export { verifyDynamicUrlWithoutCounterCheck, verifyDynamicUrl, verifyWithChallengeResponse, verifyWithChallengeResponseOverNfc, } from "./utils/verify.js";
10
10
  export { findAssetPda } from "./utils/pdas/index.js";
11
11
  export * from "./generated/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,GAEjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,mDAAmD,EACnD,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,GAEnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,YAAY,GAOb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,oCAAoC,EAAE,MAAM,4BAA4B,CAAC;AAElF,OAAO,EACL,mCAAmC,EACnC,gBAAgB,EAChB,2BAA2B,EAC3B,kCAAkC,GAMnC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,GAEjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,mDAAmD,EACnD,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,GAEnB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,YAAY,GAOb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,oCAAoC,EACpC,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,mCAAmC,EACnC,gBAAgB,EAChB,2BAA2B,EAC3B,kCAAkC,GAMnC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,cAAc,sBAAsB,CAAC"}
@@ -1,8 +1,9 @@
1
- import { type Rpc, type SolanaRpcApi } from "@solana/kit";
1
+ import { type Address, type Rpc, type SolanaRpcApi } from "@solana/kit";
2
2
  import { type Base64URLString } from "@simplewebauthn/browser";
3
3
  import { type Asset } from "../generated/index.js";
4
4
  export declare function fetchAssetCredentialFromCredentialId(credentialId: Base64URLString, rpc: Rpc<SolanaRpcApi>): Promise<{
5
5
  publicKey: Base64URLString;
6
6
  asset: Asset;
7
7
  }>;
8
+ export declare function fetchAllAssetsFromOwner(owner: Address, rpc: Rpc<SolanaRpcApi>): Promise<Asset[]>;
8
9
  //# sourceMappingURL=assetCredential.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assetCredential.d.ts","sourceRoot":"","sources":["../../src/utils/assetCredential.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAA2B,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAGL,KAAK,KAAK,EACX,MAAM,uBAAuB,CAAC;AAY/B,wBAAsB,oCAAoC,CACxD,YAAY,EAAE,eAAe,EAC7B,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,GACrB,OAAO,CAAC;IAAE,SAAS,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAgCvD"}
1
+ {"version":3,"file":"assetCredential.d.ts","sourceRoot":"","sources":["../../src/utils/assetCredential.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EAEZ,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,KAAK,KAAK,EACX,MAAM,uBAAuB,CAAC;AAc/B,wBAAsB,oCAAoC,CACxD,YAAY,EAAE,eAAe,EAC7B,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,GACrB,OAAO,CAAC;IAAE,SAAS,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,CAgCvD;AAED,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,GACrB,OAAO,CAAC,KAAK,EAAE,CAAC,CA2BlB"}
@@ -1,9 +1,10 @@
1
- import { getBase64Decoder, getBase64Encoder, } from "@solana/kit";
2
- import { bufferToBase64URLString } from "@simplewebauthn/browser";
1
+ import { getAddressDecoder, getAddressEncoder, getBase64Decoder, getBase64Encoder, } from "@solana/kit";
2
+ import { bufferToBase64URLString, } from "@simplewebauthn/browser";
3
3
  import { getAssetDecoder, PHYGITAL_TOKEN_PROGRAM_ADDRESS, } from "../generated/index.js";
4
4
  import { base64URLStringToBuffer } from "./passkey/internal.js";
5
5
  const ASSET_ACCOUNT_DATA_SIZE = 179;
6
6
  const ASSET_CREDENTIAL_ID_OFFSET = 115;
7
+ const ASSET_OWNER_OFF_SET = 41;
7
8
  export async function fetchAssetCredentialFromCredentialId(credentialId, rpc) {
8
9
  const data = await rpc
9
10
  .getProgramAccounts(PHYGITAL_TOKEN_PROGRAM_ADDRESS, {
@@ -29,4 +30,26 @@ export async function fetchAssetCredentialFromCredentialId(credentialId, rpc) {
29
30
  asset,
30
31
  };
31
32
  }
33
+ export async function fetchAllAssetsFromOwner(owner, rpc) {
34
+ const data = await rpc
35
+ .getProgramAccounts(PHYGITAL_TOKEN_PROGRAM_ADDRESS, {
36
+ encoding: "base64",
37
+ filters: [
38
+ { dataSize: BigInt(ASSET_ACCOUNT_DATA_SIZE) },
39
+ {
40
+ memcmp: {
41
+ encoding: "base64",
42
+ offset: BigInt(ASSET_OWNER_OFF_SET),
43
+ bytes: getBase64Decoder().decode(getAddressEncoder().encode(owner)),
44
+ },
45
+ },
46
+ ],
47
+ })
48
+ .send();
49
+ if (!data.length) {
50
+ return [];
51
+ }
52
+ const assets = data.map((x) => getAssetDecoder().decode(getBase64Encoder().encode(x.account.data[0])));
53
+ return assets;
54
+ }
32
55
  //# sourceMappingURL=assetCredential.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assetCredential.js","sourceRoot":"","sources":["../../src/utils/assetCredential.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GAIjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,uBAAuB,EAAwB,MAAM,yBAAyB,CAAC;AACxF,OAAO,EACL,eAAe,EACf,8BAA8B,GAE/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAGpC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAKvC,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,YAA6B,EAC7B,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,0BAA0B,CAAC;oBAC1C,KAAK,EAAE,gBAAgB,EAAE,CAAC,MAAM,CAC9B,uBAAuB,CAAC,YAAY,CAAC,CAChB;iBACxB;aACF;SACF;KACF,CAAC;SACD,IAAI,EAAE,CAAC;IAEV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC,MAAM,CACpC,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC;IACF,OAAO;QACL,SAAS,EAAE,uBAAuB,CAChC,IAAI,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAC1C;QACD,KAAK;KACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"assetCredential.js","sourceRoot":"","sources":["../../src/utils/assetCredential.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GAKjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,GAExB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,8BAA8B,GAE/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAGpC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAK/B,MAAM,CAAC,KAAK,UAAU,oCAAoC,CACxD,YAA6B,EAC7B,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,0BAA0B,CAAC;oBAC1C,KAAK,EAAE,gBAAgB,EAAE,CAAC,MAAM,CAC9B,uBAAuB,CAAC,YAAY,CAAC,CAChB;iBACxB;aACF;SACF;KACF,CAAC;SACD,IAAI,EAAE,CAAC;IAEV,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC,MAAM,CACpC,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC;IACF,OAAO;QACL,SAAS,EAAE,uBAAuB,CAChC,IAAI,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAC1C;QACD,KAAK;KACN,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,mBAAmB,CAAC;oBACnC,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,CAAA;IACX,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,eAAe,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CACvE,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phygital-token-sdk",
3
- "version": "0.5.1",
3
+ "version": "0.5.2",
4
4
  "description": "TypeScript client for the Phygital Token Solana program (generated via Codama)",
5
5
  "license": "ISC",
6
6
  "type": "module",