@peeramid-labs/sdk 3.0.3 → 3.2.0

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.
Files changed (107) hide show
  1. package/cli/cli/client.js +29 -6
  2. package/cli/cli/client.js.map +1 -1
  3. package/cli/cli/commands/distributions/add.js +1 -1
  4. package/cli/cli/commands/distributions/add.js.map +1 -1
  5. package/cli/cli/commands/distributions/index.js +3 -1
  6. package/cli/cli/commands/distributions/index.js.map +1 -1
  7. package/cli/cli/commands/distributions/list.js +1 -1
  8. package/cli/cli/commands/distributions/list.js.map +1 -1
  9. package/cli/cli/commands/distributions/state.js +38 -0
  10. package/cli/cli/commands/distributions/state.js.map +1 -0
  11. package/cli/cli/commands/eds/index.js +59 -0
  12. package/cli/cli/commands/eds/index.js.map +1 -0
  13. package/cli/cli/commands/fellowship/create.js +1 -1
  14. package/cli/cli/commands/fellowship/create.js.map +1 -1
  15. package/cli/cli/commands/fellowship/index.js +3 -1
  16. package/cli/cli/commands/fellowship/index.js.map +1 -1
  17. package/cli/cli/commands/fellowship/list.js +36 -0
  18. package/cli/cli/commands/fellowship/list.js.map +1 -0
  19. package/cli/cli/commands/fellowship/metadata.js +1 -1
  20. package/cli/cli/commands/fellowship/metadata.js.map +1 -1
  21. package/cli/cli/commands/instances/list.js +5 -1
  22. package/cli/cli/commands/instances/list.js.map +1 -1
  23. package/cli/cli/commands/multipass/contract.js +1 -1
  24. package/cli/cli/commands/multipass/contract.js.map +1 -1
  25. package/cli/cli/commands/multipass/domain.js +6 -6
  26. package/cli/cli/commands/multipass/domain.js.map +1 -1
  27. package/cli/cli/commands/multipass/domains.js +2 -2
  28. package/cli/cli/commands/multipass/domains.js.map +1 -1
  29. package/cli/eds/Distributor.js +10 -2
  30. package/cli/eds/Distributor.js.map +1 -1
  31. package/cli/rankify/InstanceBase.js +502 -0
  32. package/cli/rankify/InstanceBase.js.map +1 -0
  33. package/cli/rankify/MAODistributor.js +117 -73
  34. package/cli/rankify/MAODistributor.js.map +1 -1
  35. package/cli/rankify/RankToken.js +24 -13
  36. package/cli/rankify/RankToken.js.map +1 -1
  37. package/cli/utils/ApiError.js +33 -0
  38. package/cli/utils/ApiError.js.map +1 -1
  39. package/cli/utils/artifacts.js +2 -2
  40. package/cli/utils/artifacts.js.map +1 -1
  41. package/docs/classes/GameMaster.md +31 -8
  42. package/docs/classes/InstanceBase.md +26 -7
  43. package/docs/classes/InstancePlayer.md +47 -22
  44. package/docs/classes/MAODistributorClient.md +45 -11
  45. package/docs/docs/classes/GameMaster.md +31 -8
  46. package/docs/docs/classes/InstanceBase.md +26 -7
  47. package/docs/docs/classes/InstancePlayer.md +47 -22
  48. package/docs/docs/classes/MAODistributorClient.md +45 -11
  49. package/docs/docs/index.md +18 -1
  50. package/docs/index.md +18 -1
  51. package/lib.commonjs/eds/Distributor.d.ts +4 -1
  52. package/lib.commonjs/eds/Distributor.d.ts.map +1 -1
  53. package/lib.commonjs/eds/Distributor.js +11 -2
  54. package/lib.commonjs/eds/Distributor.js.map +1 -1
  55. package/lib.commonjs/rankify/GameMaster.d.ts.map +1 -1
  56. package/lib.commonjs/rankify/GameMaster.js +137 -111
  57. package/lib.commonjs/rankify/GameMaster.js.map +1 -1
  58. package/lib.commonjs/rankify/InstanceBase.d.ts +24 -54
  59. package/lib.commonjs/rankify/InstanceBase.d.ts.map +1 -1
  60. package/lib.commonjs/rankify/InstanceBase.js +227 -163
  61. package/lib.commonjs/rankify/InstanceBase.js.map +1 -1
  62. package/lib.commonjs/rankify/MAODistributor.d.ts +23 -3
  63. package/lib.commonjs/rankify/MAODistributor.d.ts.map +1 -1
  64. package/lib.commonjs/rankify/MAODistributor.js +117 -73
  65. package/lib.commonjs/rankify/MAODistributor.js.map +1 -1
  66. package/lib.commonjs/rankify/Player.d.ts +13 -9
  67. package/lib.commonjs/rankify/Player.d.ts.map +1 -1
  68. package/lib.commonjs/rankify/Player.js +173 -125
  69. package/lib.commonjs/rankify/Player.js.map +1 -1
  70. package/lib.commonjs/rankify/RankToken.d.ts.map +1 -1
  71. package/lib.commonjs/rankify/RankToken.js +24 -13
  72. package/lib.commonjs/rankify/RankToken.js.map +1 -1
  73. package/lib.commonjs/utils/ApiError.d.ts +1 -0
  74. package/lib.commonjs/utils/ApiError.d.ts.map +1 -1
  75. package/lib.commonjs/utils/ApiError.js +33 -0
  76. package/lib.commonjs/utils/ApiError.js.map +1 -1
  77. package/lib.commonjs/utils/artifacts.js +2 -2
  78. package/lib.commonjs/utils/artifacts.js.map +1 -1
  79. package/lib.esm/eds/Distributor.d.ts +4 -1
  80. package/lib.esm/eds/Distributor.d.ts.map +1 -1
  81. package/lib.esm/eds/Distributor.js +11 -2
  82. package/lib.esm/eds/Distributor.js.map +1 -1
  83. package/lib.esm/rankify/GameMaster.d.ts.map +1 -1
  84. package/lib.esm/rankify/GameMaster.js +137 -111
  85. package/lib.esm/rankify/GameMaster.js.map +1 -1
  86. package/lib.esm/rankify/InstanceBase.d.ts +24 -54
  87. package/lib.esm/rankify/InstanceBase.d.ts.map +1 -1
  88. package/lib.esm/rankify/InstanceBase.js +228 -164
  89. package/lib.esm/rankify/InstanceBase.js.map +1 -1
  90. package/lib.esm/rankify/MAODistributor.d.ts +23 -3
  91. package/lib.esm/rankify/MAODistributor.d.ts.map +1 -1
  92. package/lib.esm/rankify/MAODistributor.js +119 -75
  93. package/lib.esm/rankify/MAODistributor.js.map +1 -1
  94. package/lib.esm/rankify/Player.d.ts +13 -9
  95. package/lib.esm/rankify/Player.d.ts.map +1 -1
  96. package/lib.esm/rankify/Player.js +173 -125
  97. package/lib.esm/rankify/Player.js.map +1 -1
  98. package/lib.esm/rankify/RankToken.d.ts.map +1 -1
  99. package/lib.esm/rankify/RankToken.js +24 -13
  100. package/lib.esm/rankify/RankToken.js.map +1 -1
  101. package/lib.esm/utils/ApiError.d.ts +1 -0
  102. package/lib.esm/utils/ApiError.d.ts.map +1 -1
  103. package/lib.esm/utils/ApiError.js +32 -0
  104. package/lib.esm/utils/ApiError.js.map +1 -1
  105. package/lib.esm/utils/artifacts.js +2 -2
  106. package/lib.esm/utils/artifacts.js.map +1 -1
  107. package/package.json +2 -2
