@boostxyz/sdk 0.0.0-alpha.5 → 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 (164) hide show
  1. package/dist/Actions/Action.cjs +1 -0
  2. package/dist/Actions/Action.cjs.map +1 -0
  3. package/dist/Actions/Action.js +1 -0
  4. package/dist/Actions/Action.js.map +1 -0
  5. package/dist/Actions/EventAction.cjs +1 -0
  6. package/dist/Actions/EventAction.cjs.map +1 -0
  7. package/dist/Actions/EventAction.js +1 -0
  8. package/dist/Actions/EventAction.js.map +1 -0
  9. package/dist/AllowLists/AllowList.cjs +1 -0
  10. package/dist/AllowLists/AllowList.cjs.map +1 -0
  11. package/dist/AllowLists/AllowList.js +1 -0
  12. package/dist/AllowLists/AllowList.js.map +1 -0
  13. package/dist/AllowLists/SimpleAllowList.cjs +1 -0
  14. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -0
  15. package/dist/AllowLists/SimpleAllowList.js +1 -0
  16. package/dist/AllowLists/SimpleAllowList.js.map +1 -0
  17. package/dist/AllowLists/SimpleDenyList.cjs +1 -0
  18. package/dist/AllowLists/SimpleDenyList.cjs.map +1 -0
  19. package/dist/AllowLists/SimpleDenyList.js +1 -0
  20. package/dist/AllowLists/SimpleDenyList.js.map +1 -0
  21. package/dist/Auth/Auth.cjs +1 -0
  22. package/dist/Auth/Auth.cjs.map +1 -0
  23. package/dist/Auth/Auth.js +1 -0
  24. package/dist/Auth/Auth.js.map +1 -0
  25. package/dist/Auth/PassthroughAuth.cjs +1 -0
  26. package/dist/Auth/PassthroughAuth.cjs.map +1 -0
  27. package/dist/Auth/PassthroughAuth.js +1 -0
  28. package/dist/Auth/PassthroughAuth.js.map +1 -0
  29. package/dist/Boost.cjs +1 -0
  30. package/dist/Boost.cjs.map +1 -0
  31. package/dist/Boost.js +1 -0
  32. package/dist/Boost.js.map +1 -0
  33. package/dist/BoostCore.cjs +1 -0
  34. package/dist/BoostCore.cjs.map +1 -0
  35. package/dist/BoostCore.js +1 -0
  36. package/dist/BoostCore.js.map +1 -0
  37. package/dist/BoostRegistry.cjs +1 -0
  38. package/dist/BoostRegistry.cjs.map +1 -0
  39. package/dist/BoostRegistry.js +1 -0
  40. package/dist/BoostRegistry.js.map +1 -0
  41. package/dist/Budgets/Budget.cjs +1 -0
  42. package/dist/Budgets/Budget.cjs.map +1 -0
  43. package/dist/Budgets/Budget.js +1 -0
  44. package/dist/Budgets/Budget.js.map +1 -0
  45. package/dist/Budgets/ManagedBudget.cjs +1 -0
  46. package/dist/Budgets/ManagedBudget.cjs.map +1 -0
  47. package/dist/Budgets/ManagedBudget.js +1 -0
  48. package/dist/Budgets/ManagedBudget.js.map +1 -0
  49. package/dist/Deployable/Contract.cjs +1 -0
  50. package/dist/Deployable/Contract.cjs.map +1 -0
  51. package/dist/Deployable/Contract.js +1 -0
  52. package/dist/Deployable/Contract.js.map +1 -0
  53. package/dist/Deployable/Deployable.cjs +1 -0
  54. package/dist/Deployable/Deployable.cjs.map +1 -0
  55. package/dist/Deployable/Deployable.js +1 -0
  56. package/dist/Deployable/Deployable.js.map +1 -0
  57. package/dist/Deployable/DeployableTarget.cjs +1 -0
  58. package/dist/Deployable/DeployableTarget.cjs.map +1 -0
  59. package/dist/Deployable/DeployableTarget.js +1 -0
  60. package/dist/Deployable/DeployableTarget.js.map +1 -0
  61. package/dist/Incentives/AllowListIncentive.cjs +1 -0
  62. package/dist/Incentives/AllowListIncentive.cjs.map +1 -0
  63. package/dist/Incentives/AllowListIncentive.js +1 -0
  64. package/dist/Incentives/AllowListIncentive.js.map +1 -0
  65. package/dist/Incentives/CGDAIncentive.cjs +1 -0
  66. package/dist/Incentives/CGDAIncentive.cjs.map +1 -0
  67. package/dist/Incentives/CGDAIncentive.js +1 -0
  68. package/dist/Incentives/CGDAIncentive.js.map +1 -0
  69. package/dist/Incentives/ERC20Incentive.cjs +1 -0
  70. package/dist/Incentives/ERC20Incentive.cjs.map +1 -0
  71. package/dist/Incentives/ERC20Incentive.js +1 -0
  72. package/dist/Incentives/ERC20Incentive.js.map +1 -0
  73. package/dist/Incentives/Incentive.cjs +1 -0
  74. package/dist/Incentives/Incentive.cjs.map +1 -0
  75. package/dist/Incentives/Incentive.js +1 -0
  76. package/dist/Incentives/Incentive.js.map +1 -0
  77. package/dist/Incentives/PointsIncentive.cjs +1 -0
  78. package/dist/Incentives/PointsIncentive.cjs.map +1 -0
  79. package/dist/Incentives/PointsIncentive.js +1 -0
  80. package/dist/Incentives/PointsIncentive.js.map +1 -0
  81. package/dist/Validators/SignerValidator.cjs +1 -0
  82. package/dist/Validators/SignerValidator.cjs.map +1 -0
  83. package/dist/Validators/SignerValidator.js +1 -0
  84. package/dist/Validators/SignerValidator.js.map +1 -0
  85. package/dist/Validators/Validator.cjs +1 -0
  86. package/dist/Validators/Validator.cjs.map +1 -0
  87. package/dist/Validators/Validator.js +1 -0
  88. package/dist/Validators/Validator.js.map +1 -0
  89. package/dist/componentInterfaces-CKCBwG16.cjs +1 -0
  90. package/dist/componentInterfaces-CKCBwG16.cjs.map +1 -0
  91. package/dist/componentInterfaces-DYkaxBda.js +1 -0
  92. package/dist/componentInterfaces-DYkaxBda.js.map +1 -0
  93. package/dist/errors.cjs +1 -0
  94. package/dist/errors.cjs.map +1 -0
  95. package/dist/errors.js +1 -0
  96. package/dist/errors.js.map +1 -0
  97. package/dist/generated-Cd-Fe7W7.cjs +1 -0
  98. package/dist/generated-Cd-Fe7W7.cjs.map +1 -0
  99. package/dist/generated-DGpIVcv5.js +1 -0
  100. package/dist/generated-DGpIVcv5.js.map +1 -0
  101. package/dist/index.cjs +1 -0
  102. package/dist/index.cjs.map +1 -0
  103. package/dist/index.js +1 -0
  104. package/dist/index.js.map +1 -0
  105. package/dist/utils.cjs +1 -0
  106. package/dist/utils.cjs.map +1 -0
  107. package/dist/utils.js +1 -0
  108. package/dist/utils.js.map +1 -0
  109. package/package.json +3 -2
  110. package/src/Actions/Action.test.ts +77 -0
  111. package/src/Actions/Action.ts +61 -0
  112. package/src/Actions/ContractAction.test.ts +199 -0
  113. package/src/Actions/ContractAction.ts +238 -0
  114. package/src/Actions/ERC721MintAction.test.ts +112 -0
  115. package/src/Actions/ERC721MintAction.ts +238 -0
  116. package/src/Actions/EventAction.test.ts +182 -0
  117. package/src/Actions/EventAction.ts +382 -0
  118. package/src/AllowLists/AllowList.test.ts +64 -0
  119. package/src/AllowLists/AllowList.ts +60 -0
  120. package/src/AllowLists/SimpleAllowList.test.ts +52 -0
  121. package/src/AllowLists/SimpleAllowList.ts +240 -0
  122. package/src/AllowLists/SimpleDenyList.test.ts +52 -0
  123. package/src/AllowLists/SimpleDenyList.ts +289 -0
  124. package/src/Auth/Auth.ts +11 -0
  125. package/src/Auth/PassthroughAuth.test.ts +12 -0
  126. package/src/Auth/PassthroughAuth.ts +80 -0
  127. package/src/Boost.ts +155 -0
  128. package/src/BoostCore.test.ts +846 -0
  129. package/src/BoostCore.ts +1192 -0
  130. package/src/BoostRegistry.ts +449 -0
  131. package/src/Budgets/Budget.test.ts +27 -0
  132. package/src/Budgets/Budget.ts +61 -0
  133. package/src/Budgets/ManagedBudget.test.ts +154 -0
  134. package/src/Budgets/ManagedBudget.ts +743 -0
  135. package/src/Budgets/SimpleBudget.test.ts +152 -0
  136. package/src/Budgets/SimpleBudget.ts +521 -0
  137. package/src/Budgets/VestingBudget.test.ts +123 -0
  138. package/src/Budgets/VestingBudget.ts +532 -0
  139. package/src/Deployable/Contract.ts +229 -0
  140. package/src/Deployable/Deployable.ts +244 -0
  141. package/src/Deployable/DeployableTarget.ts +210 -0
  142. package/src/Incentives/AllowListIncentive.test.ts +146 -0
  143. package/src/Incentives/AllowListIncentive.ts +290 -0
  144. package/src/Incentives/CGDAIncentive.test.ts +136 -0
  145. package/src/Incentives/CGDAIncentive.ts +364 -0
  146. package/src/Incentives/ERC1155Incentive.test.ts +98 -0
  147. package/src/Incentives/ERC1155Incentive.ts +384 -0
  148. package/src/Incentives/ERC20Incentive.test.ts +141 -0
  149. package/src/Incentives/ERC20Incentive.ts +417 -0
  150. package/src/Incentives/ERC20VariableIncentive.test.ts +156 -0
  151. package/src/Incentives/ERC20VariableIncentive.ts +368 -0
  152. package/src/Incentives/Incentive.test.ts +92 -0
  153. package/src/Incentives/Incentive.ts +85 -0
  154. package/src/Incentives/PointsIncentive.test.ts +142 -0
  155. package/src/Incentives/PointsIncentive.ts +303 -0
  156. package/src/Validators/SignerValidator.test.ts +163 -0
  157. package/src/Validators/SignerValidator.ts +272 -0
  158. package/src/Validators/Validator.test.ts +21 -0
  159. package/src/Validators/Validator.ts +55 -0
  160. package/src/errors.ts +524 -0
  161. package/src/index.test.ts +40 -0
  162. package/src/index.ts +50 -0
  163. package/src/utils.test.ts +44 -0
  164. package/src/utils.ts +2247 -0
