@boostxyz/sdk 7.3.0 → 7.5.0

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 (193) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +2 -2
  3. package/dist/Actions/EventAction.cjs +1 -1
  4. package/dist/Actions/EventAction.cjs.map +1 -1
  5. package/dist/Actions/EventAction.d.ts.map +1 -1
  6. package/dist/Actions/EventAction.js +160 -159
  7. package/dist/Actions/EventAction.js.map +1 -1
  8. package/dist/AllowLists/AllowList.cjs +1 -1
  9. package/dist/AllowLists/AllowList.js +3 -3
  10. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  11. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
  12. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -1
  13. package/dist/AllowLists/SimpleAllowList.js +30 -30
  14. package/dist/AllowLists/SimpleAllowList.js.map +1 -1
  15. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  16. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -1
  17. package/dist/AllowLists/SimpleDenyList.js +3 -3
  18. package/dist/Auth/PassthroughAuth.cjs +1 -1
  19. package/dist/Auth/PassthroughAuth.js +1 -1
  20. package/dist/BoostCore.cjs +2 -2
  21. package/dist/BoostCore.cjs.map +1 -1
  22. package/dist/BoostCore.d.ts +14 -0
  23. package/dist/BoostCore.d.ts.map +1 -1
  24. package/dist/BoostCore.js +199 -180
  25. package/dist/BoostCore.js.map +1 -1
  26. package/dist/BoostRegistry.cjs +1 -1
  27. package/dist/BoostRegistry.cjs.map +1 -1
  28. package/dist/BoostRegistry.d.ts.map +1 -1
  29. package/dist/BoostRegistry.js +31 -31
  30. package/dist/BoostRegistry.js.map +1 -1
  31. package/dist/Budget-DGg1wCa6.cjs +2 -0
  32. package/dist/Budget-DGg1wCa6.cjs.map +1 -0
  33. package/dist/{Budget-B-grnRq9.js → Budget-ZnzzZsjK.js} +102 -102
  34. package/dist/Budget-ZnzzZsjK.js.map +1 -0
  35. package/dist/Budgets/Budget.cjs +1 -1
  36. package/dist/Budgets/Budget.js +3 -3
  37. package/dist/Budgets/ManagedBudget.cjs +1 -1
  38. package/dist/Budgets/ManagedBudget.cjs.map +1 -1
  39. package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
  40. package/dist/Budgets/ManagedBudget.js +48 -48
  41. package/dist/Budgets/ManagedBudget.js.map +1 -1
  42. package/dist/Budgets/ManagedBudgetWithFees.d.ts.map +1 -1
  43. package/dist/Budgets/ManagedBudgetWithFeesV2.d.ts.map +1 -1
  44. package/dist/Budgets/TransparentBudget.d.ts.map +1 -1
  45. package/dist/Budgets/VestingBudget.d.ts.map +1 -1
  46. package/dist/Deployable/DeployableTarget.cjs +1 -1
  47. package/dist/Deployable/DeployableTarget.cjs.map +1 -1
  48. package/dist/Deployable/DeployableTarget.d.ts.map +1 -1
  49. package/dist/Deployable/DeployableTarget.js +5 -8
  50. package/dist/Deployable/DeployableTarget.js.map +1 -1
  51. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  52. package/dist/Deployable/DeployableTargetWithRBAC.js +19 -19
  53. package/dist/{Incentive-Bz_g-nID.js → Incentive-CYj6lbM5.js} +64 -64
  54. package/dist/Incentive-CYj6lbM5.js.map +1 -0
  55. package/dist/{Incentive-Dufx0ZjH.cjs → Incentive-Ckxpw7EN.cjs} +2 -2
  56. package/dist/Incentive-Ckxpw7EN.cjs.map +1 -0
  57. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  58. package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
  59. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -1
  60. package/dist/Incentives/AllowListIncentive.js +36 -36
  61. package/dist/Incentives/AllowListIncentive.js.map +1 -1
  62. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  63. package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
  64. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -1
  65. package/dist/Incentives/CGDAIncentive.js +37 -37
  66. package/dist/Incentives/CGDAIncentive.js.map +1 -1
  67. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -1
  68. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  69. package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
  70. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -1
  71. package/dist/Incentives/ERC20Incentive.js +44 -44
  72. package/dist/Incentives/ERC20Incentive.js.map +1 -1
  73. package/dist/Incentives/ERC20PeggedIncentive.d.ts.map +1 -1
  74. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs +1 -1
  75. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs.map +1 -1
  76. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.d.ts.map +1 -1
  77. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js +63 -63
  78. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js.map +1 -1
  79. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +1 -1
  80. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs.map +1 -1
  81. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.d.ts.map +1 -1
  82. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +55 -53
  83. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js.map +1 -1
  84. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  85. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -1
  86. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -1
  87. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +45 -45
  88. package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -1
  89. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +1 -1
  90. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs.map +1 -1
  91. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.d.ts.map +1 -1
  92. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +51 -49
  93. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js.map +1 -1
  94. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  95. package/dist/Incentives/ERC20VariableIncentive.cjs.map +1 -1
  96. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
  97. package/dist/Incentives/ERC20VariableIncentive.js +38 -38
  98. package/dist/Incentives/ERC20VariableIncentive.js.map +1 -1
  99. package/dist/Incentives/Incentive.cjs +1 -1
  100. package/dist/Incentives/Incentive.js +3 -3
  101. package/dist/Incentives/PointsIncentive.cjs +1 -1
  102. package/dist/Incentives/PointsIncentive.cjs.map +1 -1
  103. package/dist/Incentives/PointsIncentive.d.ts.map +1 -1
  104. package/dist/Incentives/PointsIncentive.js +35 -35
  105. package/dist/Incentives/PointsIncentive.js.map +1 -1
  106. package/dist/{SimpleDenyList-BlLgvhjE.js → SimpleDenyList-DUO4ex__.js} +32 -32
  107. package/dist/SimpleDenyList-DUO4ex__.js.map +1 -0
  108. package/dist/{SimpleDenyList-B2YDJ_gk.cjs → SimpleDenyList-v5G-fPfm.cjs} +2 -2
  109. package/dist/SimpleDenyList-v5G-fPfm.cjs.map +1 -0
  110. package/dist/Validator-BA8RC2J6.cjs +2 -0
  111. package/dist/Validator-BA8RC2J6.cjs.map +1 -0
  112. package/dist/Validator-D4CzwdB9.js +409 -0
  113. package/dist/Validator-D4CzwdB9.js.map +1 -0
  114. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  115. package/dist/Validators/LimitedSignerValidator.cjs.map +1 -1
  116. package/dist/Validators/LimitedSignerValidator.d.ts.map +1 -1
  117. package/dist/Validators/LimitedSignerValidator.js +39 -39
  118. package/dist/Validators/LimitedSignerValidator.js.map +1 -1
  119. package/dist/Validators/PayableLimitedSignerValidator.d.ts +829 -0
  120. package/dist/Validators/PayableLimitedSignerValidator.d.ts.map +1 -0
  121. package/dist/Validators/SignerValidator.cjs +1 -1
  122. package/dist/Validators/SignerValidator.cjs.map +1 -1
  123. package/dist/Validators/SignerValidator.d.ts.map +1 -1
  124. package/dist/Validators/SignerValidator.js +48 -48
  125. package/dist/Validators/SignerValidator.js.map +1 -1
  126. package/dist/Validators/Validator.cjs +1 -1
  127. package/dist/Validators/Validator.cjs.map +1 -1
  128. package/dist/Validators/Validator.d.ts +4 -3
  129. package/dist/Validators/Validator.d.ts.map +1 -1
  130. package/dist/Validators/Validator.js +14 -50
  131. package/dist/Validators/Validator.js.map +1 -1
  132. package/dist/componentInterfaces-D4QdH2Qz.cjs +2 -0
  133. package/dist/componentInterfaces-D4QdH2Qz.cjs.map +1 -0
  134. package/dist/componentInterfaces-DCTot4_O.js +24 -0
  135. package/dist/componentInterfaces-DCTot4_O.js.map +1 -0
  136. package/dist/{deployments-DKtAq6BT.js → deployments-B-ZU0zVY.js} +61 -34
  137. package/dist/{deployments-DKtAq6BT.js.map → deployments-B-ZU0zVY.js.map} +1 -1
  138. package/dist/deployments-CaacquP1.cjs +2 -0
  139. package/dist/deployments-CaacquP1.cjs.map +1 -0
  140. package/dist/deployments.json +32 -4
  141. package/dist/generated-BOBQ2ut4.cjs +3 -0
  142. package/dist/generated-BOBQ2ut4.cjs.map +1 -0
  143. package/dist/{generated-CINzoGbl.js → generated-ffteMTHN.js} +1157 -776
  144. package/dist/generated-ffteMTHN.js.map +1 -0
  145. package/dist/index.cjs +1 -1
  146. package/dist/index.d.ts +1 -0
  147. package/dist/index.d.ts.map +1 -1
  148. package/dist/index.js +123 -118
  149. package/package.json +1 -1
  150. package/src/Actions/EventAction.ts +3 -1
  151. package/src/AllowLists/SimpleAllowList.ts +3 -1
  152. package/src/AllowLists/SimpleDenyList.ts +3 -1
  153. package/src/BoostCore.ts +30 -1
  154. package/src/BoostRegistry.ts +3 -1
  155. package/src/Budgets/ManagedBudget.ts +3 -1
  156. package/src/Budgets/ManagedBudgetWithFees.ts +3 -1
  157. package/src/Budgets/ManagedBudgetWithFeesV2.ts +3 -1
  158. package/src/Budgets/TransparentBudget.ts +3 -1
  159. package/src/Budgets/VestingBudget.ts +3 -1
  160. package/src/Deployable/DeployableTarget.ts +2 -3
  161. package/src/Incentives/AllowListIncentive.ts +3 -1
  162. package/src/Incentives/CGDAIncentive.ts +3 -1
  163. package/src/Incentives/ERC1155Incentive.ts +3 -1
  164. package/src/Incentives/ERC20Incentive.ts +3 -1
  165. package/src/Incentives/ERC20PeggedIncentive.ts +3 -1
  166. package/src/Incentives/ERC20PeggedVariableCriteriaIncentive.ts +3 -1
  167. package/src/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.ts +6 -2
  168. package/src/Incentives/ERC20VariableCriteriaIncentive.ts +3 -1
  169. package/src/Incentives/ERC20VariableCriteriaIncentiveV2.ts +5 -1
  170. package/src/Incentives/ERC20VariableIncentive.ts +3 -1
  171. package/src/Incentives/PointsIncentive.ts +3 -1
  172. package/src/Validators/LimitedSignerValidator.ts +3 -1
  173. package/src/Validators/PayableLimitedSignerValidator.test.ts +202 -0
  174. package/src/Validators/PayableLimitedSignerValidator.ts +667 -0
  175. package/src/Validators/SignerValidator.ts +3 -1
  176. package/src/Validators/Validator.ts +7 -1
  177. package/src/index.ts +1 -0
  178. package/dist/Budget-B-grnRq9.js.map +0 -1
  179. package/dist/Budget-uGKa2qzz.cjs +0 -2
  180. package/dist/Budget-uGKa2qzz.cjs.map +0 -1
  181. package/dist/Incentive-Bz_g-nID.js.map +0 -1
  182. package/dist/Incentive-Dufx0ZjH.cjs.map +0 -1
  183. package/dist/SimpleDenyList-B2YDJ_gk.cjs.map +0 -1
  184. package/dist/SimpleDenyList-BlLgvhjE.js.map +0 -1
  185. package/dist/componentInterfaces-C5ig8mCK.cjs +0 -2
  186. package/dist/componentInterfaces-C5ig8mCK.cjs.map +0 -1
  187. package/dist/componentInterfaces-Ddus5rIA.js +0 -23
  188. package/dist/componentInterfaces-Ddus5rIA.js.map +0 -1
  189. package/dist/deployments-Dk-Z1L2X.cjs +0 -2
  190. package/dist/deployments-Dk-Z1L2X.cjs.map +0 -1
  191. package/dist/generated-CINzoGbl.js.map +0 -1
  192. package/dist/generated-C_JEoLDO.cjs +0 -3
  193. package/dist/generated-C_JEoLDO.cjs.map +0 -1