@@ -19,10 +19,12 @@ Handles creation, management and interaction with MAO instances
19
19
 
20
20
  - [publicClient](MAODistributorClient.md#publicclient)
21
21
  - [address](MAODistributorClient.md#address)
22
+ - [createdAtBlock](MAODistributorClient.md#createdatblock)
22
23
  - [walletClient](MAODistributorClient.md#walletclient)
23
24
 
24
25
  ### Methods
25
26
 
27
+ - [getCreationBlock](MAODistributorClient.md#getcreationblock)
26
28
  - [getInstances](MAODistributorClient.md#getinstances)
27
29
  - [getInstance](MAODistributorClient.md#getinstance)
28
30
  - [getNamedDistributionInstances](MAODistributorClient.md#getnameddistributioninstances)
@@ -54,6 +56,7 @@ Creates a new MAODistributorClient instance
54
56
  | `client` | `Object` | Object containing public and wallet clients |
55
57
  | `client.publicClient` | `Object` | - |
56
58
  | `client.walletClient?` | `Object` | - |
59
+ | `client.address?` | \`0x$\{string}\` | - |
57
60
 
58
61
  #### Returns
59
62
 
@@ -85,12 +88,36 @@ DistributorClient.address
85
88
 
86
89
  ___
87
90
 
91
+ ### createdAtBlock
92
+
93
+ • `Optional` **createdAtBlock**: `bigint`
94
+
95
+ #### Inherited from
96
+
97
+ DistributorClient.createdAtBlock
98
+
99
+ ___
100
+
88
101
  ### walletClient
89
102
 
90
103
  • `Optional` **walletClient**: `Object`
91
104
 
92
105
  ## Methods
93
106
 
107
+ ### getCreationBlock
108
+
109
+ ▸ **getCreationBlock**(): `Promise`\<`bigint`\>
110
+
111
+ #### Returns
112
+
113
+ `Promise`\<`bigint`\>
114
+
115
+ #### Inherited from
116
+
117
+ DistributorClient.getCreationBlock
118
+
119
+ ___
120
+
94
121
  ### getInstances
95
122
 
96
123
  ▸ **getInstances**(`distributorsId`, `fromBlock?`): `Promise`\<\{ `newInstanceId`: `bigint` ; `version`: `bigint` ; `addresses`: \`0x$\{string}\`[] }[]\>
@@ -201,20 +228,21 @@ ___
201
228
 
202
229
  ### getMAOInstances
203
230
 
204
- ▸ **getMAOInstances**(`namedDistribution?`, `fromBlock?`): `Promise`\<[`MAOInstanceContracts`](../interfaces/MAOInstanceContracts.md)[]\>
231
+ ▸ **getMAOInstances**(`«destructured»?`): `Promise`\<\{ `instances`: [`MAOInstanceContracts`](../interfaces/MAOInstanceContracts.md) ; `maoInstanceId`: `bigint` }[]\>
205
232
 
206
233
  Get MAOInstances instances by distribution name
207
234
 
208
235
  #### Parameters
209
236
 
210
- | Name | Type | Default value | Description |
211
- | :------ | :------ | :------ | :------ |
212
- | `namedDistribution` | `string` | `MAODistributorClient.DEFAULT_NAME` | Distribution name (defaults to "MAO Distribution") |
213
- | `fromBlock` | `bigint` | `undefined` | - |
237
+ | Name | Type | Default value |
238
+ | :------ | :------ | :------ |
239
+ | `«destructured»` | `Object` | `{}` |
240
+ | › `namedDistribution?` | `string` | `MAODistributorClient.DEFAULT_NAME` |
241
+ | › `fromBlock?` | `bigint` | `undefined` |
214
242
 
215
243
  #### Returns
216
244
 
217
- `Promise`\<[`MAOInstanceContracts`](../interfaces/MAOInstanceContracts.md)[]\>
245
+ `Promise`\<\{ `instances`: [`MAOInstanceContracts`](../interfaces/MAOInstanceContracts.md) ; `maoInstanceId`: `bigint` }[]\>
218
246
 
219
247
  Array of MAOInstances contract instances
220
248
 
@@ -271,19 +299,25 @@ ___
271
299
 
272
300
  ### getMAOInstance
273
301
 
274
- ▸ **getMAOInstance**(`name?`, `instanceId`): `Promise`\<[`MAOInstanceContracts`](../interfaces/MAOInstanceContracts.md)\>
302
+ ▸ **getMAOInstance**(`params`): `Promise`\<[`MAOInstanceContracts`](../interfaces/MAOInstanceContracts.md)\>
303
+
304
+ Gets a specific MAO instance by name and instance ID
275
305
 
276
306
  #### Parameters
277
307
 
278
- | Name | Type | Default value |
279
- | :------ | :------ | :------ |
280
- | `name` | `string` | `MAODistributorClient.DEFAULT_NAME` |
281
- | `instanceId` | `bigint` | `undefined` |
308
+ | Name | Type | Default value | Description |
309
+ | :------ | :------ | :------ | :------ |
310
+ | `params` | `Object` | `undefined` | Parameters for getting the instance |
311
+ | `params.name?` | `string` | `MAODistributorClient.DEFAULT_NAME` | The name of the distribution (defaults to DEFAULT_NAME) |
312
+ | `params.instanceId` | `bigint` | `undefined` | The ID of the instance to retrieve |
313
+ | `params.fromBlock?` | `bigint` | `undefined` | Optional block to start searching from (defaults to contract creation block) |
282
314
 
283
315
  #### Returns
284
316
 
285
317
  `Promise`\<[`MAOInstanceContracts`](../interfaces/MAOInstanceContracts.md)\>
286
318
 
319
+ The MAO instance contracts
320
+
287
321
  ___
288
322
 
289
323
  ### getInstantiatePrice
@@ -1,4 +1,4 @@
1
- # Rankify SDK API Documentation - v3.0.3
1
+ # Rankify SDK API Documentation - v3.2.0
2
2
 
3
3
  ## Table of contents
4
4
 
@@ -59,6 +59,7 @@
59
59
  ### Functions
60
60
 
61
61
  - [getApiError](index.md#getapierror)
62
+ - [handleRPCError](index.md#handlerpcerror)
62
63
  - [getArtifact](index.md#getartifact)
63
64
  - [getContract](index.md#getcontract)
64
65
  - [findContractDeploymentBlock](index.md#findcontractdeploymentblock)
@@ -417,6 +418,22 @@ ___
417
418
 
418
419
  ___
419
420
 
421
+ ### handleRPCError
422
+
423
+ ▸ **handleRPCError**(`e`): `Promise`\<`Error`\>
424
+
425
+ #### Parameters
426
+
427
+ | Name | Type |
428
+ | :------ | :------ |
429
+ | `e` | `unknown` |
430
+
431
+ #### Returns
432
+
433
+ `Promise`\<`Error`\>
434
+
435
+ ___
436
+
420
437
  ### getArtifact
421
438
 
422
439
  ▸ **getArtifact**(`chainId`, `artifactName`, `overrideChainName?`): `Object`
package/docs/index.md CHANGED
@@ -1,4 +1,4 @@
1
- # Rankify SDK API Documentation - v3.0.3
1
+ # Rankify SDK API Documentation - v3.2.0
2
2
 
3
3
  ## Table of contents
4
4
 
@@ -59,6 +59,7 @@
59
59
  ### Functions
60
60
 
61
61
  - [getApiError](index.md#getapierror)
62
+ - [handleRPCError](index.md#handlerpcerror)
62
63
  - [getArtifact](index.md#getartifact)
63
64
  - [getContract](index.md#getcontract)
64
65
  - [findContractDeploymentBlock](index.md#findcontractdeploymentblock)
@@ -417,6 +418,22 @@ ___
417
418
 
418
419
  ___
419
420
 
421
+ ### handleRPCError
422
+
423
+ ▸ **handleRPCError**(`e`): `Promise`\<`Error`\>
424
+
425
+ #### Parameters
426
+
427
+ | Name | Type |
428
+ | :------ | :------ |
429
+ | `e` | `unknown` |
430
+
431
+ #### Returns
432
+
433
+ `Promise`\<`Error`\>
434
+
435
+ ___
436
+
420
437
  ### getArtifact
421
438
 
422
439
  ▸ **getArtifact**(`chainId`, `artifactName`, `overrideChainName?`): `Object`
@@ -2,11 +2,14 @@ import { type Address, Hex, PublicClient } from "viem";
2
2
  export declare class DistributorClient {
3
3
  publicClient: PublicClient;
4
4
  address: Address;
5
- constructor({ address, publicClient }: {
5
+ createdAtBlock?: bigint;
6
+ constructor({ address, publicClient, creationBlock, }: {
6
7
  address: Address;
7
8
  publicClient: PublicClient;
9
+ creationBlock?: bigint;
8
10
  });
9
11
  getDistributions(): Promise<readonly `0x${string}`[]>;
12
+ getCreationBlock(): Promise<bigint>;
10
13
  getInstances(distributorsId: Hex, fromBlock?: bigint): Promise<{
11
14
  newInstanceId: bigint;
12
15
  version: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"Distributor.d.ts","sourceRoot":"","sources":["../../../src/eds/Distributor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA4B,GAAG,EAAE,YAAY,EAAc,MAAM,MAAM,CAAC;AAG7F,qBAAa,iBAAiB;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;gBAEL,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,YAAY,CAAA;KAAE;IAKjF,gBAAgB;IAShB,YAAY,CAChB,cAAc,EAAE,GAAG,EACnB,SAAS,GAAE,MAAW,GACrB,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,EAAE,CAAA;KAAE,EAAE,CAAC;IA8BxE,WAAW,CAAC,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAyBxE,6BAA6B,CAAC,EAAE,iBAAiB,EAAE,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAKzG,4BAA4B,CAAC,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAItG"}
1
+ {"version":3,"file":"Distributor.d.ts","sourceRoot":"","sources":["../../../src/eds/Distributor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAA4B,GAAG,EAAE,YAAY,EAAc,MAAM,MAAM,CAAC;AAI7F,qBAAa,iBAAiB;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;gBAEZ,EACV,OAAO,EACP,YAAY,EACZ,aAAa,GACd,EAAE;QACD,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,YAAY,CAAC;QAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;IAMK,gBAAgB;IAShB,gBAAgB;IAOhB,YAAY,CAChB,cAAc,EAAE,GAAG,EACnB,SAAS,GAAE,MAAW,GACrB,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,EAAE,CAAA;KAAE,EAAE,CAAC;IA8BxE,WAAW,CAAC,cAAc,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAyBxE,6BAA6B,CAAC,EAAE,iBAAiB,EAAE,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;IAKzG,4BAA4B,CAAC,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAItG"}
@@ -6,12 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.DistributorClient = void 0;
7
7
  const viem_1 = require("viem");
8
8
  const Distributor_1 = __importDefault(require("../abis/Distributor"));
9
+ const utils_1 = require("../utils");
9
10
  class DistributorClient {
10
11
  publicClient;
11
12
  address;
12
- constructor({ address, publicClient }) {
13
- this.address = (0, viem_1.getAddress)(address, publicClient?.chain?.id);
13
+ createdAtBlock;
14
+ constructor({ address, publicClient, creationBlock, }) {
15
+ this.address = (0, viem_1.getAddress)(address);
14
16
  this.publicClient = publicClient;
17
+ this.createdAtBlock = creationBlock;
15
18
  }
16
19
  async getDistributions() {
17
20
  const contract = (0, viem_1.getContract)({
@@ -21,6 +24,12 @@ class DistributorClient {
21
24
  });
22
25
  return contract.read.getDistributions();
23
26
  }
27
+ async getCreationBlock() {
28
+ if (!this.createdAtBlock) {
29
+ this.createdAtBlock = await (0, utils_1.findContractDeploymentBlock)(this.publicClient, this.address);
30
+ }
31
+ return this.createdAtBlock;
32
+ }
24
33
  async getInstances(distributorsId, fromBlock = 1n) {
25
34
  const contract = (0, viem_1.getContract)({
26
35
  address: this.address,
@@ -1 +1 @@
1
- {"version":3,"file":"Distributor.js","sourceRoot":"","sources":["../../../src/eds/Distributor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Distributor.js","sourceRoot":"","sources":["../../../src/eds/Distributor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GameMaster.d.ts","sourceRoot":"","sources":["../../../src/rankify/GameMaster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameMaster.d.ts","sourceRoot":"","sources":["../../../src/rankify/GameMaster.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ exports.GameMaster = void 0;
7
7
  const viem_1 = require("viem");
8
8
  const abis_1 = require("../abis");
9
9
  const InstanceBase_1 = __importDefault(require("./InstanceBase"));
10
+ const utils_1 = require("../utils");
10
11
  /**
11
12
  * GameMaster class for managing game state and cryptographic operations in Rankify
12
13
  * Extends InstanceBase to provide game master specific functionality
@@ -142,14 +143,19 @@ class GameMaster extends InstanceBase_1.default {
142
143
  const votesHidden = await this.encryptionCallback(JSON.stringify(vote.map((vi) => vi.toString())));
143
144
  if (!this.walletClient?.account?.address)
144
145
  throw new Error("No account address found");
145
- const { request } = await this.publicClient.simulateContract({
146
- account: this.walletClient.account,
147
- address: this.instanceAddress,
148
- abi: abis_1.RankifyDiamondInstanceAbi,
149
- functionName: "submitVote",
150
- args: [gameId, votesHidden, voter],
151
- });
152
- return this.walletClient.writeContract(request);
146
+ try {
147
+ const { request } = await this.publicClient.simulateContract({
148
+ account: this.walletClient.account,
149
+ address: this.instanceAddress,
150
+ abi: abis_1.RankifyDiamondInstanceAbi,
151
+ functionName: "submitVote",
152
+ args: [gameId, votesHidden, voter],
153
+ });
154
+ return this.walletClient.writeContract(request);
155
+ }
156
+ catch (e) {
157
+ throw await (0, utils_1.handleRPCError)(e);
158
+ }
153
159
  };
154
160
  /**
155
161
  * Gets the hidden proposer hash for a specific game turn
@@ -174,14 +180,19 @@ class GameMaster extends InstanceBase_1.default {
174
180
  // proposalData[0].
175
181
  const encryptedProposal = await this.encryptionCallback(proposal);
176
182
  console.log("submitting proposal tx..", gameId, commitmentHash, proposal, proposer);
177
- const { request } = await this.publicClient.simulateContract({
178
- account: this.walletClient.account,
179
- address: this.instanceAddress,
180
- abi: abis_1.RankifyDiamondInstanceAbi,
181
- functionName: "submitProposal",
182
- args: [{ gameId, commitmentHash, encryptedProposal, proposer }],
183
- });
184
- return this.walletClient.writeContract(request);
183
+ try {
184
+ const { request } = await this.publicClient.simulateContract({
185
+ account: this.walletClient.account,
186
+ address: this.instanceAddress,
187
+ abi: abis_1.RankifyDiamondInstanceAbi,
188
+ functionName: "submitProposal",
189
+ args: [{ gameId, commitmentHash, encryptedProposal, proposer }],
190
+ });
191
+ return this.walletClient.writeContract(request);
192
+ }
193
+ catch (e) {
194
+ throw await (0, utils_1.handleRPCError)(e);
195
+ }
185
196
  };
186
197
  /**
187
198
  * Decrypts votes for a specific game turn
@@ -248,12 +259,17 @@ class GameMaster extends InstanceBase_1.default {
248
259
  * @returns Current turn number
249
260
  */
250
261
  currentTurn = async (gameId) => {
251
- return this.publicClient.readContract({
252
- address: this.instanceAddress,
253
- abi: abis_1.IRankifyInstanceAbi,
254
- functionName: "getTurn",
255
- args: [gameId],
256
- });
262
+ try {
263
+ return this.publicClient.readContract({
264
+ address: this.instanceAddress,
265
+ abi: abis_1.IRankifyInstanceAbi,
266
+ functionName: "getTurn",
267
+ args: [gameId],
268
+ });
269
+ }
270
+ catch (e) {
271
+ throw await (0, utils_1.handleRPCError)(e);
272
+ }
257
273
  };
258
274
  /**
259
275
  * Gets the list of players in the game
@@ -261,12 +277,17 @@ class GameMaster extends InstanceBase_1.default {
261
277
  * @returns Array of player addresses
262
278
  */
263
279
  getPlayers = async (gameId) => {
264
- return this.publicClient.readContract({
265
- address: this.instanceAddress,
266
- abi: abis_1.IRankifyInstanceAbi,
267
- functionName: "getPlayers",
268
- args: [gameId],
269
- });
280
+ try {
281
+ return this.publicClient.readContract({
282
+ address: this.instanceAddress,
283
+ abi: abis_1.IRankifyInstanceAbi,
284
+ functionName: "getPlayers",
285
+ args: [gameId],
286
+ });
287
+ }
288
+ catch (e) {
289
+ throw await (0, utils_1.handleRPCError)(e);
290
+ }
270
291
  };
271
292
  /**
272
293
  * Ends the current turn and processes votes
@@ -274,98 +295,103 @@ class GameMaster extends InstanceBase_1.default {
274
295
  * @returns Transaction hash
275
296
  */
276
297
  endTurn = async (gameId) => {
277
- const turn = await this.publicClient.readContract({
278
- address: this.instanceAddress,
279
- abi: abis_1.RankifyDiamondInstanceAbi,
280
- functionName: "getTurn",
281
- args: [gameId],
282
- });
283
- const players = (await this.publicClient.readContract({
284
- address: this.instanceAddress,
285
- abi: abis_1.RankifyDiamondInstanceAbi,
286
- functionName: "getPlayers",
287
- args: [gameId],
288
- }));
289
- if (!Array.isArray(players)) {
290
- throw new Error("Expected players to be an array");
291
- }
292
- const oldProposals = [];
293
- const proposerIndices = [];
294
- let votes = [];
295
- //Proposals sequence is directly corresponding to proposers sequence
296
- if (turn != 1n) {
297
- const endedEvents = await this.publicClient.getContractEvents({
298
+ try {
299
+ const turn = await this.publicClient.readContract({
298
300
  address: this.instanceAddress,
299
301
  abi: abis_1.RankifyDiamondInstanceAbi,
300
- eventName: "TurnEnded",
301
- args: { gameId, turn: turn - 1n },
302
+ functionName: "getTurn",
303
+ args: [gameId],
302
304
  });
303
- const evt = endedEvents[0];
304
- if (endedEvents.length > 1)
305
- throw new Error("Multiple turns ended");
306
- const args = evt.args;
307
- const decryptedProposals = await this.decryptProposals(gameId, turn - 1n);
308
- if (args.newProposals) {
309
- args.newProposals.forEach((proposal, idx) => {
310
- const proposer = decryptedProposals.find((p) => p.proposal === proposal)?.proposer;
311
- if (!proposer)
312
- throw new Error("No proposer found for proposal");
313
- oldProposals[idx] = {
314
- proposer,
315
- proposal: proposal,
316
- };
317
- });
305
+ const players = (await this.publicClient.readContract({
306
+ address: this.instanceAddress,
307
+ abi: abis_1.RankifyDiamondInstanceAbi,
308
+ functionName: "getPlayers",
309
+ args: [gameId],
310
+ }));
311
+ if (!Array.isArray(players)) {
312
+ throw new Error("Expected players to be an array");
318
313
  }
319
- else {
320
- // Boundary case if no-one proposed a thing
321
- players.forEach((p, idx) => {
322
- oldProposals[idx] = {
323
- proposer: p,
324
- proposal: "",
325
- };
314
+ const oldProposals = [];
315
+ const proposerIndices = [];
316
+ let votes = [];
317
+ //Proposals sequence is directly corresponding to proposers sequence
318
+ if (turn != 1n) {
319
+ const endedEvents = await this.publicClient.getContractEvents({
320
+ address: this.instanceAddress,
321
+ abi: abis_1.RankifyDiamondInstanceAbi,
322
+ eventName: "TurnEnded",
323
+ args: { gameId, turn: turn - 1n },
326
324
  });
327
- }
328
- votes = await this.decryptTurnVotes(gameId, turn).then((voteSubmissions) => {
329
- const orderedVotes = players.map((player) => ({
330
- player,
331
- votes: new Array(players.length).fill(0n),
332
- }));
333
- players.forEach((player, playerIdx) => {
334
- const vote = voteSubmissions.find((v) => v.player === player);
335
- if (vote)
336
- orderedVotes[playerIdx] = vote;
337
- else
338
- orderedVotes[playerIdx] = {
339
- player,
340
- votes: new Array(players.length).fill(0n),
325
+ const evt = endedEvents[0];
326
+ if (endedEvents.length > 1)
327
+ throw new Error("Multiple turns ended");
328
+ const args = evt.args;
329
+ const decryptedProposals = await this.decryptProposals(gameId, turn - 1n);
330
+ if (args.newProposals) {
331
+ args.newProposals.forEach((proposal, idx) => {
332
+ const proposer = decryptedProposals.find((p) => p.proposal === proposal)?.proposer;
333
+ if (!proposer)
334
+ throw new Error("No proposer found for proposal");
335
+ oldProposals[idx] = {
336
+ proposer,
337
+ proposal: proposal,
341
338
  };
339
+ });
340
+ }
341
+ else {
342
+ // Boundary case if no-one proposed a thing
343
+ players.forEach((p, idx) => {
344
+ oldProposals[idx] = {
345
+ proposer: p,
346
+ proposal: "",
347
+ };
348
+ });
349
+ }
350
+ votes = await this.decryptTurnVotes(gameId, turn).then((voteSubmissions) => {
351
+ const orderedVotes = players.map((player) => ({
352
+ player,
353
+ votes: new Array(players.length).fill(0n),
354
+ }));
355
+ players.forEach((player, playerIdx) => {
356
+ const vote = voteSubmissions.find((v) => v.player === player);
357
+ if (vote)
358
+ orderedVotes[playerIdx] = vote;
359
+ else
360
+ orderedVotes[playerIdx] = {
361
+ player,
362
+ votes: new Array(players.length).fill(0n),
363
+ };
364
+ });
365
+ return orderedVotes;
342
366
  });
343
- return orderedVotes;
367
+ }
368
+ const newProposals = await this.decryptProposals(gameId, turn);
369
+ players.forEach((player) => {
370
+ let proposerIdx = oldProposals.findIndex((p) => player === p.proposer);
371
+ if (proposerIdx === -1)
372
+ proposerIdx = players.length; //Did not propose
373
+ proposerIndices.push(BigInt(proposerIdx));
344
374
  });
375
+ const tableData = players.map((player, idx) => ({
376
+ player,
377
+ proposerIndex: proposerIndices[idx],
378
+ proposer: oldProposals[Number(proposerIndices[idx])].proposer,
379
+ }));
380
+ console.table(tableData);
381
+ const shuffled = await this.shuffle(newProposals.map((x) => x.proposal));
382
+ console.log(votes.map((v) => v.votes));
383
+ const { request } = await this.publicClient.simulateContract({
384
+ abi: abis_1.RankifyDiamondInstanceAbi,
385
+ account: this.walletClient.account,
386
+ address: this.instanceAddress,
387
+ functionName: "endTurn",
388
+ args: [gameId, votes.map((v) => v.votes), shuffled, proposerIndices],
389
+ });
390
+ return this.walletClient.writeContract(request);
391
+ }
392
+ catch (e) {
393
+ throw await (0, utils_1.handleRPCError)(e);
345
394
  }
346
- const newProposals = await this.decryptProposals(gameId, turn);
347
- players.forEach((player) => {
348
- let proposerIdx = oldProposals.findIndex((p) => player === p.proposer);
349
- if (proposerIdx === -1)
350
- proposerIdx = players.length; //Did not propose
351
- proposerIndices.push(BigInt(proposerIdx));
352
- });
353
- const tableData = players.map((player, idx) => ({
354
- player,
355
- proposerIndex: proposerIndices[idx],
356
- proposer: oldProposals[Number(proposerIndices[idx])].proposer,
357
- }));
358
- console.table(tableData);
359
- const shuffled = await this.shuffle(newProposals.map((x) => x.proposal));
360
- console.log(votes.map((v) => v.votes));
361
- const { request } = await this.publicClient.simulateContract({
362
- abi: abis_1.RankifyDiamondInstanceAbi,
363
- account: this.walletClient.account,
364
- address: this.instanceAddress,
365
- functionName: "endTurn",
366
- args: [gameId, votes.map((v) => v.votes), shuffled, proposerIndices],
367
- });
368
- return this.walletClient.writeContract(request);
369
395
  };
370
396
  }
371
397
  exports.GameMaster = GameMaster;
@@ -1 +1 @@
1
- {"version":3,"file":"GameMaster.js","sourceRoot":"","sources":["../../../src/rankify/GameMaster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GameMaster.js","sourceRoot":"","sources":["../../../src/rankify/GameMaster.ts"],"names":[],"mappings":"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"}