phygital-token-sdk 0.3.2 → 0.4.1

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.
Files changed (55) hide show
  1. package/dist/generated/instructions/executeTransfer.d.ts +5 -20
  2. package/dist/generated/instructions/executeTransfer.d.ts.map +1 -1
  3. package/dist/generated/instructions/executeTransfer.js +4 -17
  4. package/dist/generated/instructions/executeTransfer.js.map +1 -1
  5. package/dist/generated/instructions/index.d.ts +1 -0
  6. package/dist/generated/instructions/index.d.ts.map +1 -1
  7. package/dist/generated/instructions/index.js +1 -0
  8. package/dist/generated/instructions/index.js.map +1 -1
  9. package/dist/generated/instructions/verifyAsset.d.ts +44 -0
  10. package/dist/generated/instructions/verifyAsset.d.ts.map +1 -0
  11. package/dist/generated/instructions/verifyAsset.js +82 -0
  12. package/dist/generated/instructions/verifyAsset.js.map +1 -0
  13. package/dist/generated/programs/phygitalToken.d.ts +7 -3
  14. package/dist/generated/programs/phygitalToken.d.ts.map +1 -1
  15. package/dist/generated/programs/phygitalToken.js +13 -1
  16. package/dist/generated/programs/phygitalToken.js.map +1 -1
  17. package/dist/generated/types/index.d.ts +1 -0
  18. package/dist/generated/types/index.d.ts.map +1 -1
  19. package/dist/generated/types/index.js +1 -0
  20. package/dist/generated/types/index.js.map +1 -1
  21. package/dist/generated/types/secp256r1VerifyArgs.d.ts +15 -23
  22. package/dist/generated/types/secp256r1VerifyArgs.d.ts.map +1 -1
  23. package/dist/generated/types/secp256r1VerifyArgs.js +15 -10
  24. package/dist/generated/types/secp256r1VerifyArgs.js.map +1 -1
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/instructions/transfer.d.ts.map +1 -1
  29. package/dist/instructions/transfer.js +11 -11
  30. package/dist/instructions/transfer.js.map +1 -1
  31. package/dist/instructions/verifyAsset.d.ts +20 -0
  32. package/dist/instructions/verifyAsset.d.ts.map +1 -0
  33. package/dist/instructions/verifyAsset.js +41 -0
  34. package/dist/instructions/verifyAsset.js.map +1 -0
  35. package/dist/utils/consts.d.ts +1 -0
  36. package/dist/utils/consts.d.ts.map +1 -1
  37. package/dist/utils/consts.js +1 -0
  38. package/dist/utils/consts.js.map +1 -1
  39. package/dist/utils/metadata.d.ts +12 -7
  40. package/dist/utils/metadata.d.ts.map +1 -1
  41. package/dist/utils/metadata.js +2 -20
  42. package/dist/utils/metadata.js.map +1 -1
  43. package/dist/utils/passkey/secp256r1.d.ts +6 -9
  44. package/dist/utils/passkey/secp256r1.d.ts.map +1 -1
  45. package/dist/utils/passkey/secp256r1.js +15 -7
  46. package/dist/utils/passkey/secp256r1.js.map +1 -1
  47. package/dist/utils/sendInstructions.d.ts +7 -0
  48. package/dist/utils/sendInstructions.d.ts.map +1 -0
  49. package/dist/utils/sendInstructions.js +13 -0
  50. package/dist/utils/sendInstructions.js.map +1 -0
  51. package/dist/utils/verify.d.ts +16 -8
  52. package/dist/utils/verify.d.ts.map +1 -1
  53. package/dist/utils/verify.js +121 -21
  54. package/dist/utils/verify.js.map +1 -1
  55. package/package.json +1 -1
@@ -2,8 +2,13 @@ import { Endian, getBase64Decoder, getBase64Encoder, getU32Encoder, } from "@sol
2
2
  import { base64URLStringToBuffer, convertSignatureDERtoRS, getSecp256r1Message, normalizeSignatureToLowS, parseWebAuthnClientData, } from "./passkey/internal.js";
