@boostxyz/sdk 2.0.0-alpha.26 → 2.0.0-alpha.27

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.
Files changed (83) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +8 -8
  3. package/dist/Actions/EventAction.cjs +1 -1
  4. package/dist/Actions/EventAction.cjs.map +1 -1
  5. package/dist/Actions/EventAction.d.ts +6 -7
  6. package/dist/Actions/EventAction.d.ts.map +1 -1
  7. package/dist/Actions/EventAction.js +99 -95
  8. package/dist/Actions/EventAction.js.map +1 -1
  9. package/dist/AllowLists/AllowList.cjs +1 -1
  10. package/dist/AllowLists/AllowList.js +5 -5
  11. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  12. package/dist/AllowLists/SimpleAllowList.js +6 -6
  13. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  14. package/dist/AllowLists/SimpleDenyList.js +2 -2
  15. package/dist/Auth/PassthroughAuth.cjs +1 -1
  16. package/dist/Auth/PassthroughAuth.js +1 -1
  17. package/dist/BoostCore.cjs +2 -2
  18. package/dist/BoostCore.js +33 -33
  19. package/dist/BoostRegistry.cjs +1 -1
  20. package/dist/BoostRegistry.js +12 -12
  21. package/dist/Budgets/Budget.cjs +1 -1
  22. package/dist/Budgets/Budget.js +2 -2
  23. package/dist/Budgets/ManagedBudget.cjs +1 -1
  24. package/dist/Budgets/ManagedBudget.js +25 -25
  25. package/dist/Deployable/DeployableTarget.cjs +1 -1
  26. package/dist/Deployable/DeployableTarget.js +1 -1
  27. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  28. package/dist/Deployable/DeployableTargetWithRBAC.js +21 -21
  29. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  30. package/dist/Incentives/AllowListIncentive.js +9 -9
  31. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  32. package/dist/Incentives/CGDAIncentive.js +6 -6
  33. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  34. package/dist/Incentives/ERC20Incentive.js +22 -22
  35. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  36. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -1
  37. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +1 -1
  38. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +20 -20
  39. package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -1
  40. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  41. package/dist/Incentives/ERC20VariableIncentive.js +16 -16
  42. package/dist/Incentives/Incentive.cjs +1 -1
  43. package/dist/Incentives/Incentive.cjs.map +1 -1
  44. package/dist/Incentives/Incentive.d.ts +3 -3
  45. package/dist/Incentives/Incentive.d.ts.map +1 -1
  46. package/dist/Incentives/Incentive.js +30 -30
  47. package/dist/Incentives/Incentive.js.map +1 -1
  48. package/dist/Incentives/PointsIncentive.cjs +1 -1
  49. package/dist/Incentives/PointsIncentive.js +11 -11
  50. package/dist/{SimpleDenyList-D0cyVUVv.js → SimpleDenyList-7BojkCuF.js} +12 -12
  51. package/dist/{SimpleDenyList-D0cyVUVv.js.map → SimpleDenyList-7BojkCuF.js.map} +1 -1
  52. package/dist/{SimpleDenyList-BdlpZdDz.cjs → SimpleDenyList-DqM-Bczx.cjs} +2 -2
  53. package/dist/{SimpleDenyList-BdlpZdDz.cjs.map → SimpleDenyList-DqM-Bczx.cjs.map} +1 -1
  54. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  55. package/dist/Validators/LimitedSignerValidator.js +10 -10
  56. package/dist/Validators/SignerValidator.cjs +1 -1
  57. package/dist/Validators/SignerValidator.cjs.map +1 -1
  58. package/dist/Validators/SignerValidator.d.ts.map +1 -1
  59. package/dist/Validators/SignerValidator.js +25 -27
  60. package/dist/Validators/SignerValidator.js.map +1 -1
  61. package/dist/Validators/Validator.cjs +1 -1
  62. package/dist/Validators/Validator.js +6 -6
  63. package/dist/componentInterfaces-BJ_XfE8j.cjs +2 -0
  64. package/dist/componentInterfaces-BJ_XfE8j.cjs.map +1 -0
  65. package/dist/componentInterfaces-DBJaFhsl.js +15 -0
  66. package/dist/componentInterfaces-DBJaFhsl.js.map +1 -0
  67. package/dist/{generated-Cqn4wS01.cjs → generated-BSUMIFi5.cjs} +3 -3
  68. package/dist/generated-BSUMIFi5.cjs.map +1 -0
  69. package/dist/{generated-BAKNSOjJ.js → generated-Dz_g2mFT.js} +217 -217
  70. package/dist/generated-Dz_g2mFT.js.map +1 -0
  71. package/dist/index.cjs +1 -1
  72. package/dist/index.js +25 -25
  73. package/package.json +1 -1
  74. package/src/Actions/EventAction.test.ts +1 -1
  75. package/src/Actions/EventAction.ts +20 -17
  76. package/src/Incentives/Incentive.ts +3 -2
  77. package/src/Validators/SignerValidator.ts +7 -12
  78. package/dist/componentInterfaces-DRI_dQ-P.cjs +0 -2
  79. package/dist/componentInterfaces-DRI_dQ-P.cjs.map +0 -1
  80. package/dist/componentInterfaces-bIVo8eyA.js +0 -14
  81. package/dist/componentInterfaces-bIVo8eyA.js.map +0 -1
  82. package/dist/generated-BAKNSOjJ.js.map +0 -1
  83. package/dist/generated-Cqn4wS01.cjs.map +0 -1
@@ -1,9 +1,9 @@
1
- import { x as r, b8 as h, b9 as y, ba as m, bb as p, bc as g, bd as w, be as A, bf as D } from "../generated-BAKNSOjJ.js";
1
+ import { S as r, b8 as u, b9 as h, ba as y, bb as m, bc as p, bd as g, be as w, bf as A } from "../generated-Dz_g2mFT.js";
2
2
  import { encodeAbiParameters as s } from "viem";
