@boostxyz/sdk 0.0.0-alpha.9 → 1.1.0-alpha.23
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.
- package/dist/Actions/Action.cjs +1 -1
- package/dist/Actions/Action.cjs.map +1 -1
- package/dist/Actions/Action.js +2 -2
- package/dist/Actions/ContractAction.d.ts +11 -11
- package/dist/Actions/ContractAction.d.ts.map +1 -1
- package/dist/Actions/ERC721MintAction.d.ts +14 -14
- package/dist/Actions/ERC721MintAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.cjs.map +1 -1
- package/dist/Actions/EventAction.d.ts +174 -41
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +557 -129
- package/dist/Actions/EventAction.js.map +1 -1
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.cjs.map +1 -1
- package/dist/AllowLists/AllowList.d.ts +6 -4
- package/dist/AllowLists/AllowList.d.ts.map +1 -1
- package/dist/AllowLists/AllowList.js +45 -23
- package/dist/AllowLists/AllowList.js.map +1 -1
- package/dist/AllowLists/OpenAllowList.d.ts +423 -0
- package/dist/AllowLists/OpenAllowList.d.ts.map +1 -0
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
- package/dist/AllowLists/SimpleAllowList.d.ts +92 -37
- package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -1
- package/dist/AllowLists/SimpleAllowList.js +60 -75
- package/dist/AllowLists/SimpleAllowList.js.map +1 -1
- package/dist/AllowLists/SimpleDenyList.cjs +1 -1
- package/dist/AllowLists/SimpleDenyList.cjs.map +1 -1
- package/dist/AllowLists/SimpleDenyList.d.ts +203 -11
- package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -1
- package/dist/AllowLists/SimpleDenyList.js +11 -112
- package/dist/AllowLists/SimpleDenyList.js.map +1 -1
- package/dist/Auth/PassthroughAuth.cjs +1 -1
- package/dist/Auth/PassthroughAuth.js +1 -1
- package/dist/Boost.cjs +1 -1
- package/dist/Boost.cjs.map +1 -1
- package/dist/Boost.d.ts +20 -21
- package/dist/Boost.d.ts.map +1 -1
- package/dist/Boost.js +43 -57
- package/dist/Boost.js.map +1 -1
- package/dist/BoostCore-Btl5BdAs.cjs +3 -0
- package/dist/BoostCore-Btl5BdAs.cjs.map +1 -0
- package/dist/BoostCore-CD56zbYX.js +2641 -0
- package/dist/BoostCore-CD56zbYX.js.map +1 -0
- package/dist/BoostCore.cjs +1 -2
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.d.ts +749 -78
- package/dist/BoostCore.d.ts.map +1 -1
- package/dist/BoostCore.js +29 -1150
- package/dist/BoostCore.js.map +1 -1
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.cjs.map +1 -1
- package/dist/BoostRegistry.d.ts +80 -25
- package/dist/BoostRegistry.d.ts.map +1 -1
- package/dist/BoostRegistry.js +164 -82
- package/dist/BoostRegistry.js.map +1 -1
- package/dist/Budgets/Budget.cjs +1 -1
- package/dist/Budgets/Budget.cjs.map +1 -1
- package/dist/Budgets/Budget.d.ts.map +1 -1
- package/dist/Budgets/Budget.js +2 -2
- package/dist/Budgets/Budget.js.map +1 -1
- package/dist/Budgets/ManagedBudget.cjs +1 -1
- package/dist/Budgets/ManagedBudget.cjs.map +1 -1
- package/dist/Budgets/ManagedBudget.d.ts +103 -221
- package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
- package/dist/Budgets/ManagedBudget.js +81 -298
- package/dist/Budgets/ManagedBudget.js.map +1 -1
- package/dist/Budgets/VestingBudget.d.ts +223 -89
- package/dist/Budgets/VestingBudget.d.ts.map +1 -1
- package/dist/Deployable/Contract.cjs +1 -1
- package/dist/Deployable/Contract.cjs.map +1 -1
- package/dist/Deployable/Contract.d.ts +4 -5
- package/dist/Deployable/Contract.d.ts.map +1 -1
- package/dist/Deployable/Contract.js +5 -7
- package/dist/Deployable/Contract.js.map +1 -1
- package/dist/Deployable/Deployable.cjs.map +1 -1
- package/dist/Deployable/Deployable.d.ts +1 -1
- package/dist/Deployable/Deployable.d.ts.map +1 -1
- package/dist/Deployable/Deployable.js +3 -5
- package/dist/Deployable/Deployable.js.map +1 -1
- package/dist/Deployable/DeployableTarget.cjs +1 -1
- package/dist/Deployable/DeployableTarget.cjs.map +1 -1
- package/dist/Deployable/DeployableTarget.d.ts +13 -13
- package/dist/Deployable/DeployableTarget.d.ts.map +1 -1
- package/dist/Deployable/DeployableTarget.js +28 -25
- package/dist/Deployable/DeployableTarget.js.map +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.cjs +2 -0
- package/dist/Deployable/DeployableTargetWithRBAC.cjs.map +1 -0
- package/dist/Deployable/DeployableTargetWithRBAC.d.ts +248 -0
- package/dist/Deployable/DeployableTargetWithRBAC.d.ts.map +1 -0
- package/dist/Deployable/DeployableTargetWithRBAC.js +320 -0
- package/dist/Deployable/DeployableTargetWithRBAC.js.map +1 -0
- package/dist/Incentive-CcnOIc8L.cjs +2 -0
- package/dist/Incentive-CcnOIc8L.cjs.map +1 -0
- package/dist/Incentive-rM5nKznp.js +313 -0
- package/dist/Incentive-rM5nKznp.js.map +1 -0
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
- package/dist/Incentives/AllowListIncentive.d.ts +38 -16
- package/dist/Incentives/AllowListIncentive.d.ts.map +1 -1
- package/dist/Incentives/AllowListIncentive.js +43 -29
- package/dist/Incentives/AllowListIncentive.js.map +1 -1
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
- package/dist/Incentives/CGDAIncentive.d.ts +234 -21
- package/dist/Incentives/CGDAIncentive.d.ts.map +1 -1
- package/dist/Incentives/CGDAIncentive.js +46 -32
- package/dist/Incentives/CGDAIncentive.js.map +1 -1
- package/dist/Incentives/ERC1155Incentive.d.ts +224 -37
- package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
- package/dist/Incentives/ERC20Incentive.d.ts +234 -30
- package/dist/Incentives/ERC20Incentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20Incentive.js +62 -46
- package/dist/Incentives/ERC20Incentive.js.map +1 -1
- package/dist/{Budgets/SimpleBudget.d.ts → Incentives/ERC20VariableCriteriaIncentive.d.ts} +333 -438
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -0
- package/dist/Incentives/ERC20VariableIncentive.d.ts +231 -29
- package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.cjs.map +1 -1
- package/dist/Incentives/Incentive.d.ts +4 -4
- package/dist/Incentives/Incentive.d.ts.map +1 -1
- package/dist/Incentives/Incentive.js +16 -296
- package/dist/Incentives/Incentive.js.map +1 -1
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.cjs.map +1 -1
- package/dist/Incentives/PointsIncentive.d.ts +40 -18
- package/dist/Incentives/PointsIncentive.d.ts.map +1 -1
- package/dist/Incentives/PointsIncentive.js +38 -24
- package/dist/Incentives/PointsIncentive.js.map +1 -1
- package/dist/SimpleDenyList-BDXpY74P.js +133 -0
- package/dist/SimpleDenyList-BDXpY74P.js.map +1 -0
- package/dist/SimpleDenyList-DNj5qDWM.cjs +2 -0
- package/dist/SimpleDenyList-DNj5qDWM.cjs.map +1 -0
- package/dist/Validators/SignerValidator.cjs +1 -1
- package/dist/Validators/SignerValidator.cjs.map +1 -1
- package/dist/Validators/SignerValidator.d.ts +16 -16
- package/dist/Validators/SignerValidator.d.ts.map +1 -1
- package/dist/Validators/SignerValidator.js +32 -28
- package/dist/Validators/SignerValidator.js.map +1 -1
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.cjs.map +1 -1
- package/dist/Validators/Validator.d.ts +1 -1
- package/dist/Validators/Validator.js +2 -2
- package/dist/Validators/Validator.js.map +1 -1
- package/dist/claiming.cjs.map +1 -1
- package/dist/claiming.d.ts +1 -1
- package/dist/claiming.js.map +1 -1
- package/dist/componentInterfaces-BBCFkrZv.js +14 -0
- package/dist/componentInterfaces-BBCFkrZv.js.map +1 -0
- package/dist/componentInterfaces-DRI_dQ-P.cjs +2 -0
- package/dist/componentInterfaces-DRI_dQ-P.cjs.map +1 -0
- package/dist/deployments-DF_6-7hH.cjs +2 -0
- package/dist/deployments-DF_6-7hH.cjs.map +1 -0
- package/dist/deployments-fJsWblwS.js +56 -0
- package/dist/deployments-fJsWblwS.js.map +1 -0
- package/dist/deployments.json +58 -0
- package/dist/errors.cjs +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts +256 -20
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +183 -26
- package/dist/errors.js.map +1 -1
- package/dist/{generated-57_Kffpz.js → generated-CsNyWPKA.js} +3843 -2084
- package/dist/generated-CsNyWPKA.js.map +1 -0
- package/dist/generated-DHerxf1y.cjs +3 -0
- package/dist/generated-DHerxf1y.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +142 -108
- package/dist/index.js.map +1 -1
- package/dist/transfers.cjs.map +1 -1
- package/dist/transfers.d.ts +1 -1
- package/dist/transfers.js.map +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts +26 -12
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +38 -23
- package/dist/utils.js.map +1 -1
- package/package.json +20 -10
- package/src/Actions/Action.test.ts +14 -13
- package/src/Actions/ContractAction.test.ts +10 -10
- package/src/Actions/ContractAction.ts +11 -12
- package/src/Actions/ERC721MintAction.test.ts +6 -6
- package/src/Actions/ERC721MintAction.ts +14 -15
- package/src/Actions/EventAction.test.ts +735 -109
- package/src/Actions/EventAction.ts +527 -88
- package/src/AllowLists/AllowList.test.ts +7 -7
- package/src/AllowLists/AllowList.ts +5 -3
- package/src/AllowLists/OpenAllowList.test.ts +40 -0
- package/src/AllowLists/OpenAllowList.ts +45 -0
- package/src/AllowLists/SimpleAllowList.test.ts +4 -4
- package/src/AllowLists/SimpleAllowList.ts +40 -61
- package/src/AllowLists/SimpleDenyList.test.ts +4 -4
- package/src/AllowLists/SimpleDenyList.ts +41 -17
- package/src/Auth/PassthroughAuth.test.ts +1 -1
- package/src/Boost.ts +21 -24
- package/src/BoostCore.test.ts +361 -306
- package/src/BoostCore.ts +403 -220
- package/src/BoostRegistry.test.ts +53 -0
- package/src/BoostRegistry.ts +161 -40
- package/src/Budgets/Budget.test.ts +2 -2
- package/src/Budgets/Budget.ts +1 -2
- package/src/Budgets/ManagedBudget.test.ts +106 -19
- package/src/Budgets/ManagedBudget.ts +49 -321
- package/src/Budgets/VestingBudget.test.ts +7 -7
- package/src/Budgets/VestingBudget.ts +36 -106
- package/src/Deployable/Contract.ts +4 -5
- package/src/Deployable/Deployable.ts +1 -1
- package/src/Deployable/DeployableTarget.ts +30 -19
- package/src/Deployable/DeployableTargetWithRBAC.test.ts +103 -0
- package/src/Deployable/DeployableTargetWithRBAC.ts +447 -0
- package/src/Incentives/AllowListIncentive.test.ts +12 -12
- package/src/Incentives/AllowListIncentive.ts +30 -15
- package/src/Incentives/CGDAIncentive.test.ts +9 -6
- package/src/Incentives/CGDAIncentive.ts +39 -18
- package/src/Incentives/ERC1155Incentive.test.ts +3 -3
- package/src/Incentives/ERC1155Incentive.ts +30 -29
- package/src/Incentives/ERC20Incentive.test.ts +9 -6
- package/src/Incentives/ERC20Incentive.ts +54 -27
- package/src/Incentives/ERC20VariableCriteriaIncentive.test.ts +184 -0
- package/src/Incentives/ERC20VariableCriteriaIncentive.ts +325 -0
- package/src/Incentives/ERC20VariableIncentive.test.ts +8 -11
- package/src/Incentives/ERC20VariableIncentive.ts +50 -26
- package/src/Incentives/Incentive.test.ts +4 -1
- package/src/Incentives/Incentive.ts +7 -6
- package/src/Incentives/PointsIncentive.test.ts +24 -25
- package/src/Incentives/PointsIncentive.ts +32 -17
- package/src/Validators/SignerValidator.test.ts +6 -6
- package/src/Validators/SignerValidator.ts +20 -17
- package/src/Validators/Validator.test.ts +2 -2
- package/src/Validators/Validator.ts +1 -1
- package/src/claiming.ts +1 -1
- package/src/errors.ts +345 -21
- package/src/index.test.ts +118 -36
- package/src/index.ts +5 -0
- package/src/transfers.ts +1 -1
- package/src/utils.test.ts +2 -2
- package/src/utils.ts +61 -12
- package/dist/Budgets/SimpleBudget.d.ts.map +0 -1
- package/dist/componentInterfaces-CKCBwG16.cjs +0 -2
- package/dist/componentInterfaces-CKCBwG16.cjs.map +0 -1
- package/dist/componentInterfaces-DYkaxBda.js +0 -13
- package/dist/componentInterfaces-DYkaxBda.js.map +0 -1
- package/dist/generated-57_Kffpz.js.map +0 -1
- package/dist/generated-wKBNvm48.cjs +0 -3
- package/dist/generated-wKBNvm48.cjs.map +0 -1
- package/src/Budgets/SimpleBudget.test.ts +0 -152
- package/src/Budgets/SimpleBudget.ts +0 -564
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CGDAIncentive.cjs","sources":["../../src/Incentives/CGDAIncentive.ts"],"sourcesContent":["import {\n cgdaIncentiveAbi,\n readCgdaIncentiveAsset,\n readCgdaIncentiveCgdaParams,\n readCgdaIncentiveClaimed,\n readCgdaIncentiveClaims,\n readCgdaIncentiveCurrentReward,\n readCgdaIncentiveIsClaimable,\n readCgdaIncentiveOwner,\n readCgdaIncentiveReward,\n readCgdaIncentiveTotalBudget,\n simulateCgdaIncentiveClaim,\n simulateCgdaIncentiveClawback,\n writeCgdaIncentiveClaim,\n writeCgdaIncentiveClawback,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/incentives/CGDAIncentive.sol/CGDAIncentive.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n} from 'viem';\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 { cgdaIncentiveAbi };\n\n/**\n * The object representation of a `CGDAIncentive.InitPayload`\n *\n * @export\n * @interface CGDAIncentivePayload\n * @typedef {CGDAIncentivePayload}\n */\nexport interface CGDAIncentivePayload {\n /**\n * The address of the ERC20-like token\n *\n * @type {Address}\n */\n asset: Address;\n /**\n * The initial reward amount\n *\n * @type {bigint}\n */\n initialReward: bigint;\n /**\n * The amount to subtract from the current reward after each claim\n *\n * @type {bigint}\n */\n rewardDecay: bigint;\n /**\n * The amount by which the reward increases for each hour without a claim (continuous linear increase)\n *\n * @type {bigint}\n */\n rewardBoost: bigint;\n /**\n * The total budget for the incentive\n *\n * @type {bigint}\n */\n totalBudget: bigint;\n}\n\n/**\n * The configuration parameters for the CGDAIncentive\n *\n * @export\n * @interface CGDAParameters\n * @typedef {CGDAParameters}\n */\nexport interface CGDAParameters {\n /**\n * The amount to subtract from the current reward after each claim\n *\n * @type {bigint}\n */\n rewardDecay: bigint;\n /**\n * The amount by which the reward increases for each hour without a claim (continuous linear increase)\n *\n * @type {bigint}\n */\n rewardBoost: bigint;\n /**\n * The timestamp of the last claim\n *\n * @type {bigint}\n */\n lastClaimTime: bigint;\n /**\n * The current reward amount\n *\n * @type {bigint}\n */\n currentReward: bigint;\n}\n\n/**\n * A generic `viem.Log` event with support for `CGDAIncentive` event types.\n *\n * @export\n * @typedef {CGDAIncentiveLog}\n * @template {ContractEventName<typeof cgdaIncentiveAbi>} [event=ContractEventName<\n * typeof cgdaIncentiveAbi\n * >]\n */\nexport type CGDAIncentiveLog<\n event extends ContractEventName<typeof cgdaIncentiveAbi> = ContractEventName<\n typeof cgdaIncentiveAbi\n >,\n> = GenericLog<typeof cgdaIncentiveAbi, event>;\n\n/**\n * Continuous Gradual Dutch Auction Incentive.\n * An CGDA incentive implementation with reward amounts adjusting dynamically based on claim volume.\n *\n * @export\n * @class CGDAIncentive\n * @typedef {CGDAIncentive}\n * @extends {DeployableTarget<CGDAIncentivePayload>}\n */\nexport class CGDAIncentive extends DeployableTarget<\n CGDAIncentivePayload,\n typeof cgdaIncentiveAbi\n> {\n public override readonly abi = cgdaIncentiveAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Address}\n */\n public static override base: Address = import.meta.env\n .VITE_CGDA_INCENTIVE_BASE;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.INCENTIVE;\n\n /**\n * The incentive's owner.\n *\n * @public\n * @async\n * @param {?ReadParams<typeof cgdaIncentiveAbi, 'owner'>} [params]\n * @returns {unknown}\n */\n public async owner(params?: ReadParams<typeof cgdaIncentiveAbi, 'owner'>) {\n return await readCgdaIncentiveOwner(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The number of claims that have been made\n *\n * @public\n * @async\n * @param {?ReadParams<typeof cgdaIncentiveAbi, 'claims'>} [params]\n * @returns {Promise<bigint>}\n */\n public async claims(params?: ReadParams<typeof cgdaIncentiveAbi, 'claims'>) {\n return await readCgdaIncentiveClaims(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The reward amount issued for each claim\n *\n * @public\n * @async\n * @param {?ReadParams<typeof allowListIncentiveAbi, 'reward'>} [params]\n * @returns {Promise<bigint>}\n */\n public async reward(params?: ReadParams<typeof cgdaIncentiveAbi, 'reward'>) {\n return await readCgdaIncentiveReward(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get the claim status for a user\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams<typeof cgdaIncentiveAbi, 'claimed'>} [params]\n * @returns {Promise<boolean>}\n */\n public async claimed(\n address: Address,\n params?: ReadParams<typeof cgdaIncentiveAbi, 'claimed'>,\n ) {\n return await readCgdaIncentiveClaimed(this._config, {\n address: this.assertValidAddress(),\n args: [address],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The CGDA-like token used for the incentive\n *\n * @public\n * @async\n * @param {?ReadParams<typeof cgdaIncentiveAbi, 'asset'>} [params]\n * @returns {unknown}\n */\n public async asset(params?: ReadParams<typeof cgdaIncentiveAbi, 'asset'>) {\n return await readCgdaIncentiveAsset(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The configuration parameters for the CGDAIncentive\n *\n * @public\n * @async\n * @param {?ReadParams<typeof cgdaIncentiveAbi, 'cgdaParams'>} [params]\n * @returns {Promise<CGDAParameters>}\n */\n public async cgdaParams(\n params?: ReadParams<typeof cgdaIncentiveAbi, 'cgdaParams'>,\n ): Promise<CGDAParameters> {\n const [rewardDecay, rewardBoost, lastClaimTime, currentReward] =\n await readCgdaIncentiveCgdaParams(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n return {\n rewardDecay,\n rewardBoost,\n lastClaimTime,\n currentReward,\n };\n }\n\n /**\n * The total budget of the incentive\n *\n * @public\n * @async\n * @param {?ReadParams<typeof cgdaIncentiveAbi, 'totalBudget'>} [params]\n * @returns {Promise<bigint>}\n */\n public async totalBudget(\n params?: ReadParams<typeof cgdaIncentiveAbi, 'totalBudget'>,\n ) {\n return await readCgdaIncentiveTotalBudget(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Claim the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams<typeof cgdaIncentiveAbi, 'claim'>} [params]\n * @returns {Promise<boolean>} - Returns true if successfully claimed\n */\n protected async claim(\n payload: ClaimPayload,\n params?: WriteParams<typeof cgdaIncentiveAbi, 'claim'>,\n ) {\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<typeof cgdaIncentiveAbi, 'claim'>} [params]\n * @returns {Promise<boolean>} - Returns true if successfully claimed\n */\n protected async claimRaw(\n payload: ClaimPayload,\n params?: WriteParams<typeof cgdaIncentiveAbi, 'claim'>,\n ) {\n const { request, result } = await simulateCgdaIncentiveClaim(this._config, {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n const hash = await writeCgdaIncentiveClaim(this._config, request);\n return { hash, result };\n }\n\n /**\n * Clawback assets from the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams<typeof cgdaIncentiveAbi, 'clawback'>} [params]\n * @returns {Promise<boolean>} - True if the assets were successfully clawbacked\n */\n public async clawback(\n payload: ClaimPayload,\n params?: WriteParams<typeof cgdaIncentiveAbi, 'clawback'>,\n ) {\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<typeof cgdaIncentiveAbi, 'clawback'>} [params]\n * @returns {Promise<boolean>} - True if the assets were successfully clawbacked\n */\n public async clawbackRaw(\n payload: ClaimPayload,\n params?: WriteParams<typeof cgdaIncentiveAbi, 'clawback'>,\n ) {\n const { request, result } = await simulateCgdaIncentiveClawback(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeCgdaIncentiveClawback(this._config, request);\n return { hash, result };\n }\n\n /**\n * Check if an incentive is claimable\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?ReadParams<typeof cgdaIncentiveAbi, 'isClaimable'>} [params]\n * @returns {Promise<boolean>} - True if the incentive is claimable based on the data payload\n */\n public async isClaimable(\n payload: ClaimPayload,\n params?: ReadParams<typeof cgdaIncentiveAbi, 'isClaimable'>,\n ) {\n return await readCgdaIncentiveIsClaimable(this._config, {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Calculates the current reward based on the time since the last claim.\n * The reward is calculated based on the time since the last claim, the available budget, and the reward parameters. It increases linearly over time in the absence of claims, with each hour adding `rewardBoost` to the current reward, up to the available budget.\n * For example, if there is one claim in the first hour, then no claims for three hours, the claimable reward would be `initialReward - rewardDecay + (rewardBoost * 3)`\n *\n * @public\n * @async\n * @param {?ReadParams<typeof cgdaIncentiveAbi, 'currentReward'>} [params]\n * @returns {Promise<bigint>} - The current reward\n */\n public async currentReward(\n params?: ReadParams<typeof cgdaIncentiveAbi, 'currentReward'>,\n ) {\n return await readCgdaIncentiveCurrentReward(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?CGDAIncentivePayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: CGDAIncentivePayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: cgdaIncentiveAbi,\n bytecode: bytecode as Hex,\n args: [prepareCGDAIncentivePayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Given a {@link CGDAIncentivePayload}, properly encode a `CGDAIncentive.InitPayload` for use with {@link CGDAIncentive} initialization.\n *\n * @param {CGDAIncentivePayload} param0\n * @param {Address} param0.asset - The address of the ERC20-like token\n * @param {bigint} param0.initialReward - The initial reward amount\n * @param {bigint} param0.rewardDecay - The amount to subtract from the current reward after each claim\n * @param {bigint} param0.rewardBoost - The amount by which the reward increases for each hour without a claim (continuous linear increase)\n * @param {bigint} param0.totalBudget - The total budget for the incentive\n * @returns {Hex}\n */\nexport function prepareCGDAIncentivePayload({\n asset,\n initialReward,\n rewardDecay,\n rewardBoost,\n totalBudget,\n}: CGDAIncentivePayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'asset' },\n { type: 'uint256', name: 'initialReward' },\n { type: 'uint256', name: 'rewardDecay' },\n { type: 'uint256', name: 'rewardBoost' },\n { type: 'uint256', name: 'totalBudget' },\n ],\n [asset, initialReward, rewardDecay, rewardBoost, totalBudget],\n );\n}\n"],"names":["_CGDAIncentive","DeployableTarget","cgdaIncentiveAbi","params","readCgdaIncentiveOwner","readCgdaIncentiveClaims","readCgdaIncentiveReward","address","readCgdaIncentiveClaimed","readCgdaIncentiveAsset","rewardDecay","rewardBoost","lastClaimTime","currentReward","readCgdaIncentiveCgdaParams","readCgdaIncentiveTotalBudget","payload","request","result","simulateCgdaIncentiveClaim","prepareClaimPayload","writeCgdaIncentiveClaim","simulateCgdaIncentiveClawback","writeCgdaIncentiveClawback","readCgdaIncentiveIsClaimable","readCgdaIncentiveCurrentReward","_payload","_options","options","bytecode","prepareCGDAIncentivePayload","RegistryType","CGDAIncentive","asset","initialReward","totalBudget","encodeAbiParameters"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CGDAIncentive.cjs","sources":["../../src/Incentives/CGDAIncentive.ts"],"sourcesContent":["import {\n cgdaIncentiveAbi,\n readCgdaIncentiveAsset,\n readCgdaIncentiveCgdaParams,\n readCgdaIncentiveClaimed,\n readCgdaIncentiveClaims,\n readCgdaIncentiveCurrentReward,\n readCgdaIncentiveIsClaimable,\n readCgdaIncentiveOwner,\n readCgdaIncentiveReward,\n readCgdaIncentiveTotalBudget,\n simulateCgdaIncentiveClaim,\n simulateCgdaIncentiveClawback,\n writeCgdaIncentiveClaim,\n writeCgdaIncentiveClawback,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/incentives/CGDAIncentive.sol/CGDAIncentive.json';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n zeroHash,\n} from 'viem';\nimport { CGDAIncentive as CGDAIncentiveBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport { type ClaimPayload, prepareClaimPayload } from '../claiming';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { cgdaIncentiveAbi };\n\n/**\n * The object representation of a `CGDAIncentive.InitPayload`\n *\n * @export\n * @interface CGDAIncentivePayload\n * @typedef {CGDAIncentivePayload}\n */\nexport interface CGDAIncentivePayload {\n /**\n * The address of the ERC20-like token\n *\n * @type {Address}\n */\n asset: Address;\n /**\n * The initial reward amount\n *\n * @type {bigint}\n */\n initialReward: bigint;\n /**\n * The amount to subtract from the current reward after each claim\n *\n * @type {bigint}\n */\n rewardDecay: bigint;\n /**\n * The amount by which the reward increases for each hour without a claim (continuous linear increase)\n *\n * @type {bigint}\n */\n rewardBoost: bigint;\n /**\n * The total budget for the incentive\n *\n * @type {bigint}\n */\n totalBudget: bigint;\n /**\n * The entity that can `clawback` funds\n *\n * @type {Address}\n */\n manager: Address;\n}\n\n/**\n * The configuration parameters for the CGDAIncentive\n *\n * @export\n * @interface CGDAParameters\n * @typedef {CGDAParameters}\n */\nexport interface CGDAParameters {\n /**\n * The amount to subtract from the current reward after each claim\n *\n * @type {bigint}\n */\n rewardDecay: bigint;\n /**\n * The amount by which the reward increases for each hour without a claim (continuous linear increase)\n *\n * @type {bigint}\n */\n rewardBoost: bigint;\n /**\n * The timestamp of the last claim\n *\n * @type {bigint}\n */\n lastClaimTime: bigint;\n /**\n * The current reward amount\n *\n * @type {bigint}\n */\n currentReward: bigint;\n}\n\n/**\n * A generic `viem.Log` event with support for `CGDAIncentive` event types.\n *\n * @export\n * @typedef {CGDAIncentiveLog}\n * @template {ContractEventName<typeof cgdaIncentiveAbi>} [event=ContractEventName<\n * typeof cgdaIncentiveAbi\n * >]\n */\nexport type CGDAIncentiveLog<\n event extends ContractEventName<typeof cgdaIncentiveAbi> = ContractEventName<\n typeof cgdaIncentiveAbi\n >,\n> = GenericLog<typeof cgdaIncentiveAbi, event>;\n\n/**\n * Continuous Gradual Dutch Auction Incentive.\n * An CGDA incentive implementation with reward amounts adjusting dynamically based on claim volume.\n *\n * @export\n * @class CGDAIncentive\n * @typedef {CGDAIncentive}\n * @extends {DeployableTarget<CGDAIncentivePayload>}\n */\nexport class CGDAIncentive extends DeployableTarget<\n CGDAIncentivePayload,\n typeof cgdaIncentiveAbi\n> {\n public override readonly abi = cgdaIncentiveAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n 31337: import.meta.env.VITE_CGDA_INCENTIVE_BASE,\n ...(CGDAIncentiveBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.INCENTIVE;\n\n /**\n * The incentive's owner.\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async owner(params?: ReadParams<typeof cgdaIncentiveAbi, 'owner'>) {\n return await readCgdaIncentiveOwner(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The number of claims that have been made\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async claims(params?: ReadParams<typeof cgdaIncentiveAbi, 'claims'>) {\n return await readCgdaIncentiveClaims(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The reward amount issued for each claim\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async reward(params?: ReadParams<typeof cgdaIncentiveAbi, 'reward'>) {\n return await readCgdaIncentiveReward(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get the claim status for a user\n *\n * @public\n * @async\n * @param {Address} address\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>}\n */\n public async claimed(\n address: Address,\n params?: ReadParams<typeof cgdaIncentiveAbi, 'claimed'>,\n ) {\n return await readCgdaIncentiveClaimed(this._config, {\n address: this.assertValidAddress(),\n args: [address],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The CGDA-like token used for the incentive\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public async asset(params?: ReadParams<typeof cgdaIncentiveAbi, 'asset'>) {\n return await readCgdaIncentiveAsset(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * The configuration parameters for the CGDAIncentive\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<CGDAParameters>}\n */\n public async cgdaParams(\n params?: ReadParams<typeof cgdaIncentiveAbi, 'cgdaParams'>,\n ): Promise<CGDAParameters> {\n const [rewardDecay, rewardBoost, lastClaimTime, currentReward] =\n await readCgdaIncentiveCgdaParams(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n return {\n rewardDecay,\n rewardBoost,\n lastClaimTime,\n currentReward,\n };\n }\n\n /**\n * The total budget of the incentive\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n */\n public async totalBudget(\n params?: ReadParams<typeof cgdaIncentiveAbi, 'totalBudget'>,\n ) {\n return await readCgdaIncentiveTotalBudget(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Claim the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - Returns true if successfully claimed\n */\n protected async claim(\n payload: ClaimPayload,\n params?: WriteParams<typeof cgdaIncentiveAbi, 'claim'>,\n ) {\n return await this.awaitResult(this.claimRaw(payload, params));\n }\n\n /**\n * Claim the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - Returns true if successfully claimed\n */\n protected async claimRaw(\n payload: ClaimPayload,\n params?: WriteParams<typeof cgdaIncentiveAbi, 'claim'>,\n ) {\n const { request, result } = await simulateCgdaIncentiveClaim(this._config, {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n const hash = await writeCgdaIncentiveClaim(this._config, request);\n return { hash, result };\n }\n\n /**\n * Clawback assets from the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the assets were successfully clawbacked\n */\n public async clawback(\n payload: ClaimPayload,\n params?: WriteParams<typeof cgdaIncentiveAbi, 'clawback'>,\n ) {\n return await this.awaitResult(this.clawbackRaw(payload, params));\n }\n\n /**\n * Clawback assets from the incentive\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the assets were successfully clawbacked\n */\n public async clawbackRaw(\n payload: ClaimPayload,\n params?: WriteParams<typeof cgdaIncentiveAbi, 'clawback'>,\n ) {\n const { request, result } = await simulateCgdaIncentiveClawback(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeCgdaIncentiveClawback(this._config, request);\n return { hash, result };\n }\n\n /**\n * Check if an incentive is claimable\n *\n * @public\n * @async\n * @param {ClaimPayload} payload\n * @param {?ReadParams} [params]\n * @returns {Promise<boolean>} - True if the incentive is claimable based on the data payload\n */\n public async isClaimable(\n payload: ClaimPayload,\n params?: ReadParams<typeof cgdaIncentiveAbi, 'isClaimable'>,\n ) {\n return await readCgdaIncentiveIsClaimable(this._config, {\n address: this.assertValidAddress(),\n args: [prepareClaimPayload(payload)],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Calculates the current reward based on the time since the last claim.\n * The reward is calculated based on the time since the last claim, the available budget, and the reward parameters. It increases linearly over time in the absence of claims, with each hour adding `rewardBoost` to the current reward, up to the available budget.\n * For example, if there is one claim in the first hour, then no claims for three hours, the claimable reward would be `initialReward - rewardDecay + (rewardBoost * 3)`\n *\n * @public\n * @async\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - The current reward\n */\n public async currentReward(\n params?: ReadParams<typeof cgdaIncentiveAbi, 'currentReward'>,\n ) {\n return await readCgdaIncentiveCurrentReward(this._config, {\n address: this.assertValidAddress(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?CGDAIncentivePayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: CGDAIncentivePayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: cgdaIncentiveAbi,\n bytecode: bytecode as Hex,\n args: [prepareCGDAIncentivePayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n\n /**\n * Builds the claim data for the CGDAIncentive.\n *\n * @public\n * @returns {Hash} A `zeroHash`, as CGDAIncentive doesn't require specific claim data.\n * @description This function returns `zeroHash` because CGDAIncentive doesn't use any specific claim data.\n */\n public buildClaimData() {\n return zeroHash;\n }\n}\n\n/**\n * Given a {@link CGDAIncentivePayload}, properly encode a `CGDAIncentive.InitPayload` for use with {@link CGDAIncentive} initialization.\n *\n * @param {CGDAIncentivePayload} param0\n * @param {Address} param0.asset - The address of the ERC20-like token\n * @param {bigint} param0.initialReward - The initial reward amount\n * @param {bigint} param0.rewardDecay - The amount to subtract from the current reward after each claim\n * @param {bigint} param0.rewardBoost - The amount by which the reward increases for each hour without a claim (continuous linear increase)\n * @param {bigint} param0.totalBudget - The total budget for the incentive\n * @returns {Hex}\n */\nexport function prepareCGDAIncentivePayload({\n asset,\n initialReward,\n rewardDecay,\n rewardBoost,\n totalBudget,\n}: CGDAIncentivePayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'asset' },\n { type: 'uint256', name: 'initialReward' },\n { type: 'uint256', name: 'rewardDecay' },\n { type: 'uint256', name: 'rewardBoost' },\n { type: 'uint256', name: 'totalBudget' },\n ],\n [asset, initialReward, rewardDecay, rewardBoost, totalBudget],\n );\n}\n"],"names":["_CGDAIncentive","DeployableTarget","cgdaIncentiveAbi","params","readCgdaIncentiveOwner","readCgdaIncentiveClaims","readCgdaIncentiveReward","address","readCgdaIncentiveClaimed","readCgdaIncentiveAsset","rewardDecay","rewardBoost","lastClaimTime","currentReward","readCgdaIncentiveCgdaParams","readCgdaIncentiveTotalBudget","payload","request","result","simulateCgdaIncentiveClaim","prepareClaimPayload","writeCgdaIncentiveClaim","simulateCgdaIncentiveClawback","writeCgdaIncentiveClawback","readCgdaIncentiveIsClaimable","readCgdaIncentiveCurrentReward","_payload","_options","options","bytecode","prepareCGDAIncentivePayload","zeroHash","CGDAIncentiveBases","RegistryType","CGDAIncentive","asset","initialReward","totalBudget","encodeAbiParameters"],"mappings":"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"}
|
|
@@ -43,6 +43,12 @@ export interface CGDAIncentivePayload {
|
|
|
43
43
|
* @type {bigint}
|
|
44
44
|
*/
|
|
45
45
|
totalBudget: bigint;
|
|
46
|
+
/**
|
|
47
|
+
* The entity that can `clawback` funds
|
|
48
|
+
*
|
|
49
|
+
* @type {Address}
|
|
50
|
+
*/
|
|
51
|
+
manager: Address;
|
|
46
52
|
}
|
|
47
53
|
/**
|
|
48
54
|
* The configuration parameters for the CGDAIncentive
|
|
@@ -109,6 +115,18 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
109
115
|
readonly type: "error";
|
|
110
116
|
readonly inputs: readonly [];
|
|
111
117
|
readonly name: "ClaimFailed";
|
|
118
|
+
}, {
|
|
119
|
+
readonly type: "error";
|
|
120
|
+
readonly inputs: readonly [{
|
|
121
|
+
readonly name: "caller";
|
|
122
|
+
readonly internalType: "address";
|
|
123
|
+
readonly type: "address";
|
|
124
|
+
}, {
|
|
125
|
+
readonly name: "data";
|
|
126
|
+
readonly internalType: "bytes";
|
|
127
|
+
readonly type: "bytes";
|
|
128
|
+
}];
|
|
129
|
+
readonly name: "ClaimFailed";
|
|
112
130
|
}, {
|
|
113
131
|
readonly type: "error";
|
|
114
132
|
readonly inputs: readonly [];
|
|
@@ -145,6 +163,10 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
145
163
|
readonly type: "error";
|
|
146
164
|
readonly inputs: readonly [];
|
|
147
165
|
readonly name: "InvalidInitializationData";
|
|
166
|
+
}, {
|
|
167
|
+
readonly type: "error";
|
|
168
|
+
readonly inputs: readonly [];
|
|
169
|
+
readonly name: "LengthMismatch";
|
|
148
170
|
}, {
|
|
149
171
|
readonly type: "error";
|
|
150
172
|
readonly inputs: readonly [];
|
|
@@ -225,6 +247,41 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
225
247
|
readonly indexed: true;
|
|
226
248
|
}];
|
|
227
249
|
readonly name: "OwnershipTransferred";
|
|
250
|
+
}, {
|
|
251
|
+
readonly type: "event";
|
|
252
|
+
readonly anonymous: false;
|
|
253
|
+
readonly inputs: readonly [{
|
|
254
|
+
readonly name: "user";
|
|
255
|
+
readonly internalType: "address";
|
|
256
|
+
readonly type: "address";
|
|
257
|
+
readonly indexed: true;
|
|
258
|
+
}, {
|
|
259
|
+
readonly name: "roles";
|
|
260
|
+
readonly internalType: "uint256";
|
|
261
|
+
readonly type: "uint256";
|
|
262
|
+
readonly indexed: true;
|
|
263
|
+
}];
|
|
264
|
+
readonly name: "RolesUpdated";
|
|
265
|
+
}, {
|
|
266
|
+
readonly type: "function";
|
|
267
|
+
readonly inputs: readonly [];
|
|
268
|
+
readonly name: "ADMIN_ROLE";
|
|
269
|
+
readonly outputs: readonly [{
|
|
270
|
+
readonly name: "";
|
|
271
|
+
readonly internalType: "uint256";
|
|
272
|
+
readonly type: "uint256";
|
|
273
|
+
}];
|
|
274
|
+
readonly stateMutability: "view";
|
|
275
|
+
}, {
|
|
276
|
+
readonly type: "function";
|
|
277
|
+
readonly inputs: readonly [];
|
|
278
|
+
readonly name: "MANAGER_ROLE";
|
|
279
|
+
readonly outputs: readonly [{
|
|
280
|
+
readonly name: "";
|
|
281
|
+
readonly internalType: "uint256";
|
|
282
|
+
readonly type: "uint256";
|
|
283
|
+
}];
|
|
284
|
+
readonly stateMutability: "view";
|
|
228
285
|
}, {
|
|
229
286
|
readonly type: "function";
|
|
230
287
|
readonly inputs: readonly [];
|
|
@@ -315,8 +372,12 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
315
372
|
readonly name: "clawback";
|
|
316
373
|
readonly outputs: readonly [{
|
|
317
374
|
readonly name: "";
|
|
318
|
-
readonly internalType: "
|
|
319
|
-
readonly type: "
|
|
375
|
+
readonly internalType: "uint256";
|
|
376
|
+
readonly type: "uint256";
|
|
377
|
+
}, {
|
|
378
|
+
readonly name: "";
|
|
379
|
+
readonly internalType: "address";
|
|
380
|
+
readonly type: "address";
|
|
320
381
|
}];
|
|
321
382
|
readonly stateMutability: "nonpayable";
|
|
322
383
|
}, {
|
|
@@ -349,6 +410,70 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
349
410
|
readonly type: "bytes4";
|
|
350
411
|
}];
|
|
351
412
|
readonly stateMutability: "pure";
|
|
413
|
+
}, {
|
|
414
|
+
readonly type: "function";
|
|
415
|
+
readonly inputs: readonly [{
|
|
416
|
+
readonly name: "accounts_";
|
|
417
|
+
readonly internalType: "address[]";
|
|
418
|
+
readonly type: "address[]";
|
|
419
|
+
}, {
|
|
420
|
+
readonly name: "roles_";
|
|
421
|
+
readonly internalType: "uint256[]";
|
|
422
|
+
readonly type: "uint256[]";
|
|
423
|
+
}];
|
|
424
|
+
readonly name: "grantManyRoles";
|
|
425
|
+
readonly outputs: readonly [];
|
|
426
|
+
readonly stateMutability: "nonpayable";
|
|
427
|
+
}, {
|
|
428
|
+
readonly type: "function";
|
|
429
|
+
readonly inputs: readonly [{
|
|
430
|
+
readonly name: "user";
|
|
431
|
+
readonly internalType: "address";
|
|
432
|
+
readonly type: "address";
|
|
433
|
+
}, {
|
|
434
|
+
readonly name: "roles";
|
|
435
|
+
readonly internalType: "uint256";
|
|
436
|
+
readonly type: "uint256";
|
|
437
|
+
}];
|
|
438
|
+
readonly name: "grantRoles";
|
|
439
|
+
readonly outputs: readonly [];
|
|
440
|
+
readonly stateMutability: "payable";
|
|
441
|
+
}, {
|
|
442
|
+
readonly type: "function";
|
|
443
|
+
readonly inputs: readonly [{
|
|
444
|
+
readonly name: "user";
|
|
445
|
+
readonly internalType: "address";
|
|
446
|
+
readonly type: "address";
|
|
447
|
+
}, {
|
|
448
|
+
readonly name: "roles";
|
|
449
|
+
readonly internalType: "uint256";
|
|
450
|
+
readonly type: "uint256";
|
|
451
|
+
}];
|
|
452
|
+
readonly name: "hasAllRoles";
|
|
453
|
+
readonly outputs: readonly [{
|
|
454
|
+
readonly name: "";
|
|
455
|
+
readonly internalType: "bool";
|
|
456
|
+
readonly type: "bool";
|
|
457
|
+
}];
|
|
458
|
+
readonly stateMutability: "view";
|
|
459
|
+
}, {
|
|
460
|
+
readonly type: "function";
|
|
461
|
+
readonly inputs: readonly [{
|
|
462
|
+
readonly name: "user";
|
|
463
|
+
readonly internalType: "address";
|
|
464
|
+
readonly type: "address";
|
|
465
|
+
}, {
|
|
466
|
+
readonly name: "roles";
|
|
467
|
+
readonly internalType: "uint256";
|
|
468
|
+
readonly type: "uint256";
|
|
469
|
+
}];
|
|
470
|
+
readonly name: "hasAnyRole";
|
|
471
|
+
readonly outputs: readonly [{
|
|
472
|
+
readonly name: "";
|
|
473
|
+
readonly internalType: "bool";
|
|
474
|
+
readonly type: "bool";
|
|
475
|
+
}];
|
|
476
|
+
readonly stateMutability: "view";
|
|
352
477
|
}, {
|
|
353
478
|
readonly type: "function";
|
|
354
479
|
readonly inputs: readonly [{
|
|
@@ -359,6 +484,20 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
359
484
|
readonly name: "initialize";
|
|
360
485
|
readonly outputs: readonly [];
|
|
361
486
|
readonly stateMutability: "nonpayable";
|
|
487
|
+
}, {
|
|
488
|
+
readonly type: "function";
|
|
489
|
+
readonly inputs: readonly [{
|
|
490
|
+
readonly name: "account_";
|
|
491
|
+
readonly internalType: "address";
|
|
492
|
+
readonly type: "address";
|
|
493
|
+
}];
|
|
494
|
+
readonly name: "isAuthorized";
|
|
495
|
+
readonly outputs: readonly [{
|
|
496
|
+
readonly name: "";
|
|
497
|
+
readonly internalType: "bool";
|
|
498
|
+
readonly type: "bool";
|
|
499
|
+
}];
|
|
500
|
+
readonly stateMutability: "view";
|
|
362
501
|
}, {
|
|
363
502
|
readonly type: "function";
|
|
364
503
|
readonly inputs: readonly [{
|
|
@@ -421,12 +560,50 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
421
560
|
readonly name: "renounceOwnership";
|
|
422
561
|
readonly outputs: readonly [];
|
|
423
562
|
readonly stateMutability: "payable";
|
|
563
|
+
}, {
|
|
564
|
+
readonly type: "function";
|
|
565
|
+
readonly inputs: readonly [{
|
|
566
|
+
readonly name: "roles";
|
|
567
|
+
readonly internalType: "uint256";
|
|
568
|
+
readonly type: "uint256";
|
|
569
|
+
}];
|
|
570
|
+
readonly name: "renounceRoles";
|
|
571
|
+
readonly outputs: readonly [];
|
|
572
|
+
readonly stateMutability: "payable";
|
|
424
573
|
}, {
|
|
425
574
|
readonly type: "function";
|
|
426
575
|
readonly inputs: readonly [];
|
|
427
576
|
readonly name: "requestOwnershipHandover";
|
|
428
577
|
readonly outputs: readonly [];
|
|
429
578
|
readonly stateMutability: "payable";
|
|
579
|
+
}, {
|
|
580
|
+
readonly type: "function";
|
|
581
|
+
readonly inputs: readonly [{
|
|
582
|
+
readonly name: "accounts_";
|
|
583
|
+
readonly internalType: "address[]";
|
|
584
|
+
readonly type: "address[]";
|
|
585
|
+
}, {
|
|
586
|
+
readonly name: "roles_";
|
|
587
|
+
readonly internalType: "uint256[]";
|
|
588
|
+
readonly type: "uint256[]";
|
|
589
|
+
}];
|
|
590
|
+
readonly name: "revokeManyRoles";
|
|
591
|
+
readonly outputs: readonly [];
|
|
592
|
+
readonly stateMutability: "nonpayable";
|
|
593
|
+
}, {
|
|
594
|
+
readonly type: "function";
|
|
595
|
+
readonly inputs: readonly [{
|
|
596
|
+
readonly name: "user";
|
|
597
|
+
readonly internalType: "address";
|
|
598
|
+
readonly type: "address";
|
|
599
|
+
}, {
|
|
600
|
+
readonly name: "roles";
|
|
601
|
+
readonly internalType: "uint256";
|
|
602
|
+
readonly type: "uint256";
|
|
603
|
+
}];
|
|
604
|
+
readonly name: "revokeRoles";
|
|
605
|
+
readonly outputs: readonly [];
|
|
606
|
+
readonly stateMutability: "payable";
|
|
430
607
|
}, {
|
|
431
608
|
readonly type: "function";
|
|
432
609
|
readonly inputs: readonly [];
|
|
@@ -437,6 +614,34 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
437
614
|
readonly type: "uint256";
|
|
438
615
|
}];
|
|
439
616
|
readonly stateMutability: "view";
|
|
617
|
+
}, {
|
|
618
|
+
readonly type: "function";
|
|
619
|
+
readonly inputs: readonly [{
|
|
620
|
+
readonly name: "user";
|
|
621
|
+
readonly internalType: "address";
|
|
622
|
+
readonly type: "address";
|
|
623
|
+
}];
|
|
624
|
+
readonly name: "rolesOf";
|
|
625
|
+
readonly outputs: readonly [{
|
|
626
|
+
readonly name: "roles";
|
|
627
|
+
readonly internalType: "uint256";
|
|
628
|
+
readonly type: "uint256";
|
|
629
|
+
}];
|
|
630
|
+
readonly stateMutability: "view";
|
|
631
|
+
}, {
|
|
632
|
+
readonly type: "function";
|
|
633
|
+
readonly inputs: readonly [{
|
|
634
|
+
readonly name: "accounts_";
|
|
635
|
+
readonly internalType: "address[]";
|
|
636
|
+
readonly type: "address[]";
|
|
637
|
+
}, {
|
|
638
|
+
readonly name: "authorized_";
|
|
639
|
+
readonly internalType: "bool[]";
|
|
640
|
+
readonly type: "bool[]";
|
|
641
|
+
}];
|
|
642
|
+
readonly name: "setAuthorized";
|
|
643
|
+
readonly outputs: readonly [];
|
|
644
|
+
readonly stateMutability: "nonpayable";
|
|
440
645
|
}, {
|
|
441
646
|
readonly type: "function";
|
|
442
647
|
readonly inputs: readonly [{
|
|
@@ -477,9 +682,9 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
477
682
|
*
|
|
478
683
|
* @public
|
|
479
684
|
* @static
|
|
480
|
-
* @type {Address}
|
|
685
|
+
* @type {Record<number, Address>}
|
|
481
686
|
*/
|
|
482
|
-
static
|
|
687
|
+
static bases: Record<number, Address>;
|
|
483
688
|
/**
|
|
484
689
|
* @inheritdoc
|
|
485
690
|
*
|
|
@@ -493,8 +698,8 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
493
698
|
*
|
|
494
699
|
* @public
|
|
495
700
|
* @async
|
|
496
|
-
* @param {?ReadParams
|
|
497
|
-
* @returns {
|
|
701
|
+
* @param {?ReadParams} [params]
|
|
702
|
+
* @returns {Promise<Address>}
|
|
498
703
|
*/
|
|
499
704
|
owner(params?: ReadParams<typeof cgdaIncentiveAbi, 'owner'>): Promise<`0x${string}`>;
|
|
500
705
|
/**
|
|
@@ -502,7 +707,7 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
502
707
|
*
|
|
503
708
|
* @public
|
|
504
709
|
* @async
|
|
505
|
-
* @param {?ReadParams
|
|
710
|
+
* @param {?ReadParams} [params]
|
|
506
711
|
* @returns {Promise<bigint>}
|
|
507
712
|
*/
|
|
508
713
|
claims(params?: ReadParams<typeof cgdaIncentiveAbi, 'claims'>): Promise<bigint>;
|
|
@@ -511,7 +716,7 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
511
716
|
*
|
|
512
717
|
* @public
|
|
513
718
|
* @async
|
|
514
|
-
* @param {?ReadParams
|
|
719
|
+
* @param {?ReadParams} [params]
|
|
515
720
|
* @returns {Promise<bigint>}
|
|
516
721
|
*/
|
|
517
722
|
reward(params?: ReadParams<typeof cgdaIncentiveAbi, 'reward'>): Promise<bigint>;
|
|
@@ -521,7 +726,7 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
521
726
|
* @public
|
|
522
727
|
* @async
|
|
523
728
|
* @param {Address} address
|
|
524
|
-
* @param {?ReadParams
|
|
729
|
+
* @param {?ReadParams} [params]
|
|
525
730
|
* @returns {Promise<boolean>}
|
|
526
731
|
*/
|
|
527
732
|
claimed(address: Address, params?: ReadParams<typeof cgdaIncentiveAbi, 'claimed'>): Promise<boolean>;
|
|
@@ -530,8 +735,8 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
530
735
|
*
|
|
531
736
|
* @public
|
|
532
737
|
* @async
|
|
533
|
-
* @param {?ReadParams
|
|
534
|
-
* @returns {
|
|
738
|
+
* @param {?ReadParams} [params]
|
|
739
|
+
* @returns {Promise<Address>}
|
|
535
740
|
*/
|
|
536
741
|
asset(params?: ReadParams<typeof cgdaIncentiveAbi, 'asset'>): Promise<`0x${string}`>;
|
|
537
742
|
/**
|
|
@@ -539,7 +744,7 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
539
744
|
*
|
|
540
745
|
* @public
|
|
541
746
|
* @async
|
|
542
|
-
* @param {?ReadParams
|
|
747
|
+
* @param {?ReadParams} [params]
|
|
543
748
|
* @returns {Promise<CGDAParameters>}
|
|
544
749
|
*/
|
|
545
750
|
cgdaParams(params?: ReadParams<typeof cgdaIncentiveAbi, 'cgdaParams'>): Promise<CGDAParameters>;
|
|
@@ -548,7 +753,7 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
548
753
|
*
|
|
549
754
|
* @public
|
|
550
755
|
* @async
|
|
551
|
-
* @param {?ReadParams
|
|
756
|
+
* @param {?ReadParams} [params]
|
|
552
757
|
* @returns {Promise<bigint>}
|
|
553
758
|
*/
|
|
554
759
|
totalBudget(params?: ReadParams<typeof cgdaIncentiveAbi, 'totalBudget'>): Promise<bigint>;
|
|
@@ -558,7 +763,7 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
558
763
|
* @public
|
|
559
764
|
* @async
|
|
560
765
|
* @param {ClaimPayload} payload
|
|
561
|
-
* @param {?WriteParams
|
|
766
|
+
* @param {?WriteParams} [params]
|
|
562
767
|
* @returns {Promise<boolean>} - Returns true if successfully claimed
|
|
563
768
|
*/
|
|
564
769
|
protected claim(payload: ClaimPayload, params?: WriteParams<typeof cgdaIncentiveAbi, 'claim'>): Promise<boolean>;
|
|
@@ -568,7 +773,7 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
568
773
|
* @public
|
|
569
774
|
* @async
|
|
570
775
|
* @param {ClaimPayload} payload
|
|
571
|
-
* @param {?WriteParams
|
|
776
|
+
* @param {?WriteParams} [params]
|
|
572
777
|
* @returns {Promise<boolean>} - Returns true if successfully claimed
|
|
573
778
|
*/
|
|
574
779
|
protected claimRaw(payload: ClaimPayload, params?: WriteParams<typeof cgdaIncentiveAbi, 'claim'>): Promise<{
|
|
@@ -581,22 +786,22 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
581
786
|
* @public
|
|
582
787
|
* @async
|
|
583
788
|
* @param {ClaimPayload} payload
|
|
584
|
-
* @param {?WriteParams
|
|
789
|
+
* @param {?WriteParams} [params]
|
|
585
790
|
* @returns {Promise<boolean>} - True if the assets were successfully clawbacked
|
|
586
791
|
*/
|
|
587
|
-
clawback(payload: ClaimPayload, params?: WriteParams<typeof cgdaIncentiveAbi, 'clawback'>): Promise<
|
|
792
|
+
clawback(payload: ClaimPayload, params?: WriteParams<typeof cgdaIncentiveAbi, 'clawback'>): Promise<readonly [bigint, `0x${string}`]>;
|
|
588
793
|
/**
|
|
589
794
|
* Clawback assets from the incentive
|
|
590
795
|
*
|
|
591
796
|
* @public
|
|
592
797
|
* @async
|
|
593
798
|
* @param {ClaimPayload} payload
|
|
594
|
-
* @param {?WriteParams
|
|
799
|
+
* @param {?WriteParams} [params]
|
|
595
800
|
* @returns {Promise<boolean>} - True if the assets were successfully clawbacked
|
|
596
801
|
*/
|
|
597
802
|
clawbackRaw(payload: ClaimPayload, params?: WriteParams<typeof cgdaIncentiveAbi, 'clawback'>): Promise<{
|
|
598
803
|
hash: `0x${string}`;
|
|
599
|
-
result:
|
|
804
|
+
result: readonly [bigint, `0x${string}`];
|
|
600
805
|
}>;
|
|
601
806
|
/**
|
|
602
807
|
* Check if an incentive is claimable
|
|
@@ -604,7 +809,7 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
604
809
|
* @public
|
|
605
810
|
* @async
|
|
606
811
|
* @param {ClaimPayload} payload
|
|
607
|
-
* @param {?ReadParams
|
|
812
|
+
* @param {?ReadParams} [params]
|
|
608
813
|
* @returns {Promise<boolean>} - True if the incentive is claimable based on the data payload
|
|
609
814
|
*/
|
|
610
815
|
isClaimable(payload: ClaimPayload, params?: ReadParams<typeof cgdaIncentiveAbi, 'isClaimable'>): Promise<boolean>;
|
|
@@ -615,7 +820,7 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
615
820
|
*
|
|
616
821
|
* @public
|
|
617
822
|
* @async
|
|
618
|
-
* @param {?ReadParams
|
|
823
|
+
* @param {?ReadParams} [params]
|
|
619
824
|
* @returns {Promise<bigint>} - The current reward
|
|
620
825
|
*/
|
|
621
826
|
currentReward(params?: ReadParams<typeof cgdaIncentiveAbi, 'currentReward'>): Promise<bigint>;
|
|
@@ -628,6 +833,14 @@ export declare class CGDAIncentive extends DeployableTarget<CGDAIncentivePayload
|
|
|
628
833
|
* @returns {GenericDeployableParams}
|
|
629
834
|
*/
|
|
630
835
|
buildParameters(_payload?: CGDAIncentivePayload, _options?: DeployableOptions): GenericDeployableParams;
|
|
836
|
+
/**
|
|
837
|
+
* Builds the claim data for the CGDAIncentive.
|
|
838
|
+
*
|
|
839
|
+
* @public
|
|
840
|
+
* @returns {Hash} A `zeroHash`, as CGDAIncentive doesn't require specific claim data.
|
|
841
|
+
* @description This function returns `zeroHash` because CGDAIncentive doesn't use any specific claim data.
|
|
842
|
+
*/
|
|
843
|
+
buildClaimData(): "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
631
844
|
}
|
|
632
845
|
/**
|
|
633
846
|
* Given a {@link CGDAIncentivePayload}, properly encode a `CGDAIncentive.InitPayload` for use with {@link CGDAIncentive} initialization.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CGDAIncentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/CGDAIncentive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAcjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"CGDAIncentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/CGDAIncentive.ts"],"names":[],"mappings":"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"}
|