@@ -1,12 +1,12 @@
1
- import { E as r, aD as l, aE as h, aF as u, aG as y, aH as g, aI as m, aJ as w, aK as p, aL as A, aM as R, aN as B, aO as V, aP as _ } from "../generated-CINzoGbl.js";
2
- import { encodeAbiParameters as s, zeroHash as t } from "viem";
3
- import { C } from "../deployments-DKtAq6BT.js";
4
- import { DeployableTarget as P } from "../Deployable/DeployableTarget.js";
5
- import { prepareClaimPayload as i } from "../claiming.js";
6
- import { RegistryType as D, getErc20Balance as T } from "../utils.js";
7
- const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b611b6f806100895f395ff3fe6080604052600436106101f5575f3560e01c806354d1f13d11610117578063c884ef83116100ac578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b146105f8578063fe9fbb801461060b578063fee81cf41461062a575f80fd5b8063ec87621c146105d1578063f04e283e146105e5575f80fd5b8063c884ef8314610550578063db09da121461057e578063dcc213611461059d578063dcc59b6f146105bc575f80fd5b80638da5cb5b116100e75780638da5cb5b146104e5578063bb1757cf146104fd578063be4994f81461051c578063c78da39a1461053b575f80fd5b806354d1f13d1461047f578063715018a61461048757806375b238fc1461048f57806375ef18d0146104a3575f80fd5b80632de948071161018d578063474f5a441161015d578063474f5a44146103c25780634a4ee7b11461040b5780634e7165a21461041e578063514e62fc1461044a575f80fd5b80632de948071461030257806338d52e0f146103335780634359d28a14610384578063439fab91146103a3575f80fd5b80631cd64df4116101c85780631cd64df414610277578063228cb733146102ac57806325692962146102c057806328d6183b146102c8575f80fd5b806301ffc9a7146101f957806307621eca1461022d578063183a4f6e1461024f5780631c10893f14610264575b5f80fd5b348015610204575f80fd5b50610218610213366004611502565b61065b565b60405190151581526020015b60405180910390f35b348015610238575f80fd5b506102416106b6565b604051908152602001610224565b61026261025d366004611541565b610736565b005b610262610272366004611580565b610743565b348015610282575f80fd5b50610218610291366004611580565b638b78c6d8600c9081525f9290925260209091205481161490565b3480156102b7575f80fd5b506102415f5481565b610262610759565b3480156102d3575f80fd5b506040517f53cf8555000000000000000000000000000000000000000000000000000000008152602001610224565b34801561030d575f80fd5b5061024161031c3660046115a8565b638b78c6d8600c9081525f91909152602090205490565b34801561033e575f80fd5b5060075461035f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610224565b34801561038f575f80fd5b5061026261039e366004611609565b6107a6565b3480156103ae575f80fd5b506102626103bd3660046116b3565b6108a0565b3480156103cd575f80fd5b506103e16103dc3660046116b3565b610b63565b6040805192835273ffffffffffffffffffffffffffffffffffffffff909116602083015201610224565b610262610419366004611580565b610c90565b348015610429575f80fd5b5061043d6104383660046116b3565b610ca2565b6040516102249190611720565b348015610455575f80fd5b50610218610464366004611580565b638b78c6d8600c9081525f9290925260209091205416151590565b610262610d60565b610262610d99565b34801561049a575f80fd5b50610241600281565b3480156104ae575f80fd5b506002546003546004546005546104c59392919084565b604080519485526020850193909352918301526060820152608001610224565b3480156104f0575f80fd5b50638b78c6d8195461035f565b348015610508575f80fd5b50610218610517366004611732565b610dac565b348015610527575f80fd5b50610262610536366004611609565b610f82565b348015610546575f80fd5b5061024160065481565b34801561055b575f80fd5b5061021861056a3660046115a8565b60016020525f908152604090205460ff1681565b348015610589575f80fd5b50610218610598366004611732565b611020565b3480156105a8575f80fd5b506102626105b7366004611609565b611032565b3480156105c7575f80fd5b5061024160085481565b3480156105dc575f80fd5b50610241600181565b6102626105f33660046115a8565b6110d0565b6102626106063660046115a8565b61110a565b348015610616575f80fd5b506102186106253660046115a8565b611130565b348015610635575f80fd5b506102416106443660046115a8565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f53cf85550000000000000000000000000000000000000000000000000000000014806106b057506106b08261118f565b92915050565b6004545f9081906106c790426117ae565b6007549091505f906106ef9073ffffffffffffffffffffffffffffffffffffffff16306111e4565b90505f610e106002600101548461070691906117c1565b61071091906117d8565b60055461071d9190611810565b905081811161072c578061072e565b815b935050505090565b6107403382611217565b50565b61074b611222565b610755828261123c565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60026107b181611248565b8382146107ea576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610898575f84848381811061080757610807611823565b905060200201602081019061081c9190611850565b905080151560010361085e5761085987878481811061083d5761083d611823565b905060200201602081019061085291906115a8565b600161123c565b61088f565b61088f87878481811061087357610873611823565b905060200201602081019061088891906115a8565b6001611217565b506001016107ec565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156108f15760018160011c14303b106108e85763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f6108ff838501856118f6565b80519091505f906109269073ffffffffffffffffffffffffffffffffffffffff16306111e4565b9050816080015181101561099757815160808301516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820183905260448201526064015b60405180910390fd5b602082015115806109aa57506040820151155b806109b757506060820151155b806109c9575081602001518260800151105b15610a00576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051608080820183528285015180835260608087015160208086018290524296860187905288015191909401819052600291909155600392909255600492909255600555820151600655610a9b33611279565b610aaa8260a0015160016112c1565b815f015173ffffffffffffffffffffffffffffffffffffffff167f2364e5ed5f8639e9bae046dc67aabf43f410e931f25143a10f5e1a8744ad717e8360200151846040015185606001518660800151604051610b1f949392919093845260208401929092526040830152606082015260800190565b60405180910390a250508015610b5e576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610b7081611248565b5f610b7d85870187611979565b90505f8160200151806020019051810190610b989190611a50565b8251600754919250610bc19173ffffffffffffffffffffffffffffffffffffffff169083611302565b81516007546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f1981840301815290829052610c6191611720565b60405180910390a260075490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610c98611222565b6107558282611217565b60605f610cb1838501856118f6565b60408051608081019091529091508060018152602001825f015173ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052808460800151815250604051602001610d289151815260200190565b60408051601f19818403018152918152915251610d489190602001611a67565b60405160208183030381529060405291505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610da1611222565b610daa5f611355565b565b5f610db5611222565b610dbe8461139f565b610e1b57604080517f4139d81d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8616600482015260248101919091525f604482015260640161098e565b73ffffffffffffffffffffffffffffffffffffffff84165f908152600160208190526040822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790556008805491610e7883611b02565b91905055505f610e866106b6565b426004556002549091508111610e9e57600254610eab565b600254610eab90826117ae565b600555600754610ed29073ffffffffffffffffffffffffffffffffffffffff168683611302565b6007546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529187901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8616907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f1981840301815290829052610f6f91611720565b60405180910390a2506001949350505050565b6002610f8d81611248565b838214610fc6576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8481101561089857611018868683818110610fe557610fe5611823565b9050602002016020810190610ffa91906115a8565b85858481811061100c5761100c611823565b9050602002013561123c565b600101610fc8565b5f61102a8461139f565b949350505050565b600261103d81611248565b838214611076576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610898576110c886868381811061109557611095611823565b90506020020160208101906110aa91906115a8565b8585848181106110bc576110bc611823565b90506020020135611217565b600101611078565b6110d8611222565b63389a75e1600c52805f526020600c2080544211156110fe57636f5e88185f526004601cfd5b5f905561074081611355565b611112611222565b8060601b61112757637448fbae5f526004601cfd5b61074081611355565b5f8173ffffffffffffffffffffffffffffffffffffffff16611155638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806106b05750638b78c6d8600c9081525f839052602090205460031615156106b0565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa92167050000000000000000000000000000000000000000000000000000000014806106b057506106b082611415565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b61075582825f6114ab565b638b78c6d819543314610daa576382b429005f526004601cfd5b610755828260016114ab565b638b78c6d81954331461074057638b78c6d8600c52335f52806020600c205416610740576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661134b57803d853b15171061134b576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f806113a96106b6565b90505f811180156113dd575060075481906113da9073ffffffffffffffffffffffffffffffffffffffff16306111e4565b10155b801561140e575073ffffffffffffffffffffffffffffffffffffffff83165f9081526001602052604090205460ff16155b9392505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d0000000000000000000000000000000000000000000000000000000014806106b057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146106b0565b638b78c6d8600c52825f526020600c208054838117836114cc575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f60208284031215611512575f80fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461140e575f80fd5b5f60208284031215611551575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461157b575f80fd5b919050565b5f8060408385031215611591575f80fd5b61159a83611558565b946020939093013593505050565b5f602082840312156115b8575f80fd5b61140e82611558565b5f8083601f8401126115d1575f80fd5b50813567ffffffffffffffff8111156115e8575f80fd5b6020830191508360208260051b8501011115611602575f80fd5b9250929050565b5f805f806040858703121561161c575f80fd5b843567ffffffffffffffff811115611632575f80fd5b61163e878288016115c1565b909550935050602085013567ffffffffffffffff81111561165d575f80fd5b611669878288016115c1565b95989497509550505050565b5f8083601f840112611685575f80fd5b50813567ffffffffffffffff81111561169c575f80fd5b602083019150836020828501011115611602575f80fd5b5f80602083850312156116c4575f80fd5b823567ffffffffffffffff8111156116da575f80fd5b6116e685828601611675565b90969095509350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61140e60208301846116f2565b5f805f60408486031215611744575f80fd5b61174d84611558565b9250602084013567ffffffffffffffff811115611768575f80fd5b61177486828701611675565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103818111156106b0576106b0611781565b80820281158282048414176106b0576106b0611781565b5f8261180b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b808201808211156106b0576106b0611781565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611860575f80fd5b8135801515811461140e575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040805190810167ffffffffffffffff811182821017156118bf576118bf61186f565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156118ee576118ee61186f565b604052919050565b5f60c0828403128015611907575f80fd5b5060405160c0810167ffffffffffffffff8111828210171561192b5761192b61186f565b60405261193783611558565b81526020838101359082015260408084013590820152606080840135908201526080808401359082015261196d60a08401611558565b60a08201529392505050565b5f60208284031215611989575f80fd5b813567ffffffffffffffff81111561199f575f80fd5b8201604081850312156119b0575f80fd5b6119b861189c565b6119c182611558565b8152602082013567ffffffffffffffff8111156119dc575f80fd5b80830192505084601f8301126119f0575f80fd5b813567ffffffffffffffff811115611a0a57611a0a61186f565b611a1d6020601f19601f840116016118c5565b818152866020838601011115611a31575f80fd5b816020850160208301375f602092820183015290820152949350505050565b5f60208284031215611a60575f80fd5b5051919050565b602081525f825160038110611aa3577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff6040840151166060830152606083015160808084015261102a60a08401826116f2565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611b3257611b32611781565b506001019056fea2646970667358221220b907f524c00fc94c347789c150ead10c0b70a2de12eb7cada7da415e65dc020864736f6c634300081a0033", c = class c extends P {
1
+ import { E as i, aD as h, aE as u, aF as y, aG as g, aH as w, aI as m, aJ as p, aK as A, aL as B, aM as E, aN as R, aO as V, aP as T } from "../generated-ffteMTHN.js";
2
+ import { encodeAbiParameters as r, zeroHash as t } from "viem";
3
+ import { C as _ } from "../deployments-B-ZU0zVY.js";
4
+ import { DeployableTarget as C } from "../Deployable/DeployableTarget.js";
5
+ import { prepareClaimPayload as n } from "../claiming.js";
6
+ import { RegistryType as D, getErc20Balance as I } from "../utils.js";
7
+ const P = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b611b6f806100895f395ff3fe6080604052600436106101f5575f3560e01c806354d1f13d11610117578063c884ef83116100ac578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b146105f8578063fe9fbb801461060b578063fee81cf41461062a575f80fd5b8063ec87621c146105d1578063f04e283e146105e5575f80fd5b8063c884ef8314610550578063db09da121461057e578063dcc213611461059d578063dcc59b6f146105bc575f80fd5b80638da5cb5b116100e75780638da5cb5b146104e5578063bb1757cf146104fd578063be4994f81461051c578063c78da39a1461053b575f80fd5b806354d1f13d1461047f578063715018a61461048757806375b238fc1461048f57806375ef18d0146104a3575f80fd5b80632de948071161018d578063474f5a441161015d578063474f5a44146103c25780634a4ee7b11461040b5780634e7165a21461041e578063514e62fc1461044a575f80fd5b80632de948071461030257806338d52e0f146103335780634359d28a14610384578063439fab91146103a3575f80fd5b80631cd64df4116101c85780631cd64df414610277578063228cb733146102ac57806325692962146102c057806328d6183b146102c8575f80fd5b806301ffc9a7146101f957806307621eca1461022d578063183a4f6e1461024f5780631c10893f14610264575b5f80fd5b348015610204575f80fd5b50610218610213366004611502565b61065b565b60405190151581526020015b60405180910390f35b348015610238575f80fd5b506102416106b6565b604051908152602001610224565b61026261025d366004611541565b610736565b005b610262610272366004611580565b610743565b348015610282575f80fd5b50610218610291366004611580565b638b78c6d8600c9081525f9290925260209091205481161490565b3480156102b7575f80fd5b506102415f5481565b610262610759565b3480156102d3575f80fd5b506040517f53cf8555000000000000000000000000000000000000000000000000000000008152602001610224565b34801561030d575f80fd5b5061024161031c3660046115a8565b638b78c6d8600c9081525f91909152602090205490565b34801561033e575f80fd5b5060075461035f9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610224565b34801561038f575f80fd5b5061026261039e366004611609565b6107a6565b3480156103ae575f80fd5b506102626103bd3660046116b3565b6108a0565b3480156103cd575f80fd5b506103e16103dc3660046116b3565b610b63565b6040805192835273ffffffffffffffffffffffffffffffffffffffff909116602083015201610224565b610262610419366004611580565b610c90565b348015610429575f80fd5b5061043d6104383660046116b3565b610ca2565b6040516102249190611720565b348015610455575f80fd5b50610218610464366004611580565b638b78c6d8600c9081525f9290925260209091205416151590565b610262610d60565b610262610d99565b34801561049a575f80fd5b50610241600281565b3480156104ae575f80fd5b506002546003546004546005546104c59392919084565b604080519485526020850193909352918301526060820152608001610224565b3480156104f0575f80fd5b50638b78c6d8195461035f565b348015610508575f80fd5b50610218610517366004611732565b610dac565b348015610527575f80fd5b50610262610536366004611609565b610f82565b348015610546575f80fd5b5061024160065481565b34801561055b575f80fd5b5061021861056a3660046115a8565b60016020525f908152604090205460ff1681565b348015610589575f80fd5b50610218610598366004611732565b611020565b3480156105a8575f80fd5b506102626105b7366004611609565b611032565b3480156105c7575f80fd5b5061024160085481565b3480156105dc575f80fd5b50610241600181565b6102626105f33660046115a8565b6110d0565b6102626106063660046115a8565b61110a565b348015610616575f80fd5b506102186106253660046115a8565b611130565b348015610635575f80fd5b506102416106443660046115a8565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f53cf85550000000000000000000000000000000000000000000000000000000014806106b057506106b08261118f565b92915050565b6004545f9081906106c790426117ae565b6007549091505f906106ef9073ffffffffffffffffffffffffffffffffffffffff16306111e4565b90505f610e106002600101548461070691906117c1565b61071091906117d8565b60055461071d9190611810565b905081811161072c578061072e565b815b935050505090565b6107403382611217565b50565b61074b611222565b610755828261123c565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60026107b181611248565b8382146107ea576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610898575f84848381811061080757610807611823565b905060200201602081019061081c9190611850565b905080151560010361085e5761085987878481811061083d5761083d611823565b905060200201602081019061085291906115a8565b600161123c565b61088f565b61088f87878481811061087357610873611823565b905060200201602081019061088891906115a8565b6001611217565b506001016107ec565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156108f15760018160011c14303b106108e85763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f6108ff838501856118f6565b80519091505f906109269073ffffffffffffffffffffffffffffffffffffffff16306111e4565b9050816080015181101561099757815160808301516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820183905260448201526064015b60405180910390fd5b602082015115806109aa57506040820151155b806109b757506060820151155b806109c9575081602001518260800151105b15610a00576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8151600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051608080820183528285015180835260608087015160208086018290524296860187905288015191909401819052600291909155600392909255600492909255600555820151600655610a9b33611279565b610aaa8260a0015160016112c1565b815f015173ffffffffffffffffffffffffffffffffffffffff167f2364e5ed5f8639e9bae046dc67aabf43f410e931f25143a10f5e1a8744ad717e8360200151846040015185606001518660800151604051610b1f949392919093845260208401929092526040830152606082015260800190565b60405180910390a250508015610b5e576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610b7081611248565b5f610b7d85870187611979565b90505f8160200151806020019051810190610b989190611a50565b8251600754919250610bc19173ffffffffffffffffffffffffffffffffffffffff169083611302565b81516007546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f1981840301815290829052610c6191611720565b60405180910390a260075490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610c98611222565b6107558282611217565b60605f610cb1838501856118f6565b60408051608081019091529091508060018152602001825f015173ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052808460800151815250604051602001610d289151815260200190565b60408051601f19818403018152918152915251610d489190602001611a67565b60405160208183030381529060405291505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610da1611222565b610daa5f611355565b565b5f610db5611222565b610dbe8461139f565b610e1b57604080517f4139d81d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8616600482015260248101919091525f604482015260640161098e565b73ffffffffffffffffffffffffffffffffffffffff84165f908152600160208190526040822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790556008805491610e7883611b02565b91905055505f610e866106b6565b426004556002549091508111610e9e57600254610eab565b600254610eab90826117ae565b600555600754610ed29073ffffffffffffffffffffffffffffffffffffffff168683611302565b6007546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529187901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8616907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f1981840301815290829052610f6f91611720565b60405180910390a2506001949350505050565b6002610f8d81611248565b838214610fc6576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8481101561089857611018868683818110610fe557610fe5611823565b9050602002016020810190610ffa91906115a8565b85858481811061100c5761100c611823565b9050602002013561123c565b600101610fc8565b5f61102a8461139f565b949350505050565b600261103d81611248565b838214611076576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610898576110c886868381811061109557611095611823565b90506020020160208101906110aa91906115a8565b8585848181106110bc576110bc611823565b90506020020135611217565b600101611078565b6110d8611222565b63389a75e1600c52805f526020600c2080544211156110fe57636f5e88185f526004601cfd5b5f905561074081611355565b611112611222565b8060601b61112757637448fbae5f526004601cfd5b61074081611355565b5f8173ffffffffffffffffffffffffffffffffffffffff16611155638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806106b05750638b78c6d8600c9081525f839052602090205460031615156106b0565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa92167050000000000000000000000000000000000000000000000000000000014806106b057506106b082611415565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b61075582825f6114ab565b638b78c6d819543314610daa576382b429005f526004601cfd5b610755828260016114ab565b638b78c6d81954331461074057638b78c6d8600c52335f52806020600c205416610740576382b429005f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661134b57803d853b15171061134b576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f806113a96106b6565b90505f811180156113dd575060075481906113da9073ffffffffffffffffffffffffffffffffffffffff16306111e4565b10155b801561140e575073ffffffffffffffffffffffffffffffffffffffff83165f9081526001602052604090205460ff16155b9392505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d0000000000000000000000000000000000000000000000000000000014806106b057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146106b0565b638b78c6d8600c52825f526020600c208054838117836114cc575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f60208284031215611512575f80fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461140e575f80fd5b5f60208284031215611551575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461157b575f80fd5b919050565b5f8060408385031215611591575f80fd5b61159a83611558565b946020939093013593505050565b5f602082840312156115b8575f80fd5b61140e82611558565b5f8083601f8401126115d1575f80fd5b50813567ffffffffffffffff8111156115e8575f80fd5b6020830191508360208260051b8501011115611602575f80fd5b9250929050565b5f805f806040858703121561161c575f80fd5b843567ffffffffffffffff811115611632575f80fd5b61163e878288016115c1565b909550935050602085013567ffffffffffffffff81111561165d575f80fd5b611669878288016115c1565b95989497509550505050565b5f8083601f840112611685575f80fd5b50813567ffffffffffffffff81111561169c575f80fd5b602083019150836020828501011115611602575f80fd5b5f80602083850312156116c4575f80fd5b823567ffffffffffffffff8111156116da575f80fd5b6116e685828601611675565b90969095509350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61140e60208301846116f2565b5f805f60408486031215611744575f80fd5b61174d84611558565b9250602084013567ffffffffffffffff811115611768575f80fd5b61177486828701611675565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103818111156106b0576106b0611781565b80820281158282048414176106b0576106b0611781565b5f8261180b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b808201808211156106b0576106b0611781565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611860575f80fd5b8135801515811461140e575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040805190810167ffffffffffffffff811182821017156118bf576118bf61186f565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156118ee576118ee61186f565b604052919050565b5f60c0828403128015611907575f80fd5b5060405160c0810167ffffffffffffffff8111828210171561192b5761192b61186f565b60405261193783611558565b81526020838101359082015260408084013590820152606080840135908201526080808401359082015261196d60a08401611558565b60a08201529392505050565b5f60208284031215611989575f80fd5b813567ffffffffffffffff81111561199f575f80fd5b8201604081850312156119b0575f80fd5b6119b861189c565b6119c182611558565b8152602082013567ffffffffffffffff8111156119dc575f80fd5b80830192505084601f8301126119f0575f80fd5b813567ffffffffffffffff811115611a0a57611a0a61186f565b611a1d6020601f19601f840116016118c5565b818152866020838601011115611a31575f80fd5b816020850160208301375f602092820183015290820152949350505050565b5f60208284031215611a60575f80fd5b5051919050565b602081525f825160038110611aa3577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff6040840151166060830152606083015160808084015261102a60a08401826116f2565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611b3257611b32611781565b506001019056fea2646970667358221220b907f524c00fc94c347789c150ead10c0b70a2de12eb7cada7da415e65dc020864736f6c634300081a0033", s = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1, VITE_BOOST_MAINNET_SIGNER_EOA: "0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480", VITE_BOOST_TESTNET_SIGNER_EOA: "0xd63167e9db11B108940b2E8236581F961f33f396" }, c = class c extends C {
8
8
  constructor() {
9
- super(...arguments), this.abi = r;
9
+ super(...arguments), this.abi = i;
10
10
  }
