@triadxyz/poseidons-protocol 0.0.4 → 0.0.6

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/index.d.ts CHANGED
@@ -48,7 +48,14 @@ export default class PoseidonsProtocolClient {
48
48
  * Add Poseidon rewards
49
49
  * @param mint - The mint of the Poseidon
50
50
  * @param amount - The amount of rewards to add
51
+ * @param boost - Whether to boost the Poseidon
51
52
  * @returns The transaction signature or versioned transaction
52
53
  */
53
- addPoseidonRewards(mint: PublicKey, amount: number): Promise<string | import("@solana/web3.js").VersionedTransaction>;
54
+ addPoseidonRewards(mint: PublicKey, amount: number, boost: boolean): Promise<string | import("@solana/web3.js").VersionedTransaction>;
55
+ /**
56
+ * Burn NFT
57
+ * @param mint - The mint of the Poseidon
58
+ * @returns The transaction signature or versioned transaction
59
+ */
60
+ burnNft(mint: PublicKey): Promise<string | import("@solana/web3.js").VersionedTransaction>;
54
61
  }
package/dist/index.js CHANGED
@@ -138,13 +138,14 @@ class PoseidonsProtocolClient {
138
138
  * Add Poseidon rewards
139
139
  * @param mint - The mint of the Poseidon
140
140
  * @param amount - The amount of rewards to add
141
+ * @param boost - Whether to boost the Poseidon
141
142
  * @returns The transaction signature or versioned transaction
142
143
  */
143
- addPoseidonRewards(mint, amount) {
144
+ addPoseidonRewards(mint, amount, boost) {
144
145
  return __awaiter(this, void 0, void 0, function* () {
145
146
  const ixs = [
146
147
  yield this.program.methods
147
- .addPoseidonRewards(new anchor_1.BN(amount * Math.pow(10, 6)))
148
+ .addPoseidonRewards(new anchor_1.BN(amount * Math.pow(10, 6)), boost)
148
149
  .accounts({
149
150
  signer: this.program.provider.publicKey,
150
151
  poseidon: (0, pda_1.getPoseidonPDA)(mint)
@@ -154,5 +155,24 @@ class PoseidonsProtocolClient {
154
155
  return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
155
156
  });
156
157
  }
158
+ /**
159
+ * Burn NFT
160
+ * @param mint - The mint of the Poseidon
161
+ * @returns The transaction signature or versioned transaction
162
+ */
163
+ burnNft(mint) {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ const ixs = [
166
+ yield this.program.methods
167
+ .burnNft()
168
+ .accounts({
169
+ poseidonAsset: mint,
170
+ corePoseidonCollection: constants_1.CORE_POSEIDON_COLLECTION
171
+ })
172
+ .instruction()
173
+ ];
174
+ return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
175
+ });
176
+ }
157
177
  }
158
178
  exports.default = PoseidonsProtocolClient;
@@ -119,6 +119,10 @@
119
119
  {
120
120
  "name": "rewards",
121
121
  "type": "u64"
122
+ },
123
+ {
124
+ "name": "boost",
125
+ "type": "bool"
122
126
  }
123
127
  ]
124
128
  },
@@ -227,6 +231,71 @@
227
231
  }
228
232
  ]
229
233
  },
234
+ {
235
+ "name": "burn_nft",
236
+ "discriminator": [119, 13, 183, 17, 194, 243, 38, 31],
237
+ "accounts": [
238
+ {
239
+ "name": "owner",
240
+ "writable": true,
241
+ "signer": true,
242
+ "relations": ["poseidon_asset", "burn_poseidon_asset"]
243
+ },
244
+ {
245
+ "name": "poseidon",
246
+ "writable": true,
247
+ "pda": {
248
+ "seeds": [
249
+ {
250
+ "kind": "const",
251
+ "value": [112, 111, 115, 101, 105, 100, 111, 110]
252
+ },
253
+ {
254
+ "kind": "account",
255
+ "path": "poseidon_asset"
256
+ }
257
+ ]
258
+ }
259
+ },
260
+ {
261
+ "name": "burn_poseidon",
262
+ "writable": true,
263
+ "pda": {
264
+ "seeds": [
265
+ {
266
+ "kind": "const",
267
+ "value": [112, 111, 115, 101, 105, 100, 111, 110]
268
+ },
269
+ {
270
+ "kind": "account",
271
+ "path": "burn_poseidon_asset"
272
+ }
273
+ ]
274
+ }
275
+ },
276
+ {
277
+ "name": "poseidon_asset",
278
+ "writable": true
279
+ },
280
+ {
281
+ "name": "burn_poseidon_asset",
282
+ "writable": true
283
+ },
284
+ {
285
+ "name": "core_poseidon_collection",
286
+ "writable": true
287
+ },
288
+ {
289
+ "name": "metaplex_program",
290
+ "address": "CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d"
291
+ },
292
+ {
293
+ "name": "system_program",
294
+ "address": "11111111111111111111111111111111"
295
+ }
296
+ ],
297
+ "args": []
298
+ },
230
299
  {
231
300
  "name": "claim_poseidon_rewards",
232
301
  "discriminator": [33, 115, 129, 128, 105, 140, 63, 92],
@@ -395,6 +464,11 @@
395
464
  "code": 6000,
396
465
  "name": "InvalidTrdToBurn",
397
466
  "msg": "Invalid TRD to burn"
467
+ },
468
+ {
469
+ "code": 6001,
470
+ "name": "InvalidNftToBurn",
471
+ "msg": "Invalid nft to burn"
398
472
  }
