@boostxyz/sdk 6.1.2 → 7.0.0-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/Actions/Action.cjs +1 -1
- package/dist/Actions/Action.js +4 -4
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.cjs.map +1 -1
- package/dist/Actions/EventAction.d.ts +10 -0
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +84 -83
- package/dist/Actions/EventAction.js.map +1 -1
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.js +3 -3
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
- package/dist/AllowLists/SimpleAllowList.js +14 -14
- package/dist/AllowLists/SimpleAllowList.js.map +1 -1
- 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 -2
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.d.ts +1894 -267
- package/dist/BoostCore.d.ts.map +1 -1
- package/dist/BoostCore.js +808 -497
- package/dist/BoostCore.js.map +1 -1
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.js +47 -47
- package/dist/Budget-B_kgJGDu.cjs +2 -0
- package/dist/Budget-B_kgJGDu.cjs.map +1 -0
- package/dist/Budget-Bvi5Qjqp.js +1124 -0
- package/dist/Budget-Bvi5Qjqp.js.map +1 -0
- package/dist/Budgets/Budget.cjs +1 -1
- package/dist/Budgets/Budget.d.ts +5 -4
- package/dist/Budgets/Budget.d.ts.map +1 -1
- package/dist/Budgets/Budget.js +9 -6
- package/dist/Budgets/ManagedBudget.cjs +1 -1
- package/dist/Budgets/ManagedBudget.cjs.map +1 -1
- package/dist/Budgets/ManagedBudget.d.ts +4 -0
- package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
- package/dist/Budgets/ManagedBudget.js +25 -25
- package/dist/Budgets/ManagedBudgetWithFees.d.ts +4 -0
- package/dist/Budgets/ManagedBudgetWithFees.d.ts.map +1 -1
- package/dist/Budgets/ManagedBudgetWithFeesV2.d.ts +4 -0
- package/dist/Budgets/ManagedBudgetWithFeesV2.d.ts.map +1 -1
- package/dist/Budgets/TransparentBudget.d.ts +944 -0
- package/dist/Budgets/TransparentBudget.d.ts.map +1 -0
- package/dist/Budgets/VestingBudget.d.ts +4 -0
- package/dist/Budgets/VestingBudget.d.ts.map +1 -1
- package/dist/Deployable/Deployable.cjs.map +1 -1
- package/dist/Deployable/Deployable.d.ts +1 -1
- package/dist/Deployable/Deployable.d.ts.map +1 -1
- package/dist/Deployable/Deployable.js.map +1 -1
- 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 +19 -19
- package/dist/Incentive-CLKutfnD.js +445 -0
- package/dist/Incentive-CLKutfnD.js.map +1 -0
- package/dist/Incentive-CLSVNxDz.cjs +2 -0
- package/dist/Incentive-CLSVNxDz.cjs.map +1 -0
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
- package/dist/Incentives/AllowListIncentive.js +9 -9
- 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.js +5 -5
- package/dist/Incentives/CGDAIncentive.js.map +1 -1
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
- package/dist/Incentives/ERC20Incentive.js +17 -17
- package/dist/Incentives/ERC20Incentive.js.map +1 -1
- package/dist/Incentives/ERC20PeggedIncentive.d.ts +1 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +2 -0
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs.map +1 -0
- package/dist/Incentives/{ERC20PeggedVariableCriteriaIncentive.d.ts → ERC20PeggedVariableCriteriaIncentiveV2.d.ts} +39 -27
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.d.ts.map +1 -0
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +625 -0
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js.map +1 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +2 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs.map +1 -0
- package/dist/Incentives/{ERC20VariableCriteriaIncentive.d.ts → ERC20VariableCriteriaIncentiveV2.d.ts} +42 -13
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.d.ts.map +1 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +242 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js.map +1 -0
- package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableIncentive.cjs.map +1 -1
- package/dist/Incentives/ERC20VariableIncentive.d.ts +3 -3
- package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20VariableIncentive.js +22 -22
- package/dist/Incentives/ERC20VariableIncentive.js.map +1 -1
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.d.ts +8 -8
- package/dist/Incentives/Incentive.d.ts.map +1 -1
- package/dist/Incentives/Incentive.js +13 -12
- package/dist/Incentives/Incentive.js.map +1 -1
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.cjs.map +1 -1
- package/dist/Incentives/PointsIncentive.js +13 -13
- package/dist/Incentives/PointsIncentive.js.map +1 -1
- package/dist/SimpleDenyList-C1C_BHkY.js +133 -0
- package/dist/{SimpleDenyList-BKfPoTo1.js.map → SimpleDenyList-C1C_BHkY.js.map} +1 -1
- package/dist/SimpleDenyList-CWthbyj7.cjs +2 -0
- package/dist/{SimpleDenyList-DgjVf7FK.cjs.map → SimpleDenyList-CWthbyj7.cjs.map} +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs.map +1 -1
- package/dist/Validators/LimitedSignerValidator.d.ts.map +1 -1
- package/dist/Validators/LimitedSignerValidator.js +48 -52
- package/dist/Validators/LimitedSignerValidator.js.map +1 -1
- package/dist/Validators/SignerValidator.cjs +1 -1
- package/dist/Validators/SignerValidator.cjs.map +1 -1
- package/dist/Validators/SignerValidator.js +54 -54
- package/dist/Validators/SignerValidator.js.map +1 -1
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.js +2 -2
- package/dist/componentInterfaces-BVHB4Fjw.js +21 -0
- package/dist/componentInterfaces-BVHB4Fjw.js.map +1 -0
- package/dist/componentInterfaces-BqhL-meV.cjs +2 -0
- package/dist/componentInterfaces-BqhL-meV.cjs.map +1 -0
- package/dist/deployments-D9QxJGrC.cjs +2 -0
- package/dist/deployments-D9QxJGrC.cjs.map +1 -0
- package/dist/deployments-De8_J7SS.js +120 -0
- package/dist/{deployments-W_LUj833.js.map → deployments-De8_J7SS.js.map} +1 -1
- package/dist/deployments.json +63 -48
- package/dist/{generated-CElkFqkY.js → generated-BJfQ-EBO.js} +1268 -737
- package/dist/generated-BJfQ-EBO.js.map +1 -0
- package/dist/generated-mJJNq-xb.cjs +3 -0
- package/dist/generated-mJJNq-xb.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +162 -158
- package/dist/index.js.map +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +13 -7
- package/src/Actions/EventAction.ts +11 -0
- package/src/BoostCore.test.ts +14 -9
- package/src/BoostCore.ts +428 -26
- package/src/Budgets/Budget.ts +8 -1
- package/src/Budgets/TransparentBudget.test.ts +70 -0
- package/src/Budgets/TransparentBudget.ts +334 -0
- package/src/Deployable/Deployable.ts +1 -1
- package/src/Incentives/ERC20PeggedIncentive.ts +1 -1
- package/src/Incentives/{ERC20PeggedVariableCriteriaIncentive.test.ts → ERC20PeggedVariableCriteriaIncentiveV2.test.ts} +14 -10
- package/src/Incentives/{ERC20PeggedVariableCriteriaIncentive.ts → ERC20PeggedVariableCriteriaIncentiveV2.ts} +122 -100
- package/src/Incentives/{ERC20VariableCriteriaIncentive.test.ts → ERC20VariableCriteriaIncentiveV2.test.ts} +18 -13
- package/src/Incentives/{ERC20VariableCriteriaIncentive.ts → ERC20VariableCriteriaIncentiveV2.ts} +83 -24
- package/src/Incentives/ERC20VariableIncentive.ts +4 -2
- package/src/Incentives/Incentive.ts +12 -12
- package/src/Validators/LimitedSignerValidator.ts +1 -4
- package/src/index.test.ts +2 -2
- package/src/index.ts +3 -2
- package/src/utils.ts +1 -1
- package/dist/Budget-BjfL8dVX.cjs +0 -2
- package/dist/Budget-BjfL8dVX.cjs.map +0 -1
- package/dist/Budget-DD7IPuDx.js +0 -922
- package/dist/Budget-DD7IPuDx.js.map +0 -1
- package/dist/Incentive-V1RjH38L.js +0 -1036
- package/dist/Incentive-V1RjH38L.js.map +0 -1
- package/dist/Incentive-gVTfsnMB.cjs +0 -2
- package/dist/Incentive-gVTfsnMB.cjs.map +0 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.d.ts.map +0 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +0 -2
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +0 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +0 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js +0 -207
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +0 -1
- package/dist/SimpleDenyList-BKfPoTo1.js +0 -133
- package/dist/SimpleDenyList-DgjVf7FK.cjs +0 -2
- package/dist/componentInterfaces-CA1UIqWL.js +0 -20
- package/dist/componentInterfaces-CA1UIqWL.js.map +0 -1
- package/dist/componentInterfaces-aBgBbB7r.cjs +0 -2
- package/dist/componentInterfaces-aBgBbB7r.cjs.map +0 -1
- package/dist/deployments-CwTZr-cK.cjs +0 -2
- package/dist/deployments-CwTZr-cK.cjs.map +0 -1
- package/dist/deployments-W_LUj833.js +0 -117
- package/dist/generated-BPiHi7W2.cjs +0 -3
- package/dist/generated-BPiHi7W2.cjs.map +0 -1
- package/dist/generated-CElkFqkY.js.map +0 -1
package/dist/BoostCore.js
CHANGED
|
@@ -1,43 +1,44 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { waitForTransactionReceipt as
|
|
3
|
-
import { createClient as
|
|
4
|
-
import { i as
|
|
5
|
-
import { actionFromAddress as
|
|
6
|
-
import { EventAction as
|
|
7
|
-
import { allowListFromAddress as
|
|
8
|
-
import { SimpleAllowList as
|
|
9
|
-
import { S as
|
|
10
|
-
import { PassthroughAuth as
|
|
11
|
-
import { prepareBoostPayload as
|
|
12
|
-
import { b as
|
|
13
|
-
import { ManagedBudget as
|
|
14
|
-
import { Deployable as
|
|
15
|
-
import { Roles as
|
|
16
|
-
import { AllowListIncentive as
|
|
17
|
-
import { CGDAIncentive as
|
|
18
|
-
import { ERC20Incentive as
|
|
19
|
-
import { i as
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import { simulateContract as
|
|
29
|
-
import { parseAccount as
|
|
30
|
-
const K0 = "0x608060405260048054607d60a31b600160a01b600160e01b0319909116179055600580546001600160401b0319166103e817905534801561003e575f80fd5b50604051614fb2380380614fb283398101604081905261005d916100e8565b61006681610098565b50600180546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055610132565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a35b50565b6001600160a01b03811681146100d1575f80fd5b5f805f606084860312156100fa575f80fd5b8351610105816100d4565b6020850151909350610116816100d4565b6040850151909250610127816100d4565b809150509250925092565b614e738061013f5f395ff3fe6080604052600436106101d0575f3560e01c80637b103999116100fd578063dd7dc9a911610092578063f04e283e11610062578063f04e283e14610551578063f2fde38b14610564578063fee81cf414610577578063fefceca9146105a8575f80fd5b8063dd7dc9a9146104b7578063dd98558c146104d7578063e21ff73114610513578063eccc19a614610532575f80fd5b8063b0e21e8a116100cd578063b0e21e8a14610413578063caa1647b14610464578063d5137b5214610483578063d73792a9146104a2575f80fd5b80637b1039991461038f5780638da5cb5b146103ae5780638fe4f523146103e1578063a92647dc146103f4575f80fd5b806343bc42d3116101735780635edb9eb0116101435780635edb9eb0146103385780635f32c23e14610355578063715018a614610374578063730f9c571461037c575f80fd5b806343bc42d3146102d357806346877b1a146102f25780635045b8661461031157806354d1f13d14610330575f80fd5b8063219f71f0116101ae578063219f71f0146102495780632569296214610268578063346339d51461027057806339a51be51461029c575f80fd5b806313c8e2de146101d457806316614282146102095780631fa2acdc1461022a575b5f80fd5b3480156101df575f80fd5b506101f36101ee366004613e90565b61060b565b6040516102009190613eea565b60405180910390f35b348015610214575f80fd5b50610228610223366004613fe8565b610740565b005b348015610235575f80fd5b5061022861024436600461404b565b610eb3565b348015610254575f80fd5b506102286102633660046140b1565b611628565b61022861166a565b34801561027b575f80fd5b5061028f61028a366004613e90565b6116b7565b6040516102009190614139565b3480156102a7575f80fd5b506003546102bb906001600160a01b031681565b6040516001600160a01b039091168152602001610200565b3480156102de575f80fd5b506102286102ed366004614197565b61176c565b3480156102fd575f80fd5b5061022861030c3660046140b1565b6117c7565b34801561031c575f80fd5b506004546102bb906001600160a01b031681565b610228611809565b348015610343575f80fd5b505f545b604051908152602001610200565b348015610360575f80fd5b5061022861036f3660046141b2565b611842565b6102286119db565b61022861038a3660046141d2565b6119ee565b34801561039a575f80fd5b506001546102bb906001600160a01b031681565b3480156103b9575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102bb565b6102286103ef366004614249565b611e55565b3480156103ff575f80fd5b506002546102bb906001600160a01b031681565b34801561041e575f80fd5b5060045461044b9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610200565b34801561046f575f80fd5b5061022861047e366004614197565b611e6a565b34801561048e575f80fd5b506102bb61049d3660046142ae565b611ef2565b3480156104ad575f80fd5b5061044b61271081565b3480156104c2575f80fd5b5060055461044b9067ffffffffffffffff1681565b3480156104e2575f80fd5b506104f66104f13660046142f8565b61211e565b604080519283526001600160a01b03909116602083015201610200565b34801561051e575f80fd5b506101f361052d366004614345565b61257a565b34801561053d575f80fd5b5061022861054c3660046140b1565b612dab565b61022861055f3660046140b1565b612ded565b6102286105723660046140b1565b612e2a565b348015610582575f80fd5b506103476105913660046140b1565b63389a75e1600c9081525f91909152602090205490565b3480156105b3575f80fd5b506105fa6105c2366004613e90565b60066020525f9081526040902080546001820154600283015460039093015460ff8316936101009093046001600160a01b0316929085565b604051610200959493929190614384565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e08101919091525f828154811061065c5761065c6143bd565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b039081168452600182015481168486015260028201548116848401526003820154166060840152600481018054835181870281018701909452808452939491936080860193928301828280156106ff57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116106e1575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b031660609091015292915050565b3068929eee149b4bd21268540361075e5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061077d5761077d6143bd565b905f5260205f20906008020190505f8160040185815481106107a1576107a16143bd565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a2906107f69088908890600401614413565b5f60405180830381865afa158015610810573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610837919081019061456d565b905080515f03610873576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8180602001905181019061088891906145aa565b90505f8080806001855160028111156108a3576108a36140d3565b14806108c057505f855160028111156108be576108be6140d3565b145b15610924575f85606001518060200190518101906108de9190614652565b805160058b0154909650909150612710906109039067ffffffffffffffff16876146c1565b61090d91906146d8565b93506109198486614710565b9081905291506109da565b600285516002811115610939576109396140d3565b036109a8575f85606001518060200190518101906109579190614723565b602081015160058b01549096509091506127109061097f9067ffffffffffffffff16876146c1565b61098991906146d8565b93506109958486614710565b60208201819052905190925090506109da565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6109e58d8d612e50565b5f8181526006602052604081206001810180549394509092879290610a0b908490614710565b909155505085159150610e99905057600185516002811115610a2f57610a2f6140d3565b1480610a4c57505f85516002811115610a4a57610a4a6140d3565b145b15610c6b5760208501516040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490526001600160a01b038216906323b872dd906064016020604051808303815f875af1158015610abf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae391906147b0565b506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820187905282169063095ea7b3906044016020604051808303815f875af1158015610b49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6d91906147b0565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038916906330db555f906024015f604051808303815f87803b158015610bc6575f80fd5b505af1158015610bd8573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015610c40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6491906147b0565b5050610e59565b60208501516040517ff242432a000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526064810184905260a060848201525f60a48201526001600160a01b0382169063f242432a9060c4015f604051808303815f87803b158015610ce8575f80fd5b505af1158015610cfa573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152600160248301528416925063a22cb46591506044015f604051808303815f87803b158015610d5e575f80fd5b505af1158015610d70573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018890526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b158015610dcc575f80fd5b505af1158015610dde573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b158015610e41575f80fd5b505af1158015610e53573d5f803e3d5ffd5b50505050505b604080518581526020810185905233918d918f917f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f31876910160405180910390a45b50505050505050503868929eee149b4bd212685550505050565b3068929eee149b4bd212685403610ed15763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808681548110610ef057610ef06143bd565b905f5260205f20906008020190505f816004018681548110610f1457610f146143bd565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a290610f699089908990600401614413565b5f60405180830381865afa158015610f83573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610faa919081019061456d565b905080515f03610fe6576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81806020019051810190610ffb91906145aa565b90505f6001600160a01b038616156110135785611022565b60038501546001600160a01b03165b905061102d81612e7f565b5f8080600185516002811115611045576110456140d3565b148061106257505f85516002811115611060576110606140d3565b145b156110e9575f85606001518060200190518101906110809190614652565b805160058b0154909550909150612710906110a59067ffffffffffffffff16866146c1565b6110af91906146d8565b92506110bb8385614710565b8082526040805160208101839052919350015b60408051601f19818403018152919052606087015250611174565b6002855160028111156110fe576110fe6140d3565b036109a8575f856060015180602001905181019061111c9190614723565b602081015160058b0154909550909150612710906111449067ffffffffffffffff16866146c1565b61114e91906146d8565b925061115a8385614710565b60208083018290526040519193506110ce918391016147f9565b30604080870191909152515f9061118f908790602001614827565b60408051601f19818403018152908290527ffa4ca9b100000000000000000000000000000000000000000000000000000000825291506001600160a01b0386169063fa4ca9b1906111e4908490600401614878565b6020604051808303815f875af1158015611200573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122491906147b0565b61125a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6112658f8f612e50565b5f818152600660205260408120600181018054939450909287929061128b908490614710565b90915550508515925061160d915050576001855160028111156112b0576112b06140d3565b14806112cd57505f855160028111156112cb576112cb6140d3565b145b1561145e5760208501516040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820186905282169063095ea7b3906044016020604051808303815f875af115801561133c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136091906147b0565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b038916906330db555f906024015f604051808303815f87803b1580156113b9575f80fd5b505af11580156113cb573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015611433573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145791906147b0565b50506115be565b60208501516040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526001602483015282169063a22cb465906044015f604051808303815f87803b1580156114c3575f80fd5b505af11580156114d5573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018790526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b158015611531575f80fd5b505af1158015611543573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b1580156115a6575f80fd5b505af11580156115b8573d5f803e3d5ffd5b50505050505b336001600160a01b03168c8e7f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f318768686604051611604929190918252602082015260400190565b60405180910390a45b50505050505050503868929eee149b4bd21268555050505050565b611630612f5e565b600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6116ee6040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b5f8281526006602052604090819020815160a081019092528054829060ff16600281111561171e5761171e6140d3565b600281111561172f5761172f6140d3565b8152815461010090046001600160a01b03166020820152600182015460408201526002820154606082015260039091015460809091015292915050565b611774612f5e565b6004805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6117cf612f5e565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b3068929eee149b4bd2126854036118605763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6118778383612e50565b5f81815260066020526040812081549293509181908690811061189c5761189c6143bd565b905f5260205f20906008020160040184815481106118bc576118bc6143bd565b5f918252602082200154600284015460018501546001600160a01b039092169350906118eb90612710906146c1565b6118f591906146d8565b90505f6119028484612f93565b9050818111156119c6575f611917838361488a565b90505f61271067ffffffffffffffff1686600201548361193791906146c1565b61194191906146d8565b905061194d86826130e1565b808660010154106119765780866001015f82825461196b919061488a565b9091555061197d9050565b5f60018701555b6003546040518281526001600160a01b039091169089908b907f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b179060200160405180910390a450505b50505050503868929eee149b4bd21268555050565b6119e3612f5e565b6119ec5f61321d565b565b3068929eee149b4bd212685403611a0c5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110611a2b57611a2b6143bd565b905f5260205f20906008020190505f611a448888612e50565b5f81815260066020526040812060048501805493945090928a908110611a6c57611a6c6143bd565b5f9182526020909120015460028501546040517fe3f756de0000000000000000000000000000000000000000000000000000000081526001600160a01b03928316935091169063e3f756de90611aca9088908b908b9060040161489d565b602060405180830381865afa158015611ae5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b0991906147b0565b611b3f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018401546040517f703b69000000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063703b6900903490611b94908e908e908b908e908e906004016148c8565b60206040518083038185885af1158015611bb0573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611bd591906147b0565b611c0b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81545f9061010090046001600160a01b0316611c27575f611c31565b611c318383612f93565b6040517fbb1757cf0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0383169063bb1757cf90611c7d9089908c908c9060040161489d565b6020604051808303815f875af1158015611c99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbd91906147b0565b611d02578588886040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401611cf99392919061489d565b60405180910390fd5b82545f9061010090046001600160a01b0316611d1e575f611d28565b611d288484612f93565b90505f818311611d38575f611d42565b611d42828461488a565b90505f61271067ffffffffffffffff16866002015483611d6291906146c1565b611d6c91906146d8565b90508015611df257611d7e86826130e1565b80866001015f828254611d91919061488a565b9250508190555060035f9054906101000a90046001600160a01b03166001600160a01b03168d8f7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051611de991815260200190565b60405180910390a45b886001600160a01b03168d8f7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478f8f8f604051611e319392919061489d565b60405180910390a450505050505050503868929eee149b4bd2126855505050505050565b611e638585858585336119ee565b5050505050565b611e72612f5e565b61271067ffffffffffffffff821610611eb7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff92909216919091179055565b5f3068929eee149b4bd212685403611f115763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808481548110611f3057611f306143bd565b5f918252602090912060089091020160078101549091506001600160a01b03163314611f88576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003810154611f9f906001600160a01b0316612e7f565b6004808201805491549091905f906001600160a01b0316611fc0575f612052565b6004546040516001600160a01b039091169063c7f1ecff90611fe8908a908a90602001614901565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016120139190614878565b602060405180830381865afa15801561202e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205291906149b8565b905061208861206087614a20565b600386015460058701546001600160a01b039091169067ffffffffffffffff16848b87613275565b83546001810185555f858152602080822090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03851690811790915560405191825292975084918a917f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae910160405180910390a4505050503868929eee149b4bd212685592915050565b5f803068929eee149b4bd21268540361213e5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061215d5761215d6143bd565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b0390811684526001820154811684860152600282015481168484015260038201541660608401526004810180548351818702810187019094528084529394919360808601939283018282801561220057602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116121e2575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b039081166060928301529082015191925016331461227d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6122888686612e50565b5f8181526006602052604081209192506122a4898b018b614a89565b90505f81602001518060200190518101906122bf9190614b26565b90505f61271067ffffffffffffffff168460020154836122df91906146c1565b6122e991906146d8565b90508015612457576001845460ff166002811115612309576123096140d3565b148061232957505f845460ff166002811115612327576123276140d3565b145b15612351578251845461234c916101009091046001600160a01b03169083613615565b61240e565b6002845460ff166002811115612369576123696140d3565b0361240e578354835160038601546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b1580156123f7575f80fd5b505af1158015612409573d5f803e3d5ffd5b505050505b825f01516001600160a01b0316898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b178460405161244e91815260200190565b60405180910390a45b5f8087608001518b8151811061246f5761246f6143bd565b60200260200101516001600160a01b031663474f5a44866040516020016124969190614b3d565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016124c19190614878565b60408051808303815f875af11580156124dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125009190614b6a565b91509150815f0361254357338e8e6040517f9ecd71a9000000000000000000000000000000000000000000000000000000008152600401611cf99392919061489d565b82866001015f828254612556919061488a565b90915550503868929eee149b4bd2126855909d909c509a5050505050505050505050565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e081019190915260025433906001600160a01b03161580159061265757506002546040517ffe9fbb800000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063fe9fbb8090602401602060405180830381865afa158015612631573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061265591906147b0565b155b1561268e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd2126854036126ac5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6126f785858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061365e92505050565b80602001905181019061270a9190614c92565b9050612718815f0151612e7f565b5f805460018101825590805260e082015160089091027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56a810180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b039485161790915583517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566830180549092169084161790556004547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563909101911661281c5760a0820151600454612817919074010000000000000000000000000000000000000000900467ffffffffffffffff16614dbd565b6128b4565b60a0820151600480546040517fb1539a6b0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163b1539a6b9161286b918b918b9101614413565b602060405180830381865afa158015612886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128aa9190614ddd565b6128b49190614dbd565b6005820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905560c08201516006820155602082015161292b907fe6715795000000000000000000000000000000000000000000000000000000009060016136f1565b81547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03919091161781556060820151612990907fe2089f79000000000000000000000000000000000000000000000000000000009060016136f1565b6002820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039283161790556004545f91166129d6575f612a5f565b600480546040517fc7f1ecff0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163c7f1ecff91612a20918b918b9101614413565b602060405180830381865afa158015612a3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5f91906149b8565b608084015184516005850154929350612a829267ffffffffffffffff1684613712565b8051612a98916004850191602090910190613e01565b506040830151602001516001600160a01b031615612ae557612ae07f5912b89c00000000000000000000000000000000000000000000000000000000846040015160016136f1565b612b9d565b81546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201526001600160a01b03909116906301ffc9a790602401602060405180830381865afa158015612b63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b8791906147b0565b612b91575f612b9d565b81546001600160a01b03165b6001830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03929092169182179055612c34576040517fe1c444480000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201525f6024820152604401611cf9565b815460078301545f546001600160a01b039283169290911690612c599060019061488a565b6004850154600186015460028701546003880154604080519485526001600160a01b03938416602086015291831684830152919091166060830152517f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd9181900360800190a4604080516101008101825283546001600160a01b03908116825260018501548116602080840191909152600286015482168385015260038601549091166060830152600485018054845181840281018401909552808552929386936080860193919291830182828015612d5957602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311612d3b575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b03166060909101523868929eee149b4bd2126855979650505050505050565b612db3612f5e565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b612df5612f5e565b63389a75e1600c52805f526020600c208054421115612e1b57636f5e88185f526004601cfd5b5f9055612e278161321d565b50565b612e32612f5e565b8060601b612e4757637448fbae5f526004601cfd5b612e278161321d565b604080516020808201859052818301849052825180830384018152606090920190925280519101205b92915050565b612ea97fe49cedd70000000000000000000000000000000000000000000000000000000082613844565b6040517ffe9fbb800000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382169063fe9fbb8090602401602060405180830381865afa158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f2891906147b0565b612e27576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146119ec576382b429005f526004601cfd5b5f6001835460ff166002811115612fac57612fac6140d3565b1480612fcc57505f835460ff166002811115612fca57612fca6140d3565b145b156130635782546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152610100909204909116906370a08231906024015b602060405180830381865afa158015613038573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061305c9190614b26565b9050612e79565b6002835460ff16600281111561307b5761307b6140d3565b036130d957825460038401546040517efdd58e0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526024820192909252610100909204169062fdd58e9060440161301d565b505f92915050565b6001825460ff1660028111156130f9576130f96140d3565b148061311957505f825460ff166002811115613117576131176140d3565b145b1561315c57600354825461313f916001600160a01b036101009092048216911683613615565b81546131589061010090046001600160a01b0316613962565b5050565b6002825460ff166002811115613174576131746140d3565b0361315857815460038054908401546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b158015613203575f80fd5b505af1158015613215573d5f803e3d5ffd5b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f80876040015190506132ac7fa9216705000000000000000000000000000000000000000000000000000000008960200151613844565b875161331b5760208801516040517fe1c444480000000000000000000000000000000000000000000000000000000081527fa92167050000000000000000000000000000000000000000000000000000000060048201526001600160a01b039091166024820152604401611cf9565b6133467fa921670500000000000000000000000000000000000000000000000000000000895f6136f1565b91505f826001600160a01b0316634e7165a2836040518263ffffffff1660e01b81526004016133759190614878565b5f60405180830381865afa15801561338f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133b6919081019061456d565b905080515f14613597575f806133cc838a613a1e565b6040517ffa4ca9b100000000000000000000000000000000000000000000000000000000815291935091506001600160a01b038b169063fa4ca9b190613416908590600401614878565b6020604051808303815f875af1158015613432573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061345691906147b0565b61348c576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffa4ca9b10000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063fa4ca9b1906134d1908690600401614878565b6020604051808303815f875af11580156134ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061351191906147b0565b613547576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8380602001905181019061355c91906145aa565b905061359388886001600160a01b038c1661357b57836020015161357d565b8b5b858e67ffffffffffffffff16865f01518b613bb7565b5050505b6040517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0384169063439fab91906135dc908590600401614878565b5f604051808303815f87803b1580156135f3575f80fd5b505af1158015613605573d5f803e3d5ffd5b5050505050509695505050505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f51141716613655576390b8ec185f526004601cfd5b5f603452505050565b60608151156136ec5760405190506020810160048301805184518501811983525b808610156136d6576001860195508551601f1a806136c7576001870196508651601f1a5f198652607f81116136b657600181013887395b607f1694909401600101935061367f565b8085535060018401935061367f565b509052601f198282030182525f81526020016040525b919050565b5f613700848460200151613844565b61370a8383613cf3565b949350505050565b5f8054606091906137259060019061488a565b9050855167ffffffffffffffff81111561374157613741614426565b60405190808252806020026020018201604052801561376a578160200160208202803683370190505b5091505f5b865181101561383a5761379f87828151811061378d5761378d6143bd565b60200260200101518787878686613275565b8382815181106137b1576137b16143bd565b60200260200101906001600160a01b031690816001600160a01b0316815250508281815181106137e3576137e36143bd565b60200260200101516001600160a01b031681837f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae600160405161382a911515815260200190565b60405180910390a460010161376f565b5050949350505050565b6001600160a01b03811615806138f857506040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa1580156138d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138f691906147b0565b155b15613158576040517fe1c444480000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b0382166024820152604401611cf9565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156139bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139e39190614b26565b90505f811180156139ff575060055467ffffffffffffffff1681105b1561315857600354613158906001600160a01b03848116911683613615565b60605f8084806020019051810190613a3691906145aa565b905083600182516002811115613a4e57613a4e6140d3565b1480613a6b57505f82516002811115613a6957613a696140d3565b145b15613b19575f8260600151806020019051810190613a899190614652565b80519091505f9061271090613aa99067ffffffffffffffff8616906146c1565b613ab391906146d8565b6040805160208082018352838252825190810184905292935091015b60408051601f198184030181529181526060870191909152308682015251613afb908690602001614827565b60405160208183030381529060405282965096505050505050613bb0565b600282516002811115613b2e57613b2e6140d3565b036109a8575f8260600151806020019051810190613b4c9190614723565b90505f61271067ffffffffffffffff168367ffffffffffffffff168360200151613b7691906146c1565b613b8091906146d8565b604080516060810182528451815260208082018490528583015182840152915192935091613acf918391016147f9565b9250929050565b5f6002836002811115613bcc57613bcc6140d3565b03613be95781806020019051810190613be59190614df8565b5090505b5f6040518060a00160405280856002811115613c0757613c076140d3565b8152602001886001600160a01b031681526020018781526020018681526020018381525090508060065f613c3b8c8c612e50565b815260208101919091526040015f208151815482907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115613c8657613c866140d3565b0217905550602082015181546001600160a01b03909116610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9091161781556040820151600182015560608201516002820155608090910151600390910155505050505050505050565b81515f90613d05578260200151613d1b565b613d1b83602001516001600160a01b0316613daa565b83519091508015613d295750815b15612e795760408084015190517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0383169163439fab9191613d779190600401614878565b5f604051808303815f87803b158015613d8e575f80fd5b505af1158015613da0573d5f803e3d5ffd5b5050505092915050565b5f612e795f835f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f0905080613df75763301164255f526004601cfd5b5f60215292915050565b828054828255905f5260205f20908101928215613e6c579160200282015b82811115613e6c57825182547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909116178255602090920191600190910190613e1f565b50613e78929150613e7c565b5090565b5b80821115613e78575f8155600101613e7d565b5f60208284031215613ea0575f80fd5b5035919050565b5f8151808452602084019350602083015f5b82811015613ee05781516001600160a01b0316865260209586019590910190600101613eb9565b5093949350505050565b602081526001600160a01b0382511660208201525f6020830151613f1960408401826001600160a01b03169052565b5060408301516001600160a01b03811660608401525060608301516001600160a01b038116608084015250608083015161010060a0840152613f5f610120840182613ea7565b905060a0840151613f7c60c085018267ffffffffffffffff169052565b5060c084015160e084015260e0840151613fa26101008501826001600160a01b03169052565b509392505050565b5f8083601f840112613fba575f80fd5b50813567ffffffffffffffff811115613fd1575f80fd5b602083019150836020828501011115613bb0575f80fd5b5f805f8060608587031215613ffb575f80fd5b8435935060208501359250604085013567ffffffffffffffff81111561401f575f80fd5b61402b87828801613faa565b95989497509550505050565b6001600160a01b0381168114612e27575f80fd5b5f805f805f6080868803121561405f575f80fd5b8535945060208601359350604086013567ffffffffffffffff811115614083575f80fd5b61408f88828901613faa565b90945092505060608601356140a381614037565b809150509295509295909350565b5f602082840312156140c1575f80fd5b81356140cc81614037565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60038110614135577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b5f60a08201905061414b828451614100565b6001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015292915050565b67ffffffffffffffff81168114612e27575f80fd5b5f602082840312156141a7575f80fd5b81356140cc81614182565b5f80604083850312156141c3575f80fd5b50508035926020909101359150565b5f805f805f8060a087890312156141e7575f80fd5b8635955060208701359450604087013561420081614037565b9350606087013567ffffffffffffffff81111561421b575f80fd5b61422789828a01613faa565b909450925050608087013561423b81614037565b809150509295509295509295565b5f805f805f6080868803121561425d575f80fd5b8535945060208601359350604086013561427681614037565b9250606086013567ffffffffffffffff811115614291575f80fd5b61429d88828901613faa565b969995985093965092949392505050565b5f80604083850312156142bf575f80fd5b82359150602083013567ffffffffffffffff8111156142dc575f80fd5b8301606081860312156142ed575f80fd5b809150509250929050565b5f805f806060858703121561430b575f80fd5b843567ffffffffffffffff811115614321575f80fd5b61432d87828801613faa565b90989097506020870135966040013595509350505050565b5f8060208385031215614356575f80fd5b823567ffffffffffffffff81111561436c575f80fd5b61437885828601613faa565b90969095509350505050565b60a081016143928288614100565b6001600160a01b03861660208301528460408301528360608301528260808301529695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b81835281816020850137505f602082840101525f6020601f19601f840116840101905092915050565b602081525f61370a6020830184866143ea565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff8111828210171561447657614476614426565b60405290565b6040516060810167ffffffffffffffff8111828210171561447657614476614426565b604051610100810167ffffffffffffffff8111828210171561447657614476614426565b604051601f8201601f1916810167ffffffffffffffff811182821017156144ec576144ec614426565b604052919050565b5f67ffffffffffffffff82111561450d5761450d614426565b50601f01601f191660200190565b5f82601f83011261452a575f80fd5b815161453d614538826144f4565b6144c3565b818152846020838601011115614551575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f6020828403121561457d575f80fd5b815167ffffffffffffffff811115614593575f80fd5b61370a8482850161451b565b80516136ec81614037565b5f602082840312156145ba575f80fd5b815167ffffffffffffffff8111156145d0575f80fd5b8201608081850312156145e1575f80fd5b6145e9614453565b8151600381106145f7575f80fd5b8152602082015161460781614037565b6020820152604082015161461a81614037565b6040820152606082015167ffffffffffffffff811115614638575f80fd5b6146448682850161451b565b606083015250949350505050565b5f6020828403128015614663575f80fd5b506040516020810167ffffffffffffffff8111828210171561468757614687614426565b6040529151825250919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082028115828204841417612e7957612e79614694565b5f8261470b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b80820180821115612e7957612e79614694565b5f60208284031215614733575f80fd5b815167ffffffffffffffff811115614749575f80fd5b82016060818503121561475a575f80fd5b61476261447c565b8151815260208083015190820152604082015167ffffffffffffffff811115614789575f80fd5b6147958682850161451b565b604083015250949350505050565b8015158114612e27575f80fd5b5f602082840312156147c0575f80fd5b81516140cc816147a3565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6020815281516020820152602082015160408201525f604083015160608084015261370a60808401826147cb565b60208152614839602082018351614100565b6001600160a01b0360208301511660408201526001600160a01b0360408301511660608201525f606083015160808084015261370a60a08401826147cb565b602081525f6140cc60208301846147cb565b81810381811115612e7957612e79614694565b6001600160a01b0384168152604060208201525f6148bf6040830184866143ea565b95945050505050565b8581528460208201526001600160a01b0384166040820152608060608201525f6148f66080830184866143ea565b979650505050505050565b828152604060208201525f8235614917816147a3565b15156040830152602083013561492c81614037565b6001600160a01b031660608301526040830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261496f575f80fd5b830160208101903567ffffffffffffffff81111561498b575f80fd5b803603821315614999575f80fd5b606060808501526149ae60a0850182846143ea565b9695505050505050565b5f602082840312156149c8575f80fd5b81516140cc81614037565b5f82601f8301126149e2575f80fd5b81356149f0614538826144f4565b818152846020838601011115614a04575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60608236031215614a30575f80fd5b614a3861447c565b8235614a43816147a3565b81526020830135614a5381614037565b6020820152604083013567ffffffffffffffff811115614a71575f80fd5b614a7d368286016149d3565b60408301525092915050565b5f60208284031215614a99575f80fd5b813567ffffffffffffffff811115614aaf575f80fd5b820160408185031215614ac0575f80fd5b6040805190810167ffffffffffffffff81118282101715614ae357614ae3614426565b6040528135614af181614037565b8152602082013567ffffffffffffffff811115614b0c575f80fd5b614b18868285016149d3565b602083015250949350505050565b5f60208284031215614b36575f80fd5b5051919050565b602081526001600160a01b0382511660208201525f602083015160408084015261370a60608401826147cb565b5f8060408385031215614b7b575f80fd5b825160208401519092506142ed81614037565b5f60608284031215614b9e575f80fd5b614ba661447c565b90508151614bb3816147a3565b81526020820151614bc381614037565b6020820152604082015167ffffffffffffffff811115614be1575f80fd5b614a7d8482850161451b565b5f82601f830112614bfc575f80fd5b815167ffffffffffffffff811115614c1657614c16614426565b8060051b614c26602082016144c3565b91825260208185018101929081019086841115614c41575f80fd5b6020860192505b838310156149ae57825167ffffffffffffffff811115614c66575f80fd5b614c75886020838a0101614b8e565b83525060209283019290910190614c48565b80516136ec81614182565b5f60208284031215614ca2575f80fd5b815167ffffffffffffffff811115614cb8575f80fd5b82016101008185031215614cca575f80fd5b614cd261449f565b614cdb8261459f565b8152602082015167ffffffffffffffff811115614cf6575f80fd5b614d0286828501614b8e565b602083015250604082015167ffffffffffffffff811115614d21575f80fd5b614d2d86828501614b8e565b604083015250606082015167ffffffffffffffff811115614d4c575f80fd5b614d5886828501614b8e565b606083015250608082015167ffffffffffffffff811115614d77575f80fd5b614d8386828501614bed565b608083015250614d9560a08301614c87565b60a082015260c08281015190820152614db060e0830161459f565b60e0820152949350505050565b67ffffffffffffffff8181168382160190811115612e7957612e79614694565b5f60208284031215614ded575f80fd5b81516140cc81614182565b5f8060408385031215614e09575f80fd5b8251602084015190925067ffffffffffffffff811115614e27575f80fd5b614e338582860161451b565b915050925092905056fea26469706673582212201ae4465621fddb41ff261280bf98c27ad722212d6adbce644afd906f4677503164736f6c634300081a0033";
|
|
31
|
-
function N(d) {
|
|
32
|
-
|
|
1
|
+
import { h as y, cA as K, cB as Q, c as O, cC as X, cD as Y, cE as Z, cF as f0, cG as e0, cH as t0, cI as a0, cJ as b0, cK as c0, cL as d0, cM as n0, cN as s0, cO as i0, cP as o0, cQ as r0, cR as u0, cS as h0, cT as l0, cU as g0, cV as w0, cW as v0, cX as m0, cY as C0 } from "./generated-BJfQ-EBO.js";
|
|
2
|
+
import { waitForTransactionReceipt as D, getAccount as A0, getChains as y0, getTransactionReceipt as I0 } from "@wagmi/core";
|
|
3
|
+
import { createClient as B0, custom as P0, zeroAddress as C, parseEventLogs as _, zeroHash as w, keccak256 as p0, encodePacked as F0 } from "viem";
|
|
4
|
+
import { i as _0 } from "./deployments-De8_J7SS.js";
|
|
5
|
+
import { actionFromAddress as E0 } from "./Actions/Action.js";
|
|
6
|
+
import { EventAction as R0 } from "./Actions/EventAction.js";
|
|
7
|
+
import { allowListFromAddress as V0, OpenAllowList as D0 } from "./AllowLists/AllowList.js";
|
|
8
|
+
import { SimpleAllowList as L0 } from "./AllowLists/SimpleAllowList.js";
|
|
9
|
+
import { S as N0 } from "./SimpleDenyList-C1C_BHkY.js";
|
|
10
|
+
import { PassthroughAuth as T0 } from "./Auth/PassthroughAuth.js";
|
|
11
|
+
import { prepareBoostPayload as P, Boost as E } from "./Boost.js";
|
|
12
|
+
import { T as $, b as S0, M as M0, a as O0 } from "./Budget-Bvi5Qjqp.js";
|
|
13
|
+
import { prepareTransfer as R, ManagedBudget as $0 } from "./Budgets/ManagedBudget.js";
|
|
14
|
+
import { Deployable as x0 } from "./Deployable/Deployable.js";
|
|
15
|
+
import { Roles as L } from "./Deployable/DeployableTargetWithRBAC.js";
|
|
16
|
+
import { AllowListIncentive as W0 } from "./Incentives/AllowListIncentive.js";
|
|
17
|
+
import { CGDAIncentive as z0 } from "./Incentives/CGDAIncentive.js";
|
|
18
|
+
import { ERC20Incentive as j0 } from "./Incentives/ERC20Incentive.js";
|
|
19
|
+
import { i as q0, E as G0 } from "./Incentive-CLKutfnD.js";
|
|
20
|
+
import { ERC20PeggedVariableCriteriaIncentiveV2 as k0 } from "./Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js";
|
|
21
|
+
import { ERC20VariableCriteriaIncentiveV2 as H0 } from "./Incentives/ERC20VariableCriteriaIncentiveV2.js";
|
|
22
|
+
import { PointsIncentive as U0 } from "./Incentives/PointsIncentive.js";
|
|
23
|
+
import { LimitedSignerValidator as J0 } from "./Validators/LimitedSignerValidator.js";
|
|
24
|
+
import { SignerValidator as K0 } from "./Validators/SignerValidator.js";
|
|
25
|
+
import { validatorFromAddress as Q0, BoostValidatorEOA as x } from "./Validators/Validator.js";
|
|
26
|
+
import { BoostCoreNoIdentifierEmitted as N, DeployableUnknownOwnerProvidedError as X0, InvalidProtocolChainIdError as Y0, BudgetMustAuthorizeBoostCore as Z0, MustInitializeBudgetError as f1, IncentiveNotCloneableError as e1, BoostNotFoundError as t1 } from "./errors.js";
|
|
27
|
+
import { assertValidAddressByChainId as h } from "./utils.js";
|
|
28
|
+
import { simulateContract as a1, writeContract as b1 } from "viem/actions";
|
|
29
|
+
import { parseAccount as c1, getAddress as d1 } from "viem/utils";
|
|
30
|
+
import { ERC20VariableIncentive as n1 } from "./Incentives/ERC20VariableIncentive.js";
|
|
31
|
+
const s1 = "0x608060405260048054607d60a31b600160a01b600160e01b0319909116179055600580546001600160401b0319166103e817905534801561003e575f80fd5b50604051614fbc380380614fbc83398101604081905261005d916100e8565b61006681610098565b50600180546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055610132565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a35b50565b6001600160a01b03811681146100d1575f80fd5b5f805f606084860312156100fa575f80fd5b8351610105816100d4565b6020850151909350610116816100d4565b6040850151909250610127816100d4565b809150509250925092565b614e7d8061013f5f395ff3fe6080604052600436106101d0575f3560e01c80637b103999116100fd578063dd7dc9a911610092578063f04e283e11610062578063f04e283e14610551578063f2fde38b14610564578063fee81cf414610577578063fefceca9146105a8575f80fd5b8063dd7dc9a9146104b7578063dd98558c146104d7578063e21ff73114610513578063eccc19a614610532575f80fd5b8063b0e21e8a116100cd578063b0e21e8a14610413578063caa1647b14610464578063d5137b5214610483578063d73792a9146104a2575f80fd5b80637b1039991461038f5780638da5cb5b146103ae5780638fe4f523146103e1578063a92647dc146103f4575f80fd5b806343bc42d3116101735780635edb9eb0116101435780635edb9eb0146103385780635f32c23e14610355578063715018a614610374578063730f9c571461037c575f80fd5b806343bc42d3146102d357806346877b1a146102f25780635045b8661461031157806354d1f13d14610330575f80fd5b8063219f71f0116101ae578063219f71f0146102495780632569296214610268578063346339d51461027057806339a51be51461029c575f80fd5b806313c8e2de146101d457806316614282146102095780631fa2acdc1461022a575b5f80fd5b3480156101df575f80fd5b506101f36101ee366004613e9a565b61060b565b6040516102009190613ef4565b60405180910390f35b348015610214575f80fd5b50610228610223366004613ff2565b610740565b005b348015610235575f80fd5b50610228610244366004614055565b610eb3565b348015610254575f80fd5b506102286102633660046140bb565b611628565b61022861166a565b34801561027b575f80fd5b5061028f61028a366004613e9a565b6116b7565b6040516102009190614143565b3480156102a7575f80fd5b506003546102bb906001600160a01b031681565b6040516001600160a01b039091168152602001610200565b3480156102de575f80fd5b506102286102ed3660046141a1565b61176c565b3480156102fd575f80fd5b5061022861030c3660046140bb565b6117c7565b34801561031c575f80fd5b506004546102bb906001600160a01b031681565b610228611809565b348015610343575f80fd5b505f545b604051908152602001610200565b348015610360575f80fd5b5061022861036f3660046141bc565b611842565b6102286119db565b61022861038a3660046141dc565b6119ee565b34801561039a575f80fd5b506001546102bb906001600160a01b031681565b3480156103b9575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102bb565b6102286103ef366004614253565b611e55565b3480156103ff575f80fd5b506002546102bb906001600160a01b031681565b34801561041e575f80fd5b5060045461044b9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610200565b34801561046f575f80fd5b5061022861047e3660046141a1565b611e6a565b34801561048e575f80fd5b506102bb61049d3660046142b8565b611ef2565b3480156104ad575f80fd5b5061044b61271081565b3480156104c2575f80fd5b5060055461044b9067ffffffffffffffff1681565b3480156104e2575f80fd5b506104f66104f1366004614302565b61211e565b604080519283526001600160a01b03909116602083015201610200565b34801561051e575f80fd5b506101f361052d36600461434f565b61257a565b34801561053d575f80fd5b5061022861054c3660046140bb565b612dab565b61022861055f3660046140bb565b612ded565b6102286105723660046140bb565b612e2a565b348015610582575f80fd5b506103476105913660046140bb565b63389a75e1600c9081525f91909152602090205490565b3480156105b3575f80fd5b506105fa6105c2366004613e9a565b60066020525f9081526040902080546001820154600283015460039093015460ff8316936101009093046001600160a01b0316929085565b60405161020095949392919061438e565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e08101919091525f828154811061065c5761065c6143c7565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b039081168452600182015481168486015260028201548116848401526003820154166060840152600481018054835181870281018701909452808452939491936080860193928301828280156106ff57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116106e1575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b031660609091015292915050565b3068929eee149b4bd21268540361075e5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061077d5761077d6143c7565b905f5260205f20906008020190505f8160040185815481106107a1576107a16143c7565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a2906107f6908890889060040161441d565b5f60405180830381865afa158015610810573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526108379190810190614577565b905080515f03610873576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8180602001905181019061088891906145b4565b90505f8080806001855160028111156108a3576108a36140dd565b14806108c057505f855160028111156108be576108be6140dd565b145b15610924575f85606001518060200190518101906108de919061465c565b805160058b0154909650909150612710906109039067ffffffffffffffff16876146cb565b61090d91906146e2565b9350610919848661471a565b9081905291506109da565b600285516002811115610939576109396140dd565b036109a8575f8560600151806020019051810190610957919061472d565b602081015160058b01549096509091506127109061097f9067ffffffffffffffff16876146cb565b61098991906146e2565b9350610995848661471a565b60208201819052905190925090506109da565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6109e58d8d612e50565b5f8181526006602052604081206001810180549394509092879290610a0b90849061471a565b909155505085159150610e99905057600185516002811115610a2f57610a2f6140dd565b1480610a4c57505f85516002811115610a4a57610a4a6140dd565b145b15610c6b5760208501516040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490526001600160a01b038216906323b872dd906064016020604051808303815f875af1158015610abf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae391906147ba565b506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820187905282169063095ea7b3906044016020604051808303815f875af1158015610b49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6d91906147ba565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038916906330db555f906024015f604051808303815f87803b158015610bc6575f80fd5b505af1158015610bd8573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015610c40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6491906147ba565b5050610e59565b60208501516040517ff242432a000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526064810184905260a060848201525f60a48201526001600160a01b0382169063f242432a9060c4015f604051808303815f87803b158015610ce8575f80fd5b505af1158015610cfa573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152600160248301528416925063a22cb46591506044015f604051808303815f87803b158015610d5e575f80fd5b505af1158015610d70573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018890526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b158015610dcc575f80fd5b505af1158015610dde573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b158015610e41575f80fd5b505af1158015610e53573d5f803e3d5ffd5b50505050505b604080518581526020810185905233918d918f917f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f31876910160405180910390a45b50505050505050503868929eee149b4bd212685550505050565b3068929eee149b4bd212685403610ed15763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808681548110610ef057610ef06143c7565b905f5260205f20906008020190505f816004018681548110610f1457610f146143c7565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a290610f69908990899060040161441d565b5f60405180830381865afa158015610f83573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610faa9190810190614577565b905080515f03610fe6576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81806020019051810190610ffb91906145b4565b90505f6001600160a01b038616156110135785611022565b60038501546001600160a01b03165b905061102d81612e7f565b5f8080600185516002811115611045576110456140dd565b148061106257505f85516002811115611060576110606140dd565b145b156110e9575f8560600151806020019051810190611080919061465c565b805160058b0154909550909150612710906110a59067ffffffffffffffff16866146cb565b6110af91906146e2565b92506110bb838561471a565b8082526040805160208101839052919350015b60408051601f19818403018152919052606087015250611174565b6002855160028111156110fe576110fe6140dd565b036109a8575f856060015180602001905181019061111c919061472d565b602081015160058b0154909550909150612710906111449067ffffffffffffffff16866146cb565b61114e91906146e2565b925061115a838561471a565b60208083018290526040519193506110ce91839101614803565b30604080870191909152515f9061118f908790602001614831565b60408051601f19818403018152908290527ffa4ca9b100000000000000000000000000000000000000000000000000000000825291506001600160a01b0386169063fa4ca9b1906111e4908490600401614882565b6020604051808303815f875af1158015611200573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122491906147ba565b61125a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6112658f8f612e50565b5f818152600660205260408120600181018054939450909287929061128b90849061471a565b90915550508515925061160d915050576001855160028111156112b0576112b06140dd565b14806112cd57505f855160028111156112cb576112cb6140dd565b145b1561145e5760208501516040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820186905282169063095ea7b3906044016020604051808303815f875af115801561133c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136091906147ba565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b038916906330db555f906024015f604051808303815f87803b1580156113b9575f80fd5b505af11580156113cb573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015611433573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145791906147ba565b50506115be565b60208501516040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526001602483015282169063a22cb465906044015f604051808303815f87803b1580156114c3575f80fd5b505af11580156114d5573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018790526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b158015611531575f80fd5b505af1158015611543573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b1580156115a6575f80fd5b505af11580156115b8573d5f803e3d5ffd5b50505050505b336001600160a01b03168c8e7f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f318768686604051611604929190918252602082015260400190565b60405180910390a45b50505050505050503868929eee149b4bd21268555050505050565b611630612f5e565b600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6116ee6040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b5f8281526006602052604090819020815160a081019092528054829060ff16600281111561171e5761171e6140dd565b600281111561172f5761172f6140dd565b8152815461010090046001600160a01b03166020820152600182015460408201526002820154606082015260039091015460809091015292915050565b611774612f5e565b6004805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6117cf612f5e565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b3068929eee149b4bd2126854036118605763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6118778383612e50565b5f81815260066020526040812081549293509181908690811061189c5761189c6143c7565b905f5260205f20906008020160040184815481106118bc576118bc6143c7565b5f918252602082200154600284015460018501546001600160a01b039092169350906118eb90612710906146cb565b6118f591906146e2565b90505f6119028484612f93565b9050818111156119c6575f6119178383614894565b90505f61271067ffffffffffffffff1686600201548361193791906146cb565b61194191906146e2565b905061194d86826130e1565b808660010154106119765780866001015f82825461196b9190614894565b9091555061197d9050565b5f60018701555b6003546040518281526001600160a01b039091169089908b907f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b179060200160405180910390a450505b50505050503868929eee149b4bd21268555050565b6119e3612f5e565b6119ec5f61321d565b565b3068929eee149b4bd212685403611a0c5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110611a2b57611a2b6143c7565b905f5260205f20906008020190505f611a448888612e50565b5f81815260066020526040812060048501805493945090928a908110611a6c57611a6c6143c7565b5f9182526020909120015460028501546040517fe3f756de0000000000000000000000000000000000000000000000000000000081526001600160a01b03928316935091169063e3f756de90611aca9088908b908b906004016148a7565b602060405180830381865afa158015611ae5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b0991906147ba565b611b3f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018401546040517f703b69000000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063703b6900903490611b94908e908e908b908e908e906004016148d2565b60206040518083038185885af1158015611bb0573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611bd591906147ba565b611c0b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81545f9061010090046001600160a01b0316611c27575f611c31565b611c318383612f93565b6040517fbb1757cf0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0383169063bb1757cf90611c7d9089908c908c906004016148a7565b6020604051808303815f875af1158015611c99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbd91906147ba565b611d02578588886040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401611cf9939291906148a7565b60405180910390fd5b82545f9061010090046001600160a01b0316611d1e575f611d28565b611d288484612f93565b90505f818311611d38575f611d42565b611d428284614894565b90505f61271067ffffffffffffffff16866002015483611d6291906146cb565b611d6c91906146e2565b90508015611df257611d7e86826130e1565b80866001015f828254611d919190614894565b9250508190555060035f9054906101000a90046001600160a01b03166001600160a01b03168d8f7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051611de991815260200190565b60405180910390a45b886001600160a01b03168d8f7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478f8f8f604051611e31939291906148a7565b60405180910390a450505050505050503868929eee149b4bd2126855505050505050565b611e638585858585336119ee565b5050505050565b611e72612f5e565b61271067ffffffffffffffff821610611eb7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff92909216919091179055565b5f3068929eee149b4bd212685403611f115763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808481548110611f3057611f306143c7565b5f918252602090912060089091020160078101549091506001600160a01b03163314611f88576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003810154611f9f906001600160a01b0316612e7f565b6004808201805491549091905f906001600160a01b0316611fc0575f612052565b6004546040516001600160a01b039091169063c7f1ecff90611fe8908a908a9060200161490b565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016120139190614882565b602060405180830381865afa15801561202e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205291906149c2565b905061208861206087614a2a565b600386015460058701546001600160a01b039091169067ffffffffffffffff16848b87613275565b83546001810185555f858152602080822090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03851690811790915560405191825292975084918a917f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae910160405180910390a4505050503868929eee149b4bd212685592915050565b5f803068929eee149b4bd21268540361213e5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061215d5761215d6143c7565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b0390811684526001820154811684860152600282015481168484015260038201541660608401526004810180548351818702810187019094528084529394919360808601939283018282801561220057602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116121e2575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b039081166060928301529082015191925016331461227d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6122888686612e50565b5f8181526006602052604081209192506122a4898b018b614a93565b90505f81602001518060200190518101906122bf9190614b30565b90505f61271067ffffffffffffffff168460020154836122df91906146cb565b6122e991906146e2565b90508015612457576001845460ff166002811115612309576123096140dd565b148061232957505f845460ff166002811115612327576123276140dd565b145b15612351578251845461234c916101009091046001600160a01b03169083613615565b61240e565b6002845460ff166002811115612369576123696140dd565b0361240e578354835160038601546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b1580156123f7575f80fd5b505af1158015612409573d5f803e3d5ffd5b505050505b825f01516001600160a01b0316898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b178460405161244e91815260200190565b60405180910390a45b5f8087608001518b8151811061246f5761246f6143c7565b60200260200101516001600160a01b031663474f5a44866040516020016124969190614b47565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016124c19190614882565b60408051808303815f875af11580156124dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125009190614b74565b91509150815f0361254357338e8e6040517f9ecd71a9000000000000000000000000000000000000000000000000000000008152600401611cf9939291906148a7565b82866001015f8282546125569190614894565b90915550503868929eee149b4bd2126855909d909c509a5050505050505050505050565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e081019190915260025433906001600160a01b03161580159061265757506002546040517ffe9fbb800000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063fe9fbb8090602401602060405180830381865afa158015612631573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061265591906147ba565b155b1561268e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd2126854036126ac5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6126f785858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061366892505050565b80602001905181019061270a9190614c9c565b9050612718815f0151612e7f565b5f805460018101825590805260e082015160089091027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56a810180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b039485161790915583517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566830180549092169084161790556004547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563909101911661281c5760a0820151600454612817919074010000000000000000000000000000000000000000900467ffffffffffffffff16614dc7565b6128b4565b60a0820151600480546040517fb1539a6b0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163b1539a6b9161286b918b918b910161441d565b602060405180830381865afa158015612886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128aa9190614de7565b6128b49190614dc7565b6005820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905560c08201516006820155602082015161292b907fe6715795000000000000000000000000000000000000000000000000000000009060016136fb565b81547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03919091161781556060820151612990907fe2089f79000000000000000000000000000000000000000000000000000000009060016136fb565b6002820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039283161790556004545f91166129d6575f612a5f565b600480546040517fc7f1ecff0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163c7f1ecff91612a20918b918b910161441d565b602060405180830381865afa158015612a3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5f91906149c2565b608084015184516005850154929350612a829267ffffffffffffffff168461371c565b8051612a98916004850191602090910190613e0b565b506040830151602001516001600160a01b031615612ae557612ae07f5912b89c00000000000000000000000000000000000000000000000000000000846040015160016136fb565b612b9d565b81546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201526001600160a01b03909116906301ffc9a790602401602060405180830381865afa158015612b63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b8791906147ba565b612b91575f612b9d565b81546001600160a01b03165b6001830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03929092169182179055612c34576040517fe1c444480000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201525f6024820152604401611cf9565b815460078301545f546001600160a01b039283169290911690612c5990600190614894565b6004850154600186015460028701546003880154604080519485526001600160a01b03938416602086015291831684830152919091166060830152517f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd9181900360800190a4604080516101008101825283546001600160a01b03908116825260018501548116602080840191909152600286015482168385015260038601549091166060830152600485018054845181840281018401909552808552929386936080860193919291830182828015612d5957602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311612d3b575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b03166060909101523868929eee149b4bd2126855979650505050505050565b612db3612f5e565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b612df5612f5e565b63389a75e1600c52805f526020600c208054421115612e1b57636f5e88185f526004601cfd5b5f9055612e278161321d565b50565b612e32612f5e565b8060601b612e4757637448fbae5f526004601cfd5b612e278161321d565b604080516020808201859052818301849052825180830384018152606090920190925280519101205b92915050565b612ea97fe49cedd7000000000000000000000000000000000000000000000000000000008261384e565b6040517ffe9fbb800000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382169063fe9fbb8090602401602060405180830381865afa158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f2891906147ba565b612e27576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146119ec576382b429005f526004601cfd5b5f6001835460ff166002811115612fac57612fac6140dd565b1480612fcc57505f835460ff166002811115612fca57612fca6140dd565b145b156130635782546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152610100909204909116906370a08231906024015b602060405180830381865afa158015613038573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061305c9190614b30565b9050612e79565b6002835460ff16600281111561307b5761307b6140dd565b036130d957825460038401546040517efdd58e0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526024820192909252610100909204169062fdd58e9060440161301d565b505f92915050565b6001825460ff1660028111156130f9576130f96140dd565b148061311957505f825460ff166002811115613117576131176140dd565b145b1561315c57600354825461313f916001600160a01b036101009092048216911683613615565b81546131589061010090046001600160a01b031661396c565b5050565b6002825460ff166002811115613174576131746140dd565b0361315857815460038054908401546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b158015613203575f80fd5b505af1158015613215573d5f803e3d5ffd5b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f80876040015190506132ac7fa921670500000000000000000000000000000000000000000000000000000000896020015161384e565b875161331b5760208801516040517fe1c444480000000000000000000000000000000000000000000000000000000081527fa92167050000000000000000000000000000000000000000000000000000000060048201526001600160a01b039091166024820152604401611cf9565b6133467fa921670500000000000000000000000000000000000000000000000000000000895f6136fb565b91505f826001600160a01b0316634e7165a2836040518263ffffffff1660e01b81526004016133759190614882565b5f60405180830381865afa15801561338f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133b69190810190614577565b905080515f14613597575f806133cc838a613a28565b6040517ffa4ca9b100000000000000000000000000000000000000000000000000000000815291935091506001600160a01b038b169063fa4ca9b190613416908590600401614882565b6020604051808303815f875af1158015613432573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061345691906147ba565b61348c576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffa4ca9b10000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063fa4ca9b1906134d1908690600401614882565b6020604051808303815f875af11580156134ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061351191906147ba565b613547576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8380602001905181019061355c91906145b4565b905061359388886001600160a01b038c1661357b57836020015161357d565b8b5b858e67ffffffffffffffff16865f01518b613bc1565b5050505b6040517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0384169063439fab91906135dc908590600401614882565b5f604051808303815f87803b1580156135f3575f80fd5b505af1158015613605573d5f803e3d5ffd5b5050505050509695505050505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661365e57803d853b15171061365e576390b8ec185f526004601cfd5b505f603452505050565b60608151156136f65760405190506020810160048301805184518501811983525b808610156136e0576001860195508551601f1a806136d1576001870196508651601f1a5f198652607f81116136c057600181013687375b607f16949094016001019350613689565b80855350600184019350613689565b509052601f198282030182525f81526020016040525b919050565b5f61370a84846020015161384e565b6137148383613cfd565b949350505050565b5f80546060919061372f90600190614894565b9050855167ffffffffffffffff81111561374b5761374b614430565b604051908082528060200260200182016040528015613774578160200160208202803683370190505b5091505f5b8651811015613844576137a9878281518110613797576137976143c7565b60200260200101518787878686613275565b8382815181106137bb576137bb6143c7565b60200260200101906001600160a01b031690816001600160a01b0316815250508281815181106137ed576137ed6143c7565b60200260200101516001600160a01b031681837f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae6001604051613834911515815260200190565b60405180910390a4600101613779565b5050949350505050565b6001600160a01b038116158061390257506040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa1580156138dc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061390091906147ba565b155b15613158576040517fe1c444480000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b0382166024820152604401611cf9565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156139c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139ed9190614b30565b90505f81118015613a09575060055467ffffffffffffffff1681105b1561315857600354613158906001600160a01b03848116911683613615565b60605f8084806020019051810190613a4091906145b4565b905083600182516002811115613a5857613a586140dd565b1480613a7557505f82516002811115613a7357613a736140dd565b145b15613b23575f8260600151806020019051810190613a93919061465c565b80519091505f9061271090613ab39067ffffffffffffffff8616906146cb565b613abd91906146e2565b6040805160208082018352838252825190810184905292935091015b60408051601f198184030181529181526060870191909152308682015251613b05908690602001614831565b60405160208183030381529060405282965096505050505050613bba565b600282516002811115613b3857613b386140dd565b036109a8575f8260600151806020019051810190613b56919061472d565b90505f61271067ffffffffffffffff168367ffffffffffffffff168360200151613b8091906146cb565b613b8a91906146e2565b604080516060810182528451815260208082018490528583015182840152915192935091613ad991839101614803565b9250929050565b5f6002836002811115613bd657613bd66140dd565b03613bf35781806020019051810190613bef9190614e02565b5090505b5f6040518060a00160405280856002811115613c1157613c116140dd565b8152602001886001600160a01b031681526020018781526020018681526020018381525090508060065f613c458c8c612e50565b815260208101919091526040015f208151815482907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115613c9057613c906140dd565b0217905550602082015181546001600160a01b03909116610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9091161781556040820151600182015560608201516002820155608090910151600390910155505050505050505050565b81515f90613d0f578260200151613d25565b613d2583602001516001600160a01b0316613db4565b83519091508015613d335750815b15612e795760408084015190517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0383169163439fab9191613d819190600401614882565b5f604051808303815f87803b158015613d98575f80fd5b505af1158015613daa573d5f803e3d5ffd5b5050505092915050565b5f612e795f835f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f0905080613e015763301164255f526004601cfd5b5f60215292915050565b828054828255905f5260205f20908101928215613e76579160200282015b82811115613e7657825182547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909116178255602090920191600190910190613e29565b50613e82929150613e86565b5090565b5b80821115613e82575f8155600101613e87565b5f60208284031215613eaa575f80fd5b5035919050565b5f8151808452602084019350602083015f5b82811015613eea5781516001600160a01b0316865260209586019590910190600101613ec3565b5093949350505050565b602081526001600160a01b0382511660208201525f6020830151613f2360408401826001600160a01b03169052565b5060408301516001600160a01b03811660608401525060608301516001600160a01b038116608084015250608083015161010060a0840152613f69610120840182613eb1565b905060a0840151613f8660c085018267ffffffffffffffff169052565b5060c084015160e084015260e0840151613fac6101008501826001600160a01b03169052565b509392505050565b5f8083601f840112613fc4575f80fd5b50813567ffffffffffffffff811115613fdb575f80fd5b602083019150836020828501011115613bba575f80fd5b5f805f8060608587031215614005575f80fd5b8435935060208501359250604085013567ffffffffffffffff811115614029575f80fd5b61403587828801613fb4565b95989497509550505050565b6001600160a01b0381168114612e27575f80fd5b5f805f805f60808688031215614069575f80fd5b8535945060208601359350604086013567ffffffffffffffff81111561408d575f80fd5b61409988828901613fb4565b90945092505060608601356140ad81614041565b809150509295509295909350565b5f602082840312156140cb575f80fd5b81356140d681614041565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6003811061413f577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b5f60a08201905061415582845161410a565b6001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015292915050565b67ffffffffffffffff81168114612e27575f80fd5b5f602082840312156141b1575f80fd5b81356140d68161418c565b5f80604083850312156141cd575f80fd5b50508035926020909101359150565b5f805f805f8060a087890312156141f1575f80fd5b8635955060208701359450604087013561420a81614041565b9350606087013567ffffffffffffffff811115614225575f80fd5b61423189828a01613fb4565b909450925050608087013561424581614041565b809150509295509295509295565b5f805f805f60808688031215614267575f80fd5b8535945060208601359350604086013561428081614041565b9250606086013567ffffffffffffffff81111561429b575f80fd5b6142a788828901613fb4565b969995985093965092949392505050565b5f80604083850312156142c9575f80fd5b82359150602083013567ffffffffffffffff8111156142e6575f80fd5b8301606081860312156142f7575f80fd5b809150509250929050565b5f805f8060608587031215614315575f80fd5b843567ffffffffffffffff81111561432b575f80fd5b61433787828801613fb4565b90989097506020870135966040013595509350505050565b5f8060208385031215614360575f80fd5b823567ffffffffffffffff811115614376575f80fd5b61438285828601613fb4565b90969095509350505050565b60a0810161439c828861410a565b6001600160a01b03861660208301528460408301528360608301528260808301529695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b81835281816020850137505f602082840101525f6020601f19601f840116840101905092915050565b602081525f6137146020830184866143f4565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff8111828210171561448057614480614430565b60405290565b6040516060810167ffffffffffffffff8111828210171561448057614480614430565b604051610100810167ffffffffffffffff8111828210171561448057614480614430565b604051601f8201601f1916810167ffffffffffffffff811182821017156144f6576144f6614430565b604052919050565b5f67ffffffffffffffff82111561451757614517614430565b50601f01601f191660200190565b5f82601f830112614534575f80fd5b8151614547614542826144fe565b6144cd565b81815284602083860101111561455b575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215614587575f80fd5b815167ffffffffffffffff81111561459d575f80fd5b61371484828501614525565b80516136f681614041565b5f602082840312156145c4575f80fd5b815167ffffffffffffffff8111156145da575f80fd5b8201608081850312156145eb575f80fd5b6145f361445d565b815160038110614601575f80fd5b8152602082015161461181614041565b6020820152604082015161462481614041565b6040820152606082015167ffffffffffffffff811115614642575f80fd5b61464e86828501614525565b606083015250949350505050565b5f602082840312801561466d575f80fd5b506040516020810167ffffffffffffffff8111828210171561469157614691614430565b6040529151825250919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082028115828204841417612e7957612e7961469e565b5f82614715577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b80820180821115612e7957612e7961469e565b5f6020828403121561473d575f80fd5b815167ffffffffffffffff811115614753575f80fd5b820160608185031215614764575f80fd5b61476c614486565b8151815260208083015190820152604082015167ffffffffffffffff811115614793575f80fd5b61479f86828501614525565b604083015250949350505050565b8015158114612e27575f80fd5b5f602082840312156147ca575f80fd5b81516140d6816147ad565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6020815281516020820152602082015160408201525f604083015160608084015261371460808401826147d5565b6020815261484360208201835161410a565b6001600160a01b0360208301511660408201526001600160a01b0360408301511660608201525f606083015160808084015261371460a08401826147d5565b602081525f6140d660208301846147d5565b81810381811115612e7957612e7961469e565b6001600160a01b0384168152604060208201525f6148c96040830184866143f4565b95945050505050565b8581528460208201526001600160a01b0384166040820152608060608201525f6149006080830184866143f4565b979650505050505050565b828152604060208201525f8235614921816147ad565b15156040830152602083013561493681614041565b6001600160a01b031660608301526040830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614979575f80fd5b830160208101903567ffffffffffffffff811115614995575f80fd5b8036038213156149a3575f80fd5b606060808501526149b860a0850182846143f4565b9695505050505050565b5f602082840312156149d2575f80fd5b81516140d681614041565b5f82601f8301126149ec575f80fd5b81356149fa614542826144fe565b818152846020838601011115614a0e575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60608236031215614a3a575f80fd5b614a42614486565b8235614a4d816147ad565b81526020830135614a5d81614041565b6020820152604083013567ffffffffffffffff811115614a7b575f80fd5b614a87368286016149dd565b60408301525092915050565b5f60208284031215614aa3575f80fd5b813567ffffffffffffffff811115614ab9575f80fd5b820160408185031215614aca575f80fd5b6040805190810167ffffffffffffffff81118282101715614aed57614aed614430565b6040528135614afb81614041565b8152602082013567ffffffffffffffff811115614b16575f80fd5b614b22868285016149dd565b602083015250949350505050565b5f60208284031215614b40575f80fd5b5051919050565b602081526001600160a01b0382511660208201525f602083015160408084015261371460608401826147d5565b5f8060408385031215614b85575f80fd5b825160208401519092506142f781614041565b5f60608284031215614ba8575f80fd5b614bb0614486565b90508151614bbd816147ad565b81526020820151614bcd81614041565b6020820152604082015167ffffffffffffffff811115614beb575f80fd5b614a8784828501614525565b5f82601f830112614c06575f80fd5b815167ffffffffffffffff811115614c2057614c20614430565b8060051b614c30602082016144cd565b91825260208185018101929081019086841115614c4b575f80fd5b6020860192505b838310156149b857825167ffffffffffffffff811115614c70575f80fd5b614c7f886020838a0101614b98565b83525060209283019290910190614c52565b80516136f68161418c565b5f60208284031215614cac575f80fd5b815167ffffffffffffffff811115614cc2575f80fd5b82016101008185031215614cd4575f80fd5b614cdc6144a9565b614ce5826145a9565b8152602082015167ffffffffffffffff811115614d00575f80fd5b614d0c86828501614b98565b602083015250604082015167ffffffffffffffff811115614d2b575f80fd5b614d3786828501614b98565b604083015250606082015167ffffffffffffffff811115614d56575f80fd5b614d6286828501614b98565b606083015250608082015167ffffffffffffffff811115614d81575f80fd5b614d8d86828501614bf7565b608083015250614d9f60a08301614c91565b60a082015260c08281015190820152614dba60e083016145a9565b60e0820152949350505050565b67ffffffffffffffff8181168382160190811115612e7957612e7961469e565b5f60208284031215614df7575f80fd5b81516140d68161418c565b5f8060408385031215614e13575f80fd5b8251602084015190925067ffffffffffffffff811115614e31575f80fd5b614e3d85828601614525565b915050925092905056fea26469706673582212208286ae56352689fb64c76c3bbaaa898df87482cd394c79c101f009e07f87c00c64736f6c634300081a0033";
|
|
32
|
+
function j(n) {
|
|
33
|
+
const f = n.state.current, e = n.state.connections.get(f), t = e == null ? void 0 : e.accounts, a = t == null ? void 0 : t[0], b = n.chains.find((d) => d.id === (e == null ? void 0 : e.chainId)), c = n.state.status;
|
|
33
34
|
switch (c) {
|
|
34
35
|
case "connected":
|
|
35
36
|
return {
|
|
36
37
|
address: a,
|
|
37
|
-
addresses:
|
|
38
|
-
chain:
|
|
39
|
-
chainId:
|
|
40
|
-
connector:
|
|
38
|
+
addresses: t,
|
|
39
|
+
chain: b,
|
|
40
|
+
chainId: e == null ? void 0 : e.chainId,
|
|
41
|
+
connector: e == null ? void 0 : e.connector,
|
|
41
42
|
isConnected: !0,
|
|
42
43
|
isConnecting: !1,
|
|
43
44
|
isDisconnected: !1,
|
|
@@ -47,10 +48,10 @@ function N(d) {
|
|
|
47
48
|
case "reconnecting":
|
|
48
49
|
return {
|
|
49
50
|
address: a,
|
|
50
|
-
addresses:
|
|
51
|
-
chain:
|
|
52
|
-
chainId:
|
|
53
|
-
connector:
|
|
51
|
+
addresses: t,
|
|
52
|
+
chain: b,
|
|
53
|
+
chainId: e == null ? void 0 : e.chainId,
|
|
54
|
+
connector: e == null ? void 0 : e.connector,
|
|
54
55
|
isConnected: !!a,
|
|
55
56
|
isConnecting: !1,
|
|
56
57
|
isDisconnected: !1,
|
|
@@ -60,10 +61,10 @@ function N(d) {
|
|
|
60
61
|
case "connecting":
|
|
61
62
|
return {
|
|
62
63
|
address: a,
|
|
63
|
-
addresses:
|
|
64
|
-
chain:
|
|
65
|
-
chainId:
|
|
66
|
-
connector:
|
|
64
|
+
addresses: t,
|
|
65
|
+
chain: b,
|
|
66
|
+
chainId: e == null ? void 0 : e.chainId,
|
|
67
|
+
connector: e == null ? void 0 : e.connector,
|
|
67
68
|
isConnected: !1,
|
|
68
69
|
isConnecting: !0,
|
|
69
70
|
isDisconnected: !1,
|
|
@@ -85,32 +86,32 @@ function N(d) {
|
|
|
85
86
|
};
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
|
-
function
|
|
89
|
-
return
|
|
89
|
+
function i1(n) {
|
|
90
|
+
return n.state.chainId;
|
|
90
91
|
}
|
|
91
|
-
function
|
|
92
|
-
const
|
|
93
|
-
if (typeof
|
|
94
|
-
return
|
|
95
|
-
const a =
|
|
96
|
-
return typeof a == "function" ? a : (
|
|
92
|
+
function q(n, f, e) {
|
|
93
|
+
const t = n[f.name];
|
|
94
|
+
if (typeof t == "function")
|
|
95
|
+
return t;
|
|
96
|
+
const a = n[e];
|
|
97
|
+
return typeof a == "function" ? a : (b) => f(n, b);
|
|
97
98
|
}
|
|
98
|
-
const
|
|
99
|
-
var
|
|
100
|
-
if (
|
|
101
|
-
if (typeof
|
|
102
|
-
return
|
|
103
|
-
},
|
|
104
|
-
class
|
|
99
|
+
const o1 = "2.13.8", r1 = () => `@wagmi/core@${o1}`;
|
|
100
|
+
var G = function(n, f, e, t) {
|
|
101
|
+
if (e === "a" && !t) throw new TypeError("Private accessor was defined without a getter");
|
|
102
|
+
if (typeof f == "function" ? n !== f || !t : !f.has(n)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
103
|
+
return e === "m" ? t : e === "a" ? t.call(n) : t ? t.value : f.get(n);
|
|
104
|
+
}, V, k;
|
|
105
|
+
class I extends Error {
|
|
105
106
|
get docsBaseUrl() {
|
|
106
107
|
return "https://wagmi.sh/core";
|
|
107
108
|
}
|
|
108
109
|
get version() {
|
|
109
|
-
return
|
|
110
|
+
return r1();
|
|
110
111
|
}
|
|
111
|
-
constructor(
|
|
112
|
-
var
|
|
113
|
-
super(),
|
|
112
|
+
constructor(f, e = {}) {
|
|
113
|
+
var b;
|
|
114
|
+
super(), V.add(this), Object.defineProperty(this, "details", {
|
|
114
115
|
enumerable: !0,
|
|
115
116
|
configurable: !0,
|
|
116
117
|
writable: !0,
|
|
@@ -136,27 +137,27 @@ class v extends Error {
|
|
|
136
137
|
writable: !0,
|
|
137
138
|
value: "WagmiCoreError"
|
|
138
139
|
});
|
|
139
|
-
const
|
|
140
|
+
const t = e.cause instanceof I ? e.cause.details : (b = e.cause) != null && b.message ? e.cause.message : e.details, a = e.cause instanceof I && e.cause.docsPath || e.docsPath;
|
|
140
141
|
this.message = [
|
|
141
|
-
|
|
142
|
+
f || "An error occurred.",
|
|
142
143
|
"",
|
|
143
|
-
...
|
|
144
|
+
...e.metaMessages ? [...e.metaMessages, ""] : [],
|
|
144
145
|
...a ? [
|
|
145
|
-
`Docs: ${this.docsBaseUrl}${a}.html${
|
|
146
|
+
`Docs: ${this.docsBaseUrl}${a}.html${e.docsSlug ? `#${e.docsSlug}` : ""}`
|
|
146
147
|
] : [],
|
|
147
|
-
...
|
|
148
|
+
...t ? [`Details: ${t}`] : [],
|
|
148
149
|
`Version: ${this.version}`
|
|
149
150
|
].join(`
|
|
150
|
-
`),
|
|
151
|
+
`), e.cause && (this.cause = e.cause), this.details = t, this.docsPath = a, this.metaMessages = e.metaMessages, this.shortMessage = f;
|
|
151
152
|
}
|
|
152
|
-
walk(
|
|
153
|
-
return
|
|
153
|
+
walk(f) {
|
|
154
|
+
return G(this, V, "m", k).call(this, this, f);
|
|
154
155
|
}
|
|
155
156
|
}
|
|
156
|
-
|
|
157
|
-
return
|
|
157
|
+
V = /* @__PURE__ */ new WeakSet(), k = function n(f, e) {
|
|
158
|
+
return e != null && e(f) ? f : f.cause ? G(this, V, "m", n).call(this, f.cause, e) : f;
|
|
158
159
|
};
|
|
159
|
-
class
|
|
160
|
+
class u1 extends I {
|
|
160
161
|
constructor() {
|
|
161
162
|
super("Connector not connected."), Object.defineProperty(this, "name", {
|
|
162
163
|
enumerable: !0,
|
|
@@ -166,9 +167,9 @@ class Z0 extends v {
|
|
|
166
167
|
});
|
|
167
168
|
}
|
|
168
169
|
}
|
|
169
|
-
class
|
|
170
|
-
constructor({ address:
|
|
171
|
-
super(`Account "${
|
|
170
|
+
class h1 extends I {
|
|
171
|
+
constructor({ address: f, connector: e }) {
|
|
172
|
+
super(`Account "${f}" not found for connector "${e.name}".`), Object.defineProperty(this, "name", {
|
|
172
173
|
enumerable: !0,
|
|
173
174
|
configurable: !0,
|
|
174
175
|
writable: !0,
|
|
@@ -176,12 +177,12 @@ class f1 extends v {
|
|
|
176
177
|
});
|
|
177
178
|
}
|
|
178
179
|
}
|
|
179
|
-
class
|
|
180
|
-
constructor({ connectionChainId:
|
|
181
|
-
super(`The current chain of the connector (id: ${
|
|
180
|
+
class l1 extends I {
|
|
181
|
+
constructor({ connectionChainId: f, connectorChainId: e }) {
|
|
182
|
+
super(`The current chain of the connector (id: ${e}) does not match the connection's chain (id: ${f}).`, {
|
|
182
183
|
metaMessages: [
|
|
183
|
-
`Current Chain ID: ${
|
|
184
|
-
`Expected Chain ID: ${
|
|
184
|
+
`Current Chain ID: ${e}`,
|
|
185
|
+
`Expected Chain ID: ${f}`
|
|
185
186
|
]
|
|
186
187
|
}), Object.defineProperty(this, "name", {
|
|
187
188
|
enumerable: !0,
|
|
@@ -191,9 +192,9 @@ class e1 extends v {
|
|
|
191
192
|
});
|
|
192
193
|
}
|
|
193
194
|
}
|
|
194
|
-
class
|
|
195
|
-
constructor({ connector:
|
|
196
|
-
super(`Connector "${
|
|
195
|
+
class g1 extends I {
|
|
196
|
+
constructor({ connector: f }) {
|
|
197
|
+
super(`Connector "${f.name}" unavailable while reconnecting.`, {
|
|
197
198
|
details: [
|
|
198
199
|
"During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uuid`.",
|
|
199
200
|
"All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.",
|
|
@@ -207,113 +208,113 @@ class b1 extends v {
|
|
|
207
208
|
});
|
|
208
209
|
}
|
|
209
210
|
}
|
|
210
|
-
async function
|
|
211
|
-
let
|
|
212
|
-
if (
|
|
213
|
-
const { connector: i } =
|
|
214
|
-
if (
|
|
215
|
-
throw new
|
|
216
|
-
const [
|
|
211
|
+
async function H(n, f = {}) {
|
|
212
|
+
let e;
|
|
213
|
+
if (f.connector) {
|
|
214
|
+
const { connector: i } = f;
|
|
215
|
+
if (n.state.status === "reconnecting" && !i.getAccounts && !i.getChainId)
|
|
216
|
+
throw new g1({ connector: i });
|
|
217
|
+
const [l, g] = await Promise.all([
|
|
217
218
|
i.getAccounts(),
|
|
218
219
|
i.getChainId()
|
|
219
220
|
]);
|
|
220
|
-
|
|
221
|
-
accounts:
|
|
221
|
+
e = {
|
|
222
|
+
accounts: l,
|
|
222
223
|
chainId: g,
|
|
223
224
|
connector: i
|
|
224
225
|
};
|
|
225
226
|
} else
|
|
226
|
-
|
|
227
|
-
if (!
|
|
228
|
-
throw new
|
|
229
|
-
const
|
|
230
|
-
if (a !==
|
|
231
|
-
throw new
|
|
232
|
-
connectionChainId:
|
|
227
|
+
e = n.state.connections.get(n.state.current);
|
|
228
|
+
if (!e)
|
|
229
|
+
throw new u1();
|
|
230
|
+
const t = f.chainId ?? e.chainId, a = await e.connector.getChainId();
|
|
231
|
+
if (a !== e.chainId)
|
|
232
|
+
throw new l1({
|
|
233
|
+
connectionChainId: e.chainId,
|
|
233
234
|
connectorChainId: a
|
|
234
235
|
});
|
|
235
|
-
const
|
|
236
|
-
if (
|
|
237
|
-
return
|
|
238
|
-
const c =
|
|
239
|
-
if (c.address =
|
|
240
|
-
throw new
|
|
236
|
+
const b = e.connector;
|
|
237
|
+
if (b.getClient)
|
|
238
|
+
return b.getClient({ chainId: t });
|
|
239
|
+
const c = c1(f.account ?? e.accounts[0]);
|
|
240
|
+
if (c.address = d1(c.address), f.account && !e.accounts.some((i) => i.toLowerCase() === c.address.toLowerCase()))
|
|
241
|
+
throw new h1({
|
|
241
242
|
address: c.address,
|
|
242
|
-
connector:
|
|
243
|
+
connector: b
|
|
243
244
|
});
|
|
244
|
-
const
|
|
245
|
-
return
|
|
245
|
+
const d = n.chains.find((i) => i.id === t), s = await e.connector.getProvider({ chainId: t });
|
|
246
|
+
return B0({
|
|
246
247
|
account: c,
|
|
247
|
-
chain:
|
|
248
|
+
chain: d,
|
|
248
249
|
name: "Connector Client",
|
|
249
|
-
transport: (i) =>
|
|
250
|
+
transport: (i) => P0(s)({ ...i, retryCount: 0 })
|
|
250
251
|
});
|
|
251
252
|
}
|
|
252
|
-
async function
|
|
253
|
-
const { abi:
|
|
253
|
+
async function w1(n, f) {
|
|
254
|
+
const { abi: e, chainId: t, connector: a, ...b } = f;
|
|
254
255
|
let c;
|
|
255
|
-
|
|
256
|
-
chainId:
|
|
256
|
+
f.account ? c = f.account : c = (await H(n, {
|
|
257
|
+
chainId: t,
|
|
257
258
|
connector: a
|
|
258
259
|
})).account;
|
|
259
|
-
const
|
|
260
|
+
const d = n.getClient({ chainId: t }), s = q(d, a1, "simulateContract"), { result: i, request: l } = await s({ ...b, abi: e, account: c });
|
|
260
261
|
return {
|
|
261
|
-
chainId:
|
|
262
|
+
chainId: d.chain.id,
|
|
262
263
|
result: i,
|
|
263
|
-
request: { __mode: "prepared", ...
|
|
264
|
+
request: { __mode: "prepared", ...l, chainId: t }
|
|
264
265
|
};
|
|
265
266
|
}
|
|
266
|
-
async function
|
|
267
|
-
const { account:
|
|
268
|
-
let
|
|
269
|
-
typeof
|
|
270
|
-
const { connector: s } =
|
|
267
|
+
async function W(n, f) {
|
|
268
|
+
const { account: e, chainId: t, connector: a, __mode: b, ...c } = f;
|
|
269
|
+
let d;
|
|
270
|
+
typeof e == "object" && e.type === "local" ? d = n.getClient({ chainId: t }) : d = await H(n, { account: e, chainId: t, connector: a });
|
|
271
|
+
const { connector: s } = j(n);
|
|
271
272
|
let i;
|
|
272
|
-
if (
|
|
273
|
+
if (b === "prepared" || s != null && s.supportsSimulation)
|
|
273
274
|
i = c;
|
|
274
275
|
else {
|
|
275
|
-
const { request: o } = await
|
|
276
|
+
const { request: o } = await w1(n, {
|
|
276
277
|
...c,
|
|
277
|
-
account:
|
|
278
|
-
chainId:
|
|
278
|
+
account: e,
|
|
279
|
+
chainId: t
|
|
279
280
|
});
|
|
280
281
|
i = o;
|
|
281
282
|
}
|
|
282
|
-
return await
|
|
283
|
+
return await q(d, b1, "writeContract")({
|
|
283
284
|
...i,
|
|
284
|
-
...
|
|
285
|
-
chain:
|
|
285
|
+
...e ? { account: e } : {},
|
|
286
|
+
chain: t ? { id: t } : null
|
|
286
287
|
});
|
|
287
288
|
}
|
|
288
|
-
function
|
|
289
|
-
return
|
|
289
|
+
function T(n) {
|
|
290
|
+
return n.address !== void 0 && typeof n.address == "object" ? (f, e) => {
|
|
290
291
|
var c;
|
|
291
|
-
const
|
|
292
|
-
let
|
|
293
|
-
return
|
|
294
|
-
...
|
|
295
|
-
...
|
|
296
|
-
address:
|
|
297
|
-
abi:
|
|
292
|
+
const t = i1(f), a = j(f);
|
|
293
|
+
let b;
|
|
294
|
+
return e.chainId ? b = e.chainId : e.account && e.account === a.address || e.account === void 0 ? b = a.chainId : b = t, W(f, {
|
|
295
|
+
...e,
|
|
296
|
+
...n.functionName ? { functionName: n.functionName } : {},
|
|
297
|
+
address: b ? (c = n.address) == null ? void 0 : c[b] : void 0,
|
|
298
|
+
abi: n.abi
|
|
298
299
|
});
|
|
299
|
-
} : (
|
|
300
|
-
...
|
|
301
|
-
...
|
|
302
|
-
...
|
|
303
|
-
abi:
|
|
300
|
+
} : (f, e) => W(f, {
|
|
301
|
+
...e,
|
|
302
|
+
...n.address ? { address: n.address } : {},
|
|
303
|
+
...n.functionName ? { functionName: n.functionName } : {},
|
|
304
|
+
abi: n.abi
|
|
304
305
|
});
|
|
305
306
|
}
|
|
306
|
-
const
|
|
307
|
+
const F = 10000n, S = {
|
|
307
308
|
31337: void 0,
|
|
308
|
-
...
|
|
309
|
-
},
|
|
310
|
-
function
|
|
311
|
-
return
|
|
309
|
+
..._0
|
|
310
|
+
}, K1 = S[11155111] || C;
|
|
311
|
+
function v1(n) {
|
|
312
|
+
return n.address;
|
|
312
313
|
}
|
|
313
|
-
function
|
|
314
|
-
return
|
|
314
|
+
function m1(n) {
|
|
315
|
+
return n.registryAddress && n.protocolFeeReceiver && n.owner;
|
|
315
316
|
}
|
|
316
|
-
const
|
|
317
|
+
const M = class M extends x0 {
|
|
317
318
|
/**
|
|
318
319
|
* A getter that will return Boost core's static addresses by numerical chain ID
|
|
319
320
|
*
|
|
@@ -333,80 +334,79 @@ const E = class E extends B0 {
|
|
|
333
334
|
* @param {?Account} [param0.account]
|
|
334
335
|
* @param {({ address?: Address; } | { registryAddress: Address; protocolFeeReceiver: Address; owner: Address; })} param0....options
|
|
335
336
|
*/
|
|
336
|
-
constructor({ config:
|
|
337
|
-
if (
|
|
338
|
-
super({ account:
|
|
339
|
-
else if (
|
|
340
|
-
super({ account:
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
337
|
+
constructor({ config: f, account: e, ...t }) {
|
|
338
|
+
if (v1(t) && t.address)
|
|
339
|
+
super({ account: e, config: f }, t.address);
|
|
340
|
+
else if (m1(t))
|
|
341
|
+
super({ account: e, config: f }, [
|
|
342
|
+
t.registryAddress,
|
|
343
|
+
t.protocolFeeReceiver,
|
|
344
|
+
t.owner
|
|
344
345
|
]);
|
|
345
346
|
else {
|
|
346
|
-
const { address: a } =
|
|
347
|
-
|
|
348
|
-
|
|
347
|
+
const { address: a } = h(
|
|
348
|
+
f,
|
|
349
|
+
S
|
|
349
350
|
);
|
|
350
|
-
super({ account:
|
|
351
|
+
super({ account: e, config: f }, a);
|
|
351
352
|
}
|
|
352
|
-
this.abi =
|
|
353
|
+
this.abi = y;
|
|
353
354
|
}
|
|
354
355
|
/**
|
|
355
356
|
* Create a new Boost.
|
|
356
357
|
*
|
|
357
|
-
*
|
|
358
358
|
* @public
|
|
359
359
|
* @async
|
|
360
360
|
* @param {CreateBoostPayload} _boostPayload
|
|
361
361
|
* @param {?WriteParams} [params]
|
|
362
362
|
* @returns {Promise<Boost>}
|
|
363
363
|
*/
|
|
364
|
-
async createBoost(
|
|
365
|
-
const [
|
|
364
|
+
async createBoost(f, e) {
|
|
365
|
+
const [t, a] = this.validateDeploymentConfig(f), b = e == null ? void 0 : e.chainId, { chainId: c, address: d } = h(
|
|
366
366
|
a.config,
|
|
367
367
|
this.addresses,
|
|
368
|
-
|
|
369
|
-
), s =
|
|
370
|
-
abi:
|
|
368
|
+
b
|
|
369
|
+
), s = T({
|
|
370
|
+
abi: y,
|
|
371
371
|
functionName: "createBoost",
|
|
372
|
-
address:
|
|
372
|
+
address: d
|
|
373
373
|
}), i = await this.prepareCreateBoostPayload(
|
|
374
|
-
|
|
374
|
+
d,
|
|
375
375
|
c,
|
|
376
|
-
|
|
376
|
+
t,
|
|
377
377
|
a
|
|
378
|
-
),
|
|
378
|
+
), l = await s(a.config, {
|
|
379
379
|
...this.optionallyAttachAccount(a.account),
|
|
380
380
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
381
|
-
...
|
|
381
|
+
...e,
|
|
382
382
|
chainId: c,
|
|
383
|
-
args: [
|
|
384
|
-
}), g = await
|
|
385
|
-
hash:
|
|
386
|
-
}), o =
|
|
387
|
-
abi:
|
|
383
|
+
args: [P(i)]
|
|
384
|
+
}), g = await D(a.config, {
|
|
385
|
+
hash: l
|
|
386
|
+
}), o = _({
|
|
387
|
+
abi: y,
|
|
388
388
|
eventName: "BoostCreated",
|
|
389
389
|
logs: g.logs
|
|
390
390
|
}).at(0);
|
|
391
391
|
let r = 0n;
|
|
392
|
-
if (!o) throw new
|
|
392
|
+
if (!o) throw new N();
|
|
393
393
|
r = o == null ? void 0 : o.args.boostId;
|
|
394
|
-
const
|
|
395
|
-
return new
|
|
394
|
+
const u = await this.readBoost(r);
|
|
395
|
+
return new E({
|
|
396
396
|
id: r,
|
|
397
|
-
budget:
|
|
398
|
-
action:
|
|
399
|
-
validator:
|
|
400
|
-
allowList:
|
|
401
|
-
incentives:
|
|
402
|
-
(
|
|
397
|
+
budget: t.budget.at(u.budget),
|
|
398
|
+
action: t.action.at(u.action),
|
|
399
|
+
validator: t.validator.at(u.validator),
|
|
400
|
+
allowList: t.allowList.at(u.allowList),
|
|
401
|
+
incentives: t.incentives.map(
|
|
402
|
+
(m, v) => (
|
|
403
403
|
// biome-ignore lint/style/noNonNullAssertion: this will never be undefined
|
|
404
|
-
|
|
404
|
+
m.at(u.incentives.at(v))
|
|
405
405
|
)
|
|
406
406
|
),
|
|
407
|
-
protocolFee:
|
|
408
|
-
maxParticipants:
|
|
409
|
-
owner:
|
|
407
|
+
protocolFee: u.protocolFee,
|
|
408
|
+
maxParticipants: u.maxParticipants,
|
|
409
|
+
owner: u.owner
|
|
410
410
|
});
|
|
411
411
|
}
|
|
412
412
|
/**
|
|
@@ -418,12 +418,12 @@ const E = class E extends B0 {
|
|
|
418
418
|
* @param {?WriteParams} [params]
|
|
419
419
|
* @returns {Promise<HashAndSimulatedResult>}
|
|
420
420
|
*/
|
|
421
|
-
async createBoostRaw(
|
|
422
|
-
const { request:
|
|
423
|
-
|
|
424
|
-
|
|
421
|
+
async createBoostRaw(f, e) {
|
|
422
|
+
const { request: t, result: a } = await this.simulateCreateBoost(
|
|
423
|
+
f,
|
|
424
|
+
e
|
|
425
425
|
);
|
|
426
|
-
return { hash: await
|
|
426
|
+
return { hash: await K(this._config, t), result: a };
|
|
427
427
|
}
|
|
428
428
|
/**
|
|
429
429
|
* Returns a simulated Boost creation.
|
|
@@ -434,140 +434,417 @@ const E = class E extends B0 {
|
|
|
434
434
|
* @param {?WriteParams} [params]
|
|
435
435
|
* @returns {Promise<SimulateContractReturnType>}
|
|
436
436
|
*/
|
|
437
|
-
async simulateCreateBoost(
|
|
438
|
-
const [
|
|
437
|
+
async simulateCreateBoost(f, e) {
|
|
438
|
+
const [t, a] = this.validateDeploymentConfig(f), b = e == null ? void 0 : e.chainId, { chainId: c, address: d } = h(
|
|
439
439
|
a.config,
|
|
440
440
|
this.addresses,
|
|
441
|
-
|
|
441
|
+
b
|
|
442
442
|
), s = await this.prepareCreateBoostPayload(
|
|
443
|
-
|
|
443
|
+
d,
|
|
444
444
|
c,
|
|
445
|
-
|
|
445
|
+
t,
|
|
446
446
|
a
|
|
447
447
|
);
|
|
448
|
-
return await
|
|
448
|
+
return await Q(this._config, {
|
|
449
449
|
...this.optionallyAttachAccount(),
|
|
450
450
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
451
|
-
...
|
|
452
|
-
address:
|
|
451
|
+
...e,
|
|
452
|
+
address: d,
|
|
453
453
|
chainId: c,
|
|
454
|
-
args: [
|
|
454
|
+
args: [P(s)]
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* Creates a new Boost with a given TransparentBudget, which transfers assets to the budget on Boost creation.
|
|
459
|
+
*
|
|
460
|
+
* @public
|
|
461
|
+
* @async
|
|
462
|
+
* @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
|
|
463
|
+
* @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
|
|
464
|
+
* @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
|
|
465
|
+
* @param {?WriteParams} [params]
|
|
466
|
+
* @returns {Promise<Boost>}
|
|
467
|
+
*/
|
|
468
|
+
async createBoostWithTransparentBudget(f, e, t, a) {
|
|
469
|
+
const [b, c] = this.validateDeploymentConfig({
|
|
470
|
+
...t,
|
|
471
|
+
budget: this.TransparentBudget(
|
|
472
|
+
typeof f == "string" ? f : f.assertValidAddress()
|
|
473
|
+
)
|
|
474
|
+
}), d = a == null ? void 0 : a.chainId, { chainId: s, address: i } = h(
|
|
475
|
+
c.config,
|
|
476
|
+
this.addresses,
|
|
477
|
+
d
|
|
478
|
+
), l = T({
|
|
479
|
+
abi: O,
|
|
480
|
+
functionName: "createBoost",
|
|
481
|
+
address: typeof f == "string" ? f : f.assertValidAddress()
|
|
482
|
+
}), g = await this.prepareCreateBoostPayload(
|
|
483
|
+
i,
|
|
484
|
+
s,
|
|
485
|
+
b,
|
|
486
|
+
c
|
|
487
|
+
), o = await l(c.config, {
|
|
488
|
+
...this.optionallyAttachAccount(c.account),
|
|
489
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
490
|
+
...a,
|
|
491
|
+
chainId: s,
|
|
492
|
+
args: [
|
|
493
|
+
e.map(R),
|
|
494
|
+
i,
|
|
495
|
+
P(g)
|
|
496
|
+
]
|
|
497
|
+
}), r = await D(c.config, {
|
|
498
|
+
hash: o
|
|
499
|
+
}), u = _({
|
|
500
|
+
abi: y,
|
|
501
|
+
eventName: "BoostCreated",
|
|
502
|
+
logs: r.logs
|
|
503
|
+
}).at(0);
|
|
504
|
+
let m = 0n;
|
|
505
|
+
if (!u) throw new N();
|
|
506
|
+
m = u == null ? void 0 : u.args.boostId;
|
|
507
|
+
const v = await this.readBoost(m);
|
|
508
|
+
return new E({
|
|
509
|
+
id: m,
|
|
510
|
+
budget: b.budget.at(v.budget),
|
|
511
|
+
action: b.action.at(v.action),
|
|
512
|
+
validator: b.validator.at(v.validator),
|
|
513
|
+
allowList: b.allowList.at(v.allowList),
|
|
514
|
+
incentives: b.incentives.map(
|
|
515
|
+
(B, p) => (
|
|
516
|
+
// biome-ignore lint/style/noNonNullAssertion: this will never be undefined
|
|
517
|
+
B.at(v.incentives.at(p))
|
|
518
|
+
)
|
|
519
|
+
),
|
|
520
|
+
protocolFee: v.protocolFee,
|
|
521
|
+
maxParticipants: v.maxParticipants,
|
|
522
|
+
owner: v.owner
|
|
523
|
+
});
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* Returns a transaction hash and simulated Boost creation using a transparent budget
|
|
527
|
+
*
|
|
528
|
+
* @public
|
|
529
|
+
* @async
|
|
530
|
+
* @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
|
|
531
|
+
* @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
|
|
532
|
+
* @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
|
|
533
|
+
* @param {?WriteParams} [params]
|
|
534
|
+
* @returns {Promise<HashAndSimulatedResult>}
|
|
535
|
+
*/
|
|
536
|
+
async createBoostWithTransparentBudgetRaw(f, e, t, a) {
|
|
537
|
+
const { request: b, result: c } = await this.simulateCreateBoostWithTransparentBudget(
|
|
538
|
+
f,
|
|
539
|
+
e,
|
|
540
|
+
t,
|
|
541
|
+
a
|
|
542
|
+
);
|
|
543
|
+
return { hash: await X(this._config, b), result: c };
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Returns a simulated Boost creation using a transparent budget
|
|
547
|
+
*
|
|
548
|
+
* @public
|
|
549
|
+
* @async
|
|
550
|
+
* @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
|
|
551
|
+
* @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
|
|
552
|
+
* @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
|
|
553
|
+
* @param {?WriteParams} [params]
|
|
554
|
+
* @returns {Promise<SimulateContractReturnType>}
|
|
555
|
+
*/
|
|
556
|
+
async simulateCreateBoostWithTransparentBudget(f, e, t, a) {
|
|
557
|
+
const [b, c] = this.validateDeploymentConfig({
|
|
558
|
+
...t,
|
|
559
|
+
budget: this.TransparentBudget(
|
|
560
|
+
typeof f == "string" ? f : f.assertValidAddress()
|
|
561
|
+
)
|
|
562
|
+
}), d = a == null ? void 0 : a.chainId, { chainId: s, address: i } = h(
|
|
563
|
+
c.config,
|
|
564
|
+
this.addresses,
|
|
565
|
+
d
|
|
566
|
+
), l = await this.prepareCreateBoostPayload(
|
|
567
|
+
i,
|
|
568
|
+
s,
|
|
569
|
+
b,
|
|
570
|
+
c
|
|
571
|
+
);
|
|
572
|
+
return await Y(this._config, {
|
|
573
|
+
...this.optionallyAttachAccount(),
|
|
574
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
575
|
+
...a,
|
|
576
|
+
address: typeof f == "string" ? f : f.assertValidAddress(),
|
|
577
|
+
chainId: s,
|
|
578
|
+
args: [
|
|
579
|
+
e.map(R),
|
|
580
|
+
i,
|
|
581
|
+
P(l)
|
|
582
|
+
]
|
|
583
|
+
});
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* Creates a new Boost with a given a TransparentBudget and Permit2, which transfers assets to the budget on Boost creation.
|
|
587
|
+
*
|
|
588
|
+
* @public
|
|
589
|
+
* @async
|
|
590
|
+
* @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
|
|
591
|
+
* @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
|
|
592
|
+
* @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
|
|
593
|
+
* @param {Hex} permit2Signature - The packed signature that was the result of signing the EIP712 hash of `permit`.
|
|
594
|
+
* @param {bigint} nonce - The nonce for the permit2 batch transfer
|
|
595
|
+
* @param {bigint} deadline - The deadline for the permit2 batch transfer
|
|
596
|
+
* @param {?WriteParams} [params]
|
|
597
|
+
* @returns {Promise<Boost>}
|
|
598
|
+
*/
|
|
599
|
+
async createBoostWithPermit2(f, e, t, a, b, c, d) {
|
|
600
|
+
const [s, i] = this.validateDeploymentConfig({
|
|
601
|
+
...t,
|
|
602
|
+
budget: this.TransparentBudget(
|
|
603
|
+
typeof f == "string" ? f : f.assertValidAddress()
|
|
604
|
+
)
|
|
605
|
+
}), l = d == null ? void 0 : d.chainId, { chainId: g, address: o } = h(
|
|
606
|
+
i.config,
|
|
607
|
+
this.addresses,
|
|
608
|
+
l
|
|
609
|
+
), r = T({
|
|
610
|
+
abi: O,
|
|
611
|
+
functionName: "createBoostWithPermit2",
|
|
612
|
+
address: typeof f == "string" ? f : f.assertValidAddress()
|
|
613
|
+
}), u = await this.prepareCreateBoostPayload(
|
|
614
|
+
o,
|
|
615
|
+
g,
|
|
616
|
+
s,
|
|
617
|
+
i
|
|
618
|
+
), m = await r(i.config, {
|
|
619
|
+
...this.optionallyAttachAccount(i.account),
|
|
620
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
621
|
+
...d,
|
|
622
|
+
chainId: g,
|
|
623
|
+
args: [
|
|
624
|
+
e.map(R),
|
|
625
|
+
o,
|
|
626
|
+
P(u),
|
|
627
|
+
a,
|
|
628
|
+
b,
|
|
629
|
+
c
|
|
630
|
+
]
|
|
631
|
+
}), v = await D(i.config, {
|
|
632
|
+
hash: m
|
|
633
|
+
}), B = _({
|
|
634
|
+
abi: y,
|
|
635
|
+
eventName: "BoostCreated",
|
|
636
|
+
logs: v.logs
|
|
637
|
+
}).at(0);
|
|
638
|
+
let p = 0n;
|
|
639
|
+
if (!B) throw new N();
|
|
640
|
+
p = B == null ? void 0 : B.args.boostId;
|
|
641
|
+
const A = await this.readBoost(p);
|
|
642
|
+
return new E({
|
|
643
|
+
id: p,
|
|
644
|
+
budget: s.budget.at(A.budget),
|
|
645
|
+
action: s.action.at(A.action),
|
|
646
|
+
validator: s.validator.at(A.validator),
|
|
647
|
+
allowList: s.allowList.at(A.allowList),
|
|
648
|
+
incentives: s.incentives.map(
|
|
649
|
+
(U, J) => (
|
|
650
|
+
// biome-ignore lint/style/noNonNullAssertion: this will never be undefined
|
|
651
|
+
U.at(A.incentives.at(J))
|
|
652
|
+
)
|
|
653
|
+
),
|
|
654
|
+
protocolFee: A.protocolFee,
|
|
655
|
+
maxParticipants: A.maxParticipants,
|
|
656
|
+
owner: A.owner
|
|
657
|
+
});
|
|
658
|
+
}
|
|
659
|
+
/**
|
|
660
|
+
* Returns a transaction hash and simulated Boost creation using a TransparentBudget and Permit2
|
|
661
|
+
*
|
|
662
|
+
* @public
|
|
663
|
+
* @async
|
|
664
|
+
* @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
|
|
665
|
+
* @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
|
|
666
|
+
* @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
|
|
667
|
+
* @param {Hex} permit2Signature - The packed signature that was the result of signing the EIP712 hash of `permit`.
|
|
668
|
+
* @param {bigint} nonce - The nonce for the permit2 batch transfer
|
|
669
|
+
* @param {bigint} deadline - The deadline for the permit2 batch transfer
|
|
670
|
+
* @param {?WriteParams} [params]
|
|
671
|
+
* @returns {Promise<HashAndSimulatedResult>}
|
|
672
|
+
*/
|
|
673
|
+
async createBoostWithPermit2Raw(f, e, t, a, b, c, d) {
|
|
674
|
+
const { request: s, result: i } = await this.simulateCreateBoostWithPermit2(
|
|
675
|
+
f,
|
|
676
|
+
e,
|
|
677
|
+
t,
|
|
678
|
+
a,
|
|
679
|
+
b,
|
|
680
|
+
c,
|
|
681
|
+
d
|
|
682
|
+
);
|
|
683
|
+
return { hash: await Z(
|
|
684
|
+
this._config,
|
|
685
|
+
s
|
|
686
|
+
), result: i };
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* Returns a simulated Boost creation using a TransparentBudget and Permit2
|
|
690
|
+
*
|
|
691
|
+
* @public
|
|
692
|
+
* @async
|
|
693
|
+
* @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
|
|
694
|
+
* @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
|
|
695
|
+
* @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
|
|
696
|
+
* @param {Hex} permit2Signature - The packed signature that was the result of signing the EIP712 hash of `permit`.
|
|
697
|
+
* @param {bigint} nonce - The nonce for the permit2 batch transfer
|
|
698
|
+
* @param {bigint} deadline - The deadline for the permit2 batch transfer
|
|
699
|
+
* @param {?WriteParams} [params]
|
|
700
|
+
* @returns {Promise<SimulateContractReturnType>}
|
|
701
|
+
*/
|
|
702
|
+
async simulateCreateBoostWithPermit2(f, e, t, a, b, c, d) {
|
|
703
|
+
const [s, i] = this.validateDeploymentConfig({
|
|
704
|
+
...t,
|
|
705
|
+
budget: this.TransparentBudget(
|
|
706
|
+
typeof f == "string" ? f : f.assertValidAddress()
|
|
707
|
+
)
|
|
708
|
+
}), l = d == null ? void 0 : d.chainId, { chainId: g, address: o } = h(
|
|
709
|
+
i.config,
|
|
710
|
+
this.addresses,
|
|
711
|
+
l
|
|
712
|
+
), r = await this.prepareCreateBoostPayload(
|
|
713
|
+
o,
|
|
714
|
+
g,
|
|
715
|
+
s,
|
|
716
|
+
i
|
|
717
|
+
);
|
|
718
|
+
return await f0(this._config, {
|
|
719
|
+
...this.optionallyAttachAccount(),
|
|
720
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
721
|
+
...d,
|
|
722
|
+
address: typeof f == "string" ? f : f.assertValidAddress(),
|
|
723
|
+
chainId: g,
|
|
724
|
+
args: [
|
|
725
|
+
e.map(R),
|
|
726
|
+
o,
|
|
727
|
+
P(r),
|
|
728
|
+
a,
|
|
729
|
+
b,
|
|
730
|
+
c
|
|
731
|
+
]
|
|
455
732
|
});
|
|
456
733
|
}
|
|
457
734
|
// This function mutates payload, which isn't awesome but it's fine
|
|
458
|
-
async prepareCreateBoostPayload(
|
|
735
|
+
async prepareCreateBoostPayload(f, e, t, a) {
|
|
459
736
|
var g;
|
|
460
|
-
if (!
|
|
461
|
-
throw new
|
|
462
|
-
if (!
|
|
463
|
-
const r =
|
|
464
|
-
(
|
|
737
|
+
if (!t.owner && (t.owner = ((g = this._account) == null ? void 0 : g.address) || A0(a.config).address || C, t.owner === C))
|
|
738
|
+
throw new X0();
|
|
739
|
+
if (!t.validator) {
|
|
740
|
+
const r = y0(a.config).filter(
|
|
741
|
+
(v) => !!this.addresses[v.id] && v.id === e
|
|
465
742
|
).at(0);
|
|
466
743
|
if (!r)
|
|
467
|
-
throw new
|
|
468
|
-
|
|
744
|
+
throw new Y0(
|
|
745
|
+
e,
|
|
469
746
|
Object.keys(this.addresses).map(Number)
|
|
470
747
|
);
|
|
471
|
-
const
|
|
472
|
-
r.testnet || r.id === 31337 ?
|
|
748
|
+
const m = [
|
|
749
|
+
r.testnet || r.id === 31337 ? x.TESTNET : x.MAINNET
|
|
473
750
|
];
|
|
474
|
-
r.id === 31337 &&
|
|
475
|
-
signers:
|
|
476
|
-
validatorCaller:
|
|
751
|
+
r.id === 31337 && m.push("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"), t.validator = this.LimitedSignerValidator({
|
|
752
|
+
signers: m,
|
|
753
|
+
validatorCaller: f,
|
|
477
754
|
maxClaimCount: 1
|
|
478
755
|
});
|
|
479
756
|
}
|
|
480
|
-
let
|
|
481
|
-
if (
|
|
482
|
-
if (
|
|
483
|
-
throw new
|
|
757
|
+
let b = C;
|
|
758
|
+
if (t.budget.address) {
|
|
759
|
+
if (b = t.budget.address, !(t.budget instanceof $) && !await t.budget.isAuthorized(f))
|
|
760
|
+
throw new Z0(f);
|
|
484
761
|
} else
|
|
485
|
-
throw new
|
|
762
|
+
throw new f1();
|
|
486
763
|
let c = {
|
|
487
|
-
instance:
|
|
764
|
+
instance: C,
|
|
488
765
|
isBase: !0,
|
|
489
|
-
parameters:
|
|
766
|
+
parameters: w
|
|
490
767
|
};
|
|
491
|
-
if (
|
|
492
|
-
const o =
|
|
768
|
+
if (t.action.address) {
|
|
769
|
+
const o = t.action.isBase;
|
|
493
770
|
c = {
|
|
494
771
|
isBase: o,
|
|
495
|
-
instance:
|
|
496
|
-
parameters: o ?
|
|
772
|
+
instance: t.action.address,
|
|
773
|
+
parameters: o ? t.action.buildParameters(void 0, a).args.at(0) || w : w
|
|
497
774
|
};
|
|
498
775
|
} else
|
|
499
|
-
c.parameters =
|
|
776
|
+
c.parameters = t.action.buildParameters(void 0, a).args.at(0) || w, c.instance = h(
|
|
500
777
|
a.config,
|
|
501
|
-
|
|
502
|
-
|
|
778
|
+
t.action.bases,
|
|
779
|
+
e
|
|
503
780
|
).address;
|
|
504
|
-
let
|
|
505
|
-
instance:
|
|
781
|
+
let d = {
|
|
782
|
+
instance: C,
|
|
506
783
|
isBase: !0,
|
|
507
|
-
parameters:
|
|
784
|
+
parameters: w
|
|
508
785
|
};
|
|
509
|
-
if (
|
|
510
|
-
const o =
|
|
511
|
-
|
|
786
|
+
if (t.validator.address) {
|
|
787
|
+
const o = t.validator.isBase;
|
|
788
|
+
d = {
|
|
512
789
|
isBase: o,
|
|
513
|
-
instance:
|
|
514
|
-
parameters: o ?
|
|
790
|
+
instance: t.validator.address,
|
|
791
|
+
parameters: o ? t.validator.buildParameters(void 0, a).args.at(0) || w : w
|
|
515
792
|
};
|
|
516
793
|
} else
|
|
517
|
-
|
|
794
|
+
d.parameters = t.validator.buildParameters(void 0, a).args.at(0) || w, d.instance = h(
|
|
518
795
|
a.config,
|
|
519
|
-
|
|
520
|
-
|
|
796
|
+
t.validator.bases,
|
|
797
|
+
e
|
|
521
798
|
).address;
|
|
522
799
|
let s = {
|
|
523
|
-
instance:
|
|
800
|
+
instance: C,
|
|
524
801
|
isBase: !0,
|
|
525
|
-
parameters:
|
|
802
|
+
parameters: w
|
|
526
803
|
};
|
|
527
|
-
if (
|
|
528
|
-
const o =
|
|
804
|
+
if (t.allowList || (t.allowList = this.OpenAllowList()), t.allowList.address) {
|
|
805
|
+
const o = t.allowList.isBase;
|
|
529
806
|
s = {
|
|
530
807
|
isBase: o,
|
|
531
|
-
instance:
|
|
532
|
-
parameters: o ?
|
|
808
|
+
instance: t.allowList.address,
|
|
809
|
+
parameters: o ? w : w
|
|
533
810
|
};
|
|
534
811
|
} else
|
|
535
|
-
s.parameters =
|
|
812
|
+
s.parameters = t.allowList.buildParameters(void 0, a).args.at(0) || w, s.instance = h(
|
|
536
813
|
a.config,
|
|
537
|
-
|
|
538
|
-
|
|
814
|
+
t.allowList.bases,
|
|
815
|
+
e
|
|
539
816
|
).address;
|
|
540
|
-
const i =
|
|
541
|
-
instance:
|
|
817
|
+
const i = t.incentives.map(() => ({
|
|
818
|
+
instance: C,
|
|
542
819
|
isBase: !0,
|
|
543
|
-
parameters:
|
|
820
|
+
parameters: w
|
|
544
821
|
}));
|
|
545
|
-
for (let o = 0; o <
|
|
546
|
-
const r =
|
|
822
|
+
for (let o = 0; o < t.incentives.length; o++) {
|
|
823
|
+
const r = t.incentives.at(o);
|
|
547
824
|
if (r.address) {
|
|
548
|
-
const
|
|
549
|
-
if (!
|
|
825
|
+
const u = r.isBase;
|
|
826
|
+
if (!u) throw new e1(r);
|
|
550
827
|
i[o] = {
|
|
551
|
-
isBase:
|
|
828
|
+
isBase: u,
|
|
552
829
|
instance: r.address,
|
|
553
|
-
parameters:
|
|
830
|
+
parameters: u ? r.buildParameters(void 0, a).args.at(0) || w : w
|
|
554
831
|
};
|
|
555
832
|
} else
|
|
556
|
-
i[o].parameters = r.buildParameters(void 0, a).args.at(0) ||
|
|
833
|
+
i[o].parameters = r.buildParameters(void 0, a).args.at(0) || w, i[o].instance = h(
|
|
557
834
|
a.config,
|
|
558
835
|
r.bases,
|
|
559
|
-
|
|
836
|
+
e
|
|
560
837
|
).address;
|
|
561
838
|
}
|
|
562
839
|
return {
|
|
563
|
-
budget:
|
|
840
|
+
budget: b,
|
|
564
841
|
action: c,
|
|
565
|
-
validator:
|
|
842
|
+
validator: d,
|
|
566
843
|
allowList: s,
|
|
567
844
|
incentives: i,
|
|
568
|
-
protocolFee:
|
|
569
|
-
maxParticipants:
|
|
570
|
-
owner:
|
|
845
|
+
protocolFee: t.protocolFee || 0n,
|
|
846
|
+
maxParticipants: t.maxParticipants || 0n,
|
|
847
|
+
owner: t.owner
|
|
571
848
|
};
|
|
572
849
|
}
|
|
573
850
|
/**
|
|
@@ -582,9 +859,9 @@ const E = class E extends B0 {
|
|
|
582
859
|
* @param {?WriteParams} [params]
|
|
583
860
|
* @returns {Promise<void>}
|
|
584
861
|
*/
|
|
585
|
-
async claimIncentive(
|
|
862
|
+
async claimIncentive(f, e, t, a, b) {
|
|
586
863
|
return await this.awaitResult(
|
|
587
|
-
this.claimIncentiveRaw(
|
|
864
|
+
this.claimIncentiveRaw(f, e, t, a, b)
|
|
588
865
|
);
|
|
589
866
|
}
|
|
590
867
|
/**
|
|
@@ -599,22 +876,22 @@ const E = class E extends B0 {
|
|
|
599
876
|
* @param {?WriteParams} [params]
|
|
600
877
|
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
601
878
|
*/
|
|
602
|
-
async claimIncentiveRaw(
|
|
603
|
-
const { request: c, result:
|
|
879
|
+
async claimIncentiveRaw(f, e, t, a, b) {
|
|
880
|
+
const { request: c, result: d } = await e0(
|
|
604
881
|
this._config,
|
|
605
882
|
{
|
|
606
|
-
...
|
|
883
|
+
...h(
|
|
607
884
|
this._config,
|
|
608
885
|
this.addresses,
|
|
609
|
-
|
|
886
|
+
b == null ? void 0 : b.chainId
|
|
610
887
|
),
|
|
611
|
-
args: [
|
|
888
|
+
args: [f, e, t, a],
|
|
612
889
|
...this.optionallyAttachAccount(),
|
|
613
890
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
614
|
-
...
|
|
891
|
+
...b
|
|
615
892
|
}
|
|
616
893
|
);
|
|
617
|
-
return { hash: await
|
|
894
|
+
return { hash: await t0(this._config, c), result: d };
|
|
618
895
|
}
|
|
619
896
|
/**
|
|
620
897
|
* Claims one incentive for a given `Boost` on behalf of another user by `boostId` and `incentiveId`
|
|
@@ -629,14 +906,14 @@ const E = class E extends B0 {
|
|
|
629
906
|
* @param {?WriteParams} [params]
|
|
630
907
|
* @returns {Promise<void>}
|
|
631
908
|
*/
|
|
632
|
-
async claimIncentiveFor(
|
|
909
|
+
async claimIncentiveFor(f, e, t, a, b, c) {
|
|
633
910
|
return await this.awaitResult(
|
|
634
911
|
this.claimIncentiveForRaw(
|
|
635
|
-
e,
|
|
636
912
|
f,
|
|
637
|
-
|
|
638
|
-
a,
|
|
913
|
+
e,
|
|
639
914
|
t,
|
|
915
|
+
a,
|
|
916
|
+
b,
|
|
640
917
|
c
|
|
641
918
|
)
|
|
642
919
|
);
|
|
@@ -654,22 +931,22 @@ const E = class E extends B0 {
|
|
|
654
931
|
* @param {?WriteParams} [params]
|
|
655
932
|
* @returns {Promise<{ hash: Hex; result: void; }>}
|
|
656
933
|
*/
|
|
657
|
-
async claimIncentiveForRaw(
|
|
658
|
-
const { request:
|
|
934
|
+
async claimIncentiveForRaw(f, e, t, a, b, c) {
|
|
935
|
+
const { request: d, result: s } = await a0(
|
|
659
936
|
this._config,
|
|
660
937
|
{
|
|
661
|
-
...
|
|
938
|
+
...h(
|
|
662
939
|
this._config,
|
|
663
940
|
this.addresses,
|
|
664
941
|
c == null ? void 0 : c.chainId
|
|
665
942
|
),
|
|
666
|
-
args: [
|
|
943
|
+
args: [f, e, t, a, b],
|
|
667
944
|
...this.optionallyAttachAccount(),
|
|
668
945
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
669
946
|
...c
|
|
670
947
|
}
|
|
671
948
|
);
|
|
672
|
-
return { hash: await
|
|
949
|
+
return { hash: await b0(this._config, d), result: s };
|
|
673
950
|
}
|
|
674
951
|
/**
|
|
675
952
|
* Get a Boost by index, will return the raw on chain representation of a Boost.
|
|
@@ -681,23 +958,23 @@ const E = class E extends B0 {
|
|
|
681
958
|
* @returns {Promise<RawBoost>}
|
|
682
959
|
* @throws {@link BoostNotFoundError}
|
|
683
960
|
*/
|
|
684
|
-
async readBoost(
|
|
685
|
-
var
|
|
961
|
+
async readBoost(f, e) {
|
|
962
|
+
var t;
|
|
686
963
|
try {
|
|
687
964
|
let a;
|
|
688
|
-
return typeof
|
|
689
|
-
...
|
|
965
|
+
return typeof f == "string" ? a = BigInt(f) : a = f, await c0(this._config, {
|
|
966
|
+
...h(
|
|
690
967
|
this._config,
|
|
691
968
|
this.addresses,
|
|
692
|
-
|
|
969
|
+
e == null ? void 0 : e.chainId
|
|
693
970
|
),
|
|
694
971
|
args: [a],
|
|
695
972
|
...this.optionallyAttachAccount(),
|
|
696
973
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
697
|
-
...
|
|
974
|
+
...e
|
|
698
975
|
});
|
|
699
976
|
} catch (a) {
|
|
700
|
-
throw (
|
|
977
|
+
throw (t = a == null ? void 0 : a.message) != null && t.includes("bounds") ? new t1(String(f)) : a;
|
|
701
978
|
}
|
|
702
979
|
}
|
|
703
980
|
/**
|
|
@@ -710,32 +987,32 @@ const E = class E extends B0 {
|
|
|
710
987
|
* @returns {Promise<Boost>}
|
|
711
988
|
* @throws {@link BoostNotFoundError}
|
|
712
989
|
*/
|
|
713
|
-
async getBoost(
|
|
714
|
-
let
|
|
715
|
-
typeof
|
|
716
|
-
const { protocolFee: a, maxParticipants:
|
|
990
|
+
async getBoost(f, e) {
|
|
991
|
+
let t;
|
|
992
|
+
typeof f == "string" ? t = BigInt(f) : t = f;
|
|
993
|
+
const { protocolFee: a, maxParticipants: b, owner: c, ...d } = await this.readBoost(t, e), s = {
|
|
717
994
|
config: this._config,
|
|
718
995
|
account: this._account
|
|
719
|
-
}, [i,
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
996
|
+
}, [i, l, g, o, r] = await Promise.all([
|
|
997
|
+
E0(s, d.action, e),
|
|
998
|
+
S0(s, d.budget, e),
|
|
999
|
+
Q0(s, d.validator, e),
|
|
1000
|
+
V0(s, d.allowList, e),
|
|
724
1001
|
Promise.all(
|
|
725
|
-
|
|
726
|
-
(
|
|
1002
|
+
d.incentives.map(
|
|
1003
|
+
(u) => q0(s, u, e)
|
|
727
1004
|
)
|
|
728
1005
|
)
|
|
729
1006
|
]);
|
|
730
|
-
return new
|
|
731
|
-
id:
|
|
1007
|
+
return new E({
|
|
1008
|
+
id: t,
|
|
732
1009
|
action: i,
|
|
733
|
-
budget:
|
|
1010
|
+
budget: l,
|
|
734
1011
|
validator: g,
|
|
735
1012
|
allowList: o,
|
|
736
1013
|
incentives: r,
|
|
737
1014
|
protocolFee: a,
|
|
738
|
-
maxParticipants:
|
|
1015
|
+
maxParticipants: b,
|
|
739
1016
|
owner: c
|
|
740
1017
|
});
|
|
741
1018
|
}
|
|
@@ -747,17 +1024,17 @@ const E = class E extends B0 {
|
|
|
747
1024
|
* @param {?ReadParams} [params]
|
|
748
1025
|
* @returns {Promise<bigint>}
|
|
749
1026
|
*/
|
|
750
|
-
async getBoostCount(
|
|
751
|
-
return await
|
|
752
|
-
...
|
|
1027
|
+
async getBoostCount(f) {
|
|
1028
|
+
return await d0(this._config, {
|
|
1029
|
+
...h(
|
|
753
1030
|
this._config,
|
|
754
1031
|
this.addresses,
|
|
755
|
-
|
|
1032
|
+
f == null ? void 0 : f.chainId
|
|
756
1033
|
),
|
|
757
1034
|
args: [],
|
|
758
1035
|
...this.optionallyAttachAccount(),
|
|
759
1036
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
760
|
-
...
|
|
1037
|
+
...f
|
|
761
1038
|
});
|
|
762
1039
|
}
|
|
763
1040
|
/**
|
|
@@ -770,14 +1047,14 @@ const E = class E extends B0 {
|
|
|
770
1047
|
* ReadParams} [params]
|
|
771
1048
|
* @returns {Promise<boolean>}
|
|
772
1049
|
*/
|
|
773
|
-
async isAuthorized(
|
|
774
|
-
const
|
|
775
|
-
return
|
|
776
|
-
address:
|
|
777
|
-
args: [
|
|
1050
|
+
async isAuthorized(f, e) {
|
|
1051
|
+
const t = await this.createBoostAuth(e);
|
|
1052
|
+
return n0(this._config, {
|
|
1053
|
+
address: t,
|
|
1054
|
+
args: [f],
|
|
778
1055
|
...this.optionallyAttachAccount(),
|
|
779
1056
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
780
|
-
...
|
|
1057
|
+
...e
|
|
781
1058
|
});
|
|
782
1059
|
}
|
|
783
1060
|
/**
|
|
@@ -788,17 +1065,17 @@ const E = class E extends B0 {
|
|
|
788
1065
|
* @param {?ReadParams} [params]
|
|
789
1066
|
* @returns {Promise<Address>}
|
|
790
1067
|
*/
|
|
791
|
-
async createBoostAuth(
|
|
792
|
-
return await
|
|
793
|
-
...
|
|
1068
|
+
async createBoostAuth(f) {
|
|
1069
|
+
return await s0(this._config, {
|
|
1070
|
+
...h(
|
|
794
1071
|
this._config,
|
|
795
1072
|
this.addresses,
|
|
796
|
-
|
|
1073
|
+
f == null ? void 0 : f.chainId
|
|
797
1074
|
),
|
|
798
1075
|
args: [],
|
|
799
1076
|
...this.optionallyAttachAccount(),
|
|
800
1077
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
801
|
-
...
|
|
1078
|
+
...f
|
|
802
1079
|
});
|
|
803
1080
|
}
|
|
804
1081
|
/**
|
|
@@ -810,10 +1087,10 @@ const E = class E extends B0 {
|
|
|
810
1087
|
* @param {?WriteParams} [params]
|
|
811
1088
|
* @returns {Promise<void>}
|
|
812
1089
|
*/
|
|
813
|
-
async setCreateBoostAuth(
|
|
1090
|
+
async setCreateBoostAuth(f, e) {
|
|
814
1091
|
return await this.awaitResult(
|
|
815
|
-
this.setCreateBoostAuthRaw(
|
|
816
|
-
...
|
|
1092
|
+
this.setCreateBoostAuthRaw(f.assertValidAddress(), {
|
|
1093
|
+
...e
|
|
817
1094
|
})
|
|
818
1095
|
);
|
|
819
1096
|
}
|
|
@@ -826,22 +1103,22 @@ const E = class E extends B0 {
|
|
|
826
1103
|
* @param {?WriteParams} [params]
|
|
827
1104
|
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
828
1105
|
*/
|
|
829
|
-
async setCreateBoostAuthRaw(
|
|
830
|
-
const { request:
|
|
1106
|
+
async setCreateBoostAuthRaw(f, e) {
|
|
1107
|
+
const { request: t, result: a } = await i0(
|
|
831
1108
|
this._config,
|
|
832
1109
|
{
|
|
833
|
-
...
|
|
1110
|
+
...h(
|
|
834
1111
|
this._config,
|
|
835
1112
|
this.addresses,
|
|
836
|
-
|
|
1113
|
+
e == null ? void 0 : e.chainId
|
|
837
1114
|
),
|
|
838
|
-
args: [
|
|
1115
|
+
args: [f],
|
|
839
1116
|
...this.optionallyAttachAccount(),
|
|
840
1117
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
841
|
-
...
|
|
1118
|
+
...e
|
|
842
1119
|
}
|
|
843
1120
|
);
|
|
844
|
-
return { hash: await
|
|
1121
|
+
return { hash: await o0(this._config, t), result: a };
|
|
845
1122
|
}
|
|
846
1123
|
/**
|
|
847
1124
|
* Get the protocol fee.
|
|
@@ -851,17 +1128,17 @@ const E = class E extends B0 {
|
|
|
851
1128
|
* @param {?ReadParams} [params]
|
|
852
1129
|
* @returns {unknown}
|
|
853
1130
|
*/
|
|
854
|
-
async protocolFee(
|
|
855
|
-
return await
|
|
856
|
-
...
|
|
1131
|
+
async protocolFee(f) {
|
|
1132
|
+
return await r0(this._config, {
|
|
1133
|
+
...h(
|
|
857
1134
|
this._config,
|
|
858
1135
|
this.addresses,
|
|
859
|
-
|
|
1136
|
+
f == null ? void 0 : f.chainId
|
|
860
1137
|
),
|
|
861
1138
|
args: [],
|
|
862
1139
|
...this.optionallyAttachAccount(),
|
|
863
1140
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
864
|
-
...
|
|
1141
|
+
...f
|
|
865
1142
|
});
|
|
866
1143
|
}
|
|
867
1144
|
/**
|
|
@@ -872,17 +1149,17 @@ const E = class E extends B0 {
|
|
|
872
1149
|
* @param {?ReadParams} [params]
|
|
873
1150
|
* @returns {Promise<Address>}
|
|
874
1151
|
*/
|
|
875
|
-
async protocolFeeReceiver(
|
|
876
|
-
return await
|
|
877
|
-
...
|
|
1152
|
+
async protocolFeeReceiver(f) {
|
|
1153
|
+
return await u0(this._config, {
|
|
1154
|
+
...h(
|
|
878
1155
|
this._config,
|
|
879
1156
|
this.addresses,
|
|
880
|
-
|
|
1157
|
+
f == null ? void 0 : f.chainId
|
|
881
1158
|
),
|
|
882
1159
|
args: [],
|
|
883
1160
|
...this.optionallyAttachAccount(),
|
|
884
1161
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
885
|
-
...
|
|
1162
|
+
...f
|
|
886
1163
|
});
|
|
887
1164
|
}
|
|
888
1165
|
/**
|
|
@@ -894,10 +1171,10 @@ const E = class E extends B0 {
|
|
|
894
1171
|
* @param {?WriteParams} [params]
|
|
895
1172
|
* @returns {Promise<void>}
|
|
896
1173
|
*/
|
|
897
|
-
async setProcolFeeReceiver(
|
|
1174
|
+
async setProcolFeeReceiver(f, e) {
|
|
898
1175
|
return await this.awaitResult(
|
|
899
|
-
this.setProcolFeeReceiverRaw(
|
|
900
|
-
...
|
|
1176
|
+
this.setProcolFeeReceiverRaw(f, {
|
|
1177
|
+
...e
|
|
901
1178
|
})
|
|
902
1179
|
);
|
|
903
1180
|
}
|
|
@@ -910,24 +1187,24 @@ const E = class E extends B0 {
|
|
|
910
1187
|
* @param {?WriteParams} [params]
|
|
911
1188
|
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
912
1189
|
*/
|
|
913
|
-
async setProcolFeeReceiverRaw(
|
|
914
|
-
const { request:
|
|
1190
|
+
async setProcolFeeReceiverRaw(f, e) {
|
|
1191
|
+
const { request: t, result: a } = await h0(
|
|
915
1192
|
this._config,
|
|
916
1193
|
{
|
|
917
|
-
...
|
|
1194
|
+
...h(
|
|
918
1195
|
this._config,
|
|
919
1196
|
this.addresses,
|
|
920
|
-
|
|
1197
|
+
e == null ? void 0 : e.chainId
|
|
921
1198
|
),
|
|
922
|
-
args: [
|
|
1199
|
+
args: [f],
|
|
923
1200
|
...this.optionallyAttachAccount(),
|
|
924
1201
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
925
|
-
...
|
|
1202
|
+
...e
|
|
926
1203
|
}
|
|
927
1204
|
);
|
|
928
|
-
return { hash: await
|
|
1205
|
+
return { hash: await l0(
|
|
929
1206
|
this._config,
|
|
930
|
-
|
|
1207
|
+
t
|
|
931
1208
|
), result: a };
|
|
932
1209
|
}
|
|
933
1210
|
/**
|
|
@@ -940,20 +1217,20 @@ const E = class E extends B0 {
|
|
|
940
1217
|
* @param {?ReadParams} [params]
|
|
941
1218
|
* @returns {Promise<IncentiveDisbursalInfo>}
|
|
942
1219
|
*/
|
|
943
|
-
async getIncentiveFeesInfo(
|
|
944
|
-
const a =
|
|
945
|
-
|
|
1220
|
+
async getIncentiveFeesInfo(f, e, t) {
|
|
1221
|
+
const a = p0(
|
|
1222
|
+
F0(["uint256", "uint256"], [f, e])
|
|
946
1223
|
);
|
|
947
|
-
return await
|
|
948
|
-
...
|
|
1224
|
+
return await g0(this._config, {
|
|
1225
|
+
...h(
|
|
949
1226
|
this._config,
|
|
950
1227
|
this.addresses,
|
|
951
|
-
|
|
1228
|
+
t == null ? void 0 : t.chainId
|
|
952
1229
|
),
|
|
953
1230
|
args: [a],
|
|
954
1231
|
...this.optionallyAttachAccount(),
|
|
955
1232
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
956
|
-
...
|
|
1233
|
+
...t
|
|
957
1234
|
});
|
|
958
1235
|
}
|
|
959
1236
|
/**
|
|
@@ -979,13 +1256,13 @@ const E = class E extends B0 {
|
|
|
979
1256
|
* }
|
|
980
1257
|
* ```
|
|
981
1258
|
*/
|
|
982
|
-
async getClaimFromTransaction(
|
|
1259
|
+
async getClaimFromTransaction(f) {
|
|
983
1260
|
var a;
|
|
984
|
-
const
|
|
985
|
-
return (a =
|
|
986
|
-
abi:
|
|
1261
|
+
const e = await I0(this._config, f);
|
|
1262
|
+
return (a = _({
|
|
1263
|
+
abi: y,
|
|
987
1264
|
eventName: "BoostClaimed",
|
|
988
|
-
logs:
|
|
1265
|
+
logs: e.logs
|
|
989
1266
|
}).at(0)) == null ? void 0 : a.args;
|
|
990
1267
|
}
|
|
991
1268
|
/**
|
|
@@ -1011,9 +1288,9 @@ const E = class E extends B0 {
|
|
|
1011
1288
|
* @param {?ReadParams} [params]
|
|
1012
1289
|
* @returns {Promise<void>}
|
|
1013
1290
|
*/
|
|
1014
|
-
async calculateProtocolFee(
|
|
1015
|
-
const
|
|
1016
|
-
return
|
|
1291
|
+
async calculateProtocolFee(f, e) {
|
|
1292
|
+
const t = await this.protocolFee(e);
|
|
1293
|
+
return f * t / F;
|
|
1017
1294
|
}
|
|
1018
1295
|
/**
|
|
1019
1296
|
* Bound {@link PassthroughAuth} constructor that reuses the same configuration as the Boost Core instance.
|
|
@@ -1026,10 +1303,10 @@ const E = class E extends B0 {
|
|
|
1026
1303
|
* @param {Address} address
|
|
1027
1304
|
* @returns {PassthroughAuth}
|
|
1028
1305
|
*/
|
|
1029
|
-
PassthroughAuth(
|
|
1030
|
-
return new
|
|
1306
|
+
PassthroughAuth(f) {
|
|
1307
|
+
return new T0(
|
|
1031
1308
|
{ config: this._config, account: this._account },
|
|
1032
|
-
|
|
1309
|
+
f
|
|
1033
1310
|
);
|
|
1034
1311
|
}
|
|
1035
1312
|
// /**
|
|
@@ -1062,11 +1339,11 @@ const E = class E extends B0 {
|
|
|
1062
1339
|
* const action = core.EventAction('0x') // is roughly equivalent to
|
|
1063
1340
|
* const action = new EventAction({ config: core._config, account: core._account }, '0x')
|
|
1064
1341
|
*/
|
|
1065
|
-
EventAction(
|
|
1066
|
-
return new
|
|
1342
|
+
EventAction(f, e) {
|
|
1343
|
+
return new R0(
|
|
1067
1344
|
{ config: this._config, account: this._account },
|
|
1068
|
-
|
|
1069
|
-
|
|
1345
|
+
f,
|
|
1346
|
+
e
|
|
1070
1347
|
);
|
|
1071
1348
|
}
|
|
1072
1349
|
// /**
|
|
@@ -1102,11 +1379,11 @@ const E = class E extends B0 {
|
|
|
1102
1379
|
* @param {?boolean} [isBase]
|
|
1103
1380
|
* @returns {OpenAllowList}
|
|
1104
1381
|
*/
|
|
1105
|
-
OpenAllowList(
|
|
1106
|
-
return new
|
|
1382
|
+
OpenAllowList(f) {
|
|
1383
|
+
return new D0(
|
|
1107
1384
|
{ config: this._config, account: this._account },
|
|
1108
1385
|
void 0,
|
|
1109
|
-
|
|
1386
|
+
f
|
|
1110
1387
|
);
|
|
1111
1388
|
}
|
|
1112
1389
|
/**
|
|
@@ -1121,11 +1398,11 @@ const E = class E extends B0 {
|
|
|
1121
1398
|
* @param {?boolean} [isBase]
|
|
1122
1399
|
* @returns {SimpleAllowList}
|
|
1123
1400
|
*/
|
|
1124
|
-
SimpleAllowList(
|
|
1125
|
-
return new
|
|
1401
|
+
SimpleAllowList(f, e) {
|
|
1402
|
+
return new L0(
|
|
1126
1403
|
{ config: this._config, account: this._account },
|
|
1127
|
-
|
|
1128
|
-
|
|
1404
|
+
f,
|
|
1405
|
+
e
|
|
1129
1406
|
);
|
|
1130
1407
|
}
|
|
1131
1408
|
/**
|
|
@@ -1140,11 +1417,11 @@ const E = class E extends B0 {
|
|
|
1140
1417
|
* @param {?boolean} [isBase]
|
|
1141
1418
|
* @returns {SimpleDenyList}
|
|
1142
1419
|
*/
|
|
1143
|
-
SimpleDenyList(
|
|
1144
|
-
return new
|
|
1420
|
+
SimpleDenyList(f, e) {
|
|
1421
|
+
return new N0(
|
|
1145
1422
|
{ config: this._config, account: this._account },
|
|
1146
|
-
|
|
1147
|
-
|
|
1423
|
+
f,
|
|
1424
|
+
e
|
|
1148
1425
|
);
|
|
1149
1426
|
}
|
|
1150
1427
|
// /**
|
|
@@ -1175,10 +1452,10 @@ const E = class E extends B0 {
|
|
|
1175
1452
|
* @param {DeployablePayloadOrAddress<ManagedBudgetPayload>} options
|
|
1176
1453
|
* @returns {ManagedBudget}
|
|
1177
1454
|
*/
|
|
1178
|
-
ManagedBudget(
|
|
1179
|
-
return typeof
|
|
1455
|
+
ManagedBudget(f) {
|
|
1456
|
+
return typeof f != "string" && !f.authorized.includes(this.assertValidAddress()) && (f.authorized = [this.assertValidAddress(), ...f.authorized], f.roles = [L.MANAGER, ...f.roles]), new $0(
|
|
1180
1457
|
{ config: this._config, account: this._account },
|
|
1181
|
-
|
|
1458
|
+
f
|
|
1182
1459
|
);
|
|
1183
1460
|
}
|
|
1184
1461
|
/**
|
|
@@ -1193,10 +1470,10 @@ const E = class E extends B0 {
|
|
|
1193
1470
|
* @param {DeployablePayloadOrAddress<ManagedBudgetWithFeesPayload>} options
|
|
1194
1471
|
* @returns {ManagedBudgetWithFees}
|
|
1195
1472
|
*/
|
|
1196
|
-
ManagedBudgetWithFees(
|
|
1197
|
-
return typeof
|
|
1473
|
+
ManagedBudgetWithFees(f) {
|
|
1474
|
+
return typeof f != "string" && !f.authorized.includes(this.assertValidAddress()) && (f.authorized = [this.assertValidAddress(), ...f.authorized], f.roles = [L.MANAGER, ...f.roles]), new M0(
|
|
1198
1475
|
{ config: this._config, account: this._account },
|
|
1199
|
-
|
|
1476
|
+
f
|
|
1200
1477
|
);
|
|
1201
1478
|
}
|
|
1202
1479
|
/**
|
|
@@ -1211,10 +1488,44 @@ const E = class E extends B0 {
|
|
|
1211
1488
|
* @param {DeployablePayloadOrAddress<ManagedBudgetWithFeesV2Payload>} options
|
|
1212
1489
|
* @returns {ManagedBudgetWithFeesV2}
|
|
1213
1490
|
*/
|
|
1214
|
-
ManagedBudgetWithFeesV2(
|
|
1215
|
-
return typeof
|
|
1491
|
+
ManagedBudgetWithFeesV2(f) {
|
|
1492
|
+
return typeof f != "string" && !f.authorized.includes(this.assertValidAddress()) && (f.authorized = [this.assertValidAddress(), ...f.authorized], f.roles = [L.MANAGER, ...f.roles]), new O0(
|
|
1216
1493
|
{ config: this._config, account: this._account },
|
|
1217
|
-
|
|
1494
|
+
f
|
|
1495
|
+
);
|
|
1496
|
+
}
|
|
1497
|
+
// /**
|
|
1498
|
+
// * Bound {@link TransparentBudget} constructor that reuses the same configuration as the Boost Core instance.
|
|
1499
|
+
// *
|
|
1500
|
+
// * @example
|
|
1501
|
+
// * ```ts
|
|
1502
|
+
// * const budget = core.TransparentBudget('0x') // is roughly equivalent to
|
|
1503
|
+
// * const budget = new TransparentBudget({ config: core._config, account: core._account }, '0x')
|
|
1504
|
+
// * ```
|
|
1505
|
+
// * @param {DeployablePayloadOrAddress<never>} options
|
|
1506
|
+
// * @returns {TransparentBudget}
|
|
1507
|
+
// */
|
|
1508
|
+
// TransparentBudget(options: DeployablePayloadOrAddress<never>) {
|
|
1509
|
+
// return new TransparentBudget(
|
|
1510
|
+
// { config: this._config, account: this._account },
|
|
1511
|
+
// options,
|
|
1512
|
+
// );
|
|
1513
|
+
// }
|
|
1514
|
+
/**
|
|
1515
|
+
* Bound {@link TransparentBudget} constructor that reuses the same configuration as the Boost Core instance.
|
|
1516
|
+
*
|
|
1517
|
+
* @example
|
|
1518
|
+
* ```ts
|
|
1519
|
+
* const budget = core.TransparentBudget('0x') // is roughly equivalent to
|
|
1520
|
+
* const budget = new TransparentBudget({ config: core._config, account: core._account }, '0x')
|
|
1521
|
+
* ```
|
|
1522
|
+
* @param {DeployablePayloadOrAddress<ManagedBudgetPayload>} options
|
|
1523
|
+
* @returns {TransparentBudget}
|
|
1524
|
+
*/
|
|
1525
|
+
TransparentBudget(f) {
|
|
1526
|
+
return new $(
|
|
1527
|
+
{ config: this._config, account: this._account },
|
|
1528
|
+
f
|
|
1218
1529
|
);
|
|
1219
1530
|
}
|
|
1220
1531
|
// /**
|
|
@@ -1245,10 +1556,10 @@ const E = class E extends B0 {
|
|
|
1245
1556
|
* @param {DeployablePayloadOrAddress<VestingBudgetPayload>} options
|
|
1246
1557
|
* @returns {VestingBudget}
|
|
1247
1558
|
*/
|
|
1248
|
-
AllowListIncentive(
|
|
1249
|
-
return new
|
|
1559
|
+
AllowListIncentive(f) {
|
|
1560
|
+
return new W0(
|
|
1250
1561
|
{ config: this._config, account: this._account },
|
|
1251
|
-
|
|
1562
|
+
f
|
|
1252
1563
|
);
|
|
1253
1564
|
}
|
|
1254
1565
|
/**
|
|
@@ -1262,10 +1573,10 @@ const E = class E extends B0 {
|
|
|
1262
1573
|
* @param {CGDAIncentivePayload} options
|
|
1263
1574
|
* @returns {CGDAIncentive}
|
|
1264
1575
|
*/
|
|
1265
|
-
CGDAIncentive(
|
|
1266
|
-
return new
|
|
1576
|
+
CGDAIncentive(f) {
|
|
1577
|
+
return new z0(
|
|
1267
1578
|
{ config: this._config, account: this._account },
|
|
1268
|
-
|
|
1579
|
+
f
|
|
1269
1580
|
);
|
|
1270
1581
|
}
|
|
1271
1582
|
/**
|
|
@@ -1279,10 +1590,10 @@ const E = class E extends B0 {
|
|
|
1279
1590
|
* @param {ERC20IncentivePayload} options
|
|
1280
1591
|
* @returns {ERC20Incentive}
|
|
1281
1592
|
*/
|
|
1282
|
-
ERC20Incentive(
|
|
1283
|
-
return new
|
|
1593
|
+
ERC20Incentive(f) {
|
|
1594
|
+
return new j0(
|
|
1284
1595
|
{ config: this._config, account: this._account },
|
|
1285
|
-
|
|
1596
|
+
f
|
|
1286
1597
|
);
|
|
1287
1598
|
}
|
|
1288
1599
|
/**
|
|
@@ -1296,10 +1607,10 @@ const E = class E extends B0 {
|
|
|
1296
1607
|
* @param {ERC20PeggedIncentivePayload} options
|
|
1297
1608
|
* @returns {ERC20PeggedIncentive}
|
|
1298
1609
|
*/
|
|
1299
|
-
ERC20PeggedIncentive(
|
|
1300
|
-
return new
|
|
1610
|
+
ERC20PeggedIncentive(f) {
|
|
1611
|
+
return new G0(
|
|
1301
1612
|
{ config: this._config, account: this._account },
|
|
1302
|
-
|
|
1613
|
+
f
|
|
1303
1614
|
);
|
|
1304
1615
|
}
|
|
1305
1616
|
// /**
|
|
@@ -1332,10 +1643,10 @@ const E = class E extends B0 {
|
|
|
1332
1643
|
* @param {PointsIncentivePayload} options
|
|
1333
1644
|
* @returns {PointsIncentive}
|
|
1334
1645
|
*/
|
|
1335
|
-
PointsIncentive(
|
|
1336
|
-
return new
|
|
1646
|
+
PointsIncentive(f) {
|
|
1647
|
+
return new U0(
|
|
1337
1648
|
{ config: this._config, account: this._account },
|
|
1338
|
-
|
|
1649
|
+
f
|
|
1339
1650
|
);
|
|
1340
1651
|
}
|
|
1341
1652
|
/**
|
|
@@ -1350,11 +1661,11 @@ const E = class E extends B0 {
|
|
|
1350
1661
|
* @param {?boolean} [isBase]
|
|
1351
1662
|
* @returns {SignerValidator}
|
|
1352
1663
|
*/
|
|
1353
|
-
SignerValidator(
|
|
1354
|
-
return new
|
|
1664
|
+
SignerValidator(f, e) {
|
|
1665
|
+
return new K0(
|
|
1355
1666
|
{ config: this._config, account: this._account },
|
|
1356
|
-
|
|
1357
|
-
|
|
1667
|
+
f,
|
|
1668
|
+
e
|
|
1358
1669
|
);
|
|
1359
1670
|
}
|
|
1360
1671
|
/**
|
|
@@ -1369,15 +1680,15 @@ const E = class E extends B0 {
|
|
|
1369
1680
|
* @param {?boolean} [isBase]
|
|
1370
1681
|
* @returns {LimitedSignerValidator}
|
|
1371
1682
|
*/
|
|
1372
|
-
LimitedSignerValidator(
|
|
1373
|
-
return new
|
|
1683
|
+
LimitedSignerValidator(f, e) {
|
|
1684
|
+
return new J0(
|
|
1374
1685
|
{ config: this._config, account: this._account },
|
|
1375
|
-
|
|
1376
|
-
|
|
1686
|
+
f,
|
|
1687
|
+
e
|
|
1377
1688
|
);
|
|
1378
1689
|
}
|
|
1379
1690
|
/**
|
|
1380
|
-
* Bound {@link
|
|
1691
|
+
* Bound {@link ERC20VariableCriteriaIncentiveV2} constructor that reuses the same configuration as the Boost Core instance.
|
|
1381
1692
|
*
|
|
1382
1693
|
* @example
|
|
1383
1694
|
* ```ts
|
|
@@ -1386,32 +1697,32 @@ const E = class E extends B0 {
|
|
|
1386
1697
|
* ```
|
|
1387
1698
|
* @param {DeployablePayloadOrAddress<ERC20VariableCrtieriaIncentivePayload>} options
|
|
1388
1699
|
* @param {?boolean} [isBase]
|
|
1389
|
-
* @returns {
|
|
1700
|
+
* @returns {ERC20VariableCrtieriaIncentiveV2}
|
|
1390
1701
|
* */
|
|
1391
|
-
|
|
1392
|
-
return new
|
|
1702
|
+
ERC20VariableCriteriaIncentiveV2(f, e) {
|
|
1703
|
+
return new H0(
|
|
1393
1704
|
{ config: this._config, account: this._account },
|
|
1394
|
-
|
|
1395
|
-
|
|
1705
|
+
f,
|
|
1706
|
+
e
|
|
1396
1707
|
);
|
|
1397
1708
|
}
|
|
1398
1709
|
/**
|
|
1399
|
-
* Bound {@link
|
|
1710
|
+
* Bound {@link ERC20PeggedVariableCriteriaIncentiveV2} constructor that reuses the same configuration as the Boost Core instance.
|
|
1400
1711
|
*
|
|
1401
1712
|
* @example
|
|
1402
1713
|
* ```ts
|
|
1403
|
-
* const validator = core.
|
|
1404
|
-
* const validator = new
|
|
1714
|
+
* const validator = core.ERC20PeggedVariableCriteriaIncentiveV2({ ... }) // is roughly equivalent to
|
|
1715
|
+
* const validator = new ERC20PeggedVariableCriteriaIncentiveV2({ config: core._config, account: core._account }, { ... })
|
|
1405
1716
|
* ```
|
|
1406
|
-
* @param {DeployablePayloadOrAddress<
|
|
1717
|
+
* @param {DeployablePayloadOrAddress<ERC20PeggedVariableCriteriaIncentiveV2>} options
|
|
1407
1718
|
* @param {?boolean} [isBase]
|
|
1408
|
-
* @returns {
|
|
1719
|
+
* @returns {ERC20PeggedVariableCriteriaIncentiveV2}
|
|
1409
1720
|
* */
|
|
1410
|
-
|
|
1411
|
-
return new
|
|
1721
|
+
ERC20PeggedVariableCriteriaIncentiveV2(f, e) {
|
|
1722
|
+
return new k0(
|
|
1412
1723
|
{ config: this._config, account: this._account },
|
|
1413
|
-
|
|
1414
|
-
|
|
1724
|
+
f,
|
|
1725
|
+
e
|
|
1415
1726
|
);
|
|
1416
1727
|
}
|
|
1417
1728
|
/**
|
|
@@ -1426,11 +1737,11 @@ const E = class E extends B0 {
|
|
|
1426
1737
|
* @param {?boolean} [isBase]
|
|
1427
1738
|
* @returns {ERC20VariableIncentive}
|
|
1428
1739
|
*/
|
|
1429
|
-
ERC20VariableIncentive(
|
|
1430
|
-
return new
|
|
1740
|
+
ERC20VariableIncentive(f, e) {
|
|
1741
|
+
return new n1(
|
|
1431
1742
|
{ config: this._config, account: this._account },
|
|
1432
|
-
|
|
1433
|
-
|
|
1743
|
+
f,
|
|
1744
|
+
e
|
|
1434
1745
|
);
|
|
1435
1746
|
}
|
|
1436
1747
|
/**
|
|
@@ -1441,15 +1752,15 @@ const E = class E extends B0 {
|
|
|
1441
1752
|
* @param {?DeployableOptions} [_options]
|
|
1442
1753
|
* @returns {GenericDeployableParams}
|
|
1443
1754
|
*/
|
|
1444
|
-
buildParameters(
|
|
1445
|
-
const [
|
|
1446
|
-
|
|
1447
|
-
|
|
1755
|
+
buildParameters(f, e) {
|
|
1756
|
+
const [t, a] = this.validateDeploymentConfig(
|
|
1757
|
+
f,
|
|
1758
|
+
e
|
|
1448
1759
|
);
|
|
1449
1760
|
return {
|
|
1450
|
-
abi:
|
|
1451
|
-
bytecode:
|
|
1452
|
-
args:
|
|
1761
|
+
abi: y,
|
|
1762
|
+
bytecode: s1,
|
|
1763
|
+
args: t,
|
|
1453
1764
|
...this.optionallyAttachAccount(a.account)
|
|
1454
1765
|
};
|
|
1455
1766
|
}
|
|
@@ -1466,22 +1777,22 @@ const E = class E extends B0 {
|
|
|
1466
1777
|
* @param {?WriteParams} [params] Additional transaction overrides
|
|
1467
1778
|
* @returns {Promise<{ hash: Hex; result: void }>} The transaction hash and simulation result
|
|
1468
1779
|
*/
|
|
1469
|
-
async topupIncentiveFromBudgetPreFee(
|
|
1470
|
-
const c = await this.getBoost(
|
|
1471
|
-
if (
|
|
1472
|
-
throw new Error(`Incentive ID ${
|
|
1473
|
-
const
|
|
1474
|
-
if (!
|
|
1475
|
-
throw new Error(`Incentive with ID ${
|
|
1476
|
-
const s = await
|
|
1477
|
-
if (!(
|
|
1780
|
+
async topupIncentiveFromBudgetPreFee(f, e, t, a, b) {
|
|
1781
|
+
const c = await this.getBoost(f, b);
|
|
1782
|
+
if (e >= c.incentives.length)
|
|
1783
|
+
throw new Error(`Incentive ID ${e} out of range`);
|
|
1784
|
+
const d = c.incentives[Number(e)];
|
|
1785
|
+
if (!d)
|
|
1786
|
+
throw new Error(`Incentive with ID ${e} not found`);
|
|
1787
|
+
const s = await d.getTopupPayload(t);
|
|
1788
|
+
if (!(t > 0))
|
|
1478
1789
|
throw new Error("Top-up amount must be greater than zero");
|
|
1479
1790
|
return await this.topupIncentiveFromBudgetRaw(
|
|
1480
|
-
e,
|
|
1481
1791
|
f,
|
|
1792
|
+
e,
|
|
1482
1793
|
s,
|
|
1483
1794
|
a,
|
|
1484
|
-
|
|
1795
|
+
b
|
|
1485
1796
|
);
|
|
1486
1797
|
}
|
|
1487
1798
|
/**
|
|
@@ -1499,14 +1810,14 @@ const E = class E extends B0 {
|
|
|
1499
1810
|
* @param {?WriteParams} [params] Additional transaction overrides
|
|
1500
1811
|
* @returns {Promise<{ hash: Hex; result: void }>}
|
|
1501
1812
|
*/
|
|
1502
|
-
async topupIncentiveFromBudgetPostFee(
|
|
1503
|
-
const c = await this.protocolFee(
|
|
1813
|
+
async topupIncentiveFromBudgetPostFee(f, e, t, a, b) {
|
|
1814
|
+
const c = await this.protocolFee(b), d = t * F / (F + c);
|
|
1504
1815
|
return this.topupIncentiveFromBudgetPreFee(
|
|
1505
|
-
e,
|
|
1506
1816
|
f,
|
|
1507
|
-
|
|
1817
|
+
e,
|
|
1818
|
+
d,
|
|
1508
1819
|
a,
|
|
1509
|
-
|
|
1820
|
+
b
|
|
1510
1821
|
);
|
|
1511
1822
|
}
|
|
1512
1823
|
/**
|
|
@@ -1521,20 +1832,20 @@ const E = class E extends B0 {
|
|
|
1521
1832
|
* @param {?WriteParams} [params]
|
|
1522
1833
|
* @returns {Promise<{ hash: Hex; result: void }>}
|
|
1523
1834
|
*/
|
|
1524
|
-
async topupIncentiveFromSenderPreFee(
|
|
1525
|
-
const
|
|
1526
|
-
if (
|
|
1527
|
-
throw new Error(`Incentive ID ${
|
|
1528
|
-
const c =
|
|
1835
|
+
async topupIncentiveFromSenderPreFee(f, e, t, a) {
|
|
1836
|
+
const b = await this.getBoost(f, a);
|
|
1837
|
+
if (e >= b.incentives.length)
|
|
1838
|
+
throw new Error(`Incentive ID ${e} out of range`);
|
|
1839
|
+
const c = b.incentives[Number(e)];
|
|
1529
1840
|
if (!c)
|
|
1530
|
-
throw new Error(`Incentive with ID ${
|
|
1531
|
-
if (!(
|
|
1841
|
+
throw new Error(`Incentive with ID ${e} not found`);
|
|
1842
|
+
if (!(t > 0))
|
|
1532
1843
|
throw new Error("Top-up amount must be greater than zero");
|
|
1533
|
-
const
|
|
1844
|
+
const d = await c.getTopupPayload(t);
|
|
1534
1845
|
return await this.topupIncentiveFromSenderRaw(
|
|
1535
|
-
e,
|
|
1536
1846
|
f,
|
|
1537
|
-
|
|
1847
|
+
e,
|
|
1848
|
+
d,
|
|
1538
1849
|
a
|
|
1539
1850
|
);
|
|
1540
1851
|
}
|
|
@@ -1552,11 +1863,11 @@ const E = class E extends B0 {
|
|
|
1552
1863
|
* @param {?WriteParams} [params]
|
|
1553
1864
|
* @returns {Promise<{ hash: Hex; result: void }>}
|
|
1554
1865
|
*/
|
|
1555
|
-
async topupIncentiveFromSenderPostFee(
|
|
1556
|
-
const
|
|
1866
|
+
async topupIncentiveFromSenderPostFee(f, e, t, a) {
|
|
1867
|
+
const b = await this.protocolFee(a), c = t * F / (F + b);
|
|
1557
1868
|
return this.topupIncentiveFromSenderPreFee(
|
|
1558
|
-
e,
|
|
1559
1869
|
f,
|
|
1870
|
+
e,
|
|
1560
1871
|
c,
|
|
1561
1872
|
a
|
|
1562
1873
|
);
|
|
@@ -1572,19 +1883,19 @@ const E = class E extends B0 {
|
|
|
1572
1883
|
* @param {?WriteParams} [params]
|
|
1573
1884
|
* @returns {Promise<{ hash: Hex; result: void }>}
|
|
1574
1885
|
*/
|
|
1575
|
-
async topupIncentiveFromSenderRaw(
|
|
1576
|
-
const { request:
|
|
1886
|
+
async topupIncentiveFromSenderRaw(f, e, t, a) {
|
|
1887
|
+
const { request: b, result: c } = await w0(
|
|
1577
1888
|
this._config,
|
|
1578
1889
|
{
|
|
1579
1890
|
...this.optionallyAttachAccount(),
|
|
1580
1891
|
...a,
|
|
1581
1892
|
address: this.assertValidAddress(),
|
|
1582
|
-
args: [
|
|
1893
|
+
args: [f, e, t]
|
|
1583
1894
|
}
|
|
1584
1895
|
);
|
|
1585
|
-
return { hash: await
|
|
1896
|
+
return { hash: await v0(
|
|
1586
1897
|
this._config,
|
|
1587
|
-
|
|
1898
|
+
b
|
|
1588
1899
|
), result: c };
|
|
1589
1900
|
}
|
|
1590
1901
|
/**
|
|
@@ -1600,29 +1911,29 @@ const E = class E extends B0 {
|
|
|
1600
1911
|
* @param {?WriteParams} [params]
|
|
1601
1912
|
* @returns {Promise<{ hash: Hex; result: void }>}
|
|
1602
1913
|
*/
|
|
1603
|
-
async topupIncentiveFromBudgetRaw(
|
|
1604
|
-
const { request: c, result:
|
|
1914
|
+
async topupIncentiveFromBudgetRaw(f, e, t, a, b) {
|
|
1915
|
+
const { request: c, result: d } = await m0(
|
|
1605
1916
|
this._config,
|
|
1606
1917
|
{
|
|
1607
1918
|
...this.optionallyAttachAccount(),
|
|
1608
|
-
...
|
|
1919
|
+
...b,
|
|
1609
1920
|
address: this.assertValidAddress(),
|
|
1610
|
-
args: [
|
|
1921
|
+
args: [f, e, t, a ?? C]
|
|
1611
1922
|
}
|
|
1612
1923
|
);
|
|
1613
|
-
return { hash: await
|
|
1924
|
+
return { hash: await C0(
|
|
1614
1925
|
this._config,
|
|
1615
1926
|
c
|
|
1616
|
-
), result:
|
|
1927
|
+
), result: d };
|
|
1617
1928
|
}
|
|
1618
1929
|
};
|
|
1619
|
-
|
|
1620
|
-
let
|
|
1930
|
+
M.addresses = S;
|
|
1931
|
+
let z = M;
|
|
1621
1932
|
export {
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1933
|
+
K1 as BOOST_CORE_ADDRESS,
|
|
1934
|
+
S as BOOST_CORE_ADDRESSES,
|
|
1935
|
+
z as BoostCore,
|
|
1936
|
+
F as FEE_DENOMINATOR,
|
|
1937
|
+
y as boostCoreAbi
|
|
1627
1938
|
};
|
|
1628
1939
|
//# sourceMappingURL=BoostCore.js.map
|