phygital-token-sdk 0.7.2 → 0.9.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/dist/generated/types/secp256r1VerifyArgs.d.ts +2 -0
- package/dist/generated/types/secp256r1VerifyArgs.d.ts.map +1 -1
- package/dist/generated/types/secp256r1VerifyArgs.js +3 -1
- package/dist/generated/types/secp256r1VerifyArgs.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/instructions/internal/secp256r1Verify.d.ts +4 -4
- package/dist/instructions/internal/secp256r1Verify.d.ts.map +1 -1
- package/dist/instructions/internal/secp256r1Verify.js +4 -4
- package/dist/instructions/internal/secp256r1Verify.js.map +1 -1
- package/dist/instructions/transfer.d.ts +2 -2
- package/dist/instructions/transfer.d.ts.map +1 -1
- package/dist/instructions/transfer.js +2 -1
- package/dist/instructions/transfer.js.map +1 -1
- package/dist/instructions/verifyAsset.d.ts +3 -3
- package/dist/instructions/verifyAsset.d.ts.map +1 -1
- package/dist/instructions/verifyAsset.js +2 -1
- package/dist/instructions/verifyAsset.js.map +1 -1
- package/dist/utils/passkey/secp256r1.d.ts +7 -6
- package/dist/utils/passkey/secp256r1.d.ts.map +1 -1
- package/dist/utils/passkey/secp256r1.js +8 -7
- package/dist/utils/passkey/secp256r1.js.map +1 -1
- package/package.json +4 -2
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { type Codec, type Decoder, type Encoder, type ReadonlyUint8Array } from "@solana/kit";
|
|
2
2
|
export type Secp256r1VerifyArgs = {
|
|
3
|
+
verifyArgsRelativeIndex: bigint;
|
|
3
4
|
signedMessageIndex: number;
|
|
4
5
|
slotNumber: bigint;
|
|
5
6
|
clientDataJson: ReadonlyUint8Array;
|
|
6
7
|
};
|
|
7
8
|
export type Secp256r1VerifyArgsArgs = {
|
|
9
|
+
verifyArgsRelativeIndex: number | bigint;
|
|
8
10
|
signedMessageIndex: number;
|
|
9
11
|
slotNumber: number | bigint;
|
|
10
12
|
clientDataJson: ReadonlyUint8Array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secp256r1VerifyArgs.d.ts","sourceRoot":"","sources":["../../../src/generated/types/secp256r1VerifyArgs.ts"],"names":[],"mappings":"AAQA,OAAO,
|
|
1
|
+
{"version":3,"file":"secp256r1VerifyArgs.d.ts","sourceRoot":"","sources":["../../../src/generated/types/secp256r1VerifyArgs.ts"],"names":[],"mappings":"AAQA,OAAO,EAgBL,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,mBAAmB,GAAG;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,kBAAkB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,uBAAuB,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,cAAc,EAAE,kBAAkB,CAAC;CACpC,CAAC;AAEF,wBAAgB,6BAA6B,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAUhF;AAED,wBAAgB,6BAA6B,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAU5E;AAED,wBAAgB,2BAA2B,IAAI,KAAK,CAClD,uBAAuB,EACvB,mBAAmB,CACpB,CAKA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { addDecoderSizePrefix, addEncoderSizePrefix, combineCodec, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, } from "@solana/kit";
|
|
1
|
+
import { addDecoderSizePrefix, addEncoderSizePrefix, combineCodec, getBytesDecoder, getBytesEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, } from "@solana/kit";
|
|
2
2
|
export function getSecp256r1VerifyArgsEncoder() {
|
|
3
3
|
return getStructEncoder([
|
|
4
|
+
["verifyArgsRelativeIndex", getI64Encoder()],
|
|
4
5
|
["signedMessageIndex", getU8Encoder()],
|
|
5
6
|
["slotNumber", getU64Encoder()],
|
|
6
7
|
[
|
|
@@ -11,6 +12,7 @@ export function getSecp256r1VerifyArgsEncoder() {
|
|
|
11
12
|
}
|
|
12
13
|
export function getSecp256r1VerifyArgsDecoder() {
|
|
13
14
|
return getStructDecoder([
|
|
15
|
+
["verifyArgsRelativeIndex", getI64Decoder()],
|
|
14
16
|
["signedMessageIndex", getU8Decoder()],
|
|
15
17
|
["slotNumber", getU64Decoder()],
|
|
16
18
|
[
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secp256r1VerifyArgs.js","sourceRoot":"","sources":["../../../src/generated/types/secp256r1VerifyArgs.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,GAKb,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"secp256r1VerifyArgs.js","sourceRoot":"","sources":["../../../src/generated/types/secp256r1VerifyArgs.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,GAKb,MAAM,aAAa,CAAC;AAgBrB,MAAM,UAAU,6BAA6B;IAC3C,OAAO,gBAAgB,CAAC;QACtB,CAAC,yBAAyB,EAAE,aAAa,EAAE,CAAC;QAC5C,CAAC,oBAAoB,EAAE,YAAY,EAAE,CAAC;QACtC,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC;QAC/B;YACE,gBAAgB;YAChB,oBAAoB,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,CAAC;SACzD;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO,gBAAgB,CAAC;QACtB,CAAC,yBAAyB,EAAE,aAAa,EAAE,CAAC;QAC5C,CAAC,oBAAoB,EAAE,YAAY,EAAE,CAAC;QACtC,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC;QAC/B;YACE,gBAAgB;YAChB,oBAAoB,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,CAAC;SACzD;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,2BAA2B;IAIzC,OAAO,YAAY,CACjB,6BAA6B,EAAE,EAC/B,6BAA6B,EAAE,CAChC,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,4 +7,6 @@ export { verifyDynamicUrl, verifyDynamicUrlWithoutCounterCheck, startAuthenticat
|
|
|
7
7
|
export { findAssetPda } from "./utils/pdas/index.js";
|
|
8
8
|
export { evaluateAssetGating, evaluateGatingTiers, evaluateGatingFilter, assetMatchesPredicate, Gating, GatingTraitValue, formatGatingPredicate, summarizeGatingEvaluationFailure, summarizeGatingFailure, summarizeGatingTierFailure, type EvaluateAssetGatingOptions, type GatingAssetPredicate, type GatingEvaluationResult, type GatingFilter, type GatingFilterResult, type GatingTier, type GatingTierEvaluationResult, type GatingTiersEvaluationResult, } from "./utils/gating.js";
|
|
9
9
|
export * from "./generated/index.js";
|
|
10
|
+
export { getSecp256r1VerifyInstruction, type Secp256r1VerifyEntry, type Secp256r1VerifyInstruction, } from "./instructions/internal/secp256r1Verify.js";
|
|
11
|
+
export { buildSecp256r1VerifyInstructionFromWebAuthnResponse, buildVerifyAssetChallenge, buildTransferChallenge, buildVerifyInputFromWebAuthn, type WebAuthnSecp256r1Verification, } from "./utils/passkey/secp256r1.js";
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,8BAA8B,EAC9B,KAAK,eAAe,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,iCAAiC,EACjC,KAAK,kBAAkB,GACxB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,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,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gBAAgB,EAChB,mCAAmC,EACnC,wCAAwC,EACxC,2BAA2B,EAC3B,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,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,MAAM,EACN,gBAAgB,EAChB,qBAAqB,EACrB,gCAAgC,EAChC,sBAAsB,EACtB,0BAA0B,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,GACjC,MAAM,mBAAmB,CAAC;AAE3B,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,8BAA8B,EAC9B,KAAK,eAAe,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,iCAAiC,EACjC,KAAK,kBAAkB,GACxB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,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,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gBAAgB,EAChB,mCAAmC,EACnC,wCAAwC,EACxC,2BAA2B,EAC3B,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,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,MAAM,EACN,gBAAgB,EAChB,qBAAqB,EACrB,gCAAgC,EAChC,sBAAsB,EACtB,0BAA0B,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,GACjC,MAAM,mBAAmB,CAAC;AAE3B,cAAc,sBAAsB,CAAC;AAErC,OAAO,EACL,6BAA6B,EAC7B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,GAChC,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACL,mDAAmD,EACnD,yBAAyB,EACzB,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,6BAA6B,GACnC,MAAM,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,4 +7,6 @@ export { verifyDynamicUrl, verifyDynamicUrlWithoutCounterCheck, startAuthenticat
|
|
|
7
7
|
export { findAssetPda } from "./utils/pdas/index.js";
|
|
8
8
|
export { evaluateAssetGating, evaluateGatingTiers, evaluateGatingFilter, assetMatchesPredicate, Gating, GatingTraitValue, formatGatingPredicate, summarizeGatingEvaluationFailure, summarizeGatingFailure, summarizeGatingTierFailure, } from "./utils/gating.js";
|
|
9
9
|
export * from "./generated/index.js";
|
|
10
|
+
export { getSecp256r1VerifyInstruction, } from "./instructions/internal/secp256r1Verify.js";
|
|
11
|
+
export { buildSecp256r1VerifyInstructionFromWebAuthnResponse, buildVerifyAssetChallenge, buildTransferChallenge, buildVerifyInputFromWebAuthn, } from "./utils/passkey/secp256r1.js";
|
|
10
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,8BAA8B,GAE/B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,iCAAiC,GAElC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,YAAY,GAOb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gBAAgB,EAChB,mCAAmC,EACnC,wCAAwC,EACxC,2BAA2B,GAM5B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,MAAM,EACN,gBAAgB,EAChB,qBAAqB,EACrB,gCAAgC,EAChC,sBAAsB,EACtB,0BAA0B,GAS3B,MAAM,mBAAmB,CAAC;AAE3B,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,8BAA8B,GAE/B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,iCAAiC,GAElC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,GAEvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,YAAY,GAOb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,gBAAgB,EAChB,mCAAmC,EACnC,wCAAwC,EACxC,2BAA2B,GAM5B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,MAAM,EACN,gBAAgB,EAChB,qBAAqB,EACrB,gCAAgC,EAChC,sBAAsB,EACtB,0BAA0B,GAS3B,MAAM,mBAAmB,CAAC;AAE3B,cAAc,sBAAsB,CAAC;AAErC,OAAO,EACL,6BAA6B,GAG9B,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACL,mDAAmD,EACnD,yBAAyB,EACzB,sBAAsB,EACtB,4BAA4B,GAE7B,MAAM,8BAA8B,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type Address, type Codec, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyUint8Array } from "@solana/kit";
|
|
2
2
|
import { SECP256R1_PROGRAM_ADDRESS } from "../../utils/consts.js";
|
|
3
|
-
export type
|
|
3
|
+
export type Secp256r1VerifyEntry = {
|
|
4
4
|
publicKey: ReadonlyUint8Array;
|
|
5
5
|
signature: ReadonlyUint8Array;
|
|
6
6
|
message: ReadonlyUint8Array;
|
|
7
|
-
}
|
|
7
|
+
};
|
|
8
8
|
export type Secp256r1VerifyInstruction<TProgram extends string = typeof SECP256R1_PROGRAM_ADDRESS> = Instruction<TProgram> & InstructionWithData<Uint8Array<ArrayBuffer>> & InstructionWithAccounts<[]>;
|
|
9
9
|
export type Secp256r1SignatureOffsetsDataArgs = {
|
|
10
10
|
signatureOffset: number;
|
|
@@ -19,11 +19,11 @@ export type Secp256r1VerifyInstructionData = {
|
|
|
19
19
|
numSignatures: number;
|
|
20
20
|
padding: number;
|
|
21
21
|
offsets: Secp256r1SignatureOffsetsDataArgs[];
|
|
22
|
-
payload:
|
|
22
|
+
payload: Secp256r1VerifyEntry[];
|
|
23
23
|
};
|
|
24
24
|
export type Secp256r1VerifyInstructionDataArgs = Secp256r1VerifyInstructionData;
|
|
25
25
|
export declare function getSecp256r1VerifyInstructionDataCodec(): Codec<Secp256r1VerifyInstructionDataArgs, Secp256r1VerifyInstructionData>;
|
|
26
|
-
export declare function getSecp256r1VerifyInstruction<TProgramAddress extends Address = typeof SECP256R1_PROGRAM_ADDRESS>(
|
|
26
|
+
export declare function getSecp256r1VerifyInstruction<TProgramAddress extends Address = typeof SECP256R1_PROGRAM_ADDRESS>(entries: Secp256r1VerifyEntry[], config?: {
|
|
27
27
|
programAddress?: TProgramAddress;
|
|
28
28
|
}): Secp256r1VerifyInstruction<TProgramAddress>;
|
|
29
29
|
//# sourceMappingURL=secp256r1Verify.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secp256r1Verify.d.ts","sourceRoot":"","sources":["../../../src/instructions/internal/secp256r1Verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,KAAK,OAAO,EACZ,KAAK,KAAK,EAGV,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"secp256r1Verify.d.ts","sourceRoot":"","sources":["../../../src/instructions/internal/secp256r1Verify.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,KAAK,OAAO,EACZ,KAAK,KAAK,EAGV,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAQlE,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,kBAAkB,CAAC;IAC9B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,OAAO,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,0BAA0B,CACpC,QAAQ,SAAS,MAAM,GAAG,OAAO,yBAAyB,IACxD,WAAW,CAAC,QAAQ,CAAC,GACvB,mBAAmB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GAC5C,uBAAuB,CAAC,EAAE,CAAC,CAAC;AAE9B,MAAM,MAAM,iCAAiC,GAAG;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iCAAiC,EAAE,CAAC;IAC7C,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG,8BAA8B,CAAC;AA0HhF,wBAAgB,sCAAsC,IAAI,KAAK,CAC7D,kCAAkC,EAClC,8BAA8B,CAC/B,CAKA;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,SAAS,OAAO,GAAG,OAAO,yBAAyB,EAElE,OAAO,EAAE,oBAAoB,EAAE,EAC/B,MAAM,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,eAAe,CAAA;CAAE,GAC5C,0BAA0B,CAAC,eAAe,CAAC,CAyC7C"}
|
|
@@ -93,12 +93,12 @@ function getSecp256r1VerifyInstructionDataDecoder() {
|
|
|
93
93
|
export function getSecp256r1VerifyInstructionDataCodec() {
|
|
94
94
|
return combineCodec(getSecp256r1VerifyInstructionDataEncoder(), getSecp256r1VerifyInstructionDataDecoder());
|
|
95
95
|
}
|
|
96
|
-
export function getSecp256r1VerifyInstruction(
|
|
97
|
-
const numSignatures =
|
|
96
|
+
export function getSecp256r1VerifyInstruction(entries, config) {
|
|
97
|
+
const numSignatures = entries.length;
|
|
98
98
|
let currentOffset = SIGNATURE_OFFSETS_START + numSignatures * SIGNATURE_OFFSETS_SERIALIZED_SIZE;
|
|
99
99
|
const offsets = [];
|
|
100
100
|
for (let i = 0; i < numSignatures; i += 1) {
|
|
101
|
-
const { message } =
|
|
101
|
+
const { message } = entries[i];
|
|
102
102
|
const publicKeyOffset = currentOffset;
|
|
103
103
|
const signatureOffset = publicKeyOffset + COMPRESSED_PUBKEY_SERIALIZED_SIZE;
|
|
104
104
|
const messageDataOffset = signatureOffset + SIGNATURE_SERIALIZED_SIZE;
|
|
@@ -121,7 +121,7 @@ export function getSecp256r1VerifyInstruction(input, config) {
|
|
|
121
121
|
numSignatures,
|
|
122
122
|
padding: 0,
|
|
123
123
|
offsets,
|
|
124
|
-
payload:
|
|
124
|
+
payload: entries,
|
|
125
125
|
};
|
|
126
126
|
return {
|
|
127
127
|
accounts: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secp256r1Verify.js","sourceRoot":"","sources":["../../../src/instructions/internal/secp256r1Verify.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,GASb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAC7C,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAC7C,MAAM,uBAAuB,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"secp256r1Verify.js","sourceRoot":"","sources":["../../../src/instructions/internal/secp256r1Verify.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Instruction, type Rpc, type SolanaRpcApi, type TransactionSigner } from "@solana/kit";
|
|
2
2
|
import { type AuthenticationResponseJSON } from "@simplewebauthn/browser";
|
|
3
3
|
import { type AssetDisplayInfo } from "../utils/metadata.js";
|
|
4
|
-
import { type
|
|
4
|
+
import { type Secp256r1VerifyEntry } from "../utils/passkey/secp256r1.js";
|
|
5
5
|
export type TransferSession = {
|
|
6
6
|
rpc: Rpc<SolanaRpcApi>;
|
|
7
7
|
displayInfo: AssetDisplayInfo;
|
|
@@ -14,5 +14,5 @@ export declare function beginTransfer(input: {
|
|
|
14
14
|
displayInfo: AssetDisplayInfo;
|
|
15
15
|
}): Promise<TransferSession>;
|
|
16
16
|
export declare function authenticatePasskeyForTransfer(session: TransferSession): Promise<AuthenticationResponseJSON>;
|
|
17
|
-
export declare function completeTransfer(session: TransferSession, response: AuthenticationResponseJSON, recipient: TransactionSigner, existingSecp256r1VerifyInputs?:
|
|
17
|
+
export declare function completeTransfer(session: TransferSession, response: AuthenticationResponseJSON, recipient: TransactionSigner, existingSecp256r1VerifyInputs?: Secp256r1VerifyEntry[]): Promise<Instruction[]>;
|
|
18
18
|
//# sourceMappingURL=transfer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/instructions/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/instructions/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAOvC,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,QAAQ,EAAE,UAAU,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,UAAU,CAAC;CACvB,CAAC;AAOF,wBAAsB,aAAa,CAAC,KAAK,EAAE;IACzC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvB,WAAW,EAAE,gBAAgB,CAAC;CAC/B,GAAG,OAAO,CAAC,eAAe,CAAC,CAc3B;AAGD,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,0BAA0B,CAAC,CAiBrC;AAGD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,0BAA0B,EACpC,SAAS,EAAE,iBAAiB,EAC5B,6BAA6B,CAAC,EAAE,oBAAoB,EAAE,GACrD,OAAO,CAAC,WAAW,EAAE,CAAC,CAsCxB"}
|
|
@@ -4,7 +4,7 @@ import { TOKEN_2022_PROGRAM_ADDRESS } from "../utils/consts.js";
|
|
|
4
4
|
import {} from "../utils/metadata.js";
|
|
5
5
|
import { buildSecp256r1VerifyInstructionFromWebAuthnResponse, buildTransferChallenge, } from "../utils/passkey/secp256r1.js";
|
|
6
6
|
import { getLatestSlotHash } from "../utils/slotHash.js";
|
|
7
|
-
import { getExecuteTransferInstructionAsync } from "../generated/index.js";
|
|
7
|
+
import { getExecuteTransferInstructionAsync, } from "../generated/index.js";
|
|
8
8
|
import { findAssociatedTokenAddress } from "../utils/associatedToken.js";
|
|
9
9
|
export async function beginTransfer(input) {
|
|
10
10
|
const { slotHash, slotNumber } = await getLatestSlotHash(input.rpc);
|
|
@@ -54,6 +54,7 @@ export async function completeTransfer(session, response, recipient, existingSec
|
|
|
54
54
|
recipientTokenAccount,
|
|
55
55
|
tokenProgram,
|
|
56
56
|
secp256r1VerifyArgs: {
|
|
57
|
+
verifyArgsRelativeIndex: -1,
|
|
57
58
|
signedMessageIndex,
|
|
58
59
|
slotNumber: session.slotNumber,
|
|
59
60
|
clientDataJson,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../src/instructions/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GAEpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAyB,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACL,mDAAmD,EACnD,sBAAsB,GAEvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../src/instructions/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GAEpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAyB,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACL,mDAAmD,EACnD,sBAAsB,GAEvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAezE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAGnC;IACC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;QAC7C,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK;QAC9B,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ;QACR,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAwB;IAExB,OAAO,mBAAmB,CAAC;QACzB,WAAW,EAAE;YACX,SAAS,EAAE,uBAAuB,CAChC,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAqB,CACxD;YACD,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,WAAW;YAC7B,gBAAgB,EAAE;gBAChB;oBACE,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,YAAY;oBACpC,IAAI,EAAE,YAAY;oBAClB,UAAU,EAAE,CAAC,KAAK,CAAC;iBACpB;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAwB,EACxB,QAAoC,EACpC,SAA4B,EAC5B,6BAAsD;IAEtD,MAAM,YAAY,GAAG,0BAA0B,CAAC;IAEhD,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAC3D,MAAM,mDAAmD,CAAC;QACxD,QAAQ;QACR,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,SAAS;QACxC,6BAA6B;KAC9B,CAAC,CAAC;IAEL,MAAM,qBAAqB,GAAG,MAAM,0BAA0B,CAC5D,SAAS,CAAC,OAAO,EACjB,OAAO,CAAC,WAAW,CAAC,IAAI,EACxB,YAAY,CACb,CAAC;IACF,MAAM,kBAAkB,GAAG,MAAM,0BAA0B,CACzD,OAAO,CAAC,WAAW,CAAC,YAAY,EAChC,OAAO,CAAC,WAAW,CAAC,IAAI,EACxB,YAAY,CACb,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,kCAAkC,CAAC;QAC/D,SAAS;QACT,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,YAAY;QACxC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK;QAChC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,IAAI;QAC9B,kBAAkB;QAClB,qBAAqB;QACrB,YAAY;QACZ,mBAAmB,EAAE;YACnB,uBAAuB,EAAE,CAAC,CAAC;YAC3B,kBAAkB;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,cAAc;SACf;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type AuthenticationResponseJSON } from "@simplewebauthn/browser";
|
|
2
2
|
import type { Address, Instruction, Rpc, SolanaRpcApi } from "@solana/kit";
|
|
3
|
-
import { type
|
|
3
|
+
import { type Secp256r1VerifyEntry } from "../utils/passkey/secp256r1.js";
|
|
4
4
|
import { type Asset } from "../generated/index.js";
|
|
5
5
|
export type VerifyAssetSession = {
|
|
6
6
|
rpc: Rpc<SolanaRpcApi>;
|
|
@@ -14,12 +14,12 @@ export declare function beginVerifyAsset(input: {
|
|
|
14
14
|
message: Uint8Array;
|
|
15
15
|
}): Promise<VerifyAssetSession>;
|
|
16
16
|
export declare function authenticatePasskeyForVerifyAsset(session: VerifyAssetSession): Promise<AuthenticationResponseJSON>;
|
|
17
|
-
export declare function buildVerifyAssetArgs(session: VerifyAssetSession, response: AuthenticationResponseJSON, existingSecp256r1VerifyInputs?:
|
|
17
|
+
export declare function buildVerifyAssetArgs(session: VerifyAssetSession, response: AuthenticationResponseJSON, existingSecp256r1VerifyInputs?: Secp256r1VerifyEntry[]): Promise<{
|
|
18
18
|
asset: Asset;
|
|
19
19
|
assetPda: Address;
|
|
20
20
|
secp256r1Verify: Instruction;
|
|
21
21
|
signedMessageIndex: number;
|
|
22
22
|
clientDataJson: Uint8Array;
|
|
23
23
|
}>;
|
|
24
|
-
export declare function completeVerifyAsset(session: VerifyAssetSession, response: AuthenticationResponseJSON, existingSecp256r1VerifyInputs?:
|
|
24
|
+
export declare function completeVerifyAsset(session: VerifyAssetSession, response: AuthenticationResponseJSON, existingSecp256r1VerifyInputs?: Secp256r1VerifyEntry[]): Promise<Instruction[]>;
|
|
25
25
|
//# sourceMappingURL=verifyAsset.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyAsset.d.ts","sourceRoot":"","sources":["../../src/instructions/verifyAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,0BAA0B,EAGhC,MAAM,yBAAyB,CAAC;AACjC,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,
|
|
1
|
+
{"version":3,"file":"verifyAsset.d.ts","sourceRoot":"","sources":["../../src/instructions/verifyAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,0BAA0B,EAGhC,MAAM,yBAAyB,CAAC;AACjC,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,EAEL,KAAK,KAAK,EACX,MAAM,uBAAuB,CAAC;AAK/B,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;CACrB,CAAC;AAMF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvB,OAAO,EAAE,UAAU,CAAC;CACrB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAc9B;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,0BAA0B,CAAC,CAiBrC;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,CAkBD;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,0BAA0B,EACpC,6BAA6B,CAAC,EAAE,oBAAoB,EAAE,GACrD,OAAO,CAAC,WAAW,EAAE,CAAC,CAoBxB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { startAuthentication, bufferToBase64URLString, } from "@simplewebauthn/browser";
|
|
2
2
|
import { buildSecp256r1VerifyInstructionFromWebAuthnResponse, buildVerifyAssetChallenge, } from "../utils/passkey/secp256r1.js";
|
|
3
3
|
import { getLatestSlotHash } from "../utils/slotHash.js";
|
|
4
|
-
import { getVerifyAssetInstruction } from "../generated/index.js";
|
|
4
|
+
import { getVerifyAssetInstruction, } from "../generated/index.js";
|
|
5
5
|
import { findAssetPda } from "../utils/pdas/index.js";
|
|
6
6
|
import { parseSecp256r1Pubkey } from "./mint.js";
|
|
7
7
|
import { fetchAssetFromCredentialId } from "../utils/assetCredential.js";
|
|
@@ -55,6 +55,7 @@ export async function completeVerifyAsset(session, response, existingSecp256r1Ve
|
|
|
55
55
|
const verifyAssetInstruction = getVerifyAssetInstruction({
|
|
56
56
|
asset: assetPda,
|
|
57
57
|
secp256r1VerifyArgs: {
|
|
58
|
+
verifyArgsRelativeIndex: -1,
|
|
58
59
|
signedMessageIndex,
|
|
59
60
|
slotNumber: session.slotNumber,
|
|
60
61
|
clientDataJson,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyAsset.js","sourceRoot":"","sources":["../../src/instructions/verifyAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mDAAmD,EACnD,yBAAyB,GAE1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"verifyAsset.js","sourceRoot":"","sources":["../../src/instructions/verifyAsset.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mDAAmD,EACnD,yBAAyB,GAE1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,yBAAyB,GAE1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAczE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAGtC;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;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,OAA2B;IAE3B,OAAO,mBAAmB,CAAC;QACzB,WAAW,EAAE;YACX,SAAS,EAAE,uBAAuB,CAChC,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAqB,CACxD;YACD,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,WAAW;YAC7B,gBAAgB,EAAE;gBAChB;oBACE,EAAE,EAAE,uBAAuB,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,MAAqB,CAAC;oBAC7F,IAAI,EAAE,YAAY;oBAClB,UAAU,EAAE,CAAC,KAAK,CAAC;iBACpB;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA2B,EAC3B,QAAoC,EACpC,6BAAsD;IAQtD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,0BAA0B,CAC3D,QAAQ,CAAC,EAAE,EACX,OAAO,CAAC,GAAG,CACZ,CAAC;IACF,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAC3D,MAAM,mDAAmD,CAAC;QACxD,SAAS;QACT,QAAQ;QACR,6BAA6B;KAC9B,CAAC,CAAC;IACL,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,MAAM,YAAY,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC7D,eAAe;QACf,kBAAkB;QAClB,cAAc;KACf,CAAC;AACJ,CAAC;AAED,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,11 +1,12 @@
|
|
|
1
1
|
import type { AuthenticationResponseJSON } from "@simplewebauthn/browser";
|
|
2
2
|
import { type Address, type Instruction } from "@solana/kit";
|
|
3
|
+
import { type Secp256r1VerifyEntry } from "../../instructions/internal/secp256r1Verify.js";
|
|
3
4
|
import { SECP256R1_PROGRAM_ADDRESS } from "../consts.js";
|
|
4
|
-
export type
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
};
|
|
5
|
+
export type { Secp256r1VerifyEntry };
|
|
6
|
+
export declare function buildVerifyInputFromWebAuthn(input: {
|
|
7
|
+
publicKey: string;
|
|
8
|
+
response: AuthenticationResponseJSON;
|
|
9
|
+
}): Secp256r1VerifyEntry;
|
|
9
10
|
export declare function buildTransferChallenge(input: {
|
|
10
11
|
asset: Address;
|
|
11
12
|
slotHash: Uint8Array;
|
|
@@ -22,6 +23,6 @@ export type WebAuthnSecp256r1Verification = {
|
|
|
22
23
|
export declare function buildSecp256r1VerifyInstructionFromWebAuthnResponse(input: {
|
|
23
24
|
publicKey: string;
|
|
24
25
|
response: AuthenticationResponseJSON;
|
|
25
|
-
existingSecp256r1VerifyInputs?:
|
|
26
|
+
existingSecp256r1VerifyInputs?: Secp256r1VerifyEntry[];
|
|
26
27
|
}): Promise<WebAuthnSecp256r1Verification>;
|
|
27
28
|
//# sourceMappingURL=secp256r1.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secp256r1.d.ts","sourceRoot":"","sources":["../../../src/utils/passkey/secp256r1.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAqB,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"secp256r1.d.ts","sourceRoot":"","sources":["../../../src/utils/passkey/secp256r1.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAqB,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,yBAAyB,EAG1B,MAAM,cAAc,CAAC;AAStB,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAiBrC,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,0BAA0B,CAAC;CACtC,GAAG,oBAAoB,CAWvB;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,UAAU,CAAC;CACtB,GAAG,OAAO,CAAC,UAAU,CAAC,CAUtB;AAED,wBAAsB,yBAAyB,CAAC,KAAK,EAAE;IACrD,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC;CACtB,GAAG,OAAO,CAAC,UAAU,CAAC,CAUtB;AAED,MAAM,MAAM,6BAA6B,GAAG;IAC1C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAC;IAC/D,cAAc,EAAE,UAAU,CAAC;CAC5B,CAAC;AAEF,wBAAsB,mDAAmD,CAAC,KAAK,EAAE;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,0BAA0B,CAAC;IACrC,6BAA6B,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACxD,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAazC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getAddressEncoder } from "@solana/kit";
|
|
2
|
-
import { getSecp256r1VerifyInstruction } from "../../instructions/internal/secp256r1Verify.js";
|
|
2
|
+
import { getSecp256r1VerifyInstruction, } from "../../instructions/internal/secp256r1Verify.js";
|
|
3
3
|
import { SECP256R1_PROGRAM_ADDRESS, TRANSFER_ACTION_BYTES, VERIFY_ASSET_ACTION_BYTES, } from "../consts.js";
|
|
4
4
|
import { base64URLStringToBuffer, convertSignatureDERtoRS, getClientDataJsonBytes, getSecp256r1Message, } from "./internal.js";
|
|
5
5
|
import { sha256 } from "@noble/hashes/sha2.js";
|
|
@@ -16,7 +16,7 @@ function concatBytes(...parts) {
|
|
|
16
16
|
function encodeAddress(addressValue) {
|
|
17
17
|
return new Uint8Array(getAddressEncoder().encode(addressValue));
|
|
18
18
|
}
|
|
19
|
-
function
|
|
19
|
+
export function buildVerifyInputFromWebAuthn(input) {
|
|
20
20
|
const signature = convertSignatureDERtoRS(base64URLStringToBuffer(input.response.response.signature));
|
|
21
21
|
const message = getSecp256r1Message(input.response);
|
|
22
22
|
return {
|
|
@@ -34,15 +34,16 @@ export async function buildVerifyAssetChallenge(input) {
|
|
|
34
34
|
return sha256(concatBytes(VERIFY_ASSET_ACTION_BYTES, messageHash, new Uint8Array(input.slotHash)));
|
|
35
35
|
}
|
|
36
36
|
export async function buildSecp256r1VerifyInstructionFromWebAuthnResponse(input) {
|
|
37
|
-
const
|
|
37
|
+
const existing = input.existingSecp256r1VerifyInputs;
|
|
38
|
+
const parsed = buildVerifyInputFromWebAuthn(input);
|
|
38
39
|
let signedMessageIndex = 0;
|
|
39
|
-
if (
|
|
40
|
-
signedMessageIndex =
|
|
41
|
-
|
|
40
|
+
if (existing?.length) {
|
|
41
|
+
signedMessageIndex = existing.length;
|
|
42
|
+
existing.push(parsed);
|
|
42
43
|
}
|
|
43
44
|
return {
|
|
44
45
|
signedMessageIndex,
|
|
45
|
-
secp256r1Verify: getSecp256r1VerifyInstruction(
|
|
46
|
+
secp256r1Verify: getSecp256r1VerifyInstruction(existing ?? [parsed]),
|
|
46
47
|
clientDataJson: getClientDataJsonBytes(input.response),
|
|
47
48
|
};
|
|
48
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secp256r1.js","sourceRoot":"","sources":["../../../src/utils/passkey/secp256r1.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAkC,MAAM,aAAa,CAAC;AAChF,OAAO,
|
|
1
|
+
{"version":3,"file":"secp256r1.js","sourceRoot":"","sources":["../../../src/utils/passkey/secp256r1.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAkC,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,6BAA6B,GAE9B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAI/C,SAAS,WAAW,CAAC,GAAG,KAAmB;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtB,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,YAAqB;IAC1C,OAAO,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAG5C;IACC,MAAM,SAAS,GAAG,uBAAuB,CACvC,uBAAuB,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC3D,CAAC;IACF,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEpD,OAAO;QACL,SAAS,EAAE,uBAAuB,CAAC,KAAK,CAAC,SAAS,CAAC;QACnD,SAAS;QACT,OAAO;KACR,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,KAG5C;IACC,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAEvD,OAAO,MAAM,CACX,WAAW,CACT,qBAAqB,EACrB,WAAW,EACX,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC/B,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,KAG/C;IACC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE1C,OAAO,MAAM,CACX,WAAW,CACT,yBAAyB,EACzB,WAAW,EACX,IAAI,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAC/B,CACF,CAAC;AACJ,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,mDAAmD,CAAC,KAIzE;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,6BAA6B,CAAC;IACrD,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;QACrB,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IACD,OAAO;QACL,kBAAkB;QAClB,eAAe,EAAE,6BAA6B,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,CAAC;QACpE,cAAc,EAAE,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC;KACvD,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "phygital-token-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "TypeScript client for the Phygital Token Solana program (generated via Codama)",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"type": "module",
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"exports": {
|
|
11
11
|
".": {
|
|
12
12
|
"types": "./dist/index.d.ts",
|
|
13
|
-
"import": "./dist/index.js"
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"require": "./dist/index.js",
|
|
15
|
+
"default": "./dist/index.js"
|
|
14
16
|
}
|
|
15
17
|
},
|
|
16
18
|
"files": [
|