@boostxyz/sdk 3.0.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +1 -1
  3. package/dist/Actions/EventAction.cjs +1 -1
  4. package/dist/Actions/EventAction.js +16 -16
  5. package/dist/AllowLists/AllowList.cjs +1 -1
  6. package/dist/AllowLists/AllowList.js +2 -2
  7. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  8. package/dist/AllowLists/SimpleAllowList.js +12 -12
  9. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  10. package/dist/AllowLists/SimpleDenyList.js +3 -3
  11. package/dist/Auth/PassthroughAuth.cjs +1 -1
  12. package/dist/Auth/PassthroughAuth.js +1 -1
  13. package/dist/BoostCore.cjs +2 -2
  14. package/dist/BoostCore.cjs.map +1 -1
  15. package/dist/BoostCore.d.ts +20 -0
  16. package/dist/BoostCore.d.ts.map +1 -1
  17. package/dist/BoostCore.js +32 -32
  18. package/dist/BoostRegistry.cjs +1 -1
  19. package/dist/BoostRegistry.js +4 -4
  20. package/dist/{Budget-Dw3jHqDC.cjs → Budget-Cnyh81n5.cjs} +2 -2
  21. package/dist/{Budget-Dw3jHqDC.cjs.map → Budget-Cnyh81n5.cjs.map} +1 -1
  22. package/dist/{Budget-DGPItPqt.js → Budget-fHCvlPfB.js} +28 -28
  23. package/dist/{Budget-DGPItPqt.js.map → Budget-fHCvlPfB.js.map} +1 -1
  24. package/dist/Budgets/Budget.cjs +1 -1
  25. package/dist/Budgets/Budget.js +2 -2
  26. package/dist/Budgets/ManagedBudget.cjs +1 -1
  27. package/dist/Budgets/ManagedBudget.js +17 -17
  28. package/dist/Deployable/DeployableTarget.cjs +1 -1
  29. package/dist/Deployable/DeployableTarget.js +1 -1
  30. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  31. package/dist/Deployable/DeployableTargetWithRBAC.js +15 -15
  32. package/dist/{Incentive-Dxw1wwbl.js → Incentive-M45PaQsT.js} +32 -32
  33. package/dist/{Incentive-Dxw1wwbl.js.map → Incentive-M45PaQsT.js.map} +1 -1
  34. package/dist/{Incentive-BNm7fgJh.cjs → Incentive-axLU7ndr.cjs} +2 -2
  35. package/dist/{Incentive-BNm7fgJh.cjs.map → Incentive-axLU7ndr.cjs.map} +1 -1
  36. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  37. package/dist/Incentives/AllowListIncentive.js +7 -7
  38. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  39. package/dist/Incentives/CGDAIncentive.js +10 -10
  40. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  41. package/dist/Incentives/ERC20Incentive.js +16 -16
  42. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  43. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +2 -2
  44. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  45. package/dist/Incentives/ERC20VariableIncentive.js +4 -4
  46. package/dist/Incentives/Incentive.cjs +1 -1
  47. package/dist/Incentives/Incentive.js +2 -2
  48. package/dist/Incentives/PointsIncentive.cjs +1 -1
  49. package/dist/Incentives/PointsIncentive.js +12 -12
  50. package/dist/{SimpleDenyList-S6braCCk.cjs → SimpleDenyList-CgQvS1ek.cjs} +2 -2
  51. package/dist/{SimpleDenyList-S6braCCk.cjs.map → SimpleDenyList-CgQvS1ek.cjs.map} +1 -1
  52. package/dist/{SimpleDenyList-CUvdsCvZ.js → SimpleDenyList-GZlSeh2G.js} +11 -11
  53. package/dist/{SimpleDenyList-CUvdsCvZ.js.map → SimpleDenyList-GZlSeh2G.js.map} +1 -1
  54. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  55. package/dist/Validators/LimitedSignerValidator.js +13 -13
  56. package/dist/Validators/SignerValidator.cjs +1 -1
  57. package/dist/Validators/SignerValidator.js +11 -11
  58. package/dist/Validators/Validator.cjs +1 -1
  59. package/dist/Validators/Validator.js +1 -1
  60. package/dist/deployments-CMdsItcq.cjs +2 -0
  61. package/dist/deployments-CMdsItcq.cjs.map +1 -0
  62. package/dist/deployments-DzhmI-zL.js +102 -0
  63. package/dist/deployments-DzhmI-zL.js.map +1 -0
  64. package/dist/deployments.json +48 -48
  65. package/dist/generated-CNkDfjzI.cjs +3 -0
  66. package/dist/generated-CNkDfjzI.cjs.map +1 -0
  67. package/dist/{generated-D2xuTYvu.js → generated-Hbd0NIf9.js} +168 -154
  68. package/dist/generated-Hbd0NIf9.js.map +1 -0
  69. package/dist/index.cjs +1 -1
  70. package/dist/index.js +11 -11
  71. package/package.json +1 -1
  72. package/dist/deployments-C7-jUofW.cjs +0 -2
  73. package/dist/deployments-C7-jUofW.cjs.map +0 -1
  74. package/dist/deployments-Dcywzp8T.js +0 -102
  75. package/dist/deployments-Dcywzp8T.js.map +0 -1
  76. package/dist/generated-D2xuTYvu.js.map +0 -1
  77. package/dist/generated-DAZo6jo9.cjs +0 -3
  78. package/dist/generated-DAZo6jo9.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Incentive-BNm7fgJh.cjs","sources":["../src/Incentives/ERC20PeggedIncentive.ts","../src/Incentives/Incentive.ts"],"sourcesContent":["import {\n erc20PeggedIncentiveAbi,\n readErc20PeggedIncentiveAsset,\n readErc20PeggedIncentiveClaimed,\n readErc20PeggedIncentiveClaims,\n readErc20PeggedIncentiveCurrentReward,\n readErc20PeggedIncentiveGetPeg,\n readErc20PeggedIncentiveIsClaimable,\n readErc20PeggedIncentiveLimit,\n readErc20PeggedIncentiveOwner,\n readErc20PeggedIncentivePeg,\n readErc20PeggedIncentiveReward,\n readErc20PeggedIncentiveTotalClaimed,\n simulateErc20PeggedIncentiveClaim,\n simulateErc20PeggedIncentiveClawback,\n writeErc20PeggedIncentiveClaim,\n writeErc20PeggedIncentiveClawback,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/incentives/ERC20PeggedIncentive.sol/ERC20PeggedIncentive.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n zeroAddress,\n zeroHash,\n} from 'viem';\nimport { ERC20Incentive as ERC20IncentiveBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport { type ClaimPayload, prepareClaimPayload } from '../claiming';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { erc20PeggedIncentiveAbi };\n\n/**\n * The object representation of a `ERC20PeggedIncentive.InitPayload`\n *\n * @export\n * @interface ERC20PeggedIncentivePayload\n * @typedef {ERC20PeggedIncentivePayload}\n */\nexport interface ERC20PeggedIncentivePayload {\n /**\n * The address of the incentivized asset.\n *\n * @type {Address}\n */\n asset: Address;\n /**\n * The peg to normalize to.\n *\n * @type {Address}\n */\n peg: Address;\n /**\n * The amount of the asset to distribute.\n *\n * @type {bigint}\n */\n reward: bigint;\n /**\n * Total spend for the incentive.\n *\n * @type {bigint}\n */\n limit: bigint;\n /**\n * (Optional) The address of the entity that can managed the incentive.\n *\n * @type {Address}\n * @optional\n */\n manager?: Address;\n}\n\n/**\n * A generic `viem.Log` event with support for `ERC20PeggedIncentive` event types.\n *\n * @export\n * @typedef {ERC20PeggedIncentiveLog}\n * @template {ContractEventName<typeof erc20PeggedIncentiveAbi>} [event=ContractEventName<\n * typeof erc20PeggedIncentiveAbi\n * >]\n */\nexport type ERC20PeggedIncentiveLog<\n event extends ContractEventName<\n typeof erc20PeggedIncentiveAbi\n > = ContractEventName<typeof erc20PeggedIncentiveAbi>,\n> = GenericLog<typeof erc20PeggedIncentiveAbi, event>;\n\n/**\n * A simple ERC20 incentive implementation that allows claiming of tokens\n *\n * @export\n * @class ERC20PeggedIncentive\n * @typedef {ERC20PeggedIncentive}\n * @extends {DeployableTarget<ERC20PeggedIncentivePayload>}\n */\nexport class ERC20PeggedIncentive extends DeployableTarget<\n ERC20PeggedIncentivePayload,\n typeof erc20PeggedIncentiveAbi\n> {\n public override readonly abi = erc20PeggedIncentiveAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n 31337: import.meta.env.VITE_ERC20_INCENTIVE_BASE,\n ...(ERC20IncentiveBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.INCENTIVE;\n\n /**\n * The owner of the incentive\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async owner(params?: ReadParams) {\n return await readErc20PeggedIncentiveOwner(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Calculates the current reward based on the time since the last claim. The reward is calculated based on the time since the last claim, the available budget, and the reward parameters. It increases linearly over time in the absence of claims, with each hour adding `rewardBoost` to the current reward, up to the available budget. For example, if there is one claim in the first hour, then no claims for three hours, the claimable reward would be `initialReward - rewardDecay + (rewardBoost * 3)`\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - The current reward\n */\n public async currentReward(params?: ReadParams) {\n return await readErc20PeggedIncentiveCurrentReward(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The number of claims that have been made\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async claims(params?: ReadParams) {\n return await readErc20PeggedIncentiveClaims(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The total amount of rewards claimed\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async totalClaimed(params?: ReadParams) {\n return await readErc20PeggedIncentiveTotalClaimed(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * A mapping of address to claim status\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>}\n */\n public async claimed(address: Address, params?: ReadParams) {\n return await readErc20PeggedIncentiveClaimed(this._config, {\n address: this.assertValidAddress(),\n args: [address],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The address of the ERC20-like token\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async asset(params?: ReadParams) {\n return await readErc20PeggedIncentiveAsset(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The address of the pegged ERC20-like token\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async peg(params?: ReadParams) {\n return await readErc20PeggedIncentivePeg(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The reward amount issued for each claim\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async reward(params?: ReadParams) {\n return await readErc20PeggedIncentiveReward(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The limit (max possible rewards payout in reward token)\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async limit(params?: ReadParams) {\n return await readErc20PeggedIncentiveLimit(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Claim the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - Returns true if successfully claimed\n */\n protected async claim(payload: ClaimPayload, params?: WriteParams) {\n return await this.awaitResult(this.claimRaw(payload, params));\n }\n\n /**\n * Claim the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - Returns true if successfully claimed\n */\n protected async claimRaw(payload: ClaimPayload, params?: WriteParams) {\n const { request, result } = await simulateErc20PeggedIncentiveClaim(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeErc20PeggedIncentiveClaim(this._config, request);\n return { hash, result };\n }\n\n /**\n * Clawback assets from the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the assets were successfully clawbacked\n */\n public async clawback(payload: ClaimPayload, params?: WriteParams) {\n return await this.awaitResult(this.clawbackRaw(payload, params));\n }\n\n /**\n * Clawback assets from the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the assets were successfully clawbacked\n */\n public async clawbackRaw(payload: ClaimPayload, params?: WriteParams) {\n const { request, result } = await simulateErc20PeggedIncentiveClawback(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeErc20PeggedIncentiveClawback(this._config, request);\n return { hash, result };\n }\n\n /**\n * Check if an incentive is claimable.\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} = True if the incentive is claimable based on the data payload\n */\n public async isClaimable(payload: ClaimPayload, params?: ReadParams) {\n return await readErc20PeggedIncentiveIsClaimable(this._config, {\n address: this.assertValidAddress(),\n args: [payload.target, payload.data],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * read the peg token for the incentive.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>} = The address of the token the reward is pegged to\n */\n public async getPeg(params?: ReadParams) {\n return await readErc20PeggedIncentiveGetPeg(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get the maximum amount that can be claimed by this incentive. Useful when used in conjunction with `BoostCore.calculateProtocolFee`\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} = Return a bigint representing that maximum amount that can be distributed by this incentive.\n */\n public async getTotalBudget(params?: ReadParams) {\n return await this.limit(params);\n }\n\n /**\n * Check if any claims remain by comparing the incentive's total claims against its limit. Does not take requesting user's elligibility into account.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if total claims is less than limit\n */\n public async canBeClaimed(params?: ReadParams) {\n return (await this.getRemainingClaimPotential(params)) > 0n;\n }\n\n /**\n * Check how many claims remain by comparing the incentive's total claims against its limit. Does not take requesting user's elligibility into account.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - True if total claims is less than limit\n */\n public async getRemainingClaimPotential(params?: ReadParams) {\n const [claims, limit] = await Promise.all([\n this.claims(params),\n this.limit(params),\n ]);\n return limit - claims;\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?ERC20PeggedIncentivePayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: ERC20PeggedIncentivePayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: erc20PeggedIncentiveAbi,\n bytecode: bytecode as Hex,\n args: [prepareERC20PeggedIncentivePayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n\n /**\n * Encodes an amount to clawback from the incentive\n *\n * @public\n * @param {bigint} amount - How much of the asset to clawback\n * @returns {Hex} - Returns an encoded uint256\n */\n public buildClawbackData(amount: bigint) {\n return encodeAbiParameters([{ type: 'uint256' }], [amount]);\n }\n\n /**\n * Builds the claim data for the ERC20PeggedIncentive.\n *\n * @public\n * @param {bigint} rewardAmount\n * @returns {Hash} Returns the encoded claim data\n * @description This function returns the encoded claim data for the ERC20PeggedIncentive.\n */\n public buildClaimData(rewardAmount: bigint) {\n return encodeAbiParameters(\n [{ type: 'uint256', name: 'rewardAmount' }],\n [rewardAmount],\n );\n }\n}\n\n/**\n * Given a {@link ERC20PeggedIncentivePayload}, properly encode a `ERC20PeggedIncentive.InitPayload` for use with {@link ERC20PeggedIncentive} initialization.\n *\n * @param {ERC20PeggedIncentivePayload} param0\n * @param {Address} param0.asset - The address of the incentivized asset.\n * @param {Address} param0.peg - The peg to normalize to.\n * @param {bigint} param0.reward - The amount of the asset to distribute.\n * @param {bigint} param0.limit - How many times can this incentive be claimed.\n * @param {Address} [param0.manager=zeroAddress] - The entity that can manage the incentive.\n * @returns {Hex}\n */\nexport function prepareERC20PeggedIncentivePayload({\n asset,\n peg,\n reward,\n limit,\n manager = zeroAddress,\n}: ERC20PeggedIncentivePayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'asset' },\n { type: 'address', name: 'peg' },\n { type: 'uint256', name: 'reward' },\n { type: 'uint256', name: 'limit' },\n { type: 'address', name: 'manager' },\n ],\n [asset, peg, reward, limit, manager],\n );\n}\n","import { aIncentiveAbi } from '@boostxyz/evm';\nimport {\n AAllowListIncentive,\n ACGDAIncentive,\n AERC20Incentive,\n AERC20PeggedIncentive,\n AERC20VariableCriteriaIncentive,\n AERC20VariableIncentive,\n // AERC20VariableCriteriaIncentive\n APointsIncentive,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport type { Address, Hex } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport type { ReadParams } from '../utils';\nimport { AllowListIncentive } from './AllowListIncentive';\nimport { CGDAIncentive } from './CGDAIncentive';\nimport { ERC20Incentive } from './ERC20Incentive';\nimport { ERC20PeggedIncentive } from './ERC20PeggedIncentive';\nimport { ERC20VariableCriteriaIncentive } from './ERC20VariableCriteriaIncentive';\nimport { ERC20VariableIncentive } from './ERC20VariableIncentive';\n// import { ERC1155Incentive } from './ERC1155Incentive';\nimport { PointsIncentive } from './PointsIncentive';\n\nexport {\n AllowListIncentive,\n CGDAIncentive,\n // ERC1155Incentive,\n ERC20Incentive,\n ERC20PeggedIncentive,\n PointsIncentive,\n ERC20VariableIncentive,\n ERC20VariableCriteriaIncentive,\n};\n\n/**\n * A union type representing all valid protocol Incentive implementations\n *\n * @export\n * @typedef {Incentive}\n */\nexport type Incentive =\n | AllowListIncentive\n | CGDAIncentive\n | ERC20Incentive\n // | ERC1155Incentive\n | ERC20PeggedIncentive\n | PointsIncentive\n | ERC20VariableIncentive\n | ERC20VariableCriteriaIncentive;\n\n/**\n * A map of Incentive component interfaces to their constructors.\n *\n * @type {{ \"0xc5b24b8e\": typeof PointsIncentive; \"0x8c901437\": typeof ERC20Incentive; \"0x4414fbb4\": typeof ERC20PeggedIncentive; \"0x56586338\" typeof AllowListIncentive; \"0xa39e44d9\": typeof CGDAIncentive; \"0xa8e4af1e\": typeof ERC20VariableIncentive; \"0x90318111\": typeof ERC20VariableCriteriaIncentive }}\n */\nexport const IncentiveByComponentInterface = {\n [APointsIncentive as Hex]: PointsIncentive,\n [AERC20Incentive as Hex]: ERC20Incentive,\n [AERC20VariableIncentive as Hex]: ERC20VariableIncentive,\n [AAllowListIncentive]: AllowListIncentive,\n // [AERC1155Incentive as Hex]: ERC1155Incentive,\n [ACGDAIncentive as Hex]: CGDAIncentive,\n [AERC20VariableIncentive as Hex]: ERC20VariableIncentive,\n [AERC20VariableCriteriaIncentive as Hex]: ERC20VariableCriteriaIncentive,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Incentive}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function incentiveFromAddress(\n options: DeployableOptions,\n address: Address,\n params?: ReadParams,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aIncentiveAbi,\n functionName: 'getComponentInterface',\n address,\n ...params,\n })) as keyof typeof IncentiveByComponentInterface;\n const Ctor = IncentiveByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(IncentiveByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address);\n}\n"],"names":["_ERC20PeggedIncentive","DeployableTarget","erc20PeggedIncentiveAbi","params","readErc20PeggedIncentiveOwner","readErc20PeggedIncentiveCurrentReward","readErc20PeggedIncentiveClaims","readErc20PeggedIncentiveTotalClaimed","address","readErc20PeggedIncentiveClaimed","readErc20PeggedIncentiveAsset","readErc20PeggedIncentivePeg","readErc20PeggedIncentiveReward","readErc20PeggedIncentiveLimit","payload","request","result","simulateErc20PeggedIncentiveClaim","prepareClaimPayload","writeErc20PeggedIncentiveClaim","simulateErc20PeggedIncentiveClawback","writeErc20PeggedIncentiveClawback","readErc20PeggedIncentiveIsClaimable","readErc20PeggedIncentiveGetPeg","claims","limit","_payload","_options","options","bytecode","prepareERC20PeggedIncentivePayload","amount","encodeAbiParameters","rewardAmount","ERC20IncentiveBases","RegistryType","ERC20PeggedIncentive","asset","peg","reward","manager","zeroAddress","IncentiveByComponentInterface","APointsIncentive","PointsIncentive","AERC20Incentive","ERC20Incentive","AERC20VariableIncentive","ERC20VariableIncentive","AAllowListIncentive","AllowListIncentive","ACGDAIncentive","CGDAIncentive","AERC20VariableCriteriaIncentive","ERC20VariableCriteriaIncentive","incentiveFromAddress","interfaceId","readContract","aIncentiveAbi","Ctor","InvalidComponentInterfaceError"],"mappings":"i7pBA2GaA,EAAN,MAAMA,UAA6BC,EAAAA,gBAGxC,CAHK,aAAA,CAAA,MAAA,GAAA,SAAA,EAIL,KAAyB,IAAMC,GAAA,CA6B/B,MAAa,MAAMC,EAAqB,CAC/B,OAAA,MAAMC,EAAAA,GAA8B,KAAK,QAAS,CACvD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAID,CAAA,CACL,CACH,CAUA,MAAa,cAAcA,EAAqB,CACvC,OAAA,MAAME,EAAAA,GAAsC,KAAK,QAAS,CAC/D,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAIF,CAAA,CACL,CACH,CAUA,MAAa,OAAOA,EAAqB,CAChC,OAAA,MAAMG,EAAAA,GAA+B,KAAK,QAAS,CACxD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAIH,CAAA,CACL,CACH,CAUA,MAAa,aAAaA,EAAqB,CACtC,OAAA,MAAMI,EAAAA,GAAqC,KAAK,QAAS,CAC9D,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAIJ,CAAA,CACL,CACH,CAWA,MAAa,QAAQK,EAAkBL,EAAqB,CACnD,OAAA,MAAMM,EAAAA,GAAgC,KAAK,QAAS,CACzD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACD,CAAO,EAEd,GAAIL,CAAA,CACL,CACH,CAUA,MAAa,MAAMA,EAAqB,CAC/B,OAAA,MAAMO,EAAAA,GAA8B,KAAK,QAAS,CACvD,QAAS,KAAK,mBAAmB,EAEjC,GAAIP,CAAA,CACL,CACH,CAUA,MAAa,IAAIA,EAAqB,CAC7B,OAAA,MAAMQ,EAAAA,GAA4B,KAAK,QAAS,CACrD,QAAS,KAAK,mBAAmB,EAEjC,GAAIR,CAAA,CACL,CACH,CAUA,MAAa,OAAOA,EAAqB,CAChC,OAAA,MAAMS,EAAAA,GAA+B,KAAK,QAAS,CACxD,QAAS,KAAK,mBAAmB,EAEjC,GAAIT,CAAA,CACL,CACH,CAUA,MAAa,MAAMA,EAAqB,CAC/B,OAAA,MAAMU,EAAAA,GAA8B,KAAK,QAAS,CACvD,QAAS,KAAK,mBAAmB,EAEjC,GAAIV,CAAA,CACL,CACH,CAWA,MAAgB,MAAMW,EAAuBX,EAAsB,CACjE,OAAO,MAAM,KAAK,YAAY,KAAK,SAASW,EAASX,CAAM,CAAC,CAC9D,CAWA,MAAgB,SAASW,EAAuBX,EAAsB,CACpE,KAAM,CAAE,QAAAY,EAAS,OAAAC,CAAO,EAAI,MAAMC,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACC,sBAAoBJ,CAAO,CAAC,EACnC,GAAG,KAAK,wBAAwB,EAEhC,GAAIX,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMgB,EAA+B,GAAA,KAAK,QAASJ,CAAO,EACxD,OAAAC,EACjB,CAWA,MAAa,SAASF,EAAuBX,EAAsB,CACjE,OAAO,MAAM,KAAK,YAAY,KAAK,YAAYW,EAASX,CAAM,CAAC,CACjE,CAWA,MAAa,YAAYW,EAAuBX,EAAsB,CACpE,KAAM,CAAE,QAAAY,EAAS,OAAAC,CAAO,EAAI,MAAMI,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACF,sBAAoBJ,CAAO,CAAC,EACnC,GAAG,KAAK,wBAAwB,EAEhC,GAAIX,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMkB,EAAkC,GAAA,KAAK,QAASN,CAAO,EAC3D,OAAAC,EACjB,CAWA,MAAa,YAAYF,EAAuBX,EAAqB,CAC5D,OAAA,MAAMmB,EAAAA,GAAoC,KAAK,QAAS,CAC7D,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACR,EAAQ,OAAQA,EAAQ,IAAI,EAEnC,GAAIX,CAAA,CACL,CACH,CAUA,MAAa,OAAOA,EAAqB,CAChC,OAAA,MAAMoB,EAAAA,GAA+B,KAAK,QAAS,CACxD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAIpB,CAAA,CACL,CACH,CAUA,MAAa,eAAeA,EAAqB,CACxC,OAAA,MAAM,KAAK,MAAMA,CAAM,CAChC,CAUA,MAAa,aAAaA,EAAqB,CAC7C,OAAQ,MAAM,KAAK,2BAA2BA,CAAM,EAAK,EAC3D,CAUA,MAAa,2BAA2BA,EAAqB,CAC3D,KAAM,CAACqB,EAAQC,CAAK,EAAI,MAAM,QAAQ,IAAI,CACxC,KAAK,OAAOtB,CAAM,EAClB,KAAK,MAAMA,CAAM,CAAA,CAClB,EACD,OAAOsB,EAAQD,CACjB,CAUgB,gBACdE,EACAC,EACyB,CACzB,KAAM,CAACb,EAASc,CAAO,EAAI,KAAK,yBAC9BF,EACAC,CAAA,EAEK,MAAA,CACL,IAAKzB,EAAA,EACL,SAAA2B,EACA,KAAM,CAACC,EAAmChB,CAAO,CAAC,EAClD,GAAG,KAAK,wBAAwBc,EAAQ,OAAO,CAAA,CAEnD,CASO,kBAAkBG,EAAgB,CAChC,OAAAC,EAAAA,oBAAoB,CAAC,CAAE,KAAM,UAAW,EAAG,CAACD,CAAM,CAAC,CAC5D,CAUO,eAAeE,EAAsB,CACnC,OAAAD,EAAA,oBACL,CAAC,CAAE,KAAM,UAAW,KAAM,eAAgB,EAC1C,CAACC,CAAY,CAAA,CAEjB,CACF,EAzWEjC,EAAuB,MAAiC,CACtD,MAAO,OACP,GAAIkC,EAAA,cAAA,EASNlC,EAAuB,aAA6BmC,EAAa,aAAA,UAvB5D,IAAMC,EAANpC,EAkYA,SAAS8B,EAAmC,CACjD,MAAAO,EACA,IAAAC,EACA,OAAAC,EACA,MAAAd,EACA,QAAAe,EAAUC,EAAA,WACZ,EAAgC,CACvB,OAAAT,EAAA,oBACL,CACE,CAAE,KAAM,UAAW,KAAM,OAAQ,EACjC,CAAE,KAAM,UAAW,KAAM,KAAM,EAC/B,CAAE,KAAM,UAAW,KAAM,QAAS,EAClC,CAAE,KAAM,UAAW,KAAM,OAAQ,EACjC,CAAE,KAAM,UAAW,KAAM,SAAU,CACrC,EACA,CAACK,EAAOC,EAAKC,EAAQd,EAAOe,CAAO,CAAA,CAEvC,CCrcO,MAAME,EAAgC,CAC3C,CAACC,EAAuB,gBAAA,EAAGC,EAAA,gBAC3B,CAACC,EAAsB,eAAA,EAAGC,EAAA,eAC1B,CAACC,EAA8B,uBAAA,EAAGC,EAAA,uBAClC,CAACC,EAAmB,mBAAA,EAAGC,EAAA,mBAEvB,CAACC,EAAqB,cAAA,EAAGC,EAAA,cACzB,CAACL,EAA8B,uBAAA,EAAGC,EAAA,uBAClC,CAACK,EAAsC,+BAAA,EAAGC,EAAA,8BAC5C,EAYsB,eAAAC,EACpB3B,EACApB,EACAL,EACA,CACA,MAAMqD,EAAe,MAAMC,eAAa7B,EAAQ,OAAQ,CACtD,IAAK8B,EAAA,EACL,aAAc,wBACd,QAAAlD,EACA,GAAGL,CAAA,CACJ,EACKwD,EAAOjB,EAA8Bc,CAAW,EACtD,GAAI,CAACG,EACH,MAAM,IAAIC,EAAA,+BACR,OAAO,KAAKlB,CAA6B,EACzCc,CAAA,EAGG,OAAA,IAAIG,EAAK/B,EAASpB,CAAO,CAClC"}
1
+ {"version":3,"file":"Incentive-axLU7ndr.cjs","sources":["../src/Incentives/ERC20PeggedIncentive.ts","../src/Incentives/Incentive.ts"],"sourcesContent":["import {\n erc20PeggedIncentiveAbi,\n readErc20PeggedIncentiveAsset,\n readErc20PeggedIncentiveClaimed,\n readErc20PeggedIncentiveClaims,\n readErc20PeggedIncentiveCurrentReward,\n readErc20PeggedIncentiveGetPeg,\n readErc20PeggedIncentiveIsClaimable,\n readErc20PeggedIncentiveLimit,\n readErc20PeggedIncentiveOwner,\n readErc20PeggedIncentivePeg,\n readErc20PeggedIncentiveReward,\n readErc20PeggedIncentiveTotalClaimed,\n simulateErc20PeggedIncentiveClaim,\n simulateErc20PeggedIncentiveClawback,\n writeErc20PeggedIncentiveClaim,\n writeErc20PeggedIncentiveClawback,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/incentives/ERC20PeggedIncentive.sol/ERC20PeggedIncentive.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n zeroAddress,\n zeroHash,\n} from 'viem';\nimport { ERC20Incentive as ERC20IncentiveBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport { type ClaimPayload, prepareClaimPayload } from '../claiming';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { erc20PeggedIncentiveAbi };\n\n/**\n * The object representation of a `ERC20PeggedIncentive.InitPayload`\n *\n * @export\n * @interface ERC20PeggedIncentivePayload\n * @typedef {ERC20PeggedIncentivePayload}\n */\nexport interface ERC20PeggedIncentivePayload {\n /**\n * The address of the incentivized asset.\n *\n * @type {Address}\n */\n asset: Address;\n /**\n * The peg to normalize to.\n *\n * @type {Address}\n */\n peg: Address;\n /**\n * The amount of the asset to distribute.\n *\n * @type {bigint}\n */\n reward: bigint;\n /**\n * Total spend for the incentive.\n *\n * @type {bigint}\n */\n limit: bigint;\n /**\n * (Optional) The address of the entity that can managed the incentive.\n *\n * @type {Address}\n * @optional\n */\n manager?: Address;\n}\n\n/**\n * A generic `viem.Log` event with support for `ERC20PeggedIncentive` event types.\n *\n * @export\n * @typedef {ERC20PeggedIncentiveLog}\n * @template {ContractEventName<typeof erc20PeggedIncentiveAbi>} [event=ContractEventName<\n * typeof erc20PeggedIncentiveAbi\n * >]\n */\nexport type ERC20PeggedIncentiveLog<\n event extends ContractEventName<\n typeof erc20PeggedIncentiveAbi\n > = ContractEventName<typeof erc20PeggedIncentiveAbi>,\n> = GenericLog<typeof erc20PeggedIncentiveAbi, event>;\n\n/**\n * A simple ERC20 incentive implementation that allows claiming of tokens\n *\n * @export\n * @class ERC20PeggedIncentive\n * @typedef {ERC20PeggedIncentive}\n * @extends {DeployableTarget<ERC20PeggedIncentivePayload>}\n */\nexport class ERC20PeggedIncentive extends DeployableTarget<\n ERC20PeggedIncentivePayload,\n typeof erc20PeggedIncentiveAbi\n> {\n public override readonly abi = erc20PeggedIncentiveAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n 31337: import.meta.env.VITE_ERC20_INCENTIVE_BASE,\n ...(ERC20IncentiveBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.INCENTIVE;\n\n /**\n * The owner of the incentive\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async owner(params?: ReadParams) {\n return await readErc20PeggedIncentiveOwner(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Calculates the current reward based on the time since the last claim. The reward is calculated based on the time since the last claim, the available budget, and the reward parameters. It increases linearly over time in the absence of claims, with each hour adding `rewardBoost` to the current reward, up to the available budget. For example, if there is one claim in the first hour, then no claims for three hours, the claimable reward would be `initialReward - rewardDecay + (rewardBoost * 3)`\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - The current reward\n */\n public async currentReward(params?: ReadParams) {\n return await readErc20PeggedIncentiveCurrentReward(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The number of claims that have been made\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async claims(params?: ReadParams) {\n return await readErc20PeggedIncentiveClaims(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The total amount of rewards claimed\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async totalClaimed(params?: ReadParams) {\n return await readErc20PeggedIncentiveTotalClaimed(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * A mapping of address to claim status\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>}\n */\n public async claimed(address: Address, params?: ReadParams) {\n return await readErc20PeggedIncentiveClaimed(this._config, {\n address: this.assertValidAddress(),\n args: [address],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The address of the ERC20-like token\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async asset(params?: ReadParams) {\n return await readErc20PeggedIncentiveAsset(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The address of the pegged ERC20-like token\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async peg(params?: ReadParams) {\n return await readErc20PeggedIncentivePeg(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The reward amount issued for each claim\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async reward(params?: ReadParams) {\n return await readErc20PeggedIncentiveReward(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The limit (max possible rewards payout in reward token)\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async limit(params?: ReadParams) {\n return await readErc20PeggedIncentiveLimit(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Claim the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - Returns true if successfully claimed\n */\n protected async claim(payload: ClaimPayload, params?: WriteParams) {\n return await this.awaitResult(this.claimRaw(payload, params));\n }\n\n /**\n * Claim the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - Returns true if successfully claimed\n */\n protected async claimRaw(payload: ClaimPayload, params?: WriteParams) {\n const { request, result } = await simulateErc20PeggedIncentiveClaim(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeErc20PeggedIncentiveClaim(this._config, request);\n return { hash, result };\n }\n\n /**\n * Clawback assets from the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the assets were successfully clawbacked\n */\n public async clawback(payload: ClaimPayload, params?: WriteParams) {\n return await this.awaitResult(this.clawbackRaw(payload, params));\n }\n\n /**\n * Clawback assets from the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the assets were successfully clawbacked\n */\n public async clawbackRaw(payload: ClaimPayload, params?: WriteParams) {\n const { request, result } = await simulateErc20PeggedIncentiveClawback(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeErc20PeggedIncentiveClawback(this._config, request);\n return { hash, result };\n }\n\n /**\n * Check if an incentive is claimable.\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} = True if the incentive is claimable based on the data payload\n */\n public async isClaimable(payload: ClaimPayload, params?: ReadParams) {\n return await readErc20PeggedIncentiveIsClaimable(this._config, {\n address: this.assertValidAddress(),\n args: [payload.target, payload.data],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * read the peg token for the incentive.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>} = The address of the token the reward is pegged to\n */\n public async getPeg(params?: ReadParams) {\n return await readErc20PeggedIncentiveGetPeg(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get the maximum amount that can be claimed by this incentive. Useful when used in conjunction with `BoostCore.calculateProtocolFee`\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} = Return a bigint representing that maximum amount that can be distributed by this incentive.\n */\n public async getTotalBudget(params?: ReadParams) {\n return await this.limit(params);\n }\n\n /**\n * Check if any claims remain by comparing the incentive's total claims against its limit. Does not take requesting user's elligibility into account.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if total claims is less than limit\n */\n public async canBeClaimed(params?: ReadParams) {\n return (await this.getRemainingClaimPotential(params)) > 0n;\n }\n\n /**\n * Check how many claims remain by comparing the incentive's total claims against its limit. Does not take requesting user's elligibility into account.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - True if total claims is less than limit\n */\n public async getRemainingClaimPotential(params?: ReadParams) {\n const [claims, limit] = await Promise.all([\n this.claims(params),\n this.limit(params),\n ]);\n return limit - claims;\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?ERC20PeggedIncentivePayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: ERC20PeggedIncentivePayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: erc20PeggedIncentiveAbi,\n bytecode: bytecode as Hex,\n args: [prepareERC20PeggedIncentivePayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n\n /**\n * Encodes an amount to clawback from the incentive\n *\n * @public\n * @param {bigint} amount - How much of the asset to clawback\n * @returns {Hex} - Returns an encoded uint256\n */\n public buildClawbackData(amount: bigint) {\n return encodeAbiParameters([{ type: 'uint256' }], [amount]);\n }\n\n /**\n * Builds the claim data for the ERC20PeggedIncentive.\n *\n * @public\n * @param {bigint} rewardAmount\n * @returns {Hash} Returns the encoded claim data\n * @description This function returns the encoded claim data for the ERC20PeggedIncentive.\n */\n public buildClaimData(rewardAmount: bigint) {\n return encodeAbiParameters(\n [{ type: 'uint256', name: 'rewardAmount' }],\n [rewardAmount],\n );\n }\n}\n\n/**\n * Given a {@link ERC20PeggedIncentivePayload}, properly encode a `ERC20PeggedIncentive.InitPayload` for use with {@link ERC20PeggedIncentive} initialization.\n *\n * @param {ERC20PeggedIncentivePayload} param0\n * @param {Address} param0.asset - The address of the incentivized asset.\n * @param {Address} param0.peg - The peg to normalize to.\n * @param {bigint} param0.reward - The amount of the asset to distribute.\n * @param {bigint} param0.limit - How many times can this incentive be claimed.\n * @param {Address} [param0.manager=zeroAddress] - The entity that can manage the incentive.\n * @returns {Hex}\n */\nexport function prepareERC20PeggedIncentivePayload({\n asset,\n peg,\n reward,\n limit,\n manager = zeroAddress,\n}: ERC20PeggedIncentivePayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'asset' },\n { type: 'address', name: 'peg' },\n { type: 'uint256', name: 'reward' },\n { type: 'uint256', name: 'limit' },\n { type: 'address', name: 'manager' },\n ],\n [asset, peg, reward, limit, manager],\n );\n}\n","import { aIncentiveAbi } from '@boostxyz/evm';\nimport {\n AAllowListIncentive,\n ACGDAIncentive,\n AERC20Incentive,\n AERC20PeggedIncentive,\n AERC20VariableCriteriaIncentive,\n AERC20VariableIncentive,\n // AERC20VariableCriteriaIncentive\n APointsIncentive,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport type { Address, Hex } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport type { ReadParams } from '../utils';\nimport { AllowListIncentive } from './AllowListIncentive';\nimport { CGDAIncentive } from './CGDAIncentive';\nimport { ERC20Incentive } from './ERC20Incentive';\nimport { ERC20PeggedIncentive } from './ERC20PeggedIncentive';\nimport { ERC20VariableCriteriaIncentive } from './ERC20VariableCriteriaIncentive';\nimport { ERC20VariableIncentive } from './ERC20VariableIncentive';\n// import { ERC1155Incentive } from './ERC1155Incentive';\nimport { PointsIncentive } from './PointsIncentive';\n\nexport {\n AllowListIncentive,\n CGDAIncentive,\n // ERC1155Incentive,\n ERC20Incentive,\n ERC20PeggedIncentive,\n PointsIncentive,\n ERC20VariableIncentive,\n ERC20VariableCriteriaIncentive,\n};\n\n/**\n * A union type representing all valid protocol Incentive implementations\n *\n * @export\n * @typedef {Incentive}\n */\nexport type Incentive =\n | AllowListIncentive\n | CGDAIncentive\n | ERC20Incentive\n // | ERC1155Incentive\n | ERC20PeggedIncentive\n | PointsIncentive\n | ERC20VariableIncentive\n | ERC20VariableCriteriaIncentive;\n\n/**\n * A map of Incentive component interfaces to their constructors.\n *\n * @type {{ \"0xc5b24b8e\": typeof PointsIncentive; \"0x8c901437\": typeof ERC20Incentive; \"0x4414fbb4\": typeof ERC20PeggedIncentive; \"0x56586338\" typeof AllowListIncentive; \"0xa39e44d9\": typeof CGDAIncentive; \"0xa8e4af1e\": typeof ERC20VariableIncentive; \"0x90318111\": typeof ERC20VariableCriteriaIncentive }}\n */\nexport const IncentiveByComponentInterface = {\n [APointsIncentive as Hex]: PointsIncentive,\n [AERC20Incentive as Hex]: ERC20Incentive,\n [AERC20VariableIncentive as Hex]: ERC20VariableIncentive,\n [AAllowListIncentive]: AllowListIncentive,\n // [AERC1155Incentive as Hex]: ERC1155Incentive,\n [ACGDAIncentive as Hex]: CGDAIncentive,\n [AERC20VariableIncentive as Hex]: ERC20VariableIncentive,\n [AERC20VariableCriteriaIncentive as Hex]: ERC20VariableCriteriaIncentive,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Incentive}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function incentiveFromAddress(\n options: DeployableOptions,\n address: Address,\n params?: ReadParams,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aIncentiveAbi,\n functionName: 'getComponentInterface',\n address,\n ...params,\n })) as keyof typeof IncentiveByComponentInterface;\n const Ctor = IncentiveByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(IncentiveByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address);\n}\n"],"names":["_ERC20PeggedIncentive","DeployableTarget","erc20PeggedIncentiveAbi","params","readErc20PeggedIncentiveOwner","readErc20PeggedIncentiveCurrentReward","readErc20PeggedIncentiveClaims","readErc20PeggedIncentiveTotalClaimed","address","readErc20PeggedIncentiveClaimed","readErc20PeggedIncentiveAsset","readErc20PeggedIncentivePeg","readErc20PeggedIncentiveReward","readErc20PeggedIncentiveLimit","payload","request","result","simulateErc20PeggedIncentiveClaim","prepareClaimPayload","writeErc20PeggedIncentiveClaim","simulateErc20PeggedIncentiveClawback","writeErc20PeggedIncentiveClawback","readErc20PeggedIncentiveIsClaimable","readErc20PeggedIncentiveGetPeg","claims","limit","_payload","_options","options","bytecode","prepareERC20PeggedIncentivePayload","amount","encodeAbiParameters","rewardAmount","ERC20IncentiveBases","RegistryType","ERC20PeggedIncentive","asset","peg","reward","manager","zeroAddress","IncentiveByComponentInterface","APointsIncentive","PointsIncentive","AERC20Incentive","ERC20Incentive","AERC20VariableIncentive","ERC20VariableIncentive","AAllowListIncentive","AllowListIncentive","ACGDAIncentive","CGDAIncentive","AERC20VariableCriteriaIncentive","ERC20VariableCriteriaIncentive","incentiveFromAddress","interfaceId","readContract","aIncentiveAbi","Ctor","InvalidComponentInterfaceError"],"mappings":"i7pBA2GaA,EAAN,MAAMA,UAA6BC,EAAAA,gBAGxC,CAHK,aAAA,CAAA,MAAA,GAAA,SAAA,EAIL,KAAyB,IAAMC,GAAA,CA6B/B,MAAa,MAAMC,EAAqB,CAC/B,OAAA,MAAMC,EAAAA,GAA8B,KAAK,QAAS,CACvD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAID,CAAA,CACL,CACH,CAUA,MAAa,cAAcA,EAAqB,CACvC,OAAA,MAAME,EAAAA,GAAsC,KAAK,QAAS,CAC/D,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAIF,CAAA,CACL,CACH,CAUA,MAAa,OAAOA,EAAqB,CAChC,OAAA,MAAMG,EAAAA,GAA+B,KAAK,QAAS,CACxD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAIH,CAAA,CACL,CACH,CAUA,MAAa,aAAaA,EAAqB,CACtC,OAAA,MAAMI,EAAAA,GAAqC,KAAK,QAAS,CAC9D,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAIJ,CAAA,CACL,CACH,CAWA,MAAa,QAAQK,EAAkBL,EAAqB,CACnD,OAAA,MAAMM,EAAAA,GAAgC,KAAK,QAAS,CACzD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACD,CAAO,EAEd,GAAIL,CAAA,CACL,CACH,CAUA,MAAa,MAAMA,EAAqB,CAC/B,OAAA,MAAMO,EAAAA,GAA8B,KAAK,QAAS,CACvD,QAAS,KAAK,mBAAmB,EAEjC,GAAIP,CAAA,CACL,CACH,CAUA,MAAa,IAAIA,EAAqB,CAC7B,OAAA,MAAMQ,EAAAA,GAA4B,KAAK,QAAS,CACrD,QAAS,KAAK,mBAAmB,EAEjC,GAAIR,CAAA,CACL,CACH,CAUA,MAAa,OAAOA,EAAqB,CAChC,OAAA,MAAMS,EAAAA,GAA+B,KAAK,QAAS,CACxD,QAAS,KAAK,mBAAmB,EAEjC,GAAIT,CAAA,CACL,CACH,CAUA,MAAa,MAAMA,EAAqB,CAC/B,OAAA,MAAMU,EAAAA,GAA8B,KAAK,QAAS,CACvD,QAAS,KAAK,mBAAmB,EAEjC,GAAIV,CAAA,CACL,CACH,CAWA,MAAgB,MAAMW,EAAuBX,EAAsB,CACjE,OAAO,MAAM,KAAK,YAAY,KAAK,SAASW,EAASX,CAAM,CAAC,CAC9D,CAWA,MAAgB,SAASW,EAAuBX,EAAsB,CACpE,KAAM,CAAE,QAAAY,EAAS,OAAAC,CAAO,EAAI,MAAMC,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACC,sBAAoBJ,CAAO,CAAC,EACnC,GAAG,KAAK,wBAAwB,EAEhC,GAAIX,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMgB,EAA+B,GAAA,KAAK,QAASJ,CAAO,EACxD,OAAAC,EACjB,CAWA,MAAa,SAASF,EAAuBX,EAAsB,CACjE,OAAO,MAAM,KAAK,YAAY,KAAK,YAAYW,EAASX,CAAM,CAAC,CACjE,CAWA,MAAa,YAAYW,EAAuBX,EAAsB,CACpE,KAAM,CAAE,QAAAY,EAAS,OAAAC,CAAO,EAAI,MAAMI,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACF,sBAAoBJ,CAAO,CAAC,EACnC,GAAG,KAAK,wBAAwB,EAEhC,GAAIX,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMkB,EAAkC,GAAA,KAAK,QAASN,CAAO,EAC3D,OAAAC,EACjB,CAWA,MAAa,YAAYF,EAAuBX,EAAqB,CAC5D,OAAA,MAAMmB,EAAAA,GAAoC,KAAK,QAAS,CAC7D,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACR,EAAQ,OAAQA,EAAQ,IAAI,EAEnC,GAAIX,CAAA,CACL,CACH,CAUA,MAAa,OAAOA,EAAqB,CAChC,OAAA,MAAMoB,EAAAA,GAA+B,KAAK,QAAS,CACxD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAIpB,CAAA,CACL,CACH,CAUA,MAAa,eAAeA,EAAqB,CACxC,OAAA,MAAM,KAAK,MAAMA,CAAM,CAChC,CAUA,MAAa,aAAaA,EAAqB,CAC7C,OAAQ,MAAM,KAAK,2BAA2BA,CAAM,EAAK,EAC3D,CAUA,MAAa,2BAA2BA,EAAqB,CAC3D,KAAM,CAACqB,EAAQC,CAAK,EAAI,MAAM,QAAQ,IAAI,CACxC,KAAK,OAAOtB,CAAM,EAClB,KAAK,MAAMA,CAAM,CAAA,CAClB,EACD,OAAOsB,EAAQD,CACjB,CAUgB,gBACdE,EACAC,EACyB,CACzB,KAAM,CAACb,EAASc,CAAO,EAAI,KAAK,yBAC9BF,EACAC,CAAA,EAEK,MAAA,CACL,IAAKzB,EAAA,EACL,SAAA2B,EACA,KAAM,CAACC,EAAmChB,CAAO,CAAC,EAClD,GAAG,KAAK,wBAAwBc,EAAQ,OAAO,CAAA,CAEnD,CASO,kBAAkBG,EAAgB,CAChC,OAAAC,EAAAA,oBAAoB,CAAC,CAAE,KAAM,UAAW,EAAG,CAACD,CAAM,CAAC,CAC5D,CAUO,eAAeE,EAAsB,CACnC,OAAAD,EAAA,oBACL,CAAC,CAAE,KAAM,UAAW,KAAM,eAAgB,EAC1C,CAACC,CAAY,CAAA,CAEjB,CACF,EAzWEjC,EAAuB,MAAiC,CACtD,MAAO,OACP,GAAIkC,EAAA,cAAA,EASNlC,EAAuB,aAA6BmC,EAAa,aAAA,UAvB5D,IAAMC,EAANpC,EAkYA,SAAS8B,EAAmC,CACjD,MAAAO,EACA,IAAAC,EACA,OAAAC,EACA,MAAAd,EACA,QAAAe,EAAUC,EAAA,WACZ,EAAgC,CACvB,OAAAT,EAAA,oBACL,CACE,CAAE,KAAM,UAAW,KAAM,OAAQ,EACjC,CAAE,KAAM,UAAW,KAAM,KAAM,EAC/B,CAAE,KAAM,UAAW,KAAM,QAAS,EAClC,CAAE,KAAM,UAAW,KAAM,OAAQ,EACjC,CAAE,KAAM,UAAW,KAAM,SAAU,CACrC,EACA,CAACK,EAAOC,EAAKC,EAAQd,EAAOe,CAAO,CAAA,CAEvC,CCrcO,MAAME,EAAgC,CAC3C,CAACC,EAAuB,gBAAA,EAAGC,EAAA,gBAC3B,CAACC,EAAsB,eAAA,EAAGC,EAAA,eAC1B,CAACC,EAA8B,uBAAA,EAAGC,EAAA,uBAClC,CAACC,EAAmB,mBAAA,EAAGC,EAAA,mBAEvB,CAACC,EAAqB,cAAA,EAAGC,EAAA,cACzB,CAACL,EAA8B,uBAAA,EAAGC,EAAA,uBAClC,CAACK,EAAsC,+BAAA,EAAGC,EAAA,8BAC5C,EAYsB,eAAAC,EACpB3B,EACApB,EACAL,EACA,CACA,MAAMqD,EAAe,MAAMC,eAAa7B,EAAQ,OAAQ,CACtD,IAAK8B,EAAA,EACL,aAAc,wBACd,QAAAlD,EACA,GAAGL,CAAA,CACJ,EACKwD,EAAOjB,EAA8Bc,CAAW,EACtD,GAAI,CAACG,EACH,MAAM,IAAIC,EAAA,+BACR,OAAO,KAAKlB,CAA6B,EACzCc,CAAA,EAGG,OAAA,IAAIG,EAAK/B,EAASpB,CAAO,CAClC"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../generated-DAZo6jo9.cjs"),t=require("viem"),n=require("../deployments-C7-jUofW.cjs");require("@wagmi/core");const l=require("../AllowLists/SimpleAllowList.cjs");require("../SimpleDenyList-S6braCCk.cjs");const o=require("../Deployable/DeployableTarget.cjs"),u=require("../claiming.cjs"),h=require("../utils.cjs"),g="0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b61180b806100bd5f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100aa578063c884ef831161006e578063c884ef831461038a578063db09da12146103c6578063dcc59b6f14610402578063f04e283e1461042c578063f2fde38b14610448578063fee81cf41461046457610129565b8063715018a6146102c657806387b9d25c146102d05780638da5cb5b146102fa578063a4d66daf14610324578063bb1757cf1461034e57610129565b806338d52e0f116100f157806338d52e0f146101f1578063439fab911461021b578063474f5a44146102435780634e7165a21461028057806354d1f13d146102bc57610129565b806301ffc9a71461012d57806307621eca14610169578063228cb7331461019357806325692962146101bd57806328d6183b146101c7575b5f80fd5b348015610138575f80fd5b50610153600480360381019061014e9190610ffc565b6104a0565b6040516101609190611041565b60405180910390f35b348015610174575f80fd5b5061017d610519565b60405161018a9190611072565b60405180910390f35b34801561019e575f80fd5b506101a7610521565b6040516101b49190611072565b60405180910390f35b6101c5610526565b005b3480156101d2575f80fd5b506101db610577565b6040516101e8919061109a565b60405180910390f35b3480156101fc575f80fd5b5061020561059e565b60405161021291906110f2565b60405180910390f35b348015610226575f80fd5b50610241600480360381019061023c919061116c565b6105b9565b005b34801561024e575f80fd5b506102696004803603810190610264919061116c565b610699565b6040516102779291906111b7565b60405180910390f35b34801561028b575f80fd5b506102a660048036038101906102a1919061116c565b6106cd565b6040516102b3919061124e565b60405180910390f35b6102c4610724565b005b6102ce61075d565b005b3480156102db575f80fd5b506102e4610770565b6040516102f191906112c9565b60405180910390f35b348015610305575f80fd5b5061030e610795565b60405161031b91906110f2565b60405180910390f35b34801561032f575f80fd5b506103386107bd565b6040516103459190611072565b60405180910390f35b348015610359575f80fd5b50610374600480360381019061036f919061130c565b6107c3565b6040516103819190611041565b60405180910390f35b348015610395575f80fd5b506103b060048036038101906103ab9190611369565b610969565b6040516103bd9190611041565b60405180910390f35b3480156103d1575f80fd5b506103ec60048036038101906103e7919061130c565b610986565b6040516103f99190611041565b60405180910390f35b34801561040d575f80fd5b50610416610a8c565b6040516104239190611072565b60405180910390f35b61044660048036038101906104419190611369565b610a92565b005b610462600480360381019061045d9190611369565b610ad0565b005b34801561046f575f80fd5b5061048a60048036038101906104859190611369565b610af9565b6040516104979190611072565b60405180910390f35b5f7fc2c281ec000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610512575061051182610b12565b5b9050919050565b5f8054905090565b5f5481565b5f61052f610b8b565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7fc2c281ec00000000000000000000000000000000000000000000000000000000905090565b5f73deaddeaddeaddeaddeaddeaddeaddeaddeaddead905090565b5f6105c2610b95565b905080546003825580156105f45760018160011c14303b106105eb5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f838381019061060591906114c2565b905061061033610bbe565b805f015160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060200151600281905550508015610694576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60605f67ffffffffffffffff8111156106e9576106e8611398565b5b6040519080825280601f01601f19166020018201604052801561071b5781602001600182028036833780820191505090505b50905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610765610c94565b61076e5f610ccb565b565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60025481565b5f6107cc610c94565b60025460045f8154809291906107e19061151a565b91905055101580610838575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561086f576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f806108cf86610d91565b9150915060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633abb060483836040518363ffffffff1660e01b815260040161092f9291906116cf565b5f604051808303815f87803b158015610946575f80fd5b505af1158015610958573d5f803e3d5ffd5b505050506001925050509392505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f6002546004541080156109e1575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015610a83575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3f756de856040518263ffffffff1660e01b8152600401610a429190611727565b602060405180830381865afa158015610a5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a81919061177d565b155b90509392505050565b60045481565b610a9a610c94565b63389a75e1600c52805f526020600c208054421115610ac057636f5e88185f526004601cfd5b5f815550610acd81610ccb565b50565b610ad8610c94565b8060601b610aed57637448fbae5f526004601cfd5b610af681610ccb565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b845750610b8382610eb0565b5b9050919050565b5f6202a300905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610bc6610f29565b15610c3e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610c0057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610c91565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610cc9576382b429005f526004601cfd5b565b610cd3610f29565b15610d38577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610d8e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b6060805f600167ffffffffffffffff811115610db057610daf611398565b5b604051908082528060200260200182016040528015610dde5781602001602082028036833780820191505090505b5090505f600167ffffffffffffffff811115610dfd57610dfc611398565b5b604051908082528060200260200182016040528015610e2b5781602001602082028036833780820191505090505b50905084825f81518110610e4257610e416117a8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001815f81518110610e9157610e906117a8565b5b6020026020010190151590811515815250508181935093505050915091565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610f225750610f2182610f2d565b5b9050919050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610fdb81610fa7565b8114610fe5575f80fd5b50565b5f81359050610ff681610fd2565b92915050565b5f6020828403121561101157611010610f9f565b5b5f61101e84828501610fe8565b91505092915050565b5f8115159050919050565b61103b81611027565b82525050565b5f6020820190506110545f830184611032565b92915050565b5f819050919050565b61106c8161105a565b82525050565b5f6020820190506110855f830184611063565b92915050565b61109481610fa7565b82525050565b5f6020820190506110ad5f83018461108b565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6110dc826110b3565b9050919050565b6110ec816110d2565b82525050565b5f6020820190506111055f8301846110e3565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261112c5761112b61110b565b5b8235905067ffffffffffffffff8111156111495761114861110f565b5b60208301915083600182028301111561116557611164611113565b5b9250929050565b5f806020838503121561118257611181610f9f565b5b5f83013567ffffffffffffffff81111561119f5761119e610fa3565b5b6111ab85828601611117565b92509250509250929050565b5f6040820190506111ca5f830185611063565b6111d760208301846110e3565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611220826111de565b61122a81856111e8565b935061123a8185602086016111f8565b61124381611206565b840191505092915050565b5f6020820190508181035f8301526112668184611216565b905092915050565b5f819050919050565b5f61129161128c611287846110b3565b61126e565b6110b3565b9050919050565b5f6112a282611277565b9050919050565b5f6112b382611298565b9050919050565b6112c3816112a9565b82525050565b5f6020820190506112dc5f8301846112ba565b92915050565b6112eb816110d2565b81146112f5575f80fd5b50565b5f81359050611306816112e2565b92915050565b5f805f6040848603121561132357611322610f9f565b5b5f611330868287016112f8565b935050602084013567ffffffffffffffff81111561135157611350610fa3565b5b61135d86828701611117565b92509250509250925092565b5f6020828403121561137e5761137d610f9f565b5b5f61138b848285016112f8565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6113ce82611206565b810181811067ffffffffffffffff821117156113ed576113ec611398565b5b80604052505050565b5f6113ff610f96565b905061140b82826113c5565b919050565b5f61141a826110d2565b9050919050565b61142a81611410565b8114611434575f80fd5b50565b5f8135905061144581611421565b92915050565b6114548161105a565b811461145e575f80fd5b50565b5f8135905061146f8161144b565b92915050565b5f6040828403121561148a57611489611394565b5b61149460406113f6565b90505f6114a384828501611437565b5f8301525060206114b684828501611461565b60208301525092915050565b5f604082840312156114d7576114d6610f9f565b5b5f6114e484828501611475565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6115248261105a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611556576115556114ed565b5b600182019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611593816110d2565b82525050565b5f6115a4838361158a565b60208301905092915050565b5f602082019050919050565b5f6115c682611561565b6115d0818561156b565b93506115db8361157b565b805f5b8381101561160b5781516115f28882611599565b97506115fd836115b0565b9250506001810190506115de565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61164a81611027565b82525050565b5f61165b8383611641565b60208301905092915050565b5f602082019050919050565b5f61167d82611618565b6116878185611622565b935061169283611632565b805f5b838110156116c25781516116a98882611650565b97506116b483611667565b925050600181019050611695565b5085935050505092915050565b5f6040820190508181035f8301526116e781856115bc565b905081810360208301526116fb8184611673565b90509392505050565b50565b5f6117125f836111e8565b915061171d82611704565b5f82019050919050565b5f60408201905061173a5f8301846110e3565b818103602083015261174b81611707565b905092915050565b61175c81611027565b8114611766575f80fd5b50565b5f8151905061177781611753565b92915050565b5f6020828403121561179257611791610f9f565b5b5f61179f84828501611769565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220935f4f4158c09791d7426626cfe654f31510f1ebb6755c8cb47532588b8661bf64736f6c634300081a0033",d=class d extends o.DeployableTarget{constructor(){super(...arguments),this.abi=a.B}async owner(f){return await a.Hf(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return await a.Rf(this._config,{address:this.assertValidAddress(),args:[],...f})}async reward(f){return await a.Vf(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,b){return await a.Mf(this._config,{address:this.assertValidAddress(),args:[f],...b})}async allowList(f){const b=await a.hf(this._config,{address:this.assertValidAddress(),...f});return new l.SimpleAllowList({config:this._config,account:this._account},b)}async limit(f){return await a.Bf(this._config,{address:this.assertValidAddress(),...f})}async claim(f,b){return await this.awaitResult(this.claimRaw(f,b))}async claimRaw(f,b){const{request:e,result:c}=await a.jf(this._config,{address:this.assertValidAddress(),args:[u.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a._f(this._config,e),result:c}}async isClaimable(f,b){return await a.zf(this._config,{address:this.assertValidAddress(),args:[f.target,"0x"],...b})}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[b,e]=await Promise.all([this.claims(f),this.limit(f)]);return e-b}buildParameters(f,b){const[e,c]=this.validateDeploymentConfig(f,b);return{abi:a.B,bytecode:g,args:[i(e)],...this.optionallyAttachAccount(c.account)}}buildClaimData(){return t.zeroHash}};d.bases={31337:void 0,...n.AllowListIncentive},d.registryType=h.RegistryType.INCENTIVE;let s=d;const i=({allowList:r,limit:f})=>t.encodeAbiParameters([{type:"address",name:"allowList"},{type:"uint256",name:"limit"}],[r,f]);exports.allowListIncentiveAbi=a.B;exports.AllowListIncentive=s;exports.prepareAllowListIncentivePayload=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../generated-CNkDfjzI.cjs"),t=require("viem"),n=require("../deployments-CMdsItcq.cjs");require("@wagmi/core");const l=require("../AllowLists/SimpleAllowList.cjs");require("../SimpleDenyList-CgQvS1ek.cjs");const o=require("../Deployable/DeployableTarget.cjs"),u=require("../claiming.cjs"),h=require("../utils.cjs"),g="0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b61180b806100bd5f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100aa578063c884ef831161006e578063c884ef831461038a578063db09da12146103c6578063dcc59b6f14610402578063f04e283e1461042c578063f2fde38b14610448578063fee81cf41461046457610129565b8063715018a6146102c657806387b9d25c146102d05780638da5cb5b146102fa578063a4d66daf14610324578063bb1757cf1461034e57610129565b806338d52e0f116100f157806338d52e0f146101f1578063439fab911461021b578063474f5a44146102435780634e7165a21461028057806354d1f13d146102bc57610129565b806301ffc9a71461012d57806307621eca14610169578063228cb7331461019357806325692962146101bd57806328d6183b146101c7575b5f80fd5b348015610138575f80fd5b50610153600480360381019061014e9190610ffc565b6104a0565b6040516101609190611041565b60405180910390f35b348015610174575f80fd5b5061017d610519565b60405161018a9190611072565b60405180910390f35b34801561019e575f80fd5b506101a7610521565b6040516101b49190611072565b60405180910390f35b6101c5610526565b005b3480156101d2575f80fd5b506101db610577565b6040516101e8919061109a565b60405180910390f35b3480156101fc575f80fd5b5061020561059e565b60405161021291906110f2565b60405180910390f35b348015610226575f80fd5b50610241600480360381019061023c919061116c565b6105b9565b005b34801561024e575f80fd5b506102696004803603810190610264919061116c565b610699565b6040516102779291906111b7565b60405180910390f35b34801561028b575f80fd5b506102a660048036038101906102a1919061116c565b6106cd565b6040516102b3919061124e565b60405180910390f35b6102c4610724565b005b6102ce61075d565b005b3480156102db575f80fd5b506102e4610770565b6040516102f191906112c9565b60405180910390f35b348015610305575f80fd5b5061030e610795565b60405161031b91906110f2565b60405180910390f35b34801561032f575f80fd5b506103386107bd565b6040516103459190611072565b60405180910390f35b348015610359575f80fd5b50610374600480360381019061036f919061130c565b6107c3565b6040516103819190611041565b60405180910390f35b348015610395575f80fd5b506103b060048036038101906103ab9190611369565b610969565b6040516103bd9190611041565b60405180910390f35b3480156103d1575f80fd5b506103ec60048036038101906103e7919061130c565b610986565b6040516103f99190611041565b60405180910390f35b34801561040d575f80fd5b50610416610a8c565b6040516104239190611072565b60405180910390f35b61044660048036038101906104419190611369565b610a92565b005b610462600480360381019061045d9190611369565b610ad0565b005b34801561046f575f80fd5b5061048a60048036038101906104859190611369565b610af9565b6040516104979190611072565b60405180910390f35b5f7fc2c281ec000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610512575061051182610b12565b5b9050919050565b5f8054905090565b5f5481565b5f61052f610b8b565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7fc2c281ec00000000000000000000000000000000000000000000000000000000905090565b5f73deaddeaddeaddeaddeaddeaddeaddeaddeaddead905090565b5f6105c2610b95565b905080546003825580156105f45760018160011c14303b106105eb5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f838381019061060591906114c2565b905061061033610bbe565b805f015160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060200151600281905550508015610694576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60605f67ffffffffffffffff8111156106e9576106e8611398565b5b6040519080825280601f01601f19166020018201604052801561071b5781602001600182028036833780820191505090505b50905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610765610c94565b61076e5f610ccb565b565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60025481565b5f6107cc610c94565b60025460045f8154809291906107e19061151a565b91905055101580610838575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561086f576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f806108cf86610d91565b9150915060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633abb060483836040518363ffffffff1660e01b815260040161092f9291906116cf565b5f604051808303815f87803b158015610946575f80fd5b505af1158015610958573d5f803e3d5ffd5b505050506001925050509392505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f6002546004541080156109e1575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015610a83575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3f756de856040518263ffffffff1660e01b8152600401610a429190611727565b602060405180830381865afa158015610a5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a81919061177d565b155b90509392505050565b60045481565b610a9a610c94565b63389a75e1600c52805f526020600c208054421115610ac057636f5e88185f526004601cfd5b5f815550610acd81610ccb565b50565b610ad8610c94565b8060601b610aed57637448fbae5f526004601cfd5b610af681610ccb565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b845750610b8382610eb0565b5b9050919050565b5f6202a300905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610bc6610f29565b15610c3e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610c0057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610c91565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610cc9576382b429005f526004601cfd5b565b610cd3610f29565b15610d38577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610d8e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b6060805f600167ffffffffffffffff811115610db057610daf611398565b5b604051908082528060200260200182016040528015610dde5781602001602082028036833780820191505090505b5090505f600167ffffffffffffffff811115610dfd57610dfc611398565b5b604051908082528060200260200182016040528015610e2b5781602001602082028036833780820191505090505b50905084825f81518110610e4257610e416117a8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001815f81518110610e9157610e906117a8565b5b6020026020010190151590811515815250508181935093505050915091565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610f225750610f2182610f2d565b5b9050919050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610fdb81610fa7565b8114610fe5575f80fd5b50565b5f81359050610ff681610fd2565b92915050565b5f6020828403121561101157611010610f9f565b5b5f61101e84828501610fe8565b91505092915050565b5f8115159050919050565b61103b81611027565b82525050565b5f6020820190506110545f830184611032565b92915050565b5f819050919050565b61106c8161105a565b82525050565b5f6020820190506110855f830184611063565b92915050565b61109481610fa7565b82525050565b5f6020820190506110ad5f83018461108b565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6110dc826110b3565b9050919050565b6110ec816110d2565b82525050565b5f6020820190506111055f8301846110e3565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261112c5761112b61110b565b5b8235905067ffffffffffffffff8111156111495761114861110f565b5b60208301915083600182028301111561116557611164611113565b5b9250929050565b5f806020838503121561118257611181610f9f565b5b5f83013567ffffffffffffffff81111561119f5761119e610fa3565b5b6111ab85828601611117565b92509250509250929050565b5f6040820190506111ca5f830185611063565b6111d760208301846110e3565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611220826111de565b61122a81856111e8565b935061123a8185602086016111f8565b61124381611206565b840191505092915050565b5f6020820190508181035f8301526112668184611216565b905092915050565b5f819050919050565b5f61129161128c611287846110b3565b61126e565b6110b3565b9050919050565b5f6112a282611277565b9050919050565b5f6112b382611298565b9050919050565b6112c3816112a9565b82525050565b5f6020820190506112dc5f8301846112ba565b92915050565b6112eb816110d2565b81146112f5575f80fd5b50565b5f81359050611306816112e2565b92915050565b5f805f6040848603121561132357611322610f9f565b5b5f611330868287016112f8565b935050602084013567ffffffffffffffff81111561135157611350610fa3565b5b61135d86828701611117565b92509250509250925092565b5f6020828403121561137e5761137d610f9f565b5b5f61138b848285016112f8565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6113ce82611206565b810181811067ffffffffffffffff821117156113ed576113ec611398565b5b80604052505050565b5f6113ff610f96565b905061140b82826113c5565b919050565b5f61141a826110d2565b9050919050565b61142a81611410565b8114611434575f80fd5b50565b5f8135905061144581611421565b92915050565b6114548161105a565b811461145e575f80fd5b50565b5f8135905061146f8161144b565b92915050565b5f6040828403121561148a57611489611394565b5b61149460406113f6565b90505f6114a384828501611437565b5f8301525060206114b684828501611461565b60208301525092915050565b5f604082840312156114d7576114d6610f9f565b5b5f6114e484828501611475565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6115248261105a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611556576115556114ed565b5b600182019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611593816110d2565b82525050565b5f6115a4838361158a565b60208301905092915050565b5f602082019050919050565b5f6115c682611561565b6115d0818561156b565b93506115db8361157b565b805f5b8381101561160b5781516115f28882611599565b97506115fd836115b0565b9250506001810190506115de565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61164a81611027565b82525050565b5f61165b8383611641565b60208301905092915050565b5f602082019050919050565b5f61167d82611618565b6116878185611622565b935061169283611632565b805f5b838110156116c25781516116a98882611650565b97506116b483611667565b925050600181019050611695565b5085935050505092915050565b5f6040820190508181035f8301526116e781856115bc565b905081810360208301526116fb8184611673565b90509392505050565b50565b5f6117125f836111e8565b915061171d82611704565b5f82019050919050565b5f60408201905061173a5f8301846110e3565b818103602083015261174b81611707565b905092915050565b61175c81611027565b8114611766575f80fd5b50565b5f8151905061177781611753565b92915050565b5f6020828403121561179257611791610f9f565b5b5f61179f84828501611769565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220935f4f4158c09791d7426626cfe654f31510f1ebb6755c8cb47532588b8661bf64736f6c634300081a0033",d=class d extends o.DeployableTarget{constructor(){super(...arguments),this.abi=a.B}async owner(f){return await a.Hf(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return await a.Rf(this._config,{address:this.assertValidAddress(),args:[],...f})}async reward(f){return await a.Ff(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,b){return await a.Mf(this._config,{address:this.assertValidAddress(),args:[f],...b})}async allowList(f){const b=await a.hf(this._config,{address:this.assertValidAddress(),...f});return new l.SimpleAllowList({config:this._config,account:this._account},b)}async limit(f){return await a.Bf(this._config,{address:this.assertValidAddress(),...f})}async claim(f,b){return await this.awaitResult(this.claimRaw(f,b))}async claimRaw(f,b){const{request:e,result:c}=await a.jf(this._config,{address:this.assertValidAddress(),args:[u.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a._f(this._config,e),result:c}}async isClaimable(f,b){return await a.zf(this._config,{address:this.assertValidAddress(),args:[f.target,"0x"],...b})}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[b,e]=await Promise.all([this.claims(f),this.limit(f)]);return e-b}buildParameters(f,b){const[e,c]=this.validateDeploymentConfig(f,b);return{abi:a.B,bytecode:g,args:[i(e)],...this.optionallyAttachAccount(c.account)}}buildClaimData(){return t.zeroHash}};d.bases={31337:void 0,...n.AllowListIncentive},d.registryType=h.RegistryType.INCENTIVE;let s=d;const i=({allowList:r,limit:f})=>t.encodeAbiParameters([{type:"address",name:"allowList"},{type:"uint256",name:"limit"}],[r,f]);exports.allowListIncentiveAbi=a.B;exports.AllowListIncentive=s;exports.prepareAllowListIncentivePayload=i;
2
2
  //# sourceMappingURL=AllowListIncentive.cjs.map
@@ -1,13 +1,13 @@
1
- import { B as c, ai as i, aj as r, ak as n, al as o, am as l, an as m, ao as h, ap as u, aq as g } from "../generated-D2xuTYvu.js";
1
+ import { B as c, ai as i, aj as r, ak as n, al as o, am as l, an as m, ao as h, ap as u, aq as g } from "../generated-Hbd0NIf9.js";
2
2
  import { zeroHash as p, encodeAbiParameters as y } from "viem";
3
- import { A as w } from "../deployments-Dcywzp8T.js";
3
+ import { A as w } from "../deployments-DzhmI-zL.js";
4
4
  import "@wagmi/core";
5
5
  import { SimpleAllowList as A } from "../AllowLists/SimpleAllowList.js";
6
- import "../SimpleDenyList-CUvdsCvZ.js";
7
- import { DeployableTarget as V } from "../Deployable/DeployableTarget.js";
8
- import { prepareClaimPayload as _ } from "../claiming.js";
6
+ import "../SimpleDenyList-GZlSeh2G.js";
7
+ import { DeployableTarget as _ } from "../Deployable/DeployableTarget.js";
8
+ import { prepareClaimPayload as V } from "../claiming.js";
9
9
  import { RegistryType as C } from "../utils.js";
10
- const P = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b61180b806100bd5f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100aa578063c884ef831161006e578063c884ef831461038a578063db09da12146103c6578063dcc59b6f14610402578063f04e283e1461042c578063f2fde38b14610448578063fee81cf41461046457610129565b8063715018a6146102c657806387b9d25c146102d05780638da5cb5b146102fa578063a4d66daf14610324578063bb1757cf1461034e57610129565b806338d52e0f116100f157806338d52e0f146101f1578063439fab911461021b578063474f5a44146102435780634e7165a21461028057806354d1f13d146102bc57610129565b806301ffc9a71461012d57806307621eca14610169578063228cb7331461019357806325692962146101bd57806328d6183b146101c7575b5f80fd5b348015610138575f80fd5b50610153600480360381019061014e9190610ffc565b6104a0565b6040516101609190611041565b60405180910390f35b348015610174575f80fd5b5061017d610519565b60405161018a9190611072565b60405180910390f35b34801561019e575f80fd5b506101a7610521565b6040516101b49190611072565b60405180910390f35b6101c5610526565b005b3480156101d2575f80fd5b506101db610577565b6040516101e8919061109a565b60405180910390f35b3480156101fc575f80fd5b5061020561059e565b60405161021291906110f2565b60405180910390f35b348015610226575f80fd5b50610241600480360381019061023c919061116c565b6105b9565b005b34801561024e575f80fd5b506102696004803603810190610264919061116c565b610699565b6040516102779291906111b7565b60405180910390f35b34801561028b575f80fd5b506102a660048036038101906102a1919061116c565b6106cd565b6040516102b3919061124e565b60405180910390f35b6102c4610724565b005b6102ce61075d565b005b3480156102db575f80fd5b506102e4610770565b6040516102f191906112c9565b60405180910390f35b348015610305575f80fd5b5061030e610795565b60405161031b91906110f2565b60405180910390f35b34801561032f575f80fd5b506103386107bd565b6040516103459190611072565b60405180910390f35b348015610359575f80fd5b50610374600480360381019061036f919061130c565b6107c3565b6040516103819190611041565b60405180910390f35b348015610395575f80fd5b506103b060048036038101906103ab9190611369565b610969565b6040516103bd9190611041565b60405180910390f35b3480156103d1575f80fd5b506103ec60048036038101906103e7919061130c565b610986565b6040516103f99190611041565b60405180910390f35b34801561040d575f80fd5b50610416610a8c565b6040516104239190611072565b60405180910390f35b61044660048036038101906104419190611369565b610a92565b005b610462600480360381019061045d9190611369565b610ad0565b005b34801561046f575f80fd5b5061048a60048036038101906104859190611369565b610af9565b6040516104979190611072565b60405180910390f35b5f7fc2c281ec000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610512575061051182610b12565b5b9050919050565b5f8054905090565b5f5481565b5f61052f610b8b565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7fc2c281ec00000000000000000000000000000000000000000000000000000000905090565b5f73deaddeaddeaddeaddeaddeaddeaddeaddeaddead905090565b5f6105c2610b95565b905080546003825580156105f45760018160011c14303b106105eb5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f838381019061060591906114c2565b905061061033610bbe565b805f015160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060200151600281905550508015610694576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60605f67ffffffffffffffff8111156106e9576106e8611398565b5b6040519080825280601f01601f19166020018201604052801561071b5781602001600182028036833780820191505090505b50905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610765610c94565b61076e5f610ccb565b565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60025481565b5f6107cc610c94565b60025460045f8154809291906107e19061151a565b91905055101580610838575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561086f576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f806108cf86610d91565b9150915060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633abb060483836040518363ffffffff1660e01b815260040161092f9291906116cf565b5f604051808303815f87803b158015610946575f80fd5b505af1158015610958573d5f803e3d5ffd5b505050506001925050509392505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f6002546004541080156109e1575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015610a83575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3f756de856040518263ffffffff1660e01b8152600401610a429190611727565b602060405180830381865afa158015610a5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a81919061177d565b155b90509392505050565b60045481565b610a9a610c94565b63389a75e1600c52805f526020600c208054421115610ac057636f5e88185f526004601cfd5b5f815550610acd81610ccb565b50565b610ad8610c94565b8060601b610aed57637448fbae5f526004601cfd5b610af681610ccb565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b845750610b8382610eb0565b5b9050919050565b5f6202a300905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610bc6610f29565b15610c3e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610c0057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610c91565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610cc9576382b429005f526004601cfd5b565b610cd3610f29565b15610d38577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610d8e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b6060805f600167ffffffffffffffff811115610db057610daf611398565b5b604051908082528060200260200182016040528015610dde5781602001602082028036833780820191505090505b5090505f600167ffffffffffffffff811115610dfd57610dfc611398565b5b604051908082528060200260200182016040528015610e2b5781602001602082028036833780820191505090505b50905084825f81518110610e4257610e416117a8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001815f81518110610e9157610e906117a8565b5b6020026020010190151590811515815250508181935093505050915091565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610f225750610f2182610f2d565b5b9050919050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610fdb81610fa7565b8114610fe5575f80fd5b50565b5f81359050610ff681610fd2565b92915050565b5f6020828403121561101157611010610f9f565b5b5f61101e84828501610fe8565b91505092915050565b5f8115159050919050565b61103b81611027565b82525050565b5f6020820190506110545f830184611032565b92915050565b5f819050919050565b61106c8161105a565b82525050565b5f6020820190506110855f830184611063565b92915050565b61109481610fa7565b82525050565b5f6020820190506110ad5f83018461108b565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6110dc826110b3565b9050919050565b6110ec816110d2565b82525050565b5f6020820190506111055f8301846110e3565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261112c5761112b61110b565b5b8235905067ffffffffffffffff8111156111495761114861110f565b5b60208301915083600182028301111561116557611164611113565b5b9250929050565b5f806020838503121561118257611181610f9f565b5b5f83013567ffffffffffffffff81111561119f5761119e610fa3565b5b6111ab85828601611117565b92509250509250929050565b5f6040820190506111ca5f830185611063565b6111d760208301846110e3565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611220826111de565b61122a81856111e8565b935061123a8185602086016111f8565b61124381611206565b840191505092915050565b5f6020820190508181035f8301526112668184611216565b905092915050565b5f819050919050565b5f61129161128c611287846110b3565b61126e565b6110b3565b9050919050565b5f6112a282611277565b9050919050565b5f6112b382611298565b9050919050565b6112c3816112a9565b82525050565b5f6020820190506112dc5f8301846112ba565b92915050565b6112eb816110d2565b81146112f5575f80fd5b50565b5f81359050611306816112e2565b92915050565b5f805f6040848603121561132357611322610f9f565b5b5f611330868287016112f8565b935050602084013567ffffffffffffffff81111561135157611350610fa3565b5b61135d86828701611117565b92509250509250925092565b5f6020828403121561137e5761137d610f9f565b5b5f61138b848285016112f8565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6113ce82611206565b810181811067ffffffffffffffff821117156113ed576113ec611398565b5b80604052505050565b5f6113ff610f96565b905061140b82826113c5565b919050565b5f61141a826110d2565b9050919050565b61142a81611410565b8114611434575f80fd5b50565b5f8135905061144581611421565b92915050565b6114548161105a565b811461145e575f80fd5b50565b5f8135905061146f8161144b565b92915050565b5f6040828403121561148a57611489611394565b5b61149460406113f6565b90505f6114a384828501611437565b5f8301525060206114b684828501611461565b60208301525092915050565b5f604082840312156114d7576114d6610f9f565b5b5f6114e484828501611475565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6115248261105a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611556576115556114ed565b5b600182019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611593816110d2565b82525050565b5f6115a4838361158a565b60208301905092915050565b5f602082019050919050565b5f6115c682611561565b6115d0818561156b565b93506115db8361157b565b805f5b8381101561160b5781516115f28882611599565b97506115fd836115b0565b9250506001810190506115de565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61164a81611027565b82525050565b5f61165b8383611641565b60208301905092915050565b5f602082019050919050565b5f61167d82611618565b6116878185611622565b935061169283611632565b805f5b838110156116c25781516116a98882611650565b97506116b483611667565b925050600181019050611695565b5085935050505092915050565b5f6040820190508181035f8301526116e781856115bc565b905081810360208301526116fb8184611673565b90509392505050565b50565b5f6117125f836111e8565b915061171d82611704565b5f82019050919050565b5f60408201905061173a5f8301846110e3565b818103602083015261174b81611707565b905092915050565b61175c81611027565b8114611766575f80fd5b50565b5f8151905061177781611753565b92915050565b5f6020828403121561179257611791610f9f565b5b5f61179f84828501611769565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220935f4f4158c09791d7426626cfe654f31510f1ebb6755c8cb47532588b8661bf64736f6c634300081a0033", e = class e extends V {
10
+ const P = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b61180b806100bd5f395ff3fe608060405260043610610129575f3560e01c8063715018a6116100aa578063c884ef831161006e578063c884ef831461038a578063db09da12146103c6578063dcc59b6f14610402578063f04e283e1461042c578063f2fde38b14610448578063fee81cf41461046457610129565b8063715018a6146102c657806387b9d25c146102d05780638da5cb5b146102fa578063a4d66daf14610324578063bb1757cf1461034e57610129565b806338d52e0f116100f157806338d52e0f146101f1578063439fab911461021b578063474f5a44146102435780634e7165a21461028057806354d1f13d146102bc57610129565b806301ffc9a71461012d57806307621eca14610169578063228cb7331461019357806325692962146101bd57806328d6183b146101c7575b5f80fd5b348015610138575f80fd5b50610153600480360381019061014e9190610ffc565b6104a0565b6040516101609190611041565b60405180910390f35b348015610174575f80fd5b5061017d610519565b60405161018a9190611072565b60405180910390f35b34801561019e575f80fd5b506101a7610521565b6040516101b49190611072565b60405180910390f35b6101c5610526565b005b3480156101d2575f80fd5b506101db610577565b6040516101e8919061109a565b60405180910390f35b3480156101fc575f80fd5b5061020561059e565b60405161021291906110f2565b60405180910390f35b348015610226575f80fd5b50610241600480360381019061023c919061116c565b6105b9565b005b34801561024e575f80fd5b506102696004803603810190610264919061116c565b610699565b6040516102779291906111b7565b60405180910390f35b34801561028b575f80fd5b506102a660048036038101906102a1919061116c565b6106cd565b6040516102b3919061124e565b60405180910390f35b6102c4610724565b005b6102ce61075d565b005b3480156102db575f80fd5b506102e4610770565b6040516102f191906112c9565b60405180910390f35b348015610305575f80fd5b5061030e610795565b60405161031b91906110f2565b60405180910390f35b34801561032f575f80fd5b506103386107bd565b6040516103459190611072565b60405180910390f35b348015610359575f80fd5b50610374600480360381019061036f919061130c565b6107c3565b6040516103819190611041565b60405180910390f35b348015610395575f80fd5b506103b060048036038101906103ab9190611369565b610969565b6040516103bd9190611041565b60405180910390f35b3480156103d1575f80fd5b506103ec60048036038101906103e7919061130c565b610986565b6040516103f99190611041565b60405180910390f35b34801561040d575f80fd5b50610416610a8c565b6040516104239190611072565b60405180910390f35b61044660048036038101906104419190611369565b610a92565b005b610462600480360381019061045d9190611369565b610ad0565b005b34801561046f575f80fd5b5061048a60048036038101906104859190611369565b610af9565b6040516104979190611072565b60405180910390f35b5f7fc2c281ec000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610512575061051182610b12565b5b9050919050565b5f8054905090565b5f5481565b5f61052f610b8b565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7fc2c281ec00000000000000000000000000000000000000000000000000000000905090565b5f73deaddeaddeaddeaddeaddeaddeaddeaddeaddead905090565b5f6105c2610b95565b905080546003825580156105f45760018160011c14303b106105eb5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f838381019061060591906114c2565b905061061033610bbe565b805f015160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060200151600281905550508015610694576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60605f67ffffffffffffffff8111156106e9576106e8611398565b5b6040519080825280601f01601f19166020018201604052801561071b5781602001600182028036833780820191505090505b50905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610765610c94565b61076e5f610ccb565b565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60025481565b5f6107cc610c94565b60025460045f8154809291906107e19061151a565b91905055101580610838575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1561086f576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f806108cf86610d91565b9150915060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633abb060483836040518363ffffffff1660e01b815260040161092f9291906116cf565b5f604051808303815f87803b158015610946575f80fd5b505af1158015610958573d5f803e3d5ffd5b505050506001925050509392505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f6002546004541080156109e1575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015610a83575060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3f756de856040518263ffffffff1660e01b8152600401610a429190611727565b602060405180830381865afa158015610a5d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a81919061177d565b155b90509392505050565b60045481565b610a9a610c94565b63389a75e1600c52805f526020600c208054421115610ac057636f5e88185f526004601cfd5b5f815550610acd81610ccb565b50565b610ad8610c94565b8060601b610aed57637448fbae5f526004601cfd5b610af681610ccb565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b845750610b8382610eb0565b5b9050919050565b5f6202a300905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610bc6610f29565b15610c3e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415610c0057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350610c91565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610cc9576382b429005f526004601cfd5b565b610cd3610f29565b15610d38577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610d8e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b6060805f600167ffffffffffffffff811115610db057610daf611398565b5b604051908082528060200260200182016040528015610dde5781602001602082028036833780820191505090505b5090505f600167ffffffffffffffff811115610dfd57610dfc611398565b5b604051908082528060200260200182016040528015610e2b5781602001602082028036833780820191505090505b50905084825f81518110610e4257610e416117a8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506001815f81518110610e9157610e906117a8565b5b6020026020010190151590811515815250508181935093505050915091565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610f225750610f2182610f2d565b5b9050919050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610fdb81610fa7565b8114610fe5575f80fd5b50565b5f81359050610ff681610fd2565b92915050565b5f6020828403121561101157611010610f9f565b5b5f61101e84828501610fe8565b91505092915050565b5f8115159050919050565b61103b81611027565b82525050565b5f6020820190506110545f830184611032565b92915050565b5f819050919050565b61106c8161105a565b82525050565b5f6020820190506110855f830184611063565b92915050565b61109481610fa7565b82525050565b5f6020820190506110ad5f83018461108b565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6110dc826110b3565b9050919050565b6110ec816110d2565b82525050565b5f6020820190506111055f8301846110e3565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261112c5761112b61110b565b5b8235905067ffffffffffffffff8111156111495761114861110f565b5b60208301915083600182028301111561116557611164611113565b5b9250929050565b5f806020838503121561118257611181610f9f565b5b5f83013567ffffffffffffffff81111561119f5761119e610fa3565b5b6111ab85828601611117565b92509250509250929050565b5f6040820190506111ca5f830185611063565b6111d760208301846110e3565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611220826111de565b61122a81856111e8565b935061123a8185602086016111f8565b61124381611206565b840191505092915050565b5f6020820190508181035f8301526112668184611216565b905092915050565b5f819050919050565b5f61129161128c611287846110b3565b61126e565b6110b3565b9050919050565b5f6112a282611277565b9050919050565b5f6112b382611298565b9050919050565b6112c3816112a9565b82525050565b5f6020820190506112dc5f8301846112ba565b92915050565b6112eb816110d2565b81146112f5575f80fd5b50565b5f81359050611306816112e2565b92915050565b5f805f6040848603121561132357611322610f9f565b5b5f611330868287016112f8565b935050602084013567ffffffffffffffff81111561135157611350610fa3565b5b61135d86828701611117565b92509250509250925092565b5f6020828403121561137e5761137d610f9f565b5b5f61138b848285016112f8565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6113ce82611206565b810181811067ffffffffffffffff821117156113ed576113ec611398565b5b80604052505050565b5f6113ff610f96565b905061140b82826113c5565b919050565b5f61141a826110d2565b9050919050565b61142a81611410565b8114611434575f80fd5b50565b5f8135905061144581611421565b92915050565b6114548161105a565b811461145e575f80fd5b50565b5f8135905061146f8161144b565b92915050565b5f6040828403121561148a57611489611394565b5b61149460406113f6565b90505f6114a384828501611437565b5f8301525060206114b684828501611461565b60208301525092915050565b5f604082840312156114d7576114d6610f9f565b5b5f6114e484828501611475565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6115248261105a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611556576115556114ed565b5b600182019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611593816110d2565b82525050565b5f6115a4838361158a565b60208301905092915050565b5f602082019050919050565b5f6115c682611561565b6115d0818561156b565b93506115db8361157b565b805f5b8381101561160b5781516115f28882611599565b97506115fd836115b0565b9250506001810190506115de565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61164a81611027565b82525050565b5f61165b8383611641565b60208301905092915050565b5f602082019050919050565b5f61167d82611618565b6116878185611622565b935061169283611632565b805f5b838110156116c25781516116a98882611650565b97506116b483611667565b925050600181019050611695565b5085935050505092915050565b5f6040820190508181035f8301526116e781856115bc565b905081810360208301526116fb8184611673565b90509392505050565b50565b5f6117125f836111e8565b915061171d82611704565b5f82019050919050565b5f60408201905061173a5f8301846110e3565b818103602083015261174b81611707565b905092915050565b61175c81611027565b8114611766575f80fd5b50565b5f8151905061177781611753565b92915050565b5f6020828403121561179257611791610f9f565b5b5f61179f84828501611769565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220935f4f4158c09791d7426626cfe654f31510f1ebb6755c8cb47532588b8661bf64736f6c634300081a0033", e = class e extends _ {
11
11
  constructor() {
12
12
  super(...arguments), this.abi = c;
13
13
  }
@@ -136,7 +136,7 @@ const P = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f6
136
136
  this._config,
137
137
  {
138
138
  address: this.assertValidAddress(),
139
- args: [_(f)],
139
+ args: [V(f)],
140
140
  ...this.optionallyAttachAccount(),
141
141
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
142
142
  ...b
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../generated-DAZo6jo9.cjs"),s=require("viem"),u=require("../deployments-C7-jUofW.cjs"),h=require("../Deployable/DeployableTarget.cjs"),i=require("../claiming.cjs"),n=require("../utils.cjs"),w="0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612848806100bd5f395ff3fe6080604052600436106101ed575f3560e01c806354d1f13d1161010c578063c884ef831161009f578063ec87621c1161006e578063ec87621c1461069d578063f04e283e146106c7578063f2fde38b146106e3578063fe9fbb80146106ff578063fee81cf41461073b576101ed565b8063c884ef83146105d3578063db09da121461060f578063dcc213611461064b578063dcc59b6f14610673576101ed565b80638da5cb5b116100db5780638da5cb5b1461051b578063bb1757cf14610545578063be4994f814610581578063c78da39a146105a9576101ed565b806354d1f13d146104b0578063715018a6146104ba57806375b238fc146104c457806375ef18d0146104ee576101ed565b80632de9480711610184578063474f5a4411610153578063474f5a44146103df5780634a4ee7b11461041c5780634e7165a214610438578063514e62fc14610474576101ed565b80632de948071461032957806338d52e0f146103655780634359d28a1461038f578063439fab91146103b7576101ed565b80631cd64df4116101c05780631cd64df41461028f578063228cb733146102cb57806325692962146102f557806328d6183b146102ff576101ed565b806301ffc9a7146101f157806307621eca1461022d578063183a4f6e146102575780631c10893f14610273575b5f80fd5b3480156101fc575f80fd5b5061021760048036038101906102129190611a9f565b610777565b6040516102249190611ae4565b60405180910390f35b348015610238575f80fd5b506102416107f0565b60405161024e9190611b15565b60405180910390f35b610271600480360381019061026c9190611b58565b610899565b005b61028d60048036038101906102889190611bdd565b6108a6565b005b34801561029a575f80fd5b506102b560048036038101906102b09190611bdd565b6108bc565b6040516102c29190611ae4565b60405180910390f35b3480156102d6575f80fd5b506102df6108d2565b6040516102ec9190611b15565b60405180910390f35b6102fd6108d7565b005b34801561030a575f80fd5b50610313610928565b6040516103209190611c2a565b60405180910390f35b348015610334575f80fd5b5061034f600480360381019061034a9190611c43565b61094f565b60405161035c9190611b15565b60405180910390f35b348015610370575f80fd5b50610379610968565b6040516103869190611c7d565b60405180910390f35b34801561039a575f80fd5b506103b560048036038101906103b09190611d4c565b61098d565b005b3480156103c2575f80fd5b506103dd60048036038101906103d89190611e1f565b610a9b565b005b3480156103ea575f80fd5b5061040560048036038101906104009190611e1f565b610d35565b604051610413929190611e6a565b60405180910390f35b61043660048036038101906104319190611bdd565b610e87565b005b348015610443575f80fd5b5061045e60048036038101906104599190611e1f565b610e9d565b60405161046b9190611f01565b60405180910390f35b34801561047f575f80fd5b5061049a60048036038101906104959190611bdd565b610f6d565b6040516104a79190611ae4565b60405180910390f35b6104b8610f84565b005b6104c2610fbd565b005b3480156104cf575f80fd5b506104d8610fd0565b6040516104e59190611b15565b60405180910390f35b3480156104f9575f80fd5b50610502610fd5565b6040516105129493929190611f21565b60405180910390f35b348015610526575f80fd5b5061052f610ff2565b60405161053c9190611c7d565b60405180910390f35b348015610550575f80fd5b5061056b60048036038101906105669190611f64565b61101a565b6040516105789190611ae4565b60405180910390f35b34801561058c575f80fd5b506105a760048036038101906105a29190612016565b611205565b005b3480156105b4575f80fd5b506105bd6112bb565b6040516105ca9190611b15565b60405180910390f35b3480156105de575f80fd5b506105f960048036038101906105f49190611c43565b6112c1565b6040516106069190611ae4565b60405180910390f35b34801561061a575f80fd5b5061063560048036038101906106309190611f64565b6112de565b6040516106429190611ae4565b60405180910390f35b348015610656575f80fd5b50610671600480360381019061066c9190612016565b6112f1565b005b34801561067e575f80fd5b506106876113a7565b6040516106949190611b15565b60405180910390f35b3480156106a8575f80fd5b506106b16113ad565b6040516106be9190611b15565b60405180910390f35b6106e160048036038101906106dc9190611c43565b6113b2565b005b6106fd60048036038101906106f89190611c43565b6113f0565b005b34801561070a575f80fd5b5061072560048036038101906107209190611c43565b611419565b6040516107329190611ae4565b60405180910390f35b348015610746575f80fd5b50610761600480360381019061075c9190611c43565b61146c565b60405161076e9190611b15565b60405180910390f35b5f7f53cf8555000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107e957506107e882611485565b5b9050919050565b5f8060028001544261080291906120c1565b90505f61084f3060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114fe90919063ffffffff16565b90505f610e106002600101548461086691906120f4565b6108709190612162565b6002600301546108809190612192565b905081811161088f5780610891565b815b935050505090565b6108a33382611531565b50565b6108ae611540565b6108b88282611577565b5050565b5f81826108c88561094f565b1614905092915050565b5f5481565b5f6108e0611587565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f53cf855500000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600261099881611591565b8282905085859050146109d7576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610a93575f8484838181106109f8576109f76121c5565b5b9050602002016020810190610a0d919061221c565b90506001151581151503610a5257610a4d878784818110610a3157610a306121c5565b5b9050602002016020810190610a469190611c43565b6001611577565b610a85565b610a84878784818110610a6857610a676121c5565b5b9050602002016020810190610a7d9190611c43565b6001611531565b5b5080806001019150506109d9565b505050505050565b5f610aa46115c6565b90508054600382558015610ad65760018160011c14303b10610acd5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610ae79190612350565b90505f610b1630835f015173ffffffffffffffffffffffffffffffffffffffff166114fe90919063ffffffff16565b90508160800151811015610b6c57815f01518183608001516040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610b639392919061237b565b60405180910390fd5b5f82602001511480610b8157505f8260400151145b80610b8f57505f8260600151145b80610ba1575081602001518260800151105b15610bd8576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f015160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060405180608001604052808360400151815260200183606001518152602001428152602001836020015181525060025f820151815f01556020820151816001015560408201518160020155606082015181600301559050508160800151600681905550610c87336115ef565b610c923360016116c5565b815f015173ffffffffffffffffffffffffffffffffffffffff167f2364e5ed5f8639e9bae046dc67aabf43f410e931f25143a10f5e1a8744ad717e8360200151846040015185606001518660800151604051610cf19493929190611f21565b60405180910390a250508015610d30576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610d4281611706565b5f8585810190610d5291906124c9565b90505f8160200151806020019051810190610d6d9190612524565b9050610dbe825f01518260075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661172d9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610e32939291906125b4565b604051602081830303815290604052604051610e4e9190611f01565b60405180910390a28060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610e8f611540565b610e998282611531565b5050565b60605f8383810190610eaf9190612350565b9050604051806080016040528060016002811115610ed057610ecf6125f0565b5b8152602001825f015173ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052808460800151815250604051602001610f339190612646565b604051602081830303815290604052815250604051602001610f55919061275c565b60405160208183030381529060405291505092915050565b5f8082610f798561094f565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610fc5611540565b610fce5f611776565b565b600281565b6002805f0154908060010154908060020154908060030154905084565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b5f611023611540565b61102c8461183c565b61106d57836040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401611064919061279f565b60405180910390fd5b6001805f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060085f8154809291906110d3906127cb565b91905055505f6110e16107f0565b905042600280018190555060025f015481116111015760025f0154611112565b60025f01548161111191906120c1565b5b600260030181905550611167858260075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661172d9092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687846040516020016111d5939291906125b4565b6040516020818303038152906040526040516111f19190611f01565b60405180910390a260019150509392505050565b600261121081611591565b82829050858590501461124f576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156112b3576112a6868683818110611272576112716121c5565b5b90506020020160208101906112879190611c43565b85858481811061129a576112996121c5565b5b90506020020135611577565b8080600101915050611251565b505050505050565b60065481565b6001602052805f5260405f205f915054906101000a900460ff1681565b5f6112e88461183c565b90509392505050565b60026112fc81611591565b82829050858590501461133b576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561139f5761139286868381811061135e5761135d6121c5565b5b90506020020160208101906113739190611c43565b858584818110611386576113856121c5565b5b90506020020135611531565b808060010191505061133d565b505050505050565b60085481565b600181565b6113ba611540565b63389a75e1600c52805f526020600c2080544211156113e057636f5e88185f526004601cfd5b5f8155506113ed81611776565b50565b6113f8611540565b8060601b61140d57637448fbae5f526004601cfd5b61141681611776565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff16611439610ff2565b73ffffffffffffffffffffffffffffffffffffffff1614806114655750611464826002600117610f6d565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806114f757506114f6826118fb565b5b9050919050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b61153c82825f611974565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611575576382b429005f526004601cfd5b565b61158382826001611974565b5050565b5f6202a300905090565b638b78c6d8195433146115c357638b78c6d8600c52335f52806020600c2054166115c2576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6115f76119cc565b1561166f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561163157630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506116c2565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b638b78c6d8600c52335f52806020600c20541661172a576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f5114171661176d576390b8ec185f526004601cfd5b5f603452505050565b61177e6119cc565b156117e3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550611839565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f806118466107f0565b90505f811180156118a057508061189d3060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114fe90919063ffffffff16565b10155b80156118f3575060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b915050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061196d575061196c826119d0565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361199657848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a7e81611a4a565b8114611a88575f80fd5b50565b5f81359050611a9981611a75565b92915050565b5f60208284031215611ab457611ab3611a42565b5b5f611ac184828501611a8b565b91505092915050565b5f8115159050919050565b611ade81611aca565b82525050565b5f602082019050611af75f830184611ad5565b92915050565b5f819050919050565b611b0f81611afd565b82525050565b5f602082019050611b285f830184611b06565b92915050565b611b3781611afd565b8114611b41575f80fd5b50565b5f81359050611b5281611b2e565b92915050565b5f60208284031215611b6d57611b6c611a42565b5b5f611b7a84828501611b44565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611bac82611b83565b9050919050565b611bbc81611ba2565b8114611bc6575f80fd5b50565b5f81359050611bd781611bb3565b92915050565b5f8060408385031215611bf357611bf2611a42565b5b5f611c0085828601611bc9565b9250506020611c1185828601611b44565b9150509250929050565b611c2481611a4a565b82525050565b5f602082019050611c3d5f830184611c1b565b92915050565b5f60208284031215611c5857611c57611a42565b5b5f611c6584828501611bc9565b91505092915050565b611c7781611ba2565b82525050565b5f602082019050611c905f830184611c6e565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611cb757611cb6611c96565b5b8235905067ffffffffffffffff811115611cd457611cd3611c9a565b5b602083019150836020820283011115611cf057611cef611c9e565b5b9250929050565b5f8083601f840112611d0c57611d0b611c96565b5b8235905067ffffffffffffffff811115611d2957611d28611c9a565b5b602083019150836020820283011115611d4557611d44611c9e565b5b9250929050565b5f805f8060408587031215611d6457611d63611a42565b5b5f85013567ffffffffffffffff811115611d8157611d80611a46565b5b611d8d87828801611ca2565b9450945050602085013567ffffffffffffffff811115611db057611daf611a46565b5b611dbc87828801611cf7565b925092505092959194509250565b5f8083601f840112611ddf57611dde611c96565b5b8235905067ffffffffffffffff811115611dfc57611dfb611c9a565b5b602083019150836001820283011115611e1857611e17611c9e565b5b9250929050565b5f8060208385031215611e3557611e34611a42565b5b5f83013567ffffffffffffffff811115611e5257611e51611a46565b5b611e5e85828601611dca565b92509250509250929050565b5f604082019050611e7d5f830185611b06565b611e8a6020830184611c6e565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ed382611e91565b611edd8185611e9b565b9350611eed818560208601611eab565b611ef681611eb9565b840191505092915050565b5f6020820190508181035f830152611f198184611ec9565b905092915050565b5f608082019050611f345f830187611b06565b611f416020830186611b06565b611f4e6040830185611b06565b611f5b6060830184611b06565b95945050505050565b5f805f60408486031215611f7b57611f7a611a42565b5b5f611f8886828701611bc9565b935050602084013567ffffffffffffffff811115611fa957611fa8611a46565b5b611fb586828701611dca565b92509250509250925092565b5f8083601f840112611fd657611fd5611c96565b5b8235905067ffffffffffffffff811115611ff357611ff2611c9a565b5b60208301915083602082028301111561200f5761200e611c9e565b5b9250929050565b5f805f806040858703121561202e5761202d611a42565b5b5f85013567ffffffffffffffff81111561204b5761204a611a46565b5b61205787828801611ca2565b9450945050602085013567ffffffffffffffff81111561207a57612079611a46565b5b61208687828801611fc1565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6120cb82611afd565b91506120d683611afd565b92508282039050818111156120ee576120ed612094565b5b92915050565b5f6120fe82611afd565b915061210983611afd565b925082820261211781611afd565b9150828204841483151761212e5761212d612094565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61216c82611afd565b915061217783611afd565b92508261218757612186612135565b5b828204905092915050565b5f61219c82611afd565b91506121a783611afd565b92508282019050808211156121bf576121be612094565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6121fb81611aca565b8114612205575f80fd5b50565b5f81359050612216816121f2565b92915050565b5f6020828403121561223157612230611a42565b5b5f61223e84828501612208565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61228182611eb9565b810181811067ffffffffffffffff821117156122a05761229f61224b565b5b80604052505050565b5f6122b2611a39565b90506122be8282612278565b919050565b5f80fd5b5f60a082840312156122dc576122db612247565b5b6122e660a06122a9565b90505f6122f584828501611bc9565b5f83015250602061230884828501611b44565b602083015250604061231c84828501611b44565b604083015250606061233084828501611b44565b606083015250608061234484828501611b44565b60808301525092915050565b5f60a0828403121561236557612364611a42565b5b5f612372848285016122c7565b91505092915050565b5f60608201905061238e5f830186611c6e565b61239b6020830185611b06565b6123a86040830184611b06565b949350505050565b5f80fd5b5f67ffffffffffffffff8211156123ce576123cd61224b565b5b6123d782611eb9565b9050602081019050919050565b828183375f83830152505050565b5f6124046123ff846123b4565b6122a9565b9050828152602081018484840111156124205761241f6123b0565b5b61242b8482856123e4565b509392505050565b5f82601f83011261244757612446611c96565b5b81356124578482602086016123f2565b91505092915050565b5f6040828403121561247557612474612247565b5b61247f60406122a9565b90505f61248e84828501611bc9565b5f83015250602082013567ffffffffffffffff8111156124b1576124b06122c3565b5b6124bd84828501612433565b60208301525092915050565b5f602082840312156124de576124dd611a42565b5b5f82013567ffffffffffffffff8111156124fb576124fa611a46565b5b61250784828501612460565b91505092915050565b5f8151905061251e81611b2e565b92915050565b5f6020828403121561253957612538611a42565b5b5f61254684828501612510565b91505092915050565b5f8160601b9050919050565b5f6125658261254f565b9050919050565b5f6125768261255b565b9050919050565b61258e61258982611ba2565b61256c565b82525050565b5f819050919050565b6125ae6125a982611afd565b612594565b82525050565b5f6125bf828661257d565b6014820191506125cf828561257d565b6014820191506125df828461259d565b602082019150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b61262681611afd565b82525050565b602082015f8201516126405f85018261261d565b50505050565b5f6020820190506126595f83018461262c565b92915050565b600381106126705761266f6125f0565b5b50565b5f8190506126808261265f565b919050565b5f61268f82612673565b9050919050565b61269f81612685565b82525050565b6126ae81611ba2565b82525050565b5f82825260208201905092915050565b5f6126ce82611e91565b6126d881856126b4565b93506126e8818560208601611eab565b6126f181611eb9565b840191505092915050565b5f608083015f8301516127115f860182612696565b50602083015161272460208601826126a5565b50604083015161273760408601826126a5565b506060830151848203606086015261274f82826126c4565b9150508091505092915050565b5f6020820190508181035f83015261277481846126fc565b905092915050565b50565b5f61278a5f83611e9b565b91506127958261277c565b5f82019050919050565b5f6040820190506127b25f830184611c6e565b81810360208301526127c38161277f565b905092915050565b5f6127d582611afd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361280757612806612094565b5b60018201905091905056fea2646970667358221220f53feea738e51a4389a3e73f1d1445615cf19b70818832070235b4e4358c768664736f6c634300081a0033",c=class c extends h.DeployableTarget{constructor(){super(...arguments),this.abi=a.T}async owner(f){return await a.zw(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return await a.hw(this._config,{address:this.assertValidAddress(),args:[],...f})}async reward(f){return await a.xw(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,b){return await a.Iw(this._config,{address:this.assertValidAddress(),args:[f],...b})}async asset(f){return await a.Aw(this._config,{address:this.assertValidAddress(),...f})}async cgdaParams(f){const[b,e,d,t]=await a.gw(this._config,{address:this.assertValidAddress(),...f});return{rewardDecay:b,rewardBoost:e,lastClaimTime:d,currentReward:t}}async totalBudget(f){return await a.Fw(this._config,{address:this.assertValidAddress(),...f})}async claim(f,b){return await this.awaitResult(this.claimRaw(f,b))}async claimRaw(f,b){const{request:e,result:d}=await a.eT(this._config,{address:this.assertValidAddress(),args:[i.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a._w(this._config,e),result:d}}async clawback(f,b){return await this.awaitResult(this.clawbackRaw(f,b))}async clawbackRaw(f,b){const{request:e,result:d}=await a.tT(this._config,{address:this.assertValidAddress(),args:[i.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a.Pw(this._config,e),result:d}}async isClaimable(f,b){return await a.Ew(this._config,{address:this.assertValidAddress(),args:[f.target,f.data],...b})}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[b,e]=await Promise.all([this.currentReward(f),n.getErc20Balance(this._config,await this.asset(),this.assertValidAddress(),f)]);return e-b}async currentReward(f){return await a.Nw(this._config,{address:this.assertValidAddress(),...f})}async getTotalBudget(f){var b;return((b=this.payload)==null?void 0:b.totalBudget)!==void 0?this.payload.totalBudget:await this.totalBudget(f)}buildParameters(f,b){const[e,d]=this.validateDeploymentConfig(f,b);return{abi:a.T,bytecode:w,args:[o(e)],...this.optionallyAttachAccount(d.account)}}buildClawbackData(f){return s.encodeAbiParameters([{type:"uint256"}],[f])}buildClaimData(){return s.zeroHash}};c.bases={31337:void 0,...u.CGDAIncentive},c.registryType=n.RegistryType.INCENTIVE;let r=c;function o({asset:l,initialReward:f,rewardDecay:b,rewardBoost:e,totalBudget:d}){return s.encodeAbiParameters([{type:"address",name:"asset"},{type:"uint256",name:"initialReward"},{type:"uint256",name:"rewardDecay"},{type:"uint256",name:"rewardBoost"},{type:"uint256",name:"totalBudget"}],[l,f,b,e,d])}exports.cgdaIncentiveAbi=a.T;exports.CGDAIncentive=r;exports.prepareCGDAIncentivePayload=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../generated-CNkDfjzI.cjs"),s=require("viem"),u=require("../deployments-CMdsItcq.cjs"),h=require("../Deployable/DeployableTarget.cjs"),i=require("../claiming.cjs"),n=require("../utils.cjs"),w="0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612848806100bd5f395ff3fe6080604052600436106101ed575f3560e01c806354d1f13d1161010c578063c884ef831161009f578063ec87621c1161006e578063ec87621c1461069d578063f04e283e146106c7578063f2fde38b146106e3578063fe9fbb80146106ff578063fee81cf41461073b576101ed565b8063c884ef83146105d3578063db09da121461060f578063dcc213611461064b578063dcc59b6f14610673576101ed565b80638da5cb5b116100db5780638da5cb5b1461051b578063bb1757cf14610545578063be4994f814610581578063c78da39a146105a9576101ed565b806354d1f13d146104b0578063715018a6146104ba57806375b238fc146104c457806375ef18d0146104ee576101ed565b80632de9480711610184578063474f5a4411610153578063474f5a44146103df5780634a4ee7b11461041c5780634e7165a214610438578063514e62fc14610474576101ed565b80632de948071461032957806338d52e0f146103655780634359d28a1461038f578063439fab91146103b7576101ed565b80631cd64df4116101c05780631cd64df41461028f578063228cb733146102cb57806325692962146102f557806328d6183b146102ff576101ed565b806301ffc9a7146101f157806307621eca1461022d578063183a4f6e146102575780631c10893f14610273575b5f80fd5b3480156101fc575f80fd5b5061021760048036038101906102129190611a9f565b610777565b6040516102249190611ae4565b60405180910390f35b348015610238575f80fd5b506102416107f0565b60405161024e9190611b15565b60405180910390f35b610271600480360381019061026c9190611b58565b610899565b005b61028d60048036038101906102889190611bdd565b6108a6565b005b34801561029a575f80fd5b506102b560048036038101906102b09190611bdd565b6108bc565b6040516102c29190611ae4565b60405180910390f35b3480156102d6575f80fd5b506102df6108d2565b6040516102ec9190611b15565b60405180910390f35b6102fd6108d7565b005b34801561030a575f80fd5b50610313610928565b6040516103209190611c2a565b60405180910390f35b348015610334575f80fd5b5061034f600480360381019061034a9190611c43565b61094f565b60405161035c9190611b15565b60405180910390f35b348015610370575f80fd5b50610379610968565b6040516103869190611c7d565b60405180910390f35b34801561039a575f80fd5b506103b560048036038101906103b09190611d4c565b61098d565b005b3480156103c2575f80fd5b506103dd60048036038101906103d89190611e1f565b610a9b565b005b3480156103ea575f80fd5b5061040560048036038101906104009190611e1f565b610d35565b604051610413929190611e6a565b60405180910390f35b61043660048036038101906104319190611bdd565b610e87565b005b348015610443575f80fd5b5061045e60048036038101906104599190611e1f565b610e9d565b60405161046b9190611f01565b60405180910390f35b34801561047f575f80fd5b5061049a60048036038101906104959190611bdd565b610f6d565b6040516104a79190611ae4565b60405180910390f35b6104b8610f84565b005b6104c2610fbd565b005b3480156104cf575f80fd5b506104d8610fd0565b6040516104e59190611b15565b60405180910390f35b3480156104f9575f80fd5b50610502610fd5565b6040516105129493929190611f21565b60405180910390f35b348015610526575f80fd5b5061052f610ff2565b60405161053c9190611c7d565b60405180910390f35b348015610550575f80fd5b5061056b60048036038101906105669190611f64565b61101a565b6040516105789190611ae4565b60405180910390f35b34801561058c575f80fd5b506105a760048036038101906105a29190612016565b611205565b005b3480156105b4575f80fd5b506105bd6112bb565b6040516105ca9190611b15565b60405180910390f35b3480156105de575f80fd5b506105f960048036038101906105f49190611c43565b6112c1565b6040516106069190611ae4565b60405180910390f35b34801561061a575f80fd5b5061063560048036038101906106309190611f64565b6112de565b6040516106429190611ae4565b60405180910390f35b348015610656575f80fd5b50610671600480360381019061066c9190612016565b6112f1565b005b34801561067e575f80fd5b506106876113a7565b6040516106949190611b15565b60405180910390f35b3480156106a8575f80fd5b506106b16113ad565b6040516106be9190611b15565b60405180910390f35b6106e160048036038101906106dc9190611c43565b6113b2565b005b6106fd60048036038101906106f89190611c43565b6113f0565b005b34801561070a575f80fd5b5061072560048036038101906107209190611c43565b611419565b6040516107329190611ae4565b60405180910390f35b348015610746575f80fd5b50610761600480360381019061075c9190611c43565b61146c565b60405161076e9190611b15565b60405180910390f35b5f7f53cf8555000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107e957506107e882611485565b5b9050919050565b5f8060028001544261080291906120c1565b90505f61084f3060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114fe90919063ffffffff16565b90505f610e106002600101548461086691906120f4565b6108709190612162565b6002600301546108809190612192565b905081811161088f5780610891565b815b935050505090565b6108a33382611531565b50565b6108ae611540565b6108b88282611577565b5050565b5f81826108c88561094f565b1614905092915050565b5f5481565b5f6108e0611587565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f53cf855500000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600261099881611591565b8282905085859050146109d7576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610a93575f8484838181106109f8576109f76121c5565b5b9050602002016020810190610a0d919061221c565b90506001151581151503610a5257610a4d878784818110610a3157610a306121c5565b5b9050602002016020810190610a469190611c43565b6001611577565b610a85565b610a84878784818110610a6857610a676121c5565b5b9050602002016020810190610a7d9190611c43565b6001611531565b5b5080806001019150506109d9565b505050505050565b5f610aa46115c6565b90508054600382558015610ad65760018160011c14303b10610acd5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610ae79190612350565b90505f610b1630835f015173ffffffffffffffffffffffffffffffffffffffff166114fe90919063ffffffff16565b90508160800151811015610b6c57815f01518183608001516040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610b639392919061237b565b60405180910390fd5b5f82602001511480610b8157505f8260400151145b80610b8f57505f8260600151145b80610ba1575081602001518260800151105b15610bd8576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f015160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060405180608001604052808360400151815260200183606001518152602001428152602001836020015181525060025f820151815f01556020820151816001015560408201518160020155606082015181600301559050508160800151600681905550610c87336115ef565b610c923360016116c5565b815f015173ffffffffffffffffffffffffffffffffffffffff167f2364e5ed5f8639e9bae046dc67aabf43f410e931f25143a10f5e1a8744ad717e8360200151846040015185606001518660800151604051610cf19493929190611f21565b60405180910390a250508015610d30576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610d4281611706565b5f8585810190610d5291906124c9565b90505f8160200151806020019051810190610d6d9190612524565b9050610dbe825f01518260075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661172d9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610e32939291906125b4565b604051602081830303815290604052604051610e4e9190611f01565b60405180910390a28060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610e8f611540565b610e998282611531565b5050565b60605f8383810190610eaf9190612350565b9050604051806080016040528060016002811115610ed057610ecf6125f0565b5b8152602001825f015173ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052808460800151815250604051602001610f339190612646565b604051602081830303815290604052815250604051602001610f55919061275c565b60405160208183030381529060405291505092915050565b5f8082610f798561094f565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610fc5611540565b610fce5f611776565b565b600281565b6002805f0154908060010154908060020154908060030154905084565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b5f611023611540565b61102c8461183c565b61106d57836040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401611064919061279f565b60405180910390fd5b6001805f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060085f8154809291906110d3906127cb565b91905055505f6110e16107f0565b905042600280018190555060025f015481116111015760025f0154611112565b60025f01548161111191906120c1565b5b600260030181905550611167858260075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661172d9092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687846040516020016111d5939291906125b4565b6040516020818303038152906040526040516111f19190611f01565b60405180910390a260019150509392505050565b600261121081611591565b82829050858590501461124f576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156112b3576112a6868683818110611272576112716121c5565b5b90506020020160208101906112879190611c43565b85858481811061129a576112996121c5565b5b90506020020135611577565b8080600101915050611251565b505050505050565b60065481565b6001602052805f5260405f205f915054906101000a900460ff1681565b5f6112e88461183c565b90509392505050565b60026112fc81611591565b82829050858590501461133b576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561139f5761139286868381811061135e5761135d6121c5565b5b90506020020160208101906113739190611c43565b858584818110611386576113856121c5565b5b90506020020135611531565b808060010191505061133d565b505050505050565b60085481565b600181565b6113ba611540565b63389a75e1600c52805f526020600c2080544211156113e057636f5e88185f526004601cfd5b5f8155506113ed81611776565b50565b6113f8611540565b8060601b61140d57637448fbae5f526004601cfd5b61141681611776565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff16611439610ff2565b73ffffffffffffffffffffffffffffffffffffffff1614806114655750611464826002600117610f6d565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806114f757506114f6826118fb565b5b9050919050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b61153c82825f611974565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611575576382b429005f526004601cfd5b565b61158382826001611974565b5050565b5f6202a300905090565b638b78c6d8195433146115c357638b78c6d8600c52335f52806020600c2054166115c2576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6115f76119cc565b1561166f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561163157630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506116c2565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b638b78c6d8600c52335f52806020600c20541661172a576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f5114171661176d576390b8ec185f526004601cfd5b5f603452505050565b61177e6119cc565b156117e3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550611839565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f806118466107f0565b90505f811180156118a057508061189d3060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114fe90919063ffffffff16565b10155b80156118f3575060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b915050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061196d575061196c826119d0565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361199657848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a7e81611a4a565b8114611a88575f80fd5b50565b5f81359050611a9981611a75565b92915050565b5f60208284031215611ab457611ab3611a42565b5b5f611ac184828501611a8b565b91505092915050565b5f8115159050919050565b611ade81611aca565b82525050565b5f602082019050611af75f830184611ad5565b92915050565b5f819050919050565b611b0f81611afd565b82525050565b5f602082019050611b285f830184611b06565b92915050565b611b3781611afd565b8114611b41575f80fd5b50565b5f81359050611b5281611b2e565b92915050565b5f60208284031215611b6d57611b6c611a42565b5b5f611b7a84828501611b44565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611bac82611b83565b9050919050565b611bbc81611ba2565b8114611bc6575f80fd5b50565b5f81359050611bd781611bb3565b92915050565b5f8060408385031215611bf357611bf2611a42565b5b5f611c0085828601611bc9565b9250506020611c1185828601611b44565b9150509250929050565b611c2481611a4a565b82525050565b5f602082019050611c3d5f830184611c1b565b92915050565b5f60208284031215611c5857611c57611a42565b5b5f611c6584828501611bc9565b91505092915050565b611c7781611ba2565b82525050565b5f602082019050611c905f830184611c6e565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611cb757611cb6611c96565b5b8235905067ffffffffffffffff811115611cd457611cd3611c9a565b5b602083019150836020820283011115611cf057611cef611c9e565b5b9250929050565b5f8083601f840112611d0c57611d0b611c96565b5b8235905067ffffffffffffffff811115611d2957611d28611c9a565b5b602083019150836020820283011115611d4557611d44611c9e565b5b9250929050565b5f805f8060408587031215611d6457611d63611a42565b5b5f85013567ffffffffffffffff811115611d8157611d80611a46565b5b611d8d87828801611ca2565b9450945050602085013567ffffffffffffffff811115611db057611daf611a46565b5b611dbc87828801611cf7565b925092505092959194509250565b5f8083601f840112611ddf57611dde611c96565b5b8235905067ffffffffffffffff811115611dfc57611dfb611c9a565b5b602083019150836001820283011115611e1857611e17611c9e565b5b9250929050565b5f8060208385031215611e3557611e34611a42565b5b5f83013567ffffffffffffffff811115611e5257611e51611a46565b5b611e5e85828601611dca565b92509250509250929050565b5f604082019050611e7d5f830185611b06565b611e8a6020830184611c6e565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ed382611e91565b611edd8185611e9b565b9350611eed818560208601611eab565b611ef681611eb9565b840191505092915050565b5f6020820190508181035f830152611f198184611ec9565b905092915050565b5f608082019050611f345f830187611b06565b611f416020830186611b06565b611f4e6040830185611b06565b611f5b6060830184611b06565b95945050505050565b5f805f60408486031215611f7b57611f7a611a42565b5b5f611f8886828701611bc9565b935050602084013567ffffffffffffffff811115611fa957611fa8611a46565b5b611fb586828701611dca565b92509250509250925092565b5f8083601f840112611fd657611fd5611c96565b5b8235905067ffffffffffffffff811115611ff357611ff2611c9a565b5b60208301915083602082028301111561200f5761200e611c9e565b5b9250929050565b5f805f806040858703121561202e5761202d611a42565b5b5f85013567ffffffffffffffff81111561204b5761204a611a46565b5b61205787828801611ca2565b9450945050602085013567ffffffffffffffff81111561207a57612079611a46565b5b61208687828801611fc1565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6120cb82611afd565b91506120d683611afd565b92508282039050818111156120ee576120ed612094565b5b92915050565b5f6120fe82611afd565b915061210983611afd565b925082820261211781611afd565b9150828204841483151761212e5761212d612094565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61216c82611afd565b915061217783611afd565b92508261218757612186612135565b5b828204905092915050565b5f61219c82611afd565b91506121a783611afd565b92508282019050808211156121bf576121be612094565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6121fb81611aca565b8114612205575f80fd5b50565b5f81359050612216816121f2565b92915050565b5f6020828403121561223157612230611a42565b5b5f61223e84828501612208565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61228182611eb9565b810181811067ffffffffffffffff821117156122a05761229f61224b565b5b80604052505050565b5f6122b2611a39565b90506122be8282612278565b919050565b5f80fd5b5f60a082840312156122dc576122db612247565b5b6122e660a06122a9565b90505f6122f584828501611bc9565b5f83015250602061230884828501611b44565b602083015250604061231c84828501611b44565b604083015250606061233084828501611b44565b606083015250608061234484828501611b44565b60808301525092915050565b5f60a0828403121561236557612364611a42565b5b5f612372848285016122c7565b91505092915050565b5f60608201905061238e5f830186611c6e565b61239b6020830185611b06565b6123a86040830184611b06565b949350505050565b5f80fd5b5f67ffffffffffffffff8211156123ce576123cd61224b565b5b6123d782611eb9565b9050602081019050919050565b828183375f83830152505050565b5f6124046123ff846123b4565b6122a9565b9050828152602081018484840111156124205761241f6123b0565b5b61242b8482856123e4565b509392505050565b5f82601f83011261244757612446611c96565b5b81356124578482602086016123f2565b91505092915050565b5f6040828403121561247557612474612247565b5b61247f60406122a9565b90505f61248e84828501611bc9565b5f83015250602082013567ffffffffffffffff8111156124b1576124b06122c3565b5b6124bd84828501612433565b60208301525092915050565b5f602082840312156124de576124dd611a42565b5b5f82013567ffffffffffffffff8111156124fb576124fa611a46565b5b61250784828501612460565b91505092915050565b5f8151905061251e81611b2e565b92915050565b5f6020828403121561253957612538611a42565b5b5f61254684828501612510565b91505092915050565b5f8160601b9050919050565b5f6125658261254f565b9050919050565b5f6125768261255b565b9050919050565b61258e61258982611ba2565b61256c565b82525050565b5f819050919050565b6125ae6125a982611afd565b612594565b82525050565b5f6125bf828661257d565b6014820191506125cf828561257d565b6014820191506125df828461259d565b602082019150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b61262681611afd565b82525050565b602082015f8201516126405f85018261261d565b50505050565b5f6020820190506126595f83018461262c565b92915050565b600381106126705761266f6125f0565b5b50565b5f8190506126808261265f565b919050565b5f61268f82612673565b9050919050565b61269f81612685565b82525050565b6126ae81611ba2565b82525050565b5f82825260208201905092915050565b5f6126ce82611e91565b6126d881856126b4565b93506126e8818560208601611eab565b6126f181611eb9565b840191505092915050565b5f608083015f8301516127115f860182612696565b50602083015161272460208601826126a5565b50604083015161273760408601826126a5565b506060830151848203606086015261274f82826126c4565b9150508091505092915050565b5f6020820190508181035f83015261277481846126fc565b905092915050565b50565b5f61278a5f83611e9b565b91506127958261277c565b5f82019050919050565b5f6040820190506127b25f830184611c6e565b81810360208301526127c38161277f565b905092915050565b5f6127d582611afd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361280757612806612094565b5b60018201905091905056fea2646970667358221220f53feea738e51a4389a3e73f1d1445615cf19b70818832070235b4e4358c768664736f6c634300081a0033",c=class c extends h.DeployableTarget{constructor(){super(...arguments),this.abi=a.T}async owner(f){return await a.xw(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return await a.Rw(this._config,{address:this.assertValidAddress(),args:[],...f})}async reward(f){return await a.Vw(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,b){return await a.Mw(this._config,{address:this.assertValidAddress(),args:[f],...b})}async asset(f){return await a.hw(this._config,{address:this.assertValidAddress(),...f})}async cgdaParams(f){const[b,e,d,t]=await a.Nw(this._config,{address:this.assertValidAddress(),...f});return{rewardDecay:b,rewardBoost:e,lastClaimTime:d,currentReward:t}}async totalBudget(f){return await a._w(this._config,{address:this.assertValidAddress(),...f})}async claim(f,b){return await this.awaitResult(this.claimRaw(f,b))}async claimRaw(f,b){const{request:e,result:d}=await a.aT(this._config,{address:this.assertValidAddress(),args:[i.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a.qw(this._config,e),result:d}}async clawback(f,b){return await this.awaitResult(this.clawbackRaw(f,b))}async clawbackRaw(f,b){const{request:e,result:d}=await a.iT(this._config,{address:this.assertValidAddress(),args:[i.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a.Gw(this._config,e),result:d}}async isClaimable(f,b){return await a.Hw(this._config,{address:this.assertValidAddress(),args:[f.target,f.data],...b})}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[b,e]=await Promise.all([this.currentReward(f),n.getErc20Balance(this._config,await this.asset(),this.assertValidAddress(),f)]);return e-b}async currentReward(f){return await a.Ow(this._config,{address:this.assertValidAddress(),...f})}async getTotalBudget(f){var b;return((b=this.payload)==null?void 0:b.totalBudget)!==void 0?this.payload.totalBudget:await this.totalBudget(f)}buildParameters(f,b){const[e,d]=this.validateDeploymentConfig(f,b);return{abi:a.T,bytecode:w,args:[o(e)],...this.optionallyAttachAccount(d.account)}}buildClawbackData(f){return s.encodeAbiParameters([{type:"uint256"}],[f])}buildClaimData(){return s.zeroHash}};c.bases={31337:void 0,...u.CGDAIncentive},c.registryType=n.RegistryType.INCENTIVE;let r=c;function o({asset:l,initialReward:f,rewardDecay:b,rewardBoost:e,totalBudget:d}){return s.encodeAbiParameters([{type:"address",name:"asset"},{type:"uint256",name:"initialReward"},{type:"uint256",name:"rewardDecay"},{type:"uint256",name:"rewardBoost"},{type:"uint256",name:"totalBudget"}],[l,f,b,e,d])}exports.cgdaIncentiveAbi=a.T;exports.CGDAIncentive=r;exports.prepareCGDAIncentivePayload=o;
2
2
  //# sourceMappingURL=CGDAIncentive.cjs.map
@@ -1,10 +1,10 @@
1
- import { T as t, ay as o, az as l, aA as h, aB as u, aC as w, aD as g, aE as y, aF as m, aG as p, aH as A, aI as R, aJ as V, aK as _ } from "../generated-D2xuTYvu.js";
1
+ import { T as t, ay as o, az as l, aA as h, aB as u, aC as w, aD as g, aE as y, aF as m, aG as p, aH as A, aI as R, aJ as V, aK as _ } from "../generated-Hbd0NIf9.js";
2
2
  import { encodeAbiParameters as i, zeroHash as B } from "viem";
3
- import { C } from "../deployments-Dcywzp8T.js";
4
- import { DeployableTarget as P } from "../Deployable/DeployableTarget.js";
3
+ import { C } from "../deployments-DzhmI-zL.js";
4
+ import { DeployableTarget as T } from "../Deployable/DeployableTarget.js";
5
5
  import { prepareClaimPayload as s } from "../claiming.js";
6
- import { RegistryType as T, getErc20Balance as D } from "../utils.js";
7
- const E = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612848806100bd5f395ff3fe6080604052600436106101ed575f3560e01c806354d1f13d1161010c578063c884ef831161009f578063ec87621c1161006e578063ec87621c1461069d578063f04e283e146106c7578063f2fde38b146106e3578063fe9fbb80146106ff578063fee81cf41461073b576101ed565b8063c884ef83146105d3578063db09da121461060f578063dcc213611461064b578063dcc59b6f14610673576101ed565b80638da5cb5b116100db5780638da5cb5b1461051b578063bb1757cf14610545578063be4994f814610581578063c78da39a146105a9576101ed565b806354d1f13d146104b0578063715018a6146104ba57806375b238fc146104c457806375ef18d0146104ee576101ed565b80632de9480711610184578063474f5a4411610153578063474f5a44146103df5780634a4ee7b11461041c5780634e7165a214610438578063514e62fc14610474576101ed565b80632de948071461032957806338d52e0f146103655780634359d28a1461038f578063439fab91146103b7576101ed565b80631cd64df4116101c05780631cd64df41461028f578063228cb733146102cb57806325692962146102f557806328d6183b146102ff576101ed565b806301ffc9a7146101f157806307621eca1461022d578063183a4f6e146102575780631c10893f14610273575b5f80fd5b3480156101fc575f80fd5b5061021760048036038101906102129190611a9f565b610777565b6040516102249190611ae4565b60405180910390f35b348015610238575f80fd5b506102416107f0565b60405161024e9190611b15565b60405180910390f35b610271600480360381019061026c9190611b58565b610899565b005b61028d60048036038101906102889190611bdd565b6108a6565b005b34801561029a575f80fd5b506102b560048036038101906102b09190611bdd565b6108bc565b6040516102c29190611ae4565b60405180910390f35b3480156102d6575f80fd5b506102df6108d2565b6040516102ec9190611b15565b60405180910390f35b6102fd6108d7565b005b34801561030a575f80fd5b50610313610928565b6040516103209190611c2a565b60405180910390f35b348015610334575f80fd5b5061034f600480360381019061034a9190611c43565b61094f565b60405161035c9190611b15565b60405180910390f35b348015610370575f80fd5b50610379610968565b6040516103869190611c7d565b60405180910390f35b34801561039a575f80fd5b506103b560048036038101906103b09190611d4c565b61098d565b005b3480156103c2575f80fd5b506103dd60048036038101906103d89190611e1f565b610a9b565b005b3480156103ea575f80fd5b5061040560048036038101906104009190611e1f565b610d35565b604051610413929190611e6a565b60405180910390f35b61043660048036038101906104319190611bdd565b610e87565b005b348015610443575f80fd5b5061045e60048036038101906104599190611e1f565b610e9d565b60405161046b9190611f01565b60405180910390f35b34801561047f575f80fd5b5061049a60048036038101906104959190611bdd565b610f6d565b6040516104a79190611ae4565b60405180910390f35b6104b8610f84565b005b6104c2610fbd565b005b3480156104cf575f80fd5b506104d8610fd0565b6040516104e59190611b15565b60405180910390f35b3480156104f9575f80fd5b50610502610fd5565b6040516105129493929190611f21565b60405180910390f35b348015610526575f80fd5b5061052f610ff2565b60405161053c9190611c7d565b60405180910390f35b348015610550575f80fd5b5061056b60048036038101906105669190611f64565b61101a565b6040516105789190611ae4565b60405180910390f35b34801561058c575f80fd5b506105a760048036038101906105a29190612016565b611205565b005b3480156105b4575f80fd5b506105bd6112bb565b6040516105ca9190611b15565b60405180910390f35b3480156105de575f80fd5b506105f960048036038101906105f49190611c43565b6112c1565b6040516106069190611ae4565b60405180910390f35b34801561061a575f80fd5b5061063560048036038101906106309190611f64565b6112de565b6040516106429190611ae4565b60405180910390f35b348015610656575f80fd5b50610671600480360381019061066c9190612016565b6112f1565b005b34801561067e575f80fd5b506106876113a7565b6040516106949190611b15565b60405180910390f35b3480156106a8575f80fd5b506106b16113ad565b6040516106be9190611b15565b60405180910390f35b6106e160048036038101906106dc9190611c43565b6113b2565b005b6106fd60048036038101906106f89190611c43565b6113f0565b005b34801561070a575f80fd5b5061072560048036038101906107209190611c43565b611419565b6040516107329190611ae4565b60405180910390f35b348015610746575f80fd5b50610761600480360381019061075c9190611c43565b61146c565b60405161076e9190611b15565b60405180910390f35b5f7f53cf8555000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107e957506107e882611485565b5b9050919050565b5f8060028001544261080291906120c1565b90505f61084f3060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114fe90919063ffffffff16565b90505f610e106002600101548461086691906120f4565b6108709190612162565b6002600301546108809190612192565b905081811161088f5780610891565b815b935050505090565b6108a33382611531565b50565b6108ae611540565b6108b88282611577565b5050565b5f81826108c88561094f565b1614905092915050565b5f5481565b5f6108e0611587565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f53cf855500000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600261099881611591565b8282905085859050146109d7576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610a93575f8484838181106109f8576109f76121c5565b5b9050602002016020810190610a0d919061221c565b90506001151581151503610a5257610a4d878784818110610a3157610a306121c5565b5b9050602002016020810190610a469190611c43565b6001611577565b610a85565b610a84878784818110610a6857610a676121c5565b5b9050602002016020810190610a7d9190611c43565b6001611531565b5b5080806001019150506109d9565b505050505050565b5f610aa46115c6565b90508054600382558015610ad65760018160011c14303b10610acd5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610ae79190612350565b90505f610b1630835f015173ffffffffffffffffffffffffffffffffffffffff166114fe90919063ffffffff16565b90508160800151811015610b6c57815f01518183608001516040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610b639392919061237b565b60405180910390fd5b5f82602001511480610b8157505f8260400151145b80610b8f57505f8260600151145b80610ba1575081602001518260800151105b15610bd8576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f015160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060405180608001604052808360400151815260200183606001518152602001428152602001836020015181525060025f820151815f01556020820151816001015560408201518160020155606082015181600301559050508160800151600681905550610c87336115ef565b610c923360016116c5565b815f015173ffffffffffffffffffffffffffffffffffffffff167f2364e5ed5f8639e9bae046dc67aabf43f410e931f25143a10f5e1a8744ad717e8360200151846040015185606001518660800151604051610cf19493929190611f21565b60405180910390a250508015610d30576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610d4281611706565b5f8585810190610d5291906124c9565b90505f8160200151806020019051810190610d6d9190612524565b9050610dbe825f01518260075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661172d9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610e32939291906125b4565b604051602081830303815290604052604051610e4e9190611f01565b60405180910390a28060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610e8f611540565b610e998282611531565b5050565b60605f8383810190610eaf9190612350565b9050604051806080016040528060016002811115610ed057610ecf6125f0565b5b8152602001825f015173ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052808460800151815250604051602001610f339190612646565b604051602081830303815290604052815250604051602001610f55919061275c565b60405160208183030381529060405291505092915050565b5f8082610f798561094f565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610fc5611540565b610fce5f611776565b565b600281565b6002805f0154908060010154908060020154908060030154905084565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b5f611023611540565b61102c8461183c565b61106d57836040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401611064919061279f565b60405180910390fd5b6001805f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060085f8154809291906110d3906127cb565b91905055505f6110e16107f0565b905042600280018190555060025f015481116111015760025f0154611112565b60025f01548161111191906120c1565b5b600260030181905550611167858260075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661172d9092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687846040516020016111d5939291906125b4565b6040516020818303038152906040526040516111f19190611f01565b60405180910390a260019150509392505050565b600261121081611591565b82829050858590501461124f576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156112b3576112a6868683818110611272576112716121c5565b5b90506020020160208101906112879190611c43565b85858481811061129a576112996121c5565b5b90506020020135611577565b8080600101915050611251565b505050505050565b60065481565b6001602052805f5260405f205f915054906101000a900460ff1681565b5f6112e88461183c565b90509392505050565b60026112fc81611591565b82829050858590501461133b576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561139f5761139286868381811061135e5761135d6121c5565b5b90506020020160208101906113739190611c43565b858584818110611386576113856121c5565b5b90506020020135611531565b808060010191505061133d565b505050505050565b60085481565b600181565b6113ba611540565b63389a75e1600c52805f526020600c2080544211156113e057636f5e88185f526004601cfd5b5f8155506113ed81611776565b50565b6113f8611540565b8060601b61140d57637448fbae5f526004601cfd5b61141681611776565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff16611439610ff2565b73ffffffffffffffffffffffffffffffffffffffff1614806114655750611464826002600117610f6d565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806114f757506114f6826118fb565b5b9050919050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b61153c82825f611974565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611575576382b429005f526004601cfd5b565b61158382826001611974565b5050565b5f6202a300905090565b638b78c6d8195433146115c357638b78c6d8600c52335f52806020600c2054166115c2576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6115f76119cc565b1561166f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561163157630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506116c2565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b638b78c6d8600c52335f52806020600c20541661172a576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f5114171661176d576390b8ec185f526004601cfd5b5f603452505050565b61177e6119cc565b156117e3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550611839565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f806118466107f0565b90505f811180156118a057508061189d3060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114fe90919063ffffffff16565b10155b80156118f3575060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b915050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061196d575061196c826119d0565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361199657848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a7e81611a4a565b8114611a88575f80fd5b50565b5f81359050611a9981611a75565b92915050565b5f60208284031215611ab457611ab3611a42565b5b5f611ac184828501611a8b565b91505092915050565b5f8115159050919050565b611ade81611aca565b82525050565b5f602082019050611af75f830184611ad5565b92915050565b5f819050919050565b611b0f81611afd565b82525050565b5f602082019050611b285f830184611b06565b92915050565b611b3781611afd565b8114611b41575f80fd5b50565b5f81359050611b5281611b2e565b92915050565b5f60208284031215611b6d57611b6c611a42565b5b5f611b7a84828501611b44565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611bac82611b83565b9050919050565b611bbc81611ba2565b8114611bc6575f80fd5b50565b5f81359050611bd781611bb3565b92915050565b5f8060408385031215611bf357611bf2611a42565b5b5f611c0085828601611bc9565b9250506020611c1185828601611b44565b9150509250929050565b611c2481611a4a565b82525050565b5f602082019050611c3d5f830184611c1b565b92915050565b5f60208284031215611c5857611c57611a42565b5b5f611c6584828501611bc9565b91505092915050565b611c7781611ba2565b82525050565b5f602082019050611c905f830184611c6e565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611cb757611cb6611c96565b5b8235905067ffffffffffffffff811115611cd457611cd3611c9a565b5b602083019150836020820283011115611cf057611cef611c9e565b5b9250929050565b5f8083601f840112611d0c57611d0b611c96565b5b8235905067ffffffffffffffff811115611d2957611d28611c9a565b5b602083019150836020820283011115611d4557611d44611c9e565b5b9250929050565b5f805f8060408587031215611d6457611d63611a42565b5b5f85013567ffffffffffffffff811115611d8157611d80611a46565b5b611d8d87828801611ca2565b9450945050602085013567ffffffffffffffff811115611db057611daf611a46565b5b611dbc87828801611cf7565b925092505092959194509250565b5f8083601f840112611ddf57611dde611c96565b5b8235905067ffffffffffffffff811115611dfc57611dfb611c9a565b5b602083019150836001820283011115611e1857611e17611c9e565b5b9250929050565b5f8060208385031215611e3557611e34611a42565b5b5f83013567ffffffffffffffff811115611e5257611e51611a46565b5b611e5e85828601611dca565b92509250509250929050565b5f604082019050611e7d5f830185611b06565b611e8a6020830184611c6e565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ed382611e91565b611edd8185611e9b565b9350611eed818560208601611eab565b611ef681611eb9565b840191505092915050565b5f6020820190508181035f830152611f198184611ec9565b905092915050565b5f608082019050611f345f830187611b06565b611f416020830186611b06565b611f4e6040830185611b06565b611f5b6060830184611b06565b95945050505050565b5f805f60408486031215611f7b57611f7a611a42565b5b5f611f8886828701611bc9565b935050602084013567ffffffffffffffff811115611fa957611fa8611a46565b5b611fb586828701611dca565b92509250509250925092565b5f8083601f840112611fd657611fd5611c96565b5b8235905067ffffffffffffffff811115611ff357611ff2611c9a565b5b60208301915083602082028301111561200f5761200e611c9e565b5b9250929050565b5f805f806040858703121561202e5761202d611a42565b5b5f85013567ffffffffffffffff81111561204b5761204a611a46565b5b61205787828801611ca2565b9450945050602085013567ffffffffffffffff81111561207a57612079611a46565b5b61208687828801611fc1565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6120cb82611afd565b91506120d683611afd565b92508282039050818111156120ee576120ed612094565b5b92915050565b5f6120fe82611afd565b915061210983611afd565b925082820261211781611afd565b9150828204841483151761212e5761212d612094565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61216c82611afd565b915061217783611afd565b92508261218757612186612135565b5b828204905092915050565b5f61219c82611afd565b91506121a783611afd565b92508282019050808211156121bf576121be612094565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6121fb81611aca565b8114612205575f80fd5b50565b5f81359050612216816121f2565b92915050565b5f6020828403121561223157612230611a42565b5b5f61223e84828501612208565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61228182611eb9565b810181811067ffffffffffffffff821117156122a05761229f61224b565b5b80604052505050565b5f6122b2611a39565b90506122be8282612278565b919050565b5f80fd5b5f60a082840312156122dc576122db612247565b5b6122e660a06122a9565b90505f6122f584828501611bc9565b5f83015250602061230884828501611b44565b602083015250604061231c84828501611b44565b604083015250606061233084828501611b44565b606083015250608061234484828501611b44565b60808301525092915050565b5f60a0828403121561236557612364611a42565b5b5f612372848285016122c7565b91505092915050565b5f60608201905061238e5f830186611c6e565b61239b6020830185611b06565b6123a86040830184611b06565b949350505050565b5f80fd5b5f67ffffffffffffffff8211156123ce576123cd61224b565b5b6123d782611eb9565b9050602081019050919050565b828183375f83830152505050565b5f6124046123ff846123b4565b6122a9565b9050828152602081018484840111156124205761241f6123b0565b5b61242b8482856123e4565b509392505050565b5f82601f83011261244757612446611c96565b5b81356124578482602086016123f2565b91505092915050565b5f6040828403121561247557612474612247565b5b61247f60406122a9565b90505f61248e84828501611bc9565b5f83015250602082013567ffffffffffffffff8111156124b1576124b06122c3565b5b6124bd84828501612433565b60208301525092915050565b5f602082840312156124de576124dd611a42565b5b5f82013567ffffffffffffffff8111156124fb576124fa611a46565b5b61250784828501612460565b91505092915050565b5f8151905061251e81611b2e565b92915050565b5f6020828403121561253957612538611a42565b5b5f61254684828501612510565b91505092915050565b5f8160601b9050919050565b5f6125658261254f565b9050919050565b5f6125768261255b565b9050919050565b61258e61258982611ba2565b61256c565b82525050565b5f819050919050565b6125ae6125a982611afd565b612594565b82525050565b5f6125bf828661257d565b6014820191506125cf828561257d565b6014820191506125df828461259d565b602082019150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b61262681611afd565b82525050565b602082015f8201516126405f85018261261d565b50505050565b5f6020820190506126595f83018461262c565b92915050565b600381106126705761266f6125f0565b5b50565b5f8190506126808261265f565b919050565b5f61268f82612673565b9050919050565b61269f81612685565b82525050565b6126ae81611ba2565b82525050565b5f82825260208201905092915050565b5f6126ce82611e91565b6126d881856126b4565b93506126e8818560208601611eab565b6126f181611eb9565b840191505092915050565b5f608083015f8301516127115f860182612696565b50602083015161272460208601826126a5565b50604083015161273760408601826126a5565b506060830151848203606086015261274f82826126c4565b9150508091505092915050565b5f6020820190508181035f83015261277481846126fc565b905092915050565b50565b5f61278a5f83611e9b565b91506127958261277c565b5f82019050919050565b5f6040820190506127b25f830184611c6e565b81810360208301526127c38161277f565b905092915050565b5f6127d582611afd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361280757612806612094565b5b60018201905091905056fea2646970667358221220f53feea738e51a4389a3e73f1d1445615cf19b70818832070235b4e4358c768664736f6c634300081a0033", d = class d extends P {
6
+ import { RegistryType as P, getErc20Balance as D } from "../utils.js";
7
+ const k = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612848806100bd5f395ff3fe6080604052600436106101ed575f3560e01c806354d1f13d1161010c578063c884ef831161009f578063ec87621c1161006e578063ec87621c1461069d578063f04e283e146106c7578063f2fde38b146106e3578063fe9fbb80146106ff578063fee81cf41461073b576101ed565b8063c884ef83146105d3578063db09da121461060f578063dcc213611461064b578063dcc59b6f14610673576101ed565b80638da5cb5b116100db5780638da5cb5b1461051b578063bb1757cf14610545578063be4994f814610581578063c78da39a146105a9576101ed565b806354d1f13d146104b0578063715018a6146104ba57806375b238fc146104c457806375ef18d0146104ee576101ed565b80632de9480711610184578063474f5a4411610153578063474f5a44146103df5780634a4ee7b11461041c5780634e7165a214610438578063514e62fc14610474576101ed565b80632de948071461032957806338d52e0f146103655780634359d28a1461038f578063439fab91146103b7576101ed565b80631cd64df4116101c05780631cd64df41461028f578063228cb733146102cb57806325692962146102f557806328d6183b146102ff576101ed565b806301ffc9a7146101f157806307621eca1461022d578063183a4f6e146102575780631c10893f14610273575b5f80fd5b3480156101fc575f80fd5b5061021760048036038101906102129190611a9f565b610777565b6040516102249190611ae4565b60405180910390f35b348015610238575f80fd5b506102416107f0565b60405161024e9190611b15565b60405180910390f35b610271600480360381019061026c9190611b58565b610899565b005b61028d60048036038101906102889190611bdd565b6108a6565b005b34801561029a575f80fd5b506102b560048036038101906102b09190611bdd565b6108bc565b6040516102c29190611ae4565b60405180910390f35b3480156102d6575f80fd5b506102df6108d2565b6040516102ec9190611b15565b60405180910390f35b6102fd6108d7565b005b34801561030a575f80fd5b50610313610928565b6040516103209190611c2a565b60405180910390f35b348015610334575f80fd5b5061034f600480360381019061034a9190611c43565b61094f565b60405161035c9190611b15565b60405180910390f35b348015610370575f80fd5b50610379610968565b6040516103869190611c7d565b60405180910390f35b34801561039a575f80fd5b506103b560048036038101906103b09190611d4c565b61098d565b005b3480156103c2575f80fd5b506103dd60048036038101906103d89190611e1f565b610a9b565b005b3480156103ea575f80fd5b5061040560048036038101906104009190611e1f565b610d35565b604051610413929190611e6a565b60405180910390f35b61043660048036038101906104319190611bdd565b610e87565b005b348015610443575f80fd5b5061045e60048036038101906104599190611e1f565b610e9d565b60405161046b9190611f01565b60405180910390f35b34801561047f575f80fd5b5061049a60048036038101906104959190611bdd565b610f6d565b6040516104a79190611ae4565b60405180910390f35b6104b8610f84565b005b6104c2610fbd565b005b3480156104cf575f80fd5b506104d8610fd0565b6040516104e59190611b15565b60405180910390f35b3480156104f9575f80fd5b50610502610fd5565b6040516105129493929190611f21565b60405180910390f35b348015610526575f80fd5b5061052f610ff2565b60405161053c9190611c7d565b60405180910390f35b348015610550575f80fd5b5061056b60048036038101906105669190611f64565b61101a565b6040516105789190611ae4565b60405180910390f35b34801561058c575f80fd5b506105a760048036038101906105a29190612016565b611205565b005b3480156105b4575f80fd5b506105bd6112bb565b6040516105ca9190611b15565b60405180910390f35b3480156105de575f80fd5b506105f960048036038101906105f49190611c43565b6112c1565b6040516106069190611ae4565b60405180910390f35b34801561061a575f80fd5b5061063560048036038101906106309190611f64565b6112de565b6040516106429190611ae4565b60405180910390f35b348015610656575f80fd5b50610671600480360381019061066c9190612016565b6112f1565b005b34801561067e575f80fd5b506106876113a7565b6040516106949190611b15565b60405180910390f35b3480156106a8575f80fd5b506106b16113ad565b6040516106be9190611b15565b60405180910390f35b6106e160048036038101906106dc9190611c43565b6113b2565b005b6106fd60048036038101906106f89190611c43565b6113f0565b005b34801561070a575f80fd5b5061072560048036038101906107209190611c43565b611419565b6040516107329190611ae4565b60405180910390f35b348015610746575f80fd5b50610761600480360381019061075c9190611c43565b61146c565b60405161076e9190611b15565b60405180910390f35b5f7f53cf8555000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107e957506107e882611485565b5b9050919050565b5f8060028001544261080291906120c1565b90505f61084f3060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114fe90919063ffffffff16565b90505f610e106002600101548461086691906120f4565b6108709190612162565b6002600301546108809190612192565b905081811161088f5780610891565b815b935050505090565b6108a33382611531565b50565b6108ae611540565b6108b88282611577565b5050565b5f81826108c88561094f565b1614905092915050565b5f5481565b5f6108e0611587565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f53cf855500000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600261099881611591565b8282905085859050146109d7576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610a93575f8484838181106109f8576109f76121c5565b5b9050602002016020810190610a0d919061221c565b90506001151581151503610a5257610a4d878784818110610a3157610a306121c5565b5b9050602002016020810190610a469190611c43565b6001611577565b610a85565b610a84878784818110610a6857610a676121c5565b5b9050602002016020810190610a7d9190611c43565b6001611531565b5b5080806001019150506109d9565b505050505050565b5f610aa46115c6565b90508054600382558015610ad65760018160011c14303b10610acd5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610ae79190612350565b90505f610b1630835f015173ffffffffffffffffffffffffffffffffffffffff166114fe90919063ffffffff16565b90508160800151811015610b6c57815f01518183608001516040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610b639392919061237b565b60405180910390fd5b5f82602001511480610b8157505f8260400151145b80610b8f57505f8260600151145b80610ba1575081602001518260800151105b15610bd8576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f015160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060405180608001604052808360400151815260200183606001518152602001428152602001836020015181525060025f820151815f01556020820151816001015560408201518160020155606082015181600301559050508160800151600681905550610c87336115ef565b610c923360016116c5565b815f015173ffffffffffffffffffffffffffffffffffffffff167f2364e5ed5f8639e9bae046dc67aabf43f410e931f25143a10f5e1a8744ad717e8360200151846040015185606001518660800151604051610cf19493929190611f21565b60405180910390a250508015610d30576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610d4281611706565b5f8585810190610d5291906124c9565b90505f8160200151806020019051810190610d6d9190612524565b9050610dbe825f01518260075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661172d9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610e32939291906125b4565b604051602081830303815290604052604051610e4e9190611f01565b60405180910390a28060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610e8f611540565b610e998282611531565b5050565b60605f8383810190610eaf9190612350565b9050604051806080016040528060016002811115610ed057610ecf6125f0565b5b8152602001825f015173ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff16815260200160405180602001604052808460800151815250604051602001610f339190612646565b604051602081830303815290604052815250604051602001610f55919061275c565b60405160208183030381529060405291505092915050565b5f8082610f798561094f565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610fc5611540565b610fce5f611776565b565b600281565b6002805f0154908060010154908060020154908060030154905084565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b5f611023611540565b61102c8461183c565b61106d57836040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401611064919061279f565b60405180910390fd5b6001805f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060085f8154809291906110d3906127cb565b91905055505f6110e16107f0565b905042600280018190555060025f015481116111015760025f0154611112565b60025f01548161111191906120c1565b5b600260030181905550611167858260075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661172d9092919063ffffffff16565b8473ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687846040516020016111d5939291906125b4565b6040516020818303038152906040526040516111f19190611f01565b60405180910390a260019150509392505050565b600261121081611591565b82829050858590501461124f576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156112b3576112a6868683818110611272576112716121c5565b5b90506020020160208101906112879190611c43565b85858481811061129a576112996121c5565b5b90506020020135611577565b8080600101915050611251565b505050505050565b60065481565b6001602052805f5260405f205f915054906101000a900460ff1681565b5f6112e88461183c565b90509392505050565b60026112fc81611591565b82829050858590501461133b576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561139f5761139286868381811061135e5761135d6121c5565b5b90506020020160208101906113739190611c43565b858584818110611386576113856121c5565b5b90506020020135611531565b808060010191505061133d565b505050505050565b60085481565b600181565b6113ba611540565b63389a75e1600c52805f526020600c2080544211156113e057636f5e88185f526004601cfd5b5f8155506113ed81611776565b50565b6113f8611540565b8060601b61140d57637448fbae5f526004601cfd5b61141681611776565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff16611439610ff2565b73ffffffffffffffffffffffffffffffffffffffff1614806114655750611464826002600117610f6d565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806114f757506114f6826118fb565b5b9050919050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b61153c82825f611974565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611575576382b429005f526004601cfd5b565b61158382826001611974565b5050565b5f6202a300905090565b638b78c6d8195433146115c357638b78c6d8600c52335f52806020600c2054166115c2576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6115f76119cc565b1561166f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561163157630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506116c2565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b638b78c6d8600c52335f52806020600c20541661172a576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f5114171661176d576390b8ec185f526004601cfd5b5f603452505050565b61177e6119cc565b156117e3577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550611839565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f806118466107f0565b90505f811180156118a057508061189d3060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114fe90919063ffffffff16565b10155b80156118f3575060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b915050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061196d575061196c826119d0565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361199657848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a7e81611a4a565b8114611a88575f80fd5b50565b5f81359050611a9981611a75565b92915050565b5f60208284031215611ab457611ab3611a42565b5b5f611ac184828501611a8b565b91505092915050565b5f8115159050919050565b611ade81611aca565b82525050565b5f602082019050611af75f830184611ad5565b92915050565b5f819050919050565b611b0f81611afd565b82525050565b5f602082019050611b285f830184611b06565b92915050565b611b3781611afd565b8114611b41575f80fd5b50565b5f81359050611b5281611b2e565b92915050565b5f60208284031215611b6d57611b6c611a42565b5b5f611b7a84828501611b44565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611bac82611b83565b9050919050565b611bbc81611ba2565b8114611bc6575f80fd5b50565b5f81359050611bd781611bb3565b92915050565b5f8060408385031215611bf357611bf2611a42565b5b5f611c0085828601611bc9565b9250506020611c1185828601611b44565b9150509250929050565b611c2481611a4a565b82525050565b5f602082019050611c3d5f830184611c1b565b92915050565b5f60208284031215611c5857611c57611a42565b5b5f611c6584828501611bc9565b91505092915050565b611c7781611ba2565b82525050565b5f602082019050611c905f830184611c6e565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611cb757611cb6611c96565b5b8235905067ffffffffffffffff811115611cd457611cd3611c9a565b5b602083019150836020820283011115611cf057611cef611c9e565b5b9250929050565b5f8083601f840112611d0c57611d0b611c96565b5b8235905067ffffffffffffffff811115611d2957611d28611c9a565b5b602083019150836020820283011115611d4557611d44611c9e565b5b9250929050565b5f805f8060408587031215611d6457611d63611a42565b5b5f85013567ffffffffffffffff811115611d8157611d80611a46565b5b611d8d87828801611ca2565b9450945050602085013567ffffffffffffffff811115611db057611daf611a46565b5b611dbc87828801611cf7565b925092505092959194509250565b5f8083601f840112611ddf57611dde611c96565b5b8235905067ffffffffffffffff811115611dfc57611dfb611c9a565b5b602083019150836001820283011115611e1857611e17611c9e565b5b9250929050565b5f8060208385031215611e3557611e34611a42565b5b5f83013567ffffffffffffffff811115611e5257611e51611a46565b5b611e5e85828601611dca565b92509250509250929050565b5f604082019050611e7d5f830185611b06565b611e8a6020830184611c6e565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ed382611e91565b611edd8185611e9b565b9350611eed818560208601611eab565b611ef681611eb9565b840191505092915050565b5f6020820190508181035f830152611f198184611ec9565b905092915050565b5f608082019050611f345f830187611b06565b611f416020830186611b06565b611f4e6040830185611b06565b611f5b6060830184611b06565b95945050505050565b5f805f60408486031215611f7b57611f7a611a42565b5b5f611f8886828701611bc9565b935050602084013567ffffffffffffffff811115611fa957611fa8611a46565b5b611fb586828701611dca565b92509250509250925092565b5f8083601f840112611fd657611fd5611c96565b5b8235905067ffffffffffffffff811115611ff357611ff2611c9a565b5b60208301915083602082028301111561200f5761200e611c9e565b5b9250929050565b5f805f806040858703121561202e5761202d611a42565b5b5f85013567ffffffffffffffff81111561204b5761204a611a46565b5b61205787828801611ca2565b9450945050602085013567ffffffffffffffff81111561207a57612079611a46565b5b61208687828801611fc1565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6120cb82611afd565b91506120d683611afd565b92508282039050818111156120ee576120ed612094565b5b92915050565b5f6120fe82611afd565b915061210983611afd565b925082820261211781611afd565b9150828204841483151761212e5761212d612094565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61216c82611afd565b915061217783611afd565b92508261218757612186612135565b5b828204905092915050565b5f61219c82611afd565b91506121a783611afd565b92508282019050808211156121bf576121be612094565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6121fb81611aca565b8114612205575f80fd5b50565b5f81359050612216816121f2565b92915050565b5f6020828403121561223157612230611a42565b5b5f61223e84828501612208565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61228182611eb9565b810181811067ffffffffffffffff821117156122a05761229f61224b565b5b80604052505050565b5f6122b2611a39565b90506122be8282612278565b919050565b5f80fd5b5f60a082840312156122dc576122db612247565b5b6122e660a06122a9565b90505f6122f584828501611bc9565b5f83015250602061230884828501611b44565b602083015250604061231c84828501611b44565b604083015250606061233084828501611b44565b606083015250608061234484828501611b44565b60808301525092915050565b5f60a0828403121561236557612364611a42565b5b5f612372848285016122c7565b91505092915050565b5f60608201905061238e5f830186611c6e565b61239b6020830185611b06565b6123a86040830184611b06565b949350505050565b5f80fd5b5f67ffffffffffffffff8211156123ce576123cd61224b565b5b6123d782611eb9565b9050602081019050919050565b828183375f83830152505050565b5f6124046123ff846123b4565b6122a9565b9050828152602081018484840111156124205761241f6123b0565b5b61242b8482856123e4565b509392505050565b5f82601f83011261244757612446611c96565b5b81356124578482602086016123f2565b91505092915050565b5f6040828403121561247557612474612247565b5b61247f60406122a9565b90505f61248e84828501611bc9565b5f83015250602082013567ffffffffffffffff8111156124b1576124b06122c3565b5b6124bd84828501612433565b60208301525092915050565b5f602082840312156124de576124dd611a42565b5b5f82013567ffffffffffffffff8111156124fb576124fa611a46565b5b61250784828501612460565b91505092915050565b5f8151905061251e81611b2e565b92915050565b5f6020828403121561253957612538611a42565b5b5f61254684828501612510565b91505092915050565b5f8160601b9050919050565b5f6125658261254f565b9050919050565b5f6125768261255b565b9050919050565b61258e61258982611ba2565b61256c565b82525050565b5f819050919050565b6125ae6125a982611afd565b612594565b82525050565b5f6125bf828661257d565b6014820191506125cf828561257d565b6014820191506125df828461259d565b602082019150819050949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b61262681611afd565b82525050565b602082015f8201516126405f85018261261d565b50505050565b5f6020820190506126595f83018461262c565b92915050565b600381106126705761266f6125f0565b5b50565b5f8190506126808261265f565b919050565b5f61268f82612673565b9050919050565b61269f81612685565b82525050565b6126ae81611ba2565b82525050565b5f82825260208201905092915050565b5f6126ce82611e91565b6126d881856126b4565b93506126e8818560208601611eab565b6126f181611eb9565b840191505092915050565b5f608083015f8301516127115f860182612696565b50602083015161272460208601826126a5565b50604083015161273760408601826126a5565b506060830151848203606086015261274f82826126c4565b9150508091505092915050565b5f6020820190508181035f83015261277481846126fc565b905092915050565b50565b5f61278a5f83611e9b565b91506127958261277c565b5f82019050919050565b5f6040820190506127b25f830184611c6e565b81810360208301526127c38161277f565b905092915050565b5f6127d582611afd565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361280757612806612094565b5b60018201905091905056fea2646970667358221220f53feea738e51a4389a3e73f1d1445615cf19b70818832070235b4e4358c768664736f6c634300081a0033", d = class d extends T {
8
8
  constructor() {
9
9
  super(...arguments), this.abi = t;
10
10
  }
@@ -281,8 +281,8 @@ const E = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f6
281
281
  );
282
282
  return {
283
283
  abi: t,
284
- bytecode: E,
285
- args: [k(a)],
284
+ bytecode: k,
285
+ args: [x(a)],
286
286
  ...this.optionallyAttachAccount(e.account)
287
287
  };
288
288
  }
@@ -310,9 +310,9 @@ const E = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f6
310
310
  d.bases = {
311
311
  31337: void 0,
312
312
  ...C
313
- }, d.registryType = T.INCENTIVE;
313
+ }, d.registryType = P.INCENTIVE;
314
314
  let r = d;
315
- function k({
315
+ function x({
316
316
  asset: n,
317
317
  initialReward: f,
318
318
  rewardDecay: b,
@@ -333,6 +333,6 @@ function k({
333
333
  export {
334
334
  r as CGDAIncentive,
335
335
  t as cgdaIncentiveAbi,
336
- k as prepareCGDAIncentivePayload
336
+ x as prepareCGDAIncentivePayload
337
337
  };
338
338
  //# sourceMappingURL=CGDAIncentive.js.map