@boostxyz/sdk 1.1.0-alpha.24 → 2.0.0-alpha.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Actions/Action.cjs +1 -1
- package/dist/Actions/Action.js +7 -7
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.cjs.map +1 -1
- package/dist/Actions/EventAction.d.ts +7 -7
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +153 -152
- package/dist/Actions/EventAction.js.map +1 -1
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.js +10 -10
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.js +10 -10
- package/dist/AllowLists/SimpleDenyList.cjs +1 -1
- package/dist/AllowLists/SimpleDenyList.js +3 -3
- package/dist/Auth/PassthroughAuth.cjs +1 -1
- package/dist/Auth/PassthroughAuth.js +1 -1
- package/dist/BoostCore.cjs +2 -1
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.d.ts +564 -1
- package/dist/BoostCore.d.ts.map +1 -1
- package/dist/BoostCore.js +1322 -29
- package/dist/BoostCore.js.map +1 -1
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.js +27 -27
- package/dist/Budgets/Budget.cjs +1 -1
- package/dist/Budgets/Budget.js +2 -2
- package/dist/Budgets/ManagedBudget.cjs +1 -1
- package/dist/Budgets/ManagedBudget.js +23 -23
- package/dist/Deployable/DeployableTarget.cjs +1 -1
- package/dist/Deployable/DeployableTarget.js +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.js +23 -23
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.js +8 -8
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.js +12 -12
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.js +16 -16
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +2 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +42 -15
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js +188 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -0
- package/dist/Incentives/ERC20VariableIncentive.cjs +2 -0
- package/dist/Incentives/ERC20VariableIncentive.cjs.map +1 -0
- package/dist/Incentives/ERC20VariableIncentive.d.ts +7 -5
- package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
- package/dist/{Incentive-rM5nKznp.js → Incentives/ERC20VariableIncentive.js} +42 -67
- package/dist/Incentives/ERC20VariableIncentive.js.map +1 -0
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.cjs.map +1 -1
- package/dist/Incentives/Incentive.d.ts +552 -3
- package/dist/Incentives/Incentive.d.ts.map +1 -1
- package/dist/Incentives/Incentive.js +40 -16
- package/dist/Incentives/Incentive.js.map +1 -1
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.js +8 -8
- package/dist/{SimpleDenyList-DNj5qDWM.cjs → SimpleDenyList-BdlpZdDz.cjs} +2 -2
- package/dist/{SimpleDenyList-DNj5qDWM.cjs.map → SimpleDenyList-BdlpZdDz.cjs.map} +1 -1
- package/dist/{SimpleDenyList-BDXpY74P.js → SimpleDenyList-D0cyVUVv.js} +16 -16
- package/dist/{SimpleDenyList-BDXpY74P.js.map → SimpleDenyList-D0cyVUVv.js.map} +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs +2 -0
- package/dist/Validators/LimitedSignerValidator.cjs.map +1 -0
- package/dist/Validators/LimitedSignerValidator.d.ts +806 -0
- package/dist/Validators/LimitedSignerValidator.d.ts.map +1 -0
- package/dist/Validators/LimitedSignerValidator.js +299 -0
- package/dist/Validators/LimitedSignerValidator.js.map +1 -0
- package/dist/Validators/SignerValidator.cjs +1 -1
- package/dist/Validators/SignerValidator.cjs.map +1 -1
- package/dist/Validators/SignerValidator.d.ts +2 -2
- package/dist/Validators/SignerValidator.d.ts.map +1 -1
- package/dist/Validators/SignerValidator.js +39 -41
- package/dist/Validators/SignerValidator.js.map +1 -1
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.cjs.map +1 -1
- package/dist/Validators/Validator.d.ts +22 -2
- package/dist/Validators/Validator.d.ts.map +1 -1
- package/dist/Validators/Validator.js +26 -17
- package/dist/Validators/Validator.js.map +1 -1
- package/dist/{componentInterfaces-BBCFkrZv.js → componentInterfaces-bIVo8eyA.js} +9 -9
- package/dist/componentInterfaces-bIVo8eyA.js.map +1 -0
- package/dist/{deployments-fJsWblwS.js → deployments-Ccx1MtoK.js} +5 -5
- package/dist/deployments-Ccx1MtoK.js.map +1 -0
- package/dist/{generated-CsNyWPKA.js → generated-BAKNSOjJ.js} +661 -381
- package/dist/generated-BAKNSOjJ.js.map +1 -0
- package/dist/generated-Cqn4wS01.cjs +3 -0
- package/dist/generated-Cqn4wS01.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +150 -138
- package/dist/index.js.map +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts +10 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +27 -26
- package/dist/utils.js.map +1 -1
- package/package.json +21 -5
- package/src/Actions/EventAction.ts +29 -27
- package/src/BoostCore.test.ts +3 -3
- package/src/BoostCore.ts +51 -5
- package/src/Incentives/AllowListIncentive.test.ts +19 -21
- package/src/Incentives/CGDAIncentive.test.ts +20 -22
- package/src/Incentives/ERC1155Incentive.test.ts +14 -15
- package/src/Incentives/ERC20Incentive.test.ts +17 -19
- package/src/Incentives/ERC20VariableCriteriaIncentive.test.ts +62 -10
- package/src/Incentives/ERC20VariableCriteriaIncentive.ts +79 -37
- package/src/Incentives/ERC20VariableIncentive.test.ts +16 -18
- package/src/Incentives/ERC20VariableIncentive.ts +16 -8
- package/src/Incentives/Incentive.ts +4 -1
- package/src/Incentives/PointsIncentive.test.ts +3 -5
- package/src/Validators/LimitedSignerValidator.test.ts +223 -0
- package/src/Validators/LimitedSignerValidator.ts +707 -0
- package/src/Validators/SignerValidator.test.ts +21 -22
- package/src/Validators/SignerValidator.ts +3 -4
- package/src/Validators/Validator.test.ts +7 -1
- package/src/Validators/Validator.ts +30 -3
- package/src/index.test.ts +2 -0
- package/src/index.ts +1 -0
- package/src/utils.ts +11 -0
- package/dist/BoostCore-Btl5BdAs.cjs +0 -3
- package/dist/BoostCore-Btl5BdAs.cjs.map +0 -1
- package/dist/BoostCore-CD56zbYX.js +0 -2641
- package/dist/BoostCore-CD56zbYX.js.map +0 -1
- package/dist/Incentive-CcnOIc8L.cjs +0 -2
- package/dist/Incentive-CcnOIc8L.cjs.map +0 -1
- package/dist/Incentive-rM5nKznp.js.map +0 -1
- package/dist/componentInterfaces-BBCFkrZv.js.map +0 -1
- package/dist/deployments-fJsWblwS.js.map +0 -1
- package/dist/generated-CsNyWPKA.js.map +0 -1
- package/dist/generated-DHerxf1y.cjs +0 -3
- package/dist/generated-DHerxf1y.cjs.map +0 -1
package/dist/BoostCore.js
CHANGED
|
@@ -1,32 +1,1325 @@
|
|
|
1
|
-
import { T as
|
|
2
|
-
import {
|
|
3
|
-
import "
|
|
4
|
-
import "
|
|
5
|
-
import "./
|
|
6
|
-
import "./Actions/
|
|
7
|
-
import "./
|
|
8
|
-
import "./AllowLists/
|
|
9
|
-
import "./
|
|
10
|
-
import "./
|
|
11
|
-
import "./
|
|
12
|
-
import "./
|
|
13
|
-
import "./Budgets/
|
|
14
|
-
import "./
|
|
15
|
-
import "./
|
|
16
|
-
import "./Incentives/
|
|
17
|
-
import "./Incentives/
|
|
18
|
-
import "./Incentives/
|
|
19
|
-
import "./Incentive
|
|
20
|
-
import "./Incentives/PointsIncentive.js";
|
|
21
|
-
import "./Validators/
|
|
22
|
-
import "./Validators/
|
|
23
|
-
import "./
|
|
24
|
-
import "./
|
|
1
|
+
import { T as A, bt as M, bu as T, bv as V, bw as q, bx as z, by as G, bz as U, bA as k, bB as W, bC as H, bD as Q, bE as Y, bF as J, bG as K, bH as X } from "./generated-BAKNSOjJ.js";
|
|
2
|
+
import { waitForTransactionReceipt as Z, getAccount as p, getChains as ff, getTransactionReceipt as bf } from "@wagmi/core";
|
|
3
|
+
import { createClient as ef, custom as af, parseEther as tf, parseEventLogs as B, zeroAddress as m, zeroHash as l } from "viem";
|
|
4
|
+
import { f as cf } from "./deployments-Ccx1MtoK.js";
|
|
5
|
+
import { actionFromAddress as df } from "./Actions/Action.js";
|
|
6
|
+
import { EventAction as nf } from "./Actions/EventAction.js";
|
|
7
|
+
import { allowListFromAddress as sf, OpenAllowList as of } from "./AllowLists/AllowList.js";
|
|
8
|
+
import { SimpleAllowList as rf } from "./AllowLists/SimpleAllowList.js";
|
|
9
|
+
import { S as uf } from "./SimpleDenyList-D0cyVUVv.js";
|
|
10
|
+
import { PassthroughAuth as lf } from "./Auth/PassthroughAuth.js";
|
|
11
|
+
import { prepareBoostPayload as _, Boost as E } from "./Boost.js";
|
|
12
|
+
import { budgetFromAddress as hf } from "./Budgets/Budget.js";
|
|
13
|
+
import { ManagedBudget as gf } from "./Budgets/ManagedBudget.js";
|
|
14
|
+
import { Deployable as wf } from "./Deployable/Deployable.js";
|
|
15
|
+
import { AllowListIncentive as mf } from "./Incentives/AllowListIncentive.js";
|
|
16
|
+
import { CGDAIncentive as vf } from "./Incentives/CGDAIncentive.js";
|
|
17
|
+
import { ERC20Incentive as Cf } from "./Incentives/ERC20Incentive.js";
|
|
18
|
+
import { ERC20VariableCriteriaIncentive as Af } from "./Incentives/ERC20VariableCriteriaIncentive.js";
|
|
19
|
+
import { incentiveFromAddress as If } from "./Incentives/Incentive.js";
|
|
20
|
+
import { PointsIncentive as yf } from "./Incentives/PointsIncentive.js";
|
|
21
|
+
import { LimitedSignerValidator as Pf } from "./Validators/LimitedSignerValidator.js";
|
|
22
|
+
import { SignerValidator as Bf } from "./Validators/SignerValidator.js";
|
|
23
|
+
import { BoostValidatorEOA as R, validatorFromAddress as _f } from "./Validators/Validator.js";
|
|
24
|
+
import { BoostCoreNoIdentifierEmitted as Ef, DeployableUnknownOwnerProvidedError as Rf, InvalidProtocolChainIdError as Ff, BudgetMustAuthorizeBoostCore as Lf, MustInitializeBudgetError as Df, IncentiveNotCloneableError as Of, BoostNotFoundError as Sf } from "./errors.js";
|
|
25
|
+
import { assertValidAddressByChainId as h } from "./utils.js";
|
|
26
|
+
import { ERC20VariableIncentive as Nf } from "./Incentives/ERC20VariableIncentive.js";
|
|
27
|
+
import { simulateContract as $f, writeContract as jf } from "viem/actions";
|
|
28
|
+
import { parseAccount as xf, getAddress as Mf } from "viem/utils";
|
|
29
|
+
const Tf = "0x60806040526103e8600360146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555034801561003a575f80fd5b50604051615301380380615301833981810160405281019061005c919061026b565b61006b336100f260201b60201c565b8160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506102a9565b6101006101ce60201b60201c565b15610178577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561013a57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506101cb565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f90565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6101ff826101d6565b9050919050565b5f610210826101f5565b9050919050565b61022081610206565b811461022a575f80fd5b50565b5f8151905061023b81610217565b92915050565b61024a816101f5565b8114610254575f80fd5b50565b5f8151905061026581610241565b92915050565b5f8060408385031215610281576102806101d2565b5b5f61028e8582860161022d565b925050602061029f85828601610257565b9150509250929050565b61504b806102b65f395ff3fe60806040526004361061014a575f3560e01c80637b103999116100b5578063dd98558c1161006e578063dd98558c146103fa578063e21ff73114610437578063eccc19a614610473578063f04e283e1461049b578063f2fde38b146104b7578063fee81cf4146104d35761014a565b80637b1039991461030c5780638da5cb5b146103365780638fe4f52314610360578063a92647dc1461037c578063b0e21e8a146103a6578063d73792a9146103d05761014a565b806354d1f13d1161010757806354d1f13d1461024a5780635edb9eb0146102545780635f32c23e1461027e57806360777795146102a6578063715018a6146102e6578063730f9c57146102f05761014a565b80630250e72b1461014e57806313c8e2de1461018a57806325692962146101c657806339a51be5146101d057806343bc42d3146101fa57806346877b1a14610222575b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f91906137f5565b61050f565b6040516101819190613950565b60405180910390f35b348015610195575f80fd5b506101b060048036038101906101ab9190613993565b6105e6565b6040516101bd9190613c21565b60405180910390f35b6101ce61088e565b005b3480156101db575f80fd5b506101e46108df565b6040516101f19190613c50565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b9190613c93565b610904565b005b34801561022d575f80fd5b5061024860048036038101906102439190613ce8565b610938565b005b610252610983565b005b34801561025f575f80fd5b506102686109bc565b6040516102759190613d22565b60405180910390f35b348015610289575f80fd5b506102a4600480360381019061029f9190613d3b565b6109c7565b005b3480156102b1575f80fd5b506102cc60048036038101906102c791906137f5565b610b53565b6040516102dd959493929190613d88565b60405180910390f35b6102ee610bb0565b005b61030a60048036038101906103059190613e3a565b610bc3565b005b348015610317575f80fd5b50610320611104565b60405161032d9190613ef0565b60405180910390f35b348015610341575f80fd5b5061034a611129565b6040516103579190613c50565b60405180910390f35b61037a60048036038101906103759190613f09565b611151565b005b348015610387575f80fd5b50610390611166565b60405161039d9190613fad565b60405180910390f35b3480156103b1575f80fd5b506103ba61118b565b6040516103c79190613fd5565b60405180910390f35b3480156103db575f80fd5b506103e46111a5565b6040516103f19190613fd5565b60405180910390f35b348015610405575f80fd5b50610420600480360381019061041b9190613fee565b6111ab565b60405161042e92919061405f565b60405180910390f35b348015610442575f80fd5b5061045d60048036038101906104589190614086565b6118af565b60405161046a9190613c21565b60405180910390f35b34801561047e575f80fd5b5061049960048036038101906104949190613ce8565b61229d565b005b6104b560048036038101906104b09190613ce8565b6122e8565b005b6104d160048036038101906104cc9190613ce8565b612326565b005b3480156104de575f80fd5b506104f960048036038101906104f49190613ce8565b61234f565b6040516105069190613d22565b60405180910390f35b610517613607565b60045f8381526020019081526020015f206040518060a00160405290815f82015f9054906101000a900460ff16600281111561055657610555613820565b5b600281111561056857610567613820565b5b81526020015f820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820154815250509050919050565b6105ee613659565b5f8281548110610601576106006140d1565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482018054806020026020016040519081016040528092919081815260200182805480156107ee57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116107a5575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b5f610897612368565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61090c612372565b80600360146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b610940612372565b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f8080549050905090565b3068929eee149b4bd2126854036109e55763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6109fc83836123a9565b90505f60045f8381526020019081526020015f2090505f816002015461271067ffffffffffffffff168360010154610a34919061412b565b610a3e9190614199565b90505f610a4a836123db565b905081811115610b3f575f8282610a6191906141c9565b90505f61271067ffffffffffffffff16856002015483610a81919061412b565b610a8b9190614199565b9050610a9785826125e1565b80856001015410610ac15780856001015f828254610ab591906141c9565b92505081905550610acb565b5f85600101819055505b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1687897f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051610b349190613d22565b60405180910390a450505b505050503868929eee149b4bd21268555050565b6004602052805f5260405f205f91509050805f015f9054906101000a900460ff1690805f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154905085565b610bb8612372565b610bc15f6127c2565b565b3068929eee149b4bd212685403610be15763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110610c0157610c006140d1565b5b905f5260205f20906008020190505f610c1a88886123a9565b90505f60045f8381526020019081526020015f209050826002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3f756de8588886040518463ffffffff1660e01b8152600401610c9093929190614256565b602060405180830381865afa158015610cab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccf91906142bb565b610d05576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663703b69008a8a878a8a6040518663ffffffff1660e01b8152600401610d699594939291906142e6565b6020604051808303815f875af1158015610d85573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da991906142bb565b610ddf576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16825f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610e3c575f610e46565b610e45826123db565b5b9050836004018981548110610e5e57610e5d6140d1565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb1757cf8689896040518463ffffffff1660e01b8152600401610ec293929190614256565b6020604051808303815f875af1158015610ede573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0291906142bb565b610f47578487876040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610f3e93929190614256565b60405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610fa4575f610fae565b610fad836123db565b5b90505f818311610fbe575f610fcb565b8183610fca91906141c9565b5b90505f61271067ffffffffffffffff16856002015483610feb919061412b565b610ff59190614199565b90505f8111156110955761100985826125e1565b80856001015f82825461101c91906141c9565b9250508190555060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168c8e7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b178460405161108c9190613d22565b60405180910390a45b8773ffffffffffffffffffffffffffffffffffffffff168c8e7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478e8e8e6040516110e193929190614256565b60405180910390a4505050505050503868929eee149b4bd2126855505050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b61115f858585858533610bc3565b5050505050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900467ffffffffffffffff1681565b61271081565b5f803068929eee149b4bd2126854036111cb5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f8085815481106111eb576111ea6140d1565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482018054806020026020016040519081016040528092919081815260200182805480156113d857602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161138f575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050806060015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114dc576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6114e786866123a9565b90505f60045f8381526020019081526020015f2090505f898981019061150d91906144bd565b90505f81602001518060200190518101906115289190614518565b90505f61271067ffffffffffffffff16846002015483611548919061412b565b6115529190614199565b90505f81111561176f57600160028111156115705761156f613820565b5b845f015f9054906101000a900460ff16600281111561159257611591613820565b5b14806115d057505f60028111156115ac576115ab613820565b5b845f015f9054906101000a900460ff1660028111156115ce576115cd613820565b5b145b1561162b57611626835f015182865f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128889092919063ffffffff16565b6116fd565b60028081111561163e5761163d613820565b5b845f015f9054906101000a900460ff1660028111156116605761165f613820565b5b036116fc57835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30855f01518760030154856040518563ffffffff1660e01b81526004016116ce9493929190614566565b5f604051808303815f87803b1580156116e5575f80fd5b505af11580156116f7573d5f803e3d5ffd5b505050505b5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b17846040516117669190613d22565b60405180910390a45b5f8087608001518b81518110611788576117876140d1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663474f5a44866040516020016117bc9190614656565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016117e791906146ae565b60408051808303815f875af1158015611802573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182691906146e2565b915091505f820361187257338e8e6040517f9ecd71a900000000000000000000000000000000000000000000000000000000815260040161186993929190614256565b60405180910390fd5b82866001015f82825461188591906141c9565b9250508190555081819950995050505050505050503868929eee149b4bd212685594509492505050565b6118b7613659565b335f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156119ab575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80826040518263ffffffff1660e01b815260040161196a9190613c50565b602060405180830381865afa158015611985573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119a991906142bb565b155b156119e2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd212685403611a005763ab143c065f526004601cfd5b3068929eee149b4bd21268555f611a5985858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050506128d1565b806020019051810190611a6c9190614a80565b9050611a7a815f015161296a565b5f8060018160018154018082558091505003905f5260205f20906008020190508160e00151816007015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550815f0151816003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160a00151600360149054906101000a900467ffffffffffffffff16611b4b9190614ac7565b816005015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160c001518160060181905550611bb17fe67157950000000000000000000000000000000000000000000000000000000083602001516001612a45565b815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611c217fe2089f790000000000000000000000000000000000000000000000000000000083606001516001612a45565b816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611c738260800151835f0151612a67565b816004019080519060200190611c8a92919061370f565b505f73ffffffffffffffffffffffffffffffffffffffff1682604001516020015173ffffffffffffffffffffffffffffffffffffffff1614611cfb57611cf67f5912b89c0000000000000000000000000000000000000000000000000000000083604001516001612a45565b611de4565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f5912b89c000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401611d769190614b3c565b602060405180830381865afa158015611d91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611db591906142bb565b611dbf575f611de3565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b5b816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611eda577f5912b89c000000000000000000000000000000000000000000000000000000005f6040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401611ed1929190614b55565b60405180910390fd5b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660015f80549050611f5e91906141c9565b7f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd8460040180549050856001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516120039493929190614b7c565b60405180910390a480604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482018054806020026020016040519081016040528092919081815260200182805480156121ed57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116121a4575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050935050503868929eee149b4bd21268555092915050565b6122a5612372565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6122f0612372565b63389a75e1600c52805f526020600c20805442111561231657636f5e88185f526004601cfd5b5f815550612323816127c2565b50565b61232e612372565b8060601b61234357637448fbae5f526004601cfd5b61234c816127c2565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146123a7576382b429005f526004601cfd5b565b5f82826040516020016123bd929190614bdf565b60405160208183030381529060405280519060200120905092915050565b5f600160028111156123f0576123ef613820565b5b825f015f9054906101000a900460ff16600281111561241257612411613820565b5b148061245057505f600281111561242c5761242b613820565b5b825f015f9054906101000a900460ff16600281111561244e5761244d613820565b5b145b156124f757815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016124b19190613c50565b602060405180830381865afa1580156124cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124f09190614518565b90506125dc565b60028081111561250a57612509613820565b5b825f015f9054906101000a900460ff16600281111561252c5761252b613820565b5b036125d857815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e3084600301546040518363ffffffff1660e01b8152600401612592929190614c0a565b602060405180830381865afa1580156125ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d19190614518565b90506125dc565b5f90505b919050565b600160028111156125f5576125f4613820565b5b825f015f9054906101000a900460ff16600281111561261757612616613820565b5b148061265557505f600281111561263157612630613820565b5b825f015f9054906101000a900460ff16600281111561265357612652613820565b5b145b156126ce576126c960035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682845f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128889092919063ffffffff16565b6127be565b6002808111156126e1576126e0613820565b5b825f015f9054906101000a900460ff16600281111561270357612702613820565b5b036127bd57815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560030154856040518563ffffffff1660e01b815260040161278f9493929190614566565b5f604051808303815f87803b1580156127a6575f80fd5b505af11580156127b8573d5f803e3d5ffd5b505050505b5b5050565b6127ca612f75565b1561282f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550612885565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166128c8576390b8ec185f526004601cfd5b5f603452505050565b60608151156129655760405190506020810160048301805184518501811983525b8086101561294b576001860195508551601f1a8061293b576001870196508651601f1a5f198652607f811161292957600181013887395b6001607f821601860195505050612946565b808553600185019450505b6128f2565b81835260208501840385525f845260208401604052505050505b919050565b6129947fe49cedd70000000000000000000000000000000000000000000000000000000082612f79565b8073ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336040518263ffffffff1660e01b81526004016129cd9190613c50565b602060405180830381865afa1580156129e8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0c91906142bb565b612a42576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b5f612a54848460200151612f79565b612a5e8383613070565b90509392505050565b6060825167ffffffffffffffff811115612a8457612a83614336565b5b604051908082528060200260200182016040528015612ab25781602001602082028036833780820191505090505b5090505f5b8351811015612f6e57612b087fa921670500000000000000000000000000000000000000000000000000000000858381518110612af757612af66140d1565b5b602002602001015160200151612f79565b838181518110612b1b57612b1a6140d1565b5b60200260200101515f0151612ba7577fa921670500000000000000000000000000000000000000000000000000000000848281518110612b5e57612b5d6140d1565b5b6020026020010151602001516040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401612b9e929190614b55565b60405180910390fd5b612bec7fa921670500000000000000000000000000000000000000000000000000000000858381518110612bde57612bdd6140d1565b5b60200260200101515f612a45565b828281518110612bff57612bfe6140d1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f828281518110612c4d57612c4c6140d1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16634e7165a2868481518110612c8357612c826140d1565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401612cab91906146ae565b5f60405180830381865afa158015612cc5573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190612ced9190614c31565b90505f815114612ec2575f80612d028361312c565b915091508573ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1836040518263ffffffff1660e01b8152600401612d3f91906146ae565b6020604051808303815f875af1158015612d5b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7f91906142bb565b612db5576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1846040518263ffffffff1660e01b8152600401612dee91906146ae565b6020604051808303815f875af1158015612e0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e2e91906142bb565b612e64576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f83806020019051810190612e799190614d2c565b9050612ebe60015f80549050612e8f91906141c9565b86836020015185855f01518d8b81518110612ead57612eac6140d1565b5b602002602001015160400151613428565b5050505b828281518110612ed557612ed46140d1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663439fab91868481518110612f0b57612f0a6140d1565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401612f3391906146ae565b5f604051808303815f87803b158015612f4a575f80fd5b505af1158015612f5c573d5f803e3d5ffd5b50505050508080600101915050612ab7565b5092915050565b5f90565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061302857508073ffffffffffffffffffffffffffffffffffffffff166301ffc9a7836040518263ffffffff1660e01b8152600401612fe79190614b3c565b602060405180830381865afa158015613002573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061302691906142bb565b155b1561306c5781816040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401613063929190614b55565b60405180910390fd5b5050565b5f825f01516130835782602001516130a7565b6130a6836020015173ffffffffffffffffffffffffffffffffffffffff166135a4565b5b9050825f015180156130b65750815b15613126578073ffffffffffffffffffffffffffffffffffffffff1663439fab9184604001516040518263ffffffff1660e01b81526004016130f891906146ae565b5f604051808303815f87803b15801561310f575f80fd5b505af1158015613121573d5f803e3d5ffd5b505050505b92915050565b60605f80838060200190518101906131449190614d2c565b90506001600281111561315a57613159613820565b5b815f015160028111156131705761316f613820565b5b14806131a257505f600281111561318a57613189613820565b5b815f015160028111156131a05761319f613820565b5b145b156132ab575f81606001518060200190518101906131c09190614dac565b90505f61271067ffffffffffffffff16600360149054906101000a900467ffffffffffffffff1667ffffffffffffffff16835f01516131ff919061412b565b6132099190614199565b90505f60405180602001604052808381525090508060405160200161322e9190614df1565b604051602081830303815290604052846060018190525030846040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508360405160200161328e9190614e6a565b604051602081830303815290604052829550955050505050613423565b6002808111156132be576132bd613820565b5b815f015160028111156132d4576132d3613820565b5b036133f1575f81606001518060200190518101906132f29190614f07565b90505f61271067ffffffffffffffff16600360149054906101000a900467ffffffffffffffff1667ffffffffffffffff168360200151613332919061412b565b61333c9190614199565b90505f6040518060600160405280845f0151815260200183815260200184604001518152509050806040516020016133749190614f9b565b604051602081830303815290604052846060018190525030846040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050836040516020016133d49190614e6a565b604051602081830303815290604052829550955050505050613423565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b915091565b60605f60028081111561343e5761343d613820565b5b84600281111561345157613450613820565b5b03613474578280602001905181019061346a9190614fbb565b5080915050613478565b8291505b5f6040518060a0016040528086600281111561349757613496613820565b5b81526020018873ffffffffffffffffffffffffffffffffffffffff168152602001878152602001600360149054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020018381525090508060045f6134f88c8c6123a9565b81526020019081526020015f205f820151815f015f6101000a81548160ff0219169083600281111561352d5761352c613820565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030155905050505050505050505050565b5f6135af5f836135b6565b9050919050565b5f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f09050806135fd5763301164255f526004601cfd5b5f60215292915050565b6040518060a001604052805f600281111561362557613624613820565b5b81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81525090565b6040518061010001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b828054828255905f5260205f20908101928215613785579160200282015b82811115613784578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019061372d565b5b5090506137929190613796565b5090565b5b808211156137ad575f815f905550600101613797565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6137d4816137c2565b81146137de575f80fd5b50565b5f813590506137ef816137cb565b92915050565b5f6020828403121561380a576138096137ba565b5b5f613817848285016137e1565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6003811061385e5761385d613820565b5b50565b5f81905061386e8261384d565b919050565b5f61387d82613861565b9050919050565b61388d81613873565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6138bc82613893565b9050919050565b6138cc816138b2565b82525050565b5f819050919050565b6138e4816138d2565b82525050565b60a082015f8201516138fe5f850182613884565b50602082015161391160208501826138c3565b50604082015161392460408501826138db565b50606082015161393760608501826138db565b50608082015161394a60808501826138db565b50505050565b5f60a0820190506139635f8301846138ea565b92915050565b613972816138d2565b811461397c575f80fd5b50565b5f8135905061398d81613969565b92915050565b5f602082840312156139a8576139a76137ba565b5b5f6139b58482850161397f565b91505092915050565b5f819050919050565b5f6139e16139dc6139d784613893565b6139be565b613893565b9050919050565b5f6139f2826139c7565b9050919050565b5f613a03826139e8565b9050919050565b613a13816139f9565b82525050565b5f613a23826139e8565b9050919050565b613a3381613a19565b82525050565b5f613a43826139e8565b9050919050565b613a5381613a39565b82525050565b5f613a63826139c7565b9050919050565b5f613a7482613a59565b9050919050565b613a8481613a6a565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f613abd826139e8565b9050919050565b613acd81613ab3565b82525050565b5f613ade8383613ac4565b60208301905092915050565b5f602082019050919050565b5f613b0082613a8a565b613b0a8185613a94565b9350613b1583613aa4565b805f5b83811015613b45578151613b2c8882613ad3565b9750613b3783613aea565b925050600181019050613b18565b5085935050505092915050565b5f67ffffffffffffffff82169050919050565b613b6e81613b52565b82525050565b5f61010083015f830151613b8a5f860182613a0a565b506020830151613b9d6020860182613a2a565b506040830151613bb06040860182613a4a565b506060830151613bc36060860182613a7b565b5060808301518482036080860152613bdb8282613af6565b91505060a0830151613bf060a0860182613b65565b5060c0830151613c0360c08601826138db565b5060e0830151613c1660e08601826138c3565b508091505092915050565b5f6020820190508181035f830152613c398184613b74565b905092915050565b613c4a816138b2565b82525050565b5f602082019050613c635f830184613c41565b92915050565b613c7281613b52565b8114613c7c575f80fd5b50565b5f81359050613c8d81613c69565b92915050565b5f60208284031215613ca857613ca76137ba565b5b5f613cb584828501613c7f565b91505092915050565b613cc7816138b2565b8114613cd1575f80fd5b50565b5f81359050613ce281613cbe565b92915050565b5f60208284031215613cfd57613cfc6137ba565b5b5f613d0a84828501613cd4565b91505092915050565b613d1c816138d2565b82525050565b5f602082019050613d355f830184613d13565b92915050565b5f8060408385031215613d5157613d506137ba565b5b5f613d5e8582860161397f565b9250506020613d6f8582860161397f565b9150509250929050565b613d8281613873565b82525050565b5f60a082019050613d9b5f830188613d79565b613da86020830187613c41565b613db56040830186613d13565b613dc26060830185613d13565b613dcf6080830184613d13565b9695505050505050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112613dfa57613df9613dd9565b5b8235905067ffffffffffffffff811115613e1757613e16613ddd565b5b602083019150836001820283011115613e3357613e32613de1565b5b9250929050565b5f805f805f8060a08789031215613e5457613e536137ba565b5b5f613e6189828a0161397f565b9650506020613e7289828a0161397f565b9550506040613e8389828a01613cd4565b945050606087013567ffffffffffffffff811115613ea457613ea36137be565b5b613eb089828a01613de5565b93509350506080613ec389828a01613cd4565b9150509295509295509295565b5f613eda826139e8565b9050919050565b613eea81613ed0565b82525050565b5f602082019050613f035f830184613ee1565b92915050565b5f805f805f60808688031215613f2257613f216137ba565b5b5f613f2f8882890161397f565b9550506020613f408882890161397f565b9450506040613f5188828901613cd4565b935050606086013567ffffffffffffffff811115613f7257613f716137be565b5b613f7e88828901613de5565b92509250509295509295909350565b5f613f97826139e8565b9050919050565b613fa781613f8d565b82525050565b5f602082019050613fc05f830184613f9e565b92915050565b613fcf81613b52565b82525050565b5f602082019050613fe85f830184613fc6565b92915050565b5f805f8060608587031215614006576140056137ba565b5b5f85013567ffffffffffffffff811115614023576140226137be565b5b61402f87828801613de5565b945094505060206140428782880161397f565b92505060406140538782880161397f565b91505092959194509250565b5f6040820190506140725f830185613d13565b61407f6020830184613c41565b9392505050565b5f806020838503121561409c5761409b6137ba565b5b5f83013567ffffffffffffffff8111156140b9576140b86137be565b5b6140c585828601613de5565b92509250509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614135826138d2565b9150614140836138d2565b925082820261414e816138d2565b91508282048414831517614165576141646140fe565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6141a3826138d2565b91506141ae836138d2565b9250826141be576141bd61416c565b5b828204905092915050565b5f6141d3826138d2565b91506141de836138d2565b92508282039050818111156141f6576141f56140fe565b5b92915050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f61423583856141fc565b935061424283858461420c565b61424b8361421a565b840190509392505050565b5f6040820190506142695f830186613c41565b818103602083015261427c81848661422a565b9050949350505050565b5f8115159050919050565b61429a81614286565b81146142a4575f80fd5b50565b5f815190506142b581614291565b92915050565b5f602082840312156142d0576142cf6137ba565b5b5f6142dd848285016142a7565b91505092915050565b5f6080820190506142f95f830188613d13565b6143066020830187613d13565b6143136040830186613c41565b818103606083015261432681848661422a565b90509695505050505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61436c8261421a565b810181811067ffffffffffffffff8211171561438b5761438a614336565b5b80604052505050565b5f61439d6137b1565b90506143a98282614363565b919050565b5f80fd5b5f80fd5b5f67ffffffffffffffff8211156143d0576143cf614336565b5b6143d98261421a565b9050602081019050919050565b5f6143f86143f3846143b6565b614394565b905082815260208101848484011115614414576144136143b2565b5b61441f84828561420c565b509392505050565b5f82601f83011261443b5761443a613dd9565b5b813561444b8482602086016143e6565b91505092915050565b5f6040828403121561446957614468614332565b5b6144736040614394565b90505f61448284828501613cd4565b5f83015250602082013567ffffffffffffffff8111156144a5576144a46143ae565b5b6144b184828501614427565b60208301525092915050565b5f602082840312156144d2576144d16137ba565b5b5f82013567ffffffffffffffff8111156144ef576144ee6137be565b5b6144fb84828501614454565b91505092915050565b5f8151905061451281613969565b92915050565b5f6020828403121561452d5761452c6137ba565b5b5f61453a84828501614504565b91505092915050565b50565b5f6145515f836141fc565b915061455c82614543565b5f82019050919050565b5f60a0820190506145795f830187613c41565b6145866020830186613c41565b6145936040830185613d13565b6145a06060830184613d13565b81810360808301526145b181614546565b905095945050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6145ee826145bc565b6145f881856145c6565b93506146088185602086016145d6565b6146118161421a565b840191505092915050565b5f604083015f8301516146315f8601826138c3565b506020830151848203602086015261464982826145e4565b9150508091505092915050565b5f6020820190508181035f83015261466e818461461c565b905092915050565b5f614680826145bc565b61468a81856141fc565b935061469a8185602086016145d6565b6146a38161421a565b840191505092915050565b5f6020820190508181035f8301526146c68184614676565b905092915050565b5f815190506146dc81613cbe565b92915050565b5f80604083850312156146f8576146f76137ba565b5b5f61470585828601614504565b9250506020614716858286016146ce565b9150509250929050565b5f61472a82613893565b9050919050565b5f61473b82614720565b9050919050565b61474b81614731565b8114614755575f80fd5b50565b5f8151905061476681614742565b92915050565b5f61477e614779846143b6565b614394565b90508281526020810184848401111561479a576147996143b2565b5b6147a58482856145d6565b509392505050565b5f82601f8301126147c1576147c0613dd9565b5b81516147d184826020860161476c565b91505092915050565b5f606082840312156147ef576147ee614332565b5b6147f96060614394565b90505f614808848285016142a7565b5f83015250602061481b848285016146ce565b602083015250604082015167ffffffffffffffff81111561483f5761483e6143ae565b5b61484b848285016147ad565b60408301525092915050565b5f67ffffffffffffffff82111561487157614870614336565b5b602082029050602081019050919050565b5f61489461488f84614857565b614394565b905080838252602082019050602084028301858111156148b7576148b6613de1565b5b835b818110156148fe57805167ffffffffffffffff8111156148dc576148db613dd9565b5b8086016148e989826147da565b855260208501945050506020810190506148b9565b5050509392505050565b5f82601f83011261491c5761491b613dd9565b5b815161492c848260208601614882565b91505092915050565b5f8151905061494381613c69565b92915050565b5f610100828403121561495f5761495e614332565b5b61496a610100614394565b90505f61497984828501614758565b5f83015250602082015167ffffffffffffffff81111561499c5761499b6143ae565b5b6149a8848285016147da565b602083015250604082015167ffffffffffffffff8111156149cc576149cb6143ae565b5b6149d8848285016147da565b604083015250606082015167ffffffffffffffff8111156149fc576149fb6143ae565b5b614a08848285016147da565b606083015250608082015167ffffffffffffffff811115614a2c57614a2b6143ae565b5b614a3884828501614908565b60808301525060a0614a4c84828501614935565b60a08301525060c0614a6084828501614504565b60c08301525060e0614a74848285016146ce565b60e08301525092915050565b5f60208284031215614a9557614a946137ba565b5b5f82015167ffffffffffffffff811115614ab257614ab16137be565b5b614abe84828501614949565b91505092915050565b5f614ad182613b52565b9150614adc83613b52565b9250828201905067ffffffffffffffff811115614afc57614afb6140fe565b5b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614b3681614b02565b82525050565b5f602082019050614b4f5f830184614b2d565b92915050565b5f604082019050614b685f830185614b2d565b614b756020830184613c41565b9392505050565b5f608082019050614b8f5f830187613d13565b614b9c6020830186613c41565b614ba96040830185613c41565b614bb66060830184613c41565b95945050505050565b5f819050919050565b614bd9614bd4826138d2565b614bbf565b82525050565b5f614bea8285614bc8565b602082019150614bfa8284614bc8565b6020820191508190509392505050565b5f604082019050614c1d5f830185613c41565b614c2a6020830184613d13565b9392505050565b5f60208284031215614c4657614c456137ba565b5b5f82015167ffffffffffffffff811115614c6357614c626137be565b5b614c6f848285016147ad565b91505092915050565b60038110614c84575f80fd5b50565b5f81519050614c9581614c78565b92915050565b5f60808284031215614cb057614caf614332565b5b614cba6080614394565b90505f614cc984828501614c87565b5f830152506020614cdc848285016146ce565b6020830152506040614cf0848285016146ce565b604083015250606082015167ffffffffffffffff811115614d1457614d136143ae565b5b614d20848285016147ad565b60608301525092915050565b5f60208284031215614d4157614d406137ba565b5b5f82015167ffffffffffffffff811115614d5e57614d5d6137be565b5b614d6a84828501614c9b565b91505092915050565b5f60208284031215614d8857614d87614332565b5b614d926020614394565b90505f614da184828501614504565b5f8301525092915050565b5f60208284031215614dc157614dc06137ba565b5b5f614dce84828501614d73565b91505092915050565b602082015f820151614deb5f8501826138db565b50505050565b5f602082019050614e045f830184614dd7565b92915050565b5f608083015f830151614e1f5f860182613884565b506020830151614e3260208601826138c3565b506040830151614e4560408601826138c3565b5060608301518482036060860152614e5d82826145e4565b9150508091505092915050565b5f6020820190508181035f830152614e828184614e0a565b905092915050565b5f60608284031215614e9f57614e9e614332565b5b614ea96060614394565b90505f614eb884828501614504565b5f830152506020614ecb84828501614504565b602083015250604082015167ffffffffffffffff811115614eef57614eee6143ae565b5b614efb848285016147ad565b60408301525092915050565b5f60208284031215614f1c57614f1b6137ba565b5b5f82015167ffffffffffffffff811115614f3957614f386137be565b5b614f4584828501614e8a565b91505092915050565b5f606083015f830151614f635f8601826138db565b506020830151614f7660208601826138db565b5060408301518482036040860152614f8e82826145e4565b9150508091505092915050565b5f6020820190508181035f830152614fb38184614f4e565b905092915050565b5f8060408385031215614fd157614fd06137ba565b5b5f614fde85828601614504565b925050602083015167ffffffffffffffff811115614fff57614ffe6137be565b5b61500b858286016147ad565b915050925092905056fea264697066735822122043ccaf0877e1788e8575053e71e189445c2f8a85b965b800cee903aac99bcedb64736f6c634300081a0033";
|
|
30
|
+
function D(t) {
|
|
31
|
+
const b = t.state.current, f = t.state.connections.get(b), e = f == null ? void 0 : f.accounts, a = e == null ? void 0 : e[0], c = t.chains.find((i) => i.id === (f == null ? void 0 : f.chainId)), d = t.state.status;
|
|
32
|
+
switch (d) {
|
|
33
|
+
case "connected":
|
|
34
|
+
return {
|
|
35
|
+
address: a,
|
|
36
|
+
addresses: e,
|
|
37
|
+
chain: c,
|
|
38
|
+
chainId: f == null ? void 0 : f.chainId,
|
|
39
|
+
connector: f == null ? void 0 : f.connector,
|
|
40
|
+
isConnected: !0,
|
|
41
|
+
isConnecting: !1,
|
|
42
|
+
isDisconnected: !1,
|
|
43
|
+
isReconnecting: !1,
|
|
44
|
+
status: d
|
|
45
|
+
};
|
|
46
|
+
case "reconnecting":
|
|
47
|
+
return {
|
|
48
|
+
address: a,
|
|
49
|
+
addresses: e,
|
|
50
|
+
chain: c,
|
|
51
|
+
chainId: f == null ? void 0 : f.chainId,
|
|
52
|
+
connector: f == null ? void 0 : f.connector,
|
|
53
|
+
isConnected: !!a,
|
|
54
|
+
isConnecting: !1,
|
|
55
|
+
isDisconnected: !1,
|
|
56
|
+
isReconnecting: !0,
|
|
57
|
+
status: d
|
|
58
|
+
};
|
|
59
|
+
case "connecting":
|
|
60
|
+
return {
|
|
61
|
+
address: a,
|
|
62
|
+
addresses: e,
|
|
63
|
+
chain: c,
|
|
64
|
+
chainId: f == null ? void 0 : f.chainId,
|
|
65
|
+
connector: f == null ? void 0 : f.connector,
|
|
66
|
+
isConnected: !1,
|
|
67
|
+
isConnecting: !0,
|
|
68
|
+
isDisconnected: !1,
|
|
69
|
+
isReconnecting: !1,
|
|
70
|
+
status: d
|
|
71
|
+
};
|
|
72
|
+
case "disconnected":
|
|
73
|
+
return {
|
|
74
|
+
address: void 0,
|
|
75
|
+
addresses: void 0,
|
|
76
|
+
chain: void 0,
|
|
77
|
+
chainId: void 0,
|
|
78
|
+
connector: void 0,
|
|
79
|
+
isConnected: !1,
|
|
80
|
+
isConnecting: !1,
|
|
81
|
+
isDisconnected: !0,
|
|
82
|
+
isReconnecting: !1,
|
|
83
|
+
status: d
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function Vf(t) {
|
|
88
|
+
return t.state.chainId;
|
|
89
|
+
}
|
|
90
|
+
function O(t, b, f) {
|
|
91
|
+
const e = t[b.name];
|
|
92
|
+
if (typeof e == "function")
|
|
93
|
+
return e;
|
|
94
|
+
const a = t[f];
|
|
95
|
+
return typeof a == "function" ? a : (c) => b(t, c);
|
|
96
|
+
}
|
|
97
|
+
const qf = "2.13.8", zf = () => `@wagmi/core@${qf}`;
|
|
98
|
+
var S = function(t, b, f, e) {
|
|
99
|
+
if (f === "a" && !e) throw new TypeError("Private accessor was defined without a getter");
|
|
100
|
+
if (typeof b == "function" ? t !== b || !e : !b.has(t)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
101
|
+
return f === "m" ? e : f === "a" ? e.call(t) : e ? e.value : b.get(t);
|
|
102
|
+
}, I, N;
|
|
103
|
+
class v extends Error {
|
|
104
|
+
get docsBaseUrl() {
|
|
105
|
+
return "https://wagmi.sh/core";
|
|
106
|
+
}
|
|
107
|
+
get version() {
|
|
108
|
+
return zf();
|
|
109
|
+
}
|
|
110
|
+
constructor(b, f = {}) {
|
|
111
|
+
var c;
|
|
112
|
+
super(), I.add(this), Object.defineProperty(this, "details", {
|
|
113
|
+
enumerable: !0,
|
|
114
|
+
configurable: !0,
|
|
115
|
+
writable: !0,
|
|
116
|
+
value: void 0
|
|
117
|
+
}), Object.defineProperty(this, "docsPath", {
|
|
118
|
+
enumerable: !0,
|
|
119
|
+
configurable: !0,
|
|
120
|
+
writable: !0,
|
|
121
|
+
value: void 0
|
|
122
|
+
}), Object.defineProperty(this, "metaMessages", {
|
|
123
|
+
enumerable: !0,
|
|
124
|
+
configurable: !0,
|
|
125
|
+
writable: !0,
|
|
126
|
+
value: void 0
|
|
127
|
+
}), Object.defineProperty(this, "shortMessage", {
|
|
128
|
+
enumerable: !0,
|
|
129
|
+
configurable: !0,
|
|
130
|
+
writable: !0,
|
|
131
|
+
value: void 0
|
|
132
|
+
}), Object.defineProperty(this, "name", {
|
|
133
|
+
enumerable: !0,
|
|
134
|
+
configurable: !0,
|
|
135
|
+
writable: !0,
|
|
136
|
+
value: "WagmiCoreError"
|
|
137
|
+
});
|
|
138
|
+
const e = f.cause instanceof v ? f.cause.details : (c = f.cause) != null && c.message ? f.cause.message : f.details, a = f.cause instanceof v && f.cause.docsPath || f.docsPath;
|
|
139
|
+
this.message = [
|
|
140
|
+
b || "An error occurred.",
|
|
141
|
+
"",
|
|
142
|
+
...f.metaMessages ? [...f.metaMessages, ""] : [],
|
|
143
|
+
...a ? [
|
|
144
|
+
`Docs: ${this.docsBaseUrl}${a}.html${f.docsSlug ? `#${f.docsSlug}` : ""}`
|
|
145
|
+
] : [],
|
|
146
|
+
...e ? [`Details: ${e}`] : [],
|
|
147
|
+
`Version: ${this.version}`
|
|
148
|
+
].join(`
|
|
149
|
+
`), f.cause && (this.cause = f.cause), this.details = e, this.docsPath = a, this.metaMessages = f.metaMessages, this.shortMessage = b;
|
|
150
|
+
}
|
|
151
|
+
walk(b) {
|
|
152
|
+
return S(this, I, "m", N).call(this, this, b);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
I = /* @__PURE__ */ new WeakSet(), N = function t(b, f) {
|
|
156
|
+
return f != null && f(b) ? b : b.cause ? S(this, I, "m", t).call(this, b.cause, f) : b;
|
|
157
|
+
};
|
|
158
|
+
class Gf extends v {
|
|
159
|
+
constructor() {
|
|
160
|
+
super("Connector not connected."), Object.defineProperty(this, "name", {
|
|
161
|
+
enumerable: !0,
|
|
162
|
+
configurable: !0,
|
|
163
|
+
writable: !0,
|
|
164
|
+
value: "ConnectorNotConnectedError"
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
class Uf extends v {
|
|
169
|
+
constructor({ address: b, connector: f }) {
|
|
170
|
+
super(`Account "${b}" not found for connector "${f.name}".`), Object.defineProperty(this, "name", {
|
|
171
|
+
enumerable: !0,
|
|
172
|
+
configurable: !0,
|
|
173
|
+
writable: !0,
|
|
174
|
+
value: "ConnectorAccountNotFoundError"
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
class kf extends v {
|
|
179
|
+
constructor({ connectionChainId: b, connectorChainId: f }) {
|
|
180
|
+
super(`The current chain of the connector (id: ${f}) does not match the connection's chain (id: ${b}).`, {
|
|
181
|
+
metaMessages: [
|
|
182
|
+
`Current Chain ID: ${f}`,
|
|
183
|
+
`Expected Chain ID: ${b}`
|
|
184
|
+
]
|
|
185
|
+
}), Object.defineProperty(this, "name", {
|
|
186
|
+
enumerable: !0,
|
|
187
|
+
configurable: !0,
|
|
188
|
+
writable: !0,
|
|
189
|
+
value: "ConnectorChainMismatchError"
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
class Wf extends v {
|
|
194
|
+
constructor({ connector: b }) {
|
|
195
|
+
super(`Connector "${b.name}" unavailable while reconnecting.`, {
|
|
196
|
+
details: [
|
|
197
|
+
"During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uuid`.",
|
|
198
|
+
"All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.",
|
|
199
|
+
"This error commonly occurs for connectors that asynchronously inject after reconnection has already started."
|
|
200
|
+
].join(" ")
|
|
201
|
+
}), Object.defineProperty(this, "name", {
|
|
202
|
+
enumerable: !0,
|
|
203
|
+
configurable: !0,
|
|
204
|
+
writable: !0,
|
|
205
|
+
value: "ConnectorUnavailableReconnectingError"
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
async function $(t, b = {}) {
|
|
210
|
+
let f;
|
|
211
|
+
if (b.connector) {
|
|
212
|
+
const { connector: n } = b;
|
|
213
|
+
if (t.state.status === "reconnecting" && !n.getAccounts && !n.getChainId)
|
|
214
|
+
throw new Wf({ connector: n });
|
|
215
|
+
const [g, w] = await Promise.all([
|
|
216
|
+
n.getAccounts(),
|
|
217
|
+
n.getChainId()
|
|
218
|
+
]);
|
|
219
|
+
f = {
|
|
220
|
+
accounts: g,
|
|
221
|
+
chainId: w,
|
|
222
|
+
connector: n
|
|
223
|
+
};
|
|
224
|
+
} else
|
|
225
|
+
f = t.state.connections.get(t.state.current);
|
|
226
|
+
if (!f)
|
|
227
|
+
throw new Gf();
|
|
228
|
+
const e = b.chainId ?? f.chainId, a = await f.connector.getChainId();
|
|
229
|
+
if (a !== f.chainId)
|
|
230
|
+
throw new kf({
|
|
231
|
+
connectionChainId: f.chainId,
|
|
232
|
+
connectorChainId: a
|
|
233
|
+
});
|
|
234
|
+
const c = f.connector;
|
|
235
|
+
if (c.getClient)
|
|
236
|
+
return c.getClient({ chainId: e });
|
|
237
|
+
const d = xf(b.account ?? f.accounts[0]);
|
|
238
|
+
if (d.address = Mf(d.address), b.account && !f.accounts.some((n) => n.toLowerCase() === d.address.toLowerCase()))
|
|
239
|
+
throw new Uf({
|
|
240
|
+
address: d.address,
|
|
241
|
+
connector: c
|
|
242
|
+
});
|
|
243
|
+
const i = t.chains.find((n) => n.id === e), s = await f.connector.getProvider({ chainId: e });
|
|
244
|
+
return ef({
|
|
245
|
+
account: d,
|
|
246
|
+
chain: i,
|
|
247
|
+
name: "Connector Client",
|
|
248
|
+
transport: (n) => af(s)({ ...n, retryCount: 0 })
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
async function Hf(t, b) {
|
|
252
|
+
const { abi: f, chainId: e, connector: a, ...c } = b;
|
|
253
|
+
let d;
|
|
254
|
+
b.account ? d = b.account : d = (await $(t, {
|
|
255
|
+
chainId: e,
|
|
256
|
+
connector: a
|
|
257
|
+
})).account;
|
|
258
|
+
const i = t.getClient({ chainId: e }), s = O(i, $f, "simulateContract"), { result: n, request: g } = await s({ ...c, abi: f, account: d });
|
|
259
|
+
return {
|
|
260
|
+
chainId: i.chain.id,
|
|
261
|
+
result: n,
|
|
262
|
+
request: { __mode: "prepared", ...g, chainId: e }
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
async function F(t, b) {
|
|
266
|
+
const { account: f, chainId: e, connector: a, __mode: c, ...d } = b;
|
|
267
|
+
let i;
|
|
268
|
+
typeof f == "object" && f.type === "local" ? i = t.getClient({ chainId: e }) : i = await $(t, { account: f, chainId: e, connector: a });
|
|
269
|
+
const { connector: s } = D(t);
|
|
270
|
+
let n;
|
|
271
|
+
if (c === "prepared" || s != null && s.supportsSimulation)
|
|
272
|
+
n = d;
|
|
273
|
+
else {
|
|
274
|
+
const { request: o } = await Hf(t, {
|
|
275
|
+
...d,
|
|
276
|
+
account: f,
|
|
277
|
+
chainId: e
|
|
278
|
+
});
|
|
279
|
+
n = o;
|
|
280
|
+
}
|
|
281
|
+
return await O(i, jf, "writeContract")({
|
|
282
|
+
...n,
|
|
283
|
+
...f ? { account: f } : {},
|
|
284
|
+
chain: e ? { id: e } : null
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
function Qf(t) {
|
|
288
|
+
return t.address !== void 0 && typeof t.address == "object" ? (b, f) => {
|
|
289
|
+
var d;
|
|
290
|
+
const e = Vf(b), a = D(b);
|
|
291
|
+
let c;
|
|
292
|
+
return f.chainId ? c = f.chainId : f.account && f.account === a.address || f.account === void 0 ? c = a.chainId : c = e, F(b, {
|
|
293
|
+
...f,
|
|
294
|
+
...t.functionName ? { functionName: t.functionName } : {},
|
|
295
|
+
address: c ? (d = t.address) == null ? void 0 : d[c] : void 0,
|
|
296
|
+
abi: t.abi
|
|
297
|
+
});
|
|
298
|
+
} : (b, f) => F(b, {
|
|
299
|
+
...f,
|
|
300
|
+
...t.address ? { address: t.address } : {},
|
|
301
|
+
...t.functionName ? { functionName: t.functionName } : {},
|
|
302
|
+
abi: t.abi
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
const B0 = tf("0.000075"), y = {
|
|
306
|
+
31337: void 0,
|
|
307
|
+
...cf
|
|
308
|
+
}, _0 = y[11155111] || m;
|
|
309
|
+
function Yf(t) {
|
|
310
|
+
return t.address;
|
|
311
|
+
}
|
|
312
|
+
function Jf(t) {
|
|
313
|
+
return t.registryAddress && t.protocolFeeReceiver;
|
|
314
|
+
}
|
|
315
|
+
const P = class P extends wf {
|
|
316
|
+
/**
|
|
317
|
+
* A getter that will return Boost core's static addresses by numerical chain ID
|
|
318
|
+
*
|
|
319
|
+
* @public
|
|
320
|
+
* @readonly
|
|
321
|
+
* @type {Record<number, Address>}
|
|
322
|
+
*/
|
|
323
|
+
get addresses() {
|
|
324
|
+
return this.constructor.addresses;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Creates an instance of BoostCore.
|
|
328
|
+
*
|
|
329
|
+
* @constructor
|
|
330
|
+
* @param {BoostCoreConfig} param0
|
|
331
|
+
* @param {Config} param0.config
|
|
332
|
+
* @param {?Account} [param0.account]
|
|
333
|
+
* @param {({ address?: Address; } | { registryAddress: Address; protocolFeeReceiver: Address; })} param0....options
|
|
334
|
+
*/
|
|
335
|
+
constructor({ config: b, account: f, ...e }) {
|
|
336
|
+
if (Yf(e) && e.address)
|
|
337
|
+
super({ account: f, config: b }, e.address);
|
|
338
|
+
else if (Jf(e))
|
|
339
|
+
super({ account: f, config: b }, [
|
|
340
|
+
e.registryAddress,
|
|
341
|
+
e.protocolFeeReceiver
|
|
342
|
+
]);
|
|
343
|
+
else {
|
|
344
|
+
const { address: a } = h(
|
|
345
|
+
b,
|
|
346
|
+
y
|
|
347
|
+
);
|
|
348
|
+
super({ account: f, config: b }, a);
|
|
349
|
+
}
|
|
350
|
+
this.abi = A;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Create a new Boost.
|
|
354
|
+
*
|
|
355
|
+
* @public
|
|
356
|
+
* @async
|
|
357
|
+
* @param {CreateBoostPayload} _boostPayload
|
|
358
|
+
* @param {?DeployableOptions} [_params]
|
|
359
|
+
* @returns {Promise<Boost>}
|
|
360
|
+
*/
|
|
361
|
+
async createBoost(b, f) {
|
|
362
|
+
var C;
|
|
363
|
+
const [e, a] = this.validateDeploymentConfig(b, f), c = ((C = f == null ? void 0 : f.chain) == null ? void 0 : C.id) || (f == null ? void 0 : f.chainId), { chainId: d, address: i } = h(
|
|
364
|
+
a.config,
|
|
365
|
+
this.addresses,
|
|
366
|
+
c
|
|
367
|
+
), s = Qf({
|
|
368
|
+
abi: A,
|
|
369
|
+
functionName: "createBoost",
|
|
370
|
+
address: i
|
|
371
|
+
}), n = await this.prepareCreateBoostPayload(
|
|
372
|
+
i,
|
|
373
|
+
d,
|
|
374
|
+
e,
|
|
375
|
+
a
|
|
376
|
+
), g = await s(a.config, {
|
|
377
|
+
...this.optionallyAttachAccount(a.account),
|
|
378
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
379
|
+
...f,
|
|
380
|
+
chainId: d,
|
|
381
|
+
args: [_(n)]
|
|
382
|
+
}), w = await Z(a.config, {
|
|
383
|
+
hash: g
|
|
384
|
+
}), o = B({
|
|
385
|
+
abi: A,
|
|
386
|
+
eventName: "BoostCreated",
|
|
387
|
+
logs: w.logs
|
|
388
|
+
}).at(0);
|
|
389
|
+
let r = 0n;
|
|
390
|
+
if (!o) throw new Ef();
|
|
391
|
+
r = o == null ? void 0 : o.args.boostId;
|
|
392
|
+
const u = await this.readBoost(r);
|
|
393
|
+
return new E({
|
|
394
|
+
id: r,
|
|
395
|
+
budget: e.budget.at(u.budget),
|
|
396
|
+
action: e.action.at(u.action),
|
|
397
|
+
validator: e.validator.at(u.validator),
|
|
398
|
+
allowList: e.allowList.at(u.allowList),
|
|
399
|
+
incentives: e.incentives.map(
|
|
400
|
+
(j, x) => (
|
|
401
|
+
// biome-ignore lint/style/noNonNullAssertion: this will never be undefined
|
|
402
|
+
j.at(u.incentives.at(x))
|
|
403
|
+
)
|
|
404
|
+
),
|
|
405
|
+
protocolFee: u.protocolFee,
|
|
406
|
+
maxParticipants: u.maxParticipants,
|
|
407
|
+
owner: u.owner
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Returns a simulated Boost creation.
|
|
412
|
+
*
|
|
413
|
+
* @public
|
|
414
|
+
* @async
|
|
415
|
+
* @param {CreateBoostPayload} _boostPayload
|
|
416
|
+
* @param {?DeployableOptions} [_params]
|
|
417
|
+
* @returns {Promise<SimulateContractReturnType>}
|
|
418
|
+
*/
|
|
419
|
+
async simulateCreateBoost(b, f) {
|
|
420
|
+
var n;
|
|
421
|
+
const [e, a] = this.validateDeploymentConfig(b, f), c = ((n = f == null ? void 0 : f.chain) == null ? void 0 : n.id) || (f == null ? void 0 : f.chainId), { chainId: d, address: i } = h(
|
|
422
|
+
a.config,
|
|
423
|
+
this.addresses,
|
|
424
|
+
c
|
|
425
|
+
), s = await this.prepareCreateBoostPayload(
|
|
426
|
+
i,
|
|
427
|
+
d,
|
|
428
|
+
e,
|
|
429
|
+
a
|
|
430
|
+
);
|
|
431
|
+
return await M(this._config, {
|
|
432
|
+
...this.optionallyAttachAccount(),
|
|
433
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
434
|
+
...f,
|
|
435
|
+
address: i,
|
|
436
|
+
chainId: d,
|
|
437
|
+
args: [_(s)]
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
// This function mutates payload, which isn't awesome but it's fine
|
|
441
|
+
async prepareCreateBoostPayload(b, f, e, a) {
|
|
442
|
+
var w;
|
|
443
|
+
if (!e.owner && (e.owner = ((w = this._account) == null ? void 0 : w.address) || p(a.config).address || m, e.owner === m))
|
|
444
|
+
throw new Rf();
|
|
445
|
+
if (!e.validator) {
|
|
446
|
+
const r = ff(a.config).filter(
|
|
447
|
+
(C) => !!this.addresses[C.id] && C.id === f
|
|
448
|
+
).at(0);
|
|
449
|
+
if (!r)
|
|
450
|
+
throw new Ff(
|
|
451
|
+
f,
|
|
452
|
+
Object.keys(this.addresses).map(Number)
|
|
453
|
+
);
|
|
454
|
+
const u = r.testnet || r.id === 31337;
|
|
455
|
+
e.validator = this.SignerValidator({
|
|
456
|
+
signers: [
|
|
457
|
+
u ? R.TESTNET : R.MAINNET
|
|
458
|
+
],
|
|
459
|
+
validatorCaller: b
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
let c = m;
|
|
463
|
+
if (e.budget.address) {
|
|
464
|
+
if (c = e.budget.address, !await e.budget.isAuthorized(b))
|
|
465
|
+
throw new Lf(b);
|
|
466
|
+
} else
|
|
467
|
+
throw new Df();
|
|
468
|
+
let d = {
|
|
469
|
+
instance: m,
|
|
470
|
+
isBase: !0,
|
|
471
|
+
parameters: l
|
|
472
|
+
};
|
|
473
|
+
if (e.action.address) {
|
|
474
|
+
const o = e.action.isBase;
|
|
475
|
+
d = {
|
|
476
|
+
isBase: o,
|
|
477
|
+
instance: e.action.address,
|
|
478
|
+
parameters: o ? e.action.buildParameters(void 0, a).args.at(0) || l : l
|
|
479
|
+
};
|
|
480
|
+
} else
|
|
481
|
+
d.parameters = e.action.buildParameters(void 0, a).args.at(0) || l, d.instance = h(
|
|
482
|
+
a.config,
|
|
483
|
+
e.action.bases,
|
|
484
|
+
f
|
|
485
|
+
).address;
|
|
486
|
+
let i = {
|
|
487
|
+
instance: m,
|
|
488
|
+
isBase: !0,
|
|
489
|
+
parameters: l
|
|
490
|
+
};
|
|
491
|
+
if (e.validator.address) {
|
|
492
|
+
const o = e.validator.isBase;
|
|
493
|
+
i = {
|
|
494
|
+
isBase: o,
|
|
495
|
+
instance: e.validator.address,
|
|
496
|
+
parameters: o ? e.validator.buildParameters(void 0, a).args.at(0) || l : l
|
|
497
|
+
};
|
|
498
|
+
} else
|
|
499
|
+
i.parameters = e.validator.buildParameters(void 0, a).args.at(0) || l, i.instance = h(
|
|
500
|
+
a.config,
|
|
501
|
+
e.validator.bases,
|
|
502
|
+
f
|
|
503
|
+
).address;
|
|
504
|
+
let s = {
|
|
505
|
+
instance: m,
|
|
506
|
+
isBase: !0,
|
|
507
|
+
parameters: l
|
|
508
|
+
};
|
|
509
|
+
if (e.allowList || (e.allowList = this.OpenAllowList()), e.allowList.address) {
|
|
510
|
+
const o = e.allowList.isBase;
|
|
511
|
+
s = {
|
|
512
|
+
isBase: o,
|
|
513
|
+
instance: e.allowList.address,
|
|
514
|
+
parameters: o ? l : l
|
|
515
|
+
};
|
|
516
|
+
} else
|
|
517
|
+
s.parameters = e.allowList.buildParameters(void 0, a).args.at(0) || l, s.instance = h(
|
|
518
|
+
a.config,
|
|
519
|
+
e.allowList.bases,
|
|
520
|
+
f
|
|
521
|
+
).address;
|
|
522
|
+
const n = e.incentives.map(() => ({
|
|
523
|
+
instance: m,
|
|
524
|
+
isBase: !0,
|
|
525
|
+
parameters: l
|
|
526
|
+
}));
|
|
527
|
+
for (let o = 0; o < e.incentives.length; o++) {
|
|
528
|
+
const r = e.incentives.at(o);
|
|
529
|
+
if (r.address) {
|
|
530
|
+
const u = r.isBase;
|
|
531
|
+
if (!u) throw new Of(r);
|
|
532
|
+
n[o] = {
|
|
533
|
+
isBase: u,
|
|
534
|
+
instance: r.address,
|
|
535
|
+
parameters: u ? r.buildParameters(void 0, a).args.at(0) || l : l
|
|
536
|
+
};
|
|
537
|
+
} else
|
|
538
|
+
n[o].parameters = r.buildParameters(void 0, a).args.at(0) || l, n[o].instance = h(
|
|
539
|
+
a.config,
|
|
540
|
+
r.bases,
|
|
541
|
+
f
|
|
542
|
+
).address;
|
|
543
|
+
}
|
|
544
|
+
return {
|
|
545
|
+
budget: c,
|
|
546
|
+
action: d,
|
|
547
|
+
validator: i,
|
|
548
|
+
allowList: s,
|
|
549
|
+
incentives: n,
|
|
550
|
+
protocolFee: e.protocolFee || 0n,
|
|
551
|
+
maxParticipants: e.maxParticipants || 0n,
|
|
552
|
+
owner: e.owner
|
|
553
|
+
};
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* Claims one incentive from a given `Boost` by `boostId` and `incentiveId`
|
|
557
|
+
*
|
|
558
|
+
* @public
|
|
559
|
+
* @async
|
|
560
|
+
* @param {bigint} boostId
|
|
561
|
+
* @param {bigint} incentiveId
|
|
562
|
+
* @param {Address} address
|
|
563
|
+
* @param {Hex} data
|
|
564
|
+
* @param {?WriteParams} [params]
|
|
565
|
+
* @returns {Promise<void>}
|
|
566
|
+
*/
|
|
567
|
+
async claimIncentive(b, f, e, a, c) {
|
|
568
|
+
return await this.awaitResult(
|
|
569
|
+
this.claimIncentiveRaw(b, f, e, a, c)
|
|
570
|
+
);
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* Claim an incentive for a Boost
|
|
574
|
+
*
|
|
575
|
+
* @public
|
|
576
|
+
* @async
|
|
577
|
+
* @param {bigint} boostId - The ID of the Boost
|
|
578
|
+
* @param {bigint} incentiveId - The ID of the Incentive
|
|
579
|
+
* @param {Address} referrer - The address of the referrer (if any)
|
|
580
|
+
* @param {Hex} data- The data for the claim
|
|
581
|
+
* @param {?WriteParams} [params]
|
|
582
|
+
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
583
|
+
*/
|
|
584
|
+
async claimIncentiveRaw(b, f, e, a, c) {
|
|
585
|
+
var n;
|
|
586
|
+
const { request: d, result: i } = await T(
|
|
587
|
+
this._config,
|
|
588
|
+
{
|
|
589
|
+
...h(
|
|
590
|
+
this._config,
|
|
591
|
+
this.addresses,
|
|
592
|
+
((n = c == null ? void 0 : c.chain) == null ? void 0 : n.id) || (c == null ? void 0 : c.chainId)
|
|
593
|
+
),
|
|
594
|
+
args: [b, f, e, a],
|
|
595
|
+
...this.optionallyAttachAccount(),
|
|
596
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
597
|
+
...c
|
|
598
|
+
}
|
|
599
|
+
);
|
|
600
|
+
return { hash: await V(this._config, d), result: i };
|
|
601
|
+
}
|
|
602
|
+
/**
|
|
603
|
+
* Claims one incentive for a given `Boost` on behalf of another user by `boostId` and `incentiveId`
|
|
604
|
+
*
|
|
605
|
+
* @public
|
|
606
|
+
* @async
|
|
607
|
+
* @param {bigint} boostId
|
|
608
|
+
* @param {bigint} incentiveId
|
|
609
|
+
* @param {Address} referrer
|
|
610
|
+
* @param {Hex} data
|
|
611
|
+
* @param {Address} claimant
|
|
612
|
+
* @param {?WriteParams} [params]
|
|
613
|
+
* @returns {Promise<void>}
|
|
614
|
+
*/
|
|
615
|
+
async claimIncentiveFor(b, f, e, a, c, d) {
|
|
616
|
+
return await this.awaitResult(
|
|
617
|
+
this.claimIncentiveForRaw(
|
|
618
|
+
b,
|
|
619
|
+
f,
|
|
620
|
+
e,
|
|
621
|
+
a,
|
|
622
|
+
c,
|
|
623
|
+
d
|
|
624
|
+
)
|
|
625
|
+
);
|
|
626
|
+
}
|
|
627
|
+
/**
|
|
628
|
+
* Claim an incentive for a Boost on behalf of another user
|
|
629
|
+
*
|
|
630
|
+
* @public
|
|
631
|
+
* @async
|
|
632
|
+
* @param {bigint} boostId - The ID of the Boost
|
|
633
|
+
* @param {bigint} incentiveId - The ID of the Incentive
|
|
634
|
+
* @param {Address} referrer - The address of the referrer (if any)
|
|
635
|
+
* @param {Hex} data - The data for the claim
|
|
636
|
+
* @param {Address} claimant - The address of the user eligible for the incentive payout
|
|
637
|
+
* @param {?WriteParams} [params]
|
|
638
|
+
* @returns {Promise<{ hash: Hex; result: void; }>}
|
|
639
|
+
*/
|
|
640
|
+
async claimIncentiveForRaw(b, f, e, a, c, d) {
|
|
641
|
+
var g;
|
|
642
|
+
const { request: i, result: s } = await q(
|
|
643
|
+
this._config,
|
|
644
|
+
{
|
|
645
|
+
...h(
|
|
646
|
+
this._config,
|
|
647
|
+
this.addresses,
|
|
648
|
+
((g = d == null ? void 0 : d.chain) == null ? void 0 : g.id) || (d == null ? void 0 : d.chainId)
|
|
649
|
+
),
|
|
650
|
+
args: [b, f, e, a, c],
|
|
651
|
+
...this.optionallyAttachAccount(),
|
|
652
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
653
|
+
...d
|
|
654
|
+
}
|
|
655
|
+
);
|
|
656
|
+
return { hash: await z(this._config, i), result: s };
|
|
657
|
+
}
|
|
658
|
+
/**
|
|
659
|
+
* Get a Boost by index, will return the raw on chain representation of a Boost.
|
|
660
|
+
*
|
|
661
|
+
* @public
|
|
662
|
+
* @async
|
|
663
|
+
* @param {bigint | string} id
|
|
664
|
+
* @param {?ReadParams} [params]
|
|
665
|
+
* @returns {Promise<RawBoost>}
|
|
666
|
+
* @throws {@link BoostNotFoundError}
|
|
667
|
+
*/
|
|
668
|
+
async readBoost(b, f) {
|
|
669
|
+
var e;
|
|
670
|
+
try {
|
|
671
|
+
let a;
|
|
672
|
+
return typeof b == "string" ? a = BigInt(b) : a = b, await G(this._config, {
|
|
673
|
+
...h(
|
|
674
|
+
this._config,
|
|
675
|
+
this.addresses,
|
|
676
|
+
f == null ? void 0 : f.chainId
|
|
677
|
+
),
|
|
678
|
+
args: [a],
|
|
679
|
+
...this.optionallyAttachAccount(),
|
|
680
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
681
|
+
...f
|
|
682
|
+
});
|
|
683
|
+
} catch (a) {
|
|
684
|
+
throw (e = a == null ? void 0 : a.message) != null && e.includes("bounds") ? new Sf(String(b)) : a;
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
/**
|
|
688
|
+
* Get a Boost by index, will return a new {@link Boost} with correct target implementations instantiated, ie `(await core.getBoost(0n)).allowList instanceof SimpleAllowList` vs `SimpleDenyList`
|
|
689
|
+
*
|
|
690
|
+
* @public
|
|
691
|
+
* @async
|
|
692
|
+
* @param {(string | bigint)} _id
|
|
693
|
+
* @param {?ReadParams} [params]
|
|
694
|
+
* @returns {Promise<Boost>}
|
|
695
|
+
* @throws {@link BoostNotFoundError}
|
|
696
|
+
*/
|
|
697
|
+
async getBoost(b, f) {
|
|
698
|
+
let e;
|
|
699
|
+
typeof b == "string" ? e = BigInt(b) : e = b;
|
|
700
|
+
const { protocolFee: a, maxParticipants: c, owner: d, ...i } = await this.readBoost(e, f), s = {
|
|
701
|
+
config: this._config,
|
|
702
|
+
account: this._account
|
|
703
|
+
}, [n, g, w, o, r] = await Promise.all([
|
|
704
|
+
df(s, i.action),
|
|
705
|
+
hf(s, i.budget),
|
|
706
|
+
_f(s, i.validator),
|
|
707
|
+
sf(s, i.allowList),
|
|
708
|
+
Promise.all(
|
|
709
|
+
i.incentives.map(
|
|
710
|
+
(u) => If(s, u)
|
|
711
|
+
)
|
|
712
|
+
)
|
|
713
|
+
]);
|
|
714
|
+
return new E({
|
|
715
|
+
id: e,
|
|
716
|
+
action: n,
|
|
717
|
+
budget: g,
|
|
718
|
+
validator: w,
|
|
719
|
+
allowList: o,
|
|
720
|
+
incentives: r,
|
|
721
|
+
protocolFee: a,
|
|
722
|
+
maxParticipants: c,
|
|
723
|
+
owner: d
|
|
724
|
+
});
|
|
725
|
+
}
|
|
726
|
+
/**
|
|
727
|
+
* Retrieve the total number of deployed Boosts
|
|
728
|
+
*
|
|
729
|
+
* @public
|
|
730
|
+
* @async
|
|
731
|
+
* @param {?ReadParams} [params]
|
|
732
|
+
* @returns {Promise<bigint>}
|
|
733
|
+
*/
|
|
734
|
+
async getBoostCount(b) {
|
|
735
|
+
return await U(this._config, {
|
|
736
|
+
...h(
|
|
737
|
+
this._config,
|
|
738
|
+
this.addresses,
|
|
739
|
+
b == null ? void 0 : b.chainId
|
|
740
|
+
),
|
|
741
|
+
args: [],
|
|
742
|
+
...this.optionallyAttachAccount(),
|
|
743
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
744
|
+
...b
|
|
745
|
+
});
|
|
746
|
+
}
|
|
747
|
+
/**
|
|
748
|
+
* Checks if an address is authorized
|
|
749
|
+
*
|
|
750
|
+
* @public
|
|
751
|
+
* @async
|
|
752
|
+
* @param {Address} address
|
|
753
|
+
* @param {?ReadParams &
|
|
754
|
+
* ReadParams<typeof iAuthAbi, 'isAuthorized'>} [params]
|
|
755
|
+
* @returns {Promise<boolean>}
|
|
756
|
+
*/
|
|
757
|
+
async isAuthorized(b, f) {
|
|
758
|
+
const e = await this.createBoostAuth(f);
|
|
759
|
+
return k(this._config, {
|
|
760
|
+
address: e,
|
|
761
|
+
args: [b],
|
|
762
|
+
...this.optionallyAttachAccount(),
|
|
763
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
764
|
+
...f
|
|
765
|
+
});
|
|
766
|
+
}
|
|
767
|
+
/**
|
|
768
|
+
* Retrieve the address of the current creation auth provider.
|
|
769
|
+
*
|
|
770
|
+
* @public
|
|
771
|
+
* @async
|
|
772
|
+
* @param {?ReadParams} [params]
|
|
773
|
+
* @returns {Promise<Address>}
|
|
774
|
+
*/
|
|
775
|
+
async createBoostAuth(b) {
|
|
776
|
+
return await W(this._config, {
|
|
777
|
+
...h(
|
|
778
|
+
this._config,
|
|
779
|
+
this.addresses,
|
|
780
|
+
b == null ? void 0 : b.chainId
|
|
781
|
+
),
|
|
782
|
+
args: [],
|
|
783
|
+
...this.optionallyAttachAccount(),
|
|
784
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
785
|
+
...b
|
|
786
|
+
});
|
|
787
|
+
}
|
|
788
|
+
/**
|
|
789
|
+
* Replace the current auth scheme.
|
|
790
|
+
*
|
|
791
|
+
* @public
|
|
792
|
+
* @async
|
|
793
|
+
* @param {Auth} auth
|
|
794
|
+
* @param {?WriteParams} [params]
|
|
795
|
+
* @returns {Promise<void>}
|
|
796
|
+
*/
|
|
797
|
+
async setCreateBoostAuth(b, f) {
|
|
798
|
+
return await this.awaitResult(
|
|
799
|
+
this.setCreateBoostAuthRaw(b.assertValidAddress(), {
|
|
800
|
+
...f
|
|
801
|
+
})
|
|
802
|
+
);
|
|
803
|
+
}
|
|
804
|
+
/**
|
|
805
|
+
* Set the createBoostAuth address
|
|
806
|
+
*
|
|
807
|
+
* @public
|
|
808
|
+
* @async
|
|
809
|
+
* @param {Address} address
|
|
810
|
+
* @param {?WriteParams} [params]
|
|
811
|
+
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
812
|
+
*/
|
|
813
|
+
async setCreateBoostAuthRaw(b, f) {
|
|
814
|
+
const { request: e, result: a } = await H(
|
|
815
|
+
this._config,
|
|
816
|
+
{
|
|
817
|
+
...h(
|
|
818
|
+
this._config,
|
|
819
|
+
this.addresses,
|
|
820
|
+
f == null ? void 0 : f.chainId
|
|
821
|
+
),
|
|
822
|
+
args: [b],
|
|
823
|
+
...this.optionallyAttachAccount(),
|
|
824
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
825
|
+
...f
|
|
826
|
+
}
|
|
827
|
+
);
|
|
828
|
+
return { hash: await Q(this._config, e), result: a };
|
|
829
|
+
}
|
|
830
|
+
/**
|
|
831
|
+
* Get the protocol fee.
|
|
832
|
+
*
|
|
833
|
+
* @public
|
|
834
|
+
* @async
|
|
835
|
+
* @param {?ReadParams} [params]
|
|
836
|
+
* @returns {unknown}
|
|
837
|
+
*/
|
|
838
|
+
async protocolFee(b) {
|
|
839
|
+
return await Y(this._config, {
|
|
840
|
+
...h(
|
|
841
|
+
this._config,
|
|
842
|
+
this.addresses,
|
|
843
|
+
b == null ? void 0 : b.chainId
|
|
844
|
+
),
|
|
845
|
+
args: [],
|
|
846
|
+
...this.optionallyAttachAccount(),
|
|
847
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
848
|
+
...b
|
|
849
|
+
});
|
|
850
|
+
}
|
|
851
|
+
/**
|
|
852
|
+
* Get the protocol fee receiver.
|
|
853
|
+
*
|
|
854
|
+
* @public
|
|
855
|
+
* @async
|
|
856
|
+
* @param {?ReadParams} [params]
|
|
857
|
+
* @returns {Promise<Address>}
|
|
858
|
+
*/
|
|
859
|
+
async protocolFeeReceiver(b) {
|
|
860
|
+
return await J(this._config, {
|
|
861
|
+
...h(
|
|
862
|
+
this._config,
|
|
863
|
+
this.addresses,
|
|
864
|
+
b == null ? void 0 : b.chainId
|
|
865
|
+
),
|
|
866
|
+
args: [],
|
|
867
|
+
...this.optionallyAttachAccount(),
|
|
868
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
869
|
+
...b
|
|
870
|
+
});
|
|
871
|
+
}
|
|
872
|
+
/**
|
|
873
|
+
* Set the protocol fee receiver address. This function is only callable by the owner.
|
|
874
|
+
*
|
|
875
|
+
* @public
|
|
876
|
+
* @async
|
|
877
|
+
* @param {Address} address
|
|
878
|
+
* @param {?WriteParams} [params]
|
|
879
|
+
* @returns {Promise<void>}
|
|
880
|
+
*/
|
|
881
|
+
async setProcolFeeReceiver(b, f) {
|
|
882
|
+
return await this.awaitResult(
|
|
883
|
+
this.setProcolFeeReceiverRaw(b, {
|
|
884
|
+
...f
|
|
885
|
+
})
|
|
886
|
+
);
|
|
887
|
+
}
|
|
888
|
+
/**
|
|
889
|
+
* Set the protocol fee receiver address. This function is only callable by the owner.
|
|
890
|
+
*
|
|
891
|
+
* @public
|
|
892
|
+
* @async
|
|
893
|
+
* @param {Address} address
|
|
894
|
+
* @param {?WriteParams} [params]
|
|
895
|
+
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
896
|
+
*/
|
|
897
|
+
async setProcolFeeReceiverRaw(b, f) {
|
|
898
|
+
const { request: e, result: a } = await K(
|
|
899
|
+
this._config,
|
|
900
|
+
{
|
|
901
|
+
...h(
|
|
902
|
+
this._config,
|
|
903
|
+
this.addresses,
|
|
904
|
+
f == null ? void 0 : f.chainId
|
|
905
|
+
),
|
|
906
|
+
args: [b],
|
|
907
|
+
...this.optionallyAttachAccount(),
|
|
908
|
+
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
909
|
+
...f
|
|
910
|
+
}
|
|
911
|
+
);
|
|
912
|
+
return { hash: await X(
|
|
913
|
+
this._config,
|
|
914
|
+
e
|
|
915
|
+
), result: a };
|
|
916
|
+
}
|
|
917
|
+
/**
|
|
918
|
+
* Retrieves the claim information from a transaction receipt.
|
|
919
|
+
*
|
|
920
|
+
* @param {GetTransactionReceiptParameters} params - The parameters required to get the transaction receipt.
|
|
921
|
+
* @returns {Promise<{ boostId: bigint, incentiveId: bigint, claimer: Address, amount: bigint } | undefined>} The claim information if found, undefined otherwise.
|
|
922
|
+
*
|
|
923
|
+
* @description
|
|
924
|
+
* This method retrieves the transaction receipt using the provided parameters,
|
|
925
|
+
* then parses the logs to find the 'BoostClaimed' event.
|
|
926
|
+
* If found, it returns the arguments of the event, which include the boost ID,
|
|
927
|
+
* incentive ID, claimer address, and claimed amount.
|
|
928
|
+
*
|
|
929
|
+
* @example
|
|
930
|
+
* ```ts
|
|
931
|
+
* const claimInfo = await boostCore.getClaimFromTransaction({
|
|
932
|
+
* hash: '0x...',
|
|
933
|
+
* chainId: 1
|
|
934
|
+
* });
|
|
935
|
+
* if (claimInfo) {
|
|
936
|
+
* console.log(`Boost ${claimInfo.boostId} claimed by ${claimInfo.claimer}`);
|
|
937
|
+
* }
|
|
938
|
+
* ```
|
|
939
|
+
*/
|
|
940
|
+
async getClaimFromTransaction(b) {
|
|
941
|
+
var a;
|
|
942
|
+
const f = await bf(this._config, b);
|
|
943
|
+
return (a = B({
|
|
944
|
+
abi: A,
|
|
945
|
+
eventName: "BoostClaimed",
|
|
946
|
+
logs: f.logs
|
|
947
|
+
}).at(0)) == null ? void 0 : a.args;
|
|
948
|
+
}
|
|
949
|
+
/**
|
|
950
|
+
* Bound {@link PassthroughAuth} constructor that reuses the same configuration as the Boost Core instance.
|
|
951
|
+
*
|
|
952
|
+
* @example
|
|
953
|
+
* ```ts
|
|
954
|
+
* const auth = core.PassthroughAuth('0x') // is roughly equivalent to
|
|
955
|
+
* const auth = new PassthroughAuth({ config: core._config, account: core._account }, '0x')
|
|
956
|
+
* ```
|
|
957
|
+
* @param {Address} address
|
|
958
|
+
* @returns {PassthroughAuth}
|
|
959
|
+
*/
|
|
960
|
+
PassthroughAuth(b) {
|
|
961
|
+
return new lf(
|
|
962
|
+
{ config: this._config, account: this._account },
|
|
963
|
+
b
|
|
964
|
+
);
|
|
965
|
+
}
|
|
966
|
+
// /**
|
|
967
|
+
// * Bound {@link ContractAction} constructor that reuses the same configuration as the Boost Core instance.
|
|
968
|
+
// *
|
|
969
|
+
// * @example
|
|
970
|
+
// * ```ts
|
|
971
|
+
// * const action = core.ContractAction('0x') // is roughly equivalent to
|
|
972
|
+
// * const action = new ContractAction({ config: core._config, account: core._account }, '0x')
|
|
973
|
+
// * ```
|
|
974
|
+
// * @param {DeployablePayloadOrAddress<ContractActionPayload>} options
|
|
975
|
+
// * @param {?boolean} [isBase]
|
|
976
|
+
// * @returns {ContractAction}
|
|
977
|
+
// */
|
|
978
|
+
// ContractAction(
|
|
979
|
+
// options: DeployablePayloadOrAddress<ContractActionPayload>,
|
|
980
|
+
// isBase?: boolean,
|
|
981
|
+
// ) {
|
|
982
|
+
// return new ContractAction(
|
|
983
|
+
// { config: this._config, account: this._account },
|
|
984
|
+
// options,
|
|
985
|
+
// isBase,
|
|
986
|
+
// );
|
|
987
|
+
// }
|
|
988
|
+
/**
|
|
989
|
+
* Bound {@link EventAction} constructor that reuses the same configuration as the Boost Core instance.
|
|
990
|
+
*
|
|
991
|
+
* @example
|
|
992
|
+
* ```ts
|
|
993
|
+
* const action = core.EventAction('0x') // is roughly equivalent to
|
|
994
|
+
* const action = new EventAction({ config: core._config, account: core._account }, '0x')
|
|
995
|
+
*/
|
|
996
|
+
EventAction(b, f) {
|
|
997
|
+
return new nf(
|
|
998
|
+
{ config: this._config, account: this._account },
|
|
999
|
+
b,
|
|
1000
|
+
f
|
|
1001
|
+
);
|
|
1002
|
+
}
|
|
1003
|
+
// /**
|
|
1004
|
+
// * Bound {@link ERC721MintAction} constructor that reuses the same configuration as the Boost Core instance.
|
|
1005
|
+
// *
|
|
1006
|
+
// * @example
|
|
1007
|
+
// * ```ts
|
|
1008
|
+
// * const action = core.ERC721MintAction('0x') // is roughly equivalent to
|
|
1009
|
+
// * const action = new ERC721MintAction({ config: core._config, account: core._account }, '0x')
|
|
1010
|
+
// * ```
|
|
1011
|
+
// * @param {DeployablePayloadOrAddress<ERC721MintActionPayload>} options
|
|
1012
|
+
// * @param {?boolean} [isBase]
|
|
1013
|
+
// * @returns {ERC721MintAction}
|
|
1014
|
+
// */
|
|
1015
|
+
// ERC721MintAction(
|
|
1016
|
+
// options: DeployablePayloadOrAddress<ERC721MintActionPayload>,
|
|
1017
|
+
// isBase?: boolean,
|
|
1018
|
+
// ) {
|
|
1019
|
+
// return new ERC721MintAction(
|
|
1020
|
+
// { config: this._config, account: this._account },
|
|
1021
|
+
// options,
|
|
1022
|
+
// isBase,
|
|
1023
|
+
// );
|
|
1024
|
+
// }
|
|
1025
|
+
/**
|
|
1026
|
+
* Bound {@link OpenAllowList} constructor that reuses the same configuration as the Boost Core instance.
|
|
1027
|
+
*
|
|
1028
|
+
* @example
|
|
1029
|
+
* ```ts
|
|
1030
|
+
* const list = core.OpenAllowList('0x') // is roughly equivalent to
|
|
1031
|
+
* const list = new OpenAllowList({ config: core._config, account: core._account }, '0x')
|
|
1032
|
+
* ```
|
|
1033
|
+
* @param {?boolean} [isBase]
|
|
1034
|
+
* @returns {OpenAllowList}
|
|
1035
|
+
*/
|
|
1036
|
+
OpenAllowList(b) {
|
|
1037
|
+
return new of(
|
|
1038
|
+
{ config: this._config, account: this._account },
|
|
1039
|
+
void 0,
|
|
1040
|
+
b
|
|
1041
|
+
);
|
|
1042
|
+
}
|
|
1043
|
+
/**
|
|
1044
|
+
* Bound {@link SimpleAllowList} constructor that reuses the same configuration as the Boost Core instance.
|
|
1045
|
+
*
|
|
1046
|
+
* @example
|
|
1047
|
+
* ```ts
|
|
1048
|
+
* const list = core.SimpleAllowList('0x') // is roughly equivalent to
|
|
1049
|
+
* const list = new SimpleAllowList({ config: core._config, account: core._account }, '0x')
|
|
1050
|
+
* ```
|
|
1051
|
+
* @param {DeployablePayloadOrAddress<SimpleAllowListPayload>} options
|
|
1052
|
+
* @param {?boolean} [isBase]
|
|
1053
|
+
* @returns {SimpleAllowList}
|
|
1054
|
+
*/
|
|
1055
|
+
SimpleAllowList(b, f) {
|
|
1056
|
+
return new rf(
|
|
1057
|
+
{ config: this._config, account: this._account },
|
|
1058
|
+
b,
|
|
1059
|
+
f
|
|
1060
|
+
);
|
|
1061
|
+
}
|
|
1062
|
+
/**
|
|
1063
|
+
* Bound {@link SimpleDenyList} constructor that reuses the same configuration as the Boost Core instance.
|
|
1064
|
+
*
|
|
1065
|
+
* @example
|
|
1066
|
+
* ```ts
|
|
1067
|
+
* const list = core.SimpleDenyList('0x') // is roughly equivalent to
|
|
1068
|
+
* const list = new SimpleDenyList({ config: core._config, account: core._account }, '0x')
|
|
1069
|
+
* ```
|
|
1070
|
+
* @param {DeployablePayloadOrAddress<SimpleDenyListPayload>} options
|
|
1071
|
+
* @param {?boolean} [isBase]
|
|
1072
|
+
* @returns {SimpleDenyList}
|
|
1073
|
+
*/
|
|
1074
|
+
SimpleDenyList(b, f) {
|
|
1075
|
+
return new uf(
|
|
1076
|
+
{ config: this._config, account: this._account },
|
|
1077
|
+
b,
|
|
1078
|
+
f
|
|
1079
|
+
);
|
|
1080
|
+
}
|
|
1081
|
+
// /**
|
|
1082
|
+
// * Bound {@link SimpleBudget} constructor that reuses the same configuration as the Boost Core instance.
|
|
1083
|
+
// *
|
|
1084
|
+
// * @example
|
|
1085
|
+
// * ```ts
|
|
1086
|
+
// * const budget = core.SimpleBudget('0x') // is roughly equivalent to
|
|
1087
|
+
// * const budget = new SimpleBudget({ config: core._config, account: core._account }, '0x')
|
|
1088
|
+
// * ```
|
|
1089
|
+
// * @param {DeployablePayloadOrAddress<SimpleBudgetPayload>} options
|
|
1090
|
+
// * @returns {SimpleBudget}
|
|
1091
|
+
// */
|
|
1092
|
+
// SimpleBudget(options: DeployablePayloadOrAddress<SimpleBudgetPayload>) {
|
|
1093
|
+
// return new SimpleBudget(
|
|
1094
|
+
// { config: this._config, account: this._account },
|
|
1095
|
+
// options,
|
|
1096
|
+
// );
|
|
1097
|
+
// }
|
|
1098
|
+
/**
|
|
1099
|
+
* Bound {@link ManagedBudget} constructor that reuses the same configuration as the Boost Core instance.
|
|
1100
|
+
*
|
|
1101
|
+
* @example
|
|
1102
|
+
* ```ts
|
|
1103
|
+
* const budget = core.ManagedBudget('0x') // is roughly equivalent to
|
|
1104
|
+
* const budget = new ManagedBudget({ config: core._config, account: core._account }, '0x')
|
|
1105
|
+
* ```
|
|
1106
|
+
* @param {DeployablePayloadOrAddress<ManagedBudgetPayload>} options
|
|
1107
|
+
* @returns {ManagedBudget}
|
|
1108
|
+
*/
|
|
1109
|
+
ManagedBudget(b) {
|
|
1110
|
+
return new gf(
|
|
1111
|
+
{ config: this._config, account: this._account },
|
|
1112
|
+
b
|
|
1113
|
+
);
|
|
1114
|
+
}
|
|
1115
|
+
// /**
|
|
1116
|
+
// * Bound {@link VestingBudget} constructor that reuses the same configuration as the Boost Core instance.
|
|
1117
|
+
// *
|
|
1118
|
+
// * @example
|
|
1119
|
+
// * ```ts
|
|
1120
|
+
// * const budget = core.VestingBudget('0x') // is roughly equivalent to
|
|
1121
|
+
// * const budget = new VestingBudget({ config: core._config, account: core._account }, '0x')
|
|
1122
|
+
// * ```
|
|
1123
|
+
// * @param {DeployablePayloadOrAddress<VestingBudgetPayload>} options
|
|
1124
|
+
// * @returns {VestingBudget}
|
|
1125
|
+
// */
|
|
1126
|
+
// VestingBudget(options: DeployablePayloadOrAddress<VestingBudgetPayload>) {
|
|
1127
|
+
// return new VestingBudget(
|
|
1128
|
+
// { config: this._config, account: this._account },
|
|
1129
|
+
// options,
|
|
1130
|
+
// );
|
|
1131
|
+
// }
|
|
1132
|
+
/**
|
|
1133
|
+
* Bound {@link AllowListIncentive} constructor that reuses the same configuration as the Boost Core instance.
|
|
1134
|
+
*
|
|
1135
|
+
* @example
|
|
1136
|
+
* ```ts
|
|
1137
|
+
* const incentive = core.AllowListIncentive({ ... }) // is roughly equivalent to
|
|
1138
|
+
* const incentive = new AllowListIncentive({ config: core._config, account: core._account }, { ... })
|
|
1139
|
+
* ```
|
|
1140
|
+
* @param {DeployablePayloadOrAddress<VestingBudgetPayload>} options
|
|
1141
|
+
* @returns {VestingBudget}
|
|
1142
|
+
*/
|
|
1143
|
+
AllowListIncentive(b) {
|
|
1144
|
+
return new mf(
|
|
1145
|
+
{ config: this._config, account: this._account },
|
|
1146
|
+
b
|
|
1147
|
+
);
|
|
1148
|
+
}
|
|
1149
|
+
/**
|
|
1150
|
+
* Bound {@link CGDAIncentive} constructor that reuses the same configuration as the Boost Core instance.
|
|
1151
|
+
*
|
|
1152
|
+
* @example
|
|
1153
|
+
* ```ts
|
|
1154
|
+
* const incentive = core.CGDAIncentive({ ... }) // is roughly equivalent to
|
|
1155
|
+
* const incentive = new CGDAIncentive({ config: core._config, account: core._account }, { ... })
|
|
1156
|
+
* ```
|
|
1157
|
+
* @param {CGDAIncentivePayload} options
|
|
1158
|
+
* @returns {CGDAIncentive}
|
|
1159
|
+
*/
|
|
1160
|
+
CGDAIncentive(b) {
|
|
1161
|
+
return new vf(
|
|
1162
|
+
{ config: this._config, account: this._account },
|
|
1163
|
+
b
|
|
1164
|
+
);
|
|
1165
|
+
}
|
|
1166
|
+
/**
|
|
1167
|
+
* Bound {@link ERC20Incentive} constructor that reuses the same configuration as the Boost Core instance.
|
|
1168
|
+
*
|
|
1169
|
+
* @example
|
|
1170
|
+
* ```ts
|
|
1171
|
+
* const incentive = core.ERC20Incentive({ ... }) // is roughly equivalent to
|
|
1172
|
+
* const incentive = new ERC20Incentive({ config: core._config, account: core._account }, { ... })
|
|
1173
|
+
* ```
|
|
1174
|
+
* @param {ERC20IncentivePayload} options
|
|
1175
|
+
* @returns {ERC20Incentive}
|
|
1176
|
+
*/
|
|
1177
|
+
ERC20Incentive(b) {
|
|
1178
|
+
return new Cf(
|
|
1179
|
+
{ config: this._config, account: this._account },
|
|
1180
|
+
b
|
|
1181
|
+
);
|
|
1182
|
+
}
|
|
1183
|
+
// /**
|
|
1184
|
+
// * Temporarily disabled until low level ABI encoding bugs are resolved
|
|
1185
|
+
// * Bound {@link ERC1155Incentive} constructor that reuses the same configuration as the Boost Core instance.
|
|
1186
|
+
// *
|
|
1187
|
+
// * @experimental
|
|
1188
|
+
// * @example
|
|
1189
|
+
// * ```ts
|
|
1190
|
+
// * const incentive = core.ERC1155Incentive({ ... }) // is roughly equivalent to
|
|
1191
|
+
// * const incentive = new ERC1155Incentive({ config: core._config, account: core._account }, { ... })
|
|
1192
|
+
// * ```
|
|
1193
|
+
// * @param {ERC1155IncentivePayload} options
|
|
1194
|
+
// * @returns {ERC1155Incentive}
|
|
1195
|
+
// */
|
|
1196
|
+
// ERC1155Incentive(options: ERC1155IncentivePayload) {
|
|
1197
|
+
// return new ERC1155Incentive(
|
|
1198
|
+
// { config: this._config, account: this._account },
|
|
1199
|
+
// options,
|
|
1200
|
+
// );
|
|
1201
|
+
// }
|
|
1202
|
+
/**
|
|
1203
|
+
* Bound {@link PointsIncentive} constructor that reuses the same configuration as the Boost Core instance.
|
|
1204
|
+
*
|
|
1205
|
+
* @example
|
|
1206
|
+
* ```ts
|
|
1207
|
+
* const incentive = core.PointsIncentive({ ... }) // is roughly equivalent to
|
|
1208
|
+
* const incentive = new PointsIncentive({ config: core._config, account: core._account }, { ... })
|
|
1209
|
+
* ```
|
|
1210
|
+
* @param {PointsIncentivePayload} options
|
|
1211
|
+
* @returns {PointsIncentive}
|
|
1212
|
+
*/
|
|
1213
|
+
PointsIncentive(b) {
|
|
1214
|
+
return new yf(
|
|
1215
|
+
{ config: this._config, account: this._account },
|
|
1216
|
+
b
|
|
1217
|
+
);
|
|
1218
|
+
}
|
|
1219
|
+
/**
|
|
1220
|
+
* Bound {@link SignerValidator} constructor that reuses the same configuration as the Boost Core instance.
|
|
1221
|
+
*
|
|
1222
|
+
* @example
|
|
1223
|
+
* ```ts
|
|
1224
|
+
* const validator = core.SignerValidator({ ... }) // is roughly equivalent to
|
|
1225
|
+
* const validator = new SignerValidator({ config: core._config, account: core._account }, { ... })
|
|
1226
|
+
* ```
|
|
1227
|
+
* @param {DeployablePayloadOrAddress<SignerValidatorPayload>} options
|
|
1228
|
+
* @param {?boolean} [isBase]
|
|
1229
|
+
* @returns {SignerValidator}
|
|
1230
|
+
*/
|
|
1231
|
+
SignerValidator(b, f) {
|
|
1232
|
+
return new Bf(
|
|
1233
|
+
{ config: this._config, account: this._account },
|
|
1234
|
+
b,
|
|
1235
|
+
f
|
|
1236
|
+
);
|
|
1237
|
+
}
|
|
1238
|
+
/**
|
|
1239
|
+
* Bound {@link LimitedSignerValidator} constructor that reuses the same configuration as the Boost Core instance.
|
|
1240
|
+
*
|
|
1241
|
+
* @example
|
|
1242
|
+
* ```ts
|
|
1243
|
+
* const validator = core.LimitedSignerValidator({ ... }) // is roughly equivalent to
|
|
1244
|
+
* const validator = new LimitedSignerValidator({ config: core._config, account: core._account }, { ... })
|
|
1245
|
+
* ```
|
|
1246
|
+
* @param {DeployablePayloadOrAddress<LimitedSignerValidatorPayload>} options
|
|
1247
|
+
* @param {?boolean} [isBase]
|
|
1248
|
+
* @returns {LimitedSignerValidator}
|
|
1249
|
+
*/
|
|
1250
|
+
LimitedSignerValidator(b, f) {
|
|
1251
|
+
return new Pf(
|
|
1252
|
+
{ config: this._config, account: this._account },
|
|
1253
|
+
b,
|
|
1254
|
+
f
|
|
1255
|
+
);
|
|
1256
|
+
}
|
|
1257
|
+
/**
|
|
1258
|
+
* Bound {@link ERC20VariableCriteriaIncentive} constructor that reuses the same configuration as the Boost Core instance.
|
|
1259
|
+
*
|
|
1260
|
+
* @example
|
|
1261
|
+
* ```ts
|
|
1262
|
+
* const validator = core.ERC20VariableCrtieriaIncentive({ ... }) // is roughly equivalent to
|
|
1263
|
+
* const validator = new ERC20VariableCrtieriaIncentive({ config: core._config, account: core._account }, { ... })
|
|
1264
|
+
* ```
|
|
1265
|
+
* @param {DeployablePayloadOrAddress<ERC20VariableCrtieriaIncentivePayload>} options
|
|
1266
|
+
* @param {?boolean} [isBase]
|
|
1267
|
+
* @returns {ERC20VariableCrtieriaIncentive}
|
|
1268
|
+
* */
|
|
1269
|
+
ERC20VariableCriteriaIncentive(b, f) {
|
|
1270
|
+
return new Af(
|
|
1271
|
+
{ config: this._config, account: this._account },
|
|
1272
|
+
b,
|
|
1273
|
+
f
|
|
1274
|
+
);
|
|
1275
|
+
}
|
|
1276
|
+
/**
|
|
1277
|
+
* Bound {@link ERC20VariableIncentive} constructor that reuses the same configuration as the Boost Core instance.
|
|
1278
|
+
*
|
|
1279
|
+
* @example
|
|
1280
|
+
* ```ts
|
|
1281
|
+
* const validator = core.ERC20VariableIncentive({ ... }) // is roughly equivalent to
|
|
1282
|
+
* const validator = new ERC20VariableIncentive({ config: core._config, account: core._account }, { ... })
|
|
1283
|
+
* ```
|
|
1284
|
+
* @param {DeployablePayloadOrAddress<ERC20VariableIncentivePayload>} options
|
|
1285
|
+
* @param {?boolean} [isBase]
|
|
1286
|
+
* @returns {ERC20VariableIncentive}
|
|
1287
|
+
*/
|
|
1288
|
+
ERC20VariableIncentive(b, f) {
|
|
1289
|
+
return new Nf(
|
|
1290
|
+
{ config: this._config, account: this._account },
|
|
1291
|
+
b,
|
|
1292
|
+
f
|
|
1293
|
+
);
|
|
1294
|
+
}
|
|
1295
|
+
/**
|
|
1296
|
+
* @inheritdoc
|
|
1297
|
+
*
|
|
1298
|
+
* @public
|
|
1299
|
+
* @param {?[Address, Address]} [_payload]
|
|
1300
|
+
* @param {?DeployableOptions} [_options]
|
|
1301
|
+
* @returns {GenericDeployableParams}
|
|
1302
|
+
*/
|
|
1303
|
+
buildParameters(b, f) {
|
|
1304
|
+
const [e, a] = this.validateDeploymentConfig(
|
|
1305
|
+
b,
|
|
1306
|
+
f
|
|
1307
|
+
);
|
|
1308
|
+
return {
|
|
1309
|
+
abi: A,
|
|
1310
|
+
bytecode: Tf,
|
|
1311
|
+
args: e,
|
|
1312
|
+
...this.optionallyAttachAccount(a.account)
|
|
1313
|
+
};
|
|
1314
|
+
}
|
|
1315
|
+
};
|
|
1316
|
+
P.addresses = y;
|
|
1317
|
+
let L = P;
|
|
25
1318
|
export {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
1319
|
+
_0 as BOOST_CORE_ADDRESS,
|
|
1320
|
+
y as BOOST_CORE_ADDRESSES,
|
|
1321
|
+
B0 as BOOST_CORE_CLAIM_FEE,
|
|
1322
|
+
L as BoostCore,
|
|
1323
|
+
A as boostCoreAbi
|
|
31
1324
|
};
|
|
32
1325
|
//# sourceMappingURL=BoostCore.js.map
|