@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
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const artifacts_1 = require("../utils/artifacts");
7
7
  const RankifyDiamondInstance_1 = __importDefault(require("../abis/RankifyDiamondInstance"));
8
8
  const InstanceBase_1 = __importDefault(require("./InstanceBase"));
9
+ const utils_1 = require("../utils");
9
10
  class RankifyPlayer extends InstanceBase_1.default {
10
11
  walletClient;
11
12
  account;
@@ -23,152 +24,199 @@ class RankifyPlayer extends InstanceBase_1.default {
23
24
  if (!this.walletClient.account?.address)
24
25
  throw new Error("Account not found");
25
26
  if (value > 0n) {
26
- const { request } = await this.publicClient.simulateContract({
27
- address: tokenContract.address,
28
- abi: tokenContract.abi,
29
- functionName: "approve",
30
- args: [this.instanceAddress, value],
31
- account: this.walletClient.account,
32
- });
33
- const hash = await this.walletClient.writeContract(request);
34
- await this.publicClient.waitForTransactionReceipt({ hash });
27
+ try {
28
+ const { request } = await this.publicClient.simulateContract({
29
+ address: tokenContract.address,
30
+ abi: tokenContract.abi,
31
+ functionName: "approve",
32
+ args: [this.instanceAddress, value],
33
+ account: this.walletClient.account,
34
+ });
35
+ const hash = await this.walletClient.writeContract(request);
36
+ await this.publicClient.waitForTransactionReceipt({ hash });
37
+ }
38
+ catch (e) {
39
+ throw await (0, utils_1.handleRPCError)(e);
40
+ }
35
41
  }
36
42
  };
37
- createGame = async (creationArgs) => {
43
+ createGame = async ({ creationArgs, openNow, }) => {
38
44
  // if (!creationArgs) throw new Error("args is required");
39
- const estimationArgs = [
40
- creationArgs.minGameTime,
41
- ];
42
- const price = await this.publicClient.readContract({
43
- address: this.instanceAddress,
44
- abi: RankifyDiamondInstance_1.default,
45
- functionName: "estimateGamePrice",
46
- args: estimationArgs,
47
- });
48
- await this.approveTokensIfNeeded(price);
49
- if (!this.walletClient.account?.address)
50
- throw new Error("Account not found");
51
- const { request } = await this.publicClient.simulateContract({
52
- address: this.instanceAddress,
53
- abi: RankifyDiamondInstance_1.default,
54
- functionName: "createGame",
55
- args: [creationArgs],
56
- account: this.walletClient.account.address,
57
- });
58
- const hash = await this.walletClient.writeContract(request);
59
- const receipt = await this.publicClient.waitForTransactionReceipt({ hash });
60
- const events = await this.publicClient.getContractEvents({
61
- address: this.instanceAddress,
62
- abi: RankifyDiamondInstance_1.default,
63
- eventName: "gameCreated",
64
- args: {},
65
- fromBlock: receipt.blockNumber,
66
- toBlock: receipt.blockNumber,
67
- });
68
- if (events.length > 1) {
69
- throw new Error("Failed to create game: Multiple GameCreated events found");
45
+ try {
46
+ const estimationArgs = [
47
+ creationArgs.minGameTime,
48
+ ];
49
+ const price = await this.publicClient.readContract({
50
+ address: this.instanceAddress,
51
+ abi: RankifyDiamondInstance_1.default,
52
+ functionName: "estimateGamePrice",
53
+ args: estimationArgs,
54
+ });
55
+ await this.approveTokensIfNeeded(price);
56
+ if (!this.walletClient.account?.address)
57
+ throw new Error("Account not found");
58
+ const { request } = await this.publicClient.simulateContract({
59
+ address: this.instanceAddress,
60
+ abi: RankifyDiamondInstance_1.default,
61
+ functionName: "createGame",
62
+ args: [creationArgs],
63
+ account: this.walletClient.account.address,
64
+ });
65
+ const hash = await this.walletClient.writeContract(request);
66
+ const receipt = await this.publicClient.waitForTransactionReceipt({ hash });
67
+ const events = await this.publicClient.getContractEvents({
68
+ address: this.instanceAddress,
69
+ abi: RankifyDiamondInstance_1.default,
70
+ eventName: "gameCreated",
71
+ args: {},
72
+ fromBlock: receipt.blockNumber,
73
+ toBlock: receipt.blockNumber,
74
+ });
75
+ if (events.length > 1) {
76
+ throw new Error("Failed to create game: Multiple GameCreated events found");
77
+ }
78
+ if (events.length === 0) {
79
+ throw new Error("Failed to create game: GameCreated event not found");
80
+ }
81
+ if (!events[0].args)
82
+ throw new Error("Failed to create game: Event args not found");
83
+ if (!("gameId" in events[0].args))
84
+ throw new Error("Failed to create game: GameId not found");
85
+ const { gameId } = events[0].args;
86
+ let openingReceipt;
87
+ if (openNow) {
88
+ if (!gameId)
89
+ throw new Error("Failed to create game: GameId not found");
90
+ openingReceipt = await this.openRegistration(gameId);
91
+ }
92
+ return {
93
+ gameId,
94
+ receipt,
95
+ openingReceipt,
96
+ };
70
97
  }
71
- if (events.length === 0) {
72
- throw new Error("Failed to create game: GameCreated event not found");
98
+ catch (e) {
99
+ throw await (0, utils_1.handleRPCError)(e);
73
100
  }
74
- if (!events[0].args)
75
- throw new Error("Failed to create game: Event args not found");
76
- if (!("gameId" in events[0].args))
77
- throw new Error("Failed to create game: GameId not found");
78
- const { gameId } = events[0].args;
79
- return {
80
- gameId,
81
- receipt,
82
- };
83
101
  };
84
102
  joinGame = async (gameId) => {
85
- const reqs = (await this.publicClient.readContract({
86
- address: this.instanceAddress,
87
- abi: RankifyDiamondInstance_1.default,
88
- functionName: "getJoinRequirements",
89
- args: [gameId],
90
- }));
91
- const values = reqs.ethValues;
92
- const value = values.bet + values.burn + values.pay;
93
- if (this.walletClient.account?.address)
94
- throw new Error("Account not found");
95
- const { request } = await this.publicClient.simulateContract({
96
- address: this.instanceAddress,
97
- abi: RankifyDiamondInstance_1.default,
98
- functionName: "joinGame",
99
- args: [gameId],
100
- value,
101
- account: this.walletClient.account,
102
- });
103
- const hash = await this.walletClient.writeContract(request);
104
- return this.publicClient.waitForTransactionReceipt({ hash });
103
+ try {
104
+ const reqs = (await this.publicClient.readContract({
105
+ address: this.instanceAddress,
106
+ abi: RankifyDiamondInstance_1.default,
107
+ functionName: "getJoinRequirements",
108
+ args: [gameId],
109
+ }));
110
+ const values = reqs.ethValues;
111
+ const value = values.bet + values.burn + values.pay;
112
+ if (this.walletClient.account?.address)
113
+ throw new Error("Account not found");
114
+ const { request } = await this.publicClient.simulateContract({
115
+ address: this.instanceAddress,
116
+ abi: RankifyDiamondInstance_1.default,
117
+ functionName: "joinGame",
118
+ args: [gameId],
119
+ value,
120
+ account: this.walletClient.account,
121
+ });
122
+ const hash = await this.walletClient.writeContract(request);
123
+ return this.publicClient.waitForTransactionReceipt({ hash });
124
+ }
125
+ catch (e) {
126
+ throw await (0, utils_1.handleRPCError)(e);
127
+ }
105
128
  };
106
129
  startGame = async (gameId) => {
107
- if (!this.walletClient.account?.address)
108
- throw new Error("Account not found");
109
- const { request } = await this.publicClient.simulateContract({
110
- address: this.instanceAddress,
111
- abi: RankifyDiamondInstance_1.default,
112
- functionName: "startGame",
113
- args: [gameId],
114
- account: this.walletClient.account,
115
- });
116
- const hash = await this.walletClient.writeContract(request);
117
- return this.publicClient.waitForTransactionReceipt({ hash });
130
+ try {
131
+ if (!this.walletClient.account?.address)
132
+ throw new Error("Account not found");
133
+ const { request } = await this.publicClient.simulateContract({
134
+ address: this.instanceAddress,
135
+ abi: RankifyDiamondInstance_1.default,
136
+ functionName: "startGame",
137
+ args: [gameId],
138
+ account: this.walletClient.account,
139
+ });
140
+ const hash = await this.walletClient.writeContract(request);
141
+ return this.publicClient.waitForTransactionReceipt({ hash });
142
+ }
143
+ catch (e) {
144
+ throw await (0, utils_1.handleRPCError)(e);
145
+ }
118
146
  };
119
147
  cancelGame = async (gameId) => {
120
- if (!this.walletClient.account?.address)
121
- throw new Error("Account not found");
122
- const { request } = await this.publicClient.simulateContract({
123
- address: this.instanceAddress,
124
- abi: RankifyDiamondInstance_1.default,
125
- functionName: "cancelGame",
126
- args: [gameId],
127
- account: this.walletClient.account,
128
- });
129
- const hash = await this.walletClient.writeContract(request);
130
- return this.publicClient.waitForTransactionReceipt({ hash });
148
+ try {
149
+ if (!this.walletClient.account?.address)
150
+ throw new Error("Account not found");
151
+ const { request } = await this.publicClient.simulateContract({
152
+ address: this.instanceAddress,
153
+ abi: RankifyDiamondInstance_1.default,
154
+ functionName: "cancelGame",
155
+ args: [gameId],
156
+ account: this.walletClient.account,
157
+ });
158
+ const hash = await this.walletClient.writeContract(request);
159
+ return this.publicClient.waitForTransactionReceipt({ hash });
160
+ }
161
+ catch (e) {
162
+ throw await (0, utils_1.handleRPCError)(e);
163
+ }
131
164
  };
132
165
  leaveGame = async (gameId) => {
133
- if (!this.walletClient.account?.address)
134
- throw new Error("Account not found");
135
- const { request } = await this.publicClient.simulateContract({
136
- address: this.instanceAddress,
137
- abi: RankifyDiamondInstance_1.default,
138
- functionName: "leaveGame",
139
- args: [gameId],
140
- account: this.walletClient.account,
141
- });
142
- const hash = await this.walletClient.writeContract(request);
143
- return this.publicClient.waitForTransactionReceipt({ hash });
166
+ try {
167
+ if (!this.walletClient.account?.address)
168
+ throw new Error("Account not found");
169
+ const { request } = await this.publicClient.simulateContract({
170
+ address: this.instanceAddress,
171
+ abi: RankifyDiamondInstance_1.default,
172
+ functionName: "leaveGame",
173
+ args: [gameId],
174
+ account: this.walletClient.account,
175
+ });
176
+ const hash = await this.walletClient.writeContract(request);
177
+ return this.publicClient.waitForTransactionReceipt({ hash });
178
+ }
179
+ catch (e) {
180
+ throw await (0, utils_1.handleRPCError)(e);
181
+ }
144
182
  };
145
183
  openRegistration = async (gameId) => {
146
- if (!this.walletClient.account?.address)
147
- throw new Error("Account not found");
148
- const { request } = await this.publicClient.simulateContract({
149
- address: this.instanceAddress,
150
- abi: RankifyDiamondInstance_1.default,
151
- functionName: "openRegistration",
152
- args: [gameId],
153
- account: this.walletClient.account,
154
- });
155
- const hash = await this.walletClient.writeContract(request);
156
- return this.publicClient.waitForTransactionReceipt({ hash });
184
+ try {
185
+ if (!this.walletClient.account?.address)
186
+ throw new Error("Account not found");
187
+ const { request } = await this.publicClient.simulateContract({
188
+ address: this.instanceAddress,
189
+ abi: RankifyDiamondInstance_1.default,
190
+ functionName: "openRegistration",
191
+ args: [gameId],
192
+ account: this.walletClient.account,
193
+ });
194
+ const hash = await this.walletClient.writeContract(request);
195
+ return this.publicClient.waitForTransactionReceipt({ hash });
196
+ }
197
+ catch (e) {
198
+ throw await (0, utils_1.handleRPCError)(e);
199
+ }
157
200
  };
158
201
  setJoinRequirements = async (params) => {
159
202
  if (!this.walletClient.account?.address)
160
203
  throw new Error("Account not found");
161
204
  if (!params)
162
205
  throw new Error("params is required");
163
- const { request } = await this.publicClient.simulateContract({
164
- address: this.instanceAddress,
165
- abi: RankifyDiamondInstance_1.default,
166
- functionName: "setJoinRequirements",
167
- args: params,
168
- account: this.walletClient.account,
169
- });
170
- const hash = await this.walletClient.writeContract(request);
171
- return this.publicClient.waitForTransactionReceipt({ hash });
206
+ try {
207
+ const { request } = await this.publicClient.simulateContract({
208
+ address: this.instanceAddress,
209
+ abi: RankifyDiamondInstance_1.default,
210
+ functionName: "setJoinRequirements",
211
+ args: params,
212
+ account: this.walletClient.account,
213
+ });
214
+ const hash = await this.walletClient.writeContract(request);
215
+ return this.publicClient.waitForTransactionReceipt({ hash });
216
+ }
217
+ catch (e) {
218
+ await (0, utils_1.handleRPCError)(e);
219
+ }
172
220
  };
173
221
  }
174
222
  exports.default = RankifyPlayer;
@@ -1 +1 @@
1
- {"version":3,"file":"Player.js","sourceRoot":"","sources":["../../../src/rankify/Player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Player.js","sourceRoot":"","sources":["../../../src/rankify/Player.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RankToken.d.ts","sourceRoot":"","sources":["../../../src/rankify/RankToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAe,MAAM,MAAM,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAqC,MAAM,UAAU,CAAC;AAEjF,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;gBAEd,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,YAAY,CAAA;KAAE;IAMjH,eAAe,wBAOb;IAGF,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,kBAAkB;IAyC/D,WAAW,gBAAuB,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAAC,CAgCpE;IAEF,mBAAmB,YAAmB,MAAM,WAAW,OAAO,qBAO5D;CACH"}
1
+ {"version":3,"file":"RankToken.d.ts","sourceRoot":"","sources":["../../../src/rankify/RankToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAe,MAAM,MAAM,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAqC,MAAM,UAAU,CAAC;AAGjF,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;gBAEd,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,YAAY,CAAA;KAAE;IAMjH,eAAe,wBAWb;IAGF,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,kBAAkB;IAyC/D,WAAW,gBAAuB,MAAM,KAAG,OAAO,CAAC,kBAAkB,CAAC,CAgCpE;IAEF,mBAAmB,YAAmB,MAAM,WAAW,OAAO,qBAW5D;CACH"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const viem_1 = require("viem");
7
7
  const RankToken_1 = __importDefault(require("../abis/RankToken"));
8
8
  const types_1 = require("../types");
9
+ const utils_1 = require("../utils");
9
10
  class RankTokenClient {
10
11
  chainId;
11
12
  publicClient;
@@ -15,13 +16,18 @@ class RankTokenClient {
15
16
  this.publicClient = publicClient;
16
17
  this.rankTokenAddress = address;
17
18
  }
18
- getRankTokenURI = () => {
19
- const rankToken = (0, viem_1.getContract)({
20
- address: this.rankTokenAddress,
21
- abi: RankToken_1.default,
22
- client: this.publicClient,
23
- });
24
- return rankToken.read.contractURI();
19
+ getRankTokenURI = async () => {
20
+ try {
21
+ const rankToken = (0, viem_1.getContract)({
22
+ address: this.rankTokenAddress,
23
+ abi: RankToken_1.default,
24
+ client: this.publicClient,
25
+ });
26
+ return rankToken.read.contractURI();
27
+ }
28
+ catch (e) {
29
+ throw await (0, utils_1.handleRPCError)(e);
30
+ }
25
31
  };
26
32
  // Type guard for FellowshipMetadata
27
33
  isFellowshipMetadata(data) {
@@ -97,12 +103,17 @@ class RankTokenClient {
97
103
  }
98
104
  };
99
105
  getRankTokenBalance = async (tokenId, account) => {
100
- const rankToken = (0, viem_1.getContract)({
101
- address: this.rankTokenAddress,
102
- abi: RankToken_1.default,
103
- client: this.publicClient,
104
- });
105
- return rankToken.read.balanceOf([account, tokenId]);
106
+ try {
107
+ const rankToken = (0, viem_1.getContract)({
108
+ address: this.rankTokenAddress,
109
+ abi: RankToken_1.default,
110
+ client: this.publicClient,
111
+ });
112
+ return rankToken.read.balanceOf([account, tokenId]);
113
+ }
114
+ catch (e) {
115
+ throw await (0, utils_1.handleRPCError)(e);
116
+ }
106
117
  };
107
118
  }
108
119
  exports.default = RankTokenClient;
@@ -1 +1 @@
1
- {"version":3,"file":"RankToken.js","sourceRoot":"","sources":["../../../src/rankify/RankToken.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RankToken.js","sourceRoot":"","sources":["../../../src/rankify/RankToken.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,6 @@ export declare class ApiError extends Error {
9
9
  constructor(message: string, options?: ApiErrorOptions);
10
10
  }
11
11
  export declare function getApiError(response: any): Promise<ApiError>;
12
+ export declare function handleRPCError(e: unknown): Promise<Error>;
12
13
  export {};
13
14
  //# sourceMappingURL=ApiError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApiError.d.ts","sourceRoot":"","sources":["../../../src/utils/ApiError.ts"],"names":[],"mappings":"AAAA,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,qBAAa,QAAS,SAAQ,KAAK;IACjC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBACf,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;CAIvD;AAGD,wBAAsB,WAAW,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAMlE"}
1
+ {"version":3,"file":"ApiError.d.ts","sourceRoot":"","sources":["../../../src/utils/ApiError.ts"],"names":[],"mappings":"AAEA,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,qBAAa,QAAS,SAAQ,KAAK;IACjC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;gBACf,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;CAIvD;AAGD,wBAAsB,WAAW,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAMlE;AAED,wBAAsB,cAAc,CAAC,CAAC,EAAE,OAAO,kBAgC9C"}
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApiError = void 0;
4
4
  exports.getApiError = getApiError;
5
+ exports.handleRPCError = handleRPCError;
6
+ const viem_1 = require("viem");
5
7
  class ApiError extends Error {
6
8
  status;
7
9
  constructor(message, options) {
@@ -18,4 +20,35 @@ async function getApiError(response) {
18
20
  status: body?.status,
19
21
  });
20
22
  }
23
+ async function handleRPCError(e) {
24
+ if (e instanceof viem_1.BaseError) {
25
+ const revertError = e.walk((err) => err instanceof viem_1.ContractFunctionRevertedError);
26
+ if (revertError instanceof viem_1.ContractFunctionRevertedError) {
27
+ const errorName = revertError.data?.errorName;
28
+ if (!errorName) {
29
+ const cause = revertError.cause;
30
+ if (cause?.signature) {
31
+ const remoteAttempt = fetch(`https://www.4byte.directory/api/v1/signatures/?hex_signature=${cause.signature}`);
32
+ const response = await remoteAttempt;
33
+ const data = await response.json();
34
+ return new Error(`error: ${e?.shortMessage} | 4byte resolved this as: ${JSON.stringify(data.results, null, 2)}`);
35
+ }
36
+ else
37
+ return e;
38
+ }
39
+ console.error(e);
40
+ return new Error(`error: ${errorName}: ${revertError.shortMessage}`);
41
+ }
42
+ if (revertError instanceof viem_1.CallExecutionError) {
43
+ const cause = revertError.cause.cause;
44
+ if (cause?.signature) {
45
+ const remoteAttempt = fetch(`https://www.4byte.directory/api/v1/signatures/?hex_signature=${cause.signature}`);
46
+ const response = await remoteAttempt;
47
+ const data = await response.json();
48
+ return new Error(`error: ${e?.message} | 4byte: ${JSON.stringify(data.results, null, 2)}`);
49
+ }
50
+ }
51
+ }
52
+ throw e;
53
+ }
21
54
  //# sourceMappingURL=ApiError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApiError.js","sourceRoot":"","sources":["../../../src/utils/ApiError.ts"],"names":[],"mappings":";;;AAsBA,kCAMC;AAfD,MAAa,QAAS,SAAQ,KAAK;IACjC,MAAM,CAAqB;IAC3B,YAAY,OAAe,EAAE,OAAyB;QACpD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAChC,CAAC;CACF;AAND,4BAMC;AAED,8DAA8D;AACvD,KAAK,UAAU,WAAW,CAAC,QAAa;IAC7C,yGAAyG;IACzG,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;IACzD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE;QAC9C,MAAM,EAAE,IAAI,EAAE,MAAM;KACrB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"ApiError.js","sourceRoot":"","sources":["../../../src/utils/ApiError.ts"],"names":[],"mappings":";;;AAwBA,kCAMC;AAED,wCAgCC;AAhED,+BAAoF;AAepF,MAAa,QAAS,SAAQ,KAAK;IACjC,MAAM,CAAqB;IAC3B,YAAY,OAAe,EAAE,OAAyB;QACpD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAChC,CAAC;CACF;AAND,4BAMC;AAED,8DAA8D;AACvD,KAAK,UAAU,WAAW,CAAC,QAAa;IAC7C,yGAAyG;IACzG,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;IACzD,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE;QAC9C,MAAM,EAAE,IAAI,EAAE,MAAM;KACrB,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,CAAU;IAC7C,IAAI,CAAC,YAAY,gBAAS,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,YAAY,oCAA6B,CAAC,CAAC;QAClF,IAAI,WAAW,YAAY,oCAA6B,EAAE,CAAC;YACzD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC;YAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,WAAW,CAAC,KAA+B,CAAC;gBAC1D,IAAI,KAAK,EAAE,SAAS,EAAE,CAAC;oBACrB,MAAM,aAAa,GAAG,KAAK,CACzB,gEAAgE,KAAK,CAAC,SAAS,EAAE,CAClF,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;oBACrC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACnC,OAAO,IAAI,KAAK,CACd,UAAU,CAAC,EAAE,YAAY,8BAA8B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAC/F,CAAC;gBACJ,CAAC;;oBAAM,OAAO,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,IAAI,KAAK,CAAC,UAAU,SAAS,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,IAAI,WAAW,YAAY,yBAAkB,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAA+B,CAAC;YAChE,IAAI,KAAK,EAAE,SAAS,EAAE,CAAC;gBACrB,MAAM,aAAa,GAAG,KAAK,CAAC,gEAAgE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC/G,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;gBACrC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,OAAO,aAAa,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,CAAC,CAAC;AACV,CAAC"}
@@ -28,7 +28,7 @@ const getArtifact = (chainId, artifactName, overrideChainName) => {
28
28
  address: artifact.address,
29
29
  execute: artifact.execute,
30
30
  abi: artifact.abi,
31
- receipt: { ...artifact.receipt, logs: (0, viem_1.parseEventLogs)({ abi: artifact.abi, logs: artifact.receipt.logs }) },
31
+ receipt: { ...artifact.receipt, logs: (0, viem_1.parseEventLogs)({ abi: artifact.abi, logs: artifact.receipt?.logs ?? [] }) },
32
32
  };
33
33
  };
34
34
  exports.getArtifact = getArtifact;
@@ -63,7 +63,7 @@ const findContractDeploymentBlock = async (client, address, startBlock = 0n, end
63
63
  let result = 0n;
64
64
  while (left <= right) {
65
65
  const mid = left + (right - left) / 2n;
66
- const code = await client.getBytecode({ address, blockNumber: mid });
66
+ const code = await client.getCode({ address, blockNumber: mid });
67
67
  if (code && code !== "0x") {
68
68
  // Contract exists at this block, try earlier
69
69
  result = mid;
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/utils/artifacts.ts"],"names":[],"mappings":";;;AAAA,+BAUc;AAOd,iDAA8C;AAKjC,QAAA,cAAc,GAAyC;IAClE,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,OAAO;CACnB,CAAC;AAYF;;;;;;GAMG;AACI,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,YAA2B,EAC3B,iBAA0B,EAY1B,EAAE;IACF,MAAM,SAAS,GAAG,iBAAiB,IAAI,IAAA,2BAAY,EAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,CACf,YAAY,KAAK,WAAW;QAC1B,CAAC,CAAC,OAAO,CAAC,wCAAwC,SAAS,IAAI,YAAY,OAAO,CAAC;QACnF,CAAC,CAAC,YAAY,KAAK,WAAW;YAC5B,CAAC,CAAC,OAAO,CAAC,kCAAkC,SAAS,IAAI,YAAY,OAAO,CAAC;YAC7E,CAAC,CAAC,OAAO,CAAC,iCAAiC,SAAS,IAAI,YAAY,OAAO,CAAC,CAYjF,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAA,qBAAc,EAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;KAC3G,CAAC;AACJ,CAAC,CAAC;AA9CW,QAAA,WAAW,eA8CtB;AAEF;;;;;;GAMG;AACI,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,YAA2B,EAC3B,MAAe,EAC6C,EAAE;IAC9D,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACpD,OAAO,IAAA,kBAAe,EAAC;QACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,MAAM;KACP,CAA+D,CAAC;AACnE,CAAC,CAAC;AAXW,QAAA,WAAW,eAWtB;AAEF;;;;;;;GAOG;AACI,MAAM,2BAA2B,GAAG,KAAK,EAC9C,MAAoB,EACpB,OAAgB,EAChB,aAAqB,EAAE,EACvB,QAAiB,EACA,EAAE;IACnB,MAAM,WAAW,GAAG,QAAQ,IAAI,CAAC,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IAChE,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,IAAI,KAAK,GAAG,WAAW,CAAC;IACxB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,OAAO,IAAI,IAAI,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAErE,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC1B,6CAA6C;YAC7C,MAAM,GAAG,GAAG,CAAC;YACb,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA1BW,QAAA,2BAA2B,+BA0BtC"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/utils/artifacts.ts"],"names":[],"mappings":";;;AAAA,+BAUc;AAOd,iDAA8C;AAKjC,QAAA,cAAc,GAAyC;IAClE,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,OAAO;CACnB,CAAC;AAYF;;;;;;GAMG;AACI,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,YAA2B,EAC3B,iBAA0B,EAY1B,EAAE;IACF,MAAM,SAAS,GAAG,iBAAiB,IAAI,IAAA,2BAAY,EAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,CACf,YAAY,KAAK,WAAW;QAC1B,CAAC,CAAC,OAAO,CAAC,wCAAwC,SAAS,IAAI,YAAY,OAAO,CAAC;QACnF,CAAC,CAAC,YAAY,KAAK,WAAW;YAC5B,CAAC,CAAC,OAAO,CAAC,kCAAkC,SAAS,IAAI,YAAY,OAAO,CAAC;YAC7E,CAAC,CAAC,OAAO,CAAC,iCAAiC,SAAS,IAAI,YAAY,OAAO,CAAC,CAYjF,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,IAAA,qBAAc,EAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE;KAClH,CAAC;AACJ,CAAC,CAAC;AA9CW,QAAA,WAAW,eA8CtB;AAEF;;;;;;GAMG;AACI,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,YAA2B,EAC3B,MAAe,EAC6C,EAAE;IAC9D,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACpD,OAAO,IAAA,kBAAe,EAAC;QACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,MAAM;KACP,CAA+D,CAAC;AACnE,CAAC,CAAC;AAXW,QAAA,WAAW,eAWtB;AAEF;;;;;;;GAOG;AACI,MAAM,2BAA2B,GAAG,KAAK,EAC9C,MAAoB,EACpB,OAAgB,EAChB,aAAqB,EAAE,EACvB,QAAiB,EACA,EAAE;IACnB,MAAM,WAAW,GAAG,QAAQ,IAAI,CAAC,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IAChE,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,IAAI,KAAK,GAAG,WAAW,CAAC;IACxB,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,OAAO,IAAI,IAAI,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QAEjE,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC1B,6CAA6C;YAC7C,MAAM,GAAG,GAAG,CAAC;YACb,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA1BW,QAAA,2BAA2B,+BA0BtC"}
@@ -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"}
@@ -1,11 +1,14 @@
1
1
  import { stringToHex, getContract, getAddress } from "viem";
2
2
  import DistributorAbi from "../abis/Distributor";
3
+ import { findContractDeploymentBlock } from "../utils";
3
4
  export class DistributorClient {
4
5
  publicClient;
5
6
  address;
6
- constructor({ address, publicClient }) {
7
- this.address = getAddress(address, publicClient?.chain?.id);
7
+ createdAtBlock;
8
+ constructor({ address, publicClient, creationBlock, }) {
9
+ this.address = getAddress(address);
8
10
  this.publicClient = publicClient;
11
+ this.createdAtBlock = creationBlock;
9
12
  }
10
13
  async getDistributions() {
11
14
  const contract = getContract({
@@ -15,6 +18,12 @@ export class DistributorClient {
15
18
  });
16
19
  return contract.read.getDistributions();
17
20
  }
21
+ async getCreationBlock() {
22
+ if (!this.createdAtBlock) {
23
+ this.createdAtBlock = await findContractDeploymentBlock(this.publicClient, this.address);
24
+ }
25
+ return this.createdAtBlock;
26
+ }
18
27
  async getInstances(distributorsId, fromBlock = 1n) {
19
28
  const contract = getContract({
20
29
  address: this.address,