@boostxyz/sdk 7.7.0 → 8.0.0-canary.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 (128) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +1 -1
  3. package/dist/Actions/EventAction.cjs +1 -1
  4. package/dist/Actions/EventAction.cjs.map +1 -1
  5. package/dist/Actions/EventAction.d.ts +25 -4
  6. package/dist/Actions/EventAction.d.ts.map +1 -1
  7. package/dist/Actions/EventAction.js +208 -184
  8. package/dist/Actions/EventAction.js.map +1 -1
  9. package/dist/{AllowList-DiU7g4Hs.js → AllowList-CWqAYlwr.js} +28 -28
  10. package/dist/{AllowList-DiU7g4Hs.js.map → AllowList-CWqAYlwr.js.map} +1 -1
  11. package/dist/{AllowList-BJ9HQGFs.cjs → AllowList-Lpqz7tn9.cjs} +2 -2
  12. package/dist/{AllowList-BJ9HQGFs.cjs.map → AllowList-Lpqz7tn9.cjs.map} +1 -1
  13. package/dist/AllowLists/AllowList.cjs +1 -1
  14. package/dist/AllowLists/AllowList.js +3 -3
  15. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  16. package/dist/AllowLists/SimpleAllowList.js +8 -8
  17. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  18. package/dist/AllowLists/SimpleDenyList.js +3 -3
  19. package/dist/Auth/PassthroughAuth.cjs +1 -1
  20. package/dist/Auth/PassthroughAuth.js +1 -1
  21. package/dist/BoostCore.cjs +2 -2
  22. package/dist/BoostCore.cjs.map +1 -1
  23. package/dist/BoostCore.d.ts +106 -23
  24. package/dist/BoostCore.d.ts.map +1 -1
  25. package/dist/BoostCore.js +518 -451
  26. package/dist/BoostCore.js.map +1 -1
  27. package/dist/BoostRegistry.cjs +1 -1
  28. package/dist/BoostRegistry.js +46 -46
  29. package/dist/{Budget-YIhV65cc.js → Budget-BPPXnBAK.js} +36 -36
  30. package/dist/{Budget-YIhV65cc.js.map → Budget-BPPXnBAK.js.map} +1 -1
  31. package/dist/{Budget-D_zhh1rh.cjs → Budget-rZm-AY09.cjs} +2 -2
  32. package/dist/{Budget-D_zhh1rh.cjs.map → Budget-rZm-AY09.cjs.map} +1 -1
  33. package/dist/Budgets/Budget.cjs +1 -1
  34. package/dist/Budgets/Budget.js +2 -2
  35. package/dist/Budgets/ManagedBudget.cjs +1 -1
  36. package/dist/Budgets/ManagedBudget.js +24 -24
  37. package/dist/Deployable/Contract.cjs +1 -1
  38. package/dist/Deployable/Contract.cjs.map +1 -1
  39. package/dist/Deployable/Contract.d.ts +8 -0
  40. package/dist/Deployable/Contract.d.ts.map +1 -1
  41. package/dist/Deployable/Contract.js +14 -4
  42. package/dist/Deployable/Contract.js.map +1 -1
  43. package/dist/Deployable/Deployable.cjs +1 -1
  44. package/dist/Deployable/Deployable.cjs.map +1 -1
  45. package/dist/Deployable/Deployable.d.ts +7 -0
  46. package/dist/Deployable/Deployable.d.ts.map +1 -1
  47. package/dist/Deployable/Deployable.js +13 -4
  48. package/dist/Deployable/Deployable.js.map +1 -1
  49. package/dist/Deployable/DeployableTarget.cjs +1 -1
  50. package/dist/Deployable/DeployableTarget.js +7 -7
  51. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  52. package/dist/Deployable/DeployableTargetWithRBAC.js +16 -16
  53. package/dist/{Incentive-CrnbYN_a.cjs → Incentive-Bse5BKbF.cjs} +2 -2
  54. package/dist/{Incentive-CrnbYN_a.cjs.map → Incentive-Bse5BKbF.cjs.map} +1 -1
  55. package/dist/{Incentive-CeoEla-t.js → Incentive-D1sYPD0W.js} +23 -23
  56. package/dist/{Incentive-CeoEla-t.js.map → Incentive-D1sYPD0W.js.map} +1 -1
  57. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  58. package/dist/Incentives/AllowListIncentive.js +17 -17
  59. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  60. package/dist/Incentives/CGDAIncentive.js +38 -38
  61. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  62. package/dist/Incentives/ERC20Incentive.js +13 -13
  63. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs +1 -1
  64. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs.map +1 -1
  65. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.d.ts +6 -6
  66. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js +22 -22
  67. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js.map +1 -1
  68. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +1 -1
  69. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs.map +1 -1
  70. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.d.ts +6 -6
  71. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +91 -91
  72. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js.map +1 -1
  73. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  74. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -1
  75. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +6 -6
  76. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +9 -9
  77. package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -1
  78. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +1 -1
  79. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs.map +1 -1
  80. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.d.ts +6 -6
  81. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +9 -9
  82. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js.map +1 -1
  83. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  84. package/dist/Incentives/ERC20VariableIncentive.js +12 -12
  85. package/dist/Incentives/Incentive.cjs +1 -1
  86. package/dist/Incentives/Incentive.js +2 -2
  87. package/dist/Incentives/PointsIncentive.cjs +1 -1
  88. package/dist/Incentives/PointsIncentive.js +10 -10
  89. package/dist/{SimpleDenyList-Dr03aOeP.js → SimpleDenyList-BtEUdiAj.js} +14 -14
  90. package/dist/{SimpleDenyList-Dr03aOeP.js.map → SimpleDenyList-BtEUdiAj.js.map} +1 -1
  91. package/dist/{SimpleDenyList-7-VTqfsH.cjs → SimpleDenyList-DEoMIYhE.cjs} +2 -2
  92. package/dist/{SimpleDenyList-7-VTqfsH.cjs.map → SimpleDenyList-DEoMIYhE.cjs.map} +1 -1
  93. package/dist/{Validator-rYW7PMwW.cjs → Validator-DHS4vjSa.cjs} +2 -2
  94. package/dist/{Validator-rYW7PMwW.cjs.map → Validator-DHS4vjSa.cjs.map} +1 -1
  95. package/dist/{Validator-DgvB9wge.js → Validator-Kpvmj9Bs.js} +9 -9
  96. package/dist/{Validator-DgvB9wge.js.map → Validator-Kpvmj9Bs.js.map} +1 -1
  97. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  98. package/dist/Validators/LimitedSignerValidator.js +17 -17
  99. package/dist/Validators/SignerValidator.cjs +1 -1
  100. package/dist/Validators/SignerValidator.js +3 -3
  101. package/dist/Validators/Validator.cjs +1 -1
  102. package/dist/Validators/Validator.js +2 -2
  103. package/dist/{deployments-CHQ30INq.js → deployments-Coa8CGi2.js} +67 -67
  104. package/dist/{deployments-CHQ30INq.js.map → deployments-Coa8CGi2.js.map} +1 -1
  105. package/dist/{deployments-BjBgk03b.cjs → deployments-Dgzcz4Ev.cjs} +2 -2
  106. package/dist/deployments-Dgzcz4Ev.cjs.map +1 -0
  107. package/dist/deployments.json +46 -46
  108. package/dist/generated-BzLYuFx3.cjs +3 -0
  109. package/dist/generated-BzLYuFx3.cjs.map +1 -0
  110. package/dist/{generated-B6mEIx8i.js → generated-D6oDILUw.js} +250 -193
  111. package/dist/generated-D6oDILUw.js.map +1 -0
  112. package/dist/index.cjs +1 -1
  113. package/dist/index.js +185 -182
  114. package/dist/utils.cjs.map +1 -1
  115. package/dist/utils.d.ts.map +1 -1
  116. package/dist/utils.js.map +1 -1
  117. package/package.json +1 -1
  118. package/src/Actions/EventAction.test.ts +161 -1
  119. package/src/Actions/EventAction.ts +52 -5
  120. package/src/BoostCore.test.ts +34 -23
  121. package/src/BoostCore.ts +124 -26
  122. package/src/Deployable/Contract.ts +11 -0
  123. package/src/Deployable/Deployable.ts +10 -0
  124. package/src/utils.ts +0 -1
  125. package/dist/deployments-BjBgk03b.cjs.map +0 -1
  126. package/dist/generated-B6mEIx8i.js.map +0 -1
  127. package/dist/generated-dd4FN0Fo.cjs +0 -3
  128. package/dist/generated-dd4FN0Fo.cjs.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../generated-dd4FN0Fo.cjs"),c=require("./DeployableTarget.cjs");var o=(n=>(n[n.MANAGER=1n]="MANAGER",n[n.ADMIN=2n]="ADMIN",n))(o||{});class l extends c.DeployableTarget{async setAuthorized(s,t,a){return await this.awaitResult(this.setAuthorizedRaw(s,t,a))}async setAuthorizedRaw(s,t,a){const{request:i,result:r}=await e.y8(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a});return{hash:await e.YU(this._config,i),result:r}}async grantRoles(s,t,a){return await this.awaitResult(this.grantRolesRaw(s,t,a))}async grantRolesRaw(s,t,a){const{request:i,result:r}=await e.s8(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a});return{hash:await e.jU(this._config,i),result:r}}async revokeRoles(s,t,a){return await this.awaitResult(this.revokeRolesRaw(s,t,a))}async revokeRolesRaw(s,t,a){const{request:i,result:r}=await e.l8(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a});return{hash:await e.XU(this._config,i),result:r}}async grantManyRoles(s,t,a){return await this.awaitResult(this.grantManyRolesRaw(s,t,a))}async grantManyRolesRaw(s,t,a){const{request:i,result:r}=await e.i8(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a});return{hash:await e.ZU(this._config,i),result:r}}async revokeManyRoles(s,t,a){return await this.awaitResult(this.revokeManyRolesRaw(s,t,a))}async revokeManyRolesRaw(s,t,a){const{request:i,result:r}=await e.u8(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a});return{hash:await e.KU(this._config,i),result:r}}async rolesOf(s,t){const a=await e.qU(this._config,{address:this.assertValidAddress(),args:[s],...this.optionallyAttachAccount(),...t});return[o.MANAGER,o.ADMIN].filter(i=>(a&i)===i)}hasAnyRole(s,t,a){return e.PU(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a})}hasAllRoles(s,t,a){return e.SU(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a})}isAuthorized(s,t){return e.kU(this._config,{address:this.assertValidAddress(),args:[s],...this.optionallyAttachAccount(),...t})}async transferOwnership(s,t){return await this.awaitResult(this.transferOwnershipRaw(s,t))}async transferOwnershipRaw(s,t){const{request:a,result:i}=await e.Wq(this._config,{address:this.assertValidAddress(),args:[s],...this.optionallyAttachAccount(),...t});return{hash:await e.xq(this._config,a),result:i}}async renounceOwnership(s){return await this.awaitResult(this.renounceOwnershipRaw(s))}async renounceOwnershipRaw(s){const{request:t,result:a}=await e.kq(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...s});return{hash:await e.Vq(this._config,t),result:a}}async requestOwnershipHandover(s){return await this.awaitResult(this.requestOwnershipHandoverRaw(s))}async requestOwnershipHandoverRaw(s){const{request:t,result:a}=await e.Dq(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...s});return{hash:await e.Bq(this._config,t),result:a}}async completeOwnershipHandover(s,t){return await this.awaitResult(this.completeOwnershipHandoverRaw(s,t))}async completeOwnershipHandoverRaw(s,t){const{request:a,result:i}=await e.Sq(this._config,{address:this.assertValidAddress(),args:[s],...this.optionallyAttachAccount(),...t});return{hash:await e.Cq(this._config,a),result:i}}async cancelOwnershipHandover(s){return await this.awaitResult(this.cancelOwnershipHandoverRaw(s))}async cancelOwnershipHandoverRaw(s){const{request:t,result:a}=await e.Lq(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...s});return{hash:await e.Oq(this._config,t),result:a}}ownershipHandoverExpiresAt(s,t){return e.Nq(this._config,{address:this.assertValidAddress(),args:[s],...this.optionallyAttachAccount(),...t})}async renounceRoles(s,t){return await this.awaitResult(this.renounceRolesRaw(s,t))}async renounceRolesRaw(s,t){const{request:a,result:i}=await e._q(this._config,{address:this.assertValidAddress(),args:[s],...this.optionallyAttachAccount(),...t});return{hash:await e.zq(this._config,a),result:i}}}exports.rbacAbi=e.D;exports.DeployableTargetWithRBAC=l;exports.Roles=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../generated-BzLYuFx3.cjs"),c=require("./DeployableTarget.cjs");var o=(n=>(n[n.MANAGER=1n]="MANAGER",n[n.ADMIN=2n]="ADMIN",n))(o||{});class l extends c.DeployableTarget{async setAuthorized(s,t,a){return await this.awaitResult(this.setAuthorizedRaw(s,t,a))}async setAuthorizedRaw(s,t,a){const{request:i,result:r}=await e.h3(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a});return{hash:await e.l3(this._config,i),result:r}}async grantRoles(s,t,a){return await this.awaitResult(this.grantRolesRaw(s,t,a))}async grantRolesRaw(s,t,a){const{request:i,result:r}=await e.f3(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a});return{hash:await e.i3(this._config,i),result:r}}async revokeRoles(s,t,a){return await this.awaitResult(this.revokeRolesRaw(s,t,a))}async revokeRolesRaw(s,t,a){const{request:i,result:r}=await e.A3(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a});return{hash:await e.u3(this._config,i),result:r}}async grantManyRoles(s,t,a){return await this.awaitResult(this.grantManyRolesRaw(s,t,a))}async grantManyRolesRaw(s,t,a){const{request:i,result:r}=await e.b3(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a});return{hash:await e.a3(this._config,i),result:r}}async revokeManyRoles(s,t,a){return await this.awaitResult(this.revokeManyRolesRaw(s,t,a))}async revokeManyRolesRaw(s,t,a){const{request:i,result:r}=await e.g3(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a});return{hash:await e.p3(this._config,i),result:r}}async rolesOf(s,t){const a=await e.YG(this._config,{address:this.assertValidAddress(),args:[s],...this.optionallyAttachAccount(),...t});return[o.MANAGER,o.ADMIN].filter(i=>(a&i)===i)}hasAnyRole(s,t,a){return e.QG(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a})}hasAllRoles(s,t,a){return e.$G(this._config,{address:this.assertValidAddress(),args:[s,t],...this.optionallyAttachAccount(),...a})}isAuthorized(s,t){return e.JG(this._config,{address:this.assertValidAddress(),args:[s],...this.optionallyAttachAccount(),...t})}async transferOwnership(s,t){return await this.awaitResult(this.transferOwnershipRaw(s,t))}async transferOwnershipRaw(s,t){const{request:a,result:i}=await e.eW(this._config,{address:this.assertValidAddress(),args:[s],...this.optionallyAttachAccount(),...t});return{hash:await e.Gq(this._config,a),result:i}}async renounceOwnership(s){return await this.awaitResult(this.renounceOwnershipRaw(s))}async renounceOwnershipRaw(s){const{request:t,result:a}=await e.Jq(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...s});return{hash:await e.Dq(this._config,t),result:a}}async requestOwnershipHandover(s){return await this.awaitResult(this.requestOwnershipHandoverRaw(s))}async requestOwnershipHandoverRaw(s){const{request:t,result:a}=await e.Xq(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...s});return{hash:await e.Wq(this._config,t),result:a}}async completeOwnershipHandover(s,t){return await this.awaitResult(this.completeOwnershipHandoverRaw(s,t))}async completeOwnershipHandoverRaw(s,t){const{request:a,result:i}=await e.$q(this._config,{address:this.assertValidAddress(),args:[s],...this.optionallyAttachAccount(),...t});return{hash:await e.kq(this._config,a),result:i}}async cancelOwnershipHandover(s){return await this.awaitResult(this.cancelOwnershipHandoverRaw(s))}async cancelOwnershipHandoverRaw(s){const{request:t,result:a}=await e.jq(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...s});return{hash:await e.Pq(this._config,t),result:a}}ownershipHandoverExpiresAt(s,t){return e.Fq(this._config,{address:this.assertValidAddress(),args:[s],...this.optionallyAttachAccount(),...t})}async renounceRoles(s,t){return await this.awaitResult(this.renounceRolesRaw(s,t))}async renounceRolesRaw(s,t){const{request:a,result:i}=await e.Kq(this._config,{address:this.assertValidAddress(),args:[s],...this.optionallyAttachAccount(),...t});return{hash:await e.qq(this._config,a),result:i}}}exports.rbacAbi=e.D;exports.DeployableTargetWithRBAC=l;exports.Roles=o;
