@boostxyz/sdk 0.0.0-alpha.13 → 0.0.0-alpha.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Actions/Action.cjs +1 -1
- package/dist/Actions/Action.js +1 -1
- package/dist/Actions/ContractAction.d.ts.map +1 -1
- package/dist/Actions/ERC721MintAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.cjs.map +1 -1
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +68 -63
- package/dist/Actions/EventAction.js.map +1 -1
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.js +2 -2
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
- package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -1
- package/dist/AllowLists/SimpleAllowList.js +10 -11
- package/dist/AllowLists/SimpleAllowList.js.map +1 -1
- package/dist/AllowLists/SimpleDenyList.cjs +1 -1
- package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -1
- package/dist/AllowLists/SimpleDenyList.js +2 -2
- package/dist/Auth/PassthroughAuth.cjs +1 -1
- package/dist/Auth/PassthroughAuth.js +1 -1
- package/dist/Boost.js +10 -22
- package/dist/Boost.js.map +1 -1
- package/dist/BoostCore.cjs +2 -2
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.js +90 -76
- package/dist/BoostCore.js.map +1 -1
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.cjs.map +1 -1
- package/dist/BoostRegistry.js +12 -12
- package/dist/Budgets/Budget.cjs +1 -1
- package/dist/Budgets/Budget.js +1 -1
- package/dist/Budgets/ManagedBudget.cjs +1 -1
- package/dist/Budgets/ManagedBudget.cjs.map +1 -1
- package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
- package/dist/Budgets/ManagedBudget.js +34 -35
- package/dist/Budgets/ManagedBudget.js.map +1 -1
- package/dist/Budgets/SimpleBudget.d.ts.map +1 -1
- package/dist/Budgets/VestingBudget.d.ts.map +1 -1
- package/dist/Deployable/Contract.cjs.map +1 -1
- package/dist/Deployable/Contract.js +1 -2
- package/dist/Deployable/Contract.js.map +1 -1
- package/dist/Deployable/Deployable.cjs.map +1 -1
- package/dist/Deployable/Deployable.d.ts.map +1 -1
- package/dist/Deployable/Deployable.js +2 -4
- package/dist/Deployable/Deployable.js.map +1 -1
- package/dist/Deployable/DeployableTarget.cjs +1 -1
- package/dist/Deployable/DeployableTarget.cjs.map +1 -1
- package/dist/Deployable/DeployableTarget.d.ts +1 -1
- package/dist/Deployable/DeployableTarget.d.ts.map +1 -1
- package/dist/Deployable/DeployableTarget.js +3 -5
- package/dist/Deployable/DeployableTarget.js.map +1 -1
- package/dist/Incentive-BroOQqVi.cjs +2 -0
- package/dist/Incentive-BroOQqVi.cjs.map +1 -0
- package/dist/Incentive-CSnbCt3P.js +299 -0
- package/dist/Incentive-CSnbCt3P.js.map +1 -0
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
- package/dist/Incentives/AllowListIncentive.d.ts.map +1 -1
- package/dist/Incentives/AllowListIncentive.js +10 -11
- package/dist/Incentives/AllowListIncentive.js.map +1 -1
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
- package/dist/Incentives/CGDAIncentive.d.ts.map +1 -1
- package/dist/Incentives/CGDAIncentive.js +10 -11
- package/dist/Incentives/CGDAIncentive.js.map +1 -1
- package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
- package/dist/Incentives/ERC20Incentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20Incentive.js +18 -19
- package/dist/Incentives/ERC20Incentive.js.map +1 -1
- package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.cjs.map +1 -1
- package/dist/Incentives/Incentive.js +16 -300
- package/dist/Incentives/Incentive.js.map +1 -1
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.cjs.map +1 -1
- package/dist/Incentives/PointsIncentive.d.ts.map +1 -1
- package/dist/Incentives/PointsIncentive.js +8 -9
- package/dist/Incentives/PointsIncentive.js.map +1 -1
- package/dist/{SimpleDenyList-DeJRKD2D.cjs → SimpleDenyList-CzNNbmmV.cjs} +2 -2
- package/dist/SimpleDenyList-CzNNbmmV.cjs.map +1 -0
- package/dist/{SimpleDenyList-C21O9Yfi.js → SimpleDenyList-sfskWLfa.js} +9 -10
- package/dist/SimpleDenyList-sfskWLfa.js.map +1 -0
- package/dist/Validators/SignerValidator.cjs +1 -1
- package/dist/Validators/SignerValidator.cjs.map +1 -1
- package/dist/Validators/SignerValidator.d.ts.map +1 -1
- package/dist/Validators/SignerValidator.js +15 -16
- package/dist/Validators/SignerValidator.js.map +1 -1
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.js +1 -1
- package/dist/generated-BulULVyy.cjs +3 -0
- package/dist/generated-BulULVyy.cjs.map +1 -0
- package/dist/{generated-LpgSHrH0.js → generated-CdXG-MpB.js} +367 -351
- package/dist/generated-CdXG-MpB.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +96 -84
- package/dist/index.js.map +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +6 -6
- package/src/Actions/Action.test.ts +4 -4
- package/src/Actions/ContractAction.test.ts +4 -4
- package/src/Actions/ContractAction.ts +1 -3
- package/src/Actions/ERC721MintAction.test.ts +4 -4
- package/src/Actions/ERC721MintAction.ts +1 -3
- package/src/Actions/EventAction.test.ts +80 -83
- package/src/Actions/EventAction.ts +3 -2
- package/src/AllowLists/AllowList.test.ts +2 -2
- package/src/AllowLists/OpenAllowList.test.ts +3 -3
- package/src/AllowLists/SimpleAllowList.test.ts +2 -2
- package/src/AllowLists/SimpleAllowList.ts +1 -1
- package/src/AllowLists/SimpleDenyList.test.ts +2 -2
- package/src/AllowLists/SimpleDenyList.ts +0 -1
- package/src/Auth/PassthroughAuth.test.ts +1 -1
- package/src/BoostCore.test.ts +10 -12
- package/src/Budgets/Budget.test.ts +2 -2
- package/src/Budgets/ManagedBudget.test.ts +6 -6
- package/src/Budgets/ManagedBudget.ts +0 -1
- package/src/Budgets/SimpleBudget.test.ts +5 -5
- package/src/Budgets/SimpleBudget.ts +1 -3
- package/src/Budgets/VestingBudget.test.ts +4 -4
- package/src/Budgets/VestingBudget.ts +1 -3
- package/src/Deployable/DeployableTarget.ts +2 -2
- package/src/Incentives/AllowListIncentive.test.ts +3 -3
- package/src/Incentives/AllowListIncentive.ts +0 -1
- package/src/Incentives/CGDAIncentive.test.ts +3 -3
- package/src/Incentives/CGDAIncentive.ts +0 -1
- package/src/Incentives/ERC1155Incentive.test.ts +3 -3
- package/src/Incentives/ERC1155Incentive.ts +1 -3
- package/src/Incentives/ERC20Incentive.test.ts +3 -3
- package/src/Incentives/ERC20Incentive.ts +0 -1
- package/src/Incentives/ERC20VariableIncentive.test.ts +3 -3
- package/src/Incentives/ERC20VariableIncentive.ts +0 -1
- package/src/Incentives/Incentive.test.ts +1 -1
- package/src/Incentives/PointsIncentive.test.ts +4 -4
- package/src/Incentives/PointsIncentive.ts +0 -1
- package/src/Validators/SignerValidator.test.ts +4 -4
- package/src/Validators/SignerValidator.ts +0 -1
- package/src/Validators/Validator.test.ts +2 -2
- package/src/index.ts +3 -0
- package/src/utils.test.ts +2 -2
- package/dist/SimpleDenyList-C21O9Yfi.js.map +0 -1
- package/dist/SimpleDenyList-DeJRKD2D.cjs.map +0 -1
- package/dist/generated-LpgSHrH0.js.map +0 -1
- package/dist/generated-tq_HLZJ0.cjs +0 -3
- package/dist/generated-tq_HLZJ0.cjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { M as r,
|
|
1
|
+
import { M as r, aO as u, aP as h, aQ as y, aR as m, aS as p, aT as g, aU as w, aV as A } from "../generated-CdXG-MpB.js";
|
|
2
2
|
import { encodeAbiParameters as s } from "viem";
|
|
3
3
|
import { signTypedData as D } from "viem/accounts";
|
|
4
4
|
import { b as v } from "../deployments-BvFcK_eR.js";
|
|
5
5
|
import { DeployableTarget as V } from "../Deployable/DeployableTarget.js";
|
|
6
|
-
import { RegistryType as
|
|
7
|
-
const R = "0x610120604052348015610010575f80fd5b503073ffffffffffffffffffffffffffffffffffffffff16608081815250504660a0818152505060608061004861013960201b60201c565b6100635761005a61014160201b60201c565b80925081935050505b5f61007261013960201b60201c565b610083578280519060200120610087565b5f801b5b90505f61009861013960201b60201c565b6100a95782805190602001206100ad565b5f801b5b90508160c081815250508060e081815250505f6100ce61013960201b60201c565b610118576040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815283602082015282604082015246606082015230608082015260a081209150505b80610100818152505050505050506101346101b860201b60201c565b61024d565b5f6001905090565b6060806040518060400160405280600f81526020017f5369676e657256616c696461746f72000000000000000000000000000000000081525091506040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525090509091565b5f6101c761022460201b60201c565b9050805460018116156101e15763f92ee8a95f526004601cfd5b8160c01c808260011c1461021f578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b60805160a05160c05160e05161010051611ecc61028a5f395f610f6101525f6110a001525f61107d01525f61110f01525f6111330152611ecc5ff3fe6080604052600436106100f2575f3560e01c8063736c0d5b11610089578063d3de6e7511610058578063d3de6e75146102c4578063f04e283e14610300578063f2fde38b1461031c578063fee81cf414610338576100f2565b8063736c0d5b1461020657806384b0196e146102425780638da5cb5b14610272578063a1d2756f1461029c576100f2565b8063439fab91116100c5578063439fab911461018e57806354d1f13d146101b6578063703b6900146101c0578063715018a6146101fc576100f2565b806301ffc9a7146100f6578063256929621461013257806328d6183b1461013c5780634359d28a14610166575b5f80fd5b348015610101575f80fd5b5061011c60048036038101906101179190611232565b610374565b6040516101299190611277565b60405180910390f35b61013a6103ed565b005b348015610147575f80fd5b5061015061043e565b60405161015d919061129f565b60405180910390f35b348015610171575f80fd5b5061018c6004803603810190610187919061136e565b610465565b005b348015610199575f80fd5b506101b460048036038101906101af9190611441565b61056e565b005b6101be6106e5565b005b3480156101cb575f80fd5b506101e660048036038101906101e19190611519565b61071e565b6040516101f39190611277565b60405180910390f35b610204610911565b005b348015610211575f80fd5b5061022c6004803603810190610227919061159d565b610924565b6040516102399190611277565b60405180910390f35b34801561024d575f80fd5b50610256610940565b604051610269979695949392919061175f565b60405180910390f35b34801561027d575f80fd5b5061028661098b565b60405161029391906117e1565b60405180910390f35b3480156102a7575f80fd5b506102c260048036038101906102bd919061159d565b6109b3565b005b3480156102cf575f80fd5b506102ea60048036038101906102e59190611958565b6109fe565b6040516102f791906119d8565b60405180910390f35b61031a6004803603810190610315919061159d565b610a67565b005b6103366004803603810190610331919061159d565b610aa5565b005b348015610343575f80fd5b5061035e6004803603810190610359919061159d565b610ace565b60405161036b91906119f1565b60405180910390f35b5f7fb8ce7b22000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103e657506103e582610ae7565b5b9050919050565b5f6103f6610b60565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7fb8ce7b2200000000000000000000000000000000000000000000000000000000905090565b61046d610b6a565b8181905084849050146104ac576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610567578282828181106104cc576104cb611a0a565b5b90506020020160208101906104e19190611a61565b5f808787858181106104f6576104f5611a0a565b5b905060200201602081019061050b919061159d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506104ae565b5050505050565b5f610577610ba1565b905080546003825580156105a95760018160011c14303b106105a05763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8084848101906105bb9190611b87565b915091506105e2825f815181106105d5576105d4611a0a565b5b6020026020010151610bca565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f5b82518110156106a85760015f8085848151811061064457610643611a0a565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610624565b50505080156106e0576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107a5576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f83838101906107b59190611c6e565b90505f815f01518060200190518101906107cf9190611dc8565b90505f6107e68983604001518986602001516109fe565b905087826040015160ff1611610839578160400151886040517f17c66bc7000000000000000000000000000000000000000000000000000000008152600401610830929190611e1e565b60405180910390fd5b5f80835f015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166108bb576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108d181896001610ca09092919063ffffffff16565b610903818360200151845f015173ffffffffffffffffffffffffffffffffffffffff16610d029092919063ffffffff16565b935050505095945050505050565b610919610b6a565b6109225f610e05565b565b5f602052805f5260405f205f915054906101000a900460ff1681565b5f6060805f805f60607f0f000000000000000000000000000000000000000000000000000000000000009650610974610ecb565b809650819750505046935030925090919293949596565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b6109bb610b6a565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f610a5d7ffea51d5bd45bcd3c2ecc3679b43a3b80b0bd0923f8c16f822455b8cdecd9852f8686868680519060200120604051602001610a42959493929190611e45565b60405160208183030381529060405280519060200120610f42565b9050949350505050565b610a6f610b6a565b63389a75e1600c52805f526020600c208054421115610a9557636f5e88185f526004601cfd5b5f815550610aa281610e05565b50565b610aad610b6a565b8060601b610ac257637448fbae5f526004601cfd5b610acb81610e05565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f5912b89c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b595750610b5882610fbe565b5b9050919050565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610b9f576382b429005f526004601cfd5b565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610bd2611037565b15610c4a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610c0c57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610c9d565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f633f57fc5c60e01b90505f634de1225a60e01b90506007831115610ccb57815f528260045260245ffd5b84602052835f5260405f206001841b81541880851c6001188015610cf557835f528560045260245ffd5b8183555050505050505050565b5f8360601b60601c93508315610dfe57604051835f5260208301516040526040835103610d6f576040830151601b8160ff1c016020528060011b60011c6060526020600160805f60015afa805187183d1517610d6c57600193505f60605282604052505050610dfe565b50505b6041835103610db55760608301515f1a60205260408301516060526020600160805f60015afa805186183d1517610db357600192505f606052816040525050610dfe565b505b5f60605280604052631626ba7e60e01b808252846004830152602482016040815284516020018060448501828860045afa5060208260443d01868b5afa83835114169450505050505b9392505050565b610e0d611037565b15610e72577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610ec8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b6060806040518060400160405280600f81526020017f5369676e657256616c696461746f72000000000000000000000000000000000081525091506040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525090509091565b5f610f4b61103b565b15610f5f57610f58611043565b9050610f9b565b7f00000000000000000000000000000000000000000000000000000000000000009050610f8a61110b565b15610f9a57610f97611043565b90505b5b6719010000000000005f5280601a5281603a52604260182090505f603a52919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611030575061102f82611163565b5b9050919050565b5f90565b5f6001905090565b5f8061104d61103b565b1561107b575f8061105c610ecb565b91509150818051906020012093508080519060200120925050506110c2565b7f000000000000000000000000000000000000000000000000000000000000000091507f000000000000000000000000000000000000000000000000000000000000000090505b6040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815282602082015281604082015246606082015230608082015260a081209250505090565b5f807f000000000000000000000000000000000000000000000000000000000000000090505f7f0000000000000000000000000000000000000000000000000000000000000000905080301482461416159250505090565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611211816111dd565b811461121b575f80fd5b50565b5f8135905061122c81611208565b92915050565b5f60208284031215611247576112466111d5565b5b5f6112548482850161121e565b91505092915050565b5f8115159050919050565b6112718161125d565b82525050565b5f60208201905061128a5f830184611268565b92915050565b611299816111dd565b82525050565b5f6020820190506112b25f830184611290565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126112d9576112d86112b8565b5b8235905067ffffffffffffffff8111156112f6576112f56112bc565b5b602083019150836020820283011115611312576113116112c0565b5b9250929050565b5f8083601f84011261132e5761132d6112b8565b5b8235905067ffffffffffffffff81111561134b5761134a6112bc565b5b602083019150836020820283011115611367576113666112c0565b5b9250929050565b5f805f8060408587031215611386576113856111d5565b5b5f85013567ffffffffffffffff8111156113a3576113a26111d9565b5b6113af878288016112c4565b9450945050602085013567ffffffffffffffff8111156113d2576113d16111d9565b5b6113de87828801611319565b925092505092959194509250565b5f8083601f840112611401576114006112b8565b5b8235905067ffffffffffffffff81111561141e5761141d6112bc565b5b60208301915083600182028301111561143a576114396112c0565b5b9250929050565b5f8060208385031215611457576114566111d5565b5b5f83013567ffffffffffffffff811115611474576114736111d9565b5b611480858286016113ec565b92509250509250929050565b5f819050919050565b61149e8161148c565b81146114a8575f80fd5b50565b5f813590506114b981611495565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114e8826114bf565b9050919050565b6114f8816114de565b8114611502575f80fd5b50565b5f81359050611513816114ef565b92915050565b5f805f805f60808688031215611532576115316111d5565b5b5f61153f888289016114ab565b9550506020611550888289016114ab565b945050604061156188828901611505565b935050606086013567ffffffffffffffff811115611582576115816111d9565b5b61158e888289016113ec565b92509250509295509295909350565b5f602082840312156115b2576115b16111d5565b5b5f6115bf84828501611505565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6115fc816115c8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61164482611602565b61164e818561160c565b935061165e81856020860161161c565b6116678161162a565b840191505092915050565b61167b8161148c565b82525050565b61168a816114de565b82525050565b5f819050919050565b6116a281611690565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6116da8161148c565b82525050565b5f6116eb83836116d1565b60208301905092915050565b5f602082019050919050565b5f61170d826116a8565b61171781856116b2565b9350611722836116c2565b805f5b8381101561175257815161173988826116e0565b9750611744836116f7565b925050600181019050611725565b5085935050505092915050565b5f60e0820190506117725f83018a6115f3565b8181036020830152611784818961163a565b90508181036040830152611798818861163a565b90506117a76060830187611672565b6117b46080830186611681565b6117c160a0830185611699565b81810360c08301526117d38184611703565b905098975050505050505050565b5f6020820190506117f45f830184611681565b92915050565b5f60ff82169050919050565b61180f816117fa565b8114611819575f80fd5b50565b5f8135905061182a81611806565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61186a8261162a565b810181811067ffffffffffffffff8211171561188957611888611834565b5b80604052505050565b5f61189b6111cc565b90506118a78282611861565b919050565b5f67ffffffffffffffff8211156118c6576118c5611834565b5b6118cf8261162a565b9050602081019050919050565b828183375f83830152505050565b5f6118fc6118f7846118ac565b611892565b90508281526020810184848401111561191857611917611830565b5b6119238482856118dc565b509392505050565b5f82601f83011261193f5761193e6112b8565b5b813561194f8482602086016118ea565b91505092915050565b5f805f80608085870312156119705761196f6111d5565b5b5f61197d878288016114ab565b945050602061198e8782880161181c565b935050604061199f87828801611505565b925050606085013567ffffffffffffffff8111156119c0576119bf6111d9565b5b6119cc8782880161192b565b91505092959194509250565b5f6020820190506119eb5f830184611699565b92915050565b5f602082019050611a045f830184611672565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b611a408161125d565b8114611a4a575f80fd5b50565b5f81359050611a5b81611a37565b92915050565b5f60208284031215611a7657611a756111d5565b5b5f611a8384828501611a4d565b91505092915050565b5f67ffffffffffffffff821115611aa657611aa5611834565b5b602082029050602081019050919050565b5f611ac9611ac484611a8c565b611892565b90508083825260208201905060208402830185811115611aec57611aeb6112c0565b5b835b81811015611b155780611b018882611505565b845260208401935050602081019050611aee565b5050509392505050565b5f82601f830112611b3357611b326112b8565b5b8135611b43848260208601611ab7565b91505092915050565b5f611b56826114bf565b9050919050565b611b6681611b4c565b8114611b70575f80fd5b50565b5f81359050611b8181611b5d565b92915050565b5f8060408385031215611b9d57611b9c6111d5565b5b5f83013567ffffffffffffffff811115611bba57611bb96111d9565b5b611bc685828601611b1f565b9250506020611bd785828601611b73565b9150509250929050565b5f80fd5b5f80fd5b5f60408284031215611bfe57611bfd611be1565b5b611c086040611892565b90505f82013567ffffffffffffffff811115611c2757611c26611be5565b5b611c338482850161192b565b5f83015250602082013567ffffffffffffffff811115611c5657611c55611be5565b5b611c628482850161192b565b60208301525092915050565b5f60208284031215611c8357611c826111d5565b5b5f82013567ffffffffffffffff811115611ca057611c9f6111d9565b5b611cac84828501611be9565b91505092915050565b5f81519050611cc3816114ef565b92915050565b5f611cdb611cd6846118ac565b611892565b905082815260208101848484011115611cf757611cf6611830565b5b611d0284828561161c565b509392505050565b5f82601f830112611d1e57611d1d6112b8565b5b8151611d2e848260208601611cc9565b91505092915050565b5f81519050611d4581611806565b92915050565b5f60608284031215611d6057611d5f611be1565b5b611d6a6060611892565b90505f611d7984828501611cb5565b5f83015250602082015167ffffffffffffffff811115611d9c57611d9b611be5565b5b611da884828501611d0a565b6020830152506040611dbc84828501611d37565b60408301525092915050565b5f60208284031215611ddd57611ddc6111d5565b5b5f82015167ffffffffffffffff811115611dfa57611df96111d9565b5b611e0684828501611d4b565b91505092915050565b611e18816117fa565b82525050565b5f604082019050611e315f830185611e0f565b611e3e6020830184611672565b9392505050565b5f60a082019050611e585f830188611699565b611e656020830187611672565b611e726040830186611e0f565b611e7f6060830185611681565b611e8c6080830184611699565b969550505050505056fea26469706673582212205fce26f05c322d5e151f6b16e70e28b485c147f70dd352b6a7a116eaca9f369f64736f6c634300081a0033", t = class t extends V {
|
|
6
|
+
import { RegistryType as R } from "../utils.js";
|
|
7
|
+
const C = "0x610120604052348015610010575f80fd5b503073ffffffffffffffffffffffffffffffffffffffff16608081815250504660a0818152505060608061004861013960201b60201c565b6100635761005a61014160201b60201c565b80925081935050505b5f61007261013960201b60201c565b610083578280519060200120610087565b5f801b5b90505f61009861013960201b60201c565b6100a95782805190602001206100ad565b5f801b5b90508160c081815250508060e081815250505f6100ce61013960201b60201c565b610118576040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815283602082015282604082015246606082015230608082015260a081209150505b80610100818152505050505050506101346101b860201b60201c565b61024d565b5f6001905090565b6060806040518060400160405280600f81526020017f5369676e657256616c696461746f72000000000000000000000000000000000081525091506040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525090509091565b5f6101c761022460201b60201c565b9050805460018116156101e15763f92ee8a95f526004601cfd5b8160c01c808260011c1461021f578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b60805160a05160c05160e05161010051611ecf61028a5f395f610f6401525f6110a301525f61108001525f61111201525f6111360152611ecf5ff3fe6080604052600436106100f2575f3560e01c8063736c0d5b11610089578063d3de6e7511610058578063d3de6e75146102c4578063f04e283e14610300578063f2fde38b1461031c578063fee81cf414610338576100f2565b8063736c0d5b1461020657806384b0196e146102425780638da5cb5b14610272578063a1d2756f1461029c576100f2565b8063439fab91116100c5578063439fab911461018e57806354d1f13d146101b6578063703b6900146101c0578063715018a6146101fc576100f2565b806301ffc9a7146100f6578063256929621461013257806328d6183b1461013c5780634359d28a14610166575b5f80fd5b348015610101575f80fd5b5061011c60048036038101906101179190611235565b610374565b604051610129919061127a565b60405180910390f35b61013a6103ed565b005b348015610147575f80fd5b5061015061043e565b60405161015d91906112a2565b60405180910390f35b348015610171575f80fd5b5061018c60048036038101906101879190611371565b610465565b005b348015610199575f80fd5b506101b460048036038101906101af9190611444565b61056e565b005b6101be6106e5565b005b3480156101cb575f80fd5b506101e660048036038101906101e1919061151c565b61071e565b6040516101f3919061127a565b60405180910390f35b610204610911565b005b348015610211575f80fd5b5061022c600480360381019061022791906115a0565b610924565b604051610239919061127a565b60405180910390f35b34801561024d575f80fd5b50610256610940565b6040516102699796959493929190611762565b60405180910390f35b34801561027d575f80fd5b5061028661098b565b60405161029391906117e4565b60405180910390f35b3480156102a7575f80fd5b506102c260048036038101906102bd91906115a0565b6109b3565b005b3480156102cf575f80fd5b506102ea60048036038101906102e5919061195b565b6109fe565b6040516102f791906119db565b60405180910390f35b61031a600480360381019061031591906115a0565b610a67565b005b610336600480360381019061033191906115a0565b610aa5565b005b348015610343575f80fd5b5061035e600480360381019061035991906115a0565b610ace565b60405161036b91906119f4565b60405180910390f35b5f7fb8ce7b22000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103e657506103e582610ae7565b5b9050919050565b5f6103f6610b60565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7fb8ce7b2200000000000000000000000000000000000000000000000000000000905090565b61046d610b6a565b8181905084849050146104ac576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610567578282828181106104cc576104cb611a0d565b5b90506020020160208101906104e19190611a64565b5f808787858181106104f6576104f5611a0d565b5b905060200201602081019061050b91906115a0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506104ae565b5050505050565b5f610577610ba1565b905080546003825580156105a95760018160011c14303b106105a05763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8084848101906105bb9190611b8a565b915091506105e2825f815181106105d5576105d4611a0d565b5b6020026020010151610bca565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f5b82518110156106a85760015f8085848151811061064457610643611a0d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610624565b50505080156106e0576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107a5576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f83838101906107b59190611c71565b90505f815f01518060200190518101906107cf9190611dcb565b90505f6107e68983604001518986602001516109fe565b905087826040015160ff1611610839578160400151886040517f17c66bc7000000000000000000000000000000000000000000000000000000008152600401610830929190611e21565b60405180910390fd5b5f80835f015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166108bb576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108d181896001610ca09092919063ffffffff16565b610903818360200151845f015173ffffffffffffffffffffffffffffffffffffffff16610d059092919063ffffffff16565b935050505095945050505050565b610919610b6a565b6109225f610e08565b565b5f602052805f5260405f205f915054906101000a900460ff1681565b5f6060805f805f60607f0f000000000000000000000000000000000000000000000000000000000000009650610974610ece565b809650819750505046935030925090919293949596565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b6109bb610b6a565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f610a5d7ffea51d5bd45bcd3c2ecc3679b43a3b80b0bd0923f8c16f822455b8cdecd9852f8686868680519060200120604051602001610a42959493929190611e48565b60405160208183030381529060405280519060200120610f45565b9050949350505050565b610a6f610b6a565b63389a75e1600c52805f526020600c208054421115610a9557636f5e88185f526004601cfd5b5f815550610aa281610e08565b50565b610aad610b6a565b8060601b610ac257637448fbae5f526004601cfd5b610acb81610e08565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f5912b89c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b595750610b5882610fc1565b5b9050919050565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610b9f576382b429005f526004601cfd5b565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610bd261103a565b15610c4a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610c0c57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610c9d565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f633f57fc5c60e01b90505f634de1225a60e01b90506007831115610ccb57815f528260045260245ffd5b84602052835f5260405f206001841b81541880851c6001166001188015610cf857835f528560045260245ffd5b8183555050505050505050565b5f8360601b60601c93508315610e0157604051835f5260208301516040526040835103610d72576040830151601b8160ff1c016020528060011b60011c6060526020600160805f60015afa805187183d1517610d6f57600193505f60605282604052505050610e01565b50505b6041835103610db85760608301515f1a60205260408301516060526020600160805f60015afa805186183d1517610db657600192505f606052816040525050610e01565b505b5f60605280604052631626ba7e60e01b808252846004830152602482016040815284516020018060448501828860045afa5060208260443d01868b5afa83835114169450505050505b9392505050565b610e1061103a565b15610e75577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610ecb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b6060806040518060400160405280600f81526020017f5369676e657256616c696461746f72000000000000000000000000000000000081525091506040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525090509091565b5f610f4e61103e565b15610f6257610f5b611046565b9050610f9e565b7f00000000000000000000000000000000000000000000000000000000000000009050610f8d61110e565b15610f9d57610f9a611046565b90505b5b6719010000000000005f5280601a5281603a52604260182090505f603a52919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611033575061103282611166565b5b9050919050565b5f90565b5f6001905090565b5f8061105061103e565b1561107e575f8061105f610ece565b91509150818051906020012093508080519060200120925050506110c5565b7f000000000000000000000000000000000000000000000000000000000000000091507f000000000000000000000000000000000000000000000000000000000000000090505b6040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815282602082015281604082015246606082015230608082015260a081209250505090565b5f807f000000000000000000000000000000000000000000000000000000000000000090505f7f0000000000000000000000000000000000000000000000000000000000000000905080301482461416159250505090565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611214816111e0565b811461121e575f80fd5b50565b5f8135905061122f8161120b565b92915050565b5f6020828403121561124a576112496111d8565b5b5f61125784828501611221565b91505092915050565b5f8115159050919050565b61127481611260565b82525050565b5f60208201905061128d5f83018461126b565b92915050565b61129c816111e0565b82525050565b5f6020820190506112b55f830184611293565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126112dc576112db6112bb565b5b8235905067ffffffffffffffff8111156112f9576112f86112bf565b5b602083019150836020820283011115611315576113146112c3565b5b9250929050565b5f8083601f840112611331576113306112bb565b5b8235905067ffffffffffffffff81111561134e5761134d6112bf565b5b60208301915083602082028301111561136a576113696112c3565b5b9250929050565b5f805f8060408587031215611389576113886111d8565b5b5f85013567ffffffffffffffff8111156113a6576113a56111dc565b5b6113b2878288016112c7565b9450945050602085013567ffffffffffffffff8111156113d5576113d46111dc565b5b6113e18782880161131c565b925092505092959194509250565b5f8083601f840112611404576114036112bb565b5b8235905067ffffffffffffffff811115611421576114206112bf565b5b60208301915083600182028301111561143d5761143c6112c3565b5b9250929050565b5f806020838503121561145a576114596111d8565b5b5f83013567ffffffffffffffff811115611477576114766111dc565b5b611483858286016113ef565b92509250509250929050565b5f819050919050565b6114a18161148f565b81146114ab575f80fd5b50565b5f813590506114bc81611498565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114eb826114c2565b9050919050565b6114fb816114e1565b8114611505575f80fd5b50565b5f81359050611516816114f2565b92915050565b5f805f805f60808688031215611535576115346111d8565b5b5f611542888289016114ae565b9550506020611553888289016114ae565b945050604061156488828901611508565b935050606086013567ffffffffffffffff811115611585576115846111dc565b5b611591888289016113ef565b92509250509295509295909350565b5f602082840312156115b5576115b46111d8565b5b5f6115c284828501611508565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6115ff816115cb565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61164782611605565b611651818561160f565b935061166181856020860161161f565b61166a8161162d565b840191505092915050565b61167e8161148f565b82525050565b61168d816114e1565b82525050565b5f819050919050565b6116a581611693565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6116dd8161148f565b82525050565b5f6116ee83836116d4565b60208301905092915050565b5f602082019050919050565b5f611710826116ab565b61171a81856116b5565b9350611725836116c5565b805f5b8381101561175557815161173c88826116e3565b9750611747836116fa565b925050600181019050611728565b5085935050505092915050565b5f60e0820190506117755f83018a6115f6565b8181036020830152611787818961163d565b9050818103604083015261179b818861163d565b90506117aa6060830187611675565b6117b76080830186611684565b6117c460a083018561169c565b81810360c08301526117d68184611706565b905098975050505050505050565b5f6020820190506117f75f830184611684565b92915050565b5f60ff82169050919050565b611812816117fd565b811461181c575f80fd5b50565b5f8135905061182d81611809565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61186d8261162d565b810181811067ffffffffffffffff8211171561188c5761188b611837565b5b80604052505050565b5f61189e6111cf565b90506118aa8282611864565b919050565b5f67ffffffffffffffff8211156118c9576118c8611837565b5b6118d28261162d565b9050602081019050919050565b828183375f83830152505050565b5f6118ff6118fa846118af565b611895565b90508281526020810184848401111561191b5761191a611833565b5b6119268482856118df565b509392505050565b5f82601f830112611942576119416112bb565b5b81356119528482602086016118ed565b91505092915050565b5f805f8060808587031215611973576119726111d8565b5b5f611980878288016114ae565b94505060206119918782880161181f565b93505060406119a287828801611508565b925050606085013567ffffffffffffffff8111156119c3576119c26111dc565b5b6119cf8782880161192e565b91505092959194509250565b5f6020820190506119ee5f83018461169c565b92915050565b5f602082019050611a075f830184611675565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b611a4381611260565b8114611a4d575f80fd5b50565b5f81359050611a5e81611a3a565b92915050565b5f60208284031215611a7957611a786111d8565b5b5f611a8684828501611a50565b91505092915050565b5f67ffffffffffffffff821115611aa957611aa8611837565b5b602082029050602081019050919050565b5f611acc611ac784611a8f565b611895565b90508083825260208201905060208402830185811115611aef57611aee6112c3565b5b835b81811015611b185780611b048882611508565b845260208401935050602081019050611af1565b5050509392505050565b5f82601f830112611b3657611b356112bb565b5b8135611b46848260208601611aba565b91505092915050565b5f611b59826114c2565b9050919050565b611b6981611b4f565b8114611b73575f80fd5b50565b5f81359050611b8481611b60565b92915050565b5f8060408385031215611ba057611b9f6111d8565b5b5f83013567ffffffffffffffff811115611bbd57611bbc6111dc565b5b611bc985828601611b22565b9250506020611bda85828601611b76565b9150509250929050565b5f80fd5b5f80fd5b5f60408284031215611c0157611c00611be4565b5b611c0b6040611895565b90505f82013567ffffffffffffffff811115611c2a57611c29611be8565b5b611c368482850161192e565b5f83015250602082013567ffffffffffffffff811115611c5957611c58611be8565b5b611c658482850161192e565b60208301525092915050565b5f60208284031215611c8657611c856111d8565b5b5f82013567ffffffffffffffff811115611ca357611ca26111dc565b5b611caf84828501611bec565b91505092915050565b5f81519050611cc6816114f2565b92915050565b5f611cde611cd9846118af565b611895565b905082815260208101848484011115611cfa57611cf9611833565b5b611d0584828561161f565b509392505050565b5f82601f830112611d2157611d206112bb565b5b8151611d31848260208601611ccc565b91505092915050565b5f81519050611d4881611809565b92915050565b5f60608284031215611d6357611d62611be4565b5b611d6d6060611895565b90505f611d7c84828501611cb8565b5f83015250602082015167ffffffffffffffff811115611d9f57611d9e611be8565b5b611dab84828501611d0d565b6020830152506040611dbf84828501611d3a565b60408301525092915050565b5f60208284031215611de057611ddf6111d8565b5b5f82015167ffffffffffffffff811115611dfd57611dfc6111dc565b5b611e0984828501611d4e565b91505092915050565b611e1b816117fd565b82525050565b5f604082019050611e345f830185611e12565b611e416020830184611675565b9392505050565b5f60a082019050611e5b5f83018861169c565b611e686020830187611675565b611e756040830186611e12565b611e826060830185611684565b611e8f608083018461169c565b969550505050505056fea26469706673582212208c5f7c2a8beb5f8e3f225aee74f09348b6ae100f0396a5d513683b79c274d19964736f6c634300081a0033", t = class t extends V {
|
|
8
8
|
constructor() {
|
|
9
9
|
super(...arguments), this.abi = r;
|
|
10
10
|
}
|
|
@@ -170,7 +170,7 @@ const R = "0x610120604052348015610010575f80fd5b503073fffffffffffffffffffffffffff
|
|
|
170
170
|
* @returns {Promise<Hex>}
|
|
171
171
|
*/
|
|
172
172
|
async encodeClaimData(f) {
|
|
173
|
-
return await
|
|
173
|
+
return await P({
|
|
174
174
|
...f,
|
|
175
175
|
validator: this.assertValidAddress()
|
|
176
176
|
});
|
|
@@ -190,18 +190,17 @@ const R = "0x610120604052348015610010575f80fd5b503073fffffffffffffffffffffffffff
|
|
|
190
190
|
);
|
|
191
191
|
return {
|
|
192
192
|
abi: r,
|
|
193
|
-
bytecode:
|
|
194
|
-
args: [
|
|
193
|
+
bytecode: C,
|
|
194
|
+
args: [N(a)],
|
|
195
195
|
...this.optionallyAttachAccount(e.account)
|
|
196
196
|
};
|
|
197
197
|
}
|
|
198
198
|
};
|
|
199
199
|
t.bases = {
|
|
200
|
-
...v
|
|
201
|
-
|
|
202
|
-
}, t.registryType = C.VALIDATOR;
|
|
200
|
+
...v
|
|
201
|
+
}, t.registryType = R.VALIDATOR;
|
|
203
202
|
let n = t;
|
|
204
|
-
async function
|
|
203
|
+
async function P({
|
|
205
204
|
signer: c,
|
|
206
205
|
incentiveData: f,
|
|
207
206
|
chainId: b,
|
|
@@ -235,7 +234,7 @@ async function N({
|
|
|
235
234
|
}
|
|
236
235
|
},
|
|
237
236
|
privateKey: c.key
|
|
238
|
-
}), l =
|
|
237
|
+
}), l = I({
|
|
239
238
|
signer: c.account,
|
|
240
239
|
signature: o,
|
|
241
240
|
incentiveQuantity: e
|
|
@@ -255,7 +254,7 @@ async function N({
|
|
|
255
254
|
[{ validatorData: l, incentiveData: f }]
|
|
256
255
|
);
|
|
257
256
|
}
|
|
258
|
-
function
|
|
257
|
+
function I({
|
|
259
258
|
signer: c,
|
|
260
259
|
signature: f,
|
|
261
260
|
incentiveQuantity: b
|
|
@@ -275,7 +274,7 @@ function P({
|
|
|
275
274
|
[{ signer: c, signature: f, incentiveQuantity: b }]
|
|
276
275
|
);
|
|
277
276
|
}
|
|
278
|
-
function
|
|
277
|
+
function N({
|
|
279
278
|
signers: c,
|
|
280
279
|
validatorCaller: f
|
|
281
280
|
}) {
|
|
@@ -289,9 +288,9 @@ function S({
|
|
|
289
288
|
}
|
|
290
289
|
export {
|
|
291
290
|
n as SignerValidator,
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
291
|
+
P as prepareSignerValidatorClaimDataPayload,
|
|
292
|
+
I as prepareSignerValidatorInputParams,
|
|
293
|
+
N as prepareSignerValidatorPayload,
|
|
295
294
|
r as signerValidatorAbi
|
|
296
295
|
};
|
|
297
296
|
//# sourceMappingURL=SignerValidator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignerValidator.js","sources":["../../src/Validators/SignerValidator.ts"],"sourcesContent":["import {\n readSignerValidatorHashSignerData,\n readSignerValidatorSigners,\n signerValidatorAbi,\n simulateSignerValidatorSetAuthorized,\n simulateSignerValidatorSetValidatorCaller,\n simulateSignerValidatorValidate,\n writeSignerValidatorSetAuthorized,\n writeSignerValidatorSetValidatorCaller,\n writeSignerValidatorValidate,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/validators/SignerValidator.sol/SignerValidator.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n type PrivateKeyAccount,\n encodeAbiParameters,\n} from 'viem';\nimport { signTypedData } from 'viem/accounts';\nimport { SignerValidator as SignerValidatorBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { signerValidatorAbi };\n\n/**\n * Object reprentation of a {@link SignerValidator} initialization payload\n *\n * @export\n * @interface SignerValidatorPayload\n * @typedef {SignerValidatorPayload}\n */\nexport interface SignerValidatorPayload {\n /**\n * The list of authorized signers. The first address in the list will be the initial owner of the contract.\n *\n * @type {Address[]}\n */\n signers: Address[];\n /**\n * The authorized caller of the {@link prepareSignerValidator} function\n * @type {Address}\n */\n validatorCaller: Address;\n}\n\n/**\n * Description placeholder\n *\n * @export\n * @interface SignerValidatorValidatePayload\n * @typedef {SignerValidatorValidatePayload}\n */\nexport interface SignerValidatorValidatePayload {\n /**\n * The ID of the boost.\n *\n * @type {bigint}\n */\n boostId: bigint;\n /**\n * The ID of the incentive.\n *\n * @type {bigint}\n */\n incentiveId: bigint;\n /**\n * The address of the claimant.\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The claim data.\n *\n * @type {Hex}\n */\n claimData: Hex;\n}\n\n/**\n * Object reprentation of a {@link SignerValidator} initialization payload\n *\n * @export\n * @interface SignerValidatorPayload\n * @typedef {SignerValidatorPayload}\n */\nexport interface SignerValidatorPayload {\n /**\n * The list of authorized signers. The first address in the list will be the initial owner of the contract.\n *\n * @type {Address[]}\n */\n signers: Address[];\n /**\n * The authorized caller of the {@link prepareSignerValidator} function\n * @type {Address}\n */\n validatorCaller: Address;\n}\n\n/**\n * Description placeholder\n *\n * @export\n * @interface SignerValidatorValidatePayload\n * @typedef {SignerValidatorValidatePayload}\n */\nexport interface SignerValidatorValidatePayload {\n /**\n * The ID of the boost.\n *\n * @type {bigint}\n */\n boostId: bigint;\n /**\n * The ID of the incentive.\n *\n * @type {bigint}\n */\n incentiveId: bigint;\n /**\n * The address of the claimant.\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The claim data.\n *\n * @type {Hex}\n */\n claimData: Hex;\n}\n\n/**\n * Signer Validator Claim Data Payload\n *\n * @export\n * @interface SignerValidatorClaimDataParams\n * @typedef {SignerValidatorClaimDataParams}\n */\nexport interface SignerValidatorClaimDataParams {\n /**\n * The signer with which to sign the input\n *\n * @type {{\n * account: Address;\n * key: Hex;\n * privateKey: PrivateKeyAccount;\n * }}\n */\n signer: {\n account: Address;\n key: Hex;\n privateKey: PrivateKeyAccount;\n };\n /**\n * The encoded data to provide the underlying incentive. You can use {@link prepareAllowListIncentivePayload}, {@link prepareCGDAIncentivePayload}, {@link prepareERC20IncentivePayload}, {@link prepareERC1155IncentivePayload}, or {@link preparePointsIncentivePayload}\n *\n * @type {Hex}\n */\n incentiveData: Hex;\n /**\n * The chain id to target\n *\n * @type {number}\n */\n chainId: number;\n /**\n * The address of the validator\n *\n * @type {Address}\n */\n validator: Address;\n /**\n * The incentive quantity.\n *\n * @type {number}\n */\n incentiveQuantity: number;\n /**\n * The address of the claimant\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The ID of the boost\n *\n * @type {bigint}\n */\n boostId: bigint;\n}\n\n/**\n * Object representation of a {@link SignerValidatorInputParams} initialization payload\n *\n * @export\n * @interface SignerValidatorInputParams\n * @typedef {SignerValidatorInputParams}\n */\nexport interface SignerValidatorInputParams {\n /**\n * The signer address.\n *\n * @type {Address}\n */\n signer: Address;\n\n /**\n * The signature data.\n *\n * @type {string}\n */\n signature: Hex;\n\n /**\n * The incentive quantity.\n *\n * @type {number}\n */\n incentiveQuantity: number;\n}\n\n/**\n * Object representing the payload for signing before validaton.\n *\n * @export\n * @interface SignerValidatorSignaturePayload\n * @typedef {SignerValidatorSignaturePayload}\n */\nexport interface SignerValidatorSignaturePayload {\n /**\n * The ID of the boost.\n *\n * @type {bigint}\n */\n boostId: bigint;\n /**\n * The ID of the incentive.\n *\n * @type {number}\n */\n incentiveQuantity: number;\n /**\n * The address of the claimant.\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The claim data.\n *\n * @type {Hex}\n */\n incentiveData: Hex;\n}\n\n/**\n * A generic `viem.Log` event with support for `BoostCore` event types.\n *\n * @export\n * @typedef {SignerValidatorLog}\n * @template {ContractEventName<\n * typeof signerValidatorAbi\n * >} [event=ContractEventName<typeof signerValidatorAbi>]\n */\nexport type SignerValidatorLog<\n event extends ContractEventName<\n typeof signerValidatorAbi\n > = ContractEventName<typeof signerValidatorAbi>,\n> = GenericLog<typeof signerValidatorAbi, event>;\n\n/**\n * A simple implementation of a Validator that verifies a given signature and checks the recovered address against a set of authorized signers\n *\n * @export\n * @class SignerValidator\n * @typedef {SignerValidator}\n * @extends {DeployableTarget<SignerValidatorPayload>}\n */\nexport class SignerValidator extends DeployableTarget<\n SignerValidatorPayload,\n typeof signerValidatorAbi\n> {\n /**\n * @inheritdoc\n *\n * @public\n * @readonly\n * @type {*}\n */\n public override readonly abi = signerValidatorAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n ...(SignerValidatorBases as Record<number, Address>),\n 31337: import.meta.env.VITE_SIGNER_VALIDATOR_BASE,\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.VALIDATOR;\n\n /**\n * The set of authorized signers\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams<typeof signerValidatorAbi, 'signers'>} [params]\n * @returns {unknown}\n */\n public async signers(\n address: Address,\n params?: ReadParams<typeof signerValidatorAbi, 'signers'>,\n ) {\n return await readSignerValidatorSigners(this._config, {\n address: this.assertValidAddress(),\n args: [address],\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 hash and signer data for a given hash\n *\n * @public\n * @async\n * @param {SignerValidatorSignaturePayload} payload\n * @param {?ReadParams<typeof signerValidatorAbi, 'hashSignerData'>} [params]\n * @returns {unknown}\n */\n public async hashSignerData(\n payload: SignerValidatorSignaturePayload,\n params?: ReadParams<typeof signerValidatorAbi, 'hashSignerData'>,\n ) {\n return await readSignerValidatorHashSignerData(this._config, {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveQuantity,\n payload.claimant,\n payload.incentiveData,\n ],\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 * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.\n *\n * @public\n * @async\n * @param {SignerValidatorValidatePayload} payload\n * @param {?WriteParams<typeof signerValidatorAbi, 'validate'>} [params]\n * @returns {Promise<boolean>} - True if the action has been validated based on the data payload\n */\n protected async validate(\n payload: SignerValidatorValidatePayload,\n params?: WriteParams<typeof signerValidatorAbi, 'validate'>,\n ) {\n return await this.awaitResult(this.validateRaw(payload, params));\n }\n\n /**\n * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.\n *\n * @public\n * @async\n * @param {SignerValidatorValidatePayload} payload\n * @param {?WriteParams<typeof signerValidatorAbi, 'validate'>} [params]\n * @returns {Promise<boolean>} - True if the action has been validated based on the data payload\n */\n protected async validateRaw(\n payload: SignerValidatorValidatePayload,\n params?: ReadParams<typeof signerValidatorAbi, 'validate'>,\n ) {\n const { request, result } = await simulateSignerValidatorValidate(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveId,\n payload.claimant,\n payload.claimData,\n ],\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 writeSignerValidatorValidate(this._config, request);\n return { hash, result };\n }\n\n /**\n * Set the authorized status of a signer\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of signers to update\n * @param {boolean[]} allowed - The authorized status of each signer\n * @param {?WriteParams<typeof signerValidatorAbi, 'setAuthorized'>} [params]\n * @returns {unknown}\n */\n public async setAuthorized(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof signerValidatorAbi, 'setAuthorized'>,\n ) {\n return await this.awaitResult(\n this.setAuthorizedRaw(addresses, allowed, params),\n );\n }\n\n /**\n * Set the authorized status of a signer\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of signers to update\n * @param {boolean[]} allowed - The authorized status of each signer\n * @param {?WriteParams<typeof signerValidatorAbi, 'setAuthorized'>} [params]\n * @returns {unknown}\n */\n public async setAuthorizedRaw(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof signerValidatorAbi, 'setAuthorized'>,\n ) {\n const { request, result } = await simulateSignerValidatorSetAuthorized(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, allowed],\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 writeSignerValidatorSetAuthorized(this._config, request);\n return { hash, result };\n }\n\n /**\n * Update the authorized caller of the validator function\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>} [params]\n * @returns {unknown}\n */\n public async setValidatorCallerRaw(\n address: Address,\n params?: WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>,\n ) {\n const { request, result } = await simulateSignerValidatorSetValidatorCaller(\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 writeSignerValidatorSetValidatorCaller(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Update the authorized caller of the validator function\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>} [params]\n * @returns {unknown}\n */\n public async setValidatorCaller(\n address: Address,\n params?: WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>,\n ) {\n return await this.awaitResult(this.setValidatorCallerRaw(address, params));\n }\n\n /**\n * Properly encodes the data needed to claim\n *\n * @public\n * @async\n * @param {SignerValidatorClaimDataParams} params\n * @returns {Promise<Hex>}\n */\n public async encodeClaimData(\n params: Omit<SignerValidatorClaimDataParams, 'validator'>,\n ): Promise<Hex> {\n return await prepareSignerValidatorClaimDataPayload({\n ...params,\n validator: this.assertValidAddress(),\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SignerValidatorPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SignerValidatorPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: signerValidatorAbi,\n bytecode: bytecode as Hex,\n args: [prepareSignerValidatorPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Signer Validator Claim Data Payload Preparation\n *\n * @export\n * @async\n * @param {SignerValidatorClaimDataParams} param0\n * @param {{ account: Address; key: Hex; privateKey: PrivateKeyAccount; }} param0.signer\n * @param {Hex} param0.incentiveData\n * @param {number} param0.chainId\n * @param {Address} param0.validator\n * @param {number} param0.incentiveQuantity\n * @param {Address} param0.claimant\n * @param {bigint} param0.boostId\n * @returns {Promise<Hex>}\n */\nexport async function prepareSignerValidatorClaimDataPayload({\n signer,\n incentiveData,\n chainId,\n validator,\n incentiveQuantity,\n claimant,\n boostId,\n}: SignerValidatorClaimDataParams): Promise<Hex> {\n const domain = {\n name: 'SignerValidator',\n version: '1',\n chainId: chainId,\n verifyingContract: validator,\n };\n const typedData = {\n domain,\n types: {\n SignerValidatorData: [\n { name: 'boostId', type: 'uint256' },\n { name: 'incentiveQuantity', type: 'uint8' },\n { name: 'claimant', type: 'address' },\n { name: 'incentiveData', type: 'bytes' },\n ],\n },\n primaryType: 'SignerValidatorData' as const,\n message: {\n boostId,\n incentiveQuantity,\n claimant,\n incentiveData: incentiveData,\n },\n };\n\n const trustedSignature = await signTypedData({\n ...typedData,\n privateKey: signer.key,\n });\n\n // Prepare the claim data payload using the new helper\n const validatorData = prepareSignerValidatorInputParams({\n signer: signer.account,\n signature: trustedSignature,\n incentiveQuantity, // Adjust incentive quantity as necessary\n });\n\n const boostClaimDataPayload = encodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'BoostClaimData',\n components: [\n { type: 'bytes', name: 'validatorData' },\n { type: 'bytes', name: 'incentiveData' },\n ],\n },\n ],\n [{ validatorData, incentiveData }],\n );\n\n return boostClaimDataPayload;\n}\n\n/**\n * Given a {@link SignerValidatorInputParams}, properly encode the initialization payload.\n *\n * @param {SignerValidatorInputParams} param0\n * @param {Address} param0.signer\n * @param {Hex} param0.signature\n * @param {number} param0.incentiveQuantity\n * @returns {Hex}\n */\nexport function prepareSignerValidatorInputParams({\n signer,\n signature,\n incentiveQuantity,\n}: SignerValidatorInputParams) {\n return encodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'SignerValidatorInputParams',\n components: [\n { type: 'address', name: 'signer' },\n { type: 'bytes', name: 'signature' },\n { type: 'uint8', name: 'incentiveQuantity' },\n ],\n },\n ],\n [{ signer, signature, incentiveQuantity }],\n );\n}\n\n/**\n * Given a {@link SignerValidatorPayload}, properly encode the initialization payload.\n *\n * @param {SignerValidatorPayload} param0\n * @param {Address[]} param0.signers\n * @param {Address} param0.validatorCaller\n * @returns {Hex}\n */\nexport function prepareSignerValidatorPayload({\n signers,\n validatorCaller,\n}: SignerValidatorPayload) {\n return encodeAbiParameters(\n [\n { type: 'address[]', name: 'signers' },\n { type: 'address', name: 'validatorCaller' },\n ],\n [signers, validatorCaller],\n );\n}\n"],"names":["_SignerValidator","DeployableTarget","signerValidatorAbi","address","params","readSignerValidatorSigners","payload","readSignerValidatorHashSignerData","request","result","simulateSignerValidatorValidate","writeSignerValidatorValidate","addresses","allowed","simulateSignerValidatorSetAuthorized","writeSignerValidatorSetAuthorized","simulateSignerValidatorSetValidatorCaller","writeSignerValidatorSetValidatorCaller","prepareSignerValidatorClaimDataPayload","_payload","_options","options","bytecode","prepareSignerValidatorPayload","SignerValidatorBases","RegistryType","SignerValidator","signer","incentiveData","chainId","validator","incentiveQuantity","claimant","boostId","trustedSignature","signTypedData","validatorData","prepareSignerValidatorInputParams","encodeAbiParameters","signature","signers","validatorCaller"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SignerValidator.js","sources":["../../src/Validators/SignerValidator.ts"],"sourcesContent":["import {\n readSignerValidatorHashSignerData,\n readSignerValidatorSigners,\n signerValidatorAbi,\n simulateSignerValidatorSetAuthorized,\n simulateSignerValidatorSetValidatorCaller,\n simulateSignerValidatorValidate,\n writeSignerValidatorSetAuthorized,\n writeSignerValidatorSetValidatorCaller,\n writeSignerValidatorValidate,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/validators/SignerValidator.sol/SignerValidator.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n type PrivateKeyAccount,\n encodeAbiParameters,\n} from 'viem';\nimport { signTypedData } from 'viem/accounts';\nimport { SignerValidator as SignerValidatorBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { signerValidatorAbi };\n\n/**\n * Object reprentation of a {@link SignerValidator} initialization payload\n *\n * @export\n * @interface SignerValidatorPayload\n * @typedef {SignerValidatorPayload}\n */\nexport interface SignerValidatorPayload {\n /**\n * The list of authorized signers. The first address in the list will be the initial owner of the contract.\n *\n * @type {Address[]}\n */\n signers: Address[];\n /**\n * The authorized caller of the {@link prepareSignerValidator} function\n * @type {Address}\n */\n validatorCaller: Address;\n}\n\n/**\n * Description placeholder\n *\n * @export\n * @interface SignerValidatorValidatePayload\n * @typedef {SignerValidatorValidatePayload}\n */\nexport interface SignerValidatorValidatePayload {\n /**\n * The ID of the boost.\n *\n * @type {bigint}\n */\n boostId: bigint;\n /**\n * The ID of the incentive.\n *\n * @type {bigint}\n */\n incentiveId: bigint;\n /**\n * The address of the claimant.\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The claim data.\n *\n * @type {Hex}\n */\n claimData: Hex;\n}\n\n/**\n * Object reprentation of a {@link SignerValidator} initialization payload\n *\n * @export\n * @interface SignerValidatorPayload\n * @typedef {SignerValidatorPayload}\n */\nexport interface SignerValidatorPayload {\n /**\n * The list of authorized signers. The first address in the list will be the initial owner of the contract.\n *\n * @type {Address[]}\n */\n signers: Address[];\n /**\n * The authorized caller of the {@link prepareSignerValidator} function\n * @type {Address}\n */\n validatorCaller: Address;\n}\n\n/**\n * Description placeholder\n *\n * @export\n * @interface SignerValidatorValidatePayload\n * @typedef {SignerValidatorValidatePayload}\n */\nexport interface SignerValidatorValidatePayload {\n /**\n * The ID of the boost.\n *\n * @type {bigint}\n */\n boostId: bigint;\n /**\n * The ID of the incentive.\n *\n * @type {bigint}\n */\n incentiveId: bigint;\n /**\n * The address of the claimant.\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The claim data.\n *\n * @type {Hex}\n */\n claimData: Hex;\n}\n\n/**\n * Signer Validator Claim Data Payload\n *\n * @export\n * @interface SignerValidatorClaimDataParams\n * @typedef {SignerValidatorClaimDataParams}\n */\nexport interface SignerValidatorClaimDataParams {\n /**\n * The signer with which to sign the input\n *\n * @type {{\n * account: Address;\n * key: Hex;\n * privateKey: PrivateKeyAccount;\n * }}\n */\n signer: {\n account: Address;\n key: Hex;\n privateKey: PrivateKeyAccount;\n };\n /**\n * The encoded data to provide the underlying incentive. You can use {@link prepareAllowListIncentivePayload}, {@link prepareCGDAIncentivePayload}, {@link prepareERC20IncentivePayload}, {@link prepareERC1155IncentivePayload}, or {@link preparePointsIncentivePayload}\n *\n * @type {Hex}\n */\n incentiveData: Hex;\n /**\n * The chain id to target\n *\n * @type {number}\n */\n chainId: number;\n /**\n * The address of the validator\n *\n * @type {Address}\n */\n validator: Address;\n /**\n * The incentive quantity.\n *\n * @type {number}\n */\n incentiveQuantity: number;\n /**\n * The address of the claimant\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The ID of the boost\n *\n * @type {bigint}\n */\n boostId: bigint;\n}\n\n/**\n * Object representation of a {@link SignerValidatorInputParams} initialization payload\n *\n * @export\n * @interface SignerValidatorInputParams\n * @typedef {SignerValidatorInputParams}\n */\nexport interface SignerValidatorInputParams {\n /**\n * The signer address.\n *\n * @type {Address}\n */\n signer: Address;\n\n /**\n * The signature data.\n *\n * @type {string}\n */\n signature: Hex;\n\n /**\n * The incentive quantity.\n *\n * @type {number}\n */\n incentiveQuantity: number;\n}\n\n/**\n * Object representing the payload for signing before validaton.\n *\n * @export\n * @interface SignerValidatorSignaturePayload\n * @typedef {SignerValidatorSignaturePayload}\n */\nexport interface SignerValidatorSignaturePayload {\n /**\n * The ID of the boost.\n *\n * @type {bigint}\n */\n boostId: bigint;\n /**\n * The ID of the incentive.\n *\n * @type {number}\n */\n incentiveQuantity: number;\n /**\n * The address of the claimant.\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The claim data.\n *\n * @type {Hex}\n */\n incentiveData: Hex;\n}\n\n/**\n * A generic `viem.Log` event with support for `BoostCore` event types.\n *\n * @export\n * @typedef {SignerValidatorLog}\n * @template {ContractEventName<\n * typeof signerValidatorAbi\n * >} [event=ContractEventName<typeof signerValidatorAbi>]\n */\nexport type SignerValidatorLog<\n event extends ContractEventName<\n typeof signerValidatorAbi\n > = ContractEventName<typeof signerValidatorAbi>,\n> = GenericLog<typeof signerValidatorAbi, event>;\n\n/**\n * A simple implementation of a Validator that verifies a given signature and checks the recovered address against a set of authorized signers\n *\n * @export\n * @class SignerValidator\n * @typedef {SignerValidator}\n * @extends {DeployableTarget<SignerValidatorPayload>}\n */\nexport class SignerValidator extends DeployableTarget<\n SignerValidatorPayload,\n typeof signerValidatorAbi\n> {\n /**\n * @inheritdoc\n *\n * @public\n * @readonly\n * @type {*}\n */\n public override readonly abi = signerValidatorAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n ...(SignerValidatorBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.VALIDATOR;\n\n /**\n * The set of authorized signers\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams<typeof signerValidatorAbi, 'signers'>} [params]\n * @returns {unknown}\n */\n public async signers(\n address: Address,\n params?: ReadParams<typeof signerValidatorAbi, 'signers'>,\n ) {\n return await readSignerValidatorSigners(this._config, {\n address: this.assertValidAddress(),\n args: [address],\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 hash and signer data for a given hash\n *\n * @public\n * @async\n * @param {SignerValidatorSignaturePayload} payload\n * @param {?ReadParams<typeof signerValidatorAbi, 'hashSignerData'>} [params]\n * @returns {unknown}\n */\n public async hashSignerData(\n payload: SignerValidatorSignaturePayload,\n params?: ReadParams<typeof signerValidatorAbi, 'hashSignerData'>,\n ) {\n return await readSignerValidatorHashSignerData(this._config, {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveQuantity,\n payload.claimant,\n payload.incentiveData,\n ],\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 * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.\n *\n * @public\n * @async\n * @param {SignerValidatorValidatePayload} payload\n * @param {?WriteParams<typeof signerValidatorAbi, 'validate'>} [params]\n * @returns {Promise<boolean>} - True if the action has been validated based on the data payload\n */\n protected async validate(\n payload: SignerValidatorValidatePayload,\n params?: WriteParams<typeof signerValidatorAbi, 'validate'>,\n ) {\n return await this.awaitResult(this.validateRaw(payload, params));\n }\n\n /**\n * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.\n *\n * @public\n * @async\n * @param {SignerValidatorValidatePayload} payload\n * @param {?WriteParams<typeof signerValidatorAbi, 'validate'>} [params]\n * @returns {Promise<boolean>} - True if the action has been validated based on the data payload\n */\n protected async validateRaw(\n payload: SignerValidatorValidatePayload,\n params?: ReadParams<typeof signerValidatorAbi, 'validate'>,\n ) {\n const { request, result } = await simulateSignerValidatorValidate(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveId,\n payload.claimant,\n payload.claimData,\n ],\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 writeSignerValidatorValidate(this._config, request);\n return { hash, result };\n }\n\n /**\n * Set the authorized status of a signer\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of signers to update\n * @param {boolean[]} allowed - The authorized status of each signer\n * @param {?WriteParams<typeof signerValidatorAbi, 'setAuthorized'>} [params]\n * @returns {unknown}\n */\n public async setAuthorized(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof signerValidatorAbi, 'setAuthorized'>,\n ) {\n return await this.awaitResult(\n this.setAuthorizedRaw(addresses, allowed, params),\n );\n }\n\n /**\n * Set the authorized status of a signer\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of signers to update\n * @param {boolean[]} allowed - The authorized status of each signer\n * @param {?WriteParams<typeof signerValidatorAbi, 'setAuthorized'>} [params]\n * @returns {unknown}\n */\n public async setAuthorizedRaw(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof signerValidatorAbi, 'setAuthorized'>,\n ) {\n const { request, result } = await simulateSignerValidatorSetAuthorized(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, allowed],\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 writeSignerValidatorSetAuthorized(this._config, request);\n return { hash, result };\n }\n\n /**\n * Update the authorized caller of the validator function\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>} [params]\n * @returns {unknown}\n */\n public async setValidatorCallerRaw(\n address: Address,\n params?: WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>,\n ) {\n const { request, result } = await simulateSignerValidatorSetValidatorCaller(\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 writeSignerValidatorSetValidatorCaller(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Update the authorized caller of the validator function\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>} [params]\n * @returns {unknown}\n */\n public async setValidatorCaller(\n address: Address,\n params?: WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>,\n ) {\n return await this.awaitResult(this.setValidatorCallerRaw(address, params));\n }\n\n /**\n * Properly encodes the data needed to claim\n *\n * @public\n * @async\n * @param {SignerValidatorClaimDataParams} params\n * @returns {Promise<Hex>}\n */\n public async encodeClaimData(\n params: Omit<SignerValidatorClaimDataParams, 'validator'>,\n ): Promise<Hex> {\n return await prepareSignerValidatorClaimDataPayload({\n ...params,\n validator: this.assertValidAddress(),\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SignerValidatorPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SignerValidatorPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: signerValidatorAbi,\n bytecode: bytecode as Hex,\n args: [prepareSignerValidatorPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Signer Validator Claim Data Payload Preparation\n *\n * @export\n * @async\n * @param {SignerValidatorClaimDataParams} param0\n * @param {{ account: Address; key: Hex; privateKey: PrivateKeyAccount; }} param0.signer\n * @param {Hex} param0.incentiveData\n * @param {number} param0.chainId\n * @param {Address} param0.validator\n * @param {number} param0.incentiveQuantity\n * @param {Address} param0.claimant\n * @param {bigint} param0.boostId\n * @returns {Promise<Hex>}\n */\nexport async function prepareSignerValidatorClaimDataPayload({\n signer,\n incentiveData,\n chainId,\n validator,\n incentiveQuantity,\n claimant,\n boostId,\n}: SignerValidatorClaimDataParams): Promise<Hex> {\n const domain = {\n name: 'SignerValidator',\n version: '1',\n chainId: chainId,\n verifyingContract: validator,\n };\n const typedData = {\n domain,\n types: {\n SignerValidatorData: [\n { name: 'boostId', type: 'uint256' },\n { name: 'incentiveQuantity', type: 'uint8' },\n { name: 'claimant', type: 'address' },\n { name: 'incentiveData', type: 'bytes' },\n ],\n },\n primaryType: 'SignerValidatorData' as const,\n message: {\n boostId,\n incentiveQuantity,\n claimant,\n incentiveData: incentiveData,\n },\n };\n\n const trustedSignature = await signTypedData({\n ...typedData,\n privateKey: signer.key,\n });\n\n // Prepare the claim data payload using the new helper\n const validatorData = prepareSignerValidatorInputParams({\n signer: signer.account,\n signature: trustedSignature,\n incentiveQuantity, // Adjust incentive quantity as necessary\n });\n\n const boostClaimDataPayload = encodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'BoostClaimData',\n components: [\n { type: 'bytes', name: 'validatorData' },\n { type: 'bytes', name: 'incentiveData' },\n ],\n },\n ],\n [{ validatorData, incentiveData }],\n );\n\n return boostClaimDataPayload;\n}\n\n/**\n * Given a {@link SignerValidatorInputParams}, properly encode the initialization payload.\n *\n * @param {SignerValidatorInputParams} param0\n * @param {Address} param0.signer\n * @param {Hex} param0.signature\n * @param {number} param0.incentiveQuantity\n * @returns {Hex}\n */\nexport function prepareSignerValidatorInputParams({\n signer,\n signature,\n incentiveQuantity,\n}: SignerValidatorInputParams) {\n return encodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'SignerValidatorInputParams',\n components: [\n { type: 'address', name: 'signer' },\n { type: 'bytes', name: 'signature' },\n { type: 'uint8', name: 'incentiveQuantity' },\n ],\n },\n ],\n [{ signer, signature, incentiveQuantity }],\n );\n}\n\n/**\n * Given a {@link SignerValidatorPayload}, properly encode the initialization payload.\n *\n * @param {SignerValidatorPayload} param0\n * @param {Address[]} param0.signers\n * @param {Address} param0.validatorCaller\n * @returns {Hex}\n */\nexport function prepareSignerValidatorPayload({\n signers,\n validatorCaller,\n}: SignerValidatorPayload) {\n return encodeAbiParameters(\n [\n { type: 'address[]', name: 'signers' },\n { type: 'address', name: 'validatorCaller' },\n ],\n [signers, validatorCaller],\n );\n}\n"],"names":["_SignerValidator","DeployableTarget","signerValidatorAbi","address","params","readSignerValidatorSigners","payload","readSignerValidatorHashSignerData","request","result","simulateSignerValidatorValidate","writeSignerValidatorValidate","addresses","allowed","simulateSignerValidatorSetAuthorized","writeSignerValidatorSetAuthorized","simulateSignerValidatorSetValidatorCaller","writeSignerValidatorSetValidatorCaller","prepareSignerValidatorClaimDataPayload","_payload","_options","options","bytecode","prepareSignerValidatorPayload","SignerValidatorBases","RegistryType","SignerValidator","signer","incentiveData","chainId","validator","incentiveQuantity","claimant","boostId","trustedSignature","signTypedData","validatorData","prepareSignerValidatorInputParams","encodeAbiParameters","signature","signers","validatorCaller"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../generated-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../generated-BulULVyy.cjs"),c=require("../componentInterfaces-CKCBwG16.cjs"),d=require("@wagmi/core"),s=require("../errors.cjs"),a=require("./SignerValidator.cjs"),e={[c.ASignerValidator]:a.SignerValidator};async function l(r,t){const n=await d.readContract(r.config,{abi:i.re,functionName:"getComponentInterface",address:t}),o=e[n];if(!o)throw new s.InvalidComponentInterfaceError(Object.keys(e),n);return new o(r,t)}exports.SignerValidator=a.SignerValidator;exports.ValidatorByComponentInterface=e;exports.validatorFromAddress=l;
|
|
2
2
|
//# sourceMappingURL=Validator.cjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as a } from "../generated-
|
|
1
|
+
import { r as a } from "../generated-CdXG-MpB.js";
|
|
2
2
|
import { b as i } from "../componentInterfaces-Cmg8tUxq.js";
|
|
3
3
|
import { readContract as m } from "@wagmi/core";
|
|
4
4
|
import { InvalidComponentInterfaceError as c } from "../errors.js";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";const R=require("viem/actions"),D=require("viem"),q=require("viem/utils");function z(t){const a=t.state.current,e=t.state.connections.get(a),i=e==null?void 0:e.accounts,y=i==null?void 0:i[0],u=t.chains.find(f=>f.id===(e==null?void 0:e.chainId)),r=t.state.status;switch(r){case"connected":return{address:y,addresses:i,chain:u,chainId:e==null?void 0:e.chainId,connector:e==null?void 0:e.connector,isConnected:!0,isConnecting:!1,isDisconnected:!1,isReconnecting:!1,status:r};case"reconnecting":return{address:y,addresses:i,chain:u,chainId:e==null?void 0:e.chainId,connector:e==null?void 0:e.connector,isConnected:!!y,isConnecting:!1,isDisconnected:!1,isReconnecting:!0,status:r};case"connecting":return{address:y,addresses:i,chain:u,chainId:e==null?void 0:e.chainId,connector:e==null?void 0:e.connector,isConnected:!1,isConnecting:!0,isDisconnected:!1,isReconnecting:!1,status:r};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:r}}}function _(t){return t.state.chainId}function H(t,a,e){const i=t[a.name];if(typeof i=="function")return i;const y=t[e];return typeof y=="function"?y:u=>a(t,u)}const j="2.13.8",V=()=>`@wagmi/core@${j}`;var B=function(t,a,e,i){if(e==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof a=="function"?t!==a||!i:!a.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?i:e==="a"?i.call(t):i?i.value:a.get(t)},A,P;class M extends Error{get docsBaseUrl(){return"https://wagmi.sh/core"}get version(){return V()}constructor(a,e={}){var i;super(),A.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 y=e.cause instanceof M?e.cause.details:(i=e.cause)!=null&&i.message?e.cause.message:e.details,u=e.cause instanceof M&&e.cause.docsPath||e.docsPath;this.message=[a||"An error occurred.","",...e.metaMessages?[...e.metaMessages,""]:[],...u?[`Docs: ${this.docsBaseUrl}${u}.html${e.docsSlug?`#${e.docsSlug}`:""}`]:[],...y?[`Details: ${y}`]:[],`Version: ${this.version}`].join(`
|
|
2
|
+
`),e.cause&&(this.cause=e.cause),this.details=y,this.docsPath=u,this.metaMessages=e.metaMessages,this.shortMessage=a}walk(a){return B(this,A,"m",P).call(this,this,a)}}A=new WeakSet,P=function t(a,e){return e!=null&&e(a)?a:a.cause?B(this,A,"m",t).call(this,a.cause,e):a};class $ extends M{constructor(){super("Connector not connected."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorNotConnectedError"})}}class Z extends M{constructor({address:a,connector:e}){super(`Account "${a}" not found for connector "${e.name}".`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorAccountNotFoundError"})}}class X extends M{constructor({connectionChainId:a,connectorChainId:e}){super(`The current chain of the connector (id: ${e}) does not match the connection's chain (id: ${a}).`,{metaMessages:[`Current Chain ID: ${e}`,`Expected Chain ID: ${a}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorChainMismatchError"})}}class G extends M{constructor({connector:a}){super(`Connector "${a.name}" unavailable while reconnecting.`,{details:["During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uuid`.","All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.","This error commonly occurs for connectors that asynchronously inject after reconnection has already started."].join(" ")}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorUnavailableReconnectingError"})}}async function k(t,a={}){let e;if(a.connector){const{connector:l}=a;if(t.state.status==="reconnecting"&&!l.getAccounts&&!l.getChainId)throw new G({connector:l});const[N,S]=await Promise.all([l.getAccounts(),l.getChainId()]);e={accounts:N,chainId:S,connector:l}}else e=t.state.connections.get(t.state.current);if(!e)throw new $;const i=a.chainId??e.chainId,y=await e.connector.getChainId();if(y!==e.chainId)throw new X({connectionChainId:e.chainId,connectorChainId:y});const u=e.connector;if(u.getClient)return u.getClient({chainId:i});const r=q.parseAccount(a.account??e.accounts[0]);if(r.address=q.getAddress(r.address),a.account&&!e.accounts.some(l=>l.toLowerCase()===r.address.toLowerCase()))throw new Z({address:r.address,connector:u});const f=t.chains.find(l=>l.id===i),h=await e.connector.getProvider({chainId:i});return D.createClient({account:r,chain:f,name:"Connector Client",transport:l=>D.custom(h)({...l,retryCount:0})})}async function x(t,a){const{abi:e,chainId:i,connector:y,...u}=a;let r;a.account?r=a.account:r=(await k(t,{chainId:i,connector:y})).account;const f=t.getClient({chainId:i}),h=H(f,R.simulateContract,"simulateContract"),{result:l,request:N}=await h({...u,abi:e,account:r});return{chainId:f.chain.id,result:l,request:{__mode:"prepared",...N,chainId:i}}}function s(t){return t.address!==void 0&&typeof t.address=="object"?(a,e)=>{var i;const y=_(a),u=z(a),r=(e==null?void 0:e.chainId)??u.chainId??y;return x(a,{...e,...t.functionName?{functionName:t.functionName}:{},address:(i=t.address)==null?void 0:i[r],abi:t.abi})}:(a,e)=>x(a,{...e,...t.address?{address:t.address}:{},...t.functionName?{functionName:t.functionName}:{},abi:t.abi})}function E(t,a){const{chainId:e,...i}=a,y=t.getClient({chainId:e});return H(y,R.readContract,"readContract")(i)}function n(t){return t.address!==void 0&&typeof t.address=="object"?(a,e)=>{var i;const y=_(a),u=z(a),r=(e==null?void 0:e.chainId)??u.chainId??y;return E(a,{...e,...t.functionName?{functionName:t.functionName}:{},address:(i=t.address)==null?void 0:i[r],abi:t.abi})}:(a,e)=>E(a,{...e,...t.address?{address:t.address}:{},...t.functionName?{functionName:t.functionName}:{},abi:t.abi})}async function F(t,a){const{account:e,chainId:i,connector:y,__mode:u,...r}=a;let f;typeof e=="object"&&e.type==="local"?f=t.getClient({chainId:i}):f=await k(t,{account:e,chainId:i,connector:y});const{connector:h}=z(t);let l;if(u==="prepared"||h!=null&&h.supportsSimulation)l=r;else{const{request:N}=await x(t,{...r,account:e,chainId:i});l=N}return await H(f,R.writeContract,"writeContract")({...l,...e?{account:e}:{},chain:i?{id:i}:null})}function p(t){return t.address!==void 0&&typeof t.address=="object"?(a,e)=>{var i;const y=_(a),u=z(a);let r;return e.chainId?r=e.chainId:e.account&&e.account===u.address||e.account===void 0?r=u.chainId:r=y,F(a,{...e,...t.functionName?{functionName:t.functionName}:{},address:r?(i=t.address)==null?void 0:i[r]:void 0,abi:t.abi})}:(a,e)=>F(a,{...e,...t.address?{address:t.address}:{},...t.functionName?{functionName:t.functionName}:{},abi:t.abi})}const W=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"executor",internalType:"address",type:"address",indexed:!0},{name:"caller",internalType:"address",type:"address",indexed:!1},{name:"success",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionExecuted"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"isValidated",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionValidated"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"VALIDATOR",outputs:[{name:"",internalType:"contract AValidator",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"execute",outputs:[{name:"",internalType:"bool",type:"bool"},{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"payable"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"prepare",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],Q=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user_",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"isAllowed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],J=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"InvalidAllocation"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"to",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"TransferFailed"},{type:"event",anonymous:!1,inputs:[{name:"account",internalType:"address",type:"address",indexed:!0},{name:"isAuthorized",internalType:"bool",type:"bool",indexed:!1}],name:"Authorized"},{type:"event",anonymous:!1,inputs:[{name:"asset",internalType:"address",type:"address",indexed:!0},{name:"to",internalType:"address",type:"address",indexed:!1},{name:"amount",internalType:"uint256",type:"uint256",indexed:!1}],name:"Distributed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"fallback",stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"allocate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"payable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"available",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"disburse",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes[]",type:"bytes[]"}],name:"disburseBatch",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"distributed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"account_",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"reconcile",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"accounts_",internalType:"address[]",type:"address[]"},{name:"authorized_",internalType:"bool[]",type:"bool[]"}],name:"setAuthorized",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"total",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"receive",stateMutability:"payable"}],L=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],K=[{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[{name:"claimant",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimant",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],Y=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"boostId",internalType:"uint256",type:"uint256"},{name:"incentiveId",internalType:"uint256",type:"uint256"},{name:"claimant",internalType:"address",type:"address"},{name:"data",internalType:"bytes",type:"bytes"}],name:"validate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"}],w=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"allowList",outputs:[{name:"",internalType:"contract SimpleAllowList",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"pure"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"limit",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"pure"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],d=[{type:"constructor",inputs:[{name:"registry_",internalType:"contract BoostRegistry",type:"address"},{name:"protocolFeeReceiver_",internalType:"address",type:"address"}],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[{name:"caller",internalType:"address",type:"address"},{name:"data",internalType:"bytes",type:"bytes"}],name:"ClaimFailed"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[{name:"expectedInterface",internalType:"bytes4",type:"bytes4"},{name:"instance",internalType:"address",type:"address"}],name:"InvalidInstance"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"Reentrancy"},{type:"error",inputs:[],name:"Unauthorized"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"boostId",internalType:"uint256",type:"uint256",indexed:!0},{name:"incentiveId",internalType:"uint256",type:"uint256",indexed:!0},{name:"claimant",internalType:"address",type:"address",indexed:!0},{name:"referrer",internalType:"address",type:"address",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"BoostClaimed"},{type:"event",anonymous:!1,inputs:[{name:"boostIndex",internalType:"uint256",type:"uint256",indexed:!0},{name:"owner",internalType:"address",type:"address",indexed:!0},{name:"action",internalType:"address",type:"address",indexed:!0},{name:"incentiveCount",internalType:"uint256",type:"uint256",indexed:!1},{name:"validator",internalType:"address",type:"address",indexed:!1},{name:"allowList",internalType:"address",type:"address",indexed:!1},{name:"budget",internalType:"address",type:"address",indexed:!1}],name:"BoostCreated"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"FEE_DENOMINATOR",outputs:[{name:"",internalType:"uint64",type:"uint64"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"claimFee",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"boostId_",internalType:"uint256",type:"uint256"},{name:"incentiveId_",internalType:"uint256",type:"uint256"},{name:"referrer_",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"claimIncentive",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"boostId_",internalType:"uint256",type:"uint256"},{name:"incentiveId_",internalType:"uint256",type:"uint256"},{name:"referrer_",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"},{name:"claimant",internalType:"address",type:"address"}],name:"claimIncentiveFor",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"createBoost",outputs:[{name:"",internalType:"struct BoostLib.Boost",type:"tuple",components:[{name:"action",internalType:"contract AAction",type:"address"},{name:"validator",internalType:"contract AValidator",type:"address"},{name:"allowList",internalType:"contract AAllowList",type:"address"},{name:"budget",internalType:"contract ABudget",type:"address"},{name:"incentives",internalType:"contract AIncentive[]",type:"address[]"},{name:"protocolFee",internalType:"uint64",type:"uint64"},{name:"referralFee",internalType:"uint64",type:"uint64"},{name:"maxParticipants",internalType:"uint256",type:"uint256"},{name:"owner",internalType:"address",type:"address"}]}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"createBoostAuth",outputs:[{name:"",internalType:"contract IAuth",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"index",internalType:"uint256",type:"uint256"}],name:"getBoost",outputs:[{name:"",internalType:"struct BoostLib.Boost",type:"tuple",components:[{name:"action",internalType:"contract AAction",type:"address"},{name:"validator",internalType:"contract AValidator",type:"address"},{name:"allowList",internalType:"contract AAllowList",type:"address"},{name:"budget",internalType:"contract ABudget",type:"address"},{name:"incentives",internalType:"contract AIncentive[]",type:"address[]"},{name:"protocolFee",internalType:"uint64",type:"uint64"},{name:"referralFee",internalType:"uint64",type:"uint64"},{name:"maxParticipants",internalType:"uint256",type:"uint256"},{name:"owner",internalType:"address",type:"address"}]}],stateMutability:"view"},{type:"function",inputs:[],name:"getBoostCount",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"protocolFee",outputs:[{name:"",internalType:"uint64",type:"uint64"}],stateMutability:"view"},{type:"function",inputs:[],name:"protocolFeeReceiver",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"referralFee",outputs:[{name:"",internalType:"uint64",type:"uint64"}],stateMutability:"view"},{type:"function",inputs:[],name:"registry",outputs:[{name:"",internalType:"contract BoostRegistry",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimFee_",internalType:"uint256",type:"uint256"}],name:"setClaimFee",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"auth_",internalType:"address",type:"address"}],name:"setCreateBoostAuth",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"protocolFee_",internalType:"uint64",type:"uint64"}],name:"setProtocolFee",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"protocolFeeReceiver_",internalType:"address",type:"address"}],name:"setProtocolFeeReceiver",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"referralFee_",internalType:"uint64",type:"uint64"}],name:"setReferralFee",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],I=[{type:"error",inputs:[{name:"registryType",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"identifier",internalType:"bytes32",type:"bytes32"}],name:"AlreadyRegistered"},{type:"error",inputs:[{name:"implementation",internalType:"address",type:"address"}],name:"NotACloneable"},{type:"error",inputs:[{name:"identifier",internalType:"bytes32",type:"bytes32"}],name:"NotRegistered"},{type:"error",inputs:[],name:"Reentrancy"},{type:"event",anonymous:!1,inputs:[{name:"registryType",internalType:"enum BoostRegistry.RegistryType",type:"uint8",indexed:!0},{name:"identifier",internalType:"bytes32",type:"bytes32",indexed:!0},{name:"baseImplementation",internalType:"address",type:"address",indexed:!1},{name:"deployedInstance",internalType:"contract ACloneable",type:"address",indexed:!1}],name:"Deployed"},{type:"event",anonymous:!1,inputs:[{name:"registryType",internalType:"enum BoostRegistry.RegistryType",type:"uint8",indexed:!0},{name:"identifier",internalType:"bytes32",type:"bytes32",indexed:!0},{name:"implementation",internalType:"address",type:"address",indexed:!1}],name:"Registered"},{type:"function",inputs:[{name:"type_",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"base_",internalType:"address",type:"address"},{name:"name_",internalType:"string",type:"string"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"deployClone",outputs:[{name:"instance",internalType:"contract ACloneable",type:"address"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"identifier_",internalType:"bytes32",type:"bytes32"}],name:"getBaseImplementation",outputs:[{name:"implementation",internalType:"contract ACloneable",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"identifier_",internalType:"bytes32",type:"bytes32"}],name:"getClone",outputs:[{name:"clone",internalType:"struct BoostRegistry.Clone",type:"tuple",components:[{name:"baseType",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"instance",internalType:"contract ACloneable",type:"address"},{name:"deployer",internalType:"address",type:"address"},{name:"name",internalType:"string",type:"string"}]}],stateMutability:"view"},{type:"function",inputs:[{name:"type_",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"base_",internalType:"address",type:"address"},{name:"deployer_",internalType:"address",type:"address"},{name:"name_",internalType:"string",type:"string"}],name:"getCloneIdentifier",outputs:[{name:"identifier",internalType:"bytes32",type:"bytes32"}],stateMutability:"pure"},{type:"function",inputs:[{name:"deployer_",internalType:"address",type:"address"}],name:"getClones",outputs:[{name:"",internalType:"bytes32[]",type:"bytes32[]"}],stateMutability:"view"},{type:"function",inputs:[{name:"type_",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"name_",internalType:"string",type:"string"}],name:"getIdentifier",outputs:[{name:"identifier",internalType:"bytes32",type:"bytes32"}],stateMutability:"pure"},{type:"function",inputs:[{name:"type_",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"name_",internalType:"string",type:"string"},{name:"implementation_",internalType:"address",type:"address"}],name:"register",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],c=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[{name:"caller",internalType:"address",type:"address"},{name:"data",internalType:"bytes",type:"bytes"}],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"asset",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"cgdaParams",outputs:[{name:"rewardDecay",internalType:"uint256",type:"uint256"},{name:"rewardBoost",internalType:"uint256",type:"uint256"},{name:"lastClaimTime",internalType:"uint256",type:"uint256"},{name:"currentReward",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"totalBudget",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],m=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[{name:"caller",internalType:"address",type:"address"},{name:"data",internalType:"bytes",type:"bytes"}],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"entry",internalType:"address",type:"address",indexed:!0}],name:"Entry"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"asset",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"drawRaffle",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"uint256",type:"uint256"}],name:"entries",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"limit",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"budgetData",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"strategy",outputs:[{name:"",internalType:"enum AERC20Incentive.Strategy",type:"uint8"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],b=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"asset",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"limit",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"budgetData",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"totalClaimed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],O=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"executor",internalType:"address",type:"address",indexed:!0},{name:"caller",internalType:"address",type:"address",indexed:!1},{name:"success",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionExecuted"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"isValidated",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionValidated"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"VALIDATOR",outputs:[{name:"",internalType:"contract AValidator",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"execute",outputs:[{name:"",internalType:"bool",type:"bool"},{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"payable"},{type:"function",inputs:[],name:"getActionClaimant",outputs:[{name:"",internalType:"struct AEventAction.ActionClaimant",type:"tuple",components:[{name:"signatureType",internalType:"enum AEventAction.SignatureType",type:"uint8"},{name:"signature",internalType:"bytes32",type:"bytes32"},{name:"fieldIndex",internalType:"uint8",type:"uint8"},{name:"targetContract",internalType:"address",type:"address"},{name:"chainid",internalType:"uint256",type:"uint256"}]}],stateMutability:"view"},{type:"function",inputs:[{name:"index",internalType:"uint256",type:"uint256"}],name:"getActionStep",outputs:[{name:"",internalType:"struct AEventAction.ActionStep",type:"tuple",components:[{name:"signature",internalType:"bytes32",type:"bytes32"},{name:"signatureType",internalType:"enum AEventAction.SignatureType",type:"uint8"},{name:"actionType",internalType:"uint8",type:"uint8"},{name:"targetContract",internalType:"address",type:"address"},{name:"chainid",internalType:"uint256",type:"uint256"},{name:"actionParameter",internalType:"struct AEventAction.Criteria",type:"tuple",components:[{name:"filterType",internalType:"enum AEventAction.FilterType",type:"uint8"},{name:"fieldType",internalType:"enum AEventAction.PrimitiveType",type:"uint8"},{name:"fieldIndex",internalType:"uint8",type:"uint8"},{name:"filterData",internalType:"bytes",type:"bytes"}]}]}],stateMutability:"view"},{type:"function",inputs:[],name:"getActionSteps",outputs:[{name:"",internalType:"struct AEventAction.ActionStep[]",type:"tuple[]",components:[{name:"signature",internalType:"bytes32",type:"bytes32"},{name:"signatureType",internalType:"enum AEventAction.SignatureType",type:"uint8"},{name:"actionType",internalType:"uint8",type:"uint8"},{name:"targetContract",internalType:"address",type:"address"},{name:"chainid",internalType:"uint256",type:"uint256"},{name:"actionParameter",internalType:"struct AEventAction.Criteria",type:"tuple",components:[{name:"filterType",internalType:"enum AEventAction.FilterType",type:"uint8"},{name:"fieldType",internalType:"enum AEventAction.PrimitiveType",type:"uint8"},{name:"fieldIndex",internalType:"uint8",type:"uint8"},{name:"filterData",internalType:"bytes",type:"bytes"}]}]}],stateMutability:"view"},{type:"function",inputs:[],name:"getActionStepsCount",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"prepare",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],ee=[{type:"function",inputs:[{name:"addr",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],o=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"InvalidAllocation"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Reentrancy"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"to",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"TransferFailed"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"account",internalType:"address",type:"address",indexed:!0},{name:"isAuthorized",internalType:"bool",type:"bool",indexed:!1}],name:"Authorized"},{type:"event",anonymous:!1,inputs:[{name:"asset",internalType:"address",type:"address",indexed:!0},{name:"to",internalType:"address",type:"address",indexed:!1},{name:"amount",internalType:"uint256",type:"uint256",indexed:!1}],name:"Distributed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"roles",internalType:"uint256",type:"uint256",indexed:!0}],name:"RolesUpdated"},{type:"fallback",stateMutability:"payable"},{type:"function",inputs:[],name:"ADMIN_ROLE",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"MANAGER_ROLE",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"allocate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"payable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"available",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"},{name:"tokenId_",internalType:"uint256",type:"uint256"}],name:"available",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"disburse",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes[]",type:"bytes[]"}],name:"disburseBatch",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"distributed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"},{name:"tokenId_",internalType:"uint256",type:"uint256"}],name:"distributed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"grantRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"accounts_",internalType:"address[]",type:"address[]"},{name:"roles_",internalType:"uint256[]",type:"uint256[]"}],name:"grantRoles",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAllRoles",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAnyRole",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"account_",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"},{name:"",internalType:"address",type:"address"},{name:"",internalType:"uint256[]",type:"uint256[]"},{name:"",internalType:"uint256[]",type:"uint256[]"},{name:"",internalType:"bytes",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"},{name:"",internalType:"address",type:"address"},{name:"",internalType:"uint256",type:"uint256"},{name:"",internalType:"uint256",type:"uint256"},{name:"",internalType:"bytes",type:"bytes"}],name:"onERC1155Received",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"reconcile",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"roles",internalType:"uint256",type:"uint256"}],name:"renounceRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"revokeRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"accounts_",internalType:"address[]",type:"address[]"},{name:"roles_",internalType:"uint256[]",type:"uint256[]"}],name:"revokeRoles",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"}],name:"rolesOf",outputs:[{name:"roles",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"accounts_",internalType:"address[]",type:"address[]"},{name:"authorized_",internalType:"bool[]",type:"bool[]"}],name:"setAuthorized",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"total",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"},{name:"tokenId_",internalType:"uint256",type:"uint256"}],name:"total",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"},{type:"receive",stateMutability:"payable"}],U=[{type:"function",inputs:[{name:"user",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],T=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"roles",internalType:"uint256",type:"uint256",indexed:!0}],name:"RolesUpdated"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"pure"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"grantRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAllRoles",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAnyRole",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"limit",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"budgetData",internalType:"bytes",type:"bytes"}],stateMutability:"pure"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"roles",internalType:"uint256",type:"uint256"}],name:"renounceRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"revokeRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"}],name:"rolesOf",outputs:[{name:"roles",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"selector",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"venue",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"}],v=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"available",internalType:"uint8",type:"uint8"},{name:"id",internalType:"uint256",type:"uint256"}],name:"InvalidIncentive"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"eip712Domain",outputs:[{name:"fields",internalType:"bytes1",type:"bytes1"},{name:"name",internalType:"string",type:"string"},{name:"version",internalType:"string",type:"string"},{name:"chainId",internalType:"uint256",type:"uint256"},{name:"verifyingContract",internalType:"address",type:"address"},{name:"salt",internalType:"bytes32",type:"bytes32"},{name:"extensions",internalType:"uint256[]",type:"uint256[]"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"boostId",internalType:"uint256",type:"uint256"},{name:"incentiveQuantity",internalType:"uint8",type:"uint8"},{name:"claimant",internalType:"address",type:"address"},{name:"incentiveData",internalType:"bytes",type:"bytes"}],name:"hashSignerData",outputs:[{name:"hashedSignerData",internalType:"bytes32",type:"bytes32"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"signers_",internalType:"address[]",type:"address[]"},{name:"authorized_",internalType:"bool[]",type:"bool[]"}],name:"setAuthorized",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"newCaller",internalType:"address",type:"address"}],name:"setValidatorCaller",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"signers",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"boostId",internalType:"uint256",type:"uint256"},{name:"incentiveId",internalType:"uint256",type:"uint256"},{name:"claimant",internalType:"address",type:"address"},{name:"claimData",internalType:"bytes",type:"bytes"}],name:"validate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"}],g=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"roles",internalType:"uint256",type:"uint256",indexed:!0}],name:"RolesUpdated"},{type:"function",inputs:[],name:"LIST_MANAGER_ROLE",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"grantRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAllRoles",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAnyRole",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user_",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isAllowed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"roles",internalType:"uint256",type:"uint256"}],name:"renounceRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"revokeRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"}],name:"rolesOf",outputs:[{name:"roles",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"users_",internalType:"address[]",type:"address[]"},{name:"allowed_",internalType:"bool[]",type:"bool[]"}],name:"setAllowed",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],C=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user_",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isAllowed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"users_",internalType:"address[]",type:"address[]"},{name:"denied_",internalType:"bool[]",type:"bool[]"}],name:"setDenied",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],te=n({abi:L,functionName:"getComponentInterface"}),ne=n({abi:L,functionName:"supportsInterface"}),ae=n({abi:w,functionName:"allowList"}),ie=n({abi:w,functionName:"claimed"}),se=n({abi:w,functionName:"claims"}),pe=n({abi:w,functionName:"isClaimable"}),re=n({abi:w,functionName:"limit"}),ye=n({abi:w,functionName:"owner"}),ue=n({abi:w,functionName:"reward"}),oe=p({abi:w,functionName:"claim"}),le=s({abi:w,functionName:"claim"}),de=n({abi:d,functionName:"claimFee"}),me=n({abi:d,functionName:"createBoostAuth"}),ce=n({abi:d,functionName:"getBoost"}),be=n({abi:d,functionName:"getBoostCount"}),Te=n({abi:d,functionName:"protocolFee"}),fe=n({abi:d,functionName:"protocolFeeReceiver"}),we=p({abi:d,functionName:"claimIncentive"}),ve=p({abi:d,functionName:"claimIncentiveFor"}),Ie=p({abi:d,functionName:"setClaimFee"}),Me=p({abi:d,functionName:"setCreateBoostAuth"}),he=p({abi:d,functionName:"setProtocolFeeReceiver"}),ge=s({abi:d,functionName:"claimIncentive"}),Ne=s({abi:d,functionName:"claimIncentiveFor"}),Oe=s({abi:d,functionName:"setClaimFee"}),Ae=s({abi:d,functionName:"setCreateBoostAuth"}),ze=s({abi:d,functionName:"setProtocolFeeReceiver"}),Ce=n({abi:I,functionName:"getBaseImplementation"}),xe=n({abi:I,functionName:"getCloneIdentifier"}),Re=n({abi:I,functionName:"getClones"}),_e=p({abi:I,functionName:"deployClone"}),He=p({abi:I,functionName:"register"}),De=s({abi:I,functionName:"deployClone"}),qe=s({abi:I,functionName:"register"}),Ee=n({abi:c,functionName:"asset"}),Fe=n({abi:c,functionName:"cgdaParams"}),Be=n({abi:c,functionName:"claimed"}),Pe=n({abi:c,functionName:"claims"}),ke=n({abi:c,functionName:"currentReward"}),Le=n({abi:c,functionName:"isClaimable"}),Ue=n({abi:c,functionName:"owner"}),Se=n({abi:c,functionName:"reward"}),je=n({abi:c,functionName:"totalBudget"}),Ve=p({abi:c,functionName:"claim"}),$e=p({abi:c,functionName:"clawback"}),Ze=s({abi:c,functionName:"claim"}),Xe=s({abi:c,functionName:"clawback"}),Ge=n({abi:m,functionName:"asset"}),We=n({abi:m,functionName:"claimed"}),Qe=n({abi:m,functionName:"claims"}),Je=n({abi:m,functionName:"currentReward"}),Ke=n({abi:m,functionName:"entries"}),Ye=n({abi:m,functionName:"isClaimable"}),et=n({abi:m,functionName:"limit"}),tt=n({abi:m,functionName:"owner"}),nt=n({abi:m,functionName:"reward"}),at=n({abi:m,functionName:"strategy"}),it=p({abi:m,functionName:"claim"}),st=p({abi:m,functionName:"clawback"}),pt=p({abi:m,functionName:"drawRaffle"}),rt=s({abi:m,functionName:"claim"}),yt=s({abi:m,functionName:"clawback"}),ut=s({abi:m,functionName:"drawRaffle"}),ot=n({abi:b,functionName:"asset"}),lt=n({abi:b,functionName:"claimed"}),dt=n({abi:b,functionName:"claims"}),mt=n({abi:b,functionName:"currentReward"}),ct=n({abi:b,functionName:"isClaimable"}),bt=n({abi:b,functionName:"limit"}),Tt=n({abi:b,functionName:"owner"}),ft=n({abi:b,functionName:"reward"}),wt=n({abi:b,functionName:"totalClaimed"}),vt=p({abi:b,functionName:"claim"}),It=p({abi:b,functionName:"clawback"}),Mt=s({abi:b,functionName:"claim"}),ht=s({abi:b,functionName:"clawback"}),gt=n({abi:O,functionName:"getActionClaimant"}),Nt=n({abi:O,functionName:"getActionSteps"}),Ot=p({abi:O,functionName:"execute"}),At=s({abi:O,functionName:"execute"}),zt=n({abi:ee,functionName:"isAuthorized"}),Ct=n({abi:o,functionName:"available"}),xt=n({abi:o,functionName:"distributed"}),Rt=n({abi:o,functionName:"hasAllRoles"}),_t=n({abi:o,functionName:"hasAnyRole"}),Ht=n({abi:o,functionName:"isAuthorized"}),Dt=n({abi:o,functionName:"owner"}),qt=n({abi:o,functionName:"rolesOf"}),Et=n({abi:o,functionName:"total"}),Ft=p({abi:o,functionName:"allocate"}),Bt=p({abi:o,functionName:"clawback"}),Pt=p({abi:o,functionName:"disburse"}),kt=p({abi:o,functionName:"disburseBatch"}),Lt=p({abi:o,functionName:"grantRoles"}),Ut=p({abi:o,functionName:"revokeRoles"}),St=p({abi:o,functionName:"setAuthorized"}),jt=s({abi:o,functionName:"allocate"}),Vt=s({abi:o,functionName:"clawback"}),$t=s({abi:o,functionName:"disburse"}),Zt=s({abi:o,functionName:"disburseBatch"}),Xt=s({abi:o,functionName:"grantRoles"}),Gt=s({abi:o,functionName:"revokeRoles"}),Wt=s({abi:o,functionName:"setAuthorized"}),Qt=n({abi:U,functionName:"isAuthorized"}),Jt=n({abi:T,functionName:"claimed"}),Kt=n({abi:T,functionName:"claims"}),Yt=n({abi:T,functionName:"currentReward"}),en=n({abi:T,functionName:"isClaimable"}),tn=n({abi:T,functionName:"limit"}),nn=n({abi:T,functionName:"reward"}),an=n({abi:T,functionName:"selector"}),sn=n({abi:T,functionName:"venue"}),pn=p({abi:T,functionName:"claim"}),rn=s({abi:T,functionName:"claim"}),yn=n({abi:v,functionName:"hashSignerData"}),un=n({abi:v,functionName:"signers"}),on=p({abi:v,functionName:"setAuthorized"}),ln=p({abi:v,functionName:"setValidatorCaller"}),dn=p({abi:v,functionName:"validate"}),mn=s({abi:v,functionName:"setAuthorized"}),cn=s({abi:v,functionName:"setValidatorCaller"}),bn=s({abi:v,functionName:"validate"}),Tn=n({abi:g,functionName:"isAllowed"}),fn=p({abi:g,functionName:"grantRoles"}),wn=p({abi:g,functionName:"setAllowed"}),vn=s({abi:g,functionName:"grantRoles"}),In=s({abi:g,functionName:"setAllowed"}),Mn=n({abi:C,functionName:"isAllowed"}),hn=p({abi:C,functionName:"setDenied"}),gn=s({abi:C,functionName:"setDenied"});exports.$u=re;exports.A=w;exports.AA=Qt;exports.Ay=_e;exports.BN=dn;exports.Bm=pt;exports.By=Fe;exports.Cw=Rt;exports.Du=ae;exports.Dw=Bt;exports.Dy=Se;exports.EN=on;exports.Em=it;exports.Ew=_t;exports.Fy=Ue;exports.Gl=he;exports.Gw=Lt;exports.H5=nn;exports.Hw=qt;exports.Hy=ke;exports.IN=un;exports.Im=tt;exports.Jl=Ne;exports.Jw=Ut;exports.Ku=ue;exports.Kw=St;exports.L5=sn;exports.LN=mn;exports.Lm=rt;exports.Lw=Ft;exports.M=v;exports.M5=Yt;exports.Mb=ht;exports.Ml=ce;exports.Mw=xt;exports.My=qe;exports.N5=Jt;exports.Ny=He;exports.Ol=be;exports.P2=gn;exports.P5=pn;exports.PN=bn;exports.Pl=Ie;exports.Pm=ut;exports.Pu=ie;exports.Q=O;exports.Ql=ge;exports.R5=en;exports.RN=ln;exports.Rl=Te;exports.Rm=st;exports.Rw=Ht;exports.S=C;exports.S2=hn;exports.Sy=Pe;exports.T=g;exports.Tm=et;exports.Uw=kt;exports.Vl=we;exports.Wf=Nt;exports.Wu=ye;exports.X=W;exports.X5=rn;exports.XN=Tn;exports.Xn=te;exports.Yn=ne;exports.Z=K;exports.Zy=Ve;exports._5=an;exports._l=ve;exports._w=Et;exports._y=Le;exports.ab=mt;exports.av=At;exports.bb=vt;exports.bm=Je;exports.cT=Wt;exports.cm=We;exports.d=d;exports.dT=Gt;exports.db=wt;exports.dh=wn;exports.dm=Ge;exports.eT=jt;exports.eb=ot;exports.ed=Ze;exports.ee=I;exports.ev=Ot;exports.f=m;exports.fb=It;exports.fm=Ke;exports.fy=xe;exports.gb=Mt;exports.gl=me;exports.gm=at;exports.gw=Ct;exports.gy=De;exports.h2=Mn;exports.h5=Kt;exports.hh=In;exports.hl=de;exports.hm=nt;exports.iT=$t;exports.iy=ze;exports.jf=gt;exports.ju=pe;exports.jy=$e;exports.kN=cn;exports.km=yt;exports.l=T;exports.lb=ft;exports.lv=zt;exports.mm=Qe;exports.my=Ce;exports.nT=Vt;exports.nb=dt;exports.ny=Ae;exports.ob=Tt;exports.oe=Q;exports.p=o;exports.ql=Me;exports.qu=se;exports.qw=Pt;exports.qy=je;exports.rT=Xt;exports.rb=bt;exports.re=Y;exports.rh=fn;exports.sT=Zt;exports.sb=ct;exports.tb=lt;exports.td=Xe;exports.tl=oe;exports.ty=Oe;exports.ul=le;exports.v=c;exports.vN=yn;exports.vh=vn;exports.vy=Re;exports.w=b;exports.wm=Ye;exports.xw=Dt;exports.xy=Be;exports.z=J;exports.z5=tn;exports.ze=U;exports.zl=fe;exports.zy=Ee;
|
|
3
|
+
//# sourceMappingURL=generated-BulULVyy.cjs.map
|