3
3
  import { p256 } from "@noble/curves/nist.js";
4
4
  import { startAuthentication, bufferToBase64URLString, } from "@simplewebauthn/browser";
5
- import { getAssetDecoder, PHYGITAL_TOKEN_PROGRAM_ADDRESS, } from "../generated/index.js";
6
- import { authenticateWithNfc, } from "./passkey/nfc/index.js";
5
+ import { getAssetDecoder, getVerifyAssetInstruction, PHYGITAL_TOKEN_PROGRAM_ADDRESS, } from "../generated/index.js";
6
+ import { authenticateWithNfc } from "./passkey/nfc/index.js";
7
+ import { sendInstructions } from "./sendInstructions.js";
8
+ import { buildSecp256r1VerifyInstructionFromWebAuthnResponse, buildVerifyMessage, } from "./passkey/secp256r1.js";
9
+ import { getLatestSlotHash } from "./slotHash.js";
10
+ import { findAssetPda } from "./pdas/index.js";
11
+ import { parseSecp256r1Pubkey } from "../instructions/mint.js";
7
12
  const DEFAULT_VERIFY_DYNAMIC_URL_ENDPOINT = `https://revibase.com/api/verifyDynamicUrl`;
8
13
  const defaultVerifyDynamicUrlCallback = async (params) => {
9
14
  const url = new URL(DEFAULT_VERIFY_DYNAMIC_URL_ENDPOINT);
@@ -57,9 +62,7 @@ export function verifyDynamicUrlWithoutCounterCheck(params) {
57
62
  counter: currentCounter,
58
63
  };
59
64
  }