3
- import { d as v } from "../deployments-Ccx1MtoK.js";
4
- import { DeployableTarget as V } from "../Deployable/DeployableTarget.js";
5
- import { RegistryType as C } from "../utils.js";
6
- const R = "0x610120604052348015610010575f80fd5b503073ffffffffffffffffffffffffffffffffffffffff16608081815250504660a0818152505060608061004861013960201b60201c565b6100635761005a61014160201b60201c565b80925081935050505b5f61007261013960201b60201c565b610083578280519060200120610087565b5f801b5b90505f61009861013960201b60201c565b6100a95782805190602001206100ad565b5f801b5b90508160c081815250508060e081815250505f6100ce61013960201b60201c565b610118576040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815283602082015282604082015246606082015230608082015260a081209150505b80610100818152505050505050506101346101b860201b60201c565b61024d565b5f6001905090565b6060806040518060400160405280600f81526020017f5369676e657256616c696461746f72000000000000000000000000000000000081525091506040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525090509091565b5f6101c761022460201b60201c565b9050805460018116156101e15763f92ee8a95f526004601cfd5b8160c01c808260011c1461021f578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b60805160a05160c05160e05161010051611ecf61028a5f395f610f6401525f6110a301525f61108001525f61111201525f6111360152611ecf5ff3fe6080604052600436106100f2575f3560e01c8063736c0d5b11610089578063d3de6e7511610058578063d3de6e75146102c4578063f04e283e14610300578063f2fde38b1461031c578063fee81cf414610338576100f2565b8063736c0d5b1461020657806384b0196e146102425780638da5cb5b14610272578063a1d2756f1461029c576100f2565b8063439fab91116100c5578063439fab911461018e57806354d1f13d146101b6578063703b6900146101c0578063715018a6146101fc576100f2565b806301ffc9a7146100f6578063256929621461013257806328d6183b1461013c5780634359d28a14610166575b5f80fd5b348015610101575f80fd5b5061011c60048036038101906101179190611235565b610374565b604051610129919061127a565b60405180910390f35b61013a6103ed565b005b348015610147575f80fd5b5061015061043e565b60405161015d91906112a2565b60405180910390f35b348015610171575f80fd5b5061018c60048036038101906101879190611371565b610465565b005b348015610199575f80fd5b506101b460048036038101906101af9190611444565b61056e565b005b6101be6106e5565b005b3480156101cb575f80fd5b506101e660048036038101906101e1919061151c565b61071e565b6040516101f3919061127a565b60405180910390f35b610204610911565b005b348015610211575f80fd5b5061022c600480360381019061022791906115a0565b610924565b604051610239919061127a565b60405180910390f35b34801561024d575f80fd5b50610256610940565b6040516102699796959493929190611762565b60405180910390f35b34801561027d575f80fd5b5061028661098b565b60405161029391906117e4565b60405180910390f35b3480156102a7575f80fd5b506102c260048036038101906102bd91906115a0565b6109b3565b005b3480156102cf575f80fd5b506102ea60048036038101906102e5919061195b565b6109fe565b6040516102f791906119db565b60405180910390f35b61031a600480360381019061031591906115a0565b610a67565b005b610336600480360381019061033191906115a0565b610aa5565b005b348015610343575f80fd5b5061035e600480360381019061035991906115a0565b610ace565b60405161036b91906119f4565b60405180910390f35b5f7fb8ce7b22000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103e657506103e582610ae7565b5b9050919050565b5f6103f6610b60565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7fb8ce7b2200000000000000000000000000000000000000000000000000000000905090565b61046d610b6a565b8181905084849050146104ac576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610567578282828181106104cc576104cb611a0d565b5b90506020020160208101906104e19190611a64565b5f808787858181106104f6576104f5611a0d565b5b905060200201602081019061050b91906115a0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506104ae565b5050505050565b5f610577610ba1565b905080546003825580156105a95760018160011c14303b106105a05763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8084848101906105bb9190611b8a565b915091506105e2825f815181106105d5576105d4611a0d565b5b6020026020010151610bca565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f5b82518110156106a85760015f8085848151811061064457610643611a0d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610624565b50505080156106e0576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107a5576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f83838101906107b59190611c71565b90505f815f01518060200190518101906107cf9190611dcb565b90505f6107e68983604001518986602001516109fe565b905087826040015160ff1611610839578160400151886040517f17c66bc7000000000000000000000000000000000000000000000000000000008152600401610830929190611e21565b60405180910390fd5b5f80835f015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166108bb576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108d181896001610ca09092919063ffffffff16565b610903818360200151845f015173ffffffffffffffffffffffffffffffffffffffff16610d059092919063ffffffff16565b935050505095945050505050565b610919610b6a565b6109225f610e08565b565b5f602052805f5260405f205f915054906101000a900460ff1681565b5f6060805f805f60607f0f000000000000000000000000000000000000000000000000000000000000009650610974610ece565b809650819750505046935030925090919293949596565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b6109bb610b6a565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f610a5d7ffea51d5bd45bcd3c2ecc3679b43a3b80b0bd0923f8c16f822455b8cdecd9852f8686868680519060200120604051602001610a42959493929190611e48565b60405160208183030381529060405280519060200120610f45565b9050949350505050565b610a6f610b6a565b63389a75e1600c52805f526020600c208054421115610a9557636f5e88185f526004601cfd5b5f815550610aa281610e08565b50565b610aad610b6a565b8060601b610ac257637448fbae5f526004601cfd5b610acb81610e08565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f5912b89c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b595750610b5882610fc1565b5b9050919050565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610b9f576382b429005f526004601cfd5b565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610bd261103a565b15610c4a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610c0c57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610c9d565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f633f57fc5c60e01b90505f634de1225a60e01b90506007831115610ccb57815f528260045260245ffd5b84602052835f5260405f206001841b81541880851c6001166001188015610cf857835f528560045260245ffd5b8183555050505050505050565b5f8360601b60601c93508315610e0157604051835f5260208301516040526040835103610d72576040830151601b8160ff1c016020528060011b60011c6060526020600160805f60015afa805187183d1517610d6f57600193505f60605282604052505050610e01565b50505b6041835103610db85760608301515f1a60205260408301516060526020600160805f60015afa805186183d1517610db657600192505f606052816040525050610e01565b505b5f60605280604052631626ba7e60e01b808252846004830152602482016040815284516020018060448501828860045afa5060208260443d01868b5afa83835114169450505050505b9392505050565b610e1061103a565b15610e75577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610ecb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b6060806040518060400160405280600f81526020017f5369676e657256616c696461746f72000000000000000000000000000000000081525091506040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525090509091565b5f610f4e61103e565b15610f6257610f5b611046565b9050610f9e565b7f00000000000000000000000000000000000000000000000000000000000000009050610f8d61110e565b15610f9d57610f9a611046565b90505b5b6719010000000000005f5280601a5281603a52604260182090505f603a52919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611033575061103282611166565b5b9050919050565b5f90565b5f6001905090565b5f8061105061103e565b1561107e575f8061105f610ece565b91509150818051906020012093508080519060200120925050506110c5565b7f000000000000000000000000000000000000000000000000000000000000000091507f000000000000000000000000000000000000000000000000000000000000000090505b6040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815282602082015281604082015246606082015230608082015260a081209250505090565b5f807f000000000000000000000000000000000000000000000000000000000000000090505f7f0000000000000000000000000000000000000000000000000000000000000000905080301482461416159250505090565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611214816111e0565b811461121e575f80fd5b50565b5f8135905061122f8161120b565b92915050565b5f6020828403121561124a576112496111d8565b5b5f61125784828501611221565b91505092915050565b5f8115159050919050565b61127481611260565b82525050565b5f60208201905061128d5f83018461126b565b92915050565b61129c816111e0565b82525050565b5f6020820190506112b55f830184611293565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126112dc576112db6112bb565b5b8235905067ffffffffffffffff8111156112f9576112f86112bf565b5b602083019150836020820283011115611315576113146112c3565b5b9250929050565b5f8083601f840112611331576113306112bb565b5b8235905067ffffffffffffffff81111561134e5761134d6112bf565b5b60208301915083602082028301111561136a576113696112c3565b5b9250929050565b5f805f8060408587031215611389576113886111d8565b5b5f85013567ffffffffffffffff8111156113a6576113a56111dc565b5b6113b2878288016112c7565b9450945050602085013567ffffffffffffffff8111156113d5576113d46111dc565b5b6113e18782880161131c565b925092505092959194509250565b5f8083601f840112611404576114036112bb565b5b8235905067ffffffffffffffff811115611421576114206112bf565b5b60208301915083600182028301111561143d5761143c6112c3565b5b9250929050565b5f806020838503121561145a576114596111d8565b5b5f83013567ffffffffffffffff811115611477576114766111dc565b5b611483858286016113ef565b92509250509250929050565b5f819050919050565b6114a18161148f565b81146114ab575f80fd5b50565b5f813590506114bc81611498565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114eb826114c2565b9050919050565b6114fb816114e1565b8114611505575f80fd5b50565b5f81359050611516816114f2565b92915050565b5f805f805f60808688031215611535576115346111d8565b5b5f611542888289016114ae565b9550506020611553888289016114ae565b945050604061156488828901611508565b935050606086013567ffffffffffffffff811115611585576115846111dc565b5b611591888289016113ef565b92509250509295509295909350565b5f602082840312156115b5576115b46111d8565b5b5f6115c284828501611508565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6115ff816115cb565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61164782611605565b611651818561160f565b935061166181856020860161161f565b61166a8161162d565b840191505092915050565b61167e8161148f565b82525050565b61168d816114e1565b82525050565b5f819050919050565b6116a581611693565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6116dd8161148f565b82525050565b5f6116ee83836116d4565b60208301905092915050565b5f602082019050919050565b5f611710826116ab565b61171a81856116b5565b9350611725836116c5565b805f5b8381101561175557815161173c88826116e3565b9750611747836116fa565b925050600181019050611728565b5085935050505092915050565b5f60e0820190506117755f83018a6115f6565b8181036020830152611787818961163d565b9050818103604083015261179b818861163d565b90506117aa6060830187611675565b6117b76080830186611684565b6117c460a083018561169c565b81810360c08301526117d68184611706565b905098975050505050505050565b5f6020820190506117f75f830184611684565b92915050565b5f60ff82169050919050565b611812816117fd565b811461181c575f80fd5b50565b5f8135905061182d81611809565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61186d8261162d565b810181811067ffffffffffffffff8211171561188c5761188b611837565b5b80604052505050565b5f61189e6111cf565b90506118aa8282611864565b919050565b5f67ffffffffffffffff8211156118c9576118c8611837565b5b6118d28261162d565b9050602081019050919050565b828183375f83830152505050565b5f6118ff6118fa846118af565b611895565b90508281526020810184848401111561191b5761191a611833565b5b6119268482856118df565b509392505050565b5f82601f830112611942576119416112bb565b5b81356119528482602086016118ed565b91505092915050565b5f805f8060808587031215611973576119726111d8565b5b5f611980878288016114ae565b94505060206119918782880161181f565b93505060406119a287828801611508565b925050606085013567ffffffffffffffff8111156119c3576119c26111dc565b5b6119cf8782880161192e565b91505092959194509250565b5f6020820190506119ee5f83018461169c565b92915050565b5f602082019050611a075f830184611675565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b611a4381611260565b8114611a4d575f80fd5b50565b5f81359050611a5e81611a3a565b92915050565b5f60208284031215611a7957611a786111d8565b5b5f611a8684828501611a50565b91505092915050565b5f67ffffffffffffffff821115611aa957611aa8611837565b5b602082029050602081019050919050565b5f611acc611ac784611a8f565b611895565b90508083825260208201905060208402830185811115611aef57611aee6112c3565b5b835b81811015611b185780611b048882611508565b845260208401935050602081019050611af1565b5050509392505050565b5f82601f830112611b3657611b356112bb565b5b8135611b46848260208601611aba565b91505092915050565b5f611b59826114c2565b9050919050565b611b6981611b4f565b8114611b73575f80fd5b50565b5f81359050611b8481611b60565b92915050565b5f8060408385031215611ba057611b9f6111d8565b5b5f83013567ffffffffffffffff811115611bbd57611bbc6111dc565b5b611bc985828601611b22565b9250506020611bda85828601611b76565b9150509250929050565b5f80fd5b5f80fd5b5f60408284031215611c0157611c00611be4565b5b611c0b6040611895565b90505f82013567ffffffffffffffff811115611c2a57611c29611be8565b5b611c368482850161192e565b5f83015250602082013567ffffffffffffffff811115611c5957611c58611be8565b5b611c658482850161192e565b60208301525092915050565b5f60208284031215611c8657611c856111d8565b5b5f82013567ffffffffffffffff811115611ca357611ca26111dc565b5b611caf84828501611bec565b91505092915050565b5f81519050611cc6816114f2565b92915050565b5f611cde611cd9846118af565b611895565b905082815260208101848484011115611cfa57611cf9611833565b5b611d0584828561161f565b509392505050565b5f82601f830112611d2157611d206112bb565b5b8151611d31848260208601611ccc565b91505092915050565b5f81519050611d4881611809565b92915050565b5f60608284031215611d6357611d62611be4565b5b611d6d6060611895565b90505f611d7c84828501611cb8565b5f83015250602082015167ffffffffffffffff811115611d9f57611d9e611be8565b5b611dab84828501611d0d565b6020830152506040611dbf84828501611d3a565b60408301525092915050565b5f60208284031215611de057611ddf6111d8565b5b5f82015167ffffffffffffffff811115611dfd57611dfc6111dc565b5b611e0984828501611d4e565b91505092915050565b611e1b816117fd565b82525050565b5f604082019050611e345f830185611e12565b611e416020830184611675565b9392505050565b5f60a082019050611e5b5f83018861169c565b611e686020830187611675565b611e756040830186611e12565b611e826060830185611684565b611e8f608083018461169c565b969550505050505056fea264697066735822122008717acf56bd2e77cae440af4190cdc25d338915254361f19975fc59eb3addf964736f6c634300081a0033", t = class t extends V {
3
+ import { d as D } from "../deployments-Ccx1MtoK.js";
4
+ import { DeployableTarget as v } from "../Deployable/DeployableTarget.js";
5
+ import { RegistryType as V } from "../utils.js";
6
+ const C = "0x610120604052348015610010575f80fd5b503073ffffffffffffffffffffffffffffffffffffffff16608081815250504660a0818152505060608061004861013960201b60201c565b6100635761005a61014160201b60201c565b80925081935050505b5f61007261013960201b60201c565b610083578280519060200120610087565b5f801b5b90505f61009861013960201b60201c565b6100a95782805190602001206100ad565b5f801b5b90508160c081815250508060e081815250505f6100ce61013960201b60201c565b610118576040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815283602082015282604082015246606082015230608082015260a081209150505b80610100818152505050505050506101346101b860201b60201c565b61024d565b5f6001905090565b6060806040518060400160405280600f81526020017f5369676e657256616c696461746f72000000000000000000000000000000000081525091506040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525090509091565b5f6101c761022460201b60201c565b9050805460018116156101e15763f92ee8a95f526004601cfd5b8160c01c808260011c1461021f578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b60805160a05160c05160e05161010051611ecf61028a5f395f610f6401525f6110a301525f61108001525f61111201525f6111360152611ecf5ff3fe6080604052600436106100f2575f3560e01c8063736c0d5b11610089578063d3de6e7511610058578063d3de6e75146102c4578063f04e283e14610300578063f2fde38b1461031c578063fee81cf414610338576100f2565b8063736c0d5b1461020657806384b0196e146102425780638da5cb5b14610272578063a1d2756f1461029c576100f2565b8063439fab91116100c5578063439fab911461018e57806354d1f13d146101b6578063703b6900146101c0578063715018a6146101fc576100f2565b806301ffc9a7146100f6578063256929621461013257806328d6183b1461013c5780634359d28a14610166575b5f80fd5b348015610101575f80fd5b5061011c60048036038101906101179190611235565b610374565b604051610129919061127a565b60405180910390f35b61013a6103ed565b005b348015610147575f80fd5b5061015061043e565b60405161015d91906112a2565b60405180910390f35b348015610171575f80fd5b5061018c60048036038101906101879190611371565b610465565b005b348015610199575f80fd5b506101b460048036038101906101af9190611444565b61056e565b005b6101be6106e5565b005b3480156101cb575f80fd5b506101e660048036038101906101e1919061151c565b61071e565b6040516101f3919061127a565b60405180910390f35b610204610911565b005b348015610211575f80fd5b5061022c600480360381019061022791906115a0565b610924565b604051610239919061127a565b60405180910390f35b34801561024d575f80fd5b50610256610940565b6040516102699796959493929190611762565b60405180910390f35b34801561027d575f80fd5b5061028661098b565b60405161029391906117e4565b60405180910390f35b3480156102a7575f80fd5b506102c260048036038101906102bd91906115a0565b6109b3565b005b3480156102cf575f80fd5b506102ea60048036038101906102e5919061195b565b6109fe565b6040516102f791906119db565b60405180910390f35b61031a600480360381019061031591906115a0565b610a67565b005b610336600480360381019061033191906115a0565b610aa5565b005b348015610343575f80fd5b5061035e600480360381019061035991906115a0565b610ace565b60405161036b91906119f4565b60405180910390f35b5f7fb8ce7b22000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103e657506103e582610ae7565b5b9050919050565b5f6103f6610b60565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7fb8ce7b2200000000000000000000000000000000000000000000000000000000905090565b61046d610b6a565b8181905084849050146104ac576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610567578282828181106104cc576104cb611a0d565b5b90506020020160208101906104e19190611a64565b5f808787858181106104f6576104f5611a0d565b5b905060200201602081019061050b91906115a0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506104ae565b5050505050565b5f610577610ba1565b905080546003825580156105a95760018160011c14303b106105a05763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8084848101906105bb9190611b8a565b915091506105e2825f815181106105d5576105d4611a0d565b5b6020026020010151610bca565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f5b82518110156106a85760015f8085848151811061064457610643611a0d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610624565b50505080156106e0576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107a5576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f83838101906107b59190611c71565b90505f815f01518060200190518101906107cf9190611dcb565b90505f6107e68983604001518986602001516109fe565b905087826040015160ff1611610839578160400151886040517f17c66bc7000000000000000000000000000000000000000000000000000000008152600401610830929190611e21565b60405180910390fd5b5f80835f015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166108bb576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108d181896001610ca09092919063ffffffff16565b610903818360200151845f015173ffffffffffffffffffffffffffffffffffffffff16610d059092919063ffffffff16565b935050505095945050505050565b610919610b6a565b6109225f610e08565b565b5f602052805f5260405f205f915054906101000a900460ff1681565b5f6060805f805f60607f0f000000000000000000000000000000000000000000000000000000000000009650610974610ece565b809650819750505046935030925090919293949596565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b6109bb610b6a565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f610a5d7ffea51d5bd45bcd3c2ecc3679b43a3b80b0bd0923f8c16f822455b8cdecd9852f8686868680519060200120604051602001610a42959493929190611e48565b60405160208183030381529060405280519060200120610f45565b9050949350505050565b610a6f610b6a565b63389a75e1600c52805f526020600c208054421115610a9557636f5e88185f526004601cfd5b5f815550610aa281610e08565b50565b610aad610b6a565b8060601b610ac257637448fbae5f526004601cfd5b610acb81610e08565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f5912b89c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b595750610b5882610fc1565b5b9050919050565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610b9f576382b429005f526004601cfd5b565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610bd261103a565b15610c4a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610c0c57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610c9d565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f633f57fc5c60e01b90505f634de1225a60e01b90506007831115610ccb57815f528260045260245ffd5b84602052835f5260405f206001841b81541880851c6001166001188015610cf857835f528560045260245ffd5b8183555050505050505050565b5f8360601b60601c93508315610e0157604051835f5260208301516040526040835103610d72576040830151601b8160ff1c016020528060011b60011c6060526020600160805f60015afa805187183d1517610d6f57600193505f60605282604052505050610e01565b50505b6041835103610db85760608301515f1a60205260408301516060526020600160805f60015afa805186183d1517610db657600192505f606052816040525050610e01565b505b5f60605280604052631626ba7e60e01b808252846004830152602482016040815284516020018060448501828860045afa5060208260443d01868b5afa83835114169450505050505b9392505050565b610e1061103a565b15610e75577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610ecb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b6060806040518060400160405280600f81526020017f5369676e657256616c696461746f72000000000000000000000000000000000081525091506040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525090509091565b5f610f4e61103e565b15610f6257610f5b611046565b9050610f9e565b7f00000000000000000000000000000000000000000000000000000000000000009050610f8d61110e565b15610f9d57610f9a611046565b90505b5b6719010000000000005f5280601a5281603a52604260182090505f603a52919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611033575061103282611166565b5b9050919050565b5f90565b5f6001905090565b5f8061105061103e565b1561107e575f8061105f610ece565b91509150818051906020012093508080519060200120925050506110c5565b7f000000000000000000000000000000000000000000000000000000000000000091507f000000000000000000000000000000000000000000000000000000000000000090505b6040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815282602082015281604082015246606082015230608082015260a081209250505090565b5f807f000000000000000000000000000000000000000000000000000000000000000090505f7f0000000000000000000000000000000000000000000000000000000000000000905080301482461416159250505090565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611214816111e0565b811461121e575f80fd5b50565b5f8135905061122f8161120b565b92915050565b5f6020828403121561124a576112496111d8565b5b5f61125784828501611221565b91505092915050565b5f8115159050919050565b61127481611260565b82525050565b5f60208201905061128d5f83018461126b565b92915050565b61129c816111e0565b82525050565b5f6020820190506112b55f830184611293565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126112dc576112db6112bb565b5b8235905067ffffffffffffffff8111156112f9576112f86112bf565b5b602083019150836020820283011115611315576113146112c3565b5b9250929050565b5f8083601f840112611331576113306112bb565b5b8235905067ffffffffffffffff81111561134e5761134d6112bf565b5b60208301915083602082028301111561136a576113696112c3565b5b9250929050565b5f805f8060408587031215611389576113886111d8565b5b5f85013567ffffffffffffffff8111156113a6576113a56111dc565b5b6113b2878288016112c7565b9450945050602085013567ffffffffffffffff8111156113d5576113d46111dc565b5b6113e18782880161131c565b925092505092959194509250565b5f8083601f840112611404576114036112bb565b5b8235905067ffffffffffffffff811115611421576114206112bf565b5b60208301915083600182028301111561143d5761143c6112c3565b5b9250929050565b5f806020838503121561145a576114596111d8565b5b5f83013567ffffffffffffffff811115611477576114766111dc565b5b611483858286016113ef565b92509250509250929050565b5f819050919050565b6114a18161148f565b81146114ab575f80fd5b50565b5f813590506114bc81611498565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114eb826114c2565b9050919050565b6114fb816114e1565b8114611505575f80fd5b50565b5f81359050611516816114f2565b92915050565b5f805f805f60808688031215611535576115346111d8565b5b5f611542888289016114ae565b9550506020611553888289016114ae565b945050604061156488828901611508565b935050606086013567ffffffffffffffff811115611585576115846111dc565b5b611591888289016113ef565b92509250509295509295909350565b5f602082840312156115b5576115b46111d8565b5b5f6115c284828501611508565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6115ff816115cb565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61164782611605565b611651818561160f565b935061166181856020860161161f565b61166a8161162d565b840191505092915050565b61167e8161148f565b82525050565b61168d816114e1565b82525050565b5f819050919050565b6116a581611693565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6116dd8161148f565b82525050565b5f6116ee83836116d4565b60208301905092915050565b5f602082019050919050565b5f611710826116ab565b61171a81856116b5565b9350611725836116c5565b805f5b8381101561175557815161173c88826116e3565b9750611747836116fa565b925050600181019050611728565b5085935050505092915050565b5f60e0820190506117755f83018a6115f6565b8181036020830152611787818961163d565b9050818103604083015261179b818861163d565b90506117aa6060830187611675565b6117b76080830186611684565b6117c460a083018561169c565b81810360c08301526117d68184611706565b905098975050505050505050565b5f6020820190506117f75f830184611684565b92915050565b5f60ff82169050919050565b611812816117fd565b811461181c575f80fd5b50565b5f8135905061182d81611809565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61186d8261162d565b810181811067ffffffffffffffff8211171561188c5761188b611837565b5b80604052505050565b5f61189e6111cf565b90506118aa8282611864565b919050565b5f67ffffffffffffffff8211156118c9576118c8611837565b5b6118d28261162d565b9050602081019050919050565b828183375f83830152505050565b5f6118ff6118fa846118af565b611895565b90508281526020810184848401111561191b5761191a611833565b5b6119268482856118df565b509392505050565b5f82601f830112611942576119416112bb565b5b81356119528482602086016118ed565b91505092915050565b5f805f8060808587031215611973576119726111d8565b5b5f611980878288016114ae565b94505060206119918782880161181f565b93505060406119a287828801611508565b925050606085013567ffffffffffffffff8111156119c3576119c26111dc565b5b6119cf8782880161192e565b91505092959194509250565b5f6020820190506119ee5f83018461169c565b92915050565b5f602082019050611a075f830184611675565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b611a4381611260565b8114611a4d575f80fd5b50565b5f81359050611a5e81611a3a565b92915050565b5f60208284031215611a7957611a786111d8565b5b5f611a8684828501611a50565b91505092915050565b5f67ffffffffffffffff821115611aa957611aa8611837565b5b602082029050602081019050919050565b5f611acc611ac784611a8f565b611895565b90508083825260208201905060208402830185811115611aef57611aee6112c3565b5b835b81811015611b185780611b048882611508565b845260208401935050602081019050611af1565b5050509392505050565b5f82601f830112611b3657611b356112bb565b5b8135611b46848260208601611aba565b91505092915050565b5f611b59826114c2565b9050919050565b611b6981611b4f565b8114611b73575f80fd5b50565b5f81359050611b8481611b60565b92915050565b5f8060408385031215611ba057611b9f6111d8565b5b5f83013567ffffffffffffffff811115611bbd57611bbc6111dc565b5b611bc985828601611b22565b9250506020611bda85828601611b76565b9150509250929050565b5f80fd5b5f80fd5b5f60408284031215611c0157611c00611be4565b5b611c0b6040611895565b90505f82013567ffffffffffffffff811115611c2a57611c29611be8565b5b611c368482850161192e565b5f83015250602082013567ffffffffffffffff811115611c5957611c58611be8565b5b611c658482850161192e565b60208301525092915050565b5f60208284031215611c8657611c856111d8565b5b5f82013567ffffffffffffffff811115611ca357611ca26111dc565b5b611caf84828501611bec565b91505092915050565b5f81519050611cc6816114f2565b92915050565b5f611cde611cd9846118af565b611895565b905082815260208101848484011115611cfa57611cf9611833565b5b611d0584828561161f565b509392505050565b5f82601f830112611d2157611d206112bb565b5b8151611d31848260208601611ccc565b91505092915050565b5f81519050611d4881611809565b92915050565b5f60608284031215611d6357611d62611be4565b5b611d6d6060611895565b90505f611d7c84828501611cb8565b5f83015250602082015167ffffffffffffffff811115611d9f57611d9e611be8565b5b611dab84828501611d0d565b6020830152506040611dbf84828501611d3a565b60408301525092915050565b5f60208284031215611de057611ddf6111d8565b5b5f82015167ffffffffffffffff811115611dfd57611dfc6111dc565b5b611e0984828501611d4e565b91505092915050565b611e1b816117fd565b82525050565b5f604082019050611e345f830185611e12565b611e416020830184611675565b9392505050565b5f60a082019050611e5b5f83018861169c565b611e686020830187611675565b611e756040830186611e12565b611e826060830185611684565b611e8f608083018461169c565b969550505050505056fea264697066735822122008717acf56bd2e77cae440af4190cdc25d338915254361f19975fc59eb3addf964736f6c634300081a0033", t = class t extends v {
7
7
  constructor() {
8
8
  super(...arguments), this.abi = r;
9
9
  }
@@ -17,7 +17,7 @@ const R = "0x610120604052348015610010575f80fd5b503073fffffffffffffffffffffffffff
17
17
  * @returns {Promise<boolean>}
18
18
  */
19
19
  async signers(f, b) {
20
- return await h(this._config, {
20
+ return await u(this._config, {
21
21
  address: this.assertValidAddress(),
22
22
  args: [f],
23
23
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -34,7 +34,7 @@ const R = "0x610120604052348015610010575f80fd5b503073fffffffffffffffffffffffffff
34
34
  * @returns {Promise<Hex>}
35
35
  */
36
36
  async hashSignerData(f, b) {
37
- return await y(this._config, {
37
+ return await h(this._config, {
38
38
  address: this.assertValidAddress(),
39
39
  args: [
40
40
  f.boostId,
@@ -68,7 +68,7 @@ const R = "0x610120604052348015610010575f80fd5b503073fffffffffffffffffffffffffff
68
68
  * @returns {Promise<boolean>} - True if the action has been validated based on the data payload
69
69
  */
70
70
  async validateRaw(f, b) {
71
- const { request: a, result: e } = await m(
71
+ const { request: a, result: e } = await y(
72
72
  this._config,
73
73
  {
74
74
  address: this.assertValidAddress(),
@@ -83,7 +83,7 @@ const R = "0x610120604052348015610010575f80fd5b503073fffffffffffffffffffffffffff
83
83
  ...b
84
84
  }
85
85
  );
86
- return { hash: await p(this._config, a), result: e };
86
+ return { hash: await m(this._config, a), result: e };
87
87
  }
88
88
  /**
89
89
  * Set the authorized status of a signer
@@ -111,7 +111,7 @@ const R = "0x610120604052348015610010575f80fd5b503073fffffffffffffffffffffffffff
111
111
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
112
112
  */
113
113
  async setAuthorizedRaw(f, b, a) {
114
- const { request: e, result: d } = await g(
114
+ const { request: e, result: d } = await p(
115
115
  this._config,
116
116
  {
117
117
  address: this.assertValidAddress(),
@@ -121,7 +121,7 @@ const R = "0x610120604052348015610010575f80fd5b503073fffffffffffffffffffffffffff
121
121
  ...a
122
122
  }
123
123
  );
124
- return { hash: await w(this._config, e), result: d };
124
+ return { hash: await g(this._config, e), result: d };
125
125
  }
126
126
  /**
127
127
  * Update the authorized caller of the validator function
@@ -133,7 +133,7 @@ const R = "0x610120604052348015610010575f80fd5b503073fffffffffffffffffffffffffff
133
133
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
134
134
  */
135
135
  async setValidatorCallerRaw(f, b) {
136
- const { request: a, result: e } = await A(
136
+ const { request: a, result: e } = await w(
137
137
  this._config,
138
138
  {
139
139
  address: this.assertValidAddress(),
@@ -143,7 +143,7 @@ const R = "0x610120604052348015610010575f80fd5b503073fffffffffffffffffffffffffff
143
143
  ...b
144
144
  }
145
145
  );
146
- return { hash: await D(
146
+ return { hash: await A(
147
147
  this._config,
148
148
  a
149
149
  ), result: e };
@@ -169,7 +169,7 @@ const R = "0x610120604052348015610010575f80fd5b503073fffffffffffffffffffffffffff
169
169
  * @returns {Promise<Hex>}
170
170
  */
171
171
  async encodeClaimData(f) {
172
- return await P({
172
+ return await R({
173
173
  ...f,
174
174
  validator: this.assertValidAddress()
175
175
  });
@@ -189,7 +189,7 @@ const R = "0x610120604052348015610010575f80fd5b503073fffffffffffffffffffffffffff
189
189
  );
190
190
  return {
191
191
  abi: r,
192
- bytecode: R,
192
+ bytecode: C,
193
193
  args: [S(a)],
194
194
  ...this.optionallyAttachAccount(e.account)
195
195
  };
@@ -197,10 +197,10 @@ const R = "0x610120604052348015610010575f80fd5b503073fffffffffffffffffffffffffff
197
197
  };
198
198
  t.bases = {
199
199
  31337: void 0,
200
- ...v
201
- }, t.registryType = C.VALIDATOR;
200
+ ...D
201
+ }, t.registryType = V.VALIDATOR;
202
202
  let n = t;
203
- async function P({
203
+ async function R({
204
204
  signer: c,
205
205
  incentiveData: f,
206
206
  chainId: b,
@@ -209,7 +209,7 @@ async function P({
209
209
  claimant: d,
210
210
  boostId: i
211
211
  }) {
212
- const o = {
212
+ const o = await c.privateKey.signTypedData({
213
213
  domain: {
214
214
  name: "SignerValidator",
215
215
  version: "1",
@@ -231,11 +231,9 @@ async function P({
231
231
  claimant: d,
232
232
  incentiveData: f
233
233
  }
234
- }, l = await c.privateKey.signTypedData({
235
- ...o
236
- }), u = I({
234
+ }), l = P({
237
235
  signer: c.account,
238
- signature: l,
236
+ signature: o,
239
237
  incentiveQuantity: e
240
238
  // Adjust incentive quantity as necessary
241
239
  });
@@ -250,10 +248,10 @@ async function P({
250
248
  ]
251
249
  }
252
250
  ],
253
- [{ validatorData: u, incentiveData: f }]
251
+ [{ validatorData: l, incentiveData: f }]
254
252
  );
255
253
  }
256
- function I({
254
+ function P({
257
255
  signer: c,
258
256
  signature: f,
259
257
  incentiveQuantity: b
@@ -287,8 +285,8 @@ function S({
287
285
  }
288
286
  export {
289
287
  n as SignerValidator,
290
- P as prepareSignerValidatorClaimDataPayload,
291
- I as prepareSignerValidatorInputParams,
288
+ R as prepareSignerValidatorClaimDataPayload,
289
+ P as prepareSignerValidatorInputParams,
292
290
  S as prepareSignerValidatorPayload,
293
291
  r as signerValidatorAbi
294
292
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SignerValidator.js","sources":["../../src/Validators/SignerValidator.ts"],"sourcesContent":["import {\n readSignerValidatorHashSignerData,\n readSignerValidatorSigners,\n signerValidatorAbi,\n simulateSignerValidatorSetAuthorized,\n simulateSignerValidatorSetValidatorCaller,\n simulateSignerValidatorValidate,\n writeSignerValidatorSetAuthorized,\n writeSignerValidatorSetValidatorCaller,\n writeSignerValidatorValidate,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/validators/SignerValidator.sol/SignerValidator.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n type PrivateKeyAccount,\n encodeAbiParameters,\n} from 'viem';\nimport { signTypedData } from 'viem/accounts';\nimport { SignerValidator as SignerValidatorBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { signerValidatorAbi };\n\n/**\n * Object reprentation of a {@link SignerValidator} initialization payload\n *\n * @export\n * @interface SignerValidatorPayload\n * @typedef {SignerValidatorPayload}\n */\nexport interface SignerValidatorPayload {\n /**\n * The list of authorized signers. The first address in the list will be the initial owner of the contract.\n *\n * @type {Address[]}\n */\n signers: Address[];\n /**\n * The authorized caller of the {@link prepareSignerValidator} function\n * @type {Address}\n */\n validatorCaller: Address;\n}\n\n/**\n * Description placeholder\n *\n * @export\n * @interface SignerValidatorValidatePayload\n * @typedef {SignerValidatorValidatePayload}\n */\nexport interface SignerValidatorValidatePayload {\n /**\n * The ID of the boost.\n *\n * @type {bigint}\n */\n boostId: bigint;\n /**\n * The ID of the incentive.\n *\n * @type {bigint}\n */\n incentiveId: bigint;\n /**\n * The address of the claimant.\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The claim data.\n *\n * @type {Hex}\n */\n claimData: Hex;\n}\n\n/**\n * Object reprentation of a {@link SignerValidator} initialization payload\n *\n * @export\n * @interface SignerValidatorPayload\n * @typedef {SignerValidatorPayload}\n */\nexport interface SignerValidatorPayload {\n /**\n * The list of authorized signers. The first address in the list will be the initial owner of the contract.\n *\n * @type {Address[]}\n */\n signers: Address[];\n /**\n * The authorized caller of the {@link prepareSignerValidator} function\n * @type {Address}\n */\n validatorCaller: Address;\n}\n\n/**\n * Description placeholder\n *\n * @export\n * @interface SignerValidatorValidatePayload\n * @typedef {SignerValidatorValidatePayload}\n */\nexport interface SignerValidatorValidatePayload {\n /**\n * The ID of the boost.\n *\n * @type {bigint}\n */\n boostId: bigint;\n /**\n * The ID of the incentive.\n *\n * @type {bigint}\n */\n incentiveId: bigint;\n /**\n * The address of the claimant.\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The claim data.\n *\n * @type {Hex}\n */\n claimData: Hex;\n}\n\n/**\n * Signer Validator Claim Data Payload\n *\n * @export\n * @interface SignerValidatorClaimDataParams\n * @typedef {SignerValidatorClaimDataParams}\n */\nexport interface SignerValidatorClaimDataParams {\n /**\n * The signer with which to sign the input\n *\n * @type {{\n * account: Address;\n * key: Hex;\n * privateKey: PrivateKeyAccount;\n * }}\n */\n signer: {\n account: Address;\n key: Hex;\n privateKey: PrivateKeyAccount;\n };\n /**\n * The encoded data to provide the underlying incentive. You can use {@link prepareAllowListIncentivePayload}, {@link prepareCGDAIncentivePayload}, {@link prepareERC20IncentivePayload}, {@link prepareERC1155IncentivePayload}, or {@link preparePointsIncentivePayload}\n *\n * @type {Hex}\n */\n incentiveData: Hex;\n /**\n * The chain id to target\n *\n * @type {number}\n */\n chainId: number;\n /**\n * The address of the validator\n *\n * @type {Address}\n */\n validator: Address;\n /**\n * The total number of incentives on the Boost\n *\n * @type {number}\n */\n incentiveQuantity: number;\n /**\n * The address of the claimant\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The ID of the boost\n *\n * @type {bigint}\n */\n boostId: bigint;\n}\n\n/**\n * Object representation of a {@link SignerValidatorInputParams} initialization payload\n *\n * @export\n * @interface SignerValidatorInputParams\n * @typedef {SignerValidatorInputParams}\n */\nexport interface SignerValidatorInputParams {\n /**\n * The signer address.\n *\n * @type {Address}\n */\n signer: Address;\n\n /**\n * The signature data.\n *\n * @type {string}\n */\n signature: Hex;\n\n /**\n * The total number of incentives on the Boost\n *\n * @type {number}\n */\n incentiveQuantity: number;\n}\n\n/**\n * Object representing the payload for signing before validaton.\n *\n * @export\n * @interface SignerValidatorSignaturePayload\n * @typedef {SignerValidatorSignaturePayload}\n */\nexport interface SignerValidatorSignaturePayload {\n /**\n * The ID of the boost.\n *\n * @type {bigint}\n */\n boostId: bigint;\n /**\n * The ID of the incentive.\n *\n * @type {number}\n */\n incentiveQuantity: number;\n /**\n * The address of the claimant.\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The claim data.\n *\n * @type {Hex}\n */\n incentiveData: Hex;\n}\n\n/**\n * A generic `viem.Log` event with support for `BoostCore` event types.\n *\n * @export\n * @typedef {SignerValidatorLog}\n * @template {ContractEventName<\n * typeof signerValidatorAbi\n * >} [event=ContractEventName<typeof signerValidatorAbi>]\n */\nexport type SignerValidatorLog<\n event extends ContractEventName<\n typeof signerValidatorAbi\n > = ContractEventName<typeof signerValidatorAbi>,\n> = GenericLog<typeof signerValidatorAbi, event>;\n\n/**\n * A simple implementation of a Validator that verifies a given signature and checks the recovered address against a set of authorized signers\n *\n * @export\n * @class SignerValidator\n * @typedef {SignerValidator}\n * @extends {DeployableTarget<SignerValidatorPayload>}\n */\nexport class SignerValidator extends DeployableTarget<\n SignerValidatorPayload,\n typeof signerValidatorAbi\n> {\n /**\n * @inheritdoc\n *\n * @public\n * @readonly\n * @type {*}\n */\n public override readonly abi = signerValidatorAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n 31337: import.meta.env.VITE_SIGNER_VALIDATOR_BASE,\n ...(SignerValidatorBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.VALIDATOR;\n\n /**\n * The set of authorized signers\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>}\n */\n public async signers(\n address: Address,\n params?: ReadParams<typeof signerValidatorAbi, 'signers'>,\n ) {\n return await readSignerValidatorSigners(this._config, {\n address: this.assertValidAddress(),\n args: [address],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Retrieve the hash and signer data for a given hash\n *\n * @public\n * @async\n * @param {SignerValidatorSignaturePayload} payload\n * @param {?ReadParams} [params]\n * @returns {Promise<Hex>}\n */\n public async hashSignerData(\n payload: SignerValidatorSignaturePayload,\n params?: ReadParams<typeof signerValidatorAbi, 'hashSignerData'>,\n ) {\n return await readSignerValidatorHashSignerData(this._config, {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveQuantity,\n payload.claimant,\n payload.incentiveData,\n ],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.\n *\n * @public\n * @async\n * @param {SignerValidatorValidatePayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the action has been validated based on the data payload\n */\n protected async validate(\n payload: SignerValidatorValidatePayload,\n params?: WriteParams<typeof signerValidatorAbi, 'validate'>,\n ) {\n return await this.awaitResult(this.validateRaw(payload, params));\n }\n\n /**\n * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.\n *\n * @public\n * @async\n * @param {SignerValidatorValidatePayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the action has been validated based on the data payload\n */\n protected async validateRaw(\n payload: SignerValidatorValidatePayload,\n params?: ReadParams<typeof signerValidatorAbi, 'validate'>,\n ) {\n const { request, result } = await simulateSignerValidatorValidate(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveId,\n payload.claimant,\n payload.claimData,\n ],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeSignerValidatorValidate(this._config, request);\n return { hash, result };\n }\n\n /**\n * Set the authorized status of a signer\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of signers to update\n * @param {boolean[]} allowed - The authorized status of each signer\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setAuthorized(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof signerValidatorAbi, 'setAuthorized'>,\n ) {\n return await this.awaitResult(\n this.setAuthorizedRaw(addresses, allowed, params),\n );\n }\n\n /**\n * Set the authorized status of a signer\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of signers to update\n * @param {boolean[]} allowed - The authorized status of each signer\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setAuthorizedRaw(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof signerValidatorAbi, 'setAuthorized'>,\n ) {\n const { request, result } = await simulateSignerValidatorSetAuthorized(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, allowed],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeSignerValidatorSetAuthorized(this._config, request);\n return { hash, result };\n }\n\n /**\n * Update the authorized caller of the validator function\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setValidatorCallerRaw(\n address: Address,\n params?: WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>,\n ) {\n const { request, result } = await simulateSignerValidatorSetValidatorCaller(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [address],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeSignerValidatorSetValidatorCaller(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Update the authorized caller of the validator function\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setValidatorCaller(\n address: Address,\n params?: WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>,\n ) {\n return await this.awaitResult(this.setValidatorCallerRaw(address, params));\n }\n\n /**\n * Properly encodes the data needed to claim\n *\n * @public\n * @async\n * @param {SignerValidatorClaimDataParams} params\n * @returns {Promise<Hex>}\n */\n public async encodeClaimData(\n params: Omit<SignerValidatorClaimDataParams, 'validator'>,\n ): Promise<Hex> {\n return await prepareSignerValidatorClaimDataPayload({\n ...params,\n validator: this.assertValidAddress(),\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SignerValidatorPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SignerValidatorPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: signerValidatorAbi,\n bytecode: bytecode as Hex,\n args: [prepareSignerValidatorPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Signer Validator Claim Data Payload Preparation\n *\n * @export\n * @async\n * @param {SignerValidatorClaimDataParams} param0\n * @param {{ account: Address; key: Hex; privateKey: PrivateKeyAccount; }} param0.signer\n * @param {Hex} param0.incentiveData\n * @param {number} param0.chainId\n * @param {Address} param0.validator\n * @param {number} param0.incentiveQuantity\n * @param {Address} param0.claimant\n * @param {bigint} param0.boostId\n * @returns {Promise<Hex>}\n */\nexport async function prepareSignerValidatorClaimDataPayload({\n signer,\n incentiveData,\n chainId,\n validator,\n incentiveQuantity,\n claimant,\n boostId,\n}: SignerValidatorClaimDataParams): Promise<Hex> {\n const domain = {\n name: 'SignerValidator',\n version: '1',\n chainId: chainId,\n verifyingContract: validator,\n };\n const typedData = {\n domain,\n types: {\n SignerValidatorData: [\n { name: 'boostId', type: 'uint256' },\n { name: 'incentiveQuantity', type: 'uint8' },\n { name: 'claimant', type: 'address' },\n { name: 'incentiveData', type: 'bytes' },\n ],\n },\n primaryType: 'SignerValidatorData' as const,\n message: {\n boostId,\n incentiveQuantity,\n claimant,\n incentiveData: incentiveData,\n },\n };\n\n const trustedSignature = await signer.privateKey.signTypedData({\n ...typedData,\n });\n\n // Prepare the claim data payload using the new helper\n const validatorData = prepareSignerValidatorInputParams({\n signer: signer.account,\n signature: trustedSignature,\n incentiveQuantity, // Adjust incentive quantity as necessary\n });\n\n const boostClaimDataPayload = encodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'BoostClaimData',\n components: [\n { type: 'bytes', name: 'validatorData' },\n { type: 'bytes', name: 'incentiveData' },\n ],\n },\n ],\n [{ validatorData, incentiveData }],\n );\n\n return boostClaimDataPayload;\n}\n\n/**\n * Given a {@link SignerValidatorInputParams}, properly encode the initialization payload.\n *\n * @param {SignerValidatorInputParams} param0\n * @param {Address} param0.signer\n * @param {Hex} param0.signature\n * @param {number} param0.incentiveQuantity\n * @returns {Hex}\n */\nexport function prepareSignerValidatorInputParams({\n signer,\n signature,\n incentiveQuantity,\n}: SignerValidatorInputParams) {\n return encodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'SignerValidatorInputParams',\n components: [\n { type: 'address', name: 'signer' },\n { type: 'bytes', name: 'signature' },\n { type: 'uint8', name: 'incentiveQuantity' },\n ],\n },\n ],\n [{ signer, signature, incentiveQuantity }],\n );\n}\n\n/**\n * Given a {@link SignerValidatorPayload}, properly encode the initialization payload.\n *\n * @param {SignerValidatorPayload} param0\n * @param {Address[]} param0.signers\n * @param {Address} param0.validatorCaller\n * @returns {Hex}\n */\nexport function prepareSignerValidatorPayload({\n signers,\n validatorCaller,\n}: SignerValidatorPayload) {\n return encodeAbiParameters(\n [\n { type: 'address[]', name: 'signers' },\n { type: 'address', name: 'validatorCaller' },\n ],\n [signers, validatorCaller],\n );\n}\n"],"names":["_SignerValidator","DeployableTarget","signerValidatorAbi","address","params","readSignerValidatorSigners","payload","readSignerValidatorHashSignerData","request","result","simulateSignerValidatorValidate","writeSignerValidatorValidate","addresses","allowed","simulateSignerValidatorSetAuthorized","writeSignerValidatorSetAuthorized","simulateSignerValidatorSetValidatorCaller","writeSignerValidatorSetValidatorCaller","prepareSignerValidatorClaimDataPayload","_payload","_options","options","bytecode","prepareSignerValidatorPayload","SignerValidatorBases","RegistryType","SignerValidator","signer","incentiveData","chainId","validator","incentiveQuantity","claimant","boostId","typedData","trustedSignature","validatorData","prepareSignerValidatorInputParams","encodeAbiParameters","signature","signers","validatorCaller"],"mappings":"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"}
1
+ {"version":3,"file":"SignerValidator.js","sources":["../../src/Validators/SignerValidator.ts"],"sourcesContent":["import {\n readSignerValidatorHashSignerData,\n readSignerValidatorSigners,\n signerValidatorAbi,\n simulateSignerValidatorSetAuthorized,\n simulateSignerValidatorSetValidatorCaller,\n simulateSignerValidatorValidate,\n writeSignerValidatorSetAuthorized,\n writeSignerValidatorSetValidatorCaller,\n writeSignerValidatorValidate,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/validators/SignerValidator.sol/SignerValidator.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n type PrivateKeyAccount,\n encodeAbiParameters,\n} from 'viem';\nimport { signTypedData } from 'viem/accounts';\nimport { SignerValidator as SignerValidatorBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { signerValidatorAbi };\n\n/**\n * Object reprentation of a {@link SignerValidator} initialization payload\n *\n * @export\n * @interface SignerValidatorPayload\n * @typedef {SignerValidatorPayload}\n */\nexport interface SignerValidatorPayload {\n /**\n * The list of authorized signers. The first address in the list will be the initial owner of the contract.\n *\n * @type {Address[]}\n */\n signers: Address[];\n /**\n * The authorized caller of the {@link prepareSignerValidator} function\n * @type {Address}\n */\n validatorCaller: Address;\n}\n\n/**\n * Description placeholder\n *\n * @export\n * @interface SignerValidatorValidatePayload\n * @typedef {SignerValidatorValidatePayload}\n */\nexport interface SignerValidatorValidatePayload {\n /**\n * The ID of the boost.\n *\n * @type {bigint}\n */\n boostId: bigint;\n /**\n * The ID of the incentive.\n *\n * @type {bigint}\n */\n incentiveId: bigint;\n /**\n * The address of the claimant.\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The claim data.\n *\n * @type {Hex}\n */\n claimData: Hex;\n}\n\n/**\n * Object reprentation of a {@link SignerValidator} initialization payload\n *\n * @export\n * @interface SignerValidatorPayload\n * @typedef {SignerValidatorPayload}\n */\nexport interface SignerValidatorPayload {\n /**\n * The list of authorized signers. The first address in the list will be the initial owner of the contract.\n *\n * @type {Address[]}\n */\n signers: Address[];\n /**\n * The authorized caller of the {@link prepareSignerValidator} function\n * @type {Address}\n */\n validatorCaller: Address;\n}\n\n/**\n * Description placeholder\n *\n * @export\n * @interface SignerValidatorValidatePayload\n * @typedef {SignerValidatorValidatePayload}\n */\nexport interface SignerValidatorValidatePayload {\n /**\n * The ID of the boost.\n *\n * @type {bigint}\n */\n boostId: bigint;\n /**\n * The ID of the incentive.\n *\n * @type {bigint}\n */\n incentiveId: bigint;\n /**\n * The address of the claimant.\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The claim data.\n *\n * @type {Hex}\n */\n claimData: Hex;\n}\n\n/**\n * Signer Validator Claim Data Payload\n *\n * @export\n * @interface SignerValidatorClaimDataParams\n * @typedef {SignerValidatorClaimDataParams}\n */\nexport interface SignerValidatorClaimDataParams {\n /**\n * The signer with which to sign the input\n *\n * @type {{\n * account: Address;\n * key: Hex;\n * privateKey: PrivateKeyAccount;\n * }}\n */\n signer: {\n account: Address;\n key: Hex;\n privateKey: PrivateKeyAccount;\n };\n /**\n * The encoded data to provide the underlying incentive. You can use {@link prepareAllowListIncentivePayload}, {@link prepareCGDAIncentivePayload}, {@link prepareERC20IncentivePayload}, {@link prepareERC1155IncentivePayload}, or {@link preparePointsIncentivePayload}\n *\n * @type {Hex}\n */\n incentiveData: Hex;\n /**\n * The chain id to target\n *\n * @type {number}\n */\n chainId: number;\n /**\n * The address of the validator\n *\n * @type {Address}\n */\n validator: Address;\n /**\n * The total number of incentives on the Boost\n *\n * @type {number}\n */\n incentiveQuantity: number;\n /**\n * The address of the claimant\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The ID of the boost\n *\n * @type {bigint}\n */\n boostId: bigint;\n}\n\n/**\n * Object representation of a {@link SignerValidatorInputParams} initialization payload\n *\n * @export\n * @interface SignerValidatorInputParams\n * @typedef {SignerValidatorInputParams}\n */\nexport interface SignerValidatorInputParams {\n /**\n * The signer address.\n *\n * @type {Address}\n */\n signer: Address;\n\n /**\n * The signature data.\n *\n * @type {string}\n */\n signature: Hex;\n\n /**\n * The total number of incentives on the Boost\n *\n * @type {number}\n */\n incentiveQuantity: number;\n}\n\n/**\n * Object representing the payload for signing before validaton.\n *\n * @export\n * @interface SignerValidatorSignaturePayload\n * @typedef {SignerValidatorSignaturePayload}\n */\nexport interface SignerValidatorSignaturePayload {\n /**\n * The ID of the boost.\n *\n * @type {bigint}\n */\n boostId: bigint;\n /**\n * The ID of the incentive.\n *\n * @type {number}\n */\n incentiveQuantity: number;\n /**\n * The address of the claimant.\n *\n * @type {Address}\n */\n claimant: Address;\n /**\n * The claim data.\n *\n * @type {Hex}\n */\n incentiveData: Hex;\n}\n\n/**\n * A generic `viem.Log` event with support for `BoostCore` event types.\n *\n * @export\n * @typedef {SignerValidatorLog}\n * @template {ContractEventName<\n * typeof signerValidatorAbi\n * >} [event=ContractEventName<typeof signerValidatorAbi>]\n */\nexport type SignerValidatorLog<\n event extends ContractEventName<\n typeof signerValidatorAbi\n > = ContractEventName<typeof signerValidatorAbi>,\n> = GenericLog<typeof signerValidatorAbi, event>;\n\n/**\n * A simple implementation of a Validator that verifies a given signature and checks the recovered address against a set of authorized signers\n *\n * @export\n * @class SignerValidator\n * @typedef {SignerValidator}\n * @extends {DeployableTarget<SignerValidatorPayload>}\n */\nexport class SignerValidator extends DeployableTarget<\n SignerValidatorPayload,\n typeof signerValidatorAbi\n> {\n /**\n * @inheritdoc\n *\n * @public\n * @readonly\n * @type {*}\n */\n public override readonly abi = signerValidatorAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n 31337: import.meta.env.VITE_SIGNER_VALIDATOR_BASE,\n ...(SignerValidatorBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.VALIDATOR;\n\n /**\n * The set of authorized signers\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>}\n */\n public async signers(\n address: Address,\n params?: ReadParams<typeof signerValidatorAbi, 'signers'>,\n ) {\n return await readSignerValidatorSigners(this._config, {\n address: this.assertValidAddress(),\n args: [address],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Retrieve the hash and signer data for a given hash\n *\n * @public\n * @async\n * @param {SignerValidatorSignaturePayload} payload\n * @param {?ReadParams} [params]\n * @returns {Promise<Hex>}\n */\n public async hashSignerData(\n payload: SignerValidatorSignaturePayload,\n params?: ReadParams<typeof signerValidatorAbi, 'hashSignerData'>,\n ) {\n return await readSignerValidatorHashSignerData(this._config, {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveQuantity,\n payload.claimant,\n payload.incentiveData,\n ],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.\n *\n * @public\n * @async\n * @param {SignerValidatorValidatePayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the action has been validated based on the data payload\n */\n protected async validate(\n payload: SignerValidatorValidatePayload,\n params?: WriteParams<typeof signerValidatorAbi, 'validate'>,\n ) {\n return await this.awaitResult(this.validateRaw(payload, params));\n }\n\n /**\n * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.\n *\n * @public\n * @async\n * @param {SignerValidatorValidatePayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the action has been validated based on the data payload\n */\n protected async validateRaw(\n payload: SignerValidatorValidatePayload,\n params?: ReadParams<typeof signerValidatorAbi, 'validate'>,\n ) {\n const { request, result } = await simulateSignerValidatorValidate(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveId,\n payload.claimant,\n payload.claimData,\n ],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeSignerValidatorValidate(this._config, request);\n return { hash, result };\n }\n\n /**\n * Set the authorized status of a signer\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of signers to update\n * @param {boolean[]} allowed - The authorized status of each signer\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setAuthorized(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof signerValidatorAbi, 'setAuthorized'>,\n ) {\n return await this.awaitResult(\n this.setAuthorizedRaw(addresses, allowed, params),\n );\n }\n\n /**\n * Set the authorized status of a signer\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of signers to update\n * @param {boolean[]} allowed - The authorized status of each signer\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setAuthorizedRaw(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof signerValidatorAbi, 'setAuthorized'>,\n ) {\n const { request, result } = await simulateSignerValidatorSetAuthorized(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, allowed],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeSignerValidatorSetAuthorized(this._config, request);\n return { hash, result };\n }\n\n /**\n * Update the authorized caller of the validator function\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: void; }>}\n */\n public async setValidatorCallerRaw(\n address: Address,\n params?: WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>,\n ) {\n const { request, result } = await simulateSignerValidatorSetValidatorCaller(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [address],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeSignerValidatorSetValidatorCaller(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Update the authorized caller of the validator function\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?WriteParams} [params]\n * @returns {Promise<void>}\n */\n public async setValidatorCaller(\n address: Address,\n params?: WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>,\n ) {\n return await this.awaitResult(this.setValidatorCallerRaw(address, params));\n }\n\n /**\n * Properly encodes the data needed to claim\n *\n * @public\n * @async\n * @param {SignerValidatorClaimDataParams} params\n * @returns {Promise<Hex>}\n */\n public async encodeClaimData(\n params: Omit<SignerValidatorClaimDataParams, 'validator'>,\n ): Promise<Hex> {\n return await prepareSignerValidatorClaimDataPayload({\n ...params,\n validator: this.assertValidAddress(),\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SignerValidatorPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SignerValidatorPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: signerValidatorAbi,\n bytecode: bytecode as Hex,\n args: [prepareSignerValidatorPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Signer Validator Claim Data Payload Preparation\n *\n * @export\n * @async\n * @param {SignerValidatorClaimDataParams} param0\n * @param {{ account: Address; key: Hex; privateKey: PrivateKeyAccount; }} param0.signer\n * @param {Hex} param0.incentiveData\n * @param {number} param0.chainId\n * @param {Address} param0.validator\n * @param {number} param0.incentiveQuantity\n * @param {Address} param0.claimant\n * @param {bigint} param0.boostId\n * @returns {Promise<Hex>}\n */\nexport async function prepareSignerValidatorClaimDataPayload({\n signer,\n incentiveData,\n chainId,\n validator,\n incentiveQuantity,\n claimant,\n boostId,\n}: SignerValidatorClaimDataParams): Promise<Hex> {\n const trustedSignature = await signer.privateKey.signTypedData({\n domain: {\n name: 'SignerValidator',\n version: '1',\n chainId: chainId,\n verifyingContract: validator,\n },\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 // Prepare the claim data payload using the new helper\n const validatorData = prepareSignerValidatorInputParams({\n signer: signer.account,\n signature: trustedSignature,\n incentiveQuantity, // Adjust incentive quantity as necessary\n });\n\n const boostClaimDataPayload = encodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'BoostClaimData',\n components: [\n { type: 'bytes', name: 'validatorData' },\n { type: 'bytes', name: 'incentiveData' },\n ],\n },\n ],\n [{ validatorData, incentiveData }],\n );\n\n return boostClaimDataPayload;\n}\n\n/**\n * Given a {@link SignerValidatorInputParams}, properly encode the initialization payload.\n *\n * @param {SignerValidatorInputParams} param0\n * @param {Address} param0.signer\n * @param {Hex} param0.signature\n * @param {number} param0.incentiveQuantity\n * @returns {Hex}\n */\nexport function prepareSignerValidatorInputParams({\n signer,\n signature,\n incentiveQuantity,\n}: SignerValidatorInputParams) {\n return encodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'SignerValidatorInputParams',\n components: [\n { type: 'address', name: 'signer' },\n { type: 'bytes', name: 'signature' },\n { type: 'uint8', name: 'incentiveQuantity' },\n ],\n },\n ],\n [{ signer, signature, incentiveQuantity }],\n );\n}\n\n/**\n * Given a {@link SignerValidatorPayload}, properly encode the initialization payload.\n *\n * @param {SignerValidatorPayload} param0\n * @param {Address[]} param0.signers\n * @param {Address} param0.validatorCaller\n * @returns {Hex}\n */\nexport function prepareSignerValidatorPayload({\n signers,\n validatorCaller,\n}: SignerValidatorPayload) {\n return encodeAbiParameters(\n [\n { type: 'address[]', name: 'signers' },\n { type: 'address', name: 'validatorCaller' },\n ],\n [signers, validatorCaller],\n );\n}\n"],"names":["_SignerValidator","DeployableTarget","signerValidatorAbi","address","params","readSignerValidatorSigners","payload","readSignerValidatorHashSignerData","request","result","simulateSignerValidatorValidate","writeSignerValidatorValidate","addresses","allowed","simulateSignerValidatorSetAuthorized","writeSignerValidatorSetAuthorized","simulateSignerValidatorSetValidatorCaller","writeSignerValidatorSetValidatorCaller","prepareSignerValidatorClaimDataPayload","_payload","_options","options","bytecode","prepareSignerValidatorPayload","SignerValidatorBases","RegistryType","SignerValidator","signer","incentiveData","chainId","validator","incentiveQuantity","claimant","boostId","trustedSignature","validatorData","prepareSignerValidatorInputParams","encodeAbiParameters","signature","signers","validatorCaller"],"mappings":";;;;;kshBAoSaA,IAAN,MAAMA,UAAwBC,EAGnC;AAAA,EAHK,cAAA;AAAA,UAAA,GAAA,SAAA,GAWL,KAAyB,MAAMC;AAAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA8B/B,MAAa,QACXC,GACAC,GACA;AACO,WAAA,MAAMC,EAA2B,KAAK,SAAS;AAAA,MACpD,SAAS,KAAK,mBAAmB;AAAA,MACjC,MAAM,CAACF,CAAO;AAAA;AAAA,MAEd,GAAIC;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,eACXE,GACAF,GACA;AACO,WAAA,MAAMG,EAAkC,KAAK,SAAS;AAAA,MAC3D,SAAS,KAAK,mBAAmB;AAAA,MACjC,MAAM;AAAA,QACJD,EAAQ;AAAA,QACRA,EAAQ;AAAA,QACRA,EAAQ;AAAA,QACRA,EAAQ;AAAA,MACV;AAAA;AAAA,MAEA,GAAIF;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAgB,SACdE,GACAF,GACA;AACA,WAAO,MAAM,KAAK,YAAY,KAAK,YAAYE,GAASF,CAAM,CAAC;AAAA,EACjE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAgB,YACdE,GACAF,GACA;AACA,UAAM,EAAE,SAAAI,GAAS,QAAAC,EAAO,IAAI,MAAMC;AAAAA,MAChC,KAAK;AAAA,MACL;AAAA,QACE,SAAS,KAAK,mBAAmB;AAAA,QACjC,MAAM;AAAA,UACJJ,EAAQ;AAAA,UACRA,EAAQ;AAAA,UACRA,EAAQ;AAAA,UACRA,EAAQ;AAAA,QACV;AAAA,QACA,GAAG,KAAK,wBAAwB;AAAA;AAAA,QAEhC,GAAIF;AAAA,MACN;AAAA,IAAA;AAGK,WAAA,EAAE,MADI,MAAMO,EAA6B,KAAK,SAASH,CAAO,GACtD,QAAAC;EACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAa,cACXG,GACAC,GACAT,GACA;AACA,WAAO,MAAM,KAAK;AAAA,MAChB,KAAK,iBAAiBQ,GAAWC,GAAST,CAAM;AAAA,IAAA;AAAA,EAEpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAa,iBACXQ,GACAC,GACAT,GACA;AACA,UAAM,EAAE,SAAAI,GAAS,QAAAC,EAAO,IAAI,MAAMK;AAAAA,MAChC,KAAK;AAAA,MACL;AAAA,QACE,SAAS,KAAK,mBAAmB;AAAA,QACjC,MAAM,CAACF,GAAWC,CAAO;AAAA,QACzB,GAAG,KAAK,wBAAwB;AAAA;AAAA,QAEhC,GAAIT;AAAA,MACN;AAAA,IAAA;AAGK,WAAA,EAAE,MADI,MAAMW,EAAkC,KAAK,SAASP,CAAO,GAC3D,QAAAC;EACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,sBACXN,GACAC,GACA;AACA,UAAM,EAAE,SAAAI,GAAS,QAAAC,EAAO,IAAI,MAAMO;AAAAA,MAChC,KAAK;AAAA,MACL;AAAA,QACE,SAAS,KAAK,mBAAmB;AAAA,QACjC,MAAM,CAACb,CAAO;AAAA,QACd,GAAG,KAAK,wBAAwB;AAAA;AAAA,QAEhC,GAAIC;AAAA,MACN;AAAA,IAAA;AAMK,WAAA,EAAE,MAJI,MAAMa;AAAAA,MACjB,KAAK;AAAA,MACLT;AAAA,IAAA,GAEa,QAAAC;EACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,mBACXN,GACAC,GACA;AACA,WAAO,MAAM,KAAK,YAAY,KAAK,sBAAsBD,GAASC,CAAM,CAAC;AAAA,EAC3E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,gBACXA,GACc;AACd,WAAO,MAAMc,EAAuC;AAAA,MAClD,GAAGd;AAAA,MACH,WAAW,KAAK,mBAAmB;AAAA,IAAA,CACpC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUgB,gBACde,GACAC,GACyB;AACzB,UAAM,CAACd,GAASe,CAAO,IAAI,KAAK;AAAA,MAC9BF;AAAA,MACAC;AAAA,IAAA;AAEK,WAAA;AAAA,MACL,KAAKlB;AAAAA,MACL,UAAAoB;AAAA,MACA,MAAM,CAACC,EAA8BjB,CAAO,CAAC;AAAA,MAC7C,GAAG,KAAK,wBAAwBe,EAAQ,OAAO;AAAA,IAAA;AAAA,EAEnD;AACF;AAnPErB,EAAuB,QAAiC;AAAA,EACtD,OAAO;AAAA,EACP,GAAIwB;AAAA,GASNxB,EAAuB,eAA6ByB,EAAa;AA9B5D,IAAMC,IAAN1B;AAuRP,eAAsBkB,EAAuC;AAAA,EAC3D,QAAAS;AAAA,EACA,eAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AACF,GAAiD;AAC/C,QAAMC,IAAmB,MAAMP,EAAO,WAAW,cAAc;AAAA,IAC7D,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,MACT,SAAAE;AAAA,MACA,mBAAmBC;AAAA,IACrB;AAAA,IACA,OAAO;AAAA,MACL,qBAAqB;AAAA,QACnB,EAAE,MAAM,WAAW,MAAM,UAAU;AAAA,QACnC,EAAE,MAAM,qBAAqB,MAAM,QAAQ;AAAA,QAC3C,EAAE,MAAM,YAAY,MAAM,UAAU;AAAA,QACpC,EAAE,MAAM,iBAAiB,MAAM,QAAQ;AAAA,MACzC;AAAA,IACF;AAAA,IACA,aAAa;AAAA,IACb,SAAS;AAAA,MACP,SAAAG;AAAA,MACA,mBAAAF;AAAA,MACA,UAAAC;AAAA,MACA,eAAAJ;AAAA,IACF;AAAA,EAAA,CACD,GAGKO,IAAgBC,EAAkC;AAAA,IACtD,QAAQT,EAAO;AAAA,IACf,WAAWO;AAAA,IACX,mBAAAH;AAAA;AAAA,EAAA,CACD;AAgBM,SAduBM;AAAA,IAC5B;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,YAAY;AAAA,UACV,EAAE,MAAM,SAAS,MAAM,gBAAgB;AAAA,UACvC,EAAE,MAAM,SAAS,MAAM,gBAAgB;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,EAAE,eAAAF,GAAe,eAAAP,GAAe;AAAA,EAAA;AAIrC;AAWO,SAASQ,EAAkC;AAAA,EAChD,QAAAT;AAAA,EACA,WAAAW;AAAA,EACA,mBAAAP;AACF,GAA+B;AACtB,SAAAM;AAAA,IACL;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,YAAY;AAAA,UACV,EAAE,MAAM,WAAW,MAAM,SAAS;AAAA,UAClC,EAAE,MAAM,SAAS,MAAM,YAAY;AAAA,UACnC,EAAE,MAAM,SAAS,MAAM,oBAAoB;AAAA,QAC7C;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,EAAE,QAAAV,GAAQ,WAAAW,GAAW,mBAAAP,GAAmB;AAAA,EAAA;AAE7C;AAUO,SAASR,EAA8B;AAAA,EAC5C,SAAAgB;AAAA,EACA,iBAAAC;AACF,GAA2B;AAClB,SAAAH;AAAA,IACL;AAAA,MACE,EAAE,MAAM,aAAa,MAAM,UAAU;AAAA,MACrC,EAAE,MAAM,WAAW,MAAM,kBAAkB;AAAA,IAC7C;AAAA,IACA,CAACE,GAASC,CAAe;AAAA,EAAA;AAE7B;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../generated-Cqn4wS01.cjs"),d=require("../componentInterfaces-DRI_dQ-P.cjs"),c=require("@wagmi/core"),l=require("../errors.cjs"),s=require("./LimitedSignerValidator.cjs"),a=require("./SignerValidator.cjs"),e={[d.ASignerValidator]:a.SignerValidator};async function f(r,t){const o=await c.readContract(r.config,{abi:i.le,functionName:"getComponentInterface",address:t}),n=e[o];if(!n)throw new l.InvalidComponentInterfaceError(Object.keys(e),o);return new n(r,t)}const g={MAINNET:"",TESTNET:"0xd63167e9db11B108940b2E8236581F961f33f396"};exports.LimitedSignerValidator=s.LimitedSignerValidator;exports.SignerValidator=a.SignerValidator;exports.BoostValidatorEOA=g;exports.ValidatorByComponentInterface=e;exports.validatorFromAddress=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../generated-BSUMIFi5.cjs"),d=require("../componentInterfaces-BJ_XfE8j.cjs"),c=require("@wagmi/core"),s=require("../errors.cjs"),l=require("./LimitedSignerValidator.cjs"),a=require("./SignerValidator.cjs"),e={[d.ASignerValidator]:a.SignerValidator};async function f(r,t){const o=await c.readContract(r.config,{abi:i.ye,functionName:"getComponentInterface",address:t}),n=e[o];if(!n)throw new s.InvalidComponentInterfaceError(Object.keys(e),o);return new n(r,t)}const g={MAINNET:"",TESTNET:"0xd63167e9db11B108940b2E8236581F961f33f396"};exports.LimitedSignerValidator=l.LimitedSignerValidator;exports.SignerValidator=a.SignerValidator;exports.BoostValidatorEOA=g;exports.ValidatorByComponentInterface=e;exports.validatorFromAddress=f;
2
2
  //# sourceMappingURL=Validator.cjs.map
@@ -1,5 +1,5 @@
1
- import { u as a } from "../generated-BAKNSOjJ.js";
2
- import { g as i } from "../componentInterfaces-bIVo8eyA.js";
1
+ import { q as a } from "../generated-Dz_g2mFT.js";
2
+ import { h as i } from "../componentInterfaces-DBJaFhsl.js";
3
3
  import { readContract as m } from "@wagmi/core";
4
4
  import { InvalidComponentInterfaceError as f } from "../errors.js";
5
5
  import { LimitedSignerValidator as b } from "./LimitedSignerValidator.js";
@@ -9,7 +9,7 @@ const n = {
9
9
  // TODO bring this back in
10
10
  // [ALimitedSignerValidator as Hex]: LimitedSignerValidator,
11
11
  };
12
- async function E(o, r) {
12
+ async function I(o, r) {
13
13
  const t = await m(o.config, {
14
14
  abi: a,
15
15
  functionName: "getComponentInterface",
@@ -22,15 +22,15 @@ async function E(o, r) {
22
22
  );
23
23
  return new e(o, r);
24
24
  }
25
- const I = {
25
+ const g = {
26
26
  MAINNET: "",
27
27
  TESTNET: "0xd63167e9db11B108940b2E8236581F961f33f396"
28
28
  };
29
29
  export {
30
- I as BoostValidatorEOA,
30
+ g as BoostValidatorEOA,
31
31
  b as LimitedSignerValidator,
32
32
  c as SignerValidator,
33
33
  n as ValidatorByComponentInterface,
34
- E as validatorFromAddress
34
+ I as validatorFromAddress
35
35
  };
36
36
  //# sourceMappingURL=Validator.js.map
@@ -0,0 +1,2 @@
1
+ "use strict";const e="0xc2c281ec",n="0x53cf8555",t="0x7cc1d5bb",i="0xf60c99c9",c="0x90318111",A="0x7687b0ed",a="0x5fbfaa4e",o="0x0d36a40d",s="0xb8ce7b22",l="0x1392d798",v="0x3d30a22c";exports.AAllowListIncentive=e;exports.ACGDAIncentive=n;exports.AERC20Incentive=t;exports.AERC20VariableCriteriaIncentive=i;exports.AERC20VariableIncentive=c;exports.AEventAction=A;exports.AManagedBudget=a;exports.APointsIncentive=o;exports.ASignerValidator=s;exports.ASimpleAllowList=l;exports.ASimpleDenyList=v;
2
+ //# sourceMappingURL=componentInterfaces-BJ_XfE8j.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentInterfaces-BJ_XfE8j.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ const c = "0xc2c281ec", n = "0x53cf8555", e = "0x7cc1d5bb", t = "0xf60c99c9", s = "0x90318111", a = "0x7687b0ed", i = "0x5fbfaa4e", o = "0x0d36a40d", A = "0xb8ce7b22", x = "0x1392d798", d = "0x3d30a22c";
2
+ export {
3
+ a as A,
4
+ i as a,
5
+ o as b,
6
+ e as c,
7
+ c as d,
8
+ n as e,
9
+ s as f,
10
+ t as g,
11
+ A as h,
12
+ x as i,
13
+ d as j
14
+ };
15
+ //# sourceMappingURL=componentInterfaces-DBJaFhsl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentInterfaces-DBJaFhsl.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}