@triadxyz/poseidons-protocol 0.3.5 → 0.3.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.
@@ -52,7 +52,7 @@ class Chest {
52
52
  */
53
53
  createChest({ id, price, amount }) {
54
54
  return __awaiter(this, void 0, void 0, function* () {
55
- const instructions = [
55
+ const ixs = [
56
56
  yield this.program.methods
57
57
  .createChest({
58
58
  id: new anchor_1.BN(id),
@@ -64,7 +64,7 @@ class Chest {
64
64
  })
65
65
  .instruction()
66
66
  ];
67
- return (0, sendVersionedTransaction_1.default)(this.program, instructions, this.rpcOptions);
67
+ return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
68
68
  });
69
69
  }
70
70
  /**
@@ -76,7 +76,7 @@ class Chest {
76
76
  */
77
77
  placeChestBid({ id, coins }) {
78
78
  return __awaiter(this, void 0, void 0, function* () {
79
- const instructions = [
79
+ const ixs = [
80
80
  yield this.program.methods
81
81
  .placeChestBid({
82
82
  id: new anchor_1.BN(id),
@@ -88,7 +88,7 @@ class Chest {
88
88
  })
89
89
  .instruction()
90
90
  ];
91
- return (0, sendVersionedTransaction_1.default)(this.program, instructions, this.rpcOptions);
91
+ return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
92
92
  });
93
93
  }
94
94
  /**
@@ -100,7 +100,7 @@ class Chest {
100
100
  */
101
101
  addChestWinners({ id, grandWinner, top10 }) {
102
102
  return __awaiter(this, void 0, void 0, function* () {
103
- const instructions = [
103
+ const ixs = [
104
104
  yield this.program.methods
105
105
  .addChestWinners({
106
106
  id: new anchor_1.BN(id),
@@ -118,7 +118,7 @@ class Chest {
118
118
  })
119
119
  .instruction()
120
120
  ];
121
- return (0, sendVersionedTransaction_1.default)(this.program, instructions, this.rpcOptions);
121
+ return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
122
122
  });
123
123
  }
124
124
  }
@@ -17,8 +17,10 @@ export default class Game {
17
17
  * @param spins - The number of spins to add
18
18
  * @returns The transaction signature or versioned transaction
19
19
  */
20
- addSpin({ user, spins }: {
20
+ addSpin({ user, spins, refer, newUser }: {
21
21
  user: PublicKey;
22
22
  spins: number;
23
+ refer: PublicKey;
24
+ newUser: boolean;
23
25
  }): Promise<string | import("@solana/web3.js").VersionedTransaction>;
24
26
  }
@@ -30,19 +30,27 @@ class Game {
30
30
  * @param spins - The number of spins to add
31
31
  * @returns The transaction signature or versioned transaction
32
32
  */
33
- addSpin({ user, spins }) {
33
+ addSpin({ user, spins, refer, newUser }) {
34
34
  return __awaiter(this, void 0, void 0, function* () {
35
35
  const userPDA = (0, pda_1.getUserPDA)(user);
36
- const instructions = [
37
- yield this.program.methods
38
- .addSpin(new anchor_1.BN(spins))
36
+ const ixs = [];
37
+ if (newUser) {
38
+ ixs.push(yield this.program.methods
39
+ .createUser(refer)
39
40
  .accounts({
40
41
  signer: this.program.provider.publicKey,
41
- user: userPDA
42
+ payer: this.rpcOptions.payer
42
43
  })
43
- .instruction()
44
- ];
45
- return (0, sendVersionedTransaction_1.default)(this.program, instructions, this.rpcOptions);
44
+ .instruction());
45
+ }
46
+ ixs.push(yield this.program.methods
47
+ .addSpin(new anchor_1.BN(spins))
48
+ .accounts({
49
+ signer: this.program.provider.publicKey,
50
+ user: userPDA
51
+ })
52
+ .instruction());
53
+ return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
46
54
  });
47
55
  }
48
56
  }
@@ -52,7 +52,7 @@ class Wheel {
52
52
  */
53
53
  createWheel({ id, name, prizes }) {
54
54
  return __awaiter(this, void 0, void 0, function* () {
55
- const instructions = [
55
+ const ixs = [
56
56
  yield this.program.methods
57
57
  .createWheel({
58
58
  id,
@@ -71,7 +71,7 @@ class Wheel {
71
71
  })
72
72
  .instruction()
73
73
  ];
74
- return (0, sendVersionedTransaction_1.default)(this.program, instructions, this.rpcOptions);
74
+ return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
75
75
  });
76
76
  }
77
77
  /**
@@ -82,7 +82,7 @@ class Wheel {
82
82
  */
83
83
  addWheelPrize({ id, available }) {
84
84
  return __awaiter(this, void 0, void 0, function* () {
85
- const instructions = [
85
+ const ixs = [
86
86
  yield this.program.methods
87
87
  .addWheelPrize({
88
88
  id,
@@ -93,7 +93,7 @@ class Wheel {
93
93
  })
94
94
  .instruction()
95
95
  ];
96
- return (0, sendVersionedTransaction_1.default)(this.program, instructions, this.rpcOptions);
96
+ return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
97
97
  });
98
98
  }
99
99
  /**
@@ -106,9 +106,9 @@ class Wheel {
106
106
  return __awaiter(this, void 0, void 0, function* () {
107
107
  const userPDA = (0, pda_1.getUserPDA)(user);
108
108
  const wheelPDA = (0, pda_1.getWheelPDA)(id);
109
- const instructions = [];
109
+ const ixs = [];
110
110
  if (newUser) {
111
- instructions.push(yield this.program.methods
111
+ ixs.push(yield this.program.methods
112
112
  .createUser(refer)
113
113
  .accounts({
114
114
  signer: this.program.provider.publicKey,
@@ -117,7 +117,7 @@ class Wheel {
117
117
  .instruction());
118
118
  }
119
119
  for (let i = 0; i < spins; i++) {
120
- instructions.push(yield this.program.methods
120
+ ixs.push(yield this.program.methods
121
121
  .spinWheel()
122
122
  .accounts({
123
123
  signer: this.program.provider.publicKey,
@@ -126,7 +126,7 @@ class Wheel {
126
126
  })
127
127
  .instruction());
128
128
  }
129
- const transaction = (yield (0, sendVersionedTransaction_1.default)(this.program, instructions, this.rpcOptions));
129
+ const transaction = (yield (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions));
130
130
  const { blockhash, lastValidBlockHeight } = yield this.program.provider.connection.getLatestBlockhash();
131
131
  yield this.program.provider.connection.confirmTransaction({
132
132
  signature: transaction,
@@ -147,7 +147,7 @@ class Wheel {
147
147
  closeWheel(id) {
148
148
  return __awaiter(this, void 0, void 0, function* () {
149
149
  const wheelPDA = (0, pda_1.getWheelPDA)(id);
150
- const instructions = [
150
+ const ixs = [
151
151
  yield this.program.methods
152
152
  .closeWheel()
153
153
  .accounts({
@@ -156,7 +156,7 @@ class Wheel {
156
156
  })
157
157
  .instruction()
158
158
  ];
159
- return (0, sendVersionedTransaction_1.default)(this.program, instructions, this.rpcOptions);
159
+ return (0, sendVersionedTransaction_1.default)(this.program, ixs, this.rpcOptions);
160
160
  });
161
161
  }
162
162
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triadxyz/poseidons-protocol",
3
- "version": "0.3.5",
3
+ "version": "0.3.6",
4
4
  "main": "./dist/index.js",
5
5
  "module": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",