@triadxyz/poseidons-protocol 0.3.4 → 0.3.5

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.
@@ -53,11 +53,13 @@ export default class Wheel {
53
53
  * @param spins - The number of spins
54
54
  * @returns The transaction signature or versioned transaction
55
55
  */
56
- spinWheel({ user, id, spins }: {
56
+ spinWheel({ user, id, spins, refer, newUser }: {
57
57
  user: PublicKey;
58
58
  id: number;
59
59
  spins: number;
60
- }): Promise<string | import("@solana/web3.js").VersionedTransaction | {
60
+ refer: PublicKey;
61
+ newUser: boolean;
62
+ }): Promise<{
61
63
  transaction: string;
62
64
  prize: number[];
63
65
  }>;
@@ -102,12 +102,20 @@ class Wheel {
102
102
  * @param spins - The number of spins
103
103
  * @returns The transaction signature or versioned transaction
104
104
  */
105
- spinWheel({ user, id, spins }) {
106
- var _a, _b;
105
+ spinWheel({ user, id, spins, refer, newUser }) {
107
106
  return __awaiter(this, void 0, void 0, function* () {
108
107
  const userPDA = (0, pda_1.getUserPDA)(user);
109
108
  const wheelPDA = (0, pda_1.getWheelPDA)(id);
110
109
  const instructions = [];
110
+ if (newUser) {
111
+ instructions.push(yield this.program.methods
112
+ .createUser(refer)
113
+ .accounts({
114
+ signer: this.program.provider.publicKey,
115
+ payer: this.rpcOptions.payer
116
+ })
117
+ .instruction());
118
+ }
111
119
  for (let i = 0; i < spins; i++) {
112
120
  instructions.push(yield this.program.methods
113
121
  .spinWheel()
@@ -118,10 +126,6 @@ class Wheel {
118
126
  })
119
127
  .instruction());
120
128
  }
121
- if (this.program.provider.publicKey.toBase58() !==
122
- ((_b = (_a = this.rpcOptions) === null || _a === void 0 ? void 0 : _a.payer) === null || _b === void 0 ? void 0 : _b.toBase58())) {
123
- return (0, sendVersionedTransaction_1.default)(this.program, instructions, this.rpcOptions);
124
- }
125
129
  const transaction = (yield (0, sendVersionedTransaction_1.default)(this.program, instructions, this.rpcOptions));
126
130
  const { blockhash, lastValidBlockHeight } = yield this.program.provider.connection.getLatestBlockhash();
127
131
  yield this.program.provider.connection.confirmTransaction({
@@ -678,8 +678,7 @@
678
678
  "accounts": [
679
679
  {
680
680
  "name": "signer",
681
- "writable": true,
682
- "signer": true
681
+ "writable": true
683
682
  },
684
683
  {
685
684
  "name": "payer",
@@ -912,7 +912,6 @@ export type PoseidonsProtocol = {
912
912
  {
913
913
  name: 'signer';
914
914
  writable: true;
915
- signer: true;
916
915
  },
917
916
  {
918
917
  name: 'payer';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/poseidons-protocol",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",