60
- async function fetchPublicKeyFromCredentialId(credentialId, rpc) {
61
- if (!rpc)
62
- return null;
65
+ async function fetchAssetCredentialFromCredentialId(credentialId, rpc) {
63
66
  const data = await rpc
64
67
  .getProgramAccounts(PHYGITAL_TOKEN_PROGRAM_ADDRESS, {
65
68
  encoding: "base64",
@@ -79,7 +82,16 @@ async function fetchPublicKeyFromCredentialId(credentialId, rpc) {
79
82
  throw new Error("No account found.");
80
83
  }
81
84
  const asset = getAssetDecoder().decode(getBase64Encoder().encode(data[0].account.data[0]));
82
- return bufferToBase64URLString(new Uint8Array(asset.publicKey[0]).buffer);
85
+ return {
86
+ publicKey: bufferToBase64URLString(new Uint8Array(asset.publicKey[0]).buffer),
87
+ asset: data[0].pubkey,
88
+ };
89
+ }
90
+ async function fetchPublicKeyFromCredentialId(credentialId, rpc) {
91
+ if (!rpc)
92
+ return null;
93
+ const resolved = await fetchAssetCredentialFromCredentialId(credentialId, rpc);
94
+ return resolved.publicKey;
83
95
  }
84
96
  async function verifyAuthenticationResponse({ response, expectedChallenge, rpc, fetchPublicKeyFromCredentialIdCallback, }) {
85
97
  const clientData = parseWebAuthnClientData(response.response.clientDataJSON);
@@ -101,12 +113,26 @@ async function verifyAuthenticationResponse({ response, expectedChallenge, rpc,
101
113
  publicKey,
102
114
  };
103
115
  }
104
- export async function verifyWithChallengeResponse({ rpc, fetchPublicKeyFromCredentialIdCallback, }) {
105
- const challenge = crypto.getRandomValues(new Uint8Array(32));
106
- const expectedChallenge = bufferToBase64URLString(challenge.buffer);
116
+ export async function verifyWithChallengeResponse(input) {
117
+ const { fetchPublicKeyFromCredentialIdCallback, postVerificationOnChain } = input;
118
+ let expectedChallenge = null;
119
+ let slotNumber = null;
120
+ let message = undefined;
121
+ if (postVerificationOnChain) {
122
+ message = input.message ?? crypto.randomUUID();
123
+ const { slotHash, slotNumber: generatedSlotNumber } = await getLatestSlotHash(input.rpc);
124
+ expectedChallenge = await buildVerifyMessage({
125
+ message,
126
+ slotHash,
127
+ });
128
+ slotNumber = generatedSlotNumber;
129
+ }
130
+ else {
131
+ expectedChallenge = crypto.getRandomValues(new Uint8Array(32));
132
+ }
107
133
  const response = await startAuthentication({
108
134
  optionsJSON: {
109
- challenge: expectedChallenge,
135
+ challenge: bufferToBase64URLString(expectedChallenge.buffer),
110
136
  rpId: window.location.hostname,
111
137
  userVerification: "preferred",
112
138
  allowCredentials: [
@@ -118,18 +144,62 @@ export async function verifyWithChallengeResponse({ rpc, fetchPublicKeyFromCrede
118
144
  ],
119
145
  },
120
146
  });
121
- return verifyAuthenticationResponse({
147
+ const result = await verifyAuthenticationResponse({
122
148
  response,
123
- expectedChallenge,
124
- rpc,
149
+ expectedChallenge: bufferToBase64URLString(expectedChallenge.buffer),
150
+ rpc: input.rpc,
125
151
  fetchPublicKeyFromCredentialIdCallback,
126
152
  });
153
+ if (postVerificationOnChain) {
154
+ if (!slotNumber) {
155
+ throw new Error("slotNumber is missing.");
156
+ }
157
+ if (!message) {
158
+ throw new Error("message is missing.");
159
+ }
160
+ const { secp256r1Verify, origin, crossOrigin, truncatedClientDataJson } = await buildSecp256r1VerifyInstructionFromWebAuthnResponse({
161
+ response,
162
+ publicKey: result.publicKey,
163
+ });
164
+ const verifyAssetInstruction = getVerifyAssetInstruction({
165
+ asset: await findAssetPda(parseSecp256r1Pubkey(result.publicKey)),
166
+ secp256r1VerifyArgs: {
167
+ signedMessageIndex: 0,
168
+ slotNumber,
169
+ origin,
170
+ crossOrigin,
171
+ truncatedClientDataJson,
172
+ },
173
+ message,
174
+ });
175
+ const signature = await sendInstructions({
176
+ rpc: input.rpc,
177
+ feePayer: input.feePayer,
178
+ instructions: [secp256r1Verify, verifyAssetInstruction],
179
+ });
180
+ result.signature = signature;
181
+ }
182
+ return result;
127
183
  }
128
- export async function verifyWithChallengeResponseOverNfc({ transceive, rpc, fetchPublicKeyFromCredentialIdCallback, }) {
129
- const challenge = crypto.getRandomValues(new Uint8Array(32));
130
- const expectedChallenge = bufferToBase64URLString(challenge.buffer);
184
+ export async function verifyWithChallengeResponseOverNfc(input) {
185
+ const { fetchPublicKeyFromCredentialIdCallback, postVerificationOnChain } = input;
186
+ let expectedChallenge = null;
187
+ let slotNumber = null;
188
+ let message = undefined;
189
+ if (postVerificationOnChain) {
190
+ message = input.message ?? crypto.randomUUID();
191
+ const { slotHash, slotNumber: generatedSlotNumber } = await getLatestSlotHash(input.rpc);
192
+ expectedChallenge = await buildVerifyMessage({
193
+ message,
194
+ slotHash,
195
+ });
196
+ slotNumber = generatedSlotNumber;
197
+ }
198
+ else {
199
+ expectedChallenge = crypto.getRandomValues(new Uint8Array(32));
200
+ }
131
201
  const response = await authenticateWithNfc({
132
- challenge: expectedChallenge,
202
+ challenge: bufferToBase64URLString(expectedChallenge.buffer),
133
203
  rpId: "revibase.com",
134
204
  userVerification: "preferred",
135
205
  origin: "https://revibase.com",
@@ -140,12 +210,42 @@ export async function verifyWithChallengeResponseOverNfc({ transceive, rpc, fetc
140
210
  transports: ["nfc"],
141
211
  },
142
212
  ],
143
- }, transceive);
144
- return verifyAuthenticationResponse({
213
+ }, input.transceive);
214
+ const result = await verifyAuthenticationResponse({
145
215
  response,
146
- expectedChallenge,
147
- rpc,
216
+ expectedChallenge: bufferToBase64URLString(expectedChallenge.buffer),
217
+ rpc: input.rpc,
148
218
  fetchPublicKeyFromCredentialIdCallback,
149
219
  });
220
+ if (postVerificationOnChain) {
221
+ if (!slotNumber) {
222
+ throw new Error("slotNumber is missing.");
223
+ }
224
+ if (!message) {
225
+ throw new Error("message is missing.");
226
+ }
227
+ const { secp256r1Verify, origin, crossOrigin, truncatedClientDataJson } = await buildSecp256r1VerifyInstructionFromWebAuthnResponse({
228
+ response,
229
+ publicKey: result.publicKey,
230
+ });
231
+ const verifyAssetInstruction = getVerifyAssetInstruction({
232
+ asset: await findAssetPda(parseSecp256r1Pubkey(result.publicKey)),
233
+ secp256r1VerifyArgs: {
234
+ signedMessageIndex: 0,
235
+ slotNumber,
236
+ origin,
237
+ crossOrigin,
238
+ truncatedClientDataJson,
239
+ },
240
+ message,
241
+ });
242
+ const signature = await sendInstructions({
243
+ rpc: input.rpc,
244
+ feePayer: input.feePayer,
245
+ instructions: [secp256r1Verify, verifyAssetInstruction],
246
+ });
247
+ result.signature = signature;
248
+ }
249
+ return result;
150
250
  }
151
251
  //# sourceMappingURL=verify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/utils/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/utils/verify.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GAOd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GAGxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,mDAAmD,EACnD,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,MAAM,mCAAmC,GAAG,2CAA2C,CAAC;AA8BxF,MAAM,+BAA+B,GAA6B,KAAK,EACrE,MAAM,EACN,EAAE;IACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACzD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA2B,CAAC;AAC3D,CAAC,CAAC;AAiCF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAuB,EACvB,WAAqC,+BAA+B;IAEpE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1B,CAAC;AA+BD,MAAM,UAAU,mCAAmC,CACjD,MAAuB;IAEvB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK;QAChD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,YAAY,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,gDAAgD,YAAY,CAAC,MAAM,QAAQ,CAC5E,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,0BAA0B,WAAW,CAAC,MAAM,QAAQ,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,8CAA8C,MAAM,CAAC,MAAM,QAAQ,CACpE,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpD,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;QACjC,cAAc,GAAG,CAAC;QAClB,cAAc,GAAG,UAAU,EAC3B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,cAAc,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAC/D,cAAc,CACf,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAE5B,MAAM,aAAa,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAErE,OAAO;QACL,UAAU;QACV,SAAS;QACT,OAAO,EAAE,cAAc;KACxB,CAAC;AACJ,CAAC;AAMD,KAAK,UAAU,oCAAoC,CACjD,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,GAAG,CAAC,EAAE;YACzB;gBACE,MAAM,EAAE;oBACN,QAAQ,EAAE,QAAiB;oBAC3B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC;oBACnB,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,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,YAA6B,EAC7B,GAAuB;IAEvB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,QAAQ,GAAG,MAAM,oCAAoC,CACzD,YAAY,EACZ,GAAG,CACJ,CAAC;IACF,OAAO,QAAQ,CAAC,SAAS,CAAC;AAC5B,CAAC;AAmBD,KAAK,UAAU,4BAA4B,CAAC,EAC1C,QAAQ,EACR,iBAAiB,EACjB,GAAG,EACH,sCAAsC,GAMvC;IACC,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,oBAAoB,CAAC,CAAC;IACxC,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,SAAS,GAAG,MAAM,CAAC,sCAAsC,EAAE,CAC/D,QAAQ,CAAC,EAAE,CACZ,IAAI,8BAA8B,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IAEvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAC5B,SAAS,EACT,OAAO,EACP,uBAAuB,CAAC,SAAS,CAAC,CACnC,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC;AA4CD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,KAAyC;IAEzC,MAAM,EAAE,sCAAsC,EAAE,uBAAuB,EAAE,GACvE,KAAK,CAAC;IACR,IAAI,iBAAiB,GAAsB,IAAI,CAAC;IAChD,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,OAAO,GAAuB,SAAS,CAAC;IAC5C,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,GACjD,MAAM,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,iBAAiB,GAAG,MAAM,kBAAkB,CAAC;YAC3C,OAAO;YACP,QAAQ;SACT,CAAC,CAAC;QACH,UAAU,GAAG,mBAAmB,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,iBAAiB,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC;QACzC,WAAW,EAAE;YACX,SAAS,EAAE,uBAAuB,CAChC,iBAAiB,CAAC,MAAqB,CACxC;YACD,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,WAAW;YAC7B,gBAAgB,EAAE;gBAChB;oBACE,EAAE,EAAE,EAAE;oBACN,IAAI,EAAE,YAAY;oBAClB,UAAU,EAAE,CAAC,KAAK,CAAC;iBACpB;aACF;SACF;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC;QAChD,QAAQ;QACR,iBAAiB,EAAE,uBAAuB,CACxC,iBAAiB,CAAC,MAAqB,CACxC;QACD,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,sCAAsC;KACvC,CAAC,CAAC;IAEH,IAAI,uBAAuB,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,GACrE,MAAM,mDAAmD,CAAC;YACxD,QAAQ;YACR,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QACL,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;YACvD,KAAK,EAAE,MAAM,YAAY,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACjE,mBAAmB,EAAE;gBACnB,kBAAkB,EAAE,CAAC;gBACrB,UAAU;gBACV,MAAM;gBACN,WAAW;gBACX,uBAAuB;aACxB;YACD,OAAO;SACR,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC;YACvC,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,CAAC,eAAe,EAAE,sBAAsB,CAAC;SACxD,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAuCD,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,KAEC;IAED,MAAM,EAAE,sCAAsC,EAAE,uBAAuB,EAAE,GACvE,KAAK,CAAC;IACR,IAAI,iBAAiB,GAAsB,IAAI,CAAC;IAChD,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,OAAO,GAAuB,SAAS,CAAC;IAC5C,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,GACjD,MAAM,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,iBAAiB,GAAG,MAAM,kBAAkB,CAAC;YAC3C,OAAO;YACP,QAAQ;SACT,CAAC,CAAC;QACH,UAAU,GAAG,mBAAmB,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,iBAAiB,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CACxC;QACE,SAAS,EAAE,uBAAuB,CAChC,iBAAiB,CAAC,MAAqB,CACxC;QACD,IAAI,EAAE,cAAc;QACpB,gBAAgB,EAAE,WAAW;QAC7B,MAAM,EAAE,sBAAsB;QAC9B,gBAAgB,EAAE;YAChB;gBACE,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,CAAC,KAAK,CAAC;aACpB;SACF;KACF,EACD,KAAK,CAAC,UAAU,CACjB,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC;QAChD,QAAQ;QACR,iBAAiB,EAAE,uBAAuB,CACxC,iBAAiB,CAAC,MAAqB,CACxC;QACD,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,sCAAsC;KACvC,CAAC,CAAC;IACH,IAAI,uBAAuB,EAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,GACrE,MAAM,mDAAmD,CAAC;YACxD,QAAQ;YACR,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QACL,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;YACvD,KAAK,EAAE,MAAM,YAAY,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACjE,mBAAmB,EAAE;gBACnB,kBAAkB,EAAE,CAAC;gBACrB,UAAU;gBACV,MAAM;gBACN,WAAW;gBACX,uBAAuB;aACxB;YACD,OAAO;SACR,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC;YACvC,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,CAAC,eAAe,EAAE,sBAAsB,CAAC;SACxD,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phygital-token-sdk",
3
- "version": "0.3.2",
3
+ "version": "0.4.1",
4
4
  "description": "TypeScript client for the Phygital Token Solana program (generated via Codama)",
5
5
  "license": "ISC",
6
6
  "type": "module",