@exponent-labs/exponent-pda 0.1.6 → 0.1.8

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/build/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export { ExponentPDA } from "./pda";
2
+ export { ExponentOrderbookPDA } from "./pda";
package/build/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExponentPDA = void 0;
3
+ exports.ExponentOrderbookPDA = exports.ExponentPDA = void 0;
4
4
  var pda_1 = require("./pda");
5
5
  Object.defineProperty(exports, "ExponentPDA", { enumerable: true, get: function () { return pda_1.ExponentPDA; } });
6
+ var pda_2 = require("./pda");
7
+ Object.defineProperty(exports, "ExponentOrderbookPDA", { enumerable: true, get: function () { return pda_2.ExponentOrderbookPDA; } });
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6BAAmC;AAA1B,kGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6BAAmC;AAA1B,kGAAA,WAAW,OAAA;AACpB,6BAA4C;AAAnC,2GAAA,oBAAoB,OAAA"}
package/build/pda.d.ts CHANGED
@@ -62,3 +62,28 @@ export declare class ExponentPDA {
62
62
  owner: web3.PublicKey;
63
63
  }): web3.PublicKey;
64
64
  }
65
+ export declare class ExponentOrderbookPDA {
66
+ programId: web3.PublicKey;
67
+ constructor(programId?: web3.PublicKey);
68
+ private findProgramAddressSync;
69
+ /** Identifier for the market is derived from the vault that uniquely has a PT token */
70
+ orderbook({ vault, seedId }: {
71
+ vault: web3.PublicKey;
72
+ seedId: number;
73
+ }): web3.PublicKey;
74
+ /** Orderbook-owned escrow account for SY tokens. Used as an interchange between the SY program and the end-user */
75
+ orderbookEscrowSy({ orderbook }: {
76
+ orderbook: web3.PublicKey;
77
+ }): web3.PublicKey;
78
+ /** Orderbook-owned escrow account for YT tokens. Used as an interchange between the SY program and the end-user */
79
+ orderbookEscrowYt({ orderbook }: {
80
+ orderbook: web3.PublicKey;
81
+ }): web3.PublicKey;
82
+ /** Orderbook-owned escrow account for PT tokens */
83
+ orderbookEscrowPt({ orderbook }: {
84
+ orderbook: web3.PublicKey;
85
+ }): web3.PublicKey;
86
+ orderbookCpiAccounts({ orderbook }: {
87
+ orderbook: web3.PublicKey;
88
+ }): web3.PublicKey;
89
+ }
package/build/pda.js CHANGED
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExponentPDA = void 0;
3
+ exports.ExponentOrderbookPDA = exports.ExponentPDA = void 0;
4
4
  const anchor_1 = require("@coral-xyz/anchor");
5
5
  const exponent_idl_1 = require("@exponent-labs/exponent-idl");
6
+ const exponent_orderbook_idl_1 = require("@exponent-labs/exponent-orderbook-idl");
6
7
  const spl_token_1 = require("@solana/spl-token");
7
8
  class ExponentPDA {
8
9
  programId;
@@ -74,4 +75,36 @@ class ExponentPDA {
74
75
  }
75
76
  }
76
77
  exports.ExponentPDA = ExponentPDA;
78
+ class ExponentOrderbookPDA {
79
+ programId;
80
+ constructor(programId = new anchor_1.web3.PublicKey(exponent_orderbook_idl_1.PROGRAM_ID)) {
81
+ this.programId = programId;
82
+ }
83
+ findProgramAddressSync(seeds) {
84
+ return anchor_1.web3.PublicKey.findProgramAddressSync(seeds, this.programId)[0];
85
+ }
86
+ /** Identifier for the market is derived from the vault that uniquely has a PT token */
87
+ orderbook({ vault, seedId }) {
88
+ let seedBuffer = new ArrayBuffer(4);
89
+ const view = new DataView(seedBuffer);
90
+ view.setUint32(0, seedId, true);
91
+ return this.findProgramAddressSync([Buffer.from("orderbook"), vault.toBuffer(), Buffer.from(view.buffer)]);
92
+ }
93
+ /** Orderbook-owned escrow account for SY tokens. Used as an interchange between the SY program and the end-user */
94
+ orderbookEscrowSy({ orderbook }) {
95
+ return this.findProgramAddressSync([Buffer.from("escrow_sy"), orderbook.toBuffer()]);
96
+ }
97
+ /** Orderbook-owned escrow account for YT tokens. Used as an interchange between the SY program and the end-user */
98
+ orderbookEscrowYt({ orderbook }) {
99
+ return this.findProgramAddressSync([Buffer.from("escrow_yt"), orderbook.toBuffer()]);
100
+ }
101
+ /** Orderbook-owned escrow account for PT tokens */
102
+ orderbookEscrowPt({ orderbook }) {
103
+ return this.findProgramAddressSync([Buffer.from("escrow_pt"), orderbook.toBuffer()]);
104
+ }
105
+ orderbookCpiAccounts({ orderbook }) {
106
+ return this.findProgramAddressSync([Buffer.from("cpi_accounts_orderbook"), orderbook.toBuffer()]);
107
+ }
108
+ }
109
+ exports.ExponentOrderbookPDA = ExponentOrderbookPDA;
77
110
  //# sourceMappingURL=pda.js.map
