@boostxyz/sdk 1.1.0-alpha.24 → 2.0.0-alpha.26
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/Actions/Action.cjs +1 -1
- package/dist/Actions/Action.js +7 -7
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.cjs.map +1 -1
- package/dist/Actions/EventAction.d.ts +7 -7
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +153 -152
- package/dist/Actions/EventAction.js.map +1 -1
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.js +10 -10
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.js +10 -10
- package/dist/AllowLists/SimpleDenyList.cjs +1 -1
- package/dist/AllowLists/SimpleDenyList.js +3 -3
- package/dist/Auth/PassthroughAuth.cjs +1 -1
- package/dist/Auth/PassthroughAuth.js +1 -1
- package/dist/BoostCore.cjs +2 -1
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.d.ts +564 -1
- package/dist/BoostCore.d.ts.map +1 -1
- package/dist/BoostCore.js +1322 -29
- package/dist/BoostCore.js.map +1 -1
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.js +27 -27
- package/dist/Budgets/Budget.cjs +1 -1
- package/dist/Budgets/Budget.js +2 -2
- package/dist/Budgets/ManagedBudget.cjs +1 -1
- package/dist/Budgets/ManagedBudget.js +23 -23
- package/dist/Deployable/DeployableTarget.cjs +1 -1
- package/dist/Deployable/DeployableTarget.js +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.js +23 -23
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.js +8 -8
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.js +12 -12
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.js +16 -16
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +2 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +42 -15
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js +188 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -0
- package/dist/Incentives/ERC20VariableIncentive.cjs +2 -0
- package/dist/Incentives/ERC20VariableIncentive.cjs.map +1 -0
- package/dist/Incentives/ERC20VariableIncentive.d.ts +7 -5
- package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
- package/dist/{Incentive-rM5nKznp.js → Incentives/ERC20VariableIncentive.js} +42 -67
- package/dist/Incentives/ERC20VariableIncentive.js.map +1 -0
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.cjs.map +1 -1
- package/dist/Incentives/Incentive.d.ts +552 -3
- package/dist/Incentives/Incentive.d.ts.map +1 -1
- package/dist/Incentives/Incentive.js +40 -16
- package/dist/Incentives/Incentive.js.map +1 -1
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.js +8 -8
- package/dist/{SimpleDenyList-DNj5qDWM.cjs → SimpleDenyList-BdlpZdDz.cjs} +2 -2
- package/dist/{SimpleDenyList-DNj5qDWM.cjs.map → SimpleDenyList-BdlpZdDz.cjs.map} +1 -1
- package/dist/{SimpleDenyList-BDXpY74P.js → SimpleDenyList-D0cyVUVv.js} +16 -16
- package/dist/{SimpleDenyList-BDXpY74P.js.map → SimpleDenyList-D0cyVUVv.js.map} +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs +2 -0
- package/dist/Validators/LimitedSignerValidator.cjs.map +1 -0
- package/dist/Validators/LimitedSignerValidator.d.ts +806 -0
- package/dist/Validators/LimitedSignerValidator.d.ts.map +1 -0
- package/dist/Validators/LimitedSignerValidator.js +299 -0
- package/dist/Validators/LimitedSignerValidator.js.map +1 -0
- package/dist/Validators/SignerValidator.cjs +1 -1
- package/dist/Validators/SignerValidator.cjs.map +1 -1
- package/dist/Validators/SignerValidator.d.ts +2 -2
- package/dist/Validators/SignerValidator.d.ts.map +1 -1
- package/dist/Validators/SignerValidator.js +39 -41
- package/dist/Validators/SignerValidator.js.map +1 -1
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.cjs.map +1 -1
- package/dist/Validators/Validator.d.ts +22 -2
- package/dist/Validators/Validator.d.ts.map +1 -1
- package/dist/Validators/Validator.js +26 -17
- package/dist/Validators/Validator.js.map +1 -1
- package/dist/{componentInterfaces-BBCFkrZv.js → componentInterfaces-bIVo8eyA.js} +9 -9
- package/dist/componentInterfaces-bIVo8eyA.js.map +1 -0
- package/dist/{deployments-fJsWblwS.js → deployments-Ccx1MtoK.js} +5 -5
- package/dist/deployments-Ccx1MtoK.js.map +1 -0
- package/dist/{generated-CsNyWPKA.js → generated-BAKNSOjJ.js} +661 -381
- package/dist/generated-BAKNSOjJ.js.map +1 -0
- package/dist/generated-Cqn4wS01.cjs +3 -0
- package/dist/generated-Cqn4wS01.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +150 -138
- package/dist/index.js.map +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts +10 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +27 -26
- package/dist/utils.js.map +1 -1
- package/package.json +21 -5
- package/src/Actions/EventAction.ts +29 -27
- package/src/BoostCore.test.ts +3 -3
- package/src/BoostCore.ts +51 -5
- package/src/Incentives/AllowListIncentive.test.ts +19 -21
- package/src/Incentives/CGDAIncentive.test.ts +20 -22
- package/src/Incentives/ERC1155Incentive.test.ts +14 -15
- package/src/Incentives/ERC20Incentive.test.ts +17 -19
- package/src/Incentives/ERC20VariableCriteriaIncentive.test.ts +62 -10
- package/src/Incentives/ERC20VariableCriteriaIncentive.ts +79 -37
- package/src/Incentives/ERC20VariableIncentive.test.ts +16 -18
- package/src/Incentives/ERC20VariableIncentive.ts +16 -8
- package/src/Incentives/Incentive.ts +4 -1
- package/src/Incentives/PointsIncentive.test.ts +3 -5
- package/src/Validators/LimitedSignerValidator.test.ts +223 -0
- package/src/Validators/LimitedSignerValidator.ts +707 -0
- package/src/Validators/SignerValidator.test.ts +21 -22
- package/src/Validators/SignerValidator.ts +3 -4
- package/src/Validators/Validator.test.ts +7 -1
- package/src/Validators/Validator.ts +30 -3
- package/src/index.test.ts +2 -0
- package/src/index.ts +1 -0
- package/src/utils.ts +11 -0
- package/dist/BoostCore-Btl5BdAs.cjs +0 -3
- package/dist/BoostCore-Btl5BdAs.cjs.map +0 -1
- package/dist/BoostCore-CD56zbYX.js +0 -2641
- package/dist/BoostCore-CD56zbYX.js.map +0 -1
- package/dist/Incentive-CcnOIc8L.cjs +0 -2
- package/dist/Incentive-CcnOIc8L.cjs.map +0 -1
- package/dist/Incentive-rM5nKznp.js.map +0 -1
- package/dist/componentInterfaces-BBCFkrZv.js.map +0 -1
- package/dist/deployments-fJsWblwS.js.map +0 -1
- package/dist/generated-CsNyWPKA.js.map +0 -1
- package/dist/generated-DHerxf1y.cjs +0 -3
- package/dist/generated-DHerxf1y.cjs.map +0 -1
|
@@ -3,10 +3,10 @@ import type { DeployableOptions } from '../Deployable/Deployable';
|
|
|
3
3
|
import { AllowListIncentive } from './AllowListIncentive';
|
|
4
4
|
import { CGDAIncentive } from './CGDAIncentive';
|
|
5
5
|
import { ERC20Incentive } from './ERC20Incentive';
|
|
6
|
-
import
|
|
6
|
+
import { ERC20VariableCriteriaIncentive } from './ERC20VariableCriteriaIncentive';
|
|
7
7
|
import { ERC20VariableIncentive } from './ERC20VariableIncentive';
|
|
8
8
|
import { PointsIncentive } from './PointsIncentive';
|
|
9
|
-
export { AllowListIncentive, CGDAIncentive, ERC20Incentive, PointsIncentive, ERC20VariableIncentive, };
|
|
9
|
+
export { AllowListIncentive, CGDAIncentive, ERC20Incentive, PointsIncentive, ERC20VariableIncentive, ERC20VariableCriteriaIncentive, };
|
|
10
10
|
/**
|
|
11
11
|
* A union type representing all valid protocol Incentive implementations
|
|
12
12
|
*
|
|
@@ -32,5 +32,554 @@ export declare const IncentiveByComponentInterface: {
|
|
|
32
32
|
* @returns {Incentive}
|
|
33
33
|
* @throws {@link InvalidComponentInterfaceError}
|
|
34
34
|
*/
|
|
35
|
-
export declare function incentiveFromAddress(options: DeployableOptions, address: Address): Promise<AllowListIncentive | CGDAIncentive | ERC20Incentive |
|
|
35
|
+
export declare function incentiveFromAddress(options: DeployableOptions, address: Address): Promise<AllowListIncentive | CGDAIncentive | ERC20Incentive | PointsIncentive | ERC20VariableIncentive<`0x${string}`, readonly [{
|
|
36
|
+
readonly type: "constructor";
|
|
37
|
+
readonly inputs: readonly [];
|
|
38
|
+
readonly stateMutability: "nonpayable";
|
|
39
|
+
}, {
|
|
40
|
+
readonly type: "error";
|
|
41
|
+
readonly inputs: readonly [];
|
|
42
|
+
readonly name: "AlreadyInitialized";
|
|
43
|
+
}, {
|
|
44
|
+
readonly type: "error";
|
|
45
|
+
readonly inputs: readonly [];
|
|
46
|
+
readonly name: "ClaimFailed";
|
|
47
|
+
}, {
|
|
48
|
+
readonly type: "error";
|
|
49
|
+
readonly inputs: readonly [];
|
|
50
|
+
readonly name: "CloneAlreadyInitialized";
|
|
51
|
+
}, {
|
|
52
|
+
readonly type: "error";
|
|
53
|
+
readonly inputs: readonly [];
|
|
54
|
+
readonly name: "InitializerNotImplemented";
|
|
55
|
+
}, {
|
|
56
|
+
readonly type: "error";
|
|
57
|
+
readonly inputs: readonly [{
|
|
58
|
+
readonly name: "asset";
|
|
59
|
+
readonly internalType: "address";
|
|
60
|
+
readonly type: "address";
|
|
61
|
+
}, {
|
|
62
|
+
readonly name: "available";
|
|
63
|
+
readonly internalType: "uint256";
|
|
64
|
+
readonly type: "uint256";
|
|
65
|
+
}, {
|
|
66
|
+
readonly name: "required";
|
|
67
|
+
readonly internalType: "uint256";
|
|
68
|
+
readonly type: "uint256";
|
|
69
|
+
}];
|
|
70
|
+
readonly name: "InsufficientFunds";
|
|
71
|
+
}, {
|
|
72
|
+
readonly type: "error";
|
|
73
|
+
readonly inputs: readonly [];
|
|
74
|
+
readonly name: "InvalidInitialization";
|
|
75
|
+
}, {
|
|
76
|
+
readonly type: "error";
|
|
77
|
+
readonly inputs: readonly [];
|
|
78
|
+
readonly name: "InvalidInitialization";
|
|
79
|
+
}, {
|
|
80
|
+
readonly type: "error";
|
|
81
|
+
readonly inputs: readonly [];
|
|
82
|
+
readonly name: "InvalidInitializationData";
|
|
83
|
+
}, {
|
|
84
|
+
readonly type: "error";
|
|
85
|
+
readonly inputs: readonly [];
|
|
86
|
+
readonly name: "LengthMismatch";
|
|
87
|
+
}, {
|
|
88
|
+
readonly type: "error";
|
|
89
|
+
readonly inputs: readonly [];
|
|
90
|
+
readonly name: "NewOwnerIsZeroAddress";
|
|
91
|
+
}, {
|
|
92
|
+
readonly type: "error";
|
|
93
|
+
readonly inputs: readonly [];
|
|
94
|
+
readonly name: "NoHandoverRequest";
|
|
95
|
+
}, {
|
|
96
|
+
readonly type: "error";
|
|
97
|
+
readonly inputs: readonly [];
|
|
98
|
+
readonly name: "NotClaimable";
|
|
99
|
+
}, {
|
|
100
|
+
readonly type: "error";
|
|
101
|
+
readonly inputs: readonly [];
|
|
102
|
+
readonly name: "NotInitializing";
|
|
103
|
+
}, {
|
|
104
|
+
readonly type: "error";
|
|
105
|
+
readonly inputs: readonly [];
|
|
106
|
+
readonly name: "Unauthorized";
|
|
107
|
+
}, {
|
|
108
|
+
readonly type: "event";
|
|
109
|
+
readonly anonymous: false;
|
|
110
|
+
readonly inputs: readonly [{
|
|
111
|
+
readonly name: "recipient";
|
|
112
|
+
readonly internalType: "address";
|
|
113
|
+
readonly type: "address";
|
|
114
|
+
readonly indexed: true;
|
|
115
|
+
}, {
|
|
116
|
+
readonly name: "data";
|
|
117
|
+
readonly internalType: "bytes";
|
|
118
|
+
readonly type: "bytes";
|
|
119
|
+
readonly indexed: false;
|
|
120
|
+
}];
|
|
121
|
+
readonly name: "Claimed";
|
|
122
|
+
}, {
|
|
123
|
+
readonly type: "event";
|
|
124
|
+
readonly anonymous: false;
|
|
125
|
+
readonly inputs: readonly [{
|
|
126
|
+
readonly name: "version";
|
|
127
|
+
readonly internalType: "uint64";
|
|
128
|
+
readonly type: "uint64";
|
|
129
|
+
readonly indexed: false;
|
|
130
|
+
}];
|
|
131
|
+
readonly name: "Initialized";
|
|
132
|
+
}, {
|
|
133
|
+
readonly type: "event";
|
|
134
|
+
readonly anonymous: false;
|
|
135
|
+
readonly inputs: readonly [{
|
|
136
|
+
readonly name: "pendingOwner";
|
|
137
|
+
readonly internalType: "address";
|
|
138
|
+
readonly type: "address";
|
|
139
|
+
readonly indexed: true;
|
|
140
|
+
}];
|
|
141
|
+
readonly name: "OwnershipHandoverCanceled";
|
|
142
|
+
}, {
|
|
143
|
+
readonly type: "event";
|
|
144
|
+
readonly anonymous: false;
|
|
145
|
+
readonly inputs: readonly [{
|
|
146
|
+
readonly name: "pendingOwner";
|
|
147
|
+
readonly internalType: "address";
|
|
148
|
+
readonly type: "address";
|
|
149
|
+
readonly indexed: true;
|
|
150
|
+
}];
|
|
151
|
+
readonly name: "OwnershipHandoverRequested";
|
|
152
|
+
}, {
|
|
153
|
+
readonly type: "event";
|
|
154
|
+
readonly anonymous: false;
|
|
155
|
+
readonly inputs: readonly [{
|
|
156
|
+
readonly name: "oldOwner";
|
|
157
|
+
readonly internalType: "address";
|
|
158
|
+
readonly type: "address";
|
|
159
|
+
readonly indexed: true;
|
|
160
|
+
}, {
|
|
161
|
+
readonly name: "newOwner";
|
|
162
|
+
readonly internalType: "address";
|
|
163
|
+
readonly type: "address";
|
|
164
|
+
readonly indexed: true;
|
|
165
|
+
}];
|
|
166
|
+
readonly name: "OwnershipTransferred";
|
|
167
|
+
}, {
|
|
168
|
+
readonly type: "event";
|
|
169
|
+
readonly anonymous: false;
|
|
170
|
+
readonly inputs: readonly [{
|
|
171
|
+
readonly name: "user";
|
|
172
|
+
readonly internalType: "address";
|
|
173
|
+
readonly type: "address";
|
|
174
|
+
readonly indexed: true;
|
|
175
|
+
}, {
|
|
176
|
+
readonly name: "roles";
|
|
177
|
+
readonly internalType: "uint256";
|
|
178
|
+
readonly type: "uint256";
|
|
179
|
+
readonly indexed: true;
|
|
180
|
+
}];
|
|
181
|
+
readonly name: "RolesUpdated";
|
|
182
|
+
}, {
|
|
183
|
+
readonly type: "function";
|
|
184
|
+
readonly inputs: readonly [];
|
|
185
|
+
readonly name: "ADMIN_ROLE";
|
|
186
|
+
readonly outputs: readonly [{
|
|
187
|
+
readonly name: "";
|
|
188
|
+
readonly internalType: "uint256";
|
|
189
|
+
readonly type: "uint256";
|
|
190
|
+
}];
|
|
191
|
+
readonly stateMutability: "view";
|
|
192
|
+
}, {
|
|
193
|
+
readonly type: "function";
|
|
194
|
+
readonly inputs: readonly [];
|
|
195
|
+
readonly name: "MANAGER_ROLE";
|
|
196
|
+
readonly outputs: readonly [{
|
|
197
|
+
readonly name: "";
|
|
198
|
+
readonly internalType: "uint256";
|
|
199
|
+
readonly type: "uint256";
|
|
200
|
+
}];
|
|
201
|
+
readonly stateMutability: "view";
|
|
202
|
+
}, {
|
|
203
|
+
readonly type: "function";
|
|
204
|
+
readonly inputs: readonly [];
|
|
205
|
+
readonly name: "asset";
|
|
206
|
+
readonly outputs: readonly [{
|
|
207
|
+
readonly name: "";
|
|
208
|
+
readonly internalType: "address";
|
|
209
|
+
readonly type: "address";
|
|
210
|
+
}];
|
|
211
|
+
readonly stateMutability: "view";
|
|
212
|
+
}, {
|
|
213
|
+
readonly type: "function";
|
|
214
|
+
readonly inputs: readonly [];
|
|
215
|
+
readonly name: "cancelOwnershipHandover";
|
|
216
|
+
readonly outputs: readonly [];
|
|
217
|
+
readonly stateMutability: "payable";
|
|
218
|
+
}, {
|
|
219
|
+
readonly type: "function";
|
|
220
|
+
readonly inputs: readonly [{
|
|
221
|
+
readonly name: "claimTarget";
|
|
222
|
+
readonly internalType: "address";
|
|
223
|
+
readonly type: "address";
|
|
224
|
+
}, {
|
|
225
|
+
readonly name: "data_";
|
|
226
|
+
readonly internalType: "bytes";
|
|
227
|
+
readonly type: "bytes";
|
|
228
|
+
}];
|
|
229
|
+
readonly name: "claim";
|
|
230
|
+
readonly outputs: readonly [{
|
|
231
|
+
readonly name: "";
|
|
232
|
+
readonly internalType: "bool";
|
|
233
|
+
readonly type: "bool";
|
|
234
|
+
}];
|
|
235
|
+
readonly stateMutability: "nonpayable";
|
|
236
|
+
}, {
|
|
237
|
+
readonly type: "function";
|
|
238
|
+
readonly inputs: readonly [{
|
|
239
|
+
readonly name: "";
|
|
240
|
+
readonly internalType: "address";
|
|
241
|
+
readonly type: "address";
|
|
242
|
+
}];
|
|
243
|
+
readonly name: "claimed";
|
|
244
|
+
readonly outputs: readonly [{
|
|
245
|
+
readonly name: "";
|
|
246
|
+
readonly internalType: "bool";
|
|
247
|
+
readonly type: "bool";
|
|
248
|
+
}];
|
|
249
|
+
readonly stateMutability: "view";
|
|
250
|
+
}, {
|
|
251
|
+
readonly type: "function";
|
|
252
|
+
readonly inputs: readonly [];
|
|
253
|
+
readonly name: "claims";
|
|
254
|
+
readonly outputs: readonly [{
|
|
255
|
+
readonly name: "";
|
|
256
|
+
readonly internalType: "uint256";
|
|
257
|
+
readonly type: "uint256";
|
|
258
|
+
}];
|
|
259
|
+
readonly stateMutability: "view";
|
|
260
|
+
}, {
|
|
261
|
+
readonly type: "function";
|
|
262
|
+
readonly inputs: readonly [{
|
|
263
|
+
readonly name: "data_";
|
|
264
|
+
readonly internalType: "bytes";
|
|
265
|
+
readonly type: "bytes";
|
|
266
|
+
}];
|
|
267
|
+
readonly name: "clawback";
|
|
268
|
+
readonly outputs: readonly [{
|
|
269
|
+
readonly name: "";
|
|
270
|
+
readonly internalType: "uint256";
|
|
271
|
+
readonly type: "uint256";
|
|
272
|
+
}, {
|
|
273
|
+
readonly name: "";
|
|
274
|
+
readonly internalType: "address";
|
|
275
|
+
readonly type: "address";
|
|
276
|
+
}];
|
|
277
|
+
readonly stateMutability: "nonpayable";
|
|
278
|
+
}, {
|
|
279
|
+
readonly type: "function";
|
|
280
|
+
readonly inputs: readonly [{
|
|
281
|
+
readonly name: "pendingOwner";
|
|
282
|
+
readonly internalType: "address";
|
|
283
|
+
readonly type: "address";
|
|
284
|
+
}];
|
|
285
|
+
readonly name: "completeOwnershipHandover";
|
|
286
|
+
readonly outputs: readonly [];
|
|
287
|
+
readonly stateMutability: "payable";
|
|
288
|
+
}, {
|
|
289
|
+
readonly type: "function";
|
|
290
|
+
readonly inputs: readonly [];
|
|
291
|
+
readonly name: "currentReward";
|
|
292
|
+
readonly outputs: readonly [{
|
|
293
|
+
readonly name: "";
|
|
294
|
+
readonly internalType: "uint256";
|
|
295
|
+
readonly type: "uint256";
|
|
296
|
+
}];
|
|
297
|
+
readonly stateMutability: "view";
|
|
298
|
+
}, {
|
|
299
|
+
readonly type: "function";
|
|
300
|
+
readonly inputs: readonly [];
|
|
301
|
+
readonly name: "getComponentInterface";
|
|
302
|
+
readonly outputs: readonly [{
|
|
303
|
+
readonly name: "";
|
|
304
|
+
readonly internalType: "bytes4";
|
|
305
|
+
readonly type: "bytes4";
|
|
306
|
+
}];
|
|
307
|
+
readonly stateMutability: "pure";
|
|
308
|
+
}, {
|
|
309
|
+
readonly type: "function";
|
|
310
|
+
readonly inputs: readonly [{
|
|
311
|
+
readonly name: "accounts_";
|
|
312
|
+
readonly internalType: "address[]";
|
|
313
|
+
readonly type: "address[]";
|
|
314
|
+
}, {
|
|
315
|
+
readonly name: "roles_";
|
|
316
|
+
readonly internalType: "uint256[]";
|
|
317
|
+
readonly type: "uint256[]";
|
|
318
|
+
}];
|
|
319
|
+
readonly name: "grantManyRoles";
|
|
320
|
+
readonly outputs: readonly [];
|
|
321
|
+
readonly stateMutability: "nonpayable";
|
|
322
|
+
}, {
|
|
323
|
+
readonly type: "function";
|
|
324
|
+
readonly inputs: readonly [{
|
|
325
|
+
readonly name: "user";
|
|
326
|
+
readonly internalType: "address";
|
|
327
|
+
readonly type: "address";
|
|
328
|
+
}, {
|
|
329
|
+
readonly name: "roles";
|
|
330
|
+
readonly internalType: "uint256";
|
|
331
|
+
readonly type: "uint256";
|
|
332
|
+
}];
|
|
333
|
+
readonly name: "grantRoles";
|
|
334
|
+
readonly outputs: readonly [];
|
|
335
|
+
readonly stateMutability: "payable";
|
|
336
|
+
}, {
|
|
337
|
+
readonly type: "function";
|
|
338
|
+
readonly inputs: readonly [{
|
|
339
|
+
readonly name: "user";
|
|
340
|
+
readonly internalType: "address";
|
|
341
|
+
readonly type: "address";
|
|
342
|
+
}, {
|
|
343
|
+
readonly name: "roles";
|
|
344
|
+
readonly internalType: "uint256";
|
|
345
|
+
readonly type: "uint256";
|
|
346
|
+
}];
|
|
347
|
+
readonly name: "hasAllRoles";
|
|
348
|
+
readonly outputs: readonly [{
|
|
349
|
+
readonly name: "";
|
|
350
|
+
readonly internalType: "bool";
|
|
351
|
+
readonly type: "bool";
|
|
352
|
+
}];
|
|
353
|
+
readonly stateMutability: "view";
|
|
354
|
+
}, {
|
|
355
|
+
readonly type: "function";
|
|
356
|
+
readonly inputs: readonly [{
|
|
357
|
+
readonly name: "user";
|
|
358
|
+
readonly internalType: "address";
|
|
359
|
+
readonly type: "address";
|
|
360
|
+
}, {
|
|
361
|
+
readonly name: "roles";
|
|
362
|
+
readonly internalType: "uint256";
|
|
363
|
+
readonly type: "uint256";
|
|
364
|
+
}];
|
|
365
|
+
readonly name: "hasAnyRole";
|
|
366
|
+
readonly outputs: readonly [{
|
|
367
|
+
readonly name: "";
|
|
368
|
+
readonly internalType: "bool";
|
|
369
|
+
readonly type: "bool";
|
|
370
|
+
}];
|
|
371
|
+
readonly stateMutability: "view";
|
|
372
|
+
}, {
|
|
373
|
+
readonly type: "function";
|
|
374
|
+
readonly inputs: readonly [{
|
|
375
|
+
readonly name: "data_";
|
|
376
|
+
readonly internalType: "bytes";
|
|
377
|
+
readonly type: "bytes";
|
|
378
|
+
}];
|
|
379
|
+
readonly name: "initialize";
|
|
380
|
+
readonly outputs: readonly [];
|
|
381
|
+
readonly stateMutability: "nonpayable";
|
|
382
|
+
}, {
|
|
383
|
+
readonly type: "function";
|
|
384
|
+
readonly inputs: readonly [{
|
|
385
|
+
readonly name: "account_";
|
|
386
|
+
readonly internalType: "address";
|
|
387
|
+
readonly type: "address";
|
|
388
|
+
}];
|
|
389
|
+
readonly name: "isAuthorized";
|
|
390
|
+
readonly outputs: readonly [{
|
|
391
|
+
readonly name: "";
|
|
392
|
+
readonly internalType: "bool";
|
|
393
|
+
readonly type: "bool";
|
|
394
|
+
}];
|
|
395
|
+
readonly stateMutability: "view";
|
|
396
|
+
}, {
|
|
397
|
+
readonly type: "function";
|
|
398
|
+
readonly inputs: readonly [{
|
|
399
|
+
readonly name: "claimTarget";
|
|
400
|
+
readonly internalType: "address";
|
|
401
|
+
readonly type: "address";
|
|
402
|
+
}, {
|
|
403
|
+
readonly name: "";
|
|
404
|
+
readonly internalType: "bytes";
|
|
405
|
+
readonly type: "bytes";
|
|
406
|
+
}];
|
|
407
|
+
readonly name: "isClaimable";
|
|
408
|
+
readonly outputs: readonly [{
|
|
409
|
+
readonly name: "";
|
|
410
|
+
readonly internalType: "bool";
|
|
411
|
+
readonly type: "bool";
|
|
412
|
+
}];
|
|
413
|
+
readonly stateMutability: "view";
|
|
414
|
+
}, {
|
|
415
|
+
readonly type: "function";
|
|
416
|
+
readonly inputs: readonly [];
|
|
417
|
+
readonly name: "limit";
|
|
418
|
+
readonly outputs: readonly [{
|
|
419
|
+
readonly name: "";
|
|
420
|
+
readonly internalType: "uint256";
|
|
421
|
+
readonly type: "uint256";
|
|
422
|
+
}];
|
|
423
|
+
readonly stateMutability: "view";
|
|
424
|
+
}, {
|
|
425
|
+
readonly type: "function";
|
|
426
|
+
readonly inputs: readonly [];
|
|
427
|
+
readonly name: "owner";
|
|
428
|
+
readonly outputs: readonly [{
|
|
429
|
+
readonly name: "result";
|
|
430
|
+
readonly internalType: "address";
|
|
431
|
+
readonly type: "address";
|
|
432
|
+
}];
|
|
433
|
+
readonly stateMutability: "view";
|
|
434
|
+
}, {
|
|
435
|
+
readonly type: "function";
|
|
436
|
+
readonly inputs: readonly [{
|
|
437
|
+
readonly name: "pendingOwner";
|
|
438
|
+
readonly internalType: "address";
|
|
439
|
+
readonly type: "address";
|
|
440
|
+
}];
|
|
441
|
+
readonly name: "ownershipHandoverExpiresAt";
|
|
442
|
+
readonly outputs: readonly [{
|
|
443
|
+
readonly name: "result";
|
|
444
|
+
readonly internalType: "uint256";
|
|
445
|
+
readonly type: "uint256";
|
|
446
|
+
}];
|
|
447
|
+
readonly stateMutability: "view";
|
|
448
|
+
}, {
|
|
449
|
+
readonly type: "function";
|
|
450
|
+
readonly inputs: readonly [{
|
|
451
|
+
readonly name: "data_";
|
|
452
|
+
readonly internalType: "bytes";
|
|
453
|
+
readonly type: "bytes";
|
|
454
|
+
}];
|
|
455
|
+
readonly name: "preflight";
|
|
456
|
+
readonly outputs: readonly [{
|
|
457
|
+
readonly name: "budgetData";
|
|
458
|
+
readonly internalType: "bytes";
|
|
459
|
+
readonly type: "bytes";
|
|
460
|
+
}];
|
|
461
|
+
readonly stateMutability: "view";
|
|
462
|
+
}, {
|
|
463
|
+
readonly type: "function";
|
|
464
|
+
readonly inputs: readonly [];
|
|
465
|
+
readonly name: "renounceOwnership";
|
|
466
|
+
readonly outputs: readonly [];
|
|
467
|
+
readonly stateMutability: "payable";
|
|
468
|
+
}, {
|
|
469
|
+
readonly type: "function";
|
|
470
|
+
readonly inputs: readonly [{
|
|
471
|
+
readonly name: "roles";
|
|
472
|
+
readonly internalType: "uint256";
|
|
473
|
+
readonly type: "uint256";
|
|
474
|
+
}];
|
|
475
|
+
readonly name: "renounceRoles";
|
|
476
|
+
readonly outputs: readonly [];
|
|
477
|
+
readonly stateMutability: "payable";
|
|
478
|
+
}, {
|
|
479
|
+
readonly type: "function";
|
|
480
|
+
readonly inputs: readonly [];
|
|
481
|
+
readonly name: "requestOwnershipHandover";
|
|
482
|
+
readonly outputs: readonly [];
|
|
483
|
+
readonly stateMutability: "payable";
|
|
484
|
+
}, {
|
|
485
|
+
readonly type: "function";
|
|
486
|
+
readonly inputs: readonly [{
|
|
487
|
+
readonly name: "accounts_";
|
|
488
|
+
readonly internalType: "address[]";
|
|
489
|
+
readonly type: "address[]";
|
|
490
|
+
}, {
|
|
491
|
+
readonly name: "roles_";
|
|
492
|
+
readonly internalType: "uint256[]";
|
|
493
|
+
readonly type: "uint256[]";
|
|
494
|
+
}];
|
|
495
|
+
readonly name: "revokeManyRoles";
|
|
496
|
+
readonly outputs: readonly [];
|
|
497
|
+
readonly stateMutability: "nonpayable";
|
|
498
|
+
}, {
|
|
499
|
+
readonly type: "function";
|
|
500
|
+
readonly inputs: readonly [{
|
|
501
|
+
readonly name: "user";
|
|
502
|
+
readonly internalType: "address";
|
|
503
|
+
readonly type: "address";
|
|
504
|
+
}, {
|
|
505
|
+
readonly name: "roles";
|
|
506
|
+
readonly internalType: "uint256";
|
|
507
|
+
readonly type: "uint256";
|
|
508
|
+
}];
|
|
509
|
+
readonly name: "revokeRoles";
|
|
510
|
+
readonly outputs: readonly [];
|
|
511
|
+
readonly stateMutability: "payable";
|
|
512
|
+
}, {
|
|
513
|
+
readonly type: "function";
|
|
514
|
+
readonly inputs: readonly [];
|
|
515
|
+
readonly name: "reward";
|
|
516
|
+
readonly outputs: readonly [{
|
|
517
|
+
readonly name: "";
|
|
518
|
+
readonly internalType: "uint256";
|
|
519
|
+
readonly type: "uint256";
|
|
520
|
+
}];
|
|
521
|
+
readonly stateMutability: "view";
|
|
522
|
+
}, {
|
|
523
|
+
readonly type: "function";
|
|
524
|
+
readonly inputs: readonly [{
|
|
525
|
+
readonly name: "user";
|
|
526
|
+
readonly internalType: "address";
|
|
527
|
+
readonly type: "address";
|
|
528
|
+
}];
|
|
529
|
+
readonly name: "rolesOf";
|
|
530
|
+
readonly outputs: readonly [{
|
|
531
|
+
readonly name: "roles";
|
|
532
|
+
readonly internalType: "uint256";
|
|
533
|
+
readonly type: "uint256";
|
|
534
|
+
}];
|
|
535
|
+
readonly stateMutability: "view";
|
|
536
|
+
}, {
|
|
537
|
+
readonly type: "function";
|
|
538
|
+
readonly inputs: readonly [{
|
|
539
|
+
readonly name: "accounts_";
|
|
540
|
+
readonly internalType: "address[]";
|
|
541
|
+
readonly type: "address[]";
|
|
542
|
+
}, {
|
|
543
|
+
readonly name: "authorized_";
|
|
544
|
+
readonly internalType: "bool[]";
|
|
545
|
+
readonly type: "bool[]";
|
|
546
|
+
}];
|
|
547
|
+
readonly name: "setAuthorized";
|
|
548
|
+
readonly outputs: readonly [];
|
|
549
|
+
readonly stateMutability: "nonpayable";
|
|
550
|
+
}, {
|
|
551
|
+
readonly type: "function";
|
|
552
|
+
readonly inputs: readonly [{
|
|
553
|
+
readonly name: "interfaceId";
|
|
554
|
+
readonly internalType: "bytes4";
|
|
555
|
+
readonly type: "bytes4";
|
|
556
|
+
}];
|
|
557
|
+
readonly name: "supportsInterface";
|
|
558
|
+
readonly outputs: readonly [{
|
|
559
|
+
readonly name: "";
|
|
560
|
+
readonly internalType: "bool";
|
|
561
|
+
readonly type: "bool";
|
|
562
|
+
}];
|
|
563
|
+
readonly stateMutability: "view";
|
|
564
|
+
}, {
|
|
565
|
+
readonly type: "function";
|
|
566
|
+
readonly inputs: readonly [];
|
|
567
|
+
readonly name: "totalClaimed";
|
|
568
|
+
readonly outputs: readonly [{
|
|
569
|
+
readonly name: "";
|
|
570
|
+
readonly internalType: "uint256";
|
|
571
|
+
readonly type: "uint256";
|
|
572
|
+
}];
|
|
573
|
+
readonly stateMutability: "view";
|
|
574
|
+
}, {
|
|
575
|
+
readonly type: "function";
|
|
576
|
+
readonly inputs: readonly [{
|
|
577
|
+
readonly name: "newOwner";
|
|
578
|
+
readonly internalType: "address";
|
|
579
|
+
readonly type: "address";
|
|
580
|
+
}];
|
|
581
|
+
readonly name: "transferOwnership";
|
|
582
|
+
readonly outputs: readonly [];
|
|
583
|
+
readonly stateMutability: "payable";
|
|
584
|
+
}]>>;
|
|
36
585
|
//# sourceMappingURL=Incentive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Incentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/Incentive.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Incentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/Incentive.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,kBAAkB,EAClB,aAAa,EAEb,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,8BAA8B,GAC/B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GACjB,kBAAkB,GAClB,aAAa,GACb,cAAc,GAEd,eAAe,GACf,sBAAsB,GACtB,8BAA8B,CAAC;AAEnC;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;CAQzC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAejB"}
|
|
@@ -1,19 +1,43 @@
|
|
|
1
|
-
import "../generated-
|
|
2
|
-
import "../componentInterfaces-
|
|
3
|
-
import "@wagmi/core";
|
|
4
|
-
import "../errors.js";
|
|
5
|
-
import { AllowListIncentive as
|
|
6
|
-
import { CGDAIncentive as
|
|
7
|
-
import { ERC20Incentive as
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
1
|
+
import { W as i } from "../generated-BAKNSOjJ.js";
|
|
2
|
+
import { b as c, c as m, d as a, e as f, f as I } from "../componentInterfaces-bIVo8eyA.js";
|
|
3
|
+
import { readContract as v } from "@wagmi/core";
|
|
4
|
+
import { InvalidComponentInterfaceError as p } from "../errors.js";
|
|
5
|
+
import { AllowListIncentive as s } from "./AllowListIncentive.js";
|
|
6
|
+
import { CGDAIncentive as C } from "./CGDAIncentive.js";
|
|
7
|
+
import { ERC20Incentive as A } from "./ERC20Incentive.js";
|
|
8
|
+
import { ERC20VariableCriteriaIncentive as P } from "./ERC20VariableCriteriaIncentive.js";
|
|
9
|
+
import { ERC20VariableIncentive as l } from "./ERC20VariableIncentive.js";
|
|
10
|
+
import { PointsIncentive as b } from "./PointsIncentive.js";
|
|
11
|
+
const r = {
|
|
12
|
+
[c]: b,
|
|
13
|
+
[m]: A,
|
|
14
|
+
[a]: s,
|
|
15
|
+
// [AERC1155Incentive as Hex]: ERC1155Incentive,
|
|
16
|
+
[f]: C,
|
|
17
|
+
[I]: l
|
|
18
|
+
// [AERC20VariableCriteriaIncentive as Hex]: ERC20VariableCriteriaIncentive
|
|
19
|
+
};
|
|
20
|
+
async function D(e, n) {
|
|
21
|
+
const t = await v(e.config, {
|
|
22
|
+
abi: i,
|
|
23
|
+
functionName: "getComponentInterface",
|
|
24
|
+
address: n
|
|
25
|
+
}), o = r[t];
|
|
26
|
+
if (!o)
|
|
27
|
+
throw new p(
|
|
28
|
+
Object.keys(r),
|
|
29
|
+
t
|
|
30
|
+
);
|
|
31
|
+
return new o(e, n);
|
|
32
|
+
}
|
|
10
33
|
export {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
34
|
+
s as AllowListIncentive,
|
|
35
|
+
C as CGDAIncentive,
|
|
36
|
+
A as ERC20Incentive,
|
|
37
|
+
P as ERC20VariableCriteriaIncentive,
|
|
38
|
+
l as ERC20VariableIncentive,
|
|
39
|
+
r as IncentiveByComponentInterface,
|
|
40
|
+
b as PointsIncentive,
|
|
41
|
+
D as incentiveFromAddress
|
|
18
42
|
};
|
|
19
43
|
//# sourceMappingURL=Incentive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Incentive.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Incentive.js","sources":["../../src/Incentives/Incentive.ts"],"sourcesContent":["import { aIncentiveAbi } from '@boostxyz/evm';\nimport {\n AAllowListIncentive,\n ACGDAIncentive,\n AERC20Incentive,\n AERC20VariableIncentive,\n // AERC20VariableCriteriaIncentive\n APointsIncentive,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport type { Address, Hex } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport { AllowListIncentive } from './AllowListIncentive';\nimport { CGDAIncentive } from './CGDAIncentive';\nimport { ERC20Incentive } from './ERC20Incentive';\nimport { ERC20VariableCriteriaIncentive } from './ERC20VariableCriteriaIncentive';\nimport { ERC20VariableIncentive } from './ERC20VariableIncentive';\n// import { ERC1155Incentive } from './ERC1155Incentive';\nimport { PointsIncentive } from './PointsIncentive';\n\nexport {\n AllowListIncentive,\n CGDAIncentive,\n // ERC1155Incentive,\n ERC20Incentive,\n PointsIncentive,\n ERC20VariableIncentive,\n ERC20VariableCriteriaIncentive,\n};\n\n/**\n * A union type representing all valid protocol Incentive implementations\n *\n * @export\n * @typedef {Incentive}\n */\nexport type Incentive =\n | AllowListIncentive\n | CGDAIncentive\n | ERC20Incentive\n // | ERC1155Incentive\n | PointsIncentive\n | ERC20VariableIncentive\n | ERC20VariableCriteriaIncentive;\n\n/**\n * A map of Incentive component interfaces to their constructors.\n *\n * @type {{ \"0xc5b24b8e\": typeof PointsIncentive; \"0x8c901437\": typeof ERC20Incentive; \"0x4414fbb4\": typeof AllowListIncentive; \"0xa39e44d9\": typeof CGDAIncentive; \"0xa8e4af1e\": typeof ERC20VariableIncentive }}\n */\nexport const IncentiveByComponentInterface = {\n [APointsIncentive as Hex]: PointsIncentive,\n [AERC20Incentive as Hex]: ERC20Incentive,\n [AAllowListIncentive]: AllowListIncentive,\n // [AERC1155Incentive as Hex]: ERC1155Incentive,\n [ACGDAIncentive as Hex]: CGDAIncentive,\n [AERC20VariableIncentive as Hex]: ERC20VariableIncentive,\n // [AERC20VariableCriteriaIncentive as Hex]: ERC20VariableCriteriaIncentive\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Incentive}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function incentiveFromAddress(\n options: DeployableOptions,\n address: Address,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aIncentiveAbi,\n functionName: 'getComponentInterface',\n address,\n })) as keyof typeof IncentiveByComponentInterface;\n const Ctor = IncentiveByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(IncentiveByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address);\n}\n"],"names":["IncentiveByComponentInterface","APointsIncentive","PointsIncentive","AERC20Incentive","ERC20Incentive","AAllowListIncentive","AllowListIncentive","ACGDAIncentive","CGDAIncentive","AERC20VariableIncentive","ERC20VariableIncentive","incentiveFromAddress","options","address","interfaceId","readContract","aIncentiveAbi","Ctor","InvalidComponentInterfaceError"],"mappings":";;;;;;;;;;AAmDO,MAAMA,IAAgC;AAAA,EAC3C,CAACC,CAAuB,GAAGC;AAAA,EAC3B,CAACC,CAAsB,GAAGC;AAAA,EAC1B,CAACC,CAAmB,GAAGC;AAAA;AAAA,EAEvB,CAACC,CAAqB,GAAGC;AAAA,EACzB,CAACC,CAA8B,GAAGC;AAAA;AAEpC;AAYsB,eAAAC,EACpBC,GACAC,GACA;AACA,QAAMC,IAAe,MAAMC,EAAaH,EAAQ,QAAQ;AAAA,IACtD,KAAKI;AAAAA,IACL,cAAc;AAAA,IACd,SAAAH;AAAA,EAAA,CACD,GACKI,IAAOjB,EAA8Bc,CAAW;AACtD,MAAI,CAACG;AACH,UAAM,IAAIC;AAAA,MACR,OAAO,KAAKlB,CAA6B;AAAA,MACzCc;AAAA,IAAA;AAGG,SAAA,IAAIG,EAAKL,GAASC,CAAO;AAClC;"}
|