@boostxyz/sdk 5.2.1 → 5.3.1

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 (97) hide show
  1. package/README.md +10 -0
  2. package/dist/Actions/Action.cjs +1 -1
  3. package/dist/Actions/Action.js +1 -1
  4. package/dist/Actions/EventAction.cjs +1 -1
  5. package/dist/Actions/EventAction.cjs.map +1 -1
  6. package/dist/Actions/EventAction.d.ts +84 -41
  7. package/dist/Actions/EventAction.d.ts.map +1 -1
  8. package/dist/Actions/EventAction.js +1866 -378
  9. package/dist/Actions/EventAction.js.map +1 -1
  10. package/dist/AllowLists/AllowList.cjs +1 -1
  11. package/dist/AllowLists/AllowList.js +2 -2
  12. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  13. package/dist/AllowLists/SimpleAllowList.js +2 -2
  14. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  15. package/dist/AllowLists/SimpleDenyList.js +3 -3
  16. package/dist/Auth/PassthroughAuth.cjs +1 -1
  17. package/dist/Auth/PassthroughAuth.js +1 -1
  18. package/dist/BoostCore.cjs +2 -2
  19. package/dist/BoostCore.cjs.map +1 -1
  20. package/dist/BoostCore.d.ts +42 -1
  21. package/dist/BoostCore.d.ts.map +1 -1
  22. package/dist/BoostCore.js +360 -318
  23. package/dist/BoostCore.js.map +1 -1
  24. package/dist/BoostRegistry.cjs +1 -1
  25. package/dist/BoostRegistry.js +2 -2
  26. package/dist/{Budget-N0YEfSt2.cjs → Budget-AoNx7uFd.cjs} +2 -2
  27. package/dist/{Budget-N0YEfSt2.cjs.map → Budget-AoNx7uFd.cjs.map} +1 -1
  28. package/dist/{Budget-C0SMvfEl.js → Budget-DYIV9iNK.js} +3 -3
  29. package/dist/{Budget-C0SMvfEl.js.map → Budget-DYIV9iNK.js.map} +1 -1
  30. package/dist/Budgets/Budget.cjs +1 -1
  31. package/dist/Budgets/Budget.js +2 -2
  32. package/dist/Budgets/ManagedBudget.cjs +1 -1
  33. package/dist/Budgets/ManagedBudget.js +2 -2
  34. package/dist/Deployable/DeployableTarget.cjs +1 -1
  35. package/dist/Deployable/DeployableTarget.js +1 -1
  36. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  37. package/dist/Deployable/DeployableTargetWithRBAC.js +2 -2
  38. package/dist/Incentive-BbkfwGOb.cjs +2 -0
  39. package/dist/Incentive-BbkfwGOb.cjs.map +1 -0
  40. package/dist/{Incentive-DBZHQ9Np.js → Incentive-qlnv5kQB.js} +77 -50
  41. package/dist/Incentive-qlnv5kQB.js.map +1 -0
  42. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  43. package/dist/Incentives/AllowListIncentive.js +3 -3
  44. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  45. package/dist/Incentives/CGDAIncentive.js +2 -2
  46. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  47. package/dist/Incentives/ERC20Incentive.js +6 -6
  48. package/dist/Incentives/ERC20PeggedIncentive.d.ts +10 -1
  49. package/dist/Incentives/ERC20PeggedIncentive.d.ts.map +1 -1
  50. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  51. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +2 -2
  52. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  53. package/dist/Incentives/ERC20VariableIncentive.js +2 -2
  54. package/dist/Incentives/Incentive.cjs +1 -1
  55. package/dist/Incentives/Incentive.js +2 -2
  56. package/dist/Incentives/PointsIncentive.cjs +1 -1
  57. package/dist/Incentives/PointsIncentive.js +2 -2
  58. package/dist/{SimpleDenyList-B8QeJthf.js → SimpleDenyList-ByAr4X1r.js} +3 -3
  59. package/dist/{SimpleDenyList-B8QeJthf.js.map → SimpleDenyList-ByAr4X1r.js.map} +1 -1
  60. package/dist/{SimpleDenyList-DIb4xX3j.cjs → SimpleDenyList-CsRXJPwm.cjs} +2 -2
  61. package/dist/{SimpleDenyList-DIb4xX3j.cjs.map → SimpleDenyList-CsRXJPwm.cjs.map} +1 -1
  62. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  63. package/dist/Validators/LimitedSignerValidator.js +2 -2
  64. package/dist/Validators/SignerValidator.cjs +1 -1
  65. package/dist/Validators/SignerValidator.js +2 -2
  66. package/dist/Validators/Validator.cjs +1 -1
  67. package/dist/Validators/Validator.js +1 -1
  68. package/dist/{deployments-COxshLqt.js → deployments-D0fs26TV.js} +16 -16
  69. package/dist/{deployments-COxshLqt.js.map → deployments-D0fs26TV.js.map} +1 -1
  70. package/dist/{deployments-BGpr4ppG.cjs → deployments-DoIOqxco.cjs} +2 -2
  71. package/dist/deployments-DoIOqxco.cjs.map +1 -0
  72. package/dist/deployments.json +3 -3
  73. package/dist/errors.cjs +1 -1
  74. package/dist/errors.cjs.map +1 -1
  75. package/dist/errors.d.ts +40 -0
  76. package/dist/errors.d.ts.map +1 -1
  77. package/dist/errors.js +42 -16
  78. package/dist/errors.js.map +1 -1
  79. package/dist/{generated-ClbO_ULI.js → generated-Cyvr_Tjx.js} +446 -438
  80. package/dist/generated-Cyvr_Tjx.js.map +1 -0
  81. package/dist/{generated-CRD9XfOT.cjs → generated-DtYPHhtX.cjs} +2 -2
  82. package/dist/generated-DtYPHhtX.cjs.map +1 -0
  83. package/dist/index.cjs +1 -1
  84. package/dist/index.js +160 -155
  85. package/package.json +1 -1
  86. package/src/Actions/EventAction.test.ts +294 -3
  87. package/src/Actions/EventAction.ts +417 -154
  88. package/src/BoostCore.test.ts +51 -3
  89. package/src/BoostCore.ts +73 -0
  90. package/src/Incentives/ERC20PeggedIncentive.ts +33 -4
  91. package/src/errors.ts +50 -0
  92. package/dist/Incentive-BpZePiOD.cjs +0 -2
  93. package/dist/Incentive-BpZePiOD.cjs.map +0 -1
  94. package/dist/Incentive-DBZHQ9Np.js.map +0 -1
  95. package/dist/deployments-BGpr4ppG.cjs.map +0 -1
  96. package/dist/generated-CRD9XfOT.cjs.map +0 -1
  97. package/dist/generated-ClbO_ULI.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"errors.cjs","sources":["../src/errors.ts"],"sourcesContent":["import {\n type AbiEvent,\n type AbiFunction,\n type Hex,\n type Log,\n type WaitForTransactionReceiptReturnType,\n zeroHash,\n} from 'viem';\nimport type { Criteria } from './Actions/EventAction';\nimport type { EventLogs } from './Actions/EventAction';\nimport type { BoostRegistry } from './BoostRegistry';\nimport { DeployableTarget } from './Deployable/DeployableTarget';\nimport type { Incentive } from './Incentives/Incentive';\n\n/**\n * This error is thrown during Boost creation if no `BoostCreated` event was emitted.\n *\n * @export\n * @class BoostCoreNoIdentifierEmitted\n * @typedef {BoostCoreNoIdentifierEmitted}\n * @extends {Error}\n * @example\n * ```ts\n * try {\n * await boostCore.createBoost(...)\n * } catch(e) {\n * if(e instanceof BoostCoreNoIdentifierEmitted) {}\n * }\n * ```\n */\nexport class BoostCoreNoIdentifierEmitted extends Error {\n /**\n * Creates an instance of BoostCoreNoIdentifierEmitted.\n *\n * @constructor\n */\n constructor() {\n super(`No \"BoostCreated\" log was emitted from which to extract boostId`);\n }\n}\n\n/**\n * This error is thrown when `assertValidAddress` is called, usually because a contract call expects the class to have a valid address attached.\n *\n * @export\n * @class ContractAddressRequiredError\n * @typedef {ContractAddressRequiredError}\n * @extends {Error}\n * @example\n * ```ts\n * try {\n * target.assertValidAddress()\n * } catch(e) {\n * if(e instanceof ContractAddressRequiredError) {}\n * }\n */\nexport class ContractAddressRequiredError extends Error {\n /**\n * Creates an instance of ContractAddressRequiredError.\n *\n * @constructor\n */\n constructor() {\n super('Attempted to call contract method without providing an address');\n }\n}\n\n/**\n * This error is thrown when attempting to deploy a contract that has already been deployed, or has an address attached.\n *\n * @export\n * @class DeployableAlreadyDeployedError\n * @typedef {DeployableAlreadyDeployedError}\n * @extends {Error}\n */\nexport class DeployableAlreadyDeployedError extends Error {\n /**\n * The address already attached to the target.\n *\n * @type {string}\n */\n address: string;\n /**\n * Creates an instance of DeployableAlreadyDeployedError.\n *\n * @constructor\n * @param {string} address\n */\n constructor(address: string) {\n super(\n 'Attempted to deploy a contract that already has an address configured',\n );\n this.address = address;\n }\n}\n\n/**\n * You should never see this error if we did our jobs and every target overrides the `buildParameters` method.\n *\n * @export\n * @class DeployableBuildParametersUnspecifiedError\n * @typedef {DeployableBuildParametersUnspecifiedError}\n * @extends {Error}\n */\nexport class DeployableBuildParametersUnspecifiedError extends Error {\n /**\n * Creates an instance of DeployableBuildParametersUnspecifiedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Implementing class did not properly override the `buildParameters` method',\n );\n }\n}\n\n/**\n * This error is thrown when attempting to deploy an `ownable` contract and the owner cannot be ascertained from the initialization payload or configured account.\n *\n * @export\n * @class DeployableUnknownOwnerProvidedError\n * @typedef {DeployableUnknownOwnerProvidedError}\n * @extends {Error}\n */\nexport class DeployableUnknownOwnerProvidedError extends Error {\n /**\n * Creates an instance of DeployableUnknownOwnerProvidedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected an an owner to be provided in configuration or an account to exist on Wagmi config.',\n );\n }\n}\n\n/**\n * This error is thrown when deploying a contract with no valid Wagmi configuration on the instance.\n *\n * @export\n * @class DeployableWagmiConfigurationRequiredError\n * @typedef {DeployableWagmiConfigurationRequiredError}\n * @extends {Error}\n */\nexport class DeployableWagmiConfigurationRequiredError extends Error {\n /**\n * Creates an instance of DeployableWagmiConfigurationRequiredError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected a valid Wagmi configuration to be available either on Deployable, or as argument to deploy.',\n );\n }\n}\n\n/**\n * This error is thrown when deploying a contract with no valid initialization payload.\n *\n * @export\n * @class DeployableMissingPayloadError\n * @typedef {DeployableMissingPayloadError}\n * @extends {Error}\n */\nexport class DeployableMissingPayloadError extends Error {\n /**\n * Creates an instance of DeployableMissingPayloadError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected a valid payload to be available either on Deployable or as argument to deploy.',\n );\n }\n}\n\n/**\n * This error is thrown when we receive a transaction receipt for a contract deployment without a contract address on it.\n *\n * @export\n * @class NoContractAddressUponReceiptError\n * @typedef {NoContractAddressUponReceiptError}\n * @extends {Error}\n */\nexport class NoContractAddressUponReceiptError extends Error {\n /**\n * The raw receipt we receive from [waitForTransactionReceipt](https://v1.viem.sh/docs/actions/public/waitForTransactionReceipt.html#waitfortransactionreceipt)\n *\n * @public\n * @readonly\n * @type {WaitForTransactionReceiptReturnType}\n */\n public readonly receipt: WaitForTransactionReceiptReturnType;\n /**\n * Creates an instance of NoContractAddressUponReceiptError.\n *\n * @constructor\n * @param {WaitForTransactionReceiptReturnType} receipt\n */\n constructor(receipt: WaitForTransactionReceiptReturnType) {\n super(`Expected a contract address to exist on receipt.`, {\n cause: receipt,\n });\n this.receipt = receipt;\n }\n}\n\n/**\n * This error is thrown when a target address was provided that doesn't match any supported interface for the given registry type.\n * For example, if you try to do `incentiveFromAddress()` with the address of a deployed `SimpleBudget`\n *\n * @export\n * @class InvalidComponentInterfaceError\n * @typedef {InvalidComponentInterfaceError}\n * @extends {Error}\n */\nexport class InvalidComponentInterfaceError extends Error {\n /**\n * Expected interface hashes.\n *\n * @public\n * @readonly\n * @type {Hex[]}\n */\n public readonly expected: Hex[] = [];\n /**\n * The actual interface hash.\n *\n * @public\n * @readonly\n * @type {Hex}\n */\n public readonly received: Hex = zeroHash;\n\n /**\n * Creates an instance of InvalidComponentInterfaceError.\n *\n * @constructor\n * @param {Hex[]} expected\n * @param {Hex} received\n */\n constructor(expected: Hex[], received: Hex) {\n super(`Address provided does not match any expected protocol interface`, {\n cause: { expected, received },\n });\n this.expected = expected;\n this.received = received;\n }\n}\n\n/**\n * This error is thrown when a param is not transparently stored onchain\n *\n * @export\n * @class UnparseableAbiParamError\n * @typedef {UnparseableAbiParamError}\n * @extends {Error}\n */\nexport class UnparseableAbiParamError extends Error {\n /**\n * the param index that is unparseable\n *\n * @type {number}\n */\n input_param_idx: number;\n /**\n * The given event that contains the unparseable param\n *\n * @type {AbiEvent}\n */\n event: AbiEvent;\n /**\n * Creates an instance of UnknownTransferPayloadSupplied.\n *\n * @constructor\n * @param {number} input_param_idx\n * @param {AbiEvent} event\n */\n constructor(input_param_idx: number, event: AbiEvent) {\n super(\n `Parameter is not transparently stored onchain. Parameter ${input_param_idx} in event ${event.name} cannot be used in an action`,\n { cause: event },\n );\n this.event = event;\n this.input_param_idx = input_param_idx;\n }\n}\n\n/**\n * This error is thrown when attempting a Budget transfer and arguments aren't of the type `FungibleTransferPayload` or `ERC1155TransferPayload`\n *\n * @see {@link FungibleTransferPayload}\n * @see {@link ERC1155TransferPayload}\n * @export\n * @class UnknownTransferPayloadSupplied\n * @typedef {UnknownTransferPayloadSupplied}\n * @extends {Error}\n */\nexport class UnknownTransferPayloadSupplied extends Error {\n /**\n * The given payload that does not conform to the correct payload shape.\n *\n * @type {unknown}\n */\n received: unknown;\n /**\n * Creates an instance of UnknownTransferPayloadSupplied.\n *\n * @constructor\n * @param {unknown} received\n */\n constructor(received: unknown) {\n super(\n `Did not provide a valid FungibleTransferPayload or ERC1155 transfer payload.`,\n { cause: received },\n );\n this.received = received;\n }\n}\n\n/**\n * This error is thrown during Boost creation when the budget doesn't authorize the Boost Core address.\n *\n * @export\n * @class BudgetMustAuthorizeBoostCore\n * @typedef {BudgetMustAuthorizeBoostCore}\n * @extends {Error}\n */\nexport class BudgetMustAuthorizeBoostCore extends Error {\n /**\n * Creates an instance of BudgetMustAuthorizeBoostCore.\n *\n * @constructor\n * @param {string} boostCoreAddress\n */\n constructor(boostCoreAddress: string) {\n super(\n `Budget needs to explicitly authorize ${boostCoreAddress}. You can retrieve this value from BoostCore.address`,\n );\n }\n}\n\n/**\n * Because this contract is a base implementation, it should not be initialized through the constructor. Instead, it should be cloned and initialized using the {@link BoostRegistry}\n *\n * @export\n * @class MustInitializeBudgetError\n * @typedef {MustInitializeBudgetError}\n * @extends {Error}\n */\nexport class MustInitializeBudgetError extends Error {\n /**\n * Creates an instance of MustInitializeBudgetError.\n */\n constructor() {\n super(`Budgets must be preinitialized before being used with a new Boost`);\n }\n}\n\n/**\n * The error is thrown when trying to reuse an existing deployed Incentive that isn't a base implementation.\n * The protocol doesn't allow this.\n *\n * @export\n * @class IncentiveNotCloneableError\n * @typedef {IncentiveNotCloneableError}\n * @extends {Error}\n */\nexport class IncentiveNotCloneableError extends Error {\n /**\n * Creates an instance of IncentiveNotCloneableError.\n *\n * @constructor\n * @param {Incentive} incentive\n */\n constructor(incentive: Incentive) {\n super(`Incentive not cloneable: ${incentive.constructor.name}`);\n }\n}\n\n/**\n * Thrown when encoding an EventAction payload and no action steps are provided\n *\n * @export\n * @class NoEventActionStepsProvidedError\n * @typedef {NoEventActionStepsProvidedError}\n * @extends {Error}\n */\nexport class NoEventActionStepsProvidedError extends Error {\n /**\n * Creates an instance of NoEventActionStepsProvidedError.\n *\n * @constructor\n */\n constructor() {\n super('Must supply at least one action step');\n }\n}\n\n/**\n * Thrown when encoding an EventAction payload and > 4 steps are provided\n *\n * @export\n * @class TooManyEventActionStepsProvidedError\n * @typedef {TooManyEventActionStepsProvidedError}\n * @extends {Error}\n */\nexport class TooManyEventActionStepsProvidedError extends Error {\n /**\n * Creates an instance of TooManyEventActionStepsProvidedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Cannot supply more than 4 action steps with current protocol version',\n );\n }\n}\n\n/**\n * The error is thrown when trying to reuse an existing deployed Incentive that isn't a base implementation.\n *\n * @export\n * @class ValidationAbiMissingError\n * @typedef {ValidationAbiMissingError}\n * @extends {Error}\n */\nexport class ValidationAbiMissingError extends Error {\n /**\n * Creates an instance of ValidationAbiMissingError.\n *\n * @constructor\n * @param {Hex} signature\n */\n constructor(signature: Hex) {\n super(`No known ABI for given signature: ${signature}`);\n }\n}\n\n/**\n * Function action validation context to help debug other validation errors\n *\n * @interface FunctionActionValidationMeta\n * @typedef {FunctionActionValidationMeta}\n */\ninterface FunctionActionValidationMeta {\n decodedArgs: readonly (string | bigint)[];\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n}\n/**\n * Event action validation context to help debug other validation errors\n *\n * @interface EventActionValidationMeta\n * @typedef {EventActionValidationMeta}\n */\ninterface EventActionValidationMeta {\n /**\n * The viem log being validated against\n *\n * @type {Log}\n */\n log?: EventLogs[0];\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n}\n\n/**\n * The base error thrown during event action validation extended by more specific validation errors.\n * Instantiated with relevent context data for more in depth debugging.\n *\n * @export\n * @class FieldActionValidationError\n * @typedef {FieldActionValidationError}\n * @extends {Error}\n */\nexport class FieldActionValidationError extends Error {\n /**\n * The function input arguments being validated against\n *\n * @type {decodedArgs}\n */\n decodedArgs?: readonly (string | bigint)[];\n /**\n * The viem log being validated against\n *\n * @type {Log}\n */\n log?: EventLogs[0];\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n /**\n * Creates an instance of FieldActionValidationError.\n *\n * @constructor\n * @param {string} message\n * @param {EventActionValidationMeta} param0\n * @param {*} param0.fieldValue\n * @param {Criteria} param0.criteria\n * @param {Log} param0.log\n */\n constructor(\n message: string,\n {\n fieldValue,\n criteria,\n ...args\n }: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super(message);\n this.fieldValue = fieldValue;\n this.criteria = criteria;\n\n switch (true) {\n case 'log' in args:\n this.log = args.log;\n break;\n case 'decodedArgs' in args:\n this.decodedArgs = args.decodedArgs;\n }\n }\n}\n\n/**\n * Thrown when abi-decoded args on log is undefined\n *\n * @export\n * @class FieldValueUndefinedError\n * @typedef {FieldValueUndefinedError}\n * @extends {FieldActionValidationError}\n */\nexport class DecodedArgsMalformedError extends FieldActionValidationError {\n /**\n * Creates an instance of DecodedArgsUndefinedError.\n *\n * @constructor\n * @param {DecodedArgsMalformedError} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super(\n 'Decoded Args are malformed; Check which params are indexed',\n metadata,\n );\n }\n}\n\n/**\n * Thrown when field value on log is undefined\n *\n * @export\n * @class FieldValueUndefinedError\n * @typedef {FieldValueUndefinedError}\n * @extends {FieldActionValidationError}\n */\nexport class FieldValueUndefinedError extends FieldActionValidationError {\n /**\n * Creates an instance of FieldValueUndefinedError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super('Field value is undefined', metadata);\n }\n}\n\n/**\n * Thrown when a filter type is using a numerical operator but field type is not numerical\n *\n * @export\n * @class InvalidNumericalCriteriaError\n * @typedef {InvalidNumericalCriteriaError}\n * @extends {FieldActionValidationError}\n */\nexport class InvalidNumericalCriteriaError extends FieldActionValidationError {\n /**\n * Creates an instance of InvalidNumericalCriteria.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super(\n 'Numerical comparisons cannot be used with non-numerical criteria',\n metadata,\n );\n }\n}\n\n/**\n * Thrown when decoding function data fails.\n *\n * @export\n * @class FunctionDataDecodeError\n * @typedef {FunctionDataDecodeError}\n * @extends {Error}\n */\nexport class FunctionDataDecodeError extends Error {\n public abi: AbiFunction[];\n public originalError: Error;\n\n /**\n * Creates an instance of FunctionDataDecodeError.\n *\n * @constructor\n * @param {AbiFunction[]} abi - The ABI of the function.\n * @param {Error} originalError - The original error that was thrown.\n */\n constructor(abi: AbiFunction[], originalError: Error) {\n super(`Failed to decode function data: ${originalError.message}`);\n this.name = 'FunctionDataDecodeError';\n this.abi = abi;\n this.originalError = originalError;\n }\n}\n\n/**\n * Thrown when an the log's field value is being compared a field type that isn't bytes or string during event action validation\n *\n * @export\n * @class FieldValueNotComparableError\n * @typedef {FieldValueNotComparableError}\n * @extends {FieldActionValidationError}\n */\nexport class FieldValueNotComparableError extends FieldActionValidationError {\n /**\n * Creates an instance of FieldValueNotComparableError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super('Filter can only be used with bytes or string field type', metadata);\n }\n}\n\n/**\n * Thrown when an invalid filter type enum was provided event action validation.\n *\n * @export\n * @class UnrecognizedFilterTypeError\n * @typedef {UnrecognizedFilterTypeError}\n * @extends {FieldActionValidationError}\n */\nexport class UnrecognizedFilterTypeError extends FieldActionValidationError {\n /**\n * Creates an instance of UnrecognizedFilterTypeError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super('Invalid FilterType provided', metadata);\n }\n}\n\n/**\n * Thrown when no chain ID is provided in the Wagmi configuration.\n *\n * @export\n * @class NoConnectedChainIdError\n * @typedef {NoConnectedChainIdError}\n * @extends {Error}\n */\nexport class NoConnectedChainIdError extends Error {\n /**\n * Creates an instance of NoConnectedChainIdError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Provided Wagmi configuration does not define `chainId` property with which to target protocol contracts',\n );\n this.name = 'NoConnectedChainIdError';\n }\n}\n\n/**\n * Thrown when an invalid chain ID is provided that doesn't match any deployed protocol.\n *\n * @export\n * @class InvalidProtocolChainIdError\n * @typedef {InvalidProtocolChainIdError}\n * @extends {Error}\n */\nexport class InvalidProtocolChainIdError extends Error {\n /**\n * Creates an instance of InvalidProtocolChainIdError.\n *\n * @constructor\n * @param {number} chainId - The chain ID provided in the configuration.\n * @param {number[]} validChainIds - A list of valid chain IDs where the protocol is deployed.\n */\n constructor(chainId: number, validChainIds: number[]) {\n super(\n `Provided Wagmi configuration supplied a \"chainId\" where protocol is not deployed, provided: ${chainId}, but valid chains are: ${validChainIds}`,\n );\n this.name = 'InvalidProtocolChainIdError';\n }\n}\n\n/**\n * Thrown when the incentive criteria cannot be fetched from the contract.\n *\n * @export\n * @class IncentiveCriteriaNotFoundError\n * @typedef {IncentiveCriteriaNotFoundError}\n * @extends {Error}\n */\nexport class IncentiveCriteriaNotFoundError extends Error {\n /**\n * Creates an instance of IncentiveCriteriaNotFoundError.\n *\n * @constructor\n * @param {Error} [e] - Optional error object for further context.\n * @param {string} [message='Unable to fetch Incentive Criteria from contract'] - Custom error message.\n */\n constructor(\n e?: Error,\n message = 'Unable to fetch Incentive Criteria from contract',\n ) {\n super(message + (e ? `: ${e.message}` : ''));\n this.name = 'IncentiveCriteriaNotFoundError';\n }\n}\n\n/**\n * Thrown when no matching logs are found for a given event signature.\n *\n * @export\n * @class NoMatchingLogsError\n * @typedef {NoMatchingLogsError}\n * @extends {Error}\n */\nexport class NoMatchingLogsError extends Error {\n /**\n * Creates an instance of NoMatchingLogsError.\n *\n * @constructor\n * @param {string} signature - The event signature for which logs are being searched.\n * @param {string} [message] - Optional custom error message.\n */\n constructor(\n signature: string,\n message = `No logs found for event signature ${signature}`,\n ) {\n super(message);\n this.name = 'NoMatchingLogsError';\n }\n}\n\n/**\n * Thrown when an invalid criteria type is provided.\n *\n * @export\n * @class InvalidCriteriaTypeError\n * @typedef {InvalidCriteriaTypeError}\n * @extends {Error}\n */\nexport class InvalidCriteriaTypeError extends Error {\n /**\n * Creates an instance of InvalidCriteriaTypeError.\n *\n * @constructor\n * @param {string} [criteriaType='unknown'] - The invalid criteria type that was provided.\n * @param {string} [message] - Optional custom error message.\n */\n constructor(\n criteriaType = 'unknown',\n message = `Invalid criteria type ${criteriaType}`,\n ) {\n super(message);\n this.name = 'InvalidCriteriaTypeError';\n }\n}\n\n/**\n * Thrown when decoding function arguments fails.\n *\n * @export\n * @class DecodedArgsError\n * @typedef {DecodedArgsError}\n * @extends {Error}\n */\nexport class DecodedArgsError extends Error {\n /**\n * Creates an instance of DecodedArgsError.\n *\n * @constructor\n * @param {string} [message='Issue decoding args'] - Custom error message.\n */\n constructor(message = 'Issue decoding args') {\n super(message);\n this.name = 'DecodedArgsError';\n }\n}\n\n/**\n * Thrown when reading a Boost that does not exist\n *\n * @export\n * @class BoostNotFoundError\n * @typedef {BoostNotFoundError}\n * @extends {Error}\n */\nexport class BoostNotFoundError extends Error {\n public readonly id: string;\n /**\n * Creates an instance of BoostNotFoundError.\n *\n * @constructor\n * @param {string} [id] - stringified boost id that does not exist\n */\n constructor(id: string) {\n super(`Boost with not found with id: ${id}`);\n this.id = id;\n }\n}\n"],"names":["BoostCoreNoIdentifierEmitted","ContractAddressRequiredError","DeployableAlreadyDeployedError","address","DeployableBuildParametersUnspecifiedError","DeployableUnknownOwnerProvidedError","DeployableWagmiConfigurationRequiredError","DeployableMissingPayloadError","NoContractAddressUponReceiptError","receipt","InvalidComponentInterfaceError","expected","received","zeroHash","UnparseableAbiParamError","input_param_idx","event","UnknownTransferPayloadSupplied","BudgetMustAuthorizeBoostCore","boostCoreAddress","MustInitializeBudgetError","IncentiveNotCloneableError","incentive","NoEventActionStepsProvidedError","TooManyEventActionStepsProvidedError","ValidationAbiMissingError","signature","FieldActionValidationError","message","fieldValue","criteria","args","DecodedArgsMalformedError","metadata","FieldValueUndefinedError","InvalidNumericalCriteriaError","FunctionDataDecodeError","abi","originalError","FieldValueNotComparableError","UnrecognizedFilterTypeError","NoConnectedChainIdError","InvalidProtocolChainIdError","chainId","validChainIds","IncentiveCriteriaNotFoundError","e","NoMatchingLogsError","InvalidCriteriaTypeError","criteriaType","DecodedArgsError","BoostNotFoundError","id"],"mappings":"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"}
