@raac/rpc 2.0.0-beta.3 → 2.0.0-beta.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.
- package/dist/RPCLibrary.js +25 -0
- package/dist/artifacts/mocks/core/tokens/ERC721Mock.sol/ERC721Mock.json +491 -0
- package/dist/configs/chains/8453.json +6 -1
- package/dist/contracts/lockers/botLocker/addRewardTokens.js +21 -0
- package/dist/contracts/lockers/botLocker/distributeRewardToken.js +23 -0
- package/dist/contracts/lockers/botLocker/getConfig.js +29 -0
- package/dist/contracts/lockers/botLocker/getLocks.js +11 -1
- package/dist/contracts/lockers/botLocker/getRoles.js +22 -0
- package/dist/contracts/lockers/botLocker/getUnlockWindow.js +29 -0
- package/dist/contracts/lockers/botLocker/grantRole.js +38 -0
- package/dist/contracts/lockers/botLocker/hasRole.js +18 -0
- package/dist/contracts/lockers/botLocker/pause.js +24 -0
- package/dist/contracts/lockers/botLocker/rescueTokens.js +22 -0
- package/dist/nfts/getNFTBalance.js +29 -0
- package/dist/nfts/transferNFT.js +34 -0
- package/dist/types/RPCLibrary.d.ts +26 -1
- package/dist/types/contracts/lockers/botLocker/addRewardTokens.d.ts +11 -0
- package/dist/types/contracts/lockers/botLocker/distributeRewardToken.d.ts +13 -0
- package/dist/types/contracts/lockers/botLocker/getConfig.d.ts +20 -0
- package/dist/types/contracts/lockers/botLocker/getLocks.d.ts +4 -0
- package/dist/types/contracts/lockers/botLocker/getRoles.d.ts +20 -0
- package/dist/types/contracts/lockers/botLocker/getUnlockWindow.d.ts +24 -0
- package/dist/types/contracts/lockers/botLocker/grantRole.d.ts +20 -0
- package/dist/types/contracts/lockers/botLocker/hasRole.d.ts +12 -0
- package/dist/types/contracts/lockers/botLocker/pause.d.ts +6 -0
- package/dist/types/contracts/lockers/botLocker/rescueTokens.d.ts +12 -0
- package/dist/types/nfts/getNFTBalance.d.ts +13 -0
- package/dist/types/nfts/transferNFT.d.ts +15 -0
- package/dist/types/utils/artifacts.d.ts +99 -0
- package/dist/types/utils/errorDecoder.d.ts +10 -0
- package/dist/utils/artifacts.js +3 -0
- package/dist/utils/errorDecoder.js +40 -12
- package/dist/utils/rpcError.js +25 -1
- package/package.json +1 -1
package/dist/RPCLibrary.js
CHANGED
|
@@ -164,6 +164,8 @@ const getNFTApproval_1 = __importDefault(require("./nfts/getNFTApproval"));
|
|
|
164
164
|
const getApprovalForAll_1 = __importDefault(require("./nfts/getApprovalForAll"));
|
|
165
165
|
const setApprovalForAll_1 = __importDefault(require("./nfts/setApprovalForAll"));
|
|
166
166
|
const approveNFT_1 = __importDefault(require("./nfts/approveNFT"));
|
|
167
|
+
const getNFTBalance_1 = __importDefault(require("./nfts/getNFTBalance"));
|
|
168
|
+
const transferNFT_1 = __importDefault(require("./nfts/transferNFT"));
|
|
167
169
|
const vaultOpened_1 = __importDefault(require("./pools/lendingPool/vaultOpened"));
|
|
168
170
|
const getWithdrawRequestInfo_1 = require("./pools/stabilityPool/getWithdrawRequestInfo");
|
|
169
171
|
const getWithdrawTimelockConfig_1 = require("./pools/stabilityPool/getWithdrawTimelockConfig");
|
|
@@ -322,6 +324,15 @@ const getRewardTokens_2 = require("./contracts/lockers/botLocker/getRewardTokens
|
|
|
322
324
|
const getRewardTokenCount_1 = require("./contracts/lockers/botLocker/getRewardTokenCount");
|
|
323
325
|
const getLocks_2 = require("./contracts/lockers/botLocker/getLocks");
|
|
324
326
|
const getLockedTokenIds_1 = require("./contracts/lockers/botLocker/getLockedTokenIds");
|
|
327
|
+
const getConfig_3 = require("./contracts/lockers/botLocker/getConfig");
|
|
328
|
+
const getUnlockWindow_1 = require("./contracts/lockers/botLocker/getUnlockWindow");
|
|
329
|
+
const getRoles_3 = require("./contracts/lockers/botLocker/getRoles");
|
|
330
|
+
const hasRole_3 = require("./contracts/lockers/botLocker/hasRole");
|
|
331
|
+
const grantRole_1 = require("./contracts/lockers/botLocker/grantRole");
|
|
332
|
+
const addRewardTokens_1 = require("./contracts/lockers/botLocker/addRewardTokens");
|
|
333
|
+
const distributeRewardToken_1 = require("./contracts/lockers/botLocker/distributeRewardToken");
|
|
334
|
+
const pause_2 = require("./contracts/lockers/botLocker/pause");
|
|
335
|
+
const rescueTokens_1 = require("./contracts/lockers/botLocker/rescueTokens");
|
|
325
336
|
// leRAAC token
|
|
326
337
|
const getBalance_8 = require("./contracts/tokens/leRAAC/getBalance");
|
|
327
338
|
const getTotalSupply_7 = require("./contracts/tokens/leRAAC/getTotalSupply");
|
|
@@ -453,6 +464,8 @@ class RPCLibrary {
|
|
|
453
464
|
getApprovedForAll: getApprovalForAll_1.default,
|
|
454
465
|
setApprovalForAll: setApprovalForAll_1.default,
|
|
455
466
|
approveNFT: approveNFT_1.default,
|
|
467
|
+
getNFTBalance: getNFTBalance_1.default,
|
|
468
|
+
transferNFT: transferNFT_1.default,
|
|
456
469
|
};
|
|
457
470
|
this.contracts = {
|
|
458
471
|
housePrices: {
|
|
@@ -624,8 +637,20 @@ class RPCLibrary {
|
|
|
624
637
|
getRewardTokens: getRewardTokens_2.getRewardTokens,
|
|
625
638
|
getRewardTokenCount: getRewardTokenCount_1.getRewardTokenCount,
|
|
626
639
|
getLocks: getLocks_2.getLocks,
|
|
640
|
+
getLock: getLocks_2.getLock,
|
|
627
641
|
getLocksByOwner: getLocks_2.getLocksByOwner,
|
|
628
642
|
getLockedTokenIds: getLockedTokenIds_1.getLockedTokenIds,
|
|
643
|
+
getConfig: getConfig_3.getConfig,
|
|
644
|
+
getUnlockWindow: getUnlockWindow_1.getUnlockWindow,
|
|
645
|
+
getRoles: getRoles_3.getRoles,
|
|
646
|
+
hasRole: hasRole_3.hasRole,
|
|
647
|
+
grantRole: grantRole_1.grantRole,
|
|
648
|
+
revokeRole: grantRole_1.revokeRole,
|
|
649
|
+
addRewardTokens: addRewardTokens_1.addRewardTokens,
|
|
650
|
+
distributeRewardToken: distributeRewardToken_1.distributeRewardToken,
|
|
651
|
+
pause: pause_2.pause,
|
|
652
|
+
unpause: pause_2.unpause,
|
|
653
|
+
rescueTokens: rescueTokens_1.rescueTokens,
|
|
629
654
|
},
|
|
630
655
|
};
|
|
631
656
|
this.zap = {
|
|
@@ -0,0 +1,491 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "ERC721Mock",
|
|
4
|
+
"sourceName": "contracts/mocks/core/tokens/ERC721Mock.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "string",
|
|
10
|
+
"name": "name",
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"internalType": "string",
|
|
15
|
+
"name": "symbol",
|
|
16
|
+
"type": "string"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"stateMutability": "nonpayable",
|
|
20
|
+
"type": "constructor"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"inputs": [
|
|
24
|
+
{
|
|
25
|
+
"internalType": "address",
|
|
26
|
+
"name": "sender",
|
|
27
|
+
"type": "address"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"internalType": "uint256",
|
|
31
|
+
"name": "tokenId",
|
|
32
|
+
"type": "uint256"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"internalType": "address",
|
|
36
|
+
"name": "owner",
|
|
37
|
+
"type": "address"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"name": "ERC721IncorrectOwner",
|
|
41
|
+
"type": "error"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"inputs": [
|
|
45
|
+
{
|
|
46
|
+
"internalType": "address",
|
|
47
|
+
"name": "operator",
|
|
48
|
+
"type": "address"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"internalType": "uint256",
|
|
52
|
+
"name": "tokenId",
|
|
53
|
+
"type": "uint256"
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"name": "ERC721InsufficientApproval",
|
|
57
|
+
"type": "error"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"inputs": [
|
|
61
|
+
{
|
|
62
|
+
"internalType": "address",
|
|
63
|
+
"name": "approver",
|
|
64
|
+
"type": "address"
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"name": "ERC721InvalidApprover",
|
|
68
|
+
"type": "error"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"inputs": [
|
|
72
|
+
{
|
|
73
|
+
"internalType": "address",
|
|
74
|
+
"name": "operator",
|
|
75
|
+
"type": "address"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"name": "ERC721InvalidOperator",
|
|
79
|
+
"type": "error"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"inputs": [
|
|
83
|
+
{
|
|
84
|
+
"internalType": "address",
|
|
85
|
+
"name": "owner",
|
|
86
|
+
"type": "address"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"name": "ERC721InvalidOwner",
|
|
90
|
+
"type": "error"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"inputs": [
|
|
94
|
+
{
|
|
95
|
+
"internalType": "address",
|
|
96
|
+
"name": "receiver",
|
|
97
|
+
"type": "address"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"name": "ERC721InvalidReceiver",
|
|
101
|
+
"type": "error"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"inputs": [
|
|
105
|
+
{
|
|
106
|
+
"internalType": "address",
|
|
107
|
+
"name": "sender",
|
|
108
|
+
"type": "address"
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"name": "ERC721InvalidSender",
|
|
112
|
+
"type": "error"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"inputs": [
|
|
116
|
+
{
|
|
117
|
+
"internalType": "uint256",
|
|
118
|
+
"name": "tokenId",
|
|
119
|
+
"type": "uint256"
|
|
120
|
+
}
|
|
121
|
+
],
|
|
122
|
+
"name": "ERC721NonexistentToken",
|
|
123
|
+
"type": "error"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"anonymous": false,
|
|
127
|
+
"inputs": [
|
|
128
|
+
{
|
|
129
|
+
"indexed": true,
|
|
130
|
+
"internalType": "address",
|
|
131
|
+
"name": "owner",
|
|
132
|
+
"type": "address"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"indexed": true,
|
|
136
|
+
"internalType": "address",
|
|
137
|
+
"name": "approved",
|
|
138
|
+
"type": "address"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"indexed": true,
|
|
142
|
+
"internalType": "uint256",
|
|
143
|
+
"name": "tokenId",
|
|
144
|
+
"type": "uint256"
|
|
145
|
+
}
|
|
146
|
+
],
|
|
147
|
+
"name": "Approval",
|
|
148
|
+
"type": "event"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"anonymous": false,
|
|
152
|
+
"inputs": [
|
|
153
|
+
{
|
|
154
|
+
"indexed": true,
|
|
155
|
+
"internalType": "address",
|
|
156
|
+
"name": "owner",
|
|
157
|
+
"type": "address"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"indexed": true,
|
|
161
|
+
"internalType": "address",
|
|
162
|
+
"name": "operator",
|
|
163
|
+
"type": "address"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"indexed": false,
|
|
167
|
+
"internalType": "bool",
|
|
168
|
+
"name": "approved",
|
|
169
|
+
"type": "bool"
|
|
170
|
+
}
|
|
171
|
+
],
|
|
172
|
+
"name": "ApprovalForAll",
|
|
173
|
+
"type": "event"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"anonymous": false,
|
|
177
|
+
"inputs": [
|
|
178
|
+
{
|
|
179
|
+
"indexed": true,
|
|
180
|
+
"internalType": "address",
|
|
181
|
+
"name": "from",
|
|
182
|
+
"type": "address"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"indexed": true,
|
|
186
|
+
"internalType": "address",
|
|
187
|
+
"name": "to",
|
|
188
|
+
"type": "address"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"indexed": true,
|
|
192
|
+
"internalType": "uint256",
|
|
193
|
+
"name": "tokenId",
|
|
194
|
+
"type": "uint256"
|
|
195
|
+
}
|
|
196
|
+
],
|
|
197
|
+
"name": "Transfer",
|
|
198
|
+
"type": "event"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"inputs": [
|
|
202
|
+
{
|
|
203
|
+
"internalType": "address",
|
|
204
|
+
"name": "to",
|
|
205
|
+
"type": "address"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"internalType": "uint256",
|
|
209
|
+
"name": "tokenId",
|
|
210
|
+
"type": "uint256"
|
|
211
|
+
}
|
|
212
|
+
],
|
|
213
|
+
"name": "approve",
|
|
214
|
+
"outputs": [],
|
|
215
|
+
"stateMutability": "nonpayable",
|
|
216
|
+
"type": "function"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"inputs": [
|
|
220
|
+
{
|
|
221
|
+
"internalType": "address",
|
|
222
|
+
"name": "owner",
|
|
223
|
+
"type": "address"
|
|
224
|
+
}
|
|
225
|
+
],
|
|
226
|
+
"name": "balanceOf",
|
|
227
|
+
"outputs": [
|
|
228
|
+
{
|
|
229
|
+
"internalType": "uint256",
|
|
230
|
+
"name": "",
|
|
231
|
+
"type": "uint256"
|
|
232
|
+
}
|
|
233
|
+
],
|
|
234
|
+
"stateMutability": "view",
|
|
235
|
+
"type": "function"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"inputs": [
|
|
239
|
+
{
|
|
240
|
+
"internalType": "uint256",
|
|
241
|
+
"name": "tokenId",
|
|
242
|
+
"type": "uint256"
|
|
243
|
+
}
|
|
244
|
+
],
|
|
245
|
+
"name": "getApproved",
|
|
246
|
+
"outputs": [
|
|
247
|
+
{
|
|
248
|
+
"internalType": "address",
|
|
249
|
+
"name": "",
|
|
250
|
+
"type": "address"
|
|
251
|
+
}
|
|
252
|
+
],
|
|
253
|
+
"stateMutability": "view",
|
|
254
|
+
"type": "function"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"inputs": [
|
|
258
|
+
{
|
|
259
|
+
"internalType": "address",
|
|
260
|
+
"name": "owner",
|
|
261
|
+
"type": "address"
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"internalType": "address",
|
|
265
|
+
"name": "operator",
|
|
266
|
+
"type": "address"
|
|
267
|
+
}
|
|
268
|
+
],
|
|
269
|
+
"name": "isApprovedForAll",
|
|
270
|
+
"outputs": [
|
|
271
|
+
{
|
|
272
|
+
"internalType": "bool",
|
|
273
|
+
"name": "",
|
|
274
|
+
"type": "bool"
|
|
275
|
+
}
|
|
276
|
+
],
|
|
277
|
+
"stateMutability": "view",
|
|
278
|
+
"type": "function"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"inputs": [
|
|
282
|
+
{
|
|
283
|
+
"internalType": "address",
|
|
284
|
+
"name": "to",
|
|
285
|
+
"type": "address"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"internalType": "uint256",
|
|
289
|
+
"name": "tokenId",
|
|
290
|
+
"type": "uint256"
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
"name": "mint",
|
|
294
|
+
"outputs": [],
|
|
295
|
+
"stateMutability": "nonpayable",
|
|
296
|
+
"type": "function"
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"inputs": [],
|
|
300
|
+
"name": "name",
|
|
301
|
+
"outputs": [
|
|
302
|
+
{
|
|
303
|
+
"internalType": "string",
|
|
304
|
+
"name": "",
|
|
305
|
+
"type": "string"
|
|
306
|
+
}
|
|
307
|
+
],
|
|
308
|
+
"stateMutability": "view",
|
|
309
|
+
"type": "function"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"inputs": [
|
|
313
|
+
{
|
|
314
|
+
"internalType": "uint256",
|
|
315
|
+
"name": "tokenId",
|
|
316
|
+
"type": "uint256"
|
|
317
|
+
}
|
|
318
|
+
],
|
|
319
|
+
"name": "ownerOf",
|
|
320
|
+
"outputs": [
|
|
321
|
+
{
|
|
322
|
+
"internalType": "address",
|
|
323
|
+
"name": "",
|
|
324
|
+
"type": "address"
|
|
325
|
+
}
|
|
326
|
+
],
|
|
327
|
+
"stateMutability": "view",
|
|
328
|
+
"type": "function"
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"inputs": [
|
|
332
|
+
{
|
|
333
|
+
"internalType": "address",
|
|
334
|
+
"name": "from",
|
|
335
|
+
"type": "address"
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"internalType": "address",
|
|
339
|
+
"name": "to",
|
|
340
|
+
"type": "address"
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"internalType": "uint256",
|
|
344
|
+
"name": "tokenId",
|
|
345
|
+
"type": "uint256"
|
|
346
|
+
}
|
|
347
|
+
],
|
|
348
|
+
"name": "safeTransferFrom",
|
|
349
|
+
"outputs": [],
|
|
350
|
+
"stateMutability": "nonpayable",
|
|
351
|
+
"type": "function"
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"inputs": [
|
|
355
|
+
{
|
|
356
|
+
"internalType": "address",
|
|
357
|
+
"name": "from",
|
|
358
|
+
"type": "address"
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"internalType": "address",
|
|
362
|
+
"name": "to",
|
|
363
|
+
"type": "address"
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
"internalType": "uint256",
|
|
367
|
+
"name": "tokenId",
|
|
368
|
+
"type": "uint256"
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"internalType": "bytes",
|
|
372
|
+
"name": "data",
|
|
373
|
+
"type": "bytes"
|
|
374
|
+
}
|
|
375
|
+
],
|
|
376
|
+
"name": "safeTransferFrom",
|
|
377
|
+
"outputs": [],
|
|
378
|
+
"stateMutability": "nonpayable",
|
|
379
|
+
"type": "function"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"inputs": [
|
|
383
|
+
{
|
|
384
|
+
"internalType": "address",
|
|
385
|
+
"name": "operator",
|
|
386
|
+
"type": "address"
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"internalType": "bool",
|
|
390
|
+
"name": "approved",
|
|
391
|
+
"type": "bool"
|
|
392
|
+
}
|
|
393
|
+
],
|
|
394
|
+
"name": "setApprovalForAll",
|
|
395
|
+
"outputs": [],
|
|
396
|
+
"stateMutability": "nonpayable",
|
|
397
|
+
"type": "function"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"inputs": [
|
|
401
|
+
{
|
|
402
|
+
"internalType": "bytes4",
|
|
403
|
+
"name": "interfaceId",
|
|
404
|
+
"type": "bytes4"
|
|
405
|
+
}
|
|
406
|
+
],
|
|
407
|
+
"name": "supportsInterface",
|
|
408
|
+
"outputs": [
|
|
409
|
+
{
|
|
410
|
+
"internalType": "bool",
|
|
411
|
+
"name": "",
|
|
412
|
+
"type": "bool"
|
|
413
|
+
}
|
|
414
|
+
],
|
|
415
|
+
"stateMutability": "view",
|
|
416
|
+
"type": "function"
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
"inputs": [],
|
|
420
|
+
"name": "symbol",
|
|
421
|
+
"outputs": [
|
|
422
|
+
{
|
|
423
|
+
"internalType": "string",
|
|
424
|
+
"name": "",
|
|
425
|
+
"type": "string"
|
|
426
|
+
}
|
|
427
|
+
],
|
|
428
|
+
"stateMutability": "view",
|
|
429
|
+
"type": "function"
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"inputs": [],
|
|
433
|
+
"name": "tokenIdCounter",
|
|
434
|
+
"outputs": [
|
|
435
|
+
{
|
|
436
|
+
"internalType": "uint256",
|
|
437
|
+
"name": "",
|
|
438
|
+
"type": "uint256"
|
|
439
|
+
}
|
|
440
|
+
],
|
|
441
|
+
"stateMutability": "view",
|
|
442
|
+
"type": "function"
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
"inputs": [
|
|
446
|
+
{
|
|
447
|
+
"internalType": "uint256",
|
|
448
|
+
"name": "tokenId",
|
|
449
|
+
"type": "uint256"
|
|
450
|
+
}
|
|
451
|
+
],
|
|
452
|
+
"name": "tokenURI",
|
|
453
|
+
"outputs": [
|
|
454
|
+
{
|
|
455
|
+
"internalType": "string",
|
|
456
|
+
"name": "",
|
|
457
|
+
"type": "string"
|
|
458
|
+
}
|
|
459
|
+
],
|
|
460
|
+
"stateMutability": "view",
|
|
461
|
+
"type": "function"
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"inputs": [
|
|
465
|
+
{
|
|
466
|
+
"internalType": "address",
|
|
467
|
+
"name": "from",
|
|
468
|
+
"type": "address"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"internalType": "address",
|
|
472
|
+
"name": "to",
|
|
473
|
+
"type": "address"
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"internalType": "uint256",
|
|
477
|
+
"name": "tokenId",
|
|
478
|
+
"type": "uint256"
|
|
479
|
+
}
|
|
480
|
+
],
|
|
481
|
+
"name": "transferFrom",
|
|
482
|
+
"outputs": [],
|
|
483
|
+
"stateMutability": "nonpayable",
|
|
484
|
+
"type": "function"
|
|
485
|
+
}
|
|
486
|
+
],
|
|
487
|
+
"bytecode": "0x608060405234610310576110a48038038061001981610314565b9283398101906040818303126103105780516001600160401b0381116103105782610045918301610339565b60208201519092906001600160401b038111610310576100659201610339565b81516001600160401b038111610226575f54600181811c91168015610306575b602082101461020857601f81116102a4575b50602092601f821160011461024557928192935f9261023a575b50508160011b915f199060031b1c1916175f555b80516001600160401b03811161022657600154600181811c9116801561021c575b602082101461020857601f81116101a5575b50602091601f8211600114610145579181925f9261013a575b50508160011b915f199060031b1c1916176001555b6001600655604051610d0190816103a38239f35b015190505f80610111565b601f1982169260015f52805f20915f5b85811061018d57508360019510610175575b505050811b01600155610126565b01515f1960f88460031b161c191690555f8080610167565b91926020600181928685015181550194019201610155565b60015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6601f830160051c810191602084106101fe575b601f0160051c01905b8181106101f357506100f8565b5f81556001016101e6565b90915081906101dd565b634e487b7160e01b5f52602260045260245ffd5b90607f16906100e6565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100b1565b601f198216935f8052805f20915f5b86811061028c5750836001959610610274575b505050811b015f556100c5565b01515f1960f88460031b161c191690555f8080610267565b91926020600181928685015181550194019201610254565b5f80527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563601f830160051c810191602084106102fc575b601f0160051c01905b8181106102f15750610097565b5f81556001016102e4565b90915081906102db565b90607f1690610085565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761022657604052565b81601f82011215610310578051906001600160401b03821161022657610368601f8301601f1916602001610314565b9282845260208383010111610310575f5b82811061038d57505060205f918301015290565b8060208092840101518282870101520161037956fe6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a7146108745750806306fdde03146107bc578063081812fc14610780578063095ea7b31461069657806323b872dd1461067f57806340c10f191461048057806342842e0e146104515780636352211e1461042157806370a08231146103d057806395d89b41146102c857806398bdf6f5146102ab578063a22cb46514610210578063b88d4fde1461017a578063c87b56dd1461011d5763e985e9c5146100c3575f80fd5b3461011a57604036600319011261011a5760406100de61091e565b916100e7610934565b9260018060a01b031681526005602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b80fd5b3461017657602036600319011261017657610139600435610b36565b505f604051610149602082610984565b5261017260405161015b602082610984565b5f81526040519182916020835260208301906108df565b0390f35b5f80fd5b346101765760803660031901126101765761019361091e565b61019b610934565b6064359190604435906001600160401b0384116101765736602385011215610176578360040135926101cc846109bb565b936101da6040519586610984565b8085523660248288010111610176576020815f92602461020e990183890137860101526102088383836109d6565b33610b6a565b005b346101765760403660031901126101765761022961091e565b60243590811515809203610176576001600160a01b031690811561029857335f52600560205260405f20825f5260205260405f2060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b50630b61174360e31b5f5260045260245ffd5b34610176575f366003190112610176576020600654604051908152f35b34610176575f366003190112610176576040515f6001548060011c906001811680156103c6575b6020831081146103b25782855290811561038e5750600114610330575b6101728361031c81850382610984565b6040519182916020835260208301906108df565b60015f9081527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b8082106103745750909150810160200161031c61030c565b91926001816020925483858801015201910190929161035c565b60ff191660208086019190915291151560051b8401909101915061031c905061030c565b634e487b7160e01b5f52602260045260245ffd5b91607f16916102ef565b34610176576020366003190112610176576001600160a01b036103f161091e565b16801561040e575f526003602052602060405f2054604051908152f35b6322718ad960e21b5f525f60045260245ffd5b3461017657602036600319011261017657602061043f600435610b36565b6040516001600160a01b039091168152f35b346101765761020e6104623661094a565b9060405192610472602085610984565b5f84526102088383836109d6565b346101765760403660031901126101765761049961091e565b6040516020906024356104ac8383610984565b5f82526001600160a01b03841693841561066c575f8281526002855260409020546001600160a01b0316801515908161064c575b5f8781526003875260408082208054600101905585825260028852812080546001600160a01b031916891790558490889083905f516020610cac5f395f51905f529080a450610639573b61053057005b61056a9183916040519384928392630a85bd0160e11b84523360048501525f602485015260448401526080606484015260848301906108df565b03815f875af15f91816105f9575b506105cc57503d156105c4573d9061058f826109bb565b9161059d6040519384610984565b82523d5f8284013e5b815191826105c15783633250574960e11b5f5260045260245ffd5b01fd5b6060906105a6565b6001600160e01b03191663757a42ff60e11b0190506105e757005b633250574960e11b5f5260045260245ffd5b9091508281813d8311610632575b6106118183610984565b8101031261017657516001600160e01b031981168103610176579084610578565b503d610607565b6339e3563760e11b5f525f60045260245ffd5b61065584610c8e565b805f526003865260405f205f1981540190556104e0565b633250574960e11b5f525f60045260245ffd5b346101765761020e6106903661094a565b916109d6565b34610176576040366003190112610176576106af61091e565b6024356106bb81610b36565b3315158061076d575b80610740575b61072d5781906001600160a01b0384811691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a45f90815260046020526040902080546001600160a01b0319166001600160a01b03909216919091179055005b63a9fbf51f60e01b5f523360045260245ffd5b506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff16156106ca565b506001600160a01b0381163314156106c4565b346101765760203660031901126101765760043561079d81610b36565b505f526004602052602060018060a01b0360405f205416604051908152f35b34610176575f366003190112610176576040515f5f548060011c9060018116801561086a575b6020831081146103b25782855290811561038e575060011461080e576101728361031c81850382610984565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b8082106108505750909150810160200161031c61030c565b919260018160209254838588010152019101909291610838565b91607f16916107e2565b34610176576020366003190112610176576004359063ffffffff60e01b8216809203610176576020916380ac58cd60e01b81149081156108ce575b81156108bd575b5015158152f35b6301ffc9a760e01b149050836108b6565b635b5e139f60e01b811491506108af565b91908251928382525f5b848110610909575050825f602080949584010152601f8019910116010190565b806020809284010151828286010152016108e9565b600435906001600160a01b038216820361017657565b602435906001600160a01b038216820361017657565b6060906003190112610176576004356001600160a01b038116810361017657906024356001600160a01b0381168103610176579060443590565b601f909101601f19168101906001600160401b038211908210176109a757604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b0381116109a757601f01601f191660200190565b6001600160a01b039091169190821561066c575f828152600260205260409020546001600160a01b031692829033151580610aa1575b5084610a80575b805f52600360205260405f2060018154019055815f52600260205260405f208160018060a01b0319825416179055845f516020610cac5f395f51905f525f80a46001600160a01b0316808303610a6857505050565b6364283d7b60e01b5f5260045260245260445260645ffd5b610a8982610c8e565b845f52600360205260405f205f198154019055610a13565b90915080610ae5575b15610ab75782905f610a0c565b8284610acf57637e27328960e01b5f5260045260245ffd5b63177e802f60e01b5f523360045260245260445ffd5b503384148015610b14575b80610aaa57505f838152600460205260409020546001600160a01b03163314610aaa565b505f84815260056020908152604080832033845290915290205460ff16610af0565b5f818152600260205260409020546001600160a01b0316908115610b58575090565b637e27328960e01b5f5260045260245ffd5b823b610b78575b5050505050565b604051630a85bd0160e11b81526001600160a01b039182166004820152918116602483015260448201939093526080606482015291169160209082908190610bc49060848301906108df565b03815f865af15f9181610c49575b50610c2757503d15610c20573d610be8816109bb565b90610bf66040519283610984565b81523d5f602083013e5b80519081610c1b5782633250574960e11b5f5260045260245ffd5b602001fd5b6060610c00565b6001600160e01b03191663757a42ff60e11b016105e757505f80808080610b71565b9091506020813d602011610c86575b81610c6560209383610984565b8101031261017657516001600160e01b03198116810361017657905f610bd2565b3d9150610c58565b5f90815260046020526040902080546001600160a01b031916905556feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122044bc4f61ac76fc18193b6f870bcbf783aa0a0646b55bc881b0304d0627dc103964736f6c634300081e0033",
|
|
488
|
+
"deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f905f3560e01c90816301ffc9a7146108745750806306fdde03146107bc578063081812fc14610780578063095ea7b31461069657806323b872dd1461067f57806340c10f191461048057806342842e0e146104515780636352211e1461042157806370a08231146103d057806395d89b41146102c857806398bdf6f5146102ab578063a22cb46514610210578063b88d4fde1461017a578063c87b56dd1461011d5763e985e9c5146100c3575f80fd5b3461011a57604036600319011261011a5760406100de61091e565b916100e7610934565b9260018060a01b031681526005602052209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b80fd5b3461017657602036600319011261017657610139600435610b36565b505f604051610149602082610984565b5261017260405161015b602082610984565b5f81526040519182916020835260208301906108df565b0390f35b5f80fd5b346101765760803660031901126101765761019361091e565b61019b610934565b6064359190604435906001600160401b0384116101765736602385011215610176578360040135926101cc846109bb565b936101da6040519586610984565b8085523660248288010111610176576020815f92602461020e990183890137860101526102088383836109d6565b33610b6a565b005b346101765760403660031901126101765761022961091e565b60243590811515809203610176576001600160a01b031690811561029857335f52600560205260405f20825f5260205260405f2060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b50630b61174360e31b5f5260045260245ffd5b34610176575f366003190112610176576020600654604051908152f35b34610176575f366003190112610176576040515f6001548060011c906001811680156103c6575b6020831081146103b25782855290811561038e5750600114610330575b6101728361031c81850382610984565b6040519182916020835260208301906108df565b60015f9081527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b8082106103745750909150810160200161031c61030c565b91926001816020925483858801015201910190929161035c565b60ff191660208086019190915291151560051b8401909101915061031c905061030c565b634e487b7160e01b5f52602260045260245ffd5b91607f16916102ef565b34610176576020366003190112610176576001600160a01b036103f161091e565b16801561040e575f526003602052602060405f2054604051908152f35b6322718ad960e21b5f525f60045260245ffd5b3461017657602036600319011261017657602061043f600435610b36565b6040516001600160a01b039091168152f35b346101765761020e6104623661094a565b9060405192610472602085610984565b5f84526102088383836109d6565b346101765760403660031901126101765761049961091e565b6040516020906024356104ac8383610984565b5f82526001600160a01b03841693841561066c575f8281526002855260409020546001600160a01b0316801515908161064c575b5f8781526003875260408082208054600101905585825260028852812080546001600160a01b031916891790558490889083905f516020610cac5f395f51905f529080a450610639573b61053057005b61056a9183916040519384928392630a85bd0160e11b84523360048501525f602485015260448401526080606484015260848301906108df565b03815f875af15f91816105f9575b506105cc57503d156105c4573d9061058f826109bb565b9161059d6040519384610984565b82523d5f8284013e5b815191826105c15783633250574960e11b5f5260045260245ffd5b01fd5b6060906105a6565b6001600160e01b03191663757a42ff60e11b0190506105e757005b633250574960e11b5f5260045260245ffd5b9091508281813d8311610632575b6106118183610984565b8101031261017657516001600160e01b031981168103610176579084610578565b503d610607565b6339e3563760e11b5f525f60045260245ffd5b61065584610c8e565b805f526003865260405f205f1981540190556104e0565b633250574960e11b5f525f60045260245ffd5b346101765761020e6106903661094a565b916109d6565b34610176576040366003190112610176576106af61091e565b6024356106bb81610b36565b3315158061076d575b80610740575b61072d5781906001600160a01b0384811691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a45f90815260046020526040902080546001600160a01b0319166001600160a01b03909216919091179055005b63a9fbf51f60e01b5f523360045260245ffd5b506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff16156106ca565b506001600160a01b0381163314156106c4565b346101765760203660031901126101765760043561079d81610b36565b505f526004602052602060018060a01b0360405f205416604051908152f35b34610176575f366003190112610176576040515f5f548060011c9060018116801561086a575b6020831081146103b25782855290811561038e575060011461080e576101728361031c81850382610984565b5f8080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563939250905b8082106108505750909150810160200161031c61030c565b919260018160209254838588010152019101909291610838565b91607f16916107e2565b34610176576020366003190112610176576004359063ffffffff60e01b8216809203610176576020916380ac58cd60e01b81149081156108ce575b81156108bd575b5015158152f35b6301ffc9a760e01b149050836108b6565b635b5e139f60e01b811491506108af565b91908251928382525f5b848110610909575050825f602080949584010152601f8019910116010190565b806020809284010151828286010152016108e9565b600435906001600160a01b038216820361017657565b602435906001600160a01b038216820361017657565b6060906003190112610176576004356001600160a01b038116810361017657906024356001600160a01b0381168103610176579060443590565b601f909101601f19168101906001600160401b038211908210176109a757604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160401b0381116109a757601f01601f191660200190565b6001600160a01b039091169190821561066c575f828152600260205260409020546001600160a01b031692829033151580610aa1575b5084610a80575b805f52600360205260405f2060018154019055815f52600260205260405f208160018060a01b0319825416179055845f516020610cac5f395f51905f525f80a46001600160a01b0316808303610a6857505050565b6364283d7b60e01b5f5260045260245260445260645ffd5b610a8982610c8e565b845f52600360205260405f205f198154019055610a13565b90915080610ae5575b15610ab75782905f610a0c565b8284610acf57637e27328960e01b5f5260045260245ffd5b63177e802f60e01b5f523360045260245260445ffd5b503384148015610b14575b80610aaa57505f838152600460205260409020546001600160a01b03163314610aaa565b505f84815260056020908152604080832033845290915290205460ff16610af0565b5f818152600260205260409020546001600160a01b0316908115610b58575090565b637e27328960e01b5f5260045260245ffd5b823b610b78575b5050505050565b604051630a85bd0160e11b81526001600160a01b039182166004820152918116602483015260448201939093526080606482015291169160209082908190610bc49060848301906108df565b03815f865af15f9181610c49575b50610c2757503d15610c20573d610be8816109bb565b90610bf66040519283610984565b81523d5f602083013e5b80519081610c1b5782633250574960e11b5f5260045260245ffd5b602001fd5b6060610c00565b6001600160e01b03191663757a42ff60e11b016105e757505f80808080610b71565b9091506020813d602011610c86575b81610c6560209383610984565b8101031261017657516001600160e01b03198116810361017657905f610bd2565b3d9150610c58565b5f90815260046020526040902080546001600160a01b031916905556feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122044bc4f61ac76fc18193b6f870bcbf783aa0a0646b55bc881b0304d0627dc103964736f6c634300081e0033",
|
|
489
|
+
"linkReferences": {},
|
|
490
|
+
"deployedLinkReferences": {}
|
|
491
|
+
}
|
|
@@ -197,6 +197,11 @@
|
|
|
197
197
|
"asset": "crvusd",
|
|
198
198
|
"name": "RAAC NFT",
|
|
199
199
|
"contract": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9"
|
|
200
|
+
},
|
|
201
|
+
"raacbotnft": {
|
|
202
|
+
"id": "raacbotnft",
|
|
203
|
+
"name": "RAAC Bot NFT (mock)",
|
|
204
|
+
"contract": "0x700b6A60ce7EaaEA56F065753d8dcB9653dbAD35"
|
|
200
205
|
}
|
|
201
206
|
},
|
|
202
207
|
"assets": {
|
|
@@ -310,7 +315,7 @@
|
|
|
310
315
|
"raacbotlocker": {
|
|
311
316
|
"id": "raacbotlocker",
|
|
312
317
|
"name": "RAAC Bot Locker",
|
|
313
|
-
"contract": "
|
|
318
|
+
"contract": "0x8ce361602B935680E8DeC218b820ff5056BeB7af"
|
|
314
319
|
}
|
|
315
320
|
},
|
|
316
321
|
"zap": {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addRewardTokens = void 0;
|
|
4
|
+
const _helpers_1 = require("./_helpers");
|
|
5
|
+
/**
|
|
6
|
+
* Register reward tokens that can be distributed to lockers. MANAGER_ROLE only.
|
|
7
|
+
* Reverts if any token is the zero address or already registered.
|
|
8
|
+
*
|
|
9
|
+
* @param chainId - The chain/network to use.
|
|
10
|
+
* @param tokens - ERC20 addresses to register.
|
|
11
|
+
* @param signer - An ethers.js Signer instance (required).
|
|
12
|
+
*/
|
|
13
|
+
const addRewardTokens = async (chainId, tokens, signer) => {
|
|
14
|
+
if (!signer)
|
|
15
|
+
throw new Error("Signer is required");
|
|
16
|
+
const contract = await (0, _helpers_1.getBotLockerContract)(chainId, signer);
|
|
17
|
+
const tx = await contract.addRewardTokens(tokens);
|
|
18
|
+
await tx.wait();
|
|
19
|
+
return tx;
|
|
20
|
+
};
|
|
21
|
+
exports.addRewardTokens = addRewardTokens;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.distributeRewardToken = void 0;
|
|
4
|
+
const _helpers_1 = require("./_helpers");
|
|
5
|
+
/**
|
|
6
|
+
* Distribute `amount` of a registered reward token across all currently locked NFTs. DISTRIBUTOR_ROLE only.
|
|
7
|
+
* The signer's tokens are pulled via transferFrom, so approve the locker for `amount` first.
|
|
8
|
+
* Reverts when nothing is locked.
|
|
9
|
+
*
|
|
10
|
+
* @param chainId - The chain/network to use.
|
|
11
|
+
* @param token - Address of a registered reward token.
|
|
12
|
+
* @param amount - Amount to distribute, in `token` base units.
|
|
13
|
+
* @param signer - An ethers.js Signer instance (required).
|
|
14
|
+
*/
|
|
15
|
+
const distributeRewardToken = async (chainId, token, amount, signer) => {
|
|
16
|
+
if (!signer)
|
|
17
|
+
throw new Error("Signer is required");
|
|
18
|
+
const contract = await (0, _helpers_1.getBotLockerContract)(chainId, signer);
|
|
19
|
+
const tx = await contract.distributeRewardToken(token, amount);
|
|
20
|
+
await tx.wait();
|
|
21
|
+
return tx;
|
|
22
|
+
};
|
|
23
|
+
exports.distributeRewardToken = distributeRewardToken;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getConfig = void 0;
|
|
4
|
+
const _helpers_1 = require("./_helpers");
|
|
5
|
+
/**
|
|
6
|
+
* Read the locker's configuration in a single call batch.
|
|
7
|
+
*
|
|
8
|
+
* @param chainId - The chain/network to use.
|
|
9
|
+
* @param provider - Optional ethers.js Provider instance.
|
|
10
|
+
* @returns The NFT collection, lock timing constants, reward tokens and pause state.
|
|
11
|
+
*/
|
|
12
|
+
const getConfig = async (chainId, provider) => {
|
|
13
|
+
const contract = await (0, _helpers_1.getBotLockerContract)(chainId, provider);
|
|
14
|
+
const [nft, epochDuration, lockDurationEpochs, rewardTokens, paused] = await Promise.all([
|
|
15
|
+
contract.nft(),
|
|
16
|
+
contract.EPOCH_DURATION(),
|
|
17
|
+
contract.LOCK_DURATION_IN_EPOCH(),
|
|
18
|
+
contract.getRewardTokens(),
|
|
19
|
+
contract.paused(),
|
|
20
|
+
]);
|
|
21
|
+
return {
|
|
22
|
+
nft,
|
|
23
|
+
epochDuration: Number(epochDuration),
|
|
24
|
+
lockDurationEpochs: Number(lockDurationEpochs),
|
|
25
|
+
rewardTokens: Array.from(rewardTokens),
|
|
26
|
+
paused,
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
exports.getConfig = getConfig;
|