@boostxyz/sdk 0.0.0-alpha.16 → 0.0.0-alpha.18
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.cjs.map +1 -1
- package/dist/Actions/Action.js +7 -7
- package/dist/Actions/ContractAction.d.ts +9 -9
- package/dist/Actions/ContractAction.d.ts.map +1 -1
- package/dist/Actions/ERC721MintAction.d.ts +12 -12
- package/dist/Actions/ERC721MintAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.cjs.map +1 -1
- package/dist/Actions/EventAction.d.ts +32 -49
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +13 -779
- package/dist/Actions/EventAction.js.map +1 -1
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.cjs.map +1 -1
- package/dist/AllowLists/AllowList.js +3 -3
- package/dist/AllowLists/OpenAllowList.d.ts +183 -0
- package/dist/AllowLists/OpenAllowList.d.ts.map +1 -1
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
- package/dist/AllowLists/SimpleAllowList.d.ts +82 -36
- package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -1
- package/dist/AllowLists/SimpleAllowList.js +44 -80
- package/dist/AllowLists/SimpleAllowList.js.map +1 -1
- package/dist/AllowLists/SimpleDenyList.cjs +1 -1
- package/dist/AllowLists/SimpleDenyList.d.ts +192 -9
- package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -1
- package/dist/AllowLists/SimpleDenyList.js +5 -5
- package/dist/Auth/PassthroughAuth.cjs +1 -1
- package/dist/Auth/PassthroughAuth.js +1 -1
- package/dist/Boost.cjs.map +1 -1
- package/dist/Boost.d.ts +18 -0
- package/dist/Boost.d.ts.map +1 -1
- package/dist/Boost.js.map +1 -1
- package/dist/BoostCore-BiPwp6SR.cjs +3 -0
- package/dist/BoostCore-BiPwp6SR.cjs.map +1 -0
- package/dist/BoostCore-C00iqvks.js +1477 -0
- package/dist/BoostCore-C00iqvks.js.map +1 -0
- package/dist/BoostCore.cjs +1 -2
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.d.ts +80 -35
- package/dist/BoostCore.d.ts.map +1 -1
- package/dist/BoostCore.js +29 -1273
- package/dist/BoostCore.js.map +1 -1
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.cjs.map +1 -1
- package/dist/BoostRegistry.d.ts +18 -18
- package/dist/BoostRegistry.js +36 -36
- package/dist/BoostRegistry.js.map +1 -1
- package/dist/Budgets/Budget.cjs +1 -1
- package/dist/Budgets/Budget.cjs.map +1 -1
- package/dist/Budgets/Budget.d.ts.map +1 -1
- package/dist/Budgets/Budget.js +2 -2
- package/dist/Budgets/Budget.js.map +1 -1
- package/dist/Budgets/ManagedBudget.cjs +1 -1
- package/dist/Budgets/ManagedBudget.cjs.map +1 -1
- package/dist/Budgets/ManagedBudget.d.ts +24 -174
- package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
- package/dist/Budgets/ManagedBudget.js +76 -298
- package/dist/Budgets/ManagedBudget.js.map +1 -1
- package/dist/Budgets/VestingBudget.d.ts +181 -77
- package/dist/Budgets/VestingBudget.d.ts.map +1 -1
- package/dist/Deployable/Contract.cjs +1 -1
- package/dist/Deployable/Contract.cjs.map +1 -1
- package/dist/Deployable/Contract.d.ts +4 -5
- package/dist/Deployable/Contract.d.ts.map +1 -1
- package/dist/Deployable/Contract.js +4 -5
- package/dist/Deployable/Contract.js.map +1 -1
- package/dist/Deployable/Deployable.cjs.map +1 -1
- package/dist/Deployable/Deployable.d.ts +1 -1
- package/dist/Deployable/Deployable.js +1 -1
- package/dist/Deployable/Deployable.js.map +1 -1
- package/dist/Deployable/DeployableTarget.cjs +1 -1
- package/dist/Deployable/DeployableTarget.cjs.map +1 -1
- package/dist/Deployable/DeployableTarget.d.ts +5 -5
- package/dist/Deployable/DeployableTarget.js +10 -10
- package/dist/Deployable/DeployableTarget.js.map +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.cjs +2 -0
- package/dist/Deployable/DeployableTargetWithRBAC.cjs.map +1 -0
- package/dist/Deployable/DeployableTargetWithRBAC.d.ts +179 -0
- package/dist/Deployable/DeployableTargetWithRBAC.d.ts.map +1 -0
- package/dist/Deployable/DeployableTargetWithRBAC.js +222 -0
- package/dist/Deployable/DeployableTargetWithRBAC.js.map +1 -0
- package/dist/EventAction-BO5WI_5s.js +1355 -0
- package/dist/EventAction-BO5WI_5s.js.map +1 -0
- package/dist/EventAction-DBDRaG4A.cjs +2 -0
- package/dist/EventAction-DBDRaG4A.cjs.map +1 -0
- package/dist/{Incentive-CtuAJAjG.js → Incentive-CF7kaz_9.js} +67 -68
- package/dist/Incentive-CF7kaz_9.js.map +1 -0
- package/dist/{Incentive-CqX3fYEd.cjs → Incentive-Djnzseoj.cjs} +2 -2
- package/dist/Incentive-Djnzseoj.cjs.map +1 -0
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
- package/dist/Incentives/AllowListIncentive.d.ts +12 -12
- package/dist/Incentives/AllowListIncentive.js +26 -26
- package/dist/Incentives/AllowListIncentive.js.map +1 -1
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
- package/dist/Incentives/CGDAIncentive.d.ts +15 -15
- package/dist/Incentives/CGDAIncentive.js +25 -25
- package/dist/Incentives/CGDAIncentive.js.map +1 -1
- package/dist/Incentives/ERC1155Incentive.d.ts +30 -30
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
- package/dist/Incentives/ERC20Incentive.d.ts +23 -23
- package/dist/Incentives/ERC20Incentive.js +45 -45
- package/dist/Incentives/ERC20Incentive.js.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +523 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -0
- package/dist/Incentives/ERC20VariableIncentive.d.ts +19 -19
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.d.ts +3 -3
- package/dist/Incentives/Incentive.d.ts.map +1 -1
- package/dist/Incentives/Incentive.js +3 -3
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.cjs.map +1 -1
- package/dist/Incentives/PointsIncentive.d.ts +14 -14
- package/dist/Incentives/PointsIncentive.js +20 -20
- package/dist/Incentives/PointsIncentive.js.map +1 -1
- package/dist/SimpleDenyList-BwfNjRsg.cjs +2 -0
- package/dist/SimpleDenyList-BwfNjRsg.cjs.map +1 -0
- package/dist/SimpleDenyList-D9i4rw_F.js +132 -0
- package/dist/SimpleDenyList-D9i4rw_F.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 +14 -14
- package/dist/Validators/SignerValidator.js +25 -25
- 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 +1 -1
- package/dist/Validators/Validator.js +6 -6
- package/dist/Validators/Validator.js.map +1 -1
- package/dist/claiming.cjs.map +1 -1
- package/dist/claiming.d.ts +1 -1
- package/dist/claiming.js.map +1 -1
- package/dist/componentInterfaces-D09mhzxO.cjs +2 -0
- package/dist/componentInterfaces-D09mhzxO.cjs.map +1 -0
- package/dist/componentInterfaces-RXBMI5yH.js +14 -0
- package/dist/componentInterfaces-RXBMI5yH.js.map +1 -0
- package/dist/deployments-BM42vImE.js +43 -0
- package/dist/deployments-BM42vImE.js.map +1 -0
- package/dist/deployments-CMdF5uEC.cjs +2 -0
- package/dist/deployments-CMdF5uEC.cjs.map +1 -0
- package/dist/deployments.json +15 -12
- package/dist/errors.cjs +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts +132 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +122 -36
- package/dist/errors.js.map +1 -1
- package/dist/generated-B0tk-c9b.cjs +3 -0
- package/dist/generated-B0tk-c9b.cjs.map +1 -0
- package/dist/{generated-DLMdMwD1.js → generated-B8VWObPa.js} +2350 -1290
- package/dist/generated-B8VWObPa.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +134 -122
- package/dist/index.js.map +1 -1
- package/dist/transfers.cjs.map +1 -1
- package/dist/transfers.d.ts +1 -1
- package/dist/transfers.js.map +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +12 -5
- package/src/Actions/ContractAction.ts +9 -10
- package/src/Actions/ERC721MintAction.ts +12 -13
- package/src/Actions/EventAction.test.ts +182 -53
- package/src/Actions/EventAction.ts +128 -107
- package/src/AllowLists/SimpleAllowList.ts +14 -59
- package/src/AllowLists/SimpleDenyList.ts +12 -9
- package/src/Boost.ts +19 -0
- package/src/BoostCore.test.ts +117 -1
- package/src/BoostCore.ts +113 -54
- package/src/BoostRegistry.ts +18 -18
- package/src/Budgets/Budget.ts +1 -2
- package/src/Budgets/ManagedBudget.ts +21 -295
- package/src/Budgets/VestingBudget.ts +26 -97
- package/src/Deployable/Contract.ts +4 -5
- package/src/Deployable/Deployable.ts +1 -1
- package/src/Deployable/DeployableTarget.ts +5 -5
- package/src/Deployable/DeployableTargetWithRBAC.ts +323 -0
- package/src/Incentives/AllowListIncentive.ts +12 -12
- package/src/Incentives/CGDAIncentive.ts +15 -15
- package/src/Incentives/ERC1155Incentive.ts +26 -26
- package/src/Incentives/ERC20Incentive.ts +23 -23
- package/src/Incentives/ERC20VariableCriteriaIncentive.test.ts +184 -0
- package/src/Incentives/ERC20VariableCriteriaIncentive.ts +309 -0
- package/src/Incentives/ERC20VariableIncentive.ts +19 -19
- package/src/Incentives/Incentive.ts +6 -5
- package/src/Incentives/PointsIncentive.test.ts +21 -21
- package/src/Incentives/PointsIncentive.ts +14 -14
- package/src/Validators/SignerValidator.ts +14 -14
- package/src/Validators/Validator.ts +1 -1
- package/src/claiming.ts +1 -1
- package/src/errors.ts +165 -0
- package/src/index.test.ts +3 -4
- package/src/index.ts +2 -0
- package/src/transfers.ts +1 -1
- package/src/utils.ts +1 -1
- package/dist/Budgets/SimpleBudget.d.ts +0 -824
- package/dist/Budgets/SimpleBudget.d.ts.map +0 -1
- package/dist/Incentive-CqX3fYEd.cjs.map +0 -1
- package/dist/Incentive-CtuAJAjG.js.map +0 -1
- package/dist/SimpleDenyList-9UIxZZKP.cjs +0 -2
- package/dist/SimpleDenyList-9UIxZZKP.cjs.map +0 -1
- package/dist/SimpleDenyList-DGPNc7ov.js +0 -132
- package/dist/SimpleDenyList-DGPNc7ov.js.map +0 -1
- package/dist/componentInterfaces-CKCBwG16.cjs +0 -2
- package/dist/componentInterfaces-CKCBwG16.cjs.map +0 -1
- package/dist/componentInterfaces-Cmg8tUxq.js +0 -13
- package/dist/componentInterfaces-Cmg8tUxq.js.map +0 -1
- package/dist/deployments-BvFcK_eR.js +0 -40
- package/dist/deployments-BvFcK_eR.js.map +0 -1
- package/dist/deployments-Ho4PnGCS.cjs +0 -2
- package/dist/deployments-Ho4PnGCS.cjs.map +0 -1
- package/dist/generated-BLg7yPgI.cjs +0 -3
- package/dist/generated-BLg7yPgI.cjs.map +0 -1
- package/dist/generated-DLMdMwD1.js.map +0 -1
- package/src/Budgets/SimpleBudget.test.ts +0 -152
- package/src/Budgets/SimpleBudget.ts +0 -563
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { simpleDenyListAbi } from '@boostxyz/evm';
|
|
2
2
|
import { type Address, type ContractEventName } from 'viem';
|
|
3
3
|
import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
|
|
4
|
-
import {
|
|
4
|
+
import { DeployableTargetWithRBAC } from '../Deployable/DeployableTargetWithRBAC';
|
|
5
5
|
import { type GenericLog, type ReadParams, RegistryType, type WriteParams } from '../utils';
|
|
6
6
|
export { simpleDenyListAbi };
|
|
7
7
|
/**
|
|
@@ -41,9 +41,9 @@ export type SimpleDenyListLog<event extends ContractEventName<typeof simpleDenyL
|
|
|
41
41
|
* @export
|
|
42
42
|
* @class SimpleDenyList
|
|
43
43
|
* @typedef {SimpleDenyList}
|
|
44
|
-
* @extends {
|
|
44
|
+
* @extends {DeployableTargetWithRBAC<SimpleDenyListPayload>}
|
|
45
45
|
*/
|
|
46
|
-
export declare class SimpleDenyList<Payload = SimpleDenyListPayload> extends
|
|
46
|
+
export declare class SimpleDenyList<Payload = SimpleDenyListPayload> extends DeployableTargetWithRBAC<Payload | undefined, typeof simpleDenyListAbi> {
|
|
47
47
|
readonly abi: readonly [{
|
|
48
48
|
readonly type: "constructor";
|
|
49
49
|
readonly inputs: readonly [];
|
|
@@ -88,6 +88,10 @@ export declare class SimpleDenyList<Payload = SimpleDenyListPayload> extends Dep
|
|
|
88
88
|
readonly type: "error";
|
|
89
89
|
readonly inputs: readonly [];
|
|
90
90
|
readonly name: "Unauthorized";
|
|
91
|
+
}, {
|
|
92
|
+
readonly type: "error";
|
|
93
|
+
readonly inputs: readonly [];
|
|
94
|
+
readonly name: "Unauthorized";
|
|
91
95
|
}, {
|
|
92
96
|
readonly type: "event";
|
|
93
97
|
readonly anonymous: false;
|
|
@@ -133,6 +137,41 @@ export declare class SimpleDenyList<Payload = SimpleDenyListPayload> extends Dep
|
|
|
133
137
|
readonly indexed: true;
|
|
134
138
|
}];
|
|
135
139
|
readonly name: "OwnershipTransferred";
|
|
140
|
+
}, {
|
|
141
|
+
readonly type: "event";
|
|
142
|
+
readonly anonymous: false;
|
|
143
|
+
readonly inputs: readonly [{
|
|
144
|
+
readonly name: "user";
|
|
145
|
+
readonly internalType: "address";
|
|
146
|
+
readonly type: "address";
|
|
147
|
+
readonly indexed: true;
|
|
148
|
+
}, {
|
|
149
|
+
readonly name: "roles";
|
|
150
|
+
readonly internalType: "uint256";
|
|
151
|
+
readonly type: "uint256";
|
|
152
|
+
readonly indexed: true;
|
|
153
|
+
}];
|
|
154
|
+
readonly name: "RolesUpdated";
|
|
155
|
+
}, {
|
|
156
|
+
readonly type: "function";
|
|
157
|
+
readonly inputs: readonly [];
|
|
158
|
+
readonly name: "ADMIN_ROLE";
|
|
159
|
+
readonly outputs: readonly [{
|
|
160
|
+
readonly name: "";
|
|
161
|
+
readonly internalType: "uint256";
|
|
162
|
+
readonly type: "uint256";
|
|
163
|
+
}];
|
|
164
|
+
readonly stateMutability: "view";
|
|
165
|
+
}, {
|
|
166
|
+
readonly type: "function";
|
|
167
|
+
readonly inputs: readonly [];
|
|
168
|
+
readonly name: "MANAGER_ROLE";
|
|
169
|
+
readonly outputs: readonly [{
|
|
170
|
+
readonly name: "";
|
|
171
|
+
readonly internalType: "uint256";
|
|
172
|
+
readonly type: "uint256";
|
|
173
|
+
}];
|
|
174
|
+
readonly stateMutability: "view";
|
|
136
175
|
}, {
|
|
137
176
|
readonly type: "function";
|
|
138
177
|
readonly inputs: readonly [];
|
|
@@ -159,6 +198,70 @@ export declare class SimpleDenyList<Payload = SimpleDenyListPayload> extends Dep
|
|
|
159
198
|
readonly type: "bytes4";
|
|
160
199
|
}];
|
|
161
200
|
readonly stateMutability: "pure";
|
|
201
|
+
}, {
|
|
202
|
+
readonly type: "function";
|
|
203
|
+
readonly inputs: readonly [{
|
|
204
|
+
readonly name: "user";
|
|
205
|
+
readonly internalType: "address";
|
|
206
|
+
readonly type: "address";
|
|
207
|
+
}, {
|
|
208
|
+
readonly name: "roles";
|
|
209
|
+
readonly internalType: "uint256";
|
|
210
|
+
readonly type: "uint256";
|
|
211
|
+
}];
|
|
212
|
+
readonly name: "grantRoles";
|
|
213
|
+
readonly outputs: readonly [];
|
|
214
|
+
readonly stateMutability: "payable";
|
|
215
|
+
}, {
|
|
216
|
+
readonly type: "function";
|
|
217
|
+
readonly inputs: readonly [{
|
|
218
|
+
readonly name: "accounts_";
|
|
219
|
+
readonly internalType: "address[]";
|
|
220
|
+
readonly type: "address[]";
|
|
221
|
+
}, {
|
|
222
|
+
readonly name: "roles_";
|
|
223
|
+
readonly internalType: "uint256[]";
|
|
224
|
+
readonly type: "uint256[]";
|
|
225
|
+
}];
|
|
226
|
+
readonly name: "grantRoles";
|
|
227
|
+
readonly outputs: readonly [];
|
|
228
|
+
readonly stateMutability: "nonpayable";
|
|
229
|
+
}, {
|
|
230
|
+
readonly type: "function";
|
|
231
|
+
readonly inputs: readonly [{
|
|
232
|
+
readonly name: "user";
|
|
233
|
+
readonly internalType: "address";
|
|
234
|
+
readonly type: "address";
|
|
235
|
+
}, {
|
|
236
|
+
readonly name: "roles";
|
|
237
|
+
readonly internalType: "uint256";
|
|
238
|
+
readonly type: "uint256";
|
|
239
|
+
}];
|
|
240
|
+
readonly name: "hasAllRoles";
|
|
241
|
+
readonly outputs: readonly [{
|
|
242
|
+
readonly name: "";
|
|
243
|
+
readonly internalType: "bool";
|
|
244
|
+
readonly type: "bool";
|
|
245
|
+
}];
|
|
246
|
+
readonly stateMutability: "view";
|
|
247
|
+
}, {
|
|
248
|
+
readonly type: "function";
|
|
249
|
+
readonly inputs: readonly [{
|
|
250
|
+
readonly name: "user";
|
|
251
|
+
readonly internalType: "address";
|
|
252
|
+
readonly type: "address";
|
|
253
|
+
}, {
|
|
254
|
+
readonly name: "roles";
|
|
255
|
+
readonly internalType: "uint256";
|
|
256
|
+
readonly type: "uint256";
|
|
257
|
+
}];
|
|
258
|
+
readonly name: "hasAnyRole";
|
|
259
|
+
readonly outputs: readonly [{
|
|
260
|
+
readonly name: "";
|
|
261
|
+
readonly internalType: "bool";
|
|
262
|
+
readonly type: "bool";
|
|
263
|
+
}];
|
|
264
|
+
readonly stateMutability: "view";
|
|
162
265
|
}, {
|
|
163
266
|
readonly type: "function";
|
|
164
267
|
readonly inputs: readonly [{
|
|
@@ -187,6 +290,20 @@ export declare class SimpleDenyList<Payload = SimpleDenyListPayload> extends Dep
|
|
|
187
290
|
readonly type: "bool";
|
|
188
291
|
}];
|
|
189
292
|
readonly stateMutability: "view";
|
|
293
|
+
}, {
|
|
294
|
+
readonly type: "function";
|
|
295
|
+
readonly inputs: readonly [{
|
|
296
|
+
readonly name: "account_";
|
|
297
|
+
readonly internalType: "address";
|
|
298
|
+
readonly type: "address";
|
|
299
|
+
}];
|
|
300
|
+
readonly name: "isAuthorized";
|
|
301
|
+
readonly outputs: readonly [{
|
|
302
|
+
readonly name: "";
|
|
303
|
+
readonly internalType: "bool";
|
|
304
|
+
readonly type: "bool";
|
|
305
|
+
}];
|
|
306
|
+
readonly stateMutability: "view";
|
|
190
307
|
}, {
|
|
191
308
|
readonly type: "function";
|
|
192
309
|
readonly inputs: readonly [];
|
|
@@ -217,12 +334,78 @@ export declare class SimpleDenyList<Payload = SimpleDenyListPayload> extends Dep
|
|
|
217
334
|
readonly name: "renounceOwnership";
|
|
218
335
|
readonly outputs: readonly [];
|
|
219
336
|
readonly stateMutability: "payable";
|
|
337
|
+
}, {
|
|
338
|
+
readonly type: "function";
|
|
339
|
+
readonly inputs: readonly [{
|
|
340
|
+
readonly name: "roles";
|
|
341
|
+
readonly internalType: "uint256";
|
|
342
|
+
readonly type: "uint256";
|
|
343
|
+
}];
|
|
344
|
+
readonly name: "renounceRoles";
|
|
345
|
+
readonly outputs: readonly [];
|
|
346
|
+
readonly stateMutability: "payable";
|
|
220
347
|
}, {
|
|
221
348
|
readonly type: "function";
|
|
222
349
|
readonly inputs: readonly [];
|
|
223
350
|
readonly name: "requestOwnershipHandover";
|
|
224
351
|
readonly outputs: readonly [];
|
|
225
352
|
readonly stateMutability: "payable";
|
|
353
|
+
}, {
|
|
354
|
+
readonly type: "function";
|
|
355
|
+
readonly inputs: readonly [{
|
|
356
|
+
readonly name: "user";
|
|
357
|
+
readonly internalType: "address";
|
|
358
|
+
readonly type: "address";
|
|
359
|
+
}, {
|
|
360
|
+
readonly name: "roles";
|
|
361
|
+
readonly internalType: "uint256";
|
|
362
|
+
readonly type: "uint256";
|
|
363
|
+
}];
|
|
364
|
+
readonly name: "revokeRoles";
|
|
365
|
+
readonly outputs: readonly [];
|
|
366
|
+
readonly stateMutability: "payable";
|
|
367
|
+
}, {
|
|
368
|
+
readonly type: "function";
|
|
369
|
+
readonly inputs: readonly [{
|
|
370
|
+
readonly name: "accounts_";
|
|
371
|
+
readonly internalType: "address[]";
|
|
372
|
+
readonly type: "address[]";
|
|
373
|
+
}, {
|
|
374
|
+
readonly name: "roles_";
|
|
375
|
+
readonly internalType: "uint256[]";
|
|
376
|
+
readonly type: "uint256[]";
|
|
377
|
+
}];
|
|
378
|
+
readonly name: "revokeRoles";
|
|
379
|
+
readonly outputs: readonly [];
|
|
380
|
+
readonly stateMutability: "nonpayable";
|
|
381
|
+
}, {
|
|
382
|
+
readonly type: "function";
|
|
383
|
+
readonly inputs: readonly [{
|
|
384
|
+
readonly name: "user";
|
|
385
|
+
readonly internalType: "address";
|
|
386
|
+
readonly type: "address";
|
|
387
|
+
}];
|
|
388
|
+
readonly name: "rolesOf";
|
|
389
|
+
readonly outputs: readonly [{
|
|
390
|
+
readonly name: "roles";
|
|
391
|
+
readonly internalType: "uint256";
|
|
392
|
+
readonly type: "uint256";
|
|
393
|
+
}];
|
|
394
|
+
readonly stateMutability: "view";
|
|
395
|
+
}, {
|
|
396
|
+
readonly type: "function";
|
|
397
|
+
readonly inputs: readonly [{
|
|
398
|
+
readonly name: "accounts_";
|
|
399
|
+
readonly internalType: "address[]";
|
|
400
|
+
readonly type: "address[]";
|
|
401
|
+
}, {
|
|
402
|
+
readonly name: "authorized_";
|
|
403
|
+
readonly internalType: "bool[]";
|
|
404
|
+
readonly type: "bool[]";
|
|
405
|
+
}];
|
|
406
|
+
readonly name: "setAuthorized";
|
|
407
|
+
readonly outputs: readonly [];
|
|
408
|
+
readonly stateMutability: "nonpayable";
|
|
226
409
|
}, {
|
|
227
410
|
readonly type: "function";
|
|
228
411
|
readonly inputs: readonly [{
|
|
@@ -283,7 +466,7 @@ export declare class SimpleDenyList<Payload = SimpleDenyListPayload> extends Dep
|
|
|
283
466
|
*
|
|
284
467
|
* @public
|
|
285
468
|
* @async
|
|
286
|
-
* @param {?ReadParams
|
|
469
|
+
* @param {?ReadParams} [params]
|
|
287
470
|
* @returns {Promise<Address>} - The address of the owner
|
|
288
471
|
*/
|
|
289
472
|
owner(params?: ReadParams<typeof simpleDenyListAbi, 'owner'>): Promise<Address>;
|
|
@@ -293,7 +476,7 @@ export declare class SimpleDenyList<Payload = SimpleDenyListPayload> extends Dep
|
|
|
293
476
|
* @public
|
|
294
477
|
* @async
|
|
295
478
|
* @param {Address} address - The address of the user
|
|
296
|
-
* @param {?ReadParams
|
|
479
|
+
* @param {?ReadParams} [params]
|
|
297
480
|
* @returns {Promise<boolean>} - True if the user is authorized
|
|
298
481
|
*/
|
|
299
482
|
isAllowed(address: Address, params?: ReadParams<typeof simpleDenyListAbi, 'isAllowed'>): Promise<boolean>;
|
|
@@ -304,8 +487,8 @@ export declare class SimpleDenyList<Payload = SimpleDenyListPayload> extends Dep
|
|
|
304
487
|
* @async
|
|
305
488
|
* @param {Address[]} addresses - The list of users to update
|
|
306
489
|
* @param {boolean[]} allowed - The denied status of each user
|
|
307
|
-
* @param {?WriteParams
|
|
308
|
-
* @returns {
|
|
490
|
+
* @param {?WriteParams} [params]
|
|
491
|
+
* @returns {Promise<void>}
|
|
309
492
|
*/
|
|
310
493
|
setDenied(addresses: Address[], allowed: boolean[], params?: WriteParams<typeof simpleDenyListAbi, 'setDenied'>): Promise<void>;
|
|
311
494
|
/**
|
|
@@ -315,8 +498,8 @@ export declare class SimpleDenyList<Payload = SimpleDenyListPayload> extends Dep
|
|
|
315
498
|
* @async
|
|
316
499
|
* @param {Address[]} addresses - The list of users to update
|
|
317
500
|
* @param {boolean[]} allowed - The denied status of each user
|
|
318
|
-
* @param {?WriteParams
|
|
319
|
-
* @returns {
|
|
501
|
+
* @param {?WriteParams} [params]
|
|
502
|
+
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
320
503
|
*/
|
|
321
504
|
setDeniedRaw(addresses: Address[], allowed: boolean[], params?: WriteParams<typeof simpleDenyListAbi, 'setDenied'>): Promise<{
|
|
322
505
|
hash: `0x${string}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SimpleDenyList.d.ts","sourceRoot":"","sources":["../../src/AllowLists/SimpleDenyList.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EAGlB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAKvB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SimpleDenyList.d.ts","sourceRoot":"","sources":["../../src/AllowLists/SimpleDenyList.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EAGlB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAKvB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,CAC3B,KAAK,SAAS,iBAAiB,CAAC,OAAO,iBAAiB,CAAC,GAAG,iBAAiB,CAC3E,OAAO,iBAAiB,CACzB,IACC,UAAU,CAAC,OAAO,iBAAiB,EAAE,KAAK,CAAC,CAAC;AAEhD;;;;;;;GAOG;AACH,qBAAa,cAAc,CACzB,OAAO,GAAG,qBAAqB,CAC/B,SAAQ,wBAAwB,CAChC,OAAO,GAAG,SAAS,EACnB,OAAO,iBAAiB,CACzB;IACC,SAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAqB;IACjD;;;;;;OAMG;IACH,OAAuB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEnD;IACF;;;;;;OAMG;IACH,OAAuB,YAAY,EAAE,YAAY,CAA2B;IAE5E;;;;;;;OAOG;IACU,KAAK,CAChB,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,iBAAiB,EAAE,OAAO,CAAC,GACrD,OAAO,CAAC,OAAO,CAAC;IAUnB;;;;;;;;OAQG;IACU,SAAS,CACpB,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,iBAAiB,EAAE,WAAW,CAAC,GACzD,OAAO,CAAC,OAAO,CAAC;IAUnB;;;;;;;;;OASG;IACU,SAAS,CACpB,SAAS,EAAE,OAAO,EAAE,EACpB,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,iBAAiB,EAAE,WAAW,CAAC;IAO7D;;;;;;;;;OASG;IACU,YAAY,CACvB,SAAS,EAAE,OAAO,EAAE,EACpB,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,iBAAiB,EAAE,WAAW,CAAC;;;;IAgB7D;;;;;;;OAOG;IACa,eAAe,CAC7B,QAAQ,CAAC,EAAE,OAAO,EAClB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,uBAAuB;CAsB3B;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,KAAK,EACL,MAAM,GACP,EAAE,qBAAqB,iBAQvB"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { S as y, p as
|
|
1
|
+
import { I as a } from "../generated-B8VWObPa.js";
|
|
2
|
+
import { S as y, p as n } from "../SimpleDenyList-D9i4rw_F.js";
|
|
3
3
|
import "@wagmi/core";
|
|
4
4
|
import "viem";
|
|
5
|
-
import "../deployments-
|
|
6
|
-
import "../Deployable/
|
|
5
|
+
import "../deployments-BM42vImE.js";
|
|
6
|
+
import "../Deployable/DeployableTargetWithRBAC.js";
|
|
7
7
|
import "../errors.js";
|
|
8
8
|
import "../utils.js";
|
|
9
9
|
export {
|
|
10
10
|
y as SimpleDenyList,
|
|
11
|
-
|
|
11
|
+
n as prepareSimpleDenyListPayload,
|
|
12
12
|
a as simpleDenyListAbi
|
|
13
13
|
};
|
|
14
14
|
//# sourceMappingURL=SimpleDenyList.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../generated-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("../generated-B0tk-c9b.cjs"),a=require("../Deployable/Deployable.cjs"),s="0x6080604052348015600e575f80fd5b506101598061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063fe9fbb801461002d575b5f80fd5b610047600480360381019061004291906100c5565b61005d565b604051610054919061010a565b60405180910390f35b5f60019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100948261006b565b9050919050565b6100a48161008a565b81146100ae575f80fd5b50565b5f813590506100bf8161009b565b92915050565b5f602082840312156100da576100d9610067565b5b5f6100e7848285016100b1565b91505092915050565b5f8115159050919050565b610104816100f0565b82525050565b5f60208201905061011d5f8301846100fb565b9291505056fea2646970667358221220d69fb5c3af806c7aa7833655670f5929f23f7d101298880775d4b9c7c8d0e62f64736f6c634300081a0033";class r extends a.Deployable{constructor(){super(...arguments),this.abi=f.ze}async isAuthorized(b,e){return await f.r5(this._config,{address:this.assertValidAddress(),args:[b],...e})}buildParameters(b,e){const[o,t]=this.validateDeploymentConfig({},e);return{abi:f.ze,bytecode:s,args:[],...this.optionallyAttachAccount(t.account)}}}exports.passthroughAuthAbi=f.ze;exports.PassthroughAuth=r;
|
|
2
2
|
//# sourceMappingURL=PassthroughAuth.cjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a, E as s } from "../generated-B8VWObPa.js";
|
|
2
2
|
import { Deployable as e } from "../Deployable/Deployable.js";
|
|
3
3
|
const d = "0x6080604052348015600e575f80fd5b506101598061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c8063fe9fbb801461002d575b5f80fd5b610047600480360381019061004291906100c5565b61005d565b604051610054919061010a565b60405180910390f35b5f60019050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100948261006b565b9050919050565b6100a48161008a565b81146100ae575f80fd5b50565b5f813590506100bf8161009b565b92915050565b5f602082840312156100da576100d9610067565b5b5f6100e7848285016100b1565b91505092915050565b5f8115159050919050565b610104816100f0565b82525050565b5f60208201905061011d5f8301846100fb565b9291505056fea2646970667358221220d69fb5c3af806c7aa7833655670f5929f23f7d101298880775d4b9c7c8d0e62f64736f6c634300081a0033";
|
|
4
4
|
class n extends e {
|
package/dist/Boost.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Boost.cjs","sources":["../../../node_modules/.pnpm/solady@0.0.208/node_modules/solady/js/solady.js","../src/Boost.ts"],"sourcesContent":["/**\n * Accompanying JavaScript library for Solady.\n *\n * To install:\n * \n * ```\n * npm install solady\n * ```\n *\n * Module exports:\n * \n * - `LibZip`\n * - `flzCompress(data)`: Compresses hex encoded data with FastLZ.\n * - `flzDecompress(data)`: Decompresses hex encoded data with FastLZ.\n * - `cdCompress(data)`: Compresses hex encoded calldata.\n * - `cdDecompress(data)`: Decompresses hex encoded calldata.\n * \n * - `ERC1967Factory`\n * - `address`: Canonical address of Solady's ERC1967Factory.\n * - `abi`: ABI of Solady's ERC1967Factory.\n *\n * @module solady\n */\n(function(global, factory) {\n\n \"use strict\";\n\n if (typeof module === \"object\" && typeof module.exports === \"object\") {\n module.exports = factory(global, 1);\n if (typeof exports === \"object\") {\n exports.LibZip = module.exports.LibZip;\n exports.ERC1967Factory = module.exports.ERC1967Factory;\n }\n } else {\n factory(global);\n }\n\n})(typeof window !== \"undefined\" ? window : this, function(window, noGlobal) {\n\n \"use strict\";\n\n var solady = {};\n\n /*============================================================*/\n /* LibZip Operations */\n /*============================================================*/\n\n // See: https://github.com/vectorized/solady/blob/main/src/utils/LibZip.sol\n\n /**\n * FastLZ and calldata compression / decompression functions.\n * @namespace\n * @alias module:solady.LibZip\n */\n var LibZip = {};\n\n solady.LibZip = LibZip;\n\n function hexString(data) {\n if (typeof data === \"string\" || data instanceof String) {\n if (data = data.match(/^[\\s\\uFEFF\\xA0]*(0[Xx])?([0-9A-Fa-f]*)[\\s\\uFEFF\\xA0]*$/)) {\n if (data[2].length % 2) {\n throw new Error(\"Hex string length must be a multiple of 2.\");\n }\n return data[2];\n }\n }\n throw new Error(\"Data must be a hex string.\");\n }\n\n function byteToString(b) {\n return (b | 0x100).toString(16).slice(1);\n }\n\n function parseByte(data, i) {\n return parseInt(data.substr(i, 2), 16);\n }\n\n function hexToBytes(data) {\n var a = [], i = 0;\n for (; i < data.length; i += 2) a.push(parseByte(data, i));\n return a;\n }\n\n function bytesToHex(a) {\n var o = \"0x\", i = 0;\n for (; i < a.length; o += byteToString(a[i++])) ;\n return o;\n }\n\n /**\n * Compresses hex encoded data with the FastLZ LZ77 algorithm.\n * @param {string} data A hex encoded string representing the original data.\n * @returns {string} The compressed result as a hex encoded string.\n */\n LibZip.flzCompress = function(data) {\n var ib = hexToBytes(hexString(data)), b = ib.length - 4;\n var ht = [], ob = [], a = 0, i = 2, o = 0, j, s, h, d, c, l, r, p, q, e;\n\n function u24(i) {\n return ib[i] | (ib[++i] << 8) | (ib[++i] << 16);\n }\n\n function hash(x) {\n return ((2654435769 * x) >> 19) & 8191;\n }\n\n function literals(r, s) {\n while (r >= 32) for (ob[o++] = 31, j = 32; j--; r--) ob[o++] = ib[s++];\n if (r) for (ob[o++] = r - 1; r--; ) ob[o++] = ib[s++];\n }\n\n while (i < b - 9) {\n do {\n r = ht[h = hash(s = u24(i))] || 0;\n c = (d = (ht[h] = i) - r) < 8192 ? u24(r) : 0x1000000;\n } while (i < b - 9 && i++ && s != c);\n if (i >= b - 9) break;\n if (--i > a) literals(i - a, a);\n for (l = 0, p = r + 3, q = i + 3, e = b - q; l < e; l++) e *= ib[p + l] === ib[q + l];\n i += l;\n for (--d; l > 262; l -= 262) ob[o++] = 224 + (d >> 8), ob[o++] = 253, ob[o++] = d & 255;\n if (l < 7) ob[o++] = (l << 5) + (d >> 8), ob[o++] = d & 255;\n else ob[o++] = 224 + (d >> 8), ob[o++] = l - 7, ob[o++] = d & 255;\n ht[hash(u24(i))] = i++, ht[hash(u24(i))] = i++, a = i;\n }\n literals(b + 4 - a, a);\n return bytesToHex(ob);\n }\n\n /**\n * Decompresses hex encoded data with the FastLZ LZ77 algorithm.\n * @param {string} data A hex encoded string representing the compressed data.\n * @returns {string} The decompressed result as a hex encoded string.\n */\n LibZip.flzDecompress = function(data) {\n var ib = hexToBytes(hexString(data)), i = 0, o = 0, l, f, t, r, h, ob = [];\n while (i < ib.length) {\n if (!(t = ib[i] >> 5)) {\n for (l = 1 + ib[i++]; l--;) ob[o++] = ib[i++];\n } else {\n f = 256 * (ib[i] & 31) + ib[i + 2 - (t = t < 7)];\n l = t ? 2 + (ib[i] >> 5) : 9 + ib[i + 1];\n i = i + 3 - t;\n r = o - f - 1;\n while (l--) ob[o++] = ob[r++];\n }\n }\n return bytesToHex(ob);\n }\n\n /**\n * Compresses hex encoded calldata.\n * @param {string} data A hex encoded string representing the original data.\n * @returns {string} The compressed result as a hex encoded string.\n */\n LibZip.cdCompress = function(data) {\n data = hexString(data);\n var o = \"0x\", z = 0, y = 0, i = 0, c;\n\n function pushByte(b) {\n o += byteToString(((o.length < 4 * 2 + 2) * 0xff) ^ b);\n }\n\n function rle(v, d) {\n pushByte(0x00);\n pushByte(d - 1 + v * 0x80);\n }\n\n for (; i < data.length; i += 2) {\n c = parseByte(data, i);\n if (!c) {\n if (y) rle(1, y), y = 0;\n if (++z === 0x80) rle(0, 0x80), z = 0;\n continue;\n }\n if (c === 0xff) {\n if (z) rle(0, z), z = 0;\n if (++y === 0x20) rle(1, 0x20), y = 0;\n continue;\n }\n if (y) rle(1, y), y = 0;\n if (z) rle(0, z), z = 0;\n pushByte(c);\n }\n if (y) rle(1, y), y = 0;\n if (z) rle(0, z), z = 0;\n return o;\n }\n\n /**\n * Decompresses hex encoded calldata.\n * @param {string} data A hex encoded string representing the compressed data.\n * @returns {string} The decompressed result as a hex encoded string.\n */\n LibZip.cdDecompress = function(data) {\n data = hexString(data);\n var o = \"0x\", i = 0, j, c, s;\n\n while (i < data.length) {\n c = ((i < 4 * 2) * 0xff) ^ parseByte(data, i);\n i += 2;\n if (!c) {\n c = ((i < 4 * 2) * 0xff) ^ parseByte(data, i);\n s = (c & 0x7f) + 1;\n i += 2;\n for (j = 0; j < s; ++j) o += byteToString((c >> 7 && j < 32) * 0xff);\n continue;\n }\n o += byteToString(c);\n }\n return o;\n }\n\n /*============================================================*/\n /* ERC1967Factory */\n /*============================================================*/\n\n // See: https://github.com/vectorized/solady/blob/main/src/utils/ERC1967Factory.sol\n\n /**\n * ERC1967Factory canonical address and ABI.\n * @namespace\n * @alias module:solady.ERC1967Factory\n */\n var ERC1967Factory = {};\n\n solady.ERC1967Factory = ERC1967Factory;\n\n /**\n * Canonical address of Solady's ERC1967Factory.\n * @type {string}\n */\n ERC1967Factory.address = \"0x0000000000006396FF2a80c067f99B3d2Ab4Df24\";\n\n /**\n * ABI of Solady's ERC1967Factory.\n * @type {Object}\n */\n ERC1967Factory.abi = JSON.parse('[{0:[],1:\"DeploymentFailed\"96\"SaltDoesNotStartWithCaller\"96\"Unauthorized\"96\"UpgradeFailed\",2:3959790,9791],1:\"AdminChanged\",2:10959790,9792,9791],1:\"Deployed\",2:10959790,9792],1:\"Upgraded\",2:10},{0:[{90],1:\"adminOf\",12:[{9199{0:[{90,{91],1:\"changeAdmin\",12:[],13:\"nonpayable\",2:15},{0:[{92,{91],1:\"deploy\",12:[{9098,{0:[{92,{91,{94],1:\"deployAndCall\",12:[{9098,{0:[{92,{91,{93],1:\"deployDeterministic\",12:[{9098,{0:[{92,{91,{93,{94],1:\"deployDeterministicAndCall\",12:[{9098,{0:[],1:\"initCodeHash\",12:[{6:19,1:\"result\",2:19}99{0:[{93],1:\"predictDeterministicAddress\",12:[{6:7,1:\"predicted\",2:7}99{0:[{90,{92],1:\"upgrade\",12:[98,{0:[{90,{92,{94],1:\"upgradeAndCall\",12:[98]'.replace(/9\\d/g, function (m) { return [\"6:7,1:8,2:7}\",\"6:7,1:9,2:7}\",\"6:7,1:11,2:7}\",\"6:19,1:20,2:19}\",\"6:17,1:18,2:17}\",\"},{4:false,0:[\",\",2:3},{0:[],1:\",\"{5:true,\",\"],13:16,2:15}\",\"],13:14,2:15},\"][m-90] }).replace(/\\d+/g, function (m) { return '\"' + (\"inputs,name,type,error,anonymous,indexed,internalType,address,proxy,admin,event,implementation,outputs,stateMutability,view,function,payable,bytes,data,bytes32,salt\".split(\",\")[m]) + '\"' }));\n\n /*--------------------------- END ----------------------------*/\n\n if (typeof define === \"function\" && define.amd) {\n define(\"solady\", [], function() {\n return solady\n });\n }\n\n if (!noGlobal) {\n window.solady = solady;\n }\n\n return solady;\n});\n","import { LibZip } from 'solady';\nimport {\n type Address,\n type Hex,\n encodeAbiParameters,\n parseAbiParameters,\n zeroAddress,\n} from 'viem';\nimport type { Action } from './Actions/Action';\nimport type { AllowList } from './AllowLists/AllowList';\nimport type { Budget } from './Budgets/Budget';\nimport type { Incentive } from './Incentives/Incentive';\nimport type { Validator } from './Validators/Validator';\n\n/**\n * Configuration used to instantiate a `Boost` instance.\n *\n * @export\n * @interface BoostPayload\n * @typedef {BoostPayload}\n */\nexport interface BoostConfig {\n /**\n *\n * @type {bigint}\n */\n id: bigint;\n /**\n *\n * @type {Budget}\n */\n budget: Budget;\n /**\n *\n * @type {Action}\n */\n action: Action;\n /**\n *\n * @type {Validator}\n */\n validator: Validator;\n /**\n *\n * @type {AllowList}\n */\n allowList: AllowList;\n /**\n *\n * @type {Array<Incentive>}\n */\n incentives: Array<Incentive>;\n /**\n *\n * @type {?bigint}\n */\n protocolFee?: bigint;\n /**\n *\n * @type {?bigint}\n */\n referralFee?: bigint;\n /**\n *\n * @type {?bigint}\n */\n maxParticipants?: bigint;\n /**\n *\n * @type {?Address}\n */\n owner?: Address;\n}\n\n/**\n * A struct representing a single Boost. Typically you would not construct this directly, rather get an instance from `BoostCore.createBoost` or `BoostCore.getBoost`\n *\n * @export\n * @class Boost\n * @typedef {Boost}\n */\nexport class Boost {\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly id: bigint;\n /**\n *\n * @readonly\n * @type {Budget}\n */\n readonly budget: Budget;\n /**\n *\n * @readonly\n * @type {Action}\n */\n readonly action: Action;\n /**\n *\n * @readonly\n * @type {Validator}\n */\n readonly validator: Validator;\n /**\n *\n * @readonly\n * @type {AllowList}\n */\n readonly allowList: AllowList;\n /**\n *\n * @readonly\n * @type {Array<Incentive>}\n */\n readonly incentives: Array<Incentive>;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly protocolFee: bigint;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly referralFee: bigint;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly maxParticipants: bigint;\n /**\n *\n * @readonly\n * @type {Address}\n */\n readonly owner: Address;\n\n /**\n * Creates an instance of Boost.\n *\n * @constructor\n * @param {BoostConfig} config\n */\n constructor(config: BoostConfig) {\n this.id = config.id;\n this.budget = config.budget;\n this.action = config.action;\n this.validator = config.validator;\n this.allowList = config.allowList;\n this.incentives = config.incentives;\n this.protocolFee = config.protocolFee || 0n;\n this.referralFee = config.referralFee || 0n;\n this.maxParticipants = config.maxParticipants || 0n;\n this.owner = config.owner || zeroAddress;\n }\n}\n\n/**\n * Object representation of `BoostLib.Target` struct. Used for low level Boost creation operations.\n * This is used to pass the base contract and its initialization parameters in an efficient manner\n *\n * @export\n * @typedef {Target}\n */\nexport type Target = {\n isBase: boolean;\n instance: Address;\n parameters: Hex;\n};\n\n/**\n * Object representation of `BoostCore.InitPayload` struct.\n *\n * @export\n * @interface BoostPayload\n * @typedef {BoostPayload}\n */\nexport interface BoostPayload {\n /**\n * Address to valid budget.\n *\n * @type {Address}\n */\n budget: Address;\n /**\n * Target for existing action, or base with initialization payload.\n *\n * @type {Target}\n */\n action: Target;\n /**\n * Target for existing validator, or base with initialization payload.\n *\n * @type {Target}\n */\n validator: Target;\n /**\n * Target for existing allowList, or base with initialization payload.\n *\n * @type {Target}\n */\n allowList: Target;\n /**\n * Targets for new incentives, with initialization payloads.\n *\n * @type {Target[]}\n */\n incentives: Target[];\n /**\n * The base protocol fee (in bps)\n *\n * @type {?bigint}\n */\n protocolFee?: bigint;\n /**\n * The base referral fee (in bps)\n *\n * @type {?bigint}\n */\n referralFee?: bigint;\n /**\n * Optional maximum amount of participants in the Boost.\n *\n * @type {?bigint}\n */\n maxParticipants?: bigint;\n /**\n * The owner of the Boost.\n *\n * @type {Address}\n */\n owner: Address;\n}\n\n/**\n * Given a valid {@link BoostPayload}, properly encode and compress the payload for use with `createBoost`\n *\n * @export\n * @param {BoostPayload} param0\n * @param {Address} param0.budget - Address to valid budget.\n * @param {Target} param0.action - Target for existing action, or base with initialization payload.\n * @param {Target} param0.validator - Target for existing validator, or base with initialization payload.\n * @param {Target} param0.allowList - Target for existing allowList, or base with initialization payload.\n * @param {Target[]} param0.incentives - Targets for new incentives, with initialization payloads.\n * @param {bigint} [param0.protocolFee=0n] - The base protocol fee (in bps)\n * @param {bigint} [param0.referralFee=0n] - The base referral fee (in bps)\n * @param {bigint} [param0.maxParticipants=0n] - Optional maximum amount of participants in the Boost.\n * @param {Address} param0.owner - The owner of the Boost.\n * @returns {Hex}\n */\nexport function prepareBoostPayload({\n budget,\n action,\n validator,\n allowList,\n incentives,\n protocolFee = 0n,\n referralFee = 0n,\n maxParticipants = 0n,\n owner,\n}: BoostPayload): Hex {\n return LibZip.cdCompress(\n encodeAbiParameters(\n parseAbiParameters([\n 'BoostPayload payload',\n 'struct BoostPayload { address budget; Target action; Target validator; Target allowList; Target[] incentives; uint64 protocolFee; uint64 referralFee; uint256 maxParticipants; address owner; }',\n 'struct Target { bool isBase; address instance; bytes parameters; }',\n ]),\n [\n {\n budget,\n action,\n validator,\n allowList,\n incentives,\n protocolFee,\n referralFee,\n maxParticipants,\n owner,\n },\n ],\n ),\n ) as Hex;\n}\n"],"names":["global","factory","module","exports","this","window","noGlobal","solady","LibZip","hexString","data","byteToString","b","parseByte","i","hexToBytes","a","bytesToHex","o","ib","ht","ob","j","s","h","d","c","l","r","p","q","e","u24","hash","x","literals","f","t","z","y","pushByte","rle","v","ERC1967Factory","m","Boost","config","zeroAddress","prepareBoostPayload","budget","action","validator","allowList","incentives","protocolFee","referralFee","maxParticipants","owner","encodeAbiParameters","parseAbiParameters"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"Boost.cjs","sources":["../../../node_modules/.pnpm/solady@0.0.208/node_modules/solady/js/solady.js","../src/Boost.ts"],"sourcesContent":["/**\n * Accompanying JavaScript library for Solady.\n *\n * To install:\n * \n * ```\n * npm install solady\n * ```\n *\n * Module exports:\n * \n * - `LibZip`\n * - `flzCompress(data)`: Compresses hex encoded data with FastLZ.\n * - `flzDecompress(data)`: Decompresses hex encoded data with FastLZ.\n * - `cdCompress(data)`: Compresses hex encoded calldata.\n * - `cdDecompress(data)`: Decompresses hex encoded calldata.\n * \n * - `ERC1967Factory`\n * - `address`: Canonical address of Solady's ERC1967Factory.\n * - `abi`: ABI of Solady's ERC1967Factory.\n *\n * @module solady\n */\n(function(global, factory) {\n\n \"use strict\";\n\n if (typeof module === \"object\" && typeof module.exports === \"object\") {\n module.exports = factory(global, 1);\n if (typeof exports === \"object\") {\n exports.LibZip = module.exports.LibZip;\n exports.ERC1967Factory = module.exports.ERC1967Factory;\n }\n } else {\n factory(global);\n }\n\n})(typeof window !== \"undefined\" ? window : this, function(window, noGlobal) {\n\n \"use strict\";\n\n var solady = {};\n\n /*============================================================*/\n /* LibZip Operations */\n /*============================================================*/\n\n // See: https://github.com/vectorized/solady/blob/main/src/utils/LibZip.sol\n\n /**\n * FastLZ and calldata compression / decompression functions.\n * @namespace\n * @alias module:solady.LibZip\n */\n var LibZip = {};\n\n solady.LibZip = LibZip;\n\n function hexString(data) {\n if (typeof data === \"string\" || data instanceof String) {\n if (data = data.match(/^[\\s\\uFEFF\\xA0]*(0[Xx])?([0-9A-Fa-f]*)[\\s\\uFEFF\\xA0]*$/)) {\n if (data[2].length % 2) {\n throw new Error(\"Hex string length must be a multiple of 2.\");\n }\n return data[2];\n }\n }\n throw new Error(\"Data must be a hex string.\");\n }\n\n function byteToString(b) {\n return (b | 0x100).toString(16).slice(1);\n }\n\n function parseByte(data, i) {\n return parseInt(data.substr(i, 2), 16);\n }\n\n function hexToBytes(data) {\n var a = [], i = 0;\n for (; i < data.length; i += 2) a.push(parseByte(data, i));\n return a;\n }\n\n function bytesToHex(a) {\n var o = \"0x\", i = 0;\n for (; i < a.length; o += byteToString(a[i++])) ;\n return o;\n }\n\n /**\n * Compresses hex encoded data with the FastLZ LZ77 algorithm.\n * @param {string} data A hex encoded string representing the original data.\n * @returns {string} The compressed result as a hex encoded string.\n */\n LibZip.flzCompress = function(data) {\n var ib = hexToBytes(hexString(data)), b = ib.length - 4;\n var ht = [], ob = [], a = 0, i = 2, o = 0, j, s, h, d, c, l, r, p, q, e;\n\n function u24(i) {\n return ib[i] | (ib[++i] << 8) | (ib[++i] << 16);\n }\n\n function hash(x) {\n return ((2654435769 * x) >> 19) & 8191;\n }\n\n function literals(r, s) {\n while (r >= 32) for (ob[o++] = 31, j = 32; j--; r--) ob[o++] = ib[s++];\n if (r) for (ob[o++] = r - 1; r--; ) ob[o++] = ib[s++];\n }\n\n while (i < b - 9) {\n do {\n r = ht[h = hash(s = u24(i))] || 0;\n c = (d = (ht[h] = i) - r) < 8192 ? u24(r) : 0x1000000;\n } while (i < b - 9 && i++ && s != c);\n if (i >= b - 9) break;\n if (--i > a) literals(i - a, a);\n for (l = 0, p = r + 3, q = i + 3, e = b - q; l < e; l++) e *= ib[p + l] === ib[q + l];\n i += l;\n for (--d; l > 262; l -= 262) ob[o++] = 224 + (d >> 8), ob[o++] = 253, ob[o++] = d & 255;\n if (l < 7) ob[o++] = (l << 5) + (d >> 8), ob[o++] = d & 255;\n else ob[o++] = 224 + (d >> 8), ob[o++] = l - 7, ob[o++] = d & 255;\n ht[hash(u24(i))] = i++, ht[hash(u24(i))] = i++, a = i;\n }\n literals(b + 4 - a, a);\n return bytesToHex(ob);\n }\n\n /**\n * Decompresses hex encoded data with the FastLZ LZ77 algorithm.\n * @param {string} data A hex encoded string representing the compressed data.\n * @returns {string} The decompressed result as a hex encoded string.\n */\n LibZip.flzDecompress = function(data) {\n var ib = hexToBytes(hexString(data)), i = 0, o = 0, l, f, t, r, h, ob = [];\n while (i < ib.length) {\n if (!(t = ib[i] >> 5)) {\n for (l = 1 + ib[i++]; l--;) ob[o++] = ib[i++];\n } else {\n f = 256 * (ib[i] & 31) + ib[i + 2 - (t = t < 7)];\n l = t ? 2 + (ib[i] >> 5) : 9 + ib[i + 1];\n i = i + 3 - t;\n r = o - f - 1;\n while (l--) ob[o++] = ob[r++];\n }\n }\n return bytesToHex(ob);\n }\n\n /**\n * Compresses hex encoded calldata.\n * @param {string} data A hex encoded string representing the original data.\n * @returns {string} The compressed result as a hex encoded string.\n */\n LibZip.cdCompress = function(data) {\n data = hexString(data);\n var o = \"0x\", z = 0, y = 0, i = 0, c;\n\n function pushByte(b) {\n o += byteToString(((o.length < 4 * 2 + 2) * 0xff) ^ b);\n }\n\n function rle(v, d) {\n pushByte(0x00);\n pushByte(d - 1 + v * 0x80);\n }\n\n for (; i < data.length; i += 2) {\n c = parseByte(data, i);\n if (!c) {\n if (y) rle(1, y), y = 0;\n if (++z === 0x80) rle(0, 0x80), z = 0;\n continue;\n }\n if (c === 0xff) {\n if (z) rle(0, z), z = 0;\n if (++y === 0x20) rle(1, 0x20), y = 0;\n continue;\n }\n if (y) rle(1, y), y = 0;\n if (z) rle(0, z), z = 0;\n pushByte(c);\n }\n if (y) rle(1, y), y = 0;\n if (z) rle(0, z), z = 0;\n return o;\n }\n\n /**\n * Decompresses hex encoded calldata.\n * @param {string} data A hex encoded string representing the compressed data.\n * @returns {string} The decompressed result as a hex encoded string.\n */\n LibZip.cdDecompress = function(data) {\n data = hexString(data);\n var o = \"0x\", i = 0, j, c, s;\n\n while (i < data.length) {\n c = ((i < 4 * 2) * 0xff) ^ parseByte(data, i);\n i += 2;\n if (!c) {\n c = ((i < 4 * 2) * 0xff) ^ parseByte(data, i);\n s = (c & 0x7f) + 1;\n i += 2;\n for (j = 0; j < s; ++j) o += byteToString((c >> 7 && j < 32) * 0xff);\n continue;\n }\n o += byteToString(c);\n }\n return o;\n }\n\n /*============================================================*/\n /* ERC1967Factory */\n /*============================================================*/\n\n // See: https://github.com/vectorized/solady/blob/main/src/utils/ERC1967Factory.sol\n\n /**\n * ERC1967Factory canonical address and ABI.\n * @namespace\n * @alias module:solady.ERC1967Factory\n */\n var ERC1967Factory = {};\n\n solady.ERC1967Factory = ERC1967Factory;\n\n /**\n * Canonical address of Solady's ERC1967Factory.\n * @type {string}\n */\n ERC1967Factory.address = \"0x0000000000006396FF2a80c067f99B3d2Ab4Df24\";\n\n /**\n * ABI of Solady's ERC1967Factory.\n * @type {Object}\n */\n ERC1967Factory.abi = JSON.parse('[{0:[],1:\"DeploymentFailed\"96\"SaltDoesNotStartWithCaller\"96\"Unauthorized\"96\"UpgradeFailed\",2:3959790,9791],1:\"AdminChanged\",2:10959790,9792,9791],1:\"Deployed\",2:10959790,9792],1:\"Upgraded\",2:10},{0:[{90],1:\"adminOf\",12:[{9199{0:[{90,{91],1:\"changeAdmin\",12:[],13:\"nonpayable\",2:15},{0:[{92,{91],1:\"deploy\",12:[{9098,{0:[{92,{91,{94],1:\"deployAndCall\",12:[{9098,{0:[{92,{91,{93],1:\"deployDeterministic\",12:[{9098,{0:[{92,{91,{93,{94],1:\"deployDeterministicAndCall\",12:[{9098,{0:[],1:\"initCodeHash\",12:[{6:19,1:\"result\",2:19}99{0:[{93],1:\"predictDeterministicAddress\",12:[{6:7,1:\"predicted\",2:7}99{0:[{90,{92],1:\"upgrade\",12:[98,{0:[{90,{92,{94],1:\"upgradeAndCall\",12:[98]'.replace(/9\\d/g, function (m) { return [\"6:7,1:8,2:7}\",\"6:7,1:9,2:7}\",\"6:7,1:11,2:7}\",\"6:19,1:20,2:19}\",\"6:17,1:18,2:17}\",\"},{4:false,0:[\",\",2:3},{0:[],1:\",\"{5:true,\",\"],13:16,2:15}\",\"],13:14,2:15},\"][m-90] }).replace(/\\d+/g, function (m) { return '\"' + (\"inputs,name,type,error,anonymous,indexed,internalType,address,proxy,admin,event,implementation,outputs,stateMutability,view,function,payable,bytes,data,bytes32,salt\".split(\",\")[m]) + '\"' }));\n\n /*--------------------------- END ----------------------------*/\n\n if (typeof define === \"function\" && define.amd) {\n define(\"solady\", [], function() {\n return solady\n });\n }\n\n if (!noGlobal) {\n window.solady = solady;\n }\n\n return solady;\n});\n","import { LibZip } from 'solady';\nimport {\n type Address,\n type Hex,\n encodeAbiParameters,\n parseAbiParameters,\n zeroAddress,\n} from 'viem';\nimport type { Action } from './Actions/Action';\nimport type { AllowList } from './AllowLists/AllowList';\nimport type { Budget } from './Budgets/Budget';\nimport type { Incentive } from './Incentives/Incentive';\nimport type { Validator } from './Validators/Validator';\n\n/**\n * Interface representing a `BoostLib.Boost` on-chain struct\n *\n * @export\n * @interface BoostPayload\n * @typedef {BoostPayload}\n */\nexport interface RawBoost {\n action: Address;\n validator: Address;\n allowList: Address;\n budget: Address;\n incentives: readonly Address[];\n protocolFee: bigint;\n referralFee: bigint;\n maxParticipants: bigint;\n owner: Address;\n}\n\n/**\n * Configuration used to instantiate a `Boost` instance.\n *\n * @export\n * @interface BoostPayload\n * @typedef {BoostPayload}\n */\nexport interface BoostConfig {\n /**\n *\n * @type {bigint}\n */\n id: bigint;\n /**\n *\n * @type {Budget}\n */\n budget: Budget;\n /**\n *\n * @type {Action}\n */\n action: Action;\n /**\n *\n * @type {Validator}\n */\n validator: Validator;\n /**\n *\n * @type {AllowList}\n */\n allowList: AllowList;\n /**\n *\n * @type {Array<Incentive>}\n */\n incentives: Array<Incentive>;\n /**\n *\n * @type {?bigint}\n */\n protocolFee?: bigint;\n /**\n *\n * @type {?bigint}\n */\n referralFee?: bigint;\n /**\n *\n * @type {?bigint}\n */\n maxParticipants?: bigint;\n /**\n *\n * @type {?Address}\n */\n owner?: Address;\n}\n\n/**\n * A struct representing a single Boost. Typically you would not construct this directly, rather get an instance from `BoostCore.createBoost` or `BoostCore.getBoost`\n *\n * @export\n * @class Boost\n * @typedef {Boost}\n */\nexport class Boost {\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly id: bigint;\n /**\n *\n * @readonly\n * @type {Budget}\n */\n readonly budget: Budget;\n /**\n *\n * @readonly\n * @type {Action}\n */\n readonly action: Action;\n /**\n *\n * @readonly\n * @type {Validator}\n */\n readonly validator: Validator;\n /**\n *\n * @readonly\n * @type {AllowList}\n */\n readonly allowList: AllowList;\n /**\n *\n * @readonly\n * @type {Array<Incentive>}\n */\n readonly incentives: Array<Incentive>;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly protocolFee: bigint;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly referralFee: bigint;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly maxParticipants: bigint;\n /**\n *\n * @readonly\n * @type {Address}\n */\n readonly owner: Address;\n\n /**\n * Creates an instance of Boost.\n *\n * @constructor\n * @param {BoostConfig} config\n */\n constructor(config: BoostConfig) {\n this.id = config.id;\n this.budget = config.budget;\n this.action = config.action;\n this.validator = config.validator;\n this.allowList = config.allowList;\n this.incentives = config.incentives;\n this.protocolFee = config.protocolFee || 0n;\n this.referralFee = config.referralFee || 0n;\n this.maxParticipants = config.maxParticipants || 0n;\n this.owner = config.owner || zeroAddress;\n }\n}\n\n/**\n * Object representation of `BoostLib.Target` struct. Used for low level Boost creation operations.\n * This is used to pass the base contract and its initialization parameters in an efficient manner\n *\n * @export\n * @typedef {Target}\n */\nexport type Target = {\n isBase: boolean;\n instance: Address;\n parameters: Hex;\n};\n\n/**\n * Object representation of `BoostCore.InitPayload` struct.\n *\n * @export\n * @interface BoostPayload\n * @typedef {BoostPayload}\n */\nexport interface BoostPayload {\n /**\n * Address to valid budget.\n *\n * @type {Address}\n */\n budget: Address;\n /**\n * Target for existing action, or base with initialization payload.\n *\n * @type {Target}\n */\n action: Target;\n /**\n * Target for existing validator, or base with initialization payload.\n *\n * @type {Target}\n */\n validator: Target;\n /**\n * Target for existing allowList, or base with initialization payload.\n *\n * @type {Target}\n */\n allowList: Target;\n /**\n * Targets for new incentives, with initialization payloads.\n *\n * @type {Target[]}\n */\n incentives: Target[];\n /**\n * The base protocol fee (in bps)\n *\n * @type {?bigint}\n */\n protocolFee?: bigint;\n /**\n * The base referral fee (in bps)\n *\n * @type {?bigint}\n */\n referralFee?: bigint;\n /**\n * Optional maximum amount of participants in the Boost.\n *\n * @type {?bigint}\n */\n maxParticipants?: bigint;\n /**\n * The owner of the Boost.\n *\n * @type {Address}\n */\n owner: Address;\n}\n\n/**\n * Given a valid {@link BoostPayload}, properly encode and compress the payload for use with `createBoost`\n *\n * @export\n * @param {BoostPayload} param0\n * @param {Address} param0.budget - Address to valid budget.\n * @param {Target} param0.action - Target for existing action, or base with initialization payload.\n * @param {Target} param0.validator - Target for existing validator, or base with initialization payload.\n * @param {Target} param0.allowList - Target for existing allowList, or base with initialization payload.\n * @param {Target[]} param0.incentives - Targets for new incentives, with initialization payloads.\n * @param {bigint} [param0.protocolFee=0n] - The base protocol fee (in bps)\n * @param {bigint} [param0.referralFee=0n] - The base referral fee (in bps)\n * @param {bigint} [param0.maxParticipants=0n] - Optional maximum amount of participants in the Boost.\n * @param {Address} param0.owner - The owner of the Boost.\n * @returns {Hex}\n */\nexport function prepareBoostPayload({\n budget,\n action,\n validator,\n allowList,\n incentives,\n protocolFee = 0n,\n referralFee = 0n,\n maxParticipants = 0n,\n owner,\n}: BoostPayload): Hex {\n return LibZip.cdCompress(\n encodeAbiParameters(\n parseAbiParameters([\n 'BoostPayload payload',\n 'struct BoostPayload { address budget; Target action; Target validator; Target allowList; Target[] incentives; uint64 protocolFee; uint64 referralFee; uint256 maxParticipants; address owner; }',\n 'struct Target { bool isBase; address instance; bytes parameters; }',\n ]),\n [\n {\n budget,\n action,\n validator,\n allowList,\n incentives,\n protocolFee,\n referralFee,\n maxParticipants,\n owner,\n },\n ],\n ),\n ) as Hex;\n}\n"],"names":["global","factory","module","exports","this","window","noGlobal","solady","LibZip","hexString","data","byteToString","b","parseByte","i","hexToBytes","a","bytesToHex","o","ib","ht","ob","j","s","h","d","c","l","r","p","q","e","u24","hash","x","literals","f","t","z","y","pushByte","rle","v","ERC1967Factory","m","Boost","config","zeroAddress","prepareBoostPayload","budget","action","validator","allowList","incentives","protocolFee","referralFee","maxParticipants","owner","encodeAbiParameters","parseAbiParameters"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/Boost.d.ts
CHANGED
|
@@ -4,6 +4,24 @@ import type { AllowList } from './AllowLists/AllowList';
|
|
|
4
4
|
import type { Budget } from './Budgets/Budget';
|
|
5
5
|
import type { Incentive } from './Incentives/Incentive';
|
|
6
6
|
import type { Validator } from './Validators/Validator';
|
|
7
|
+
/**
|
|
8
|
+
* Interface representing a `BoostLib.Boost` on-chain struct
|
|
9
|
+
*
|
|
10
|
+
* @export
|
|
11
|
+
* @interface BoostPayload
|
|
12
|
+
* @typedef {BoostPayload}
|
|
13
|
+
*/
|
|
14
|
+
export interface RawBoost {
|
|
15
|
+
action: Address;
|
|
16
|
+
validator: Address;
|
|
17
|
+
allowList: Address;
|
|
18
|
+
budget: Address;
|
|
19
|
+
incentives: readonly Address[];
|
|
20
|
+
protocolFee: bigint;
|
|
21
|
+
referralFee: bigint;
|
|
22
|
+
maxParticipants: bigint;
|
|
23
|
+
owner: Address;
|
|
24
|
+
}
|
|
7
25
|
/**
|
|
8
26
|
* Configuration used to instantiate a `Boost` instance.
|
|
9
27
|
*
|
package/dist/Boost.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Boost.d.ts","sourceRoot":"","sources":["../src/Boost.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Boost.d.ts","sourceRoot":"","sources":["../src/Boost.ts"],"names":[],"mappings":"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"}
|
package/dist/Boost.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Boost.js","sources":["../../../node_modules/.pnpm/solady@0.0.208/node_modules/solady/js/solady.js","../src/Boost.ts"],"sourcesContent":["/**\n * Accompanying JavaScript library for Solady.\n *\n * To install:\n * \n * ```\n * npm install solady\n * ```\n *\n * Module exports:\n * \n * - `LibZip`\n * - `flzCompress(data)`: Compresses hex encoded data with FastLZ.\n * - `flzDecompress(data)`: Decompresses hex encoded data with FastLZ.\n * - `cdCompress(data)`: Compresses hex encoded calldata.\n * - `cdDecompress(data)`: Decompresses hex encoded calldata.\n * \n * - `ERC1967Factory`\n * - `address`: Canonical address of Solady's ERC1967Factory.\n * - `abi`: ABI of Solady's ERC1967Factory.\n *\n * @module solady\n */\n(function(global, factory) {\n\n \"use strict\";\n\n if (typeof module === \"object\" && typeof module.exports === \"object\") {\n module.exports = factory(global, 1);\n if (typeof exports === \"object\") {\n exports.LibZip = module.exports.LibZip;\n exports.ERC1967Factory = module.exports.ERC1967Factory;\n }\n } else {\n factory(global);\n }\n\n})(typeof window !== \"undefined\" ? window : this, function(window, noGlobal) {\n\n \"use strict\";\n\n var solady = {};\n\n /*============================================================*/\n /* LibZip Operations */\n /*============================================================*/\n\n // See: https://github.com/vectorized/solady/blob/main/src/utils/LibZip.sol\n\n /**\n * FastLZ and calldata compression / decompression functions.\n * @namespace\n * @alias module:solady.LibZip\n */\n var LibZip = {};\n\n solady.LibZip = LibZip;\n\n function hexString(data) {\n if (typeof data === \"string\" || data instanceof String) {\n if (data = data.match(/^[\\s\\uFEFF\\xA0]*(0[Xx])?([0-9A-Fa-f]*)[\\s\\uFEFF\\xA0]*$/)) {\n if (data[2].length % 2) {\n throw new Error(\"Hex string length must be a multiple of 2.\");\n }\n return data[2];\n }\n }\n throw new Error(\"Data must be a hex string.\");\n }\n\n function byteToString(b) {\n return (b | 0x100).toString(16).slice(1);\n }\n\n function parseByte(data, i) {\n return parseInt(data.substr(i, 2), 16);\n }\n\n function hexToBytes(data) {\n var a = [], i = 0;\n for (; i < data.length; i += 2) a.push(parseByte(data, i));\n return a;\n }\n\n function bytesToHex(a) {\n var o = \"0x\", i = 0;\n for (; i < a.length; o += byteToString(a[i++])) ;\n return o;\n }\n\n /**\n * Compresses hex encoded data with the FastLZ LZ77 algorithm.\n * @param {string} data A hex encoded string representing the original data.\n * @returns {string} The compressed result as a hex encoded string.\n */\n LibZip.flzCompress = function(data) {\n var ib = hexToBytes(hexString(data)), b = ib.length - 4;\n var ht = [], ob = [], a = 0, i = 2, o = 0, j, s, h, d, c, l, r, p, q, e;\n\n function u24(i) {\n return ib[i] | (ib[++i] << 8) | (ib[++i] << 16);\n }\n\n function hash(x) {\n return ((2654435769 * x) >> 19) & 8191;\n }\n\n function literals(r, s) {\n while (r >= 32) for (ob[o++] = 31, j = 32; j--; r--) ob[o++] = ib[s++];\n if (r) for (ob[o++] = r - 1; r--; ) ob[o++] = ib[s++];\n }\n\n while (i < b - 9) {\n do {\n r = ht[h = hash(s = u24(i))] || 0;\n c = (d = (ht[h] = i) - r) < 8192 ? u24(r) : 0x1000000;\n } while (i < b - 9 && i++ && s != c);\n if (i >= b - 9) break;\n if (--i > a) literals(i - a, a);\n for (l = 0, p = r + 3, q = i + 3, e = b - q; l < e; l++) e *= ib[p + l] === ib[q + l];\n i += l;\n for (--d; l > 262; l -= 262) ob[o++] = 224 + (d >> 8), ob[o++] = 253, ob[o++] = d & 255;\n if (l < 7) ob[o++] = (l << 5) + (d >> 8), ob[o++] = d & 255;\n else ob[o++] = 224 + (d >> 8), ob[o++] = l - 7, ob[o++] = d & 255;\n ht[hash(u24(i))] = i++, ht[hash(u24(i))] = i++, a = i;\n }\n literals(b + 4 - a, a);\n return bytesToHex(ob);\n }\n\n /**\n * Decompresses hex encoded data with the FastLZ LZ77 algorithm.\n * @param {string} data A hex encoded string representing the compressed data.\n * @returns {string} The decompressed result as a hex encoded string.\n */\n LibZip.flzDecompress = function(data) {\n var ib = hexToBytes(hexString(data)), i = 0, o = 0, l, f, t, r, h, ob = [];\n while (i < ib.length) {\n if (!(t = ib[i] >> 5)) {\n for (l = 1 + ib[i++]; l--;) ob[o++] = ib[i++];\n } else {\n f = 256 * (ib[i] & 31) + ib[i + 2 - (t = t < 7)];\n l = t ? 2 + (ib[i] >> 5) : 9 + ib[i + 1];\n i = i + 3 - t;\n r = o - f - 1;\n while (l--) ob[o++] = ob[r++];\n }\n }\n return bytesToHex(ob);\n }\n\n /**\n * Compresses hex encoded calldata.\n * @param {string} data A hex encoded string representing the original data.\n * @returns {string} The compressed result as a hex encoded string.\n */\n LibZip.cdCompress = function(data) {\n data = hexString(data);\n var o = \"0x\", z = 0, y = 0, i = 0, c;\n\n function pushByte(b) {\n o += byteToString(((o.length < 4 * 2 + 2) * 0xff) ^ b);\n }\n\n function rle(v, d) {\n pushByte(0x00);\n pushByte(d - 1 + v * 0x80);\n }\n\n for (; i < data.length; i += 2) {\n c = parseByte(data, i);\n if (!c) {\n if (y) rle(1, y), y = 0;\n if (++z === 0x80) rle(0, 0x80), z = 0;\n continue;\n }\n if (c === 0xff) {\n if (z) rle(0, z), z = 0;\n if (++y === 0x20) rle(1, 0x20), y = 0;\n continue;\n }\n if (y) rle(1, y), y = 0;\n if (z) rle(0, z), z = 0;\n pushByte(c);\n }\n if (y) rle(1, y), y = 0;\n if (z) rle(0, z), z = 0;\n return o;\n }\n\n /**\n * Decompresses hex encoded calldata.\n * @param {string} data A hex encoded string representing the compressed data.\n * @returns {string} The decompressed result as a hex encoded string.\n */\n LibZip.cdDecompress = function(data) {\n data = hexString(data);\n var o = \"0x\", i = 0, j, c, s;\n\n while (i < data.length) {\n c = ((i < 4 * 2) * 0xff) ^ parseByte(data, i);\n i += 2;\n if (!c) {\n c = ((i < 4 * 2) * 0xff) ^ parseByte(data, i);\n s = (c & 0x7f) + 1;\n i += 2;\n for (j = 0; j < s; ++j) o += byteToString((c >> 7 && j < 32) * 0xff);\n continue;\n }\n o += byteToString(c);\n }\n return o;\n }\n\n /*============================================================*/\n /* ERC1967Factory */\n /*============================================================*/\n\n // See: https://github.com/vectorized/solady/blob/main/src/utils/ERC1967Factory.sol\n\n /**\n * ERC1967Factory canonical address and ABI.\n * @namespace\n * @alias module:solady.ERC1967Factory\n */\n var ERC1967Factory = {};\n\n solady.ERC1967Factory = ERC1967Factory;\n\n /**\n * Canonical address of Solady's ERC1967Factory.\n * @type {string}\n */\n ERC1967Factory.address = \"0x0000000000006396FF2a80c067f99B3d2Ab4Df24\";\n\n /**\n * ABI of Solady's ERC1967Factory.\n * @type {Object}\n */\n ERC1967Factory.abi = JSON.parse('[{0:[],1:\"DeploymentFailed\"96\"SaltDoesNotStartWithCaller\"96\"Unauthorized\"96\"UpgradeFailed\",2:3959790,9791],1:\"AdminChanged\",2:10959790,9792,9791],1:\"Deployed\",2:10959790,9792],1:\"Upgraded\",2:10},{0:[{90],1:\"adminOf\",12:[{9199{0:[{90,{91],1:\"changeAdmin\",12:[],13:\"nonpayable\",2:15},{0:[{92,{91],1:\"deploy\",12:[{9098,{0:[{92,{91,{94],1:\"deployAndCall\",12:[{9098,{0:[{92,{91,{93],1:\"deployDeterministic\",12:[{9098,{0:[{92,{91,{93,{94],1:\"deployDeterministicAndCall\",12:[{9098,{0:[],1:\"initCodeHash\",12:[{6:19,1:\"result\",2:19}99{0:[{93],1:\"predictDeterministicAddress\",12:[{6:7,1:\"predicted\",2:7}99{0:[{90,{92],1:\"upgrade\",12:[98,{0:[{90,{92,{94],1:\"upgradeAndCall\",12:[98]'.replace(/9\\d/g, function (m) { return [\"6:7,1:8,2:7}\",\"6:7,1:9,2:7}\",\"6:7,1:11,2:7}\",\"6:19,1:20,2:19}\",\"6:17,1:18,2:17}\",\"},{4:false,0:[\",\",2:3},{0:[],1:\",\"{5:true,\",\"],13:16,2:15}\",\"],13:14,2:15},\"][m-90] }).replace(/\\d+/g, function (m) { return '\"' + (\"inputs,name,type,error,anonymous,indexed,internalType,address,proxy,admin,event,implementation,outputs,stateMutability,view,function,payable,bytes,data,bytes32,salt\".split(\",\")[m]) + '\"' }));\n\n /*--------------------------- END ----------------------------*/\n\n if (typeof define === \"function\" && define.amd) {\n define(\"solady\", [], function() {\n return solady\n });\n }\n\n if (!noGlobal) {\n window.solady = solady;\n }\n\n return solady;\n});\n","import { LibZip } from 'solady';\nimport {\n type Address,\n type Hex,\n encodeAbiParameters,\n parseAbiParameters,\n zeroAddress,\n} from 'viem';\nimport type { Action } from './Actions/Action';\nimport type { AllowList } from './AllowLists/AllowList';\nimport type { Budget } from './Budgets/Budget';\nimport type { Incentive } from './Incentives/Incentive';\nimport type { Validator } from './Validators/Validator';\n\n/**\n * Configuration used to instantiate a `Boost` instance.\n *\n * @export\n * @interface BoostPayload\n * @typedef {BoostPayload}\n */\nexport interface BoostConfig {\n /**\n *\n * @type {bigint}\n */\n id: bigint;\n /**\n *\n * @type {Budget}\n */\n budget: Budget;\n /**\n *\n * @type {Action}\n */\n action: Action;\n /**\n *\n * @type {Validator}\n */\n validator: Validator;\n /**\n *\n * @type {AllowList}\n */\n allowList: AllowList;\n /**\n *\n * @type {Array<Incentive>}\n */\n incentives: Array<Incentive>;\n /**\n *\n * @type {?bigint}\n */\n protocolFee?: bigint;\n /**\n *\n * @type {?bigint}\n */\n referralFee?: bigint;\n /**\n *\n * @type {?bigint}\n */\n maxParticipants?: bigint;\n /**\n *\n * @type {?Address}\n */\n owner?: Address;\n}\n\n/**\n * A struct representing a single Boost. Typically you would not construct this directly, rather get an instance from `BoostCore.createBoost` or `BoostCore.getBoost`\n *\n * @export\n * @class Boost\n * @typedef {Boost}\n */\nexport class Boost {\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly id: bigint;\n /**\n *\n * @readonly\n * @type {Budget}\n */\n readonly budget: Budget;\n /**\n *\n * @readonly\n * @type {Action}\n */\n readonly action: Action;\n /**\n *\n * @readonly\n * @type {Validator}\n */\n readonly validator: Validator;\n /**\n *\n * @readonly\n * @type {AllowList}\n */\n readonly allowList: AllowList;\n /**\n *\n * @readonly\n * @type {Array<Incentive>}\n */\n readonly incentives: Array<Incentive>;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly protocolFee: bigint;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly referralFee: bigint;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly maxParticipants: bigint;\n /**\n *\n * @readonly\n * @type {Address}\n */\n readonly owner: Address;\n\n /**\n * Creates an instance of Boost.\n *\n * @constructor\n * @param {BoostConfig} config\n */\n constructor(config: BoostConfig) {\n this.id = config.id;\n this.budget = config.budget;\n this.action = config.action;\n this.validator = config.validator;\n this.allowList = config.allowList;\n this.incentives = config.incentives;\n this.protocolFee = config.protocolFee || 0n;\n this.referralFee = config.referralFee || 0n;\n this.maxParticipants = config.maxParticipants || 0n;\n this.owner = config.owner || zeroAddress;\n }\n}\n\n/**\n * Object representation of `BoostLib.Target` struct. Used for low level Boost creation operations.\n * This is used to pass the base contract and its initialization parameters in an efficient manner\n *\n * @export\n * @typedef {Target}\n */\nexport type Target = {\n isBase: boolean;\n instance: Address;\n parameters: Hex;\n};\n\n/**\n * Object representation of `BoostCore.InitPayload` struct.\n *\n * @export\n * @interface BoostPayload\n * @typedef {BoostPayload}\n */\nexport interface BoostPayload {\n /**\n * Address to valid budget.\n *\n * @type {Address}\n */\n budget: Address;\n /**\n * Target for existing action, or base with initialization payload.\n *\n * @type {Target}\n */\n action: Target;\n /**\n * Target for existing validator, or base with initialization payload.\n *\n * @type {Target}\n */\n validator: Target;\n /**\n * Target for existing allowList, or base with initialization payload.\n *\n * @type {Target}\n */\n allowList: Target;\n /**\n * Targets for new incentives, with initialization payloads.\n *\n * @type {Target[]}\n */\n incentives: Target[];\n /**\n * The base protocol fee (in bps)\n *\n * @type {?bigint}\n */\n protocolFee?: bigint;\n /**\n * The base referral fee (in bps)\n *\n * @type {?bigint}\n */\n referralFee?: bigint;\n /**\n * Optional maximum amount of participants in the Boost.\n *\n * @type {?bigint}\n */\n maxParticipants?: bigint;\n /**\n * The owner of the Boost.\n *\n * @type {Address}\n */\n owner: Address;\n}\n\n/**\n * Given a valid {@link BoostPayload}, properly encode and compress the payload for use with `createBoost`\n *\n * @export\n * @param {BoostPayload} param0\n * @param {Address} param0.budget - Address to valid budget.\n * @param {Target} param0.action - Target for existing action, or base with initialization payload.\n * @param {Target} param0.validator - Target for existing validator, or base with initialization payload.\n * @param {Target} param0.allowList - Target for existing allowList, or base with initialization payload.\n * @param {Target[]} param0.incentives - Targets for new incentives, with initialization payloads.\n * @param {bigint} [param0.protocolFee=0n] - The base protocol fee (in bps)\n * @param {bigint} [param0.referralFee=0n] - The base referral fee (in bps)\n * @param {bigint} [param0.maxParticipants=0n] - Optional maximum amount of participants in the Boost.\n * @param {Address} param0.owner - The owner of the Boost.\n * @returns {Hex}\n */\nexport function prepareBoostPayload({\n budget,\n action,\n validator,\n allowList,\n incentives,\n protocolFee = 0n,\n referralFee = 0n,\n maxParticipants = 0n,\n owner,\n}: BoostPayload): Hex {\n return LibZip.cdCompress(\n encodeAbiParameters(\n parseAbiParameters([\n 'BoostPayload payload',\n 'struct BoostPayload { address budget; Target action; Target validator; Target allowList; Target[] incentives; uint64 protocolFee; uint64 referralFee; uint256 maxParticipants; address owner; }',\n 'struct Target { bool isBase; address instance; bytes parameters; }',\n ]),\n [\n {\n budget,\n action,\n validator,\n allowList,\n incentives,\n protocolFee,\n referralFee,\n maxParticipants,\n owner,\n },\n ],\n ),\n ) as Hex;\n}\n"],"names":["global","factory","module","exports","this","window","noGlobal","solady","LibZip","hexString","data","byteToString","b","parseByte","i","hexToBytes","a","bytesToHex","o","ib","ht","ob","j","s","h","d","c","l","r","p","q","e","u24","hash","x","literals","f","t","z","y","pushByte","rle","v","ERC1967Factory","m","Boost","config","zeroAddress","prepareBoostPayload","budget","action","validator","allowList","incentives","protocolFee","referralFee","maxParticipants","owner","encodeAbiParameters","parseAbiParameters"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"Boost.js","sources":["../../../node_modules/.pnpm/solady@0.0.208/node_modules/solady/js/solady.js","../src/Boost.ts"],"sourcesContent":["/**\n * Accompanying JavaScript library for Solady.\n *\n * To install:\n * \n * ```\n * npm install solady\n * ```\n *\n * Module exports:\n * \n * - `LibZip`\n * - `flzCompress(data)`: Compresses hex encoded data with FastLZ.\n * - `flzDecompress(data)`: Decompresses hex encoded data with FastLZ.\n * - `cdCompress(data)`: Compresses hex encoded calldata.\n * - `cdDecompress(data)`: Decompresses hex encoded calldata.\n * \n * - `ERC1967Factory`\n * - `address`: Canonical address of Solady's ERC1967Factory.\n * - `abi`: ABI of Solady's ERC1967Factory.\n *\n * @module solady\n */\n(function(global, factory) {\n\n \"use strict\";\n\n if (typeof module === \"object\" && typeof module.exports === \"object\") {\n module.exports = factory(global, 1);\n if (typeof exports === \"object\") {\n exports.LibZip = module.exports.LibZip;\n exports.ERC1967Factory = module.exports.ERC1967Factory;\n }\n } else {\n factory(global);\n }\n\n})(typeof window !== \"undefined\" ? window : this, function(window, noGlobal) {\n\n \"use strict\";\n\n var solady = {};\n\n /*============================================================*/\n /* LibZip Operations */\n /*============================================================*/\n\n // See: https://github.com/vectorized/solady/blob/main/src/utils/LibZip.sol\n\n /**\n * FastLZ and calldata compression / decompression functions.\n * @namespace\n * @alias module:solady.LibZip\n */\n var LibZip = {};\n\n solady.LibZip = LibZip;\n\n function hexString(data) {\n if (typeof data === \"string\" || data instanceof String) {\n if (data = data.match(/^[\\s\\uFEFF\\xA0]*(0[Xx])?([0-9A-Fa-f]*)[\\s\\uFEFF\\xA0]*$/)) {\n if (data[2].length % 2) {\n throw new Error(\"Hex string length must be a multiple of 2.\");\n }\n return data[2];\n }\n }\n throw new Error(\"Data must be a hex string.\");\n }\n\n function byteToString(b) {\n return (b | 0x100).toString(16).slice(1);\n }\n\n function parseByte(data, i) {\n return parseInt(data.substr(i, 2), 16);\n }\n\n function hexToBytes(data) {\n var a = [], i = 0;\n for (; i < data.length; i += 2) a.push(parseByte(data, i));\n return a;\n }\n\n function bytesToHex(a) {\n var o = \"0x\", i = 0;\n for (; i < a.length; o += byteToString(a[i++])) ;\n return o;\n }\n\n /**\n * Compresses hex encoded data with the FastLZ LZ77 algorithm.\n * @param {string} data A hex encoded string representing the original data.\n * @returns {string} The compressed result as a hex encoded string.\n */\n LibZip.flzCompress = function(data) {\n var ib = hexToBytes(hexString(data)), b = ib.length - 4;\n var ht = [], ob = [], a = 0, i = 2, o = 0, j, s, h, d, c, l, r, p, q, e;\n\n function u24(i) {\n return ib[i] | (ib[++i] << 8) | (ib[++i] << 16);\n }\n\n function hash(x) {\n return ((2654435769 * x) >> 19) & 8191;\n }\n\n function literals(r, s) {\n while (r >= 32) for (ob[o++] = 31, j = 32; j--; r--) ob[o++] = ib[s++];\n if (r) for (ob[o++] = r - 1; r--; ) ob[o++] = ib[s++];\n }\n\n while (i < b - 9) {\n do {\n r = ht[h = hash(s = u24(i))] || 0;\n c = (d = (ht[h] = i) - r) < 8192 ? u24(r) : 0x1000000;\n } while (i < b - 9 && i++ && s != c);\n if (i >= b - 9) break;\n if (--i > a) literals(i - a, a);\n for (l = 0, p = r + 3, q = i + 3, e = b - q; l < e; l++) e *= ib[p + l] === ib[q + l];\n i += l;\n for (--d; l > 262; l -= 262) ob[o++] = 224 + (d >> 8), ob[o++] = 253, ob[o++] = d & 255;\n if (l < 7) ob[o++] = (l << 5) + (d >> 8), ob[o++] = d & 255;\n else ob[o++] = 224 + (d >> 8), ob[o++] = l - 7, ob[o++] = d & 255;\n ht[hash(u24(i))] = i++, ht[hash(u24(i))] = i++, a = i;\n }\n literals(b + 4 - a, a);\n return bytesToHex(ob);\n }\n\n /**\n * Decompresses hex encoded data with the FastLZ LZ77 algorithm.\n * @param {string} data A hex encoded string representing the compressed data.\n * @returns {string} The decompressed result as a hex encoded string.\n */\n LibZip.flzDecompress = function(data) {\n var ib = hexToBytes(hexString(data)), i = 0, o = 0, l, f, t, r, h, ob = [];\n while (i < ib.length) {\n if (!(t = ib[i] >> 5)) {\n for (l = 1 + ib[i++]; l--;) ob[o++] = ib[i++];\n } else {\n f = 256 * (ib[i] & 31) + ib[i + 2 - (t = t < 7)];\n l = t ? 2 + (ib[i] >> 5) : 9 + ib[i + 1];\n i = i + 3 - t;\n r = o - f - 1;\n while (l--) ob[o++] = ob[r++];\n }\n }\n return bytesToHex(ob);\n }\n\n /**\n * Compresses hex encoded calldata.\n * @param {string} data A hex encoded string representing the original data.\n * @returns {string} The compressed result as a hex encoded string.\n */\n LibZip.cdCompress = function(data) {\n data = hexString(data);\n var o = \"0x\", z = 0, y = 0, i = 0, c;\n\n function pushByte(b) {\n o += byteToString(((o.length < 4 * 2 + 2) * 0xff) ^ b);\n }\n\n function rle(v, d) {\n pushByte(0x00);\n pushByte(d - 1 + v * 0x80);\n }\n\n for (; i < data.length; i += 2) {\n c = parseByte(data, i);\n if (!c) {\n if (y) rle(1, y), y = 0;\n if (++z === 0x80) rle(0, 0x80), z = 0;\n continue;\n }\n if (c === 0xff) {\n if (z) rle(0, z), z = 0;\n if (++y === 0x20) rle(1, 0x20), y = 0;\n continue;\n }\n if (y) rle(1, y), y = 0;\n if (z) rle(0, z), z = 0;\n pushByte(c);\n }\n if (y) rle(1, y), y = 0;\n if (z) rle(0, z), z = 0;\n return o;\n }\n\n /**\n * Decompresses hex encoded calldata.\n * @param {string} data A hex encoded string representing the compressed data.\n * @returns {string} The decompressed result as a hex encoded string.\n */\n LibZip.cdDecompress = function(data) {\n data = hexString(data);\n var o = \"0x\", i = 0, j, c, s;\n\n while (i < data.length) {\n c = ((i < 4 * 2) * 0xff) ^ parseByte(data, i);\n i += 2;\n if (!c) {\n c = ((i < 4 * 2) * 0xff) ^ parseByte(data, i);\n s = (c & 0x7f) + 1;\n i += 2;\n for (j = 0; j < s; ++j) o += byteToString((c >> 7 && j < 32) * 0xff);\n continue;\n }\n o += byteToString(c);\n }\n return o;\n }\n\n /*============================================================*/\n /* ERC1967Factory */\n /*============================================================*/\n\n // See: https://github.com/vectorized/solady/blob/main/src/utils/ERC1967Factory.sol\n\n /**\n * ERC1967Factory canonical address and ABI.\n * @namespace\n * @alias module:solady.ERC1967Factory\n */\n var ERC1967Factory = {};\n\n solady.ERC1967Factory = ERC1967Factory;\n\n /**\n * Canonical address of Solady's ERC1967Factory.\n * @type {string}\n */\n ERC1967Factory.address = \"0x0000000000006396FF2a80c067f99B3d2Ab4Df24\";\n\n /**\n * ABI of Solady's ERC1967Factory.\n * @type {Object}\n */\n ERC1967Factory.abi = JSON.parse('[{0:[],1:\"DeploymentFailed\"96\"SaltDoesNotStartWithCaller\"96\"Unauthorized\"96\"UpgradeFailed\",2:3959790,9791],1:\"AdminChanged\",2:10959790,9792,9791],1:\"Deployed\",2:10959790,9792],1:\"Upgraded\",2:10},{0:[{90],1:\"adminOf\",12:[{9199{0:[{90,{91],1:\"changeAdmin\",12:[],13:\"nonpayable\",2:15},{0:[{92,{91],1:\"deploy\",12:[{9098,{0:[{92,{91,{94],1:\"deployAndCall\",12:[{9098,{0:[{92,{91,{93],1:\"deployDeterministic\",12:[{9098,{0:[{92,{91,{93,{94],1:\"deployDeterministicAndCall\",12:[{9098,{0:[],1:\"initCodeHash\",12:[{6:19,1:\"result\",2:19}99{0:[{93],1:\"predictDeterministicAddress\",12:[{6:7,1:\"predicted\",2:7}99{0:[{90,{92],1:\"upgrade\",12:[98,{0:[{90,{92,{94],1:\"upgradeAndCall\",12:[98]'.replace(/9\\d/g, function (m) { return [\"6:7,1:8,2:7}\",\"6:7,1:9,2:7}\",\"6:7,1:11,2:7}\",\"6:19,1:20,2:19}\",\"6:17,1:18,2:17}\",\"},{4:false,0:[\",\",2:3},{0:[],1:\",\"{5:true,\",\"],13:16,2:15}\",\"],13:14,2:15},\"][m-90] }).replace(/\\d+/g, function (m) { return '\"' + (\"inputs,name,type,error,anonymous,indexed,internalType,address,proxy,admin,event,implementation,outputs,stateMutability,view,function,payable,bytes,data,bytes32,salt\".split(\",\")[m]) + '\"' }));\n\n /*--------------------------- END ----------------------------*/\n\n if (typeof define === \"function\" && define.amd) {\n define(\"solady\", [], function() {\n return solady\n });\n }\n\n if (!noGlobal) {\n window.solady = solady;\n }\n\n return solady;\n});\n","import { LibZip } from 'solady';\nimport {\n type Address,\n type Hex,\n encodeAbiParameters,\n parseAbiParameters,\n zeroAddress,\n} from 'viem';\nimport type { Action } from './Actions/Action';\nimport type { AllowList } from './AllowLists/AllowList';\nimport type { Budget } from './Budgets/Budget';\nimport type { Incentive } from './Incentives/Incentive';\nimport type { Validator } from './Validators/Validator';\n\n/**\n * Interface representing a `BoostLib.Boost` on-chain struct\n *\n * @export\n * @interface BoostPayload\n * @typedef {BoostPayload}\n */\nexport interface RawBoost {\n action: Address;\n validator: Address;\n allowList: Address;\n budget: Address;\n incentives: readonly Address[];\n protocolFee: bigint;\n referralFee: bigint;\n maxParticipants: bigint;\n owner: Address;\n}\n\n/**\n * Configuration used to instantiate a `Boost` instance.\n *\n * @export\n * @interface BoostPayload\n * @typedef {BoostPayload}\n */\nexport interface BoostConfig {\n /**\n *\n * @type {bigint}\n */\n id: bigint;\n /**\n *\n * @type {Budget}\n */\n budget: Budget;\n /**\n *\n * @type {Action}\n */\n action: Action;\n /**\n *\n * @type {Validator}\n */\n validator: Validator;\n /**\n *\n * @type {AllowList}\n */\n allowList: AllowList;\n /**\n *\n * @type {Array<Incentive>}\n */\n incentives: Array<Incentive>;\n /**\n *\n * @type {?bigint}\n */\n protocolFee?: bigint;\n /**\n *\n * @type {?bigint}\n */\n referralFee?: bigint;\n /**\n *\n * @type {?bigint}\n */\n maxParticipants?: bigint;\n /**\n *\n * @type {?Address}\n */\n owner?: Address;\n}\n\n/**\n * A struct representing a single Boost. Typically you would not construct this directly, rather get an instance from `BoostCore.createBoost` or `BoostCore.getBoost`\n *\n * @export\n * @class Boost\n * @typedef {Boost}\n */\nexport class Boost {\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly id: bigint;\n /**\n *\n * @readonly\n * @type {Budget}\n */\n readonly budget: Budget;\n /**\n *\n * @readonly\n * @type {Action}\n */\n readonly action: Action;\n /**\n *\n * @readonly\n * @type {Validator}\n */\n readonly validator: Validator;\n /**\n *\n * @readonly\n * @type {AllowList}\n */\n readonly allowList: AllowList;\n /**\n *\n * @readonly\n * @type {Array<Incentive>}\n */\n readonly incentives: Array<Incentive>;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly protocolFee: bigint;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly referralFee: bigint;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly maxParticipants: bigint;\n /**\n *\n * @readonly\n * @type {Address}\n */\n readonly owner: Address;\n\n /**\n * Creates an instance of Boost.\n *\n * @constructor\n * @param {BoostConfig} config\n */\n constructor(config: BoostConfig) {\n this.id = config.id;\n this.budget = config.budget;\n this.action = config.action;\n this.validator = config.validator;\n this.allowList = config.allowList;\n this.incentives = config.incentives;\n this.protocolFee = config.protocolFee || 0n;\n this.referralFee = config.referralFee || 0n;\n this.maxParticipants = config.maxParticipants || 0n;\n this.owner = config.owner || zeroAddress;\n }\n}\n\n/**\n * Object representation of `BoostLib.Target` struct. Used for low level Boost creation operations.\n * This is used to pass the base contract and its initialization parameters in an efficient manner\n *\n * @export\n * @typedef {Target}\n */\nexport type Target = {\n isBase: boolean;\n instance: Address;\n parameters: Hex;\n};\n\n/**\n * Object representation of `BoostCore.InitPayload` struct.\n *\n * @export\n * @interface BoostPayload\n * @typedef {BoostPayload}\n */\nexport interface BoostPayload {\n /**\n * Address to valid budget.\n *\n * @type {Address}\n */\n budget: Address;\n /**\n * Target for existing action, or base with initialization payload.\n *\n * @type {Target}\n */\n action: Target;\n /**\n * Target for existing validator, or base with initialization payload.\n *\n * @type {Target}\n */\n validator: Target;\n /**\n * Target for existing allowList, or base with initialization payload.\n *\n * @type {Target}\n */\n allowList: Target;\n /**\n * Targets for new incentives, with initialization payloads.\n *\n * @type {Target[]}\n */\n incentives: Target[];\n /**\n * The base protocol fee (in bps)\n *\n * @type {?bigint}\n */\n protocolFee?: bigint;\n /**\n * The base referral fee (in bps)\n *\n * @type {?bigint}\n */\n referralFee?: bigint;\n /**\n * Optional maximum amount of participants in the Boost.\n *\n * @type {?bigint}\n */\n maxParticipants?: bigint;\n /**\n * The owner of the Boost.\n *\n * @type {Address}\n */\n owner: Address;\n}\n\n/**\n * Given a valid {@link BoostPayload}, properly encode and compress the payload for use with `createBoost`\n *\n * @export\n * @param {BoostPayload} param0\n * @param {Address} param0.budget - Address to valid budget.\n * @param {Target} param0.action - Target for existing action, or base with initialization payload.\n * @param {Target} param0.validator - Target for existing validator, or base with initialization payload.\n * @param {Target} param0.allowList - Target for existing allowList, or base with initialization payload.\n * @param {Target[]} param0.incentives - Targets for new incentives, with initialization payloads.\n * @param {bigint} [param0.protocolFee=0n] - The base protocol fee (in bps)\n * @param {bigint} [param0.referralFee=0n] - The base referral fee (in bps)\n * @param {bigint} [param0.maxParticipants=0n] - Optional maximum amount of participants in the Boost.\n * @param {Address} param0.owner - The owner of the Boost.\n * @returns {Hex}\n */\nexport function prepareBoostPayload({\n budget,\n action,\n validator,\n allowList,\n incentives,\n protocolFee = 0n,\n referralFee = 0n,\n maxParticipants = 0n,\n owner,\n}: BoostPayload): Hex {\n return LibZip.cdCompress(\n encodeAbiParameters(\n parseAbiParameters([\n 'BoostPayload payload',\n 'struct BoostPayload { address budget; Target action; Target validator; Target allowList; Target[] incentives; uint64 protocolFee; uint64 referralFee; uint256 maxParticipants; address owner; }',\n 'struct Target { bool isBase; address instance; bytes parameters; }',\n ]),\n [\n {\n budget,\n action,\n validator,\n allowList,\n incentives,\n protocolFee,\n referralFee,\n maxParticipants,\n owner,\n },\n ],\n ),\n ) as Hex;\n}\n"],"names":["global","factory","module","exports","this","window","noGlobal","solady","LibZip","hexString","data","byteToString","b","parseByte","i","hexToBytes","a","bytesToHex","o","ib","ht","ob","j","s","h","d","c","l","r","p","q","e","u24","hash","x","literals","f","t","z","y","pushByte","rle","v","ERC1967Factory","m","Boost","config","zeroAddress","prepareBoostPayload","budget","action","validator","allowList","incentives","protocolFee","referralFee","maxParticipants","owner","encodeAbiParameters","parseAbiParameters"],"mappings":"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","x_google_ignoreList":[0]}
|