1
+ {"version":3,"file":"errors.cjs","sources":["../src/errors.ts"],"sourcesContent":["import {\n type AbiEvent,\n type AbiFunction,\n type Hex,\n type Log,\n type WaitForTransactionReceiptReturnType,\n zeroHash,\n} from 'viem';\nimport type { Criteria } from './Actions/EventAction';\nimport type { EventLogs } from './Actions/EventAction';\nimport type { BoostRegistry } from './BoostRegistry';\nimport { DeployableTarget } from './Deployable/DeployableTarget';\nimport type { Incentive } from './Incentives/Incentive';\n\n/**\n * This error is thrown during Boost creation if no `BoostCreated` event was emitted.\n *\n * @export\n * @class BoostCoreNoIdentifierEmitted\n * @typedef {BoostCoreNoIdentifierEmitted}\n * @extends {Error}\n * @example\n * ```ts\n * try {\n * await boostCore.createBoost(...)\n * } catch(e) {\n * if(e instanceof BoostCoreNoIdentifierEmitted) {}\n * }\n * ```\n */\nexport class BoostCoreNoIdentifierEmitted extends Error {\n /**\n * Creates an instance of BoostCoreNoIdentifierEmitted.\n *\n * @constructor\n */\n constructor() {\n super(`No \"BoostCreated\" log was emitted from which to extract boostId`);\n }\n}\n\n/**\n * This error is thrown when `assertValidAddress` is called, usually because a contract call expects the class to have a valid address attached.\n *\n * @export\n * @class ContractAddressRequiredError\n * @typedef {ContractAddressRequiredError}\n * @extends {Error}\n * @example\n * ```ts\n * try {\n * target.assertValidAddress()\n * } catch(e) {\n * if(e instanceof ContractAddressRequiredError) {}\n * }\n */\nexport class ContractAddressRequiredError extends Error {\n /**\n * Creates an instance of ContractAddressRequiredError.\n *\n * @constructor\n */\n constructor() {\n super('Attempted to call contract method without providing an address');\n }\n}\n\n/**\n * This error is thrown when attempting to deploy a contract that has already been deployed, or has an address attached.\n *\n * @export\n * @class DeployableAlreadyDeployedError\n * @typedef {DeployableAlreadyDeployedError}\n * @extends {Error}\n */\nexport class DeployableAlreadyDeployedError extends Error {\n /**\n * The address already attached to the target.\n *\n * @type {string}\n */\n address: string;\n /**\n * Creates an instance of DeployableAlreadyDeployedError.\n *\n * @constructor\n * @param {string} address\n */\n constructor(address: string) {\n super(\n 'Attempted to deploy a contract that already has an address configured',\n );\n this.address = address;\n }\n}\n\n/**\n * You should never see this error if we did our jobs and every target overrides the `buildParameters` method.\n *\n * @export\n * @class DeployableBuildParametersUnspecifiedError\n * @typedef {DeployableBuildParametersUnspecifiedError}\n * @extends {Error}\n */\nexport class DeployableBuildParametersUnspecifiedError extends Error {\n /**\n * Creates an instance of DeployableBuildParametersUnspecifiedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Implementing class did not properly override the `buildParameters` method',\n );\n }\n}\n\n/**\n * This error is thrown when attempting to deploy an `ownable` contract and the owner cannot be ascertained from the initialization payload or configured account.\n *\n * @export\n * @class DeployableUnknownOwnerProvidedError\n * @typedef {DeployableUnknownOwnerProvidedError}\n * @extends {Error}\n */\nexport class DeployableUnknownOwnerProvidedError extends Error {\n /**\n * Creates an instance of DeployableUnknownOwnerProvidedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected an an owner to be provided in configuration or an account to exist on Wagmi config.',\n );\n }\n}\n\n/**\n * This error is thrown when deploying a contract with no valid Wagmi configuration on the instance.\n *\n * @export\n * @class DeployableWagmiConfigurationRequiredError\n * @typedef {DeployableWagmiConfigurationRequiredError}\n * @extends {Error}\n */\nexport class DeployableWagmiConfigurationRequiredError extends Error {\n /**\n * Creates an instance of DeployableWagmiConfigurationRequiredError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected a valid Wagmi configuration to be available either on Deployable, or as argument to deploy.',\n );\n }\n}\n\n/**\n * This error is thrown when deploying a contract with no valid initialization payload.\n *\n * @export\n * @class DeployableMissingPayloadError\n * @typedef {DeployableMissingPayloadError}\n * @extends {Error}\n */\nexport class DeployableMissingPayloadError extends Error {\n /**\n * Creates an instance of DeployableMissingPayloadError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected a valid payload to be available either on Deployable or as argument to deploy.',\n );\n }\n}\n\n/**\n * This error is thrown when we receive a transaction receipt for a contract deployment without a contract address on it.\n *\n * @export\n * @class NoContractAddressUponReceiptError\n * @typedef {NoContractAddressUponReceiptError}\n * @extends {Error}\n */\nexport class NoContractAddressUponReceiptError extends Error {\n /**\n * The raw receipt we receive from [waitForTransactionReceipt](https://v1.viem.sh/docs/actions/public/waitForTransactionReceipt.html#waitfortransactionreceipt)\n *\n * @public\n * @readonly\n * @type {WaitForTransactionReceiptReturnType}\n */\n public readonly receipt: WaitForTransactionReceiptReturnType;\n /**\n * Creates an instance of NoContractAddressUponReceiptError.\n *\n * @constructor\n * @param {WaitForTransactionReceiptReturnType} receipt\n */\n constructor(receipt: WaitForTransactionReceiptReturnType) {\n super(`Expected a contract address to exist on receipt.`, {\n cause: receipt,\n });\n this.receipt = receipt;\n }\n}\n\n/**\n * This error is thrown when a target address was provided that doesn't match any supported interface for the given registry type.\n * For example, if you try to do `incentiveFromAddress()` with the address of a deployed `SimpleBudget`\n *\n * @export\n * @class InvalidComponentInterfaceError\n * @typedef {InvalidComponentInterfaceError}\n * @extends {Error}\n */\nexport class InvalidComponentInterfaceError extends Error {\n /**\n * Expected interface hashes.\n *\n * @public\n * @readonly\n * @type {Hex[]}\n */\n public readonly expected: Hex[] = [];\n /**\n * The actual interface hash.\n *\n * @public\n * @readonly\n * @type {Hex}\n */\n public readonly received: Hex = zeroHash;\n\n /**\n * Creates an instance of InvalidComponentInterfaceError.\n *\n * @constructor\n * @param {Hex[]} expected\n * @param {Hex} received\n */\n constructor(expected: Hex[], received: Hex) {\n super(`Address provided does not match any expected protocol interface`, {\n cause: { expected, received },\n });\n this.expected = expected;\n this.received = received;\n }\n}\n\n/**\n * This error is thrown when a param is not transparently stored onchain\n *\n * @export\n * @class UnparseableAbiParamError\n * @typedef {UnparseableAbiParamError}\n * @extends {Error}\n */\nexport class UnparseableAbiParamError extends Error {\n /**\n * the param index that is unparseable\n *\n * @type {number}\n */\n input_param_idx: number;\n /**\n * The given event that contains the unparseable param\n *\n * @type {AbiEvent}\n */\n event: AbiEvent;\n /**\n * Creates an instance of UnknownTransferPayloadSupplied.\n *\n * @constructor\n * @param {number} input_param_idx\n * @param {AbiEvent} event\n */\n constructor(input_param_idx: number, event: AbiEvent) {\n super(\n `Parameter is not transparently stored onchain. Parameter ${input_param_idx} in event ${event.name} cannot be used in an action`,\n { cause: event },\n );\n this.event = event;\n this.input_param_idx = input_param_idx;\n }\n}\n\n/**\n * This error is thrown when attempting a Budget transfer and arguments aren't of the type `FungibleTransferPayload` or `ERC1155TransferPayload`\n *\n * @see {@link FungibleTransferPayload}\n * @see {@link ERC1155TransferPayload}\n * @export\n * @class UnknownTransferPayloadSupplied\n * @typedef {UnknownTransferPayloadSupplied}\n * @extends {Error}\n */\nexport class UnknownTransferPayloadSupplied extends Error {\n /**\n * The given payload that does not conform to the correct payload shape.\n *\n * @type {unknown}\n */\n received: unknown;\n /**\n * Creates an instance of UnknownTransferPayloadSupplied.\n *\n * @constructor\n * @param {unknown} received\n */\n constructor(received: unknown) {\n super(\n `Did not provide a valid FungibleTransferPayload or ERC1155 transfer payload.`,\n { cause: received },\n );\n this.received = received;\n }\n}\n\n/**\n * This error is thrown during Boost creation when the budget doesn't authorize the Boost Core address.\n *\n * @export\n * @class BudgetMustAuthorizeBoostCore\n * @typedef {BudgetMustAuthorizeBoostCore}\n * @extends {Error}\n */\nexport class BudgetMustAuthorizeBoostCore extends Error {\n /**\n * Creates an instance of BudgetMustAuthorizeBoostCore.\n *\n * @constructor\n * @param {string} boostCoreAddress\n */\n constructor(boostCoreAddress: string) {\n super(\n `Budget needs to explicitly authorize ${boostCoreAddress}. You can retrieve this value from BoostCore.address`,\n );\n }\n}\n\n/**\n * Because this contract is a base implementation, it should not be initialized through the constructor. Instead, it should be cloned and initialized using the {@link BoostRegistry}\n *\n * @export\n * @class MustInitializeBudgetError\n * @typedef {MustInitializeBudgetError}\n * @extends {Error}\n */\nexport class MustInitializeBudgetError extends Error {\n /**\n * Creates an instance of MustInitializeBudgetError.\n */\n constructor() {\n super(`Budgets must be preinitialized before being used with a new Boost`);\n }\n}\n\n/**\n * The error is thrown when trying to reuse an existing deployed Incentive that isn't a base implementation.\n * The protocol doesn't allow this.\n *\n * @export\n * @class IncentiveNotCloneableError\n * @typedef {IncentiveNotCloneableError}\n * @extends {Error}\n */\nexport class IncentiveNotCloneableError extends Error {\n /**\n * Creates an instance of IncentiveNotCloneableError.\n *\n * @constructor\n * @param {Incentive} incentive\n */\n constructor(incentive: Incentive) {\n super(`Incentive not cloneable: ${incentive.constructor.name}`);\n }\n}\n\n/**\n * Thrown when encoding an EventAction payload and no action steps are provided\n *\n * @export\n * @class NoEventActionStepsProvidedError\n * @typedef {NoEventActionStepsProvidedError}\n * @extends {Error}\n */\nexport class NoEventActionStepsProvidedError extends Error {\n /**\n * Creates an instance of NoEventActionStepsProvidedError.\n *\n * @constructor\n */\n constructor() {\n super('Must supply at least one action step');\n }\n}\n\n/**\n * Thrown when encoding an EventAction payload and > 4 steps are provided\n *\n * @export\n * @class TooManyEventActionStepsProvidedError\n * @typedef {TooManyEventActionStepsProvidedError}\n * @extends {Error}\n */\nexport class TooManyEventActionStepsProvidedError extends Error {\n /**\n * Creates an instance of TooManyEventActionStepsProvidedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Cannot supply more than 4 action steps with current protocol version',\n );\n }\n}\n\n/**\n * The error is thrown when trying to reuse an existing deployed Incentive that isn't a base implementation.\n *\n * @export\n * @class ValidationAbiMissingError\n * @typedef {ValidationAbiMissingError}\n * @extends {Error}\n */\nexport class ValidationAbiMissingError extends Error {\n /**\n * Creates an instance of ValidationAbiMissingError.\n *\n * @constructor\n * @param {Hex} signature\n */\n constructor(signature: Hex) {\n super(`No known ABI for given signature: ${signature}`);\n }\n}\n\n/**\n * Function action validation context to help debug other validation errors\n *\n * @interface FunctionActionValidationMeta\n * @typedef {FunctionActionValidationMeta}\n */\ninterface FunctionActionValidationMeta {\n decodedArgs: readonly (string | bigint)[];\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n}\n/**\n * Event action validation context to help debug other validation errors\n *\n * @interface EventActionValidationMeta\n * @typedef {EventActionValidationMeta}\n */\ninterface EventActionValidationMeta {\n /**\n * The viem log being validated against\n *\n * @type {Log}\n */\n log?: EventLogs[0];\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n}\n\n/**\n * The base error thrown during event action validation extended by more specific validation errors.\n * Instantiated with relevent context data for more in depth debugging.\n *\n * @export\n * @class FieldActionValidationError\n * @typedef {FieldActionValidationError}\n * @extends {Error}\n */\nexport class FieldActionValidationError extends Error {\n /**\n * The function input arguments being validated against\n *\n * @type {decodedArgs}\n */\n decodedArgs?: readonly (string | bigint)[];\n /**\n * The viem log being validated against\n *\n * @type {Log}\n */\n log?: EventLogs[0];\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n /**\n * Creates an instance of FieldActionValidationError.\n *\n * @constructor\n * @param {string} message\n * @param {EventActionValidationMeta} param0\n * @param {*} param0.fieldValue\n * @param {Criteria} param0.criteria\n * @param {Log} param0.log\n */\n constructor(\n message: string,\n {\n fieldValue,\n criteria,\n ...args\n }: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super(message);\n this.fieldValue = fieldValue;\n this.criteria = criteria;\n\n switch (true) {\n case 'log' in args:\n this.log = args.log;\n break;\n case 'decodedArgs' in args:\n this.decodedArgs = args.decodedArgs;\n }\n }\n}\n\n/**\n * Thrown when abi-decoded args on log is undefined\n *\n * @export\n * @class FieldValueUndefinedError\n * @typedef {FieldValueUndefinedError}\n * @extends {FieldActionValidationError}\n */\nexport class DecodedArgsMalformedError extends FieldActionValidationError {\n /**\n * Creates an instance of DecodedArgsUndefinedError.\n *\n * @constructor\n * @param {DecodedArgsMalformedError} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super(\n 'Decoded Args are malformed; Check which params are indexed',\n metadata,\n );\n }\n}\n\n/**\n * Thrown when field value on log is undefined\n *\n * @export\n * @class FieldValueUndefinedError\n * @typedef {FieldValueUndefinedError}\n * @extends {FieldActionValidationError}\n */\nexport class FieldValueUndefinedError extends FieldActionValidationError {\n /**\n * Creates an instance of FieldValueUndefinedError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super('Field value is undefined', metadata);\n }\n}\n\n/**\n * Thrown when a filter type is using a numerical operator but field type is not numerical\n *\n * @export\n * @class InvalidNumericalCriteriaError\n * @typedef {InvalidNumericalCriteriaError}\n * @extends {FieldActionValidationError}\n */\nexport class InvalidNumericalCriteriaError extends FieldActionValidationError {\n /**\n * Creates an instance of InvalidNumericalCriteria.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super(\n 'Numerical comparisons cannot be used with non-numerical criteria',\n metadata,\n );\n }\n}\n\n/**\n * Thrown when decoding function data fails.\n *\n * @export\n * @class FunctionDataDecodeError\n * @typedef {FunctionDataDecodeError}\n * @extends {Error}\n */\nexport class FunctionDataDecodeError extends Error {\n public abi: AbiFunction[];\n public originalError: Error;\n\n /**\n * Creates an instance of FunctionDataDecodeError.\n *\n * @constructor\n * @param {AbiFunction[]} abi - The ABI of the function.\n * @param {Error} originalError - The original error that was thrown.\n */\n constructor(abi: AbiFunction[], originalError: Error) {\n super(`Failed to decode function data: ${originalError.message}`);\n this.name = 'FunctionDataDecodeError';\n this.abi = abi;\n this.originalError = originalError;\n }\n}\n\n/**\n * Thrown when an the log's field value is being compared a field type that isn't bytes or string during event action validation\n *\n * @export\n * @class FieldValueNotComparableError\n * @typedef {FieldValueNotComparableError}\n * @extends {FieldActionValidationError}\n */\nexport class FieldValueNotComparableError extends FieldActionValidationError {\n /**\n * Creates an instance of FieldValueNotComparableError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super('Filter can only be used with bytes or string field type', metadata);\n }\n}\n\n/**\n * Thrown when an invalid filter type enum was provided event action validation.\n *\n * @export\n * @class UnrecognizedFilterTypeError\n * @typedef {UnrecognizedFilterTypeError}\n * @extends {FieldActionValidationError}\n */\nexport class UnrecognizedFilterTypeError extends FieldActionValidationError {\n /**\n * Creates an instance of UnrecognizedFilterTypeError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super('Invalid FilterType provided', metadata);\n }\n}\n\n/**\n * Thrown when no chain ID is provided in the Wagmi configuration.\n *\n * @export\n * @class NoConnectedChainIdError\n * @typedef {NoConnectedChainIdError}\n * @extends {Error}\n */\nexport class NoConnectedChainIdError extends Error {\n /**\n * Creates an instance of NoConnectedChainIdError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Provided Wagmi configuration does not define `chainId` property with which to target protocol contracts',\n );\n this.name = 'NoConnectedChainIdError';\n }\n}\n\n/**\n * Thrown when an invalid chain ID is provided that doesn't match any deployed protocol.\n *\n * @export\n * @class InvalidProtocolChainIdError\n * @typedef {InvalidProtocolChainIdError}\n * @extends {Error}\n */\nexport class InvalidProtocolChainIdError extends Error {\n /**\n * Creates an instance of InvalidProtocolChainIdError.\n *\n * @constructor\n * @param {number} chainId - The chain ID provided in the configuration.\n * @param {number[]} validChainIds - A list of valid chain IDs where the protocol is deployed.\n */\n constructor(chainId: number, validChainIds: number[]) {\n super(\n `Provided Wagmi configuration supplied a \"chainId\" where protocol is not deployed, provided: ${chainId}, but valid chains are: ${validChainIds}`,\n );\n this.name = 'InvalidProtocolChainIdError';\n }\n}\n\n/**\n * Thrown when the incentive criteria cannot be fetched from the contract.\n *\n * @export\n * @class IncentiveCriteriaNotFoundError\n * @typedef {IncentiveCriteriaNotFoundError}\n * @extends {Error}\n */\nexport class IncentiveCriteriaNotFoundError extends Error {\n /**\n * Creates an instance of IncentiveCriteriaNotFoundError.\n *\n * @constructor\n * @param {Error} [e] - Optional error object for further context.\n * @param {string} [message='Unable to fetch Incentive Criteria from contract'] - Custom error message.\n */\n constructor(\n e?: Error,\n message = 'Unable to fetch Incentive Criteria from contract',\n ) {\n super(message + (e ? `: ${e.message}` : ''));\n this.name = 'IncentiveCriteriaNotFoundError';\n }\n}\n\n/**\n * Thrown when no matching logs are found for a given event signature.\n *\n * @export\n * @class NoMatchingLogsError\n * @typedef {NoMatchingLogsError}\n * @extends {Error}\n */\nexport class NoMatchingLogsError extends Error {\n /**\n * Creates an instance of NoMatchingLogsError.\n *\n * @constructor\n * @param {string} signature - The event signature for which logs are being searched.\n * @param {string} [message] - Optional custom error message.\n */\n constructor(\n signature: string,\n message = `No logs found for event signature ${signature}`,\n ) {\n super(message);\n this.name = 'NoMatchingLogsError';\n }\n}\n\n/**\n * Thrown when an invalid criteria type is provided.\n *\n * @export\n * @class InvalidCriteriaTypeError\n * @typedef {InvalidCriteriaTypeError}\n * @extends {Error}\n */\nexport class InvalidCriteriaTypeError extends Error {\n /**\n * Creates an instance of InvalidCriteriaTypeError.\n *\n * @constructor\n * @param {string} [criteriaType='unknown'] - The invalid criteria type that was provided.\n * @param {string} [message] - Optional custom error message.\n */\n constructor(\n criteriaType = 'unknown',\n message = `Invalid criteria type ${criteriaType}`,\n ) {\n super(message);\n this.name = 'InvalidCriteriaTypeError';\n }\n}\n\n/**\n * Thrown when decoding function arguments fails.\n *\n * @export\n * @class DecodedArgsError\n * @typedef {DecodedArgsError}\n * @extends {Error}\n */\nexport class DecodedArgsError extends Error {\n /**\n * Creates an instance of DecodedArgsError.\n *\n * @constructor\n * @param {string} [message='Issue decoding args'] - Custom error message.\n */\n constructor(message = 'Issue decoding args') {\n super(message);\n this.name = 'DecodedArgsError';\n }\n}\n\n/**\n * Thrown when reading a Boost that does not exist\n *\n * @export\n * @class BoostNotFoundError\n * @typedef {BoostNotFoundError}\n * @extends {Error}\n */\nexport class BoostNotFoundError extends Error {\n public readonly id: string;\n /**\n * Creates an instance of BoostNotFoundError.\n *\n * @constructor\n * @param {string} [id] - stringified boost id that does not exist\n */\n constructor(id: string) {\n super(`Boost with not found with id: ${id}`);\n this.id = id;\n }\n}\n\n/**\n * Thrown when a tuple decoding operation encounters unexpected structure or data.\n *\n * @export\n * @class InvalidTupleDecodingError\n * @typedef {InvalidTupleDecodingError}\n * @extends {Error}\n */\nexport class InvalidTupleDecodingError extends Error {\n /**\n * The index of the tuple that caused the error.\n *\n * @type {number}\n */\n public readonly tupleIndex: number;\n\n /**\n * Creates an instance of InvalidTupleDecodingError.\n *\n * @constructor\n * @param {string} tupleName - The name or identifier of the tuple that failed to decode.\n * @param {string} [message] - Optional custom message for more context.\n */\n constructor(message?: string, tupleIndex?: number) {\n super(message || `Failed to decode tuple: ${tupleIndex}`);\n this.tupleIndex = tupleIndex ?? -1;\n }\n}\n\nexport class InvalidTupleEncodingError extends Error {\n /**\n * The index of the tuple that caused the error.\n *\n * @type {number}\n */\n public readonly tupleIndex: number;\n\n /**\n * Creates an instance of InvalidTupleEncodingError.\n *\n * @constructor\n * @param {string} tupleName - The name or identifier of the tuple that failed to encode.\n * @param {string} [message] - Optional custom message for more context.\n */\n constructor(message?: string, tupleIndex?: number) {\n super(message || `Failed to encode tuple: ${tupleIndex}`);\n this.tupleIndex = tupleIndex ?? -1;\n }\n}\n"],"names":["BoostCoreNoIdentifierEmitted","ContractAddressRequiredError","DeployableAlreadyDeployedError","address","DeployableBuildParametersUnspecifiedError","DeployableUnknownOwnerProvidedError","DeployableWagmiConfigurationRequiredError","DeployableMissingPayloadError","NoContractAddressUponReceiptError","receipt","InvalidComponentInterfaceError","expected","received","zeroHash","UnparseableAbiParamError","input_param_idx","event","UnknownTransferPayloadSupplied","BudgetMustAuthorizeBoostCore","boostCoreAddress","MustInitializeBudgetError","IncentiveNotCloneableError","incentive","NoEventActionStepsProvidedError","TooManyEventActionStepsProvidedError","ValidationAbiMissingError","signature","FieldActionValidationError","message","fieldValue","criteria","args","DecodedArgsMalformedError","metadata","FieldValueUndefinedError","InvalidNumericalCriteriaError","FunctionDataDecodeError","abi","originalError","FieldValueNotComparableError","UnrecognizedFilterTypeError","NoConnectedChainIdError","InvalidProtocolChainIdError","chainId","validChainIds","IncentiveCriteriaNotFoundError","e","NoMatchingLogsError","InvalidCriteriaTypeError","criteriaType","DecodedArgsError","BoostNotFoundError","id","InvalidTupleDecodingError","tupleIndex","InvalidTupleEncodingError"],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -673,5 +673,45 @@ export declare class BoostNotFoundError extends Error {
673
673
  */
674
674
  constructor(id: string);
675
675
  }
676
+ /**
677
+ * Thrown when a tuple decoding operation encounters unexpected structure or data.
678
+ *
679
+ * @export
680
+ * @class InvalidTupleDecodingError
681
+ * @typedef {InvalidTupleDecodingError}
682
+ * @extends {Error}
683
+ */
684
+ export declare class InvalidTupleDecodingError extends Error {
685
+ /**
686
+ * The index of the tuple that caused the error.
687
+ *
688
+ * @type {number}
689
+ */
690
+ readonly tupleIndex: number;
691
+ /**
692
+ * Creates an instance of InvalidTupleDecodingError.
693
+ *
694
+ * @constructor
695
+ * @param {string} tupleName - The name or identifier of the tuple that failed to decode.
696
+ * @param {string} [message] - Optional custom message for more context.
697
+ */
698
+ constructor(message?: string, tupleIndex?: number);
699
+ }
700
+ export declare class InvalidTupleEncodingError extends Error {
701
+ /**
702
+ * The index of the tuple that caused the error.
703
+ *
704
+ * @type {number}
705
+ */
706
+ readonly tupleIndex: number;
707
+ /**
708
+ * Creates an instance of InvalidTupleEncodingError.
709
+ *
710
+ * @constructor
711
+ * @param {string} tupleName - The name or identifier of the tuple that failed to encode.
712
+ * @param {string} [message] - Optional custom message for more context.
713
+ */
714
+ constructor(message?: string, tupleIndex?: number);
715
+ }
676
716
  export {};
677
717
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/errors.js CHANGED
@@ -80,7 +80,7 @@ class h extends Error {
80
80
  );
81
81
  }
