@boostxyz/sdk 0.0.0-alpha.3 → 0.0.0-alpha.6
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 +2 -1
- package/dist/Actions/Action.cjs.map +1 -0
- package/dist/Actions/Action.d.ts +1 -1
- package/dist/Actions/Action.d.ts.map +1 -1
- package/dist/Actions/Action.js +15 -13
- package/dist/Actions/Action.js.map +1 -0
- package/dist/Actions/EventAction.cjs +1 -0
- package/dist/Actions/EventAction.cjs.map +1 -0
- package/dist/Actions/EventAction.js +1 -0
- package/dist/Actions/EventAction.js.map +1 -0
- package/dist/AllowLists/AllowList.cjs +2 -1
- package/dist/AllowLists/AllowList.cjs.map +1 -0
- package/dist/AllowLists/AllowList.d.ts +1 -2
- package/dist/AllowLists/AllowList.d.ts.map +1 -1
- package/dist/AllowLists/AllowList.js +16 -14
- package/dist/AllowLists/AllowList.js.map +1 -0
- package/dist/AllowLists/SimpleAllowList.cjs +1 -0
- package/dist/AllowLists/SimpleAllowList.cjs.map +1 -0
- package/dist/AllowLists/SimpleAllowList.js +1 -0
- package/dist/AllowLists/SimpleAllowList.js.map +1 -0
- package/dist/AllowLists/SimpleDenyList.cjs +1 -0
- package/dist/AllowLists/SimpleDenyList.cjs.map +1 -0
- package/dist/AllowLists/SimpleDenyList.js +1 -0
- package/dist/AllowLists/SimpleDenyList.js.map +1 -0
- package/dist/Auth/Auth.cjs +1 -0
- package/dist/Auth/Auth.cjs.map +1 -0
- package/dist/Auth/Auth.js +1 -0
- package/dist/Auth/Auth.js.map +1 -0
- package/dist/Auth/PassthroughAuth.cjs +1 -0
- package/dist/Auth/PassthroughAuth.cjs.map +1 -0
- package/dist/Auth/PassthroughAuth.js +1 -0
- package/dist/Auth/PassthroughAuth.js.map +1 -0
- package/dist/Boost.cjs +1 -0
- package/dist/Boost.cjs.map +1 -0
- package/dist/Boost.js +1 -0
- package/dist/Boost.js.map +1 -0
- package/dist/BoostCore.cjs +1 -0
- package/dist/BoostCore.cjs.map +1 -0
- package/dist/BoostCore.js +1 -0
- package/dist/BoostCore.js.map +1 -0
- package/dist/BoostRegistry.cjs +1 -0
- package/dist/BoostRegistry.cjs.map +1 -0
- package/dist/BoostRegistry.js +1 -0
- package/dist/BoostRegistry.js.map +1 -0
- package/dist/Budgets/Budget.cjs +2 -1
- package/dist/Budgets/Budget.cjs.map +1 -0
- package/dist/Budgets/Budget.d.ts +1 -1
- package/dist/Budgets/Budget.d.ts.map +1 -1
- package/dist/Budgets/Budget.js +14 -12
- package/dist/Budgets/Budget.js.map +1 -0
- package/dist/Budgets/ManagedBudget.cjs +1 -0
- package/dist/Budgets/ManagedBudget.cjs.map +1 -0
- package/dist/Budgets/ManagedBudget.js +1 -0
- package/dist/Budgets/ManagedBudget.js.map +1 -0
- package/dist/Deployable/Contract.cjs +1 -0
- package/dist/Deployable/Contract.cjs.map +1 -0
- package/dist/Deployable/Contract.js +1 -0
- package/dist/Deployable/Contract.js.map +1 -0
- package/dist/Deployable/Deployable.cjs +1 -0
- package/dist/Deployable/Deployable.cjs.map +1 -0
- package/dist/Deployable/Deployable.js +1 -0
- package/dist/Deployable/Deployable.js.map +1 -0
- package/dist/Deployable/DeployableTarget.cjs +1 -0
- package/dist/Deployable/DeployableTarget.cjs.map +1 -0
- package/dist/Deployable/DeployableTarget.js +1 -0
- package/dist/Deployable/DeployableTarget.js.map +1 -0
- package/dist/Incentives/AllowListIncentive.cjs +1 -0
- package/dist/Incentives/AllowListIncentive.cjs.map +1 -0
- package/dist/Incentives/AllowListIncentive.js +1 -0
- package/dist/Incentives/AllowListIncentive.js.map +1 -0
- package/dist/Incentives/CGDAIncentive.cjs +1 -0
- package/dist/Incentives/CGDAIncentive.cjs.map +1 -0
- package/dist/Incentives/CGDAIncentive.js +1 -0
- package/dist/Incentives/CGDAIncentive.js.map +1 -0
- package/dist/Incentives/ERC20Incentive.cjs +1 -0
- package/dist/Incentives/ERC20Incentive.cjs.map +1 -0
- package/dist/Incentives/ERC20Incentive.js +1 -0
- package/dist/Incentives/ERC20Incentive.js.map +1 -0
- package/dist/Incentives/Incentive.cjs +2 -1
- package/dist/Incentives/Incentive.cjs.map +1 -0
- package/dist/Incentives/Incentive.d.ts +1 -4
- package/dist/Incentives/Incentive.d.ts.map +1 -1
- package/dist/Incentives/Incentive.js +39 -36
- package/dist/Incentives/Incentive.js.map +1 -0
- package/dist/Incentives/PointsIncentive.cjs +1 -0
- package/dist/Incentives/PointsIncentive.cjs.map +1 -0
- package/dist/Incentives/PointsIncentive.js +1 -0
- package/dist/Incentives/PointsIncentive.js.map +1 -0
- package/dist/Validators/SignerValidator.cjs +1 -0
- package/dist/Validators/SignerValidator.cjs.map +1 -0
- package/dist/Validators/SignerValidator.js +1 -0
- package/dist/Validators/SignerValidator.js.map +1 -0
- package/dist/Validators/Validator.cjs +2 -1
- package/dist/Validators/Validator.cjs.map +1 -0
- package/dist/Validators/Validator.d.ts +1 -1
- package/dist/Validators/Validator.d.ts.map +1 -1
- package/dist/Validators/Validator.js +9 -7
- package/dist/Validators/Validator.js.map +1 -0
- package/dist/componentInterfaces-CKCBwG16.cjs +2 -0
- package/dist/componentInterfaces-CKCBwG16.cjs.map +1 -0
- package/dist/componentInterfaces-DYkaxBda.js +13 -0
- package/dist/componentInterfaces-DYkaxBda.js.map +1 -0
- package/dist/errors.cjs +1 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.js +1 -0
- package/dist/errors.js.map +1 -0
- package/dist/generated-Cd-Fe7W7.cjs +1 -0
- package/dist/generated-Cd-Fe7W7.cjs.map +1 -0
- package/dist/generated-DGpIVcv5.js +1 -0
- package/dist/generated-DGpIVcv5.js.map +1 -0
- package/dist/index.cjs +1 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/utils.cjs +1 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.ts +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -0
- package/dist/utils.js.map +1 -0
- package/package.json +5 -3
- package/src/Actions/Action.test.ts +77 -0
- package/src/Actions/Action.ts +61 -0
- package/src/Actions/ContractAction.test.ts +199 -0
- package/src/Actions/ContractAction.ts +238 -0
- package/src/Actions/ERC721MintAction.test.ts +112 -0
- package/src/Actions/ERC721MintAction.ts +238 -0
- package/src/Actions/EventAction.test.ts +182 -0
- package/src/Actions/EventAction.ts +382 -0
- package/src/AllowLists/AllowList.test.ts +64 -0
- package/src/AllowLists/AllowList.ts +60 -0
- package/src/AllowLists/SimpleAllowList.test.ts +52 -0
- package/src/AllowLists/SimpleAllowList.ts +240 -0
- package/src/AllowLists/SimpleDenyList.test.ts +52 -0
- package/src/AllowLists/SimpleDenyList.ts +289 -0
- package/src/Auth/Auth.ts +11 -0
- package/src/Auth/PassthroughAuth.test.ts +12 -0
- package/src/Auth/PassthroughAuth.ts +80 -0
- package/src/Boost.ts +155 -0
- package/src/BoostCore.test.ts +846 -0
- package/src/BoostCore.ts +1192 -0
- package/src/BoostRegistry.ts +449 -0
- package/src/Budgets/Budget.test.ts +27 -0
- package/src/Budgets/Budget.ts +61 -0
- package/src/Budgets/ManagedBudget.test.ts +154 -0
- package/src/Budgets/ManagedBudget.ts +743 -0
- package/src/Budgets/SimpleBudget.test.ts +152 -0
- package/src/Budgets/SimpleBudget.ts +521 -0
- package/src/Budgets/VestingBudget.test.ts +123 -0
- package/src/Budgets/VestingBudget.ts +532 -0
- package/src/Deployable/Contract.ts +229 -0
- package/src/Deployable/Deployable.ts +244 -0
- package/src/Deployable/DeployableTarget.ts +210 -0
- package/src/Incentives/AllowListIncentive.test.ts +146 -0
- package/src/Incentives/AllowListIncentive.ts +290 -0
- package/src/Incentives/CGDAIncentive.test.ts +136 -0
- package/src/Incentives/CGDAIncentive.ts +364 -0
- package/src/Incentives/ERC1155Incentive.test.ts +98 -0
- package/src/Incentives/ERC1155Incentive.ts +384 -0
- package/src/Incentives/ERC20Incentive.test.ts +141 -0
- package/src/Incentives/ERC20Incentive.ts +417 -0
- package/src/Incentives/ERC20VariableIncentive.test.ts +156 -0
- package/src/Incentives/ERC20VariableIncentive.ts +368 -0
- package/src/Incentives/Incentive.test.ts +92 -0
- package/src/Incentives/Incentive.ts +85 -0
- package/src/Incentives/PointsIncentive.test.ts +142 -0
- package/src/Incentives/PointsIncentive.ts +303 -0
- package/src/Validators/SignerValidator.test.ts +163 -0
- package/src/Validators/SignerValidator.ts +272 -0
- package/src/Validators/Validator.test.ts +21 -0
- package/src/Validators/Validator.ts +55 -0
- package/src/errors.ts +524 -0
- package/src/index.test.ts +40 -0
- package/src/index.ts +50 -0
- package/src/utils.test.ts +44 -0
- package/src/utils.ts +2247 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Boost.cjs","sources":["../src/Boost.ts"],"sourcesContent":["import { type Address, zeroAddress } from 'viem';\nimport type { Action } from './Actions/Action';\nimport type { AllowList } from './AllowLists/AllowList';\nimport type { Budget } from './Budgets/Budget';\nimport type { Incentive } from './Incentives/Incentive';\nimport type { Validator } from './Validators/Validator';\n\n/**\n * Configuration used to instantiate a `Boost` instance.\n *\n * @export\n * @interface BoostPayload\n * @typedef {BoostPayload}\n */\nexport interface BoostConfig {\n /**\n *\n * @type {bigint}\n */\n id: bigint;\n /**\n *\n * @type {Budget}\n */\n budget: Budget;\n /**\n *\n * @type {Action}\n */\n action: Action;\n /**\n *\n * @type {Validator}\n */\n validator: Validator;\n /**\n *\n * @type {AllowList}\n */\n allowList: AllowList;\n /**\n *\n * @type {Array<Incentive>}\n */\n incentives: Array<Incentive>;\n /**\n *\n * @type {?bigint}\n */\n protocolFee?: bigint;\n /**\n *\n * @type {?bigint}\n */\n referralFee?: bigint;\n /**\n *\n * @type {?bigint}\n */\n maxParticipants?: bigint;\n /**\n *\n * @type {?Address}\n */\n owner?: Address;\n}\n\n/**\n * A struct representing a single Boost. Typically you would not construct this directly, rather get an instance from `BoostCore.createBoost` or `BoostCore.getBoost`\n *\n * @export\n * @class Boost\n * @typedef {Boost}\n */\nexport class Boost {\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly id: bigint;\n /**\n *\n * @readonly\n * @type {Budget}\n */\n readonly budget: Budget;\n /**\n *\n * @readonly\n * @type {Action}\n */\n readonly action: Action;\n /**\n *\n * @readonly\n * @type {Validator}\n */\n readonly validator: Validator;\n /**\n *\n * @readonly\n * @type {AllowList}\n */\n readonly allowList: AllowList;\n /**\n *\n * @readonly\n * @type {Array<Incentive>}\n */\n readonly incentives: Array<Incentive>;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly protocolFee: bigint;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly referralFee: bigint;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly maxParticipants: bigint;\n /**\n *\n * @readonly\n * @type {Address}\n */\n readonly owner: Address;\n\n /**\n * Creates an instance of Boost.\n *\n * @constructor\n * @param {BoostConfig} config\n */\n constructor(config: BoostConfig) {\n this.id = config.id;\n this.budget = config.budget;\n this.action = config.action;\n this.validator = config.validator;\n this.allowList = config.allowList;\n this.incentives = config.incentives;\n this.protocolFee = config.protocolFee || 0n;\n this.referralFee = config.referralFee || 0n;\n this.maxParticipants = config.maxParticipants || 0n;\n this.owner = config.owner || zeroAddress;\n }\n}\n"],"names":["Boost","config","zeroAddress"],"mappings":"wGA0EO,MAAMA,CAAM,CAoEjB,YAAYC,EAAqB,CAC/B,KAAK,GAAKA,EAAO,GACjB,KAAK,OAASA,EAAO,OACrB,KAAK,OAASA,EAAO,OACrB,KAAK,UAAYA,EAAO,UACxB,KAAK,UAAYA,EAAO,UACxB,KAAK,WAAaA,EAAO,WACpB,KAAA,YAAcA,EAAO,aAAe,GACpC,KAAA,YAAcA,EAAO,aAAe,GACpC,KAAA,gBAAkBA,EAAO,iBAAmB,GAC5C,KAAA,MAAQA,EAAO,OAASC,EAAAA,WAC/B,CACF"}
|
package/dist/Boost.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Boost.js","sources":["../src/Boost.ts"],"sourcesContent":["import { type Address, zeroAddress } from 'viem';\nimport type { Action } from './Actions/Action';\nimport type { AllowList } from './AllowLists/AllowList';\nimport type { Budget } from './Budgets/Budget';\nimport type { Incentive } from './Incentives/Incentive';\nimport type { Validator } from './Validators/Validator';\n\n/**\n * Configuration used to instantiate a `Boost` instance.\n *\n * @export\n * @interface BoostPayload\n * @typedef {BoostPayload}\n */\nexport interface BoostConfig {\n /**\n *\n * @type {bigint}\n */\n id: bigint;\n /**\n *\n * @type {Budget}\n */\n budget: Budget;\n /**\n *\n * @type {Action}\n */\n action: Action;\n /**\n *\n * @type {Validator}\n */\n validator: Validator;\n /**\n *\n * @type {AllowList}\n */\n allowList: AllowList;\n /**\n *\n * @type {Array<Incentive>}\n */\n incentives: Array<Incentive>;\n /**\n *\n * @type {?bigint}\n */\n protocolFee?: bigint;\n /**\n *\n * @type {?bigint}\n */\n referralFee?: bigint;\n /**\n *\n * @type {?bigint}\n */\n maxParticipants?: bigint;\n /**\n *\n * @type {?Address}\n */\n owner?: Address;\n}\n\n/**\n * A struct representing a single Boost. Typically you would not construct this directly, rather get an instance from `BoostCore.createBoost` or `BoostCore.getBoost`\n *\n * @export\n * @class Boost\n * @typedef {Boost}\n */\nexport class Boost {\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly id: bigint;\n /**\n *\n * @readonly\n * @type {Budget}\n */\n readonly budget: Budget;\n /**\n *\n * @readonly\n * @type {Action}\n */\n readonly action: Action;\n /**\n *\n * @readonly\n * @type {Validator}\n */\n readonly validator: Validator;\n /**\n *\n * @readonly\n * @type {AllowList}\n */\n readonly allowList: AllowList;\n /**\n *\n * @readonly\n * @type {Array<Incentive>}\n */\n readonly incentives: Array<Incentive>;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly protocolFee: bigint;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly referralFee: bigint;\n /**\n *\n * @readonly\n * @type {bigint}\n */\n readonly maxParticipants: bigint;\n /**\n *\n * @readonly\n * @type {Address}\n */\n readonly owner: Address;\n\n /**\n * Creates an instance of Boost.\n *\n * @constructor\n * @param {BoostConfig} config\n */\n constructor(config: BoostConfig) {\n this.id = config.id;\n this.budget = config.budget;\n this.action = config.action;\n this.validator = config.validator;\n this.allowList = config.allowList;\n this.incentives = config.incentives;\n this.protocolFee = config.protocolFee || 0n;\n this.referralFee = config.referralFee || 0n;\n this.maxParticipants = config.maxParticipants || 0n;\n this.owner = config.owner || zeroAddress;\n }\n}\n"],"names":["Boost","config","zeroAddress"],"mappings":";AA0EO,MAAMA,EAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAoEjB,YAAYC,GAAqB;AAC/B,SAAK,KAAKA,EAAO,IACjB,KAAK,SAASA,EAAO,QACrB,KAAK,SAASA,EAAO,QACrB,KAAK,YAAYA,EAAO,WACxB,KAAK,YAAYA,EAAO,WACxB,KAAK,aAAaA,EAAO,YACpB,KAAA,cAAcA,EAAO,eAAe,IACpC,KAAA,cAAcA,EAAO,eAAe,IACpC,KAAA,kBAAkBA,EAAO,mBAAmB,IAC5C,KAAA,QAAQA,EAAO,SAASC;AAAA,EAC/B;AACF;"}
|
package/dist/BoostCore.cjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./generated-Cd-Fe7W7.cjs"),D=require("@wagmi/core"),d=require("viem"),K=require("./Actions/Action.cjs"),Q=require("./Actions/EventAction.cjs"),X=require("./AllowLists/AllowList.cjs"),Y=require("./AllowLists/SimpleAllowList.cjs"),Z=require("./AllowLists/SimpleDenyList.cjs"),ff=require("./Auth/PassthroughAuth.cjs"),V=require("./Boost.cjs"),ef=require("./Budgets/Budget.cjs"),af=require("./Budgets/ManagedBudget.cjs"),bf=require("./Deployable/Deployable.cjs"),tf=require("./Incentives/AllowListIncentive.cjs"),sf=require("./Incentives/CGDAIncentive.cjs"),cf=require("./Incentives/ERC20Incentive.cjs"),H=require("./Incentives/Incentive.cjs"),nf=require("./Incentives/PointsIncentive.cjs"),df=require("./Validators/SignerValidator.cjs"),rf=require("./Validators/Validator.cjs"),C=require("./errors.cjs"),of=require("./utils.cjs"),N=require("viem/actions"),M=require("viem/utils"),uf="0x60806040526544364c5bb0006004556103e860055f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506103e8600560086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555034801561006e575f80fd5b506040516135683803806135688339818101604052810190610090919061029f565b61009f3361012660201b60201c565b8160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506102dd565b61013461020260201b60201c565b156101ac577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561016e57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506101ff565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f90565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102338261020a565b9050919050565b5f61024482610229565b9050919050565b6102548161023a565b811461025e575f80fd5b50565b5f8151905061026f8161024b565b92915050565b61027e81610229565b8114610288575f80fd5b50565b5f8151905061029981610275565b92915050565b5f80604083850312156102b5576102b4610206565b5b5f6102c285828601610261565b92505060206102d38582860161028b565b9150509250929050565b61327e806102ea5f395ff3fe60806040526004361061014a575f3560e01c8063892b97f8116100b5578063d73792a91161006e578063d73792a9146103d0578063e21ff731146103fa578063eccc19a614610436578063f04e283e1461045e578063f2fde38b1461047a578063fee81cf4146104965761014a565b8063892b97f8146102e45780638da5cb5b1461030c5780638fe4f5231461033657806399d32fc414610352578063a92647dc1461037c578063b0e21e8a146103a65761014a565b806354d1f13d1161010757806354d1f13d146102365780635edb9eb014610240578063715018a61461026a578063730f9c57146102745780637b1039991461029057806384ae2bc6146102ba5761014a565b806313c8e2de1461014e578063256929621461018a5780632e75ab501461019457806339a51be5146101bc57806343bc42d3146101e657806346877b1a1461020e575b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f91906122d2565b6104d2565b60405161018191906125c3565b60405180910390f35b6101926107ac565b005b34801561019f575f80fd5b506101ba60048036038101906101b591906122d2565b6107fd565b005b3480156101c7575f80fd5b506101d061080f565b6040516101dd91906125f2565b60405180910390f35b3480156101f1575f80fd5b5061020c60048036038101906102079190612635565b610834565b005b348015610219575f80fd5b50610234600480360381019061022f919061268a565b610867565b005b61023e6108b2565b005b34801561024b575f80fd5b506102546108eb565b60405161026191906126c4565b60405180910390f35b6102726108f6565b005b61028e6004803603810190610289919061273e565b610909565b005b34801561029b575f80fd5b506102a4610b9a565b6040516102b191906127f4565b60405180910390f35b3480156102c5575f80fd5b506102ce610bbf565b6040516102db919061281c565b60405180910390f35b3480156102ef575f80fd5b5061030a60048036038101906103059190612635565b610bd9565b005b348015610317575f80fd5b50610320610c0d565b60405161032d91906125f2565b60405180910390f35b610350600480360381019061034b9190612835565b610c35565b005b34801561035d575f80fd5b50610366610c4a565b60405161037391906126c4565b60405180910390f35b348015610387575f80fd5b50610390610c50565b60405161039d91906128d9565b60405180910390f35b3480156103b1575f80fd5b506103ba610c75565b6040516103c7919061281c565b60405180910390f35b3480156103db575f80fd5b506103e4610c8e565b6040516103f1919061281c565b60405180910390f35b348015610405575f80fd5b50610420600480360381019061041b91906128f2565b610c94565b60405161042d91906125c3565b60405180910390f35b348015610441575f80fd5b5061045c6004803603810190610457919061268a565b61164f565b005b6104786004803603810190610473919061268a565b61169a565b005b610494600480360381019061048f919061268a565b6116d8565b005b3480156104a1575f80fd5b506104bc60048036038101906104b7919061268a565b611701565b6040516104c991906126c4565b60405180910390f35b6104da612126565b5f82815481106104ed576104ec61293d565b5b905f5260205f209060080201604051806101200160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482018054806020026020016040519081016040528092919081815260200182805480156106da57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610691575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016005820160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b5f6107b561171a565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b610805611724565b8060048190555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61083c611724565b8060055f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b61086f611724565b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f8080549050905090565b6108fe611724565b6109075f61175b565b565b3068929eee149b4bd2126854036109275763ab143c065f526004601cfd5b3068929eee149b4bd21268555f8087815481106109475761094661293d565b5b905f5260205f20906008020190506004543410156109a2575f346004546040517f5c54305e0000000000000000000000000000000000000000000000000000000081526004016109999392919061296a565b60405180910390fd5b6109ac8186611821565b806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663703b690088888588886040518663ffffffff1660e01b8152600401610a109594939291906129f9565b6020604051808303815f875af1158015610a2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a509190612a7a565b610a86576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806004018681548110610a9c57610a9b61293d565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb1757cf8386866040518463ffffffff1660e01b8152600401610b0093929190612aa5565b6020604051808303815f875af1158015610b1c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b409190612a7a565b610b85578184846040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610b7c93929190612aa5565b60405180910390fd5b503868929eee149b4bd2126855505050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560089054906101000a900467ffffffffffffffff1681565b610be1611724565b80600560086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b610c43858585858533610909565b5050505050565b60045481565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900467ffffffffffffffff1681565b61271081565b610c9c612126565b335f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015610d90575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80826040518263ffffffff1660e01b8152600401610d4f91906125f2565b602060405180830381865afa158015610d6a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8e9190612a7a565b155b15610dc7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd212685403610de55763ab143c065f526004601cfd5b3068929eee149b4bd21268555f610e3e85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505061198f565b806020019051810190610e519190612f35565b9050610e5f815f0151611a28565b5f8060018160018154018082558091505003905f5260205f2090600802019050816101000151816007015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550815f0151816003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160a0015160055f9054906101000a900467ffffffffffffffff16610f309190612fa9565b816005015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160c00151600560089054906101000a900467ffffffffffffffff16610f7f9190612fa9565b8160050160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160e001518160060181905550610fe67fe67157950000000000000000000000000000000000000000000000000000000083602001516001611b03565b815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110567fe2089f790000000000000000000000000000000000000000000000000000000083606001516001611b03565b816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110a88260800151835f0151611b25565b8160040190805190602001906110bf9291906121ec565b505f73ffffffffffffffffffffffffffffffffffffffff1682604001516020015173ffffffffffffffffffffffffffffffffffffffff16146111305761112b7f5912b89c0000000000000000000000000000000000000000000000000000000083604001516001611b03565b611219565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f5912b89c000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016111ab919061301e565b602060405180830381865afa1580156111c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ea9190612a7a565b6111f4575f611218565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b5b816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660015f805490506112de9190613037565b7f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd8460040180549050856001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051611383949392919061306a565b60405180910390a480604051806101200160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016004820180548060200260200160405190810160405280929190818152602001828054801561156d57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611524575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016005820160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050935050503868929eee149b4bd21268555092915050565b611657611724565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6116a2611724565b63389a75e1600c52805f526020600c2080544211156116c857636f5e88185f526004601cfd5b5f8155506116d58161175b565b50565b6116e0611724565b8060601b6116f557637448fbae5f526004601cfd5b6116fe8161175b565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611759576382b429005f526004601cfd5b565b611763611eef565b156117c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b821781555061181e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454031561198b575f60045490505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146118e7575f61271067ffffffffffffffff168460050160089054906101000a900467ffffffffffffffff1667ffffffffffffffff166004546118a291906130ad565b6118ac919061311b565b905080826118ba9190613037565b91506118e5818473ffffffffffffffffffffffffffffffffffffffff16611ef390919063ffffffff16565b505b61193f6002826118f7919061311b565b846007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611ef390919063ffffffff16565b6119894760035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611ef390919063ffffffff16565b505b5050565b6060815115611a235760405190506020810160048301805184518501811983525b80861015611a09576001860195508551601f1a806119f9576001870196508651601f1a5f198652607f81116119e757600181013887395b6001607f821601860195505050611a04565b808553600185019450505b6119b0565b81835260208501840385525f845260208401604052505050505b919050565b611a527fea5ad34e0000000000000000000000000000000000000000000000000000000082611f10565b8073ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336040518263ffffffff1660e01b8152600401611a8b91906125f2565b602060405180830381865afa158015611aa6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aca9190612a7a565b611b00576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b5f611b12848460200151611f10565b611b1c8383612007565b90509392505050565b6060825167ffffffffffffffff811115611b4257611b41612ad9565b5b604051908082528060200260200182016040528015611b705781602001602082028036833780820191505090505b5090505f5b8351811015611ee857611bc67f5970a68900000000000000000000000000000000000000000000000000000000858381518110611bb557611bb461293d565b5b602002602001015160200151611f10565b838181518110611bd957611bd861293d565b5b60200260200101515f0151611c65577f5970a68900000000000000000000000000000000000000000000000000000000848281518110611c1c57611c1b61293d565b5b6020026020010151602001516040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401611c5c92919061314b565b60405180910390fd5b611caa7f5970a68900000000000000000000000000000000000000000000000000000000858381518110611c9c57611c9b61293d565b5b60200260200101515f611b03565b828281518110611cbd57611cbc61293d565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f828281518110611d0b57611d0a61293d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16634e7165a2868481518110611d4157611d4061293d565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401611d6991906131b4565b5f60405180830381865afa158015611d83573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190611dab91906131d4565b90505f815114611e3c578373ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1826040518263ffffffff1660e01b8152600401611dee91906131b4565b6020604051808303815f875af1158015611e0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e2e9190612a7a565b611e3b57611e3a61321b565b5b5b828281518110611e4f57611e4e61293d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663439fab91868481518110611e8557611e8461293d565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401611ead91906131b4565b5f604051808303815f87803b158015611ec4575f80fd5b505af1158015611ed6573d5f803e3d5ffd5b50505050508080600101915050611b75565b5092915050565b5f90565b5f385f3884865af1611f0c5763b12d13eb5f526004601cfd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480611fbf57508073ffffffffffffffffffffffffffffffffffffffff166301ffc9a7836040518263ffffffff1660e01b8152600401611f7e919061301e565b602060405180830381865afa158015611f99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fbd9190612a7a565b155b156120035781816040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401611ffa92919061314b565b60405180910390fd5b5050565b5f825f015161201a57826020015161203e565b61203d836020015173ffffffffffffffffffffffffffffffffffffffff166120c3565b5b9050825f0151801561204d5750815b156120bd578073ffffffffffffffffffffffffffffffffffffffff1663439fab9184604001516040518263ffffffff1660e01b815260040161208f91906131b4565b5f604051808303815f87803b1580156120a6575f80fd5b505af11580156120b8573d5f803e3d5ffd5b505050505b92915050565b5f6120ce5f836120d5565b9050919050565b5f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f090508061211c5763301164255f526004601cfd5b5f60215292915050565b6040518061012001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f67ffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b828054828255905f5260205f20908101928215612262579160200282015b82811115612261578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019061220a565b5b50905061226f9190612273565b5090565b5b8082111561228a575f815f905550600101612274565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6122b18161229f565b81146122bb575f80fd5b50565b5f813590506122cc816122a8565b92915050565b5f602082840312156122e7576122e6612297565b5b5f6122f4848285016122be565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61233f61233a612335846122fd565b61231c565b6122fd565b9050919050565b5f61235082612325565b9050919050565b5f61236182612346565b9050919050565b61237181612357565b82525050565b5f61238182612346565b9050919050565b61239181612377565b82525050565b5f6123a182612346565b9050919050565b6123b181612397565b82525050565b5f6123c182612325565b9050919050565b5f6123d2826123b7565b9050919050565b6123e2816123c8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f61241b82612346565b9050919050565b61242b81612411565b82525050565b5f61243c8383612422565b60208301905092915050565b5f602082019050919050565b5f61245e826123e8565b61246881856123f2565b935061247383612402565b805f5b838110156124a357815161248a8882612431565b975061249583612448565b925050600181019050612476565b5085935050505092915050565b5f67ffffffffffffffff82169050919050565b6124cc816124b0565b82525050565b6124db8161229f565b82525050565b5f6124eb826122fd565b9050919050565b6124fb816124e1565b82525050565b5f61012083015f8301516125175f860182612368565b50602083015161252a6020860182612388565b50604083015161253d60408601826123a8565b50606083015161255060608601826123d9565b50608083015184820360808601526125688282612454565b91505060a083015161257d60a08601826124c3565b5060c083015161259060c08601826124c3565b5060e08301516125a360e08601826124d2565b506101008301516125b86101008601826124f2565b508091505092915050565b5f6020820190508181035f8301526125db8184612501565b905092915050565b6125ec816124e1565b82525050565b5f6020820190506126055f8301846125e3565b92915050565b612614816124b0565b811461261e575f80fd5b50565b5f8135905061262f8161260b565b92915050565b5f6020828403121561264a57612649612297565b5b5f61265784828501612621565b91505092915050565b612669816124e1565b8114612673575f80fd5b50565b5f8135905061268481612660565b92915050565b5f6020828403121561269f5761269e612297565b5b5f6126ac84828501612676565b91505092915050565b6126be8161229f565b82525050565b5f6020820190506126d75f8301846126b5565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126126fe576126fd6126dd565b5b8235905067ffffffffffffffff81111561271b5761271a6126e1565b5b602083019150836001820283011115612737576127366126e5565b5b9250929050565b5f805f805f8060a0878903121561275857612757612297565b5b5f61276589828a016122be565b965050602061277689828a016122be565b955050604061278789828a01612676565b945050606087013567ffffffffffffffff8111156127a8576127a761229b565b5b6127b489828a016126e9565b935093505060806127c789828a01612676565b9150509295509295509295565b5f6127de82612346565b9050919050565b6127ee816127d4565b82525050565b5f6020820190506128075f8301846127e5565b92915050565b612816816124b0565b82525050565b5f60208201905061282f5f83018461280d565b92915050565b5f805f805f6080868803121561284e5761284d612297565b5b5f61285b888289016122be565b955050602061286c888289016122be565b945050604061287d88828901612676565b935050606086013567ffffffffffffffff81111561289e5761289d61229b565b5b6128aa888289016126e9565b92509250509295509295909350565b5f6128c382612346565b9050919050565b6128d3816128b9565b82525050565b5f6020820190506128ec5f8301846128ca565b92915050565b5f806020838503121561290857612907612297565b5b5f83013567ffffffffffffffff8111156129255761292461229b565b5b612931858286016126e9565b92509250509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60608201905061297d5f8301866125e3565b61298a60208301856126b5565b61299760408301846126b5565b949350505050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f6129d8838561299f565b93506129e58385846129af565b6129ee836129bd565b840190509392505050565b5f608082019050612a0c5f8301886126b5565b612a1960208301876126b5565b612a2660408301866125e3565b8181036060830152612a398184866129cd565b90509695505050505050565b5f8115159050919050565b612a5981612a45565b8114612a63575f80fd5b50565b5f81519050612a7481612a50565b92915050565b5f60208284031215612a8f57612a8e612297565b5b5f612a9c84828501612a66565b91505092915050565b5f604082019050612ab85f8301866125e3565b8181036020830152612acb8184866129cd565b9050949350505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612b0f826129bd565b810181811067ffffffffffffffff82111715612b2e57612b2d612ad9565b5b80604052505050565b5f612b4061228e565b9050612b4c8282612b06565b919050565b5f80fd5b5f612b5f826122fd565b9050919050565b5f612b7082612b55565b9050919050565b612b8081612b66565b8114612b8a575f80fd5b50565b5f81519050612b9b81612b77565b92915050565b5f81519050612baf81612660565b92915050565b5f80fd5b5f67ffffffffffffffff821115612bd357612bd2612ad9565b5b612bdc826129bd565b9050602081019050919050565b8281835e5f83830152505050565b5f612c09612c0484612bb9565b612b37565b905082815260208101848484011115612c2557612c24612bb5565b5b612c30848285612be9565b509392505050565b5f82601f830112612c4c57612c4b6126dd565b5b8151612c5c848260208601612bf7565b91505092915050565b5f60608284031215612c7a57612c79612ad5565b5b612c846060612b37565b90505f612c9384828501612a66565b5f830152506020612ca684828501612ba1565b602083015250604082015167ffffffffffffffff811115612cca57612cc9612b51565b5b612cd684828501612c38565b60408301525092915050565b5f67ffffffffffffffff821115612cfc57612cfb612ad9565b5b602082029050602081019050919050565b5f612d1f612d1a84612ce2565b612b37565b90508083825260208201905060208402830185811115612d4257612d416126e5565b5b835b81811015612d8957805167ffffffffffffffff811115612d6757612d666126dd565b5b808601612d748982612c65565b85526020850194505050602081019050612d44565b5050509392505050565b5f82601f830112612da757612da66126dd565b5b8151612db7848260208601612d0d565b91505092915050565b5f81519050612dce8161260b565b92915050565b5f81519050612de2816122a8565b92915050565b5f6101208284031215612dfe57612dfd612ad5565b5b612e09610120612b37565b90505f612e1884828501612b8d565b5f83015250602082015167ffffffffffffffff811115612e3b57612e3a612b51565b5b612e4784828501612c65565b602083015250604082015167ffffffffffffffff811115612e6b57612e6a612b51565b5b612e7784828501612c65565b604083015250606082015167ffffffffffffffff811115612e9b57612e9a612b51565b5b612ea784828501612c65565b606083015250608082015167ffffffffffffffff811115612ecb57612eca612b51565b5b612ed784828501612d93565b60808301525060a0612eeb84828501612dc0565b60a08301525060c0612eff84828501612dc0565b60c08301525060e0612f1384828501612dd4565b60e083015250610100612f2884828501612ba1565b6101008301525092915050565b5f60208284031215612f4a57612f49612297565b5b5f82015167ffffffffffffffff811115612f6757612f6661229b565b5b612f7384828501612de8565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612fb3826124b0565b9150612fbe836124b0565b9250828201905067ffffffffffffffff811115612fde57612fdd612f7c565b5b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61301881612fe4565b82525050565b5f6020820190506130315f83018461300f565b92915050565b5f6130418261229f565b915061304c8361229f565b925082820390508181111561306457613063612f7c565b5b92915050565b5f60808201905061307d5f8301876126b5565b61308a60208301866125e3565b61309760408301856125e3565b6130a460608301846125e3565b95945050505050565b5f6130b78261229f565b91506130c28361229f565b92508282026130d08161229f565b915082820484148315176130e7576130e6612f7c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6131258261229f565b91506131308361229f565b9250826131405761313f6130ee565b5b828204905092915050565b5f60408201905061315e5f83018561300f565b61316b60208301846125e3565b9392505050565b5f81519050919050565b5f61318682613172565b613190818561299f565b93506131a0818560208601612be9565b6131a9816129bd565b840191505092915050565b5f6020820190508181035f8301526131cc818461317c565b905092915050565b5f602082840312156131e9576131e8612297565b5b5f82015167ffffffffffffffff8111156132065761320561229b565b5b61321284828501612c38565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffdfea2646970667358221220fb22934e0d9f7a8e32d07cd1f2621ea36204627afface45e5bc80aab6122bb7d64736f6c634300081a0033";function x(b){const e=b.state.current,f=b.state.connections.get(e),a=f==null?void 0:f.accounts,s=a==null?void 0:a[0],t=b.chains.find(r=>r.id===(f==null?void 0:f.chainId)),c=b.state.status;switch(c){case"connected":return{address:s,addresses:a,chain:t,chainId:f==null?void 0:f.chainId,connector:f==null?void 0:f.connector,isConnected:!0,isConnecting:!1,isDisconnected:!1,isReconnecting:!1,status:c};case"reconnecting":return{address:s,addresses:a,chain:t,chainId:f==null?void 0:f.chainId,connector:f==null?void 0:f.connector,isConnected:!!s,isConnecting:!1,isDisconnected:!1,isReconnecting:!0,status:c};case"connecting":return{address:s,addresses:a,chain:t,chainId:f==null?void 0:f.chainId,connector:f==null?void 0:f.connector,isConnected:!1,isConnecting:!0,isDisconnected:!1,isReconnecting:!1,status:c};case"disconnected":return{address:void 0,addresses:void 0,chain:void 0,chainId:void 0,connector:void 0,isConnected:!1,isConnecting:!1,isDisconnected:!0,isReconnecting:!1,status:c}}}function lf(b){return b.state.chainId}function $(b,e,f){const a=b[e.name];if(typeof a=="function")return a;const s=b[f];return typeof s=="function"?s:t=>e(b,t)}const hf="2.13.0",gf=()=>`@wagmi/core@${hf}`;var j=function(b,e,f,a){if(f==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?b!==e||!a:!e.has(b))throw new TypeError("Cannot read private member from an object whose class did not declare it");return f==="m"?a:f==="a"?a.call(b):a?a.value:e.get(b)},R,T;class y extends Error{get docsBaseUrl(){return"https://wagmi.sh/core"}get version(){return gf()}constructor(e,f={}){var t;super(),R.add(this),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WagmiCoreError"});const a=f.cause instanceof y?f.cause.details:(t=f.cause)!=null&&t.message?f.cause.message:f.details,s=f.cause instanceof y&&f.cause.docsPath||f.docsPath;this.message=[e||"An error occurred.","",...f.metaMessages?[...f.metaMessages,""]:[],...s?[`Docs: ${this.docsBaseUrl}${s}.html${f.docsSlug?`#${f.docsSlug}`:""}`]:[],...a?[`Details: ${a}`]:[],`Version: ${this.version}`].join(`
|
|
2
2
|
`),f.cause&&(this.cause=f.cause),this.details=a,this.docsPath=s,this.metaMessages=f.metaMessages,this.shortMessage=e}walk(e){return j(this,R,"m",T).call(this,this,e)}}R=new WeakSet,T=function b(e,f){return f!=null&&f(e)?e:e.cause?j(this,R,"m",b).call(this,e.cause,f):e};class wf extends y{constructor(){super("Connector not connected."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorNotConnectedError"})}}class mf extends y{constructor({address:e,connector:f}){super(`Account "${e}" not found for connector "${f.name}".`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorAccountNotFoundError"})}}class Af extends y{constructor({connectionChainId:e,connectorChainId:f}){super(`The current chain of the connector (id: ${f}) does not match the connection's chain (id: ${e}).`,{metaMessages:[`Current Chain ID: ${f}`,`Expected Chain ID: ${e}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorChainMismatchError"})}}async function G(b,e={}){let f;if(e.connector){const{connector:n}=e,[h,m]=await Promise.all([n.getAccounts(),n.getChainId()]);f={accounts:h,chainId:m,connector:n}}else f=b.state.connections.get(b.state.current);if(!f)throw new wf;const a=e.chainId??f.chainId,s=await f.connector.getChainId();if(s!==f.chainId)throw new Af({connectionChainId:f.chainId,connectorChainId:s});const t=f.connector;if(t.getClient)return t.getClient({chainId:a});const c=M.parseAccount(e.account??f.accounts[0]);c.address=M.getAddress(c.address);const r=b.chains.find(n=>n.id===a),o=await f.connector.getProvider({chainId:a});if(e.account&&!f.accounts.some(n=>n.toLowerCase()===c.address.toLowerCase()))throw new mf({address:c.address,connector:t});return d.createClient({account:c,chain:r,name:"Connector Client",transport:n=>d.custom(o)({...n,retryCount:0})})}async function yf(b,e){const{abi:f,chainId:a,connector:s,...t}=e;let c;e.account?c=e.account:c=(await G(b,{chainId:a,connector:s})).account;const r=b.getClient({chainId:a}),o=$(r,N.simulateContract,"simulateContract"),{result:n,request:h}=await o({...t,abi:f,account:c});return{chainId:r.chain.id,result:n,request:{__mode:"prepared",...h,chainId:a}}}async function O(b,e){const{account:f,chainId:a,connector:s,__mode:t,...c}=e;let r;typeof f=="object"&&f.type==="local"?r=b.getClient({chainId:a}):r=await G(b,{account:f,chainId:a,connector:s});const{connector:o}=x(b);let n;if(t==="prepared"||o!=null&&o.supportsSimulation)n=c;else{const{request:v}=await yf(b,{...c,account:f,chainId:a});n=v}return await $(r,N.writeContract,"writeContract")({...n,...f?{account:f}:{},chain:a?{id:a}:null})}function vf(b){return b.address!==void 0&&typeof b.address=="object"?(e,f)=>{var c;const a=lf(e),s=x(e);let t;return f.chainId?t=f.chainId:f.account&&f.account===s.address||f.account===void 0?t=s.chainId:t=a,O(e,{...f,...b.functionName?{functionName:b.functionName}:{},address:t?(c=b.address)==null?void 0:c[t]:void 0,abi:b.abi})}:(e,f)=>O(e,{...f,...b.address?{address:b.address}:{},...b.functionName?{functionName:b.functionName}:{},abi:b.abi})}const U="0xF4905b327904E5797840fd8cD7F300001a34122f";function Cf(b){return b.address}function pf(b){return b.registryAddress&&b.protocolFeeReceiver}class _f extends bf.Deployable{constructor({config:e,account:f,...a}){Cf(a)&&a.address?super({account:f,config:e},a.address):pf(a)?super({account:f,config:e},[a.registryAddress,a.protocolFeeReceiver]):super({account:f,config:e},U),this.abi=i.c}async createBoost(e,f){var S,L;const a=this.assertValidAddress(),[s,t]=this.validateDeploymentConfig(e,f);let{budget:c,action:r,validator:o,allowList:n,incentives:h,protocolFee:m=0n,referralFee:v=0n,maxParticipants:q=0n,owner:w}=s;const F=vf({abi:i.c,functionName:"createBoost",address:this.address});if(!w&&(w=((S=this._account)==null?void 0:S.address)||D.getAccount(t.config).address||d.zeroAddress,w===d.zeroAddress))throw new C.DeployableUnknownOwnerProvidedError;let E=d.zeroAddress;if(c.address){if(E=c.address,!await c.isAuthorized(a))throw new C.BudgetMustAuthorizeBoostCore(a)}else{if(!(((L=c.payload)==null?void 0:L.authorized)||[]).includes(a))throw new C.BudgetMustAuthorizeBoostCore(a);const l=await c.deployRaw(void 0,t),A=await D.waitForTransactionReceipt(t.config,{hash:l});if(!A.contractAddress)throw new C.NoContractAddressUponReceiptError(A);E=A.contractAddress}let p={instance:d.zeroAddress,isBase:!0,parameters:d.zeroHash};if(r.address){const u=r.address===r.base||r.isBase;p={isBase:u,instance:r.address,parameters:u&&r.buildParameters(void 0,t).args.at(0)||d.zeroHash}}else p.parameters=r.buildParameters(void 0,t).args.at(0)||d.zeroHash,p.instance=r.base;let _={instance:d.zeroAddress,isBase:!0,parameters:d.zeroHash};if(o.address){const u=o.address===o.base||o.isBase;_={isBase:u,instance:o.address,parameters:u&&o.buildParameters({signers:[w],validatorCaller:a},t).args.at(0)||d.zeroHash}}else _.parameters=o.buildParameters({signers:[w],validatorCaller:a},t).args.at(0)||d.zeroHash,_.instance=o.base;let P={instance:d.zeroAddress,isBase:!0,parameters:d.zeroHash};if(n.address){const u=n.address===n.base||n.isBase;P={isBase:u,instance:n.address,parameters:d.zeroHash}}else P.parameters=n.buildParameters(void 0,t).args.at(0)||d.zeroHash,P.instance=n.base;let I=h.map(()=>({instance:d.zeroAddress,isBase:!0,parameters:d.zeroHash}));for(let u=0;u<h.length;u++){const l=h.at(u);if(l.address){const A=l.address===l.base||l.isBase;I[u]={isBase:A,instance:l.address,parameters:A&&l.buildParameters(void 0,t).args.at(0)||d.zeroHash}}else I[u].parameters=l.buildParameters(void 0,t).args.at(0)||d.zeroHash,I[u].instance=l.base}const W={budget:E,action:p,validator:_,allowList:P,incentives:I,protocolFee:m,referralFee:v,maxParticipants:q,owner:w},k=await F(t.config,{args:[of.prepareBoostPayload(W)],...this.optionallyAttachAccount(t.account)}),J=await D.waitForTransactionReceipt(t.config,{hash:k}),B=d.parseEventLogs({abi:i.c,eventName:"BoostCreated",logs:J.logs}).at(0);let z=0n;if(!B)throw new C.BoostCoreNoIdentifierEmitted;z=B==null?void 0:B.args.boostIndex;const g=await this.readBoost(z);return new V.Boost({id:z,budget:c.at(g.budget),action:r.at(g.action),validator:o.at(g.validator),allowList:n.at(g.allowList),incentives:h.map((u,l)=>u.at(g.incentives.at(l))),protocolFee:g.protocolFee,referralFee:g.referralFee,maxParticipants:g.maxParticipants,owner:g.owner})}async claimIncentive(e,f,a,s,t){return this.awaitResult(this.claimIncentiveRaw(e,f,a,s,t))}async claimIncentiveRaw(e,f,a,s,t){const{request:c,result:r}=await i.Wl(this._config,{address:this.assertValidAddress(),args:[e,f,a,s],...this.optionallyAttachAccount(),...t});return{hash:await i.Hl(this._config,c),result:r}}async readBoost(e,f){return i.gl(this._config,{address:this.assertValidAddress(),args:[e],...this.optionallyAttachAccount(),...f})}async getBoost(e,f){let a;typeof e=="string"?a=BigInt(e):a=e;const{protocolFee:s,referralFee:t,maxParticipants:c,owner:r,...o}=await this.readBoost(a,f),n={config:this._config,account:this._account},[h,m,v,q,w]=await Promise.all([K.actionFromAddress(n,o.action),ef.budgetFromAddress(n,o.budget),rf.validatorFromAddress(n,o.validator),X.allowListFromAddress(n,o.allowList),Promise.all(o.incentives.map(F=>H.incentiveFromAddress(n,F)))]);return new V.Boost({id:a,action:h,budget:m,validator:v,allowList:q,incentives:w,protocolFee:s,referralFee:t,maxParticipants:c,owner:r})}async getBoostCount(e){return i.Ml(this._config,{address:this.assertValidAddress(),args:[],...this.optionallyAttachAccount(),...e})}async isAuthorized(e,f){const a=await this.createBoostAuth();return i.pv(this._config,{address:a,args:[e],...this.optionallyAttachAccount(),...f})}async createBoostAuth(e){return i.hl(this._config,{address:this.assertValidAddress(),args:[],...this.optionallyAttachAccount(),...e})}async setCreateBoostAuth(e,f){return this.awaitResult(this.setCreateBoostAuthRaw(e.assertValidAddress(),{...f}))}async setCreateBoostAuthRaw(e,f){const{request:a,result:s}=await i.ty(this._config,{address:this.assertValidAddress(),args:[e],...this.optionallyAttachAccount(),...f});return{hash:await i.Pl(this._config,a),result:s}}async protocolFee(e){return i.El(this._config,{address:this.assertValidAddress(),args:[],...this.optionallyAttachAccount(),...e})}async protocolFeeReceiver(e){return i.Rl(this._config,{address:this.assertValidAddress(),args:[],...this.optionallyAttachAccount(),...e})}async setProcolFeeReceiver(e,f){return this.awaitResult(this.setProcolFeeReceiverRaw(e,{...f}))}async setProcolFeeReceiverRaw(e,f){const{request:a,result:s}=await i.ay(this._config,{address:this.assertValidAddress(),args:[e],...this.optionallyAttachAccount(),...f});return{hash:await i.Ul(this._config,a),result:s}}async claimFee(e){return i.Nl(this._config,{address:this.assertValidAddress(),args:[],...this.optionallyAttachAccount(),...e})}async setClaimFee(e,f){return this.awaitResult(this.setClaimFeeRaw(e,f))}async setClaimFeeRaw(e,f){const{request:a,result:s}=await i.ey(this._config,{address:this.assertValidAddress(),args:[e],...this.optionallyAttachAccount(),...f});return{hash:await i.Dl(this._config,a),result:s}}PassthroughAuth(e){return new ff.PassthroughAuth({config:this._config,account:this._account},e)}EventAction(e,f){return new Q.EventAction({config:this._config,account:this._account},e,f)}SimpleAllowList(e,f){return new Y.SimpleAllowList({config:this._config,account:this._account},e,f)}SimpleDenyList(e,f){return new Z.SimpleDenyList({config:this._config,account:this._account},e,f)}ManagedBudget(e){return new af.ManagedBudget({config:this._config,account:this._account},e)}AllowListIncentive(e){return new tf.AllowListIncentive({config:this._config,account:this._account},e)}CGDAIncentive(e){return new sf.CGDAIncentive({config:this._config,account:this._account},e)}ERC20Incentive(e){return new cf.ERC20Incentive({config:this._config,account:this._account},e)}PointsIncentive(e){return new nf.PointsIncentive({config:this._config,account:this._account},e)}SignerValidator(e,f){return new df.SignerValidator({config:this._config,account:this._account},e,f)}ERC20VariableIncentive(e,f){return new H.ERC20VariableIncentive({config:this._config,account:this._account},e,f)}buildParameters(e,f){const[a,s]=this.validateDeploymentConfig(e,f);return{abi:i.c,bytecode:uf,args:a,...this.optionallyAttachAccount(s.account)}}}exports.boostCoreAbi=i.c;exports.BOOST_CORE_ADDRESS=U;exports.BoostCore=_f;
|
|
3
|
+
//# sourceMappingURL=BoostCore.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoostCore.cjs","sources":["../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/actions/getAccount.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/actions/getChainId.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/utils/getAction.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/version.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/utils/getVersion.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/errors/base.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/errors/config.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/actions/getConnectorClient.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/actions/simulateContract.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/actions/writeContract.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/actions/codegen/createWriteContract.js","../src/BoostCore.ts"],"sourcesContent":["/** https://wagmi.sh/core/api/actions/getAccount */\nexport function getAccount(config) {\n const uid = config.state.current;\n const connection = config.state.connections.get(uid);\n const addresses = connection?.accounts;\n const address = addresses?.[0];\n const chain = config.chains.find((chain) => chain.id === connection?.chainId);\n const status = config.state.status;\n switch (status) {\n case 'connected':\n return {\n address: address,\n addresses: addresses,\n chain,\n chainId: connection?.chainId,\n connector: connection?.connector,\n isConnected: true,\n isConnecting: false,\n isDisconnected: false,\n isReconnecting: false,\n status,\n };\n case 'reconnecting':\n return {\n address,\n addresses,\n chain,\n chainId: connection?.chainId,\n connector: connection?.connector,\n isConnected: !!address,\n isConnecting: false,\n isDisconnected: false,\n isReconnecting: true,\n status,\n };\n case 'connecting':\n return {\n address,\n addresses,\n chain,\n chainId: connection?.chainId,\n connector: connection?.connector,\n isConnected: false,\n isConnecting: true,\n isDisconnected: false,\n isReconnecting: false,\n status,\n };\n case 'disconnected':\n return {\n address: undefined,\n addresses: undefined,\n chain: undefined,\n chainId: undefined,\n connector: undefined,\n isConnected: false,\n isConnecting: false,\n isDisconnected: true,\n isReconnecting: false,\n status,\n };\n }\n}\n//# sourceMappingURL=getAccount.js.map","/** https://wagmi.sh/core/api/actions/getChainId */\nexport function getChainId(config) {\n return config.state.chainId;\n}\n//# sourceMappingURL=getChainId.js.map","/**\n * Retrieves and returns an action from the client (if exists), and falls\n * back to the tree-shakable action.\n *\n * Useful for extracting overridden actions from a client (ie. if a consumer\n * wants to override the `sendTransaction` implementation).\n */\nexport function getAction(client, actionFn, \n// Some minifiers drop `Function.prototype.name`, or replace it with short letters,\n// meaning that `actionFn.name` will not always work. For that case, the consumer\n// needs to pass the name explicitly.\nname) {\n const action_implicit = client[actionFn.name];\n if (typeof action_implicit === 'function')\n return action_implicit;\n const action_explicit = client[name];\n if (typeof action_explicit === 'function')\n return action_explicit;\n return (params) => actionFn(client, params);\n}\n//# sourceMappingURL=getAction.js.map","export const version = '2.13.0';\n//# sourceMappingURL=version.js.map","import { version } from '../version.js';\nexport const getVersion = () => `@wagmi/core@${version}`;\n//# sourceMappingURL=getVersion.js.map","var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _BaseError_instances, _BaseError_walk;\nimport { getVersion } from '../utils/getVersion.js';\nexport class BaseError extends Error {\n get docsBaseUrl() {\n return 'https://wagmi.sh/core';\n }\n get version() {\n return getVersion();\n }\n constructor(shortMessage, options = {}) {\n super();\n _BaseError_instances.add(this);\n Object.defineProperty(this, \"details\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"docsPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"metaMessages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"shortMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'WagmiCoreError'\n });\n const details = options.cause instanceof BaseError\n ? options.cause.details\n : options.cause?.message\n ? options.cause.message\n : options.details;\n const docsPath = options.cause instanceof BaseError\n ? options.cause.docsPath || options.docsPath\n : options.docsPath;\n this.message = [\n shortMessage || 'An error occurred.',\n '',\n ...(options.metaMessages ? [...options.metaMessages, ''] : []),\n ...(docsPath\n ? [\n `Docs: ${this.docsBaseUrl}${docsPath}.html${options.docsSlug ? `#${options.docsSlug}` : ''}`,\n ]\n : []),\n ...(details ? [`Details: ${details}`] : []),\n `Version: ${this.version}`,\n ].join('\\n');\n if (options.cause)\n this.cause = options.cause;\n this.details = details;\n this.docsPath = docsPath;\n this.metaMessages = options.metaMessages;\n this.shortMessage = shortMessage;\n }\n walk(fn) {\n return __classPrivateFieldGet(this, _BaseError_instances, \"m\", _BaseError_walk).call(this, this, fn);\n }\n}\n_BaseError_instances = new WeakSet(), _BaseError_walk = function _BaseError_walk(err, fn) {\n if (fn?.(err))\n return err;\n if (err.cause)\n return __classPrivateFieldGet(this, _BaseError_instances, \"m\", _BaseError_walk).call(this, err.cause, fn);\n return err;\n};\n//# sourceMappingURL=base.js.map","import { BaseError } from './base.js';\nexport class ChainNotConfiguredError extends BaseError {\n constructor() {\n super('Chain not configured.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainNotConfiguredError'\n });\n }\n}\nexport class ConnectorAlreadyConnectedError extends BaseError {\n constructor() {\n super('Connector already connected.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ConnectorAlreadyConnectedError'\n });\n }\n}\nexport class ConnectorNotConnectedError extends BaseError {\n constructor() {\n super('Connector not connected.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ConnectorNotConnectedError'\n });\n }\n}\nexport class ConnectorNotFoundError extends BaseError {\n constructor() {\n super('Connector not found.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ConnectorNotFoundError'\n });\n }\n}\nexport class ConnectorAccountNotFoundError extends BaseError {\n constructor({ address, connector, }) {\n super(`Account \"${address}\" not found for connector \"${connector.name}\".`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ConnectorAccountNotFoundError'\n });\n }\n}\nexport class ConnectorChainMismatchError extends BaseError {\n constructor({ connectionChainId, connectorChainId, }) {\n super(`The current chain of the connector (id: ${connectorChainId}) does not match the connection's chain (id: ${connectionChainId}).`, {\n metaMessages: [\n `Current Chain ID: ${connectorChainId}`,\n `Expected Chain ID: ${connectionChainId}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ConnectorChainMismatchError'\n });\n }\n}\n//# sourceMappingURL=config.js.map","import { createClient, custom, } from 'viem';\nimport { getAddress, parseAccount } from 'viem/utils';\nimport { ConnectorAccountNotFoundError, ConnectorChainMismatchError, ConnectorNotConnectedError, } from '../errors/config.js';\n/** https://wagmi.sh/core/api/actions/getConnectorClient */\nexport async function getConnectorClient(config, parameters = {}) {\n // Get connection\n let connection;\n if (parameters.connector) {\n const { connector } = parameters;\n const [accounts, chainId] = await Promise.all([\n connector.getAccounts(),\n connector.getChainId(),\n ]);\n connection = {\n accounts: accounts,\n chainId,\n connector,\n };\n }\n else\n connection = config.state.connections.get(config.state.current);\n if (!connection)\n throw new ConnectorNotConnectedError();\n const chainId = parameters.chainId ?? connection.chainId;\n // Check connector using same chainId as connection\n const connectorChainId = await connection.connector.getChainId();\n if (connectorChainId !== connection.chainId)\n throw new ConnectorChainMismatchError({\n connectionChainId: connection.chainId,\n connectorChainId,\n });\n const connector = connection.connector;\n if (connector.getClient)\n return connector.getClient({ chainId });\n // Default using `custom` transport\n const account = parseAccount(parameters.account ?? connection.accounts[0]);\n account.address = getAddress(account.address); // TODO: Checksum address as part of `parseAccount`?\n const chain = config.chains.find((chain) => chain.id === chainId);\n const provider = (await connection.connector.getProvider({ chainId }));\n // If account was provided, check that it exists on the connector\n if (parameters.account &&\n !connection.accounts.some((x) => x.toLowerCase() === account.address.toLowerCase()))\n throw new ConnectorAccountNotFoundError({\n address: account.address,\n connector,\n });\n return createClient({\n account,\n chain,\n name: 'Connector Client',\n transport: (opts) => custom(provider)({ ...opts, retryCount: 0 }),\n });\n}\n//# sourceMappingURL=getConnectorClient.js.map","import { simulateContract as viem_simulateContract, } from 'viem/actions';\nimport { getAction } from '../utils/getAction.js';\nimport { getConnectorClient, } from './getConnectorClient.js';\n/** https://wagmi.sh/core/api/actions/simulateContract */\nexport async function simulateContract(config, parameters) {\n const { abi, chainId, connector, ...rest } = parameters;\n let account;\n if (parameters.account)\n account = parameters.account;\n else {\n const connectorClient = await getConnectorClient(config, {\n chainId,\n connector,\n });\n account = connectorClient.account;\n }\n const client = config.getClient({ chainId });\n const action = getAction(client, viem_simulateContract, 'simulateContract');\n const { result, request } = await action({ ...rest, abi, account });\n return {\n chainId: client.chain.id,\n result,\n request: { __mode: 'prepared', ...request, chainId },\n };\n}\n//# sourceMappingURL=simulateContract.js.map","import { writeContract as viem_writeContract, } from 'viem/actions';\nimport { getAction } from '../utils/getAction.js';\nimport { getAccount } from './getAccount.js';\nimport { getConnectorClient, } from './getConnectorClient.js';\nimport { simulateContract, } from './simulateContract.js';\n/** https://wagmi.sh/core/api/actions/writeContract */\nexport async function writeContract(config, parameters) {\n const { account, chainId, connector, __mode, ...rest } = parameters;\n let client;\n if (typeof account === 'object' && account.type === 'local')\n client = config.getClient({ chainId });\n else\n client = await getConnectorClient(config, { account, chainId, connector });\n const { connector: activeConnector } = getAccount(config);\n let request;\n if (__mode === 'prepared' || activeConnector?.supportsSimulation)\n request = rest;\n else {\n const { request: simulateRequest } = await simulateContract(config, {\n ...rest,\n account,\n chainId,\n });\n request = simulateRequest;\n }\n const action = getAction(client, viem_writeContract, 'writeContract');\n const hash = await action({\n ...request,\n ...(account ? { account } : {}),\n chain: chainId ? { id: chainId } : null,\n });\n return hash;\n}\n//# sourceMappingURL=writeContract.js.map","import { getAccount } from '../getAccount.js';\nimport { getChainId } from '../getChainId.js';\nimport { writeContract, } from '../writeContract.js';\nexport function createWriteContract(c) {\n if (c.address !== undefined && typeof c.address === 'object')\n return (config, parameters) => {\n const configChainId = getChainId(config);\n const account = getAccount(config);\n let chainId;\n if (parameters.chainId)\n chainId = parameters.chainId;\n else if (parameters\n .account &&\n parameters\n .account === account.address)\n chainId = account.chainId;\n else if (parameters\n .account === undefined)\n chainId = account.chainId;\n else\n chainId = configChainId;\n return writeContract(config, {\n ...parameters,\n ...(c.functionName ? { functionName: c.functionName } : {}),\n address: chainId ? c.address?.[chainId] : undefined,\n abi: c.abi,\n });\n };\n return (config, parameters) => {\n return writeContract(config, {\n ...parameters,\n ...(c.address ? { address: c.address } : {}),\n ...(c.functionName ? { functionName: c.functionName } : {}),\n abi: c.abi,\n });\n };\n}\n//# sourceMappingURL=createWriteContract.js.map","import {\n boostCoreAbi,\n type iAuthAbi,\n readBoostCoreClaimFee,\n readBoostCoreCreateBoostAuth,\n readBoostCoreGetBoost,\n readBoostCoreGetBoostCount,\n readBoostCoreProtocolFee,\n readBoostCoreProtocolFeeReceiver,\n readIAuthIsAuthorized,\n simulateBoostCoreClaimIncentive,\n simulateBoostCoreSetClaimFee,\n simulateBoostCoreSetCreateBoostAuth,\n simulateBoostCoreSetProtocolFeeReceiver,\n writeBoostCoreClaimIncentive,\n writeBoostCoreSetClaimFee,\n writeBoostCoreSetCreateBoostAuth,\n writeBoostCoreSetProtocolFeeReceiver,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/BoostCore.sol/BoostCore.json';\nimport { getAccount, waitForTransactionReceipt } from '@wagmi/core';\nimport { createWriteContract } from '@wagmi/core/codegen';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n parseEventLogs,\n zeroAddress,\n zeroHash,\n} from 'viem';\nimport { type Action, actionFromAddress } from './Actions/Action';\nimport { EventAction } from './Actions/EventAction';\nimport { type AllowList, allowListFromAddress } from './AllowLists/AllowList';\nimport {\n SimpleAllowList,\n type SimpleAllowListPayload,\n} from './AllowLists/SimpleAllowList';\nimport {\n SimpleDenyList,\n type SimpleDenyListPayload,\n} from './AllowLists/SimpleDenyList';\nimport { type Auth, PassthroughAuth } from './Auth/Auth';\nimport { Boost } from './Boost';\nimport { type Budget, budgetFromAddress } from './Budgets/Budget';\nimport {\n ManagedBudget,\n type ManagedBudgetPayload,\n} from './Budgets/ManagedBudget';\nimport {\n Deployable,\n type DeployableOptions,\n type DeployablePayloadOrAddress,\n type GenericDeployableParams,\n} from './Deployable/Deployable';\nimport {\n AllowListIncentive,\n type AllowListIncentivePayload,\n} from './Incentives/AllowListIncentive';\nimport {\n CGDAIncentive,\n type CGDAIncentivePayload,\n} from './Incentives/CGDAIncentive';\nimport {\n ERC20Incentive,\n type ERC20IncentivePayload,\n} from './Incentives/ERC20Incentive';\nimport {\n ERC20VariableIncentive,\n type Incentive,\n incentiveFromAddress,\n} from './Incentives/Incentive';\nimport {\n PointsIncentive,\n type PointsIncentivePayload,\n} from './Incentives/PointsIncentive';\nimport {\n SignerValidator,\n type SignerValidatorPayload,\n} from './Validators/SignerValidator';\nimport { type Validator, validatorFromAddress } from './Validators/Validator';\nimport {\n BoostCoreNoIdentifierEmitted,\n BudgetMustAuthorizeBoostCore,\n DeployableUnknownOwnerProvidedError,\n NoContractAddressUponReceiptError,\n} from './errors';\nimport {\n type ERC20VariableIncentivePayload,\n type EventActionPayload,\n type GenericLog,\n type BoostPayload as OnChainBoostPayload,\n type ReadParams,\n type Target,\n type WriteParams,\n prepareBoostPayload,\n} from './utils';\n\nexport { boostCoreAbi };\n\n/**\n * The fixed address for the deployed Boost Core.\n * By default, `new BoostCore` will use this address if not otherwise provided.\n *\n * @type {Address}\n */\nexport const BOOST_CORE_ADDRESS: Address = import.meta.env\n .VITE_BOOST_CORE_ADDRESS;\n\n/**\n * A generic `viem.Log` event with support for `BoostCore` event types.\n *\n * @export\n * @typedef {BoostCoreLog}\n * @template {ContractEventName<typeof boostCoreAbi>} [event=ContractEventName<\n * typeof boostCoreAbi\n * >]\n */\nexport type BoostCoreLog<\n event extends ContractEventName<typeof boostCoreAbi> = ContractEventName<\n typeof boostCoreAbi\n >,\n> = GenericLog<typeof boostCoreAbi, event>;\n\n/**\n * Boost Core instantiation options for a custom deployed instance.\n *\n * @export\n * @interface BoostCoreDeployedOptions\n * @typedef {BoostCoreDeployedOptions}\n * @extends {DeployableOptions}\n */\nexport interface BoostCoreDeployedOptions extends DeployableOptions {\n /**\n * The address of a deployed, custom Boost Core contract.\n *\n * @type {?Address}\n */\n address?: Address;\n}\n\n/**\n * Typeguard to determine if a user is supplying a custom address for a Boost Core contract.\n *\n * @param {*} opts\n * @returns {opts is BoostCoreDeployedOptions}\n */\n// biome-ignore lint/suspicious/noExplicitAny: type guard\nfunction isBoostCoreDeployed(opts: any): opts is BoostCoreDeployedOptions {\n return opts.address;\n}\n\n/**\n * Boost Core instantiation options when a user intends to deploy a new instance of Boost Core, setting their own registry address and protocol fee receiver.\n *\n * @export\n * @interface BoostCoreOptionsWithPayload\n * @typedef {BoostCoreOptionsWithPayload}\n * @extends {DeployableOptions}\n */\nexport interface BoostCoreOptionsWithPayload extends DeployableOptions {\n /**\n * The address of a deployed Boost Registry contract.\n *\n * @type {Address}\n */\n registryAddress: Address;\n /**\n * The address to send fees.\n *\n * @type {Address}\n */\n protocolFeeReceiver: Address;\n}\n\n/**\n * Typeguard to determine if a user is intending to deploy a new instance of the Boost Core contracts with {@link BoostCoreOptionsWithPayload}.\n *\n * @param {*} opts\n * @returns {opts is BoostCoreOptionsWithPayload}\n */\n// biome-ignore lint/suspicious/noExplicitAny: type guard\nfunction isBoostCoreDeployable(opts: any): opts is BoostCoreOptionsWithPayload {\n return opts.registryAddress && opts.protocolFeeReceiver;\n}\n\n/**\n * A union representing both of the valid Boost Core instantiation parameters.\n *\n * @export\n * @typedef {BoostCoreConfig}\n */\nexport type BoostCoreConfig =\n | BoostCoreDeployedOptions\n | BoostCoreOptionsWithPayload;\n\n/**\n * The interface required to create a new Boost.\n *\n * @export\n * @typedef {CreateBoostPayload}\n */\nexport type CreateBoostPayload = {\n budget: Budget;\n action: Action;\n validator: Validator;\n allowList: AllowList;\n incentives: Array<Incentive>;\n protocolFee?: bigint;\n referralFee?: bigint;\n maxParticipants?: bigint;\n owner?: Address;\n};\n\n/**\n * The core contract for the Boost protocol. Used to create and retrieve deployed Boosts.\n *\n * @export\n * @class BoostCore\n * @typedef {BoostCore}\n * @extends {Deployable<[Address, Address]>}\n */\nexport class BoostCore extends Deployable<\n [Address, Address],\n typeof boostCoreAbi\n> {\n /**\n * Creates an instance of BoostCore.\n *\n * @constructor\n * @param {BoostCoreConfig} param0\n * @param {Config} param0.config\n * @param {?Account} [param0.account]\n * @param {({ address?: Address; } | { registryAddress: Address; protocolFeeReceiver: Address; })} param0....options\n */\n constructor({ config, account, ...options }: BoostCoreConfig) {\n if (isBoostCoreDeployed(options) && options.address) {\n super({ account, config }, options.address);\n } else if (isBoostCoreDeployable(options)) {\n super({ account, config }, [\n options.registryAddress,\n options.protocolFeeReceiver,\n ]);\n } else {\n super({ account, config }, BOOST_CORE_ADDRESS);\n }\n //@ts-expect-error I can't set this property on the class because for some reason it takes super out of constructor scope?\n this.abi = boostCoreAbi;\n } /**\n * Create a new Boost.\n *\n * @public\n * @async\n * @param {CreateBoostPayload} _boostPayload\n * @param {?DeployableOptions} [_options]\n * @returns {Boost}\n */\n public async createBoost(\n _boostPayload: CreateBoostPayload,\n _options?: DeployableOptions,\n ) {\n const coreAddress = this.assertValidAddress();\n const [payload, options] =\n this.validateDeploymentConfig<CreateBoostPayload>(\n _boostPayload,\n _options,\n );\n\n let {\n budget,\n action,\n validator,\n allowList,\n incentives,\n protocolFee = 0n,\n referralFee = 0n,\n maxParticipants = 0n,\n owner,\n } = payload;\n\n const boostFactory = createWriteContract({\n abi: boostCoreAbi,\n functionName: 'createBoost',\n address: this.address,\n });\n\n if (!owner) {\n owner =\n this._account?.address ||\n getAccount(options.config).address ||\n zeroAddress;\n if (owner === zeroAddress) {\n throw new DeployableUnknownOwnerProvidedError();\n }\n }\n\n let budgetPayload: OnChainBoostPayload['budget'] = zeroAddress;\n if (budget.address) {\n budgetPayload = budget.address;\n if (!(await budget.isAuthorized(coreAddress))) {\n throw new BudgetMustAuthorizeBoostCore(coreAddress);\n }\n } else {\n // budgets are either instantiated with an address or payload, so in this branch payload will exist\n const authorized = budget.payload?.authorized || [];\n if (!authorized.includes(coreAddress)) {\n throw new BudgetMustAuthorizeBoostCore(coreAddress);\n }\n const budgetHash = await budget.deployRaw(undefined, options);\n const receipt = await waitForTransactionReceipt(options.config, {\n hash: budgetHash,\n });\n if (!receipt.contractAddress)\n throw new NoContractAddressUponReceiptError(receipt);\n budgetPayload = receipt.contractAddress;\n }\n\n // if we're supplying an address, it could be a pre-initialized target\n // if base is explicitly set to false, then it will not be initialized, and it will be referenced as is if it implements interface correctly\n let actionPayload: OnChainBoostPayload['action'] = {\n instance: zeroAddress,\n isBase: true,\n parameters: zeroHash,\n };\n if (action.address) {\n const isBase = action.address === action.base || action.isBase;\n actionPayload = {\n isBase: isBase,\n instance: action.address,\n parameters: isBase\n ? action.buildParameters(undefined, options).args.at(0) || zeroHash\n : zeroHash,\n };\n } else {\n actionPayload.parameters =\n action.buildParameters(undefined, options).args.at(0) || zeroHash;\n actionPayload.instance = action.base;\n }\n\n let validatorPayload: OnChainBoostPayload['validator'] = {\n instance: zeroAddress,\n isBase: true,\n parameters: zeroHash,\n };\n if (validator.address) {\n const isBase = validator.address === validator.base || validator.isBase;\n validatorPayload = {\n isBase: isBase,\n instance: validator.address,\n parameters: isBase\n ? validator\n .buildParameters(\n {\n signers: [owner],\n validatorCaller: coreAddress,\n },\n options,\n )\n .args.at(0) || zeroHash\n : zeroHash,\n };\n } else {\n validatorPayload.parameters =\n validator\n .buildParameters(\n {\n signers: [owner],\n validatorCaller: coreAddress,\n },\n options,\n )\n .args.at(0) || zeroHash;\n validatorPayload.instance = validator.base;\n }\n\n let allowListPayload: OnChainBoostPayload['allowList'] = {\n instance: zeroAddress,\n isBase: true,\n parameters: zeroHash,\n };\n if (allowList.address) {\n const isBase = allowList.address === allowList.base || allowList.isBase;\n allowListPayload = {\n isBase: isBase,\n instance: allowList.address,\n parameters: isBase\n ? zeroHash // allowList.buildParameters(undefined, options).args.at(0) || zeroHash\n : zeroHash,\n };\n } else {\n allowListPayload.parameters =\n allowList.buildParameters(undefined, options).args.at(0) || zeroHash;\n allowListPayload.instance = allowList.base;\n }\n\n let incentivesPayloads: Array<Target> = incentives.map(() => ({\n instance: zeroAddress,\n isBase: true,\n parameters: zeroHash,\n }));\n for (let i = 0; i < incentives.length; i++) {\n // biome-ignore lint/style/noNonNullAssertion: this will never be undefined\n const incentive = incentives.at(i)!;\n if (incentive.address) {\n const isBase = incentive.address === incentive.base || incentive.isBase;\n incentivesPayloads[i] = {\n isBase: isBase,\n instance: incentive.address,\n parameters: isBase\n ? incentive.buildParameters(undefined, options).args.at(0) ||\n zeroHash\n : zeroHash,\n };\n } else {\n incentivesPayloads[i]!.parameters =\n incentive.buildParameters(undefined, options).args.at(0) || zeroHash;\n incentivesPayloads[i]!.instance = incentive.base;\n }\n }\n\n const onChainPayload = {\n budget: budgetPayload,\n action: actionPayload,\n validator: validatorPayload,\n allowList: allowListPayload,\n incentives: incentivesPayloads,\n protocolFee,\n referralFee,\n maxParticipants,\n owner,\n };\n\n const boostHash = await boostFactory(options.config, {\n args: [prepareBoostPayload(onChainPayload)],\n ...this.optionallyAttachAccount(options.account),\n });\n const receipt = await waitForTransactionReceipt(options.config, {\n hash: boostHash,\n });\n const boostCreatedLog = parseEventLogs({\n abi: boostCoreAbi,\n eventName: 'BoostCreated',\n logs: receipt.logs,\n }).at(0);\n let boostId = 0n;\n if (!boostCreatedLog) throw new BoostCoreNoIdentifierEmitted();\n boostId = boostCreatedLog?.args.boostIndex;\n const boost = await this.readBoost(boostId);\n return new Boost({\n id: boostId,\n budget: budget.at(boost.budget),\n action: action.at(boost.action),\n validator: validator.at(boost.validator),\n allowList: allowList.at(boost.allowList),\n incentives: incentives.map((incentive, i) =>\n incentive.at(boost.incentives.at(i)!),\n ),\n protocolFee: boost.protocolFee,\n referralFee: boost.referralFee,\n maxParticipants: boost.maxParticipants,\n owner: boost.owner,\n });\n }\n\n /**\n * Claims one incentive from a given `Boost` by `boostId` and `incentiveId`\n *\n * @public\n * @async\n * @param {bigint} boostId\n * @param {bigint} incentiveId\n * @param {Address} address\n * @param {Hex} data\n * @param {?WriteParams<typeof boostCoreAbi, 'claimIncentive'>} [params]\n * @returns {unknown}\n */\n public async claimIncentive(\n boostId: bigint,\n incentiveId: bigint,\n address: Address,\n data: Hex,\n params?: WriteParams<typeof boostCoreAbi, 'claimIncentive'>,\n ) {\n return this.awaitResult(\n this.claimIncentiveRaw(boostId, incentiveId, address, data, params),\n );\n }\n\n /**\n * Claim an incentive for a Boost\n *\n * @public\n * @async\n * @param {bigint} boostId - The ID of the Boost\n * @param {bigint} incentiveId - The ID of the Incentive\n * @param {Address} address - The address of the referrer (if any)\n * @param {Hex} data- The data for the claim\n * @param {?WriteParams<typeof boostCoreAbi, 'claimIncentive'>} [params]\n * @returns {unknown}\n */\n public async claimIncentiveRaw(\n boostId: bigint,\n incentiveId: bigint,\n address: Address,\n data: Hex,\n params?: WriteParams<typeof boostCoreAbi, 'claimIncentive'>,\n ) {\n const { request, result } = await simulateBoostCoreClaimIncentive(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [boostId, incentiveId, address, data],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeBoostCoreClaimIncentive(this._config, request);\n return { hash, result };\n }\n\n /**\n * Get a Boost by index, will return the raw on chain representation of a Boost.\n *\n * @public\n * @async\n * @param {bigint} id\n * @param {?ReadParams<typeof boostCoreAbi, 'getBoost'>} [params]\n * @returns {unknown}\n */\n public async readBoost(\n id: bigint,\n params?: ReadParams<typeof boostCoreAbi, 'getBoost'>,\n ) {\n return readBoostCoreGetBoost(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * 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`\n *\n * @public\n * @async\n * @param {(string | bigint)} _id\n * @param {?ReadParams<typeof boostCoreAbi, 'getBoost'>} [params]\n * @returns {unknown}\n */\n public async getBoost(\n _id: string | bigint,\n params?: ReadParams<typeof boostCoreAbi, 'getBoost'>,\n ) {\n let id: bigint;\n if (typeof _id === 'string') {\n id = BigInt(_id);\n } else id = _id;\n const {\n protocolFee,\n referralFee,\n maxParticipants,\n owner,\n ...boostPayload\n } = await this.readBoost(id, params);\n const options: DeployableOptions = {\n config: this._config,\n account: this._account,\n };\n const [action, budget, validator, allowList, incentives] =\n await Promise.all([\n actionFromAddress(options, boostPayload.action),\n budgetFromAddress(options, boostPayload.budget),\n validatorFromAddress(options, boostPayload.validator),\n allowListFromAddress(options, boostPayload.allowList),\n Promise.all(\n boostPayload.incentives.map((incentiveAddress) =>\n incentiveFromAddress(options, incentiveAddress),\n ),\n ),\n ]);\n return new Boost({\n id,\n action,\n budget,\n validator,\n allowList,\n incentives,\n protocolFee,\n referralFee,\n maxParticipants,\n owner,\n });\n }\n\n /**\n * Retrieve the total number of deployed Boosts\n *\n * @public\n * @async\n * @param {?ReadParams<typeof boostCoreAbi, 'getBoostCount'>} [params]\n * @returns {Promise<bigint>}\n */\n public async getBoostCount(\n params?: ReadParams<typeof boostCoreAbi, 'getBoostCount'>,\n ) {\n return readBoostCoreGetBoostCount(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Checks if an address is authorized\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams<typeof boostCoreAbi, 'createBoostAuth'> &\n * ReadParams<typeof iAuthAbi, 'isAuthorized'>} [params]\n * @returns {Promise<boolean>}\n */\n public async isAuthorized(\n address: Address,\n params?: ReadParams<typeof boostCoreAbi, 'createBoostAuth'> &\n ReadParams<typeof iAuthAbi, 'isAuthorized'>,\n ) {\n const auth = await this.createBoostAuth();\n return readIAuthIsAuthorized(this._config, {\n address: auth,\n args: [address],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Retrieve the address of the current creation auth provider.\n *\n * @public\n * @async\n * @param {?ReadParams<typeof boostCoreAbi, 'createBoostAuth'>} [params]\n * @returns {unknown}\n */\n public async createBoostAuth(\n params?: ReadParams<typeof boostCoreAbi, 'createBoostAuth'>,\n ) {\n return readBoostCoreCreateBoostAuth(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Replace the current auth scheme.\n *\n * @public\n * @async\n * @param {Auth} auth\n * @param {?WriteParams<typeof boostCoreAbi, 'setCreateBoostAuth'>} [params]\n * @returns {unknown}\n */\n public async setCreateBoostAuth(\n auth: Auth,\n params?: WriteParams<typeof boostCoreAbi, 'setCreateBoostAuth'>,\n ) {\n return this.awaitResult(\n this.setCreateBoostAuthRaw(auth.assertValidAddress(), {\n ...params,\n }),\n );\n }\n\n /**\n * Set the createBoostAuth address\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams<typeof boostCoreAbi, 'setCreateBoostAuth'>} [params]\n * @returns {unknown}\n */\n public async setCreateBoostAuthRaw(\n address: Address,\n params?: WriteParams<typeof boostCoreAbi, 'setCreateBoostAuth'>,\n ) {\n const { request, result } = await simulateBoostCoreSetCreateBoostAuth(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [address],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeBoostCoreSetCreateBoostAuth(this._config, request);\n return { hash, result };\n }\n\n /**\n * Get the protocol fee.\n *\n * @public\n * @async\n * @param {?ReadParams<typeof boostCoreAbi, 'protocolFee'>} [params]\n * @returns {unknown}\n */\n public async protocolFee(\n params?: ReadParams<typeof boostCoreAbi, 'protocolFee'>,\n ) {\n return readBoostCoreProtocolFee(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get the protocol fee receiver.\n *\n * @public\n * @async\n * @param {?ReadParams<typeof boostCoreAbi, 'protocolFeeReceiver'>} [params]\n * @returns {unknown}\n */\n public async protocolFeeReceiver(\n params?: ReadParams<typeof boostCoreAbi, 'protocolFeeReceiver'>,\n ) {\n return readBoostCoreProtocolFeeReceiver(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Set the protocol fee receiver address. This function is only callable by the owner.\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams<typeof boostCoreAbi, 'setProtocolFeeReceiver'>} [params]\n * @returns {unknown}\n */\n public async setProcolFeeReceiver(\n address: Address,\n params?: WriteParams<typeof boostCoreAbi, 'setProtocolFeeReceiver'>,\n ) {\n return this.awaitResult(\n this.setProcolFeeReceiverRaw(address, {\n ...params,\n }),\n );\n }\n\n /**\n * Set the protocol fee receiver address. This function is only callable by the owner.\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams<typeof boostCoreAbi, 'setProtocolFeeReceiver'>} [params]\n * @returns {unknown}\n */\n public async setProcolFeeReceiverRaw(\n address: Address,\n params?: WriteParams<typeof boostCoreAbi, 'setProtocolFeeReceiver'>,\n ) {\n const { request, result } = await simulateBoostCoreSetProtocolFeeReceiver(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [address],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeBoostCoreSetProtocolFeeReceiver(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Get the claim fee.\n *\n * @public\n * @async\n * @param {?ReadParams<typeof boostCoreAbi, 'claimFee'>} [params]\n * @returns {unknown}\n */\n public async claimFee(params?: ReadParams<typeof boostCoreAbi, 'claimFee'>) {\n return readBoostCoreClaimFee(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Sets the claim fee.\n *\n * @public\n * @async\n * @param {bigint} claimFee\n * @param {?WriteParams<typeof boostCoreAbi, 'setClaimFee'>} [params]\n * @returns {unknown}\n */\n public async setClaimFee(\n claimFee: bigint,\n params?: WriteParams<typeof boostCoreAbi, 'setClaimFee'>,\n ) {\n return this.awaitResult(this.setClaimFeeRaw(claimFee, params));\n }\n\n /**\n * Sets the claim fee.\n *\n * @public\n * @async\n * @param {bigint} claimFee\n * @param {?WriteParams<typeof boostCoreAbi, 'setClaimFee'>} [params]\n * @returns {unknown}\n */\n public async setClaimFeeRaw(\n claimFee: bigint,\n params?: WriteParams<typeof boostCoreAbi, 'setClaimFee'>,\n ) {\n const { request, result } = await simulateBoostCoreSetClaimFee(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [claimFee],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeBoostCoreSetClaimFee(this._config, request);\n return { hash, result };\n }\n\n /**\n * Bound {@link PassthroughAuth} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const auth = core.PassthroughAuth('0x') // is roughly equivalent to\n * const auth = new PassthroughAuth({ config: core._config, account: core._account }, '0x')\n * ```\n * @param {DeployablePayloadOrAddress<{}>} options\n * @param {?boolean} [isBase]\n * @returns {PassthroughAuth}\n */\n PassthroughAuth(address?: Address) {\n return new PassthroughAuth(\n { config: this._config, account: this._account },\n address,\n );\n }\n\n // /**\n // * Bound {@link ContractAction} constructor that reuses the same configuration as the Boost Core instance.\n // *\n // * @example\n // * ```ts\n // * const action = core.ContractAction('0x') // is roughly equivalent to\n // * const action = new ContractAction({ config: core._config, account: core._account }, '0x')\n // * ```\n // * @param {DeployablePayloadOrAddress<ContractActionPayload>} options\n // * @param {?boolean} [isBase]\n // * @returns {ContractAction}\n // */\n // ContractAction(\n // options: DeployablePayloadOrAddress<ContractActionPayload>,\n // isBase?: boolean,\n // ) {\n // return new ContractAction(\n // { config: this._config, account: this._account },\n // options,\n // isBase,\n // );\n // }\n\n /**\n * Bound {@link EventAction} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const action = core.EventAction('0x') // is roughly equivalent to\n * const action = new EventAction({ config: core._config, account: core._account }, '0x')\n */\n EventAction(\n options: DeployablePayloadOrAddress<EventActionPayload>,\n isBase?: boolean,\n ) {\n return new EventAction(\n { config: this._config, account: this._account },\n options,\n isBase,\n );\n }\n // /**\n // * Bound {@link ERC721MintAction} constructor that reuses the same configuration as the Boost Core instance.\n // *\n // * @example\n // * ```ts\n // * const action = core.ERC721MintAction('0x') // is roughly equivalent to\n // * const action = new ERC721MintAction({ config: core._config, account: core._account }, '0x')\n // * ```\n // * @param {DeployablePayloadOrAddress<ERC721MintActionPayload>} options\n // * @param {?boolean} [isBase]\n // * @returns {ERC721MintAction}\n // */\n // ERC721MintAction(\n // options: DeployablePayloadOrAddress<ERC721MintActionPayload>,\n // isBase?: boolean,\n // ) {\n // return new ERC721MintAction(\n // { config: this._config, account: this._account },\n // options,\n // isBase,\n // );\n // }\n /**\n * Bound {@link SimpleAllowList} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const list = core.SimpleAllowList('0x') // is roughly equivalent to\n * const list = new SimpleAllowList({ config: core._config, account: core._account }, '0x')\n * ```\n * @param {DeployablePayloadOrAddress<SimpleAllowListPayload>} options\n * @param {?boolean} [isBase]\n * @returns {SimpleAllowList}\n */\n SimpleAllowList(\n options: DeployablePayloadOrAddress<SimpleAllowListPayload>,\n isBase?: boolean,\n ) {\n return new SimpleAllowList(\n { config: this._config, account: this._account },\n options,\n isBase,\n );\n }\n /**\n * Bound {@link SimpleDenyList} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const list = core.SimpleDenyList('0x') // is roughly equivalent to\n * const list = new SimpleDenyList({ config: core._config, account: core._account }, '0x')\n * ```\n * @param {DeployablePayloadOrAddress<SimpleDenyListPayload>} options\n * @param {?boolean} [isBase]\n * @returns {SimpleDenyList}\n */\n SimpleDenyList(\n options: DeployablePayloadOrAddress<SimpleDenyListPayload>,\n isBase?: boolean,\n ) {\n return new SimpleDenyList(\n { config: this._config, account: this._account },\n options,\n isBase,\n );\n }\n // /**\n // * Bound {@link SimpleBudget} constructor that reuses the same configuration as the Boost Core instance.\n // *\n // * @example\n // * ```ts\n // * const budget = core.SimpleBudget('0x') // is roughly equivalent to\n // * const budget = new SimpleBudget({ config: core._config, account: core._account }, '0x')\n // * ```\n // * @param {DeployablePayloadOrAddress<SimpleBudgetPayload>} options\n // * @returns {SimpleBudget}\n // */\n // SimpleBudget(options: DeployablePayloadOrAddress<SimpleBudgetPayload>) {\n // return new SimpleBudget(\n // { config: this._config, account: this._account },\n // options,\n // );\n // }\n /**\n * Bound {@link ManagedBudget} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const budget = core.ManagedBudget('0x') // is roughly equivalent to\n * const budget = new ManagedBudget({ config: core._config, account: core._account }, '0x')\n * ```\n * @param {DeployablePayloadOrAddress<ManagedBudgetPayload>} options\n * @returns {ManagedBudget}\n */\n ManagedBudget(options: DeployablePayloadOrAddress<ManagedBudgetPayload>) {\n return new ManagedBudget(\n { config: this._config, account: this._account },\n options,\n );\n }\n // /**\n // * Bound {@link VestingBudget} constructor that reuses the same configuration as the Boost Core instance.\n // *\n // * @example\n // * ```ts\n // * const budget = core.VestingBudget('0x') // is roughly equivalent to\n // * const budget = new VestingBudget({ config: core._config, account: core._account }, '0x')\n // * ```\n // * @param {DeployablePayloadOrAddress<VestingBudgetPayload>} options\n // * @returns {VestingBudget}\n // */\n // VestingBudget(options: DeployablePayloadOrAddress<VestingBudgetPayload>) {\n // return new VestingBudget(\n // { config: this._config, account: this._account },\n // options,\n // );\n // }\n /**\n * Bound {@link AllowListIncentive} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const incentive = core.AllowListIncentive({ ... }) // is roughly equivalent to\n * const incentive = new AllowListIncentive({ config: core._config, account: core._account }, { ... })\n * ```\n * @param {DeployablePayloadOrAddress<VestingBudgetPayload>} options\n * @returns {VestingBudget}\n */\n AllowListIncentive(options: AllowListIncentivePayload) {\n return new AllowListIncentive(\n { config: this._config, account: this._account },\n options,\n );\n }\n /**\n * Bound {@link CGDAIncentive} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const incentive = core.CGDAIncentive({ ... }) // is roughly equivalent to\n * const incentive = new CGDAIncentive({ config: core._config, account: core._account }, { ... })\n * ```\n * @param {CGDAIncentivePayload} options\n * @returns {CGDAIncentive}\n */\n CGDAIncentive(options: CGDAIncentivePayload) {\n return new CGDAIncentive(\n { config: this._config, account: this._account },\n options,\n );\n }\n /**\n * Bound {@link ERC20Incentive} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const incentive = core.ERC20Incentive({ ... }) // is roughly equivalent to\n * const incentive = new ERC20Incentive({ config: core._config, account: core._account }, { ... })\n * ```\n * @param {ERC20IncentivePayload} options\n * @returns {ERC20Incentive}\n */\n ERC20Incentive(options: ERC20IncentivePayload) {\n return new ERC20Incentive(\n { config: this._config, account: this._account },\n options,\n );\n }\n // /**\n // * Temporarily disabled until low level ABI encoding bugs are resolved\n // * Bound {@link ERC1155Incentive} constructor that reuses the same configuration as the Boost Core instance.\n // *\n // * @experimental\n // * @example\n // * ```ts\n // * const incentive = core.ERC1155Incentive({ ... }) // is roughly equivalent to\n // * const incentive = new ERC1155Incentive({ config: core._config, account: core._account }, { ... })\n // * ```\n // * @param {ERC1155IncentivePayload} options\n // * @returns {ERC1155Incentive}\n // */\n // ERC1155Incentive(options: ERC1155IncentivePayload) {\n // return new ERC1155Incentive(\n // { config: this._config, account: this._account },\n // options,\n // );\n // }\n /**\n * Bound {@link PointsIncentive} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const incentive = core.PointsIncentive({ ... }) // is roughly equivalent to\n * const incentive = new PointsIncentive({ config: core._config, account: core._account }, { ... })\n * ```\n * @param {PointsIncentivePayload} options\n * @returns {PointsIncentive}\n */\n PointsIncentive(options: PointsIncentivePayload) {\n return new PointsIncentive(\n { config: this._config, account: this._account },\n options,\n );\n }\n /**\n * Bound {@link SignerValidator} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const validator = core.SignerValidator({ ... }) // is roughly equivalent to\n * const validator = new SignerValidator({ config: core._config, account: core._account }, { ... })\n * ```\n * @param {DeployablePayloadOrAddress<SignerValidatorPayload>} options\n * @param {?boolean} [isBase]\n * @returns {SignerValidator}\n */\n SignerValidator(\n options: DeployablePayloadOrAddress<SignerValidatorPayload>,\n isBase?: boolean,\n ) {\n return new SignerValidator(\n { config: this._config, account: this._account },\n options,\n isBase,\n );\n }\n /**\n * Bound {@link ERC20VariableIncentive} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const validator = core.ERC20VariableIncentive({ ... }) // is roughly equivalent to\n * const validator = new ERC20VariableIncentive({ config: core._config, account: core._account }, { ... })\n * ```\n * @param {DeployablePayloadOrAddress<ERC20VariableIncentivePayload>} options\n * @param {?boolean} [isBase]\n * @returns {ERC20VariableIncentive}\n */\n ERC20VariableIncentive(\n options: DeployablePayloadOrAddress<ERC20VariableIncentivePayload>,\n isBase?: boolean,\n ) {\n return new ERC20VariableIncentive(\n { config: this._config, account: this._account },\n options,\n isBase,\n );\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?[Address, Address]} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: [Address, Address],\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: boostCoreAbi,\n bytecode: bytecode as Hex,\n args: payload,\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n"],"names":["getAccount","config","uid","connection","addresses","address","chain","status","getChainId","getAction","client","actionFn","name","action_implicit","action_explicit","params","version","getVersion","__classPrivateFieldGet","receiver","state","kind","f","_BaseError_instances","_BaseError_walk","BaseError","shortMessage","options","details","_a","docsPath","fn","err","ConnectorNotConnectedError","ConnectorAccountNotFoundError","connector","ConnectorChainMismatchError","connectionChainId","connectorChainId","getConnectorClient","parameters","accounts","chainId","account","parseAccount","getAddress","provider","x","createClient","opts","custom","simulateContract","abi","rest","action","viem_simulateContract","result","request","writeContract","__mode","activeConnector","simulateRequest","viem_writeContract","createWriteContract","c","configChainId","BOOST_CORE_ADDRESS","isBoostCoreDeployed","isBoostCoreDeployable","BoostCore","Deployable","boostCoreAbi","_boostPayload","_options","coreAddress","payload","budget","validator","allowList","incentives","protocolFee","referralFee","maxParticipants","owner","boostFactory","zeroAddress","DeployableUnknownOwnerProvidedError","budgetPayload","BudgetMustAuthorizeBoostCore","_b","budgetHash","receipt","waitForTransactionReceipt","NoContractAddressUponReceiptError","actionPayload","zeroHash","isBase","validatorPayload","allowListPayload","incentivesPayloads","i","incentive","onChainPayload","boostHash","prepareBoostPayload","boostCreatedLog","parseEventLogs","boostId","BoostCoreNoIdentifierEmitted","boost","Boost","incentiveId","data","simulateBoostCoreClaimIncentive","writeBoostCoreClaimIncentive","id","readBoostCoreGetBoost","_id","boostPayload","actionFromAddress","budgetFromAddress","validatorFromAddress","allowListFromAddress","incentiveAddress","incentiveFromAddress","readBoostCoreGetBoostCount","auth","readIAuthIsAuthorized","readBoostCoreCreateBoostAuth","simulateBoostCoreSetCreateBoostAuth","writeBoostCoreSetCreateBoostAuth","readBoostCoreProtocolFee","readBoostCoreProtocolFeeReceiver","simulateBoostCoreSetProtocolFeeReceiver","writeBoostCoreSetProtocolFeeReceiver","readBoostCoreClaimFee","claimFee","simulateBoostCoreSetClaimFee","writeBoostCoreSetClaimFee","PassthroughAuth","EventAction","SimpleAllowList","SimpleDenyList","ManagedBudget","AllowListIncentive","CGDAIncentive","ERC20Incentive","PointsIncentive","SignerValidator","ERC20VariableIncentive","_payload","bytecode"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}
|
package/dist/BoostCore.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoostCore.js","sources":["../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/actions/getAccount.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/actions/getChainId.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/utils/getAction.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/version.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/utils/getVersion.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/errors/base.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/errors/config.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/actions/getConnectorClient.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/actions/simulateContract.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/actions/writeContract.js","../../../node_modules/.pnpm/@wagmi+core@2.13.0_react@18.3.0_typescript@5.3.3_viem@2.9.27/node_modules/@wagmi/core/dist/esm/actions/codegen/createWriteContract.js","../src/BoostCore.ts"],"sourcesContent":["/** https://wagmi.sh/core/api/actions/getAccount */\nexport function getAccount(config) {\n const uid = config.state.current;\n const connection = config.state.connections.get(uid);\n const addresses = connection?.accounts;\n const address = addresses?.[0];\n const chain = config.chains.find((chain) => chain.id === connection?.chainId);\n const status = config.state.status;\n switch (status) {\n case 'connected':\n return {\n address: address,\n addresses: addresses,\n chain,\n chainId: connection?.chainId,\n connector: connection?.connector,\n isConnected: true,\n isConnecting: false,\n isDisconnected: false,\n isReconnecting: false,\n status,\n };\n case 'reconnecting':\n return {\n address,\n addresses,\n chain,\n chainId: connection?.chainId,\n connector: connection?.connector,\n isConnected: !!address,\n isConnecting: false,\n isDisconnected: false,\n isReconnecting: true,\n status,\n };\n case 'connecting':\n return {\n address,\n addresses,\n chain,\n chainId: connection?.chainId,\n connector: connection?.connector,\n isConnected: false,\n isConnecting: true,\n isDisconnected: false,\n isReconnecting: false,\n status,\n };\n case 'disconnected':\n return {\n address: undefined,\n addresses: undefined,\n chain: undefined,\n chainId: undefined,\n connector: undefined,\n isConnected: false,\n isConnecting: false,\n isDisconnected: true,\n isReconnecting: false,\n status,\n };\n }\n}\n//# sourceMappingURL=getAccount.js.map","/** https://wagmi.sh/core/api/actions/getChainId */\nexport function getChainId(config) {\n return config.state.chainId;\n}\n//# sourceMappingURL=getChainId.js.map","/**\n * Retrieves and returns an action from the client (if exists), and falls\n * back to the tree-shakable action.\n *\n * Useful for extracting overridden actions from a client (ie. if a consumer\n * wants to override the `sendTransaction` implementation).\n */\nexport function getAction(client, actionFn, \n// Some minifiers drop `Function.prototype.name`, or replace it with short letters,\n// meaning that `actionFn.name` will not always work. For that case, the consumer\n// needs to pass the name explicitly.\nname) {\n const action_implicit = client[actionFn.name];\n if (typeof action_implicit === 'function')\n return action_implicit;\n const action_explicit = client[name];\n if (typeof action_explicit === 'function')\n return action_explicit;\n return (params) => actionFn(client, params);\n}\n//# sourceMappingURL=getAction.js.map","export const version = '2.13.0';\n//# sourceMappingURL=version.js.map","import { version } from '../version.js';\nexport const getVersion = () => `@wagmi/core@${version}`;\n//# sourceMappingURL=getVersion.js.map","var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _BaseError_instances, _BaseError_walk;\nimport { getVersion } from '../utils/getVersion.js';\nexport class BaseError extends Error {\n get docsBaseUrl() {\n return 'https://wagmi.sh/core';\n }\n get version() {\n return getVersion();\n }\n constructor(shortMessage, options = {}) {\n super();\n _BaseError_instances.add(this);\n Object.defineProperty(this, \"details\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"docsPath\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"metaMessages\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"shortMessage\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'WagmiCoreError'\n });\n const details = options.cause instanceof BaseError\n ? options.cause.details\n : options.cause?.message\n ? options.cause.message\n : options.details;\n const docsPath = options.cause instanceof BaseError\n ? options.cause.docsPath || options.docsPath\n : options.docsPath;\n this.message = [\n shortMessage || 'An error occurred.',\n '',\n ...(options.metaMessages ? [...options.metaMessages, ''] : []),\n ...(docsPath\n ? [\n `Docs: ${this.docsBaseUrl}${docsPath}.html${options.docsSlug ? `#${options.docsSlug}` : ''}`,\n ]\n : []),\n ...(details ? [`Details: ${details}`] : []),\n `Version: ${this.version}`,\n ].join('\\n');\n if (options.cause)\n this.cause = options.cause;\n this.details = details;\n this.docsPath = docsPath;\n this.metaMessages = options.metaMessages;\n this.shortMessage = shortMessage;\n }\n walk(fn) {\n return __classPrivateFieldGet(this, _BaseError_instances, \"m\", _BaseError_walk).call(this, this, fn);\n }\n}\n_BaseError_instances = new WeakSet(), _BaseError_walk = function _BaseError_walk(err, fn) {\n if (fn?.(err))\n return err;\n if (err.cause)\n return __classPrivateFieldGet(this, _BaseError_instances, \"m\", _BaseError_walk).call(this, err.cause, fn);\n return err;\n};\n//# sourceMappingURL=base.js.map","import { BaseError } from './base.js';\nexport class ChainNotConfiguredError extends BaseError {\n constructor() {\n super('Chain not configured.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ChainNotConfiguredError'\n });\n }\n}\nexport class ConnectorAlreadyConnectedError extends BaseError {\n constructor() {\n super('Connector already connected.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ConnectorAlreadyConnectedError'\n });\n }\n}\nexport class ConnectorNotConnectedError extends BaseError {\n constructor() {\n super('Connector not connected.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ConnectorNotConnectedError'\n });\n }\n}\nexport class ConnectorNotFoundError extends BaseError {\n constructor() {\n super('Connector not found.');\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ConnectorNotFoundError'\n });\n }\n}\nexport class ConnectorAccountNotFoundError extends BaseError {\n constructor({ address, connector, }) {\n super(`Account \"${address}\" not found for connector \"${connector.name}\".`);\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ConnectorAccountNotFoundError'\n });\n }\n}\nexport class ConnectorChainMismatchError extends BaseError {\n constructor({ connectionChainId, connectorChainId, }) {\n super(`The current chain of the connector (id: ${connectorChainId}) does not match the connection's chain (id: ${connectionChainId}).`, {\n metaMessages: [\n `Current Chain ID: ${connectorChainId}`,\n `Expected Chain ID: ${connectionChainId}`,\n ],\n });\n Object.defineProperty(this, \"name\", {\n enumerable: true,\n configurable: true,\n writable: true,\n value: 'ConnectorChainMismatchError'\n });\n }\n}\n//# sourceMappingURL=config.js.map","import { createClient, custom, } from 'viem';\nimport { getAddress, parseAccount } from 'viem/utils';\nimport { ConnectorAccountNotFoundError, ConnectorChainMismatchError, ConnectorNotConnectedError, } from '../errors/config.js';\n/** https://wagmi.sh/core/api/actions/getConnectorClient */\nexport async function getConnectorClient(config, parameters = {}) {\n // Get connection\n let connection;\n if (parameters.connector) {\n const { connector } = parameters;\n const [accounts, chainId] = await Promise.all([\n connector.getAccounts(),\n connector.getChainId(),\n ]);\n connection = {\n accounts: accounts,\n chainId,\n connector,\n };\n }\n else\n connection = config.state.connections.get(config.state.current);\n if (!connection)\n throw new ConnectorNotConnectedError();\n const chainId = parameters.chainId ?? connection.chainId;\n // Check connector using same chainId as connection\n const connectorChainId = await connection.connector.getChainId();\n if (connectorChainId !== connection.chainId)\n throw new ConnectorChainMismatchError({\n connectionChainId: connection.chainId,\n connectorChainId,\n });\n const connector = connection.connector;\n if (connector.getClient)\n return connector.getClient({ chainId });\n // Default using `custom` transport\n const account = parseAccount(parameters.account ?? connection.accounts[0]);\n account.address = getAddress(account.address); // TODO: Checksum address as part of `parseAccount`?\n const chain = config.chains.find((chain) => chain.id === chainId);\n const provider = (await connection.connector.getProvider({ chainId }));\n // If account was provided, check that it exists on the connector\n if (parameters.account &&\n !connection.accounts.some((x) => x.toLowerCase() === account.address.toLowerCase()))\n throw new ConnectorAccountNotFoundError({\n address: account.address,\n connector,\n });\n return createClient({\n account,\n chain,\n name: 'Connector Client',\n transport: (opts) => custom(provider)({ ...opts, retryCount: 0 }),\n });\n}\n//# sourceMappingURL=getConnectorClient.js.map","import { simulateContract as viem_simulateContract, } from 'viem/actions';\nimport { getAction } from '../utils/getAction.js';\nimport { getConnectorClient, } from './getConnectorClient.js';\n/** https://wagmi.sh/core/api/actions/simulateContract */\nexport async function simulateContract(config, parameters) {\n const { abi, chainId, connector, ...rest } = parameters;\n let account;\n if (parameters.account)\n account = parameters.account;\n else {\n const connectorClient = await getConnectorClient(config, {\n chainId,\n connector,\n });\n account = connectorClient.account;\n }\n const client = config.getClient({ chainId });\n const action = getAction(client, viem_simulateContract, 'simulateContract');\n const { result, request } = await action({ ...rest, abi, account });\n return {\n chainId: client.chain.id,\n result,\n request: { __mode: 'prepared', ...request, chainId },\n };\n}\n//# sourceMappingURL=simulateContract.js.map","import { writeContract as viem_writeContract, } from 'viem/actions';\nimport { getAction } from '../utils/getAction.js';\nimport { getAccount } from './getAccount.js';\nimport { getConnectorClient, } from './getConnectorClient.js';\nimport { simulateContract, } from './simulateContract.js';\n/** https://wagmi.sh/core/api/actions/writeContract */\nexport async function writeContract(config, parameters) {\n const { account, chainId, connector, __mode, ...rest } = parameters;\n let client;\n if (typeof account === 'object' && account.type === 'local')\n client = config.getClient({ chainId });\n else\n client = await getConnectorClient(config, { account, chainId, connector });\n const { connector: activeConnector } = getAccount(config);\n let request;\n if (__mode === 'prepared' || activeConnector?.supportsSimulation)\n request = rest;\n else {\n const { request: simulateRequest } = await simulateContract(config, {\n ...rest,\n account,\n chainId,\n });\n request = simulateRequest;\n }\n const action = getAction(client, viem_writeContract, 'writeContract');\n const hash = await action({\n ...request,\n ...(account ? { account } : {}),\n chain: chainId ? { id: chainId } : null,\n });\n return hash;\n}\n//# sourceMappingURL=writeContract.js.map","import { getAccount } from '../getAccount.js';\nimport { getChainId } from '../getChainId.js';\nimport { writeContract, } from '../writeContract.js';\nexport function createWriteContract(c) {\n if (c.address !== undefined && typeof c.address === 'object')\n return (config, parameters) => {\n const configChainId = getChainId(config);\n const account = getAccount(config);\n let chainId;\n if (parameters.chainId)\n chainId = parameters.chainId;\n else if (parameters\n .account &&\n parameters\n .account === account.address)\n chainId = account.chainId;\n else if (parameters\n .account === undefined)\n chainId = account.chainId;\n else\n chainId = configChainId;\n return writeContract(config, {\n ...parameters,\n ...(c.functionName ? { functionName: c.functionName } : {}),\n address: chainId ? c.address?.[chainId] : undefined,\n abi: c.abi,\n });\n };\n return (config, parameters) => {\n return writeContract(config, {\n ...parameters,\n ...(c.address ? { address: c.address } : {}),\n ...(c.functionName ? { functionName: c.functionName } : {}),\n abi: c.abi,\n });\n };\n}\n//# sourceMappingURL=createWriteContract.js.map","import {\n boostCoreAbi,\n type iAuthAbi,\n readBoostCoreClaimFee,\n readBoostCoreCreateBoostAuth,\n readBoostCoreGetBoost,\n readBoostCoreGetBoostCount,\n readBoostCoreProtocolFee,\n readBoostCoreProtocolFeeReceiver,\n readIAuthIsAuthorized,\n simulateBoostCoreClaimIncentive,\n simulateBoostCoreSetClaimFee,\n simulateBoostCoreSetCreateBoostAuth,\n simulateBoostCoreSetProtocolFeeReceiver,\n writeBoostCoreClaimIncentive,\n writeBoostCoreSetClaimFee,\n writeBoostCoreSetCreateBoostAuth,\n writeBoostCoreSetProtocolFeeReceiver,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/BoostCore.sol/BoostCore.json';\nimport { getAccount, waitForTransactionReceipt } from '@wagmi/core';\nimport { createWriteContract } from '@wagmi/core/codegen';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n parseEventLogs,\n zeroAddress,\n zeroHash,\n} from 'viem';\nimport { type Action, actionFromAddress } from './Actions/Action';\nimport { EventAction } from './Actions/EventAction';\nimport { type AllowList, allowListFromAddress } from './AllowLists/AllowList';\nimport {\n SimpleAllowList,\n type SimpleAllowListPayload,\n} from './AllowLists/SimpleAllowList';\nimport {\n SimpleDenyList,\n type SimpleDenyListPayload,\n} from './AllowLists/SimpleDenyList';\nimport { type Auth, PassthroughAuth } from './Auth/Auth';\nimport { Boost } from './Boost';\nimport { type Budget, budgetFromAddress } from './Budgets/Budget';\nimport {\n ManagedBudget,\n type ManagedBudgetPayload,\n} from './Budgets/ManagedBudget';\nimport {\n Deployable,\n type DeployableOptions,\n type DeployablePayloadOrAddress,\n type GenericDeployableParams,\n} from './Deployable/Deployable';\nimport {\n AllowListIncentive,\n type AllowListIncentivePayload,\n} from './Incentives/AllowListIncentive';\nimport {\n CGDAIncentive,\n type CGDAIncentivePayload,\n} from './Incentives/CGDAIncentive';\nimport {\n ERC20Incentive,\n type ERC20IncentivePayload,\n} from './Incentives/ERC20Incentive';\nimport {\n ERC20VariableIncentive,\n type Incentive,\n incentiveFromAddress,\n} from './Incentives/Incentive';\nimport {\n PointsIncentive,\n type PointsIncentivePayload,\n} from './Incentives/PointsIncentive';\nimport {\n SignerValidator,\n type SignerValidatorPayload,\n} from './Validators/SignerValidator';\nimport { type Validator, validatorFromAddress } from './Validators/Validator';\nimport {\n BoostCoreNoIdentifierEmitted,\n BudgetMustAuthorizeBoostCore,\n DeployableUnknownOwnerProvidedError,\n NoContractAddressUponReceiptError,\n} from './errors';\nimport {\n type ERC20VariableIncentivePayload,\n type EventActionPayload,\n type GenericLog,\n type BoostPayload as OnChainBoostPayload,\n type ReadParams,\n type Target,\n type WriteParams,\n prepareBoostPayload,\n} from './utils';\n\nexport { boostCoreAbi };\n\n/**\n * The fixed address for the deployed Boost Core.\n * By default, `new BoostCore` will use this address if not otherwise provided.\n *\n * @type {Address}\n */\nexport const BOOST_CORE_ADDRESS: Address = import.meta.env\n .VITE_BOOST_CORE_ADDRESS;\n\n/**\n * A generic `viem.Log` event with support for `BoostCore` event types.\n *\n * @export\n * @typedef {BoostCoreLog}\n * @template {ContractEventName<typeof boostCoreAbi>} [event=ContractEventName<\n * typeof boostCoreAbi\n * >]\n */\nexport type BoostCoreLog<\n event extends ContractEventName<typeof boostCoreAbi> = ContractEventName<\n typeof boostCoreAbi\n >,\n> = GenericLog<typeof boostCoreAbi, event>;\n\n/**\n * Boost Core instantiation options for a custom deployed instance.\n *\n * @export\n * @interface BoostCoreDeployedOptions\n * @typedef {BoostCoreDeployedOptions}\n * @extends {DeployableOptions}\n */\nexport interface BoostCoreDeployedOptions extends DeployableOptions {\n /**\n * The address of a deployed, custom Boost Core contract.\n *\n * @type {?Address}\n */\n address?: Address;\n}\n\n/**\n * Typeguard to determine if a user is supplying a custom address for a Boost Core contract.\n *\n * @param {*} opts\n * @returns {opts is BoostCoreDeployedOptions}\n */\n// biome-ignore lint/suspicious/noExplicitAny: type guard\nfunction isBoostCoreDeployed(opts: any): opts is BoostCoreDeployedOptions {\n return opts.address;\n}\n\n/**\n * Boost Core instantiation options when a user intends to deploy a new instance of Boost Core, setting their own registry address and protocol fee receiver.\n *\n * @export\n * @interface BoostCoreOptionsWithPayload\n * @typedef {BoostCoreOptionsWithPayload}\n * @extends {DeployableOptions}\n */\nexport interface BoostCoreOptionsWithPayload extends DeployableOptions {\n /**\n * The address of a deployed Boost Registry contract.\n *\n * @type {Address}\n */\n registryAddress: Address;\n /**\n * The address to send fees.\n *\n * @type {Address}\n */\n protocolFeeReceiver: Address;\n}\n\n/**\n * Typeguard to determine if a user is intending to deploy a new instance of the Boost Core contracts with {@link BoostCoreOptionsWithPayload}.\n *\n * @param {*} opts\n * @returns {opts is BoostCoreOptionsWithPayload}\n */\n// biome-ignore lint/suspicious/noExplicitAny: type guard\nfunction isBoostCoreDeployable(opts: any): opts is BoostCoreOptionsWithPayload {\n return opts.registryAddress && opts.protocolFeeReceiver;\n}\n\n/**\n * A union representing both of the valid Boost Core instantiation parameters.\n *\n * @export\n * @typedef {BoostCoreConfig}\n */\nexport type BoostCoreConfig =\n | BoostCoreDeployedOptions\n | BoostCoreOptionsWithPayload;\n\n/**\n * The interface required to create a new Boost.\n *\n * @export\n * @typedef {CreateBoostPayload}\n */\nexport type CreateBoostPayload = {\n budget: Budget;\n action: Action;\n validator: Validator;\n allowList: AllowList;\n incentives: Array<Incentive>;\n protocolFee?: bigint;\n referralFee?: bigint;\n maxParticipants?: bigint;\n owner?: Address;\n};\n\n/**\n * The core contract for the Boost protocol. Used to create and retrieve deployed Boosts.\n *\n * @export\n * @class BoostCore\n * @typedef {BoostCore}\n * @extends {Deployable<[Address, Address]>}\n */\nexport class BoostCore extends Deployable<\n [Address, Address],\n typeof boostCoreAbi\n> {\n /**\n * Creates an instance of BoostCore.\n *\n * @constructor\n * @param {BoostCoreConfig} param0\n * @param {Config} param0.config\n * @param {?Account} [param0.account]\n * @param {({ address?: Address; } | { registryAddress: Address; protocolFeeReceiver: Address; })} param0....options\n */\n constructor({ config, account, ...options }: BoostCoreConfig) {\n if (isBoostCoreDeployed(options) && options.address) {\n super({ account, config }, options.address);\n } else if (isBoostCoreDeployable(options)) {\n super({ account, config }, [\n options.registryAddress,\n options.protocolFeeReceiver,\n ]);\n } else {\n super({ account, config }, BOOST_CORE_ADDRESS);\n }\n //@ts-expect-error I can't set this property on the class because for some reason it takes super out of constructor scope?\n this.abi = boostCoreAbi;\n } /**\n * Create a new Boost.\n *\n * @public\n * @async\n * @param {CreateBoostPayload} _boostPayload\n * @param {?DeployableOptions} [_options]\n * @returns {Boost}\n */\n public async createBoost(\n _boostPayload: CreateBoostPayload,\n _options?: DeployableOptions,\n ) {\n const coreAddress = this.assertValidAddress();\n const [payload, options] =\n this.validateDeploymentConfig<CreateBoostPayload>(\n _boostPayload,\n _options,\n );\n\n let {\n budget,\n action,\n validator,\n allowList,\n incentives,\n protocolFee = 0n,\n referralFee = 0n,\n maxParticipants = 0n,\n owner,\n } = payload;\n\n const boostFactory = createWriteContract({\n abi: boostCoreAbi,\n functionName: 'createBoost',\n address: this.address,\n });\n\n if (!owner) {\n owner =\n this._account?.address ||\n getAccount(options.config).address ||\n zeroAddress;\n if (owner === zeroAddress) {\n throw new DeployableUnknownOwnerProvidedError();\n }\n }\n\n let budgetPayload: OnChainBoostPayload['budget'] = zeroAddress;\n if (budget.address) {\n budgetPayload = budget.address;\n if (!(await budget.isAuthorized(coreAddress))) {\n throw new BudgetMustAuthorizeBoostCore(coreAddress);\n }\n } else {\n // budgets are either instantiated with an address or payload, so in this branch payload will exist\n const authorized = budget.payload?.authorized || [];\n if (!authorized.includes(coreAddress)) {\n throw new BudgetMustAuthorizeBoostCore(coreAddress);\n }\n const budgetHash = await budget.deployRaw(undefined, options);\n const receipt = await waitForTransactionReceipt(options.config, {\n hash: budgetHash,\n });\n if (!receipt.contractAddress)\n throw new NoContractAddressUponReceiptError(receipt);\n budgetPayload = receipt.contractAddress;\n }\n\n // if we're supplying an address, it could be a pre-initialized target\n // if base is explicitly set to false, then it will not be initialized, and it will be referenced as is if it implements interface correctly\n let actionPayload: OnChainBoostPayload['action'] = {\n instance: zeroAddress,\n isBase: true,\n parameters: zeroHash,\n };\n if (action.address) {\n const isBase = action.address === action.base || action.isBase;\n actionPayload = {\n isBase: isBase,\n instance: action.address,\n parameters: isBase\n ? action.buildParameters(undefined, options).args.at(0) || zeroHash\n : zeroHash,\n };\n } else {\n actionPayload.parameters =\n action.buildParameters(undefined, options).args.at(0) || zeroHash;\n actionPayload.instance = action.base;\n }\n\n let validatorPayload: OnChainBoostPayload['validator'] = {\n instance: zeroAddress,\n isBase: true,\n parameters: zeroHash,\n };\n if (validator.address) {\n const isBase = validator.address === validator.base || validator.isBase;\n validatorPayload = {\n isBase: isBase,\n instance: validator.address,\n parameters: isBase\n ? validator\n .buildParameters(\n {\n signers: [owner],\n validatorCaller: coreAddress,\n },\n options,\n )\n .args.at(0) || zeroHash\n : zeroHash,\n };\n } else {\n validatorPayload.parameters =\n validator\n .buildParameters(\n {\n signers: [owner],\n validatorCaller: coreAddress,\n },\n options,\n )\n .args.at(0) || zeroHash;\n validatorPayload.instance = validator.base;\n }\n\n let allowListPayload: OnChainBoostPayload['allowList'] = {\n instance: zeroAddress,\n isBase: true,\n parameters: zeroHash,\n };\n if (allowList.address) {\n const isBase = allowList.address === allowList.base || allowList.isBase;\n allowListPayload = {\n isBase: isBase,\n instance: allowList.address,\n parameters: isBase\n ? zeroHash // allowList.buildParameters(undefined, options).args.at(0) || zeroHash\n : zeroHash,\n };\n } else {\n allowListPayload.parameters =\n allowList.buildParameters(undefined, options).args.at(0) || zeroHash;\n allowListPayload.instance = allowList.base;\n }\n\n let incentivesPayloads: Array<Target> = incentives.map(() => ({\n instance: zeroAddress,\n isBase: true,\n parameters: zeroHash,\n }));\n for (let i = 0; i < incentives.length; i++) {\n // biome-ignore lint/style/noNonNullAssertion: this will never be undefined\n const incentive = incentives.at(i)!;\n if (incentive.address) {\n const isBase = incentive.address === incentive.base || incentive.isBase;\n incentivesPayloads[i] = {\n isBase: isBase,\n instance: incentive.address,\n parameters: isBase\n ? incentive.buildParameters(undefined, options).args.at(0) ||\n zeroHash\n : zeroHash,\n };\n } else {\n incentivesPayloads[i]!.parameters =\n incentive.buildParameters(undefined, options).args.at(0) || zeroHash;\n incentivesPayloads[i]!.instance = incentive.base;\n }\n }\n\n const onChainPayload = {\n budget: budgetPayload,\n action: actionPayload,\n validator: validatorPayload,\n allowList: allowListPayload,\n incentives: incentivesPayloads,\n protocolFee,\n referralFee,\n maxParticipants,\n owner,\n };\n\n const boostHash = await boostFactory(options.config, {\n args: [prepareBoostPayload(onChainPayload)],\n ...this.optionallyAttachAccount(options.account),\n });\n const receipt = await waitForTransactionReceipt(options.config, {\n hash: boostHash,\n });\n const boostCreatedLog = parseEventLogs({\n abi: boostCoreAbi,\n eventName: 'BoostCreated',\n logs: receipt.logs,\n }).at(0);\n let boostId = 0n;\n if (!boostCreatedLog) throw new BoostCoreNoIdentifierEmitted();\n boostId = boostCreatedLog?.args.boostIndex;\n const boost = await this.readBoost(boostId);\n return new Boost({\n id: boostId,\n budget: budget.at(boost.budget),\n action: action.at(boost.action),\n validator: validator.at(boost.validator),\n allowList: allowList.at(boost.allowList),\n incentives: incentives.map((incentive, i) =>\n incentive.at(boost.incentives.at(i)!),\n ),\n protocolFee: boost.protocolFee,\n referralFee: boost.referralFee,\n maxParticipants: boost.maxParticipants,\n owner: boost.owner,\n });\n }\n\n /**\n * Claims one incentive from a given `Boost` by `boostId` and `incentiveId`\n *\n * @public\n * @async\n * @param {bigint} boostId\n * @param {bigint} incentiveId\n * @param {Address} address\n * @param {Hex} data\n * @param {?WriteParams<typeof boostCoreAbi, 'claimIncentive'>} [params]\n * @returns {unknown}\n */\n public async claimIncentive(\n boostId: bigint,\n incentiveId: bigint,\n address: Address,\n data: Hex,\n params?: WriteParams<typeof boostCoreAbi, 'claimIncentive'>,\n ) {\n return this.awaitResult(\n this.claimIncentiveRaw(boostId, incentiveId, address, data, params),\n );\n }\n\n /**\n * Claim an incentive for a Boost\n *\n * @public\n * @async\n * @param {bigint} boostId - The ID of the Boost\n * @param {bigint} incentiveId - The ID of the Incentive\n * @param {Address} address - The address of the referrer (if any)\n * @param {Hex} data- The data for the claim\n * @param {?WriteParams<typeof boostCoreAbi, 'claimIncentive'>} [params]\n * @returns {unknown}\n */\n public async claimIncentiveRaw(\n boostId: bigint,\n incentiveId: bigint,\n address: Address,\n data: Hex,\n params?: WriteParams<typeof boostCoreAbi, 'claimIncentive'>,\n ) {\n const { request, result } = await simulateBoostCoreClaimIncentive(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [boostId, incentiveId, address, data],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeBoostCoreClaimIncentive(this._config, request);\n return { hash, result };\n }\n\n /**\n * Get a Boost by index, will return the raw on chain representation of a Boost.\n *\n * @public\n * @async\n * @param {bigint} id\n * @param {?ReadParams<typeof boostCoreAbi, 'getBoost'>} [params]\n * @returns {unknown}\n */\n public async readBoost(\n id: bigint,\n params?: ReadParams<typeof boostCoreAbi, 'getBoost'>,\n ) {\n return readBoostCoreGetBoost(this._config, {\n address: this.assertValidAddress(),\n args: [id],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * 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`\n *\n * @public\n * @async\n * @param {(string | bigint)} _id\n * @param {?ReadParams<typeof boostCoreAbi, 'getBoost'>} [params]\n * @returns {unknown}\n */\n public async getBoost(\n _id: string | bigint,\n params?: ReadParams<typeof boostCoreAbi, 'getBoost'>,\n ) {\n let id: bigint;\n if (typeof _id === 'string') {\n id = BigInt(_id);\n } else id = _id;\n const {\n protocolFee,\n referralFee,\n maxParticipants,\n owner,\n ...boostPayload\n } = await this.readBoost(id, params);\n const options: DeployableOptions = {\n config: this._config,\n account: this._account,\n };\n const [action, budget, validator, allowList, incentives] =\n await Promise.all([\n actionFromAddress(options, boostPayload.action),\n budgetFromAddress(options, boostPayload.budget),\n validatorFromAddress(options, boostPayload.validator),\n allowListFromAddress(options, boostPayload.allowList),\n Promise.all(\n boostPayload.incentives.map((incentiveAddress) =>\n incentiveFromAddress(options, incentiveAddress),\n ),\n ),\n ]);\n return new Boost({\n id,\n action,\n budget,\n validator,\n allowList,\n incentives,\n protocolFee,\n referralFee,\n maxParticipants,\n owner,\n });\n }\n\n /**\n * Retrieve the total number of deployed Boosts\n *\n * @public\n * @async\n * @param {?ReadParams<typeof boostCoreAbi, 'getBoostCount'>} [params]\n * @returns {Promise<bigint>}\n */\n public async getBoostCount(\n params?: ReadParams<typeof boostCoreAbi, 'getBoostCount'>,\n ) {\n return readBoostCoreGetBoostCount(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Checks if an address is authorized\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams<typeof boostCoreAbi, 'createBoostAuth'> &\n * ReadParams<typeof iAuthAbi, 'isAuthorized'>} [params]\n * @returns {Promise<boolean>}\n */\n public async isAuthorized(\n address: Address,\n params?: ReadParams<typeof boostCoreAbi, 'createBoostAuth'> &\n ReadParams<typeof iAuthAbi, 'isAuthorized'>,\n ) {\n const auth = await this.createBoostAuth();\n return readIAuthIsAuthorized(this._config, {\n address: auth,\n args: [address],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Retrieve the address of the current creation auth provider.\n *\n * @public\n * @async\n * @param {?ReadParams<typeof boostCoreAbi, 'createBoostAuth'>} [params]\n * @returns {unknown}\n */\n public async createBoostAuth(\n params?: ReadParams<typeof boostCoreAbi, 'createBoostAuth'>,\n ) {\n return readBoostCoreCreateBoostAuth(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Replace the current auth scheme.\n *\n * @public\n * @async\n * @param {Auth} auth\n * @param {?WriteParams<typeof boostCoreAbi, 'setCreateBoostAuth'>} [params]\n * @returns {unknown}\n */\n public async setCreateBoostAuth(\n auth: Auth,\n params?: WriteParams<typeof boostCoreAbi, 'setCreateBoostAuth'>,\n ) {\n return this.awaitResult(\n this.setCreateBoostAuthRaw(auth.assertValidAddress(), {\n ...params,\n }),\n );\n }\n\n /**\n * Set the createBoostAuth address\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams<typeof boostCoreAbi, 'setCreateBoostAuth'>} [params]\n * @returns {unknown}\n */\n public async setCreateBoostAuthRaw(\n address: Address,\n params?: WriteParams<typeof boostCoreAbi, 'setCreateBoostAuth'>,\n ) {\n const { request, result } = await simulateBoostCoreSetCreateBoostAuth(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [address],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeBoostCoreSetCreateBoostAuth(this._config, request);\n return { hash, result };\n }\n\n /**\n * Get the protocol fee.\n *\n * @public\n * @async\n * @param {?ReadParams<typeof boostCoreAbi, 'protocolFee'>} [params]\n * @returns {unknown}\n */\n public async protocolFee(\n params?: ReadParams<typeof boostCoreAbi, 'protocolFee'>,\n ) {\n return readBoostCoreProtocolFee(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get the protocol fee receiver.\n *\n * @public\n * @async\n * @param {?ReadParams<typeof boostCoreAbi, 'protocolFeeReceiver'>} [params]\n * @returns {unknown}\n */\n public async protocolFeeReceiver(\n params?: ReadParams<typeof boostCoreAbi, 'protocolFeeReceiver'>,\n ) {\n return readBoostCoreProtocolFeeReceiver(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Set the protocol fee receiver address. This function is only callable by the owner.\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams<typeof boostCoreAbi, 'setProtocolFeeReceiver'>} [params]\n * @returns {unknown}\n */\n public async setProcolFeeReceiver(\n address: Address,\n params?: WriteParams<typeof boostCoreAbi, 'setProtocolFeeReceiver'>,\n ) {\n return this.awaitResult(\n this.setProcolFeeReceiverRaw(address, {\n ...params,\n }),\n );\n }\n\n /**\n * Set the protocol fee receiver address. This function is only callable by the owner.\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams<typeof boostCoreAbi, 'setProtocolFeeReceiver'>} [params]\n * @returns {unknown}\n */\n public async setProcolFeeReceiverRaw(\n address: Address,\n params?: WriteParams<typeof boostCoreAbi, 'setProtocolFeeReceiver'>,\n ) {\n const { request, result } = await simulateBoostCoreSetProtocolFeeReceiver(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [address],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeBoostCoreSetProtocolFeeReceiver(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Get the claim fee.\n *\n * @public\n * @async\n * @param {?ReadParams<typeof boostCoreAbi, 'claimFee'>} [params]\n * @returns {unknown}\n */\n public async claimFee(params?: ReadParams<typeof boostCoreAbi, 'claimFee'>) {\n return readBoostCoreClaimFee(this._config, {\n address: this.assertValidAddress(),\n args: [],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Sets the claim fee.\n *\n * @public\n * @async\n * @param {bigint} claimFee\n * @param {?WriteParams<typeof boostCoreAbi, 'setClaimFee'>} [params]\n * @returns {unknown}\n */\n public async setClaimFee(\n claimFee: bigint,\n params?: WriteParams<typeof boostCoreAbi, 'setClaimFee'>,\n ) {\n return this.awaitResult(this.setClaimFeeRaw(claimFee, params));\n }\n\n /**\n * Sets the claim fee.\n *\n * @public\n * @async\n * @param {bigint} claimFee\n * @param {?WriteParams<typeof boostCoreAbi, 'setClaimFee'>} [params]\n * @returns {unknown}\n */\n public async setClaimFeeRaw(\n claimFee: bigint,\n params?: WriteParams<typeof boostCoreAbi, 'setClaimFee'>,\n ) {\n const { request, result } = await simulateBoostCoreSetClaimFee(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [claimFee],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeBoostCoreSetClaimFee(this._config, request);\n return { hash, result };\n }\n\n /**\n * Bound {@link PassthroughAuth} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const auth = core.PassthroughAuth('0x') // is roughly equivalent to\n * const auth = new PassthroughAuth({ config: core._config, account: core._account }, '0x')\n * ```\n * @param {DeployablePayloadOrAddress<{}>} options\n * @param {?boolean} [isBase]\n * @returns {PassthroughAuth}\n */\n PassthroughAuth(address?: Address) {\n return new PassthroughAuth(\n { config: this._config, account: this._account },\n address,\n );\n }\n\n // /**\n // * Bound {@link ContractAction} constructor that reuses the same configuration as the Boost Core instance.\n // *\n // * @example\n // * ```ts\n // * const action = core.ContractAction('0x') // is roughly equivalent to\n // * const action = new ContractAction({ config: core._config, account: core._account }, '0x')\n // * ```\n // * @param {DeployablePayloadOrAddress<ContractActionPayload>} options\n // * @param {?boolean} [isBase]\n // * @returns {ContractAction}\n // */\n // ContractAction(\n // options: DeployablePayloadOrAddress<ContractActionPayload>,\n // isBase?: boolean,\n // ) {\n // return new ContractAction(\n // { config: this._config, account: this._account },\n // options,\n // isBase,\n // );\n // }\n\n /**\n * Bound {@link EventAction} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const action = core.EventAction('0x') // is roughly equivalent to\n * const action = new EventAction({ config: core._config, account: core._account }, '0x')\n */\n EventAction(\n options: DeployablePayloadOrAddress<EventActionPayload>,\n isBase?: boolean,\n ) {\n return new EventAction(\n { config: this._config, account: this._account },\n options,\n isBase,\n );\n }\n // /**\n // * Bound {@link ERC721MintAction} constructor that reuses the same configuration as the Boost Core instance.\n // *\n // * @example\n // * ```ts\n // * const action = core.ERC721MintAction('0x') // is roughly equivalent to\n // * const action = new ERC721MintAction({ config: core._config, account: core._account }, '0x')\n // * ```\n // * @param {DeployablePayloadOrAddress<ERC721MintActionPayload>} options\n // * @param {?boolean} [isBase]\n // * @returns {ERC721MintAction}\n // */\n // ERC721MintAction(\n // options: DeployablePayloadOrAddress<ERC721MintActionPayload>,\n // isBase?: boolean,\n // ) {\n // return new ERC721MintAction(\n // { config: this._config, account: this._account },\n // options,\n // isBase,\n // );\n // }\n /**\n * Bound {@link SimpleAllowList} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const list = core.SimpleAllowList('0x') // is roughly equivalent to\n * const list = new SimpleAllowList({ config: core._config, account: core._account }, '0x')\n * ```\n * @param {DeployablePayloadOrAddress<SimpleAllowListPayload>} options\n * @param {?boolean} [isBase]\n * @returns {SimpleAllowList}\n */\n SimpleAllowList(\n options: DeployablePayloadOrAddress<SimpleAllowListPayload>,\n isBase?: boolean,\n ) {\n return new SimpleAllowList(\n { config: this._config, account: this._account },\n options,\n isBase,\n );\n }\n /**\n * Bound {@link SimpleDenyList} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const list = core.SimpleDenyList('0x') // is roughly equivalent to\n * const list = new SimpleDenyList({ config: core._config, account: core._account }, '0x')\n * ```\n * @param {DeployablePayloadOrAddress<SimpleDenyListPayload>} options\n * @param {?boolean} [isBase]\n * @returns {SimpleDenyList}\n */\n SimpleDenyList(\n options: DeployablePayloadOrAddress<SimpleDenyListPayload>,\n isBase?: boolean,\n ) {\n return new SimpleDenyList(\n { config: this._config, account: this._account },\n options,\n isBase,\n );\n }\n // /**\n // * Bound {@link SimpleBudget} constructor that reuses the same configuration as the Boost Core instance.\n // *\n // * @example\n // * ```ts\n // * const budget = core.SimpleBudget('0x') // is roughly equivalent to\n // * const budget = new SimpleBudget({ config: core._config, account: core._account }, '0x')\n // * ```\n // * @param {DeployablePayloadOrAddress<SimpleBudgetPayload>} options\n // * @returns {SimpleBudget}\n // */\n // SimpleBudget(options: DeployablePayloadOrAddress<SimpleBudgetPayload>) {\n // return new SimpleBudget(\n // { config: this._config, account: this._account },\n // options,\n // );\n // }\n /**\n * Bound {@link ManagedBudget} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const budget = core.ManagedBudget('0x') // is roughly equivalent to\n * const budget = new ManagedBudget({ config: core._config, account: core._account }, '0x')\n * ```\n * @param {DeployablePayloadOrAddress<ManagedBudgetPayload>} options\n * @returns {ManagedBudget}\n */\n ManagedBudget(options: DeployablePayloadOrAddress<ManagedBudgetPayload>) {\n return new ManagedBudget(\n { config: this._config, account: this._account },\n options,\n );\n }\n // /**\n // * Bound {@link VestingBudget} constructor that reuses the same configuration as the Boost Core instance.\n // *\n // * @example\n // * ```ts\n // * const budget = core.VestingBudget('0x') // is roughly equivalent to\n // * const budget = new VestingBudget({ config: core._config, account: core._account }, '0x')\n // * ```\n // * @param {DeployablePayloadOrAddress<VestingBudgetPayload>} options\n // * @returns {VestingBudget}\n // */\n // VestingBudget(options: DeployablePayloadOrAddress<VestingBudgetPayload>) {\n // return new VestingBudget(\n // { config: this._config, account: this._account },\n // options,\n // );\n // }\n /**\n * Bound {@link AllowListIncentive} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const incentive = core.AllowListIncentive({ ... }) // is roughly equivalent to\n * const incentive = new AllowListIncentive({ config: core._config, account: core._account }, { ... })\n * ```\n * @param {DeployablePayloadOrAddress<VestingBudgetPayload>} options\n * @returns {VestingBudget}\n */\n AllowListIncentive(options: AllowListIncentivePayload) {\n return new AllowListIncentive(\n { config: this._config, account: this._account },\n options,\n );\n }\n /**\n * Bound {@link CGDAIncentive} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const incentive = core.CGDAIncentive({ ... }) // is roughly equivalent to\n * const incentive = new CGDAIncentive({ config: core._config, account: core._account }, { ... })\n * ```\n * @param {CGDAIncentivePayload} options\n * @returns {CGDAIncentive}\n */\n CGDAIncentive(options: CGDAIncentivePayload) {\n return new CGDAIncentive(\n { config: this._config, account: this._account },\n options,\n );\n }\n /**\n * Bound {@link ERC20Incentive} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const incentive = core.ERC20Incentive({ ... }) // is roughly equivalent to\n * const incentive = new ERC20Incentive({ config: core._config, account: core._account }, { ... })\n * ```\n * @param {ERC20IncentivePayload} options\n * @returns {ERC20Incentive}\n */\n ERC20Incentive(options: ERC20IncentivePayload) {\n return new ERC20Incentive(\n { config: this._config, account: this._account },\n options,\n );\n }\n // /**\n // * Temporarily disabled until low level ABI encoding bugs are resolved\n // * Bound {@link ERC1155Incentive} constructor that reuses the same configuration as the Boost Core instance.\n // *\n // * @experimental\n // * @example\n // * ```ts\n // * const incentive = core.ERC1155Incentive({ ... }) // is roughly equivalent to\n // * const incentive = new ERC1155Incentive({ config: core._config, account: core._account }, { ... })\n // * ```\n // * @param {ERC1155IncentivePayload} options\n // * @returns {ERC1155Incentive}\n // */\n // ERC1155Incentive(options: ERC1155IncentivePayload) {\n // return new ERC1155Incentive(\n // { config: this._config, account: this._account },\n // options,\n // );\n // }\n /**\n * Bound {@link PointsIncentive} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const incentive = core.PointsIncentive({ ... }) // is roughly equivalent to\n * const incentive = new PointsIncentive({ config: core._config, account: core._account }, { ... })\n * ```\n * @param {PointsIncentivePayload} options\n * @returns {PointsIncentive}\n */\n PointsIncentive(options: PointsIncentivePayload) {\n return new PointsIncentive(\n { config: this._config, account: this._account },\n options,\n );\n }\n /**\n * Bound {@link SignerValidator} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const validator = core.SignerValidator({ ... }) // is roughly equivalent to\n * const validator = new SignerValidator({ config: core._config, account: core._account }, { ... })\n * ```\n * @param {DeployablePayloadOrAddress<SignerValidatorPayload>} options\n * @param {?boolean} [isBase]\n * @returns {SignerValidator}\n */\n SignerValidator(\n options: DeployablePayloadOrAddress<SignerValidatorPayload>,\n isBase?: boolean,\n ) {\n return new SignerValidator(\n { config: this._config, account: this._account },\n options,\n isBase,\n );\n }\n /**\n * Bound {@link ERC20VariableIncentive} constructor that reuses the same configuration as the Boost Core instance.\n *\n * @example\n * ```ts\n * const validator = core.ERC20VariableIncentive({ ... }) // is roughly equivalent to\n * const validator = new ERC20VariableIncentive({ config: core._config, account: core._account }, { ... })\n * ```\n * @param {DeployablePayloadOrAddress<ERC20VariableIncentivePayload>} options\n * @param {?boolean} [isBase]\n * @returns {ERC20VariableIncentive}\n */\n ERC20VariableIncentive(\n options: DeployablePayloadOrAddress<ERC20VariableIncentivePayload>,\n isBase?: boolean,\n ) {\n return new ERC20VariableIncentive(\n { config: this._config, account: this._account },\n options,\n isBase,\n );\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?[Address, Address]} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: [Address, Address],\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: boostCoreAbi,\n bytecode: bytecode as Hex,\n args: payload,\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n"],"names":["getAccount","config","uid","connection","addresses","address","chain","status","getChainId","getAction","client","actionFn","name","action_implicit","action_explicit","params","version","getVersion","__classPrivateFieldGet","receiver","state","kind","f","_BaseError_instances","_BaseError_walk","BaseError","shortMessage","options","details","_a","docsPath","fn","err","ConnectorNotConnectedError","ConnectorAccountNotFoundError","connector","ConnectorChainMismatchError","connectionChainId","connectorChainId","getConnectorClient","parameters","accounts","chainId","account","parseAccount","getAddress","provider","x","createClient","opts","custom","simulateContract","abi","rest","action","viem_simulateContract","result","request","writeContract","__mode","activeConnector","simulateRequest","viem_writeContract","createWriteContract","c","configChainId","BOOST_CORE_ADDRESS","isBoostCoreDeployed","isBoostCoreDeployable","BoostCore","Deployable","boostCoreAbi","_boostPayload","_options","coreAddress","payload","budget","validator","allowList","incentives","protocolFee","referralFee","maxParticipants","owner","boostFactory","zeroAddress","DeployableUnknownOwnerProvidedError","budgetPayload","BudgetMustAuthorizeBoostCore","_b","budgetHash","receipt","waitForTransactionReceipt","NoContractAddressUponReceiptError","actionPayload","zeroHash","isBase","validatorPayload","allowListPayload","incentivesPayloads","i","incentive","onChainPayload","boostHash","prepareBoostPayload","boostCreatedLog","parseEventLogs","boostId","BoostCoreNoIdentifierEmitted","boost","Boost","incentiveId","data","simulateBoostCoreClaimIncentive","writeBoostCoreClaimIncentive","id","readBoostCoreGetBoost","_id","boostPayload","actionFromAddress","budgetFromAddress","validatorFromAddress","allowListFromAddress","incentiveAddress","incentiveFromAddress","readBoostCoreGetBoostCount","auth","readIAuthIsAuthorized","readBoostCoreCreateBoostAuth","simulateBoostCoreSetCreateBoostAuth","writeBoostCoreSetCreateBoostAuth","readBoostCoreProtocolFee","readBoostCoreProtocolFeeReceiver","simulateBoostCoreSetProtocolFeeReceiver","writeBoostCoreSetProtocolFeeReceiver","readBoostCoreClaimFee","claimFee","simulateBoostCoreSetClaimFee","writeBoostCoreSetClaimFee","PassthroughAuth","EventAction","SimpleAllowList","SimpleDenyList","ManagedBudget","AllowListIncentive","CGDAIncentive","ERC20Incentive","PointsIncentive","SignerValidator","ERC20VariableIncentive","_payload","bytecode"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10]}
|
package/dist/BoostRegistry.cjs
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./generated-Cd-Fe7W7.cjs"),n=require("viem"),o=require("./Deployable/Deployable.cjs"),l=require("./utils.cjs"),y="0x6080604052348015600e575f80fd5b50611b4e8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610086575f3560e01c8063acc83fc811610059578063acc83fc81461014a578063d12dd4811461017a578063f166879214610196578063fd97064b146101c657610086565b806301ffc9a71461008a5780633aaf1626146100ba578063792aa01c146100ea57806383f388591461011a575b5f80fd5b6100a4600480360381019061009f9190610e0e565b6101f6565b6040516100b19190610e53565b60405180910390f35b6100d460048036038101906100cf9190610e9f565b61025f565b6040516100e191906110a7565b60405180910390f35b61010460048036038101906100ff91906110f1565b610471565b60405161011191906111d3565b60405180910390f35b610134600480360381019061012f9190610e9f565b610504565b6040516101419190611202565b60405180910390f35b610164600480360381019061015f919061129f565b6105ac565b6040516101719190611332565b60405180910390f35b610194600480360381019061018f919061134b565b6105ee565b005b6101b060048036038101906101ab91906113bc565b610818565b6040516101bd9190611332565b60405180910390f35b6101e060048036038101906101db919061146e565b610854565b6040516101ed9190611202565b60405180910390f35b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610267610d4e565b60015f8381526020019081526020015f206040518060800160405290815f82015f9054906101000a900460ff1660048111156102a6576102a5610eca565b5b60048111156102b8576102b7610eca565b5b81526020015f820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820180546103769061153e565b80601f01602080910402602001604051908101604052809291908181526020018280546103a29061153e565b80156103ed5780601f106103c4576101008083540402835291602001916103ed565b820191905f5260205f20905b8154815290600101906020018083116103d057829003601f168201915b50505050508152505090505f73ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff160361046c57816040517f8cc00d160000000000000000000000000000000000000000000000000000000081526004016104639190611332565b60405180910390fd5b919050565b606060025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054806020026020016040519081016040528092919081815260200182805480156104f857602002820191905f5260205f20905b8154815260200190600101908083116104e4575b50505050509050919050565b5f805f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036105a757816040517f8cc00d1600000000000000000000000000000000000000000000000000000000815260040161059e9190611332565b60405180910390fd5b919050565b5f6105e386868686866040516020016105c894939291906115ef565b60405160208183030381529060405280519060200120610c1c565b905095945050505050565b808073ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f6ab67a0d000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016106489190611638565b602060405180830381865afa158015610663573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610687919061167b565b6106c857806040517f903b13fd0000000000000000000000000000000000000000000000000000000081526004016106bf91906116b5565b60405180910390fd5b5f6106d4868686610818565b90505f73ffffffffffffffffffffffffffffffffffffffff165f808381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107775785816040517f96b5684c00000000000000000000000000000000000000000000000000000000815260040161076e9291906116dd565b60405180910390fd5b825f808381526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808660048111156107d9576107d8610eca565b5b7f660d31df25c96b8a337fcf12a56b7363e5a997639db853d5dbaec7c01f31bd808560405161080891906116b5565b60405180910390a3505050505050565b5f61084b848484604051602001610830929190611704565b60405160208183030381529060405280519060200120610c1c565b90509392505050565b5f3068929eee149b4bd2126854036108735763ab143c065f526004601cfd5b3068929eee149b4bd212685561091b878787873360405160200161089b959493929190611750565b6040516020818303038152906040528051906020012084848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050508873ffffffffffffffffffffffffffffffffffffffff16610c4e9092919063ffffffff16565b90505f61092b88883389896105ac565b90505f73ffffffffffffffffffffffffffffffffffffffff1660015f8381526020019081526020015f205f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109d25787816040517f96b5684c0000000000000000000000000000000000000000000000000000000081526004016109c99291906116dd565b60405180910390fd5b60025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f20015f90919091909150556040518060800160405280896004811115610a5157610a50610eca565b5b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff16815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505081525060015f8381526020019081526020015f205f820151815f015f6101000a81548160ff02191690836004811115610b0e57610b0d610eca565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816002019081610bb49190611965565b5090505080886004811115610bcc57610bcb610eca565b5b7f2348fcdb9847b17a183e53aa32c0c5c76afdef8fcb14bb51f216c6611701ab1a8985604051610bfd929190611a34565b60405180910390a3503868929eee149b4bd21268559695505050505050565b5f8282604051602001610c30929190611a7b565b60405160208183030381529060405280519060200120905092915050565b5f610c78838573ffffffffffffffffffffffffffffffffffffffff16610ce790919063ffffffff16565b90508073ffffffffffffffffffffffffffffffffffffffff1663439fab91836040518263ffffffff1660e01b8152600401610cb39190611af8565b5f604051808303815f87803b158015610cca575f80fd5b505af1158015610cdc573d5f803e3d5ffd5b505050509392505050565b5f610cf35f8484610cfb565b905092915050565b5f6c5af43d3d93803e602a57fd5bf36021528260145273602c3d8160093d39f33d3d3d3d363d3d37363d735f52816035600c86f5905080610d435763301164255f526004601cfd5b5f6021529392505050565b60405180608001604052805f6004811115610d6c57610d6b610eca565b5b81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610ded81610db9565b8114610df7575f80fd5b50565b5f81359050610e0881610de4565b92915050565b5f60208284031215610e2357610e22610db1565b5b5f610e3084828501610dfa565b91505092915050565b5f8115159050919050565b610e4d81610e39565b82525050565b5f602082019050610e665f830184610e44565b92915050565b5f819050919050565b610e7e81610e6c565b8114610e88575f80fd5b50565b5f81359050610e9981610e75565b92915050565b5f60208284031215610eb457610eb3610db1565b5b5f610ec184828501610e8b565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60058110610f0857610f07610eca565b5b50565b5f819050610f1882610ef7565b919050565b5f610f2782610f0b565b9050919050565b610f3781610f1d565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f610f7f610f7a610f7584610f3d565b610f5c565b610f3d565b9050919050565b5f610f9082610f65565b9050919050565b5f610fa182610f86565b9050919050565b610fb181610f97565b82525050565b5f610fc182610f3d565b9050919050565b610fd181610fb7565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61101982610fd7565b6110238185610fe1565b9350611033818560208601610ff1565b61103c81610fff565b840191505092915050565b5f608083015f83015161105c5f860182610f2e565b50602083015161106f6020860182610fa8565b5060408301516110826040860182610fc8565b506060830151848203606086015261109a828261100f565b9150508091505092915050565b5f6020820190508181035f8301526110bf8184611047565b905092915050565b6110d081610fb7565b81146110da575f80fd5b50565b5f813590506110eb816110c7565b92915050565b5f6020828403121561110657611105610db1565b5b5f611113848285016110dd565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61114e81610e6c565b82525050565b5f61115f8383611145565b60208301905092915050565b5f602082019050919050565b5f6111818261111c565b61118b8185611126565b935061119683611136565b805f5b838110156111c65781516111ad8882611154565b97506111b88361116b565b925050600181019050611199565b5085935050505092915050565b5f6020820190508181035f8301526111eb8184611177565b905092915050565b6111fc81610f97565b82525050565b5f6020820190506112155f8301846111f3565b92915050565b60058110611227575f80fd5b50565b5f813590506112388161121b565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261125f5761125e61123e565b5b8235905067ffffffffffffffff81111561127c5761127b611242565b5b60208301915083600182028301111561129857611297611246565b5b9250929050565b5f805f805f608086880312156112b8576112b7610db1565b5b5f6112c58882890161122a565b95505060206112d6888289016110dd565b94505060406112e7888289016110dd565b935050606086013567ffffffffffffffff81111561130857611307610db5565b5b6113148882890161124a565b92509250509295509295909350565b61132c81610e6c565b82525050565b5f6020820190506113455f830184611323565b92915050565b5f805f806060858703121561136357611362610db1565b5b5f6113708782880161122a565b945050602085013567ffffffffffffffff81111561139157611390610db5565b5b61139d8782880161124a565b935093505060406113b0878288016110dd565b91505092959194509250565b5f805f604084860312156113d3576113d2610db1565b5b5f6113e08682870161122a565b935050602084013567ffffffffffffffff81111561140157611400610db5565b5b61140d8682870161124a565b92509250509250925092565b5f8083601f84011261142e5761142d61123e565b5b8235905067ffffffffffffffff81111561144b5761144a611242565b5b60208301915083600182028301111561146757611466611246565b5b9250929050565b5f805f805f806080878903121561148857611487610db1565b5b5f61149589828a0161122a565b96505060206114a689828a016110dd565b955050604087013567ffffffffffffffff8111156114c7576114c6610db5565b5b6114d389828a0161124a565b9450945050606087013567ffffffffffffffff8111156114f6576114f5610db5565b5b61150289828a01611419565b92509250509295509295509295565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061155557607f821691505b60208210810361156857611567611511565b5b50919050565b5f8160601b9050919050565b5f6115848261156e565b9050919050565b5f6115958261157a565b9050919050565b6115ad6115a882610fb7565b61158b565b82525050565b5f81905092915050565b828183375f83830152505050565b5f6115d683856115b3565b93506115e38385846115bd565b82840190509392505050565b5f6115fa828761159c565b60148201915061160a828661159c565b60148201915061161b8284866115cb565b915081905095945050505050565b61163281610db9565b82525050565b5f60208201905061164b5f830184611629565b92915050565b61165a81610e39565b8114611664575f80fd5b50565b5f8151905061167581611651565b92915050565b5f602082840312156116905761168f610db1565b5b5f61169d84828501611667565b91505092915050565b6116af81610fb7565b82525050565b5f6020820190506116c85f8301846116a6565b92915050565b6116d781610f1d565b82525050565b5f6040820190506116f05f8301856116ce565b6116fd6020830184611323565b9392505050565b5f6117108284866115cb565b91508190509392505050565b5f8160f81b9050919050565b5f6117328261171c565b9050919050565b61174a61174582610f1d565b611728565b82525050565b5f61175b8288611739565b60018201915061176b828761159c565b60148201915061177c8285876115cb565b9150611788828461159c565b6014820191508190509695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026118247fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826117e9565b61182e86836117e9565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61186961186461185f84611846565b610f5c565b611846565b9050919050565b5f819050919050565b6118828361184f565b61189661188e82611870565b8484546117f5565b825550505050565b5f90565b6118aa61189e565b6118b5818484611879565b505050565b5b818110156118d8576118cd5f826118a2565b6001810190506118bb565b5050565b601f82111561191d576118ee816117c8565b6118f7846117da565b81016020851015611906578190505b61191a611912856117da565b8301826118ba565b50505b505050565b5f82821c905092915050565b5f61193d5f1984600802611922565b1980831691505092915050565b5f611955838361192e565b9150826002028217905092915050565b61196e82610fd7565b67ffffffffffffffff8111156119875761198661179b565b5b611991825461153e565b61199c8282856118dc565b5f60209050601f8311600181146119cd575f84156119bb578287015190505b6119c5858261194a565b865550611a2c565b601f1984166119db866117c8565b5f5b82811015611a02578489015182556001820191506020850194506020810190506119dd565b86831015611a1f5784890151611a1b601f89168261192e565b8355505b6001600288020188555050505b505050505050565b5f604082019050611a475f8301856116a6565b611a5460208301846111f3565b9392505050565b5f819050919050565b611a75611a7082610e6c565b611a5b565b82525050565b5f611a868285611739565b600182019150611a968284611a64565b6020820191508190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f611aca82611aa6565b611ad48185611ab0565b9350611ae4818560208601610ff1565b611aed81610fff565b840191505092915050565b5f6020820190508181035f830152611b108184611ac0565b90509291505056fea264697066735822122031d8b5092c0648488ea4f8c739d0ff5d8c5debf32ebfcd2f52c823a98c8a410064736f6c634300081a0033",r="0x5cb8D869f2EE4e3D987Ac7bEB37D6812f5346DFC";function h(c){return c.address&&n.isAddress(c.address)}function u(c){return c.address===null}class g extends o.Deployable{constructor({config:b,account:f,...e}){h(e)&&e.address?super({account:f,config:b},e.address):u(e)?super({account:f,config:b},[]):super({account:f,config:b},r)}async register(b,f,e,d){return this.awaitResult(this.registerRaw(b,f,e,d))}async registerRaw(b,f,e,d){const{request:s,result:t}=await a.hy(this._config,{address:this.assertValidAddress(),args:[b,f,e],...this.optionallyAttachAccount(),...d});return{hash:await a.Iy(this._config,s),result:t}}async clone(b,f,e){const d=await this.deployClone(b,f,e);return f.at(d)}async deployClone(b,f,e){return this.awaitResult(this.deployCloneRaw(b,f,e))}async deployCloneRaw(b,f,e){const d=f.buildParameters(void 0,{config:this._config,account:this._account}),{request:s,result:t}=await a.Ny(this._config,{address:this.assertValidAddress(),args:[f.registryType,f.base,b,d.args.at(0)],...this.optionallyAttachAccount(),...e});return{hash:await a.Ty(this._config,s),result:t}}async getBaseImplementation(b,f){return a.dy(this._config,{address:this.assertValidAddress(),args:[b],...this.optionallyAttachAccount(),...f})}async getClone(b,f){return a.dy(this._config,{address:this.assertValidAddress(),args:[b],...this.optionallyAttachAccount(),...f})}async getClones(b,f){return a.by(this._config,{address:this.assertValidAddress(),args:[b],...this.optionallyAttachAccount(),...f})}async getCloneIdentifier(b,f,e,d,s){return a.my(this._config,{address:this.assertValidAddress(),args:[b,f,e,d],...this.optionallyAttachAccount(),...s})}async getIdentifier(b,f,e){return a.my(this._config,{address:this.assertValidAddress(),args:[b,f],...this.optionallyAttachAccount(),...e})}buildParameters(b,f){const[,e]=this.validateDeploymentConfig([],f);return{abi:a.ee,bytecode:y,args:[],...this.optionallyAttachAccount(e.account)}}}exports.boostRegistryAbi=a.ee;exports.RegistryType=l.RegistryType;exports.BOOST_REGISTRY_ADDRESS=r;exports.BoostRegistry=g;
|
|
2
|
+
//# sourceMappingURL=BoostRegistry.cjs.map
|