@boostxyz/sdk 8.0.0-canary.0 → 8.0.0-canary.2

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 (106) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +1 -1
  3. package/dist/Actions/EventAction.cjs +1 -1
  4. package/dist/Actions/EventAction.cjs.map +1 -1
  5. package/dist/Actions/EventAction.d.ts +19 -0
  6. package/dist/Actions/EventAction.d.ts.map +1 -1
  7. package/dist/Actions/EventAction.js +209 -204
  8. package/dist/Actions/EventAction.js.map +1 -1
  9. package/dist/{AllowList-CWqAYlwr.js → AllowList-DQf-8HQC.js} +30 -30
  10. package/dist/{AllowList-CWqAYlwr.js.map → AllowList-DQf-8HQC.js.map} +1 -1
  11. package/dist/{AllowList-Lpqz7tn9.cjs → AllowList-DaX239DR.cjs} +2 -2
  12. package/dist/{AllowList-Lpqz7tn9.cjs.map → AllowList-DaX239DR.cjs.map} +1 -1
  13. package/dist/AllowLists/AllowList.cjs +1 -1
  14. package/dist/AllowLists/AllowList.js +3 -3
  15. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  16. package/dist/AllowLists/SimpleAllowList.js +4 -4
  17. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  18. package/dist/AllowLists/SimpleDenyList.js +3 -3
  19. package/dist/Auth/PassthroughAuth.cjs +1 -1
  20. package/dist/Auth/PassthroughAuth.js +2 -2
  21. package/dist/BoostCore.cjs +2 -2
  22. package/dist/BoostCore.cjs.map +1 -1
  23. package/dist/BoostCore.d.ts +35 -0
  24. package/dist/BoostCore.d.ts.map +1 -1
  25. package/dist/BoostCore.js +75 -75
  26. package/dist/BoostRegistry.cjs +1 -1
  27. package/dist/BoostRegistry.js +13 -13
  28. package/dist/{Budget-BPPXnBAK.js → Budget-LnAQ_Slw.js} +40 -40
  29. package/dist/{Budget-BPPXnBAK.js.map → Budget-LnAQ_Slw.js.map} +1 -1
  30. package/dist/{Budget-rZm-AY09.cjs → Budget-WIB8IJoM.cjs} +2 -2
  31. package/dist/{Budget-rZm-AY09.cjs.map → Budget-WIB8IJoM.cjs.map} +1 -1
  32. package/dist/Budgets/Budget.cjs +1 -1
  33. package/dist/Budgets/Budget.js +2 -2
  34. package/dist/Budgets/ManagedBudget.cjs +1 -1
  35. package/dist/Budgets/ManagedBudget.js +25 -25
  36. package/dist/Deployable/DeployableTarget.cjs +1 -1
  37. package/dist/Deployable/DeployableTarget.js +3 -3
  38. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  39. package/dist/Deployable/DeployableTargetWithRBAC.js +21 -21
  40. package/dist/{Incentive-D1sYPD0W.js → Incentive-D_IBex5V.js} +22 -22
  41. package/dist/{Incentive-D1sYPD0W.js.map → Incentive-D_IBex5V.js.map} +1 -1
  42. package/dist/{Incentive-Bse5BKbF.cjs → Incentive-gT7z-4v3.cjs} +2 -2
  43. package/dist/{Incentive-Bse5BKbF.cjs.map → Incentive-gT7z-4v3.cjs.map} +1 -1
  44. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  45. package/dist/Incentives/AllowListIncentive.js +13 -13
  46. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  47. package/dist/Incentives/CGDAIncentive.js +43 -43
  48. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  49. package/dist/Incentives/ERC20Incentive.js +16 -16
  50. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs +1 -1
  51. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js +35 -35
  52. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +1 -1
  53. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs.map +1 -1
  54. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.d.ts.map +1 -1
  55. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +146 -161
  56. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js.map +1 -1
  57. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  58. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +7 -7
  59. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +1 -1
  60. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs.map +1 -1
  61. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.d.ts.map +1 -1
  62. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +103 -118
  63. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js.map +1 -1
  64. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  65. package/dist/Incentives/ERC20VariableIncentive.js +9 -9
  66. package/dist/Incentives/Incentive.cjs +1 -1
  67. package/dist/Incentives/Incentive.js +2 -2
  68. package/dist/Incentives/PointsIncentive.cjs +1 -1
  69. package/dist/Incentives/PointsIncentive.js +16 -16
  70. package/dist/{SimpleDenyList-BtEUdiAj.js → SimpleDenyList-CtdXM49y.js} +7 -7
  71. package/dist/{SimpleDenyList-BtEUdiAj.js.map → SimpleDenyList-CtdXM49y.js.map} +1 -1
  72. package/dist/{SimpleDenyList-DEoMIYhE.cjs → SimpleDenyList-D5AoBdVi.cjs} +2 -2
  73. package/dist/{SimpleDenyList-DEoMIYhE.cjs.map → SimpleDenyList-D5AoBdVi.cjs.map} +1 -1
  74. package/dist/{Validator-Kpvmj9Bs.js → Validator-BEUqV28V.js} +27 -27
  75. package/dist/{Validator-Kpvmj9Bs.js.map → Validator-BEUqV28V.js.map} +1 -1
  76. package/dist/{Validator-DHS4vjSa.cjs → Validator-FxcxYKhR.cjs} +2 -2
  77. package/dist/{Validator-DHS4vjSa.cjs.map → Validator-FxcxYKhR.cjs.map} +1 -1
  78. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  79. package/dist/Validators/LimitedSignerValidator.js +4 -4
  80. package/dist/Validators/SignerValidator.cjs +1 -1
  81. package/dist/Validators/SignerValidator.js +8 -8
  82. package/dist/Validators/Validator.cjs +1 -1
  83. package/dist/Validators/Validator.js +2 -2
  84. package/dist/deployments-DimWVnA4.cjs +2 -0
  85. package/dist/deployments-DimWVnA4.cjs.map +1 -0
  86. package/dist/deployments-Dw5Suk_D.js +158 -0
  87. package/dist/deployments-Dw5Suk_D.js.map +1 -0
  88. package/dist/deployments.json +69 -107
  89. package/dist/generated-Cf82M-QP.cjs +3 -0
  90. package/dist/generated-Cf82M-QP.cjs.map +1 -0
  91. package/dist/{generated-D6oDILUw.js → generated-krkFnwbV.js} +290 -247
  92. package/dist/generated-krkFnwbV.js.map +1 -0
  93. package/dist/index.cjs +1 -1
  94. package/dist/index.js +165 -164
  95. package/package.json +1 -1
  96. package/src/Actions/EventAction.test.ts +100 -71
  97. package/src/Actions/EventAction.ts +57 -30
  98. package/src/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.ts +13 -41
  99. package/src/Incentives/ERC20VariableCriteriaIncentiveV2.ts +13 -41
  100. package/dist/deployments-Coa8CGi2.js +0 -194
  101. package/dist/deployments-Coa8CGi2.js.map +0 -1
  102. package/dist/deployments-Dgzcz4Ev.cjs +0 -2
  103. package/dist/deployments-Dgzcz4Ev.cjs.map +0 -1
  104. package/dist/generated-BzLYuFx3.cjs +0 -3
  105. package/dist/generated-BzLYuFx3.cjs.map +0 -1
  106. package/dist/generated-D6oDILUw.js.map +0 -1
