phygital-token-sdk 0.14.0 → 0.15.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/instructions/executeTransfer.d.ts +4 -12
- package/dist/generated/instructions/executeTransfer.d.ts.map +1 -1
- package/dist/generated/instructions/executeTransfer.js +4 -15
- package/dist/generated/instructions/executeTransfer.js.map +1 -1
- package/dist/generated/instructions/index.d.ts +1 -0
- package/dist/generated/instructions/index.d.ts.map +1 -1
- package/dist/generated/instructions/index.js +1 -0
- package/dist/generated/instructions/index.js.map +1 -1
- package/dist/generated/instructions/verifyAsset.d.ts +44 -0
- package/dist/generated/instructions/verifyAsset.d.ts.map +1 -0
- package/dist/generated/instructions/verifyAsset.js +82 -0
- package/dist/generated/instructions/verifyAsset.js.map +1 -0
- package/dist/generated/programs/phygitalToken.d.ts +7 -3
- package/dist/generated/programs/phygitalToken.d.ts.map +1 -1
- package/dist/generated/programs/phygitalToken.js +13 -1
- package/dist/generated/programs/phygitalToken.js.map +1 -1
- package/dist/generated/types/index.d.ts +1 -0
- package/dist/generated/types/index.d.ts.map +1 -1
- package/dist/generated/types/index.js +1 -0
- package/dist/generated/types/index.js.map +1 -1
- package/dist/generated/types/secp256r1VerifyArgs.d.ts +17 -0
- package/dist/generated/types/secp256r1VerifyArgs.d.ts.map +1 -0
- package/dist/generated/types/secp256r1VerifyArgs.js +27 -0
- package/dist/generated/types/secp256r1VerifyArgs.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/instructions/transfer.d.ts.map +1 -1
- package/dist/instructions/transfer.js +6 -4
- package/dist/instructions/transfer.js.map +1 -1
- package/dist/instructions/verifyAsset.d.ts +27 -0
- package/dist/instructions/verifyAsset.d.ts.map +1 -0
- package/dist/instructions/verifyAsset.js +53 -0
- package/dist/instructions/verifyAsset.js.map +1 -0
- package/dist/utils/consts.d.ts +1 -0
- package/dist/utils/consts.d.ts.map +1 -1
- package/dist/utils/consts.js +1 -0
- package/dist/utils/consts.js.map +1 -1
- package/dist/utils/passkey/secp256r1.d.ts +4 -0
- package/dist/utils/passkey/secp256r1.d.ts.map +1 -1
- package/dist/utils/passkey/secp256r1.js +5 -1
- package/dist/utils/passkey/secp256r1.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
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";
|
|
2
2
|
import { PHYGITAL_TOKEN_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
3
|
+
import { type Secp256r1VerifyArgs, type Secp256r1VerifyArgsArgs } from "../types/index.js";
|
|
3
4
|
export declare const EXECUTE_TRANSFER_DISCRIMINATOR: ReadonlyUint8Array;
|
|
4
5
|
export declare function getExecuteTransferDiscriminatorBytes(): ReadonlyUint8Array;
|
|
5
6
|
export type ExecuteTransferInstruction<TProgram extends string = typeof PHYGITAL_TOKEN_PROGRAM_ADDRESS, TAccountRecipient extends string | AccountMeta<string> = string, TAccountAsset extends string | AccountMeta<string> = string, TAccountSlotHashes extends string | AccountMeta<string> = "SysvarS1otHashes111111111111111111111111111", TAccountInstructionsSysvar extends string | AccountMeta<string> = "Sysvar1nstructions1111111111111111111111111", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
|
|
@@ -11,16 +12,10 @@ export type ExecuteTransferInstruction<TProgram extends string = typeof PHYGITAL
|
|
|
11
12
|
]>;
|
|
12
13
|
export type ExecuteTransferInstructionData = {
|
|
13
14
|
discriminator: ReadonlyUint8Array;
|
|
14
|
-
|
|
15
|
-
signedMessageIndex: number;
|
|
16
|
-
slotNumber: bigint;
|
|
17
|
-
clientDataJson: ReadonlyUint8Array;
|
|
15
|
+
secp256r1VerifyArgs: Secp256r1VerifyArgs;
|
|
18
16
|
};
|
|
19
17
|
export type ExecuteTransferInstructionDataArgs = {
|
|
20
|
-
|
|
21
|
-
signedMessageIndex: number;
|
|
22
|
-
slotNumber: number | bigint;
|
|
23
|
-
clientDataJson: ReadonlyUint8Array;
|
|
18
|
+
secp256r1VerifyArgs: Secp256r1VerifyArgsArgs;
|
|
24
19
|
};
|
|
25
20
|
export declare function getExecuteTransferInstructionDataEncoder(): Encoder<ExecuteTransferInstructionDataArgs>;
|
|
26
21
|
export declare function getExecuteTransferInstructionDataDecoder(): Decoder<ExecuteTransferInstructionData>;
|
|
@@ -30,10 +25,7 @@ export type ExecuteTransferInput<TAccountRecipient extends string = string, TAcc
|
|
|
30
25
|
asset: Address<TAccountAsset>;
|
|
31
26
|
slotHashes?: Address<TAccountSlotHashes>;
|
|
32
27
|
instructionsSysvar?: Address<TAccountInstructionsSysvar>;
|
|
33
|
-
|
|
34
|
-
signedMessageIndex: ExecuteTransferInstructionDataArgs["signedMessageIndex"];
|
|
35
|
-
slotNumber: ExecuteTransferInstructionDataArgs["slotNumber"];
|
|
36
|
-
clientDataJson: ExecuteTransferInstructionDataArgs["clientDataJson"];
|
|
28
|
+
secp256r1VerifyArgs: ExecuteTransferInstructionDataArgs["secp256r1VerifyArgs"];
|
|
37
29
|
};
|
|
38
30
|
export declare function getExecuteTransferInstruction<TAccountRecipient extends string, TAccountAsset extends string, TAccountSlotHashes extends string, TAccountInstructionsSysvar extends string, TProgramAddress extends Address = typeof PHYGITAL_TOKEN_PROGRAM_ADDRESS>(input: ExecuteTransferInput<TAccountRecipient, TAccountAsset, TAccountSlotHashes, TAccountInstructionsSysvar>, config?: {
|
|
39
31
|
programAddress?: TProgramAddress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeTransfer.d.ts","sourceRoot":"","sources":["../../../src/generated/instructions/executeTransfer.ts"],"names":[],"mappings":"AAQA,OAAO,
|
|
1
|
+
{"version":3,"file":"executeTransfer.d.ts","sourceRoot":"","sources":["../../../src/generated/instructions/executeTransfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, 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
|
+
import { getSecp256r1VerifyArgsDecoder, getSecp256r1VerifyArgsEncoder, } from "../types/index.js";
|
|
4
5
|
export const EXECUTE_TRANSFER_DISCRIMINATOR = new Uint8Array([233, 126, 160, 184, 235, 206, 31, 119]);
|
|
5
6
|
export function getExecuteTransferDiscriminatorBytes() {
|
|
6
7
|
return fixEncoderSize(getBytesEncoder(), 8).encode(EXECUTE_TRANSFER_DISCRIMINATOR);
|
|
@@ -8,25 +9,13 @@ export function getExecuteTransferDiscriminatorBytes() {
|
|
|
8
9
|
export function getExecuteTransferInstructionDataEncoder() {
|
|
9
10
|
return transformEncoder(getStructEncoder([
|
|
10
11
|
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
11
|
-
["
|
|
12
|
-
["signedMessageIndex", getU8Encoder()],
|
|
13
|
-
["slotNumber", getU64Encoder()],
|
|
14
|
-
[
|
|
15
|
-
"clientDataJson",
|
|
16
|
-
addEncoderSizePrefix(getBytesEncoder(), getU32Encoder()),
|
|
17
|
-
],
|
|
12
|
+
["secp256r1VerifyArgs", getSecp256r1VerifyArgsEncoder()],
|
|
18
13
|
]), (value) => ({ ...value, discriminator: EXECUTE_TRANSFER_DISCRIMINATOR }));
|
|
19
14
|
}
|
|
20
15
|
export function getExecuteTransferInstructionDataDecoder() {
|
|
21
16
|
return getStructDecoder([
|
|
22
17
|
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
23
|
-
["
|
|
24
|
-
["signedMessageIndex", getU8Decoder()],
|
|
25
|
-
["slotNumber", getU64Decoder()],
|
|
26
|
-
[
|
|
27
|
-
"clientDataJson",
|
|
28
|
-
addDecoderSizePrefix(getBytesDecoder(), getU32Decoder()),
|
|
29
|
-
],
|
|
18
|
+
["secp256r1VerifyArgs", getSecp256r1VerifyArgsDecoder()],
|
|
30
19
|
]);
|
|
31
20
|
}
|
|
32
21
|
export function getExecuteTransferInstructionDataCodec() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeTransfer.js","sourceRoot":"","sources":["../../../src/generated/instructions/executeTransfer.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"executeTransfer.js","sourceRoot":"","sources":["../../../src/generated/instructions/executeTransfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generated/instructions/index.ts"],"names":[],"mappings":"AAQA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generated/instructions/index.ts"],"names":[],"mappings":"AAQA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generated/instructions/index.ts"],"names":[],"mappings":"AAQA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generated/instructions/index.ts"],"names":[],"mappings":"AAQA,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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";
|
|
2
|
+
import { PHYGITAL_TOKEN_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
3
|
+
import { type Secp256r1VerifyArgs, type Secp256r1VerifyArgsArgs } from "../types/index.js";
|
|
4
|
+
export declare const VERIFY_ASSET_DISCRIMINATOR: ReadonlyUint8Array;
|
|
5
|
+
export declare function getVerifyAssetDiscriminatorBytes(): ReadonlyUint8Array;
|
|
6
|
+
export type VerifyAssetInstruction<TProgram extends string = typeof PHYGITAL_TOKEN_PROGRAM_ADDRESS, TAccountAsset extends string | AccountMeta<string> = string, TAccountSlotHashes extends string | AccountMeta<string> = "SysvarS1otHashes111111111111111111111111111", TAccountInstructionsSysvar extends string | AccountMeta<string> = "Sysvar1nstructions1111111111111111111111111", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[
|
|
7
|
+
TAccountAsset extends string ? WritableAccount<TAccountAsset> : TAccountAsset,
|
|
8
|
+
TAccountSlotHashes extends string ? ReadonlyAccount<TAccountSlotHashes> : TAccountSlotHashes,
|
|
9
|
+
TAccountInstructionsSysvar extends string ? ReadonlyAccount<TAccountInstructionsSysvar> : TAccountInstructionsSysvar,
|
|
10
|
+
...TRemainingAccounts
|
|
11
|
+
]>;
|
|
12
|
+
export type VerifyAssetInstructionData = {
|
|
13
|
+
discriminator: ReadonlyUint8Array;
|
|
14
|
+
secp256r1VerifyArgs: Secp256r1VerifyArgs;
|
|
15
|
+
message: ReadonlyUint8Array;
|
|
16
|
+
};
|
|
17
|
+
export type VerifyAssetInstructionDataArgs = {
|
|
18
|
+
secp256r1VerifyArgs: Secp256r1VerifyArgsArgs;
|
|
19
|
+
message: ReadonlyUint8Array;
|
|
20
|
+
};
|
|
21
|
+
export declare function getVerifyAssetInstructionDataEncoder(): Encoder<VerifyAssetInstructionDataArgs>;
|
|
22
|
+
export declare function getVerifyAssetInstructionDataDecoder(): Decoder<VerifyAssetInstructionData>;
|
|
23
|
+
export declare function getVerifyAssetInstructionDataCodec(): Codec<VerifyAssetInstructionDataArgs, VerifyAssetInstructionData>;
|
|
24
|
+
export type VerifyAssetInput<TAccountAsset extends string = string, TAccountSlotHashes extends string = string, TAccountInstructionsSysvar extends string = string> = {
|
|
25
|
+
asset: Address<TAccountAsset>;
|
|
26
|
+
slotHashes?: Address<TAccountSlotHashes>;
|
|
27
|
+
instructionsSysvar?: Address<TAccountInstructionsSysvar>;
|
|
28
|
+
secp256r1VerifyArgs: VerifyAssetInstructionDataArgs["secp256r1VerifyArgs"];
|
|
29
|
+
message: VerifyAssetInstructionDataArgs["message"];
|
|
30
|
+
};
|
|
31
|
+
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
|
+
programAddress?: TProgramAddress;
|
|
33
|
+
}): VerifyAssetInstruction<TProgramAddress, TAccountAsset, TAccountSlotHashes, TAccountInstructionsSysvar>;
|
|
34
|
+
export type ParsedVerifyAssetInstruction<TProgram extends string = typeof PHYGITAL_TOKEN_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
|
|
35
|
+
programAddress: Address<TProgram>;
|
|
36
|
+
accounts: {
|
|
37
|
+
asset: TAccountMetas[0];
|
|
38
|
+
slotHashes: TAccountMetas[1];
|
|
39
|
+
instructionsSysvar: TAccountMetas[2];
|
|
40
|
+
};
|
|
41
|
+
data: VerifyAssetInstructionData;
|
|
42
|
+
};
|
|
43
|
+
export declare function parseVerifyAssetInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedVerifyAssetInstruction<TProgram, TAccountMetas>;
|
|
44
|
+
//# sourceMappingURL=verifyAsset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyAsset.d.ts","sourceRoot":"","sources":["../../../src/generated/instructions/verifyAsset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
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";
|
|
2
|
+
import { getAccountMetaFactory, } from "@solana/kit/program-client-core";
|
|
3
|
+
import { PHYGITAL_TOKEN_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
4
|
+
import { getSecp256r1VerifyArgsDecoder, getSecp256r1VerifyArgsEncoder, } from "../types/index.js";
|
|
5
|
+
export const VERIFY_ASSET_DISCRIMINATOR = new Uint8Array([
|
|
6
|
+
136, 51, 110, 228, 129, 94, 141, 179,
|
|
7
|
+
]);
|
|
8
|
+
export function getVerifyAssetDiscriminatorBytes() {
|
|
9
|
+
return fixEncoderSize(getBytesEncoder(), 8).encode(VERIFY_ASSET_DISCRIMINATOR);
|
|
10
|
+
}
|
|
11
|
+
export function getVerifyAssetInstructionDataEncoder() {
|
|
12
|
+
return transformEncoder(getStructEncoder([
|
|
13
|
+
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
14
|
+
["secp256r1VerifyArgs", getSecp256r1VerifyArgsEncoder()],
|
|
15
|
+
["message", addEncoderSizePrefix(getBytesEncoder(), getU32Encoder())],
|
|
16
|
+
]), (value) => ({ ...value, discriminator: VERIFY_ASSET_DISCRIMINATOR }));
|
|
17
|
+
}
|
|
18
|
+
export function getVerifyAssetInstructionDataDecoder() {
|
|
19
|
+
return getStructDecoder([
|
|
20
|
+
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
21
|
+
["secp256r1VerifyArgs", getSecp256r1VerifyArgsDecoder()],
|
|
22
|
+
["message", addDecoderSizePrefix(getBytesDecoder(), getU32Decoder())],
|
|
23
|
+
]);
|
|
24
|
+
}
|
|
25
|
+
export function getVerifyAssetInstructionDataCodec() {
|
|
26
|
+
return combineCodec(getVerifyAssetInstructionDataEncoder(), getVerifyAssetInstructionDataDecoder());
|
|
27
|
+
}
|
|
28
|
+
export function getVerifyAssetInstruction(input, config) {
|
|
29
|
+
const programAddress = config?.programAddress ?? PHYGITAL_TOKEN_PROGRAM_ADDRESS;
|
|
30
|
+
const originalAccounts = {
|
|
31
|
+
asset: { value: input.asset ?? null, isWritable: true },
|
|
32
|
+
slotHashes: { value: input.slotHashes ?? null, isWritable: false },
|
|
33
|
+
instructionsSysvar: {
|
|
34
|
+
value: input.instructionsSysvar ?? null,
|
|
35
|
+
isWritable: false,
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
const accounts = originalAccounts;
|
|
39
|
+
const args = { ...input };
|
|
40
|
+
if (!accounts.slotHashes.value) {
|
|
41
|
+
accounts.slotHashes.value =
|
|
42
|
+
"SysvarS1otHashes111111111111111111111111111";
|
|
43
|
+
}
|
|
44
|
+
if (!accounts.instructionsSysvar.value) {
|
|
45
|
+
accounts.instructionsSysvar.value =
|
|
46
|
+
"Sysvar1nstructions1111111111111111111111111";
|
|
47
|
+
}
|
|
48
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
49
|
+
return Object.freeze({
|
|
50
|
+
accounts: [
|
|
51
|
+
getAccountMeta("asset", accounts.asset),
|
|
52
|
+
getAccountMeta("slotHashes", accounts.slotHashes),
|
|
53
|
+
getAccountMeta("instructionsSysvar", accounts.instructionsSysvar),
|
|
54
|
+
],
|
|
55
|
+
data: getVerifyAssetInstructionDataEncoder().encode(args),
|
|
56
|
+
programAddress,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
export function parseVerifyAssetInstruction(instruction) {
|
|
60
|
+
if (instruction.accounts.length < 3) {
|
|
61
|
+
throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, {
|
|
62
|
+
actualAccountMetas: instruction.accounts.length,
|
|
63
|
+
expectedAccountMetas: 3,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
let accountIndex = 0;
|
|
67
|
+
const getNextAccount = () => {
|
|
68
|
+
const accountMeta = instruction.accounts[accountIndex];
|
|
69
|
+
accountIndex += 1;
|
|
70
|
+
return accountMeta;
|
|
71
|
+
};
|
|
72
|
+
return {
|
|
73
|
+
programAddress: instruction.programAddress,
|
|
74
|
+
accounts: {
|
|
75
|
+
asset: getNextAccount(),
|
|
76
|
+
slotHashes: getNextAccount(),
|
|
77
|
+
instructionsSysvar: getNextAccount(),
|
|
78
|
+
},
|
|
79
|
+
data: getVerifyAssetInstructionDataDecoder().decode(instruction.data),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=verifyAsset.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyAsset.js","sourceRoot":"","sources":["../../../src/generated/instructions/verifyAsset.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Address, type ClientWithRpc, type ClientWithTransactionPlanning, type ClientWithTransactionSending, type ExtendedClient, type GetAccountInfoApi, type GetMultipleAccountsApi, type Instruction, type InstructionWithData, type ReadonlyUint8Array } from "@solana/kit";
|
|
2
2
|
import { type SelfFetchFunctions, type SelfPlanAndSendFunctions } from "@solana/kit/program-client-core";
|
|
3
3
|
import { getAssetCodec, type Asset, type AssetArgs } from "../accounts/index.js";
|
|
4
|
-
import { getExecuteTransferInstruction, getInitializeInstruction, getRemoveOwnershipInstruction, getSetLockStateInstruction, type ExecuteTransferInput, type InitializeInput, type ParsedExecuteTransferInstruction, type ParsedInitializeInstruction, type ParsedRemoveOwnershipInstruction, type ParsedSetLockStateInstruction, type RemoveOwnershipInput, type SetLockStateInput } from "../instructions/index.js";
|
|
4
|
+
import { getExecuteTransferInstruction, getInitializeInstruction, getRemoveOwnershipInstruction, getSetLockStateInstruction, getVerifyAssetInstruction, type ExecuteTransferInput, type InitializeInput, type ParsedExecuteTransferInstruction, type ParsedInitializeInstruction, type ParsedRemoveOwnershipInstruction, type ParsedSetLockStateInstruction, type ParsedVerifyAssetInstruction, type RemoveOwnershipInput, type SetLockStateInput, type VerifyAssetInput } from "../instructions/index.js";
|
|
5
5
|
export declare const PHYGITAL_TOKEN_PROGRAM_ADDRESS: Address<"DuPpckdjjgVAnYok2aTMAt264ZPBXqq3JSazJjCUzTJQ">;
|
|
6
6
|
export declare enum PhygitalTokenAccount {
|
|
7
7
|
Asset = 0
|
|
@@ -13,7 +13,8 @@ export declare enum PhygitalTokenInstruction {
|
|
|
13
13
|
ExecuteTransfer = 0,
|
|
14
14
|
Initialize = 1,
|
|
15
15
|
RemoveOwnership = 2,
|
|
16
|
-
SetLockState = 3
|
|
16
|
+
SetLockState = 3,
|
|
17
|
+
VerifyAsset = 4
|
|
17
18
|
}
|
|
18
19
|
export declare function identifyPhygitalTokenInstruction(instruction: {
|
|
19
20
|
data: ReadonlyUint8Array;
|
|
@@ -26,7 +27,9 @@ export type ParsedPhygitalTokenInstruction<TProgram extends string = "DuPpckdjjg
|
|
|
26
27
|
instructionType: PhygitalTokenInstruction.RemoveOwnership;
|
|
27
28
|
} & ParsedRemoveOwnershipInstruction<TProgram>) | ({
|
|
28
29
|
instructionType: PhygitalTokenInstruction.SetLockState;
|
|
29
|
-
} & ParsedSetLockStateInstruction<TProgram>)
|
|
30
|
+
} & ParsedSetLockStateInstruction<TProgram>) | ({
|
|
31
|
+
instructionType: PhygitalTokenInstruction.VerifyAsset;
|
|
32
|
+
} & ParsedVerifyAssetInstruction<TProgram>);
|
|
30
33
|
export declare function parsePhygitalTokenInstruction<TProgram extends string>(instruction: Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array>): ParsedPhygitalTokenInstruction<TProgram>;
|
|
31
34
|
export type PhygitalTokenPlugin = {
|
|
32
35
|
accounts: PhygitalTokenPluginAccounts;
|
|
@@ -43,6 +46,7 @@ export type PhygitalTokenPluginInstructions = {
|
|
|
43
46
|
initialize: (input: InitializeInput) => ReturnType<typeof getInitializeInstruction> & SelfPlanAndSendFunctions;
|
|
44
47
|
removeOwnership: (input: RemoveOwnershipInput) => ReturnType<typeof getRemoveOwnershipInstruction> & SelfPlanAndSendFunctions;
|
|
45
48
|
setLockState: (input: SetLockStateInput) => ReturnType<typeof getSetLockStateInstruction> & SelfPlanAndSendFunctions;
|
|
49
|
+
verifyAsset: (input: VerifyAssetInput) => ReturnType<typeof getVerifyAssetInstruction> & SelfPlanAndSendFunctions;
|
|
46
50
|
};
|
|
47
51
|
export type PhygitalTokenPluginRequirements = ClientWithRpc<GetAccountInfoApi & GetMultipleAccountsApi> & ClientWithTransactionPlanning & ClientWithTransactionSending;
|
|
48
52
|
export declare function phygitalTokenProgram(): <T extends PhygitalTokenPluginRequirements>(client: T) => ExtendedClient<T, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phygitalToken.d.ts","sourceRoot":"","sources":["../../../src/generated/programs/phygitalToken.ts"],"names":[],"mappings":"AAQA,OAAO,EAUL,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,0BAA0B,
|
|
1
|
+
{"version":3,"file":"phygitalToken.d.ts","sourceRoot":"","sources":["../../../src/generated/programs/phygitalToken.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { assertIsInstructionWithAccounts, containsBytes, extendClient, fixEncoderSize, getBytesEncoder, SOLANA_ERROR__PROGRAM_CLIENTS__FAILED_TO_IDENTIFY_ACCOUNT, SOLANA_ERROR__PROGRAM_CLIENTS__FAILED_TO_IDENTIFY_INSTRUCTION, SOLANA_ERROR__PROGRAM_CLIENTS__UNRECOGNIZED_INSTRUCTION_TYPE, SolanaError, } from "@solana/kit";
|
|
2
2
|
import { addSelfFetchFunctions, addSelfPlanAndSendFunctions, } from "@solana/kit/program-client-core";
|
|
3
3
|
import { getAssetCodec } from "../accounts/index.js";
|
|
4
|
-
import { getExecuteTransferInstruction, getInitializeInstruction, getRemoveOwnershipInstruction, getSetLockStateInstruction, parseExecuteTransferInstruction, parseInitializeInstruction, parseRemoveOwnershipInstruction, parseSetLockStateInstruction, } from "../instructions/index.js";
|
|
4
|
+
import { getExecuteTransferInstruction, getInitializeInstruction, getRemoveOwnershipInstruction, getSetLockStateInstruction, getVerifyAssetInstruction, parseExecuteTransferInstruction, parseInitializeInstruction, parseRemoveOwnershipInstruction, parseSetLockStateInstruction, parseVerifyAssetInstruction, } from "../instructions/index.js";
|
|
5
5
|
export const PHYGITAL_TOKEN_PROGRAM_ADDRESS = "DuPpckdjjgVAnYok2aTMAt264ZPBXqq3JSazJjCUzTJQ";
|
|
6
6
|
export var PhygitalTokenAccount;
|
|
7
7
|
(function (PhygitalTokenAccount) {
|
|
@@ -20,6 +20,7 @@ export var PhygitalTokenInstruction;
|
|
|
20
20
|
PhygitalTokenInstruction[PhygitalTokenInstruction["Initialize"] = 1] = "Initialize";
|
|
21
21
|
PhygitalTokenInstruction[PhygitalTokenInstruction["RemoveOwnership"] = 2] = "RemoveOwnership";
|
|
22
22
|
PhygitalTokenInstruction[PhygitalTokenInstruction["SetLockState"] = 3] = "SetLockState";
|
|
23
|
+
PhygitalTokenInstruction[PhygitalTokenInstruction["VerifyAsset"] = 4] = "VerifyAsset";
|
|
23
24
|
})(PhygitalTokenInstruction || (PhygitalTokenInstruction = {}));
|
|
24
25
|
export function identifyPhygitalTokenInstruction(instruction) {
|
|
25
26
|
const data = "data" in instruction ? instruction.data : instruction;
|
|
@@ -35,6 +36,9 @@ export function identifyPhygitalTokenInstruction(instruction) {
|
|
|
35
36
|
if (containsBytes(data, fixEncoderSize(getBytesEncoder(), 8).encode(new Uint8Array([16, 40, 80, 140, 163, 156, 68, 120])), 0)) {
|
|
36
37
|
return PhygitalTokenInstruction.SetLockState;
|
|
37
38
|
}
|
|
39
|
+
if (containsBytes(data, fixEncoderSize(getBytesEncoder(), 8).encode(new Uint8Array([136, 51, 110, 228, 129, 94, 141, 179])), 0)) {
|
|
40
|
+
return PhygitalTokenInstruction.VerifyAsset;
|
|
41
|
+
}
|
|
38
42
|
throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__FAILED_TO_IDENTIFY_INSTRUCTION, { instructionData: data, programName: "phygitalToken" });
|
|
39
43
|
}
|
|
40
44
|
export function parsePhygitalTokenInstruction(instruction) {
|
|
@@ -68,6 +72,13 @@ export function parsePhygitalTokenInstruction(instruction) {
|
|
|
68
72
|
...parseSetLockStateInstruction(instruction),
|
|
69
73
|
};
|
|
70
74
|
}
|
|
75
|
+
case PhygitalTokenInstruction.VerifyAsset: {
|
|
76
|
+
assertIsInstructionWithAccounts(instruction);
|
|
77
|
+
return {
|
|
78
|
+
instructionType: PhygitalTokenInstruction.VerifyAsset,
|
|
79
|
+
...parseVerifyAssetInstruction(instruction),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
71
82
|
default:
|
|
72
83
|
throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__UNRECOGNIZED_INSTRUCTION_TYPE, {
|
|
73
84
|
instructionType: instructionType,
|
|
@@ -85,6 +96,7 @@ export function phygitalTokenProgram() {
|
|
|
85
96
|
initialize: (input) => addSelfPlanAndSendFunctions(client, getInitializeInstruction(input)),
|
|
86
97
|
removeOwnership: (input) => addSelfPlanAndSendFunctions(client, getRemoveOwnershipInstruction(input)),
|
|
87
98
|
setLockState: (input) => addSelfPlanAndSendFunctions(client, getSetLockStateInstruction(input)),
|
|
99
|
+
verifyAsset: (input) => addSelfPlanAndSendFunctions(client, getVerifyAssetInstruction(input)),
|
|
88
100
|
},
|
|
89
101
|
identifyAccount: identifyPhygitalTokenAccount,
|
|
90
102
|
identifyInstruction: identifyPhygitalTokenInstruction,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phygitalToken.js","sourceRoot":"","sources":["../../../src/generated/programs/phygitalToken.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,+BAA+B,EAC/B,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,EACf,yDAAyD,EACzD,6DAA6D,EAC7D,4DAA4D,EAC5D,WAAW,GAWZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAG5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAA8B,MAAM,sBAAsB,CAAC;AACjF,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,0BAA0B,EAC1B,+BAA+B,EAC/B,0BAA0B,EAC1B,+BAA+B,EAC/B,4BAA4B,
|
|
1
|
+
{"version":3,"file":"phygitalToken.js","sourceRoot":"","sources":["../../../src/generated/programs/phygitalToken.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,+BAA+B,EAC/B,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,EACf,yDAAyD,EACzD,6DAA6D,EAC7D,4DAA4D,EAC5D,WAAW,GAWZ,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,qBAAqB,EACrB,2BAA2B,GAG5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAA8B,MAAM,sBAAsB,CAAC;AACjF,OAAO,EACL,6BAA6B,EAC7B,wBAAwB,EACxB,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,+BAA+B,EAC/B,0BAA0B,EAC1B,+BAA+B,EAC/B,4BAA4B,EAC5B,2BAA2B,GAW5B,MAAM,0BAA0B,CAAC;AAElC,MAAM,CAAC,MAAM,8BAA8B,GACzC,8CAAyG,CAAC;AAE5G,MAAM,CAAN,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,iEAAK,CAAA;AACP,CAAC,EAFW,oBAAoB,KAApB,oBAAoB,QAE/B;AAED,MAAM,UAAU,4BAA4B,CAC1C,OAA0D;IAE1D,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IACxD,IACE,aAAa,CACX,IAAI,EACJ,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CACzC,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CACvD,EACD,CAAC,CACF,EACD,CAAC;QACD,OAAO,oBAAoB,CAAC,KAAK,CAAC;IACpC,CAAC;IACD,MAAM,IAAI,WAAW,CACnB,yDAAyD,EACzD,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,CACpD,CAAC;AACJ,CAAC;AAED,MAAM,CAAN,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAClC,6FAAe,CAAA;IACf,mFAAU,CAAA;IACV,6FAAe,CAAA;IACf,uFAAY,CAAA;IACZ,qFAAW,CAAA;AACb,CAAC,EANW,wBAAwB,KAAxB,wBAAwB,QAMnC;AAED,MAAM,UAAU,gCAAgC,CAC9C,WAA8D;IAE9D,MAAM,IAAI,GAAG,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IACpE,IACE,aAAa,CACX,IAAI,EACJ,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CACzC,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CACxD,EACD,CAAC,CACF,EACD,CAAC;QACD,OAAO,wBAAwB,CAAC,eAAe,CAAC;IAClD,CAAC;IACD,IACE,aAAa,CACX,IAAI,EACJ,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CACzC,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CACvD,EACD,CAAC,CACF,EACD,CAAC;QACD,OAAO,wBAAwB,CAAC,UAAU,CAAC;IAC7C,CAAC;IACD,IACE,aAAa,CACX,IAAI,EACJ,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CACzC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CACnD,EACD,CAAC,CACF,EACD,CAAC;QACD,OAAO,wBAAwB,CAAC,eAAe,CAAC;IAClD,CAAC;IACD,IACE,aAAa,CACX,IAAI,EACJ,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CACzC,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CACrD,EACD,CAAC,CACF,EACD,CAAC;QACD,OAAO,wBAAwB,CAAC,YAAY,CAAC;IAC/C,CAAC;IACD,IACE,aAAa,CACX,IAAI,EACJ,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CACzC,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CACvD,EACD,CAAC,CACF,EACD,CAAC;QACD,OAAO,wBAAwB,CAAC,WAAW,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,WAAW,CACnB,6DAA6D,EAC7D,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,CACxD,CAAC;AACJ,CAAC;AAqBD,MAAM,UAAU,6BAA6B,CAC3C,WAA4E;IAE5E,MAAM,eAAe,GAAG,gCAAgC,CAAC,WAAW,CAAC,CAAC;IACtE,QAAQ,eAAe,EAAE,CAAC;QACxB,KAAK,wBAAwB,CAAC,eAAe,CAAC,CAAC,CAAC;YAC9C,+BAA+B,CAAC,WAAW,CAAC,CAAC;YAC7C,OAAO;gBACL,eAAe,EAAE,wBAAwB,CAAC,eAAe;gBACzD,GAAG,+BAA+B,CAAC,WAAW,CAAC;aAChD,CAAC;QACJ,CAAC;QACD,KAAK,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC;YACzC,+BAA+B,CAAC,WAAW,CAAC,CAAC;YAC7C,OAAO;gBACL,eAAe,EAAE,wBAAwB,CAAC,UAAU;gBACpD,GAAG,0BAA0B,CAAC,WAAW,CAAC;aAC3C,CAAC;QACJ,CAAC;QACD,KAAK,wBAAwB,CAAC,eAAe,CAAC,CAAC,CAAC;YAC9C,+BAA+B,CAAC,WAAW,CAAC,CAAC;YAC7C,OAAO;gBACL,eAAe,EAAE,wBAAwB,CAAC,eAAe;gBACzD,GAAG,+BAA+B,CAAC,WAAW,CAAC;aAChD,CAAC;QACJ,CAAC;QACD,KAAK,wBAAwB,CAAC,YAAY,CAAC,CAAC,CAAC;YAC3C,+BAA+B,CAAC,WAAW,CAAC,CAAC;YAC7C,OAAO;gBACL,eAAe,EAAE,wBAAwB,CAAC,YAAY;gBACtD,GAAG,4BAA4B,CAAC,WAAW,CAAC;aAC7C,CAAC;QACJ,CAAC;QACD,KAAK,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC;YAC1C,+BAA+B,CAAC,WAAW,CAAC,CAAC;YAC7C,OAAO;gBACL,eAAe,EAAE,wBAAwB,CAAC,WAAW;gBACrD,GAAG,2BAA2B,CAAC,WAAW,CAAC;aAC5C,CAAC;QACJ,CAAC;QACD;YACE,MAAM,IAAI,WAAW,CACnB,4DAA4D,EAC5D;gBACE,eAAe,EAAE,eAAyB;gBAC1C,WAAW,EAAE,eAAe;aAC7B,CACF,CAAC;IACN,CAAC;AACH,CAAC;AAyCD,MAAM,UAAU,oBAAoB;IAClC,OAAO,CACL,MAAS,EACkD,EAAE;QAC7D,OAAO,YAAY,CAAC,MAAM,EAAE;YAC1B,aAAa,EAAuB;gBAClC,QAAQ,EAAE,EAAE,KAAK,EAAE,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;gBACnE,YAAY,EAAE;oBACZ,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CACzB,2BAA2B,CACzB,MAAM,EACN,6BAA6B,CAAC,KAAK,CAAC,CACrC;oBACH,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CACpB,2BAA2B,CACzB,MAAM,EACN,wBAAwB,CAAC,KAAK,CAAC,CAChC;oBACH,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CACzB,2BAA2B,CACzB,MAAM,EACN,6BAA6B,CAAC,KAAK,CAAC,CACrC;oBACH,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CACtB,2BAA2B,CACzB,MAAM,EACN,0BAA0B,CAAC,KAAK,CAAC,CAClC;oBACH,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CACrB,2BAA2B,CACzB,MAAM,EACN,yBAAyB,CAAC,KAAK,CAAC,CACjC;iBACJ;gBACD,eAAe,EAAE,4BAA4B;gBAC7C,mBAAmB,EAAE,gCAAgC;gBACrD,gBAAgB,EAAE,6BAA6B;aAChD;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generated/types/index.ts"],"names":[],"mappings":"AAQA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generated/types/index.ts"],"names":[],"mappings":"AAQA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generated/types/index.ts"],"names":[],"mappings":"AAQA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generated/types/index.ts"],"names":[],"mappings":"AAQA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type Codec, type Decoder, type Encoder, type ReadonlyUint8Array } from "@solana/kit";
|
|
2
|
+
export type Secp256r1VerifyArgs = {
|
|
3
|
+
verifyArgsRelativeIndex: bigint;
|
|
4
|
+
signedMessageIndex: number;
|
|
5
|
+
slotNumber: bigint;
|
|
6
|
+
clientDataJson: ReadonlyUint8Array;
|
|
7
|
+
};
|
|
8
|
+
export type Secp256r1VerifyArgsArgs = {
|
|
9
|
+
verifyArgsRelativeIndex: number | bigint;
|
|
10
|
+
signedMessageIndex: number;
|
|
11
|
+
slotNumber: number | bigint;
|
|
12
|
+
clientDataJson: ReadonlyUint8Array;
|
|
13
|
+
};
|
|
14
|
+
export declare function getSecp256r1VerifyArgsEncoder(): Encoder<Secp256r1VerifyArgsArgs>;
|
|
15
|
+
export declare function getSecp256r1VerifyArgsDecoder(): Decoder<Secp256r1VerifyArgs>;
|
|
16
|
+
export declare function getSecp256r1VerifyArgsCodec(): Codec<Secp256r1VerifyArgsArgs, Secp256r1VerifyArgs>;
|
|
17
|
+
//# sourceMappingURL=secp256r1VerifyArgs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { addDecoderSizePrefix, addEncoderSizePrefix, combineCodec, getBytesDecoder, getBytesEncoder, getI64Decoder, getI64Encoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, getU8Decoder, getU8Encoder, } from "@solana/kit";
|
|
2
|
+
export function getSecp256r1VerifyArgsEncoder() {
|
|
3
|
+
return getStructEncoder([
|
|
4
|
+
["verifyArgsRelativeIndex", getI64Encoder()],
|
|
5
|
+
["signedMessageIndex", getU8Encoder()],
|
|
6
|
+
["slotNumber", getU64Encoder()],
|
|
7
|
+
[
|
|
8
|
+
"clientDataJson",
|
|
9
|
+
addEncoderSizePrefix(getBytesEncoder(), getU32Encoder()),
|
|
10
|
+
],
|
|
11
|
+
]);
|
|
12
|
+
}
|
|
13
|
+
export function getSecp256r1VerifyArgsDecoder() {
|
|
14
|
+
return getStructDecoder([
|
|
15
|
+
["verifyArgsRelativeIndex", getI64Decoder()],
|
|
16
|
+
["signedMessageIndex", getU8Decoder()],
|
|
17
|
+
["slotNumber", getU64Decoder()],
|
|
18
|
+
[
|
|
19
|
+
"clientDataJson",
|
|
20
|
+
addDecoderSizePrefix(getBytesDecoder(), getU32Decoder()),
|
|
21
|
+
],
|
|
22
|
+
]);
|
|
23
|
+
}
|
|
24
|
+
export function getSecp256r1VerifyArgsCodec() {
|
|
25
|
+
return combineCodec(getSecp256r1VerifyArgsEncoder(), getSecp256r1VerifyArgsDecoder());
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=secp256r1VerifyArgs.js.map
|
|
@@ -0,0 +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,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
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export { beginTransfer, completeTransfer, authenticatePasskeyForTransfer, type TransferSession, } from "./instructions/transfer.js";
|
|
2
|
+
export { beginVerifyAsset, completeVerifyAsset, authenticatePasskeyForVerifyAsset, buildVerifyAssetArgs, type VerifyAssetSession, } from "./instructions/verifyAsset.js";
|
|
2
3
|
export { buildInitializeInstruction, parseSecp256r1Pubkey, parseIdentifier, type InitializeParams, } from "./instructions/initialize.js";
|
|
3
4
|
export { fetchAssetsByPublicKey, fetchAllAssetsFromOwner, } from "./utils/metadata.js";
|
|
4
5
|
export { startAuthentication, verifyResponse, type VerifyResponseResult, type VerifyResponseOptions, } from "./utils/verify.js";
|
|
5
6
|
export { findAssetPda } from "./utils/pdas/index.js";
|
|
6
7
|
export * from "./generated/index.js";
|
|
7
8
|
export { getSecp256r1VerifyInstruction, type Secp256r1VerifyEntry, type Secp256r1VerifyInstruction, } from "./instructions/internal/secp256r1Verify.js";
|
|
8
|
-
export { buildSecp256r1VerifyInstructionFromWebAuthnResponse, buildTransferChallenge, buildVerifyInputFromWebAuthn, type WebAuthnSecp256r1Verification, } from "./utils/passkey/secp256r1.js";
|
|
9
|
+
export { buildSecp256r1VerifyInstructionFromWebAuthnResponse, buildTransferChallenge, buildVerifyAssetChallenge, buildVerifyInputFromWebAuthn, type WebAuthnSecp256r1Verification, } from "./utils/passkey/secp256r1.js";
|
|
9
10
|
//# 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,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,cAAc,sBAAsB,CAAC;AAErC,OAAO,EACL,6BAA6B,EAC7B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,GAChC,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACL,mDAAmD,EACnD,sBAAsB,EACtB,4BAA4B,EAC5B,KAAK,6BAA6B,GACnC,MAAM,8BAA8B,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,iCAAiC,EACjC,oBAAoB,EACpB,KAAK,kBAAkB,GACxB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,cAAc,sBAAsB,CAAC;AAErC,OAAO,EACL,6BAA6B,EAC7B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,GAChC,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACL,mDAAmD,EACnD,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,EAC5B,KAAK,6BAA6B,GACnC,MAAM,8BAA8B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export { beginTransfer, completeTransfer, authenticatePasskeyForTransfer, } from "./instructions/transfer.js";
|
|
2
|
+
export { beginVerifyAsset, completeVerifyAsset, authenticatePasskeyForVerifyAsset, buildVerifyAssetArgs, } from "./instructions/verifyAsset.js";
|
|
2
3
|
export { buildInitializeInstruction, parseSecp256r1Pubkey, parseIdentifier, } from "./instructions/initialize.js";
|
|
3
4
|
export { fetchAssetsByPublicKey, fetchAllAssetsFromOwner, } from "./utils/metadata.js";
|
|
4
5
|
export { startAuthentication, verifyResponse, } from "./utils/verify.js";
|
|
5
6
|
export { findAssetPda } from "./utils/pdas/index.js";
|
|
6
7
|
export * from "./generated/index.js";
|
|
7
8
|
export { getSecp256r1VerifyInstruction, } from "./instructions/internal/secp256r1Verify.js";
|
|
8
|
-
export { buildSecp256r1VerifyInstructionFromWebAuthnResponse, buildTransferChallenge, buildVerifyInputFromWebAuthn, } from "./utils/passkey/secp256r1.js";
|
|
9
|
+
export { buildSecp256r1VerifyInstructionFromWebAuthnResponse, buildTransferChallenge, buildVerifyAssetChallenge, buildVerifyInputFromWebAuthn, } from "./utils/passkey/secp256r1.js";
|
|
9
10
|
//# 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,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,GAEhB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,mBAAmB,EACnB,cAAc,GAGf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,cAAc,sBAAsB,CAAC;AAErC,OAAO,EACL,6BAA6B,GAG9B,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACL,mDAAmD,EACnD,sBAAsB,EACtB,4BAA4B,GAE7B,MAAM,8BAA8B,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,iCAAiC,EACjC,oBAAoB,GAErB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,GAEhB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,mBAAmB,EACnB,cAAc,GAGf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,cAAc,sBAAsB,CAAC;AAErC,OAAO,EACL,6BAA6B,GAG9B,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EACL,mDAAmD,EACnD,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,GAE7B,MAAM,8BAA8B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/instructions/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,KAAK,0BAA0B,EAChC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAKvC,MAAM,MAAM,eAAe,GAAG;IAC5B,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;CACvB,CAAC;AAQF,wBAAsB,aAAa,CAAC,KAAK,EAAE;IACzC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,eAAe,CAAC,CAc3B;AAGD,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,0BAA0B,CAAC,CAMrC;AAMD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,0BAA0B,EACpC,SAAS,EAAE,OAAO,EAClB,6BAA6B,CAAC,EAAE,oBAAoB,EAAE,GACrD,OAAO,CAAC,WAAW,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../src/instructions/transfer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,KAAK,0BAA0B,EAChC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAKvC,MAAM,MAAM,eAAe,GAAG;IAC5B,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;CACvB,CAAC;AAQF,wBAAsB,aAAa,CAAC,KAAK,EAAE;IACzC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CAChB,GAAG,OAAO,CAAC,eAAe,CAAC,CAc3B;AAGD,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,0BAA0B,CAAC,CAMrC;AAMD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,0BAA0B,EACpC,SAAS,EAAE,OAAO,EAClB,6BAA6B,CAAC,EAAE,oBAAoB,EAAE,GACrD,OAAO,CAAC,WAAW,EAAE,CAAC,CAoBxB"}
|
|
@@ -30,10 +30,12 @@ export async function completeTransfer(session, response, recipient, existingSec
|
|
|
30
30
|
const executeTransfer = getExecuteTransferInstruction({
|
|
31
31
|
recipient,
|
|
32
32
|
asset: session.asset,
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
secp256r1VerifyArgs: {
|
|
34
|
+
verifyArgsRelativeIndex: -1,
|
|
35
|
+
signedMessageIndex,
|
|
36
|
+
slotNumber: session.slotNumber,
|
|
37
|
+
clientDataJson,
|
|
38
|
+
},
|
|
37
39
|
});
|
|
38
40
|
return [secp256r1Verify, executeTransfer];
|
|
39
41
|
}
|
|
@@ -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,wBAAwB,EACxB,yBAAyB,GAE1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,mDAAmD,EACnD,sBAAsB,GAEvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAgBvD,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,KAAK;QAClB,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ;QACR,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAwB;IAExB,OAAO,wBAAwB,CAC7B,yBAAyB,CACvB,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAC3C,CACF,CAAC;AACJ,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAwB,EACxB,QAAoC,EACpC,SAAkB,EAClB,6BAAsD;IAEtD,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAC3D,MAAM,mDAAmD,CAAC;QACxD,QAAQ;QACR,kBAAkB,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,6BAA6B;KAC9B,CAAC,CAAC;IAEL,MAAM,eAAe,GAAG,6BAA6B,CAAC;QACpD,SAAS;QACT,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,uBAAuB,EAAE,CAAC,CAAC;
|
|
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,wBAAwB,EACxB,yBAAyB,GAE1B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,mDAAmD,EACnD,sBAAsB,GAEvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAgBvD,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,KAAK;QAClB,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ;QACR,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAwB;IAExB,OAAO,wBAAwB,CAC7B,yBAAyB,CACvB,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,CAC3C,CACF,CAAC;AACJ,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAwB,EACxB,QAAoC,EACpC,SAAkB,EAClB,6BAAsD;IAEtD,MAAM,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,GAC3D,MAAM,mDAAmD,CAAC;QACxD,QAAQ;QACR,kBAAkB,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,6BAA6B;KAC9B,CAAC,CAAC;IAEL,MAAM,eAAe,GAAG,6BAA6B,CAAC;QACpD,SAAS;QACT,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type AuthenticationResponseJSON } from "../utils/passkey/webauthn.js";
|
|
2
|
+
import type { Address, Instruction, Rpc, SolanaRpcApi } from "@solana/kit";
|
|
3
|
+
import { type Secp256r1VerifyEntry } from "../utils/passkey/secp256r1.js";
|
|
4
|
+
import { type Asset } from "../generated/index.js";
|
|
5
|
+
export type VerifyAssetSession = {
|
|
6
|
+
rpc: Rpc<SolanaRpcApi>;
|
|
7
|
+
asset: Address;
|
|
8
|
+
slotHash: Uint8Array;
|
|
9
|
+
slotNumber: bigint;
|
|
10
|
+
challenge: Uint8Array;
|
|
11
|
+
message: Uint8Array;
|
|
12
|
+
};
|
|
13
|
+
export declare function beginVerifyAsset(input: {
|
|
14
|
+
rpc: Rpc<SolanaRpcApi>;
|
|
15
|
+
asset: Address;
|
|
16
|
+
message: Uint8Array;
|
|
17
|
+
}): Promise<VerifyAssetSession>;
|
|
18
|
+
export declare function authenticatePasskeyForVerifyAsset(session: VerifyAssetSession): Promise<AuthenticationResponseJSON>;
|
|
19
|
+
export declare function buildVerifyAssetArgs(session: VerifyAssetSession, response: AuthenticationResponseJSON, existingSecp256r1VerifyInputs?: Secp256r1VerifyEntry[]): Promise<{
|
|
20
|
+
asset: Asset;
|
|
21
|
+
assetPda: Address;
|
|
22
|
+
secp256r1Verify: Instruction;
|
|
23
|
+
signedMessageIndex: number;
|
|
24
|
+
clientDataJson: Uint8Array;
|
|
25
|
+
}>;
|
|
26
|
+
export declare function completeVerifyAsset(session: VerifyAssetSession, response: AuthenticationResponseJSON, existingSecp256r1VerifyInputs?: Secp256r1VerifyEntry[]): Promise<Instruction[]>;
|
|
27
|
+
//# sourceMappingURL=verifyAsset.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { authenticateWithWebauthn, bufferToBase64URLString, nfcWebAuthnRequestOptions, } from "../utils/passkey/webauthn.js";
|
|
2
|
+
import { buildSecp256r1VerifyInstructionFromWebAuthnResponse, buildVerifyAssetChallenge, } from "../utils/passkey/secp256r1.js";
|
|
3
|
+
import { getLatestSlotHash } from "../utils/slotHash.js";
|
|
4
|
+
import { fetchAsset, getVerifyAssetInstruction, } from "../generated/index.js";
|
|
5
|
+
import { parseSecp256r1Pubkey } from "./initialize.js";
|
|
6
|
+
export async function beginVerifyAsset(input) {
|
|
7
|
+
const { slotHash, slotNumber } = await getLatestSlotHash(input.rpc);
|
|
8
|
+
const challenge = await buildVerifyAssetChallenge({
|
|
9
|
+
message: input.message,
|
|
10
|
+
slotHash,
|
|
11
|
+
});
|
|
12
|
+
return {
|
|
13
|
+
rpc: input.rpc,
|
|
14
|
+
asset: input.asset,
|
|
15
|
+
slotHash,
|
|
16
|
+
slotNumber,
|
|
17
|
+
challenge,
|
|
18
|
+
message: input.message,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export async function authenticatePasskeyForVerifyAsset(session) {
|
|
22
|
+
return authenticateWithWebauthn(nfcWebAuthnRequestOptions(bufferToBase64URLString(session.challenge)));
|
|
23
|
+
}
|
|
24
|
+
export async function buildVerifyAssetArgs(session, response, existingSecp256r1VerifyInputs) {
|
|
25
|
+
const asset = (await fetchAsset(session.rpc, session.asset)).data;
|
|
26
|
+
const { secp256r1Verify, signedMessageIndex, clientDataJson } = await buildSecp256r1VerifyInstructionFromWebAuthnResponse({
|
|
27
|
+
secp256r1PublicKey: parseSecp256r1Pubkey(response.id),
|
|
28
|
+
response,
|
|
29
|
+
existingSecp256r1VerifyInputs,
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
asset,
|
|
33
|
+
assetPda: session.asset,
|
|
34
|
+
secp256r1Verify,
|
|
35
|
+
signedMessageIndex,
|
|
36
|
+
clientDataJson,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export async function completeVerifyAsset(session, response, existingSecp256r1VerifyInputs) {
|
|
40
|
+
const { assetPda, secp256r1Verify, signedMessageIndex, clientDataJson } = await buildVerifyAssetArgs(session, response, existingSecp256r1VerifyInputs);
|
|
41
|
+
const verifyAssetInstruction = getVerifyAssetInstruction({
|
|
42
|
+
asset: assetPda,
|
|
43
|
+
secp256r1VerifyArgs: {
|
|
44
|
+
verifyArgsRelativeIndex: -1,
|
|
45
|
+
signedMessageIndex,
|
|
46
|
+
slotNumber: session.slotNumber,
|
|
47
|
+
clientDataJson,
|
|
48
|
+
},
|
|
49
|
+
message: session.message,
|
|
50
|
+
});
|
|
51
|
+
return [secp256r1Verify, verifyAssetInstruction];
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=verifyAsset.js.map
|
|
@@ -0,0 +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"}
|
package/dist/utils/consts.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const SECP256R1_PROGRAM_ADDRESS: import("@solana/kit").Address<"Secp256r1SigVerify1111111111111111111111111">;
|
|
2
2
|
export declare const SLOT_HASHES_SYSVAR_ADDRESS: import("@solana/kit").Address<"SysvarS1otHashes111111111111111111111111111">;
|
|
3
3
|
export declare const TRANSFER_ACTION_BYTES: Uint8Array<ArrayBuffer>;
|
|
4
|
+
export declare const VERIFY_ASSET_ACTION_BYTES: Uint8Array<ArrayBuffer>;
|
|
4
5
|
//# sourceMappingURL=consts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/utils/consts.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,8EAErC,CAAC;AAEF,eAAO,MAAM,0BAA0B,8EAEtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,yBAAuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../src/utils/consts.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,8EAErC,CAAC;AAEF,eAAO,MAAM,0BAA0B,8EAEtC,CAAC;AAEF,eAAO,MAAM,qBAAqB,yBAAuC,CAAC;AAE1E,eAAO,MAAM,yBAAyB,yBAA2C,CAAC"}
|
package/dist/utils/consts.js
CHANGED
|
@@ -2,4 +2,5 @@ import { address } from "@solana/kit";
|
|
|
2
2
|
export const SECP256R1_PROGRAM_ADDRESS = address("Secp256r1SigVerify1111111111111111111111111");
|
|
3
3
|
export const SLOT_HASHES_SYSVAR_ADDRESS = address("SysvarS1otHashes111111111111111111111111111");
|
|
4
4
|
export const TRANSFER_ACTION_BYTES = new TextEncoder().encode("transfer");
|
|
5
|
+
export const VERIFY_ASSET_ACTION_BYTES = new TextEncoder().encode("verify_asset");
|
|
5
6
|
//# sourceMappingURL=consts.js.map
|
package/dist/utils/consts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/utils/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAC9C,6CAA6C,CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAC/C,6CAA6C,CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../src/utils/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAC9C,6CAA6C,CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAC/C,6CAA6C,CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -12,6 +12,10 @@ export declare function buildTransferChallenge(input: {
|
|
|
12
12
|
asset: Address;
|
|
13
13
|
slotHash: Uint8Array;
|
|
14
14
|
}): Promise<Uint8Array>;
|
|
15
|
+
export declare function buildVerifyAssetChallenge(input: {
|
|
16
|
+
message: Uint8Array;
|
|
17
|
+
slotHash: Uint8Array;
|
|
18
|
+
}): Promise<Uint8Array>;
|
|
15
19
|
export type WebAuthnSecp256r1Verification = {
|
|
16
20
|
signedMessageIndex: number;
|
|
17
21
|
secp256r1Verify: Instruction<typeof SECP256R1_PROGRAM_ADDRESS>;
|
|
@@ -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,eAAe,CAAC;AAChE,OAAO,EAAqB,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,yBAAyB,
|
|
1
|
+
{"version":3,"file":"secp256r1.d.ts","sourceRoot":"","sources":["../../../src/utils/passkey/secp256r1.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAChE,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;AAQtB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAiBrC,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,kBAAkB,EAAE,eAAe,CAAC;IACpC,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,kBAAkB,EAAE,eAAe,CAAC;IACpC,QAAQ,EAAE,0BAA0B,CAAC;IACrC,6BAA6B,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACxD,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAazC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getAddressEncoder } from "@solana/kit";
|
|
2
2
|
import { getSecp256r1VerifyInstruction, } from "../../instructions/internal/secp256r1Verify.js";
|
|
3
|
-
import { SECP256R1_PROGRAM_ADDRESS, TRANSFER_ACTION_BYTES, } from "../consts.js";
|
|
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";
|
|
6
6
|
function concatBytes(...parts) {
|
|
@@ -29,6 +29,10 @@ export async function buildTransferChallenge(input) {
|
|
|
29
29
|
const messageHash = sha256(encodeAddress(input.asset));
|
|
30
30
|
return sha256(concatBytes(TRANSFER_ACTION_BYTES, messageHash, new Uint8Array(input.slotHash)));
|
|
31
31
|
}
|
|
32
|
+
export async function buildVerifyAssetChallenge(input) {
|
|
33
|
+
const messageHash = sha256(input.message);
|
|
34
|
+
return sha256(concatBytes(VERIFY_ASSET_ACTION_BYTES, messageHash, new Uint8Array(input.slotHash)));
|
|
35
|
+
}
|
|
32
36
|
export async function buildSecp256r1VerifyInstructionFromWebAuthnResponse(input) {
|
|
33
37
|
const existing = input.existingSecp256r1VerifyInputs;
|
|
34
38
|
const parsed = buildVerifyInputFromWebAuthn(input);
|
|
@@ -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,EACL,6BAA6B,GAE9B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,yBAAyB,EACzB,qBAAqB,
|
|
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;AAK/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,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACtC,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"}
|