399
473
  ],
400
474
  "types": [
@@ -535,10 +609,18 @@
535
609
  "name": "number",
536
610
  "type": "u16"
537
611
  },
612
+ {
613
+ "name": "boost",
614
+ "type": "bool"
615
+ },
616
+ {
617
+ "name": "poseidon_burned",
618
+ "type": "u16"
619
+ },
538
620
  {
539
621
  "name": "padding",
540
622
  "type": {
541
- "array": ["u8", 22]
623
+ "array": ["u8", 19]
542
624
  }
543
625
  }
544
626
  ]
@@ -21,4 +21,5 @@ export type Poseidon = {
21
21
  power: number;
22
22
  trdBurned: number;
23
23
  number: number;
24
+ boost: boolean;
24
25
  };
@@ -154,6 +154,10 @@ export type PoseidonsProtocol = {
154
154
  {
155
155
  name: 'rewards';
156
156
  type: 'u64';
157
+ },
158
+ {
159
+ name: 'boost';
160
+ type: 'bool';
157
161
  }
158
162
  ];
159
163
  },
@@ -332,6 +336,71 @@ export type PoseidonsProtocol = {
332
336
  }
333
337
  ];
334
338
  },
339
+ {
340
+ name: 'burnNft';
341
+ discriminator: [119, 13, 183, 17, 194, 243, 38, 31];
342
+ accounts: [
343
+ {
344
+ name: 'owner';
345
+ writable: true;
346
+ signer: true;
347
+ relations: ['poseidonAsset', 'burnPoseidonAsset'];
348
+ },
349
+ {
350
+ name: 'poseidon';
351
+ writable: true;
352
+ pda: {
353
+ seeds: [
354
+ {
355
+ kind: 'const';
356
+ value: [112, 111, 115, 101, 105, 100, 111, 110];
357
+ },
358
+ {
359
+ kind: 'account';
360
+ path: 'poseidonAsset';
361
+ }
362
+ ];
363
+ };
364
+ },
365
+ {
366
+ name: 'burnPoseidon';
367
+ writable: true;
368
+ pda: {
369
+ seeds: [
370
+ {
371
+ kind: 'const';
372
+ value: [112, 111, 115, 101, 105, 100, 111, 110];
373
+ },
374
+ {
375
+ kind: 'account';
376
+ path: 'burnPoseidonAsset';
377
+ }
378
+ ];
379
+ };
380
+ },
381
+ {
382
+ name: 'poseidonAsset';
383
+ writable: true;
384
+ },
385
+ {
386
+ name: 'burnPoseidonAsset';
387
+ writable: true;
388
+ },
389
+ {
390
+ name: 'corePoseidonCollection';
391
+ writable: true;
392
+ },
393
+ {
394
+ name: 'metaplexProgram';
395
+ address: 'CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d';
396
+ },
397
+ {
398
+ name: 'systemProgram';
399
+ address: '11111111111111111111111111111111';
400
+ }
401
+ ];
402
+ args: [];
403
+ },
335
404
  {
336
405
  name: 'claimPoseidonRewards';
337
406
  discriminator: [33, 115, 129, 128, 105, 140, 63, 92];
@@ -570,6 +639,11 @@ export type PoseidonsProtocol = {
570
639
  code: 6000;
571
640
  name: 'invalidTrdToBurn';
572
641
  msg: 'Invalid TRD to burn';
642
+ },
643
+ {
644
+ code: 6001;
645
+ name: 'invalidNftToBurn';
646
+ msg: 'Invalid nft to burn';
573
647
  }
574
648
  ];
575
649
  types: [
@@ -710,10 +784,18 @@ export type PoseidonsProtocol = {
710
784
  name: 'number';
711
785
  type: 'u16';
712
786
  },
787
+ {
788
+ name: 'boost';
789
+ type: 'bool';
790
+ },
791
+ {
792
+ name: 'poseidonBurned';
793
+ type: 'u16';
794
+ },
713
795
  {
714
796
  name: 'padding';
715
797
  type: {
716
- array: ['u8', 22];
798
+ array: ['u8', 19];
717
799
  };
718
800
  }
719
801
  ];
@@ -19,7 +19,8 @@ const formatPoseidon = (account, address) => {
19
19
  rewardsAvailable: account.rewardsAvailable.toNumber() / Math.pow(10, 6),
20
20
  power: account.power.toNumber(),
21
21
  trdBurned: account.trdBurned.toNumber() / Math.pow(10, 6),
22
- number: account.number
22
+ number: account.number,
23
+ boost: account.boost
23
24
  };
24
25
  };
25
26
  exports.formatPoseidon = formatPoseidon;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/poseidons-protocol",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",