@@ -1,14 +1,14 @@
1
- import { _ as l, cx as p, cy as g, cz as A, cA as w, cB as C, cC as D, cD as V, cE as I, cF as E, cG as S, cH as B, cI as v } from "./generated-D6oDILUw.js";
1
+ import { D as l, cx as p, cy as g, cz as A, cA as w, cB as D, cC as C, cD as V, cE as I, cF as E, cG as B, cH as S, cI as v } from "./generated-krkFnwbV.js";
2
2
  import { k as R, l as T, m as P } from "./componentInterfaces-D2s6AXlV.js";
3
3
  import { readContract as _ } from "@wagmi/core";
4
- import { encodeAbiParameters as o, decodeAbiParameters as O } from "viem";
5
- import { InvalidComponentInterfaceError as L } from "./errors.js";
6
- import { LimitedSignerValidator as W } from "./Validators/LimitedSignerValidator.js";
7
- import { i as x } from "./deployments-Coa8CGi2.js";
8
- import { DeployableTarget as F } from "./Deployable/DeployableTarget.js";
9
- import { RegistryType as N } from "./utils.js";
10
- import { SignerValidator as q } from "./Validators/SignerValidator.js";
11
- const z = "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 F {
4
+ import { encodeAbiParameters as o, decodeAbiParameters as L } from "viem";
5
+ import { InvalidComponentInterfaceError as O } from "./errors.js";
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 {
12
12
  constructor() {
13
13
  super(...arguments), this.abi = l;
14
14
  }
@@ -88,7 +88,7 @@ const z = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
88
88
  * @returns {Promise<Hex>}
89
89
  */
90
90
  async hashSignerData(f, a) {
91
- return await C(this._config, {
91
+ return await D(this._config, {
92
92
  address: this.assertValidAddress(),
93
93
  args: [
94
94
  f.boostId,
@@ -124,7 +124,7 @@ const z = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
124
124
  * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>}
125
125
  */
126
126
  async validateRaw(f, a) {
127
- const { request: b, result: e } = await D(this._config, {
127
+ const { request: b, result: e } = await C(this._config, {
128
128
  address: this.assertValidAddress(),
129
129
  args: [
130
130
  f.boostId,
@@ -190,7 +190,7 @@ const z = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
190
190
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
191
191
  */
192
192
  async setValidatorCallerRaw(f, a) {
193
- const { request: b, result: e } = await S(
193
+ const { request: b, result: e } = await B(
194
194
  this._config,
195
195
  {
196
196
  address: this.assertValidAddress(),
@@ -200,7 +200,7 @@ const z = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
200
200
  ...a
201
201
  }
202
202
  );
203
- return { hash: await B(
203
+ return { hash: await S(
204
204
  this._config,
205
205
  b
206
206
  ), result: e };
@@ -226,7 +226,7 @@ const z = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
226
226
  * @returns {Promise<Hex>}
227
227
  */
228
228
  async encodeClaimData(f) {
229
- return await G({
229
+ return await z({
230
230
  ...f,
231
231
  validator: this.assertValidAddress()
232
232
  });
@@ -256,9 +256,9 @@ const z = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
256
256
  );
257
257
  return {
258
258
  abi: l,
259
- bytecode: z,
259
+ bytecode: q,
260
260
  args: [
261
- k({
261
+ $({
262
262
  ...b,
263
263
  baseImplementation: c
264
264
  })
@@ -269,10 +269,10 @@ const z = "0x610120604052348015610010575f80fd5b50604051611fe4380380611fe48339810
269
269
  };
270
270
  s.bases = {
271
271
  ...n != null && n.VITE_PAYABLE_LIMITED_SIGNER_VALIDATOR_BASE ? { 31337: void 0 } : {},
272
- ...x
273
- }, s.registryType = N.VALIDATOR;
272
+ ...F
273
+ }, s.registryType = G.VALIDATOR;
274
274
  let r = s;
275
- async function G({
275
+ async function z({
276
276
  signer: d,
277
277
  incentiveData: f,
278
278
  chainId: a,
@@ -342,7 +342,7 @@ function M({
342
342
  [{ signer: d, signature: f, incentiveQuantity: a }]
343
343
  );
344
344
  }
345
- function k(d) {
345
+ function $(d) {
346
346
  return o(
347
347
  [
348
348
  { name: "signers", type: "address[]" },
@@ -359,8 +359,8 @@ function k(d) {
359
359
  );
360
360
  }
361
361
  const m = {
362
- [R]: q,
363
- [T]: W,
362
+ [R]: W,
363
+ [T]: x,
364
364
  [P]: r
365
365
  };
366
366
  async function a0(d, f, a) {
@@ -371,7 +371,7 @@ async function a0(d, f, a) {
371
371
  ...a
372
372
  }), e = m[b];
373
373
  if (!e)
374
- throw new L(
374
+ throw new O(
375
375
  Object.keys(m),
376
376
  b
377
377
  );
@@ -382,7 +382,7 @@ const b0 = {
382
382
  TESTNET: "0xd63167e9db11B108940b2E8236581F961f33f396"
383
383
  };
384
384
  function e0(d) {
385
- return O(
385
+ return L(
386
386
  [
387
387
  {
388
388
  type: "tuple",
@@ -401,9 +401,9 @@ export {
401
401
  r as P,
402
402
  m as V,
403
403
  M as a,
404
- k as b,
404
+ $ as b,
405
405
  e0 as d,
406
- G as p,
406
+ z as p,
407
407
  a0 as v
408
408
  };
409
- //# sourceMappingURL=Validator-Kpvmj9Bs.js.map
409
+ //# sourceMappingURL=Validator-BEUqV28V.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Validator-Kpvmj9Bs.js","sources":["../src/Validators/PayableLimitedSignerValidator.ts","../src/Validators/Validator.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 zeroAddress,\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","import { aValidatorAbi } from '@boostxyz/evm';\nimport {\n ALimitedSignerValidator,\n APayableLimitedSignerValidator,\n ASignerValidator,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport { type Address, type Hex, decodeAbiParameters } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport type { ReadParams } from '../utils';\nimport { LimitedSignerValidator } from './LimitedSignerValidator';\nimport { PayableLimitedSignerValidator } from './PayableLimitedSignerValidator';\nimport { SignerValidator } from './SignerValidator';\n\nexport { SignerValidator, LimitedSignerValidator };\n\n/**\n * A union type representing all valid protocol Validator implementations\n *\n * @export\n * @typedef {Validator}\n */\nexport type Validator =\n | SignerValidator\n | LimitedSignerValidator\n | PayableLimitedSignerValidator;\n\n/**\n * A map of Validator component interfaces to their constructors.\n *\n * @type {{ \"0xd8725ea2\": typeof SignerValidator; }}\n */\nexport const ValidatorByComponentInterface = {\n [ASignerValidator as Hex]: SignerValidator,\n [ALimitedSignerValidator as Hex]: LimitedSignerValidator,\n [APayableLimitedSignerValidator as Hex]: PayableLimitedSignerValidator,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Promise<Validator>}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function validatorFromAddress(\n options: DeployableOptions,\n address: Address,\n params?: ReadParams,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aValidatorAbi,\n functionName: 'getComponentInterface',\n address,\n ...params,\n })) as keyof typeof ValidatorByComponentInterface;\n const Ctor = ValidatorByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(ValidatorByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address);\n}\n\n/**\n * An enum of verified Boost Validator EOA (Externally Owned Account) addresses used by the Boost protocol\n * for validating transactions on mainnet and testnet environments.\n *\n * @example\n * ```typescript\n * // Initialize a SignerValidator using the pre-configured EOA address of a verified Boost validator.\n * // If no validator is provided to core.createBoost(...), then this is what will be used by default.\n * const validator = core.SignerValidator({\n * signers: [BoostValidatorEOA.[TESTNET | MAINNET]],\n * validatorCaller: core.assertValidAddress()\n * })\n * ```\n * @enum {Address}\n */\nexport const BoostValidatorEOA = {\n MAINNET: import.meta.env.VITE_BOOST_MAINNET_SIGNER_EOA as Address,\n TESTNET: import.meta.env.VITE_BOOST_TESTNET_SIGNER_EOA as Address,\n};\n\n/**\n * Decodes a claim data hex string into its validator data and incentive data components.\n *\n * @export\n * @param {Hex} data - The hex-encoded claim data to decode\n * @returns {{ validatorData: Hex; incentiveData: Hex }} The decoded claim data components\n */\nexport function decodeClaimData(data: Hex) {\n return decodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'BoostClaimData',\n components: [\n { type: 'bytes', name: 'validatorData' },\n { type: 'bytes', name: 'incentiveData' },\n ],\n },\n ],\n data,\n )[0];\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","ValidatorByComponentInterface","ASignerValidator","SignerValidator","ALimitedSignerValidator","LimitedSignerValidator","APayableLimitedSignerValidator","validatorFromAddress","interfaceId","readContract","aValidatorAbi","Ctor","InvalidComponentInterfaceError","BoostValidatorEOA","decodeClaimData","data","decodeAbiParameters"],"mappings":"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"}
1
+ {"version":3,"file":"Validator-BEUqV28V.js","sources":["../src/Validators/PayableLimitedSignerValidator.ts","../src/Validators/Validator.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 zeroAddress,\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","import { aValidatorAbi } from '@boostxyz/evm';\nimport {\n ALimitedSignerValidator,\n APayableLimitedSignerValidator,\n ASignerValidator,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport { type Address, type Hex, decodeAbiParameters } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport type { ReadParams } from '../utils';\nimport { LimitedSignerValidator } from './LimitedSignerValidator';\nimport { PayableLimitedSignerValidator } from './PayableLimitedSignerValidator';\nimport { SignerValidator } from './SignerValidator';\n\nexport { SignerValidator, LimitedSignerValidator };\n\n/**\n * A union type representing all valid protocol Validator implementations\n *\n * @export\n * @typedef {Validator}\n */\nexport type Validator =\n | SignerValidator\n | LimitedSignerValidator\n | PayableLimitedSignerValidator;\n\n/**\n * A map of Validator component interfaces to their constructors.\n *\n * @type {{ \"0xd8725ea2\": typeof SignerValidator; }}\n */\nexport const ValidatorByComponentInterface = {\n [ASignerValidator as Hex]: SignerValidator,\n [ALimitedSignerValidator as Hex]: LimitedSignerValidator,\n [APayableLimitedSignerValidator as Hex]: PayableLimitedSignerValidator,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Promise<Validator>}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function validatorFromAddress(\n options: DeployableOptions,\n address: Address,\n params?: ReadParams,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aValidatorAbi,\n functionName: 'getComponentInterface',\n address,\n ...params,\n })) as keyof typeof ValidatorByComponentInterface;\n const Ctor = ValidatorByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(ValidatorByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address);\n}\n\n/**\n * An enum of verified Boost Validator EOA (Externally Owned Account) addresses used by the Boost protocol\n * for validating transactions on mainnet and testnet environments.\n *\n * @example\n * ```typescript\n * // Initialize a SignerValidator using the pre-configured EOA address of a verified Boost validator.\n * // If no validator is provided to core.createBoost(...), then this is what will be used by default.\n * const validator = core.SignerValidator({\n * signers: [BoostValidatorEOA.[TESTNET | MAINNET]],\n * validatorCaller: core.assertValidAddress()\n * })\n * ```\n * @enum {Address}\n */\nexport const BoostValidatorEOA = {\n MAINNET: import.meta.env.VITE_BOOST_MAINNET_SIGNER_EOA as Address,\n TESTNET: import.meta.env.VITE_BOOST_TESTNET_SIGNER_EOA as Address,\n};\n\n/**\n * Decodes a claim data hex string into its validator data and incentive data components.\n *\n * @export\n * @param {Hex} data - The hex-encoded claim data to decode\n * @returns {{ validatorData: Hex; incentiveData: Hex }} The decoded claim data components\n */\nexport function decodeClaimData(data: Hex) {\n return decodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'BoostClaimData',\n components: [\n { type: 'bytes', name: 'validatorData' },\n { type: 'bytes', name: 'incentiveData' },\n ],\n },\n ],\n data,\n )[0];\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","ValidatorByComponentInterface","ASignerValidator","SignerValidator","ALimitedSignerValidator","LimitedSignerValidator","APayableLimitedSignerValidator","validatorFromAddress","interfaceId","readContract","aValidatorAbi","Ctor","InvalidComponentInterfaceError","BoostValidatorEOA","decodeClaimData","data","decodeAbiParameters"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("./generated-BzLYuFx3.cjs"),l=require("./componentInterfaces-BZ3fSNkT.cjs"),C=require("@wagmi/core"),n=require("viem"),w=require("./errors.cjs"),D=require("./Validators/LimitedSignerValidator.cjs"),I=require("./deployments-Dgzcz4Ev.cjs"),S=require("./Deployable/DeployableTarget.cjs"),E=require("./utils.cjs"),P=require("./Validators/SignerValidator.cjs"),v="0x610120604052348015610010575f80fd5b50604051611fe4380380611fe483398101604081905261002f91610131565b306080524660a0525f60c081905260e08190526101005261004e610091565b6001600160a01b038216610074576040516282b42960e81b815260040160405180910390fd5b61007d826100f6565b600381905561008a610091565b5050610168565b63409feecd19805460018116156100af5763f92ee8a95f526004601cfd5b6001600160401b03808260011c146100f1578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b5f8060408385031215610142575f80fd5b82516001600160a01b0381168114610158575f80fd5b6020939093015192949293505050565b60805160a05160c05160e05161010051611e4e6101965f395f50505f50505f50505f50505f5050611e4e5ff3fe60806040526004361061016d575f3560e01c8063715018a6116100c6578063a1d2756f1161007c578063f04e283e11610057578063f04e283e146103e5578063f2fde38b146103f8578063fee81cf41461040b575f80fd5b8063a1d2756f14610392578063ce5c134f146103b1578063d3de6e75146103c6575f80fd5b806384b0196e116100ac57806384b0196e146103035780638da5cb5b1461032a57806399d32fc41461037d575f80fd5b8063715018a6146102cd578063736c0d5b146102d5575f80fd5b80632f9e058b116101265780634f361c9a116101015780634f361c9a1461029e57806354d1f13d146102b2578063703b6900146102ba575f80fd5b80632f9e058b146102355780634359d28a14610260578063439fab911461027f575f80fd5b8063256929621161015657806325692962146101d257806328d6183b146101dc5780632e75ab5014610216575f80fd5b806301ffc9a7146101715780630668e9d4146101a5575b5f80fd5b34801561017c575f80fd5b5061019061018b3660046115cc565b61043c565b60405190151581526020015b60405180910390f35b3480156101b0575f80fd5b506101c46101bf36600461162c565b610497565b60405190815260200161019c565b6101da6104f8565b005b3480156101e7575f80fd5b506040517fb0fafe5800000000000000000000000000000000000000000000000000000000815260200161019c565b348015610221575f80fd5b506101da610230366004611662565b610545565b348015610240575f80fd5b506101c461024f366004611662565b60016020525f908152604090205481565b34801561026b575f80fd5b506101da61027a3660046116c1565b6105d8565b34801561028a575f80fd5b506101da61029936600461176b565b6106d4565b3480156102a9575f80fd5b506101c46108ae565b6101da6108bc565b6101906102c83660046117aa565b6108f5565b6101da610b03565b3480156102e0575f80fd5b506101906102ef36600461180f565b5f6020819052908152604090205460ff1681565b34801561030e575f80fd5b50610317610b16565b60405161019c9796959493929190611876565b348015610335575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b348015610388575f80fd5b506101c460035481565b34801561039d575f80fd5b506101da6103ac36600461180f565b610bbe565b3480156103bc575f80fd5b506101c460025481565b3480156103d1575f80fd5b506101c46103e0366004611a7f565b610c0d565b6101da6103f336600461180f565b610ca0565b6101da61040636600461180f565b610cdd565b348015610416575f80fd5b506101c461042536600461180f565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fb0fafe58000000000000000000000000000000000000000000000000000000001480610491575061049182610d03565b92915050565b6040805160208101859052908101839052606082811b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016908201525f906074016040516020818303038152906040528051906020012090505b9392505050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b61054d610d58565b60065473ffffffffffffffffffffffffffffffffffffffff161561059d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038190556040518181527f64374f1a975abb9bc8e8857d704b9ead41989ff599d90c1e8f7d34bc2ebea92a9060200160405180910390a150565b6105e0610d58565b828114610619576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156106cd5782828281811061063557610635611ae7565b905060200201602081019061064a9190611b14565b5f8087878581811061065e5761065e611ae7565b9050602002016020810190610673919061180f565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161061b565b5050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156107255760018160011c14303b1061071c5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f80808061073686880188611b43565b9350935093509350610760845f8151811061075357610753611ae7565b6020026020010151610d8d565b6002829055600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555f5b845181101561082a5760015f808784815181106107c6576107c6611ae7565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790556001016107a7565b5050600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155505080156108a9576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f6108b7610df0565b905090565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f806108ff610df0565b905080341461093a576040517faf2eb37300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6109488888888888610ea5565b90505f821180156109565750805b15610af857600554604080517f39a51be500000000000000000000000000000000000000000000000000000000815290515f9273ffffffffffffffffffffffffffffffffffffffff16916339a51be59160048083019260209291908290030181865afa1580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190611c23565b90505f8173ffffffffffffffffffffffffffffffffffffffff16846040515f6040518083038185875af1925050503d805f8114610a44576040519150601f19603f3d011682016040523d82523d5f602084013e610a49565b606091505b5050905080610a84576040517f4033e4e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b888a8973ffffffffffffffffffffffffffffffffffffffff167fb671e5a07ab020a275a7ca33dc2074f9761157b5f6e779751e8fd89909dafc6e8786604051610aed92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405180910390a450505b979650505050505050565b610b0b610d58565b610b145f610f1b565b565b7f0f000000000000000000000000000000000000000000000000000000000000006060805f808083610bac604080518082018252601d81527f50617961626c654c696d697465645369676e657256616c696461746f720000006020808301919091528251808401909352600183527f31000000000000000000000000000000000000000000000000000000000000009083015291565b97989097965046955030945091925090565b610bc6610d58565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8051602080830191909120604080517ffea51d5bd45bcd3c2ecc3679b43a3b80b0bd0923f8c16f822455b8cdecd9852f93810193909352820186905260ff8516606083015273ffffffffffffffffffffffffffffffffffffffff8416608083015260a08201525f90610c979060c00160405160208183030381529060405280519060200120610f80565b95945050505050565b610ca8610d58565b63389a75e1600c52805f526020600c208054421115610cce57636f5e88185f526004601cfd5b5f9055610cda81610f1b565b50565b610ce5610d58565b8060601b610cfa57637448fbae5f526004601cfd5b610cda81610f1b565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fc8ebc758000000000000000000000000000000000000000000000000000000001480610491575061049182610fac565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610b14576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b6006545f9073ffffffffffffffffffffffffffffffffffffffff1615610e9e5760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166399d32fc46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b79190611c3e565b5060035490565b5f610eb1868686611001565b610f04576040517f059b704500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024015b60405180910390fd5b610f11868686868661105b565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f610f896111e3565b6719010000000000005f908152601a91909152603a928352604260182092525090565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fb0fafe580000000000000000000000000000000000000000000000000000000014806104915750610491826112b0565b5f8061100e858585610497565b5f818152600160208190526040822054929350909161102c91611c55565b9050600254811115611042575f925050506104f1565b5f91825260016020819052604090922055949350505050565b6005545f9073ffffffffffffffffffffffffffffffffffffffff1633146110ae576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6110bb83850185611c8d565b90505f815f01518060200190518101906110d59190611d4d565b90505f6110ec898360400151898660200151610c0d565b905087826040015160ff16116111405760408083015190517f17c66bc700000000000000000000000000000000000000000000000000000000815260ff909116600482015260248101899052604401610efb565b815173ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205460ff1661119f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111ab6004828a611305565b602082015182516111d69173ffffffffffffffffffffffffffffffffffffffff909116908390611393565b9998505050505050505050565b5f805f80611255604080518082018252601d81527f50617961626c654c696d697465645369676e657256616c696461746f720000006020808301919091528251808401909352600183527f31000000000000000000000000000000000000000000000000000000000000009083015291565b8151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a09020949350505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fc8ebc758000000000000000000000000000000000000000000000000000000001480610491575061049182611496565b7f3f57fc5c000000000000000000000000000000000000000000000000000000007f4de1225a00000000000000000000000000000000000000000000000000000000600783111561135c57815f528260045260245ffd5b84602052835f5260405f206001841b81541880851c600116600118801561138957835f528560045260245ffd5b5090555050505050565b5f73ffffffffffffffffffffffffffffffffffffffff8416156104f157604051843b61144e578251604081146113d1576041811461140b575061148e565b604084015160ff81901c601b016020527f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660605261141e565b60608401515f1a60205260408401516060525b50835f5260208301516040526020600160805f60015afa5180861860601b3d119250505f6060528060405261148e565b631626ba7e60e01b808252846004830152602482016040815284516020018060448501828860045afa905060208260443d01868b5afa9151911691141691505b509392505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fb8ce7b220000000000000000000000000000000000000000000000000000000014806104915750610491825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5912b89c0000000000000000000000000000000000000000000000000000000014806104915750610491825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061049157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610491565b5f602082840312156115dc575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146104f1575f80fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610cda575f80fd5b5f805f6060848603121561163e575f80fd5b833592506020840135915060408401356116578161160b565b809150509250925092565b5f60208284031215611672575f80fd5b5035919050565b5f8083601f840112611689575f80fd5b50813567ffffffffffffffff8111156116a0575f80fd5b6020830191508360208260051b85010111156116ba575f80fd5b9250929050565b5f805f80604085870312156116d4575f80fd5b843567ffffffffffffffff8111156116ea575f80fd5b6116f687828801611679565b909550935050602085013567ffffffffffffffff811115611715575f80fd5b61172187828801611679565b95989497509550505050565b5f8083601f84011261173d575f80fd5b50813567ffffffffffffffff811115611754575f80fd5b6020830191508360208285010111156116ba575f80fd5b5f806020838503121561177c575f80fd5b823567ffffffffffffffff811115611792575f80fd5b61179e8582860161172d565b90969095509350505050565b5f805f805f608086880312156117be575f80fd5b853594506020860135935060408601356117d78161160b565b9250606086013567ffffffffffffffff8111156117f2575f80fd5b6117fe8882890161172d565b969995985093965092949392505050565b5f6020828403121561181f575f80fd5b81356104f18161160b565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6118b060e083018961182a565b82810360408401526118c2818961182a565b6060840188905273ffffffffffffffffffffffffffffffffffffffff8716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015611924578351835260209384019390920191600101611906565b50909b9a5050505050505050505050565b60ff81168114610cda575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561199357611993611943565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156119e0576119e0611943565b604052919050565b5f67ffffffffffffffff821115611a0157611a01611943565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f830112611a3c575f80fd5b8135611a4f611a4a826119e8565b611999565b818152846020838601011115611a63575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f8060808587031215611a92575f80fd5b843593506020850135611aa481611935565b92506040850135611ab48161160b565b9150606085013567ffffffffffffffff811115611acf575f80fd5b611adb87828801611a2d565b91505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611b24575f80fd5b813580151581146104f1575f80fd5b8035611b3e8161160b565b919050565b5f805f8060808587031215611b56575f80fd5b843567ffffffffffffffff811115611b6c575f80fd5b8501601f81018713611b7c575f80fd5b803567ffffffffffffffff811115611b9657611b96611943565b8060051b611ba660208201611999565b9182526020818401810192908101908a841115611bc1575f80fd5b6020850194505b83851015611bef5784359250611bdd8361160b565b82825260209485019490910190611bc8565b8098505050505050611c0360208601611b33565b925060408501359150611c1860608601611b33565b905092959194509250565b5f60208284031215611c33575f80fd5b81516104f18161160b565b5f60208284031215611c4e575f80fd5b5051919050565b80820180821115610491577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f60208284031215611c9d575f80fd5b813567ffffffffffffffff811115611cb3575f80fd5b820160408185031215611cc4575f80fd5b6040805190810167ffffffffffffffff81118282101715611ce757611ce7611943565b604052813567ffffffffffffffff811115611d00575f80fd5b611d0c86828501611a2d565b825250602082013567ffffffffffffffff811115611d28575f80fd5b611d3486828501611a2d565b602083015250949350505050565b8051611b3e81611935565b5f60208284031215611d5d575f80fd5b815167ffffffffffffffff811115611d73575f80fd5b820160608185031215611d84575f80fd5b611d8c611970565b8151611d978161160b565b8152602082015167ffffffffffffffff811115611db2575f80fd5b8201601f81018613611dc2575f80fd5b8051611dd0611a4a826119e8565b818152876020838501011115611de4575f80fd5b8160208401602083015e5f60208383010152806020850152505050611e0b60408301611d42565b604082015294935050505056fea264697066735822122055485a6409a6ece274d4729b6cf9b29dc90e5dbb91d413815711563942d31cc064736f6c634300081a0033",u={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 S.DeployableTarget{constructor(){super(...arguments),this.abi=t._}async getClaimFee(f){return await t.yW(this._config,{address:this.assertValidAddress(),...f})}async setClaimFee(f,a){return await this.awaitResult(this.setClaimFeeRaw(f,a))}async setClaimFeeRaw(f,a){const{request:e,result:b}=await t.kW(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...a});return{hash:await t.CW(this._config,e),result:b}}async signers(f,a){return await t.wW(this._config,{address:this.assertValidAddress(),args:[f],...a})}async hashSignerData(f,a){return await t.mW(this._config,{address:this.assertValidAddress(),args:[f.boostId,f.incentiveQuantity,f.claimant,f.incentiveData],...a})}async validate(f,a){return await this.awaitResult(this.validateRaw(f,a))}async validateRaw(f,a){const{request:e,result:b}=await t.qW(this._config,{address:this.assertValidAddress(),args:[f.boostId,f.incentiveId,f.claimant,f.claimData],value:f.value,...this.optionallyAttachAccount(),...a});return{hash:await t.zW(this._config,e),result:b}}async setAuthorized(f,a,e){return await this.awaitResult(this.setAuthorizedRaw(f,a,e))}async setAuthorizedRaw(f,a,e){const{request:b,result:c}=await t.PW(this._config,{address:this.assertValidAddress(),args:[f,a],...this.optionallyAttachAccount(),...e});return{hash:await t.OW(this._config,b),result:c}}async setValidatorCallerRaw(f,a){const{request:e,result:b}=await t._W(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...a});return{hash:await t.EW(this._config,e),result:b}}async setValidatorCaller(f,a){return await this.awaitResult(this.setValidatorCallerRaw(f,a))}async encodeClaimData(f){return await y({...f,validator:this.assertValidAddress()})}buildParameters(f,a){var o;const[e,b]=this.validateDeploymentConfig(f,a),c=(o=this._config.getClient().chain)==null?void 0:o.id;if(!c)throw new Error("Chain ID is required for PayableLimitedSignerValidator deployment");const i=s.bases[c];if(!i)throw new Error(`Base implementation not found for chain ID ${c}. Please ensure PayableLimitedSignerValidator is deployed on this chain.`);return{abi:t._,bytecode:v,args:[g({...e,baseImplementation:i})],...this.optionallyAttachAccount(b.account)}}};s.bases={...u!=null&&u.VITE_PAYABLE_LIMITED_SIGNER_VALIDATOR_BASE?{31337:void 0}:{},...I.PayableLimitedSignerValidator},s.registryType=E.RegistryType.VALIDATOR;let r=s;async function y({signer:d,incentiveData:f,chainId:a,validator:e,incentiveQuantity:b,claimant:c,boostId:i}){const p={domain:{name:"PayableLimitedSignerValidator",version:"1",chainId:a,verifyingContract:e},types:{SignerValidatorData:[{name:"boostId",type:"uint256"},{name:"incentiveQuantity",type:"uint8"},{name:"claimant",type:"address"},{name:"incentiveData",type:"bytes"}]},primaryType:"SignerValidatorData",message:{boostId:i,incentiveQuantity:b,claimant:c,incentiveData:f}},A=await d.privateKey.signTypedData(p),V=h({signer:d.account,signature:A,incentiveQuantity:b});return n.encodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],[{validatorData:V,incentiveData:f}])}function h({signer:d,signature:f,incentiveQuantity:a}){return n.encodeAbiParameters([{type:"tuple",name:"SignerValidatorInputParams",components:[{type:"address",name:"signer"},{type:"bytes",name:"signature"},{type:"uint8",name:"incentiveQuantity"}]}],[{signer:d,signature:f,incentiveQuantity:a}])}function g(d){return n.encodeAbiParameters([{name:"signers",type:"address[]"},{name:"validatorCaller",type:"address"},{name:"maxClaimCount",type:"uint256"},{name:"baseImplementation",type:"address"}],[d.signers,d.validatorCaller,BigInt(d.maxClaimCount),d.baseImplementation])}const m={[l.ASignerValidator]:P.SignerValidator,[l.ALimitedSignerValidator]:D.LimitedSignerValidator,[l.APayableLimitedSignerValidator]:r};async function B(d,f,a){const e=await C.readContract(d.config,{abi:t.Ve,functionName:"getComponentInterface",address:f,...a}),b=m[e];if(!b)throw new w.InvalidComponentInterfaceError(Object.keys(m),e);return new b(d,f)}const T={MAINNET:"0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480",TESTNET:"0xd63167e9db11B108940b2E8236581F961f33f396"};function R(d){return n.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],d)[0]}exports.BoostValidatorEOA=T;exports.PayableLimitedSignerValidator=r;exports.ValidatorByComponentInterface=m;exports.decodeClaimData=R;exports.preparePayableLimitedSignerValidatorClaimDataPayload=y;exports.preparePayableLimitedSignerValidatorInputParams=h;exports.preparePayableLimitedSignerValidatorPayload=g;exports.validatorFromAddress=B;
2
- //# sourceMappingURL=Validator-DHS4vjSa.cjs.map
1
+ "use strict";const t=require("./generated-Cf82M-QP.cjs"),l=require("./componentInterfaces-BZ3fSNkT.cjs"),V=require("@wagmi/core"),n=require("viem"),C=require("./errors.cjs"),w=require("./Validators/LimitedSignerValidator.cjs"),I=require("./deployments-DimWVnA4.cjs"),S=require("./Deployable/DeployableTarget.cjs"),E=require("./utils.cjs"),P=require("./Validators/SignerValidator.cjs"),B="0x610120604052348015610010575f80fd5b50604051611fe4380380611fe483398101604081905261002f91610131565b306080524660a0525f60c081905260e08190526101005261004e610091565b6001600160a01b038216610074576040516282b42960e81b815260040160405180910390fd5b61007d826100f6565b600381905561008a610091565b5050610168565b63409feecd19805460018116156100af5763f92ee8a95f526004601cfd5b6001600160401b03808260011c146100f1578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b5f8060408385031215610142575f80fd5b82516001600160a01b0381168114610158575f80fd5b6020939093015192949293505050565b60805160a05160c05160e05161010051611e4e6101965f395f50505f50505f50505f50505f5050611e4e5ff3fe60806040526004361061016d575f3560e01c8063715018a6116100c6578063a1d2756f1161007c578063f04e283e11610057578063f04e283e146103e5578063f2fde38b146103f8578063fee81cf41461040b575f80fd5b8063a1d2756f14610392578063ce5c134f146103b1578063d3de6e75146103c6575f80fd5b806384b0196e116100ac57806384b0196e146103035780638da5cb5b1461032a57806399d32fc41461037d575f80fd5b8063715018a6146102cd578063736c0d5b146102d5575f80fd5b80632f9e058b116101265780634f361c9a116101015780634f361c9a1461029e57806354d1f13d146102b2578063703b6900146102ba575f80fd5b80632f9e058b146102355780634359d28a14610260578063439fab911461027f575f80fd5b8063256929621161015657806325692962146101d257806328d6183b146101dc5780632e75ab5014610216575f80fd5b806301ffc9a7146101715780630668e9d4146101a5575b5f80fd5b34801561017c575f80fd5b5061019061018b3660046115cc565b61043c565b60405190151581526020015b60405180910390f35b3480156101b0575f80fd5b506101c46101bf36600461162c565b610497565b60405190815260200161019c565b6101da6104f8565b005b3480156101e7575f80fd5b506040517fb0fafe5800000000000000000000000000000000000000000000000000000000815260200161019c565b348015610221575f80fd5b506101da610230366004611662565b610545565b348015610240575f80fd5b506101c461024f366004611662565b60016020525f908152604090205481565b34801561026b575f80fd5b506101da61027a3660046116c1565b6105d8565b34801561028a575f80fd5b506101da61029936600461176b565b6106d4565b3480156102a9575f80fd5b506101c46108ae565b6101da6108bc565b6101906102c83660046117aa565b6108f5565b6101da610b03565b3480156102e0575f80fd5b506101906102ef36600461180f565b5f6020819052908152604090205460ff1681565b34801561030e575f80fd5b50610317610b16565b60405161019c9796959493929190611876565b348015610335575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b348015610388575f80fd5b506101c460035481565b34801561039d575f80fd5b506101da6103ac36600461180f565b610bbe565b3480156103bc575f80fd5b506101c460025481565b3480156103d1575f80fd5b506101c46103e0366004611a7f565b610c0d565b6101da6103f336600461180f565b610ca0565b6101da61040636600461180f565b610cdd565b348015610416575f80fd5b506101c461042536600461180f565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fb0fafe58000000000000000000000000000000000000000000000000000000001480610491575061049182610d03565b92915050565b6040805160208101859052908101839052606082811b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016908201525f906074016040516020818303038152906040528051906020012090505b9392505050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b61054d610d58565b60065473ffffffffffffffffffffffffffffffffffffffff161561059d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038190556040518181527f64374f1a975abb9bc8e8857d704b9ead41989ff599d90c1e8f7d34bc2ebea92a9060200160405180910390a150565b6105e0610d58565b828114610619576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b838110156106cd5782828281811061063557610635611ae7565b905060200201602081019061064a9190611b14565b5f8087878581811061065e5761065e611ae7565b9050602002016020810190610673919061180f565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161061b565b5050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156107255760018160011c14303b1061071c5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f80808061073686880188611b43565b9350935093509350610760845f8151811061075357610753611ae7565b6020026020010151610d8d565b6002829055600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555f5b845181101561082a5760015f808784815181106107c6576107c6611ae7565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040015f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169115159190911790556001016107a7565b5050600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9390931692909217909155505080156108a9576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f6108b7610df0565b905090565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f806108ff610df0565b905080341461093a576040517faf2eb37300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6109488888888888610ea5565b90505f821180156109565750805b15610af857600554604080517f39a51be500000000000000000000000000000000000000000000000000000000815290515f9273ffffffffffffffffffffffffffffffffffffffff16916339a51be59160048083019260209291908290030181865afa1580156109c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ec9190611c23565b90505f8173ffffffffffffffffffffffffffffffffffffffff16846040515f6040518083038185875af1925050503d805f8114610a44576040519150601f19603f3d011682016040523d82523d5f602084013e610a49565b606091505b5050905080610a84576040517f4033e4e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b888a8973ffffffffffffffffffffffffffffffffffffffff167fb671e5a07ab020a275a7ca33dc2074f9761157b5f6e779751e8fd89909dafc6e8786604051610aed92919091825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b60405180910390a450505b979650505050505050565b610b0b610d58565b610b145f610f1b565b565b7f0f000000000000000000000000000000000000000000000000000000000000006060805f808083610bac604080518082018252601d81527f50617961626c654c696d697465645369676e657256616c696461746f720000006020808301919091528251808401909352600183527f31000000000000000000000000000000000000000000000000000000000000009083015291565b97989097965046955030945091925090565b610bc6610d58565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b8051602080830191909120604080517ffea51d5bd45bcd3c2ecc3679b43a3b80b0bd0923f8c16f822455b8cdecd9852f93810193909352820186905260ff8516606083015273ffffffffffffffffffffffffffffffffffffffff8416608083015260a08201525f90610c979060c00160405160208183030381529060405280519060200120610f80565b95945050505050565b610ca8610d58565b63389a75e1600c52805f526020600c208054421115610cce57636f5e88185f526004601cfd5b5f9055610cda81610f1b565b50565b610ce5610d58565b8060601b610cfa57637448fbae5f526004601cfd5b610cda81610f1b565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fc8ebc758000000000000000000000000000000000000000000000000000000001480610491575061049182610fac565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610b14576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b6006545f9073ffffffffffffffffffffffffffffffffffffffff1615610e9e5760065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166399d32fc46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e7a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b79190611c3e565b5060035490565b5f610eb1868686611001565b610f04576040517f059b704500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024015b60405180910390fd5b610f11868686868661105b565b9695505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f610f896111e3565b6719010000000000005f908152601a91909152603a928352604260182092525090565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fb0fafe580000000000000000000000000000000000000000000000000000000014806104915750610491826112b0565b5f8061100e858585610497565b5f818152600160208190526040822054929350909161102c91611c55565b9050600254811115611042575f925050506104f1565b5f91825260016020819052604090922055949350505050565b6005545f9073ffffffffffffffffffffffffffffffffffffffff1633146110ae576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6110bb83850185611c8d565b90505f815f01518060200190518101906110d59190611d4d565b90505f6110ec898360400151898660200151610c0d565b905087826040015160ff16116111405760408083015190517f17c66bc700000000000000000000000000000000000000000000000000000000815260ff909116600482015260248101899052604401610efb565b815173ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205460ff1661119f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111ab6004828a611305565b602082015182516111d69173ffffffffffffffffffffffffffffffffffffffff909116908390611393565b9998505050505050505050565b5f805f80611255604080518082018252601d81527f50617961626c654c696d697465645369676e657256616c696461746f720000006020808301919091528251808401909352600183527f31000000000000000000000000000000000000000000000000000000000000009083015291565b8151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a09020949350505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fc8ebc758000000000000000000000000000000000000000000000000000000001480610491575061049182611496565b7f3f57fc5c000000000000000000000000000000000000000000000000000000007f4de1225a00000000000000000000000000000000000000000000000000000000600783111561135c57815f528260045260245ffd5b84602052835f5260405f206001841b81541880851c600116600118801561138957835f528560045260245ffd5b5090555050505050565b5f73ffffffffffffffffffffffffffffffffffffffff8416156104f157604051843b61144e578251604081146113d1576041811461140b575061148e565b604084015160ff81901c601b016020527f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660605261141e565b60608401515f1a60205260408401516060525b50835f5260208301516040526020600160805f60015afa5180861860601b3d119250505f6060528060405261148e565b631626ba7e60e01b808252846004830152602482016040815284516020018060448501828860045afa905060208260443d01868b5afa9151911691141691505b509392505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fb8ce7b220000000000000000000000000000000000000000000000000000000014806104915750610491825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5912b89c0000000000000000000000000000000000000000000000000000000014806104915750610491825f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061049157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610491565b5f602082840312156115dc575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146104f1575f80fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610cda575f80fd5b5f805f6060848603121561163e575f80fd5b833592506020840135915060408401356116578161160b565b809150509250925092565b5f60208284031215611672575f80fd5b5035919050565b5f8083601f840112611689575f80fd5b50813567ffffffffffffffff8111156116a0575f80fd5b6020830191508360208260051b85010111156116ba575f80fd5b9250929050565b5f805f80604085870312156116d4575f80fd5b843567ffffffffffffffff8111156116ea575f80fd5b6116f687828801611679565b909550935050602085013567ffffffffffffffff811115611715575f80fd5b61172187828801611679565b95989497509550505050565b5f8083601f84011261173d575f80fd5b50813567ffffffffffffffff811115611754575f80fd5b6020830191508360208285010111156116ba575f80fd5b5f806020838503121561177c575f80fd5b823567ffffffffffffffff811115611792575f80fd5b61179e8582860161172d565b90969095509350505050565b5f805f805f608086880312156117be575f80fd5b853594506020860135935060408601356117d78161160b565b9250606086013567ffffffffffffffff8111156117f2575f80fd5b6117fe8882890161172d565b969995985093965092949392505050565b5f6020828403121561181f575f80fd5b81356104f18161160b565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008816815260e060208201525f6118b060e083018961182a565b82810360408401526118c2818961182a565b6060840188905273ffffffffffffffffffffffffffffffffffffffff8716608085015260a0840186905283810360c0850152845180825260208087019350909101905f5b81811015611924578351835260209384019390920191600101611906565b50909b9a5050505050505050505050565b60ff81168114610cda575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561199357611993611943565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156119e0576119e0611943565b604052919050565b5f67ffffffffffffffff821115611a0157611a01611943565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f830112611a3c575f80fd5b8135611a4f611a4a826119e8565b611999565b818152846020838601011115611a63575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f8060808587031215611a92575f80fd5b843593506020850135611aa481611935565b92506040850135611ab48161160b565b9150606085013567ffffffffffffffff811115611acf575f80fd5b611adb87828801611a2d565b91505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611b24575f80fd5b813580151581146104f1575f80fd5b8035611b3e8161160b565b919050565b5f805f8060808587031215611b56575f80fd5b843567ffffffffffffffff811115611b6c575f80fd5b8501601f81018713611b7c575f80fd5b803567ffffffffffffffff811115611b9657611b96611943565b8060051b611ba660208201611999565b9182526020818401810192908101908a841115611bc1575f80fd5b6020850194505b83851015611bef5784359250611bdd8361160b565b82825260209485019490910190611bc8565b8098505050505050611c0360208601611b33565b925060408501359150611c1860608601611b33565b905092959194509250565b5f60208284031215611c33575f80fd5b81516104f18161160b565b5f60208284031215611c4e575f80fd5b5051919050565b80820180821115610491577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f60208284031215611c9d575f80fd5b813567ffffffffffffffff811115611cb3575f80fd5b820160408185031215611cc4575f80fd5b6040805190810167ffffffffffffffff81118282101715611ce757611ce7611943565b604052813567ffffffffffffffff811115611d00575f80fd5b611d0c86828501611a2d565b825250602082013567ffffffffffffffff811115611d28575f80fd5b611d3486828501611a2d565b602083015250949350505050565b8051611b3e81611935565b5f60208284031215611d5d575f80fd5b815167ffffffffffffffff811115611d73575f80fd5b820160608185031215611d84575f80fd5b611d8c611970565b8151611d978161160b565b8152602082015167ffffffffffffffff811115611db2575f80fd5b8201601f81018613611dc2575f80fd5b8051611dd0611a4a826119e8565b818152876020838501011115611de4575f80fd5b8160208401602083015e5f60208383010152806020850152505050611e0b60408301611d42565b604082015294935050505056fea264697066735822122055485a6409a6ece274d4729b6cf9b29dc90e5dbb91d413815711563942d31cc064736f6c634300081a0033",u={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 S.DeployableTarget{constructor(){super(...arguments),this.abi=t.D}async getClaimFee(f){return await t.OW(this._config,{address:this.assertValidAddress(),...f})}async setClaimFee(f,a){return await this.awaitResult(this.setClaimFeeRaw(f,a))}async setClaimFeeRaw(f,a){const{request:e,result:b}=await t.nG(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...a});return{hash:await t.GW(this._config,e),result:b}}async signers(f,a){return await t.LW(this._config,{address:this.assertValidAddress(),args:[f],...a})}async hashSignerData(f,a){return await t.BW(this._config,{address:this.assertValidAddress(),args:[f.boostId,f.incentiveQuantity,f.claimant,f.incentiveData],...a})}async validate(f,a){return await this.awaitResult(this.validateRaw(f,a))}async validateRaw(f,a){const{request:e,result:b}=await t.sG(this._config,{address:this.assertValidAddress(),args:[f.boostId,f.incentiveId,f.claimant,f.claimData],value:f.value,...this.optionallyAttachAccount(),...a});return{hash:await t.$W(this._config,e),result:b}}async setAuthorized(f,a,e){return await this.awaitResult(this.setAuthorizedRaw(f,a,e))}async setAuthorizedRaw(f,a,e){const{request:b,result:c}=await t.tG(this._config,{address:this.assertValidAddress(),args:[f,a],...this.optionallyAttachAccount(),...e});return{hash:await t.WW(this._config,b),result:c}}async setValidatorCallerRaw(f,a){const{request:e,result:b}=await t.aG(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...a});return{hash:await t.ZW(this._config,e),result:b}}async setValidatorCaller(f,a){return await this.awaitResult(this.setValidatorCallerRaw(f,a))}async encodeClaimData(f){return await h({...f,validator:this.assertValidAddress()})}buildParameters(f,a){var o;const[e,b]=this.validateDeploymentConfig(f,a),c=(o=this._config.getClient().chain)==null?void 0:o.id;if(!c)throw new Error("Chain ID is required for PayableLimitedSignerValidator deployment");const i=s.bases[c];if(!i)throw new Error(`Base implementation not found for chain ID ${c}. Please ensure PayableLimitedSignerValidator is deployed on this chain.`);return{abi:t.D,bytecode:B,args:[g({...e,baseImplementation:i})],...this.optionallyAttachAccount(b.account)}}};s.bases={...u!=null&&u.VITE_PAYABLE_LIMITED_SIGNER_VALIDATOR_BASE?{31337:void 0}:{},...I.PayableLimitedSignerValidator},s.registryType=E.RegistryType.VALIDATOR;let r=s;async function h({signer:d,incentiveData:f,chainId:a,validator:e,incentiveQuantity:b,claimant:c,boostId:i}){const p={domain:{name:"PayableLimitedSignerValidator",version:"1",chainId:a,verifyingContract:e},types:{SignerValidatorData:[{name:"boostId",type:"uint256"},{name:"incentiveQuantity",type:"uint8"},{name:"claimant",type:"address"},{name:"incentiveData",type:"bytes"}]},primaryType:"SignerValidatorData",message:{boostId:i,incentiveQuantity:b,claimant:c,incentiveData:f}},A=await d.privateKey.signTypedData(p),D=y({signer:d.account,signature:A,incentiveQuantity:b});return n.encodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],[{validatorData:D,incentiveData:f}])}function y({signer:d,signature:f,incentiveQuantity:a}){return n.encodeAbiParameters([{type:"tuple",name:"SignerValidatorInputParams",components:[{type:"address",name:"signer"},{type:"bytes",name:"signature"},{type:"uint8",name:"incentiveQuantity"}]}],[{signer:d,signature:f,incentiveQuantity:a}])}function g(d){return n.encodeAbiParameters([{name:"signers",type:"address[]"},{name:"validatorCaller",type:"address"},{name:"maxClaimCount",type:"uint256"},{name:"baseImplementation",type:"address"}],[d.signers,d.validatorCaller,BigInt(d.maxClaimCount),d.baseImplementation])}const m={[l.ASignerValidator]:P.SignerValidator,[l.ALimitedSignerValidator]:w.LimitedSignerValidator,[l.APayableLimitedSignerValidator]:r};async function v(d,f,a){const e=await V.readContract(d.config,{abi:t.Be,functionName:"getComponentInterface",address:f,...a}),b=m[e];if(!b)throw new C.InvalidComponentInterfaceError(Object.keys(m),e);return new b(d,f)}const T={MAINNET:"0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480",TESTNET:"0xd63167e9db11B108940b2E8236581F961f33f396"};function R(d){return n.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],d)[0]}exports.BoostValidatorEOA=T;exports.PayableLimitedSignerValidator=r;exports.ValidatorByComponentInterface=m;exports.decodeClaimData=R;exports.preparePayableLimitedSignerValidatorClaimDataPayload=h;exports.preparePayableLimitedSignerValidatorInputParams=y;exports.preparePayableLimitedSignerValidatorPayload=g;exports.validatorFromAddress=v;
2
+ //# sourceMappingURL=Validator-FxcxYKhR.cjs.map