82
82
  }
83
- class m extends Error {
83
+ class g extends Error {
84
84
  /**
85
85
  * Creates an instance of NoContractAddressUponReceiptError.
86
86
  *
@@ -93,7 +93,7 @@ class m extends Error {
93
93
  }), this.receipt = r;
94
94
  }
95
95
  }
96
- class g extends Error {
96
+ class m extends Error {
97
97
  /**
98
98
  * Creates an instance of InvalidComponentInterfaceError.
99
99
  *
@@ -265,7 +265,7 @@ class N extends t {
265
265
  );
266
266
  }
267
267
  }
268
- class P extends Error {
268
+ class F extends Error {
269
269
  /**
270
270
  * Creates an instance of FunctionDataDecodeError.
271
271
  *
@@ -277,7 +277,7 @@ class P extends Error {
277
277
  super(`Failed to decode function data: ${o.message}`), this.name = "FunctionDataDecodeError", this.abi = r, this.originalError = o;
278
278
  }
279
279
  }
280
- class F extends t {
280
+ class P extends t {
281
281
  /**
282
282
  * Creates an instance of FieldValueNotComparableError.
283
283
  *
@@ -288,7 +288,7 @@ class F extends t {
288
288
  super("Filter can only be used with bytes or string field type", r);
289
289
  }
290
290
  }
291
- class B extends t {
291
+ class $ extends t {
292
292
  /**
293
293
  * Creates an instance of UnrecognizedFilterTypeError.
294
294
  *
@@ -299,7 +299,7 @@ class B extends t {
299
299
  super("Invalid FilterType provided", r);
300
300
  }
301
301
  }
302
- class $ extends Error {
302
+ class B extends Error {
303
303
  /**
304
304
  * Creates an instance of NoConnectedChainIdError.
305
305
  *
@@ -325,7 +325,7 @@ class M extends Error {
325
325
  ), this.name = "InvalidProtocolChainIdError";
326
326
  }
327
327
  }
328
- class U extends Error {
328
+ class T extends Error {
329
329
  /**
330
330
  * Creates an instance of IncentiveCriteriaNotFoundError.
331
331
  *
@@ -337,7 +337,7 @@ class U extends Error {
337
337
  super(o + (r ? `: ${r.message}` : "")), this.name = "IncentiveCriteriaNotFoundError";
338
338
  }
339
339
  }
340
- class T extends Error {
340
+ class U extends Error {
341
341
  /**
342
342
  * Creates an instance of NoMatchingLogsError.
343
343
  *
@@ -383,6 +383,30 @@ class V extends Error {
383
383
  super(`Boost with not found with id: ${r}`), this.id = r;
384
384
  }
385
385
  }
386
+ class W extends Error {
387
+ /**
388
+ * Creates an instance of InvalidTupleDecodingError.
389
+ *
390
+ * @constructor
391
+ * @param {string} tupleName - The name or identifier of the tuple that failed to decode.
392
+ * @param {string} [message] - Optional custom message for more context.
393
+ */
394
+ constructor(r, o) {
395
+ super(r || `Failed to decode tuple: ${o}`), this.tupleIndex = o ?? -1;
396
+ }
397
+ }
398
+ class R extends Error {
399
+ /**
400
+ * Creates an instance of InvalidTupleEncodingError.
401
+ *
402
+ * @constructor
403
+ * @param {string} tupleName - The name or identifier of the tuple that failed to encode.
404
+ * @param {string} [message] - Optional custom message for more context.
405
+ */
406
+ constructor(r, o) {
407
+ super(r || `Failed to encode tuple: ${o}`), this.tupleIndex = o ?? -1;
408
+ }
409
+ }
386
410
  export {
387
411
  c as BoostCoreNoIdentifierEmitted,
388
412
  V as BoostNotFoundError,
@@ -396,24 +420,26 @@ export {
396
420
  p as DeployableUnknownOwnerProvidedError,
397
421
  E as DeployableWagmiConfigurationRequiredError,
398
422
  t as FieldActionValidationError,
399
- F as FieldValueNotComparableError,
423
+ P as FieldValueNotComparableError,
400
424
  D as FieldValueUndefinedError,
401
- P as FunctionDataDecodeError,
402
- U as IncentiveCriteriaNotFoundError,
425
+ F as FunctionDataDecodeError,
426
+ T as IncentiveCriteriaNotFoundError,
403
427
  f as IncentiveNotCloneableError,
404
- g as InvalidComponentInterfaceError,
428
+ m as InvalidComponentInterfaceError,
405
429
  k as InvalidCriteriaTypeError,
406
430
  N as InvalidNumericalCriteriaError,
407
431
  M as InvalidProtocolChainIdError,
432
+ W as InvalidTupleDecodingError,
433
+ R as InvalidTupleEncodingError,
408
434
  b as MustInitializeBudgetError,
409
- $ as NoConnectedChainIdError,
410
- m as NoContractAddressUponReceiptError,
435
+ B as NoConnectedChainIdError,
436
+ g as NoContractAddressUponReceiptError,
411
437
  I as NoEventActionStepsProvidedError,
412
- T as NoMatchingLogsError,
438
+ U as NoMatchingLogsError,
413
439
  C as TooManyEventActionStepsProvidedError,
414
440
  v as UnknownTransferPayloadSupplied,
415
441
  x as UnparseableAbiParamError,
416
- B as UnrecognizedFilterTypeError,
442
+ $ as UnrecognizedFilterTypeError,
417
443
  w as ValidationAbiMissingError
418
444
  };
419
445
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sources":["../src/errors.ts"],"sourcesContent":["import {\n type AbiEvent,\n type AbiFunction,\n type Hex,\n type Log,\n type WaitForTransactionReceiptReturnType,\n zeroHash,\n} from 'viem';\nimport type { Criteria } from './Actions/EventAction';\nimport type { EventLogs } from './Actions/EventAction';\nimport type { BoostRegistry } from './BoostRegistry';\nimport { DeployableTarget } from './Deployable/DeployableTarget';\nimport type { Incentive } from './Incentives/Incentive';\n\n/**\n * This error is thrown during Boost creation if no `BoostCreated` event was emitted.\n *\n * @export\n * @class BoostCoreNoIdentifierEmitted\n * @typedef {BoostCoreNoIdentifierEmitted}\n * @extends {Error}\n * @example\n * ```ts\n * try {\n * await boostCore.createBoost(...)\n * } catch(e) {\n * if(e instanceof BoostCoreNoIdentifierEmitted) {}\n * }\n * ```\n */\nexport class BoostCoreNoIdentifierEmitted extends Error {\n /**\n * Creates an instance of BoostCoreNoIdentifierEmitted.\n *\n * @constructor\n */\n constructor() {\n super(`No \"BoostCreated\" log was emitted from which to extract boostId`);\n }\n}\n\n/**\n * This error is thrown when `assertValidAddress` is called, usually because a contract call expects the class to have a valid address attached.\n *\n * @export\n * @class ContractAddressRequiredError\n * @typedef {ContractAddressRequiredError}\n * @extends {Error}\n * @example\n * ```ts\n * try {\n * target.assertValidAddress()\n * } catch(e) {\n * if(e instanceof ContractAddressRequiredError) {}\n * }\n */\nexport class ContractAddressRequiredError extends Error {\n /**\n * Creates an instance of ContractAddressRequiredError.\n *\n * @constructor\n */\n constructor() {\n super('Attempted to call contract method without providing an address');\n }\n}\n\n/**\n * This error is thrown when attempting to deploy a contract that has already been deployed, or has an address attached.\n *\n * @export\n * @class DeployableAlreadyDeployedError\n * @typedef {DeployableAlreadyDeployedError}\n * @extends {Error}\n */\nexport class DeployableAlreadyDeployedError extends Error {\n /**\n * The address already attached to the target.\n *\n * @type {string}\n */\n address: string;\n /**\n * Creates an instance of DeployableAlreadyDeployedError.\n *\n * @constructor\n * @param {string} address\n */\n constructor(address: string) {\n super(\n 'Attempted to deploy a contract that already has an address configured',\n );\n this.address = address;\n }\n}\n\n/**\n * You should never see this error if we did our jobs and every target overrides the `buildParameters` method.\n *\n * @export\n * @class DeployableBuildParametersUnspecifiedError\n * @typedef {DeployableBuildParametersUnspecifiedError}\n * @extends {Error}\n */\nexport class DeployableBuildParametersUnspecifiedError extends Error {\n /**\n * Creates an instance of DeployableBuildParametersUnspecifiedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Implementing class did not properly override the `buildParameters` method',\n );\n }\n}\n\n/**\n * This error is thrown when attempting to deploy an `ownable` contract and the owner cannot be ascertained from the initialization payload or configured account.\n *\n * @export\n * @class DeployableUnknownOwnerProvidedError\n * @typedef {DeployableUnknownOwnerProvidedError}\n * @extends {Error}\n */\nexport class DeployableUnknownOwnerProvidedError extends Error {\n /**\n * Creates an instance of DeployableUnknownOwnerProvidedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected an an owner to be provided in configuration or an account to exist on Wagmi config.',\n );\n }\n}\n\n/**\n * This error is thrown when deploying a contract with no valid Wagmi configuration on the instance.\n *\n * @export\n * @class DeployableWagmiConfigurationRequiredError\n * @typedef {DeployableWagmiConfigurationRequiredError}\n * @extends {Error}\n */\nexport class DeployableWagmiConfigurationRequiredError extends Error {\n /**\n * Creates an instance of DeployableWagmiConfigurationRequiredError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected a valid Wagmi configuration to be available either on Deployable, or as argument to deploy.',\n );\n }\n}\n\n/**\n * This error is thrown when deploying a contract with no valid initialization payload.\n *\n * @export\n * @class DeployableMissingPayloadError\n * @typedef {DeployableMissingPayloadError}\n * @extends {Error}\n */\nexport class DeployableMissingPayloadError extends Error {\n /**\n * Creates an instance of DeployableMissingPayloadError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected a valid payload to be available either on Deployable or as argument to deploy.',\n );\n }\n}\n\n/**\n * This error is thrown when we receive a transaction receipt for a contract deployment without a contract address on it.\n *\n * @export\n * @class NoContractAddressUponReceiptError\n * @typedef {NoContractAddressUponReceiptError}\n * @extends {Error}\n */\nexport class NoContractAddressUponReceiptError extends Error {\n /**\n * The raw receipt we receive from [waitForTransactionReceipt](https://v1.viem.sh/docs/actions/public/waitForTransactionReceipt.html#waitfortransactionreceipt)\n *\n * @public\n * @readonly\n * @type {WaitForTransactionReceiptReturnType}\n */\n public readonly receipt: WaitForTransactionReceiptReturnType;\n /**\n * Creates an instance of NoContractAddressUponReceiptError.\n *\n * @constructor\n * @param {WaitForTransactionReceiptReturnType} receipt\n */\n constructor(receipt: WaitForTransactionReceiptReturnType) {\n super(`Expected a contract address to exist on receipt.`, {\n cause: receipt,\n });\n this.receipt = receipt;\n }\n}\n\n/**\n * This error is thrown when a target address was provided that doesn't match any supported interface for the given registry type.\n * For example, if you try to do `incentiveFromAddress()` with the address of a deployed `SimpleBudget`\n *\n * @export\n * @class InvalidComponentInterfaceError\n * @typedef {InvalidComponentInterfaceError}\n * @extends {Error}\n */\nexport class InvalidComponentInterfaceError extends Error {\n /**\n * Expected interface hashes.\n *\n * @public\n * @readonly\n * @type {Hex[]}\n */\n public readonly expected: Hex[] = [];\n /**\n * The actual interface hash.\n *\n * @public\n * @readonly\n * @type {Hex}\n */\n public readonly received: Hex = zeroHash;\n\n /**\n * Creates an instance of InvalidComponentInterfaceError.\n *\n * @constructor\n * @param {Hex[]} expected\n * @param {Hex} received\n */\n constructor(expected: Hex[], received: Hex) {\n super(`Address provided does not match any expected protocol interface`, {\n cause: { expected, received },\n });\n this.expected = expected;\n this.received = received;\n }\n}\n\n/**\n * This error is thrown when a param is not transparently stored onchain\n *\n * @export\n * @class UnparseableAbiParamError\n * @typedef {UnparseableAbiParamError}\n * @extends {Error}\n */\nexport class UnparseableAbiParamError extends Error {\n /**\n * the param index that is unparseable\n *\n * @type {number}\n */\n input_param_idx: number;\n /**\n * The given event that contains the unparseable param\n *\n * @type {AbiEvent}\n */\n event: AbiEvent;\n /**\n * Creates an instance of UnknownTransferPayloadSupplied.\n *\n * @constructor\n * @param {number} input_param_idx\n * @param {AbiEvent} event\n */\n constructor(input_param_idx: number, event: AbiEvent) {\n super(\n `Parameter is not transparently stored onchain. Parameter ${input_param_idx} in event ${event.name} cannot be used in an action`,\n { cause: event },\n );\n this.event = event;\n this.input_param_idx = input_param_idx;\n }\n}\n\n/**\n * This error is thrown when attempting a Budget transfer and arguments aren't of the type `FungibleTransferPayload` or `ERC1155TransferPayload`\n *\n * @see {@link FungibleTransferPayload}\n * @see {@link ERC1155TransferPayload}\n * @export\n * @class UnknownTransferPayloadSupplied\n * @typedef {UnknownTransferPayloadSupplied}\n * @extends {Error}\n */\nexport class UnknownTransferPayloadSupplied extends Error {\n /**\n * The given payload that does not conform to the correct payload shape.\n *\n * @type {unknown}\n */\n received: unknown;\n /**\n * Creates an instance of UnknownTransferPayloadSupplied.\n *\n * @constructor\n * @param {unknown} received\n */\n constructor(received: unknown) {\n super(\n `Did not provide a valid FungibleTransferPayload or ERC1155 transfer payload.`,\n { cause: received },\n );\n this.received = received;\n }\n}\n\n/**\n * This error is thrown during Boost creation when the budget doesn't authorize the Boost Core address.\n *\n * @export\n * @class BudgetMustAuthorizeBoostCore\n * @typedef {BudgetMustAuthorizeBoostCore}\n * @extends {Error}\n */\nexport class BudgetMustAuthorizeBoostCore extends Error {\n /**\n * Creates an instance of BudgetMustAuthorizeBoostCore.\n *\n * @constructor\n * @param {string} boostCoreAddress\n */\n constructor(boostCoreAddress: string) {\n super(\n `Budget needs to explicitly authorize ${boostCoreAddress}. You can retrieve this value from BoostCore.address`,\n );\n }\n}\n\n/**\n * Because this contract is a base implementation, it should not be initialized through the constructor. Instead, it should be cloned and initialized using the {@link BoostRegistry}\n *\n * @export\n * @class MustInitializeBudgetError\n * @typedef {MustInitializeBudgetError}\n * @extends {Error}\n */\nexport class MustInitializeBudgetError extends Error {\n /**\n * Creates an instance of MustInitializeBudgetError.\n */\n constructor() {\n super(`Budgets must be preinitialized before being used with a new Boost`);\n }\n}\n\n/**\n * The error is thrown when trying to reuse an existing deployed Incentive that isn't a base implementation.\n * The protocol doesn't allow this.\n *\n * @export\n * @class IncentiveNotCloneableError\n * @typedef {IncentiveNotCloneableError}\n * @extends {Error}\n */\nexport class IncentiveNotCloneableError extends Error {\n /**\n * Creates an instance of IncentiveNotCloneableError.\n *\n * @constructor\n * @param {Incentive} incentive\n */\n constructor(incentive: Incentive) {\n super(`Incentive not cloneable: ${incentive.constructor.name}`);\n }\n}\n\n/**\n * Thrown when encoding an EventAction payload and no action steps are provided\n *\n * @export\n * @class NoEventActionStepsProvidedError\n * @typedef {NoEventActionStepsProvidedError}\n * @extends {Error}\n */\nexport class NoEventActionStepsProvidedError extends Error {\n /**\n * Creates an instance of NoEventActionStepsProvidedError.\n *\n * @constructor\n */\n constructor() {\n super('Must supply at least one action step');\n }\n}\n\n/**\n * Thrown when encoding an EventAction payload and > 4 steps are provided\n *\n * @export\n * @class TooManyEventActionStepsProvidedError\n * @typedef {TooManyEventActionStepsProvidedError}\n * @extends {Error}\n */\nexport class TooManyEventActionStepsProvidedError extends Error {\n /**\n * Creates an instance of TooManyEventActionStepsProvidedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Cannot supply more than 4 action steps with current protocol version',\n );\n }\n}\n\n/**\n * The error is thrown when trying to reuse an existing deployed Incentive that isn't a base implementation.\n *\n * @export\n * @class ValidationAbiMissingError\n * @typedef {ValidationAbiMissingError}\n * @extends {Error}\n */\nexport class ValidationAbiMissingError extends Error {\n /**\n * Creates an instance of ValidationAbiMissingError.\n *\n * @constructor\n * @param {Hex} signature\n */\n constructor(signature: Hex) {\n super(`No known ABI for given signature: ${signature}`);\n }\n}\n\n/**\n * Function action validation context to help debug other validation errors\n *\n * @interface FunctionActionValidationMeta\n * @typedef {FunctionActionValidationMeta}\n */\ninterface FunctionActionValidationMeta {\n decodedArgs: readonly (string | bigint)[];\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n}\n/**\n * Event action validation context to help debug other validation errors\n *\n * @interface EventActionValidationMeta\n * @typedef {EventActionValidationMeta}\n */\ninterface EventActionValidationMeta {\n /**\n * The viem log being validated against\n *\n * @type {Log}\n */\n log?: EventLogs[0];\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n}\n\n/**\n * The base error thrown during event action validation extended by more specific validation errors.\n * Instantiated with relevent context data for more in depth debugging.\n *\n * @export\n * @class FieldActionValidationError\n * @typedef {FieldActionValidationError}\n * @extends {Error}\n */\nexport class FieldActionValidationError extends Error {\n /**\n * The function input arguments being validated against\n *\n * @type {decodedArgs}\n */\n decodedArgs?: readonly (string | bigint)[];\n /**\n * The viem log being validated against\n *\n * @type {Log}\n */\n log?: EventLogs[0];\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n /**\n * Creates an instance of FieldActionValidationError.\n *\n * @constructor\n * @param {string} message\n * @param {EventActionValidationMeta} param0\n * @param {*} param0.fieldValue\n * @param {Criteria} param0.criteria\n * @param {Log} param0.log\n */\n constructor(\n message: string,\n {\n fieldValue,\n criteria,\n ...args\n }: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super(message);\n this.fieldValue = fieldValue;\n this.criteria = criteria;\n\n switch (true) {\n case 'log' in args:\n this.log = args.log;\n break;\n case 'decodedArgs' in args:\n this.decodedArgs = args.decodedArgs;\n }\n }\n}\n\n/**\n * Thrown when abi-decoded args on log is undefined\n *\n * @export\n * @class FieldValueUndefinedError\n * @typedef {FieldValueUndefinedError}\n * @extends {FieldActionValidationError}\n */\nexport class DecodedArgsMalformedError extends FieldActionValidationError {\n /**\n * Creates an instance of DecodedArgsUndefinedError.\n *\n * @constructor\n * @param {DecodedArgsMalformedError} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super(\n 'Decoded Args are malformed; Check which params are indexed',\n metadata,\n );\n }\n}\n\n/**\n * Thrown when field value on log is undefined\n *\n * @export\n * @class FieldValueUndefinedError\n * @typedef {FieldValueUndefinedError}\n * @extends {FieldActionValidationError}\n */\nexport class FieldValueUndefinedError extends FieldActionValidationError {\n /**\n * Creates an instance of FieldValueUndefinedError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super('Field value is undefined', metadata);\n }\n}\n\n/**\n * Thrown when a filter type is using a numerical operator but field type is not numerical\n *\n * @export\n * @class InvalidNumericalCriteriaError\n * @typedef {InvalidNumericalCriteriaError}\n * @extends {FieldActionValidationError}\n */\nexport class InvalidNumericalCriteriaError extends FieldActionValidationError {\n /**\n * Creates an instance of InvalidNumericalCriteria.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super(\n 'Numerical comparisons cannot be used with non-numerical criteria',\n metadata,\n );\n }\n}\n\n/**\n * Thrown when decoding function data fails.\n *\n * @export\n * @class FunctionDataDecodeError\n * @typedef {FunctionDataDecodeError}\n * @extends {Error}\n */\nexport class FunctionDataDecodeError extends Error {\n public abi: AbiFunction[];\n public originalError: Error;\n\n /**\n * Creates an instance of FunctionDataDecodeError.\n *\n * @constructor\n * @param {AbiFunction[]} abi - The ABI of the function.\n * @param {Error} originalError - The original error that was thrown.\n */\n constructor(abi: AbiFunction[], originalError: Error) {\n super(`Failed to decode function data: ${originalError.message}`);\n this.name = 'FunctionDataDecodeError';\n this.abi = abi;\n this.originalError = originalError;\n }\n}\n\n/**\n * Thrown when an the log's field value is being compared a field type that isn't bytes or string during event action validation\n *\n * @export\n * @class FieldValueNotComparableError\n * @typedef {FieldValueNotComparableError}\n * @extends {FieldActionValidationError}\n */\nexport class FieldValueNotComparableError extends FieldActionValidationError {\n /**\n * Creates an instance of FieldValueNotComparableError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super('Filter can only be used with bytes or string field type', metadata);\n }\n}\n\n/**\n * Thrown when an invalid filter type enum was provided event action validation.\n *\n * @export\n * @class UnrecognizedFilterTypeError\n * @typedef {UnrecognizedFilterTypeError}\n * @extends {FieldActionValidationError}\n */\nexport class UnrecognizedFilterTypeError extends FieldActionValidationError {\n /**\n * Creates an instance of UnrecognizedFilterTypeError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super('Invalid FilterType provided', metadata);\n }\n}\n\n/**\n * Thrown when no chain ID is provided in the Wagmi configuration.\n *\n * @export\n * @class NoConnectedChainIdError\n * @typedef {NoConnectedChainIdError}\n * @extends {Error}\n */\nexport class NoConnectedChainIdError extends Error {\n /**\n * Creates an instance of NoConnectedChainIdError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Provided Wagmi configuration does not define `chainId` property with which to target protocol contracts',\n );\n this.name = 'NoConnectedChainIdError';\n }\n}\n\n/**\n * Thrown when an invalid chain ID is provided that doesn't match any deployed protocol.\n *\n * @export\n * @class InvalidProtocolChainIdError\n * @typedef {InvalidProtocolChainIdError}\n * @extends {Error}\n */\nexport class InvalidProtocolChainIdError extends Error {\n /**\n * Creates an instance of InvalidProtocolChainIdError.\n *\n * @constructor\n * @param {number} chainId - The chain ID provided in the configuration.\n * @param {number[]} validChainIds - A list of valid chain IDs where the protocol is deployed.\n */\n constructor(chainId: number, validChainIds: number[]) {\n super(\n `Provided Wagmi configuration supplied a \"chainId\" where protocol is not deployed, provided: ${chainId}, but valid chains are: ${validChainIds}`,\n );\n this.name = 'InvalidProtocolChainIdError';\n }\n}\n\n/**\n * Thrown when the incentive criteria cannot be fetched from the contract.\n *\n * @export\n * @class IncentiveCriteriaNotFoundError\n * @typedef {IncentiveCriteriaNotFoundError}\n * @extends {Error}\n */\nexport class IncentiveCriteriaNotFoundError extends Error {\n /**\n * Creates an instance of IncentiveCriteriaNotFoundError.\n *\n * @constructor\n * @param {Error} [e] - Optional error object for further context.\n * @param {string} [message='Unable to fetch Incentive Criteria from contract'] - Custom error message.\n */\n constructor(\n e?: Error,\n message = 'Unable to fetch Incentive Criteria from contract',\n ) {\n super(message + (e ? `: ${e.message}` : ''));\n this.name = 'IncentiveCriteriaNotFoundError';\n }\n}\n\n/**\n * Thrown when no matching logs are found for a given event signature.\n *\n * @export\n * @class NoMatchingLogsError\n * @typedef {NoMatchingLogsError}\n * @extends {Error}\n */\nexport class NoMatchingLogsError extends Error {\n /**\n * Creates an instance of NoMatchingLogsError.\n *\n * @constructor\n * @param {string} signature - The event signature for which logs are being searched.\n * @param {string} [message] - Optional custom error message.\n */\n constructor(\n signature: string,\n message = `No logs found for event signature ${signature}`,\n ) {\n super(message);\n this.name = 'NoMatchingLogsError';\n }\n}\n\n/**\n * Thrown when an invalid criteria type is provided.\n *\n * @export\n * @class InvalidCriteriaTypeError\n * @typedef {InvalidCriteriaTypeError}\n * @extends {Error}\n */\nexport class InvalidCriteriaTypeError extends Error {\n /**\n * Creates an instance of InvalidCriteriaTypeError.\n *\n * @constructor\n * @param {string} [criteriaType='unknown'] - The invalid criteria type that was provided.\n * @param {string} [message] - Optional custom error message.\n */\n constructor(\n criteriaType = 'unknown',\n message = `Invalid criteria type ${criteriaType}`,\n ) {\n super(message);\n this.name = 'InvalidCriteriaTypeError';\n }\n}\n\n/**\n * Thrown when decoding function arguments fails.\n *\n * @export\n * @class DecodedArgsError\n * @typedef {DecodedArgsError}\n * @extends {Error}\n */\nexport class DecodedArgsError extends Error {\n /**\n * Creates an instance of DecodedArgsError.\n *\n * @constructor\n * @param {string} [message='Issue decoding args'] - Custom error message.\n */\n constructor(message = 'Issue decoding args') {\n super(message);\n this.name = 'DecodedArgsError';\n }\n}\n\n/**\n * Thrown when reading a Boost that does not exist\n *\n * @export\n * @class BoostNotFoundError\n * @typedef {BoostNotFoundError}\n * @extends {Error}\n */\nexport class BoostNotFoundError extends Error {\n public readonly id: string;\n /**\n * Creates an instance of BoostNotFoundError.\n *\n * @constructor\n * @param {string} [id] - stringified boost id that does not exist\n */\n constructor(id: string) {\n super(`Boost with not found with id: ${id}`);\n this.id = id;\n }\n}\n"],"names":["BoostCoreNoIdentifierEmitted","ContractAddressRequiredError","DeployableAlreadyDeployedError","address","DeployableBuildParametersUnspecifiedError","DeployableUnknownOwnerProvidedError","DeployableWagmiConfigurationRequiredError","DeployableMissingPayloadError","NoContractAddressUponReceiptError","receipt","InvalidComponentInterfaceError","expected","received","zeroHash","UnparseableAbiParamError","input_param_idx","event","UnknownTransferPayloadSupplied","BudgetMustAuthorizeBoostCore","boostCoreAddress","MustInitializeBudgetError","IncentiveNotCloneableError","incentive","NoEventActionStepsProvidedError","TooManyEventActionStepsProvidedError","ValidationAbiMissingError","signature","FieldActionValidationError","message","fieldValue","criteria","args","DecodedArgsMalformedError","metadata","FieldValueUndefinedError","InvalidNumericalCriteriaError","FunctionDataDecodeError","abi","originalError","FieldValueNotComparableError","UnrecognizedFilterTypeError","NoConnectedChainIdError","InvalidProtocolChainIdError","chainId","validChainIds","IncentiveCriteriaNotFoundError","e","NoMatchingLogsError","InvalidCriteriaTypeError","criteriaType","DecodedArgsError","BoostNotFoundError","id"],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sources":["../src/errors.ts"],"sourcesContent":["import {\n type AbiEvent,\n type AbiFunction,\n type Hex,\n type Log,\n type WaitForTransactionReceiptReturnType,\n zeroHash,\n} from 'viem';\nimport type { Criteria } from './Actions/EventAction';\nimport type { EventLogs } from './Actions/EventAction';\nimport type { BoostRegistry } from './BoostRegistry';\nimport { DeployableTarget } from './Deployable/DeployableTarget';\nimport type { Incentive } from './Incentives/Incentive';\n\n/**\n * This error is thrown during Boost creation if no `BoostCreated` event was emitted.\n *\n * @export\n * @class BoostCoreNoIdentifierEmitted\n * @typedef {BoostCoreNoIdentifierEmitted}\n * @extends {Error}\n * @example\n * ```ts\n * try {\n * await boostCore.createBoost(...)\n * } catch(e) {\n * if(e instanceof BoostCoreNoIdentifierEmitted) {}\n * }\n * ```\n */\nexport class BoostCoreNoIdentifierEmitted extends Error {\n /**\n * Creates an instance of BoostCoreNoIdentifierEmitted.\n *\n * @constructor\n */\n constructor() {\n super(`No \"BoostCreated\" log was emitted from which to extract boostId`);\n }\n}\n\n/**\n * This error is thrown when `assertValidAddress` is called, usually because a contract call expects the class to have a valid address attached.\n *\n * @export\n * @class ContractAddressRequiredError\n * @typedef {ContractAddressRequiredError}\n * @extends {Error}\n * @example\n * ```ts\n * try {\n * target.assertValidAddress()\n * } catch(e) {\n * if(e instanceof ContractAddressRequiredError) {}\n * }\n */\nexport class ContractAddressRequiredError extends Error {\n /**\n * Creates an instance of ContractAddressRequiredError.\n *\n * @constructor\n */\n constructor() {\n super('Attempted to call contract method without providing an address');\n }\n}\n\n/**\n * This error is thrown when attempting to deploy a contract that has already been deployed, or has an address attached.\n *\n * @export\n * @class DeployableAlreadyDeployedError\n * @typedef {DeployableAlreadyDeployedError}\n * @extends {Error}\n */\nexport class DeployableAlreadyDeployedError extends Error {\n /**\n * The address already attached to the target.\n *\n * @type {string}\n */\n address: string;\n /**\n * Creates an instance of DeployableAlreadyDeployedError.\n *\n * @constructor\n * @param {string} address\n */\n constructor(address: string) {\n super(\n 'Attempted to deploy a contract that already has an address configured',\n );\n this.address = address;\n }\n}\n\n/**\n * You should never see this error if we did our jobs and every target overrides the `buildParameters` method.\n *\n * @export\n * @class DeployableBuildParametersUnspecifiedError\n * @typedef {DeployableBuildParametersUnspecifiedError}\n * @extends {Error}\n */\nexport class DeployableBuildParametersUnspecifiedError extends Error {\n /**\n * Creates an instance of DeployableBuildParametersUnspecifiedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Implementing class did not properly override the `buildParameters` method',\n );\n }\n}\n\n/**\n * This error is thrown when attempting to deploy an `ownable` contract and the owner cannot be ascertained from the initialization payload or configured account.\n *\n * @export\n * @class DeployableUnknownOwnerProvidedError\n * @typedef {DeployableUnknownOwnerProvidedError}\n * @extends {Error}\n */\nexport class DeployableUnknownOwnerProvidedError extends Error {\n /**\n * Creates an instance of DeployableUnknownOwnerProvidedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected an an owner to be provided in configuration or an account to exist on Wagmi config.',\n );\n }\n}\n\n/**\n * This error is thrown when deploying a contract with no valid Wagmi configuration on the instance.\n *\n * @export\n * @class DeployableWagmiConfigurationRequiredError\n * @typedef {DeployableWagmiConfigurationRequiredError}\n * @extends {Error}\n */\nexport class DeployableWagmiConfigurationRequiredError extends Error {\n /**\n * Creates an instance of DeployableWagmiConfigurationRequiredError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected a valid Wagmi configuration to be available either on Deployable, or as argument to deploy.',\n );\n }\n}\n\n/**\n * This error is thrown when deploying a contract with no valid initialization payload.\n *\n * @export\n * @class DeployableMissingPayloadError\n * @typedef {DeployableMissingPayloadError}\n * @extends {Error}\n */\nexport class DeployableMissingPayloadError extends Error {\n /**\n * Creates an instance of DeployableMissingPayloadError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Expected a valid payload to be available either on Deployable or as argument to deploy.',\n );\n }\n}\n\n/**\n * This error is thrown when we receive a transaction receipt for a contract deployment without a contract address on it.\n *\n * @export\n * @class NoContractAddressUponReceiptError\n * @typedef {NoContractAddressUponReceiptError}\n * @extends {Error}\n */\nexport class NoContractAddressUponReceiptError extends Error {\n /**\n * The raw receipt we receive from [waitForTransactionReceipt](https://v1.viem.sh/docs/actions/public/waitForTransactionReceipt.html#waitfortransactionreceipt)\n *\n * @public\n * @readonly\n * @type {WaitForTransactionReceiptReturnType}\n */\n public readonly receipt: WaitForTransactionReceiptReturnType;\n /**\n * Creates an instance of NoContractAddressUponReceiptError.\n *\n * @constructor\n * @param {WaitForTransactionReceiptReturnType} receipt\n */\n constructor(receipt: WaitForTransactionReceiptReturnType) {\n super(`Expected a contract address to exist on receipt.`, {\n cause: receipt,\n });\n this.receipt = receipt;\n }\n}\n\n/**\n * This error is thrown when a target address was provided that doesn't match any supported interface for the given registry type.\n * For example, if you try to do `incentiveFromAddress()` with the address of a deployed `SimpleBudget`\n *\n * @export\n * @class InvalidComponentInterfaceError\n * @typedef {InvalidComponentInterfaceError}\n * @extends {Error}\n */\nexport class InvalidComponentInterfaceError extends Error {\n /**\n * Expected interface hashes.\n *\n * @public\n * @readonly\n * @type {Hex[]}\n */\n public readonly expected: Hex[] = [];\n /**\n * The actual interface hash.\n *\n * @public\n * @readonly\n * @type {Hex}\n */\n public readonly received: Hex = zeroHash;\n\n /**\n * Creates an instance of InvalidComponentInterfaceError.\n *\n * @constructor\n * @param {Hex[]} expected\n * @param {Hex} received\n */\n constructor(expected: Hex[], received: Hex) {\n super(`Address provided does not match any expected protocol interface`, {\n cause: { expected, received },\n });\n this.expected = expected;\n this.received = received;\n }\n}\n\n/**\n * This error is thrown when a param is not transparently stored onchain\n *\n * @export\n * @class UnparseableAbiParamError\n * @typedef {UnparseableAbiParamError}\n * @extends {Error}\n */\nexport class UnparseableAbiParamError extends Error {\n /**\n * the param index that is unparseable\n *\n * @type {number}\n */\n input_param_idx: number;\n /**\n * The given event that contains the unparseable param\n *\n * @type {AbiEvent}\n */\n event: AbiEvent;\n /**\n * Creates an instance of UnknownTransferPayloadSupplied.\n *\n * @constructor\n * @param {number} input_param_idx\n * @param {AbiEvent} event\n */\n constructor(input_param_idx: number, event: AbiEvent) {\n super(\n `Parameter is not transparently stored onchain. Parameter ${input_param_idx} in event ${event.name} cannot be used in an action`,\n { cause: event },\n );\n this.event = event;\n this.input_param_idx = input_param_idx;\n }\n}\n\n/**\n * This error is thrown when attempting a Budget transfer and arguments aren't of the type `FungibleTransferPayload` or `ERC1155TransferPayload`\n *\n * @see {@link FungibleTransferPayload}\n * @see {@link ERC1155TransferPayload}\n * @export\n * @class UnknownTransferPayloadSupplied\n * @typedef {UnknownTransferPayloadSupplied}\n * @extends {Error}\n */\nexport class UnknownTransferPayloadSupplied extends Error {\n /**\n * The given payload that does not conform to the correct payload shape.\n *\n * @type {unknown}\n */\n received: unknown;\n /**\n * Creates an instance of UnknownTransferPayloadSupplied.\n *\n * @constructor\n * @param {unknown} received\n */\n constructor(received: unknown) {\n super(\n `Did not provide a valid FungibleTransferPayload or ERC1155 transfer payload.`,\n { cause: received },\n );\n this.received = received;\n }\n}\n\n/**\n * This error is thrown during Boost creation when the budget doesn't authorize the Boost Core address.\n *\n * @export\n * @class BudgetMustAuthorizeBoostCore\n * @typedef {BudgetMustAuthorizeBoostCore}\n * @extends {Error}\n */\nexport class BudgetMustAuthorizeBoostCore extends Error {\n /**\n * Creates an instance of BudgetMustAuthorizeBoostCore.\n *\n * @constructor\n * @param {string} boostCoreAddress\n */\n constructor(boostCoreAddress: string) {\n super(\n `Budget needs to explicitly authorize ${boostCoreAddress}. You can retrieve this value from BoostCore.address`,\n );\n }\n}\n\n/**\n * Because this contract is a base implementation, it should not be initialized through the constructor. Instead, it should be cloned and initialized using the {@link BoostRegistry}\n *\n * @export\n * @class MustInitializeBudgetError\n * @typedef {MustInitializeBudgetError}\n * @extends {Error}\n */\nexport class MustInitializeBudgetError extends Error {\n /**\n * Creates an instance of MustInitializeBudgetError.\n */\n constructor() {\n super(`Budgets must be preinitialized before being used with a new Boost`);\n }\n}\n\n/**\n * The error is thrown when trying to reuse an existing deployed Incentive that isn't a base implementation.\n * The protocol doesn't allow this.\n *\n * @export\n * @class IncentiveNotCloneableError\n * @typedef {IncentiveNotCloneableError}\n * @extends {Error}\n */\nexport class IncentiveNotCloneableError extends Error {\n /**\n * Creates an instance of IncentiveNotCloneableError.\n *\n * @constructor\n * @param {Incentive} incentive\n */\n constructor(incentive: Incentive) {\n super(`Incentive not cloneable: ${incentive.constructor.name}`);\n }\n}\n\n/**\n * Thrown when encoding an EventAction payload and no action steps are provided\n *\n * @export\n * @class NoEventActionStepsProvidedError\n * @typedef {NoEventActionStepsProvidedError}\n * @extends {Error}\n */\nexport class NoEventActionStepsProvidedError extends Error {\n /**\n * Creates an instance of NoEventActionStepsProvidedError.\n *\n * @constructor\n */\n constructor() {\n super('Must supply at least one action step');\n }\n}\n\n/**\n * Thrown when encoding an EventAction payload and > 4 steps are provided\n *\n * @export\n * @class TooManyEventActionStepsProvidedError\n * @typedef {TooManyEventActionStepsProvidedError}\n * @extends {Error}\n */\nexport class TooManyEventActionStepsProvidedError extends Error {\n /**\n * Creates an instance of TooManyEventActionStepsProvidedError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Cannot supply more than 4 action steps with current protocol version',\n );\n }\n}\n\n/**\n * The error is thrown when trying to reuse an existing deployed Incentive that isn't a base implementation.\n *\n * @export\n * @class ValidationAbiMissingError\n * @typedef {ValidationAbiMissingError}\n * @extends {Error}\n */\nexport class ValidationAbiMissingError extends Error {\n /**\n * Creates an instance of ValidationAbiMissingError.\n *\n * @constructor\n * @param {Hex} signature\n */\n constructor(signature: Hex) {\n super(`No known ABI for given signature: ${signature}`);\n }\n}\n\n/**\n * Function action validation context to help debug other validation errors\n *\n * @interface FunctionActionValidationMeta\n * @typedef {FunctionActionValidationMeta}\n */\ninterface FunctionActionValidationMeta {\n decodedArgs: readonly (string | bigint)[];\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n}\n/**\n * Event action validation context to help debug other validation errors\n *\n * @interface EventActionValidationMeta\n * @typedef {EventActionValidationMeta}\n */\ninterface EventActionValidationMeta {\n /**\n * The viem log being validated against\n *\n * @type {Log}\n */\n log?: EventLogs[0];\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n}\n\n/**\n * The base error thrown during event action validation extended by more specific validation errors.\n * Instantiated with relevent context data for more in depth debugging.\n *\n * @export\n * @class FieldActionValidationError\n * @typedef {FieldActionValidationError}\n * @extends {Error}\n */\nexport class FieldActionValidationError extends Error {\n /**\n * The function input arguments being validated against\n *\n * @type {decodedArgs}\n */\n decodedArgs?: readonly (string | bigint)[];\n /**\n * The viem log being validated against\n *\n * @type {Log}\n */\n log?: EventLogs[0];\n /**\n * The value pulled off the log being validated against\n *\n * @type {*}\n * biome-ignore lint/suspicious/noExplicitAny: this can be a few different types based on what the log emits\n */\n fieldValue: any;\n /**\n * The criteria being used to compare during validation\n *\n * @type {Criteria}\n */\n criteria: Criteria;\n /**\n * Creates an instance of FieldActionValidationError.\n *\n * @constructor\n * @param {string} message\n * @param {EventActionValidationMeta} param0\n * @param {*} param0.fieldValue\n * @param {Criteria} param0.criteria\n * @param {Log} param0.log\n */\n constructor(\n message: string,\n {\n fieldValue,\n criteria,\n ...args\n }: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super(message);\n this.fieldValue = fieldValue;\n this.criteria = criteria;\n\n switch (true) {\n case 'log' in args:\n this.log = args.log;\n break;\n case 'decodedArgs' in args:\n this.decodedArgs = args.decodedArgs;\n }\n }\n}\n\n/**\n * Thrown when abi-decoded args on log is undefined\n *\n * @export\n * @class FieldValueUndefinedError\n * @typedef {FieldValueUndefinedError}\n * @extends {FieldActionValidationError}\n */\nexport class DecodedArgsMalformedError extends FieldActionValidationError {\n /**\n * Creates an instance of DecodedArgsUndefinedError.\n *\n * @constructor\n * @param {DecodedArgsMalformedError} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super(\n 'Decoded Args are malformed; Check which params are indexed',\n metadata,\n );\n }\n}\n\n/**\n * Thrown when field value on log is undefined\n *\n * @export\n * @class FieldValueUndefinedError\n * @typedef {FieldValueUndefinedError}\n * @extends {FieldActionValidationError}\n */\nexport class FieldValueUndefinedError extends FieldActionValidationError {\n /**\n * Creates an instance of FieldValueUndefinedError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super('Field value is undefined', metadata);\n }\n}\n\n/**\n * Thrown when a filter type is using a numerical operator but field type is not numerical\n *\n * @export\n * @class InvalidNumericalCriteriaError\n * @typedef {InvalidNumericalCriteriaError}\n * @extends {FieldActionValidationError}\n */\nexport class InvalidNumericalCriteriaError extends FieldActionValidationError {\n /**\n * Creates an instance of InvalidNumericalCriteria.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super(\n 'Numerical comparisons cannot be used with non-numerical criteria',\n metadata,\n );\n }\n}\n\n/**\n * Thrown when decoding function data fails.\n *\n * @export\n * @class FunctionDataDecodeError\n * @typedef {FunctionDataDecodeError}\n * @extends {Error}\n */\nexport class FunctionDataDecodeError extends Error {\n public abi: AbiFunction[];\n public originalError: Error;\n\n /**\n * Creates an instance of FunctionDataDecodeError.\n *\n * @constructor\n * @param {AbiFunction[]} abi - The ABI of the function.\n * @param {Error} originalError - The original error that was thrown.\n */\n constructor(abi: AbiFunction[], originalError: Error) {\n super(`Failed to decode function data: ${originalError.message}`);\n this.name = 'FunctionDataDecodeError';\n this.abi = abi;\n this.originalError = originalError;\n }\n}\n\n/**\n * Thrown when an the log's field value is being compared a field type that isn't bytes or string during event action validation\n *\n * @export\n * @class FieldValueNotComparableError\n * @typedef {FieldValueNotComparableError}\n * @extends {FieldActionValidationError}\n */\nexport class FieldValueNotComparableError extends FieldActionValidationError {\n /**\n * Creates an instance of FieldValueNotComparableError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super('Filter can only be used with bytes or string field type', metadata);\n }\n}\n\n/**\n * Thrown when an invalid filter type enum was provided event action validation.\n *\n * @export\n * @class UnrecognizedFilterTypeError\n * @typedef {UnrecognizedFilterTypeError}\n * @extends {FieldActionValidationError}\n */\nexport class UnrecognizedFilterTypeError extends FieldActionValidationError {\n /**\n * Creates an instance of UnrecognizedFilterTypeError.\n *\n * @constructor\n * @param {EventActionValidationMeta} metadata\n */\n constructor(\n metadata: EventActionValidationMeta | FunctionActionValidationMeta,\n ) {\n super('Invalid FilterType provided', metadata);\n }\n}\n\n/**\n * Thrown when no chain ID is provided in the Wagmi configuration.\n *\n * @export\n * @class NoConnectedChainIdError\n * @typedef {NoConnectedChainIdError}\n * @extends {Error}\n */\nexport class NoConnectedChainIdError extends Error {\n /**\n * Creates an instance of NoConnectedChainIdError.\n *\n * @constructor\n */\n constructor() {\n super(\n 'Provided Wagmi configuration does not define `chainId` property with which to target protocol contracts',\n );\n this.name = 'NoConnectedChainIdError';\n }\n}\n\n/**\n * Thrown when an invalid chain ID is provided that doesn't match any deployed protocol.\n *\n * @export\n * @class InvalidProtocolChainIdError\n * @typedef {InvalidProtocolChainIdError}\n * @extends {Error}\n */\nexport class InvalidProtocolChainIdError extends Error {\n /**\n * Creates an instance of InvalidProtocolChainIdError.\n *\n * @constructor\n * @param {number} chainId - The chain ID provided in the configuration.\n * @param {number[]} validChainIds - A list of valid chain IDs where the protocol is deployed.\n */\n constructor(chainId: number, validChainIds: number[]) {\n super(\n `Provided Wagmi configuration supplied a \"chainId\" where protocol is not deployed, provided: ${chainId}, but valid chains are: ${validChainIds}`,\n );\n this.name = 'InvalidProtocolChainIdError';\n }\n}\n\n/**\n * Thrown when the incentive criteria cannot be fetched from the contract.\n *\n * @export\n * @class IncentiveCriteriaNotFoundError\n * @typedef {IncentiveCriteriaNotFoundError}\n * @extends {Error}\n */\nexport class IncentiveCriteriaNotFoundError extends Error {\n /**\n * Creates an instance of IncentiveCriteriaNotFoundError.\n *\n * @constructor\n * @param {Error} [e] - Optional error object for further context.\n * @param {string} [message='Unable to fetch Incentive Criteria from contract'] - Custom error message.\n */\n constructor(\n e?: Error,\n message = 'Unable to fetch Incentive Criteria from contract',\n ) {\n super(message + (e ? `: ${e.message}` : ''));\n this.name = 'IncentiveCriteriaNotFoundError';\n }\n}\n\n/**\n * Thrown when no matching logs are found for a given event signature.\n *\n * @export\n * @class NoMatchingLogsError\n * @typedef {NoMatchingLogsError}\n * @extends {Error}\n */\nexport class NoMatchingLogsError extends Error {\n /**\n * Creates an instance of NoMatchingLogsError.\n *\n * @constructor\n * @param {string} signature - The event signature for which logs are being searched.\n * @param {string} [message] - Optional custom error message.\n */\n constructor(\n signature: string,\n message = `No logs found for event signature ${signature}`,\n ) {\n super(message);\n this.name = 'NoMatchingLogsError';\n }\n}\n\n/**\n * Thrown when an invalid criteria type is provided.\n *\n * @export\n * @class InvalidCriteriaTypeError\n * @typedef {InvalidCriteriaTypeError}\n * @extends {Error}\n */\nexport class InvalidCriteriaTypeError extends Error {\n /**\n * Creates an instance of InvalidCriteriaTypeError.\n *\n * @constructor\n * @param {string} [criteriaType='unknown'] - The invalid criteria type that was provided.\n * @param {string} [message] - Optional custom error message.\n */\n constructor(\n criteriaType = 'unknown',\n message = `Invalid criteria type ${criteriaType}`,\n ) {\n super(message);\n this.name = 'InvalidCriteriaTypeError';\n }\n}\n\n/**\n * Thrown when decoding function arguments fails.\n *\n * @export\n * @class DecodedArgsError\n * @typedef {DecodedArgsError}\n * @extends {Error}\n */\nexport class DecodedArgsError extends Error {\n /**\n * Creates an instance of DecodedArgsError.\n *\n * @constructor\n * @param {string} [message='Issue decoding args'] - Custom error message.\n */\n constructor(message = 'Issue decoding args') {\n super(message);\n this.name = 'DecodedArgsError';\n }\n}\n\n/**\n * Thrown when reading a Boost that does not exist\n *\n * @export\n * @class BoostNotFoundError\n * @typedef {BoostNotFoundError}\n * @extends {Error}\n */\nexport class BoostNotFoundError extends Error {\n public readonly id: string;\n /**\n * Creates an instance of BoostNotFoundError.\n *\n * @constructor\n * @param {string} [id] - stringified boost id that does not exist\n */\n constructor(id: string) {\n super(`Boost with not found with id: ${id}`);\n this.id = id;\n }\n}\n\n/**\n * Thrown when a tuple decoding operation encounters unexpected structure or data.\n *\n * @export\n * @class InvalidTupleDecodingError\n * @typedef {InvalidTupleDecodingError}\n * @extends {Error}\n */\nexport class InvalidTupleDecodingError extends Error {\n /**\n * The index of the tuple that caused the error.\n *\n * @type {number}\n */\n public readonly tupleIndex: number;\n\n /**\n * Creates an instance of InvalidTupleDecodingError.\n *\n * @constructor\n * @param {string} tupleName - The name or identifier of the tuple that failed to decode.\n * @param {string} [message] - Optional custom message for more context.\n */\n constructor(message?: string, tupleIndex?: number) {\n super(message || `Failed to decode tuple: ${tupleIndex}`);\n this.tupleIndex = tupleIndex ?? -1;\n }\n}\n\nexport class InvalidTupleEncodingError extends Error {\n /**\n * The index of the tuple that caused the error.\n *\n * @type {number}\n */\n public readonly tupleIndex: number;\n\n /**\n * Creates an instance of InvalidTupleEncodingError.\n *\n * @constructor\n * @param {string} tupleName - The name or identifier of the tuple that failed to encode.\n * @param {string} [message] - Optional custom message for more context.\n */\n constructor(message?: string, tupleIndex?: number) {\n super(message || `Failed to encode tuple: ${tupleIndex}`);\n this.tupleIndex = tupleIndex ?? -1;\n }\n}\n"],"names":["BoostCoreNoIdentifierEmitted","ContractAddressRequiredError","DeployableAlreadyDeployedError","address","DeployableBuildParametersUnspecifiedError","DeployableUnknownOwnerProvidedError","DeployableWagmiConfigurationRequiredError","DeployableMissingPayloadError","NoContractAddressUponReceiptError","receipt","InvalidComponentInterfaceError","expected","received","zeroHash","UnparseableAbiParamError","input_param_idx","event","UnknownTransferPayloadSupplied","BudgetMustAuthorizeBoostCore","boostCoreAddress","MustInitializeBudgetError","IncentiveNotCloneableError","incentive","NoEventActionStepsProvidedError","TooManyEventActionStepsProvidedError","ValidationAbiMissingError","signature","FieldActionValidationError","message","fieldValue","criteria","args","DecodedArgsMalformedError","metadata","FieldValueUndefinedError","InvalidNumericalCriteriaError","FunctionDataDecodeError","abi","originalError","FieldValueNotComparableError","UnrecognizedFilterTypeError","NoConnectedChainIdError","InvalidProtocolChainIdError","chainId","validChainIds","IncentiveCriteriaNotFoundError","e","NoMatchingLogsError","InvalidCriteriaTypeError","criteriaType","DecodedArgsError","BoostNotFoundError","id","InvalidTupleDecodingError","tupleIndex","InvalidTupleEncodingError"],"mappings":"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"}