@boostxyz/sdk 0.0.0-alpha.3 → 0.0.0-alpha.6

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 (176) hide show
  1. package/dist/Actions/Action.cjs +2 -1
  2. package/dist/Actions/Action.cjs.map +1 -0
  3. package/dist/Actions/Action.d.ts +1 -1
  4. package/dist/Actions/Action.d.ts.map +1 -1
  5. package/dist/Actions/Action.js +15 -13
  6. package/dist/Actions/Action.js.map +1 -0
  7. package/dist/Actions/EventAction.cjs +1 -0
  8. package/dist/Actions/EventAction.cjs.map +1 -0
  9. package/dist/Actions/EventAction.js +1 -0
  10. package/dist/Actions/EventAction.js.map +1 -0
  11. package/dist/AllowLists/AllowList.cjs +2 -1
  12. package/dist/AllowLists/AllowList.cjs.map +1 -0
  13. package/dist/AllowLists/AllowList.d.ts +1 -2
  14. package/dist/AllowLists/AllowList.d.ts.map +1 -1
  15. package/dist/AllowLists/AllowList.js +16 -14
  16. package/dist/AllowLists/AllowList.js.map +1 -0
  17. package/dist/AllowLists/SimpleAllowList.cjs +1 -0
  18. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -0
  19. package/dist/AllowLists/SimpleAllowList.js +1 -0
  20. package/dist/AllowLists/SimpleAllowList.js.map +1 -0
  21. package/dist/AllowLists/SimpleDenyList.cjs +1 -0
  22. package/dist/AllowLists/SimpleDenyList.cjs.map +1 -0
  23. package/dist/AllowLists/SimpleDenyList.js +1 -0
  24. package/dist/AllowLists/SimpleDenyList.js.map +1 -0
  25. package/dist/Auth/Auth.cjs +1 -0
  26. package/dist/Auth/Auth.cjs.map +1 -0
  27. package/dist/Auth/Auth.js +1 -0
  28. package/dist/Auth/Auth.js.map +1 -0
  29. package/dist/Auth/PassthroughAuth.cjs +1 -0
  30. package/dist/Auth/PassthroughAuth.cjs.map +1 -0
  31. package/dist/Auth/PassthroughAuth.js +1 -0
  32. package/dist/Auth/PassthroughAuth.js.map +1 -0
  33. package/dist/Boost.cjs +1 -0
  34. package/dist/Boost.cjs.map +1 -0
  35. package/dist/Boost.js +1 -0
  36. package/dist/Boost.js.map +1 -0
  37. package/dist/BoostCore.cjs +1 -0
  38. package/dist/BoostCore.cjs.map +1 -0
  39. package/dist/BoostCore.js +1 -0
  40. package/dist/BoostCore.js.map +1 -0
  41. package/dist/BoostRegistry.cjs +1 -0
  42. package/dist/BoostRegistry.cjs.map +1 -0
  43. package/dist/BoostRegistry.js +1 -0
  44. package/dist/BoostRegistry.js.map +1 -0
  45. package/dist/Budgets/Budget.cjs +2 -1
  46. package/dist/Budgets/Budget.cjs.map +1 -0
  47. package/dist/Budgets/Budget.d.ts +1 -1
  48. package/dist/Budgets/Budget.d.ts.map +1 -1
  49. package/dist/Budgets/Budget.js +14 -12
  50. package/dist/Budgets/Budget.js.map +1 -0
  51. package/dist/Budgets/ManagedBudget.cjs +1 -0
  52. package/dist/Budgets/ManagedBudget.cjs.map +1 -0
  53. package/dist/Budgets/ManagedBudget.js +1 -0
  54. package/dist/Budgets/ManagedBudget.js.map +1 -0
  55. package/dist/Deployable/Contract.cjs +1 -0
  56. package/dist/Deployable/Contract.cjs.map +1 -0
  57. package/dist/Deployable/Contract.js +1 -0
  58. package/dist/Deployable/Contract.js.map +1 -0
  59. package/dist/Deployable/Deployable.cjs +1 -0
  60. package/dist/Deployable/Deployable.cjs.map +1 -0
  61. package/dist/Deployable/Deployable.js +1 -0
  62. package/dist/Deployable/Deployable.js.map +1 -0
  63. package/dist/Deployable/DeployableTarget.cjs +1 -0
  64. package/dist/Deployable/DeployableTarget.cjs.map +1 -0
  65. package/dist/Deployable/DeployableTarget.js +1 -0
  66. package/dist/Deployable/DeployableTarget.js.map +1 -0
  67. package/dist/Incentives/AllowListIncentive.cjs +1 -0
  68. package/dist/Incentives/AllowListIncentive.cjs.map +1 -0
  69. package/dist/Incentives/AllowListIncentive.js +1 -0
  70. package/dist/Incentives/AllowListIncentive.js.map +1 -0
  71. package/dist/Incentives/CGDAIncentive.cjs +1 -0
  72. package/dist/Incentives/CGDAIncentive.cjs.map +1 -0
  73. package/dist/Incentives/CGDAIncentive.js +1 -0
  74. package/dist/Incentives/CGDAIncentive.js.map +1 -0
  75. package/dist/Incentives/ERC20Incentive.cjs +1 -0
  76. package/dist/Incentives/ERC20Incentive.cjs.map +1 -0
  77. package/dist/Incentives/ERC20Incentive.js +1 -0
  78. package/dist/Incentives/ERC20Incentive.js.map +1 -0
  79. package/dist/Incentives/Incentive.cjs +2 -1
  80. package/dist/Incentives/Incentive.cjs.map +1 -0
  81. package/dist/Incentives/Incentive.d.ts +1 -4
  82. package/dist/Incentives/Incentive.d.ts.map +1 -1
  83. package/dist/Incentives/Incentive.js +39 -36
  84. package/dist/Incentives/Incentive.js.map +1 -0
  85. package/dist/Incentives/PointsIncentive.cjs +1 -0
  86. package/dist/Incentives/PointsIncentive.cjs.map +1 -0
  87. package/dist/Incentives/PointsIncentive.js +1 -0
  88. package/dist/Incentives/PointsIncentive.js.map +1 -0
  89. package/dist/Validators/SignerValidator.cjs +1 -0
  90. package/dist/Validators/SignerValidator.cjs.map +1 -0
  91. package/dist/Validators/SignerValidator.js +1 -0
  92. package/dist/Validators/SignerValidator.js.map +1 -0
  93. package/dist/Validators/Validator.cjs +2 -1
  94. package/dist/Validators/Validator.cjs.map +1 -0
  95. package/dist/Validators/Validator.d.ts +1 -1
  96. package/dist/Validators/Validator.d.ts.map +1 -1
  97. package/dist/Validators/Validator.js +9 -7
  98. package/dist/Validators/Validator.js.map +1 -0
  99. package/dist/componentInterfaces-CKCBwG16.cjs +2 -0
  100. package/dist/componentInterfaces-CKCBwG16.cjs.map +1 -0
  101. package/dist/componentInterfaces-DYkaxBda.js +13 -0
  102. package/dist/componentInterfaces-DYkaxBda.js.map +1 -0
  103. package/dist/errors.cjs +1 -0
  104. package/dist/errors.cjs.map +1 -0
  105. package/dist/errors.js +1 -0
  106. package/dist/errors.js.map +1 -0
  107. package/dist/generated-Cd-Fe7W7.cjs +1 -0
  108. package/dist/generated-Cd-Fe7W7.cjs.map +1 -0
  109. package/dist/generated-DGpIVcv5.js +1 -0
  110. package/dist/generated-DGpIVcv5.js.map +1 -0
  111. package/dist/index.cjs +1 -0
  112. package/dist/index.cjs.map +1 -0
  113. package/dist/index.js +1 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/utils.cjs +1 -0
  116. package/dist/utils.cjs.map +1 -0
  117. package/dist/utils.d.ts +1 -1
  118. package/dist/utils.d.ts.map +1 -1
  119. package/dist/utils.js +1 -0
  120. package/dist/utils.js.map +1 -0
  121. package/package.json +5 -3
  122. package/src/Actions/Action.test.ts +77 -0
  123. package/src/Actions/Action.ts +61 -0
  124. package/src/Actions/ContractAction.test.ts +199 -0
  125. package/src/Actions/ContractAction.ts +238 -0
  126. package/src/Actions/ERC721MintAction.test.ts +112 -0
  127. package/src/Actions/ERC721MintAction.ts +238 -0
  128. package/src/Actions/EventAction.test.ts +182 -0
  129. package/src/Actions/EventAction.ts +382 -0
  130. package/src/AllowLists/AllowList.test.ts +64 -0
  131. package/src/AllowLists/AllowList.ts +60 -0
  132. package/src/AllowLists/SimpleAllowList.test.ts +52 -0
  133. package/src/AllowLists/SimpleAllowList.ts +240 -0
  134. package/src/AllowLists/SimpleDenyList.test.ts +52 -0
  135. package/src/AllowLists/SimpleDenyList.ts +289 -0
  136. package/src/Auth/Auth.ts +11 -0
  137. package/src/Auth/PassthroughAuth.test.ts +12 -0
  138. package/src/Auth/PassthroughAuth.ts +80 -0
  139. package/src/Boost.ts +155 -0
  140. package/src/BoostCore.test.ts +846 -0
  141. package/src/BoostCore.ts +1192 -0
  142. package/src/BoostRegistry.ts +449 -0
  143. package/src/Budgets/Budget.test.ts +27 -0
  144. package/src/Budgets/Budget.ts +61 -0
  145. package/src/Budgets/ManagedBudget.test.ts +154 -0
  146. package/src/Budgets/ManagedBudget.ts +743 -0
  147. package/src/Budgets/SimpleBudget.test.ts +152 -0
  148. package/src/Budgets/SimpleBudget.ts +521 -0
  149. package/src/Budgets/VestingBudget.test.ts +123 -0
  150. package/src/Budgets/VestingBudget.ts +532 -0
  151. package/src/Deployable/Contract.ts +229 -0
  152. package/src/Deployable/Deployable.ts +244 -0
  153. package/src/Deployable/DeployableTarget.ts +210 -0
  154. package/src/Incentives/AllowListIncentive.test.ts +146 -0
  155. package/src/Incentives/AllowListIncentive.ts +290 -0
  156. package/src/Incentives/CGDAIncentive.test.ts +136 -0
  157. package/src/Incentives/CGDAIncentive.ts +364 -0
  158. package/src/Incentives/ERC1155Incentive.test.ts +98 -0
  159. package/src/Incentives/ERC1155Incentive.ts +384 -0
  160. package/src/Incentives/ERC20Incentive.test.ts +141 -0
  161. package/src/Incentives/ERC20Incentive.ts +417 -0
  162. package/src/Incentives/ERC20VariableIncentive.test.ts +156 -0
  163. package/src/Incentives/ERC20VariableIncentive.ts +368 -0
  164. package/src/Incentives/Incentive.test.ts +92 -0
  165. package/src/Incentives/Incentive.ts +85 -0
  166. package/src/Incentives/PointsIncentive.test.ts +142 -0
  167. package/src/Incentives/PointsIncentive.ts +303 -0
  168. package/src/Validators/SignerValidator.test.ts +163 -0
  169. package/src/Validators/SignerValidator.ts +272 -0
  170. package/src/Validators/Validator.test.ts +21 -0
  171. package/src/Validators/Validator.ts +55 -0
  172. package/src/errors.ts +524 -0
  173. package/src/index.test.ts +40 -0
  174. package/src/index.ts +50 -0
  175. package/src/utils.test.ts +44 -0
  176. package/src/utils.ts +2247 -0
@@ -19,11 +19,8 @@ export type Incentive = AllowListIncentive | CGDAIncentive | ERC20Incentive | Po
19
19
  * @type {{ "0xc5b24b8e": typeof PointsIncentive; "0x8c901437": typeof ERC20Incentive; "0x0a466e6f": typeof AllowListIncentive; "0xa39e44d9": typeof CGDAIncentive; "0x6060409d": typeof ERC20VariableIncentive }}
20
20
  */
21
21
  export declare const IncentiveByComponentInterface: {
22
- "0xc5b24b8e": typeof PointsIncentive;
23
- "0x8c901437": typeof ERC20Incentive;
22
+ [x: string]: typeof AllowListIncentive | typeof CGDAIncentive | typeof ERC20Incentive | typeof ERC20VariableIncentive | typeof PointsIncentive;
24
23
  "0x0a466e6f": typeof AllowListIncentive;
25
- "0xa39e44d9": typeof CGDAIncentive;
26
- "0x6060409d": typeof ERC20VariableIncentive;
27
24
  };