2
2
  //# sourceMappingURL=DeployableTargetWithRBAC.cjs.map
@@ -1,8 +1,8 @@
1
- import { f as o, Y as c, s as l, h as d, l as u, X as w, i as A, Z as R, u as y, K as g, k as p, n as f, o as q, t as _, W as v, x as V, v as O, V as M, w as H, B as k, A as U, E as m, L as N, F as D, N as x, J as z, Q as E } from "../generated-B6mEIx8i.js";
2
- import { D as K } from "../generated-B6mEIx8i.js";
3
- import { DeployableTarget as b } from "./DeployableTarget.js";
1
+ import { h as o, l as c, e as l, i as d, g as u, k as w, n as A, o as R, s as g, t as y, Y as p, Q as f, $ as q, J as _, v, G as O, x as V, B as M, X as H, W as G, E as k, F as m, K as D, L as N, M as b, N as x, T as E } from "../generated-D6oDILUw.js";
2
+ import { D as B } from "../generated-D6oDILUw.js";
3
+ import { DeployableTarget as z } from "./DeployableTarget.js";
4
4
  var h = /* @__PURE__ */ ((r) => (r[r.MANAGER = 1n] = "MANAGER", r[r.ADMIN = 2n] = "ADMIN", r))(h || {});
5
- class I extends b {
5
+ class J extends z {
6
6
  /**
7
7
  * Set the authorized status of the given accounts
8
8
  * The mechanism for managing authorization is left to the implementing contract
@@ -211,7 +211,7 @@ class I extends b {
211
211
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
212
212
  */
213
213
  async revokeManyRolesRaw(s, t, a) {
214
- const { request: e, result: i } = await y(
214
+ const { request: e, result: i } = await g(
215
215
  this._config,
216
216
  {
217
217
  address: this.assertValidAddress(),
@@ -221,7 +221,7 @@ class I extends b {
221
221
  ...a
222
222
  }
223
223
  );
224
- return { hash: await g(
224
+ return { hash: await y(
225
225
  this._config,
226
226
  // biome-ignore lint/suspicious/noExplicitAny: negligible low level lack of type intersection
227
227
  e
@@ -343,7 +343,7 @@ class I extends b {
343
343
  ...t
344
344
  }
345
345
  );
346
- return { hash: await V(
346
+ return { hash: await O(
347
347
  this._config,
348
348
  a
349
349
  ), result: e };
@@ -368,7 +368,7 @@ class I extends b {
368
368
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
369
369
  */
370
370
  async renounceOwnershipRaw(s) {
371
- const { request: t, result: a } = await O(
371
+ const { request: t, result: a } = await V(
372
372
  this._config,
373
373
  {
374
374
  address: this.assertValidAddress(),
@@ -414,7 +414,7 @@ class I extends b {
414
414
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
415
415
  ...s
416
416
  });
417
- return { hash: await k(
417
+ return { hash: await G(
418
418
  this._config,
419
419
  t
420
420
  ), result: a };
@@ -449,7 +449,7 @@ class I extends b {
449
449
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
450
450
  */
451
451
  async completeOwnershipHandoverRaw(s, t) {
452
- const { request: a, result: e } = await U(this._config, {
452
+ const { request: a, result: e } = await k(this._config, {
453
453
  address: this.assertValidAddress(),
454
454
  args: [s],
455
455
  ...this.optionallyAttachAccount(),
@@ -483,13 +483,13 @@ class I extends b {
483
483
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
484
484
  */
485
485
  async cancelOwnershipHandoverRaw(s) {
486
- const { request: t, result: a } = await N(this._config, {
486
+ const { request: t, result: a } = await D(this._config, {
487
487
  address: this.assertValidAddress(),
488
488
  ...this.optionallyAttachAccount(),
489
489
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
490
490
  ...s
491
491
  });
492
- return { hash: await D(
492
+ return { hash: await N(
493
493
  this._config,
494
494
  t
495
495
  ), result: a };
@@ -504,7 +504,7 @@ class I extends b {
504
504
  * @returns {Promise<bigint>} - The timestamp when the handover request expires, or 0 if no request exists
505
505
  */
506
506
  ownershipHandoverExpiresAt(s, t) {
507
- return x(this._config, {
507
+ return b(this._config, {
508
508
  address: this.assertValidAddress(),
509
509
  args: [s],
510
510
  ...this.optionallyAttachAccount(),
@@ -536,7 +536,7 @@ class I extends b {
536
536
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
537
537
  */
538
538
  async renounceRolesRaw(s, t) {
539
- const { request: a, result: e } = await z(
539
+ const { request: a, result: e } = await x(
540
540
  this._config,
541
541
  {
542
542
  address: this.assertValidAddress(),
@@ -550,8 +550,8 @@ class I extends b {
550
550
  }
551
551
  }
552
552
  export {
553
- I as DeployableTargetWithRBAC,
553
+ J as DeployableTargetWithRBAC,
554
554
  h as Roles,
555
- K as rbacAbi
555
+ B as rbacAbi
556
556
  };
557
557
  //# sourceMappingURL=DeployableTargetWithRBAC.js.map
@@ -1,2 +1,2 @@
1
- "use strict";const b=require("./generated-dd4FN0Fo.cjs"),c=require("./componentInterfaces-BZ3fSNkT.cjs"),C=require("@wagmi/core"),h=require("./errors.cjs"),m=require("./Incentives/AllowListIncentive.cjs"),y=require("./Incentives/CGDAIncentive.cjs"),A=require("./Incentives/ERC20Incentive.cjs"),t=require("viem"),I=require("./deployments-BjBgk03b.cjs"),w=require("./Deployable/DeployableTarget.cjs"),u=require("./claiming.cjs"),p=require("./utils.cjs"),E=require("./Incentives/ERC20PeggedVariableCriteriaIncentive.cjs"),V=require("./Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs"),v=require("./Incentives/ERC20VariableCriteriaIncentive.cjs"),R=require("./Incentives/ERC20VariableCriteriaIncentiveV2.cjs"),P=require("./Incentives/ERC20VariableIncentive.cjs"),O=require("./Incentives/PointsIncentive.cjs"),q="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b611cfa806100895f395ff3fe60806040526004361061025d575f3560e01c8063547d18641161014b578063c884ef83116100c6578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b146106b8578063fe9fbb80146106cb578063fee81cf4146106ea575f80fd5b8063ec87621c14610691578063f04e283e146106a5575f80fd5b8063db09da12116100ac578063db09da121461063e578063dcc213611461065d578063dcc59b6f1461067c575f80fd5b8063c884ef83146105fb578063d54ad2a114610629575f80fd5b80638da5cb5b1161011b578063a4d66daf11610101578063a4d66daf146105a8578063bb1757cf146105bd578063be4994f8146105dc575f80fd5b80638da5cb5b146105665780639214fa4d1461057e575f80fd5b8063547d18641461052d57806354d1f13d14610542578063715018a61461054a57806375b238fc14610552575f80fd5b80632de94807116101db578063439fab91116101ab5780634a4ee7b1116101915780634a4ee7b1146104b95780634e7165a2146104cc578063514e62fc146104f8575f80fd5b8063439fab9114610451578063474f5a4414610470575f80fd5b80632de94807146103b657806330db555f146103e757806338d52e0f146104065780634359d28a14610432575f80fd5b80631cd64df411610230578063228cb73311610216578063228cb73314610360578063256929621461037457806328d6183b1461037c575f80fd5b80631cd64df4146102da5780631f1cb62b1461030f575f80fd5b806301ffc9a71461026157806307621eca14610295578063183a4f6e146102b25780631c10893f146102c7575b5f80fd5b34801561026c575f80fd5b5061028061027b366004611655565b61071b565b60405190151581526020015b60405180910390f35b3480156102a0575f80fd5b505f545b60405190815260200161028c565b6102c56102c0366004611694565b610776565b005b6102c56102d53660046116d3565b610783565b3480156102e5575f80fd5b506102806102f43660046116d3565b638b78c6d8600c9081525f9290925260209091205481161490565b34801561031a575f80fd5b5060075461033b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161028c565b34801561036b575f80fd5b506102a45f5481565b6102c5610799565b348015610387575f80fd5b506040517f5658633800000000000000000000000000000000000000000000000000000000815260200161028c565b3480156103c1575f80fd5b506102a46103d03660046116fb565b638b78c6d8600c9081525f91909152602090205490565b3480156103f2575f80fd5b506102c5610401366004611694565b6107e6565b348015610411575f80fd5b5060035461033b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561043d575f80fd5b506102c561044c36600461175c565b6108a2565b34801561045c575f80fd5b506102c561046b366004611806565b61099c565b34801561047b575f80fd5b5061048f61048a366004611806565b610c39565b6040805192835273ffffffffffffffffffffffffffffffffffffffff90911660208301520161028c565b6102c56104c73660046116d3565b610d9b565b3480156104d7575f80fd5b506104eb6104e6366004611806565b610dad565b60405161028c9190611891565b348015610503575f80fd5b506102806105123660046116d3565b638b78c6d8600c9081525f9290925260209091205416151590565b348015610538575f80fd5b506102a460025481565b6102c5610e47565b6102c5610e80565b34801561055d575f80fd5b506102a4600281565b348015610571575f80fd5b50638b78c6d8195461033b565b348015610589575f80fd5b5060075473ffffffffffffffffffffffffffffffffffffffff1661033b565b3480156105b3575f80fd5b506102a460055481565b3480156105c8575f80fd5b506102806105d73660046118a3565b610e93565b3480156105e7575f80fd5b506102c56105f636600461175c565b611071565b348015610606575f80fd5b506102806106153660046116fb565b60016020525f908152604090205460ff1681565b348015610634575f80fd5b506102a460065481565b348015610649575f80fd5b506102806106583660046118a3565b61110f565b348015610668575f80fd5b506102c561067736600461175c565b61114e565b348015610687575f80fd5b506102a460045481565b34801561069c575f80fd5b506102a4600181565b6102c56106b33660046116fb565b6111ec565b6102c56106c63660046116fb565b611226565b3480156106d6575f80fd5b506102806106e53660046116fb565b61124c565b3480156106f5575f80fd5b506102a46107043660046116fb565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f565863380000000000000000000000000000000000000000000000000000000014806107705750610770826112ab565b92915050565b6107803382611300565b50565b61078b61130b565b6107958282611325565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60016107f181611331565b815f0361082a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035461084f9073ffffffffffffffffffffffffffffffffffffffff16333085611362565b8160055f828254610860919061191f565b909155505060408051338152602081018490527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a15050565b60026108ad81611331565b8382146108e6576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610994575f84848381811061090357610903611932565b9050602002016020810190610918919061195f565b905080151560010361095a5761095587878481811061093957610939611932565b905060200201602081019061094e91906116fb565b6001611325565b61098b565b61098b87878481811061096f5761096f611932565b905060200201602081019061098491906116fb565b6001611300565b506001016108e8565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156109ed5760018160011c14303b106109e45763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f6109fb838501856119d4565b905080604001515f1480610a1157506060810151155b15610a48576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015181515f90610a719073ffffffffffffffffffffffffffffffffffffffff16306113c4565b905081811015610ada5782516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018290526044810183905260640160405180910390fd5b82516003805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560208501516007805491909316911617905560408301515f556060830151600555610b4a336113f7565b610b598360800151600161143f565b826020015173ffffffffffffffffffffffffffffffffffffffff16835f015173ffffffffffffffffffffffffffffffffffffffff167fd20715546497e6d32bc9b61b35416a25a8cc41d2fb7f389a1bb26dc040213a3b856040015186606001518760800151604051610bf493929190928352602083019190915273ffffffffffffffffffffffffffffffffffffffff16604082015260600190565b60405180910390a35050508015610c34576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610c4681611331565b5f610c5385870187611afd565b90505f8160200151806020019051810190610c6e9190611b7a565b90508060055f828254610c819190611b91565b90915550508151600354610cae9173ffffffffffffffffffffffffffffffffffffffff9091169083611480565b81516003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610d6c91611891565b60405180910390a260035490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610da361130b565b6107958282611300565b60605f610dbc838501856119d4565b6060818101516040805160808101825260018152845173ffffffffffffffffffffffffffffffffffffffff16602080830191909152308284015282518082018452849052825180820185905283518082038301815290840184529482019490945290519394509092610e2e9201611ba4565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610e8861130b565b610e915f6114d3565b565b5f610e9c61130b565b5f610ea983850185611c47565b90505f8160200151806020019051810190610ec49190611b7a565b9050610ed0868261151d565b610f06576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055481600654610f17919061191f565b1115610f4f576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060065f828254610f60919061191f565b92505081905550600160045f828254610f79919061191f565b9091555050600354610fa29073ffffffffffffffffffffffffffffffffffffffff168783611480565b6003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529188901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8716907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261105d91611891565b60405180910390a250600195945050505050565b600261107c81611331565b8382146110b5576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610994576111078686838181106110d4576110d4611932565b90506020020160208101906110e991906116fb565b8585848181106110fb576110fb611932565b90506020020135611325565b6001016110b7565b5f8061111d83850185611c47565b90505f81602001518060200190518101906111389190611b7a565b9050611144868261151d565b9695505050505050565b600261115981611331565b838214611192576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610994576111e48686838181106111b1576111b1611932565b90506020020160208101906111c691906116fb565b8585848181106111d8576111d8611932565b90506020020135611300565b600101611194565b6111f461130b565b63389a75e1600c52805f526020600c20805442111561121a57636f5e88185f526004601cfd5b5f9055610780816114d3565b61122e61130b565b8060601b61124357637448fbae5f526004601cfd5b610780816114d3565b5f8173ffffffffffffffffffffffffffffffffffffffff16611271638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806107705750638b78c6d8600c9081525f83905260209020546003161515610770565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa9216705000000000000000000000000000000000000000000000000000000001480610770575061077082611568565b61079582825f6115fe565b638b78c6d819543314610e91576382b429005f526004601cfd5b610795828260016115fe565b638b78c6d81954331461078057638b78c6d8600c52335f52806020600c205416610780576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166113b657803d873b1517106113b657637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f5114166114c957803d853b1517106114c9576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526001602052604081205460ff1615801561156157506005548260065461155e919061191f565b11155b9392505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061077057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610770565b638b78c6d8600c52825f526020600c2080548381178361161f575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f60208284031215611665575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611561575f80fd5b5f602082840312156116a4575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146116ce575f80fd5b919050565b5f80604083850312156116e4575f80fd5b6116ed836116ab565b946020939093013593505050565b5f6020828403121561170b575f80fd5b611561826116ab565b5f8083601f840112611724575f80fd5b50813567ffffffffffffffff81111561173b575f80fd5b6020830191508360208260051b8501011115611755575f80fd5b9250929050565b5f805f806040858703121561176f575f80fd5b843567ffffffffffffffff811115611785575f80fd5b61179187828801611714565b909550935050602085013567ffffffffffffffff8111156117b0575f80fd5b6117bc87828801611714565b95989497509550505050565b5f8083601f8401126117d8575f80fd5b50813567ffffffffffffffff8111156117ef575f80fd5b602083019150836020828501011115611755575f80fd5b5f8060208385031215611817575f80fd5b823567ffffffffffffffff81111561182d575f80fd5b611839858286016117c8565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6115616020830184611845565b5f805f604084860312156118b5575f80fd5b6118be846116ab565b9250602084013567ffffffffffffffff8111156118d9575f80fd5b6118e5868287016117c8565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b80820180821115610770576107706118f2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561196f575f80fd5b81358015158114611561575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040805190810167ffffffffffffffff811182821017156119ce576119ce61197e565b60405290565b5f60a08284031280156119e5575f80fd5b5060405160a0810167ffffffffffffffff81118282101715611a0957611a0961197e565b604052611a15836116ab565b8152611a23602084016116ab565b60208201526040838101359082015260608084013590820152611a48608084016116ab565b60808201529392505050565b5f82601f830112611a63575f80fd5b813567ffffffffffffffff811115611a7d57611a7d61197e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff81118282101715611aca57611aca61197e565b604052818152838201602001851015611ae1575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215611b0d575f80fd5b813567ffffffffffffffff811115611b23575f80fd5b820160408185031215611b34575f80fd5b611b3c6119ab565b611b45826116ab565b8152602082013567ffffffffffffffff811115611b60575f80fd5b611b6c86828501611a54565b602083015250949350505050565b5f60208284031215611b8a575f80fd5b5051919050565b81810381811115610770576107706118f2565b602081525f825160038110611be0577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152611c3f60a0840182611845565b949350505050565b5f60208284031215611c57575f80fd5b813567ffffffffffffffff811115611c6d575f80fd5b820160408185031215611c7e575f80fd5b611c866119ab565b813567ffffffffffffffff811115611c9c575f80fd5b611ca886828501611a54565b825250602082013567ffffffffffffffff811115611b60575f80fdfea2646970667358221220ae9431c5aa2e6d904568c209e18398528ed1256e1be4fbeb1526712b5c3f955964736f6c634300081a0033",n={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_BOOST_MAINNET_SIGNER_EOA:"0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480",VITE_BOOST_TESTNET_SIGNER_EOA:"0xd63167e9db11B108940b2E8236581F961f33f396"},r=class r extends w.DeployableTarget{constructor(){super(...arguments),this.abi=b.g}async owner(f){return await b.yO(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return await b.aO(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return await b.nO(this._config,{address:this.assertValidAddress(),args:[],...f})}async totalClaimed(f){return await b.wO(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,e){return await b.tO(this._config,{address:this.assertValidAddress(),args:[f],...e})}async asset(f){return await b.eO(this._config,{address:this.assertValidAddress(),...f})}async peg(f){return await b.cO(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return await b.bO(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return await b.lO(this._config,{address:this.assertValidAddress(),...f})}async claim(f,e){return await this.awaitResult(this.claimRaw(f,e))}async claimRaw(f,e){const{request:a,result:d}=await b.PO(this._config,{address:this.assertValidAddress(),args:[u.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...e});return{hash:await b.hO(this._config,a),result:d}}async clawback(f,e){return await this.awaitResult(this.clawbackRaw(f,e))}async clawbackRaw(f,e){const{request:a,result:d}=await b.kO(this._config,{address:this.assertValidAddress(),args:[u.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...e});return{hash:await b.IO(this._config,a),result:d}}async isClaimable(f,e){return await b.uO(this._config,{address:this.assertValidAddress(),args:[f.target,f.data],...e})}async getPeg(f){return await b.sO(this._config,{address:this.assertValidAddress(),args:[],...f})}async getTotalBudget(f){return await this.limit(f)}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[e,a]=await Promise.all([this.totalClaimed(f),this.limit(f)]);return a-e}buildParameters(f,e){const[a,d]=this.validateDeploymentConfig(f,e);return{abi:b.g,bytecode:q,args:[o(a)],...this.optionallyAttachAccount(d.account)}}buildClawbackData(f){return t.encodeAbiParameters([{type:"uint256"}],[f])}buildClaimData(f){return t.encodeAbiParameters([{type:"uint256",name:"rewardAmount"}],[f])}async getTopupPayload(f){var e,a,d;return o({asset:await this.asset()??t.zeroAddress,peg:((e=this.payload)==null?void 0:e.peg)??t.zeroAddress,reward:((a=this.payload)==null?void 0:a.reward)??0n,limit:f,manager:((d=this.payload)==null?void 0:d.manager)??t.zeroAddress})}decodeClaimData(f){const e=t.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],f);return t.decodeAbiParameters([{type:"uint256"}],e[0].incentiveData)[0]}};r.bases={...n!=null&&n.VITE_ERC20_INCENTIVE_BASE?{31337:void 0}:{},...I.ERC20PeggedIncentive},r.registryType=p.RegistryType.INCENTIVE;let s=r;function o({asset:i,peg:f,reward:e,limit:a,manager:d=t.zeroAddress}){return t.encodeAbiParameters([{type:"address",name:"asset"},{type:"address",name:"peg"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"},{type:"address",name:"manager"}],[i,f,e,a,d])}const l={[c.APointsIncentive]:O.PointsIncentive,[c.AERC20Incentive]:A.ERC20Incentive,[c.AERC20PeggedVariableCriteriaIncentive]:E.ERC20PeggedVariableCriteriaIncentive,[c.AERC20PeggedVariableCriteriaIncentiveV2]:V.ERC20PeggedVariableCriteriaIncentiveV2,[c.AERC20PeggedIncentive]:s,[c.AAllowListIncentive]:m.AllowListIncentive,[c.ACGDAIncentive]:y.CGDAIncentive,[c.AERC20VariableIncentive]:P.ERC20VariableIncentive,[c.AERC20VariableCriteriaIncentiveV2]:R.ERC20VariableCriteriaIncentiveV2,[c.AERC20VariableCriteriaIncentive]:v.ERC20VariableCriteriaIncentive};async function D(i,f,e){const a=await C.readContract(i.config,{abi:b.de,functionName:"getComponentInterface",address:f,...e}),d=l[a];if(!d)throw new h.InvalidComponentInterfaceError(Object.keys(l),a);return new d(i,f)}exports.ERC20PeggedIncentive=s;exports.IncentiveByComponentInterface=l;exports.incentiveFromAddress=D;exports.prepareERC20PeggedIncentivePayload=o;
2
- //# sourceMappingURL=Incentive-CrnbYN_a.cjs.map
1
+ "use strict";const b=require("./generated-BzLYuFx3.cjs"),c=require("./componentInterfaces-BZ3fSNkT.cjs"),C=require("@wagmi/core"),h=require("./errors.cjs"),m=require("./Incentives/AllowListIncentive.cjs"),y=require("./Incentives/CGDAIncentive.cjs"),A=require("./Incentives/ERC20Incentive.cjs"),t=require("viem"),I=require("./deployments-Dgzcz4Ev.cjs"),w=require("./Deployable/DeployableTarget.cjs"),u=require("./claiming.cjs"),p=require("./utils.cjs"),E=require("./Incentives/ERC20PeggedVariableCriteriaIncentive.cjs"),V=require("./Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs"),v=require("./Incentives/ERC20VariableCriteriaIncentive.cjs"),R=require("./Incentives/ERC20VariableCriteriaIncentiveV2.cjs"),P=require("./Incentives/ERC20VariableIncentive.cjs"),O=require("./Incentives/PointsIncentive.cjs"),q="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b611cfa806100895f395ff3fe60806040526004361061025d575f3560e01c8063547d18641161014b578063c884ef83116100c6578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b146106b8578063fe9fbb80146106cb578063fee81cf4146106ea575f80fd5b8063ec87621c14610691578063f04e283e146106a5575f80fd5b8063db09da12116100ac578063db09da121461063e578063dcc213611461065d578063dcc59b6f1461067c575f80fd5b8063c884ef83146105fb578063d54ad2a114610629575f80fd5b80638da5cb5b1161011b578063a4d66daf11610101578063a4d66daf146105a8578063bb1757cf146105bd578063be4994f8146105dc575f80fd5b80638da5cb5b146105665780639214fa4d1461057e575f80fd5b8063547d18641461052d57806354d1f13d14610542578063715018a61461054a57806375b238fc14610552575f80fd5b80632de94807116101db578063439fab91116101ab5780634a4ee7b1116101915780634a4ee7b1146104b95780634e7165a2146104cc578063514e62fc146104f8575f80fd5b8063439fab9114610451578063474f5a4414610470575f80fd5b80632de94807146103b657806330db555f146103e757806338d52e0f146104065780634359d28a14610432575f80fd5b80631cd64df411610230578063228cb73311610216578063228cb73314610360578063256929621461037457806328d6183b1461037c575f80fd5b80631cd64df4146102da5780631f1cb62b1461030f575f80fd5b806301ffc9a71461026157806307621eca14610295578063183a4f6e146102b25780631c10893f146102c7575b5f80fd5b34801561026c575f80fd5b5061028061027b366004611655565b61071b565b60405190151581526020015b60405180910390f35b3480156102a0575f80fd5b505f545b60405190815260200161028c565b6102c56102c0366004611694565b610776565b005b6102c56102d53660046116d3565b610783565b3480156102e5575f80fd5b506102806102f43660046116d3565b638b78c6d8600c9081525f9290925260209091205481161490565b34801561031a575f80fd5b5060075461033b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161028c565b34801561036b575f80fd5b506102a45f5481565b6102c5610799565b348015610387575f80fd5b506040517f5658633800000000000000000000000000000000000000000000000000000000815260200161028c565b3480156103c1575f80fd5b506102a46103d03660046116fb565b638b78c6d8600c9081525f91909152602090205490565b3480156103f2575f80fd5b506102c5610401366004611694565b6107e6565b348015610411575f80fd5b5060035461033b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561043d575f80fd5b506102c561044c36600461175c565b6108a2565b34801561045c575f80fd5b506102c561046b366004611806565b61099c565b34801561047b575f80fd5b5061048f61048a366004611806565b610c39565b6040805192835273ffffffffffffffffffffffffffffffffffffffff90911660208301520161028c565b6102c56104c73660046116d3565b610d9b565b3480156104d7575f80fd5b506104eb6104e6366004611806565b610dad565b60405161028c9190611891565b348015610503575f80fd5b506102806105123660046116d3565b638b78c6d8600c9081525f9290925260209091205416151590565b348015610538575f80fd5b506102a460025481565b6102c5610e47565b6102c5610e80565b34801561055d575f80fd5b506102a4600281565b348015610571575f80fd5b50638b78c6d8195461033b565b348015610589575f80fd5b5060075473ffffffffffffffffffffffffffffffffffffffff1661033b565b3480156105b3575f80fd5b506102a460055481565b3480156105c8575f80fd5b506102806105d73660046118a3565b610e93565b3480156105e7575f80fd5b506102c56105f636600461175c565b611071565b348015610606575f80fd5b506102806106153660046116fb565b60016020525f908152604090205460ff1681565b348015610634575f80fd5b506102a460065481565b348015610649575f80fd5b506102806106583660046118a3565b61110f565b348015610668575f80fd5b506102c561067736600461175c565b61114e565b348015610687575f80fd5b506102a460045481565b34801561069c575f80fd5b506102a4600181565b6102c56106b33660046116fb565b6111ec565b6102c56106c63660046116fb565b611226565b3480156106d6575f80fd5b506102806106e53660046116fb565b61124c565b3480156106f5575f80fd5b506102a46107043660046116fb565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f565863380000000000000000000000000000000000000000000000000000000014806107705750610770826112ab565b92915050565b6107803382611300565b50565b61078b61130b565b6107958282611325565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60016107f181611331565b815f0361082a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035461084f9073ffffffffffffffffffffffffffffffffffffffff16333085611362565b8160055f828254610860919061191f565b909155505060408051338152602081018490527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a15050565b60026108ad81611331565b8382146108e6576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610994575f84848381811061090357610903611932565b9050602002016020810190610918919061195f565b905080151560010361095a5761095587878481811061093957610939611932565b905060200201602081019061094e91906116fb565b6001611325565b61098b565b61098b87878481811061096f5761096f611932565b905060200201602081019061098491906116fb565b6001611300565b506001016108e8565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156109ed5760018160011c14303b106109e45763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f6109fb838501856119d4565b905080604001515f1480610a1157506060810151155b15610a48576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015181515f90610a719073ffffffffffffffffffffffffffffffffffffffff16306113c4565b905081811015610ada5782516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018290526044810183905260640160405180910390fd5b82516003805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560208501516007805491909316911617905560408301515f556060830151600555610b4a336113f7565b610b598360800151600161143f565b826020015173ffffffffffffffffffffffffffffffffffffffff16835f015173ffffffffffffffffffffffffffffffffffffffff167fd20715546497e6d32bc9b61b35416a25a8cc41d2fb7f389a1bb26dc040213a3b856040015186606001518760800151604051610bf493929190928352602083019190915273ffffffffffffffffffffffffffffffffffffffff16604082015260600190565b60405180910390a35050508015610c34576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610c4681611331565b5f610c5385870187611afd565b90505f8160200151806020019051810190610c6e9190611b7a565b90508060055f828254610c819190611b91565b90915550508151600354610cae9173ffffffffffffffffffffffffffffffffffffffff9091169083611480565b81516003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610d6c91611891565b60405180910390a260035490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610da361130b565b6107958282611300565b60605f610dbc838501856119d4565b6060818101516040805160808101825260018152845173ffffffffffffffffffffffffffffffffffffffff16602080830191909152308284015282518082018452849052825180820185905283518082038301815290840184529482019490945290519394509092610e2e9201611ba4565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610e8861130b565b610e915f6114d3565b565b5f610e9c61130b565b5f610ea983850185611c47565b90505f8160200151806020019051810190610ec49190611b7a565b9050610ed0868261151d565b610f06576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055481600654610f17919061191f565b1115610f4f576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060065f828254610f60919061191f565b92505081905550600160045f828254610f79919061191f565b9091555050600354610fa29073ffffffffffffffffffffffffffffffffffffffff168783611480565b6003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529188901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8716907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261105d91611891565b60405180910390a250600195945050505050565b600261107c81611331565b8382146110b5576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610994576111078686838181106110d4576110d4611932565b90506020020160208101906110e991906116fb565b8585848181106110fb576110fb611932565b90506020020135611325565b6001016110b7565b5f8061111d83850185611c47565b90505f81602001518060200190518101906111389190611b7a565b9050611144868261151d565b9695505050505050565b600261115981611331565b838214611192576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610994576111e48686838181106111b1576111b1611932565b90506020020160208101906111c691906116fb565b8585848181106111d8576111d8611932565b90506020020135611300565b600101611194565b6111f461130b565b63389a75e1600c52805f526020600c20805442111561121a57636f5e88185f526004601cfd5b5f9055610780816114d3565b61122e61130b565b8060601b61124357637448fbae5f526004601cfd5b610780816114d3565b5f8173ffffffffffffffffffffffffffffffffffffffff16611271638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806107705750638b78c6d8600c9081525f83905260209020546003161515610770565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa9216705000000000000000000000000000000000000000000000000000000001480610770575061077082611568565b61079582825f6115fe565b638b78c6d819543314610e91576382b429005f526004601cfd5b610795828260016115fe565b638b78c6d81954331461078057638b78c6d8600c52335f52806020600c205416610780576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166113b657803d873b1517106113b657637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f5114166114c957803d853b1517106114c9576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526001602052604081205460ff1615801561156157506005548260065461155e919061191f565b11155b9392505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061077057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610770565b638b78c6d8600c52825f526020600c2080548381178361161f575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f60208284031215611665575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611561575f80fd5b5f602082840312156116a4575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146116ce575f80fd5b919050565b5f80604083850312156116e4575f80fd5b6116ed836116ab565b946020939093013593505050565b5f6020828403121561170b575f80fd5b611561826116ab565b5f8083601f840112611724575f80fd5b50813567ffffffffffffffff81111561173b575f80fd5b6020830191508360208260051b8501011115611755575f80fd5b9250929050565b5f805f806040858703121561176f575f80fd5b843567ffffffffffffffff811115611785575f80fd5b61179187828801611714565b909550935050602085013567ffffffffffffffff8111156117b0575f80fd5b6117bc87828801611714565b95989497509550505050565b5f8083601f8401126117d8575f80fd5b50813567ffffffffffffffff8111156117ef575f80fd5b602083019150836020828501011115611755575f80fd5b5f8060208385031215611817575f80fd5b823567ffffffffffffffff81111561182d575f80fd5b611839858286016117c8565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6115616020830184611845565b5f805f604084860312156118b5575f80fd5b6118be846116ab565b9250602084013567ffffffffffffffff8111156118d9575f80fd5b6118e5868287016117c8565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b80820180821115610770576107706118f2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561196f575f80fd5b81358015158114611561575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040805190810167ffffffffffffffff811182821017156119ce576119ce61197e565b60405290565b5f60a08284031280156119e5575f80fd5b5060405160a0810167ffffffffffffffff81118282101715611a0957611a0961197e565b604052611a15836116ab565b8152611a23602084016116ab565b60208201526040838101359082015260608084013590820152611a48608084016116ab565b60808201529392505050565b5f82601f830112611a63575f80fd5b813567ffffffffffffffff811115611a7d57611a7d61197e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff81118282101715611aca57611aca61197e565b604052818152838201602001851015611ae1575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215611b0d575f80fd5b813567ffffffffffffffff811115611b23575f80fd5b820160408185031215611b34575f80fd5b611b3c6119ab565b611b45826116ab565b8152602082013567ffffffffffffffff811115611b60575f80fd5b611b6c86828501611a54565b602083015250949350505050565b5f60208284031215611b8a575f80fd5b5051919050565b81810381811115610770576107706118f2565b602081525f825160038110611be0577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152611c3f60a0840182611845565b949350505050565b5f60208284031215611c57575f80fd5b813567ffffffffffffffff811115611c6d575f80fd5b820160408185031215611c7e575f80fd5b611c866119ab565b813567ffffffffffffffff811115611c9c575f80fd5b611ca886828501611a54565b825250602082013567ffffffffffffffff811115611b60575f80fdfea2646970667358221220c0f5d5641b2c8bca0ea50397ad3d97ecdf8f0c543579804d5e4dfcbe4a12c07364736f6c634300081a0033",n={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_BOOST_MAINNET_SIGNER_EOA:"0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480",VITE_BOOST_TESTNET_SIGNER_EOA:"0xd63167e9db11B108940b2E8236581F961f33f396"},r=class r extends w.DeployableTarget{constructor(){super(...arguments),this.abi=b.A}async owner(f){return await b.hO(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return await b.mO(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return await b.cO(this._config,{address:this.assertValidAddress(),args:[],...f})}async totalClaimed(f){return await b.VO(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,e){return await b.dO(this._config,{address:this.assertValidAddress(),args:[f],...e})}async asset(f){return await b.yO(this._config,{address:this.assertValidAddress(),...f})}async peg(f){return await b.NO(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return await b.RO(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return await b.AO(this._config,{address:this.assertValidAddress(),...f})}async claim(f,e){return await this.awaitResult(this.claimRaw(f,e))}async claimRaw(f,e){const{request:a,result:d}=await b.QO(this._config,{address:this.assertValidAddress(),args:[u.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...e});return{hash:await b.HO(this._config,a),result:d}}async clawback(f,e){return await this.awaitResult(this.clawbackRaw(f,e))}async clawbackRaw(f,e){const{request:a,result:d}=await b.JO(this._config,{address:this.assertValidAddress(),args:[u.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...e});return{hash:await b.xO(this._config,a),result:d}}async isClaimable(f,e){return await b.gO(this._config,{address:this.assertValidAddress(),args:[f.target,f.data],...e})}async getPeg(f){return await b.fO(this._config,{address:this.assertValidAddress(),args:[],...f})}async getTotalBudget(f){return await this.limit(f)}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[e,a]=await Promise.all([this.totalClaimed(f),this.limit(f)]);return a-e}buildParameters(f,e){const[a,d]=this.validateDeploymentConfig(f,e);return{abi:b.A,bytecode:q,args:[o(a)],...this.optionallyAttachAccount(d.account)}}buildClawbackData(f){return t.encodeAbiParameters([{type:"uint256"}],[f])}buildClaimData(f){return t.encodeAbiParameters([{type:"uint256",name:"rewardAmount"}],[f])}async getTopupPayload(f){var e,a,d;return o({asset:await this.asset()??t.zeroAddress,peg:((e=this.payload)==null?void 0:e.peg)??t.zeroAddress,reward:((a=this.payload)==null?void 0:a.reward)??0n,limit:f,manager:((d=this.payload)==null?void 0:d.manager)??t.zeroAddress})}decodeClaimData(f){const e=t.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],f);return t.decodeAbiParameters([{type:"uint256"}],e[0].incentiveData)[0]}};r.bases={...n!=null&&n.VITE_ERC20_INCENTIVE_BASE?{31337:void 0}:{},...I.ERC20PeggedIncentive},r.registryType=p.RegistryType.INCENTIVE;let s=r;function o({asset:i,peg:f,reward:e,limit:a,manager:d=t.zeroAddress}){return t.encodeAbiParameters([{type:"address",name:"asset"},{type:"address",name:"peg"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"},{type:"address",name:"manager"}],[i,f,e,a,d])}const l={[c.APointsIncentive]:O.PointsIncentive,[c.AERC20Incentive]:A.ERC20Incentive,[c.AERC20PeggedVariableCriteriaIncentive]:E.ERC20PeggedVariableCriteriaIncentive,[c.AERC20PeggedVariableCriteriaIncentiveV2]:V.ERC20PeggedVariableCriteriaIncentiveV2,[c.AERC20PeggedIncentive]:s,[c.AAllowListIncentive]:m.AllowListIncentive,[c.ACGDAIncentive]:y.CGDAIncentive,[c.AERC20VariableIncentive]:P.ERC20VariableIncentive,[c.AERC20VariableCriteriaIncentiveV2]:R.ERC20VariableCriteriaIncentiveV2,[c.AERC20VariableCriteriaIncentive]:v.ERC20VariableCriteriaIncentive};async function D(i,f,e){const a=await C.readContract(i.config,{abi:b.de,functionName:"getComponentInterface",address:f,...e}),d=l[a];if(!d)throw new h.InvalidComponentInterfaceError(Object.keys(l),a);return new d(i,f)}exports.ERC20PeggedIncentive=s;exports.IncentiveByComponentInterface=l;exports.incentiveFromAddress=D;exports.prepareERC20PeggedIncentivePayload=o;
2
+ //# sourceMappingURL=Incentive-Bse5BKbF.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Incentive-CrnbYN_a.cjs","sources":["../src/Incentives/ERC20PeggedIncentive.ts","../src/Incentives/Incentive.ts"],"sourcesContent":["import {\n erc20PeggedIncentiveAbi,\n readErc20PeggedIncentiveAsset,\n readErc20PeggedIncentiveClaimed,\n readErc20PeggedIncentiveClaims,\n readErc20PeggedIncentiveCurrentReward,\n readErc20PeggedIncentiveGetPeg,\n readErc20PeggedIncentiveIsClaimable,\n readErc20PeggedIncentiveLimit,\n readErc20PeggedIncentiveOwner,\n readErc20PeggedIncentivePeg,\n readErc20PeggedIncentiveReward,\n readErc20PeggedIncentiveTotalClaimed,\n simulateErc20PeggedIncentiveClaim,\n simulateErc20PeggedIncentiveClawback,\n writeErc20PeggedIncentiveClaim,\n writeErc20PeggedIncentiveClawback,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/incentives/ERC20PeggedIncentive.sol/ERC20PeggedIncentive.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n decodeAbiParameters,\n encodeAbiParameters,\n zeroAddress,\n} from 'viem';\nimport { ERC20PeggedIncentive as ERC20PeggedIncentiveBases } 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} from '../utils';\n\nexport { erc20PeggedIncentiveAbi };\n\n/**\n * The object representation of a `ERC20PeggedIncentive.InitPayload`\n *\n * @export\n * @interface ERC20PeggedIncentivePayload\n * @typedef {ERC20PeggedIncentivePayload}\n */\nexport interface ERC20PeggedIncentivePayload {\n /**\n * The address of the incentivized asset.\n *\n * @type {Address}\n */\n asset: Address;\n /**\n * The peg to normalize to.\n *\n * @type {Address}\n */\n peg: Address;\n /**\n * The amount of the asset to distribute.\n *\n * @type {bigint}\n */\n reward: bigint;\n /**\n * Total spend for the incentive.\n *\n * @type {bigint}\n */\n limit: bigint;\n /**\n * (Optional) The address of the entity that can managed the incentive.\n *\n * @type {Address}\n * @optional\n */\n manager?: Address;\n}\n\n/**\n * A generic `viem.Log` event with support for `ERC20PeggedIncentive` event types.\n *\n * @export\n * @typedef {ERC20PeggedIncentiveLog}\n * @template {ContractEventName<typeof erc20PeggedIncentiveAbi>} [event=ContractEventName<\n * typeof erc20PeggedIncentiveAbi\n * >]\n */\nexport type ERC20PeggedIncentiveLog<\n event extends ContractEventName<\n typeof erc20PeggedIncentiveAbi\n > = ContractEventName<typeof erc20PeggedIncentiveAbi>,\n> = GenericLog<typeof erc20PeggedIncentiveAbi, event>;\n\n/**\n * A simple ERC20 incentive implementation that allows claiming of tokens\n *\n * @export\n * @class ERC20PeggedIncentive\n * @typedef {ERC20PeggedIncentive}\n * @extends {DeployableTarget<ERC20PeggedIncentivePayload>}\n */\nexport class ERC20PeggedIncentive extends DeployableTarget<\n ERC20PeggedIncentivePayload,\n typeof erc20PeggedIncentiveAbi\n> {\n public override readonly abi = erc20PeggedIncentiveAbi;\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_ERC20_INCENTIVE_BASE\n ? { 31337: import.meta.env.VITE_ERC20_INCENTIVE_BASE }\n : {}),\n ...(ERC20PeggedIncentiveBases 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 owner of the incentive\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async owner(params?: ReadParams) {\n return await readErc20PeggedIncentiveOwner(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 * Calculates the current reward based on the time since the last claim. 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. 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 readErc20PeggedIncentiveCurrentReward(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 readErc20PeggedIncentiveClaims(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 total amount of rewards claimed\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async totalClaimed(params?: ReadParams) {\n return await readErc20PeggedIncentiveTotalClaimed(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 * A mapping of address to claim status\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 readErc20PeggedIncentiveClaimed(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 address of the ERC20-like token\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async asset(params?: ReadParams) {\n return await readErc20PeggedIncentiveAsset(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 address of the pegged ERC20-like token\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async peg(params?: ReadParams) {\n return await readErc20PeggedIncentivePeg(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 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 readErc20PeggedIncentiveReward(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 limit (max possible rewards payout in reward token)\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async limit(params?: ReadParams) {\n return await readErc20PeggedIncentiveLimit(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<{ hash: `0x${string}`; result: boolean; }>} - Returns true if successfully claimed\n */\n protected async claimRaw(payload: ClaimPayload, params?: WriteParams) {\n const { request, result } = await simulateErc20PeggedIncentiveClaim(\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 writeErc20PeggedIncentiveClaim(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<{ hash: `0x${string}`; result: boolean; }>} - True if the assets were successfully clawbacked\n */\n public async clawbackRaw(payload: ClaimPayload, params?: WriteParams) {\n const { request, result } = await simulateErc20PeggedIncentiveClawback(\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 writeErc20PeggedIncentiveClawback(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 readErc20PeggedIncentiveIsClaimable(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 * read the peg token for the incentive.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>} = The address of the token the reward is pegged to\n */\n public async getPeg(params?: ReadParams) {\n return await readErc20PeggedIncentiveGetPeg(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 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 return await this.limit(params);\n }\n\n /**\n * Check if any claims remain by comparing the incentive's total claims against its limit. Does not take requesting user's elligibility into account.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if total claims is less than limit\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 total claims against its limit. Does not take requesting user's elligibility into account.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - True if total claims is less than limit\n */\n public async getRemainingClaimPotential(params?: ReadParams) {\n const [totalClaimed, limit] = await Promise.all([\n this.totalClaimed(params),\n this.limit(params),\n ]);\n return limit - totalClaimed;\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?ERC20PeggedIncentivePayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: ERC20PeggedIncentivePayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: erc20PeggedIncentiveAbi,\n bytecode: bytecode as Hex,\n args: [prepareERC20PeggedIncentivePayload(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 * Builds the claim data for the ERC20PeggedIncentive.\n *\n * @public\n * @param {bigint} rewardAmount\n * @returns {Hash} Returns the encoded claim data\n * @description This function returns the encoded claim data for the ERC20PeggedIncentive.\n */\n public buildClaimData(rewardAmount: bigint) {\n return encodeAbiParameters(\n [{ type: 'uint256', name: 'rewardAmount' }],\n [rewardAmount],\n );\n }\n /**\n * Generates a top-up payload for the ERC20PeggedIncentive contract by incrementing\n * the existing `limit` field by `netAmount`. The entire payload is then re-encoded\n * via `prepareERC20PeggedIncentivePayload(...)`.\n *\n * @public\n * @param {bigint} netAmount - The additional limit to add to this incentive.\n * @returns {Hex} The ABI-encoded payload with the updated `limit`.\n */\n public async getTopupPayload(netAmount: bigint): Promise<Hex> {\n return prepareERC20PeggedIncentivePayload({\n asset: (await this.asset()) ?? zeroAddress,\n peg: this.payload?.peg ?? zeroAddress,\n reward: this.payload?.reward ?? 0n,\n limit: netAmount,\n manager: this.payload?.manager ?? zeroAddress,\n });\n }\n\n /**\n * Decodes claim data for the ERC20PeggedIncentive, returning the claim amount.\n * Useful when deriving amount claimed from logs.\n *\n * @public\n * @param {Hex} claimData\n * @returns {bigint} Returns the reward amount from a claim data payload\n */\n public decodeClaimData(claimData: Hex) {\n const boostClaimData = decodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'BoostClaimData',\n components: [\n { type: 'bytes', name: 'validatorData' },\n { type: 'bytes', name: 'incentiveData' },\n ],\n },\n ],\n claimData,\n );\n const signedAmount = decodeAbiParameters(\n [{ type: 'uint256' }],\n boostClaimData[0].incentiveData,\n )[0];\n return signedAmount;\n }\n}\n\n/**\n * Given a {@link ERC20PeggedIncentivePayload}, properly encode a `ERC20PeggedIncentive.InitPayload` for use with {@link ERC20PeggedIncentive} initialization.\n *\n * @param {ERC20PeggedIncentivePayload} param0\n * @param {Address} param0.asset - The address of the incentivized asset.\n * @param {Address} param0.peg - The peg to normalize to.\n * @param {bigint} param0.reward - The amount of the asset to distribute.\n * @param {bigint} param0.limit - How many times can this incentive be claimed.\n * @param {Address} [param0.manager=zeroAddress] - The entity that can manage the incentive.\n * @returns {Hex}\n */\nexport function prepareERC20PeggedIncentivePayload({\n asset,\n peg,\n reward,\n limit,\n manager = zeroAddress,\n}: ERC20PeggedIncentivePayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'asset' },\n { type: 'address', name: 'peg' },\n { type: 'uint256', name: 'reward' },\n { type: 'uint256', name: 'limit' },\n { type: 'address', name: 'manager' },\n ],\n [asset, peg, reward, limit, manager],\n );\n}\n","import { aIncentiveAbi } from '@boostxyz/evm';\nimport {\n AAllowListIncentive,\n ACGDAIncentive,\n AERC20Incentive,\n AERC20PeggedIncentive,\n AERC20PeggedVariableCriteriaIncentive,\n AERC20PeggedVariableCriteriaIncentiveV2,\n AERC20VariableCriteriaIncentive,\n AERC20VariableCriteriaIncentiveV2,\n AERC20VariableIncentive,\n // AERC20VariableCriteriaIncentive\n APointsIncentive,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport type { Address, Hex } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport type { ReadParams } from '../utils';\nimport { AllowListIncentive } from './AllowListIncentive';\nimport { CGDAIncentive } from './CGDAIncentive';\nimport { ERC20Incentive } from './ERC20Incentive';\nimport { ERC20PeggedIncentive } from './ERC20PeggedIncentive';\nimport { ERC20PeggedVariableCriteriaIncentive } from './ERC20PeggedVariableCriteriaIncentive';\nimport { ERC20PeggedVariableCriteriaIncentiveV2 } from './ERC20PeggedVariableCriteriaIncentiveV2';\nimport { ERC20VariableCriteriaIncentive } from './ERC20VariableCriteriaIncentive';\nimport { ERC20VariableCriteriaIncentiveV2 } from './ERC20VariableCriteriaIncentiveV2';\nimport { ERC20VariableIncentive } from './ERC20VariableIncentive';\n// import { ERC1155Incentive } from './ERC1155Incentive';\nimport { PointsIncentive } from './PointsIncentive';\n\nexport {\n AllowListIncentive,\n CGDAIncentive,\n // ERC1155Incentive,\n ERC20Incentive,\n ERC20PeggedIncentive,\n ERC20PeggedVariableCriteriaIncentive,\n ERC20PeggedVariableCriteriaIncentiveV2,\n PointsIncentive,\n ERC20VariableIncentive,\n ERC20VariableCriteriaIncentive,\n ERC20VariableCriteriaIncentiveV2,\n};\n\n/**\n * A union type representing all valid protocol Incentive implementations\n *\n * @export\n * @typedef {Incentive}\n */\nexport type Incentive =\n | AllowListIncentive\n | CGDAIncentive\n | ERC20Incentive\n // | ERC1155Incentive\n | ERC20PeggedIncentive\n | ERC20PeggedVariableCriteriaIncentive\n | ERC20PeggedVariableCriteriaIncentiveV2\n | PointsIncentive\n | ERC20VariableIncentive\n | ERC20VariableCriteriaIncentive\n | ERC20VariableCriteriaIncentiveV2;\n\n/**\n * A map of Incentive component interfaces to their constructors.\n *\n * @type {{ \"0xc5b24b8e\": typeof PointsIncentive; \"0x8c901437\": typeof ERC20Incentive; \"0x4414fbb4\": typeof ERC20PeggedIncentive; \"0xf60c99c9\": typeof ERC20PeggedVariableCriteriaIncentiveV2; \"0x56586338\": typeof AllowListIncentive; \"0xa39e44d9\": typeof CGDAIncentive; \"0xa8e4af1e\": typeof ERC20VariableIncentive; \"0x90318111\": typeof ERC20VariableCriteriaIncentiveV2 }}\n */\nexport const IncentiveByComponentInterface = {\n [APointsIncentive as Hex]: PointsIncentive,\n [AERC20Incentive as Hex]: ERC20Incentive,\n [AERC20PeggedVariableCriteriaIncentive as Hex]:\n ERC20PeggedVariableCriteriaIncentive,\n [AERC20PeggedVariableCriteriaIncentiveV2 as Hex]:\n ERC20PeggedVariableCriteriaIncentiveV2,\n [AERC20PeggedIncentive as Hex]: ERC20PeggedIncentive,\n [AAllowListIncentive]: AllowListIncentive,\n // [AERC1155Incentive as Hex]: ERC1155Incentive,\n [ACGDAIncentive as Hex]: CGDAIncentive,\n [AERC20VariableIncentive as Hex]: ERC20VariableIncentive,\n [AERC20VariableCriteriaIncentiveV2 as Hex]: ERC20VariableCriteriaIncentiveV2,\n [AERC20VariableCriteriaIncentive as Hex]: ERC20VariableCriteriaIncentive,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Incentive}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function incentiveFromAddress(\n options: DeployableOptions,\n address: Address,\n params?: ReadParams,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aIncentiveAbi,\n functionName: 'getComponentInterface',\n address,\n ...params,\n })) as keyof typeof IncentiveByComponentInterface;\n const Ctor = IncentiveByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(IncentiveByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address);\n}\n"],"names":["_ERC20PeggedIncentive","DeployableTarget","erc20PeggedIncentiveAbi","params","readErc20PeggedIncentiveOwner","readErc20PeggedIncentiveCurrentReward","readErc20PeggedIncentiveClaims","readErc20PeggedIncentiveTotalClaimed","address","readErc20PeggedIncentiveClaimed","readErc20PeggedIncentiveAsset","readErc20PeggedIncentivePeg","readErc20PeggedIncentiveReward","readErc20PeggedIncentiveLimit","payload","request","result","simulateErc20PeggedIncentiveClaim","prepareClaimPayload","writeErc20PeggedIncentiveClaim","simulateErc20PeggedIncentiveClawback","writeErc20PeggedIncentiveClawback","readErc20PeggedIncentiveIsClaimable","readErc20PeggedIncentiveGetPeg","totalClaimed","limit","_payload","_options","options","bytecode","prepareERC20PeggedIncentivePayload","amount","encodeAbiParameters","rewardAmount","netAmount","zeroAddress","_a","_b","_c","claimData","boostClaimData","decodeAbiParameters","__vite_import_meta_env__","ERC20PeggedIncentiveBases","RegistryType","ERC20PeggedIncentive","asset","peg","reward","manager","IncentiveByComponentInterface","APointsIncentive","PointsIncentive","AERC20Incentive","ERC20Incentive","AERC20PeggedVariableCriteriaIncentive","ERC20PeggedVariableCriteriaIncentive","AERC20PeggedVariableCriteriaIncentiveV2","ERC20PeggedVariableCriteriaIncentiveV2","AERC20PeggedIncentive","AAllowListIncentive","AllowListIncentive","ACGDAIncentive","CGDAIncentive","AERC20VariableIncentive","ERC20VariableIncentive","AERC20VariableCriteriaIncentiveV2","ERC20VariableCriteriaIncentiveV2","AERC20VariableCriteriaIncentive","ERC20VariableCriteriaIncentive","incentiveFromAddress","interfaceId","readContract","aIncentiveAbi","Ctor","InvalidComponentInterfaceError"],"mappings":"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"}
1
+ {"version":3,"file":"Incentive-Bse5BKbF.cjs","sources":["../src/Incentives/ERC20PeggedIncentive.ts","../src/Incentives/Incentive.ts"],"sourcesContent":["import {\n erc20PeggedIncentiveAbi,\n readErc20PeggedIncentiveAsset,\n readErc20PeggedIncentiveClaimed,\n readErc20PeggedIncentiveClaims,\n readErc20PeggedIncentiveCurrentReward,\n readErc20PeggedIncentiveGetPeg,\n readErc20PeggedIncentiveIsClaimable,\n readErc20PeggedIncentiveLimit,\n readErc20PeggedIncentiveOwner,\n readErc20PeggedIncentivePeg,\n readErc20PeggedIncentiveReward,\n readErc20PeggedIncentiveTotalClaimed,\n simulateErc20PeggedIncentiveClaim,\n simulateErc20PeggedIncentiveClawback,\n writeErc20PeggedIncentiveClaim,\n writeErc20PeggedIncentiveClawback,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/incentives/ERC20PeggedIncentive.sol/ERC20PeggedIncentive.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n decodeAbiParameters,\n encodeAbiParameters,\n zeroAddress,\n} from 'viem';\nimport { ERC20PeggedIncentive as ERC20PeggedIncentiveBases } 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} from '../utils';\n\nexport { erc20PeggedIncentiveAbi };\n\n/**\n * The object representation of a `ERC20PeggedIncentive.InitPayload`\n *\n * @export\n * @interface ERC20PeggedIncentivePayload\n * @typedef {ERC20PeggedIncentivePayload}\n */\nexport interface ERC20PeggedIncentivePayload {\n /**\n * The address of the incentivized asset.\n *\n * @type {Address}\n */\n asset: Address;\n /**\n * The peg to normalize to.\n *\n * @type {Address}\n */\n peg: Address;\n /**\n * The amount of the asset to distribute.\n *\n * @type {bigint}\n */\n reward: bigint;\n /**\n * Total spend for the incentive.\n *\n * @type {bigint}\n */\n limit: bigint;\n /**\n * (Optional) The address of the entity that can managed the incentive.\n *\n * @type {Address}\n * @optional\n */\n manager?: Address;\n}\n\n/**\n * A generic `viem.Log` event with support for `ERC20PeggedIncentive` event types.\n *\n * @export\n * @typedef {ERC20PeggedIncentiveLog}\n * @template {ContractEventName<typeof erc20PeggedIncentiveAbi>} [event=ContractEventName<\n * typeof erc20PeggedIncentiveAbi\n * >]\n */\nexport type ERC20PeggedIncentiveLog<\n event extends ContractEventName<\n typeof erc20PeggedIncentiveAbi\n > = ContractEventName<typeof erc20PeggedIncentiveAbi>,\n> = GenericLog<typeof erc20PeggedIncentiveAbi, event>;\n\n/**\n * A simple ERC20 incentive implementation that allows claiming of tokens\n *\n * @export\n * @class ERC20PeggedIncentive\n * @typedef {ERC20PeggedIncentive}\n * @extends {DeployableTarget<ERC20PeggedIncentivePayload>}\n */\nexport class ERC20PeggedIncentive extends DeployableTarget<\n ERC20PeggedIncentivePayload,\n typeof erc20PeggedIncentiveAbi\n> {\n public override readonly abi = erc20PeggedIncentiveAbi;\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_ERC20_INCENTIVE_BASE\n ? { 31337: import.meta.env.VITE_ERC20_INCENTIVE_BASE }\n : {}),\n ...(ERC20PeggedIncentiveBases 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 owner of the incentive\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async owner(params?: ReadParams) {\n return await readErc20PeggedIncentiveOwner(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 * Calculates the current reward based on the time since the last claim. 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. 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 readErc20PeggedIncentiveCurrentReward(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 readErc20PeggedIncentiveClaims(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 total amount of rewards claimed\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async totalClaimed(params?: ReadParams) {\n return await readErc20PeggedIncentiveTotalClaimed(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 * A mapping of address to claim status\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 readErc20PeggedIncentiveClaimed(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 address of the ERC20-like token\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async asset(params?: ReadParams) {\n return await readErc20PeggedIncentiveAsset(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 address of the pegged ERC20-like token\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async peg(params?: ReadParams) {\n return await readErc20PeggedIncentivePeg(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 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 readErc20PeggedIncentiveReward(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 limit (max possible rewards payout in reward token)\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async limit(params?: ReadParams) {\n return await readErc20PeggedIncentiveLimit(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<{ hash: `0x${string}`; result: boolean; }>} - Returns true if successfully claimed\n */\n protected async claimRaw(payload: ClaimPayload, params?: WriteParams) {\n const { request, result } = await simulateErc20PeggedIncentiveClaim(\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 writeErc20PeggedIncentiveClaim(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<{ hash: `0x${string}`; result: boolean; }>} - True if the assets were successfully clawbacked\n */\n public async clawbackRaw(payload: ClaimPayload, params?: WriteParams) {\n const { request, result } = await simulateErc20PeggedIncentiveClawback(\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 writeErc20PeggedIncentiveClawback(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 readErc20PeggedIncentiveIsClaimable(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 * read the peg token for the incentive.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>} = The address of the token the reward is pegged to\n */\n public async getPeg(params?: ReadParams) {\n return await readErc20PeggedIncentiveGetPeg(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 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 return await this.limit(params);\n }\n\n /**\n * Check if any claims remain by comparing the incentive's total claims against its limit. Does not take requesting user's elligibility into account.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if total claims is less than limit\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 total claims against its limit. Does not take requesting user's elligibility into account.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - True if total claims is less than limit\n */\n public async getRemainingClaimPotential(params?: ReadParams) {\n const [totalClaimed, limit] = await Promise.all([\n this.totalClaimed(params),\n this.limit(params),\n ]);\n return limit - totalClaimed;\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?ERC20PeggedIncentivePayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: ERC20PeggedIncentivePayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: erc20PeggedIncentiveAbi,\n bytecode: bytecode as Hex,\n args: [prepareERC20PeggedIncentivePayload(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 * Builds the claim data for the ERC20PeggedIncentive.\n *\n * @public\n * @param {bigint} rewardAmount\n * @returns {Hash} Returns the encoded claim data\n * @description This function returns the encoded claim data for the ERC20PeggedIncentive.\n */\n public buildClaimData(rewardAmount: bigint) {\n return encodeAbiParameters(\n [{ type: 'uint256', name: 'rewardAmount' }],\n [rewardAmount],\n );\n }\n /**\n * Generates a top-up payload for the ERC20PeggedIncentive contract by incrementing\n * the existing `limit` field by `netAmount`. The entire payload is then re-encoded\n * via `prepareERC20PeggedIncentivePayload(...)`.\n *\n * @public\n * @param {bigint} netAmount - The additional limit to add to this incentive.\n * @returns {Hex} The ABI-encoded payload with the updated `limit`.\n */\n public async getTopupPayload(netAmount: bigint): Promise<Hex> {\n return prepareERC20PeggedIncentivePayload({\n asset: (await this.asset()) ?? zeroAddress,\n peg: this.payload?.peg ?? zeroAddress,\n reward: this.payload?.reward ?? 0n,\n limit: netAmount,\n manager: this.payload?.manager ?? zeroAddress,\n });\n }\n\n /**\n * Decodes claim data for the ERC20PeggedIncentive, returning the claim amount.\n * Useful when deriving amount claimed from logs.\n *\n * @public\n * @param {Hex} claimData\n * @returns {bigint} Returns the reward amount from a claim data payload\n */\n public decodeClaimData(claimData: Hex) {\n const boostClaimData = decodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'BoostClaimData',\n components: [\n { type: 'bytes', name: 'validatorData' },\n { type: 'bytes', name: 'incentiveData' },\n ],\n },\n ],\n claimData,\n );\n const signedAmount = decodeAbiParameters(\n [{ type: 'uint256' }],\n boostClaimData[0].incentiveData,\n )[0];\n return signedAmount;\n }\n}\n\n/**\n * Given a {@link ERC20PeggedIncentivePayload}, properly encode a `ERC20PeggedIncentive.InitPayload` for use with {@link ERC20PeggedIncentive} initialization.\n *\n * @param {ERC20PeggedIncentivePayload} param0\n * @param {Address} param0.asset - The address of the incentivized asset.\n * @param {Address} param0.peg - The peg to normalize to.\n * @param {bigint} param0.reward - The amount of the asset to distribute.\n * @param {bigint} param0.limit - How many times can this incentive be claimed.\n * @param {Address} [param0.manager=zeroAddress] - The entity that can manage the incentive.\n * @returns {Hex}\n */\nexport function prepareERC20PeggedIncentivePayload({\n asset,\n peg,\n reward,\n limit,\n manager = zeroAddress,\n}: ERC20PeggedIncentivePayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'asset' },\n { type: 'address', name: 'peg' },\n { type: 'uint256', name: 'reward' },\n { type: 'uint256', name: 'limit' },\n { type: 'address', name: 'manager' },\n ],\n [asset, peg, reward, limit, manager],\n );\n}\n","import { aIncentiveAbi } from '@boostxyz/evm';\nimport {\n AAllowListIncentive,\n ACGDAIncentive,\n AERC20Incentive,\n AERC20PeggedIncentive,\n AERC20PeggedVariableCriteriaIncentive,\n AERC20PeggedVariableCriteriaIncentiveV2,\n AERC20VariableCriteriaIncentive,\n AERC20VariableCriteriaIncentiveV2,\n AERC20VariableIncentive,\n // AERC20VariableCriteriaIncentive\n APointsIncentive,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport type { Address, Hex } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport type { ReadParams } from '../utils';\nimport { AllowListIncentive } from './AllowListIncentive';\nimport { CGDAIncentive } from './CGDAIncentive';\nimport { ERC20Incentive } from './ERC20Incentive';\nimport { ERC20PeggedIncentive } from './ERC20PeggedIncentive';\nimport { ERC20PeggedVariableCriteriaIncentive } from './ERC20PeggedVariableCriteriaIncentive';\nimport { ERC20PeggedVariableCriteriaIncentiveV2 } from './ERC20PeggedVariableCriteriaIncentiveV2';\nimport { ERC20VariableCriteriaIncentive } from './ERC20VariableCriteriaIncentive';\nimport { ERC20VariableCriteriaIncentiveV2 } from './ERC20VariableCriteriaIncentiveV2';\nimport { ERC20VariableIncentive } from './ERC20VariableIncentive';\n// import { ERC1155Incentive } from './ERC1155Incentive';\nimport { PointsIncentive } from './PointsIncentive';\n\nexport {\n AllowListIncentive,\n CGDAIncentive,\n // ERC1155Incentive,\n ERC20Incentive,\n ERC20PeggedIncentive,\n ERC20PeggedVariableCriteriaIncentive,\n ERC20PeggedVariableCriteriaIncentiveV2,\n PointsIncentive,\n ERC20VariableIncentive,\n ERC20VariableCriteriaIncentive,\n ERC20VariableCriteriaIncentiveV2,\n};\n\n/**\n * A union type representing all valid protocol Incentive implementations\n *\n * @export\n * @typedef {Incentive}\n */\nexport type Incentive =\n | AllowListIncentive\n | CGDAIncentive\n | ERC20Incentive\n // | ERC1155Incentive\n | ERC20PeggedIncentive\n | ERC20PeggedVariableCriteriaIncentive\n | ERC20PeggedVariableCriteriaIncentiveV2\n | PointsIncentive\n | ERC20VariableIncentive\n | ERC20VariableCriteriaIncentive\n | ERC20VariableCriteriaIncentiveV2;\n\n/**\n * A map of Incentive component interfaces to their constructors.\n *\n * @type {{ \"0xc5b24b8e\": typeof PointsIncentive; \"0x8c901437\": typeof ERC20Incentive; \"0x4414fbb4\": typeof ERC20PeggedIncentive; \"0xf60c99c9\": typeof ERC20PeggedVariableCriteriaIncentiveV2; \"0x56586338\": typeof AllowListIncentive; \"0xa39e44d9\": typeof CGDAIncentive; \"0xa8e4af1e\": typeof ERC20VariableIncentive; \"0x90318111\": typeof ERC20VariableCriteriaIncentiveV2 }}\n */\nexport const IncentiveByComponentInterface = {\n [APointsIncentive as Hex]: PointsIncentive,\n [AERC20Incentive as Hex]: ERC20Incentive,\n [AERC20PeggedVariableCriteriaIncentive as Hex]:\n ERC20PeggedVariableCriteriaIncentive,\n [AERC20PeggedVariableCriteriaIncentiveV2 as Hex]:\n ERC20PeggedVariableCriteriaIncentiveV2,\n [AERC20PeggedIncentive as Hex]: ERC20PeggedIncentive,\n [AAllowListIncentive]: AllowListIncentive,\n // [AERC1155Incentive as Hex]: ERC1155Incentive,\n [ACGDAIncentive as Hex]: CGDAIncentive,\n [AERC20VariableIncentive as Hex]: ERC20VariableIncentive,\n [AERC20VariableCriteriaIncentiveV2 as Hex]: ERC20VariableCriteriaIncentiveV2,\n [AERC20VariableCriteriaIncentive as Hex]: ERC20VariableCriteriaIncentive,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Incentive}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function incentiveFromAddress(\n options: DeployableOptions,\n address: Address,\n params?: ReadParams,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aIncentiveAbi,\n functionName: 'getComponentInterface',\n address,\n ...params,\n })) as keyof typeof IncentiveByComponentInterface;\n const Ctor = IncentiveByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(IncentiveByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address);\n}\n"],"names":["_ERC20PeggedIncentive","DeployableTarget","erc20PeggedIncentiveAbi","params","readErc20PeggedIncentiveOwner","readErc20PeggedIncentiveCurrentReward","readErc20PeggedIncentiveClaims","readErc20PeggedIncentiveTotalClaimed","address","readErc20PeggedIncentiveClaimed","readErc20PeggedIncentiveAsset","readErc20PeggedIncentivePeg","readErc20PeggedIncentiveReward","readErc20PeggedIncentiveLimit","payload","request","result","simulateErc20PeggedIncentiveClaim","prepareClaimPayload","writeErc20PeggedIncentiveClaim","simulateErc20PeggedIncentiveClawback","writeErc20PeggedIncentiveClawback","readErc20PeggedIncentiveIsClaimable","readErc20PeggedIncentiveGetPeg","totalClaimed","limit","_payload","_options","options","bytecode","prepareERC20PeggedIncentivePayload","amount","encodeAbiParameters","rewardAmount","netAmount","zeroAddress","_a","_b","_c","claimData","boostClaimData","decodeAbiParameters","__vite_import_meta_env__","ERC20PeggedIncentiveBases","RegistryType","ERC20PeggedIncentive","asset","peg","reward","manager","IncentiveByComponentInterface","APointsIncentive","PointsIncentive","AERC20Incentive","ERC20Incentive","AERC20PeggedVariableCriteriaIncentive","ERC20PeggedVariableCriteriaIncentive","AERC20PeggedVariableCriteriaIncentiveV2","ERC20PeggedVariableCriteriaIncentiveV2","AERC20PeggedIncentive","AAllowListIncentive","AllowListIncentive","ACGDAIncentive","CGDAIncentive","AERC20VariableIncentive","ERC20VariableIncentive","AERC20VariableCriteriaIncentiveV2","ERC20VariableCriteriaIncentiveV2","AERC20VariableCriteriaIncentive","ERC20VariableCriteriaIncentive","incentiveFromAddress","interfaceId","readContract","aIncentiveAbi","Ctor","InvalidComponentInterfaceError"],"mappings":"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"}
@@ -1,22 +1,22 @@
1
- import { g as n, ch as u, ci as p, cj as y, ck as C, cl as w, cm as A, cn as I, co as E, cp as V, cq as R, cr as v, cs as O, ct as D, cu as P, cv as _, cw as T } from "./generated-B6mEIx8i.js";
1
+ import { A as n, ch as u, ci as p, cj as y, ck as A, cl as C, cm as w, cn as E, co as I, cp as V, cq as R, cr as v, cs as O, ct as D, cu as _, cv as P, cw as T } from "./generated-D6oDILUw.js";
2
2
  import { a as B, b as N, c as S, d as k, e as x, f as G, g as j, h as q, i as F, j as L } from "./componentInterfaces-D2s6AXlV.js";
3
3
  import { readContract as M } from "@wagmi/core";
4
4
  import { InvalidComponentInterfaceError as z } from "./errors.js";
5
- import { AllowListIncentive as U } from "./Incentives/AllowListIncentive.js";
6
- import { CGDAIncentive as $ } from "./Incentives/CGDAIncentive.js";
7
- import { ERC20Incentive as H } from "./Incentives/ERC20Incentive.js";
5
+ import { AllowListIncentive as H } from "./Incentives/AllowListIncentive.js";
6
+ import { CGDAIncentive as J } from "./Incentives/CGDAIncentive.js";
7
+ import { ERC20Incentive as Q } from "./Incentives/ERC20Incentive.js";
8
8
  import { encodeAbiParameters as i, zeroAddress as c, decodeAbiParameters as o } from "viem";
9
- import { h as J } from "./deployments-CHQ30INq.js";
10
- import { DeployableTarget as K } from "./Deployable/DeployableTarget.js";
9
+ import { h as U } from "./deployments-Coa8CGi2.js";
10
+ import { DeployableTarget as $ } from "./Deployable/DeployableTarget.js";
11
11
  import { prepareClaimPayload as l } from "./claiming.js";
12
- import { RegistryType as Q } from "./utils.js";
12
+ import { RegistryType as K } from "./utils.js";
13
13
  import { ERC20PeggedVariableCriteriaIncentive as W } from "./Incentives/ERC20PeggedVariableCriteriaIncentive.js";
14
14
  import { ERC20PeggedVariableCriteriaIncentiveV2 as X } from "./Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js";
15
15
  import { ERC20VariableCriteriaIncentive as Y } from "./Incentives/ERC20VariableCriteriaIncentive.js";
16
16
  import { ERC20VariableCriteriaIncentiveV2 as Z } from "./Incentives/ERC20VariableCriteriaIncentiveV2.js";
17
17
  import { ERC20VariableIncentive as f0 } from "./Incentives/ERC20VariableIncentive.js";
18
18
  import { PointsIncentive as b0 } from "./Incentives/PointsIncentive.js";
19
- const a0 = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b611cfa806100895f395ff3fe60806040526004361061025d575f3560e01c8063547d18641161014b578063c884ef83116100c6578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b146106b8578063fe9fbb80146106cb578063fee81cf4146106ea575f80fd5b8063ec87621c14610691578063f04e283e146106a5575f80fd5b8063db09da12116100ac578063db09da121461063e578063dcc213611461065d578063dcc59b6f1461067c575f80fd5b8063c884ef83146105fb578063d54ad2a114610629575f80fd5b80638da5cb5b1161011b578063a4d66daf11610101578063a4d66daf146105a8578063bb1757cf146105bd578063be4994f8146105dc575f80fd5b80638da5cb5b146105665780639214fa4d1461057e575f80fd5b8063547d18641461052d57806354d1f13d14610542578063715018a61461054a57806375b238fc14610552575f80fd5b80632de94807116101db578063439fab91116101ab5780634a4ee7b1116101915780634a4ee7b1146104b95780634e7165a2146104cc578063514e62fc146104f8575f80fd5b8063439fab9114610451578063474f5a4414610470575f80fd5b80632de94807146103b657806330db555f146103e757806338d52e0f146104065780634359d28a14610432575f80fd5b80631cd64df411610230578063228cb73311610216578063228cb73314610360578063256929621461037457806328d6183b1461037c575f80fd5b80631cd64df4146102da5780631f1cb62b1461030f575f80fd5b806301ffc9a71461026157806307621eca14610295578063183a4f6e146102b25780631c10893f146102c7575b5f80fd5b34801561026c575f80fd5b5061028061027b366004611655565b61071b565b60405190151581526020015b60405180910390f35b3480156102a0575f80fd5b505f545b60405190815260200161028c565b6102c56102c0366004611694565b610776565b005b6102c56102d53660046116d3565b610783565b3480156102e5575f80fd5b506102806102f43660046116d3565b638b78c6d8600c9081525f9290925260209091205481161490565b34801561031a575f80fd5b5060075461033b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161028c565b34801561036b575f80fd5b506102a45f5481565b6102c5610799565b348015610387575f80fd5b506040517f5658633800000000000000000000000000000000000000000000000000000000815260200161028c565b3480156103c1575f80fd5b506102a46103d03660046116fb565b638b78c6d8600c9081525f91909152602090205490565b3480156103f2575f80fd5b506102c5610401366004611694565b6107e6565b348015610411575f80fd5b5060035461033b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561043d575f80fd5b506102c561044c36600461175c565b6108a2565b34801561045c575f80fd5b506102c561046b366004611806565b61099c565b34801561047b575f80fd5b5061048f61048a366004611806565b610c39565b6040805192835273ffffffffffffffffffffffffffffffffffffffff90911660208301520161028c565b6102c56104c73660046116d3565b610d9b565b3480156104d7575f80fd5b506104eb6104e6366004611806565b610dad565b60405161028c9190611891565b348015610503575f80fd5b506102806105123660046116d3565b638b78c6d8600c9081525f9290925260209091205416151590565b348015610538575f80fd5b506102a460025481565b6102c5610e47565b6102c5610e80565b34801561055d575f80fd5b506102a4600281565b348015610571575f80fd5b50638b78c6d8195461033b565b348015610589575f80fd5b5060075473ffffffffffffffffffffffffffffffffffffffff1661033b565b3480156105b3575f80fd5b506102a460055481565b3480156105c8575f80fd5b506102806105d73660046118a3565b610e93565b3480156105e7575f80fd5b506102c56105f636600461175c565b611071565b348015610606575f80fd5b506102806106153660046116fb565b60016020525f908152604090205460ff1681565b348015610634575f80fd5b506102a460065481565b348015610649575f80fd5b506102806106583660046118a3565b61110f565b348015610668575f80fd5b506102c561067736600461175c565b61114e565b348015610687575f80fd5b506102a460045481565b34801561069c575f80fd5b506102a4600181565b6102c56106b33660046116fb565b6111ec565b6102c56106c63660046116fb565b611226565b3480156106d6575f80fd5b506102806106e53660046116fb565b61124c565b3480156106f5575f80fd5b506102a46107043660046116fb565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f565863380000000000000000000000000000000000000000000000000000000014806107705750610770826112ab565b92915050565b6107803382611300565b50565b61078b61130b565b6107958282611325565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60016107f181611331565b815f0361082a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035461084f9073ffffffffffffffffffffffffffffffffffffffff16333085611362565b8160055f828254610860919061191f565b909155505060408051338152602081018490527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a15050565b60026108ad81611331565b8382146108e6576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610994575f84848381811061090357610903611932565b9050602002016020810190610918919061195f565b905080151560010361095a5761095587878481811061093957610939611932565b905060200201602081019061094e91906116fb565b6001611325565b61098b565b61098b87878481811061096f5761096f611932565b905060200201602081019061098491906116fb565b6001611300565b506001016108e8565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156109ed5760018160011c14303b106109e45763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f6109fb838501856119d4565b905080604001515f1480610a1157506060810151155b15610a48576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015181515f90610a719073ffffffffffffffffffffffffffffffffffffffff16306113c4565b905081811015610ada5782516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018290526044810183905260640160405180910390fd5b82516003805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560208501516007805491909316911617905560408301515f556060830151600555610b4a336113f7565b610b598360800151600161143f565b826020015173ffffffffffffffffffffffffffffffffffffffff16835f015173ffffffffffffffffffffffffffffffffffffffff167fd20715546497e6d32bc9b61b35416a25a8cc41d2fb7f389a1bb26dc040213a3b856040015186606001518760800151604051610bf493929190928352602083019190915273ffffffffffffffffffffffffffffffffffffffff16604082015260600190565b60405180910390a35050508015610c34576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610c4681611331565b5f610c5385870187611afd565b90505f8160200151806020019051810190610c6e9190611b7a565b90508060055f828254610c819190611b91565b90915550508151600354610cae9173ffffffffffffffffffffffffffffffffffffffff9091169083611480565b81516003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610d6c91611891565b60405180910390a260035490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610da361130b565b6107958282611300565b60605f610dbc838501856119d4565b6060818101516040805160808101825260018152845173ffffffffffffffffffffffffffffffffffffffff16602080830191909152308284015282518082018452849052825180820185905283518082038301815290840184529482019490945290519394509092610e2e9201611ba4565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610e8861130b565b610e915f6114d3565b565b5f610e9c61130b565b5f610ea983850185611c47565b90505f8160200151806020019051810190610ec49190611b7a565b9050610ed0868261151d565b610f06576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055481600654610f17919061191f565b1115610f4f576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060065f828254610f60919061191f565b92505081905550600160045f828254610f79919061191f565b9091555050600354610fa29073ffffffffffffffffffffffffffffffffffffffff168783611480565b6003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529188901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8716907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261105d91611891565b60405180910390a250600195945050505050565b600261107c81611331565b8382146110b5576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610994576111078686838181106110d4576110d4611932565b90506020020160208101906110e991906116fb565b8585848181106110fb576110fb611932565b90506020020135611325565b6001016110b7565b5f8061111d83850185611c47565b90505f81602001518060200190518101906111389190611b7a565b9050611144868261151d565b9695505050505050565b600261115981611331565b838214611192576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610994576111e48686838181106111b1576111b1611932565b90506020020160208101906111c691906116fb565b8585848181106111d8576111d8611932565b90506020020135611300565b600101611194565b6111f461130b565b63389a75e1600c52805f526020600c20805442111561121a57636f5e88185f526004601cfd5b5f9055610780816114d3565b61122e61130b565b8060601b61124357637448fbae5f526004601cfd5b610780816114d3565b5f8173ffffffffffffffffffffffffffffffffffffffff16611271638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806107705750638b78c6d8600c9081525f83905260209020546003161515610770565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa9216705000000000000000000000000000000000000000000000000000000001480610770575061077082611568565b61079582825f6115fe565b638b78c6d819543314610e91576382b429005f526004601cfd5b610795828260016115fe565b638b78c6d81954331461078057638b78c6d8600c52335f52806020600c205416610780576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166113b657803d873b1517106113b657637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f5114166114c957803d853b1517106114c9576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526001602052604081205460ff1615801561156157506005548260065461155e919061191f565b11155b9392505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061077057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610770565b638b78c6d8600c52825f526020600c2080548381178361161f575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f60208284031215611665575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611561575f80fd5b5f602082840312156116a4575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146116ce575f80fd5b919050565b5f80604083850312156116e4575f80fd5b6116ed836116ab565b946020939093013593505050565b5f6020828403121561170b575f80fd5b611561826116ab565b5f8083601f840112611724575f80fd5b50813567ffffffffffffffff81111561173b575f80fd5b6020830191508360208260051b8501011115611755575f80fd5b9250929050565b5f805f806040858703121561176f575f80fd5b843567ffffffffffffffff811115611785575f80fd5b61179187828801611714565b909550935050602085013567ffffffffffffffff8111156117b0575f80fd5b6117bc87828801611714565b95989497509550505050565b5f8083601f8401126117d8575f80fd5b50813567ffffffffffffffff8111156117ef575f80fd5b602083019150836020828501011115611755575f80fd5b5f8060208385031215611817575f80fd5b823567ffffffffffffffff81111561182d575f80fd5b611839858286016117c8565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6115616020830184611845565b5f805f604084860312156118b5575f80fd5b6118be846116ab565b9250602084013567ffffffffffffffff8111156118d9575f80fd5b6118e5868287016117c8565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b80820180821115610770576107706118f2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561196f575f80fd5b81358015158114611561575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040805190810167ffffffffffffffff811182821017156119ce576119ce61197e565b60405290565b5f60a08284031280156119e5575f80fd5b5060405160a0810167ffffffffffffffff81118282101715611a0957611a0961197e565b604052611a15836116ab565b8152611a23602084016116ab565b60208201526040838101359082015260608084013590820152611a48608084016116ab565b60808201529392505050565b5f82601f830112611a63575f80fd5b813567ffffffffffffffff811115611a7d57611a7d61197e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff81118282101715611aca57611aca61197e565b604052818152838201602001851015611ae1575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215611b0d575f80fd5b813567ffffffffffffffff811115611b23575f80fd5b820160408185031215611b34575f80fd5b611b3c6119ab565b611b45826116ab565b8152602082013567ffffffffffffffff811115611b60575f80fd5b611b6c86828501611a54565b602083015250949350505050565b5f60208284031215611b8a575f80fd5b5051919050565b81810381811115610770576107706118f2565b602081525f825160038110611be0577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152611c3f60a0840182611845565b949350505050565b5f60208284031215611c57575f80fd5b813567ffffffffffffffff811115611c6d575f80fd5b820160408185031215611c7e575f80fd5b611c866119ab565b813567ffffffffffffffff811115611c9c575f80fd5b611ca886828501611a54565b825250602082013567ffffffffffffffff811115611b60575f80fdfea2646970667358221220ae9431c5aa2e6d904568c209e18398528ed1256e1be4fbeb1526712b5c3f955964736f6c634300081a0033", s = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1, VITE_BOOST_MAINNET_SIGNER_EOA: "0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480", VITE_BOOST_TESTNET_SIGNER_EOA: "0xd63167e9db11B108940b2E8236581F961f33f396" }, t = class t extends K {
19
+ const a0 = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b611cfa806100895f395ff3fe60806040526004361061025d575f3560e01c8063547d18641161014b578063c884ef83116100c6578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b146106b8578063fe9fbb80146106cb578063fee81cf4146106ea575f80fd5b8063ec87621c14610691578063f04e283e146106a5575f80fd5b8063db09da12116100ac578063db09da121461063e578063dcc213611461065d578063dcc59b6f1461067c575f80fd5b8063c884ef83146105fb578063d54ad2a114610629575f80fd5b80638da5cb5b1161011b578063a4d66daf11610101578063a4d66daf146105a8578063bb1757cf146105bd578063be4994f8146105dc575f80fd5b80638da5cb5b146105665780639214fa4d1461057e575f80fd5b8063547d18641461052d57806354d1f13d14610542578063715018a61461054a57806375b238fc14610552575f80fd5b80632de94807116101db578063439fab91116101ab5780634a4ee7b1116101915780634a4ee7b1146104b95780634e7165a2146104cc578063514e62fc146104f8575f80fd5b8063439fab9114610451578063474f5a4414610470575f80fd5b80632de94807146103b657806330db555f146103e757806338d52e0f146104065780634359d28a14610432575f80fd5b80631cd64df411610230578063228cb73311610216578063228cb73314610360578063256929621461037457806328d6183b1461037c575f80fd5b80631cd64df4146102da5780631f1cb62b1461030f575f80fd5b806301ffc9a71461026157806307621eca14610295578063183a4f6e146102b25780631c10893f146102c7575b5f80fd5b34801561026c575f80fd5b5061028061027b366004611655565b61071b565b60405190151581526020015b60405180910390f35b3480156102a0575f80fd5b505f545b60405190815260200161028c565b6102c56102c0366004611694565b610776565b005b6102c56102d53660046116d3565b610783565b3480156102e5575f80fd5b506102806102f43660046116d3565b638b78c6d8600c9081525f9290925260209091205481161490565b34801561031a575f80fd5b5060075461033b9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161028c565b34801561036b575f80fd5b506102a45f5481565b6102c5610799565b348015610387575f80fd5b506040517f5658633800000000000000000000000000000000000000000000000000000000815260200161028c565b3480156103c1575f80fd5b506102a46103d03660046116fb565b638b78c6d8600c9081525f91909152602090205490565b3480156103f2575f80fd5b506102c5610401366004611694565b6107e6565b348015610411575f80fd5b5060035461033b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561043d575f80fd5b506102c561044c36600461175c565b6108a2565b34801561045c575f80fd5b506102c561046b366004611806565b61099c565b34801561047b575f80fd5b5061048f61048a366004611806565b610c39565b6040805192835273ffffffffffffffffffffffffffffffffffffffff90911660208301520161028c565b6102c56104c73660046116d3565b610d9b565b3480156104d7575f80fd5b506104eb6104e6366004611806565b610dad565b60405161028c9190611891565b348015610503575f80fd5b506102806105123660046116d3565b638b78c6d8600c9081525f9290925260209091205416151590565b348015610538575f80fd5b506102a460025481565b6102c5610e47565b6102c5610e80565b34801561055d575f80fd5b506102a4600281565b348015610571575f80fd5b50638b78c6d8195461033b565b348015610589575f80fd5b5060075473ffffffffffffffffffffffffffffffffffffffff1661033b565b3480156105b3575f80fd5b506102a460055481565b3480156105c8575f80fd5b506102806105d73660046118a3565b610e93565b3480156105e7575f80fd5b506102c56105f636600461175c565b611071565b348015610606575f80fd5b506102806106153660046116fb565b60016020525f908152604090205460ff1681565b348015610634575f80fd5b506102a460065481565b348015610649575f80fd5b506102806106583660046118a3565b61110f565b348015610668575f80fd5b506102c561067736600461175c565b61114e565b348015610687575f80fd5b506102a460045481565b34801561069c575f80fd5b506102a4600181565b6102c56106b33660046116fb565b6111ec565b6102c56106c63660046116fb565b611226565b3480156106d6575f80fd5b506102806106e53660046116fb565b61124c565b3480156106f5575f80fd5b506102a46107043660046116fb565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f565863380000000000000000000000000000000000000000000000000000000014806107705750610770826112ab565b92915050565b6107803382611300565b50565b61078b61130b565b6107958282611325565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60016107f181611331565b815f0361082a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035461084f9073ffffffffffffffffffffffffffffffffffffffff16333085611362565b8160055f828254610860919061191f565b909155505060408051338152602081018490527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a15050565b60026108ad81611331565b8382146108e6576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610994575f84848381811061090357610903611932565b9050602002016020810190610918919061195f565b905080151560010361095a5761095587878481811061093957610939611932565b905060200201602081019061094e91906116fb565b6001611325565b61098b565b61098b87878481811061096f5761096f611932565b905060200201602081019061098491906116fb565b6001611300565b506001016108e8565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60113280546003825580156109ed5760018160011c14303b106109e45763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f6109fb838501856119d4565b905080604001515f1480610a1157506060810151155b15610a48576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015181515f90610a719073ffffffffffffffffffffffffffffffffffffffff16306113c4565b905081811015610ada5782516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018290526044810183905260640160405180910390fd5b82516003805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560208501516007805491909316911617905560408301515f556060830151600555610b4a336113f7565b610b598360800151600161143f565b826020015173ffffffffffffffffffffffffffffffffffffffff16835f015173ffffffffffffffffffffffffffffffffffffffff167fd20715546497e6d32bc9b61b35416a25a8cc41d2fb7f389a1bb26dc040213a3b856040015186606001518760800151604051610bf493929190928352602083019190915273ffffffffffffffffffffffffffffffffffffffff16604082015260600190565b60405180910390a35050508015610c34576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610c4681611331565b5f610c5385870187611afd565b90505f8160200151806020019051810190610c6e9190611b7a565b90508060055f828254610c819190611b91565b90915550508151600354610cae9173ffffffffffffffffffffffffffffffffffffffff9091169083611480565b81516003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610d6c91611891565b60405180910390a260035490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610da361130b565b6107958282611300565b60605f610dbc838501856119d4565b6060818101516040805160808101825260018152845173ffffffffffffffffffffffffffffffffffffffff16602080830191909152308284015282518082018452849052825180820185905283518082038301815290840184529482019490945290519394509092610e2e9201611ba4565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610e8861130b565b610e915f6114d3565b565b5f610e9c61130b565b5f610ea983850185611c47565b90505f8160200151806020019051810190610ec49190611b7a565b9050610ed0868261151d565b610f06576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055481600654610f17919061191f565b1115610f4f576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060065f828254610f60919061191f565b92505081905550600160045f828254610f79919061191f565b9091555050600354610fa29073ffffffffffffffffffffffffffffffffffffffff168783611480565b6003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529188901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8716907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261105d91611891565b60405180910390a250600195945050505050565b600261107c81611331565b8382146110b5576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610994576111078686838181106110d4576110d4611932565b90506020020160208101906110e991906116fb565b8585848181106110fb576110fb611932565b90506020020135611325565b6001016110b7565b5f8061111d83850185611c47565b90505f81602001518060200190518101906111389190611b7a565b9050611144868261151d565b9695505050505050565b600261115981611331565b838214611192576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610994576111e48686838181106111b1576111b1611932565b90506020020160208101906111c691906116fb565b8585848181106111d8576111d8611932565b90506020020135611300565b600101611194565b6111f461130b565b63389a75e1600c52805f526020600c20805442111561121a57636f5e88185f526004601cfd5b5f9055610780816114d3565b61122e61130b565b8060601b61124357637448fbae5f526004601cfd5b610780816114d3565b5f8173ffffffffffffffffffffffffffffffffffffffff16611271638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806107705750638b78c6d8600c9081525f83905260209020546003161515610770565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa9216705000000000000000000000000000000000000000000000000000000001480610770575061077082611568565b61079582825f6115fe565b638b78c6d819543314610e91576382b429005f526004601cfd5b610795828260016115fe565b638b78c6d81954331461078057638b78c6d8600c52335f52806020600c205416610780576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166113b657803d873b1517106113b657637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f5114166114c957803d853b1517106114c9576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526001602052604081205460ff1615801561156157506005548260065461155e919061191f565b11155b9392505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061077057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610770565b638b78c6d8600c52825f526020600c2080548381178361161f575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f60208284031215611665575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611561575f80fd5b5f602082840312156116a4575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146116ce575f80fd5b919050565b5f80604083850312156116e4575f80fd5b6116ed836116ab565b946020939093013593505050565b5f6020828403121561170b575f80fd5b611561826116ab565b5f8083601f840112611724575f80fd5b50813567ffffffffffffffff81111561173b575f80fd5b6020830191508360208260051b8501011115611755575f80fd5b9250929050565b5f805f806040858703121561176f575f80fd5b843567ffffffffffffffff811115611785575f80fd5b61179187828801611714565b909550935050602085013567ffffffffffffffff8111156117b0575f80fd5b6117bc87828801611714565b95989497509550505050565b5f8083601f8401126117d8575f80fd5b50813567ffffffffffffffff8111156117ef575f80fd5b602083019150836020828501011115611755575f80fd5b5f8060208385031215611817575f80fd5b823567ffffffffffffffff81111561182d575f80fd5b611839858286016117c8565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6115616020830184611845565b5f805f604084860312156118b5575f80fd5b6118be846116ab565b9250602084013567ffffffffffffffff8111156118d9575f80fd5b6118e5868287016117c8565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b80820180821115610770576107706118f2565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6020828403121561196f575f80fd5b81358015158114611561575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040805190810167ffffffffffffffff811182821017156119ce576119ce61197e565b60405290565b5f60a08284031280156119e5575f80fd5b5060405160a0810167ffffffffffffffff81118282101715611a0957611a0961197e565b604052611a15836116ab565b8152611a23602084016116ab565b60208201526040838101359082015260608084013590820152611a48608084016116ab565b60808201529392505050565b5f82601f830112611a63575f80fd5b813567ffffffffffffffff811115611a7d57611a7d61197e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff81118282101715611aca57611aca61197e565b604052818152838201602001851015611ae1575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215611b0d575f80fd5b813567ffffffffffffffff811115611b23575f80fd5b820160408185031215611b34575f80fd5b611b3c6119ab565b611b45826116ab565b8152602082013567ffffffffffffffff811115611b60575f80fd5b611b6c86828501611a54565b602083015250949350505050565b5f60208284031215611b8a575f80fd5b5051919050565b81810381811115610770576107706118f2565b602081525f825160038110611be0577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff60408401511660608301526060830151608080840152611c3f60a0840182611845565b949350505050565b5f60208284031215611c57575f80fd5b813567ffffffffffffffff811115611c6d575f80fd5b820160408185031215611c7e575f80fd5b611c866119ab565b813567ffffffffffffffff811115611c9c575f80fd5b611ca886828501611a54565b825250602082013567ffffffffffffffff811115611b60575f80fdfea2646970667358221220c0f5d5641b2c8bca0ea50397ad3d97ecdf8f0c543579804d5e4dfcbe4a12c07364736f6c634300081a0033", s = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1, VITE_BOOST_MAINNET_SIGNER_EOA: "0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480", VITE_BOOST_TESTNET_SIGNER_EOA: "0xd63167e9db11B108940b2E8236581F961f33f396" }, t = class t extends $ {
20
20
  constructor() {
21
21
  super(...arguments), this.abi = n;
22
22
  }
@@ -77,7 +77,7 @@ const a0 = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd1980
77
77
  * @returns {Promise<bigint>}
78
78
  */
79
79
  async totalClaimed(f) {
80
- return await C(this._config, {
80
+ return await A(this._config, {
81
81
  address: this.assertValidAddress(),
82
82
  args: [],
83
83
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -94,7 +94,7 @@ const a0 = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd1980
94
94
  * @returns {Promise<boolean>}
95
95
  */
96
96
  async claimed(f, b) {
97
- return await w(this._config, {
97
+ return await C(this._config, {
98
98
  address: this.assertValidAddress(),
99
99
  args: [f],
100
100
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -110,7 +110,7 @@ const a0 = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd1980
110
110
  * @returns {Promise<Address>}
111
111
  */
112
112
  async asset(f) {
113
- return await A(this._config, {
113
+ return await w(this._config, {
114
114
  address: this.assertValidAddress(),
115
115
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
116
116
  ...f
@@ -125,7 +125,7 @@ const a0 = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd1980
125
125
  * @returns {Promise<Address>}
126
126
  */
127
127
  async peg(f) {
128
- return await I(this._config, {
128
+ return await E(this._config, {
129
129
  address: this.assertValidAddress(),
130
130
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
131
131
  ...f
@@ -140,7 +140,7 @@ const a0 = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd1980
140
140
  * @returns {Promise<bigint>}
141
141
  */
142
142
  async reward(f) {
143
- return await E(this._config, {
143
+ return await I(this._config, {
144
144
  address: this.assertValidAddress(),
145
145
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
146
146
  ...f
@@ -239,7 +239,7 @@ const a0 = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd1980
239
239
  * @returns {Promise<boolean>} = True if the incentive is claimable based on the data payload
240
240
  */
241
241
  async isClaimable(f, b) {
242
- return await P(this._config, {
242
+ return await _(this._config, {
243
243
  address: this.assertValidAddress(),
244
244
  args: [f.target, f.data],
245
245
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -255,7 +255,7 @@ const a0 = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd1980
255
255
  * @returns {Promise<Address>} = The address of the token the reward is pegged to
256
256
  */
257
257
  async getPeg(f) {
258
- return await _(this._config, {
258
+ return await P(this._config, {
259
259
  address: this.assertValidAddress(),
260
260
  args: [],
261
261
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -392,8 +392,8 @@ const a0 = "0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd1980
392
392
  };
393
393
  t.bases = {
394
394
  ...s != null && s.VITE_ERC20_INCENTIVE_BASE ? { 31337: void 0 } : {},
395
- ...J
396
- }, t.registryType = Q.INCENTIVE;
395
+ ...U
396
+ }, t.registryType = K.INCENTIVE;
397
397
  let r = t;
398
398
  function m({
399
399
  asset: d,
@@ -415,18 +415,18 @@ function m({
415
415
  }
416
416
  const h = {
417
417
  [B]: b0,
418
- [N]: H,
418
+ [N]: Q,
419
419
  [S]: W,
420
420
  [k]: X,
421
421
  [x]: r,
422
- [G]: U,
422
+ [G]: H,
423
423
  // [AERC1155Incentive as Hex]: ERC1155Incentive,
424
- [j]: $,
424
+ [j]: J,
425
425
  [q]: f0,
426
426
  [F]: Z,
427
427
  [L]: Y
428
428
  };
429
- async function A0(d, f, b) {
429
+ async function w0(d, f, b) {
430
430
  const a = await M(d.config, {
431
431
  abi: T,
432
432
  functionName: "getComponentInterface",
@@ -443,7 +443,7 @@ async function A0(d, f, b) {
443
443
  export {
444
444
  r as E,
445
445
  h as I,
446
- A0 as i,
446
+ w0 as i,
447
447
  m as p
448
448
  };
449
- //# sourceMappingURL=Incentive-CeoEla-t.js.map
449
+ //# sourceMappingURL=Incentive-D1sYPD0W.js.map