@boostxyz/sdk 8.0.0-canary.3 → 8.0.0-canary.4
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 +2 -2
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.js +45 -45
- package/dist/{AllowList-DQf-8HQC.js → AllowList-CTRuUBCQ.js} +41 -41
- package/dist/{AllowList-DQf-8HQC.js.map → AllowList-CTRuUBCQ.js.map} +1 -1
- package/dist/{AllowList-DaX239DR.cjs → AllowList-GEmUfOR1.cjs} +2 -2
- package/dist/{AllowList-DaX239DR.cjs.map → AllowList-GEmUfOR1.cjs.map} +1 -1
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.js +4 -4
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.js +7 -7
- package/dist/AllowLists/SimpleDenyList.cjs +1 -1
- package/dist/AllowLists/SimpleDenyList.js +3 -3
- package/dist/Auth/PassthroughAuth.cjs +1 -1
- package/dist/Auth/PassthroughAuth.js +2 -2
- package/dist/BoostCore.cjs +2 -2
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.d.ts +137 -2
- package/dist/BoostCore.d.ts.map +1 -1
- package/dist/BoostCore.js +336 -206
- package/dist/BoostCore.js.map +1 -1
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.js +21 -21
- package/dist/{Budget-LnAQ_Slw.js → Budget-BH0s7Bxu.js} +52 -52
- package/dist/{Budget-LnAQ_Slw.js.map → Budget-BH0s7Bxu.js.map} +1 -1
- package/dist/{Budget-WIB8IJoM.cjs → Budget-CwNhsa3m.cjs} +2 -2
- package/dist/{Budget-WIB8IJoM.cjs.map → Budget-CwNhsa3m.cjs.map} +1 -1
- package/dist/Budgets/Budget.cjs +1 -1
- package/dist/Budgets/Budget.js +3 -3
- package/dist/Budgets/ManagedBudget.cjs +1 -1
- package/dist/Budgets/ManagedBudget.js +26 -26
- package/dist/Deployable/DeployableTarget.cjs +1 -1
- package/dist/Deployable/DeployableTarget.js +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.js +17 -17
- package/dist/{Incentive-gT7z-4v3.cjs → Incentive-B2ZBE5LU.cjs} +2 -2
- package/dist/{Incentive-gT7z-4v3.cjs.map → Incentive-B2ZBE5LU.cjs.map} +1 -1
- package/dist/{Incentive-D_IBex5V.js → Incentive-BCSV7OtF.js} +41 -41
- package/dist/{Incentive-D_IBex5V.js.map → Incentive-BCSV7OtF.js.map} +1 -1
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.js +17 -17
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.js +14 -14
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.js +13 -13
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs +1 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js +71 -71
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +1 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +35 -35
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js +9 -9
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +12 -12
- package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableIncentive.js +8 -8
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.js +3 -3
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.js +28 -28
- package/dist/{SimpleDenyList-D5AoBdVi.cjs → SimpleDenyList-6_sxnZB0.cjs} +2 -2
- package/dist/{SimpleDenyList-D5AoBdVi.cjs.map → SimpleDenyList-6_sxnZB0.cjs.map} +1 -1
- package/dist/{SimpleDenyList-CtdXM49y.js → SimpleDenyList-CrjjFnn5.js} +17 -17
- package/dist/{SimpleDenyList-CtdXM49y.js.map → SimpleDenyList-CrjjFnn5.js.map} +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs.map +1 -1
- package/dist/Validators/LimitedSignerValidator.d.ts +9 -9
- package/dist/Validators/LimitedSignerValidator.d.ts.map +1 -1
- package/dist/Validators/LimitedSignerValidator.js +19 -19
- package/dist/Validators/LimitedSignerValidator.js.map +1 -1
- package/dist/Validators/LimitedSignerValidatorV2.cjs +2 -0
- package/dist/Validators/LimitedSignerValidatorV2.cjs.map +1 -0
- package/dist/Validators/LimitedSignerValidatorV2.d.ts +842 -0
- package/dist/Validators/LimitedSignerValidatorV2.d.ts.map +1 -0
- package/dist/Validators/LimitedSignerValidatorV2.js +301 -0
- package/dist/Validators/LimitedSignerValidatorV2.js.map +1 -0
- package/dist/Validators/PayableLimitedSignerValidator.cjs +2 -0
- package/dist/Validators/PayableLimitedSignerValidator.cjs.map +1 -0
- package/dist/Validators/PayableLimitedSignerValidator.d.ts.map +1 -1
- package/dist/{Validator-BEUqV28V.js → Validators/PayableLimitedSignerValidator.js} +56 -102
- package/dist/Validators/PayableLimitedSignerValidator.js.map +1 -0
- package/dist/Validators/PayableLimitedSignerValidatorV2.cjs +2 -0
- package/dist/Validators/PayableLimitedSignerValidatorV2.cjs.map +1 -0
- package/dist/Validators/PayableLimitedSignerValidatorV2.d.ts +855 -0
- package/dist/Validators/PayableLimitedSignerValidatorV2.d.ts.map +1 -0
- package/dist/Validators/PayableLimitedSignerValidatorV2.js +372 -0
- package/dist/Validators/PayableLimitedSignerValidatorV2.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 +4 -2
- package/dist/Validators/SignerValidator.d.ts.map +1 -1
- package/dist/Validators/SignerValidator.js +12 -12
- package/dist/Validators/SignerValidator.js.map +1 -1
- package/dist/Validators/SignerValidatorV2.cjs +2 -0
- package/dist/Validators/SignerValidatorV2.cjs.map +1 -0
- package/dist/Validators/SignerValidatorV2.d.ts +728 -0
- package/dist/Validators/SignerValidatorV2.d.ts.map +1 -0
- package/dist/Validators/SignerValidatorV2.js +299 -0
- package/dist/Validators/SignerValidatorV2.js.map +1 -0
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.cjs.map +1 -1
- package/dist/Validators/Validator.d.ts +19 -4
- package/dist/Validators/Validator.d.ts.map +1 -1
- package/dist/Validators/Validator.js +79 -14
- package/dist/Validators/Validator.js.map +1 -1
- package/dist/componentInterfaces-43ygGrVO.js +28 -0
- package/dist/componentInterfaces-43ygGrVO.js.map +1 -0
- package/dist/componentInterfaces-JU4NBkEc.cjs +2 -0
- package/dist/componentInterfaces-JU4NBkEc.cjs.map +1 -0
- package/dist/{deployments-Dw5Suk_D.js → deployments-COm00j8v.js} +48 -39
- package/dist/{deployments-Dw5Suk_D.js.map → deployments-COm00j8v.js.map} +1 -1
- package/dist/deployments-uLDgrxCp.cjs +2 -0
- package/dist/deployments-uLDgrxCp.cjs.map +1 -0
- package/dist/deployments.json +30 -21
- package/dist/generated-CkZm1EVH.cjs +3 -0
- package/dist/generated-CkZm1EVH.cjs.map +1 -0
- package/dist/{generated-krkFnwbV.js → generated-DRbljODL.js} +2314 -1284
- package/dist/generated-DRbljODL.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 +185 -165
- package/dist/index.js.map +1 -1
- package/package.json +25 -1
- package/src/BoostCore.test.ts +77 -11
- package/src/BoostCore.ts +165 -4
- package/src/Budgets/ManagedBudgetWithFees.test.ts +14 -14
- package/src/Budgets/ManagedBudgetWithFeesV2.test.ts +3 -3
- package/src/Incentives/AllowListIncentive.test.ts +5 -5
- package/src/Incentives/CGDAIncentive.test.ts +6 -6
- package/src/Incentives/ERC1155Incentive.test.ts +2 -2
- package/src/Incentives/ERC20Incentive.test.ts +6 -6
- package/src/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.test.ts +5 -5
- package/src/Incentives/ERC20VariableCriteriaIncentiveV2.test.ts +5 -5
- package/src/Incentives/ERC20VariableIncentive.test.ts +7 -8
- package/src/Incentives/PointsIncentive.test.ts +5 -5
- package/src/Validators/LimitedSignerValidator.test.ts +1 -1
- package/src/Validators/LimitedSignerValidator.ts +9 -10
- package/src/Validators/LimitedSignerValidatorV2.test.ts +231 -0
- package/src/Validators/LimitedSignerValidatorV2.ts +707 -0
- package/src/Validators/PayableLimitedSignerValidator.test.ts +1 -1
- package/src/Validators/PayableLimitedSignerValidator.ts +0 -1
- package/src/Validators/PayableLimitedSignerValidatorV2.test.ts +202 -0
- package/src/Validators/PayableLimitedSignerValidatorV2.ts +688 -0
- package/src/Validators/SignerValidator.ts +4 -2
- package/src/Validators/SignerValidatorV2.test.ts +163 -0
- package/src/Validators/SignerValidatorV2.ts +635 -0
- package/src/Validators/Validator.ts +45 -2
- package/src/index.ts +3 -0
- package/dist/Validator-BEUqV28V.js.map +0 -1
- package/dist/Validator-FxcxYKhR.cjs +0 -2
- package/dist/Validator-FxcxYKhR.cjs.map +0 -1
- package/dist/componentInterfaces-BZ3fSNkT.cjs +0 -2
- package/dist/componentInterfaces-BZ3fSNkT.cjs.map +0 -1
- package/dist/componentInterfaces-D2s6AXlV.js +0 -25
- package/dist/componentInterfaces-D2s6AXlV.js.map +0 -1
- package/dist/deployments-DimWVnA4.cjs +0 -2
- package/dist/deployments-DimWVnA4.cjs.map +0 -1
- package/dist/generated-Cf82M-QP.cjs +0 -3
- package/dist/generated-Cf82M-QP.cjs.map +0 -1
- package/dist/generated-krkFnwbV.js.map +0 -1
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { LimitedSignerValidator as x } from "./Validators/LimitedSignerValidator.js";
|
|
7
|
-
import { i as F } from "./deployments-Dw5Suk_D.js";
|
|
8
|
-
import { DeployableTarget as N } from "./Deployable/DeployableTarget.js";
|
|
9
|
-
import { RegistryType as G } from "./utils.js";
|
|
10
|
-
import { SignerValidator as W } from "./Validators/SignerValidator.js";
|
|
11
|
-
const q = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe483398101604081905261002f91610131565b306080524660a0525f60c081905260e08190526101005261004e610091565b6001600160a01b038216610074576040516282b42960e81b815260040160405180910390fd5b61007d826100f6565b600381905561008a610091565b5050610168565b63409feecd19805460018116156100af5763f92ee8a95f526004601cfd5b6001600160401b03808260011c146100f1578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b5f8060408385031215610142575f80fd5b82516001600160a01b0381168114610158575f80fd5b6020939093015192949293505050565b60805160a05160c05160e05161010051611e4e6101965f395f50505f50505f50505f50505f5050611e4e5ff3fe60806040526004361061016d575f3560e01c8063715018a6116100c6578063a1d2756f1161007c578063f04e283e11610057578063f04e283e146103e5578063f2fde38b146103f8578063fee81cf41461040b575f80fd5b8063a1d2756f14610392578063ce5c134f146103b1578063d3de6e75146103c6575f80fd5b806384b0196e116100ac57806384b0196e146103035780638da5cb5b1461032a57806399d32fc41461037d575f80fd5b8063715018a6146102cd578063736c0d5b146102d5575f80fd5b80632f9e058b116101265780634f361c9a116101015780634f361c9a1461029e57806354d1f13d146102b2578063703b6900146102ba575f80fd5b80632f9e058b146102355780634359d28a14610260578063439fab911461027f575f80fd5b8063256929621161015657806325692962146101d257806328d6183b146101dc5780632e75ab5014610216575f80fd5b806301ffc9a7146101715780630668e9d4146101a5575b5f80fd5b34801561017c575f80fd5b5061019061018b3660046115cc565b61043c565b60405190151581526020015b60405180910390f35b3480156101b0575f80fd5b506101c46101bf36600461162c565b610497565b60405190815260200161019c565b6101da6104f8565b005b3480156101e7575f80fd5b506040517fb0fafe5800000000000000000000000000000000000000000000000000000000815260200161019c565b348015610221575f80fd5b506101da610230366004611662565b610545565b348015610240575f80fd5b506101c461024f366004611662565b60016020525f908152604090205481565b34801561026b575f80fd5b506101da61027a3660046116c1565b6105d8565b34801561028a575f80fd5b506101da61029936600461176b565b6106d4565b3480156102a9575f80fd5b506101c46108ae565b6101da6108bc565b6101906102c83660046117aa565b6108f5565b6101da610b03565b3480156102e0575f80fd5b506101906102ef36600461180f565b5f6020819052908152604090205460ff1681565b34801561030e575f80fd5b50610317610b16565b60405161019c9796959493929190611876565b348015610335575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b348015610388575f80fd5b506101c460035481565b34801561039d575f80fd5b506101da6103ac36600461180f565b610bbe565b3480156103bc575f80fd5b506101c460025481565b3480156103d1575f80fd5b506101c46103e0366004611a7f565b610c0d565b6101da6103f336600461180f565b610ca0565b6101da61040636600461180f565b610cdd565b348015610416575f80fd5b506101c461042536600461180f565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fb0fafe58000000000000000000000000000000000000000000000000000000001480610491575061049182610d03565b92915050565b6040805160208101859052908101839052606082811b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016908201525f906074016040516020818303038152906040528051906020012090505b9392505050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b61054d610d58565b60065473ffffffffffffffffffffffffffffffffffffffff161561059d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038190556040518181527f64374f1a975abb9bc8e8857d704b9ead41989ff599d90c1e8f7d34bc2ebea92a9060200160405180910390a150565b6105e0610d58565b828114610619576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156106cd5782828281811061063557610635611ae7565b905060200201602081019061064a9190611b14565b5f8087878581811061065e5761065e611ae7565b9050602002016020810190610673919061180f565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161061b565b5050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156107255760018160011c14303b1061071c5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f80808061073686880188611b43565b9350935093509350610760845f8151811061075357610753611ae7565b6020026020010151610d8d565b6002829055600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555f5b845181101561082a5760015f808784815181106107c6576107c6611ae7565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790556001016107a7565b5050600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155505080156108a9576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f6108b7610df0565b905090565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f806108ff610df0565b905080341461093a576040517faf2eb37300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6109488888888888610ea5565b90505f821180156109565750805b15610af857600554604080517f39a51be500000000000000000000000000000000000000000000000000000000815290515f9273ffffffffffffffffffffffffffffffffffffffff16916339a51be59160048083019260209291908290030181865afa1580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190611c23565b90505f8173ffffffffffffffffffffffffffffffffffffffff16846040515f6040518083038185875af1925050503d805f8114610a44576040519150601f19603f3d011682016040523d82523d5f602084013e610a49565b606091505b5050905080610a84576040517f4033e4e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b888a8973ffffffffffffffffffffffffffffffffffffffff167fb671e5a07ab020a275a7ca33dc2074f9761157b5f6e779751e8fd89909dafc6e8786604051610aed92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405180910390a450505b979650505050505050565b610b0b610d58565b610b145f610f1b565b565b7f0f000000000000000000000000000000000000000000000000000000000000006060805f808083610bac604080518082018252601d81527f50617961626c654c696d697465645369676e657256616c696461746f720000006020808301919091528251808401909352600183527f31000000000000000000000000000000000000000000000000000000000000009083015291565b97989097965046955030945091925090565b610bc6610d58565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8051602080830191909120604080517ffea51d5bd45bcd3c2ecc3679b43a3b80b0bd0923f8c16f822455b8cdecd9852f93810193909352820186905260ff8516606083015273ffffffffffffffffffffffffffffffffffffffff8416608083015260a08201525f90610c979060c00160405160208183030381529060405280519060200120610f80565b95945050505050565b610ca8610d58565b63389a75e1600c52805f526020600c208054421115610cce57636f5e88185f526004601cfd5b5f9055610cda81610f1b565b50565b610ce5610d58565b8060601b610cfa57637448fbae5f526004601cfd5b610cda81610f1b565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fc8ebc758000000000000000000000000000000000000000000000000000000001480610491575061049182610fac565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610b14576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b6006545f9073ffffffffffffffffffffffffffffffffffffffff1615610e9e5760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166399d32fc46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b79190611c3e565b5060035490565b5f610eb1868686611001565b610f04576040517f059b704500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024015b60405180910390fd5b610f11868686868661105b565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f610f896111e3565b6719010000000000005f908152601a91909152603a928352604260182092525090565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fb0fafe580000000000000000000000000000000000000000000000000000000014806104915750610491826112b0565b5f8061100e858585610497565b5f818152600160208190526040822054929350909161102c91611c55565b9050600254811115611042575f925050506104f1565b5f91825260016020819052604090922055949350505050565b6005545f9073ffffffffffffffffffffffffffffffffffffffff1633146110ae576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6110bb83850185611c8d565b90505f815f01518060200190518101906110d59190611d4d565b90505f6110ec898360400151898660200151610c0d565b905087826040015160ff16116111405760408083015190517f17c66bc700000000000000000000000000000000000000000000000000000000815260ff909116600482015260248101899052604401610efb565b815173ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205460ff1661119f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111ab6004828a611305565b602082015182516111d69173ffffffffffffffffffffffffffffffffffffffff909116908390611393565b9998505050505050505050565b5f805f80611255604080518082018252601d81527f50617961626c654c696d697465645369676e657256616c696461746f720000006020808301919091528251808401909352600183527f31000000000000000000000000000000000000000000000000000000000000009083015291565b8151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a09020949350505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fc8ebc758000000000000000000000000000000000000000000000000000000001480610491575061049182611496565b7f3f57fc5c000000000000000000000000000000000000000000000000000000007f4de1225a00000000000000000000000000000000000000000000000000000000600783111561135c57815f528260045260245ffd5b84602052835f5260405f206001841b81541880851c600116600118801561138957835f528560045260245ffd5b5090555050505050565b5f73ffffffffffffffffffffffffffffffffffffffff8416156104f157604051843b61144e578251604081146113d1576041811461140b575061148e565b604084015160ff81901c601b016020527f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660605261141e565b60608401515f1a60205260408401516060525b50835f5260208301516040526020600160805f60015afa5180861860601b3d119250505f6060528060405261148e565b631626ba7e60e01b808252846004830152602482016040815284516020018060448501828860045afa905060208260443d01868b5afa9151911691141691505b509392505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fb8ce7b220000000000000000000000000000000000000000000000000000000014806104915750610491825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5912b89c0000000000000000000000000000000000000000000000000000000014806104915750610491825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061049157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610491565b5f602082840312156115dc575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146104f1575f80fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610cda575f80fd5b5f805f6060848603121561163e575f80fd5b833592506020840135915060408401356116578161160b565b809150509250925092565b5f60208284031215611672575f80fd5b5035919050565b5f8083601f840112611689575f80fd5b50813567ffffffffffffffff8111156116a0575f80fd5b6020830191508360208260051b85010111156116ba575f80fd5b9250929050565b5f805f80604085870312156116d4575f80fd5b843567ffffffffffffffff8111156116ea575f80fd5b6116f687828801611679565b909550935050602085013567ffffffffffffffff811115611715575f80fd5b61172187828801611679565b95989497509550505050565b5f8083601f84011261173d575f80fd5b50813567ffffffffffffffff811115611754575f80fd5b6020830191508360208285010111156116ba575f80fd5b5f806020838503121561177c575f80fd5b823567ffffffffffffffff811115611792575f80fd5b61179e8582860161172d565b90969095509350505050565b5f805f805f608086880312156117be575f80fd5b853594506020860135935060408601356117d78161160b565b9250606086013567ffffffffffffffff8111156117f2575f80fd5b6117fe8882890161172d565b969995985093965092949392505050565b5f6020828403121561181f575f80fd5b81356104f18161160b565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6118b060e083018961182a565b82810360408401526118c2818961182a565b6060840188905273ffffffffffffffffffffffffffffffffffffffff8716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015611924578351835260209384019390920191600101611906565b50909b9a5050505050505050505050565b60ff81168114610cda575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561199357611993611943565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156119e0576119e0611943565b604052919050565b5f67ffffffffffffffff821115611a0157611a01611943565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f830112611a3c575f80fd5b8135611a4f611a4a826119e8565b611999565b818152846020838601011115611a63575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f8060808587031215611a92575f80fd5b843593506020850135611aa481611935565b92506040850135611ab48161160b565b9150606085013567ffffffffffffffff811115611acf575f80fd5b611adb87828801611a2d565b91505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611b24575f80fd5b813580151581146104f1575f80fd5b8035611b3e8161160b565b919050565b5f805f8060808587031215611b56575f80fd5b843567ffffffffffffffff811115611b6c575f80fd5b8501601f81018713611b7c575f80fd5b803567ffffffffffffffff811115611b9657611b96611943565b8060051b611ba660208201611999565b9182526020818401810192908101908a841115611bc1575f80fd5b6020850194505b83851015611bef5784359250611bdd8361160b565b82825260209485019490910190611bc8565b8098505050505050611c0360208601611b33565b925060408501359150611c1860608601611b33565b905092959194509250565b5f60208284031215611c33575f80fd5b81516104f18161160b565b5f60208284031215611c4e575f80fd5b5051919050565b80820180821115610491577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f60208284031215611c9d575f80fd5b813567ffffffffffffffff811115611cb3575f80fd5b820160408185031215611cc4575f80fd5b6040805190810167ffffffffffffffff81118282101715611ce757611ce7611943565b604052813567ffffffffffffffff811115611d00575f80fd5b611d0c86828501611a2d565b825250602082013567ffffffffffffffff811115611d28575f80fd5b611d3486828501611a2d565b602083015250949350505050565b8051611b3e81611935565b5f60208284031215611d5d575f80fd5b815167ffffffffffffffff811115611d73575f80fd5b820160608185031215611d84575f80fd5b611d8c611970565b8151611d978161160b565b8152602082015167ffffffffffffffff811115611db2575f80fd5b8201601f81018613611dc2575f80fd5b8051611dd0611a4a826119e8565b818152876020838501011115611de4575f80fd5b8160208401602083015e5f60208383010152806020850152505050611e0b60408301611d42565b604082015294935050505056fea264697066735822122055485a6409a6ece274d4729b6cf9b29dc90e5dbb91d413815711563942d31cc064736f6c634300081a0033", n = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1, VITE_BOOST_MAINNET_SIGNER_EOA: "0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480", VITE_BOOST_TESTNET_SIGNER_EOA: "0xd63167e9db11B108940b2E8236581F961f33f396" }, s = class s extends N {
|
|
1
|
+
import { U as o, cl as y, cm as p, cn as g, co as A, cp as w, cq as D, cr as C, cs as V, ct as I, cu as E, cv as R } from "../generated-DRbljODL.js";
|
|
2
|
+
import { encodeAbiParameters as r } from "viem";
|
|
3
|
+
import { h as S } from "../deployments-COm00j8v.js";
|
|
4
|
+
import { DeployableTarget as v } from "../Deployable/DeployableTarget.js";
|
|
5
|
+
import { RegistryType as T } from "../utils.js";
|
|
6
|
+
const _ = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe483398101604081905261002f91610131565b306080524660a0525f60c081905260e08190526101005261004e610091565b6001600160a01b038216610074576040516282b42960e81b815260040160405180910390fd5b61007d826100f6565b600381905561008a610091565b5050610168565b63409feecd19805460018116156100af5763f92ee8a95f526004601cfd5b6001600160401b03808260011c146100f1578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b5f8060408385031215610142575f80fd5b82516001600160a01b0381168114610158575f80fd5b6020939093015192949293505050565b60805160a05160c05160e05161010051611e4e6101965f395f50505f50505f50505f50505f5050611e4e5ff3fe60806040526004361061016d575f3560e01c8063715018a6116100c6578063a1d2756f1161007c578063f04e283e11610057578063f04e283e146103e5578063f2fde38b146103f8578063fee81cf41461040b575f80fd5b8063a1d2756f14610392578063ce5c134f146103b1578063d3de6e75146103c6575f80fd5b806384b0196e116100ac57806384b0196e146103035780638da5cb5b1461032a57806399d32fc41461037d575f80fd5b8063715018a6146102cd578063736c0d5b146102d5575f80fd5b80632f9e058b116101265780634f361c9a116101015780634f361c9a1461029e57806354d1f13d146102b2578063703b6900146102ba575f80fd5b80632f9e058b146102355780634359d28a14610260578063439fab911461027f575f80fd5b8063256929621161015657806325692962146101d257806328d6183b146101dc5780632e75ab5014610216575f80fd5b806301ffc9a7146101715780630668e9d4146101a5575b5f80fd5b34801561017c575f80fd5b5061019061018b3660046115cc565b61043c565b60405190151581526020015b60405180910390f35b3480156101b0575f80fd5b506101c46101bf36600461162c565b610497565b60405190815260200161019c565b6101da6104f8565b005b3480156101e7575f80fd5b506040517fb0fafe5800000000000000000000000000000000000000000000000000000000815260200161019c565b348015610221575f80fd5b506101da610230366004611662565b610545565b348015610240575f80fd5b506101c461024f366004611662565b60016020525f908152604090205481565b34801561026b575f80fd5b506101da61027a3660046116c1565b6105d8565b34801561028a575f80fd5b506101da61029936600461176b565b6106d4565b3480156102a9575f80fd5b506101c46108ae565b6101da6108bc565b6101906102c83660046117aa565b6108f5565b6101da610b03565b3480156102e0575f80fd5b506101906102ef36600461180f565b5f6020819052908152604090205460ff1681565b34801561030e575f80fd5b50610317610b16565b60405161019c9796959493929190611876565b348015610335575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b348015610388575f80fd5b506101c460035481565b34801561039d575f80fd5b506101da6103ac36600461180f565b610bbe565b3480156103bc575f80fd5b506101c460025481565b3480156103d1575f80fd5b506101c46103e0366004611a7f565b610c0d565b6101da6103f336600461180f565b610ca0565b6101da61040636600461180f565b610cdd565b348015610416575f80fd5b506101c461042536600461180f565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fb0fafe58000000000000000000000000000000000000000000000000000000001480610491575061049182610d03565b92915050565b6040805160208101859052908101839052606082811b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016908201525f906074016040516020818303038152906040528051906020012090505b9392505050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b61054d610d58565b60065473ffffffffffffffffffffffffffffffffffffffff161561059d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038190556040518181527f64374f1a975abb9bc8e8857d704b9ead41989ff599d90c1e8f7d34bc2ebea92a9060200160405180910390a150565b6105e0610d58565b828114610619576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156106cd5782828281811061063557610635611ae7565b905060200201602081019061064a9190611b14565b5f8087878581811061065e5761065e611ae7565b9050602002016020810190610673919061180f565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161061b565b5050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156107255760018160011c14303b1061071c5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f80808061073686880188611b43565b9350935093509350610760845f8151811061075357610753611ae7565b6020026020010151610d8d565b6002829055600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555f5b845181101561082a5760015f808784815181106107c6576107c6611ae7565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790556001016107a7565b5050600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155505080156108a9576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f6108b7610df0565b905090565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f806108ff610df0565b905080341461093a576040517faf2eb37300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6109488888888888610ea5565b90505f821180156109565750805b15610af857600554604080517f39a51be500000000000000000000000000000000000000000000000000000000815290515f9273ffffffffffffffffffffffffffffffffffffffff16916339a51be59160048083019260209291908290030181865afa1580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190611c23565b90505f8173ffffffffffffffffffffffffffffffffffffffff16846040515f6040518083038185875af1925050503d805f8114610a44576040519150601f19603f3d011682016040523d82523d5f602084013e610a49565b606091505b5050905080610a84576040517f4033e4e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b888a8973ffffffffffffffffffffffffffffffffffffffff167fb671e5a07ab020a275a7ca33dc2074f9761157b5f6e779751e8fd89909dafc6e8786604051610aed92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405180910390a450505b979650505050505050565b610b0b610d58565b610b145f610f1b565b565b7f0f000000000000000000000000000000000000000000000000000000000000006060805f808083610bac604080518082018252601d81527f50617961626c654c696d697465645369676e657256616c696461746f720000006020808301919091528251808401909352600183527f31000000000000000000000000000000000000000000000000000000000000009083015291565b97989097965046955030945091925090565b610bc6610d58565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8051602080830191909120604080517ffea51d5bd45bcd3c2ecc3679b43a3b80b0bd0923f8c16f822455b8cdecd9852f93810193909352820186905260ff8516606083015273ffffffffffffffffffffffffffffffffffffffff8416608083015260a08201525f90610c979060c00160405160208183030381529060405280519060200120610f80565b95945050505050565b610ca8610d58565b63389a75e1600c52805f526020600c208054421115610cce57636f5e88185f526004601cfd5b5f9055610cda81610f1b565b50565b610ce5610d58565b8060601b610cfa57637448fbae5f526004601cfd5b610cda81610f1b565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fc8ebc758000000000000000000000000000000000000000000000000000000001480610491575061049182610fac565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610b14576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b6006545f9073ffffffffffffffffffffffffffffffffffffffff1615610e9e5760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166399d32fc46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b79190611c3e565b5060035490565b5f610eb1868686611001565b610f04576040517f059b704500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024015b60405180910390fd5b610f11868686868661105b565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f610f896111e3565b6719010000000000005f908152601a91909152603a928352604260182092525090565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fb0fafe580000000000000000000000000000000000000000000000000000000014806104915750610491826112b0565b5f8061100e858585610497565b5f818152600160208190526040822054929350909161102c91611c55565b9050600254811115611042575f925050506104f1565b5f91825260016020819052604090922055949350505050565b6005545f9073ffffffffffffffffffffffffffffffffffffffff1633146110ae576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6110bb83850185611c8d565b90505f815f01518060200190518101906110d59190611d4d565b90505f6110ec898360400151898660200151610c0d565b905087826040015160ff16116111405760408083015190517f17c66bc700000000000000000000000000000000000000000000000000000000815260ff909116600482015260248101899052604401610efb565b815173ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205460ff1661119f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111ab6004828a611305565b602082015182516111d69173ffffffffffffffffffffffffffffffffffffffff909116908390611393565b9998505050505050505050565b5f805f80611255604080518082018252601d81527f50617961626c654c696d697465645369676e657256616c696461746f720000006020808301919091528251808401909352600183527f31000000000000000000000000000000000000000000000000000000000000009083015291565b8151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a09020949350505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fc8ebc758000000000000000000000000000000000000000000000000000000001480610491575061049182611496565b7f3f57fc5c000000000000000000000000000000000000000000000000000000007f4de1225a00000000000000000000000000000000000000000000000000000000600783111561135c57815f528260045260245ffd5b84602052835f5260405f206001841b81541880851c600116600118801561138957835f528560045260245ffd5b5090555050505050565b5f73ffffffffffffffffffffffffffffffffffffffff8416156104f157604051843b61144e578251604081146113d1576041811461140b575061148e565b604084015160ff81901c601b016020527f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660605261141e565b60608401515f1a60205260408401516060525b50835f5260208301516040526020600160805f60015afa5180861860601b3d119250505f6060528060405261148e565b631626ba7e60e01b808252846004830152602482016040815284516020018060448501828860045afa905060208260443d01868b5afa9151911691141691505b509392505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fb8ce7b220000000000000000000000000000000000000000000000000000000014806104915750610491825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5912b89c0000000000000000000000000000000000000000000000000000000014806104915750610491825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061049157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610491565b5f602082840312156115dc575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146104f1575f80fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610cda575f80fd5b5f805f6060848603121561163e575f80fd5b833592506020840135915060408401356116578161160b565b809150509250925092565b5f60208284031215611672575f80fd5b5035919050565b5f8083601f840112611689575f80fd5b50813567ffffffffffffffff8111156116a0575f80fd5b6020830191508360208260051b85010111156116ba575f80fd5b9250929050565b5f805f80604085870312156116d4575f80fd5b843567ffffffffffffffff8111156116ea575f80fd5b6116f687828801611679565b909550935050602085013567ffffffffffffffff811115611715575f80fd5b61172187828801611679565b95989497509550505050565b5f8083601f84011261173d575f80fd5b50813567ffffffffffffffff811115611754575f80fd5b6020830191508360208285010111156116ba575f80fd5b5f806020838503121561177c575f80fd5b823567ffffffffffffffff811115611792575f80fd5b61179e8582860161172d565b90969095509350505050565b5f805f805f608086880312156117be575f80fd5b853594506020860135935060408601356117d78161160b565b9250606086013567ffffffffffffffff8111156117f2575f80fd5b6117fe8882890161172d565b969995985093965092949392505050565b5f6020828403121561181f575f80fd5b81356104f18161160b565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6118b060e083018961182a565b82810360408401526118c2818961182a565b6060840188905273ffffffffffffffffffffffffffffffffffffffff8716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015611924578351835260209384019390920191600101611906565b50909b9a5050505050505050505050565b60ff81168114610cda575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561199357611993611943565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156119e0576119e0611943565b604052919050565b5f67ffffffffffffffff821115611a0157611a01611943565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f830112611a3c575f80fd5b8135611a4f611a4a826119e8565b611999565b818152846020838601011115611a63575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f8060808587031215611a92575f80fd5b843593506020850135611aa481611935565b92506040850135611ab48161160b565b9150606085013567ffffffffffffffff811115611acf575f80fd5b611adb87828801611a2d565b91505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611b24575f80fd5b813580151581146104f1575f80fd5b8035611b3e8161160b565b919050565b5f805f8060808587031215611b56575f80fd5b843567ffffffffffffffff811115611b6c575f80fd5b8501601f81018713611b7c575f80fd5b803567ffffffffffffffff811115611b9657611b96611943565b8060051b611ba660208201611999565b9182526020818401810192908101908a841115611bc1575f80fd5b6020850194505b83851015611bef5784359250611bdd8361160b565b82825260209485019490910190611bc8565b8098505050505050611c0360208601611b33565b925060408501359150611c1860608601611b33565b905092959194509250565b5f60208284031215611c33575f80fd5b81516104f18161160b565b5f60208284031215611c4e575f80fd5b5051919050565b80820180821115610491577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f60208284031215611c9d575f80fd5b813567ffffffffffffffff811115611cb3575f80fd5b820160408185031215611cc4575f80fd5b6040805190810167ffffffffffffffff81118282101715611ce757611ce7611943565b604052813567ffffffffffffffff811115611d00575f80fd5b611d0c86828501611a2d565b825250602082013567ffffffffffffffff811115611d28575f80fd5b611d3486828501611a2d565b602083015250949350505050565b8051611b3e81611935565b5f60208284031215611d5d575f80fd5b815167ffffffffffffffff811115611d73575f80fd5b820160608185031215611d84575f80fd5b611d8c611970565b8151611d978161160b565b8152602082015167ffffffffffffffff811115611db2575f80fd5b8201601f81018613611dc2575f80fd5b8051611dd0611a4a826119e8565b818152876020838501011115611de4575f80fd5b8160208401602083015e5f60208383010152806020850152505050611e0b60408301611d42565b604082015294935050505056fea26469706673582212202bb33777c1d237cb84529b646322ad93d2145d70f7cb89638854d86314a7142764736f6c634300081a0033", n = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1, VITE_BOOST_MAINNET_SIGNER_EOA: "0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480", VITE_BOOST_TESTNET_SIGNER_EOA: "0xd63167e9db11B108940b2E8236581F961f33f396" }, s = class s extends v {
|
|
12
7
|
constructor() {
|
|
13
|
-
super(...arguments), this.abi =
|
|
8
|
+
super(...arguments), this.abi = o;
|
|
14
9
|
}
|
|
15
10
|
/**
|
|
16
11
|
* Get the current claim fee. For clones, this reads from the base implementation.
|
|
@@ -21,7 +16,7 @@ const q = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
|
|
|
21
16
|
* @returns {Promise<bigint>}
|
|
22
17
|
*/
|
|
23
18
|
async getClaimFee(f) {
|
|
24
|
-
return await
|
|
19
|
+
return await y(this._config, {
|
|
25
20
|
address: this.assertValidAddress(),
|
|
26
21
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters
|
|
27
22
|
...f
|
|
@@ -49,14 +44,14 @@ const q = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
|
|
|
49
44
|
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
50
45
|
*/
|
|
51
46
|
async setClaimFeeRaw(f, a) {
|
|
52
|
-
const { request: b, result: e } = await
|
|
47
|
+
const { request: b, result: e } = await p(this._config, {
|
|
53
48
|
address: this.assertValidAddress(),
|
|
54
49
|
args: [f],
|
|
55
50
|
...this.optionallyAttachAccount(),
|
|
56
51
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters
|
|
57
52
|
...a
|
|
58
53
|
});
|
|
59
|
-
return { hash: await
|
|
54
|
+
return { hash: await g(
|
|
60
55
|
this._config,
|
|
61
56
|
b
|
|
62
57
|
), result: e };
|
|
@@ -71,7 +66,7 @@ const q = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
|
|
|
71
66
|
* @returns {Promise<boolean>}
|
|
72
67
|
*/
|
|
73
68
|
async signers(f, a) {
|
|
74
|
-
return await
|
|
69
|
+
return await A(this._config, {
|
|
75
70
|
address: this.assertValidAddress(),
|
|
76
71
|
args: [f],
|
|
77
72
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
@@ -88,7 +83,7 @@ const q = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
|
|
|
88
83
|
* @returns {Promise<Hex>}
|
|
89
84
|
*/
|
|
90
85
|
async hashSignerData(f, a) {
|
|
91
|
-
return await
|
|
86
|
+
return await w(this._config, {
|
|
92
87
|
address: this.assertValidAddress(),
|
|
93
88
|
args: [
|
|
94
89
|
f.boostId,
|
|
@@ -124,7 +119,7 @@ const q = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
|
|
|
124
119
|
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>}
|
|
125
120
|
*/
|
|
126
121
|
async validateRaw(f, a) {
|
|
127
|
-
const { request: b, result: e } = await
|
|
122
|
+
const { request: b, result: e } = await D(this._config, {
|
|
128
123
|
address: this.assertValidAddress(),
|
|
129
124
|
args: [
|
|
130
125
|
f.boostId,
|
|
@@ -137,7 +132,7 @@ const q = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
|
|
|
137
132
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters
|
|
138
133
|
...a
|
|
139
134
|
});
|
|
140
|
-
return { hash: await
|
|
135
|
+
return { hash: await C(
|
|
141
136
|
this._config,
|
|
142
137
|
b
|
|
143
138
|
), result: e };
|
|
@@ -168,17 +163,17 @@ const q = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
|
|
|
168
163
|
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
169
164
|
*/
|
|
170
165
|
async setAuthorizedRaw(f, a, b) {
|
|
171
|
-
const { request: e, result:
|
|
166
|
+
const { request: e, result: d } = await V(this._config, {
|
|
172
167
|
address: this.assertValidAddress(),
|
|
173
168
|
args: [f, a],
|
|
174
169
|
...this.optionallyAttachAccount(),
|
|
175
170
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters
|
|
176
171
|
...b
|
|
177
172
|
});
|
|
178
|
-
return { hash: await
|
|
173
|
+
return { hash: await I(
|
|
179
174
|
this._config,
|
|
180
175
|
e
|
|
181
|
-
), result:
|
|
176
|
+
), result: d };
|
|
182
177
|
}
|
|
183
178
|
/**
|
|
184
179
|
* Update the authorized caller of the validator function
|
|
@@ -190,7 +185,7 @@ const q = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
|
|
|
190
185
|
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
191
186
|
*/
|
|
192
187
|
async setValidatorCallerRaw(f, a) {
|
|
193
|
-
const { request: b, result: e } = await
|
|
188
|
+
const { request: b, result: e } = await E(
|
|
194
189
|
this._config,
|
|
195
190
|
{
|
|
196
191
|
address: this.assertValidAddress(),
|
|
@@ -200,7 +195,7 @@ const q = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
|
|
|
200
195
|
...a
|
|
201
196
|
}
|
|
202
197
|
);
|
|
203
|
-
return { hash: await
|
|
198
|
+
return { hash: await R(
|
|
204
199
|
this._config,
|
|
205
200
|
b
|
|
206
201
|
), result: e };
|
|
@@ -226,7 +221,7 @@ const q = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
|
|
|
226
221
|
* @returns {Promise<Hex>}
|
|
227
222
|
*/
|
|
228
223
|
async encodeClaimData(f) {
|
|
229
|
-
return await
|
|
224
|
+
return await P({
|
|
230
225
|
...f,
|
|
231
226
|
validator: this.assertValidAddress()
|
|
232
227
|
});
|
|
@@ -244,21 +239,21 @@ const q = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
|
|
|
244
239
|
const [b, e] = this.validateDeploymentConfig(
|
|
245
240
|
f,
|
|
246
241
|
a
|
|
247
|
-
),
|
|
248
|
-
if (!
|
|
242
|
+
), d = (i = this._config.getClient().chain) == null ? void 0 : i.id;
|
|
243
|
+
if (!d)
|
|
249
244
|
throw new Error(
|
|
250
245
|
"Chain ID is required for PayableLimitedSignerValidator deployment"
|
|
251
246
|
);
|
|
252
|
-
const c = s.bases[
|
|
247
|
+
const c = s.bases[d];
|
|
253
248
|
if (!c)
|
|
254
249
|
throw new Error(
|
|
255
|
-
`Base implementation not found for chain ID ${
|
|
250
|
+
`Base implementation not found for chain ID ${d}. Please ensure PayableLimitedSignerValidator is deployed on this chain.`
|
|
256
251
|
);
|
|
257
252
|
return {
|
|
258
|
-
abi:
|
|
259
|
-
bytecode:
|
|
253
|
+
abi: o,
|
|
254
|
+
bytecode: _,
|
|
260
255
|
args: [
|
|
261
|
-
|
|
256
|
+
L({
|
|
262
257
|
...b,
|
|
263
258
|
baseImplementation: c
|
|
264
259
|
})
|
|
@@ -269,19 +264,19 @@ const q = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
|
|
|
269
264
|
};
|
|
270
265
|
s.bases = {
|
|
271
266
|
...n != null && n.VITE_PAYABLE_LIMITED_SIGNER_VALIDATOR_BASE ? { 31337: void 0 } : {},
|
|
272
|
-
...
|
|
273
|
-
}, s.registryType =
|
|
274
|
-
let
|
|
275
|
-
async function
|
|
276
|
-
signer:
|
|
267
|
+
...S
|
|
268
|
+
}, s.registryType = T.VALIDATOR;
|
|
269
|
+
let l = s;
|
|
270
|
+
async function P({
|
|
271
|
+
signer: t,
|
|
277
272
|
incentiveData: f,
|
|
278
273
|
chainId: a,
|
|
279
274
|
validator: b,
|
|
280
275
|
incentiveQuantity: e,
|
|
281
|
-
claimant:
|
|
276
|
+
claimant: d,
|
|
282
277
|
boostId: c
|
|
283
278
|
}) {
|
|
284
|
-
const
|
|
279
|
+
const h = {
|
|
285
280
|
domain: {
|
|
286
281
|
name: "PayableLimitedSignerValidator",
|
|
287
282
|
version: "1",
|
|
@@ -300,15 +295,15 @@ async function z({
|
|
|
300
295
|
message: {
|
|
301
296
|
boostId: c,
|
|
302
297
|
incentiveQuantity: e,
|
|
303
|
-
claimant:
|
|
298
|
+
claimant: d,
|
|
304
299
|
incentiveData: f
|
|
305
300
|
}
|
|
306
|
-
},
|
|
307
|
-
signer:
|
|
308
|
-
signature:
|
|
301
|
+
}, u = await t.privateKey.signTypedData(h), m = B({
|
|
302
|
+
signer: t.account,
|
|
303
|
+
signature: u,
|
|
309
304
|
incentiveQuantity: e
|
|
310
305
|
});
|
|
311
|
-
return
|
|
306
|
+
return r(
|
|
312
307
|
[
|
|
313
308
|
{
|
|
314
309
|
type: "tuple",
|
|
@@ -319,15 +314,15 @@ async function z({
|
|
|
319
314
|
]
|
|
320
315
|
}
|
|
321
316
|
],
|
|
322
|
-
[{ validatorData:
|
|
317
|
+
[{ validatorData: m, incentiveData: f }]
|
|
323
318
|
);
|
|
324
319
|
}
|
|
325
|
-
function
|
|
326
|
-
signer:
|
|
320
|
+
function B({
|
|
321
|
+
signer: t,
|
|
327
322
|
signature: f,
|
|
328
323
|
incentiveQuantity: a
|
|
329
324
|
}) {
|
|
330
|
-
return
|
|
325
|
+
return r(
|
|
331
326
|
[
|
|
332
327
|
{
|
|
333
328
|
type: "tuple",
|
|
@@ -339,11 +334,11 @@ function M({
|
|
|
339
334
|
]
|
|
340
335
|
}
|
|
341
336
|
],
|
|
342
|
-
[{ signer:
|
|
337
|
+
[{ signer: t, signature: f, incentiveQuantity: a }]
|
|
343
338
|
);
|
|
344
339
|
}
|
|
345
|
-
function
|
|
346
|
-
return
|
|
340
|
+
function L(t) {
|
|
341
|
+
return r(
|
|
347
342
|
[
|
|
348
343
|
{ name: "signers", type: "address[]" },
|
|
349
344
|
{ name: "validatorCaller", type: "address" },
|
|
@@ -351,59 +346,18 @@ function $(d) {
|
|
|
351
346
|
{ name: "baseImplementation", type: "address" }
|
|
352
347
|
],
|
|
353
348
|
[
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
BigInt(
|
|
357
|
-
|
|
349
|
+
t.signers,
|
|
350
|
+
t.validatorCaller,
|
|
351
|
+
BigInt(t.maxClaimCount),
|
|
352
|
+
t.baseImplementation
|
|
358
353
|
]
|
|
359
354
|
);
|
|
360
355
|
}
|
|
361
|
-
const m = {
|
|
362
|
-
[R]: W,
|
|
363
|
-
[T]: x,
|
|
364
|
-
[P]: r
|
|
365
|
-
};
|
|
366
|
-
async function a0(d, f, a) {
|
|
367
|
-
const b = await _(d.config, {
|
|
368
|
-
abi: v,
|
|
369
|
-
functionName: "getComponentInterface",
|
|
370
|
-
address: f,
|
|
371
|
-
...a
|
|
372
|
-
}), e = m[b];
|
|
373
|
-
if (!e)
|
|
374
|
-
throw new O(
|
|
375
|
-
Object.keys(m),
|
|
376
|
-
b
|
|
377
|
-
);
|
|
378
|
-
return new e(d, f);
|
|
379
|
-
}
|
|
380
|
-
const b0 = {
|
|
381
|
-
MAINNET: "0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480",
|
|
382
|
-
TESTNET: "0xd63167e9db11B108940b2E8236581F961f33f396"
|
|
383
|
-
};
|
|
384
|
-
function e0(d) {
|
|
385
|
-
return L(
|
|
386
|
-
[
|
|
387
|
-
{
|
|
388
|
-
type: "tuple",
|
|
389
|
-
name: "BoostClaimData",
|
|
390
|
-
components: [
|
|
391
|
-
{ type: "bytes", name: "validatorData" },
|
|
392
|
-
{ type: "bytes", name: "incentiveData" }
|
|
393
|
-
]
|
|
394
|
-
}
|
|
395
|
-
],
|
|
396
|
-
d
|
|
397
|
-
)[0];
|
|
398
|
-
}
|
|
399
356
|
export {
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
e0 as d,
|
|
406
|
-
z as p,
|
|
407
|
-
a0 as v
|
|
357
|
+
l as PayableLimitedSignerValidator,
|
|
358
|
+
o as payableLimitedSignerValidatorAbi,
|
|
359
|
+
P as preparePayableLimitedSignerValidatorClaimDataPayload,
|
|
360
|
+
B as preparePayableLimitedSignerValidatorInputParams,
|
|
361
|
+
L as preparePayableLimitedSignerValidatorPayload
|
|
408
362
|
};
|
|
409
|
-
//# sourceMappingURL=
|
|
363
|
+
//# sourceMappingURL=PayableLimitedSignerValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayableLimitedSignerValidator.js","sources":["../../src/Validators/PayableLimitedSignerValidator.ts"],"sourcesContent":["import {\n payableLimitedSignerValidatorAbi,\n readPayableLimitedSignerValidatorGetClaimFee,\n readPayableLimitedSignerValidatorHashSignerData,\n readPayableLimitedSignerValidatorSigners,\n simulatePayableLimitedSignerValidatorSetAuthorized,\n simulatePayableLimitedSignerValidatorSetClaimFee,\n simulatePayableLimitedSignerValidatorSetValidatorCaller,\n simulatePayableLimitedSignerValidatorValidate,\n writePayableLimitedSignerValidatorSetAuthorized,\n writePayableLimitedSignerValidatorSetClaimFee,\n writePayableLimitedSignerValidatorSetValidatorCaller,\n writePayableLimitedSignerValidatorValidate,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/validators/PayableLimitedSignerValidator.sol/PayableLimitedSignerValidator.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n type PrivateKeyAccount,\n encodeAbiParameters,\n} from 'viem';\nimport { PayableLimitedSignerValidator as PayableLimitedSignerValidatorBases } 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';\nimport type {\n LimitedSignerValidatorInputParams,\n LimitedSignerValidatorValidatePayload,\n} from './LimitedSignerValidator';\n\nexport { payableLimitedSignerValidatorAbi };\n\n/**\n * Object representation of a {@link PayableLimitedSignerValidator} initialization payload\n *\n * @export\n * @interface PayableLimitedSignerValidatorPayload\n * @typedef {PayableLimitedSignerValidatorPayload}\n */\nexport interface PayableLimitedSignerValidatorPayload {\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 validator function\n * @type {Address}\n */\n validatorCaller: Address;\n /**\n * The max quantity of claims a user can make for a given incentive\n * @type {number}\n */\n maxClaimCount: number;\n}\n\n/**\n * Extended validate payload that includes the payment value\n *\n * @export\n * @interface PayableLimitedSignerValidatorValidatePayload\n * @typedef {PayableLimitedSignerValidatorValidatePayload}\n */\nexport interface PayableLimitedSignerValidatorValidatePayload\n extends LimitedSignerValidatorValidatePayload {\n /**\n * The amount of ETH to send with the validation call (must match claimFee exactly)\n *\n * @type {bigint}\n */\n value: bigint;\n}\n\n/**\n * Signer Validator Claim Data Payload\n *\n * @export\n * @interface PayableLimitedSignerValidatorClaimDataParams\n * @typedef {PayableLimitedSignerValidatorClaimDataParams}\n */\nexport interface PayableLimitedSignerValidatorClaimDataParams {\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\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 representing the payload for signing before validation.\n *\n * @export\n * @interface PayableLimitedSignerValidatorSignaturePayload\n * @typedef {PayableLimitedSignerValidatorSignaturePayload}\n */\nexport interface PayableLimitedSignerValidatorSignaturePayload {\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 `PayableLimitedSignerValidator` event types.\n *\n * @export\n * @typedef {PayableLimitedSignerValidatorLog}\n */\nexport type PayableLimitedSignerValidatorLog<\n event extends ContractEventName<\n typeof payableLimitedSignerValidatorAbi\n > = ContractEventName<typeof payableLimitedSignerValidatorAbi>,\n> = GenericLog<typeof payableLimitedSignerValidatorAbi, event>;\n\n/**\n * A validator that verifies signatures, limits claims per address, and requires a claim fee.\n * The claim fee is stored on the base implementation and all clones read from it.\n * This allows updating the fee globally by only changing it on the base.\n *\n * @export\n * @class PayableLimitedSignerValidator\n * @extends {DeployableTarget}\n */\nexport class PayableLimitedSignerValidator extends DeployableTarget<\n PayableLimitedSignerValidatorPayload,\n typeof payableLimitedSignerValidatorAbi\n> {\n /**\n * @inheritdoc\n *\n * @public\n * @readonly\n * @type {*}\n */\n public override readonly abi = payableLimitedSignerValidatorAbi;\n\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n ...(import.meta.env?.VITE_PAYABLE_LIMITED_SIGNER_VALIDATOR_BASE\n ? { 31337: import.meta.env.VITE_PAYABLE_LIMITED_SIGNER_VALIDATOR_BASE }\n : {}),\n ...(PayableLimitedSignerValidatorBases as Record<number, Address>),\n };\n\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.VALIDATOR;\n\n /**\n * Get the current claim fee. For clones, this reads from the base implementation.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async getClaimFee(params?: ReadParams): Promise<bigint> {\n return await readPayableLimitedSignerValidatorGetClaimFee(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters\n ...(params as any),\n });\n }\n\n /**\n * Set the claim fee (only callable on the base implementation by the owner)\n *\n * @public\n * @async\n * @param {bigint} newFee - The new claim fee amount in wei\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setClaimFee(\n newFee: bigint,\n params?: WriteParams,\n ): Promise<void> {\n return await this.awaitResult(this.setClaimFeeRaw(newFee, params));\n }\n\n /**\n * Set the claim fee (only callable on the base implementation by the owner)\n *\n * @public\n * @async\n * @param {bigint} newFee - The new claim fee amount in wei\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setClaimFeeRaw(newFee: bigint, params?: WriteParams) {\n const { request, result } =\n await simulatePayableLimitedSignerValidatorSetClaimFee(this._config, {\n address: this.assertValidAddress(),\n args: [newFee],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters\n ...(params as any),\n });\n const hash = await writePayableLimitedSignerValidatorSetClaimFee(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * The set of authorized signers\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>}\n */\n public async signers(address: Address, params?: ReadParams) {\n return await readPayableLimitedSignerValidatorSigners(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 {PayableLimitedSignerValidatorSignaturePayload} payload\n * @param {?ReadParams} [params]\n * @returns {Promise<Hex>}\n */\n public async hashSignerData(\n payload: PayableLimitedSignerValidatorSignaturePayload,\n params?: ReadParams,\n ) {\n return await readPayableLimitedSignerValidatorHashSignerData(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.\n * Requires exact payment of the claim fee.\n *\n * @public\n * @async\n * @param {PayableLimitedSignerValidatorValidatePayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the action has been validated\n */\n protected async validate(\n payload: PayableLimitedSignerValidatorValidatePayload,\n params?: WriteParams,\n ): Promise<boolean> {\n return await this.awaitResult(this.validateRaw(payload, params));\n }\n\n /**\n * Validate that the action has been completed successfully.\n * Requires exact payment of the claim fee.\n *\n * @public\n * @async\n * @param {PayableLimitedSignerValidatorValidatePayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>}\n */\n protected async validateRaw(\n payload: PayableLimitedSignerValidatorValidatePayload,\n params?: WriteParams,\n ) {\n const { request, result } =\n await simulatePayableLimitedSignerValidatorValidate(this._config, {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveId,\n payload.claimant,\n payload.claimData,\n ],\n value: payload.value,\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters\n ...(params as any),\n });\n const hash = await writePayableLimitedSignerValidatorValidate(\n this._config,\n request,\n );\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} [params]\n * @returns {Promise<void>}\n */\n public async setAuthorized(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams,\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} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setAuthorizedRaw(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams,\n ) {\n const { request, result } =\n await simulatePayableLimitedSignerValidatorSetAuthorized(this._config, {\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\n ...(params as any),\n });\n const hash = await writePayableLimitedSignerValidatorSetAuthorized(\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} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setValidatorCallerRaw(address: Address, params?: WriteParams) {\n const { request, result } =\n await simulatePayableLimitedSignerValidatorSetValidatorCaller(\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\n ...(params as any),\n },\n );\n const hash = await writePayableLimitedSignerValidatorSetValidatorCaller(\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} [params]\n * @returns {Promise<void>}\n */\n public async setValidatorCaller(address: Address, params?: WriteParams) {\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 {PayableLimitedSignerValidatorClaimDataParams} params\n * @returns {Promise<Hex>}\n */\n public async encodeClaimData(\n params: Omit<PayableLimitedSignerValidatorClaimDataParams, 'validator'>,\n ): Promise<Hex> {\n return await preparePayableLimitedSignerValidatorClaimDataPayload({\n ...params,\n validator: this.assertValidAddress(),\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?PayableLimitedSignerValidatorPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: PayableLimitedSignerValidatorPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n\n // set the base implementation address\n const chainId = this._config.getClient().chain?.id;\n if (!chainId) {\n throw new Error(\n 'Chain ID is required for PayableLimitedSignerValidator deployment',\n );\n }\n const baseImplementation = PayableLimitedSignerValidator.bases[chainId];\n if (!baseImplementation) {\n throw new Error(\n `Base implementation not found for chain ID ${chainId}. Please ensure PayableLimitedSignerValidator is deployed on this chain.`,\n );\n }\n\n return {\n abi: payableLimitedSignerValidatorAbi,\n bytecode: bytecode as Hex,\n args: [\n preparePayableLimitedSignerValidatorPayload({\n ...payload,\n baseImplementation,\n }),\n ],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Payable Limited Signer Validator Claim Data Payload Preparation\n *\n * @export\n * @async\n * @param {PayableLimitedSignerValidatorClaimDataParams} param0\n * @returns {Promise<Hex>}\n */\nexport async function preparePayableLimitedSignerValidatorClaimDataPayload({\n signer,\n incentiveData,\n chainId,\n validator,\n incentiveQuantity,\n claimant,\n boostId,\n}: PayableLimitedSignerValidatorClaimDataParams): Promise<Hex> {\n const domain = {\n name: 'PayableLimitedSignerValidator',\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 signer.privateKey.signTypedData(typedData);\n\n // Prepare the claim data payload using the new helper\n const validatorData = preparePayableLimitedSignerValidatorInputParams({\n signer: signer.account,\n signature: trustedSignature,\n incentiveQuantity,\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 PayableLimitedSignerValidatorInputParams}, properly encode the initialization payload.\n *\n * @param {LimitedSignerValidatorInputParams} param0\n * @param {Address} param0.signer\n * @param {Hex} param0.signature\n * @param {number} param0.incentiveQuantity\n * @returns {Hex}\n */\nexport function preparePayableLimitedSignerValidatorInputParams({\n signer,\n signature,\n incentiveQuantity,\n}: LimitedSignerValidatorInputParams) {\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 * Prepare the initialization payload for a PayableLimitedSignerValidator\n *\n * @export\n * @param {PayableLimitedSignerValidatorPayload & { baseImplementation: Address }} payload\n * @returns {Hex}\n */\nexport function preparePayableLimitedSignerValidatorPayload(\n payload: PayableLimitedSignerValidatorPayload & {\n baseImplementation: Address;\n },\n): Hex {\n return encodeAbiParameters(\n [\n { name: 'signers', type: 'address[]' },\n { name: 'validatorCaller', type: 'address' },\n { name: 'maxClaimCount', type: 'uint256' },\n { name: 'baseImplementation', type: 'address' },\n ],\n [\n payload.signers,\n payload.validatorCaller,\n BigInt(payload.maxClaimCount),\n payload.baseImplementation,\n ],\n );\n}\n"],"names":["_PayableLimitedSignerValidator","DeployableTarget","payableLimitedSignerValidatorAbi","params","readPayableLimitedSignerValidatorGetClaimFee","newFee","request","result","simulatePayableLimitedSignerValidatorSetClaimFee","writePayableLimitedSignerValidatorSetClaimFee","address","readPayableLimitedSignerValidatorSigners","payload","readPayableLimitedSignerValidatorHashSignerData","simulatePayableLimitedSignerValidatorValidate","writePayableLimitedSignerValidatorValidate","addresses","allowed","simulatePayableLimitedSignerValidatorSetAuthorized","writePayableLimitedSignerValidatorSetAuthorized","simulatePayableLimitedSignerValidatorSetValidatorCaller","writePayableLimitedSignerValidatorSetValidatorCaller","preparePayableLimitedSignerValidatorClaimDataPayload","_payload","_options","options","chainId","_a","baseImplementation","bytecode","preparePayableLimitedSignerValidatorPayload","__vite_import_meta_env__","PayableLimitedSignerValidatorBases","RegistryType","PayableLimitedSignerValidator","signer","incentiveData","validator","incentiveQuantity","claimant","boostId","typedData","trustedSignature","validatorData","preparePayableLimitedSignerValidatorInputParams","encodeAbiParameters","signature"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../generated-CkZm1EVH.cjs"),l=require("viem"),A=require("../deployments-uLDgrxCp.cjs"),w=require("../Deployable/DeployableTarget.cjs"),D=require("../utils.cjs"),C="0x610120604052348015610010575f80fd5b506040516120da3803806120da83398101604081905261002f91610131565b306080524660a0525f60c081905260e08190526101005261004e610091565b6001600160a01b038216610074576040516282b42960e81b815260040160405180910390fd5b61007d826100f6565b600381905561008a610091565b5050610168565b63409feecd19805460018116156100af5763f92ee8a95f526004601cfd5b6001600160401b03808260011c146100f1578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b5f8060408385031215610142575f80fd5b82516001600160a01b0381168114610158575f80fd5b6020939093015192949293505050565b60805160a05160c05160e05161010051611f446101965f395f50505f50505f50505f50505f5050611f445ff3fe608060405260043610610178575f3560e01c8063637d7cbe116100d157806399d32fc41161007c578063f04e283e11610057578063f04e283e1461043b578063f2fde38b1461044e578063fee81cf414610461575f80fd5b806399d32fc4146103f2578063a1d2756f14610407578063ce5c134f14610426575f80fd5b8063736c0d5b116100ac578063736c0d5b1461034a57806384b0196e146103785780638da5cb5b1461039f575f80fd5b8063637d7cbe14610310578063703b69001461032f578063715018a614610342575f80fd5b80632f9e058b11610131578063439fab911161010c578063439fab91146102d55780634f361c9a146102f457806354d1f13d14610308575f80fd5b80632f9e058b14610240578063394ff1811461026b5780634359d28a146102b6575f80fd5b8063256929621161016157806325692962146101dd57806328d6183b146101e75780632e75ab5014610221575f80fd5b806301ffc9a71461017c5780630668e9d4146101b0575b5f80fd5b348015610187575f80fd5b5061019b6101963660046116a3565b610492565b60405190151581526020015b60405180910390f35b3480156101bb575f80fd5b506101cf6101ca366004611703565b6104ed565b6040519081526020016101a7565b6101e561054e565b005b3480156101f2575f80fd5b506040517f89b50fd90000000000000000000000000000000000000000000000000000000081526020016101a7565b34801561022c575f80fd5b506101e561023b366004611739565b61059b565b34801561024b575f80fd5b506101cf61025a366004611739565b60016020525f908152604090205481565b348015610276575f80fd5b50604080518082018252601f81527f50617961626c654c696d697465645369676e657256616c696461746f72563200602082015290516101a7919061179c565b3480156102c1575f80fd5b506101e56102d03660046117f6565b61062e565b3480156102e0575f80fd5b506101e56102ef3660046118a0565b61072a565b3480156102ff575f80fd5b506101cf610904565b6101e5610912565b34801561031b575f80fd5b506101cf61032a366004611a29565b61094b565b61019b61033d366004611aa5565b6109ec565b6101e5610c76565b348015610355575f80fd5b5061019b610364366004611b0a565b5f6020819052908152604090205460ff1681565b348015610383575f80fd5b5061038c610c89565b6040516101a79796959493929190611b25565b3480156103aa575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a7565b3480156103fd575f80fd5b506101cf60035481565b348015610412575f80fd5b506101e5610421366004611b0a565b610d31565b348015610431575f80fd5b506101cf60025481565b6101e5610449366004611b0a565b610d80565b6101e561045c366004611b0a565b610dbd565b34801561046c575f80fd5b506101cf61047b366004611b0a565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f89b50fd90000000000000000000000000000000000000000000000000000000014806104e757506104e782610de3565b92915050565b6040805160208101859052908101839052606082811b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016908201525f906074016040516020818303038152906040528051906020012090505b9392505050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6105a3610e38565b60065473ffffffffffffffffffffffffffffffffffffffff16156105f3576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038190556040518181527f64374f1a975abb9bc8e8857d704b9ead41989ff599d90c1e8f7d34bc2ebea92a9060200160405180910390a150565b610636610e38565b82811461066f576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156107235782828281811061068b5761068b611be4565b90506020020160208101906106a09190611c11565b5f808787858181106106b4576106b4611be4565b90506020020160208101906106c99190611b0a565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055600101610671565b5050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf601132805460038255801561077b5760018160011c14303b106107725763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f80808061078c86880188611c40565b93509350935093506107b6845f815181106107a9576107a9611be4565b6020026020010151610e6d565b6002829055600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555f5b84518110156108805760015f8087848151811061081c5761081c611be4565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790556001016107fd565b5050600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155505080156108ff576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f61090d610ed0565b905090565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b8151602080840191909120604080517f8fb7610832fbad31db1c5a2a863d64e24447977c1c2eee76e29788abaf1cf3a593810193909352820187905260ff8616606083015273ffffffffffffffffffffffffffffffffffffffff808616608084015260a0830191909152821660c08201525f906109e09060e00160405160208183030381529060405280519060200120610f85565b90505b95945050505050565b5f806109f6610ed0565b9050803414610a31576040517faf2eb37300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610a3f8888888888610fb1565b905080610a78576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8115610c6857600554604080517f39a51be500000000000000000000000000000000000000000000000000000000815290515f9273ffffffffffffffffffffffffffffffffffffffff16916339a51be59160048083019260209291908290030181865afa158015610aeb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0f9190611d20565b905073ffffffffffffffffffffffffffffffffffffffff8116610b5e576040517f4033e4e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff16846040515f6040518083038185875af1925050503d805f8114610bb4576040519150601f19603f3d011682016040523d82523d5f602084013e610bb9565b606091505b5050905080610bf4576040517f4033e4e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b888a8973ffffffffffffffffffffffffffffffffffffffff167fb671e5a07ab020a275a7ca33dc2074f9761157b5f6e779751e8fd89909dafc6e8786604051610c5d92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405180910390a450505b506001979650505050505050565b610c7e610e38565b610c875f611073565b565b7f0f000000000000000000000000000000000000000000000000000000000000006060805f808083610d1f604080518082018252601f81527f50617961626c654c696d697465645369676e657256616c696461746f725632006020808301919091528251808401909352600183527f31000000000000000000000000000000000000000000000000000000000000009083015291565b97989097965046955030945091925090565b610d39610e38565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610d88610e38565b63389a75e1600c52805f526020600c208054421115610dae57636f5e88185f526004601cfd5b5f9055610dba81611073565b50565b610dc5610e38565b8060601b610dda57637448fbae5f526004601cfd5b610dba81611073565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167ff1a436d90000000000000000000000000000000000000000000000000000000014806104e757506104e7826110d8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610c87576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b6006545f9073ffffffffffffffffffffffffffffffffffffffff1615610f7e5760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166399d32fc46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f5a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061090d9190611d3b565b5060035490565b5f610f8e61112d565b6719010000000000005f908152601a91909152603a928352604260182092525090565b5f80610fbe8787876104ed565b5f8181526001602081905260408220549293509091610fdc91611d52565b9050600254811115611037576040517f059b704500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871660048201526024015b60405180910390fd5b5f61104589898989896111fa565b905080611057575f93505050506109e3565b505f918252600160208190526040909220559695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f89b50fd90000000000000000000000000000000000000000000000000000000014806104e757506104e782611387565b5f805f8061119f604080518082018252601f81527f50617961626c654c696d697465645369676e657256616c696461746f725632006020808301919091528251808401909352600183527f31000000000000000000000000000000000000000000000000000000000000009083015291565b8151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a09020949350505050565b6005545f9073ffffffffffffffffffffffffffffffffffffffff16331461124d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61125a83850185611d8a565b90505f815f01518060200190518101906112749190611e43565b90505f611290898360400151898660200151876040015161094b565b905087826040015160ff16116112e45760408083015190517f17c66bc700000000000000000000000000000000000000000000000000000000815260ff90911660048201526024810189905260440161102e565b815173ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205460ff16611343576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61134f6004828a6113dc565b6020820151825161137a9173ffffffffffffffffffffffffffffffffffffffff90911690839061146a565b9998505050505050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167ff1a436d90000000000000000000000000000000000000000000000000000000014806104e757506104e78261156d565b7f3f57fc5c000000000000000000000000000000000000000000000000000000007f4de1225a00000000000000000000000000000000000000000000000000000000600783111561143357815f528260045260245ffd5b84602052835f5260405f206001841b81541880851c600116600118801561146057835f528560045260245ffd5b5090555050505050565b5f73ffffffffffffffffffffffffffffffffffffffff84161561054757604051843b611525578251604081146114a857604181146114e25750611565565b604084015160ff81901c601b016020527f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff166060526114f5565b60608401515f1a60205260408401516060525b50835f5260208301516040526020600160805f60015afa5180861860601b3d119250505f60605280604052611565565b631626ba7e60e01b808252846004830152602482016040815284516020018060448501828860045afa905060208260443d01868b5afa9151911691141691505b509392505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f81818aa30000000000000000000000000000000000000000000000000000000014806104e757506104e7825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5912b89c0000000000000000000000000000000000000000000000000000000014806104e757506104e7825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d0000000000000000000000000000000000000000000000000000000014806104e757507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146104e7565b5f602082840312156116b3575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610547575f80fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610dba575f80fd5b5f805f60608486031215611715575f80fd5b8335925060208401359150604084013561172e816116e2565b809150509250925092565b5f60208284031215611749575f80fd5b5035919050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6105476020830184611750565b5f8083601f8401126117be575f80fd5b50813567ffffffffffffffff8111156117d5575f80fd5b6020830191508360208260051b85010111156117ef575f80fd5b9250929050565b5f805f8060408587031215611809575f80fd5b843567ffffffffffffffff81111561181f575f80fd5b61182b878288016117ae565b909550935050602085013567ffffffffffffffff81111561184a575f80fd5b611856878288016117ae565b95989497509550505050565b5f8083601f840112611872575f80fd5b50813567ffffffffffffffff811115611889575f80fd5b6020830191508360208285010111156117ef575f80fd5b5f80602083850312156118b1575f80fd5b823567ffffffffffffffff8111156118c7575f80fd5b6118d385828601611862565b90969095509350505050565b60ff81168114610dba575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561193d5761193d6118ed565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561198a5761198a6118ed565b604052919050565b5f67ffffffffffffffff8211156119ab576119ab6118ed565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f8301126119e6575f80fd5b81356119f96119f482611992565b611943565b818152846020838601011115611a0d575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f60a08688031215611a3d575f80fd5b853594506020860135611a4f816118df565b93506040860135611a5f816116e2565b9250606086013567ffffffffffffffff811115611a7a575f80fd5b611a86888289016119d7565b9250506080860135611a97816116e2565b809150509295509295909350565b5f805f805f60808688031215611ab9575f80fd5b85359450602086013593506040860135611ad2816116e2565b9250606086013567ffffffffffffffff811115611aed575f80fd5b611af988828901611862565b969995985093965092949392505050565b5f60208284031215611b1a575f80fd5b8135610547816116e2565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f611b5f60e0830189611750565b8281036040840152611b718189611750565b6060840188905273ffffffffffffffffffffffffffffffffffffffff8716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015611bd3578351835260209384019390920191600101611bb5565b50909b9a5050505050505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611c21575f80fd5b81358015158114610547575f80fd5b8035611c3b816116e2565b919050565b5f805f8060808587031215611c53575f80fd5b843567ffffffffffffffff811115611c69575f80fd5b8501601f81018713611c79575f80fd5b803567ffffffffffffffff811115611c9357611c936118ed565b8060051b611ca360208201611943565b9182526020818401810192908101908a841115611cbe575f80fd5b6020850194505b83851015611cec5784359250611cda836116e2565b82825260209485019490910190611cc5565b8098505050505050611d0060208601611c30565b925060408501359150611d1560608601611c30565b905092959194509250565b5f60208284031215611d30575f80fd5b8151610547816116e2565b5f60208284031215611d4b575f80fd5b5051919050565b808201808211156104e7577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f60208284031215611d9a575f80fd5b813567ffffffffffffffff811115611db0575f80fd5b820160608185031215611dc1575f80fd5b611dc961191a565b813567ffffffffffffffff811115611ddf575f80fd5b611deb868285016119d7565b825250602082013567ffffffffffffffff811115611e07575f80fd5b611e13868285016119d7565b60208301525060408201359150611e29826116e2565b60408101919091529392505050565b8051611c3b816118df565b5f60208284031215611e53575f80fd5b815167ffffffffffffffff811115611e69575f80fd5b820160608185031215611e7a575f80fd5b611e8261191a565b8151611e8d816116e2565b8152602082015167ffffffffffffffff811115611ea8575f80fd5b8201601f81018613611eb8575f80fd5b8051611ec66119f482611992565b818152876020838501011115611eda575f80fd5b8160208401602083015e5f60208383010152806020850152505050611f0160408301611e38565b604082015294935050505056fea26469706673582212209a52e135c9052ba1528801d8dbb2c8c183748481d7f9c9f79242affa3033939e64736f6c634300081a0033",n={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_BOOST_MAINNET_SIGNER_EOA:"0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480",VITE_BOOST_TESTNET_SIGNER_EOA:"0xd63167e9db11B108940b2E8236581F961f33f396"},i=class i extends w.DeployableTarget{constructor(){super(...arguments),this.abi=b.q}async getClaimFee(f){return await b.B7(this._config,{address:this.assertValidAddress(),...f})}async setClaimFee(f,e){return await this.awaitResult(this.setClaimFeeRaw(f,e))}async setClaimFeeRaw(f,e){const{request:a,result:d}=await b.oZ(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...e});return{hash:await b.J7(this._config,a),result:d}}async signers(f,e){return await b.k7(this._config,{address:this.assertValidAddress(),args:[f],...e})}async hashSignerData(f,e){const a=f.referrer??f.claimant;return await b.F7(this._config,{address:this.assertValidAddress(),args:[f.boostId,f.incentiveQuantity,f.claimant,f.incentiveData,a],...e})}async validate(f,e){return await this.awaitResult(this.validateRaw(f,e))}async validateRaw(f,e){const{request:a,result:d}=await b.lZ(this._config,{address:this.assertValidAddress(),args:[f.boostId,f.incentiveId,f.claimant,f.claimData],value:f.value,...this.optionallyAttachAccount(),...e});return{hash:await b.Y7(this._config,a),result:d}}async setAuthorized(f,e,a){return await this.awaitResult(this.setAuthorizedRaw(f,e,a))}async setAuthorizedRaw(f,e,a){const{request:d,result:t}=await b.rZ(this._config,{address:this.assertValidAddress(),args:[f,e],...this.optionallyAttachAccount(),...a});return{hash:await b.Q7(this._config,d),result:t}}async setValidatorCallerRaw(f,e){const{request:a,result:d}=await b.pZ(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...e});return{hash:await b.K7(this._config,a),result:d}}async setValidatorCaller(f,e){return await this.awaitResult(this.setValidatorCallerRaw(f,e))}async encodeClaimData(f){return await h({...f,validator:this.assertValidAddress()})}buildParameters(f,e){var r;const[a,d]=this.validateDeploymentConfig(f,e),t=(r=this._config.getClient().chain)==null?void 0:r.id;if(!t)throw new Error("Chain ID is required for PayableLimitedSignerValidatorV2 deployment");const s=i.bases[t];if(!s)throw new Error(`Base implementation not found for chain ID ${t}. Please ensure PayableLimitedSignerValidatorV2 is deployed on this chain.`);return{abi:b.q,bytecode:C,args:[y({...a,baseImplementation:s})],...this.optionallyAttachAccount(d.account)}}};i.bases={...n!=null&&n.VITE_PAYABLE_LIMITED_SIGNER_VALIDATOR_BASE?{31337:void 0}:{},...A.PayableLimitedSignerValidatorV2},i.registryType=D.RegistryType.VALIDATOR;let o=i;async function h({signer:c,incentiveData:f,chainId:e,validator:a,incentiveQuantity:d,claimant:t,boostId:s,referrer:r}){const u=r??t,g={domain:{name:"PayableLimitedSignerValidatorV2",version:"1",chainId:e,verifyingContract:a},types:{SignerValidatorData:[{name:"boostId",type:"uint256"},{name:"incentiveQuantity",type:"uint8"},{name:"claimant",type:"address"},{name:"incentiveData",type:"bytes"},{name:"referrer",type:"address"}]},primaryType:"SignerValidatorData",message:{boostId:s,incentiveQuantity:d,claimant:t,incentiveData:f,referrer:u}},p=await c.privateKey.signTypedData(g),V=m({signer:c.account,signature:p,incentiveQuantity:d});return l.encodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"},{type:"address",name:"referrer"}]}],[{validatorData:V,incentiveData:f,referrer:u}])}function m({signer:c,signature:f,incentiveQuantity:e}){return l.encodeAbiParameters([{type:"tuple",name:"SignerValidatorInputParams",components:[{type:"address",name:"signer"},{type:"bytes",name:"signature"},{type:"uint8",name:"incentiveQuantity"}]}],[{signer:c,signature:f,incentiveQuantity:e}])}function y(c){return l.encodeAbiParameters([{name:"signers",type:"address[]"},{name:"validatorCaller",type:"address"},{name:"maxClaimCount",type:"uint256"},{name:"baseImplementation",type:"address"}],[c.signers,c.validatorCaller,BigInt(c.maxClaimCount),c.baseImplementation])}exports.payableLimitedSignerValidatorV2Abi=b.q;exports.PayableLimitedSignerValidatorV2=o;exports.preparePayableLimitedSignerValidatorV2ClaimDataPayload=h;exports.preparePayableLimitedSignerValidatorV2InputParams=m;exports.preparePayableLimitedSignerValidatorV2Payload=y;
|
|
2
|
+
//# sourceMappingURL=PayableLimitedSignerValidatorV2.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PayableLimitedSignerValidatorV2.cjs","sources":["../../src/Validators/PayableLimitedSignerValidatorV2.ts"],"sourcesContent":["import {\n payableLimitedSignerValidatorV2Abi,\n readPayableLimitedSignerValidatorV2GetClaimFee,\n readPayableLimitedSignerValidatorV2HashSignerData,\n readPayableLimitedSignerValidatorV2Signers,\n simulatePayableLimitedSignerValidatorV2SetAuthorized,\n simulatePayableLimitedSignerValidatorV2SetClaimFee,\n simulatePayableLimitedSignerValidatorV2SetValidatorCaller,\n simulatePayableLimitedSignerValidatorV2Validate,\n writePayableLimitedSignerValidatorV2SetAuthorized,\n writePayableLimitedSignerValidatorV2SetClaimFee,\n writePayableLimitedSignerValidatorV2SetValidatorCaller,\n writePayableLimitedSignerValidatorV2Validate,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/validators/PayableLimitedSignerValidatorV2.sol/PayableLimitedSignerValidatorV2.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n type PrivateKeyAccount,\n encodeAbiParameters,\n} from 'viem';\nimport { PayableLimitedSignerValidatorV2 as PayableLimitedSignerValidatorV2Bases } 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';\nimport type {\n LimitedSignerValidatorInputParams,\n LimitedSignerValidatorValidatePayload,\n} from './LimitedSignerValidator';\n\nexport { payableLimitedSignerValidatorV2Abi };\n\n/**\n * Object representation of a {@link PayableLimitedSignerValidatorV2} initialization payload\n *\n * @export\n * @interface PayableLimitedSignerValidatorV2Payload\n * @typedef {PayableLimitedSignerValidatorV2Payload}\n */\nexport interface PayableLimitedSignerValidatorV2Payload {\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 validator function\n * @type {Address}\n */\n validatorCaller: Address;\n /**\n * The max quantity of claims a user can make for a given incentive\n * @type {number}\n */\n maxClaimCount: number;\n}\n\n/**\n * Extended validate payload that includes the payment value\n *\n * @export\n * @interface PayableLimitedSignerValidatorV2ValidatePayload\n * @typedef {PayableLimitedSignerValidatorV2ValidatePayload}\n */\nexport interface PayableLimitedSignerValidatorV2ValidatePayload\n extends LimitedSignerValidatorValidatePayload {\n /**\n * The amount of ETH to send with the validation call (must match claimFee exactly)\n *\n * @type {bigint}\n */\n value: bigint;\n}\n\n/**\n * Signer Validator Claim Data Payload\n *\n * @export\n * @interface PayableLimitedSignerValidatorV2ClaimDataParams\n * @typedef {PayableLimitedSignerValidatorV2ClaimDataParams}\n */\nexport interface PayableLimitedSignerValidatorV2ClaimDataParams {\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\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 * The address of the referrer\n *\n * @type {?Address}\n */\n referrer?: Address;\n}\n\n/**\n * Object representing the payload for signing before validation.\n *\n * @export\n * @interface PayableLimitedSignerValidatorV2SignaturePayload\n * @typedef {PayableLimitedSignerValidatorV2SignaturePayload}\n */\nexport interface PayableLimitedSignerValidatorV2SignaturePayload {\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 * The address of the referrer (defaults to claimant if omitted)\n *\n * @type {?Address}\n */\n referrer?: Address;\n}\n\n/**\n * A generic `viem.Log` event with support for `PayableLimitedSignerValidatorV2` event types.\n *\n * @export\n * @typedef {PayableLimitedSignerValidatorV2Log}\n */\nexport type PayableLimitedSignerValidatorV2Log<\n event extends ContractEventName<\n typeof payableLimitedSignerValidatorV2Abi\n > = ContractEventName<typeof payableLimitedSignerValidatorV2Abi>,\n> = GenericLog<typeof payableLimitedSignerValidatorV2Abi, event>;\n\n/**\n * A validator that verifies signatures, limits claims per address, and requires a claim fee.\n * The claim fee is stored on the base implementation and all clones read from it.\n * This allows updating the fee globally by only changing it on the base.\n *\n * @export\n * @class PayableLimitedSignerValidatorV2\n * @extends {DeployableTarget}\n */\nexport class PayableLimitedSignerValidatorV2 extends DeployableTarget<\n PayableLimitedSignerValidatorV2Payload,\n typeof payableLimitedSignerValidatorV2Abi\n> {\n /**\n * @inheritdoc\n *\n * @public\n * @readonly\n * @type {*}\n */\n public override readonly abi = payableLimitedSignerValidatorV2Abi;\n\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n ...(import.meta.env?.VITE_PAYABLE_LIMITED_SIGNER_VALIDATOR_BASE\n ? { 31337: import.meta.env.VITE_PAYABLE_LIMITED_SIGNER_VALIDATOR_BASE }\n : {}),\n ...(PayableLimitedSignerValidatorV2Bases as Record<number, Address>),\n };\n\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.VALIDATOR;\n\n /**\n * Get the current claim fee. For clones, this reads from the base implementation.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async getClaimFee(params?: ReadParams): Promise<bigint> {\n return await readPayableLimitedSignerValidatorV2GetClaimFee(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters\n ...(params as any),\n });\n }\n\n /**\n * Set the claim fee (only callable on the base implementation by the owner)\n *\n * @public\n * @async\n * @param {bigint} newFee - The new claim fee amount in wei\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setClaimFee(\n newFee: bigint,\n params?: WriteParams,\n ): Promise<void> {\n return await this.awaitResult(this.setClaimFeeRaw(newFee, params));\n }\n\n /**\n * Set the claim fee (only callable on the base implementation by the owner)\n *\n * @public\n * @async\n * @param {bigint} newFee - The new claim fee amount in wei\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setClaimFeeRaw(newFee: bigint, params?: WriteParams) {\n const { request, result } =\n await simulatePayableLimitedSignerValidatorV2SetClaimFee(this._config, {\n address: this.assertValidAddress(),\n args: [newFee],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters\n ...(params as any),\n });\n const hash = await writePayableLimitedSignerValidatorV2SetClaimFee(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * The set of authorized signers\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>}\n */\n public async signers(address: Address, params?: ReadParams) {\n return await readPayableLimitedSignerValidatorV2Signers(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 {PayableLimitedSignerValidatorV2SignaturePayload} payload\n * @param {?ReadParams} [params]\n * @returns {Promise<Hex>}\n */\n public async hashSignerData(\n payload: PayableLimitedSignerValidatorV2SignaturePayload,\n params?: ReadParams,\n ) {\n const referrer = payload.referrer ?? payload.claimant;\n return await readPayableLimitedSignerValidatorV2HashSignerData(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveQuantity,\n payload.claimant,\n payload.incentiveData,\n referrer,\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 /**\n * Validate that the action has been completed successfully.\n * Requires exact payment of the claim fee.\n *\n * @public\n * @async\n * @param {PayableLimitedSignerValidatorV2ValidatePayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the action has been validated\n */\n protected async validate(\n payload: PayableLimitedSignerValidatorV2ValidatePayload,\n params?: WriteParams,\n ): Promise<boolean> {\n return await this.awaitResult(this.validateRaw(payload, params));\n }\n\n /**\n * Validate that the action has been completed successfully.\n * Requires exact payment of the claim fee.\n *\n * @public\n * @async\n * @param {PayableLimitedSignerValidatorV2ValidatePayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>}\n */\n protected async validateRaw(\n payload: PayableLimitedSignerValidatorV2ValidatePayload,\n params?: WriteParams,\n ) {\n const { request, result } =\n await simulatePayableLimitedSignerValidatorV2Validate(this._config, {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveId,\n payload.claimant,\n payload.claimData,\n ],\n value: payload.value,\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters\n ...(params as any),\n });\n const hash = await writePayableLimitedSignerValidatorV2Validate(\n this._config,\n request,\n );\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} [params]\n * @returns {Promise<void>}\n */\n public async setAuthorized(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams,\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} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setAuthorizedRaw(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams,\n ) {\n const { request, result } =\n await simulatePayableLimitedSignerValidatorV2SetAuthorized(this._config, {\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\n ...(params as any),\n });\n const hash = await writePayableLimitedSignerValidatorV2SetAuthorized(\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} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setValidatorCallerRaw(address: Address, params?: WriteParams) {\n const { request, result } =\n await simulatePayableLimitedSignerValidatorV2SetValidatorCaller(\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\n ...(params as any),\n },\n );\n const hash = await writePayableLimitedSignerValidatorV2SetValidatorCaller(\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} [params]\n * @returns {Promise<void>}\n */\n public async setValidatorCaller(address: Address, params?: WriteParams) {\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 {PayableLimitedSignerValidatorV2ClaimDataParams} params\n * @returns {Promise<Hex>}\n */\n public async encodeClaimData(\n params: Omit<PayableLimitedSignerValidatorV2ClaimDataParams, 'validator'>,\n ): Promise<Hex> {\n return await preparePayableLimitedSignerValidatorV2ClaimDataPayload({\n ...params,\n validator: this.assertValidAddress(),\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?PayableLimitedSignerValidatorV2Payload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: PayableLimitedSignerValidatorV2Payload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n\n // set the base implementation address\n const chainId = this._config.getClient().chain?.id;\n if (!chainId) {\n throw new Error(\n 'Chain ID is required for PayableLimitedSignerValidatorV2 deployment',\n );\n }\n const baseImplementation = PayableLimitedSignerValidatorV2.bases[chainId];\n if (!baseImplementation) {\n throw new Error(\n `Base implementation not found for chain ID ${chainId}. Please ensure PayableLimitedSignerValidatorV2 is deployed on this chain.`,\n );\n }\n\n return {\n abi: payableLimitedSignerValidatorV2Abi,\n bytecode: bytecode as Hex,\n args: [\n preparePayableLimitedSignerValidatorV2Payload({\n ...payload,\n baseImplementation,\n }),\n ],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Payable Limited Signer Validator Claim Data Payload Preparation\n *\n * @export\n * @async\n * @param {PayableLimitedSignerValidatorV2ClaimDataParams} param0\n * @returns {Promise<Hex>}\n */\nexport async function preparePayableLimitedSignerValidatorV2ClaimDataPayload({\n signer,\n incentiveData,\n chainId,\n validator,\n incentiveQuantity,\n claimant,\n boostId,\n referrer,\n}: PayableLimitedSignerValidatorV2ClaimDataParams): Promise<Hex> {\n const _referrer = referrer ?? claimant;\n const domain = {\n name: 'PayableLimitedSignerValidatorV2',\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 { name: 'referrer', type: 'address' },\n ],\n },\n primaryType: 'SignerValidatorData' as const,\n message: {\n boostId,\n incentiveQuantity,\n claimant,\n incentiveData: incentiveData,\n referrer: _referrer,\n },\n };\n\n const trustedSignature = await signer.privateKey.signTypedData(typedData);\n\n // Prepare the claim data payload using the new helper\n const validatorData = preparePayableLimitedSignerValidatorV2InputParams({\n signer: signer.account,\n signature: trustedSignature,\n incentiveQuantity,\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 { type: 'address', name: 'referrer' },\n ],\n },\n ],\n [{ validatorData, incentiveData, referrer: _referrer }],\n );\n\n return boostClaimDataPayload;\n}\n\n/**\n * Given a {@link PayableLimitedSignerValidatorV2InputParams}, properly encode the initialization payload.\n *\n * @param {LimitedSignerValidatorInputParams} param0\n * @param {Address} param0.signer\n * @param {Hex} param0.signature\n * @param {number} param0.incentiveQuantity\n * @returns {Hex}\n */\nexport function preparePayableLimitedSignerValidatorV2InputParams({\n signer,\n signature,\n incentiveQuantity,\n}: LimitedSignerValidatorInputParams) {\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 * Prepare the initialization payload for a PayableLimitedSignerValidatorV2\n *\n * @export\n * @param {PayableLimitedSignerValidatorV2Payload & { baseImplementation: Address }} payload\n * @returns {Hex}\n */\nexport function preparePayableLimitedSignerValidatorV2Payload(\n payload: PayableLimitedSignerValidatorV2Payload & {\n baseImplementation: Address;\n },\n): Hex {\n return encodeAbiParameters(\n [\n { name: 'signers', type: 'address[]' },\n { name: 'validatorCaller', type: 'address' },\n { name: 'maxClaimCount', type: 'uint256' },\n { name: 'baseImplementation', type: 'address' },\n ],\n [\n payload.signers,\n payload.validatorCaller,\n BigInt(payload.maxClaimCount),\n payload.baseImplementation,\n ],\n );\n}\n"],"names":["_PayableLimitedSignerValidatorV2","DeployableTarget","payableLimitedSignerValidatorV2Abi","params","readPayableLimitedSignerValidatorV2GetClaimFee","newFee","request","result","simulatePayableLimitedSignerValidatorV2SetClaimFee","writePayableLimitedSignerValidatorV2SetClaimFee","address","readPayableLimitedSignerValidatorV2Signers","payload","referrer","readPayableLimitedSignerValidatorV2HashSignerData","simulatePayableLimitedSignerValidatorV2Validate","writePayableLimitedSignerValidatorV2Validate","addresses","allowed","simulatePayableLimitedSignerValidatorV2SetAuthorized","writePayableLimitedSignerValidatorV2SetAuthorized","simulatePayableLimitedSignerValidatorV2SetValidatorCaller","writePayableLimitedSignerValidatorV2SetValidatorCaller","preparePayableLimitedSignerValidatorV2ClaimDataPayload","_payload","_options","options","chainId","_a","baseImplementation","bytecode","preparePayableLimitedSignerValidatorV2Payload","__vite_import_meta_env__","PayableLimitedSignerValidatorV2Bases","RegistryType","PayableLimitedSignerValidatorV2","signer","incentiveData","validator","incentiveQuantity","claimant","boostId","_referrer","typedData","trustedSignature","validatorData","preparePayableLimitedSignerValidatorV2InputParams","encodeAbiParameters","signature"],"mappings":"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"}
|