28
25
  /**
29
26
  * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.
@@ -1 +1 @@
1
- {"version":3,"file":"Incentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/Incentive.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,kBAAkB,EAClB,aAAa,EAEb,cAAc,EACd,eAAe,EACf,sBAAsB,GACvB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GACjB,kBAAkB,GAClB,aAAa,GACb,cAAc,GAEd,eAAe,GACf,sBAAsB,CAAC;AAE3B;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;;;;CAOzC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,2GAejB"}
1
+ {"version":3,"file":"Incentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/Incentive.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,kBAAkB,EAClB,aAAa,EAEb,cAAc,EACd,eAAe,EACf,sBAAsB,GACvB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GACjB,kBAAkB,GAClB,aAAa,GACb,cAAc,GAEd,eAAe,GACf,sBAAsB,CAAC;AAE3B;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;CAQzC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,2GAejB"}
@@ -1,13 +1,14 @@
1
- import { a_ as r, a$ as o, b0 as h, b1 as l, b2 as m, b3 as u, b4 as g, b5 as y, b6 as p, b7 as w, b8 as A, b9 as _, ba as C, bb as I, bc as V } from "../generated-DGpIVcv5.js";
2
- import { readContract as x } from "@wagmi/core";
3
- import { InvalidComponentInterfaceError as R } from "../errors.js";
4
- import { AllowListIncentive as v } from "./AllowListIncentive.js";
5
- import { CGDAIncentive as k } from "./CGDAIncentive.js";
6
- import { ERC20Incentive as D } from "./ERC20Incentive.js";
7
- import { DeployableTarget as N } from "../Deployable/DeployableTarget.js";
8
- import { RegistryType as P, prepareClaimPayload as c, prepareERC20VariableIncentivePayload as T } from "../utils.js";
9
- import { PointsIncentive as B } from "./PointsIncentive.js";
10
- const q = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611c07806100bd5f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100aa578063d54ad2a11161006e578063d54ad2a11461039b578063db09da12146103c5578063dcc59b6f14610401578063f04e283e1461042b578063f2fde38b14610447578063fee81cf41461046357610129565b8063715018a6146102c55780638da5cb5b146102cf578063a4d66daf146102f9578063bb1757cf14610323578063c884ef831461035f57610129565b806338d52e0f116100f157806338d52e0f146101f1578063439fab911461021b578063474f5a44146102435780634e7165a21461027f57806354d1f13d146102bb57610129565b806301ffc9a71461012d57806307621eca14610169578063228cb7331461019357806325692962146101bd57806328d6183b146101c7575b5f80fd5b348015610138575f80fd5b50610153600480360381019061014e9190611115565b61049f565b604051610160919061115a565b60405180910390f35b348015610174575f80fd5b5061017d610518565b60405161018a919061118b565b60405180910390f35b34801561019e575f80fd5b506101a7610521565b6040516101b4919061118b565b60405180910390f35b6101c5610527565b005b3480156101d2575f80fd5b506101db610578565b6040516101e891906111b3565b60405180910390f35b3480156101fc575f80fd5b5061020561059f565b604051610212919061120b565b60405180910390f35b348015610226575f80fd5b50610241600480360381019061023c9190611285565b6105c4565b005b34801561024e575f80fd5b5061026960048036038101906102649190611285565b610780565b604051610276919061115a565b60405180910390f35b34801561028a575f80fd5b506102a560048036038101906102a09190611285565b6108c1565b6040516102b29190611340565b60405180910390f35b6102c3610992565b005b6102cd6109cb565b005b3480156102da575f80fd5b506102e36109de565b6040516102f0919061120b565b60405180910390f35b348015610304575f80fd5b5061030d610a06565b60405161031a919061118b565b60405180910390f35b34801561032e575f80fd5b506103496004803603810190610344919061138a565b610a0c565b604051610356919061115a565b60405180910390f35b34801561036a575f80fd5b50610385600480360381019061038091906113e7565b610c04565b604051610392919061115a565b60405180910390f35b3480156103a6575f80fd5b506103af610c21565b6040516103bc919061118b565b60405180910390f35b3480156103d0575f80fd5b506103eb60048036038101906103e6919061138a565b610c27565b6040516103f8919061115a565b60405180910390f35b34801561040c575f80fd5b50610415610c3a565b604051610422919061118b565b60405180910390f35b610445600480360381019061044091906113e7565b610c3f565b005b610461600480360381019061045c91906113e7565b610c7d565b005b34801561046e575f80fd5b50610489600480360381019061048491906113e7565b610ca6565b604051610496919061118b565b60405180910390f35b5f7f6060409d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610511575061051082610cbf565b5b9050919050565b5f600154905090565b60015481565b5f610530610d38565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f6060409d00000000000000000000000000000000000000000000000000000000905090565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6105cd610d42565b905080546003825580156105ff5760018160011c14303b106105f65763f92ee8a95f526004601cfd5b818160ff1b1b91505b5061060933610d6b565b5f8383810190610619919061151d565b90505f815f015190505f826020015190505f836040015190505f810361066b576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610695308573ffffffffffffffffffffffffffffffffffffffff16610e4190919063ffffffff16565b9050818110156106e357845f015181836040517f5c54305e0000000000000000000000000000000000000000000000000000000081526004016106da93929190611548565b60405180910390fd5b8360035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600181905550816004819055505f60058190555061074133610d6b565b5050505050801561077b576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f610789610e74565b5f83838101906107999190611696565b90505f81602001518060200190518101906107b491906116f1565b90508060045f8282546107c79190611749565b9250508190555061081d825f01518260035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eab9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610891939291906117e1565b6040516020818303038152906040526040516108ad9190611340565b60405180910390a260019250505092915050565b60605f805f85858101906108d59190611858565b9250925092506040518060800160405280600160028111156108fa576108f96118a8565b5b81526020018473ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052808481525060405160200161095691906118fe565b6040516020818303038152906040528152506040516020016109789190611a14565b604051602081830303815290604052935050505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b6109d3610e74565b6109dc5f610ef4565b565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b5f610a15610e74565b5f8383810190610a259190611ab9565b90505f8160200151806020019051810190610a4091906116f1565b90505f610a4c87610fba565b610a82576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60015403610a9357819050610ab7565b670de0b6b3a764000082600154610aaa9190611b00565b610ab49190611b6e565b90505b60045481600554610ac89190611b9e565b1115610b00576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f828254610b119190611b9e565b92505081905550610b64878260035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eab9092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168984604051602001610bd2939291906117e1565b604051602081830303815290604052604051610bee9190611340565b60405180910390a2600193505050509392505050565b6002602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f610c3184610fba565b90509392505050565b5f5481565b610c47610e74565b63389a75e1600c52805f526020600c208054421115610c6d57636f5e88185f526004601cfd5b5f815550610c7a81610ef4565b50565b610c85610e74565b8060601b610c9a57637448fbae5f526004601cfd5b610ca381610ef4565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f5970a689000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610d315750610d3082610fc9565b5b9050919050565b5f6202a300905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610d73611042565b15610deb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610dad57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610e3e565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610ea9576382b429005f526004601cfd5b565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f51141716610eeb576390b8ec185f526004601cfd5b5f603452505050565b610efc611042565b15610f61577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610fb7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454600554109050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061103b575061103a82611046565b5b9050919050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6110f4816110c0565b81146110fe575f80fd5b50565b5f8135905061110f816110eb565b92915050565b5f6020828403121561112a576111296110b8565b5b5f61113784828501611101565b91505092915050565b5f8115159050919050565b61115481611140565b82525050565b5f60208201905061116d5f83018461114b565b92915050565b5f819050919050565b61118581611173565b82525050565b5f60208201905061119e5f83018461117c565b92915050565b6111ad816110c0565b82525050565b5f6020820190506111c65f8301846111a4565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6111f5826111cc565b9050919050565b611205816111eb565b82525050565b5f60208201905061121e5f8301846111fc565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261124557611244611224565b5b8235905067ffffffffffffffff81111561126257611261611228565b5b60208301915083600182028301111561127e5761127d61122c565b5b9250929050565b5f806020838503121561129b5761129a6110b8565b5b5f83013567ffffffffffffffff8111156112b8576112b76110bc565b5b6112c485828601611230565b92509250509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611312826112d0565b61131c81856112da565b935061132c8185602086016112ea565b611335816112f8565b840191505092915050565b5f6020820190508181035f8301526113588184611308565b905092915050565b611369816111eb565b8114611373575f80fd5b50565b5f8135905061138481611360565b92915050565b5f805f604084860312156113a1576113a06110b8565b5b5f6113ae86828701611376565b935050602084013567ffffffffffffffff8111156113cf576113ce6110bc565b5b6113db86828701611230565b92509250509250925092565b5f602082840312156113fc576113fb6110b8565b5b5f61140984828501611376565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61144c826112f8565b810181811067ffffffffffffffff8211171561146b5761146a611416565b5b80604052505050565b5f61147d6110af565b90506114898282611443565b919050565b5f80fd5b61149b81611173565b81146114a5575f80fd5b50565b5f813590506114b681611492565b92915050565b5f606082840312156114d1576114d0611412565b5b6114db6060611474565b90505f6114ea84828501611376565b5f8301525060206114fd848285016114a8565b6020830152506040611511848285016114a8565b60408301525092915050565b5f60608284031215611532576115316110b8565b5b5f61153f848285016114bc565b91505092915050565b5f60608201905061155b5f8301866111fc565b611568602083018561117c565b611575604083018461117c565b949350505050565b5f80fd5b5f67ffffffffffffffff82111561159b5761159a611416565b5b6115a4826112f8565b9050602081019050919050565b828183375f83830152505050565b5f6115d16115cc84611581565b611474565b9050828152602081018484840111156115ed576115ec61157d565b5b6115f88482856115b1565b509392505050565b5f82601f83011261161457611613611224565b5b81356116248482602086016115bf565b91505092915050565b5f6040828403121561164257611641611412565b5b61164c6040611474565b90505f61165b84828501611376565b5f83015250602082013567ffffffffffffffff81111561167e5761167d61148e565b5b61168a84828501611600565b60208301525092915050565b5f602082840312156116ab576116aa6110b8565b5b5f82013567ffffffffffffffff8111156116c8576116c76110bc565b5b6116d48482850161162d565b91505092915050565b5f815190506116eb81611492565b92915050565b5f60208284031215611706576117056110b8565b5b5f611713848285016116dd565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61175382611173565b915061175e83611173565b92508282039050818111156117765761177561171c565b5b92915050565b5f8160601b9050919050565b5f6117928261177c565b9050919050565b5f6117a382611788565b9050919050565b6117bb6117b6826111eb565b611799565b82525050565b5f819050919050565b6117db6117d682611173565b6117c1565b82525050565b5f6117ec82866117aa565b6014820191506117fc82856117aa565b60148201915061180c82846117ca565b602082019150819050949350505050565b5f611827826111cc565b9050919050565b6118378161181d565b8114611841575f80fd5b50565b5f813590506118528161182e565b92915050565b5f805f6060848603121561186f5761186e6110b8565b5b5f61187c86828701611844565b935050602061188d868287016114a8565b925050604061189e868287016114a8565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6118de81611173565b82525050565b602082015f8201516118f85f8501826118d5565b50505050565b5f6020820190506119115f8301846118e4565b92915050565b60038110611928576119276118a8565b5b50565b5f81905061193882611917565b919050565b5f6119478261192b565b9050919050565b6119578161193d565b82525050565b611966816111eb565b82525050565b5f82825260208201905092915050565b5f611986826112d0565b611990818561196c565b93506119a08185602086016112ea565b6119a9816112f8565b840191505092915050565b5f608083015f8301516119c95f86018261194e565b5060208301516119dc602086018261195d565b5060408301516119ef604086018261195d565b5060608301518482036060860152611a07828261197c565b9150508091505092915050565b5f6020820190508181035f830152611a2c81846119b4565b905092915050565b5f60408284031215611a4957611a48611412565b5b611a536040611474565b90505f82013567ffffffffffffffff811115611a7257611a7161148e565b5b611a7e84828501611600565b5f83015250602082013567ffffffffffffffff811115611aa157611aa061148e565b5b611aad84828501611600565b60208301525092915050565b5f60208284031215611ace57611acd6110b8565b5b5f82013567ffffffffffffffff811115611aeb57611aea6110bc565b5b611af784828501611a34565b91505092915050565b5f611b0a82611173565b9150611b1583611173565b9250828202611b2381611173565b91508282048414831517611b3a57611b3961171c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b7882611173565b9150611b8383611173565b925082611b9357611b92611b41565b5b828204905092915050565b5f611ba882611173565b9150611bb383611173565b9250828201905080821115611bcb57611bca61171c565b5b9291505056fea2646970667358221220a9439a260a68f54e27503ba4a35d38eead0eee9484d16611fb206387bc2ede8564736f6c634300081a0033", d = class d extends N {
1
+ import { a_ as r, a$ as o, b0 as h, b1 as l, b2 as m, b3 as u, b4 as g, b5 as y, b6 as p, b7 as A, b8 as w, b9 as C, ba as I, bb as _, bc as V } from "../generated-DGpIVcv5.js";
2
+ import { e as v, f as R, g as x, h as D } from "../componentInterfaces-DYkaxBda.js";
3
+ import { readContract as P } from "@wagmi/core";
4
+ import { InvalidComponentInterfaceError as k } from "../errors.js";
5
+ import { AllowListIncentive as E } from "./AllowListIncentive.js";
6
+ import { CGDAIncentive as N } from "./CGDAIncentive.js";
7
+ import { ERC20Incentive as T } from "./ERC20Incentive.js";
8
+ import { DeployableTarget as B } from "../Deployable/DeployableTarget.js";
9
+ import { RegistryType as G, prepareClaimPayload as d, prepareERC20VariableIncentivePayload as q } from "../utils.js";
10
+ import { PointsIncentive as j } from "./PointsIncentive.js";
11
+ const F = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611c07806100bd5f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100aa578063d54ad2a11161006e578063d54ad2a11461039b578063db09da12146103c5578063dcc59b6f14610401578063f04e283e1461042b578063f2fde38b14610447578063fee81cf41461046357610129565b8063715018a6146102c55780638da5cb5b146102cf578063a4d66daf146102f9578063bb1757cf14610323578063c884ef831461035f57610129565b806338d52e0f116100f157806338d52e0f146101f1578063439fab911461021b578063474f5a44146102435780634e7165a21461027f57806354d1f13d146102bb57610129565b806301ffc9a71461012d57806307621eca14610169578063228cb7331461019357806325692962146101bd57806328d6183b146101c7575b5f80fd5b348015610138575f80fd5b50610153600480360381019061014e9190611115565b61049f565b604051610160919061115a565b60405180910390f35b348015610174575f80fd5b5061017d610518565b60405161018a919061118b565b60405180910390f35b34801561019e575f80fd5b506101a7610521565b6040516101b4919061118b565b60405180910390f35b6101c5610527565b005b3480156101d2575f80fd5b506101db610578565b6040516101e891906111b3565b60405180910390f35b3480156101fc575f80fd5b5061020561059f565b604051610212919061120b565b60405180910390f35b348015610226575f80fd5b50610241600480360381019061023c9190611285565b6105c4565b005b34801561024e575f80fd5b5061026960048036038101906102649190611285565b610780565b604051610276919061115a565b60405180910390f35b34801561028a575f80fd5b506102a560048036038101906102a09190611285565b6108c1565b6040516102b29190611340565b60405180910390f35b6102c3610992565b005b6102cd6109cb565b005b3480156102da575f80fd5b506102e36109de565b6040516102f0919061120b565b60405180910390f35b348015610304575f80fd5b5061030d610a06565b60405161031a919061118b565b60405180910390f35b34801561032e575f80fd5b506103496004803603810190610344919061138a565b610a0c565b604051610356919061115a565b60405180910390f35b34801561036a575f80fd5b50610385600480360381019061038091906113e7565b610c04565b604051610392919061115a565b60405180910390f35b3480156103a6575f80fd5b506103af610c21565b6040516103bc919061118b565b60405180910390f35b3480156103d0575f80fd5b506103eb60048036038101906103e6919061138a565b610c27565b6040516103f8919061115a565b60405180910390f35b34801561040c575f80fd5b50610415610c3a565b604051610422919061118b565b60405180910390f35b610445600480360381019061044091906113e7565b610c3f565b005b610461600480360381019061045c91906113e7565b610c7d565b005b34801561046e575f80fd5b50610489600480360381019061048491906113e7565b610ca6565b604051610496919061118b565b60405180910390f35b5f7f6060409d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610511575061051082610cbf565b5b9050919050565b5f600154905090565b60015481565b5f610530610d38565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f6060409d00000000000000000000000000000000000000000000000000000000905090565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6105cd610d42565b905080546003825580156105ff5760018160011c14303b106105f65763f92ee8a95f526004601cfd5b818160ff1b1b91505b5061060933610d6b565b5f8383810190610619919061151d565b90505f815f015190505f826020015190505f836040015190505f810361066b576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610695308573ffffffffffffffffffffffffffffffffffffffff16610e4190919063ffffffff16565b9050818110156106e357845f015181836040517f5c54305e0000000000000000000000000000000000000000000000000000000081526004016106da93929190611548565b60405180910390fd5b8360035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600181905550816004819055505f60058190555061074133610d6b565b5050505050801561077b576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f610789610e74565b5f83838101906107999190611696565b90505f81602001518060200190518101906107b491906116f1565b90508060045f8282546107c79190611749565b9250508190555061081d825f01518260035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eab9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610891939291906117e1565b6040516020818303038152906040526040516108ad9190611340565b60405180910390a260019250505092915050565b60605f805f85858101906108d59190611858565b9250925092506040518060800160405280600160028111156108fa576108f96118a8565b5b81526020018473ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052808481525060405160200161095691906118fe565b6040516020818303038152906040528152506040516020016109789190611a14565b604051602081830303815290604052935050505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b6109d3610e74565b6109dc5f610ef4565b565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b5f610a15610e74565b5f8383810190610a259190611ab9565b90505f8160200151806020019051810190610a4091906116f1565b90505f610a4c87610fba565b610a82576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60015403610a9357819050610ab7565b670de0b6b3a764000082600154610aaa9190611b00565b610ab49190611b6e565b90505b60045481600554610ac89190611b9e565b1115610b00576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f828254610b119190611b9e565b92505081905550610b64878260035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610eab9092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168984604051602001610bd2939291906117e1565b604051602081830303815290604052604051610bee9190611340565b60405180910390a2600193505050509392505050565b6002602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f610c3184610fba565b90509392505050565b5f5481565b610c47610e74565b63389a75e1600c52805f526020600c208054421115610c6d57636f5e88185f526004601cfd5b5f815550610c7a81610ef4565b50565b610c85610e74565b8060601b610c9a57637448fbae5f526004601cfd5b610ca381610ef4565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f5970a689000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610d315750610d3082610fc9565b5b9050919050565b5f6202a300905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610d73611042565b15610deb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610dad57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610e3e565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610ea9576382b429005f526004601cfd5b565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f51141716610eeb576390b8ec185f526004601cfd5b5f603452505050565b610efc611042565b15610f61577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610fb7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454600554109050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061103b575061103a82611046565b5b9050919050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6110f4816110c0565b81146110fe575f80fd5b50565b5f8135905061110f816110eb565b92915050565b5f6020828403121561112a576111296110b8565b5b5f61113784828501611101565b91505092915050565b5f8115159050919050565b61115481611140565b82525050565b5f60208201905061116d5f83018461114b565b92915050565b5f819050919050565b61118581611173565b82525050565b5f60208201905061119e5f83018461117c565b92915050565b6111ad816110c0565b82525050565b5f6020820190506111c65f8301846111a4565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6111f5826111cc565b9050919050565b611205816111eb565b82525050565b5f60208201905061121e5f8301846111fc565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261124557611244611224565b5b8235905067ffffffffffffffff81111561126257611261611228565b5b60208301915083600182028301111561127e5761127d61122c565b5b9250929050565b5f806020838503121561129b5761129a6110b8565b5b5f83013567ffffffffffffffff8111156112b8576112b76110bc565b5b6112c485828601611230565b92509250509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611312826112d0565b61131c81856112da565b935061132c8185602086016112ea565b611335816112f8565b840191505092915050565b5f6020820190508181035f8301526113588184611308565b905092915050565b611369816111eb565b8114611373575f80fd5b50565b5f8135905061138481611360565b92915050565b5f805f604084860312156113a1576113a06110b8565b5b5f6113ae86828701611376565b935050602084013567ffffffffffffffff8111156113cf576113ce6110bc565b5b6113db86828701611230565b92509250509250925092565b5f602082840312156113fc576113fb6110b8565b5b5f61140984828501611376565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61144c826112f8565b810181811067ffffffffffffffff8211171561146b5761146a611416565b5b80604052505050565b5f61147d6110af565b90506114898282611443565b919050565b5f80fd5b61149b81611173565b81146114a5575f80fd5b50565b5f813590506114b681611492565b92915050565b5f606082840312156114d1576114d0611412565b5b6114db6060611474565b90505f6114ea84828501611376565b5f8301525060206114fd848285016114a8565b6020830152506040611511848285016114a8565b60408301525092915050565b5f60608284031215611532576115316110b8565b5b5f61153f848285016114bc565b91505092915050565b5f60608201905061155b5f8301866111fc565b611568602083018561117c565b611575604083018461117c565b949350505050565b5f80fd5b5f67ffffffffffffffff82111561159b5761159a611416565b5b6115a4826112f8565b9050602081019050919050565b828183375f83830152505050565b5f6115d16115cc84611581565b611474565b9050828152602081018484840111156115ed576115ec61157d565b5b6115f88482856115b1565b509392505050565b5f82601f83011261161457611613611224565b5b81356116248482602086016115bf565b91505092915050565b5f6040828403121561164257611641611412565b5b61164c6040611474565b90505f61165b84828501611376565b5f83015250602082013567ffffffffffffffff81111561167e5761167d61148e565b5b61168a84828501611600565b60208301525092915050565b5f602082840312156116ab576116aa6110b8565b5b5f82013567ffffffffffffffff8111156116c8576116c76110bc565b5b6116d48482850161162d565b91505092915050565b5f815190506116eb81611492565b92915050565b5f60208284031215611706576117056110b8565b5b5f611713848285016116dd565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61175382611173565b915061175e83611173565b92508282039050818111156117765761177561171c565b5b92915050565b5f8160601b9050919050565b5f6117928261177c565b9050919050565b5f6117a382611788565b9050919050565b6117bb6117b6826111eb565b611799565b82525050565b5f819050919050565b6117db6117d682611173565b6117c1565b82525050565b5f6117ec82866117aa565b6014820191506117fc82856117aa565b60148201915061180c82846117ca565b602082019150819050949350505050565b5f611827826111cc565b9050919050565b6118378161181d565b8114611841575f80fd5b50565b5f813590506118528161182e565b92915050565b5f805f6060848603121561186f5761186e6110b8565b5b5f61187c86828701611844565b935050602061188d868287016114a8565b925050604061189e868287016114a8565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6118de81611173565b82525050565b602082015f8201516118f85f8501826118d5565b50505050565b5f6020820190506119115f8301846118e4565b92915050565b60038110611928576119276118a8565b5b50565b5f81905061193882611917565b919050565b5f6119478261192b565b9050919050565b6119578161193d565b82525050565b611966816111eb565b82525050565b5f82825260208201905092915050565b5f611986826112d0565b611990818561196c565b93506119a08185602086016112ea565b6119a9816112f8565b840191505092915050565b5f608083015f8301516119c95f86018261194e565b5060208301516119dc602086018261195d565b5060408301516119ef604086018261195d565b5060608301518482036060860152611a07828261197c565b9150508091505092915050565b5f6020820190508181035f830152611a2c81846119b4565b905092915050565b5f60408284031215611a4957611a48611412565b5b611a536040611474565b90505f82013567ffffffffffffffff811115611a7257611a7161148e565b5b611a7e84828501611600565b5f83015250602082013567ffffffffffffffff811115611aa157611aa061148e565b5b611aad84828501611600565b60208301525092915050565b5f60208284031215611ace57611acd6110b8565b5b5f82013567ffffffffffffffff811115611aeb57611aea6110bc565b5b611af784828501611a34565b91505092915050565b5f611b0a82611173565b9150611b1583611173565b9250828202611b2381611173565b91508282048414831517611b3a57611b3961171c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b7882611173565b9150611b8383611173565b925082611b9357611b92611b41565b5b828204905092915050565b5f611ba882611173565b9150611bb383611173565b9250828201905080821115611bcb57611bca61171c565b5b9291505056fea2646970667358221220a9439a260a68f54e27503ba4a35d38eead0eee9484d16611fb206387bc2ede8564736f6c634300081a0033", c = class c extends B {
11
12
  constructor() {
12
13
  super(...arguments), this.abi = r;
13
14
  }
@@ -159,17 +160,17 @@ const q = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f6
159
160
  * @returns {Promise<boolean>} - Returns true if successfully claimed
160
161
  */