@@ -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":";;;o5bA8DaA,IAAN,MAAMA,UAAwBC,EAGnC;AAAA,EAHK,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAyB,MAAMC;AAAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2B/B,MAAa,OACXC,GACA;AACO,WAAAC,EAA0B,KAAK,SAAS;AAAA,MAC7C,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,cACXA,GACA;AACO,WAAAE,EAAiC,KAAK,SAAS;AAAA,MACpD,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,OACXA,GACA;AACO,WAAAG,EAA0B,KAAK,SAAS;AAAA,MAC7C,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;AAAA,EAWA,MAAa,QACXI,GACAJ,GACA;AACO,WAAAK,EAA2B,KAAK,SAAS;AAAA,MAC9C,SAAS,KAAK,mBAAmB;AAAA,MACjC,MAAM,CAACD,CAAO;AAAA;AAAA,MAEd,GAAIJ;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,MAAMA,GAAyD;AACnE,WAAAM,EAAyB,KAAK,SAAS;AAAA,MAC5C,SAAS,KAAK,mBAAmB;AAAA;AAAA,MAEjC,GAAIN;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,MAAMA,GAAyD;AACnE,WAAAO,EAAyB,KAAK,SAAS;AAAA,MAC5C,SAAS,KAAK,mBAAmB;AAAA;AAAA,MAEjC,GAAIP;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,SACXA,GACA;AACO,WAAAQ,EAA4B,KAAK,SAAS;AAAA,MAC/C,SAAS,KAAK,mBAAmB;AAAA;AAAA,MAEjC,GAAIR;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,MACXS,GACAT,GACA;AACA,WAAO,KAAK,YAAY,KAAK,SAASS,GAAST,CAAM,CAAC;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,SACXS,GACAT,GACA;AACA,UAAM,EAAE,SAAAU,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,GAAIT;AAAA,MACN;AAAA,IAAA;AAGK,WAAA,EAAE,MADI,MAAMc,EAA0B,KAAK,SAASJ,CAAO,GACnD,QAAAC;EACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,MAAa,YACXF,GACAT,GACA;AACO,WAAAe,EAA+B,KAAK,SAAS;AAAA,MAClD,SAAS,KAAK,mBAAmB;AAAA,MACjC,MAAM,CAACF,EAAoBJ,CAAO,CAAC;AAAA;AAAA,MAEnC,GAAIT;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUgB,gBACdgB,GACAC,GACyB;AACzB,UAAM,CAACR,GAASS,CAAO,IAAI,KAAK;AAAA,MAC9BF;AAAA,MACAC;AAAA,IAAA;AAEK,WAAA;AAAA,MACL,KAAKlB;AAAAA,MACL,UAAAoB;AAAA,MACA,MAAM,CAACC,EAA8BX,CAAO,CAAC;AAAA,MAC7C,GAAG,KAAK,wBAAwBS,EAAQ,OAAO;AAAA,IAAA;AAAA,EAEnD;AACF;AApOyBrB,EAAA,OAAgB,8CASvCA,EAAuB,eAA6BwB,EAAa;AArB5D,IAAMC,IAANzB;"}
@@ -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":";;;4rhBAuDaA,IAAN,MAAMA,UAAwBC,EAGnC;AAAA,EAHK,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAyB,MAAMC;AAAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA4B/B,MAAa,QACXC,GACAC,GACA;AACO,WAAAC,EAA2B,KAAK,SAAS;AAAA,MAC9C,SAAS,KAAK,mBAAmB;AAAA,MACjC,MAAM,CAACF,CAAO;AAAA;AAAA,MAEd,GAAIC;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,eACXE,GACAF,GACA;AACO,WAAAG,EAAkC,KAAK,SAAS;AAAA,MACrD,SAAS,KAAK,mBAAmB;AAAA,MACjC,MAAM;AAAA,QACJD,EAAQ;AAAA,QACRA,EAAQ;AAAA,QACRA,EAAQ;AAAA,QACRA,EAAQ;AAAA,MACV;AAAA;AAAA,MAEA,GAAIF;AAAA,IAAA,CACL;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,SACXE,GACAF,GACA;AACA,WAAO,KAAK,YAAY,KAAK,YAAYE,GAASF,CAAM,CAAC;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAa,YACXE,GACAF,GACA;AACA,UAAM,EAAE,SAAAI,GAAS,QAAAC,EAAO,IAAI,MAAMC;AAAAA,MAChC,KAAK;AAAA,MACL;AAAA,QACE,SAAS,KAAK,mBAAmB;AAAA,QACjC,MAAM;AAAA,UACJJ,EAAQ;AAAA,UACRA,EAAQ;AAAA,UACRA,EAAQ;AAAA,UACRA,EAAQ;AAAA,QACV;AAAA,QACA,GAAG,KAAK,wBAAwB;AAAA;AAAA,QAEhC,GAAIF;AAAA,MACN;AAAA,IAAA;AAGK,WAAA,EAAE,MADI,MAAMO,EAA6B,KAAK,SAASH,CAAO,GACtD,QAAAC;EACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAa,cACXG,GACAC,GACAT,GACA;AACA,WAAO,KAAK,YAAY,KAAK,iBAAiBQ,GAAWC,GAAST,CAAM,CAAC;AAAA,EAC3E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAa,iBACXQ,GACAC,GACAT,GACA;AACA,UAAM,EAAE,SAAAI,GAAS,QAAAC,EAAO,IAAI,MAAMK;AAAAA,MAChC,KAAK;AAAA,MACL;AAAA,QACE,SAAS,KAAK,mBAAmB;AAAA,QACjC,MAAM,CAACF,GAAWC,CAAO;AAAA,QACzB,GAAG,KAAK,wBAAwB;AAAA;AAAA,QAEhC,GAAIT;AAAA,MACN;AAAA,IAAA;AAGK,WAAA,EAAE,MADI,MAAMW,EAAkC,KAAK,SAASP,CAAO,GAC3D,QAAAC;EACjB;AAAA,EAEA,MAAa,sBACXN,GACAC,GACA;AACA,UAAM,EAAE,SAAAI,GAAS,QAAAC,EAAO,IAAI,MAAMO;AAAAA,MAChC,KAAK;AAAA,MACL;AAAA,QACE,SAAS,KAAK,mBAAmB;AAAA,QACjC,MAAM,CAACb,CAAO;AAAA,QACd,GAAG,KAAK,wBAAwB;AAAA;AAAA,QAEhC,GAAIC;AAAA,MACN;AAAA,IAAA;AAMK,WAAA,EAAE,MAJI,MAAMa;AAAAA,MACjB,KAAK;AAAA,MACLT;AAAA,IAAA,GAEa,QAAAC;EACjB;AAAA,EAEA,MAAa,mBACXN,GACAC,GACA;AACA,WAAO,KAAK,YAAY,KAAK,sBAAsBD,GAASC,CAAM,CAAC;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUgB,gBACdc,GACAC,GACyB;AACzB,UAAM,CAACb,GAASc,CAAO,IAAI,KAAK;AAAA,MAC9BF;AAAA,MACAC;AAAA,IAAA;AAEK,WAAA;AAAA,MACL,KAAKjB;AAAAA,MACL,UAAAmB;AAAA,MACA,MAAM,CAACC,EAA8BhB,CAAO,CAAC;AAAA,MAC7C,GAAG,KAAK,wBAAwBc,EAAQ,OAAO;AAAA,IAAA;AAAA,EAEnD;AACF;AA5MyBpB,EAAA,OAAgB,8CASvCA,EAAuB,eAA6BuB,EAAa;AArB5D,IAAMC,IAANxB;"}
@@ -1 +1,2 @@
1
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"}
@@ -24,3 +24,4 @@ export {
24
24
  e as ValidatorByComponentInterface,
25
25
  I as validatorFromAddress
26
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;"}
@@ -1 +1,2 @@
1
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":""}
@@ -10,3 +10,4 @@ export {
10
10
  n as g,
11
11
  s as h
12
12
  };
13
+ //# sourceMappingURL=componentInterfaces-DYkaxBda.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentInterfaces-DYkaxBda.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/errors.cjs CHANGED
@@ -1 +1,2 @@
1
1
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("viem");class i extends Error{constructor(){super('No "BoostCreated" log was emitted from which to extract boostId')}}class d extends Error{constructor(){super("Attempted to call contract method without providing an address")}}class c extends Error{constructor(r){super("Attempted to deploy a contract that already has an address configured"),this.address=r}}class l extends Error{constructor(){super("Implementing class did not properly override the `buildParameters` method")}}class u extends Error{constructor(){super("Expected an an owner to be provided in configuration or an account to exist on Wagmi config.")}}class p extends Error{constructor(){super("Expected a valid Wagmi configuration to be available either on Deployable, or as argument to deploy.")}}class E extends Error{constructor(){super("Expected a valid payload to be available either on Deployable or as argument to deploy.")}}class y extends Error{constructor(r){super("Expected a contract address to exist on receipt.",{cause:r}),this.receipt=r}}class v extends Error{constructor(r,t){super("Address provided does not match any expected protocol interface",{cause:{expected:r,received:t}}),this.expected=[],this.received=a.zeroHash,this.expected=r,this.received=t}}class m extends Error{constructor(r){super("Did not provide a valid FungibleTransferPayload or ERC1155 transfer payload.",{cause:r}),this.received=r}}class b extends Error{constructor(r){super(`Budget needs to explicitly authorize ${r}. You can retrieve this value from BoostCore.address`)}}class h extends Error{constructor(r){super(`Incentive not cloneable: ${r.constructor.name}`)}}class x extends Error{constructor(){super("Must supply at least one action step")}}class g extends Error{constructor(){super("Cannot supply more than 4 action steps with current protocol version")}}class o extends Error{constructor(r,{fieldValue:t,criteria:s,log:n}){super(r),this.fieldValue=t,this.criteria=s,this.log=n}}class f extends o{constructor(r){super("Field value is undefined",r)}}class C extends o{constructor(r){super("Numerical comparisons cannot be used with non-numerical criteria",r)}}class A extends o{constructor(r){super("Filter can only be used with bytes or string field type",r)}}class D extends o{constructor(r){super("Invalid FilterType provided",r)}}exports.BoostCoreNoIdentifierEmitted=i;exports.BudgetMustAuthorizeBoostCore=b;exports.ContractAddressRequiredError=d;exports.DeployableAlreadyDeployedError=c;exports.DeployableBuildParametersUnspecifiedError=l;exports.DeployableMissingPayloadError=E;exports.DeployableUnknownOwnerProvidedError=u;exports.DeployableWagmiConfigurationRequiredError=p;exports.EventActionValidationError=o;exports.FieldValueNotComparableError=A;exports.FieldValueUndefinedError=f;exports.IncentiveNotCloneableError=h;exports.InvalidComponentInterfaceError=v;exports.InvalidNumericalCriteriaError=C;exports.NoContractAddressUponReceiptError=y;exports.NoEventActionStepsProvidedError=x;exports.TooManyEventActionStepsProvidedError=g;exports.UnknownTransferPayloadSupplied=m;exports.UnrecognizedFilterTypeError=D;
2
+ //# sourceMappingURL=errors.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.cjs","sources":["../src/errors.ts"],"sourcesContent":["import {\n type Hex,\n type Log,\n type WaitForTransactionReceiptReturnType,\n zeroHash,\n} from 'viem';\nimport type { Incentive } from './Incentives/Incentive';\nimport type { Criteria } from './utils';\n\n/**\n * This error is thrown during Boost creation if no `BoostCreated` event was emitted.\n *\n * @export\n * @class BoostCoreNoIdentifierEmitted\n * @typedef {BoostCoreNoIdentifierEmitted}\n * @extends {Error}\n * @example\n * ```ts\n * try {\n * await boostCore.createBoost(...)\n * } catch(e) {\n * if(e instanceof BoostCoreNoIdentifierEmitted) {}\n * }\n * ```\n */\nexport class BoostCoreNoIdentifierEmitted extends Error {\n /**\n * Creates an instance of BoostCoreNoIdentifierEmitted.\n *\n * @constructor\n */\n constructor() {\n super(`No \"BoostCreated\" log was emitted from which to extract boostId`);\n }\n}\n\n/**\n * This error is thrown when `assertValidAddress` is called, usually because a contract call expects the class to have a valid address attached.\n *\n * @export\n * @class ContractAddressRequiredError\n * @typedef {ContractAddressRequiredError}\n * @extends {Error}\n * @example\n * ```ts\n * try {\n * target.assertValidAddress()\n * } catch(e) {\n * if(e instanceof ContractAddressRequiredError) {}\n * }\n */\nexport class ContractAddressRequiredError extends Error {\n /**\n * Creates an instance of ContractAddressRequiredError.\n *\n * @constructor\n */\n constructor() {\n super('Attempted to call contract method without providing an address');\n }\n}\n\n/**\n * This error is thrown when attempting to deploy a contract that has already been deployed, or has an address attached.\n *\n * @export\n * @class DeployableAlreadyDeployedError\n * @typedef {DeployableAlreadyDeployedError}\n * @extends {Error}\n */\nexport class DeployableAlreadyDeployedError extends Error {\n /**\n * The address already attached to the target.\n *\n * @type {string}\n */\n address: string;\n /**\n * Creates an instance of DeployableAlreadyDeployedError.\n *\n * @constructor\n * @param {string} address\n */\n constructor(address: string) {\n super(\n `Attempted to deploy a contract that already has an address configured`,\n );\n this.address = address;\n }\n}\n\n/**\n * You should never see this error if we did our jobs and every target overrides the `buildParameters` method.\n *\n * @export\n * @class DeployableBuildParametersUnspecifiedError\n * @typedef {DeployableBuildParametersUnspecifiedError}\n * @extends {Error}\n */\nexport class DeployableBuildParametersUnspecifiedError extends Error {\n /**\n * Creates an instance of DeployableBuildParametersUnspecifiedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Implementing class did not properly override the `buildParameters` method',\n );\n }\n}\n\n/**\n * This error is thrown when attempting to deploy an `ownable` contract and the owner cannot be ascertained from the initialization payload or configured account.\n *\n * @export\n * @class DeployableUnknownOwnerProvidedError\n * @typedef {DeployableUnknownOwnerProvidedError}\n * @extends {Error}\n */\nexport class DeployableUnknownOwnerProvidedError extends Error {\n /**\n * Creates an instance of DeployableUnknownOwnerProvidedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected an an owner to be provided in configuration or an account to exist on Wagmi config.',\n );\n }\n}\n\n/**\n * This error is thrown when deploying a contract with no valid Wagmi configuration on the instance.\n *\n * @export\n * @class DeployableWagmiConfigurationRequiredError\n * @typedef {DeployableWagmiConfigurationRequiredError}\n * @extends {Error}\n */\nexport class DeployableWagmiConfigurationRequiredError extends Error {\n /**\n * Creates an instance of DeployableWagmiConfigurationRequiredError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected a valid Wagmi configuration to be available either on Deployable, or as argument to deploy.',\n );\n }\n}\n\n/**\n * This error is thrown when deploying a contract with no valid initialization payload.\n *\n * @export\n * @class DeployableMissingPayloadError\n * @typedef {DeployableMissingPayloadError}\n * @extends {Error}\n */\nexport class DeployableMissingPayloadError extends Error {\n /**\n * Creates an instance of DeployableMissingPayloadError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected a valid payload to be available either on Deployable or as argument to deploy.',\n );\n }\n}\n\n/**\n * This error is thrown when we receive a transaction receipt for a contract deployment without a contract address on it.\n *\n * @export\n * @class NoContractAddressUponReceiptError\n * @typedef {NoContractAddressUponReceiptError}\n * @extends {Error}\n */\nexport class NoContractAddressUponReceiptError extends Error {\n /**\n * The raw receipt we receive from [waitForTransactionReceipt](https://v1.viem.sh/docs/actions/public/waitForTransactionReceipt.html#waitfortransactionreceipt)\n *\n * @public\n * @readonly\n * @type {WaitForTransactionReceiptReturnType}\n */\n public readonly receipt: WaitForTransactionReceiptReturnType;\n /**\n * Creates an instance of NoContractAddressUponReceiptError.\n *\n * @constructor\n * @param {WaitForTransactionReceiptReturnType} receipt\n */\n constructor(receipt: WaitForTransactionReceiptReturnType) {\n super(`Expected a contract address to exist on receipt.`, {\n cause: receipt,\n });\n this.receipt = receipt;\n }\n}\n\n/**\n * This error is thrown when a target address was provided that doesn't match any supported interface for the given registry type.\n * For example, if you try to do `incentiveFromAddress()` with the address of a deployed `SimpleBudget`\n *\n * @export\n * @class InvalidComponentInterfaceError\n * @typedef {InvalidComponentInterfaceError}\n * @extends {Error}\n */\nexport class InvalidComponentInterfaceError extends Error {\n /**\n * Expected interface hashes.\n *\n * @public\n * @readonly\n * @type {Hex[]}\n */\n public readonly expected: Hex[] = [];\n /**\n * The actual interface hash.\n *\n * @public\n * @readonly\n * @type {Hex}\n */\n public readonly received: Hex = zeroHash;\n\n /**\n * Creates an instance of InvalidComponentInterfaceError.\n *\n * @constructor\n * @param {Hex[]} expected\n * @param {Hex} received\n */\n constructor(expected: Hex[], received: Hex) {\n super(`Address provided does not match any expected protocol interface`, {\n cause: { expected, received },\n });\n this.expected = expected;\n this.received = received;\n }\n}\n\n/**\n * This error is thrown when attempting a Budget transfer and arguments aren't of the type `FungibleTransferPayload` or `ERC1155TransferPayload`\n *\n * @see {@link FungibleTransferPayload}\n * @see {@link ERC1155TransferPayload}\n * @export\n * @class UnknownTransferPayloadSupplied\n * @typedef {UnknownTransferPayloadSupplied}\n * @extends {Error}\n */\nexport class UnknownTransferPayloadSupplied extends Error {\n /**\n * The given payload that does not conform to the correct payload shape.\n *\n * @type {unknown}\n */\n received: unknown;\n /**\n * Creates an instance of UnknownTransferPayloadSupplied.\n *\n * @constructor\n * @param {unknown} received\n */\n constructor(received: unknown) {\n super(\n `Did not provide a valid FungibleTransferPayload or ERC1155 transfer payload.`,\n { cause: received },\n );\n this.received = received;\n }\n}\n\n/**\n * This error is thrown during Boost creation when the budget doesn't authorize the Boost Core address.\n *\n * @export\n * @class BudgetMustAuthorizeBoostCore\n * @typedef {BudgetMustAuthorizeBoostCore}\n * @extends {Error}\n */\nexport class BudgetMustAuthorizeBoostCore extends Error {\n /**\n * Creates an instance of BudgetMustAuthorizeBoostCore.\n *\n * @constructor\n * @param {string} boostCoreAddress\n */\n constructor(boostCoreAddress: string) {\n super(\n `Budget needs to explicitly authorize ${boostCoreAddress}. You can retrieve this value from BoostCore.address`,\n );\n }\n}\n\n/**\n * The error is thrown when trying to reuse an existing deployed Incentive that isn't a base implementation.\n * The protocol doesn't allow this.\n *\n * @export\n * @class IncentiveNotCloneableError\n * @typedef {IncentiveNotCloneableError}\n * @extends {Error}\n */\nexport class IncentiveNotCloneableError extends Error {\n /**\n * Creates an instance of IncentiveNotCloneableError.\n *\n * @constructor\n * @param {Incentive} incentive\n */\n constructor(incentive: Incentive) {\n super(`Incentive not cloneable: ${incentive.constructor.name}`);\n }\n}\n\n/**\n * Thrown when encoding an EventAction payload and no action steps are provided\n *\n * @export\n * @class NoEventActionStepsProvidedError\n * @typedef {NoEventActionStepsProvidedError}\n * @extends {Error}\n */\nexport class NoEventActionStepsProvidedError extends Error {\n /**\n * Creates an instance of NoEventActionStepsProvidedError.\n *\n * @constructor\n */\n constructor() {\n super('Must supply at least one action step');\n }\n}\n\n/**\n * Thrown when encoding an EventAction payload and > 4 steps are provided\n *\n * @export\n * @class TooManyEventActionStepsProvidedError\n * @typedef {TooManyEventActionStepsProvidedError}\n * @extends {Error}\n */\nexport class TooManyEventActionStepsProvidedError extends Error {\n /**\n * Creates an instance of TooManyEventActionStepsProvidedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Cannot supply more than 4 action steps with current protocol version',\n );\n }\n}\n\n/**\n * Event action validation context to help debug other validation errors\n *\n * @interface EventActionValidationMeta\n * @typedef {EventActionValidationMeta}\n */\ninterface EventActionValidationMeta {\n /**\n * The viem log being validated against\n *\n * @type {Log}\n */\n log: Log;\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n}\n\n/**\n * The base error thrown during event action validation extended by more specific validation errors.\n * Instantiated with relevent context data for more in depth debugging.\n *\n * @export\n * @class EventActionValidationError\n * @typedef {EventActionValidationError}\n * @extends {Error}\n */\nexport class EventActionValidationError extends Error {\n /**\n * The viem log being validated against\n *\n * @type {Log}\n */\n log: Log;\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n /**\n * Creates an instance of EventActionValidationError.\n *\n * @constructor\n * @param {string} message\n * @param {EventActionValidationMeta} param0\n * @param {*} param0.fieldValue\n * @param {Criteria} param0.criteria\n * @param {Log} param0.log\n */\n constructor(\n message: string,\n { fieldValue, criteria, log }: EventActionValidationMeta,\n ) {\n super(message);\n this.fieldValue = fieldValue;\n this.criteria = criteria;\n this.log = log;\n }\n}\n\n/**\n * Thrown when field value on log is undefined\n *\n * @export\n * @class FieldValueUndefinedError\n * @typedef {FieldValueUndefinedError}\n * @extends {EventActionValidationError}\n */\nexport class FieldValueUndefinedError extends EventActionValidationError {\n /**\n * Creates an instance of FieldValueUndefinedError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(metadata: EventActionValidationMeta) {\n super('Field value is undefined', metadata);\n }\n}\n\n/**\n * Thrown when a filter type is using a numerical operator but field type is not numerical\n *\n * @export\n * @class InvalidNumericalCriteriaError\n * @typedef {InvalidNumericalCriteriaError}\n * @extends {EventActionValidationError}\n */\nexport class InvalidNumericalCriteriaError extends EventActionValidationError {\n /**\n * Creates an instance of InvalidNumericalCriteria.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(metadata: EventActionValidationMeta) {\n super(\n 'Numerical comparisons cannot be used with non-numerical criteria',\n metadata,\n );\n }\n}\n\n/**\n * Thrown when an the log's field value is being compared a field type that isn't bytes or string during event action validation\n *\n * @export\n * @class FieldValueNotComparableError\n * @typedef {FieldValueNotComparableError}\n * @extends {EventActionValidationError}\n */\nexport class FieldValueNotComparableError extends EventActionValidationError {\n /**\n * Creates an instance of FieldValueNotComparableError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(metadata: EventActionValidationMeta) {\n super('Filter can only be used with bytes or string field type', metadata);\n }\n}\n\n/**\n * Thrown when an invalid filter type enum was provided event action validation.\n *\n * @export\n * @class UnrecognizedFilterTypeError\n * @typedef {UnrecognizedFilterTypeError}\n * @extends {EventActionValidationError}\n */\nexport class UnrecognizedFilterTypeError extends EventActionValidationError {\n /**\n * Creates an instance of UnrecognizedFilterTypeError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(metadata: EventActionValidationMeta) {\n super('Invalid FilterType provided', metadata);\n }\n}\n"],"names":["BoostCoreNoIdentifierEmitted","ContractAddressRequiredError","DeployableAlreadyDeployedError","address","DeployableBuildParametersUnspecifiedError","DeployableUnknownOwnerProvidedError","DeployableWagmiConfigurationRequiredError","DeployableMissingPayloadError","NoContractAddressUponReceiptError","receipt","InvalidComponentInterfaceError","expected","received","zeroHash","UnknownTransferPayloadSupplied","BudgetMustAuthorizeBoostCore","boostCoreAddress","IncentiveNotCloneableError","incentive","NoEventActionStepsProvidedError","TooManyEventActionStepsProvidedError","EventActionValidationError","message","fieldValue","criteria","log","FieldValueUndefinedError","metadata","InvalidNumericalCriteriaError","FieldValueNotComparableError","UnrecognizedFilterTypeError"],"mappings":"wGAyBO,MAAMA,UAAqC,KAAM,CAMtD,aAAc,CACZ,MAAM,iEAAiE,CACzE,CACF,CAiBO,MAAMC,UAAqC,KAAM,CAMtD,aAAc,CACZ,MAAM,gEAAgE,CACxE,CACF,CAUO,MAAMC,UAAuC,KAAM,CAaxD,YAAYC,EAAiB,CAC3B,MACE,uEAAA,EAEF,KAAK,QAAUA,CACjB,CACF,CAUO,MAAMC,UAAkD,KAAM,CAMnE,aAAc,CACZ,MACE,2EAAA,CAEJ,CACF,CAUO,MAAMC,UAA4C,KAAM,CAM7D,aAAc,CACZ,MACE,8FAAA,CAEJ,CACF,CAUO,MAAMC,UAAkD,KAAM,CAMnE,aAAc,CACZ,MACE,sGAAA,CAEJ,CACF,CAUO,MAAMC,UAAsC,KAAM,CAMvD,aAAc,CACZ,MACE,yFAAA,CAEJ,CACF,CAUO,MAAMC,UAA0C,KAAM,CAe3D,YAAYC,EAA8C,CACxD,MAAM,mDAAoD,CACxD,MAAOA,CAAA,CACR,EACD,KAAK,QAAUA,CACjB,CACF,CAWO,MAAMC,UAAuC,KAAM,CAyBxD,YAAYC,EAAiBC,EAAe,CAC1C,MAAM,kEAAmE,CACvE,MAAO,CAAE,SAAAD,EAAU,SAAAC,CAAS,CAAA,CAC7B,EApBH,KAAgB,SAAkB,GAQlC,KAAgB,SAAgBC,WAa9B,KAAK,SAAWF,EAChB,KAAK,SAAWC,CAClB,CACF,CAYO,MAAME,UAAuC,KAAM,CAaxD,YAAYF,EAAmB,CAC7B,MACE,+EACA,CAAE,MAAOA,CAAS,CAAA,EAEpB,KAAK,SAAWA,CAClB,CACF,CAUO,MAAMG,UAAqC,KAAM,CAOtD,YAAYC,EAA0B,CACpC,MACE,wCAAwCA,CAAgB,sDAAA,CAE5D,CACF,CAWO,MAAMC,UAAmC,KAAM,CAOpD,YAAYC,EAAsB,CAChC,MAAM,4BAA4BA,EAAU,YAAY,IAAI,EAAE,CAChE,CACF,CAUO,MAAMC,UAAwC,KAAM,CAMzD,aAAc,CACZ,MAAM,sCAAsC,CAC9C,CACF,CAUO,MAAMC,UAA6C,KAAM,CAM9D,aAAc,CACZ,MACE,sEAAA,CAEJ,CACF,CAuCO,MAAMC,UAAmC,KAAM,CA8BpD,YACEC,EACA,CAAE,WAAAC,EAAY,SAAAC,EAAU,IAAAC,GACxB,CACA,MAAMH,CAAO,EACb,KAAK,WAAaC,EAClB,KAAK,SAAWC,EAChB,KAAK,IAAMC,CACb,CACF,CAUO,MAAMC,UAAiCL,CAA2B,CAOvE,YAAYM,EAAqC,CAC/C,MAAM,2BAA4BA,CAAQ,CAC5C,CACF,CAUO,MAAMC,UAAsCP,CAA2B,CAO5E,YAAYM,EAAqC,CAC/C,MACE,mEACAA,CAAA,CAEJ,CACF,CAUO,MAAME,UAAqCR,CAA2B,CAO3E,YAAYM,EAAqC,CAC/C,MAAM,0DAA2DA,CAAQ,CAC3E,CACF,CAUO,MAAMG,UAAoCT,CAA2B,CAO1E,YAAYM,EAAqC,CAC/C,MAAM,8BAA+BA,CAAQ,CAC/C,CACF"}
package/dist/errors.js CHANGED
@@ -250,3 +250,4 @@ export {
250
250
  m as UnknownTransferPayloadSupplied,
251
251
  D as UnrecognizedFilterTypeError
252
252
  };
253
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sources":["../src/errors.ts"],"sourcesContent":["import {\n type Hex,\n type Log,\n type WaitForTransactionReceiptReturnType,\n zeroHash,\n} from 'viem';\nimport type { Incentive } from './Incentives/Incentive';\nimport type { Criteria } from './utils';\n\n/**\n * This error is thrown during Boost creation if no `BoostCreated` event was emitted.\n *\n * @export\n * @class BoostCoreNoIdentifierEmitted\n * @typedef {BoostCoreNoIdentifierEmitted}\n * @extends {Error}\n * @example\n * ```ts\n * try {\n * await boostCore.createBoost(...)\n * } catch(e) {\n * if(e instanceof BoostCoreNoIdentifierEmitted) {}\n * }\n * ```\n */\nexport class BoostCoreNoIdentifierEmitted extends Error {\n /**\n * Creates an instance of BoostCoreNoIdentifierEmitted.\n *\n * @constructor\n */\n constructor() {\n super(`No \"BoostCreated\" log was emitted from which to extract boostId`);\n }\n}\n\n/**\n * This error is thrown when `assertValidAddress` is called, usually because a contract call expects the class to have a valid address attached.\n *\n * @export\n * @class ContractAddressRequiredError\n * @typedef {ContractAddressRequiredError}\n * @extends {Error}\n * @example\n * ```ts\n * try {\n * target.assertValidAddress()\n * } catch(e) {\n * if(e instanceof ContractAddressRequiredError) {}\n * }\n */\nexport class ContractAddressRequiredError extends Error {\n /**\n * Creates an instance of ContractAddressRequiredError.\n *\n * @constructor\n */\n constructor() {\n super('Attempted to call contract method without providing an address');\n }\n}\n\n/**\n * This error is thrown when attempting to deploy a contract that has already been deployed, or has an address attached.\n *\n * @export\n * @class DeployableAlreadyDeployedError\n * @typedef {DeployableAlreadyDeployedError}\n * @extends {Error}\n */\nexport class DeployableAlreadyDeployedError extends Error {\n /**\n * The address already attached to the target.\n *\n * @type {string}\n */\n address: string;\n /**\n * Creates an instance of DeployableAlreadyDeployedError.\n *\n * @constructor\n * @param {string} address\n */\n constructor(address: string) {\n super(\n `Attempted to deploy a contract that already has an address configured`,\n );\n this.address = address;\n }\n}\n\n/**\n * You should never see this error if we did our jobs and every target overrides the `buildParameters` method.\n *\n * @export\n * @class DeployableBuildParametersUnspecifiedError\n * @typedef {DeployableBuildParametersUnspecifiedError}\n * @extends {Error}\n */\nexport class DeployableBuildParametersUnspecifiedError extends Error {\n /**\n * Creates an instance of DeployableBuildParametersUnspecifiedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Implementing class did not properly override the `buildParameters` method',\n );\n }\n}\n\n/**\n * This error is thrown when attempting to deploy an `ownable` contract and the owner cannot be ascertained from the initialization payload or configured account.\n *\n * @export\n * @class DeployableUnknownOwnerProvidedError\n * @typedef {DeployableUnknownOwnerProvidedError}\n * @extends {Error}\n */\nexport class DeployableUnknownOwnerProvidedError extends Error {\n /**\n * Creates an instance of DeployableUnknownOwnerProvidedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected an an owner to be provided in configuration or an account to exist on Wagmi config.',\n );\n }\n}\n\n/**\n * This error is thrown when deploying a contract with no valid Wagmi configuration on the instance.\n *\n * @export\n * @class DeployableWagmiConfigurationRequiredError\n * @typedef {DeployableWagmiConfigurationRequiredError}\n * @extends {Error}\n */\nexport class DeployableWagmiConfigurationRequiredError extends Error {\n /**\n * Creates an instance of DeployableWagmiConfigurationRequiredError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected a valid Wagmi configuration to be available either on Deployable, or as argument to deploy.',\n );\n }\n}\n\n/**\n * This error is thrown when deploying a contract with no valid initialization payload.\n *\n * @export\n * @class DeployableMissingPayloadError\n * @typedef {DeployableMissingPayloadError}\n * @extends {Error}\n */\nexport class DeployableMissingPayloadError extends Error {\n /**\n * Creates an instance of DeployableMissingPayloadError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected a valid payload to be available either on Deployable or as argument to deploy.',\n );\n }\n}\n\n/**\n * This error is thrown when we receive a transaction receipt for a contract deployment without a contract address on it.\n *\n * @export\n * @class NoContractAddressUponReceiptError\n * @typedef {NoContractAddressUponReceiptError}\n * @extends {Error}\n */\nexport class NoContractAddressUponReceiptError extends Error {\n /**\n * The raw receipt we receive from [waitForTransactionReceipt](https://v1.viem.sh/docs/actions/public/waitForTransactionReceipt.html#waitfortransactionreceipt)\n *\n * @public\n * @readonly\n * @type {WaitForTransactionReceiptReturnType}\n */\n public readonly receipt: WaitForTransactionReceiptReturnType;\n /**\n * Creates an instance of NoContractAddressUponReceiptError.\n *\n * @constructor\n * @param {WaitForTransactionReceiptReturnType} receipt\n */\n constructor(receipt: WaitForTransactionReceiptReturnType) {\n super(`Expected a contract address to exist on receipt.`, {\n cause: receipt,\n });\n this.receipt = receipt;\n }\n}\n\n/**\n * This error is thrown when a target address was provided that doesn't match any supported interface for the given registry type.\n * For example, if you try to do `incentiveFromAddress()` with the address of a deployed `SimpleBudget`\n *\n * @export\n * @class InvalidComponentInterfaceError\n * @typedef {InvalidComponentInterfaceError}\n * @extends {Error}\n */\nexport class InvalidComponentInterfaceError extends Error {\n /**\n * Expected interface hashes.\n *\n * @public\n * @readonly\n * @type {Hex[]}\n */\n public readonly expected: Hex[] = [];\n /**\n * The actual interface hash.\n *\n * @public\n * @readonly\n * @type {Hex}\n */\n public readonly received: Hex = zeroHash;\n\n /**\n * Creates an instance of InvalidComponentInterfaceError.\n *\n * @constructor\n * @param {Hex[]} expected\n * @param {Hex} received\n */\n constructor(expected: Hex[], received: Hex) {\n super(`Address provided does not match any expected protocol interface`, {\n cause: { expected, received },\n });\n this.expected = expected;\n this.received = received;\n }\n}\n\n/**\n * This error is thrown when attempting a Budget transfer and arguments aren't of the type `FungibleTransferPayload` or `ERC1155TransferPayload`\n *\n * @see {@link FungibleTransferPayload}\n * @see {@link ERC1155TransferPayload}\n * @export\n * @class UnknownTransferPayloadSupplied\n * @typedef {UnknownTransferPayloadSupplied}\n * @extends {Error}\n */\nexport class UnknownTransferPayloadSupplied extends Error {\n /**\n * The given payload that does not conform to the correct payload shape.\n *\n * @type {unknown}\n */\n received: unknown;\n /**\n * Creates an instance of UnknownTransferPayloadSupplied.\n *\n * @constructor\n * @param {unknown} received\n */\n constructor(received: unknown) {\n super(\n `Did not provide a valid FungibleTransferPayload or ERC1155 transfer payload.`,\n { cause: received },\n );\n this.received = received;\n }\n}\n\n/**\n * This error is thrown during Boost creation when the budget doesn't authorize the Boost Core address.\n *\n * @export\n * @class BudgetMustAuthorizeBoostCore\n * @typedef {BudgetMustAuthorizeBoostCore}\n * @extends {Error}\n */\nexport class BudgetMustAuthorizeBoostCore extends Error {\n /**\n * Creates an instance of BudgetMustAuthorizeBoostCore.\n *\n * @constructor\n * @param {string} boostCoreAddress\n */\n constructor(boostCoreAddress: string) {\n super(\n `Budget needs to explicitly authorize ${boostCoreAddress}. You can retrieve this value from BoostCore.address`,\n );\n }\n}\n\n/**\n * The error is thrown when trying to reuse an existing deployed Incentive that isn't a base implementation.\n * The protocol doesn't allow this.\n *\n * @export\n * @class IncentiveNotCloneableError\n * @typedef {IncentiveNotCloneableError}\n * @extends {Error}\n */\nexport class IncentiveNotCloneableError extends Error {\n /**\n * Creates an instance of IncentiveNotCloneableError.\n *\n * @constructor\n * @param {Incentive} incentive\n */\n constructor(incentive: Incentive) {\n super(`Incentive not cloneable: ${incentive.constructor.name}`);\n }\n}\n\n/**\n * Thrown when encoding an EventAction payload and no action steps are provided\n *\n * @export\n * @class NoEventActionStepsProvidedError\n * @typedef {NoEventActionStepsProvidedError}\n * @extends {Error}\n */\nexport class NoEventActionStepsProvidedError extends Error {\n /**\n * Creates an instance of NoEventActionStepsProvidedError.\n *\n * @constructor\n */\n constructor() {\n super('Must supply at least one action step');\n }\n}\n\n/**\n * Thrown when encoding an EventAction payload and > 4 steps are provided\n *\n * @export\n * @class TooManyEventActionStepsProvidedError\n * @typedef {TooManyEventActionStepsProvidedError}\n * @extends {Error}\n */\nexport class TooManyEventActionStepsProvidedError extends Error {\n /**\n * Creates an instance of TooManyEventActionStepsProvidedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Cannot supply more than 4 action steps with current protocol version',\n );\n }\n}\n\n/**\n * Event action validation context to help debug other validation errors\n *\n * @interface EventActionValidationMeta\n * @typedef {EventActionValidationMeta}\n */\ninterface EventActionValidationMeta {\n /**\n * The viem log being validated against\n *\n * @type {Log}\n */\n log: Log;\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n}\n\n/**\n * The base error thrown during event action validation extended by more specific validation errors.\n * Instantiated with relevent context data for more in depth debugging.\n *\n * @export\n * @class EventActionValidationError\n * @typedef {EventActionValidationError}\n * @extends {Error}\n */\nexport class EventActionValidationError extends Error {\n /**\n * The viem log being validated against\n *\n * @type {Log}\n */\n log: Log;\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n /**\n * Creates an instance of EventActionValidationError.\n *\n * @constructor\n * @param {string} message\n * @param {EventActionValidationMeta} param0\n * @param {*} param0.fieldValue\n * @param {Criteria} param0.criteria\n * @param {Log} param0.log\n */\n constructor(\n message: string,\n { fieldValue, criteria, log }: EventActionValidationMeta,\n ) {\n super(message);\n this.fieldValue = fieldValue;\n this.criteria = criteria;\n this.log = log;\n }\n}\n\n/**\n * Thrown when field value on log is undefined\n *\n * @export\n * @class FieldValueUndefinedError\n * @typedef {FieldValueUndefinedError}\n * @extends {EventActionValidationError}\n */\nexport class FieldValueUndefinedError extends EventActionValidationError {\n /**\n * Creates an instance of FieldValueUndefinedError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(metadata: EventActionValidationMeta) {\n super('Field value is undefined', metadata);\n }\n}\n\n/**\n * Thrown when a filter type is using a numerical operator but field type is not numerical\n *\n * @export\n * @class InvalidNumericalCriteriaError\n * @typedef {InvalidNumericalCriteriaError}\n * @extends {EventActionValidationError}\n */\nexport class InvalidNumericalCriteriaError extends EventActionValidationError {\n /**\n * Creates an instance of InvalidNumericalCriteria.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(metadata: EventActionValidationMeta) {\n super(\n 'Numerical comparisons cannot be used with non-numerical criteria',\n metadata,\n );\n }\n}\n\n/**\n * Thrown when an the log's field value is being compared a field type that isn't bytes or string during event action validation\n *\n * @export\n * @class FieldValueNotComparableError\n * @typedef {FieldValueNotComparableError}\n * @extends {EventActionValidationError}\n */\nexport class FieldValueNotComparableError extends EventActionValidationError {\n /**\n * Creates an instance of FieldValueNotComparableError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(metadata: EventActionValidationMeta) {\n super('Filter can only be used with bytes or string field type', metadata);\n }\n}\n\n/**\n * Thrown when an invalid filter type enum was provided event action validation.\n *\n * @export\n * @class UnrecognizedFilterTypeError\n * @typedef {UnrecognizedFilterTypeError}\n * @extends {EventActionValidationError}\n */\nexport class UnrecognizedFilterTypeError extends EventActionValidationError {\n /**\n * Creates an instance of UnrecognizedFilterTypeError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(metadata: EventActionValidationMeta) {\n super('Invalid FilterType provided', metadata);\n }\n}\n"],"names":["BoostCoreNoIdentifierEmitted","ContractAddressRequiredError","DeployableAlreadyDeployedError","address","DeployableBuildParametersUnspecifiedError","DeployableUnknownOwnerProvidedError","DeployableWagmiConfigurationRequiredError","DeployableMissingPayloadError","NoContractAddressUponReceiptError","receipt","InvalidComponentInterfaceError","expected","received","zeroHash","UnknownTransferPayloadSupplied","BudgetMustAuthorizeBoostCore","boostCoreAddress","IncentiveNotCloneableError","incentive","NoEventActionStepsProvidedError","TooManyEventActionStepsProvidedError","EventActionValidationError","message","fieldValue","criteria","log","FieldValueUndefinedError","metadata","InvalidNumericalCriteriaError","FieldValueNotComparableError","UnrecognizedFilterTypeError"],"mappings":";AAyBO,MAAMA,UAAqC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMtD,cAAc;AACZ,UAAM,iEAAiE;AAAA,EACzE;AACF;AAiBO,MAAMC,UAAqC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMtD,cAAc;AACZ,UAAM,gEAAgE;AAAA,EACxE;AACF;AAUO,MAAMC,UAAuC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaxD,YAAYC,GAAiB;AAC3B;AAAA,MACE;AAAA,IAAA,GAEF,KAAK,UAAUA;AAAA,EACjB;AACF;AAUO,MAAMC,UAAkD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnE,cAAc;AACZ;AAAA,MACE;AAAA,IAAA;AAAA,EAEJ;AACF;AAUO,MAAMC,UAA4C,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7D,cAAc;AACZ;AAAA,MACE;AAAA,IAAA;AAAA,EAEJ;AACF;AAUO,MAAMC,UAAkD,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnE,cAAc;AACZ;AAAA,MACE;AAAA,IAAA;AAAA,EAEJ;AACF;AAUO,MAAMC,UAAsC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMvD,cAAc;AACZ;AAAA,MACE;AAAA,IAAA;AAAA,EAEJ;AACF;AAUO,MAAMC,UAA0C,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAe3D,YAAYC,GAA8C;AACxD,UAAM,oDAAoD;AAAA,MACxD,OAAOA;AAAA,IAAA,CACR,GACD,KAAK,UAAUA;AAAA,EACjB;AACF;AAWO,MAAMC,UAAuC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyBxD,YAAYC,GAAiBC,GAAe;AAC1C,UAAM,mEAAmE;AAAA,MACvE,OAAO,EAAE,UAAAD,GAAU,UAAAC,EAAS;AAAA,IAAA,CAC7B,GApBH,KAAgB,WAAkB,IAQlC,KAAgB,WAAgBC,GAa9B,KAAK,WAAWF,GAChB,KAAK,WAAWC;AAAA,EAClB;AACF;AAYO,MAAME,UAAuC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaxD,YAAYF,GAAmB;AAC7B;AAAA,MACE;AAAA,MACA,EAAE,OAAOA,EAAS;AAAA,IAAA,GAEpB,KAAK,WAAWA;AAAA,EAClB;AACF;AAUO,MAAMG,UAAqC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOtD,YAAYC,GAA0B;AACpC;AAAA,MACE,wCAAwCA,CAAgB;AAAA,IAAA;AAAA,EAE5D;AACF;AAWO,MAAMC,UAAmC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpD,YAAYC,GAAsB;AAChC,UAAM,4BAA4BA,EAAU,YAAY,IAAI,EAAE;AAAA,EAChE;AACF;AAUO,MAAMC,UAAwC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMzD,cAAc;AACZ,UAAM,sCAAsC;AAAA,EAC9C;AACF;AAUO,MAAMC,UAA6C,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9D,cAAc;AACZ;AAAA,MACE;AAAA,IAAA;AAAA,EAEJ;AACF;AAuCO,MAAMC,UAAmC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA8BpD,YACEC,GACA,EAAE,YAAAC,GAAY,UAAAC,GAAU,KAAAC,KACxB;AACA,UAAMH,CAAO,GACb,KAAK,aAAaC,GAClB,KAAK,WAAWC,GAChB,KAAK,MAAMC;AAAA,EACb;AACF;AAUO,MAAMC,UAAiCL,EAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOvE,YAAYM,GAAqC;AAC/C,UAAM,4BAA4BA,CAAQ;AAAA,EAC5C;AACF;AAUO,MAAMC,UAAsCP,EAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5E,YAAYM,GAAqC;AAC/C;AAAA,MACE;AAAA,MACAA;AAAA,IAAA;AAAA,EAEJ;AACF;AAUO,MAAME,UAAqCR,EAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO3E,YAAYM,GAAqC;AAC/C,UAAM,2DAA2DA,CAAQ;AAAA,EAC3E;AACF;AAUO,MAAMG,UAAoCT,EAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO1E,YAAYM,GAAqC;AAC/C,UAAM,+BAA+BA,CAAQ;AAAA,EAC/C;AACF;"}
@@ -1,2 +1,3 @@
1
1
  "use strict";const R=require("viem/actions"),D=require("viem"),E=require("viem/utils");function z(t){const a=t.state.current,e=t.state.connections.get(a),i=e==null?void 0:e.accounts,y=i==null?void 0:i[0],u=t.chains.find(f=>f.id===(e==null?void 0:e.chainId)),r=t.state.status;switch(r){case"connected":return{address:y,addresses:i,chain:u,chainId:e==null?void 0:e.chainId,connector:e==null?void 0:e.connector,isConnected:!0,isConnecting:!1,isDisconnected:!1,isReconnecting:!1,status:r};case"reconnecting":return{address:y,addresses:i,chain:u,chainId:e==null?void 0:e.chainId,connector:e==null?void 0:e.connector,isConnected:!!y,isConnecting:!1,isDisconnected:!1,isReconnecting:!0,status:r};case"connecting":return{address:y,addresses:i,chain:u,chainId:e==null?void 0:e.chainId,connector:e==null?void 0:e.connector,isConnected:!1,isConnecting:!0,isDisconnected:!1,isReconnecting:!1,status:r};case"disconnected":return{address:void 0,addresses:void 0,chain:void 0,chainId:void 0,connector:void 0,isConnected:!1,isConnecting:!1,isDisconnected:!0,isReconnecting:!1,status:r}}}function _(t){return t.state.chainId}function H(t,a,e){const i=t[a.name];if(typeof i=="function")return i;const y=t[e];return typeof y=="function"?y:u=>a(t,u)}const $="2.13.0",j=()=>`@wagmi/core@${$}`;var B=function(t,a,e,i){if(e==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof a=="function"?t!==a||!i:!a.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?i:e==="a"?i.call(t):i?i.value:a.get(t)},A,k;class h extends Error{get docsBaseUrl(){return"https://wagmi.sh/core"}get version(){return j()}constructor(a,e={}){var i;super(),A.add(this),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WagmiCoreError"});const y=e.cause instanceof h?e.cause.details:(i=e.cause)!=null&&i.message?e.cause.message:e.details,u=e.cause instanceof h&&e.cause.docsPath||e.docsPath;this.message=[a||"An error occurred.","",...e.metaMessages?[...e.metaMessages,""]:[],...u?[`Docs: ${this.docsBaseUrl}${u}.html${e.docsSlug?`#${e.docsSlug}`:""}`]:[],...y?[`Details: ${y}`]:[],`Version: ${this.version}`].join(`
2
2
  `),e.cause&&(this.cause=e.cause),this.details=y,this.docsPath=u,this.metaMessages=e.metaMessages,this.shortMessage=a}walk(a){return B(this,A,"m",k).call(this,this,a)}}A=new WeakSet,k=function t(a,e){return e!=null&&e(a)?a:a.cause?B(this,A,"m",t).call(this,a.cause,e):a};class V extends h{constructor(){super("Connector not connected."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorNotConnectedError"})}}class X extends h{constructor({address:a,connector:e}){super(`Account "${a}" not found for connector "${e.name}".`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorAccountNotFoundError"})}}class Z extends h{constructor({connectionChainId:a,connectorChainId:e}){super(`The current chain of the connector (id: ${e}) does not match the connection's chain (id: ${a}).`,{metaMessages:[`Current Chain ID: ${e}`,`Expected Chain ID: ${a}`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ConnectorChainMismatchError"})}}async function P(t,a={}){let e;if(a.connector){const{connector:d}=a,[N,S]=await Promise.all([d.getAccounts(),d.getChainId()]);e={accounts:N,chainId:S,connector:d}}else e=t.state.connections.get(t.state.current);if(!e)throw new V;const i=a.chainId??e.chainId,y=await e.connector.getChainId();if(y!==e.chainId)throw new Z({connectionChainId:e.chainId,connectorChainId:y});const u=e.connector;if(u.getClient)return u.getClient({chainId:i});const r=E.parseAccount(a.account??e.accounts[0]);r.address=E.getAddress(r.address);const f=t.chains.find(d=>d.id===i),M=await e.connector.getProvider({chainId:i});if(a.account&&!e.accounts.some(d=>d.toLowerCase()===r.address.toLowerCase()))throw new X({address:r.address,connector:u});return D.createClient({account:r,chain:f,name:"Connector Client",transport:d=>D.custom(M)({...d,retryCount:0})})}async function x(t,a){const{abi:e,chainId:i,connector:y,...u}=a;let r;a.account?r=a.account:r=(await P(t,{chainId:i,connector:y})).account;const f=t.getClient({chainId:i}),M=H(f,R.simulateContract,"simulateContract"),{result:d,request:N}=await M({...u,abi:e,account:r});return{chainId:f.chain.id,result:d,request:{__mode:"prepared",...N,chainId:i}}}function s(t){return t.address!==void 0&&typeof t.address=="object"?(a,e)=>{var i;const y=_(a),u=z(a),r=(e==null?void 0:e.chainId)??u.chainId??y;return x(a,{...e,...t.functionName?{functionName:t.functionName}:{},address:(i=t.address)==null?void 0:i[r],abi:t.abi})}:(a,e)=>x(a,{...e,...t.address?{address:t.address}:{},...t.functionName?{functionName:t.functionName}:{},abi:t.abi})}function F(t,a){const{chainId:e,...i}=a,y=t.getClient({chainId:e});return H(y,R.readContract,"readContract")(i)}function n(t){return t.address!==void 0&&typeof t.address=="object"?(a,e)=>{var i;const y=_(a),u=z(a),r=(e==null?void 0:e.chainId)??u.chainId??y;return F(a,{...e,...t.functionName?{functionName:t.functionName}:{},address:(i=t.address)==null?void 0:i[r],abi:t.abi})}:(a,e)=>F(a,{...e,...t.address?{address:t.address}:{},...t.functionName?{functionName:t.functionName}:{},abi:t.abi})}async function q(t,a){const{account:e,chainId:i,connector:y,__mode:u,...r}=a;let f;typeof e=="object"&&e.type==="local"?f=t.getClient({chainId:i}):f=await P(t,{account:e,chainId:i,connector:y});const{connector:M}=z(t);let d;if(u==="prepared"||M!=null&&M.supportsSimulation)d=r;else{const{request:N}=await x(t,{...r,account:e,chainId:i});d=N}return await H(f,R.writeContract,"writeContract")({...d,...e?{account:e}:{},chain:i?{id:i}:null})}function p(t){return t.address!==void 0&&typeof t.address=="object"?(a,e)=>{var i;const y=_(a),u=z(a);let r;return e.chainId?r=e.chainId:e.account&&e.account===u.address||e.account===void 0?r=u.chainId:r=y,q(a,{...e,...t.functionName?{functionName:t.functionName}:{},address:r?(i=t.address)==null?void 0:i[r]:void 0,abi:t.abi})}:(a,e)=>q(a,{...e,...t.address?{address:t.address}:{},...t.functionName?{functionName:t.functionName}:{},abi:t.abi})}const G=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"executor",internalType:"address",type:"address",indexed:!0},{name:"caller",internalType:"address",type:"address",indexed:!1},{name:"success",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionExecuted"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"isValidated",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionValidated"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"VALIDATOR",outputs:[{name:"",internalType:"contract AValidator",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"execute",outputs:[{name:"",internalType:"bool",type:"bool"},{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"payable"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"prepare",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],W=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user_",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"isAllowed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],J=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"InvalidAllocation"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"to",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"TransferFailed"},{type:"event",anonymous:!1,inputs:[{name:"account",internalType:"address",type:"address",indexed:!0},{name:"isAuthorized",internalType:"bool",type:"bool",indexed:!1}],name:"Authorized"},{type:"event",anonymous:!1,inputs:[{name:"asset",internalType:"address",type:"address",indexed:!0},{name:"to",internalType:"address",type:"address",indexed:!1},{name:"amount",internalType:"uint256",type:"uint256",indexed:!1}],name:"Distributed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"fallback",stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"allocate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"payable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"available",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"disburse",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes[]",type:"bytes[]"}],name:"disburseBatch",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"distributed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"account_",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"reconcile",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"accounts_",internalType:"address[]",type:"address[]"},{name:"authorized_",internalType:"bool[]",type:"bool[]"}],name:"setAuthorized",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"total",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"receive",stateMutability:"payable"}],L=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],K=[{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[{name:"claimant",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimant",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],Y=[{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"boostId",internalType:"uint256",type:"uint256"},{name:"incentiveId",internalType:"uint256",type:"uint256"},{name:"claimant",internalType:"address",type:"address"},{name:"data",internalType:"bytes",type:"bytes"}],name:"validate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"}],w=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"allowList",outputs:[{name:"",internalType:"contract SimpleAllowList",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"pure"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"limit",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"pure"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],m=[{type:"constructor",inputs:[{name:"registry_",internalType:"contract BoostRegistry",type:"address"},{name:"protocolFeeReceiver_",internalType:"address",type:"address"}],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[{name:"caller",internalType:"address",type:"address"},{name:"data",internalType:"bytes",type:"bytes"}],name:"ClaimFailed"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[{name:"expectedInterface",internalType:"bytes4",type:"bytes4"},{name:"instance",internalType:"address",type:"address"}],name:"InvalidInstance"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"Reentrancy"},{type:"error",inputs:[],name:"Unauthorized"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"boostIndex",internalType:"uint256",type:"uint256",indexed:!0},{name:"owner",internalType:"address",type:"address",indexed:!0},{name:"action",internalType:"address",type:"address",indexed:!0},{name:"incentiveCount",internalType:"uint256",type:"uint256",indexed:!1},{name:"validator",internalType:"address",type:"address",indexed:!1},{name:"allowList",internalType:"address",type:"address",indexed:!1},{name:"budget",internalType:"address",type:"address",indexed:!1}],name:"BoostCreated"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"FEE_DENOMINATOR",outputs:[{name:"",internalType:"uint64",type:"uint64"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"claimFee",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"boostId_",internalType:"uint256",type:"uint256"},{name:"incentiveId_",internalType:"uint256",type:"uint256"},{name:"referrer_",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"claimIncentive",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"boostId_",internalType:"uint256",type:"uint256"},{name:"incentiveId_",internalType:"uint256",type:"uint256"},{name:"referrer_",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"},{name:"claimant",internalType:"address",type:"address"}],name:"claimIncentiveFor",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"createBoost",outputs:[{name:"",internalType:"struct BoostLib.Boost",type:"tuple",components:[{name:"action",internalType:"contract AAction",type:"address"},{name:"validator",internalType:"contract AValidator",type:"address"},{name:"allowList",internalType:"contract AAllowList",type:"address"},{name:"budget",internalType:"contract ABudget",type:"address"},{name:"incentives",internalType:"contract AIncentive[]",type:"address[]"},{name:"protocolFee",internalType:"uint64",type:"uint64"},{name:"referralFee",internalType:"uint64",type:"uint64"},{name:"maxParticipants",internalType:"uint256",type:"uint256"},{name:"owner",internalType:"address",type:"address"}]}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"createBoostAuth",outputs:[{name:"",internalType:"contract IAuth",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"index",internalType:"uint256",type:"uint256"}],name:"getBoost",outputs:[{name:"",internalType:"struct BoostLib.Boost",type:"tuple",components:[{name:"action",internalType:"contract AAction",type:"address"},{name:"validator",internalType:"contract AValidator",type:"address"},{name:"allowList",internalType:"contract AAllowList",type:"address"},{name:"budget",internalType:"contract ABudget",type:"address"},{name:"incentives",internalType:"contract AIncentive[]",type:"address[]"},{name:"protocolFee",internalType:"uint64",type:"uint64"},{name:"referralFee",internalType:"uint64",type:"uint64"},{name:"maxParticipants",internalType:"uint256",type:"uint256"},{name:"owner",internalType:"address",type:"address"}]}],stateMutability:"view"},{type:"function",inputs:[],name:"getBoostCount",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"protocolFee",outputs:[{name:"",internalType:"uint64",type:"uint64"}],stateMutability:"view"},{type:"function",inputs:[],name:"protocolFeeReceiver",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"referralFee",outputs:[{name:"",internalType:"uint64",type:"uint64"}],stateMutability:"view"},{type:"function",inputs:[],name:"registry",outputs:[{name:"",internalType:"contract BoostRegistry",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimFee_",internalType:"uint256",type:"uint256"}],name:"setClaimFee",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"auth_",internalType:"address",type:"address"}],name:"setCreateBoostAuth",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"protocolFee_",internalType:"uint64",type:"uint64"}],name:"setProtocolFee",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"protocolFeeReceiver_",internalType:"address",type:"address"}],name:"setProtocolFeeReceiver",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"referralFee_",internalType:"uint64",type:"uint64"}],name:"setReferralFee",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],I=[{type:"error",inputs:[{name:"registryType",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"identifier",internalType:"bytes32",type:"bytes32"}],name:"AlreadyRegistered"},{type:"error",inputs:[{name:"implementation",internalType:"address",type:"address"}],name:"NotACloneable"},{type:"error",inputs:[{name:"identifier",internalType:"bytes32",type:"bytes32"}],name:"NotRegistered"},{type:"error",inputs:[],name:"Reentrancy"},{type:"event",anonymous:!1,inputs:[{name:"registryType",internalType:"enum BoostRegistry.RegistryType",type:"uint8",indexed:!0},{name:"identifier",internalType:"bytes32",type:"bytes32",indexed:!0},{name:"baseImplementation",internalType:"address",type:"address",indexed:!1},{name:"deployedInstance",internalType:"contract ACloneable",type:"address",indexed:!1}],name:"Deployed"},{type:"event",anonymous:!1,inputs:[{name:"registryType",internalType:"enum BoostRegistry.RegistryType",type:"uint8",indexed:!0},{name:"identifier",internalType:"bytes32",type:"bytes32",indexed:!0},{name:"implementation",internalType:"address",type:"address",indexed:!1}],name:"Registered"},{type:"function",inputs:[{name:"type_",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"base_",internalType:"address",type:"address"},{name:"name_",internalType:"string",type:"string"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"deployClone",outputs:[{name:"instance",internalType:"contract ACloneable",type:"address"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"identifier_",internalType:"bytes32",type:"bytes32"}],name:"getBaseImplementation",outputs:[{name:"implementation",internalType:"contract ACloneable",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"identifier_",internalType:"bytes32",type:"bytes32"}],name:"getClone",outputs:[{name:"clone",internalType:"struct BoostRegistry.Clone",type:"tuple",components:[{name:"baseType",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"instance",internalType:"contract ACloneable",type:"address"},{name:"deployer",internalType:"address",type:"address"},{name:"name",internalType:"string",type:"string"}]}],stateMutability:"view"},{type:"function",inputs:[{name:"type_",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"base_",internalType:"address",type:"address"},{name:"deployer_",internalType:"address",type:"address"},{name:"name_",internalType:"string",type:"string"}],name:"getCloneIdentifier",outputs:[{name:"identifier",internalType:"bytes32",type:"bytes32"}],stateMutability:"pure"},{type:"function",inputs:[{name:"deployer_",internalType:"address",type:"address"}],name:"getClones",outputs:[{name:"",internalType:"bytes32[]",type:"bytes32[]"}],stateMutability:"view"},{type:"function",inputs:[{name:"type_",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"name_",internalType:"string",type:"string"}],name:"getIdentifier",outputs:[{name:"identifier",internalType:"bytes32",type:"bytes32"}],stateMutability:"pure"},{type:"function",inputs:[{name:"type_",internalType:"enum BoostRegistry.RegistryType",type:"uint8"},{name:"name_",internalType:"string",type:"string"},{name:"implementation_",internalType:"address",type:"address"}],name:"register",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],c=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"asset",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"cgdaParams",outputs:[{name:"rewardDecay",internalType:"uint256",type:"uint256"},{name:"rewardBoost",internalType:"uint256",type:"uint256"},{name:"lastClaimTime",internalType:"uint256",type:"uint256"},{name:"currentReward",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"totalBudget",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],l=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[{name:"caller",internalType:"address",type:"address"},{name:"data",internalType:"bytes",type:"bytes"}],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"entry",internalType:"address",type:"address",indexed:!0}],name:"Entry"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"asset",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"drawRaffle",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"uint256",type:"uint256"}],name:"entries",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"limit",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"budgetData",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"strategy",outputs:[{name:"",internalType:"enum AERC20Incentive.Strategy",type:"uint8"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],b=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"asset",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"data_",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"limit",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"budgetData",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"totalClaimed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],O=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"event",anonymous:!1,inputs:[{name:"executor",internalType:"address",type:"address",indexed:!0},{name:"caller",internalType:"address",type:"address",indexed:!1},{name:"success",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionExecuted"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"isValidated",internalType:"bool",type:"bool",indexed:!1},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"ActionValidated"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"function",inputs:[],name:"VALIDATOR",outputs:[{name:"",internalType:"contract AValidator",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"execute",outputs:[{name:"",internalType:"bool",type:"bool"},{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"payable"},{type:"function",inputs:[],name:"getActionClaimant",outputs:[{name:"",internalType:"struct AEventAction.ActionClaimant",type:"tuple",components:[{name:"signatureType",internalType:"enum AEventAction.SignatureType",type:"uint8"},{name:"signature",internalType:"bytes4",type:"bytes4"},{name:"fieldIndex",internalType:"uint8",type:"uint8"},{name:"targetContract",internalType:"address",type:"address"}]}],stateMutability:"view"},{type:"function",inputs:[{name:"index",internalType:"uint256",type:"uint256"}],name:"getActionStep",outputs:[{name:"",internalType:"struct AEventAction.ActionStep",type:"tuple",components:[{name:"signature",internalType:"bytes4",type:"bytes4"},{name:"signatureType",internalType:"enum AEventAction.SignatureType",type:"uint8"},{name:"actionType",internalType:"uint8",type:"uint8"},{name:"targetContract",internalType:"address",type:"address"},{name:"actionParameter",internalType:"struct AEventAction.Criteria",type:"tuple",components:[{name:"filterType",internalType:"enum AEventAction.FilterType",type:"uint8"},{name:"fieldType",internalType:"enum AEventAction.PrimitiveType",type:"uint8"},{name:"fieldIndex",internalType:"uint8",type:"uint8"},{name:"filterData",internalType:"bytes",type:"bytes"}]}]}],stateMutability:"view"},{type:"function",inputs:[],name:"getActionSteps",outputs:[{name:"",internalType:"struct AEventAction.ActionStep[]",type:"tuple[]",components:[{name:"signature",internalType:"bytes4",type:"bytes4"},{name:"signatureType",internalType:"enum AEventAction.SignatureType",type:"uint8"},{name:"actionType",internalType:"uint8",type:"uint8"},{name:"targetContract",internalType:"address",type:"address"},{name:"actionParameter",internalType:"struct AEventAction.Criteria",type:"tuple",components:[{name:"filterType",internalType:"enum AEventAction.FilterType",type:"uint8"},{name:"fieldType",internalType:"enum AEventAction.PrimitiveType",type:"uint8"},{name:"fieldIndex",internalType:"uint8",type:"uint8"},{name:"filterData",internalType:"bytes",type:"bytes"}]}]}],stateMutability:"view"},{type:"function",inputs:[],name:"getActionStepsCount",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"prepare",outputs:[{name:"",internalType:"bytes",type:"bytes"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],Q=[{type:"function",inputs:[{name:"addr",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],o=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"available",internalType:"uint256",type:"uint256"},{name:"required",internalType:"uint256",type:"uint256"}],name:"InsufficientFunds"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"InvalidAllocation"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Reentrancy"},{type:"error",inputs:[{name:"asset",internalType:"address",type:"address"},{name:"to",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],name:"TransferFailed"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"account",internalType:"address",type:"address",indexed:!0},{name:"isAuthorized",internalType:"bool",type:"bool",indexed:!1}],name:"Authorized"},{type:"event",anonymous:!1,inputs:[{name:"asset",internalType:"address",type:"address",indexed:!0},{name:"to",internalType:"address",type:"address",indexed:!1},{name:"amount",internalType:"uint256",type:"uint256",indexed:!1}],name:"Distributed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"roles",internalType:"uint256",type:"uint256",indexed:!0}],name:"RolesUpdated"},{type:"fallback",stateMutability:"payable"},{type:"function",inputs:[],name:"ADMIN_ROLE",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"MANAGER_ROLE",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"allocate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"payable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"available",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"},{name:"tokenId_",internalType:"uint256",type:"uint256"}],name:"available",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"disburse",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"data_",internalType:"bytes[]",type:"bytes[]"}],name:"disburseBatch",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"distributed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"},{name:"tokenId_",internalType:"uint256",type:"uint256"}],name:"distributed",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"grantRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"accounts_",internalType:"address[]",type:"address[]"},{name:"roles_",internalType:"uint256[]",type:"uint256[]"}],name:"grantRoles",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAllRoles",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAnyRole",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"account_",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"},{name:"",internalType:"address",type:"address"},{name:"",internalType:"uint256[]",type:"uint256[]"},{name:"",internalType:"uint256[]",type:"uint256[]"},{name:"",internalType:"bytes",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"},{name:"",internalType:"address",type:"address"},{name:"",internalType:"uint256",type:"uint256"},{name:"",internalType:"uint256",type:"uint256"},{name:"",internalType:"bytes",type:"bytes"}],name:"onERC1155Received",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"reconcile",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"roles",internalType:"uint256",type:"uint256"}],name:"renounceRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"revokeRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"accounts_",internalType:"address[]",type:"address[]"},{name:"roles_",internalType:"uint256[]",type:"uint256[]"}],name:"revokeRoles",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"}],name:"rolesOf",outputs:[{name:"roles",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"accounts_",internalType:"address[]",type:"address[]"},{name:"authorized_",internalType:"bool[]",type:"bool[]"}],name:"setAuthorized",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"}],name:"total",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"asset_",internalType:"address",type:"address"},{name:"tokenId_",internalType:"uint256",type:"uint256"}],name:"total",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"},{type:"receive",stateMutability:"payable"}],U=[{type:"function",inputs:[{name:"user",internalType:"address",type:"address"}],name:"isAuthorized",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"}],T=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"ClaimFailed"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotClaimable"},{type:"error",inputs:[],name:"NotImplemented"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"recipient",internalType:"address",type:"address",indexed:!0},{name:"data",internalType:"bytes",type:"bytes",indexed:!1}],name:"Claimed"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"roles",internalType:"uint256",type:"uint256",indexed:!0}],name:"RolesUpdated"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"claim",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"claimed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"claims",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"clawback",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"pure"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"currentReward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"grantRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAllRoles",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAnyRole",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"claimTarget",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isClaimable",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"limit",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"",internalType:"bytes",type:"bytes"}],name:"preflight",outputs:[{name:"budgetData",internalType:"bytes",type:"bytes"}],stateMutability:"pure"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"roles",internalType:"uint256",type:"uint256"}],name:"renounceRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"revokeRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"reward",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"}],name:"rolesOf",outputs:[{name:"roles",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"selector",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"venue",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"}],v=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[{name:"available",internalType:"uint8",type:"uint8"},{name:"id",internalType:"uint256",type:"uint256"}],name:"InvalidIncentive"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"eip712Domain",outputs:[{name:"fields",internalType:"bytes1",type:"bytes1"},{name:"name",internalType:"string",type:"string"},{name:"version",internalType:"string",type:"string"},{name:"chainId",internalType:"uint256",type:"uint256"},{name:"verifyingContract",internalType:"address",type:"address"},{name:"salt",internalType:"bytes32",type:"bytes32"},{name:"extensions",internalType:"uint256[]",type:"uint256[]"}],stateMutability:"view"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"boostId",internalType:"uint256",type:"uint256"},{name:"incentiveQuantity",internalType:"uint8",type:"uint8"},{name:"claimant",internalType:"address",type:"address"},{name:"incentiveData",internalType:"bytes",type:"bytes"}],name:"hashSignerData",outputs:[{name:"hashedSignerData",internalType:"bytes32",type:"bytes32"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"signers_",internalType:"address[]",type:"address[]"},{name:"authorized_",internalType:"bool[]",type:"bool[]"}],name:"setAuthorized",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"newCaller",internalType:"address",type:"address"}],name:"setValidatorCaller",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"",internalType:"address",type:"address"}],name:"signers",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"boostId",internalType:"uint256",type:"uint256"},{name:"incentiveId",internalType:"uint256",type:"uint256"},{name:"claimant",internalType:"address",type:"address"},{name:"claimData",internalType:"bytes",type:"bytes"}],name:"validate",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"nonpayable"}],g=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"event",anonymous:!1,inputs:[{name:"user",internalType:"address",type:"address",indexed:!0},{name:"roles",internalType:"uint256",type:"uint256",indexed:!0}],name:"RolesUpdated"},{type:"function",inputs:[],name:"LIST_MANAGER_ROLE",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"grantRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAllRoles",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"hasAnyRole",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user_",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isAllowed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"roles",internalType:"uint256",type:"uint256"}],name:"renounceRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"},{name:"roles",internalType:"uint256",type:"uint256"}],name:"revokeRoles",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"user",internalType:"address",type:"address"}],name:"rolesOf",outputs:[{name:"roles",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"users_",internalType:"address[]",type:"address[]"},{name:"allowed_",internalType:"bool[]",type:"bool[]"}],name:"setAllowed",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],C=[{type:"constructor",inputs:[],stateMutability:"nonpayable"},{type:"error",inputs:[],name:"AlreadyInitialized"},{type:"error",inputs:[],name:"CloneAlreadyInitialized"},{type:"error",inputs:[],name:"InitializerNotImplemented"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"InvalidInitializationData"},{type:"error",inputs:[],name:"LengthMismatch"},{type:"error",inputs:[],name:"NewOwnerIsZeroAddress"},{type:"error",inputs:[],name:"NoHandoverRequest"},{type:"error",inputs:[],name:"NotInitializing"},{type:"error",inputs:[],name:"Unauthorized"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverCanceled"},{type:"event",anonymous:!1,inputs:[{name:"pendingOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipHandoverRequested"},{type:"event",anonymous:!1,inputs:[{name:"oldOwner",internalType:"address",type:"address",indexed:!0},{name:"newOwner",internalType:"address",type:"address",indexed:!0}],name:"OwnershipTransferred"},{type:"function",inputs:[],name:"cancelOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"completeOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"getComponentInterface",outputs:[{name:"",internalType:"bytes4",type:"bytes4"}],stateMutability:"pure"},{type:"function",inputs:[{name:"data_",internalType:"bytes",type:"bytes"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"user_",internalType:"address",type:"address"},{name:"",internalType:"bytes",type:"bytes"}],name:"isAllowed",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"owner",outputs:[{name:"result",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"pendingOwner",internalType:"address",type:"address"}],name:"ownershipHandoverExpiresAt",outputs:[{name:"result",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"payable"},{type:"function",inputs:[],name:"requestOwnershipHandover",outputs:[],stateMutability:"payable"},{type:"function",inputs:[{name:"users_",internalType:"address[]",type:"address[]"},{name:"denied_",internalType:"bool[]",type:"bool[]"}],name:"setDenied",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"newOwner",internalType:"address",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"payable"}],ee=n({abi:L,functionName:"getComponentInterface"}),te=n({abi:L,functionName:"supportsInterface"}),ne=n({abi:w,functionName:"allowList"}),ae=n({abi:w,functionName:"claimed"}),ie=n({abi:w,functionName:"claims"}),se=n({abi:w,functionName:"isClaimable"}),pe=n({abi:w,functionName:"limit"}),re=n({abi:w,functionName:"owner"}),ye=n({abi:w,functionName:"reward"}),ue=p({abi:w,functionName:"claim"}),oe=s({abi:w,functionName:"claim"}),le=n({abi:m,functionName:"claimFee"}),de=n({abi:m,functionName:"createBoostAuth"}),me=n({abi:m,functionName:"getBoost"}),ce=n({abi:m,functionName:"getBoostCount"}),be=n({abi:m,functionName:"protocolFee"}),Te=n({abi:m,functionName:"protocolFeeReceiver"}),fe=p({abi:m,functionName:"claimIncentive"}),we=p({abi:m,functionName:"setClaimFee"}),ve=p({abi:m,functionName:"setCreateBoostAuth"}),Ie=p({abi:m,functionName:"setProtocolFeeReceiver"}),Me=s({abi:m,functionName:"claimIncentive"}),he=s({abi:m,functionName:"setClaimFee"}),ge=s({abi:m,functionName:"setCreateBoostAuth"}),Ne=s({abi:m,functionName:"setProtocolFeeReceiver"}),Oe=n({abi:I,functionName:"getBaseImplementation"}),Ae=n({abi:I,functionName:"getCloneIdentifier"}),ze=n({abi:I,functionName:"getClones"}),Ce=p({abi:I,functionName:"deployClone"}),xe=p({abi:I,functionName:"register"}),Re=s({abi:I,functionName:"deployClone"}),_e=s({abi:I,functionName:"register"}),He=n({abi:c,functionName:"asset"}),De=n({abi:c,functionName:"cgdaParams"}),Ee=n({abi:c,functionName:"claimed"}),Fe=n({abi:c,functionName:"claims"}),qe=n({abi:c,functionName:"currentReward"}),Be=n({abi:c,functionName:"isClaimable"}),ke=n({abi:c,functionName:"owner"}),Pe=n({abi:c,functionName:"reward"}),Le=n({abi:c,functionName:"totalBudget"}),Ue=p({abi:c,functionName:"claim"}),Se=p({abi:c,functionName:"clawback"}),$e=s({abi:c,functionName:"claim"}),je=s({abi:c,functionName:"clawback"}),Ve=n({abi:l,functionName:"asset"}),Xe=n({abi:l,functionName:"claimed"}),Ze=n({abi:l,functionName:"claims"}),Ge=n({abi:l,functionName:"currentReward"}),We=n({abi:l,functionName:"entries"}),Je=n({abi:l,functionName:"isClaimable"}),Ke=n({abi:l,functionName:"limit"}),Ye=n({abi:l,functionName:"owner"}),Qe=n({abi:l,functionName:"reward"}),et=n({abi:l,functionName:"strategy"}),tt=p({abi:l,functionName:"claim"}),nt=p({abi:l,functionName:"clawback"}),at=p({abi:l,functionName:"drawRaffle"}),it=s({abi:l,functionName:"claim"}),st=s({abi:l,functionName:"clawback"}),pt=s({abi:l,functionName:"drawRaffle"}),rt=n({abi:b,functionName:"asset"}),yt=n({abi:b,functionName:"claimed"}),ut=n({abi:b,functionName:"claims"}),ot=n({abi:b,functionName:"currentReward"}),lt=n({abi:b,functionName:"isClaimable"}),dt=n({abi:b,functionName:"limit"}),mt=n({abi:b,functionName:"owner"}),ct=n({abi:b,functionName:"reward"}),bt=n({abi:b,functionName:"totalClaimed"}),Tt=p({abi:b,functionName:"claim"}),ft=p({abi:b,functionName:"clawback"}),wt=s({abi:b,functionName:"claim"}),vt=s({abi:b,functionName:"clawback"}),It=n({abi:O,functionName:"getActionClaimant"}),Mt=n({abi:O,functionName:"getActionSteps"}),ht=p({abi:O,functionName:"execute"}),gt=s({abi:O,functionName:"execute"}),Nt=n({abi:Q,functionName:"isAuthorized"}),Ot=n({abi:o,functionName:"available"}),At=n({abi:o,functionName:"distributed"}),zt=n({abi:o,functionName:"hasAllRoles"}),Ct=n({abi:o,functionName:"hasAnyRole"}),xt=n({abi:o,functionName:"isAuthorized"}),Rt=n({abi:o,functionName:"owner"}),_t=n({abi:o,functionName:"rolesOf"}),Ht=n({abi:o,functionName:"total"}),Dt=p({abi:o,functionName:"allocate"}),Et=p({abi:o,functionName:"clawback"}),Ft=p({abi:o,functionName:"disburse"}),qt=p({abi:o,functionName:"disburseBatch"}),Bt=p({abi:o,functionName:"grantRoles"}),kt=p({abi:o,functionName:"revokeRoles"}),Pt=p({abi:o,functionName:"setAuthorized"}),Lt=s({abi:o,functionName:"allocate"}),Ut=s({abi:o,functionName:"clawback"}),St=s({abi:o,functionName:"disburse"}),$t=s({abi:o,functionName:"disburseBatch"}),jt=s({abi:o,functionName:"grantRoles"}),Vt=s({abi:o,functionName:"revokeRoles"}),Xt=s({abi:o,functionName:"setAuthorized"}),Zt=n({abi:U,functionName:"isAuthorized"}),Gt=n({abi:T,functionName:"claimed"}),Wt=n({abi:T,functionName:"claims"}),Jt=n({abi:T,functionName:"currentReward"}),Kt=n({abi:T,functionName:"isClaimable"}),Yt=n({abi:T,functionName:"limit"}),Qt=n({abi:T,functionName:"reward"}),en=n({abi:T,functionName:"selector"}),tn=n({abi:T,functionName:"venue"}),nn=p({abi:T,functionName:"claim"}),an=s({abi:T,functionName:"claim"}),sn=n({abi:v,functionName:"hashSignerData"}),pn=n({abi:v,functionName:"signers"}),rn=p({abi:v,functionName:"setAuthorized"}),yn=p({abi:v,functionName:"setValidatorCaller"}),un=p({abi:v,functionName:"validate"}),on=s({abi:v,functionName:"setAuthorized"}),ln=s({abi:v,functionName:"setValidatorCaller"}),dn=s({abi:v,functionName:"validate"}),mn=n({abi:g,functionName:"isAllowed"}),cn=p({abi:g,functionName:"grantRoles"}),bn=p({abi:g,functionName:"setAllowed"}),Tn=s({abi:g,functionName:"grantRoles"}),fn=s({abi:g,functionName:"setAllowed"}),wn=n({abi:C,functionName:"isAllowed"}),vn=p({abi:C,functionName:"setDenied"}),In=s({abi:C,functionName:"setDenied"});exports.$f=Mt;exports.$u=pe;exports.A=w;exports.A2=wn;exports.A5=Wt;exports.Ah=fn;exports.Am=Qe;exports.B2=vn;exports.By=Fe;exports.C5=Kt;exports.CN=yn;exports.Cm=nt;exports.Cw=xt;exports.Dl=we;exports.Du=ae;exports.Dw=Ft;exports.Dy=Le;exports.E5=Yt;exports.El=be;exports.Ey=He;exports.FN=ln;exports.Fm=st;exports.G=K;exports.Gf=It;exports.Gy=Se;exports.H5=en;exports.Hl=fe;exports.Hw=Ht;exports.Hy=Be;exports.I5=Gt;exports.Iy=xe;exports.J5=an;exports.JN=mn;exports.Ju=ye;exports.Kn=ee;exports.Lw=Et;exports.Ly=Pe;exports.M=v;exports.Ml=ce;exports.Mw=zt;exports.Nb=wt;exports.Nl=le;exports.Nm=et;exports.Nw=Ot;exports.Ny=Re;exports.ON=rn;exports.Om=tt;exports.Ow=Ct;exports.Pl=ve;exports.Pu=ie;exports.Pw=qt;exports.Qw=Pt;exports.RN=un;exports.Rl=Te;exports.Rm=at;exports.Ry=De;exports.S=C;exports.T=g;exports.TA=Zt;exports.Ty=Ce;exports.Ul=Ie;exports.Uy=Ue;exports.Vy=ke;exports.W=O;exports.Wl=Me;exports.Ww=kt;exports.X=G;exports.Xf=ht;exports.Xm=rt;exports.Xn=te;exports.Xw=Lt;exports.Xy=$e;exports.Ym=yt;exports.Yy=je;exports.Zu=se;exports._5=tn;exports._N=on;exports._m=it;exports._w=Dt;exports.aT=$t;exports.ab=lt;exports.ay=Ne;exports.bN=sn;exports.bh=Tn;exports.by=ze;exports.c=m;exports.cb=Tt;exports.cm=Ge;exports.dm=Ze;exports.dy=Oe;exports.eT=Ut;exports.eb=ut;exports.ee=I;exports.el=ue;exports.ey=he;exports.f=l;exports.fm=Je;exports.gl=me;exports.h5=Jt;exports.hb=vt;exports.hl=de;exports.hw=At;exports.hy=_e;exports.iT=jt;exports.ib=dt;exports.ih=cn;exports.ju=re;exports.k2=In;exports.k5=nn;exports.kN=dn;exports.km=pt;exports.ku=ne;exports.l=T;exports.lT=Vt;exports.lb=bt;exports.lh=bn;exports.lm=Ve;exports.mb=ft;exports.mm=We;exports.my=Ae;exports.nT=St;exports.oe=W;exports.p=o;exports.pb=ct;exports.pl=oe;exports.pv=Nt;exports.qw=Bt;exports.re=Y;exports.sb=mt;exports.tb=ot;exports.tv=gt;exports.ty=ge;exports.v=c;exports.vm=Ke;exports.w=b;exports.wN=pn;exports.wm=Ye;exports.x5=Qt;exports.xw=_t;exports.xy=qe;exports.yT=Xt;exports.ym=Xe;exports.z=J;exports.ze=U;exports.zw=Rt;exports.zy=Ee;
3
+ //# sourceMappingURL=generated-Cd-Fe7W7.cjs.map