phygital-token-sdk 0.13.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/README.md +6 -9
- package/dist/generated/accounts/asset.d.ts +2 -2
- package/dist/generated/accounts/asset.d.ts.map +1 -1
- package/dist/generated/accounts/asset.js +3 -3
- package/dist/generated/accounts/asset.js.map +1 -1
- package/dist/generated/errors/phygitalToken.d.ts +13 -18
- package/dist/generated/errors/phygitalToken.d.ts.map +1 -1
- package/dist/generated/errors/phygitalToken.js +13 -23
- package/dist/generated/errors/phygitalToken.js.map +1 -1
- package/dist/generated/index.d.ts +0 -1
- package/dist/generated/index.d.ts.map +1 -1
- package/dist/generated/index.js +0 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/instructions/executeTransfer.d.ts +10 -56
- package/dist/generated/instructions/executeTransfer.d.ts.map +1 -1
- package/dist/generated/instructions/executeTransfer.js +2 -146
- package/dist/generated/instructions/executeTransfer.js.map +1 -1
- package/dist/generated/instructions/index.d.ts +1 -1
- package/dist/generated/instructions/index.d.ts.map +1 -1
- package/dist/generated/instructions/index.js +1 -1
- package/dist/generated/instructions/index.js.map +1 -1
- package/dist/generated/instructions/initialize.d.ts +47 -0
- package/dist/generated/instructions/initialize.d.ts.map +1 -0
- package/dist/generated/instructions/initialize.js +77 -0
- package/dist/generated/instructions/initialize.js.map +1 -0
- package/dist/generated/instructions/removeOwnership.d.ts +5 -44
- package/dist/generated/instructions/removeOwnership.d.ts.map +1 -1
- package/dist/generated/instructions/removeOwnership.js +3 -129
- package/dist/generated/instructions/removeOwnership.js.map +1 -1
- package/dist/generated/programs/phygitalToken.d.ts +9 -14
- package/dist/generated/programs/phygitalToken.d.ts.map +1 -1
- package/dist/generated/programs/phygitalToken.js +11 -13
- package/dist/generated/programs/phygitalToken.js.map +1 -1
- package/dist/index.d.ts +5 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -6
- package/dist/index.js.map +1 -1
- package/dist/instructions/initialize.d.ts +17 -0
- package/dist/instructions/initialize.d.ts.map +1 -0
- package/dist/instructions/initialize.js +37 -0
- package/dist/instructions/initialize.js.map +1 -0
- package/dist/instructions/transfer.d.ts +4 -5
- package/dist/instructions/transfer.d.ts.map +1 -1
- package/dist/instructions/transfer.js +8 -19
- package/dist/instructions/transfer.js.map +1 -1
- package/dist/instructions/verifyAsset.d.ts +2 -0
- package/dist/instructions/verifyAsset.d.ts.map +1 -1
- package/dist/instructions/verifyAsset.js +5 -5
- package/dist/instructions/verifyAsset.js.map +1 -1
- package/dist/utils/consts.d.ts +0 -4
- package/dist/utils/consts.d.ts.map +1 -1
- package/dist/utils/consts.js +0 -4
- package/dist/utils/consts.js.map +1 -1
- package/dist/utils/metadata.d.ts +3 -77
- package/dist/utils/metadata.d.ts.map +1 -1
- package/dist/utils/metadata.js +46 -171
- package/dist/utils/metadata.js.map +1 -1
- package/dist/utils/passkey/webauthn.d.ts +1 -1
- package/dist/utils/passkey/webauthn.d.ts.map +1 -1
- package/dist/utils/passkey/webauthn.js +2 -3
- package/dist/utils/passkey/webauthn.js.map +1 -1
- package/dist/utils/pdas/asset.d.ts +1 -1
- package/dist/utils/pdas/asset.d.ts.map +1 -1
- package/dist/utils/pdas/asset.js +3 -3
- package/dist/utils/pdas/asset.js.map +1 -1
- package/dist/utils/verify.d.ts +0 -6
- package/dist/utils/verify.d.ts.map +1 -1
- package/dist/utils/verify.js +2 -56
- package/dist/utils/verify.js.map +1 -1
- package/package.json +2 -4
- package/dist/generated/accounts/design.d.ts +0 -21
- package/dist/generated/accounts/design.d.ts.map +0 -1
- package/dist/generated/accounts/design.js +0 -47
- package/dist/generated/accounts/design.js.map +0 -1
- package/dist/generated/instructions/createMint.d.ts +0 -81
- package/dist/generated/instructions/createMint.d.ts.map +0 -1
- package/dist/generated/instructions/createMint.js +0 -154
- package/dist/generated/instructions/createMint.js.map +0 -1
- package/dist/generated/instructions/mintToken.d.ts +0 -74
- package/dist/generated/instructions/mintToken.d.ts.map +0 -1
- package/dist/generated/instructions/mintToken.js +0 -162
- package/dist/generated/instructions/mintToken.js.map +0 -1
- package/dist/generated/pdas/design.d.ts +0 -8
- package/dist/generated/pdas/design.d.ts.map +0 -1
- package/dist/generated/pdas/design.js +0 -12
- package/dist/generated/pdas/design.js.map +0 -1
- package/dist/generated/pdas/index.d.ts +0 -2
- package/dist/generated/pdas/index.d.ts.map +0 -1
- package/dist/generated/pdas/index.js +0 -2
- package/dist/generated/pdas/index.js.map +0 -1
- package/dist/generated/pdas/programAuthority.d.ts +0 -5
- package/dist/generated/pdas/programAuthority.d.ts.map +0 -1
- package/dist/generated/pdas/programAuthority.js +0 -14
- package/dist/generated/pdas/programAuthority.js.map +0 -1
- package/dist/instructions/mint.d.ts +0 -36
- package/dist/instructions/mint.d.ts.map +0 -1
- package/dist/instructions/mint.js +0 -136
- package/dist/instructions/mint.js.map +0 -1
- package/dist/utils/assetCredential.d.ts +0 -4
- package/dist/utils/assetCredential.d.ts.map +0 -1
- package/dist/utils/assetCredential.js +0 -27
- package/dist/utils/assetCredential.js.map +0 -1
- package/dist/utils/associatedToken.d.ts +0 -3
- package/dist/utils/associatedToken.d.ts.map +0 -1
- package/dist/utils/associatedToken.js +0 -14
- package/dist/utils/associatedToken.js.map +0 -1
- package/dist/utils/gating.d.ts +0 -195
- package/dist/utils/gating.d.ts.map +0 -1
- package/dist/utils/gating.js +0 -481
- package/dist/utils/gating.js.map +0 -1
package/README.md
CHANGED
|
@@ -10,16 +10,16 @@ pnpm add phygital-token-sdk @solana/kit
|
|
|
10
10
|
|
|
11
11
|
## Authenticate with NFC device
|
|
12
12
|
|
|
13
|
-
The custom authenticator uses the compressed secp256r1 **public key** as the WebAuthn `credential.id` and `user.id`. After a tap, `response.id` is that public key
|
|
13
|
+
The custom authenticator uses the compressed secp256r1 **public key** as the WebAuthn `credential.id` and `user.id`. After a tap, `response.id` is that public key.
|
|
14
|
+
|
|
15
|
+
The on-chain asset PDA is seeded by a separate chip **`identifier`**, which is distinct from the passkey public key. Use `findAssetPda(identifier)` when you know the identifier, or `fetchAssetsByPublicKey` to look up by passkey after a tap.
|
|
14
16
|
|
|
15
17
|
```ts
|
|
16
18
|
import { createSolanaRpc } from "@solana/kit";
|
|
17
19
|
import {
|
|
18
20
|
startAuthentication,
|
|
19
21
|
verifyResponse,
|
|
20
|
-
|
|
21
|
-
findAssetPda,
|
|
22
|
-
fetchAsset,
|
|
22
|
+
fetchAssetsByPublicKey,
|
|
23
23
|
} from "phygital-token-sdk";
|
|
24
24
|
|
|
25
25
|
const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");
|
|
@@ -35,11 +35,8 @@ const { isVerified, secp256r1PublicKey } = verifyResponse({
|
|
|
35
35
|
});
|
|
36
36
|
|
|
37
37
|
if (isVerified) {
|
|
38
|
-
const asset = await
|
|
39
|
-
|
|
40
|
-
await findAssetPda(parseSecp256r1Pubkey(secp256r1PublicKey)),
|
|
41
|
-
);
|
|
42
|
-
// Continue with asset.data.owner (user's wallet address)
|
|
38
|
+
const [asset] = await fetchAssetsByPublicKey(rpc, secp256r1PublicKey);
|
|
39
|
+
// Continue with asset.owner / asset.identifier / asset.publicKey
|
|
43
40
|
}
|
|
44
41
|
```
|
|
45
42
|
|
|
@@ -5,19 +5,19 @@ export declare function getAssetDiscriminatorBytes(): ReadonlyUint8Array;
|
|
|
5
5
|
export type Asset = {
|
|
6
6
|
discriminator: ReadonlyUint8Array;
|
|
7
7
|
assetType: AssetType;
|
|
8
|
-
mint: Address;
|
|
9
8
|
owner: Address;
|
|
10
9
|
lastTransferSlot: bigint;
|
|
11
10
|
isLocked: boolean;
|
|
12
11
|
publicKey: Secp256r1Pubkey;
|
|
12
|
+
identifier: Secp256r1Pubkey;
|
|
13
13
|
};
|
|
14
14
|
export type AssetArgs = {
|
|
15
15
|
assetType: AssetTypeArgs;
|
|
16
|
-
mint: Address;
|
|
17
16
|
owner: Address;
|
|
18
17
|
lastTransferSlot: number | bigint;
|
|
19
18
|
isLocked: boolean;
|
|
20
19
|
publicKey: Secp256r1PubkeyArgs;
|
|
20
|
+
identifier: Secp256r1PubkeyArgs;
|
|
21
21
|
};
|
|
22
22
|
export declare function getAssetEncoder(): FixedSizeEncoder<AssetArgs>;
|
|
23
23
|
export declare function getAssetDecoder(): FixedSizeDecoder<Asset>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/asset.ts"],"names":[],"mappings":"AAQA,OAAO,EAKL,mBAAmB,EACnB,oBAAoB,EAcpB,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,mBAAmB,EAAE,kBAEhC,CAAC;AAEH,wBAAgB,0BAA0B,IAAI,kBAAkB,CAE/D;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,aAAa,EAAE,kBAAkB,CAAC;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/generated/accounts/asset.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,22 +10,22 @@ export function getAssetEncoder() {
|
|
|
10
10
|
return transformEncoder(getStructEncoder([
|
|
11
11
|
["discriminator", fixEncoderSize(getBytesEncoder(), 8)],
|
|
12
12
|
["assetType", getAssetTypeEncoder()],
|
|
13
|
-
["mint", getAddressEncoder()],
|
|
14
13
|
["owner", getAddressEncoder()],
|
|
15
14
|
["lastTransferSlot", getU64Encoder()],
|
|
16
15
|
["isLocked", getBooleanEncoder()],
|
|
17
16
|
["publicKey", getSecp256r1PubkeyEncoder()],
|
|
17
|
+
["identifier", getSecp256r1PubkeyEncoder()],
|
|
18
18
|
]), (value) => ({ ...value, discriminator: ASSET_DISCRIMINATOR }));
|
|
19
19
|
}
|
|
20
20
|
export function getAssetDecoder() {
|
|
21
21
|
return getStructDecoder([
|
|
22
22
|
["discriminator", fixDecoderSize(getBytesDecoder(), 8)],
|
|
23
23
|
["assetType", getAssetTypeDecoder()],
|
|
24
|
-
["mint", getAddressDecoder()],
|
|
25
24
|
["owner", getAddressDecoder()],
|
|
26
25
|
["lastTransferSlot", getU64Decoder()],
|
|
27
26
|
["isLocked", getBooleanDecoder()],
|
|
28
27
|
["publicKey", getSecp256r1PubkeyDecoder()],
|
|
28
|
+
["identifier", getSecp256r1PubkeyDecoder()],
|
|
29
29
|
]);
|
|
30
30
|
}
|
|
31
31
|
export function getAssetCodec() {
|
|
@@ -53,6 +53,6 @@ export async function fetchAllMaybeAsset(rpc, addresses, config) {
|
|
|
53
53
|
return maybeAccounts.map((maybeAccount) => decodeAsset(maybeAccount));
|
|
54
54
|
}
|
|
55
55
|
export function getAssetSize() {
|
|
56
|
-
return
|
|
56
|
+
return 116;
|
|
57
57
|
}
|
|
58
58
|
//# sourceMappingURL=asset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../src/generated/accounts/asset.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,gBAAgB,GAYjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,yBAAyB,GAK1B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,mBAAmB,GAAuB,IAAI,UAAU,CAAC;IACpE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;CACrC,CAAC,CAAC;AAEH,MAAM,UAAU,0BAA0B;IACxC,OAAO,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC1E,CAAC;AAsBD,MAAM,UAAU,eAAe;IAC7B,OAAO,gBAAgB,CACrB,gBAAgB,CAAC;QACf,CAAC,eAAe,EAAE,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACpC,CAAC,
|
|
1
|
+
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../src/generated/accounts/asset.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,24 +5,19 @@ export declare const PHYGITAL_TOKEN_ERROR__INVALID_SIGNATURE_OFFSETS = 6002;
|
|
|
5
5
|
export declare const PHYGITAL_TOKEN_ERROR__INVALID_SECP256R1_PUBLIC_KEY = 6003;
|
|
6
6
|
export declare const PHYGITAL_TOKEN_ERROR__SECP256R1_PUBKEY_MISMATCH = 6004;
|
|
7
7
|
export declare const PHYGITAL_TOKEN_ERROR__OWNER_MISMATCH = 6005;
|
|
8
|
-
export declare const
|
|
9
|
-
export declare const
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
12
|
-
export declare const
|
|
13
|
-
export declare const
|
|
14
|
-
export declare const
|
|
15
|
-
export declare const
|
|
16
|
-
export declare const
|
|
17
|
-
export declare const
|
|
18
|
-
export declare const
|
|
19
|
-
export declare const
|
|
20
|
-
export
|
|
21
|
-
export declare const PHYGITAL_TOKEN_ERROR__UNABLE_TO_PARSE_CLIENT_DATA = 6019;
|
|
22
|
-
export declare const PHYGITAL_TOKEN_ERROR__CHALLENGE_HASH_MISMATCH = 6020;
|
|
23
|
-
export declare const PHYGITAL_TOKEN_ERROR__INVALID_AUTHENTICATOR_DATA = 6021;
|
|
24
|
-
export declare const PHYGITAL_TOKEN_ERROR__USER_PRESENCE_NOT_VERIFIED = 6022;
|
|
25
|
-
export type PhygitalTokenError = typeof PHYGITAL_TOKEN_ERROR__ARITHMETIC_OVERFLOW | typeof PHYGITAL_TOKEN_ERROR__ASSET_IS_CURRENTLY_LOCKED | typeof PHYGITAL_TOKEN_ERROR__ASSET_IS_NOT_LOCKABLE | typeof PHYGITAL_TOKEN_ERROR__AUTHORITY_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__CHALLENGE_HASH_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__CLIENT_DATA_HASH_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__INVALID_AUTHENTICATOR_DATA | typeof PHYGITAL_TOKEN_ERROR__INVALID_CUSTODY_TOKEN_ACCOUNT | typeof PHYGITAL_TOKEN_ERROR__INVALID_MINT_SHAPE | typeof PHYGITAL_TOKEN_ERROR__INVALID_RECIPIENT | typeof PHYGITAL_TOKEN_ERROR__INVALID_SECP256R1_INSTRUCTION | typeof PHYGITAL_TOKEN_ERROR__INVALID_SECP256R1_PUBLIC_KEY | typeof PHYGITAL_TOKEN_ERROR__INVALID_SIGNATURE_OFFSETS | typeof PHYGITAL_TOKEN_ERROR__INVALID_SLOT_HASH | typeof PHYGITAL_TOKEN_ERROR__INVALID_SYSVAR_DATA_FORMAT | typeof PHYGITAL_TOKEN_ERROR__MAX_LENGTH_EXCEEDED | typeof PHYGITAL_TOKEN_ERROR__MISSING_INSTRUCTIONS_SYSVAR | typeof PHYGITAL_TOKEN_ERROR__OWNER_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__SECP256R1_PUBKEY_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__SIGNATURE_INDEX_OUT_OF_BOUNDS | typeof PHYGITAL_TOKEN_ERROR__STALE_TRANSFER_SLOT | typeof PHYGITAL_TOKEN_ERROR__UNABLE_TO_PARSE_CLIENT_DATA | typeof PHYGITAL_TOKEN_ERROR__USER_PRESENCE_NOT_VERIFIED;
|
|
8
|
+
export declare const PHYGITAL_TOKEN_ERROR__INVALID_SLOT_HASH = 6006;
|
|
9
|
+
export declare const PHYGITAL_TOKEN_ERROR__STALE_TRANSFER_SLOT = 6007;
|
|
10
|
+
export declare const PHYGITAL_TOKEN_ERROR__CLIENT_DATA_HASH_MISMATCH = 6008;
|
|
11
|
+
export declare const PHYGITAL_TOKEN_ERROR__MISSING_INSTRUCTIONS_SYSVAR = 6009;
|
|
12
|
+
export declare const PHYGITAL_TOKEN_ERROR__INVALID_SYSVAR_DATA_FORMAT = 6010;
|
|
13
|
+
export declare const PHYGITAL_TOKEN_ERROR__INVALID_RECIPIENT = 6011;
|
|
14
|
+
export declare const PHYGITAL_TOKEN_ERROR__ASSET_IS_CURRENTLY_LOCKED = 6012;
|
|
15
|
+
export declare const PHYGITAL_TOKEN_ERROR__ASSET_IS_NOT_LOCKABLE = 6013;
|
|
16
|
+
export declare const PHYGITAL_TOKEN_ERROR__UNABLE_TO_PARSE_CLIENT_DATA = 6014;
|
|
17
|
+
export declare const PHYGITAL_TOKEN_ERROR__CHALLENGE_HASH_MISMATCH = 6015;
|
|
18
|
+
export declare const PHYGITAL_TOKEN_ERROR__INVALID_AUTHENTICATOR_DATA = 6016;
|
|
19
|
+
export declare const PHYGITAL_TOKEN_ERROR__USER_PRESENCE_NOT_VERIFIED = 6017;
|
|
20
|
+
export type PhygitalTokenError = typeof PHYGITAL_TOKEN_ERROR__ASSET_IS_CURRENTLY_LOCKED | typeof PHYGITAL_TOKEN_ERROR__ASSET_IS_NOT_LOCKABLE | typeof PHYGITAL_TOKEN_ERROR__CHALLENGE_HASH_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__CLIENT_DATA_HASH_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__INVALID_AUTHENTICATOR_DATA | typeof PHYGITAL_TOKEN_ERROR__INVALID_RECIPIENT | typeof PHYGITAL_TOKEN_ERROR__INVALID_SECP256R1_INSTRUCTION | typeof PHYGITAL_TOKEN_ERROR__INVALID_SECP256R1_PUBLIC_KEY | typeof PHYGITAL_TOKEN_ERROR__INVALID_SIGNATURE_OFFSETS | typeof PHYGITAL_TOKEN_ERROR__INVALID_SLOT_HASH | typeof PHYGITAL_TOKEN_ERROR__INVALID_SYSVAR_DATA_FORMAT | typeof PHYGITAL_TOKEN_ERROR__MISSING_INSTRUCTIONS_SYSVAR | typeof PHYGITAL_TOKEN_ERROR__OWNER_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__SECP256R1_PUBKEY_MISMATCH | typeof PHYGITAL_TOKEN_ERROR__SIGNATURE_INDEX_OUT_OF_BOUNDS | typeof PHYGITAL_TOKEN_ERROR__STALE_TRANSFER_SLOT | typeof PHYGITAL_TOKEN_ERROR__UNABLE_TO_PARSE_CLIENT_DATA | typeof PHYGITAL_TOKEN_ERROR__USER_PRESENCE_NOT_VERIFIED;
|
|
26
21
|
export declare function getPhygitalTokenErrorMessage(code: PhygitalTokenError): string;
|
|
27
22
|
export declare function isPhygitalTokenError<TProgramErrorCode extends PhygitalTokenError>(error: unknown, transactionMessage: {
|
|
28
23
|
instructions: Record<number, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phygitalToken.d.ts","sourceRoot":"","sources":["../../../src/generated/errors/phygitalToken.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,uCAAuC,EAC5C,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,eAAO,MAAM,mDAAmD,OAAS,CAAC;AAE1E,eAAO,MAAM,mDAAmD,OAAS,CAAC;AAE1E,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,kDAAkD,OAAS,CAAC;AAEzE,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,oCAAoC,OAAS,CAAC;AAE3D,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"phygitalToken.d.ts","sourceRoot":"","sources":["../../../src/generated/errors/phygitalToken.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,uCAAuC,EAC5C,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAIrB,eAAO,MAAM,mDAAmD,OAAS,CAAC;AAE1E,eAAO,MAAM,mDAAmD,OAAS,CAAC;AAE1E,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,kDAAkD,OAAS,CAAC;AAEzE,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,oCAAoC,OAAS,CAAC;AAE3D,eAAO,MAAM,uCAAuC,OAAS,CAAC;AAE9D,eAAO,MAAM,yCAAyC,OAAS,CAAC;AAEhE,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,iDAAiD,OAAS,CAAC;AAExE,eAAO,MAAM,gDAAgD,OAAS,CAAC;AAEvE,eAAO,MAAM,uCAAuC,OAAS,CAAC;AAE9D,eAAO,MAAM,+CAA+C,OAAS,CAAC;AAEtE,eAAO,MAAM,2CAA2C,OAAS,CAAC;AAElE,eAAO,MAAM,iDAAiD,OAAS,CAAC;AAExE,eAAO,MAAM,6CAA6C,OAAS,CAAC;AAEpE,eAAO,MAAM,gDAAgD,OAAS,CAAC;AAEvE,eAAO,MAAM,gDAAgD,OAAS,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAC1B,OAAO,+CAA+C,GACtD,OAAO,2CAA2C,GAClD,OAAO,6CAA6C,GACpD,OAAO,+CAA+C,GACtD,OAAO,gDAAgD,GACvD,OAAO,uCAAuC,GAC9C,OAAO,mDAAmD,GAC1D,OAAO,kDAAkD,GACzD,OAAO,+CAA+C,GACtD,OAAO,uCAAuC,GAC9C,OAAO,gDAAgD,GACvD,OAAO,iDAAiD,GACxD,OAAO,oCAAoC,GAC3C,OAAO,+CAA+C,GACtD,OAAO,mDAAmD,GAC1D,OAAO,yCAAyC,GAChD,OAAO,iDAAiD,GACxD,OAAO,gDAAgD,CAAC;AA0B5D,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAQ7E;AAED,wBAAgB,oBAAoB,CAClC,iBAAiB,SAAS,kBAAkB,EAE5C,KAAK,EAAE,OAAO,EACd,kBAAkB,EAAE;IAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,cAAc,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC3D,EACD,IAAI,CAAC,EAAE,iBAAiB,GACvB,KAAK,IAAI,WAAW,CAAC,OAAO,uCAAuC,CAAC,GACrE,QAAQ,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAO7D"}
|
|
@@ -6,42 +6,32 @@ export const PHYGITAL_TOKEN_ERROR__INVALID_SIGNATURE_OFFSETS = 0x1772;
|
|
|
6
6
|
export const PHYGITAL_TOKEN_ERROR__INVALID_SECP256R1_PUBLIC_KEY = 0x1773;
|
|
7
7
|
export const PHYGITAL_TOKEN_ERROR__SECP256R1_PUBKEY_MISMATCH = 0x1774;
|
|
8
8
|
export const PHYGITAL_TOKEN_ERROR__OWNER_MISMATCH = 0x1775;
|
|
9
|
-
export const
|
|
10
|
-
export const
|
|
11
|
-
export const
|
|
12
|
-
export const
|
|
13
|
-
export const
|
|
14
|
-
export const
|
|
15
|
-
export const
|
|
16
|
-
export const
|
|
17
|
-
export const
|
|
18
|
-
export const
|
|
19
|
-
export const
|
|
20
|
-
export const
|
|
21
|
-
export const PHYGITAL_TOKEN_ERROR__ASSET_IS_NOT_LOCKABLE = 0x1782;
|
|
22
|
-
export const PHYGITAL_TOKEN_ERROR__UNABLE_TO_PARSE_CLIENT_DATA = 0x1783;
|
|
23
|
-
export const PHYGITAL_TOKEN_ERROR__CHALLENGE_HASH_MISMATCH = 0x1784;
|
|
24
|
-
export const PHYGITAL_TOKEN_ERROR__INVALID_AUTHENTICATOR_DATA = 0x1785;
|
|
25
|
-
export const PHYGITAL_TOKEN_ERROR__USER_PRESENCE_NOT_VERIFIED = 0x1786;
|
|
9
|
+
export const PHYGITAL_TOKEN_ERROR__INVALID_SLOT_HASH = 0x1776;
|
|
10
|
+
export const PHYGITAL_TOKEN_ERROR__STALE_TRANSFER_SLOT = 0x1777;
|
|
11
|
+
export const PHYGITAL_TOKEN_ERROR__CLIENT_DATA_HASH_MISMATCH = 0x1778;
|
|
12
|
+
export const PHYGITAL_TOKEN_ERROR__MISSING_INSTRUCTIONS_SYSVAR = 0x1779;
|
|
13
|
+
export const PHYGITAL_TOKEN_ERROR__INVALID_SYSVAR_DATA_FORMAT = 0x177a;
|
|
14
|
+
export const PHYGITAL_TOKEN_ERROR__INVALID_RECIPIENT = 0x177b;
|
|
15
|
+
export const PHYGITAL_TOKEN_ERROR__ASSET_IS_CURRENTLY_LOCKED = 0x177c;
|
|
16
|
+
export const PHYGITAL_TOKEN_ERROR__ASSET_IS_NOT_LOCKABLE = 0x177d;
|
|
17
|
+
export const PHYGITAL_TOKEN_ERROR__UNABLE_TO_PARSE_CLIENT_DATA = 0x177e;
|
|
18
|
+
export const PHYGITAL_TOKEN_ERROR__CHALLENGE_HASH_MISMATCH = 0x177f;
|
|
19
|
+
export const PHYGITAL_TOKEN_ERROR__INVALID_AUTHENTICATOR_DATA = 0x1780;
|
|
20
|
+
export const PHYGITAL_TOKEN_ERROR__USER_PRESENCE_NOT_VERIFIED = 0x1781;
|
|
26
21
|
let phygitalTokenErrorMessages;
|
|
27
22
|
if (process.env["NODE_ENV"] !== "production") {
|
|
28
23
|
phygitalTokenErrorMessages = {
|
|
29
|
-
[PHYGITAL_TOKEN_ERROR__ARITHMETIC_OVERFLOW]: `Arithmetic overflow`,
|
|
30
24
|
[PHYGITAL_TOKEN_ERROR__ASSET_IS_CURRENTLY_LOCKED]: `The owner needs to unlock the asset to enable transfer.`,
|
|
31
25
|
[PHYGITAL_TOKEN_ERROR__ASSET_IS_NOT_LOCKABLE]: `This asset is not lockable.`,
|
|
32
|
-
[PHYGITAL_TOKEN_ERROR__AUTHORITY_MISMATCH]: `Authority does not match`,
|
|
33
26
|
[PHYGITAL_TOKEN_ERROR__CHALLENGE_HASH_MISMATCH]: `Challenge hash mismatch.`,
|
|
34
27
|
[PHYGITAL_TOKEN_ERROR__CLIENT_DATA_HASH_MISMATCH]: `Client data hash mismatch`,
|
|
35
28
|
[PHYGITAL_TOKEN_ERROR__INVALID_AUTHENTICATOR_DATA]: `Authenticator data is too short to contain WebAuthn flags.`,
|
|
36
|
-
[
|
|
37
|
-
[PHYGITAL_TOKEN_ERROR__INVALID_MINT_SHAPE]: `Mint is not shaped like a phygital design mint (extensions/authorities mismatch)`,
|
|
38
|
-
[PHYGITAL_TOKEN_ERROR__INVALID_RECIPIENT]: `Recipient cannot be program_authority`,
|
|
29
|
+
[PHYGITAL_TOKEN_ERROR__INVALID_RECIPIENT]: `Recipient cannot be the default (zero) pubkey`,
|
|
39
30
|
[PHYGITAL_TOKEN_ERROR__INVALID_SECP256R1_INSTRUCTION]: `No prior secp256r1 verification instruction in this transaction matches the provided client data`,
|
|
40
31
|
[PHYGITAL_TOKEN_ERROR__INVALID_SECP256R1_PUBLIC_KEY]: `Invalid secp256r1 public key`,
|
|
41
32
|
[PHYGITAL_TOKEN_ERROR__INVALID_SIGNATURE_OFFSETS]: `Failed to deserialize secp256r1 signature offsets from the instruction data`,
|
|
42
33
|
[PHYGITAL_TOKEN_ERROR__INVALID_SLOT_HASH]: `Slot not found in SlotHashes sysvar — signature has expired or is being replayed`,
|
|
43
34
|
[PHYGITAL_TOKEN_ERROR__INVALID_SYSVAR_DATA_FORMAT]: `Invalid sysvar data format`,
|
|
44
|
-
[PHYGITAL_TOKEN_ERROR__MAX_LENGTH_EXCEEDED]: `Max length exceeded`,
|
|
45
35
|
[PHYGITAL_TOKEN_ERROR__MISSING_INSTRUCTIONS_SYSVAR]: `Missing instructions sysvar account`,
|
|
46
36
|
[PHYGITAL_TOKEN_ERROR__OWNER_MISMATCH]: `Token owner mismatch`,
|
|
47
37
|
[PHYGITAL_TOKEN_ERROR__SECP256R1_PUBKEY_MISMATCH]: `secp256r1 pubkey does not match token record`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phygitalToken.js","sourceRoot":"","sources":["../../../src/generated/errors/phygitalToken.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,cAAc,GAIf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAGtE,MAAM,CAAC,MAAM,mDAAmD,GAAG,MAAM,CAAC;AAE1E,MAAM,CAAC,MAAM,mDAAmD,GAAG,MAAM,CAAC;AAE1E,MAAM,CAAC,MAAM,+CAA+C,GAAG,MAAM,CAAC;AAEtE,MAAM,CAAC,MAAM,kDAAkD,GAAG,MAAM,CAAC;AAEzE,MAAM,CAAC,MAAM,+CAA+C,GAAG,MAAM,CAAC;AAEtE,MAAM,CAAC,MAAM,oCAAoC,GAAG,MAAM,CAAC;AAE3D,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"phygitalToken.js","sourceRoot":"","sources":["../../../src/generated/errors/phygitalToken.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,cAAc,GAIf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAGtE,MAAM,CAAC,MAAM,mDAAmD,GAAG,MAAM,CAAC;AAE1E,MAAM,CAAC,MAAM,mDAAmD,GAAG,MAAM,CAAC;AAE1E,MAAM,CAAC,MAAM,+CAA+C,GAAG,MAAM,CAAC;AAEtE,MAAM,CAAC,MAAM,kDAAkD,GAAG,MAAM,CAAC;AAEzE,MAAM,CAAC,MAAM,+CAA+C,GAAG,MAAM,CAAC;AAEtE,MAAM,CAAC,MAAM,oCAAoC,GAAG,MAAM,CAAC;AAE3D,MAAM,CAAC,MAAM,uCAAuC,GAAG,MAAM,CAAC;AAE9D,MAAM,CAAC,MAAM,yCAAyC,GAAG,MAAM,CAAC;AAEhE,MAAM,CAAC,MAAM,+CAA+C,GAAG,MAAM,CAAC;AAEtE,MAAM,CAAC,MAAM,iDAAiD,GAAG,MAAM,CAAC;AAExE,MAAM,CAAC,MAAM,gDAAgD,GAAG,MAAM,CAAC;AAEvE,MAAM,CAAC,MAAM,uCAAuC,GAAG,MAAM,CAAC;AAE9D,MAAM,CAAC,MAAM,+CAA+C,GAAG,MAAM,CAAC;AAEtE,MAAM,CAAC,MAAM,2CAA2C,GAAG,MAAM,CAAC;AAElE,MAAM,CAAC,MAAM,iDAAiD,GAAG,MAAM,CAAC;AAExE,MAAM,CAAC,MAAM,6CAA6C,GAAG,MAAM,CAAC;AAEpE,MAAM,CAAC,MAAM,gDAAgD,GAAG,MAAM,CAAC;AAEvE,MAAM,CAAC,MAAM,gDAAgD,GAAG,MAAM,CAAC;AAsBvE,IAAI,0BAA0E,CAAC;AAC/E,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;IAC7C,0BAA0B,GAAG;QAC3B,CAAC,+CAA+C,CAAC,EAAE,yDAAyD;QAC5G,CAAC,2CAA2C,CAAC,EAAE,6BAA6B;QAC5E,CAAC,6CAA6C,CAAC,EAAE,0BAA0B;QAC3E,CAAC,+CAA+C,CAAC,EAAE,2BAA2B;QAC9E,CAAC,gDAAgD,CAAC,EAAE,4DAA4D;QAChH,CAAC,uCAAuC,CAAC,EAAE,+CAA+C;QAC1F,CAAC,mDAAmD,CAAC,EAAE,kGAAkG;QACzJ,CAAC,kDAAkD,CAAC,EAAE,8BAA8B;QACpF,CAAC,+CAA+C,CAAC,EAAE,6EAA6E;QAChI,CAAC,uCAAuC,CAAC,EAAE,kFAAkF;QAC7H,CAAC,gDAAgD,CAAC,EAAE,4BAA4B;QAChF,CAAC,iDAAiD,CAAC,EAAE,qCAAqC;QAC1F,CAAC,oCAAoC,CAAC,EAAE,sBAAsB;QAC9D,CAAC,+CAA+C,CAAC,EAAE,8CAA8C;QACjG,CAAC,mDAAmD,CAAC,EAAE,6EAA6E;QACpI,CAAC,yCAAyC,CAAC,EAAE,sEAAsE;QACnH,CAAC,iDAAiD,CAAC,EAAE,mCAAmC;QACxF,CAAC,gDAAgD,CAAC,EAAE,oEAAoE;KACzH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAAwB;IACnE,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;QAC7C,OAAQ,0BAAiE,CACvE,IAAI,CACL,CAAC;IACJ,CAAC;IAED,OAAO,oDAAoD,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAGlC,KAAc,EACd,kBAEC,EACD,IAAwB;IAGxB,OAAO,cAAc,CACnB,KAAK,EACL,kBAAkB,EAClB,8BAA8B,EAC9B,IAAI,CACL,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generated/index.ts"],"names":[],"mappings":"AAQA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generated/index.ts"],"names":[],"mappings":"AAQA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
|
package/dist/generated/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generated/index.ts"],"names":[],"mappings":"AAQA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generated/index.ts"],"names":[],"mappings":"AAQA,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,22 +1,13 @@
|
|
|
1
|
-
import { type AccountMeta, type
|
|
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
3
|
import { type Secp256r1VerifyArgs, type Secp256r1VerifyArgsArgs } from "../types/index.js";
|
|
4
4
|
export declare const EXECUTE_TRANSFER_DISCRIMINATOR: ReadonlyUint8Array;
|
|
5
5
|
export declare function getExecuteTransferDiscriminatorBytes(): ReadonlyUint8Array;
|
|
6
|
-
export type ExecuteTransferInstruction<TProgram extends string = typeof PHYGITAL_TOKEN_PROGRAM_ADDRESS, TAccountRecipient extends string | AccountMeta<string> = string,
|
|
7
|
-
TAccountRecipient extends string ?
|
|
8
|
-
TAccountSender extends string ? ReadonlyAccount<TAccountSender> : TAccountSender,
|
|
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<[
|
|
7
|
+
TAccountRecipient extends string ? ReadonlyAccount<TAccountRecipient> : TAccountRecipient,
|
|
9
8
|
TAccountAsset extends string ? WritableAccount<TAccountAsset> : TAccountAsset,
|
|
10
|
-
TAccountMint extends string ? WritableAccount<TAccountMint> : TAccountMint,
|
|
11
|
-
TAccountSenderTokenAccount extends string ? WritableAccount<TAccountSenderTokenAccount> : TAccountSenderTokenAccount,
|
|
12
|
-
TAccountRecipientTokenAccount extends string ? WritableAccount<TAccountRecipientTokenAccount> : TAccountRecipientTokenAccount,
|
|
13
|
-
TAccountProgramAuthority extends string ? WritableAccount<TAccountProgramAuthority> : TAccountProgramAuthority,
|
|
14
9
|
TAccountSlotHashes extends string ? ReadonlyAccount<TAccountSlotHashes> : TAccountSlotHashes,
|
|
15
10
|
TAccountInstructionsSysvar extends string ? ReadonlyAccount<TAccountInstructionsSysvar> : TAccountInstructionsSysvar,
|
|
16
|
-
TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram,
|
|
17
|
-
TAccountAssociatedTokenProgram extends string ? ReadonlyAccount<TAccountAssociatedTokenProgram> : TAccountAssociatedTokenProgram,
|
|
18
|
-
TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,
|
|
19
|
-
TAccountTransferHookProgram extends string ? ReadonlyAccount<TAccountTransferHookProgram> : TAccountTransferHookProgram,
|
|
20
11
|
...TRemainingAccounts
|
|
21
12
|
]>;
|
|
22
13
|
export type ExecuteTransferInstructionData = {
|
|
@@ -29,60 +20,23 @@ export type ExecuteTransferInstructionDataArgs = {
|
|
|
29
20
|
export declare function getExecuteTransferInstructionDataEncoder(): Encoder<ExecuteTransferInstructionDataArgs>;
|
|
30
21
|
export declare function getExecuteTransferInstructionDataDecoder(): Decoder<ExecuteTransferInstructionData>;
|
|
31
22
|
export declare function getExecuteTransferInstructionDataCodec(): Codec<ExecuteTransferInstructionDataArgs, ExecuteTransferInstructionData>;
|
|
32
|
-
export type
|
|
33
|
-
recipient:
|
|
34
|
-
sender: Address<TAccountSender>;
|
|
23
|
+
export type ExecuteTransferInput<TAccountRecipient extends string = string, TAccountAsset extends string = string, TAccountSlotHashes extends string = string, TAccountInstructionsSysvar extends string = string> = {
|
|
24
|
+
recipient: Address<TAccountRecipient>;
|
|
35
25
|
asset: Address<TAccountAsset>;
|
|
36
|
-
mint: Address<TAccountMint>;
|
|
37
|
-
senderTokenAccount: Address<TAccountSenderTokenAccount>;
|
|
38
|
-
recipientTokenAccount: Address<TAccountRecipientTokenAccount>;
|
|
39
|
-
programAuthority?: Address<TAccountProgramAuthority>;
|
|
40
26
|
slotHashes?: Address<TAccountSlotHashes>;
|
|
41
27
|
instructionsSysvar?: Address<TAccountInstructionsSysvar>;
|
|
42
|
-
tokenProgram?: Address<TAccountTokenProgram>;
|
|
43
|
-
associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
|
|
44
|
-
systemProgram?: Address<TAccountSystemProgram>;
|
|
45
|
-
transferHookProgram?: Address<TAccountTransferHookProgram>;
|
|
46
28
|
secp256r1VerifyArgs: ExecuteTransferInstructionDataArgs["secp256r1VerifyArgs"];
|
|
47
29
|
};
|
|
48
|
-
export declare function
|
|
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?: {
|
|
49
31
|
programAddress?: TProgramAddress;
|
|
50
|
-
}):
|
|
51
|
-
export type ExecuteTransferInput<TAccountRecipient extends string = string, TAccountSender extends string = string, TAccountAsset extends string = string, TAccountMint extends string = string, TAccountSenderTokenAccount extends string = string, TAccountRecipientTokenAccount extends string = string, TAccountProgramAuthority extends string = string, TAccountSlotHashes extends string = string, TAccountInstructionsSysvar extends string = string, TAccountTokenProgram extends string = string, TAccountAssociatedTokenProgram extends string = string, TAccountSystemProgram extends string = string, TAccountTransferHookProgram extends string = string> = {
|
|
52
|
-
recipient: TransactionSigner<TAccountRecipient>;
|
|
53
|
-
sender: Address<TAccountSender>;
|
|
54
|
-
asset: Address<TAccountAsset>;
|
|
55
|
-
mint: Address<TAccountMint>;
|
|
56
|
-
senderTokenAccount: Address<TAccountSenderTokenAccount>;
|
|
57
|
-
recipientTokenAccount: Address<TAccountRecipientTokenAccount>;
|
|
58
|
-
programAuthority: Address<TAccountProgramAuthority>;
|
|
59
|
-
slotHashes?: Address<TAccountSlotHashes>;
|
|
60
|
-
instructionsSysvar?: Address<TAccountInstructionsSysvar>;
|
|
61
|
-
tokenProgram?: Address<TAccountTokenProgram>;
|
|
62
|
-
associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
|
|
63
|
-
systemProgram?: Address<TAccountSystemProgram>;
|
|
64
|
-
transferHookProgram?: Address<TAccountTransferHookProgram>;
|
|
65
|
-
secp256r1VerifyArgs: ExecuteTransferInstructionDataArgs["secp256r1VerifyArgs"];
|
|
66
|
-
};
|
|
67
|
-
export declare function getExecuteTransferInstruction<TAccountRecipient extends string, TAccountSender extends string, TAccountAsset extends string, TAccountMint extends string, TAccountSenderTokenAccount extends string, TAccountRecipientTokenAccount extends string, TAccountProgramAuthority extends string, TAccountSlotHashes extends string, TAccountInstructionsSysvar extends string, TAccountTokenProgram extends string, TAccountAssociatedTokenProgram extends string, TAccountSystemProgram extends string, TAccountTransferHookProgram extends string, TProgramAddress extends Address = typeof PHYGITAL_TOKEN_PROGRAM_ADDRESS>(input: ExecuteTransferInput<TAccountRecipient, TAccountSender, TAccountAsset, TAccountMint, TAccountSenderTokenAccount, TAccountRecipientTokenAccount, TAccountProgramAuthority, TAccountSlotHashes, TAccountInstructionsSysvar, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountTransferHookProgram>, config?: {
|
|
68
|
-
programAddress?: TProgramAddress;
|
|
69
|
-
}): ExecuteTransferInstruction<TProgramAddress, TAccountRecipient, TAccountSender, TAccountAsset, TAccountMint, TAccountSenderTokenAccount, TAccountRecipientTokenAccount, TAccountProgramAuthority, TAccountSlotHashes, TAccountInstructionsSysvar, TAccountTokenProgram, TAccountAssociatedTokenProgram, TAccountSystemProgram, TAccountTransferHookProgram>;
|
|
32
|
+
}): ExecuteTransferInstruction<TProgramAddress, TAccountRecipient, TAccountAsset, TAccountSlotHashes, TAccountInstructionsSysvar>;
|
|
70
33
|
export type ParsedExecuteTransferInstruction<TProgram extends string = typeof PHYGITAL_TOKEN_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
|
|
71
34
|
programAddress: Address<TProgram>;
|
|
72
35
|
accounts: {
|
|
73
36
|
recipient: TAccountMetas[0];
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
senderTokenAccount: TAccountMetas[4];
|
|
78
|
-
recipientTokenAccount: TAccountMetas[5];
|
|
79
|
-
programAuthority: TAccountMetas[6];
|
|
80
|
-
slotHashes: TAccountMetas[7];
|
|
81
|
-
instructionsSysvar: TAccountMetas[8];
|
|
82
|
-
tokenProgram: TAccountMetas[9];
|
|
83
|
-
associatedTokenProgram: TAccountMetas[10];
|
|
84
|
-
systemProgram: TAccountMetas[11];
|
|
85
|
-
transferHookProgram: TAccountMetas[12];
|
|
37
|
+
asset: TAccountMetas[1];
|
|
38
|
+
slotHashes: TAccountMetas[2];
|
|
39
|
+
instructionsSysvar: TAccountMetas[3];
|
|
86
40
|
};
|
|
87
41
|
data: ExecuteTransferInstructionData;
|
|
88
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeTransfer.d.ts","sourceRoot":"","sources":["../../../src/generated/instructions/executeTransfer.ts"],"names":[],"mappings":"AAQA,OAAO,EAWL,KAAK,WAAW,EAChB,KAAK,
|
|
1
|
+
{"version":3,"file":"executeTransfer.d.ts","sourceRoot":"","sources":["../../../src/generated/instructions/executeTransfer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
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
|
-
import { findProgramAuthorityPda } from "../pdas/index.js";
|
|
4
3
|
import { PHYGITAL_TOKEN_PROGRAM_ADDRESS } from "../programs/index.js";
|
|
5
4
|
import { getSecp256r1VerifyArgsDecoder, getSecp256r1VerifyArgsEncoder, } from "../types/index.js";
|
|
6
5
|
export const EXECUTE_TRANSFER_DISCRIMINATOR = new Uint8Array([233, 126, 160, 184, 235, 206, 31, 119]);
|
|
@@ -22,125 +21,16 @@ export function getExecuteTransferInstructionDataDecoder() {
|
|
|
22
21
|
export function getExecuteTransferInstructionDataCodec() {
|
|
23
22
|
return combineCodec(getExecuteTransferInstructionDataEncoder(), getExecuteTransferInstructionDataDecoder());
|
|
24
23
|
}
|
|
25
|
-
export async function getExecuteTransferInstructionAsync(input, config) {
|
|
26
|
-
const programAddress = config?.programAddress ?? PHYGITAL_TOKEN_PROGRAM_ADDRESS;
|
|
27
|
-
const originalAccounts = {
|
|
28
|
-
recipient: { value: input.recipient ?? null, isWritable: false },
|
|
29
|
-
sender: { value: input.sender ?? null, isWritable: false },
|
|
30
|
-
asset: { value: input.asset ?? null, isWritable: true },
|
|
31
|
-
mint: { value: input.mint ?? null, isWritable: true },
|
|
32
|
-
senderTokenAccount: {
|
|
33
|
-
value: input.senderTokenAccount ?? null,
|
|
34
|
-
isWritable: true,
|
|
35
|
-
},
|
|
36
|
-
recipientTokenAccount: {
|
|
37
|
-
value: input.recipientTokenAccount ?? null,
|
|
38
|
-
isWritable: true,
|
|
39
|
-
},
|
|
40
|
-
programAuthority: {
|
|
41
|
-
value: input.programAuthority ?? null,
|
|
42
|
-
isWritable: true,
|
|
43
|
-
},
|
|
44
|
-
slotHashes: { value: input.slotHashes ?? null, isWritable: false },
|
|
45
|
-
instructionsSysvar: {
|
|
46
|
-
value: input.instructionsSysvar ?? null,
|
|
47
|
-
isWritable: false,
|
|
48
|
-
},
|
|
49
|
-
tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
|
|
50
|
-
associatedTokenProgram: {
|
|
51
|
-
value: input.associatedTokenProgram ?? null,
|
|
52
|
-
isWritable: false,
|
|
53
|
-
},
|
|
54
|
-
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
55
|
-
transferHookProgram: {
|
|
56
|
-
value: input.transferHookProgram ?? null,
|
|
57
|
-
isWritable: false,
|
|
58
|
-
},
|
|
59
|
-
};
|
|
60
|
-
const accounts = originalAccounts;
|
|
61
|
-
const args = { ...input };
|
|
62
|
-
if (!accounts.programAuthority.value) {
|
|
63
|
-
accounts.programAuthority.value = await findProgramAuthorityPda();
|
|
64
|
-
}
|
|
65
|
-
if (!accounts.slotHashes.value) {
|
|
66
|
-
accounts.slotHashes.value =
|
|
67
|
-
"SysvarS1otHashes111111111111111111111111111";
|
|
68
|
-
}
|
|
69
|
-
if (!accounts.instructionsSysvar.value) {
|
|
70
|
-
accounts.instructionsSysvar.value =
|
|
71
|
-
"Sysvar1nstructions1111111111111111111111111";
|
|
72
|
-
}
|
|
73
|
-
if (!accounts.tokenProgram.value) {
|
|
74
|
-
accounts.tokenProgram.value =
|
|
75
|
-
"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
|
|
76
|
-
}
|
|
77
|
-
if (!accounts.associatedTokenProgram.value) {
|
|
78
|
-
accounts.associatedTokenProgram.value =
|
|
79
|
-
"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
|
|
80
|
-
}
|
|
81
|
-
if (!accounts.systemProgram.value) {
|
|
82
|
-
accounts.systemProgram.value =
|
|
83
|
-
"11111111111111111111111111111111";
|
|
84
|
-
}
|
|
85
|
-
if (!accounts.transferHookProgram.value) {
|
|
86
|
-
accounts.transferHookProgram.value =
|
|
87
|
-
"2jgBvsDmUW9gEsakLDEvnEFEjG1WwCUzGtNbqbtUr7xR";
|
|
88
|
-
}
|
|
89
|
-
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
90
|
-
return Object.freeze({
|
|
91
|
-
accounts: [
|
|
92
|
-
getAccountMeta("recipient", accounts.recipient),
|
|
93
|
-
getAccountMeta("sender", accounts.sender),
|
|
94
|
-
getAccountMeta("asset", accounts.asset),
|
|
95
|
-
getAccountMeta("mint", accounts.mint),
|
|
96
|
-
getAccountMeta("senderTokenAccount", accounts.senderTokenAccount),
|
|
97
|
-
getAccountMeta("recipientTokenAccount", accounts.recipientTokenAccount),
|
|
98
|
-
getAccountMeta("programAuthority", accounts.programAuthority),
|
|
99
|
-
getAccountMeta("slotHashes", accounts.slotHashes),
|
|
100
|
-
getAccountMeta("instructionsSysvar", accounts.instructionsSysvar),
|
|
101
|
-
getAccountMeta("tokenProgram", accounts.tokenProgram),
|
|
102
|
-
getAccountMeta("associatedTokenProgram", accounts.associatedTokenProgram),
|
|
103
|
-
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
104
|
-
getAccountMeta("transferHookProgram", accounts.transferHookProgram),
|
|
105
|
-
],
|
|
106
|
-
data: getExecuteTransferInstructionDataEncoder().encode(args),
|
|
107
|
-
programAddress,
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
24
|
export function getExecuteTransferInstruction(input, config) {
|
|
111
25
|
const programAddress = config?.programAddress ?? PHYGITAL_TOKEN_PROGRAM_ADDRESS;
|
|
112
26
|
const originalAccounts = {
|
|
113
27
|
recipient: { value: input.recipient ?? null, isWritable: false },
|
|
114
|
-
sender: { value: input.sender ?? null, isWritable: false },
|
|
115
28
|
asset: { value: input.asset ?? null, isWritable: true },
|
|
116
|
-
mint: { value: input.mint ?? null, isWritable: true },
|
|
117
|
-
senderTokenAccount: {
|
|
118
|
-
value: input.senderTokenAccount ?? null,
|
|
119
|
-
isWritable: true,
|
|
120
|
-
},
|
|
121
|
-
recipientTokenAccount: {
|
|
122
|
-
value: input.recipientTokenAccount ?? null,
|
|
123
|
-
isWritable: true,
|
|
124
|
-
},
|
|
125
|
-
programAuthority: {
|
|
126
|
-
value: input.programAuthority ?? null,
|
|
127
|
-
isWritable: true,
|
|
128
|
-
},
|
|
129
29
|
slotHashes: { value: input.slotHashes ?? null, isWritable: false },
|
|
130
30
|
instructionsSysvar: {
|
|
131
31
|
value: input.instructionsSysvar ?? null,
|
|
132
32
|
isWritable: false,
|
|
133
33
|
},
|
|
134
|
-
tokenProgram: { value: input.tokenProgram ?? null, isWritable: false },
|
|
135
|
-
associatedTokenProgram: {
|
|
136
|
-
value: input.associatedTokenProgram ?? null,
|
|
137
|
-
isWritable: false,
|
|
138
|
-
},
|
|
139
|
-
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
140
|
-
transferHookProgram: {
|
|
141
|
-
value: input.transferHookProgram ?? null,
|
|
142
|
-
isWritable: false,
|
|
143
|
-
},
|
|
144
34
|
};
|
|
145
35
|
const accounts = originalAccounts;
|
|
146
36
|
const args = { ...input };
|
|
@@ -152,48 +42,23 @@ export function getExecuteTransferInstruction(input, config) {
|
|
|
152
42
|
accounts.instructionsSysvar.value =
|
|
153
43
|
"Sysvar1nstructions1111111111111111111111111";
|
|
154
44
|
}
|
|
155
|
-
if (!accounts.tokenProgram.value) {
|
|
156
|
-
accounts.tokenProgram.value =
|
|
157
|
-
"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
|
|
158
|
-
}
|
|
159
|
-
if (!accounts.associatedTokenProgram.value) {
|
|
160
|
-
accounts.associatedTokenProgram.value =
|
|
161
|
-
"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
|
|
162
|
-
}
|
|
163
|
-
if (!accounts.systemProgram.value) {
|
|
164
|
-
accounts.systemProgram.value =
|
|
165
|
-
"11111111111111111111111111111111";
|
|
166
|
-
}
|
|
167
|
-
if (!accounts.transferHookProgram.value) {
|
|
168
|
-
accounts.transferHookProgram.value =
|
|
169
|
-
"2jgBvsDmUW9gEsakLDEvnEFEjG1WwCUzGtNbqbtUr7xR";
|
|
170
|
-
}
|
|
171
45
|
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
|
|
172
46
|
return Object.freeze({
|
|
173
47
|
accounts: [
|
|
174
48
|
getAccountMeta("recipient", accounts.recipient),
|
|
175
|
-
getAccountMeta("sender", accounts.sender),
|
|
176
49
|
getAccountMeta("asset", accounts.asset),
|
|
177
|
-
getAccountMeta("mint", accounts.mint),
|
|
178
|
-
getAccountMeta("senderTokenAccount", accounts.senderTokenAccount),
|
|
179
|
-
getAccountMeta("recipientTokenAccount", accounts.recipientTokenAccount),
|
|
180
|
-
getAccountMeta("programAuthority", accounts.programAuthority),
|
|
181
50
|
getAccountMeta("slotHashes", accounts.slotHashes),
|
|
182
51
|
getAccountMeta("instructionsSysvar", accounts.instructionsSysvar),
|
|
183
|
-
getAccountMeta("tokenProgram", accounts.tokenProgram),
|
|
184
|
-
getAccountMeta("associatedTokenProgram", accounts.associatedTokenProgram),
|
|
185
|
-
getAccountMeta("systemProgram", accounts.systemProgram),
|
|
186
|
-
getAccountMeta("transferHookProgram", accounts.transferHookProgram),
|
|
187
52
|
],
|
|
188
53
|
data: getExecuteTransferInstructionDataEncoder().encode(args),
|
|
189
54
|
programAddress,
|
|
190
55
|
});
|
|
191
56
|
}
|
|
192
57
|
export function parseExecuteTransferInstruction(instruction) {
|
|
193
|
-
if (instruction.accounts.length <
|
|
58
|
+
if (instruction.accounts.length < 4) {
|
|
194
59
|
throw new SolanaError(SOLANA_ERROR__PROGRAM_CLIENTS__INSUFFICIENT_ACCOUNT_METAS, {
|
|
195
60
|
actualAccountMetas: instruction.accounts.length,
|
|
196
|
-
expectedAccountMetas:
|
|
61
|
+
expectedAccountMetas: 4,
|
|
197
62
|
});
|
|
198
63
|
}
|
|
199
64
|
let accountIndex = 0;
|
|
@@ -206,18 +71,9 @@ export function parseExecuteTransferInstruction(instruction) {
|
|
|
206
71
|
programAddress: instruction.programAddress,
|
|
207
72
|
accounts: {
|
|
208
73
|
recipient: getNextAccount(),
|
|
209
|
-
sender: getNextAccount(),
|
|
210
74
|
asset: getNextAccount(),
|
|
211
|
-
mint: getNextAccount(),
|
|
212
|
-
senderTokenAccount: getNextAccount(),
|
|
213
|
-
recipientTokenAccount: getNextAccount(),
|
|
214
|
-
programAuthority: getNextAccount(),
|
|
215
75
|
slotHashes: getNextAccount(),
|
|
216
76
|
instructionsSysvar: getNextAccount(),
|
|
217
|
-
tokenProgram: getNextAccount(),
|
|
218
|
-
associatedTokenProgram: getNextAccount(),
|
|
219
|
-
systemProgram: getNextAccount(),
|
|
220
|
-
transferHookProgram: getNextAccount(),
|
|
221
77
|
},
|
|
222
78
|
data: getExecuteTransferInstructionDataDecoder().decode(instruction.data),
|
|
223
79
|
};
|