11
11
  /**
12
12
  * The incentive's owner.
@@ -17,7 +17,7 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
17
17
  * @returns {Promise<Address>}
18
18
  */
19
19
  async owner(f) {
20
- return await l(this._config, {
20
+ return await h(this._config, {
21
21
  address: this.assertValidAddress(),
22
22
  args: [],
23
23
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -33,7 +33,7 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
33
33
  * @returns {Promise<bigint>}
34
34
  */
35
35
  async claims(f) {
36
- return await h(this._config, {
36
+ return await u(this._config, {
37
37
  address: this.assertValidAddress(),
38
38
  args: [],
39
39
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -49,7 +49,7 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
49
49
  * @returns {Promise<bigint>}
50
50
  */
51
51
  async reward(f) {
52
- return await u(this._config, {
52
+ return await y(this._config, {
53
53
  address: this.assertValidAddress(),
54
54
  args: [],
55
55
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -66,7 +66,7 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
66
66
  * @returns {Promise<boolean>}
67
67
  */
68
68
  async claimed(f, b) {
69
- return await y(this._config, {
69
+ return await g(this._config, {
70
70
  address: this.assertValidAddress(),
71
71
  args: [f],
72
72
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -82,7 +82,7 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
82
82
  * @returns {Promise<Address>}
83
83
  */
84
84
  async asset(f) {
85
- return await g(this._config, {
85
+ return await w(this._config, {
86
86
  address: this.assertValidAddress(),
87
87
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
88
88
  ...f
@@ -118,7 +118,7 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
118
118
  * @returns {Promise<bigint>}
119
119
  */
120
120
  async totalBudget(f) {
121
- return await w(this._config, {
121
+ return await p(this._config, {
122
122
  address: this.assertValidAddress(),
123
123
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
124
124
  ...f
@@ -146,14 +146,14 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
146
146
  * @returns {Promise<boolean>} - Returns true if successfully claimed
147
147
  */
148
148
  async claimRaw(f, b) {
149
- const { request: a, result: e } = await p(this._config, {
149
+ const { request: a, result: e } = await A(this._config, {
150
150
  address: this.assertValidAddress(),
151
- args: [i(f)],
151
+ args: [n(f)],
152
152
  ...this.optionallyAttachAccount(),
153
153
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
154
154
  ...b
155
155
  });
156
- return { hash: await A(this._config, a), result: e };
156
+ return { hash: await B(this._config, a), result: e };
157
157
  }
158
158
  /**
159
159
  * Clawback assets from the incentive
@@ -177,17 +177,17 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
177
177
  * @returns {Promise<boolean>} - True if the assets were successfully clawbacked
178
178
  */
179
179
  async clawbackRaw(f, b) {
180
- const { request: a, result: e } = await R(
180
+ const { request: a, result: e } = await E(
181
181
  this._config,
182
182
  {
183
183
  address: this.assertValidAddress(),
184
- args: [i(f)],
184
+ args: [n(f)],
185
185
  ...this.optionallyAttachAccount(),
186
186
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
187
187
  ...b
188
188
  }
189
189
  );
190
- return { hash: await B(this._config, a), result: e };
190
+ return { hash: await R(this._config, a), result: e };
191
191
  }
192
192
  /**
193
193
  * Check if an incentive is claimable
@@ -228,7 +228,7 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
228
228
  async getRemainingClaimPotential(f) {
229
229
  const [b, a] = await Promise.all([
230
230
  this.currentReward(f),
231
- T(
231
+ I(
232
232
  this._config,
233
233
  await this.asset(),
234
234
  this.assertValidAddress(),
@@ -248,7 +248,7 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
248
248
  * @returns {Promise<bigint>} - The current reward
249
249
  */
250
250
  async currentReward(f) {
251
- return await _(this._config, {
251
+ return await T(this._config, {
252
252
  address: this.assertValidAddress(),
253
253
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
254
254
  ...f
@@ -280,9 +280,9 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
280
280
  b
281
281
  );
282
282
  return {
283
- abi: r,
284
- bytecode: E,
285
- args: [k(a)],
283
+ abi: i,
284
+ bytecode: P,
285
+ args: [N(a)],
286
286
  ...this.optionallyAttachAccount(e.account)
287
287
  };
288
288
  }
@@ -294,7 +294,7 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
294
294
  * @returns {Hex} - Returns an encoded uint256
295
295
  */
296
296
  buildClawbackData(f) {
297
- return s([{ type: "uint256" }], [f]);
297
+ return r([{ type: "uint256" }], [f]);
298
298
  }
299
299
  /**
300
300
  * Generates a top-up payload for the CGDAIncentive contract.
@@ -308,7 +308,7 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
308
308
  */
309
309
  async getTopupPayload(f) {
310
310
  var b, a, e, d;
311
- return s(
311
+ return r(
312
312
  [
313
313
  { type: "address", name: "asset" },
314
314
  { type: "uint256", name: "initialReward" },
@@ -339,19 +339,19 @@ const E = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd19805
339
339
  }
340
340
  };
341
341
  c.bases = {
342
- 31337: void 0,
343
- ...C
342
+ ...s != null && s.VITE_CGDA_INCENTIVE_BASE ? { 31337: void 0 } : {},
343
+ ..._
344
344
  }, c.registryType = D.INCENTIVE;
345
- let n = c;
346
- function k({
347
- asset: o,
345
+ let o = c;
346
+ function N({
347
+ asset: l,
348
348
  initialReward: f,
349
349
  rewardDecay: b,
350
350
  rewardBoost: a,
351
351
  totalBudget: e,
352
352
  manager: d
353
353
  }) {
354
- return s(
354
+ return r(
355
355
  [
356
356
  { type: "address", name: "asset" },
357
357
  { type: "uint256", name: "initialReward" },
@@ -360,12 +360,12 @@ function k({
360
360
  { type: "uint256", name: "totalBudget" },
361
361
  { type: "address", name: "manager" }
362
362
  ],
363
- [o, f, b, a, e, d]
363
+ [l, f, b, a, e, d]
364
364
  );
365
365
  }
366
366
  export {
367
- n as CGDAIncentive,
368
- r as cgdaIncentiveAbi,
369
- k as prepareCGDAIncentivePayload
367
+ o as CGDAIncentive,
368
+ i as cgdaIncentiveAbi,
369
+ N as prepareCGDAIncentivePayload
370
370
  };
371
371
  //# sourceMappingURL=CGDAIncentive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CGDAIncentive.js","sources":["../../src/Incentives/CGDAIncentive.ts"],"sourcesContent":["import {\n cgdaIncentiveAbi,\n readCgdaIncentiveAsset,\n readCgdaIncentiveCgdaParams,\n readCgdaIncentiveClaimed,\n readCgdaIncentiveClaims,\n readCgdaIncentiveCurrentReward,\n readCgdaIncentiveIsClaimable,\n readCgdaIncentiveOwner,\n readCgdaIncentiveReward,\n readCgdaIncentiveTotalBudget,\n simulateCgdaIncentiveClaim,\n simulateCgdaIncentiveClawback,\n writeCgdaIncentiveClaim,\n writeCgdaIncentiveClawback,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/incentives/CGDAIncentive.sol/CGDAIncentive.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n zeroHash,\n} from 'viem';\nimport { CGDAIncentive as CGDAIncentiveBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport { type ClaimPayload, prepareClaimPayload } from '../claiming';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n getErc20Balance,\n} from '../utils';\n\nexport { cgdaIncentiveAbi };\n\n/**\n * The object representation of a `CGDAIncentive.InitPayload`\n *\n * @export\n * @interface CGDAIncentivePayload\n * @typedef {CGDAIncentivePayload}\n */\nexport interface CGDAIncentivePayload {\n /**\n * The address of the ERC20-like token\n *\n * @type {Address}\n */\n asset: Address;\n /**\n * The initial reward amount\n *\n * @type {bigint}\n */\n initialReward: bigint;\n /**\n * The amount to subtract from the current reward after each claim\n *\n * @type {bigint}\n */\n rewardDecay: bigint;\n /**\n * The amount by which the reward increases for each hour without a claim (continuous linear increase)\n *\n * @type {bigint}\n */\n rewardBoost: bigint;\n /**\n * The total budget for the incentive\n *\n * @type {bigint}\n */\n totalBudget: bigint;\n /**\n * The entity that can `clawback` funds\n *\n * @type {Address}\n */\n manager: Address;\n}\n\n/**\n * The configuration parameters for the CGDAIncentive\n *\n * @export\n * @interface CGDAParameters\n * @typedef {CGDAParameters}\n */\nexport interface CGDAParameters {\n /**\n * The amount to subtract from the current reward after each claim\n *\n * @type {bigint}\n */\n rewardDecay: bigint;\n /**\n * The amount by which the reward increases for each hour without a claim (continuous linear increase)\n *\n * @type {bigint}\n */\n rewardBoost: bigint;\n /**\n * The timestamp of the last claim\n *\n * @type {bigint}\n */\n lastClaimTime: bigint;\n /**\n * The current reward amount\n *\n * @type {bigint}\n */\n currentReward: bigint;\n}\n\n/**\n * A generic `viem.Log` event with support for `CGDAIncentive` event types.\n *\n * @export\n * @typedef {CGDAIncentiveLog}\n * @template {ContractEventName<typeof cgdaIncentiveAbi>} [event=ContractEventName<\n * typeof cgdaIncentiveAbi\n * >]\n */\nexport type CGDAIncentiveLog<\n event extends ContractEventName<typeof cgdaIncentiveAbi> = ContractEventName<\n typeof cgdaIncentiveAbi\n >,\n> = GenericLog<typeof cgdaIncentiveAbi, event>;\n\n/**\n * Continuous Gradual Dutch Auction Incentive.\n * An CGDA incentive implementation with reward amounts adjusting dynamically based on claim volume.\n *\n * @export\n * @class CGDAIncentive\n * @typedef {CGDAIncentive}\n * @extends {DeployableTarget<CGDAIncentivePayload>}\n */\nexport class CGDAIncentive extends DeployableTarget<\n CGDAIncentivePayload,\n typeof cgdaIncentiveAbi\n> {\n public override readonly abi = cgdaIncentiveAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n 31337: import.meta.env.VITE_CGDA_INCENTIVE_BASE,\n ...(CGDAIncentiveBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.INCENTIVE;\n\n /**\n * The incentive's owner.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async owner(params?: ReadParams) {\n return await readCgdaIncentiveOwner(this._config, {\n address: this.assertValidAddress(),\n args: [],\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 * The number of claims that have been made\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async claims(params?: ReadParams) {\n return await readCgdaIncentiveClaims(this._config, {\n address: this.assertValidAddress(),\n args: [],\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 * The reward amount issued for each claim\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async reward(params?: ReadParams) {\n return await readCgdaIncentiveReward(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get the claim status for a user\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>}\n */\n public async claimed(address: Address, params?: ReadParams) {\n return await readCgdaIncentiveClaimed(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 * The CGDA-like token used for the incentive\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async asset(params?: ReadParams) {\n return await readCgdaIncentiveAsset(this._config, {\n address: this.assertValidAddress(),\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 * The configuration parameters for the CGDAIncentive\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<CGDAParameters>}\n */\n public async cgdaParams(params?: ReadParams): Promise<CGDAParameters> {\n const [rewardDecay, rewardBoost, lastClaimTime, currentReward] =\n await readCgdaIncentiveCgdaParams(this._config, {\n address: this.assertValidAddress(),\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 return {\n rewardDecay,\n rewardBoost,\n lastClaimTime,\n currentReward,\n };\n }\n\n /**\n * The total budget of the incentive\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async totalBudget(params?: ReadParams) {\n return await readCgdaIncentiveTotalBudget(this._config, {\n address: this.assertValidAddress(),\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 * Claim the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - Returns true if successfully claimed\n */\n protected async claim(payload: ClaimPayload, params?: WriteParams) {\n return await this.awaitResult(this.claimRaw(payload, params));\n }\n\n /**\n * Claim the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - Returns true if successfully claimed\n */\n protected async claimRaw(payload: ClaimPayload, params?: WriteParams) {\n const { request, result } = await simulateCgdaIncentiveClaim(this._config, {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n const hash = await writeCgdaIncentiveClaim(this._config, request);\n return { hash, result };\n }\n\n /**\n * Clawback assets from the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the assets were successfully clawbacked\n */\n public async clawback(payload: ClaimPayload, params?: WriteParams) {\n return await this.awaitResult(this.clawbackRaw(payload, params));\n }\n\n /**\n * Clawback assets from the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the assets were successfully clawbacked\n */\n public async clawbackRaw(payload: ClaimPayload, params?: WriteParams) {\n const { request, result } = await simulateCgdaIncentiveClawback(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeCgdaIncentiveClawback(this._config, request);\n return { hash, result };\n }\n\n /**\n * Check if an incentive is claimable\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the incentive is claimable based on the data payload\n */\n public async isClaimable(payload: ClaimPayload, params?: ReadParams) {\n return await readCgdaIncentiveIsClaimable(this._config, {\n address: this.assertValidAddress(),\n args: [payload.target, payload.data],\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 * Check if any claims remain by comparing the incentive's balance against the current reward. Does not take requesting user's elligibility into account.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if asset balance minus current reward is greater than 0\n */\n public async canBeClaimed(params?: ReadParams) {\n return (await this.getRemainingClaimPotential(params)) > 0n;\n }\n\n /**\n * Check how many claims remain by comparing the incentive's balance against the current reward. Does not take requesting user's elligibility into account.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - Asset balance minus current reward\n */\n public async getRemainingClaimPotential(params?: ReadParams) {\n const [currentReward, currentBalance] = await Promise.all([\n this.currentReward(params),\n getErc20Balance(\n this._config,\n await this.asset(),\n this.assertValidAddress(),\n params,\n ),\n ]);\n return currentBalance - currentReward;\n }\n\n /**\n * Calculates the current reward based on the time since the last claim.\n * The reward is calculated based on the time since the last claim, the available budget, and the reward parameters. It increases linearly over time in the absence of claims, with each hour adding `rewardBoost` to the current reward, up to the available budget.\n * For example, if there is one claim in the first hour, then no claims for three hours, the claimable reward would be `initialReward - rewardDecay + (rewardBoost * 3)`\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - The current reward\n */\n public async currentReward(params?: ReadParams) {\n return await readCgdaIncentiveCurrentReward(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get the maximum amount that can be claimed by this incentive. Useful when used in conjunction with `BoostCore.calculateProtocolFee`\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} = Return a bigint representing that maximum amount that can be distributed by this incentive.\n */\n public async getTotalBudget(params?: ReadParams) {\n if (this.payload?.totalBudget !== undefined) {\n return this.payload.totalBudget;\n }\n return await this.totalBudget(params);\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?CGDAIncentivePayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: CGDAIncentivePayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: cgdaIncentiveAbi,\n bytecode: bytecode as Hex,\n args: [prepareCGDAIncentivePayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n\n /**\n * Encodes an amount to clawback from the incentive\n *\n * @public\n * @param {bigint} amount - How much of the asset to clawback\n * @returns {Hex} - Returns an encoded uint256\n */\n public buildClawbackData(amount: bigint) {\n return encodeAbiParameters([{ type: 'uint256' }], [amount]);\n }\n\n /**\n * Generates a top-up payload for the CGDAIncentive contract.\n *\n * In this approach, we treat a \"top-up\" as incrementing the existing `totalBudget`\n * in the incentive by `netAmount`. The entire payload is re-encoded with the updated budget.\n *\n * @public\n * @param {bigint} netAmount The additional tokens to add to `totalBudget`.\n * @returns {Hex} The ABI-encoded, updated CGDAIncentive payload.\n */\n public async getTopupPayload(netAmount: bigint): Promise<Hex> {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'asset' },\n { type: 'uint256', name: 'initialReward' },\n { type: 'uint256', name: 'rewardDecay' },\n { type: 'uint256', name: 'rewardBoost' },\n { type: 'uint256', name: 'totalBudget' },\n { type: 'address', name: 'manager' },\n ],\n [\n (await this.asset()) ?? zeroHash,\n this.payload?.initialReward ?? 0n,\n this.payload?.rewardDecay ?? 0n,\n this.payload?.rewardBoost ?? 0n,\n netAmount,\n this.payload?.manager ?? zeroHash,\n ],\n );\n }\n\n /**\n * Builds the claim data for the CGDAIncentive.\n *\n * @public\n * @returns {Hash} A `zeroHash`, as CGDAIncentive doesn't require specific claim data.\n * @description This function returns `zeroHash` because CGDAIncentive doesn't use any specific claim data.\n */\n public buildClaimData() {\n return zeroHash;\n }\n}\n\n/**\n * Given a {@link CGDAIncentivePayload}, properly encode a `CGDAIncentive.InitPayload` for use with {@link CGDAIncentive} initialization.\n *\n * @param {CGDAIncentivePayload} param0\n * @param {Address} param0.asset - The address of the ERC20-like token\n * @param {bigint} param0.initialReward - The initial reward amount\n * @param {bigint} param0.rewardDecay - The amount to subtract from the current reward after each claim\n * @param {bigint} param0.rewardBoost - The amount by which the reward increases for each hour without a claim (continuous linear increase)\n * @param {bigint} param0.totalBudget - The total budget for the incentive\n * @returns {Hex}\n */\nexport function prepareCGDAIncentivePayload({\n asset,\n initialReward,\n rewardDecay,\n rewardBoost,\n totalBudget,\n manager,\n}: CGDAIncentivePayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'asset' },\n { type: 'uint256', name: 'initialReward' },\n { type: 'uint256', name: 'rewardDecay' },\n { type: 'uint256', name: 'rewardBoost' },\n { type: 'uint256', name: 'totalBudget' },\n { type: 'address', name: 'manager' },\n ],\n [asset, initialReward, rewardDecay, rewardBoost, totalBudget, manager],\n );\n}\n"],"names":["_CGDAIncentive","DeployableTarget","cgdaIncentiveAbi","params","readCgdaIncentiveOwner","readCgdaIncentiveClaims","readCgdaIncentiveReward","address","readCgdaIncentiveClaimed","readCgdaIncentiveAsset","rewardDecay","rewardBoost","lastClaimTime","currentReward","readCgdaIncentiveCgdaParams","readCgdaIncentiveTotalBudget","payload","request","result","simulateCgdaIncentiveClaim","prepareClaimPayload","writeCgdaIncentiveClaim","simulateCgdaIncentiveClawback","writeCgdaIncentiveClawback","readCgdaIncentiveIsClaimable","currentBalance","getErc20Balance","readCgdaIncentiveCurrentReward","_a","_payload","_options","options","bytecode","prepareCGDAIncentivePayload","amount","encodeAbiParameters","netAmount","zeroHash","_b","_c","_d","CGDAIncentiveBases","RegistryType","CGDAIncentive","asset","initialReward","totalBudget","manager"],"mappings":"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"}
1
+ {"version":3,"file":"CGDAIncentive.js","sources":["../../src/Incentives/CGDAIncentive.ts"],"sourcesContent":["import {\n cgdaIncentiveAbi,\n readCgdaIncentiveAsset,\n readCgdaIncentiveCgdaParams,\n readCgdaIncentiveClaimed,\n readCgdaIncentiveClaims,\n readCgdaIncentiveCurrentReward,\n readCgdaIncentiveIsClaimable,\n readCgdaIncentiveOwner,\n readCgdaIncentiveReward,\n readCgdaIncentiveTotalBudget,\n simulateCgdaIncentiveClaim,\n simulateCgdaIncentiveClawback,\n writeCgdaIncentiveClaim,\n writeCgdaIncentiveClawback,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/incentives/CGDAIncentive.sol/CGDAIncentive.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n zeroHash,\n} from 'viem';\nimport { CGDAIncentive as CGDAIncentiveBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport { type ClaimPayload, prepareClaimPayload } from '../claiming';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n getErc20Balance,\n} from '../utils';\n\nexport { cgdaIncentiveAbi };\n\n/**\n * The object representation of a `CGDAIncentive.InitPayload`\n *\n * @export\n * @interface CGDAIncentivePayload\n * @typedef {CGDAIncentivePayload}\n */\nexport interface CGDAIncentivePayload {\n /**\n * The address of the ERC20-like token\n *\n * @type {Address}\n */\n asset: Address;\n /**\n * The initial reward amount\n *\n * @type {bigint}\n */\n initialReward: bigint;\n /**\n * The amount to subtract from the current reward after each claim\n *\n * @type {bigint}\n */\n rewardDecay: bigint;\n /**\n * The amount by which the reward increases for each hour without a claim (continuous linear increase)\n *\n * @type {bigint}\n */\n rewardBoost: bigint;\n /**\n * The total budget for the incentive\n *\n * @type {bigint}\n */\n totalBudget: bigint;\n /**\n * The entity that can `clawback` funds\n *\n * @type {Address}\n */\n manager: Address;\n}\n\n/**\n * The configuration parameters for the CGDAIncentive\n *\n * @export\n * @interface CGDAParameters\n * @typedef {CGDAParameters}\n */\nexport interface CGDAParameters {\n /**\n * The amount to subtract from the current reward after each claim\n *\n * @type {bigint}\n */\n rewardDecay: bigint;\n /**\n * The amount by which the reward increases for each hour without a claim (continuous linear increase)\n *\n * @type {bigint}\n */\n rewardBoost: bigint;\n /**\n * The timestamp of the last claim\n *\n * @type {bigint}\n */\n lastClaimTime: bigint;\n /**\n * The current reward amount\n *\n * @type {bigint}\n */\n currentReward: bigint;\n}\n\n/**\n * A generic `viem.Log` event with support for `CGDAIncentive` event types.\n *\n * @export\n * @typedef {CGDAIncentiveLog}\n * @template {ContractEventName<typeof cgdaIncentiveAbi>} [event=ContractEventName<\n * typeof cgdaIncentiveAbi\n * >]\n */\nexport type CGDAIncentiveLog<\n event extends ContractEventName<typeof cgdaIncentiveAbi> = ContractEventName<\n typeof cgdaIncentiveAbi\n >,\n> = GenericLog<typeof cgdaIncentiveAbi, event>;\n\n/**\n * Continuous Gradual Dutch Auction Incentive.\n * An CGDA incentive implementation with reward amounts adjusting dynamically based on claim volume.\n *\n * @export\n * @class CGDAIncentive\n * @typedef {CGDAIncentive}\n * @extends {DeployableTarget<CGDAIncentivePayload>}\n */\nexport class CGDAIncentive extends DeployableTarget<\n CGDAIncentivePayload,\n typeof cgdaIncentiveAbi\n> {\n public override readonly abi = cgdaIncentiveAbi;\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_CGDA_INCENTIVE_BASE\n ? { 31337: import.meta.env.VITE_CGDA_INCENTIVE_BASE }\n : {}),\n ...(CGDAIncentiveBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.INCENTIVE;\n\n /**\n * The incentive's owner.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async owner(params?: ReadParams) {\n return await readCgdaIncentiveOwner(this._config, {\n address: this.assertValidAddress(),\n args: [],\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 * The number of claims that have been made\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async claims(params?: ReadParams) {\n return await readCgdaIncentiveClaims(this._config, {\n address: this.assertValidAddress(),\n args: [],\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 * The reward amount issued for each claim\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async reward(params?: ReadParams) {\n return await readCgdaIncentiveReward(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get the claim status for a user\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>}\n */\n public async claimed(address: Address, params?: ReadParams) {\n return await readCgdaIncentiveClaimed(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 * The CGDA-like token used for the incentive\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async asset(params?: ReadParams) {\n return await readCgdaIncentiveAsset(this._config, {\n address: this.assertValidAddress(),\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 * The configuration parameters for the CGDAIncentive\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<CGDAParameters>}\n */\n public async cgdaParams(params?: ReadParams): Promise<CGDAParameters> {\n const [rewardDecay, rewardBoost, lastClaimTime, currentReward] =\n await readCgdaIncentiveCgdaParams(this._config, {\n address: this.assertValidAddress(),\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 return {\n rewardDecay,\n rewardBoost,\n lastClaimTime,\n currentReward,\n };\n }\n\n /**\n * The total budget of the incentive\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async totalBudget(params?: ReadParams) {\n return await readCgdaIncentiveTotalBudget(this._config, {\n address: this.assertValidAddress(),\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 * Claim the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - Returns true if successfully claimed\n */\n protected async claim(payload: ClaimPayload, params?: WriteParams) {\n return await this.awaitResult(this.claimRaw(payload, params));\n }\n\n /**\n * Claim the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - Returns true if successfully claimed\n */\n protected async claimRaw(payload: ClaimPayload, params?: WriteParams) {\n const { request, result } = await simulateCgdaIncentiveClaim(this._config, {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n const hash = await writeCgdaIncentiveClaim(this._config, request);\n return { hash, result };\n }\n\n /**\n * Clawback assets from the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the assets were successfully clawbacked\n */\n public async clawback(payload: ClaimPayload, params?: WriteParams) {\n return await this.awaitResult(this.clawbackRaw(payload, params));\n }\n\n /**\n * Clawback assets from the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the assets were successfully clawbacked\n */\n public async clawbackRaw(payload: ClaimPayload, params?: WriteParams) {\n const { request, result } = await simulateCgdaIncentiveClawback(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeCgdaIncentiveClawback(this._config, request);\n return { hash, result };\n }\n\n /**\n * Check if an incentive is claimable\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the incentive is claimable based on the data payload\n */\n public async isClaimable(payload: ClaimPayload, params?: ReadParams) {\n return await readCgdaIncentiveIsClaimable(this._config, {\n address: this.assertValidAddress(),\n args: [payload.target, payload.data],\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 * Check if any claims remain by comparing the incentive's balance against the current reward. Does not take requesting user's elligibility into account.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if asset balance minus current reward is greater than 0\n */\n public async canBeClaimed(params?: ReadParams) {\n return (await this.getRemainingClaimPotential(params)) > 0n;\n }\n\n /**\n * Check how many claims remain by comparing the incentive's balance against the current reward. Does not take requesting user's elligibility into account.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - Asset balance minus current reward\n */\n public async getRemainingClaimPotential(params?: ReadParams) {\n const [currentReward, currentBalance] = await Promise.all([\n this.currentReward(params),\n getErc20Balance(\n this._config,\n await this.asset(),\n this.assertValidAddress(),\n params,\n ),\n ]);\n return currentBalance - currentReward;\n }\n\n /**\n * Calculates the current reward based on the time since the last claim.\n * The reward is calculated based on the time since the last claim, the available budget, and the reward parameters. It increases linearly over time in the absence of claims, with each hour adding `rewardBoost` to the current reward, up to the available budget.\n * For example, if there is one claim in the first hour, then no claims for three hours, the claimable reward would be `initialReward - rewardDecay + (rewardBoost * 3)`\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - The current reward\n */\n public async currentReward(params?: ReadParams) {\n return await readCgdaIncentiveCurrentReward(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get the maximum amount that can be claimed by this incentive. Useful when used in conjunction with `BoostCore.calculateProtocolFee`\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} = Return a bigint representing that maximum amount that can be distributed by this incentive.\n */\n public async getTotalBudget(params?: ReadParams) {\n if (this.payload?.totalBudget !== undefined) {\n return this.payload.totalBudget;\n }\n return await this.totalBudget(params);\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?CGDAIncentivePayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: CGDAIncentivePayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: cgdaIncentiveAbi,\n bytecode: bytecode as Hex,\n args: [prepareCGDAIncentivePayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n\n /**\n * Encodes an amount to clawback from the incentive\n *\n * @public\n * @param {bigint} amount - How much of the asset to clawback\n * @returns {Hex} - Returns an encoded uint256\n */\n public buildClawbackData(amount: bigint) {\n return encodeAbiParameters([{ type: 'uint256' }], [amount]);\n }\n\n /**\n * Generates a top-up payload for the CGDAIncentive contract.\n *\n * In this approach, we treat a \"top-up\" as incrementing the existing `totalBudget`\n * in the incentive by `netAmount`. The entire payload is re-encoded with the updated budget.\n *\n * @public\n * @param {bigint} netAmount The additional tokens to add to `totalBudget`.\n * @returns {Hex} The ABI-encoded, updated CGDAIncentive payload.\n */\n public async getTopupPayload(netAmount: bigint): Promise<Hex> {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'asset' },\n { type: 'uint256', name: 'initialReward' },\n { type: 'uint256', name: 'rewardDecay' },\n { type: 'uint256', name: 'rewardBoost' },\n { type: 'uint256', name: 'totalBudget' },\n { type: 'address', name: 'manager' },\n ],\n [\n (await this.asset()) ?? zeroHash,\n this.payload?.initialReward ?? 0n,\n this.payload?.rewardDecay ?? 0n,\n this.payload?.rewardBoost ?? 0n,\n netAmount,\n this.payload?.manager ?? zeroHash,\n ],\n );\n }\n\n /**\n * Builds the claim data for the CGDAIncentive.\n *\n * @public\n * @returns {Hash} A `zeroHash`, as CGDAIncentive doesn't require specific claim data.\n * @description This function returns `zeroHash` because CGDAIncentive doesn't use any specific claim data.\n */\n public buildClaimData() {\n return zeroHash;\n }\n}\n\n/**\n * Given a {@link CGDAIncentivePayload}, properly encode a `CGDAIncentive.InitPayload` for use with {@link CGDAIncentive} initialization.\n *\n * @param {CGDAIncentivePayload} param0\n * @param {Address} param0.asset - The address of the ERC20-like token\n * @param {bigint} param0.initialReward - The initial reward amount\n * @param {bigint} param0.rewardDecay - The amount to subtract from the current reward after each claim\n * @param {bigint} param0.rewardBoost - The amount by which the reward increases for each hour without a claim (continuous linear increase)\n * @param {bigint} param0.totalBudget - The total budget for the incentive\n * @returns {Hex}\n */\nexport function prepareCGDAIncentivePayload({\n asset,\n initialReward,\n rewardDecay,\n rewardBoost,\n totalBudget,\n manager,\n}: CGDAIncentivePayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'asset' },\n { type: 'uint256', name: 'initialReward' },\n { type: 'uint256', name: 'rewardDecay' },\n { type: 'uint256', name: 'rewardBoost' },\n { type: 'uint256', name: 'totalBudget' },\n { type: 'address', name: 'manager' },\n ],\n [asset, initialReward, rewardDecay, rewardBoost, totalBudget, manager],\n );\n}\n"],"names":["_CGDAIncentive","DeployableTarget","cgdaIncentiveAbi","params","readCgdaIncentiveOwner","readCgdaIncentiveClaims","readCgdaIncentiveReward","address","readCgdaIncentiveClaimed","readCgdaIncentiveAsset","rewardDecay","rewardBoost","lastClaimTime","currentReward","readCgdaIncentiveCgdaParams","readCgdaIncentiveTotalBudget","payload","request","result","simulateCgdaIncentiveClaim","prepareClaimPayload","writeCgdaIncentiveClaim","simulateCgdaIncentiveClawback","writeCgdaIncentiveClawback","readCgdaIncentiveIsClaimable","currentBalance","getErc20Balance","readCgdaIncentiveCurrentReward","_a","_payload","_options","options","bytecode","prepareCGDAIncentivePayload","amount","encodeAbiParameters","netAmount","zeroHash","_b","_c","_d","__vite_import_meta_env__","CGDAIncentiveBases","RegistryType","CGDAIncentive","asset","initialReward","totalBudget","manager"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ERC1155Incentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/ERC1155Incentive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ERC1155Incentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/ERC1155Incentive.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../generated-C_JEoLDO.cjs"),t=require("viem"),y=require("../deployments-Dk-Z1L2X.cjs"),u=require("../Deployable/DeployableTarget.cjs"),c=require("../claiming.cjs"),g=require("../utils.cjs"),w="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b612149806100895f395ff3fe608060405260043610610243575f3560e01c806354d1f13d11610131578063c884ef83116100ac578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b14610677578063fe9fbb801461068a578063fee81cf4146106a9575f80fd5b8063ec87621c14610650578063f04e283e14610664575f80fd5b8063c884ef83146105cf578063db09da12146105fd578063dcc213611461061c578063dcc59b6f1461063b575f80fd5b8063a4d66daf11610101578063b30906d4116100e7578063b30906d414610572578063bb1757cf14610591578063be4994f8146105b0575f80fd5b8063a4d66daf14610537578063a8c62e761461054c575f80fd5b806354d1f13d146104fb578063715018a61461050357806375b238fc1461050b5780638da5cb5b1461051f575f80fd5b80632de94807116101c1578063439fab91116101915780634a4ee7b1116101775780634a4ee7b1146104875780634e7165a21461049a578063514e62fc146104c6575f80fd5b8063439fab911461041f578063474f5a441461043e575f80fd5b80632de948071461035f57806330db555f1461039057806338d52e0f146103af5780634359d28a14610400575f80fd5b80631cd64df411610216578063228cb733116101fc578063228cb73314610309578063256929621461031d57806328d6183b14610325575f80fd5b80631cd64df4146102c05780632275aea9146102f5575f80fd5b806301ffc9a71461024757806307621eca1461027b578063183a4f6e146102985780631c10893f146102ad575b5f80fd5b348015610252575f80fd5b506102666102613660046119ee565b6106da565b60405190151581526020015b60405180910390f35b348015610286575f80fd5b505f545b604051908152602001610272565b6102ab6102a6366004611a2d565b610735565b005b6102ab6102bb366004611a6c565b610742565b3480156102cb575f80fd5b506102666102da366004611a6c565b638b78c6d8600c9081525f9290925260209091205481161490565b348015610300575f80fd5b506102ab610758565b348015610314575f80fd5b5061028a5f5481565b6102ab6108d7565b348015610330575f80fd5b506040517f7cc1d5bb000000000000000000000000000000000000000000000000000000008152602001610272565b34801561036a575f80fd5b5061028a610379366004611a94565b638b78c6d8600c9081525f91909152602090205490565b34801561039b575f80fd5b506102ab6103aa366004611a2d565b610924565b3480156103ba575f80fd5b506004546103db9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610272565b34801561040b575f80fd5b506102ab61041a366004611af5565b610a83565b34801561042a575f80fd5b506102ab610439366004611b9f565b610b7d565b348015610449575f80fd5b5061045d610458366004611b9f565b610e4a565b6040805192835273ffffffffffffffffffffffffffffffffffffffff909116602083015201610272565b6102ab610495366004611a6c565b61104d565b3480156104a5575f80fd5b506104b96104b4366004611b9f565b61105f565b6040516102729190611c0c565b3480156104d1575f80fd5b506102666104e0366004611a6c565b638b78c6d8600c9081525f9290925260209091205416151590565b6102ab61112f565b6102ab611168565b348015610516575f80fd5b5061028a600281565b34801561052a575f80fd5b50638b78c6d819546103db565b348015610542575f80fd5b5061028a60065481565b348015610557575f80fd5b506002546105659060ff1681565b6040516102729190611c5f565b34801561057d575f80fd5b506103db61058c366004611a2d565b61117b565b34801561059c575f80fd5b506102666105ab366004611c6d565b6111b0565b3480156105bb575f80fd5b506102ab6105ca366004611af5565b611421565b3480156105da575f80fd5b506102666105e9366004611a94565b60016020525f908152604090205460ff1681565b348015610608575f80fd5b50610266610617366004611c6d565b6114bf565b348015610627575f80fd5b506102ab610636366004611af5565b6114d1565b348015610646575f80fd5b5061028a60055481565b34801561065b575f80fd5b5061028a600181565b6102ab610672366004611a94565b61156f565b6102ab610685366004611a94565b6115a9565b348015610695575f80fd5b506102666106a4366004611a94565b6115cf565b3480156106b4575f80fd5b5061028a6106c3366004611a94565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7cc1d5bb00000000000000000000000000000000000000000000000000000000148061072f575061072f8261162e565b92915050565b61073f3382611683565b50565b61074a61168e565b61075482826116a8565b5050565b6001610763816116b4565b600160025460ff16600181111561077c5761077c611c1e565b146107b3576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051806020016040528042446107cb9190611ce9565b905260038054602083208084529293505f926107e79190611d29565b815481106107f7576107f7611d3c565b5f918252602082200154905460045473ffffffffffffffffffffffffffffffffffffffff928316935061082d92169083906116d8565b6004545f546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b811660208301529284901b9092166034830152604882015273ffffffffffffffffffffffffffffffffffffffff8216907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f19818403018152908290526108ca91611c0c565b60405180910390a2505050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b600161092f8161172b565b815f03610968576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045461098d9073ffffffffffffffffffffffffffffffffffffffff1633308561175c565b600160025460ff1660018111156109a6576109a6611c1e565b036109dd576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546109e99083611d29565b15610a20576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8054610a2d9084611d69565b90508060065f828254610a409190611ce9565b909155505060408051338152602081018590527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a1505050565b6002610a8e8161172b565b838214610ac7576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b75575f848483818110610ae457610ae4611d3c565b9050602002016020810190610af99190611d7c565b9050801515600103610b3b57610b36878784818110610b1a57610b1a611d3c565b9050602002016020810190610b2f9190611a94565b60016116a8565b610b6c565b610b6c878784818110610b5057610b50611d3c565b9050602002016020810190610b659190611a94565b6001611683565b50600101610ac9565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bce5760018160011c14303b10610bc55763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610bdc83850185611e22565b905080604001515f1480610bf257506060810151155b15610c29576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600182602001516001811115610c4257610c42611c1e565b03610c51578160400151610c65565b81606001518260400151610c659190611ea7565b82519091505f90610c8c9073ffffffffffffffffffffffffffffffffffffffff16306117be565b905081811015610cf65782516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260248101829052604481018390526064015b60405180910390fd5b8251600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556020830151600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115610d7a57610d7a611c1e565b021790555060408301515f556060830151600655610d97336117f1565b610da683608001516001611839565b825f015173ffffffffffffffffffffffffffffffffffffffff167fe83379cf1b79044fa1d0063e68012349f4f5fb730e6a875bdc9d463747ecd0858460200151856040015186606001518760800151604051610e059493929190611ebe565b60405180910390a25050508015610e45576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610e578161172b565b5f610e6485870187611efd565b90505f8160200151806020019051810190610e7f9190611fd4565b9050600160025460ff166001811115610e9a57610e9a611c1e565b03610f11575f5481141580610eb057505f600554115b15610f08573382604051602001610ec79190611feb565b60408051601f19818403018152908290527f4139d81d000000000000000000000000000000000000000000000000000000008252610ced9291600401612025565b5f600655610f56565b5f54610f1d9082611d29565b15610f34573382604051602001610ec79190611feb565b5f54610f409082611d69565b60065f828254610f509190612053565b90915550505b8151600454610f7e9173ffffffffffffffffffffffffffffffffffffffff90911690836116d8565b81516004546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f198184030181529082905261101e91611c0c565b60405180910390a260045490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b61105561168e565b6107548282611683565b60605f61106e83850185611e22565b90505f60018260200151600181111561108957611089611c1e565b036110985781604001516110ac565b816060015182604001516110ac9190611ea7565b6040805160808101825260018152845173ffffffffffffffffffffffffffffffffffffffff16602080830191909152308284015282518082018452849052825180820185905283518082038301815290840184526060830152915192935061111692909101612066565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b61117061168e565b6111795f61187a565b565b6003818154811061118a575f80fd5b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b5f6111b961168e565b6111c2846118c4565b6111f8576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60025460ff16600181111561121057611210611c1e565b036113375760058054905f611224836120dc565b909155505073ffffffffffffffffffffffffffffffffffffffff8085165f908152600160208190526040822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790555460045461128a92169086906116d8565b6004545f546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b811660208301529287901b9092166034830152604882015273ffffffffffffffffffffffffffffffffffffffff8516907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f198184030181529082905261132791611c0c565b60405180910390a250600161141a565b60058054905f611346836120dc565b909155505073ffffffffffffffffffffffffffffffffffffffff84165f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560038054928301815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517ff0abe0f5c6f02112a9a4332e7b091bf49040ffddeedb73785a9b9a0a3ca7f1539190a25060015b9392505050565b600261142c8161172b565b838214611465576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b75576114b786868381811061148457611484611d3c565b90506020020160208101906114999190611a94565b8585848181106114ab576114ab611d3c565b905060200201356116a8565b600101611467565b5f6114c9846118c4565b949350505050565b60026114dc8161172b565b838214611515576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b755761156786868381811061153457611534611d3c565b90506020020160208101906115499190611a94565b85858481811061155b5761155b611d3c565b90506020020135611683565b600101611517565b61157761168e565b63389a75e1600c52805f526020600c20805442111561159d57636f5e88185f526004601cfd5b5f905561073f8161187a565b6115b161168e565b8060601b6115c657637448fbae5f526004601cfd5b61073f8161187a565b5f8173ffffffffffffffffffffffffffffffffffffffff166115f4638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff16148061072f5750638b78c6d8600c9081525f8390526020902054600316151561072f565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa921670500000000000000000000000000000000000000000000000000000000148061072f575061072f82611901565b61075482825f611997565b638b78c6d819543314611179576382b429005f526004601cfd5b61075482826001611997565b638b78c6d8600c52335f52806020600c20541661073f576382b429005f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661172157803d853b151710611721576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d81954331461073f57638b78c6d8600c52335f52806020600c20541661073f576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166117b057803d873b1517106117b057637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526001602052604081205460ff1615801561072f57506006546005541092915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061072f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461072f565b638b78c6d8600c52825f526020600c208054838117836119b8575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f602082840312156119fe575f80fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461141a575f80fd5b5f60208284031215611a3d575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611a67575f80fd5b919050565b5f8060408385031215611a7d575f80fd5b611a8683611a44565b946020939093013593505050565b5f60208284031215611aa4575f80fd5b61141a82611a44565b5f8083601f840112611abd575f80fd5b50813567ffffffffffffffff811115611ad4575f80fd5b6020830191508360208260051b8501011115611aee575f80fd5b9250929050565b5f805f8060408587031215611b08575f80fd5b843567ffffffffffffffff811115611b1e575f80fd5b611b2a87828801611aad565b909550935050602085013567ffffffffffffffff811115611b49575f80fd5b611b5587828801611aad565b95989497509550505050565b5f8083601f840112611b71575f80fd5b50813567ffffffffffffffff811115611b88575f80fd5b602083019150836020828501011115611aee575f80fd5b5f8060208385031215611bb0575f80fd5b823567ffffffffffffffff811115611bc6575f80fd5b611bd285828601611b61565b90969095509350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61141a6020830184611bde565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110611c5b57611c5b611c1e565b9052565b6020810161072f8284611c4b565b5f805f60408486031215611c7f575f80fd5b611c8884611a44565b9250602084013567ffffffffffffffff811115611ca3575f80fd5b611caf86828701611b61565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561072f5761072f611cbc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82611d3757611d37611cfc565b500690565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82611d7757611d77611cfc565b500490565b5f60208284031215611d8c575f80fd5b8135801515811461141a575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040805190810167ffffffffffffffff81118282101715611deb57611deb611d9b565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e1a57611e1a611d9b565b604052919050565b5f60a0828403128015611e33575f80fd5b5060405160a0810167ffffffffffffffff81118282101715611e5757611e57611d9b565b604052611e6383611a44565b8152602083013560028110611e76575f80fd5b60208201526040838101359082015260608084013590820152611e9b60808401611a44565b60808201529392505050565b808202811582820484141761072f5761072f611cbc565b60808101611ecc8287611c4b565b84602083015283604083015273ffffffffffffffffffffffffffffffffffffffff8316606083015295945050505050565b5f60208284031215611f0d575f80fd5b813567ffffffffffffffff811115611f23575f80fd5b820160408185031215611f34575f80fd5b611f3c611dc8565b611f4582611a44565b8152602082013567ffffffffffffffff811115611f60575f80fd5b80830192505084601f830112611f74575f80fd5b813567ffffffffffffffff811115611f8e57611f8e611d9b565b611fa16020601f19601f84011601611df1565b818152866020838601011115611fb5575f80fd5b816020850160208301375f602092820183015290820152949350505050565b5f60208284031215611fe4575f80fd5b5051919050565b6020815273ffffffffffffffffffffffffffffffffffffffff82511660208201525f60208301516040808401526114c96060840182611bde565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f6114c96040830184611bde565b8181038181111561072f5761072f611cbc565b602081525f82516003811061207d5761207d611c1e565b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff604084015116606083015260608301516080808401526114c960a0840182611bde565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361210c5761210c611cbc565b506001019056fea26469706673582212209def68a22e935c7af91e946bb2187abd14944a4cd3b455abbdb234120eea61b564736f6c634300081a0033",i=class i extends u.DeployableTarget{constructor(){super(...arguments),this.abi=a.T}async owner(f){return await a.AM(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return await a.mM(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return await a.cM(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,b){return await a.dM(this._config,{address:this.assertValidAddress(),args:[f],...b})}async asset(f){return await a.yM(this._config,{address:this.assertValidAddress(),...f})}strategy(f){return a.CM(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return await a.MM(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return await a.IM(this._config,{address:this.assertValidAddress(),...f})}async entries(f,b){return await a.bM(this._config,{address:this.assertValidAddress(),args:[f],...b})}async claim(f,b){return await this.awaitResult(this.claimRaw(f,b))}async claimRaw(f,b){const{request:e,result:d}=await a.$M(this._config,{address:this.assertValidAddress(),args:[c.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a.zM(this._config,e),result:d}}async clawback(f,b){return await this.awaitResult(this.clawbackRaw(f,b))}async clawbackRaw(f,b){const{request:e,result:d}=await a.QM(this._config,{address:this.assertValidAddress(),args:[c.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a.BM(this._config,e),result:d}}async isClaimable(f,b){return await a.gM(this._config,{address:this.assertValidAddress(),args:[f.target,f.data],...b})}async drawRaffle(f){return await this.awaitResult(this.drawRaffleRaw(f))}async drawRaffleRaw(f){const{request:b,result:e}=await a.KM(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...f});return{hash:await a.xM(this._config,b),result:e}}async getTotalBudget(f){var s,l,o;if(((s=this.payload)==null?void 0:s.strategy)!==void 0&&((l=this.payload)==null?void 0:l.limit)!==void 0&&((o=this.payload)==null?void 0:o.reward)!==void 0)return this.payload.strategy===c.StrategyType.POOL?this.payload.limit*this.payload.reward:this.payload.reward;const[b,e,d]=await Promise.all([this.strategy(f),this.limit(f),this.reward(f)]);return b===c.StrategyType.POOL?e*d:d}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[b,e]=await Promise.all([this.claims(f),this.limit(f)]);return e-b}buildParameters(f,b){const[e,d]=this.validateDeploymentConfig(f,b);return{abi:a.T,bytecode:w,args:[n(e)],...this.optionallyAttachAccount(d.account)}}buildClawbackData(f){return t.encodeAbiParameters([{type:"uint256"}],[f])}async getTopupPayload(f){var d;const e={asset:await this.asset()||t.zeroAddress,strategy:c.StrategyType.POOL,reward:1n,limit:f,manager:((d=this.payload)==null?void 0:d.manager)||t.zeroAddress};return n(e)}buildClaimData(){return t.zeroHash}};i.bases={31337:void 0,...y.ERC20Incentive},i.registryType=g.RegistryType.INCENTIVE;let r=i;function n({asset:h,strategy:f,reward:b,limit:e,manager:d=t.zeroAddress}){return t.encodeAbiParameters([{type:"address",name:"asset"},{type:"uint8",name:"strategy"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"},{type:"address",name:"manager"}],[h,f,b,e===0n&&f===c.StrategyType.RAFFLE?1n:e,d])}exports.erc20IncentiveAbi=a.T;exports.ERC20Incentive=r;exports.prepareERC20IncentivePayload=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../generated-BOBQ2ut4.cjs"),t=require("viem"),u=require("../deployments-CaacquP1.cjs"),g=require("../Deployable/DeployableTarget.cjs"),c=require("../claiming.cjs"),w=require("../utils.cjs"),p="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b612149806100895f395ff3fe608060405260043610610243575f3560e01c806354d1f13d11610131578063c884ef83116100ac578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b14610677578063fe9fbb801461068a578063fee81cf4146106a9575f80fd5b8063ec87621c14610650578063f04e283e14610664575f80fd5b8063c884ef83146105cf578063db09da12146105fd578063dcc213611461061c578063dcc59b6f1461063b575f80fd5b8063a4d66daf11610101578063b30906d4116100e7578063b30906d414610572578063bb1757cf14610591578063be4994f8146105b0575f80fd5b8063a4d66daf14610537578063a8c62e761461054c575f80fd5b806354d1f13d146104fb578063715018a61461050357806375b238fc1461050b5780638da5cb5b1461051f575f80fd5b80632de94807116101c1578063439fab91116101915780634a4ee7b1116101775780634a4ee7b1146104875780634e7165a21461049a578063514e62fc146104c6575f80fd5b8063439fab911461041f578063474f5a441461043e575f80fd5b80632de948071461035f57806330db555f1461039057806338d52e0f146103af5780634359d28a14610400575f80fd5b80631cd64df411610216578063228cb733116101fc578063228cb73314610309578063256929621461031d57806328d6183b14610325575f80fd5b80631cd64df4146102c05780632275aea9146102f5575f80fd5b806301ffc9a71461024757806307621eca1461027b578063183a4f6e146102985780631c10893f146102ad575b5f80fd5b348015610252575f80fd5b506102666102613660046119ee565b6106da565b60405190151581526020015b60405180910390f35b348015610286575f80fd5b505f545b604051908152602001610272565b6102ab6102a6366004611a2d565b610735565b005b6102ab6102bb366004611a6c565b610742565b3480156102cb575f80fd5b506102666102da366004611a6c565b638b78c6d8600c9081525f9290925260209091205481161490565b348015610300575f80fd5b506102ab610758565b348015610314575f80fd5b5061028a5f5481565b6102ab6108d7565b348015610330575f80fd5b506040517f7cc1d5bb000000000000000000000000000000000000000000000000000000008152602001610272565b34801561036a575f80fd5b5061028a610379366004611a94565b638b78c6d8600c9081525f91909152602090205490565b34801561039b575f80fd5b506102ab6103aa366004611a2d565b610924565b3480156103ba575f80fd5b506004546103db9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610272565b34801561040b575f80fd5b506102ab61041a366004611af5565b610a83565b34801561042a575f80fd5b506102ab610439366004611b9f565b610b7d565b348015610449575f80fd5b5061045d610458366004611b9f565b610e4a565b6040805192835273ffffffffffffffffffffffffffffffffffffffff909116602083015201610272565b6102ab610495366004611a6c565b61104d565b3480156104a5575f80fd5b506104b96104b4366004611b9f565b61105f565b6040516102729190611c0c565b3480156104d1575f80fd5b506102666104e0366004611a6c565b638b78c6d8600c9081525f9290925260209091205416151590565b6102ab61112f565b6102ab611168565b348015610516575f80fd5b5061028a600281565b34801561052a575f80fd5b50638b78c6d819546103db565b348015610542575f80fd5b5061028a60065481565b348015610557575f80fd5b506002546105659060ff1681565b6040516102729190611c5f565b34801561057d575f80fd5b506103db61058c366004611a2d565b61117b565b34801561059c575f80fd5b506102666105ab366004611c6d565b6111b0565b3480156105bb575f80fd5b506102ab6105ca366004611af5565b611421565b3480156105da575f80fd5b506102666105e9366004611a94565b60016020525f908152604090205460ff1681565b348015610608575f80fd5b50610266610617366004611c6d565b6114bf565b348015610627575f80fd5b506102ab610636366004611af5565b6114d1565b348015610646575f80fd5b5061028a60055481565b34801561065b575f80fd5b5061028a600181565b6102ab610672366004611a94565b61156f565b6102ab610685366004611a94565b6115a9565b348015610695575f80fd5b506102666106a4366004611a94565b6115cf565b3480156106b4575f80fd5b5061028a6106c3366004611a94565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7cc1d5bb00000000000000000000000000000000000000000000000000000000148061072f575061072f8261162e565b92915050565b61073f3382611683565b50565b61074a61168e565b61075482826116a8565b5050565b6001610763816116b4565b600160025460ff16600181111561077c5761077c611c1e565b146107b3576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051806020016040528042446107cb9190611ce9565b905260038054602083208084529293505f926107e79190611d29565b815481106107f7576107f7611d3c565b5f918252602082200154905460045473ffffffffffffffffffffffffffffffffffffffff928316935061082d92169083906116d8565b6004545f546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b811660208301529284901b9092166034830152604882015273ffffffffffffffffffffffffffffffffffffffff8216907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f19818403018152908290526108ca91611c0c565b60405180910390a2505050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b600161092f8161172b565b815f03610968576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045461098d9073ffffffffffffffffffffffffffffffffffffffff1633308561175c565b600160025460ff1660018111156109a6576109a6611c1e565b036109dd576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546109e99083611d29565b15610a20576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8054610a2d9084611d69565b90508060065f828254610a409190611ce9565b909155505060408051338152602081018590527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a1505050565b6002610a8e8161172b565b838214610ac7576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b75575f848483818110610ae457610ae4611d3c565b9050602002016020810190610af99190611d7c565b9050801515600103610b3b57610b36878784818110610b1a57610b1a611d3c565b9050602002016020810190610b2f9190611a94565b60016116a8565b610b6c565b610b6c878784818110610b5057610b50611d3c565b9050602002016020810190610b659190611a94565b6001611683565b50600101610ac9565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bce5760018160011c14303b10610bc55763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610bdc83850185611e22565b905080604001515f1480610bf257506060810151155b15610c29576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600182602001516001811115610c4257610c42611c1e565b03610c51578160400151610c65565b81606001518260400151610c659190611ea7565b82519091505f90610c8c9073ffffffffffffffffffffffffffffffffffffffff16306117be565b905081811015610cf65782516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260248101829052604481018390526064015b60405180910390fd5b8251600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556020830151600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115610d7a57610d7a611c1e565b021790555060408301515f556060830151600655610d97336117f1565b610da683608001516001611839565b825f015173ffffffffffffffffffffffffffffffffffffffff167fe83379cf1b79044fa1d0063e68012349f4f5fb730e6a875bdc9d463747ecd0858460200151856040015186606001518760800151604051610e059493929190611ebe565b60405180910390a25050508015610e45576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610e578161172b565b5f610e6485870187611efd565b90505f8160200151806020019051810190610e7f9190611fd4565b9050600160025460ff166001811115610e9a57610e9a611c1e565b03610f11575f5481141580610eb057505f600554115b15610f08573382604051602001610ec79190611feb565b60408051601f19818403018152908290527f4139d81d000000000000000000000000000000000000000000000000000000008252610ced9291600401612025565b5f600655610f56565b5f54610f1d9082611d29565b15610f34573382604051602001610ec79190611feb565b5f54610f409082611d69565b60065f828254610f509190612053565b90915550505b8151600454610f7e9173ffffffffffffffffffffffffffffffffffffffff90911690836116d8565b81516004546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f198184030181529082905261101e91611c0c565b60405180910390a260045490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b61105561168e565b6107548282611683565b60605f61106e83850185611e22565b90505f60018260200151600181111561108957611089611c1e565b036110985781604001516110ac565b816060015182604001516110ac9190611ea7565b6040805160808101825260018152845173ffffffffffffffffffffffffffffffffffffffff16602080830191909152308284015282518082018452849052825180820185905283518082038301815290840184526060830152915192935061111692909101612066565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b61117061168e565b6111795f61187a565b565b6003818154811061118a575f80fd5b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b5f6111b961168e565b6111c2846118c4565b6111f8576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60025460ff16600181111561121057611210611c1e565b036113375760058054905f611224836120dc565b909155505073ffffffffffffffffffffffffffffffffffffffff8085165f908152600160208190526040822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790555460045461128a92169086906116d8565b6004545f546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b811660208301529287901b9092166034830152604882015273ffffffffffffffffffffffffffffffffffffffff8516907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f198184030181529082905261132791611c0c565b60405180910390a250600161141a565b60058054905f611346836120dc565b909155505073ffffffffffffffffffffffffffffffffffffffff84165f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560038054928301815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517ff0abe0f5c6f02112a9a4332e7b091bf49040ffddeedb73785a9b9a0a3ca7f1539190a25060015b9392505050565b600261142c8161172b565b838214611465576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b75576114b786868381811061148457611484611d3c565b90506020020160208101906114999190611a94565b8585848181106114ab576114ab611d3c565b905060200201356116a8565b600101611467565b5f6114c9846118c4565b949350505050565b60026114dc8161172b565b838214611515576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b755761156786868381811061153457611534611d3c565b90506020020160208101906115499190611a94565b85858481811061155b5761155b611d3c565b90506020020135611683565b600101611517565b61157761168e565b63389a75e1600c52805f526020600c20805442111561159d57636f5e88185f526004601cfd5b5f905561073f8161187a565b6115b161168e565b8060601b6115c657637448fbae5f526004601cfd5b61073f8161187a565b5f8173ffffffffffffffffffffffffffffffffffffffff166115f4638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff16148061072f5750638b78c6d8600c9081525f8390526020902054600316151561072f565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa921670500000000000000000000000000000000000000000000000000000000148061072f575061072f82611901565b61075482825f611997565b638b78c6d819543314611179576382b429005f526004601cfd5b61075482826001611997565b638b78c6d8600c52335f52806020600c20541661073f576382b429005f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661172157803d853b151710611721576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d81954331461073f57638b78c6d8600c52335f52806020600c20541661073f576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166117b057803d873b1517106117b057637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526001602052604081205460ff1615801561072f57506006546005541092915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061072f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461072f565b638b78c6d8600c52825f526020600c208054838117836119b8575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f602082840312156119fe575f80fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461141a575f80fd5b5f60208284031215611a3d575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611a67575f80fd5b919050565b5f8060408385031215611a7d575f80fd5b611a8683611a44565b946020939093013593505050565b5f60208284031215611aa4575f80fd5b61141a82611a44565b5f8083601f840112611abd575f80fd5b50813567ffffffffffffffff811115611ad4575f80fd5b6020830191508360208260051b8501011115611aee575f80fd5b9250929050565b5f805f8060408587031215611b08575f80fd5b843567ffffffffffffffff811115611b1e575f80fd5b611b2a87828801611aad565b909550935050602085013567ffffffffffffffff811115611b49575f80fd5b611b5587828801611aad565b95989497509550505050565b5f8083601f840112611b71575f80fd5b50813567ffffffffffffffff811115611b88575f80fd5b602083019150836020828501011115611aee575f80fd5b5f8060208385031215611bb0575f80fd5b823567ffffffffffffffff811115611bc6575f80fd5b611bd285828601611b61565b90969095509350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61141a6020830184611bde565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110611c5b57611c5b611c1e565b9052565b6020810161072f8284611c4b565b5f805f60408486031215611c7f575f80fd5b611c8884611a44565b9250602084013567ffffffffffffffff811115611ca3575f80fd5b611caf86828701611b61565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561072f5761072f611cbc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82611d3757611d37611cfc565b500690565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82611d7757611d77611cfc565b500490565b5f60208284031215611d8c575f80fd5b8135801515811461141a575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040805190810167ffffffffffffffff81118282101715611deb57611deb611d9b565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e1a57611e1a611d9b565b604052919050565b5f60a0828403128015611e33575f80fd5b5060405160a0810167ffffffffffffffff81118282101715611e5757611e57611d9b565b604052611e6383611a44565b8152602083013560028110611e76575f80fd5b60208201526040838101359082015260608084013590820152611e9b60808401611a44565b60808201529392505050565b808202811582820484141761072f5761072f611cbc565b60808101611ecc8287611c4b565b84602083015283604083015273ffffffffffffffffffffffffffffffffffffffff8316606083015295945050505050565b5f60208284031215611f0d575f80fd5b813567ffffffffffffffff811115611f23575f80fd5b820160408185031215611f34575f80fd5b611f3c611dc8565b611f4582611a44565b8152602082013567ffffffffffffffff811115611f60575f80fd5b80830192505084601f830112611f74575f80fd5b813567ffffffffffffffff811115611f8e57611f8e611d9b565b611fa16020601f19601f84011601611df1565b818152866020838601011115611fb5575f80fd5b816020850160208301375f602092820183015290820152949350505050565b5f60208284031215611fe4575f80fd5b5051919050565b6020815273ffffffffffffffffffffffffffffffffffffffff82511660208201525f60208301516040808401526114c96060840182611bde565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f6114c96040830184611bde565b8181038181111561072f5761072f611cbc565b602081525f82516003811061207d5761207d611c1e565b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff604084015116606083015260608301516080808401526114c960a0840182611bde565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361210c5761210c611cbc565b506001019056fea26469706673582212209def68a22e935c7af91e946bb2187abd14944a4cd3b455abbdb234120eea61b564736f6c634300081a0033",r={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_BOOST_MAINNET_SIGNER_EOA:"0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480",VITE_BOOST_TESTNET_SIGNER_EOA:"0xd63167e9db11B108940b2E8236581F961f33f396"},i=class i extends g.DeployableTarget{constructor(){super(...arguments),this.abi=a.T}async owner(f){return await a.ZM(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return await a.kM(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return await a.SM(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,b){return await a.PM(this._config,{address:this.assertValidAddress(),args:[f],...b})}async asset(f){return await a.FM(this._config,{address:this.assertValidAddress(),...f})}strategy(f){return a.KM(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return await a.QM(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return await a.UM(this._config,{address:this.assertValidAddress(),...f})}async entries(f,b){return await a._M(this._config,{address:this.assertValidAddress(),args:[f],...b})}async claim(f,b){return await this.awaitResult(this.claimRaw(f,b))}async claimRaw(f,b){const{request:e,result:d}=await a.T6(this._config,{address:this.assertValidAddress(),args:[c.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a.t6(this._config,e),result:d}}async clawback(f,b){return await this.awaitResult(this.clawbackRaw(f,b))}async clawbackRaw(f,b){const{request:e,result:d}=await a.w6(this._config,{address:this.assertValidAddress(),args:[c.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a.n6(this._config,e),result:d}}async isClaimable(f,b){return await a.GM(this._config,{address:this.assertValidAddress(),args:[f.target,f.data],...b})}async drawRaffle(f){return await this.awaitResult(this.drawRaffleRaw(f))}async drawRaffleRaw(f){const{request:b,result:e}=await a.I6(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...f});return{hash:await a.i6(this._config,b),result:e}}async getTotalBudget(f){var s,o,h;if(((s=this.payload)==null?void 0:s.strategy)!==void 0&&((o=this.payload)==null?void 0:o.limit)!==void 0&&((h=this.payload)==null?void 0:h.reward)!==void 0)return this.payload.strategy===c.StrategyType.POOL?this.payload.limit*this.payload.reward:this.payload.reward;const[b,e,d]=await Promise.all([this.strategy(f),this.limit(f),this.reward(f)]);return b===c.StrategyType.POOL?e*d:d}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[b,e]=await Promise.all([this.claims(f),this.limit(f)]);return e-b}buildParameters(f,b){const[e,d]=this.validateDeploymentConfig(f,b);return{abi:a.T,bytecode:p,args:[l(e)],...this.optionallyAttachAccount(d.account)}}buildClawbackData(f){return t.encodeAbiParameters([{type:"uint256"}],[f])}async getTopupPayload(f){var d;const e={asset:await this.asset()||t.zeroAddress,strategy:c.StrategyType.POOL,reward:1n,limit:f,manager:((d=this.payload)==null?void 0:d.manager)||t.zeroAddress};return l(e)}buildClaimData(){return t.zeroHash}};i.bases={...r!=null&&r.VITE_ERC20_INCENTIVE_BASE?{31337:void 0}:{},...u.ERC20Incentive},i.registryType=w.RegistryType.INCENTIVE;let n=i;function l({asset:y,strategy:f,reward:b,limit:e,manager:d=t.zeroAddress}){return t.encodeAbiParameters([{type:"address",name:"asset"},{type:"uint8",name:"strategy"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"},{type:"address",name:"manager"}],[y,f,b,e===0n&&f===c.StrategyType.RAFFLE?1n:e,d])}exports.erc20IncentiveAbi=a.T;exports.ERC20Incentive=n;exports.prepareERC20IncentivePayload=l;
2
2
  //# sourceMappingURL=ERC20Incentive.cjs.map