@exponent-labs/exponent-vaults-pda 0.9.16 → 0.9.18

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.
@@ -1,5 +1,6 @@
1
1
  import { web3 } from "@coral-xyz/anchor";
2
2
  export type SeedId = ReadonlyArray<number> | Uint8Array | Buffer;
3
+ export declare const METAPLEX_METADATA_PROGRAM_ID: web3.PublicKey;
3
4
  /**
4
5
  * Helper class for deriving Program Derived Addresses (PDAs) for Exponent Vaults
5
6
  */
@@ -21,6 +22,13 @@ export declare class ExponentVaultsPDA {
21
22
  mintLp({ vault }: {
22
23
  vault: web3.PublicKey;
23
24
  }): [web3.PublicKey, number];
25
+ /**
26
+ * Derive the Metaplex metadata PDA for an LP mint.
27
+ * Seeds: ["metadata", token_metadata_program, mint_lp]
28
+ */
29
+ lpMetadata({ mintLp }: {
30
+ mintLp: web3.PublicKey;
31
+ }): [web3.PublicKey, number];
24
32
  /**
25
33
  * Derive the LP token escrow PDA for a vault
26
34
  * Seeds: ["token_lp_escrow", vault_address]
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SquadsPDA = exports.ExponentVaultsPDA = void 0;
3
+ exports.SquadsPDA = exports.ExponentVaultsPDA = exports.METAPLEX_METADATA_PROGRAM_ID = void 0;
4
4
  const anchor_1 = require("@coral-xyz/anchor");
5
5
  const exponent_vaults_idl_1 = require("@exponent-labs/exponent-vaults-idl");
6
+ exports.METAPLEX_METADATA_PROGRAM_ID = new anchor_1.web3.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s");
6
7
  function encodeBigIntLE(byteLength, value) {
7
8
  const buffer = Buffer.alloc(byteLength);
8
9
  let remaining = value;
@@ -37,6 +38,13 @@ class ExponentVaultsPDA {
37
38
  mintLp({ vault }) {
38
39
  return this.findProgramAddressSync([Buffer.from("mint_lp"), vault.toBuffer()]);
39
40
  }
41
+ /**
42
+ * Derive the Metaplex metadata PDA for an LP mint.
43
+ * Seeds: ["metadata", token_metadata_program, mint_lp]
44
+ */
45
+ lpMetadata({ mintLp }) {
46
+ return anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from("metadata"), exports.METAPLEX_METADATA_PROGRAM_ID.toBuffer(), mintLp.toBuffer()], exports.METAPLEX_METADATA_PROGRAM_ID);
47
+ }
40
48
  /**
41
49
  * Derive the LP token escrow PDA for a vault
42
50
  * Seeds: ["token_lp_escrow", vault_address]
@@ -1 +1 @@
1
- {"version":3,"file":"exponent-vaults-pda.js","sourceRoot":"","sources":["../src/exponent-vaults-pda.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exponent-vaults-pda.js","sourceRoot":"","sources":["../src/exponent-vaults-pda.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exponent-labs/exponent-vaults-pda",
3
- "version": "0.9.16",
3
+ "version": "0.9.18",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "license": "AGPL-3.0",
@@ -9,7 +9,7 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "@coral-xyz/anchor": "0.30.0",
12
- "@exponent-labs/exponent-vaults-idl": "0.9.16"
12
+ "@exponent-labs/exponent-vaults-idl": "0.9.18"
13
13
  },
14
14
  "devDependencies": {
15
15
  "typescript": "5.4.5"
@@ -4,6 +4,8 @@ import { PROGRAM_ID } from "@exponent-labs/exponent-vaults-idl"
4
4
 
5
5
  export type SeedId = ReadonlyArray<number> | Uint8Array | Buffer
6
6
 
7
+ export const METAPLEX_METADATA_PROGRAM_ID = new web3.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s")
8
+
7
9
  function encodeBigIntLE(byteLength: number, value: bigint): Buffer {
8
10
  const buffer = Buffer.alloc(byteLength)
9
11
  let remaining = value
@@ -42,6 +44,17 @@ export class ExponentVaultsPDA {
42
44
  return this.findProgramAddressSync([Buffer.from("mint_lp"), vault.toBuffer()])
43
45
  }
44
46
 
47
+ /**
48
+ * Derive the Metaplex metadata PDA for an LP mint.
49
+ * Seeds: ["metadata", token_metadata_program, mint_lp]
50
+ */
51
+ lpMetadata({ mintLp }: { mintLp: web3.PublicKey }): [web3.PublicKey, number] {
52
+ return web3.PublicKey.findProgramAddressSync(
53
+ [Buffer.from("metadata"), METAPLEX_METADATA_PROGRAM_ID.toBuffer(), mintLp.toBuffer()],
54
+ METAPLEX_METADATA_PROGRAM_ID,
55
+ )
56
+ }
57
+
45
58
  /**
46
59
  * Derive the LP token escrow PDA for a vault
47
60
  * Seeds: ["token_lp_escrow", vault_address]