161
162
  async claimRaw(f, b) {
162
- const { request: a, result: e } = await w(
163
+ const { request: a, result: e } = await A(
163
164
  this._config,
164
165
  {
165
166
  address: this.assertValidAddress(),
166
- args: [c(f)],
167
+ args: [d(f)],
167
168
  ...this.optionallyAttachAccount(),
168
169
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
169
170
  ...b
170
171
  }
171
172
  );
172
- return { hash: await A(this._config, a), result: e };
173
+ return { hash: await w(this._config, a), result: e };
173
174
  }
174
175
  /**
175
176
  * Clawback assets from the incentive
@@ -193,17 +194,17 @@ const q = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f6
193
194
  * @returns {Promise<boolean>} - True if the assets were successfully clawbacked
194
195
  */
195
196
  async clawbackRaw(f, b) {
196
- const { request: a, result: e } = await _(
197
+ const { request: a, result: e } = await C(
197
198
  this._config,
198
199
  {
199
200
  address: this.assertValidAddress(),
200
- args: [c(f)],
201
+ args: [d(f)],
201
202
  ...this.optionallyAttachAccount(),
202
203
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
203
204
  ...b
204
205
  }
205
206
  );
206
- return { hash: await C(
207
+ return { hash: await I(
207
208
  this._config,
208
209
  a
209
210
  ), result: e };
@@ -218,9 +219,9 @@ const q = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f6
218
219
  * @returns {unknown} = True if the incentive is claimable based on the data payload
219
220
  */
220
221
  async isClaimable(f, b) {
221
- return I(this._config, {
222
+ return _(this._config, {
222
223
  address: this.assertValidAddress(),
223
- args: [c(f)],
224
+ args: [d(f)],
224
225
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
225
226
  ...b
226
227
  });
@@ -240,41 +241,43 @@ const q = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f6
240
241
  );
241
242
  return {
242
243
  abi: r,
243
- bytecode: q,
244
- args: [T(a)],
244
+ bytecode: F,
245
+ args: [q(a)],
245
246
  ...this.optionallyAttachAccount(e.account)
246
247
  };
247
248
  }
248
249
  };
249
- d.base = "0xA7b6c33828693d431C64e59A27d985c4DfB19B95", d.registryType = P.INCENTIVE;
250
- let s = d;
250
+ c.base = "0xA7b6c33828693d431C64e59A27d985c4DfB19B95", c.registryType = G.INCENTIVE;
251
+ let s = c;
251
252
  const i = {
252
- "0xc5b24b8e": B,
253
- "0x8c901437": D,
254
- "0x0a466e6f": v,
255
- // ['0x6aa68002']: ERC1155Incentive,
256
- "0xa39e44d9": k,
257
- "0x6060409d": s
253
+ [v]: j,
254
+ [R]: T,
255
+ // TODO: figure out why evm generates bad bytes4 here
256
+ "0x0a466e6f": E,
257
+ // [APointsIncentive as Hex]: ERC1155Incentive,
258
+ [x]: N,
259
+ [D]: s
258
260
  };
259
- async function z(t, f) {
260
- const b = await x(t.config, {
261
+ async function Q(t, f) {
262
+ const b = await P(t.config, {
261
263
  abi: V,
262
264
  functionName: "getComponentInterface",
263
265
  address: f
264
266
  }), a = i[b];
265
267
  if (!a)
266
- throw new R(
268
+ throw new k(
267
269
  Object.keys(i),
268
270
  b
269
271
  );
270
272
  return new a(t, f);
271
273
  }
272
274
  export {
273
- v as AllowListIncentive,
274
- k as CGDAIncentive,
275
- D as ERC20Incentive,
275
+ E as AllowListIncentive,
276
+ N as CGDAIncentive,
277
+ T as ERC20Incentive,
276
278
  s as ERC20VariableIncentive,
277
279
  i as IncentiveByComponentInterface,
278
- B as PointsIncentive,
279
- z as incentiveFromAddress
280
+ j as PointsIncentive,
281
+ Q as incentiveFromAddress
280
282
  };
283
+ //# sourceMappingURL=Incentive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Incentive.js","sources":["../../src/Incentives/ERC20VariableIncentive.ts","../../src/Incentives/Incentive.ts"],"sourcesContent":["import {\n erc20VariableIncentiveAbi,\n readErc20VariableIncentiveAsset,\n readErc20VariableIncentiveClaimed,\n readErc20VariableIncentiveClaims,\n readErc20VariableIncentiveCurrentReward,\n readErc20VariableIncentiveIsClaimable,\n readErc20VariableIncentiveLimit,\n readErc20VariableIncentiveOwner,\n readErc20VariableIncentiveReward,\n readErc20VariableIncentiveTotalClaimed,\n simulateErc20VariableIncentiveClaim,\n simulateErc20VariableIncentiveClawback,\n writeErc20VariableIncentiveClaim,\n writeErc20VariableIncentiveClawback,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/incentives/ERC20VariableIncentive.sol/ERC20VariableIncentive.json';\nimport type { Address, ContractEventName, Hex } from 'viem';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport {\n type ClaimPayload,\n type ERC20VariableIncentivePayload,\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n prepareClaimPayload,\n prepareERC20VariableIncentivePayload,\n} from '../utils';\n\nexport { erc20VariableIncentiveAbi };\nexport type { ERC20VariableIncentivePayload };\n\n/**\n * A generic `viem.Log` event with support for `ERC20VariableIncentive` event types.\n *\n * @export\n * @typedef {ERC20VariableIncentiveLog}\n * @template {ContractEventName<typeof erc20VariableIncentiveAbi>} [event=ContractEventName<\n * typeof erc20VariableIncentiveAbi\n * >]\n */\nexport type ERC20VariableIncentiveLog<\n event extends ContractEventName<\n typeof erc20VariableIncentiveAbi\n > = ContractEventName<typeof erc20VariableIncentiveAbi>,\n> = GenericLog<typeof erc20VariableIncentiveAbi, event>;\n\n/**\n * A simple ERC20 incentive implementation that allows claiming of tokens\n *\n * @export\n * @class ERC20VariableIncentive\n * @typedef {ERC20VariableIncentive}\n * @extends {DeployableTarget<ERC20VariableIncentivePayload>}\n */\nexport class ERC20VariableIncentive extends DeployableTarget<\n ERC20VariableIncentivePayload,\n typeof erc20VariableIncentiveAbi\n> {\n public override readonly abi = erc20VariableIncentiveAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Address}\n */\n public static override base: Address = import.meta.env\n .VITE_ERC20_VARIABLE_INCENTIVE_BASE;\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<typeof erc20VariableIncentiveAbi, 'owner'>} [params]\n * @returns {unknown}\n */\n public async owner(\n params?: ReadParams<typeof erc20VariableIncentiveAbi, 'owner'>,\n ) {\n return readErc20VariableIncentiveOwner(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 current reward\n *\n * @public\n * @async\n * @param {?ReadParams<typeof erc20VariableIncentiveAbi, 'currentReward'>} [params]\n * @returns {Promise<bigint>} - The current reward\n */\n public async totalClaimed(\n params?: ReadParams<typeof erc20VariableIncentiveAbi, 'totalClaimed'>,\n ) {\n return readErc20VariableIncentiveTotalClaimed(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 current reward\n *\n * @public\n * @async\n * @param {?ReadParams<typeof erc20VariableIncentiveAbi, 'currentReward'>} [params]\n * @returns {Promise<bigint>} - The current reward\n */\n public async currentReward(\n params?: ReadParams<typeof erc20VariableIncentiveAbi, 'currentReward'>,\n ) {\n return readErc20VariableIncentiveCurrentReward(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<typeof erc20VariableIncentiveAbi, 'claims'>} [params]\n * @returns {Promise<bigint>}\n */\n public async claims(\n params?: ReadParams<typeof erc20VariableIncentiveAbi, 'claims'>,\n ) {\n return readErc20VariableIncentiveClaims(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<typeof erc20VariableIncentiveAbi, 'claimed'>} [params]\n * @returns {Promise<boolean>}\n */\n public async claimed(\n address: Address,\n params?: ReadParams<typeof erc20VariableIncentiveAbi, 'claimed'>,\n ) {\n return readErc20VariableIncentiveClaimed(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<typeof erc20VariableIncentiveAbi, 'asset'>} [params]\n * @returns {Promise<Address>}\n */\n public async asset(\n params?: ReadParams<typeof erc20VariableIncentiveAbi, 'asset'>,\n ) {\n return readErc20VariableIncentiveAsset(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<typeof erc20VariableIncentiveAbi, 'reward'>} [params]\n * @returns {Promise<bigint>}\n */\n public async reward(\n params?: ReadParams<typeof erc20VariableIncentiveAbi, 'reward'>,\n ) {\n return readErc20VariableIncentiveReward(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 claims, or max entries for raffles)\n *\n * @public\n * @async\n * @param {?ReadParams<typeof erc20VariableIncentiveAbi, 'limit'>} [params]\n * @returns {unknown}\n */\n public async limit(\n params?: ReadParams<typeof erc20VariableIncentiveAbi, 'limit'>,\n ) {\n return readErc20VariableIncentiveLimit(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<typeof erc20VariableIncentiveAbi, 'claim'>} [params]\n * @returns {Promise<boolean>} - Returns true if successfully claimed\n */\n public async claim(\n payload: ClaimPayload,\n params?: WriteParams<typeof erc20VariableIncentiveAbi, 'claim'>,\n ) {\n return 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<typeof erc20VariableIncentiveAbi, 'claim'>} [params]\n * @returns {Promise<boolean>} - Returns true if successfully claimed\n */\n public async claimRaw(\n payload: ClaimPayload,\n params?: WriteParams<typeof erc20VariableIncentiveAbi, 'claim'>,\n ) {\n const { request, result } = await simulateErc20VariableIncentiveClaim(\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 writeErc20VariableIncentiveClaim(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<typeof erc20VariableIncentiveAbi, 'clawback'>} [params]\n * @returns {Promise<boolean>} - True if the assets were successfully clawbacked\n */\n public async clawback(\n payload: ClaimPayload,\n params?: WriteParams<typeof erc20VariableIncentiveAbi, 'clawback'>,\n ) {\n return 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<typeof erc20VariableIncentiveAbi, 'clawback'>} [params]\n * @returns {Promise<boolean>} - True if the assets were successfully clawbacked\n */\n public async clawbackRaw(\n payload: ClaimPayload,\n params?: WriteParams<typeof erc20VariableIncentiveAbi, 'clawback'>,\n ) {\n const { request, result } = await simulateErc20VariableIncentiveClawback(\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 writeErc20VariableIncentiveClawback(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n /**\n * Check if an incentive is claimable. For the POOL strategy, the `bytes data` portion of the payload ignored. The recipient must not have already claimed the incentive.\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?ReadParams<typeof erc20VariableIncentiveAbi, 'isClaimable'>} [params]\n * @returns {unknown} = True if the incentive is claimable based on the data payload\n */\n public async isClaimable(\n payload: ClaimPayload,\n params?: ReadParams<typeof erc20VariableIncentiveAbi, 'isClaimable'>,\n ) {\n return readErc20VariableIncentiveIsClaimable(this._config, {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\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 * @inheritdoc\n *\n * @public\n * @param {?ERC20VariableIncentivePayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: ERC20VariableIncentivePayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: erc20VariableIncentiveAbi,\n bytecode: bytecode as Hex,\n args: [prepareERC20VariableIncentivePayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n","import { aIncentiveAbi } from '@boostxyz/evm';\nimport {\n AAllowListIncentive,\n ACGDAIncentive,\n AERC20Incentive,\n AERC20VariableIncentive,\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 { AllowListIncentive } from './AllowListIncentive';\nimport { CGDAIncentive } from './CGDAIncentive';\nimport { ERC20Incentive } from './ERC20Incentive';\nimport { ERC20VariableIncentive } from './ERC20VariableIncentive';\n// import { ERC1155Incentive } from './ERC1155Incentive';\nimport { PointsIncentive } from './PointsIncentive';\n\nexport {\n AllowListIncentive,\n CGDAIncentive,\n // ERC1155Incentive,\n ERC20Incentive,\n PointsIncentive,\n ERC20VariableIncentive,\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 | PointsIncentive\n | ERC20VariableIncentive;\n\n/**\n * A map of Incentive component interfaces to their constructors.\n *\n * @type {{ \"0xc5b24b8e\": typeof PointsIncentive; \"0x8c901437\": typeof ERC20Incentive; \"0x0a466e6f\": typeof AllowListIncentive; \"0xa39e44d9\": typeof CGDAIncentive; \"0x6060409d\": typeof ERC20VariableIncentive }}\n */\nexport const IncentiveByComponentInterface = {\n [APointsIncentive as Hex]: PointsIncentive,\n [AERC20Incentive as Hex]: ERC20Incentive,\n // TODO: figure out why evm generates bad bytes4 here\n ['0x0a466e6f']: AllowListIncentive,\n // [APointsIncentive as Hex]: ERC1155Incentive,\n [ACGDAIncentive as Hex]: CGDAIncentive,\n [AERC20VariableIncentive as Hex]: ERC20VariableIncentive,\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 {unknown}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function incentiveFromAddress(\n options: DeployableOptions,\n address: Address,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aIncentiveAbi,\n functionName: 'getComponentInterface',\n address,\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":["_ERC20VariableIncentive","DeployableTarget","erc20VariableIncentiveAbi","params","readErc20VariableIncentiveOwner","readErc20VariableIncentiveTotalClaimed","readErc20VariableIncentiveCurrentReward","readErc20VariableIncentiveClaims","address","readErc20VariableIncentiveClaimed","readErc20VariableIncentiveAsset","readErc20VariableIncentiveReward","readErc20VariableIncentiveLimit","payload","request","result","simulateErc20VariableIncentiveClaim","prepareClaimPayload","writeErc20VariableIncentiveClaim","simulateErc20VariableIncentiveClawback","writeErc20VariableIncentiveClawback","readErc20VariableIncentiveIsClaimable","_payload","_options","options","bytecode","prepareERC20VariableIncentivePayload","RegistryType","ERC20VariableIncentive","IncentiveByComponentInterface","APointsIncentive","PointsIncentive","AERC20Incentive","ERC20Incentive","AllowListIncentive","ACGDAIncentive","CGDAIncentive","AERC20VariableIncentive","incentiveFromAddress","interfaceId","readContract","aIncentiveAbi","Ctor","InvalidComponentInterfaceError"],"mappings":";;;;;;;;;;w5cA4DaA,IAAN,MAAMA,UAA+BC,EAG1C;AAAA,EAHK,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAyB,MAAMC;AAAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2B/B,MAAa,MACXC,GACA;AACO,WAAAC,EAAgC,KAAK,SAAS;AAAA,MACnD,SAAS,KAAK,mBAAmB;AAAA,MACjC,MAAM,CAAC;AAAA;AAAA,MAEP,GAAID;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,aACXA,GACA;AACO,WAAAE,EAAuC,KAAK,SAAS;AAAA,MAC1D,SAAS,KAAK,mBAAmB;AAAA,MACjC,MAAM,CAAC;AAAA;AAAA,MAEP,GAAIF;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,cACXA,GACA;AACO,WAAAG,EAAwC,KAAK,SAAS;AAAA,MAC3D,SAAS,KAAK,mBAAmB;AAAA,MACjC,MAAM,CAAC;AAAA;AAAA,MAEP,GAAIH;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,OACXA,GACA;AACO,WAAAI,EAAiC,KAAK,SAAS;AAAA,MACpD,SAAS,KAAK,mBAAmB;AAAA,MACjC,MAAM,CAAC;AAAA;AAAA,MAEP,GAAIJ;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,QACXK,GACAL,GACA;AACO,WAAAM,EAAkC,KAAK,SAAS;AAAA,MACrD,SAAS,KAAK,mBAAmB;AAAA,MACjC,MAAM,CAACD,CAAO;AAAA;AAAA,MAEd,GAAIL;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,MACXA,GACA;AACO,WAAAO,EAAgC,KAAK,SAAS;AAAA,MACnD,SAAS,KAAK,mBAAmB;AAAA;AAAA,MAEjC,GAAIP;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,OACXA,GACA;AACO,WAAAQ,EAAiC,KAAK,SAAS;AAAA,MACpD,SAAS,KAAK,mBAAmB;AAAA;AAAA,MAEjC,GAAIR;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,MACXA,GACA;AACO,WAAAS,EAAgC,KAAK,SAAS;AAAA,MACnD,SAAS,KAAK,mBAAmB;AAAA;AAAA,MAEjC,GAAIT;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,MACXU,GACAV,GACA;AACA,WAAO,KAAK,YAAY,KAAK,SAASU,GAASV,CAAM,CAAC;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,SACXU,GACAV,GACA;AACA,UAAM,EAAE,SAAAW,GAAS,QAAAC,EAAO,IAAI,MAAMC;AAAAA,MAChC,KAAK;AAAA,MACL;AAAA,QACE,SAAS,KAAK,mBAAmB;AAAA,QACjC,MAAM,CAACC,EAAoBJ,CAAO,CAAC;AAAA,QACnC,GAAG,KAAK,wBAAwB;AAAA;AAAA,QAEhC,GAAIV;AAAA,MACN;AAAA,IAAA;AAGK,WAAA,EAAE,MADI,MAAMe,EAAiC,KAAK,SAASJ,CAAO,GAC1D,QAAAC;EACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,SACXF,GACAV,GACA;AACA,WAAO,KAAK,YAAY,KAAK,YAAYU,GAASV,CAAM,CAAC;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,YACXU,GACAV,GACA;AACA,UAAM,EAAE,SAAAW,GAAS,QAAAC,EAAO,IAAI,MAAMI;AAAAA,MAChC,KAAK;AAAA,MACL;AAAA,QACE,SAAS,KAAK,mBAAmB;AAAA,QACjC,MAAM,CAACF,EAAoBJ,CAAO,CAAC;AAAA,QACnC,GAAG,KAAK,wBAAwB;AAAA;AAAA,QAEhC,GAAIV;AAAA,MACN;AAAA,IAAA;AAMK,WAAA,EAAE,MAJI,MAAMiB;AAAAA,MACjB,KAAK;AAAA,MACLN;AAAA,IAAA,GAEa,QAAAC;EACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,YACXF,GACAV,GACA;AACO,WAAAkB,EAAsC,KAAK,SAAS;AAAA,MACzD,SAAS,KAAK,mBAAmB;AAAA,MACjC,MAAM,CAACJ,EAAoBJ,CAAO,CAAC;AAAA;AAAA,MAEnC,GAAIV;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUgB,gBACdmB,GACAC,GACyB;AACzB,UAAM,CAACV,GAASW,CAAO,IAAI,KAAK;AAAA,MAC9BF;AAAA,MACAC;AAAA,IAAA;AAEK,WAAA;AAAA,MACL,KAAKrB;AAAAA,MACL,UAAAuB;AAAA,MACA,MAAM,CAACC,EAAqCb,CAAO,CAAC;AAAA,MACpD,GAAG,KAAK,wBAAwBW,EAAQ,OAAO;AAAA,IAAA;AAAA,EAEnD;AACF;AAvSyBxB,EAAA,OAAgB,8CASvCA,EAAuB,eAA6B2B,EAAa;AArB5D,IAAMC,IAAN5B;ACbA,MAAM6B,IAAgC;AAAA,EAC3C,CAACC,CAAuB,GAAGC;AAAA,EAC3B,CAACC,CAAsB,GAAGC;AAAA;AAAA,EAEzB,cAAeC;AAAA;AAAA,EAEhB,CAACC,CAAqB,GAAGC;AAAA,EACzB,CAACC,CAA8B,GAAGT;AACpC;AAYsB,eAAAU,EACpBd,GACAhB,GACA;AACA,QAAM+B,IAAe,MAAMC,EAAahB,EAAQ,QAAQ;AAAA,IACtD,KAAKiB;AAAAA,IACL,cAAc;AAAA,IACd,SAAAjC;AAAA,EAAA,CACD,GACKkC,IAAOb,EAA8BU,CAAW;AACtD,MAAI,CAACG;AACH,UAAM,IAAIC;AAAA,MACR,OAAO,KAAKd,CAA6B;AAAA,MACzCU;AAAA,IAAA;AAGG,SAAA,IAAIG,EAAKlB,GAAShB,CAAO;AAClC;"}
@@ -1 +1,2 @@
1
1
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../generated-Cd-Fe7W7.cjs"),r=require("../Deployable/DeployableTarget.cjs"),e=require("../utils.cjs"),i="0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611b05806100bd5f395ff3fe60806040526004361061019b575f3560e01c8063514e62fc116100eb578063c884ef8311610089578063ea3d508a11610063578063ea3d508a1461057b578063f04e283e146105a5578063f2fde38b146105c1578063fee81cf4146105dd5761019b565b8063c884ef83146104d9578063db09da1214610515578063dcc59b6f146105515761019b565b80638da5cb5b116100c55780638da5cb5b1461041f578063a270a73714610449578063a4d66daf14610473578063bb1757cf1461049d5761019b565b8063514e62fc146103cf57806354d1f13d1461040b578063715018a6146104155761019b565b80632569296211610158578063439fab9111610132578063439fab9114610313578063474f5a441461033b5780634a4ee7b1146103775780634e7165a2146103935761019b565b806325692962146102a357806328d6183b146102ad5780632de94807146102d75761019b565b806301ffc9a71461019f57806307621eca146101db578063183a4f6e146102055780631c10893f146102215780631cd64df41461023d578063228cb73314610279575b5f80fd5b3480156101aa575f80fd5b506101c560048036038101906101c0919061139a565b610619565b6040516101d291906113df565b60405180910390f35b3480156101e6575f80fd5b506101ef610692565b6040516101fc9190611410565b60405180910390f35b61021f600480360381019061021a9190611453565b61069b565b005b61023b600480360381019061023691906114d8565b6106a8565b005b348015610248575f80fd5b50610263600480360381019061025e91906114d8565b6106be565b60405161027091906113df565b60405180910390f35b348015610284575f80fd5b5061028d6106d4565b60405161029a9190611410565b60405180910390f35b6102ab6106da565b005b3480156102b8575f80fd5b506102c161072b565b6040516102ce9190611525565b60405180910390f35b3480156102e2575f80fd5b506102fd60048036038101906102f8919061153e565b610752565b60405161030a9190611410565b60405180910390f35b34801561031e575f80fd5b50610339600480360381019061033491906115ca565b61076b565b005b348015610346575f80fd5b50610361600480360381019061035c91906115ca565b6108c3565b60405161036e91906113df565b60405180910390f35b610391600480360381019061038c91906114d8565b6108f6565b005b34801561039e575f80fd5b506103b960048036038101906103b491906115ca565b61090c565b6040516103c69190611685565b60405180910390f35b3480156103da575f80fd5b506103f560048036038101906103f091906114d8565b610963565b60405161040291906113df565b60405180910390f35b61041361097a565b005b61041d6109b3565b005b34801561042a575f80fd5b506104336109c6565b60405161044091906116b4565b60405180910390f35b348015610454575f80fd5b5061045d6109ee565b60405161046a91906116b4565b60405180910390f35b34801561047e575f80fd5b50610487610a13565b6040516104949190611410565b60405180910390f35b3480156104a8575f80fd5b506104c360048036038101906104be91906116cd565b610a19565b6040516104d091906113df565b60405180910390f35b3480156104e4575f80fd5b506104ff60048036038101906104fa919061153e565b610e30565b60405161050c91906113df565b60405180910390f35b348015610520575f80fd5b5061053b600480360381019061053691906116cd565b610e4d565b60405161054891906113df565b60405180910390f35b34801561055c575f80fd5b50610565610e60565b6040516105729190611410565b60405180910390f35b348015610586575f80fd5b5061058f610e65565b60405161059c9190611525565b60405180910390f35b6105bf60048036038101906105ba919061153e565b610e77565b005b6105db60048036038101906105d6919061153e565b610eb5565b005b3480156105e8575f80fd5b5061060360048036038101906105fe919061153e565b610ede565b6040516106109190611410565b60405180910390f35b5f7fc5b24b8e000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061068b575061068a82610ef7565b5b9050919050565b5f600154905090565b6106a53382610f70565b50565b6106b0610f7f565b6106ba8282610fb6565b5050565b5f81826106ca85610752565b1614905092915050565b60015481565b5f6106e3610fc6565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7fc5b24b8e00000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f610774610fd0565b905080546003825580156107a65760018160011c14303b1061079d5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f83838101906107b7919061181b565b90505f816040015114806107ce57505f8160600151145b15610805576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805f015160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806020015160055f6101000a81548163ffffffff021916908360e01c02179055508060400151600181905550806060015160048190555061088833610ff9565b5080156108be576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108fe610f7f565b6109088282610f70565b5050565b60605f67ffffffffffffffff8111156109285761092761172e565b5b6040519080825280601f01601f19166020018201604052801561095a5781602001600182028036833780820191505090505b50905092915050565b5f808261096f85610752565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b6109bb610f7f565b6109c45f6110cf565b565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b5f610a22610f7f565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610acb919061185a565b73ffffffffffffffffffffffffffffffffffffffff1614158015610b6e5750600115158173ffffffffffffffffffffffffffffffffffffffff1663514e62fc3060026040518363ffffffff1660e01b8152600401610b2a9291906118c7565b602060405180830381865afa158015610b45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b699190611918565b151514155b15610ba5576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bae85611195565b610be4576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80815480929190610bf590611970565b9190505550600160025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900460e01b87600154604051602401610cac9291906119b7565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610d169190611a18565b5f604051808303815f865af19150503d805f8114610d4f576040519150601f19603f3d011682016040523d82523d5f602084013e610d54565b606091505b5050905080610d8f576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1688600154604051602001610dff93929190611a93565b604051602081830303815290604052604051610e1b9190611685565b60405180910390a26001925050509392505050565b6002602052805f5260405f205f915054906101000a900460ff1681565b5f610e5784611195565b90509392505050565b5f5481565b60055f9054906101000a900460e01b81565b610e7f610f7f565b63389a75e1600c52805f526020600c208054421115610ea557636f5e88185f526004601cfd5b5f815550610eb2816110cf565b50565b610ebd610f7f565b8060601b610ed257637448fbae5f526004601cfd5b610edb816110cf565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f5970a689000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610f695750610f68826111f6565b5b9050919050565b610f7b82825f61126f565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610fb4576382b429005f526004601cfd5b565b610fc28282600161126f565b5050565b5f6202a300905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6110016112c7565b15611079577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561103b57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506110cc565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b6110d76112c7565b1561113c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550611192565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156111ef57506004545f54105b9050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806112685750611267826112cb565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361129157848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61137981611345565b8114611383575f80fd5b50565b5f8135905061139481611370565b92915050565b5f602082840312156113af576113ae61133d565b5b5f6113bc84828501611386565b91505092915050565b5f8115159050919050565b6113d9816113c5565b82525050565b5f6020820190506113f25f8301846113d0565b92915050565b5f819050919050565b61140a816113f8565b82525050565b5f6020820190506114235f830184611401565b92915050565b611432816113f8565b811461143c575f80fd5b50565b5f8135905061144d81611429565b92915050565b5f602082840312156114685761146761133d565b5b5f6114758482850161143f565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114a78261147e565b9050919050565b6114b78161149d565b81146114c1575f80fd5b50565b5f813590506114d2816114ae565b92915050565b5f80604083850312156114ee576114ed61133d565b5b5f6114fb858286016114c4565b925050602061150c8582860161143f565b9150509250929050565b61151f81611345565b82525050565b5f6020820190506115385f830184611516565b92915050565b5f602082840312156115535761155261133d565b5b5f611560848285016114c4565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261158a57611589611569565b5b8235905067ffffffffffffffff8111156115a7576115a661156d565b5b6020830191508360018202830111156115c3576115c2611571565b5b9250929050565b5f80602083850312156115e0576115df61133d565b5b5f83013567ffffffffffffffff8111156115fd576115fc611341565b5b61160985828601611575565b92509250509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61165782611615565b611661818561161f565b935061167181856020860161162f565b61167a8161163d565b840191505092915050565b5f6020820190508181035f83015261169d818461164d565b905092915050565b6116ae8161149d565b82525050565b5f6020820190506116c75f8301846116a5565b92915050565b5f805f604084860312156116e4576116e361133d565b5b5f6116f1868287016114c4565b935050602084013567ffffffffffffffff81111561171257611711611341565b5b61171e86828701611575565b92509250509250925092565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6117648261163d565b810181811067ffffffffffffffff821117156117835761178261172e565b5b80604052505050565b5f611795611334565b90506117a1828261175b565b919050565b5f608082840312156117bb576117ba61172a565b5b6117c5608061178c565b90505f6117d4848285016114c4565b5f8301525060206117e784828501611386565b60208301525060406117fb8482850161143f565b604083015250606061180f8482850161143f565b60608301525092915050565b5f608082840312156118305761182f61133d565b5b5f61183d848285016117a6565b91505092915050565b5f81519050611854816114ae565b92915050565b5f6020828403121561186f5761186e61133d565b5b5f61187c84828501611846565b91505092915050565b5f819050919050565b5f819050919050565b5f6118b16118ac6118a784611885565b61188e565b6113f8565b9050919050565b6118c181611897565b82525050565b5f6040820190506118da5f8301856116a5565b6118e760208301846118b8565b9392505050565b6118f7816113c5565b8114611901575f80fd5b50565b5f81519050611912816118ee565b92915050565b5f6020828403121561192d5761192c61133d565b5b5f61193a84828501611904565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61197a826113f8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119ac576119ab611943565b5b600182019050919050565b5f6040820190506119ca5f8301856116a5565b6119d76020830184611401565b9392505050565b5f81905092915050565b5f6119f282611615565b6119fc81856119de565b9350611a0c81856020860161162f565b80840191505092915050565b5f611a2382846119e8565b915081905092915050565b5f8160601b9050919050565b5f611a4482611a2e565b9050919050565b5f611a5582611a3a565b9050919050565b611a6d611a688261149d565b611a4b565b82525050565b5f819050919050565b611a8d611a88826113f8565b611a73565b82525050565b5f611a9e8286611a5c565b601482019150611aae8285611a5c565b601482019150611abe8284611a7c565b60208201915081905094935050505056fea264697066735822122088b34e24fbec910ced058a6b3dffdf327035d99da64bab74d2addc3e9026fe9864736f6c634300081a0033",d=class d extends r.DeployableTarget{constructor(){super(...arguments),this.abi=b.l}async claims(f){return b.A5(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return b.h5(this._config,{address:this.assertValidAddress(),args:[],...f})}async reward(f){return b.x5(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,a){return b.I5(this._config,{address:this.assertValidAddress(),args:[f],...a})}async venue(f){return b._5(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return b.E5(this._config,{address:this.assertValidAddress(),...f})}async selector(f){return b.H5(this._config,{address:this.assertValidAddress(),...f})}async claim(f,a){return this.awaitResult(this.claimRaw(f,a))}async claimRaw(f,a){const{request:c,result:s}=await b.J5(this._config,{address:this.assertValidAddress(),args:[e.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...a});return{hash:await b.k5(this._config,c),result:s}}async isClaimable(f,a){return b.C5(this._config,{address:this.assertValidAddress(),args:[e.prepareClaimPayload(f)],...a})}buildParameters(f,a){const[c,s]=this.validateDeploymentConfig(f,a);return{abi:b.l,bytecode:i,args:[e.preparePointsIncentivePayload(c)],...this.optionallyAttachAccount(s.account)}}};d.base="0x881c78Ba2d10894a8f4f6996C0FB5bA8AE627AAb",d.registryType=e.RegistryType.INCENTIVE;let t=d;exports.pointsIncentiveAbi=b.l;exports.PointsIncentive=t;
2
+ //# sourceMappingURL=PointsIncentive.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PointsIncentive.cjs","sources":["../../src/Incentives/PointsIncentive.ts"],"sourcesContent":["import {\n pointsIncentiveAbi,\n readPointsIncentiveClaimed,\n readPointsIncentiveClaims,\n readPointsIncentiveCurrentReward,\n readPointsIncentiveIsClaimable,\n readPointsIncentiveLimit,\n readPointsIncentiveReward,\n readPointsIncentiveSelector,\n readPointsIncentiveVenue,\n simulatePointsIncentiveClaim,\n writePointsIncentiveClaim,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/incentives/PointsIncentive.sol/PointsIncentive.json';\nimport type { Address, ContractEventName, Hex } from 'viem';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport {\n type ClaimPayload,\n type GenericLog,\n type PointsIncentivePayload,\n type ReadParams,\n RegistryType,\n type WriteParams,\n prepareClaimPayload,\n preparePointsIncentivePayload,\n} from '../utils';\n\nexport { pointsIncentiveAbi };\nexport type { PointsIncentivePayload };\n\n/**\n * A generic `viem.Log` event with support for `PointsIncentive` event types.\n *\n * @export\n * @typedef {PointsIncentiveLog}\n * @template {ContractEventName<\n * typeof pointsIncentiveAbi\n * >} [event=ContractEventName<typeof pointsIncentiveAbi>]\n */\nexport type PointsIncentiveLog<\n event extends ContractEventName<\n typeof pointsIncentiveAbi\n > = ContractEventName<typeof pointsIncentiveAbi>,\n> = GenericLog<typeof pointsIncentiveAbi, event>;\n\n/**\n * A simple on-chain points incentive implementation that allows claiming of soulbound tokens.\n *\n * In order for any claim to be successful:\n * - The claimer must not have already claimed the incentive; and\n * - The maximum number of claims must not have been reached; and\n * - This contract must be authorized to operate the points contract's issuance function\n *\n * @export\n * @class PointsIncentive\n * @typedef {PointsIncentive}\n * @extends {DeployableTarget<PointsIncentivePayload>}\n */\nexport class PointsIncentive extends DeployableTarget<\n PointsIncentivePayload,\n typeof pointsIncentiveAbi\n> {\n public override readonly abi = pointsIncentiveAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Address}\n */\n public static override base: Address = import.meta.env\n .VITE_POINTS_INCENTIVE_BASE;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.INCENTIVE;\n\n /**\n * The number of claims that have been made\n *\n * @public\n * @async\n * @param {?ReadParams<typeof erc20IncentiveAbi, 'claims'>} [params]\n * @returns {Promise<bigint>}\n */\n public async claims(\n params?: ReadParams<typeof pointsIncentiveAbi, 'claims'>,\n ) {\n return readPointsIncentiveClaims(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 current reward\n *\n * @public\n * @async\n * @param {?ReadParams<typeof erc20IncentiveAbi, 'currentReward'>} [params]\n * @returns {Promise<bigint>} - The current reward\n */\n public async currentReward(\n params?: ReadParams<typeof pointsIncentiveAbi, 'currentReward'>,\n ) {\n return readPointsIncentiveCurrentReward(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The reward amount issued for each claim\n *\n * @public\n * @async\n * @param {?ReadParams<typeof pointsIncentiveAbi, 'reward'>} [params]\n * @returns {unknown}\n */\n public async reward(\n params?: ReadParams<typeof pointsIncentiveAbi, 'reward'>,\n ) {\n return readPointsIncentiveReward(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<typeof pointsIncentiveAbi, 'claimed'>} [params]\n * @returns {unknown}\n */\n public async claimed(\n address: Address,\n params?: ReadParams<typeof pointsIncentiveAbi, 'claimed'>,\n ) {\n return readPointsIncentiveClaimed(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 points contract\n *\n * @public\n * @async\n * @param {?ReadParams<typeof pointsIncentiveAbi, 'venue'>} [params]\n * @returns {unknown}\n */\n public async venue(params?: ReadParams<typeof pointsIncentiveAbi, 'venue'>) {\n return readPointsIncentiveVenue(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 maximum number of claims that can be made (one per address)\n *\n * @public\n * @async\n * @param {?ReadParams<typeof pointsIncentiveAbi, 'limit'>} [params]\n * @returns {Promise<bigint>}\n */\n public async limit(params?: ReadParams<typeof pointsIncentiveAbi, 'limit'>) {\n return readPointsIncentiveLimit(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 selector for the issuance function on the points contract\n *\n * @public\n * @async\n * @param {?ReadParams<typeof pointsIncentiveAbi, 'selector'>} [params]\n * @returns {Promise<Hex>}\n */\n public async selector(\n params?: ReadParams<typeof pointsIncentiveAbi, 'selector'>,\n ) {\n return readPointsIncentiveSelector(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<typeof pointsIncentiveAbi, 'claim'>} [params]\n * @returns {Promise<boolean>} - True if the incentive was successfully claimed\n */\n public async claim(\n payload: ClaimPayload,\n params?: WriteParams<typeof pointsIncentiveAbi, 'claim'>,\n ) {\n return 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<typeof pointsIncentiveAbi, 'claim'>} [params]\n * @returns {Promise<boolean>} - True if the incentive was successfully claimed\n */\n public async claimRaw(\n payload: ClaimPayload,\n params?: WriteParams<typeof pointsIncentiveAbi, 'claim'>,\n ) {\n const { request, result } = await simulatePointsIncentiveClaim(\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 writePointsIncentiveClaim(this._config, request);\n return { hash, result };\n }\n\n /**\n * Check if an incentive is claimable.\n * For the POOL strategy, the `bytes data` portion of the payload ignored.\n * The recipient must not have already claimed the incentive.\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?ReadParams<typeof pointsIncentiveAbi, 'isClaimable'>} [params]\n * @returns {Promise<boolean>} - True if the incentive is claimable based on the data payload\n */\n public async isClaimable(\n payload: ClaimPayload,\n params?: ReadParams<typeof pointsIncentiveAbi, 'isClaimable'>,\n ) {\n return readPointsIncentiveIsClaimable(this._config, {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\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 * @inheritdoc\n *\n * @public\n * @param {?PointsIncentivePayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: PointsIncentivePayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: pointsIncentiveAbi,\n bytecode: bytecode as Hex,\n args: [preparePointsIncentivePayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n"],"names":["_PointsIncentive","DeployableTarget","pointsIncentiveAbi","params","readPointsIncentiveClaims","readPointsIncentiveCurrentReward","readPointsIncentiveReward","address","readPointsIncentiveClaimed","readPointsIncentiveVenue","readPointsIncentiveLimit","readPointsIncentiveSelector","payload","request","result","simulatePointsIncentiveClaim","prepareClaimPayload","writePointsIncentiveClaim","readPointsIncentiveIsClaimable","_payload","_options","options","bytecode","preparePointsIncentivePayload","RegistryType","PointsIncentive"],"mappings":"klcA8DaA,EAAN,MAAMA,UAAwBC,EAAAA,gBAGnC,CAHK,aAAA,CAAA,MAAA,GAAA,SAAA,EAIL,KAAyB,IAAMC,GAAA,CA2B/B,MAAa,OACXC,EACA,CACO,OAAAC,EAAA,GAA0B,KAAK,QAAS,CAC7C,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAID,CAAA,CACL,CACH,CAUA,MAAa,cACXA,EACA,CACO,OAAAE,EAAA,GAAiC,KAAK,QAAS,CACpD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAIF,CAAA,CACL,CACH,CAUA,MAAa,OACXA,EACA,CACO,OAAAG,EAAA,GAA0B,KAAK,QAAS,CAC7C,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAIH,CAAA,CACL,CACH,CAWA,MAAa,QACXI,EACAJ,EACA,CACO,OAAAK,EAAA,GAA2B,KAAK,QAAS,CAC9C,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACD,CAAO,EAEd,GAAIJ,CAAA,CACL,CACH,CAUA,MAAa,MAAMA,EAAyD,CACnE,OAAAM,EAAA,GAAyB,KAAK,QAAS,CAC5C,QAAS,KAAK,mBAAmB,EAEjC,GAAIN,CAAA,CACL,CACH,CAUA,MAAa,MAAMA,EAAyD,CACnE,OAAAO,EAAA,GAAyB,KAAK,QAAS,CAC5C,QAAS,KAAK,mBAAmB,EAEjC,GAAIP,CAAA,CACL,CACH,CAUA,MAAa,SACXA,EACA,CACO,OAAAQ,EAAA,GAA4B,KAAK,QAAS,CAC/C,QAAS,KAAK,mBAAmB,EAEjC,GAAIR,CAAA,CACL,CACH,CAWA,MAAa,MACXS,EACAT,EACA,CACA,OAAO,KAAK,YAAY,KAAK,SAASS,EAAST,CAAM,CAAC,CACxD,CAWA,MAAa,SACXS,EACAT,EACA,CACA,KAAM,CAAE,QAAAU,EAAS,OAAAC,CAAO,EAAI,MAAMC,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACC,sBAAoBJ,CAAO,CAAC,EACnC,GAAG,KAAK,wBAAwB,EAEhC,GAAIT,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMc,EAA0B,GAAA,KAAK,QAASJ,CAAO,EACnD,OAAAC,EACjB,CAaA,MAAa,YACXF,EACAT,EACA,CACO,OAAAe,EAAA,GAA+B,KAAK,QAAS,CAClD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACF,sBAAoBJ,CAAO,CAAC,EAEnC,GAAIT,CAAA,CACL,CACH,CAUgB,gBACdgB,EACAC,EACyB,CACzB,KAAM,CAACR,EAASS,CAAO,EAAI,KAAK,yBAC9BF,EACAC,CAAA,EAEK,MAAA,CACL,IAAKlB,EAAA,EACL,SAAAoB,EACA,KAAM,CAACC,gCAA8BX,CAAO,CAAC,EAC7C,GAAG,KAAK,wBAAwBS,EAAQ,OAAO,CAAA,CAEnD,CACF,EApOyBrB,EAAA,KAAgB,6CASvCA,EAAuB,aAA6BwB,EAAa,aAAA,UArB5D,IAAMC,EAANzB"}
@@ -195,3 +195,4 @@ export {
195
195
  t as PointsIncentive,
196
196
  c as pointsIncentiveAbi
197
197
  };
198
+ //# sourceMappingURL=PointsIncentive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PointsIncentive.js","sources":["../../src/Incentives/PointsIncentive.ts"],"sourcesContent":["import {\n pointsIncentiveAbi,\n readPointsIncentiveClaimed,\n readPointsIncentiveClaims,\n readPointsIncentiveCurrentReward,\n readPointsIncentiveIsClaimable,\n readPointsIncentiveLimit,\n readPointsIncentiveReward,\n readPointsIncentiveSelector,\n readPointsIncentiveVenue,\n simulatePointsIncentiveClaim,\n writePointsIncentiveClaim,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/incentives/PointsIncentive.sol/PointsIncentive.json';\nimport type { Address, ContractEventName, Hex } from 'viem';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport {\n type ClaimPayload,\n type GenericLog,\n type PointsIncentivePayload,\n type ReadParams,\n RegistryType,\n type WriteParams,\n prepareClaimPayload,\n preparePointsIncentivePayload,\n} from '../utils';\n\nexport { pointsIncentiveAbi };\nexport type { PointsIncentivePayload };\n\n/**\n * A generic `viem.Log` event with support for `PointsIncentive` event types.\n *\n * @export\n * @typedef {PointsIncentiveLog}\n * @template {ContractEventName<\n * typeof pointsIncentiveAbi\n * >} [event=ContractEventName<typeof pointsIncentiveAbi>]\n */\nexport type PointsIncentiveLog<\n event extends ContractEventName<\n typeof pointsIncentiveAbi\n > = ContractEventName<typeof pointsIncentiveAbi>,\n> = GenericLog<typeof pointsIncentiveAbi, event>;\n\n/**\n * A simple on-chain points incentive implementation that allows claiming of soulbound tokens.\n *\n * In order for any claim to be successful:\n * - The claimer must not have already claimed the incentive; and\n * - The maximum number of claims must not have been reached; and\n * - This contract must be authorized to operate the points contract's issuance function\n *\n * @export\n * @class PointsIncentive\n * @typedef {PointsIncentive}\n * @extends {DeployableTarget<PointsIncentivePayload>}\n */\nexport class PointsIncentive extends DeployableTarget<\n PointsIncentivePayload,\n typeof pointsIncentiveAbi\n> {\n public override readonly abi = pointsIncentiveAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Address}\n */\n public static override base: Address = import.meta.env\n .VITE_POINTS_INCENTIVE_BASE;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.INCENTIVE;\n\n /**\n * The number of claims that have been made\n *\n * @public\n * @async\n * @param {?ReadParams<typeof erc20IncentiveAbi, 'claims'>} [params]\n * @returns {Promise<bigint>}\n */\n public async claims(\n params?: ReadParams<typeof pointsIncentiveAbi, 'claims'>,\n ) {\n return readPointsIncentiveClaims(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 current reward\n *\n * @public\n * @async\n * @param {?ReadParams<typeof erc20IncentiveAbi, 'currentReward'>} [params]\n * @returns {Promise<bigint>} - The current reward\n */\n public async currentReward(\n params?: ReadParams<typeof pointsIncentiveAbi, 'currentReward'>,\n ) {\n return readPointsIncentiveCurrentReward(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The reward amount issued for each claim\n *\n * @public\n * @async\n * @param {?ReadParams<typeof pointsIncentiveAbi, 'reward'>} [params]\n * @returns {unknown}\n */\n public async reward(\n params?: ReadParams<typeof pointsIncentiveAbi, 'reward'>,\n ) {\n return readPointsIncentiveReward(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<typeof pointsIncentiveAbi, 'claimed'>} [params]\n * @returns {unknown}\n */\n public async claimed(\n address: Address,\n params?: ReadParams<typeof pointsIncentiveAbi, 'claimed'>,\n ) {\n return readPointsIncentiveClaimed(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 points contract\n *\n * @public\n * @async\n * @param {?ReadParams<typeof pointsIncentiveAbi, 'venue'>} [params]\n * @returns {unknown}\n */\n public async venue(params?: ReadParams<typeof pointsIncentiveAbi, 'venue'>) {\n return readPointsIncentiveVenue(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 maximum number of claims that can be made (one per address)\n *\n * @public\n * @async\n * @param {?ReadParams<typeof pointsIncentiveAbi, 'limit'>} [params]\n * @returns {Promise<bigint>}\n */\n public async limit(params?: ReadParams<typeof pointsIncentiveAbi, 'limit'>) {\n return readPointsIncentiveLimit(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 selector for the issuance function on the points contract\n *\n * @public\n * @async\n * @param {?ReadParams<typeof pointsIncentiveAbi, 'selector'>} [params]\n * @returns {Promise<Hex>}\n */\n public async selector(\n params?: ReadParams<typeof pointsIncentiveAbi, 'selector'>,\n ) {\n return readPointsIncentiveSelector(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<typeof pointsIncentiveAbi, 'claim'>} [params]\n * @returns {Promise<boolean>} - True if the incentive was successfully claimed\n */\n public async claim(\n payload: ClaimPayload,\n params?: WriteParams<typeof pointsIncentiveAbi, 'claim'>,\n ) {\n return 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<typeof pointsIncentiveAbi, 'claim'>} [params]\n * @returns {Promise<boolean>} - True if the incentive was successfully claimed\n */\n public async claimRaw(\n payload: ClaimPayload,\n params?: WriteParams<typeof pointsIncentiveAbi, 'claim'>,\n ) {\n const { request, result } = await simulatePointsIncentiveClaim(\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 writePointsIncentiveClaim(this._config, request);\n return { hash, result };\n }\n\n /**\n * Check if an incentive is claimable.\n * For the POOL strategy, the `bytes data` portion of the payload ignored.\n * The recipient must not have already claimed the incentive.\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?ReadParams<typeof pointsIncentiveAbi, 'isClaimable'>} [params]\n * @returns {Promise<boolean>} - True if the incentive is claimable based on the data payload\n */\n public async isClaimable(\n payload: ClaimPayload,\n params?: ReadParams<typeof pointsIncentiveAbi, 'isClaimable'>,\n ) {\n return readPointsIncentiveIsClaimable(this._config, {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\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 * @inheritdoc\n *\n * @public\n * @param {?PointsIncentivePayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: PointsIncentivePayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: pointsIncentiveAbi,\n bytecode: bytecode as Hex,\n args: [preparePointsIncentivePayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n"],"names":["_PointsIncentive","DeployableTarget","pointsIncentiveAbi","params","readPointsIncentiveClaims","readPointsIncentiveCurrentReward","readPointsIncentiveReward","address","readPointsIncentiveClaimed","readPointsIncentiveVenue","readPointsIncentiveLimit","readPointsIncentiveSelector","payload","request","result","simulatePointsIncentiveClaim","prepareClaimPayload","writePointsIncentiveClaim","readPointsIncentiveIsClaimable","_payload","_options","options","bytecode","preparePointsIncentivePayload","RegistryType","PointsIncentive"],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../generated-Cd-Fe7W7.cjs"),r=require("../Deployable/DeployableTarget.cjs"),i=require("../utils.cjs"),n="0x610120604052348015610010575f80fd5b503073ffffffffffffffffffffffffffffffffffffffff16608081815250504660a0818152505060608061004861013960201b60201c565b6100635761005a61014160201b60201c565b80925081935050505b5f61007261013960201b60201c565b610083578280519060200120610087565b5f801b5b90505f61009861013960201b60201c565b6100a95782805190602001206100ad565b5f801b5b90508160c081815250508060e081815250505f6100ce61013960201b60201c565b610118576040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815283602082015282604082015246606082015230608082015260a081209150505b80610100818152505050505050506101346101b860201b60201c565b61024d565b5f6001905090565b6060806040518060400160405280600f81526020017f5369676e657256616c696461746f72000000000000000000000000000000000081525091506040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525090509091565b5f6101c761022460201b60201c565b9050805460018116156101e15763f92ee8a95f526004601cfd5b8160c01c808260011c1461021f578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b60805160a05160c05160e05161010051611ecc61028a5f395f610f6101525f6110a001525f61107d01525f61110f01525f6111330152611ecc5ff3fe6080604052600436106100f2575f3560e01c8063736c0d5b11610089578063d3de6e7511610058578063d3de6e75146102c4578063f04e283e14610300578063f2fde38b1461031c578063fee81cf414610338576100f2565b8063736c0d5b1461020657806384b0196e146102425780638da5cb5b14610272578063a1d2756f1461029c576100f2565b8063439fab91116100c5578063439fab911461018e57806354d1f13d146101b6578063703b6900146101c0578063715018a6146101fc576100f2565b806301ffc9a7146100f6578063256929621461013257806328d6183b1461013c5780634359d28a14610166575b5f80fd5b348015610101575f80fd5b5061011c60048036038101906101179190611232565b610374565b6040516101299190611277565b60405180910390f35b61013a6103ed565b005b348015610147575f80fd5b5061015061043e565b60405161015d919061129f565b60405180910390f35b348015610171575f80fd5b5061018c6004803603810190610187919061136e565b610465565b005b348015610199575f80fd5b506101b460048036038101906101af9190611441565b61056e565b005b6101be6106e5565b005b3480156101cb575f80fd5b506101e660048036038101906101e19190611519565b61071e565b6040516101f39190611277565b60405180910390f35b610204610911565b005b348015610211575f80fd5b5061022c6004803603810190610227919061159d565b610924565b6040516102399190611277565b60405180910390f35b34801561024d575f80fd5b50610256610940565b604051610269979695949392919061175f565b60405180910390f35b34801561027d575f80fd5b5061028661098b565b60405161029391906117e1565b60405180910390f35b3480156102a7575f80fd5b506102c260048036038101906102bd919061159d565b6109b3565b005b3480156102cf575f80fd5b506102ea60048036038101906102e59190611958565b6109fe565b6040516102f791906119d8565b60405180910390f35b61031a6004803603810190610315919061159d565b610a67565b005b6103366004803603810190610331919061159d565b610aa5565b005b348015610343575f80fd5b5061035e6004803603810190610359919061159d565b610ace565b60405161036b91906119f1565b60405180910390f35b5f7fb8ce7b22000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103e657506103e582610ae7565b5b9050919050565b5f6103f6610b60565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7fb8ce7b2200000000000000000000000000000000000000000000000000000000905090565b61046d610b6a565b8181905084849050146104ac576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84849050811015610567578282828181106104cc576104cb611a0a565b5b90506020020160208101906104e19190611a61565b5f808787858181106104f6576104f5611a0a565b5b905060200201602081019061050b919061159d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506104ae565b5050505050565b5f610577610ba1565b905080546003825580156105a95760018160011c14303b106105a05763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8084848101906105bb9190611b87565b915091506105e2825f815181106105d5576105d4611a0a565b5b6020026020010151610bca565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f5b82518110156106a85760015f8085848151811061064457610643611a0a565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610624565b50505080156106e0576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107a5576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f83838101906107b59190611c6e565b90505f815f01518060200190518101906107cf9190611dc8565b90505f6107e68983604001518986602001516109fe565b905087826040015160ff1611610839578160400151886040517f17c66bc7000000000000000000000000000000000000000000000000000000008152600401610830929190611e1e565b60405180910390fd5b5f80835f015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166108bb576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108d181896001610ca09092919063ffffffff16565b610903818360200151845f015173ffffffffffffffffffffffffffffffffffffffff16610d029092919063ffffffff16565b935050505095945050505050565b610919610b6a565b6109225f610e05565b565b5f602052805f5260405f205f915054906101000a900460ff1681565b5f6060805f805f60607f0f000000000000000000000000000000000000000000000000000000000000009650610974610ecb565b809650819750505046935030925090919293949596565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b6109bb610b6a565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f610a5d7ffea51d5bd45bcd3c2ecc3679b43a3b80b0bd0923f8c16f822455b8cdecd9852f8686868680519060200120604051602001610a42959493929190611e45565b60405160208183030381529060405280519060200120610f42565b9050949350505050565b610a6f610b6a565b63389a75e1600c52805f526020600c208054421115610a9557636f5e88185f526004601cfd5b5f815550610aa281610e05565b50565b610aad610b6a565b8060601b610ac257637448fbae5f526004601cfd5b610acb81610e05565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f5912b89c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b595750610b5882610fbe565b5b9050919050565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610b9f576382b429005f526004601cfd5b565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610bd2611037565b15610c4a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610c0c57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610c9d565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f633f57fc5c60e01b90505f634de1225a60e01b90506007831115610ccb57815f528260045260245ffd5b84602052835f5260405f206001841b81541880851c6001188015610cf557835f528560045260245ffd5b8183555050505050505050565b5f8360601b60601c93508315610dfe57604051835f5260208301516040526040835103610d6f576040830151601b8160ff1c016020528060011b60011c6060526020600160805f60015afa805187183d1517610d6c57600193505f60605282604052505050610dfe565b50505b6041835103610db55760608301515f1a60205260408301516060526020600160805f60015afa805186183d1517610db357600192505f606052816040525050610dfe565b505b5f60605280604052631626ba7e60e01b808252846004830152602482016040815284516020018060448501828860045afa5060208260443d01868b5afa83835114169450505050505b9392505050565b610e0d611037565b15610e72577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610ec8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b6060806040518060400160405280600f81526020017f5369676e657256616c696461746f72000000000000000000000000000000000081525091506040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525090509091565b5f610f4b61103b565b15610f5f57610f58611043565b9050610f9b565b7f00000000000000000000000000000000000000000000000000000000000000009050610f8a61110b565b15610f9a57610f97611043565b90505b5b6719010000000000005f5280601a5281603a52604260182090505f603a52919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611030575061102f82611163565b5b9050919050565b5f90565b5f6001905090565b5f8061104d61103b565b1561107b575f8061105c610ecb565b91509150818051906020012093508080519060200120925050506110c2565b7f000000000000000000000000000000000000000000000000000000000000000091507f000000000000000000000000000000000000000000000000000000000000000090505b6040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f815282602082015281604082015246606082015230608082015260a081209250505090565b5f807f000000000000000000000000000000000000000000000000000000000000000090505f7f0000000000000000000000000000000000000000000000000000000000000000905080301482461416159250505090565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611211816111dd565b811461121b575f80fd5b50565b5f8135905061122c81611208565b92915050565b5f60208284031215611247576112466111d5565b5b5f6112548482850161121e565b91505092915050565b5f8115159050919050565b6112718161125d565b82525050565b5f60208201905061128a5f830184611268565b92915050565b611299816111dd565b82525050565b5f6020820190506112b25f830184611290565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126112d9576112d86112b8565b5b8235905067ffffffffffffffff8111156112f6576112f56112bc565b5b602083019150836020820283011115611312576113116112c0565b5b9250929050565b5f8083601f84011261132e5761132d6112b8565b5b8235905067ffffffffffffffff81111561134b5761134a6112bc565b5b602083019150836020820283011115611367576113666112c0565b5b9250929050565b5f805f8060408587031215611386576113856111d5565b5b5f85013567ffffffffffffffff8111156113a3576113a26111d9565b5b6113af878288016112c4565b9450945050602085013567ffffffffffffffff8111156113d2576113d16111d9565b5b6113de87828801611319565b925092505092959194509250565b5f8083601f840112611401576114006112b8565b5b8235905067ffffffffffffffff81111561141e5761141d6112bc565b5b60208301915083600182028301111561143a576114396112c0565b5b9250929050565b5f8060208385031215611457576114566111d5565b5b5f83013567ffffffffffffffff811115611474576114736111d9565b5b611480858286016113ec565b92509250509250929050565b5f819050919050565b61149e8161148c565b81146114a8575f80fd5b50565b5f813590506114b981611495565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6114e8826114bf565b9050919050565b6114f8816114de565b8114611502575f80fd5b50565b5f81359050611513816114ef565b92915050565b5f805f805f60808688031215611532576115316111d5565b5b5f61153f888289016114ab565b9550506020611550888289016114ab565b945050604061156188828901611505565b935050606086013567ffffffffffffffff811115611582576115816111d9565b5b61158e888289016113ec565b92509250509295509295909350565b5f602082840312156115b2576115b16111d5565b5b5f6115bf84828501611505565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6115fc816115c8565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61164482611602565b61164e818561160c565b935061165e81856020860161161c565b6116678161162a565b840191505092915050565b61167b8161148c565b82525050565b61168a816114de565b82525050565b5f819050919050565b6116a281611690565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6116da8161148c565b82525050565b5f6116eb83836116d1565b60208301905092915050565b5f602082019050919050565b5f61170d826116a8565b61171781856116b2565b9350611722836116c2565b805f5b8381101561175257815161173988826116e0565b9750611744836116f7565b925050600181019050611725565b5085935050505092915050565b5f60e0820190506117725f83018a6115f3565b8181036020830152611784818961163a565b90508181036040830152611798818861163a565b90506117a76060830187611672565b6117b46080830186611681565b6117c160a0830185611699565b81810360c08301526117d38184611703565b905098975050505050505050565b5f6020820190506117f45f830184611681565b92915050565b5f60ff82169050919050565b61180f816117fa565b8114611819575f80fd5b50565b5f8135905061182a81611806565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61186a8261162a565b810181811067ffffffffffffffff8211171561188957611888611834565b5b80604052505050565b5f61189b6111cc565b90506118a78282611861565b919050565b5f67ffffffffffffffff8211156118c6576118c5611834565b5b6118cf8261162a565b9050602081019050919050565b828183375f83830152505050565b5f6118fc6118f7846118ac565b611892565b90508281526020810184848401111561191857611917611830565b5b6119238482856118dc565b509392505050565b5f82601f83011261193f5761193e6112b8565b5b813561194f8482602086016118ea565b91505092915050565b5f805f80608085870312156119705761196f6111d5565b5b5f61197d878288016114ab565b945050602061198e8782880161181c565b935050604061199f87828801611505565b925050606085013567ffffffffffffffff8111156119c0576119bf6111d9565b5b6119cc8782880161192b565b91505092959194509250565b5f6020820190506119eb5f830184611699565b92915050565b5f602082019050611a045f830184611672565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b611a408161125d565b8114611a4a575f80fd5b50565b5f81359050611a5b81611a37565b92915050565b5f60208284031215611a7657611a756111d5565b5b5f611a8384828501611a4d565b91505092915050565b5f67ffffffffffffffff821115611aa657611aa5611834565b5b602082029050602081019050919050565b5f611ac9611ac484611a8c565b611892565b90508083825260208201905060208402830185811115611aec57611aeb6112c0565b5b835b81811015611b155780611b018882611505565b845260208401935050602081019050611aee565b5050509392505050565b5f82601f830112611b3357611b326112b8565b5b8135611b43848260208601611ab7565b91505092915050565b5f611b56826114bf565b9050919050565b611b6681611b4c565b8114611b70575f80fd5b50565b5f81359050611b8181611b5d565b92915050565b5f8060408385031215611b9d57611b9c6111d5565b5b5f83013567ffffffffffffffff811115611bba57611bb96111d9565b5b611bc685828601611b1f565b9250506020611bd785828601611b73565b9150509250929050565b5f80fd5b5f80fd5b5f60408284031215611bfe57611bfd611be1565b5b611c086040611892565b90505f82013567ffffffffffffffff811115611c2757611c26611be5565b5b611c338482850161192b565b5f83015250602082013567ffffffffffffffff811115611c5657611c55611be5565b5b611c628482850161192b565b60208301525092915050565b5f60208284031215611c8357611c826111d5565b5b5f82013567ffffffffffffffff811115611ca057611c9f6111d9565b5b611cac84828501611be9565b91505092915050565b5f81519050611cc3816114ef565b92915050565b5f611cdb611cd6846118ac565b611892565b905082815260208101848484011115611cf757611cf6611830565b5b611d0284828561161c565b509392505050565b5f82601f830112611d1e57611d1d6112b8565b5b8151611d2e848260208601611cc9565b91505092915050565b5f81519050611d4581611806565b92915050565b5f60608284031215611d6057611d5f611be1565b5b611d6a6060611892565b90505f611d7984828501611cb5565b5f83015250602082015167ffffffffffffffff811115611d9c57611d9b611be5565b5b611da884828501611d0a565b6020830152506040611dbc84828501611d37565b60408301525092915050565b5f60208284031215611ddd57611ddc6111d5565b5b5f82015167ffffffffffffffff811115611dfa57611df96111d9565b5b611e0684828501611d4b565b91505092915050565b611e18816117fa565b82525050565b5f604082019050611e315f830185611e0f565b611e3e6020830184611672565b9392505050565b5f60a082019050611e585f830188611699565b611e656020830187611672565b611e726040830186611e0f565b611e7f6060830185611681565b611e8c6080830184611699565b969550505050505056fea26469706673582212205fce26f05c322d5e151f6b16e70e28b485c147f70dd352b6a7a116eaca9f369f64736f6c634300081a0033",d=class d extends r.DeployableTarget{constructor(){super(...arguments),this.abi=a.M}async signers(f,b){return a.wN(this._config,{address:this.assertValidAddress(),args:[f],...b})}async hashSignerData(f,b){return a.bN(this._config,{address:this.assertValidAddress(),args:[f.boostId,f.incentiveQuantity,f.claimant,f.incentiveData],...b})}async validate(f,b){return this.awaitResult(this.validateRaw(f,b))}async validateRaw(f,b){const{request:e,result:c}=await a.kN(this._config,{address:this.assertValidAddress(),args:[f.boostId,f.incentiveId,f.claimant,f.claimData],...this.optionallyAttachAccount(),...b});return{hash:await a.RN(this._config,e),result:c}}async setAuthorized(f,b,e){return this.awaitResult(this.setAuthorizedRaw(f,b,e))}async setAuthorizedRaw(f,b,e){const{request:c,result:t}=await a._N(this._config,{address:this.assertValidAddress(),args:[f,b],...this.optionallyAttachAccount(),...e});return{hash:await a.ON(this._config,c),result:t}}async setValidatorCallerRaw(f,b){const{request:e,result:c}=await a.FN(this._config,{address:this.assertValidAddress(),args:[f],...this.optionallyAttachAccount(),...b});return{hash:await a.CN(this._config,e),result:c}}async setValidatorCaller(f,b){return this.awaitResult(this.setValidatorCallerRaw(f,b))}buildParameters(f,b){const[e,c]=this.validateDeploymentConfig(f,b);return{abi:a.M,bytecode:n,args:[i.prepareSignerValidatorPayload(e)],...this.optionallyAttachAccount(c.account)}}};d.base="0x749c6fDd62727E11e3200571de7CfBb61DFbA93b",d.registryType=i.RegistryType.VALIDATOR;let s=d;exports.signerValidatorAbi=a.M;exports.SignerValidator=s;
2
+ //# sourceMappingURL=SignerValidator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignerValidator.cjs","sources":["../../src/Validators/SignerValidator.ts"],"sourcesContent":["import {\n readSignerValidatorHashSignerData,\n readSignerValidatorSigners,\n signerValidatorAbi,\n simulateSignerValidatorSetAuthorized,\n simulateSignerValidatorSetValidatorCaller,\n simulateSignerValidatorValidate,\n writeSignerValidatorSetAuthorized,\n writeSignerValidatorSetValidatorCaller,\n writeSignerValidatorValidate,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/validators/SignerValidator.sol/SignerValidator.json';\nimport type { Address, ContractEventName, Hex } from 'viem';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type SignerValidatorPayload,\n type SignerValidatorSignaturePayload,\n type SignerValidatorValidatePayload,\n type WriteParams,\n prepareSignerValidatorPayload,\n} from '../utils';\n\nexport { signerValidatorAbi };\nexport type { SignerValidatorPayload };\n\n/**\n * A generic `viem.Log` event with support for `BoostCore` event types.\n *\n * @export\n * @typedef {SignerValidatorLog}\n * @template {ContractEventName<\n * typeof signerValidatorAbi\n * >} [event=ContractEventName<typeof signerValidatorAbi>]\n */\nexport type SignerValidatorLog<\n event extends ContractEventName<\n typeof signerValidatorAbi\n > = ContractEventName<typeof signerValidatorAbi>,\n> = GenericLog<typeof signerValidatorAbi, event>;\n\n/**\n * A simple implementation of a Validator that verifies a given signature and checks the recovered address against a set of authorized signers\n *\n * @export\n * @class SignerValidator\n * @typedef {SignerValidator}\n * @extends {DeployableTarget<SignerValidatorPayload>}\n */\nexport class SignerValidator extends DeployableTarget<\n SignerValidatorPayload,\n typeof signerValidatorAbi\n> {\n public override readonly abi = signerValidatorAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Address}\n */\n public static override base: Address = import.meta.env\n .VITE_SIGNER_VALIDATOR_BASE;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.VALIDATOR;\n\n /**\n * The set of authorized signers\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams<typeof signerValidatorAbi, 'signers'>} [params]\n * @returns {unknown}\n */\n public async signers(\n address: Address,\n params?: ReadParams<typeof signerValidatorAbi, 'signers'>,\n ) {\n return readSignerValidatorSigners(this._config, {\n address: this.assertValidAddress(),\n args: [address],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Retrieve the hash and signer data for a given hash\n *\n * @public\n * @async\n * @param {SignerValidatorSignaturePayload} payload\n * @param {?ReadParams<typeof signerValidatorAbi, 'hashSignerData'>} [params]\n * @returns {unknown}\n */\n public async hashSignerData(\n payload: SignerValidatorSignaturePayload,\n params?: ReadParams<typeof signerValidatorAbi, 'hashSignerData'>,\n ) {\n return readSignerValidatorHashSignerData(this._config, {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveQuantity,\n payload.claimant,\n payload.incentiveData,\n ],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.\n *\n * @public\n * @async\n * @param {SignerValidatorValidatePayload} payload\n * @param {?WriteParams<typeof signerValidatorAbi, 'validate'>} [params]\n * @returns {Promise<boolean>} - True if the action has been validated based on the data payload\n */\n public async validate(\n payload: SignerValidatorValidatePayload,\n params?: WriteParams<typeof signerValidatorAbi, 'validate'>,\n ) {\n return this.awaitResult(this.validateRaw(payload, params));\n }\n\n /**\n * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.\n *\n * @public\n * @async\n * @param {SignerValidatorValidatePayload} payload\n * @param {?WriteParams<typeof signerValidatorAbi, 'validate'>} [params]\n * @returns {Promise<boolean>} - True if the action has been validated based on the data payload\n */\n public async validateRaw(\n payload: SignerValidatorValidatePayload,\n params?: ReadParams<typeof signerValidatorAbi, 'validate'>,\n ) {\n const { request, result } = await simulateSignerValidatorValidate(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveId,\n payload.claimant,\n payload.claimData,\n ],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeSignerValidatorValidate(this._config, request);\n return { hash, result };\n }\n\n /**\n * Set the authorized status of a signer\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of signers to update\n * @param {boolean[]} allowed - The authorized status of each signer\n * @param {?WriteParams<typeof signerValidatorAbi, 'setAuthorized'>} [params]\n * @returns {unknown}\n */\n public async setAuthorized(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof signerValidatorAbi, 'setAuthorized'>,\n ) {\n return this.awaitResult(this.setAuthorizedRaw(addresses, allowed, params));\n }\n\n /**\n * Set the authorized status of a signer\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of signers to update\n * @param {boolean[]} allowed - The authorized status of each signer\n * @param {?WriteParams<typeof signerValidatorAbi, 'setAuthorized'>} [params]\n * @returns {unknown}\n */\n public async setAuthorizedRaw(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof signerValidatorAbi, 'setAuthorized'>,\n ) {\n const { request, result } = await simulateSignerValidatorSetAuthorized(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, allowed],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeSignerValidatorSetAuthorized(this._config, request);\n return { hash, result };\n }\n\n public async setValidatorCallerRaw(\n address: Address,\n params?: WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>,\n ) {\n const { request, result } = await simulateSignerValidatorSetValidatorCaller(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [address],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeSignerValidatorSetValidatorCaller(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n public async setValidatorCaller(\n address: Address,\n params?: WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>,\n ) {\n return this.awaitResult(this.setValidatorCallerRaw(address, params));\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SignerValidatorPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SignerValidatorPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: signerValidatorAbi,\n bytecode: bytecode as Hex,\n args: [prepareSignerValidatorPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n"],"names":["_SignerValidator","DeployableTarget","signerValidatorAbi","address","params","readSignerValidatorSigners","payload","readSignerValidatorHashSignerData","request","result","simulateSignerValidatorValidate","writeSignerValidatorValidate","addresses","allowed","simulateSignerValidatorSetAuthorized","writeSignerValidatorSetAuthorized","simulateSignerValidatorSetValidatorCaller","writeSignerValidatorSetValidatorCaller","_payload","_options","options","bytecode","prepareSignerValidatorPayload","RegistryType","SignerValidator"],"mappings":"03hBAuDaA,EAAN,MAAMA,UAAwBC,EAAAA,gBAGnC,CAHK,aAAA,CAAA,MAAA,GAAA,SAAA,EAIL,KAAyB,IAAMC,GAAA,CA4B/B,MAAa,QACXC,EACAC,EACA,CACO,OAAAC,EAAA,GAA2B,KAAK,QAAS,CAC9C,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACF,CAAO,EAEd,GAAIC,CAAA,CACL,CACH,CAWA,MAAa,eACXE,EACAF,EACA,CACO,OAAAG,EAAA,GAAkC,KAAK,QAAS,CACrD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CACJD,EAAQ,QACRA,EAAQ,kBACRA,EAAQ,SACRA,EAAQ,aACV,EAEA,GAAIF,CAAA,CACL,CACH,CAWA,MAAa,SACXE,EACAF,EACA,CACA,OAAO,KAAK,YAAY,KAAK,YAAYE,EAASF,CAAM,CAAC,CAC3D,CAWA,MAAa,YACXE,EACAF,EACA,CACA,KAAM,CAAE,QAAAI,EAAS,OAAAC,CAAO,EAAI,MAAMC,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CACJJ,EAAQ,QACRA,EAAQ,YACRA,EAAQ,SACRA,EAAQ,SACV,EACA,GAAG,KAAK,wBAAwB,EAEhC,GAAIF,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMO,EAA6B,GAAA,KAAK,QAASH,CAAO,EACtD,OAAAC,EACjB,CAYA,MAAa,cACXG,EACAC,EACAT,EACA,CACA,OAAO,KAAK,YAAY,KAAK,iBAAiBQ,EAAWC,EAAST,CAAM,CAAC,CAC3E,CAYA,MAAa,iBACXQ,EACAC,EACAT,EACA,CACA,KAAM,CAAE,QAAAI,EAAS,OAAAC,CAAO,EAAI,MAAMK,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACF,EAAWC,CAAO,EACzB,GAAG,KAAK,wBAAwB,EAEhC,GAAIT,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMW,EAAkC,GAAA,KAAK,QAASP,CAAO,EAC3D,OAAAC,EACjB,CAEA,MAAa,sBACXN,EACAC,EACA,CACA,KAAM,CAAE,QAAAI,EAAS,OAAAC,CAAO,EAAI,MAAMO,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACb,CAAO,EACd,GAAG,KAAK,wBAAwB,EAEhC,GAAIC,CACN,CAAA,EAMK,MAAA,CAAE,KAJI,MAAMa,EAAA,GACjB,KAAK,QACLT,CAAA,EAEa,OAAAC,EACjB,CAEA,MAAa,mBACXN,EACAC,EACA,CACA,OAAO,KAAK,YAAY,KAAK,sBAAsBD,EAASC,CAAM,CAAC,CACrE,CAUgB,gBACdc,EACAC,EACyB,CACzB,KAAM,CAACb,EAASc,CAAO,EAAI,KAAK,yBAC9BF,EACAC,CAAA,EAEK,MAAA,CACL,IAAKjB,EAAA,EACL,SAAAmB,EACA,KAAM,CAACC,gCAA8BhB,CAAO,CAAC,EAC7C,GAAG,KAAK,wBAAwBc,EAAQ,OAAO,CAAA,CAEnD,CACF,EA5MyBpB,EAAA,KAAgB,6CASvCA,EAAuB,aAA6BuB,EAAa,aAAA,UArB5D,IAAMC,EAANxB"}
@@ -165,3 +165,4 @@ export {
165
165
  s as SignerValidator,
166
166
  t as signerValidatorAbi
167
167
  };
168
+ //# sourceMappingURL=SignerValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignerValidator.js","sources":["../../src/Validators/SignerValidator.ts"],"sourcesContent":["import {\n readSignerValidatorHashSignerData,\n readSignerValidatorSigners,\n signerValidatorAbi,\n simulateSignerValidatorSetAuthorized,\n simulateSignerValidatorSetValidatorCaller,\n simulateSignerValidatorValidate,\n writeSignerValidatorSetAuthorized,\n writeSignerValidatorSetValidatorCaller,\n writeSignerValidatorValidate,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/validators/SignerValidator.sol/SignerValidator.json';\nimport type { Address, ContractEventName, Hex } from 'viem';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type SignerValidatorPayload,\n type SignerValidatorSignaturePayload,\n type SignerValidatorValidatePayload,\n type WriteParams,\n prepareSignerValidatorPayload,\n} from '../utils';\n\nexport { signerValidatorAbi };\nexport type { SignerValidatorPayload };\n\n/**\n * A generic `viem.Log` event with support for `BoostCore` event types.\n *\n * @export\n * @typedef {SignerValidatorLog}\n * @template {ContractEventName<\n * typeof signerValidatorAbi\n * >} [event=ContractEventName<typeof signerValidatorAbi>]\n */\nexport type SignerValidatorLog<\n event extends ContractEventName<\n typeof signerValidatorAbi\n > = ContractEventName<typeof signerValidatorAbi>,\n> = GenericLog<typeof signerValidatorAbi, event>;\n\n/**\n * A simple implementation of a Validator that verifies a given signature and checks the recovered address against a set of authorized signers\n *\n * @export\n * @class SignerValidator\n * @typedef {SignerValidator}\n * @extends {DeployableTarget<SignerValidatorPayload>}\n */\nexport class SignerValidator extends DeployableTarget<\n SignerValidatorPayload,\n typeof signerValidatorAbi\n> {\n public override readonly abi = signerValidatorAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Address}\n */\n public static override base: Address = import.meta.env\n .VITE_SIGNER_VALIDATOR_BASE;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.VALIDATOR;\n\n /**\n * The set of authorized signers\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams<typeof signerValidatorAbi, 'signers'>} [params]\n * @returns {unknown}\n */\n public async signers(\n address: Address,\n params?: ReadParams<typeof signerValidatorAbi, 'signers'>,\n ) {\n return readSignerValidatorSigners(this._config, {\n address: this.assertValidAddress(),\n args: [address],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Retrieve the hash and signer data for a given hash\n *\n * @public\n * @async\n * @param {SignerValidatorSignaturePayload} payload\n * @param {?ReadParams<typeof signerValidatorAbi, 'hashSignerData'>} [params]\n * @returns {unknown}\n */\n public async hashSignerData(\n payload: SignerValidatorSignaturePayload,\n params?: ReadParams<typeof signerValidatorAbi, 'hashSignerData'>,\n ) {\n return readSignerValidatorHashSignerData(this._config, {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveQuantity,\n payload.claimant,\n payload.incentiveData,\n ],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.\n *\n * @public\n * @async\n * @param {SignerValidatorValidatePayload} payload\n * @param {?WriteParams<typeof signerValidatorAbi, 'validate'>} [params]\n * @returns {Promise<boolean>} - True if the action has been validated based on the data payload\n */\n public async validate(\n payload: SignerValidatorValidatePayload,\n params?: WriteParams<typeof signerValidatorAbi, 'validate'>,\n ) {\n return this.awaitResult(this.validateRaw(payload, params));\n }\n\n /**\n * Validate that the action has been completed successfully. The data payload is expected to be a tuple of (address signer, bytes32 hash, bytes signature). The signature is expected to be a valid ECDSA or EIP-1271 signature of a unique hash by an authorized signer.\n *\n * @public\n * @async\n * @param {SignerValidatorValidatePayload} payload\n * @param {?WriteParams<typeof signerValidatorAbi, 'validate'>} [params]\n * @returns {Promise<boolean>} - True if the action has been validated based on the data payload\n */\n public async validateRaw(\n payload: SignerValidatorValidatePayload,\n params?: ReadParams<typeof signerValidatorAbi, 'validate'>,\n ) {\n const { request, result } = await simulateSignerValidatorValidate(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [\n payload.boostId,\n payload.incentiveId,\n payload.claimant,\n payload.claimData,\n ],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeSignerValidatorValidate(this._config, request);\n return { hash, result };\n }\n\n /**\n * Set the authorized status of a signer\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of signers to update\n * @param {boolean[]} allowed - The authorized status of each signer\n * @param {?WriteParams<typeof signerValidatorAbi, 'setAuthorized'>} [params]\n * @returns {unknown}\n */\n public async setAuthorized(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof signerValidatorAbi, 'setAuthorized'>,\n ) {\n return this.awaitResult(this.setAuthorizedRaw(addresses, allowed, params));\n }\n\n /**\n * Set the authorized status of a signer\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of signers to update\n * @param {boolean[]} allowed - The authorized status of each signer\n * @param {?WriteParams<typeof signerValidatorAbi, 'setAuthorized'>} [params]\n * @returns {unknown}\n */\n public async setAuthorizedRaw(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof signerValidatorAbi, 'setAuthorized'>,\n ) {\n const { request, result } = await simulateSignerValidatorSetAuthorized(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, allowed],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeSignerValidatorSetAuthorized(this._config, request);\n return { hash, result };\n }\n\n public async setValidatorCallerRaw(\n address: Address,\n params?: WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>,\n ) {\n const { request, result } = await simulateSignerValidatorSetValidatorCaller(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [address],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeSignerValidatorSetValidatorCaller(\n this._config,\n request,\n );\n return { hash, result };\n }\n\n public async setValidatorCaller(\n address: Address,\n params?: WriteParams<typeof signerValidatorAbi, 'setValidatorCaller'>,\n ) {\n return this.awaitResult(this.setValidatorCallerRaw(address, params));\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SignerValidatorPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SignerValidatorPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: signerValidatorAbi,\n bytecode: bytecode as Hex,\n args: [prepareSignerValidatorPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n"],"names":["_SignerValidator","DeployableTarget","signerValidatorAbi","address","params","readSignerValidatorSigners","payload","readSignerValidatorHashSignerData","request","result","simulateSignerValidatorValidate","writeSignerValidatorValidate","addresses","allowed","simulateSignerValidatorSetAuthorized","writeSignerValidatorSetAuthorized","simulateSignerValidatorSetValidatorCaller","writeSignerValidatorSetValidatorCaller","_payload","_options","options","bytecode","prepareSignerValidatorPayload","RegistryType","SignerValidator"],"mappings":"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"}
@@ -1 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../generated-Cd-Fe7W7.cjs"),c=require("@wagmi/core"),d=require("../errors.cjs"),a=require("./SignerValidator.cjs"),e={"0xb8ce7b22":a.SignerValidator};async function s(r,t){const n=await c.readContract(r.config,{abi:i.re,functionName:"getComponentInterface",address:t}),o=e[n];if(!o)throw new d.InvalidComponentInterfaceError(Object.keys(e),n);return new o(r,t)}exports.SignerValidator=a.SignerValidator;exports.ValidatorByComponentInterface=e;exports.validatorFromAddress=s;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../generated-Cd-Fe7W7.cjs"),c=require("../componentInterfaces-CKCBwG16.cjs"),d=require("@wagmi/core"),s=require("../errors.cjs"),a=require("./SignerValidator.cjs"),e={[c.ASignerValidator]:a.SignerValidator};async function l(r,t){const n=await d.readContract(r.config,{abi:i.re,functionName:"getComponentInterface",address:t}),o=e[n];if(!o)throw new s.InvalidComponentInterfaceError(Object.keys(e),n);return new o(r,t)}exports.SignerValidator=a.SignerValidator;exports.ValidatorByComponentInterface=e;exports.validatorFromAddress=l;
2
+ //# sourceMappingURL=Validator.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Validator.cjs","sources":["../../src/Validators/Validator.ts"],"sourcesContent":["import { aValidatorAbi } from '@boostxyz/evm';\nimport { ASignerValidator } 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 { SignerValidator } from './SignerValidator';\n\nexport { SignerValidator };\n\n/**\n * A union type representing all valid protocol Validator implementations\n *\n * @export\n * @typedef {Validator}\n */\nexport type Validator = SignerValidator;\n\n/**\n * A map of Validator component interfaces to their constructors.\n *\n * @type {{ \"0xd8725ea2\": typeof SignerValidator; }}\n */\nexport const ValidatorByComponentInterface = {\n [ASignerValidator as Hex]: SignerValidator,\n};\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 {unknown}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function validatorFromAddress(\n options: DeployableOptions,\n address: Address,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aValidatorAbi,\n functionName: 'getComponentInterface',\n address,\n })) as keyof typeof ValidatorByComponentInterface;\n const Ctor = ValidatorByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(ValidatorByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address);\n}\n"],"names":["ValidatorByComponentInterface","ASignerValidator","SignerValidator","validatorFromAddress","options","address","interfaceId","readContract","aValidatorAbi","Ctor","InvalidComponentInterfaceError"],"mappings":"qQAuBaA,EAAgC,CAC3C,CAACC,EAAuB,gBAAA,EAAGC,EAAA,eAC7B,EAYsB,eAAAC,EACpBC,EACAC,EACA,CACA,MAAMC,EAAe,MAAMC,eAAaH,EAAQ,OAAQ,CACtD,IAAKI,EAAA,GACL,aAAc,wBACd,QAAAH,CAAA,CACD,EACKI,EAAOT,EAA8BM,CAAW,EACtD,GAAI,CAACG,EACH,MAAM,IAAIC,EAAA,+BACR,OAAO,KAAKV,CAA6B,EACzCM,CAAA,EAGG,OAAA,IAAIG,EAAKL,EAASC,CAAO,CAClC"}
@@ -15,7 +15,7 @@ export type Validator = SignerValidator;
15
15
  * @type {{ "0xd8725ea2": typeof SignerValidator; }}
16
16
  */
17
17
  export declare const ValidatorByComponentInterface: {
18
- "0xb8ce7b22": typeof SignerValidator;
18
+ [x: string]: typeof SignerValidator;
19
19
  };
20
20
  /**
21
21
  * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.
@@ -1 +1 @@
1
- {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../src/Validators/Validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;CAEzC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,4BAejB"}
1
+ {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../src/Validators/Validator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;CAEzC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,4BAejB"}
@@ -1,12 +1,13 @@
1
1
  import { r as a } from "../generated-DGpIVcv5.js";
2
- import { readContract as i } from "@wagmi/core";
2
+ import { d as i } from "../componentInterfaces-DYkaxBda.js";
3
+ import { readContract as m } from "@wagmi/core";
3
4
  import { InvalidComponentInterfaceError as c } from "../errors.js";
4
- import { SignerValidator as m } from "./SignerValidator.js";
5
+ import { SignerValidator as f } from "./SignerValidator.js";
5
6
  const e = {
6
- "0xb8ce7b22": m
7
+ [i]: f
7
8
  };
8
- async function C(r, o) {
9
- const t = await i(r.config, {
9
+ async function I(r, o) {
10
+ const t = await m(r.config, {
10
11
  abi: a,
11
12
  functionName: "getComponentInterface",
12
13
  address: o
@@ -19,7 +20,8 @@ async function C(r, o) {
19
20
  return new n(r, o);
20
21
  }
21
22
  export {
22
- m as SignerValidator,
23
+ f as SignerValidator,
23
24
  e as ValidatorByComponentInterface,
24
- C as validatorFromAddress
25
+ I as validatorFromAddress
25
26
  };
27
+ //# sourceMappingURL=Validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Validator.js","sources":["../../src/Validators/Validator.ts"],"sourcesContent":["import { aValidatorAbi } from '@boostxyz/evm';\nimport { ASignerValidator } 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 { SignerValidator } from './SignerValidator';\n\nexport { SignerValidator };\n\n/**\n * A union type representing all valid protocol Validator implementations\n *\n * @export\n * @typedef {Validator}\n */\nexport type Validator = SignerValidator;\n\n/**\n * A map of Validator component interfaces to their constructors.\n *\n * @type {{ \"0xd8725ea2\": typeof SignerValidator; }}\n */\nexport const ValidatorByComponentInterface = {\n [ASignerValidator as Hex]: SignerValidator,\n};\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 {unknown}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function validatorFromAddress(\n options: DeployableOptions,\n address: Address,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aValidatorAbi,\n functionName: 'getComponentInterface',\n address,\n })) as keyof typeof ValidatorByComponentInterface;\n const Ctor = ValidatorByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(ValidatorByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address);\n}\n"],"names":["ValidatorByComponentInterface","ASignerValidator","SignerValidator","validatorFromAddress","options","address","interfaceId","readContract","aValidatorAbi","Ctor","InvalidComponentInterfaceError"],"mappings":";;;;;AAuBO,MAAMA,IAAgC;AAAA,EAC3C,CAACC,CAAuB,GAAGC;AAC7B;AAYsB,eAAAC,EACpBC,GACAC,GACA;AACA,QAAMC,IAAe,MAAMC,EAAaH,EAAQ,QAAQ;AAAA,IACtD,KAAKI;AAAAA,IACL,cAAc;AAAA,IACd,SAAAH;AAAA,EAAA,CACD,GACKI,IAAOT,EAA8BM,CAAW;AACtD,MAAI,CAACG;AACH,UAAM,IAAIC;AAAA,MACR,OAAO,KAAKV,CAA6B;AAAA,MACzCM;AAAA,IAAA;AAGG,SAAA,IAAIG,EAAKL,GAASC,CAAO;AAClC;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const e="0xa39e44d9",n="0x8c901437",t="0x6060409d",i="0x7687b0ed",c="0xa0109882",A="0xc5b24b8e",o="0xb8ce7b22",s="0x8ba1fc24",a="0x3d30a22c";exports.ACGDAIncentive=e;exports.AERC20Incentive=n;exports.AERC20VariableIncentive=t;exports.AEventAction=i;exports.AManagedBudget=c;exports.APointsIncentive=A;exports.ASignerValidator=o;exports.ASimpleAllowList=s;exports.ASimpleDenyList=a;
2
+ //# sourceMappingURL=componentInterfaces-CKCBwG16.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentInterfaces-CKCBwG16.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}