package/build/pda.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pda.js","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pda.js","sourceRoot":"","sources":["../src/pda.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exponent-labs/exponent-pda",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "license": "AGPL-3.0",
@@ -9,7 +9,8 @@
9
9
  },
10
10
  "dependencies": {
11
11
  "@coral-xyz/anchor": "0.30.0",
12
- "@exponent-labs/exponent-idl": "0.1.6",
12
+ "@exponent-labs/exponent-idl": "0.1.8",
13
+ "@exponent-labs/exponent-orderbook-idl": "0.1.8",
13
14
  "@solana/spl-token": "0.4.6"
14
15
  },
15
16
  "devDependencies": {
package/src/index.ts CHANGED
@@ -1 +1,2 @@
1
1
  export { ExponentPDA } from "./pda"
2
+ export { ExponentOrderbookPDA } from "./pda"
package/src/pda.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { web3 } from "@coral-xyz/anchor"
2
2
  import { PROGRAM_ID } from "@exponent-labs/exponent-idl"
3
+ import { PROGRAM_ID as EXPONENT_ORDERBOOK_PROGRAM_ID} from "@exponent-labs/exponent-orderbook-idl"
3
4
  import { TOKEN_PROGRAM_ID, getAssociatedTokenAddressSync } from "@solana/spl-token"
4
5
 
5
6
  export class ExponentPDA {
@@ -84,3 +85,37 @@ export class ExponentPDA {
84
85
  return this.findProgramAddressSync([Buffer.from("lp_position"), market.toBuffer(), owner.toBuffer()])
85
86
  }
86
87
  }
88
+
89
+ export class ExponentOrderbookPDA {
90
+ constructor(public programId: web3.PublicKey = new web3.PublicKey(EXPONENT_ORDERBOOK_PROGRAM_ID)) {}
91
+
92
+ private findProgramAddressSync(seeds: Buffer[]) {
93
+ return web3.PublicKey.findProgramAddressSync(seeds, this.programId)[0]
94
+ }
95
+
96
+ /** Identifier for the market is derived from the vault that uniquely has a PT token */
97
+ orderbook({ vault, seedId }: { vault: web3.PublicKey, seedId: number }) {
98
+ let seedBuffer = new ArrayBuffer(4);
99
+ const view = new DataView(seedBuffer);
100
+ view.setUint32(0, seedId, true);
101
+ return this.findProgramAddressSync([Buffer.from("orderbook"), vault.toBuffer(), Buffer.from(view.buffer)])
102
+ }
103
+ /** Orderbook-owned escrow account for SY tokens. Used as an interchange between the SY program and the end-user */
104
+ orderbookEscrowSy({ orderbook }: { orderbook: web3.PublicKey }) {
105
+ return this.findProgramAddressSync([Buffer.from("escrow_sy"), orderbook.toBuffer()])
106
+ }
107
+
108
+ /** Orderbook-owned escrow account for YT tokens. Used as an interchange between the SY program and the end-user */
109
+ orderbookEscrowYt({ orderbook }: { orderbook: web3.PublicKey }) {
110
+ return this.findProgramAddressSync([Buffer.from("escrow_yt"), orderbook.toBuffer()])
111
+ }
112
+
113
+ /** Orderbook-owned escrow account for PT tokens */
114
+ orderbookEscrowPt({ orderbook }: { orderbook: web3.PublicKey }) {
115
+ return this.findProgramAddressSync([Buffer.from("escrow_pt"), orderbook.toBuffer()])
116
+ }
117
+
118
+ orderbookCpiAccounts({ orderbook }: { orderbook: web3.PublicKey }) {
119
+ return this.findProgramAddressSync([Buffer.from("cpi_accounts_orderbook"), orderbook.toBuffer()])
120
+ }
121
+ }
package/tsconfig.json CHANGED
@@ -14,5 +14,5 @@
14
14
  },
15
15
  "include": ["src"],
16
16
  "exclude": ["build"],
17
- "references": [{ "path": "../exponent-idl" }]
17
+ "references": [{ "path": "../exponent-idl" }, { "path": "../exponent-orderbook-idl" }]
18
18
  }