@boostxyz/sdk 0.0.0-alpha.2 → 0.0.0-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Actions/Action.cjs +2 -1
- package/dist/Actions/Action.cjs.map +1 -0
- package/dist/Actions/Action.d.ts +1 -1
- package/dist/Actions/Action.d.ts.map +1 -1
- package/dist/Actions/Action.js +14 -12
- package/dist/Actions/Action.js.map +1 -0
- package/dist/Actions/ContractAction.d.ts +57 -14
- package/dist/Actions/ContractAction.d.ts.map +1 -1
- package/dist/Actions/ERC721MintAction.d.ts +50 -23
- package/dist/Actions/ERC721MintAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.cjs +2 -1
- package/dist/Actions/EventAction.cjs.map +1 -0
- package/dist/Actions/EventAction.d.ts +405 -36
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +15 -209
- package/dist/Actions/EventAction.js.map +1 -0
- package/dist/AllowLists/AllowList.cjs +2 -1
- package/dist/AllowLists/AllowList.cjs.map +1 -0
- package/dist/AllowLists/AllowList.d.ts +6 -5
- package/dist/AllowLists/AllowList.d.ts.map +1 -1
- package/dist/AllowLists/AllowList.js +46 -22
- package/dist/AllowLists/AllowList.js.map +1 -0
- package/dist/AllowLists/OpenAllowList.d.ts +423 -0
- package/dist/AllowLists/OpenAllowList.d.ts.map +1 -0
- package/dist/AllowLists/SimpleAllowList.cjs +2 -1
- package/dist/AllowLists/SimpleAllowList.cjs.map +1 -0
- package/dist/AllowLists/SimpleAllowList.d.ts +124 -40
- package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -1
- package/dist/AllowLists/SimpleAllowList.js +77 -77
- package/dist/AllowLists/SimpleAllowList.js.map +1 -0
- package/dist/AllowLists/SimpleDenyList.cjs +2 -1
- package/dist/AllowLists/SimpleDenyList.cjs.map +1 -0
- package/dist/AllowLists/SimpleDenyList.d.ts +234 -13
- package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -1
- package/dist/AllowLists/SimpleDenyList.js +12 -200
- package/dist/AllowLists/SimpleDenyList.js.map +1 -0
- package/dist/Auth/Auth.cjs +1 -0
- package/dist/Auth/Auth.cjs.map +1 -0
- package/dist/Auth/Auth.js +1 -0
- package/dist/Auth/Auth.js.map +1 -0
- package/dist/Auth/PassthroughAuth.cjs +2 -1
- package/dist/Auth/PassthroughAuth.cjs.map +1 -0
- package/dist/Auth/PassthroughAuth.js +5 -4
- package/dist/Auth/PassthroughAuth.js.map +1 -0
- package/dist/Boost.cjs +2 -1
- package/dist/Boost.cjs.map +1 -0
- package/dist/Boost.d.ts +111 -1
- package/dist/Boost.d.ts.map +1 -1
- package/dist/Boost.js +140 -5
- package/dist/Boost.js.map +1 -0
- package/dist/BoostCore-3-U1xTQN.cjs +3 -0
- package/dist/BoostCore-3-U1xTQN.cjs.map +1 -0
- package/dist/BoostCore-DVGBUr2y.js +1477 -0
- package/dist/BoostCore-DVGBUr2y.js.map +1 -0
- package/dist/BoostCore.cjs +2 -2
- package/dist/BoostCore.cjs.map +1 -0
- package/dist/BoostCore.d.ts +166 -43
- package/dist/BoostCore.d.ts.map +1 -1
- package/dist/BoostCore.js +30 -1103
- package/dist/BoostCore.js.map +1 -0
- package/dist/BoostRegistry.cjs +2 -1
- package/dist/BoostRegistry.cjs.map +1 -0
- package/dist/BoostRegistry.d.ts +64 -23
- package/dist/BoostRegistry.d.ts.map +1 -1
- package/dist/BoostRegistry.js +162 -88
- package/dist/BoostRegistry.js.map +1 -0
- package/dist/Budgets/Budget.cjs +2 -1
- package/dist/Budgets/Budget.cjs.map +1 -0
- package/dist/Budgets/Budget.d.ts +1 -1
- package/dist/Budgets/Budget.d.ts.map +1 -1
- package/dist/Budgets/Budget.js +15 -13
- package/dist/Budgets/Budget.js.map +1 -0
- package/dist/Budgets/ManagedBudget.cjs +2 -1
- package/dist/Budgets/ManagedBudget.cjs.map +1 -0
- package/dist/Budgets/ManagedBudget.d.ts +78 -188
- package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
- package/dist/Budgets/ManagedBudget.js +86 -286
- package/dist/Budgets/ManagedBudget.js.map +1 -0
- package/dist/Budgets/VestingBudget.d.ts +243 -87
- package/dist/Budgets/VestingBudget.d.ts.map +1 -1
- package/dist/Deployable/Contract.cjs +2 -1
- package/dist/Deployable/Contract.cjs.map +1 -0
- package/dist/Deployable/Contract.d.ts +4 -5
- package/dist/Deployable/Contract.d.ts.map +1 -1
- package/dist/Deployable/Contract.js +7 -8
- package/dist/Deployable/Contract.js.map +1 -0
- package/dist/Deployable/Deployable.cjs +1 -0
- package/dist/Deployable/Deployable.cjs.map +1 -0
- package/dist/Deployable/Deployable.d.ts +9 -3
- package/dist/Deployable/Deployable.d.ts.map +1 -1
- package/dist/Deployable/Deployable.js +10 -5
- package/dist/Deployable/Deployable.js.map +1 -0
- package/dist/Deployable/DeployableTarget.cjs +2 -1
- package/dist/Deployable/DeployableTarget.cjs.map +1 -0
- package/dist/Deployable/DeployableTarget.d.ts +16 -15
- package/dist/Deployable/DeployableTarget.d.ts.map +1 -1
- package/dist/Deployable/DeployableTarget.js +49 -42
- package/dist/Deployable/DeployableTarget.js.map +1 -0
- package/dist/Deployable/DeployableTargetWithRBAC.cjs +2 -0
- package/dist/Deployable/DeployableTargetWithRBAC.cjs.map +1 -0
- package/dist/Deployable/DeployableTargetWithRBAC.d.ts +179 -0
- package/dist/Deployable/DeployableTargetWithRBAC.d.ts.map +1 -0
- package/dist/Deployable/DeployableTargetWithRBAC.js +222 -0
- package/dist/Deployable/DeployableTargetWithRBAC.js.map +1 -0
- package/dist/EventAction-CIPqmAoP.js +1450 -0
- package/dist/EventAction-CIPqmAoP.js.map +1 -0
- package/dist/EventAction-d-oeqZQs.cjs +2 -0
- package/dist/EventAction-d-oeqZQs.cjs.map +1 -0
- package/dist/Incentive-Bp8Sez7M.js +298 -0
- package/dist/Incentive-Bp8Sez7M.js.map +1 -0
- package/dist/Incentive-Djnzseoj.cjs +2 -0
- package/dist/Incentive-Djnzseoj.cjs.map +1 -0
- package/dist/Incentives/AllowListIncentive.cjs +2 -1
- package/dist/Incentives/AllowListIncentive.cjs.map +1 -0
- package/dist/Incentives/AllowListIncentive.d.ts +49 -19
- package/dist/Incentives/AllowListIncentive.d.ts.map +1 -1
- package/dist/Incentives/AllowListIncentive.js +50 -34
- package/dist/Incentives/AllowListIncentive.js.map +1 -0
- package/dist/Incentives/CGDAIncentive.cjs +2 -1
- package/dist/Incentives/CGDAIncentive.cjs.map +1 -0
- package/dist/Incentives/CGDAIncentive.d.ts +118 -22
- package/dist/Incentives/CGDAIncentive.d.ts.map +1 -1
- package/dist/Incentives/CGDAIncentive.js +67 -42
- package/dist/Incentives/CGDAIncentive.js.map +1 -0
- package/dist/Incentives/ERC1155Incentive.d.ts +99 -38
- package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20Incentive.cjs +2 -1
- package/dist/Incentives/ERC20Incentive.cjs.map +1 -0
- package/dist/Incentives/ERC20Incentive.d.ts +73 -29
- package/dist/Incentives/ERC20Incentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20Incentive.js +71 -48
- package/dist/Incentives/ERC20Incentive.js.map +1 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +523 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -0
- package/dist/Incentives/ERC20VariableIncentive.d.ts +65 -28
- package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
- package/dist/Incentives/Incentive.cjs +2 -1
- package/dist/Incentives/Incentive.cjs.map +1 -0
- package/dist/Incentives/Incentive.d.ts +4 -7
- package/dist/Incentives/Incentive.d.ts.map +1 -1
- package/dist/Incentives/Incentive.js +17 -278
- package/dist/Incentives/Incentive.js.map +1 -0
- package/dist/Incentives/PointsIncentive.cjs +2 -1
- package/dist/Incentives/PointsIncentive.cjs.map +1 -0
- package/dist/Incentives/PointsIncentive.d.ts +65 -21
- package/dist/Incentives/PointsIncentive.d.ts.map +1 -1
- package/dist/Incentives/PointsIncentive.js +57 -36
- package/dist/Incentives/PointsIncentive.js.map +1 -0
- package/dist/SimpleDenyList-BwfNjRsg.cjs +2 -0
- package/dist/SimpleDenyList-BwfNjRsg.cjs.map +1 -0
- package/dist/SimpleDenyList-Cn5WpNn0.js +132 -0
- package/dist/SimpleDenyList-Cn5WpNn0.js.map +1 -0
- package/dist/Validators/SignerValidator.cjs +2 -1
- package/dist/Validators/SignerValidator.cjs.map +1 -0
- package/dist/Validators/SignerValidator.d.ts +310 -17
- package/dist/Validators/SignerValidator.d.ts.map +1 -1
- package/dist/Validators/SignerValidator.js +165 -36
- package/dist/Validators/SignerValidator.js.map +1 -0
- package/dist/Validators/Validator.cjs +2 -1
- package/dist/Validators/Validator.cjs.map +1 -0
- package/dist/Validators/Validator.d.ts +2 -2
- package/dist/Validators/Validator.d.ts.map +1 -1
- package/dist/Validators/Validator.js +12 -10
- package/dist/Validators/Validator.js.map +1 -0
- package/dist/claiming.cjs +2 -0
- package/dist/claiming.cjs.map +1 -0
- package/dist/claiming.d.ts +43 -0
- package/dist/claiming.d.ts.map +1 -0
- package/dist/claiming.js +17 -0
- package/dist/claiming.js.map +1 -0
- package/dist/componentInterfaces-D09mhzxO.cjs +2 -0
- package/dist/componentInterfaces-D09mhzxO.cjs.map +1 -0
- package/dist/componentInterfaces-RXBMI5yH.js +14 -0
- package/dist/componentInterfaces-RXBMI5yH.js.map +1 -0
- package/dist/deployments-BM42vImE.js +43 -0
- package/dist/deployments-BM42vImE.js.map +1 -0
- package/dist/deployments-CMdF5uEC.cjs +2 -0
- package/dist/deployments-CMdF5uEC.cjs.map +1 -0
- package/dist/deployments.json +41 -0
- package/dist/errors.cjs +2 -1
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.ts +403 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +285 -39
- package/dist/errors.js.map +1 -0
- package/dist/generated-B0tk-c9b.cjs +3 -0
- package/dist/generated-B0tk-c9b.cjs.map +1 -0
- package/dist/{generated-x_abr3Yv.js → generated-B7VaSah4.js} +2058 -2541
- package/dist/generated-B7VaSah4.js.map +1 -0
- package/dist/index.cjs +2 -1
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +10 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +143 -1353
- package/dist/index.js.map +1 -0
- package/dist/transfers.cjs +2 -0
- package/dist/transfers.cjs.map +1 -0
- package/dist/transfers.d.ts +198 -0
- package/dist/transfers.d.ts.map +1 -0
- package/dist/transfers.js +84 -0
- package/dist/transfers.js.map +1 -0
- package/dist/utils.cjs +2 -1
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.ts +26 -1350
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +38 -636
- package/dist/utils.js.map +1 -0
- package/package.json +37 -11
- package/src/Actions/Action.test.ts +79 -0
- package/src/Actions/Action.ts +61 -0
- package/src/Actions/ContractAction.test.ts +197 -0
- package/src/Actions/ContractAction.ts +300 -0
- package/src/Actions/ERC721MintAction.test.ts +112 -0
- package/src/Actions/ERC721MintAction.ts +291 -0
- package/src/Actions/EventAction.test.ts +787 -0
- package/src/Actions/EventAction.ts +1214 -0
- package/src/AllowLists/AllowList.test.ts +64 -0
- package/src/AllowLists/AllowList.ts +62 -0
- package/src/AllowLists/OpenAllowList.test.ts +40 -0
- package/src/AllowLists/OpenAllowList.ts +45 -0
- package/src/AllowLists/SimpleAllowList.test.ts +52 -0
- package/src/AllowLists/SimpleAllowList.ts +262 -0
- package/src/AllowLists/SimpleDenyList.test.ts +52 -0
- package/src/AllowLists/SimpleDenyList.ts +250 -0
- package/src/Auth/Auth.ts +11 -0
- package/src/Auth/PassthroughAuth.test.ts +12 -0
- package/src/Auth/PassthroughAuth.ts +80 -0
- package/src/Boost.ts +309 -0
- package/src/BoostCore.test.ts +827 -0
- package/src/BoostCore.ts +1447 -0
- package/src/BoostRegistry.ts +543 -0
- package/src/Budgets/Budget.test.ts +27 -0
- package/src/Budgets/Budget.ts +60 -0
- package/src/Budgets/ManagedBudget.test.ts +217 -0
- package/src/Budgets/ManagedBudget.ts +534 -0
- package/src/Budgets/VestingBudget.test.ts +123 -0
- package/src/Budgets/VestingBudget.ts +530 -0
- package/src/Deployable/Contract.ts +228 -0
- package/src/Deployable/Deployable.ts +250 -0
- package/src/Deployable/DeployableTarget.ts +234 -0
- package/src/Deployable/DeployableTargetWithRBAC.ts +323 -0
- package/src/Incentives/AllowListIncentive.test.ts +143 -0
- package/src/Incentives/AllowListIncentive.ts +336 -0
- package/src/Incentives/CGDAIncentive.test.ts +132 -0
- package/src/Incentives/CGDAIncentive.ts +470 -0
- package/src/Incentives/ERC1155Incentive.test.ts +87 -0
- package/src/Incentives/ERC1155Incentive.ts +465 -0
- package/src/Incentives/ERC20Incentive.test.ts +130 -0
- package/src/Incentives/ERC20Incentive.ts +484 -0
- package/src/Incentives/ERC20VariableCriteriaIncentive.test.ts +184 -0
- package/src/Incentives/ERC20VariableCriteriaIncentive.ts +309 -0
- package/src/Incentives/ERC20VariableIncentive.test.ts +136 -0
- package/src/Incentives/ERC20VariableIncentive.ts +422 -0
- package/src/Incentives/Incentive.test.ts +92 -0
- package/src/Incentives/Incentive.ts +86 -0
- package/src/Incentives/PointsIncentive.test.ts +139 -0
- package/src/Incentives/PointsIncentive.ts +367 -0
- package/src/Validators/SignerValidator.test.ts +159 -0
- package/src/Validators/SignerValidator.ts +683 -0
- package/src/Validators/Validator.test.ts +21 -0
- package/src/Validators/Validator.ts +55 -0
- package/src/claiming.ts +56 -0
- package/src/errors.ts +844 -0
- package/src/index.test.ts +122 -0
- package/src/index.ts +58 -0
- package/src/transfers.ts +284 -0
- package/src/utils.test.ts +44 -0
- package/src/utils.ts +247 -0
- package/dist/Budgets/SimpleBudget.d.ts +0 -793
- package/dist/Budgets/SimpleBudget.d.ts.map +0 -1
- package/dist/generated-BaaleHW-.cjs +0 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManagedBudget.js","sources":["../../src/Budgets/ManagedBudget.ts"],"sourcesContent":["import {\n managedBudgetAbi,\n readManagedBudgetAvailable,\n readManagedBudgetDistributed,\n readManagedBudgetHasAllRoles,\n readManagedBudgetHasAnyRole,\n readManagedBudgetIsAuthorized,\n readManagedBudgetOwner,\n readManagedBudgetRolesOf,\n readManagedBudgetTotal,\n simulateManagedBudgetAllocate,\n simulateManagedBudgetClawback,\n simulateManagedBudgetDisburse,\n simulateManagedBudgetDisburseBatch,\n simulateManagedBudgetGrantRoles,\n simulateManagedBudgetRevokeRoles,\n simulateManagedBudgetSetAuthorized,\n writeManagedBudgetAllocate,\n writeManagedBudgetClawback,\n writeManagedBudgetDisburse,\n writeManagedBudgetDisburseBatch,\n writeManagedBudgetGrantRoles,\n writeManagedBudgetRevokeRoles,\n writeManagedBudgetSetAuthorized,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/budgets/ManagedBudget.sol/ManagedBudget.json';\nimport { getAccount } from '@wagmi/core';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n parseAbiParameters,\n zeroAddress,\n} from 'viem';\nimport { ManagedBudget as ManagedBudgetBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport { DeployableTargetWithRBAC } from '../Deployable/DeployableTargetWithRBAC';\nimport {\n DeployableUnknownOwnerProvidedError,\n UnknownTransferPayloadSupplied,\n} from '../errors';\nimport {\n type ERC1155TransferPayload,\n type FungibleTransferPayload,\n prepareERC1155Transfer,\n prepareFungibleTransfer,\n} from '../transfers';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\nexport { managedBudgetAbi };\nexport type { ERC1155TransferPayload, FungibleTransferPayload };\n\n/**\n * The object representation of a `ManagedBudgetPayload.InitPayload`\n *\n * @export\n * @interface ManagedBudgetPayload\n * @typedef {ManagedBudgetPayload}\n */\nexport interface ManagedBudgetPayload {\n /**\n * The budget's owner\n *\n * @type {Address}\n */\n owner: Address;\n /**\n * List of accounts authorized to use the budget. This list should include a Boost core address to interact with the protocol.\n *\n * @type {Address[]}\n */\n authorized: Address[];\n /**\n * List of roles to assign to the corresponding account by index.\n *\n * @type {ManagedBudgetRoles[]}\n */\n roles: ManagedBudgetRoles[];\n}\n\n/**\n * Enum representing available roles for use in the `ManagedBudget`.\n * `MANAGER` can disburse funds.\n * `ADMIN` can additionally manage authorized users on the budget.\n *\n * @export\n * @type {{ readonly MANAGER: 1n; readonly ADMIN_ROLE: 2n; }}\n * @enum {bigint}\n */\nexport enum ManagedBudgetRoles {\n //@ts-expect-error ts doesn't like bigint enum values\n MANAGER = 1n,\n //@ts-expect-error ts doesn't like bigint enum values\n ADMIN = 2n,\n}\n\n/**\n * A generic `viem.Log` event with support for `ManagedBudget` event types.\n *\n * @export\n * @typedef {ManagedBudgetLog}\n * @template {ContractEventName<typeof managedBudgetAbi>} [event=ContractEventName<\n * typeof managedBudgetAbi\n * >]\n */\nexport type ManagedBudgetLog<\n event extends ContractEventName<typeof managedBudgetAbi> = ContractEventName<\n typeof managedBudgetAbi\n >,\n> = GenericLog<typeof managedBudgetAbi, event>;\n\n/**\n * Typeguard to determine if a transfer payload is a Fungible Transfer\n *\n * @export\n * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer\n * @returns {transfer is FungibleTransferPayload}\n */\nexport function isFungibleTransfer(\n transfer: FungibleTransferPayload | ERC1155TransferPayload,\n): transfer is FungibleTransferPayload {\n return (transfer as ERC1155TransferPayload).tokenId === undefined;\n}\n\n/**\n * Typeguard to determine if a transfer payload is an ERC1155 Transfer\n *\n * @export\n * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer\n * @returns {transfer is ERC1155TransferPayload}\n */\nexport function isERC1155TransferPayload(\n transfer: FungibleTransferPayload | ERC1155TransferPayload,\n): transfer is ERC1155TransferPayload {\n return (transfer as ERC1155TransferPayload).tokenId !== undefined;\n}\n\n/**\n * Given either a Fungible transfer, or ERC1155 transfer, will properly encode parameters for transfers, claims, disbursements, allocations, etc.\n *\n * @export\n * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer\n * @returns {Hex}\n * @throws {@link UnknownTransferPayloadSupplied}\n */\nexport function prepareTransfer(\n transfer: FungibleTransferPayload | ERC1155TransferPayload,\n) {\n if (isFungibleTransfer(transfer)) {\n return prepareFungibleTransfer(transfer);\n }\n if (isERC1155TransferPayload(transfer)) {\n return prepareERC1155Transfer(transfer);\n }\n throw new UnknownTransferPayloadSupplied(transfer);\n}\n\n/**\n * A minimal budget implementation that simply holds and distributes tokens (ERC20-like and native)\n * This type of budget supports ETH, ERC20, and ERC1155 assets only\n *\n * @export\n * @class ManagedBudget\n * @typedef {ManagedBudget}\n * @extends {DeployableTargetWithRBAC<ManagedBudgetPayload>}\n */\nexport class ManagedBudget extends DeployableTargetWithRBAC<\n ManagedBudgetPayload,\n typeof managedBudgetAbi\n> {\n /**\n * @inheritdoc\n *\n * @public\n * @readonly\n * @type {*}\n */\n public override readonly abi = managedBudgetAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n ...(ManagedBudgetBases as Record<number, Address>),\n };\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.BUDGET;\n\n /**\n * Allocates assets to the budget.\n * The caller must have already approved the contract to transfer the asset\n * If the asset transfer fails, the allocation will revert\n *\n * @public\n * @async\n * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the allocation was successful\n */\n public async allocate(\n transfer: FungibleTransferPayload | ERC1155TransferPayload,\n params?: WriteParams<typeof managedBudgetAbi, 'allocate'>,\n ) {\n return await this.awaitResult(this.allocateRaw(transfer, params));\n }\n\n /**\n * Allocates assets to the budget.\n * The caller must have already approved the contract to transfer the asset\n * If the asset transfer fails, the allocation will revert\n *\n * @public\n * @async\n * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the allocation was successful\n */\n public async allocateRaw(\n transfer: FungibleTransferPayload | ERC1155TransferPayload,\n params?: WriteParams<typeof managedBudgetAbi, 'allocate'>,\n ) {\n const { request, result } = await simulateManagedBudgetAllocate(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [prepareTransfer(transfer)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeManagedBudgetAllocate(this._config, request);\n return { hash, result };\n }\n\n /**\n * Clawbacks assets from the budget.\n * Only the owner can directly clawback assets from the budget\n * If the amount is zero, the entire balance of the asset will be transferred to the receiver\n * If the asset transfer fails, the reclamation will revert\n *\n * @public\n * @async\n * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the request was successful\n */\n public async clawback(\n transfer: FungibleTransferPayload | ERC1155TransferPayload,\n params?: WriteParams<typeof managedBudgetAbi, 'clawback'>,\n ) {\n return await this.awaitResult(this.clawbackRaw(transfer, params));\n }\n\n /**\n * Clawbacks assets from the budget.\n * Only the owner can directly clawback assets from the budget\n * If the amount is zero, the entire balance of the asset will be transferred to the receiver\n * If the asset transfer fails, the reclamation will revert\n *\n * @public\n * @async\n * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the request was successful\n */\n public async clawbackRaw(\n transfer: FungibleTransferPayload | ERC1155TransferPayload,\n params?: WriteParams<typeof managedBudgetAbi, 'clawback'>,\n ) {\n const { request, result } = await simulateManagedBudgetClawback(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [prepareTransfer(transfer)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeManagedBudgetClawback(this._config, request);\n return { hash, result };\n }\n\n /**\n * Disburses assets from the budget to a single recipient\n * If the asset transfer fails, the disbursement will revert\n *\n * @public\n * @async\n * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if the disbursement was successful\n */\n public async disburse(\n transfer: FungibleTransferPayload | ERC1155TransferPayload,\n params?: WriteParams<typeof managedBudgetAbi, 'disburse'>,\n ) {\n return await this.awaitResult(this.disburseRaw(transfer, params));\n }\n\n /**\n * Disburses assets from the budget to a single recipient\n * If the asset transfer fails, the disbursement will revert\n *\n * @public\n * @async\n * @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the disbursement was successful\n */\n public async disburseRaw(\n transfer: FungibleTransferPayload | ERC1155TransferPayload,\n params?: WriteParams<typeof managedBudgetAbi, 'disburse'>,\n ) {\n const { request, result } = await simulateManagedBudgetDisburse(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [prepareTransfer(transfer)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeManagedBudgetDisburse(this._config, request);\n return { hash, result };\n }\n\n /**\n * Disburses assets from the budget to multiple recipients\n *\n * @public\n * @async\n * @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers\n * @param {?WriteParams} [params]\n * @returns {Promise<boolean>} - True if all disbursements were successful\n */\n public async disburseBatch(\n transfers: Array<FungibleTransferPayload | ERC1155TransferPayload>,\n params?: WriteParams<typeof managedBudgetAbi, 'disburseBatch'>,\n ) {\n return await this.awaitResult(this.disburseBatchRaw(transfers, params));\n }\n\n /**\n * Disburses assets from the budget to multiple recipients\n *\n * @public\n * @async\n * @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers\n * @param {?WriteParams} [params]\n * @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if all disbursements were successful\n */\n public async disburseBatchRaw(\n transfers: Array<FungibleTransferPayload | ERC1155TransferPayload>,\n params?: WriteParams<typeof managedBudgetAbi, 'disburseBatch'>,\n ) {\n const { request, result } = await simulateManagedBudgetDisburseBatch(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [transfers.map(prepareTransfer)],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeManagedBudgetDisburseBatch(this._config, request);\n return { hash, result };\n }\n\n /**\n * Get the owner of the budget\n *\n * @public\n * @param {?ReadParams} [params]\n * @returns {Promise<Address>}\n */\n public owner(params?: ReadParams<typeof managedBudgetAbi, 'owner'>) {\n return readManagedBudgetOwner(this._config, {\n address: this.assertValidAddress(),\n args: [],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get the total amount of assets allocated to the budget, including any that have been distributed\n * If a tokenId is provided, get the total amount of ERC1155 assets allocated to the budget, including any that have been distributed\n *\n * @public\n * @param {Address} [asset=\"0x0000000000000000000000000000000000000000\"] - The address of the asset\n * @param {?(bigint | undefined)} [tokenId] - The ID of the token\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - The total amount of assets\n */\n public total(\n asset: Address = zeroAddress,\n tokenId?: bigint | undefined,\n params?: ReadParams<typeof managedBudgetAbi, 'total'>,\n ) {\n return readManagedBudgetTotal(this._config, {\n address: this.assertValidAddress(),\n args: tokenId ? [asset, tokenId] : [asset],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get the amount of assets available for distribution from the budget.\n * If a tokenId is provided, get the amount of ERC1155 assets available for distribution from the budget\n *\n * @public\n * @param {Address} [asset=\"0x0000000000000000000000000000000000000000\"]\n * @param {?(bigint | undefined)} [tokenId]\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - The amount of assets available\n */\n public available(\n asset: Address = zeroAddress,\n tokenId?: bigint | undefined,\n params?: ReadParams<typeof managedBudgetAbi, 'available'>,\n ) {\n return readManagedBudgetAvailable(this._config, {\n address: this.assertValidAddress(),\n args: tokenId ? [asset, tokenId] : [asset],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Get the amount of assets that have been distributed from the budget.\n * If a tokenId is provided, get the amount of ERC1155 assets that have been distributed from the budget\n *\n * @public\n * @param {Address} [asset=\"0x0000000000000000000000000000000000000000\"]\n * @param {?(bigint | undefined)} [tokenId]\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>} - The amount of assets distributed\n */\n public distributed(\n asset: Address = zeroAddress,\n tokenId?: bigint | undefined,\n params?: ReadParams<typeof managedBudgetAbi, 'distributed'>,\n ) {\n return readManagedBudgetDistributed(this._config, {\n address: this.assertValidAddress(),\n args: tokenId ? [asset, tokenId] : [asset],\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?ManagedBudgetPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: ManagedBudgetPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n if (!payload.owner || payload.owner === zeroAddress) {\n const owner = options.account\n ? options.account.address\n : options.config\n ? getAccount(options.config).address\n : this._account?.address;\n if (owner) {\n payload.owner = owner;\n } else {\n throw new DeployableUnknownOwnerProvidedError();\n }\n }\n return {\n abi: managedBudgetAbi,\n bytecode: bytecode as Hex,\n args: [prepareManagedBudgetPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Given a {@link ManagedBudgetPayload}, properly encode a `ManagedBudget.InitPayload` for use with {@link ManagedBudget} initialization.\n *\n * @param {ManagedBudgetPayload} param0\n * @param {Address} param0.owner - The budget's owner\n * @param {{}} param0.authorized - List of accounts authorized to use the budget. This list should include a Boost core address to interact with the protocol.\n * @param {{}} param0.roles - List of roles to assign to the corresponding account by index.\n * @returns {Hex}\n */\nexport const prepareManagedBudgetPayload = ({\n owner,\n authorized,\n roles,\n}: ManagedBudgetPayload) => {\n return encodeAbiParameters(\n parseAbiParameters([\n 'ManagedBudgetPayload payload',\n 'struct ManagedBudgetPayload { address owner; address[] authorized; uint256[] roles; }',\n ]),\n [{ owner, authorized, roles: roles as unknown as Array<bigint> }],\n );\n};\n"],"names":["ManagedBudgetRoles","isFungibleTransfer","transfer","isERC1155TransferPayload","prepareTransfer","prepareFungibleTransfer","prepareERC1155Transfer","UnknownTransferPayloadSupplied","_ManagedBudget","DeployableTargetWithRBAC","managedBudgetAbi","params","request","result","simulateManagedBudgetAllocate","writeManagedBudgetAllocate","simulateManagedBudgetClawback","writeManagedBudgetClawback","simulateManagedBudgetDisburse","writeManagedBudgetDisburse","transfers","simulateManagedBudgetDisburseBatch","writeManagedBudgetDisburseBatch","readManagedBudgetOwner","asset","zeroAddress","tokenId","readManagedBudgetTotal","readManagedBudgetAvailable","readManagedBudgetDistributed","_payload","_options","payload","options","owner","getAccount","_a","DeployableUnknownOwnerProvidedError","bytecode","prepareManagedBudgetPayload","ManagedBudgetBases","RegistryType","ManagedBudget","authorized","roles","encodeAbiParameters","parseAbiParameters"],"mappings":"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"}
|
|
@@ -1,10 +1,50 @@
|
|
|
1
1
|
import { vestingBudgetAbi } from '@boostxyz/evm';
|
|
2
2
|
import { type Address, type ContractEventName } from 'viem';
|
|
3
3
|
import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
|
|
4
|
-
import {
|
|
5
|
-
import { type FungibleTransferPayload
|
|
4
|
+
import { DeployableTargetWithRBAC } from '../Deployable/DeployableTargetWithRBAC';
|
|
5
|
+
import { type FungibleTransferPayload } from '../transfers';
|
|
6
|
+
import { type GenericLog, type ReadParams, RegistryType, type WriteParams } from '../utils';
|
|
6
7
|
export { vestingBudgetAbi };
|
|
7
|
-
export type {
|
|
8
|
+
export type { FungibleTransferPayload };
|
|
9
|
+
/**
|
|
10
|
+
* The object representation of a `VestingBudget.InitPayload`
|
|
11
|
+
*
|
|
12
|
+
* @export
|
|
13
|
+
* @interface VestingBudgetPayload
|
|
14
|
+
* @typedef {VestingBudgetPayload}
|
|
15
|
+
*/
|
|
16
|
+
export interface VestingBudgetPayload {
|
|
17
|
+
/**
|
|
18
|
+
* The budget's owner.
|
|
19
|
+
*
|
|
20
|
+
* @type {Address}
|
|
21
|
+
*/
|
|
22
|
+
owner: Address;
|
|
23
|
+
/**
|
|
24
|
+
* List of accounts authorized to use the budget. This list should include a Boost core address to interact with the protocol.
|
|
25
|
+
*
|
|
26
|
+
* @type {Address[]}
|
|
27
|
+
*/
|
|
28
|
+
authorized: Address[];
|
|
29
|
+
/**
|
|
30
|
+
* The timestamp at which the vesting schedule begins
|
|
31
|
+
*
|
|
32
|
+
* @type {bigint}
|
|
33
|
+
*/
|
|
34
|
+
start: bigint;
|
|
35
|
+
/**
|
|
36
|
+
* The duration of the vesting schedule (in seconds)
|
|
37
|
+
*
|
|
38
|
+
* @type {bigint}
|
|
39
|
+
*/
|
|
40
|
+
duration: bigint;
|
|
41
|
+
/**
|
|
42
|
+
* The duration of the cliff period (in seconds)
|
|
43
|
+
*
|
|
44
|
+
* @type {bigint}
|
|
45
|
+
*/
|
|
46
|
+
cliff: bigint;
|
|
47
|
+
}
|
|
8
48
|
/**
|
|
9
49
|
* A generic `viem.Log` event with support for `VestingBudget` event types.
|
|
10
50
|
*
|
|
@@ -26,9 +66,9 @@ export type VestingBudgetLog<event extends ContractEventName<typeof vestingBudge
|
|
|
26
66
|
* @export
|
|
27
67
|
* @class VestingBudget
|
|
28
68
|
* @typedef {VestingBudget}
|
|
29
|
-
* @extends {
|
|
69
|
+
* @extends {DeployableTargetWithRBAC<VestingBudgetPayload>}
|
|
30
70
|
*/
|
|
31
|
-
export declare class VestingBudget extends
|
|
71
|
+
export declare class VestingBudget extends DeployableTargetWithRBAC<VestingBudgetPayload, typeof vestingBudgetAbi> {
|
|
32
72
|
readonly abi: readonly [{
|
|
33
73
|
readonly type: "constructor";
|
|
34
74
|
readonly inputs: readonly [];
|
|
@@ -126,20 +166,9 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
126
166
|
readonly inputs: readonly [];
|
|
127
167
|
readonly name: "Unauthorized";
|
|
128
168
|
}, {
|
|
129
|
-
readonly type: "
|
|
130
|
-
readonly
|
|
131
|
-
readonly
|
|
132
|
-
readonly name: "account";
|
|
133
|
-
readonly internalType: "address";
|
|
134
|
-
readonly type: "address";
|
|
135
|
-
readonly indexed: true;
|
|
136
|
-
}, {
|
|
137
|
-
readonly name: "isAuthorized";
|
|
138
|
-
readonly internalType: "bool";
|
|
139
|
-
readonly type: "bool";
|
|
140
|
-
readonly indexed: false;
|
|
141
|
-
}];
|
|
142
|
-
readonly name: "Authorized";
|
|
169
|
+
readonly type: "error";
|
|
170
|
+
readonly inputs: readonly [];
|
|
171
|
+
readonly name: "Unauthorized";
|
|
143
172
|
}, {
|
|
144
173
|
readonly type: "event";
|
|
145
174
|
readonly anonymous: false;
|
|
@@ -205,9 +234,44 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
205
234
|
readonly indexed: true;
|
|
206
235
|
}];
|
|
207
236
|
readonly name: "OwnershipTransferred";
|
|
237
|
+
}, {
|
|
238
|
+
readonly type: "event";
|
|
239
|
+
readonly anonymous: false;
|
|
240
|
+
readonly inputs: readonly [{
|
|
241
|
+
readonly name: "user";
|
|
242
|
+
readonly internalType: "address";
|
|
243
|
+
readonly type: "address";
|
|
244
|
+
readonly indexed: true;
|
|
245
|
+
}, {
|
|
246
|
+
readonly name: "roles";
|
|
247
|
+
readonly internalType: "uint256";
|
|
248
|
+
readonly type: "uint256";
|
|
249
|
+
readonly indexed: true;
|
|
250
|
+
}];
|
|
251
|
+
readonly name: "RolesUpdated";
|
|
208
252
|
}, {
|
|
209
253
|
readonly type: "fallback";
|
|
210
254
|
readonly stateMutability: "payable";
|
|
255
|
+
}, {
|
|
256
|
+
readonly type: "function";
|
|
257
|
+
readonly inputs: readonly [];
|
|
258
|
+
readonly name: "ADMIN_ROLE";
|
|
259
|
+
readonly outputs: readonly [{
|
|
260
|
+
readonly name: "";
|
|
261
|
+
readonly internalType: "uint256";
|
|
262
|
+
readonly type: "uint256";
|
|
263
|
+
}];
|
|
264
|
+
readonly stateMutability: "view";
|
|
265
|
+
}, {
|
|
266
|
+
readonly type: "function";
|
|
267
|
+
readonly inputs: readonly [];
|
|
268
|
+
readonly name: "MANAGER_ROLE";
|
|
269
|
+
readonly outputs: readonly [{
|
|
270
|
+
readonly name: "";
|
|
271
|
+
readonly internalType: "uint256";
|
|
272
|
+
readonly type: "uint256";
|
|
273
|
+
}];
|
|
274
|
+
readonly stateMutability: "view";
|
|
211
275
|
}, {
|
|
212
276
|
readonly type: "function";
|
|
213
277
|
readonly inputs: readonly [{
|
|
@@ -348,6 +412,70 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
348
412
|
readonly type: "bytes4";
|
|
349
413
|
}];
|
|
350
414
|
readonly stateMutability: "pure";
|
|
415
|
+
}, {
|
|
416
|
+
readonly type: "function";
|
|
417
|
+
readonly inputs: readonly [{
|
|
418
|
+
readonly name: "user";
|
|
419
|
+
readonly internalType: "address";
|
|
420
|
+
readonly type: "address";
|
|
421
|
+
}, {
|
|
422
|
+
readonly name: "roles";
|
|
423
|
+
readonly internalType: "uint256";
|
|
424
|
+
readonly type: "uint256";
|
|
425
|
+
}];
|
|
426
|
+
readonly name: "grantRoles";
|
|
427
|
+
readonly outputs: readonly [];
|
|
428
|
+
readonly stateMutability: "payable";
|
|
429
|
+
}, {
|
|
430
|
+
readonly type: "function";
|
|
431
|
+
readonly inputs: readonly [{
|
|
432
|
+
readonly name: "accounts_";
|
|
433
|
+
readonly internalType: "address[]";
|
|
434
|
+
readonly type: "address[]";
|
|
435
|
+
}, {
|
|
436
|
+
readonly name: "roles_";
|
|
437
|
+
readonly internalType: "uint256[]";
|
|
438
|
+
readonly type: "uint256[]";
|
|
439
|
+
}];
|
|
440
|
+
readonly name: "grantRoles";
|
|
441
|
+
readonly outputs: readonly [];
|
|
442
|
+
readonly stateMutability: "nonpayable";
|
|
443
|
+
}, {
|
|
444
|
+
readonly type: "function";
|
|
445
|
+
readonly inputs: readonly [{
|
|
446
|
+
readonly name: "user";
|
|
447
|
+
readonly internalType: "address";
|
|
448
|
+
readonly type: "address";
|
|
449
|
+
}, {
|
|
450
|
+
readonly name: "roles";
|
|
451
|
+
readonly internalType: "uint256";
|
|
452
|
+
readonly type: "uint256";
|
|
453
|
+
}];
|
|
454
|
+
readonly name: "hasAllRoles";
|
|
455
|
+
readonly outputs: readonly [{
|
|
456
|
+
readonly name: "";
|
|
457
|
+
readonly internalType: "bool";
|
|
458
|
+
readonly type: "bool";
|
|
459
|
+
}];
|
|
460
|
+
readonly stateMutability: "view";
|
|
461
|
+
}, {
|
|
462
|
+
readonly type: "function";
|
|
463
|
+
readonly inputs: readonly [{
|
|
464
|
+
readonly name: "user";
|
|
465
|
+
readonly internalType: "address";
|
|
466
|
+
readonly type: "address";
|
|
467
|
+
}, {
|
|
468
|
+
readonly name: "roles";
|
|
469
|
+
readonly internalType: "uint256";
|
|
470
|
+
readonly type: "uint256";
|
|
471
|
+
}];
|
|
472
|
+
readonly name: "hasAnyRole";
|
|
473
|
+
readonly outputs: readonly [{
|
|
474
|
+
readonly name: "";
|
|
475
|
+
readonly internalType: "bool";
|
|
476
|
+
readonly type: "bool";
|
|
477
|
+
}];
|
|
478
|
+
readonly stateMutability: "view";
|
|
351
479
|
}, {
|
|
352
480
|
readonly type: "function";
|
|
353
481
|
readonly inputs: readonly [{
|
|
@@ -416,6 +544,16 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
416
544
|
readonly name: "renounceOwnership";
|
|
417
545
|
readonly outputs: readonly [];
|
|
418
546
|
readonly stateMutability: "payable";
|
|
547
|
+
}, {
|
|
548
|
+
readonly type: "function";
|
|
549
|
+
readonly inputs: readonly [{
|
|
550
|
+
readonly name: "roles";
|
|
551
|
+
readonly internalType: "uint256";
|
|
552
|
+
readonly type: "uint256";
|
|
553
|
+
}];
|
|
554
|
+
readonly name: "renounceRoles";
|
|
555
|
+
readonly outputs: readonly [];
|
|
556
|
+
readonly stateMutability: "payable";
|
|
419
557
|
}, {
|
|
420
558
|
readonly type: "function";
|
|
421
559
|
readonly inputs: readonly [];
|
|
@@ -425,7 +563,49 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
425
563
|
}, {
|
|
426
564
|
readonly type: "function";
|
|
427
565
|
readonly inputs: readonly [{
|
|
428
|
-
readonly name: "
|
|
566
|
+
readonly name: "user";
|
|
567
|
+
readonly internalType: "address";
|
|
568
|
+
readonly type: "address";
|
|
569
|
+
}, {
|
|
570
|
+
readonly name: "roles";
|
|
571
|
+
readonly internalType: "uint256";
|
|
572
|
+
readonly type: "uint256";
|
|
573
|
+
}];
|
|
574
|
+
readonly name: "revokeRoles";
|
|
575
|
+
readonly outputs: readonly [];
|
|
576
|
+
readonly stateMutability: "payable";
|
|
577
|
+
}, {
|
|
578
|
+
readonly type: "function";
|
|
579
|
+
readonly inputs: readonly [{
|
|
580
|
+
readonly name: "accounts_";
|
|
581
|
+
readonly internalType: "address[]";
|
|
582
|
+
readonly type: "address[]";
|
|
583
|
+
}, {
|
|
584
|
+
readonly name: "roles_";
|
|
585
|
+
readonly internalType: "uint256[]";
|
|
586
|
+
readonly type: "uint256[]";
|
|
587
|
+
}];
|
|
588
|
+
readonly name: "revokeRoles";
|
|
589
|
+
readonly outputs: readonly [];
|
|
590
|
+
readonly stateMutability: "nonpayable";
|
|
591
|
+
}, {
|
|
592
|
+
readonly type: "function";
|
|
593
|
+
readonly inputs: readonly [{
|
|
594
|
+
readonly name: "user";
|
|
595
|
+
readonly internalType: "address";
|
|
596
|
+
readonly type: "address";
|
|
597
|
+
}];
|
|
598
|
+
readonly name: "rolesOf";
|
|
599
|
+
readonly outputs: readonly [{
|
|
600
|
+
readonly name: "roles";
|
|
601
|
+
readonly internalType: "uint256";
|
|
602
|
+
readonly type: "uint256";
|
|
603
|
+
}];
|
|
604
|
+
readonly stateMutability: "view";
|
|
605
|
+
}, {
|
|
606
|
+
readonly type: "function";
|
|
607
|
+
readonly inputs: readonly [{
|
|
608
|
+
readonly name: "accounts_";
|
|
429
609
|
readonly internalType: "address[]";
|
|
430
610
|
readonly type: "address[]";
|
|
431
611
|
}, {
|
|
@@ -493,9 +673,9 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
493
673
|
*
|
|
494
674
|
* @public
|
|
495
675
|
* @static
|
|
496
|
-
* @type {Address}
|
|
676
|
+
* @type {Record<number, Address>}
|
|
497
677
|
*/
|
|
498
|
-
static
|
|
678
|
+
static bases: Record<number, Address>;
|
|
499
679
|
/**
|
|
500
680
|
* @inheritdoc
|
|
501
681
|
*
|
|
@@ -508,7 +688,7 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
508
688
|
* Get the owner of the budget
|
|
509
689
|
*
|
|
510
690
|
* @public
|
|
511
|
-
* @param {?ReadParams
|
|
691
|
+
* @param {?ReadParams} [params]
|
|
512
692
|
* @returns {Promise<Address>}
|
|
513
693
|
*/
|
|
514
694
|
owner(params?: ReadParams<typeof vestingBudgetAbi, 'owner'>): Promise<`0x${string}`>;
|
|
@@ -516,24 +696,24 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
516
696
|
* The timestamp at which the vesting schedule begins
|
|
517
697
|
*
|
|
518
698
|
* @public
|
|
519
|
-
* @param {?ReadParams
|
|
520
|
-
* @returns {
|
|
699
|
+
* @param {?ReadParams} [params]
|
|
700
|
+
* @returns {Promise<bigint>}
|
|
521
701
|
*/
|
|
522
702
|
start(params?: ReadParams<typeof vestingBudgetAbi, 'start'>): Promise<bigint>;
|
|
523
703
|
/**
|
|
524
704
|
* The duration of the vesting schedule (in seconds)
|
|
525
705
|
*
|
|
526
706
|
* @public
|
|
527
|
-
* @param {?ReadParams
|
|
528
|
-
* @returns {
|
|
707
|
+
* @param {?ReadParams} [params]
|
|
708
|
+
* @returns {Promise<bigint>}
|
|
529
709
|
*/
|
|
530
710
|
duration(params?: ReadParams<typeof vestingBudgetAbi, 'duration'>): Promise<bigint>;
|
|
531
711
|
/**
|
|
532
712
|
* The duration of the cliff period (in seconds)
|
|
533
713
|
*
|
|
534
714
|
* @public
|
|
535
|
-
* @param {?ReadParams
|
|
536
|
-
* @returns {
|
|
715
|
+
* @param {?ReadParams} [params]
|
|
716
|
+
* @returns {Promise<bigint>}
|
|
537
717
|
*/
|
|
538
718
|
cliff(params?: ReadParams<typeof vestingBudgetAbi, 'cliff'>): Promise<bigint>;
|
|
539
719
|
/**
|
|
@@ -544,7 +724,7 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
544
724
|
* @public
|
|
545
725
|
* @async
|
|
546
726
|
* @param {(FungibleTransferPayload)} transfer
|
|
547
|
-
* @param {?WriteParams
|
|
727
|
+
* @param {?WriteParams} [params]
|
|
548
728
|
* @returns {Promise<boolean>} - True if the allocation was successful
|
|
549
729
|
*/
|
|
550
730
|
allocate(transfer: FungibleTransferPayload, params?: WriteParams<typeof vestingBudgetAbi, 'allocate'>): Promise<boolean>;
|
|
@@ -556,8 +736,8 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
556
736
|
* @public
|
|
557
737
|
* @async
|
|
558
738
|
* @param {(FungibleTransferPayload)} transfer
|
|
559
|
-
* @param {?WriteParams
|
|
560
|
-
* @returns {Promise<boolean>} - True if the allocation was successful
|
|
739
|
+
* @param {?WriteParams} [params]
|
|
740
|
+
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the allocation was successful
|
|
561
741
|
*/
|
|
562
742
|
allocateRaw(transfer: FungibleTransferPayload, params?: WriteParams<typeof vestingBudgetAbi, 'allocate'>): Promise<{
|
|
563
743
|
hash: `0x${string}`;
|
|
@@ -572,7 +752,7 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
572
752
|
* @public
|
|
573
753
|
* @async
|
|
574
754
|
* @param {(FungibleTransferPayload)} transfer
|
|
575
|
-
* @param {?WriteParams
|
|
755
|
+
* @param {?WriteParams} [params]
|
|
576
756
|
* @returns {Promise<boolean>} - True if the request was successful
|
|
577
757
|
*/
|
|
578
758
|
clawback(transfer: FungibleTransferPayload, params?: WriteParams<typeof vestingBudgetAbi, 'clawback'>): Promise<boolean>;
|
|
@@ -585,8 +765,8 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
585
765
|
* @public
|
|
586
766
|
* @async
|
|
587
767
|
* @param {(FungibleTransferPayload)} transfer
|
|
588
|
-
* @param {?WriteParams
|
|
589
|
-
* @returns {Promise<boolean>} - True if the request was successful
|
|
768
|
+
* @param {?WriteParams} [params]
|
|
769
|
+
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the request was successful
|
|
590
770
|
*/
|
|
591
771
|
clawbackRaw(transfer: FungibleTransferPayload, params?: WriteParams<typeof vestingBudgetAbi, 'clawback'>): Promise<{
|
|
592
772
|
hash: `0x${string}`;
|
|
@@ -599,7 +779,7 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
599
779
|
* @public
|
|
600
780
|
* @async
|
|
601
781
|
* @param {(FungibleTransferPayload)} transfer
|
|
602
|
-
* @param {?WriteParams
|
|
782
|
+
* @param {?WriteParams} [params]
|
|
603
783
|
* @returns {Promise<boolean>} - True if the disbursement was successful
|
|
604
784
|
*/
|
|
605
785
|
disburse(transfer: FungibleTransferPayload, params?: WriteParams<typeof vestingBudgetAbi, 'disburse'>): Promise<boolean>;
|
|
@@ -610,8 +790,8 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
610
790
|
* @public
|
|
611
791
|
* @async
|
|
612
792
|
* @param {(FungibleTransferPayload)} transfer
|
|
613
|
-
* @param {?WriteParams
|
|
614
|
-
* @returns {Promise<boolean>} - True if the disbursement was successful
|
|
793
|
+
* @param {?WriteParams} [params]
|
|
794
|
+
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the disbursement was successful
|
|
615
795
|
*/
|
|
616
796
|
disburseRaw(transfer: FungibleTransferPayload, params?: WriteParams<typeof vestingBudgetAbi, 'disburse'>): Promise<{
|
|
617
797
|
hash: `0x${string}`;
|
|
@@ -623,7 +803,7 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
623
803
|
* @public
|
|
624
804
|
* @async
|
|
625
805
|
* @param {Array<FungibleTransferPayload>} transfers
|
|
626
|
-
* @param {?WriteParams
|
|
806
|
+
* @param {?WriteParams} [params]
|
|
627
807
|
* @returns {Promise<boolean>} - True if all disbursements were successful
|
|
628
808
|
*/
|
|
629
809
|
disburseBatch(transfers: FungibleTransferPayload[], params?: WriteParams<typeof vestingBudgetAbi, 'disburseBatch'>): Promise<boolean>;
|
|
@@ -633,54 +813,18 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
633
813
|
* @public
|
|
634
814
|
* @async
|
|
635
815
|
* @param {Array<FungibleTransferPayload>} transfers
|
|
636
|
-
* @param {?WriteParams
|
|
637
|
-
* @returns {Promise<boolean>} - True if all disbursements were successful
|
|
816
|
+
* @param {?WriteParams} [params]
|
|
817
|
+
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if all disbursements were successful
|
|
638
818
|
*/
|
|
639
819
|
disburseBatchRaw(transfers: FungibleTransferPayload[], params?: WriteParams<typeof vestingBudgetAbi, 'disburseBatch'>): Promise<{
|
|
640
820
|
hash: `0x${string}`;
|
|
641
821
|
result: boolean;
|
|
642
822
|
}>;
|
|
643
|
-
/**
|
|
644
|
-
* Set the authorized status of the given accounts
|
|
645
|
-
* The mechanism for managing authorization is left to the implementing contract
|
|
646
|
-
*
|
|
647
|
-
* @public
|
|
648
|
-
* @async
|
|
649
|
-
* @param {Address[]} addresses - The accounts to authorize or deauthorize
|
|
650
|
-
* @param {boolean[]} allowed - The authorization status for the given accounts
|
|
651
|
-
* @param {?WriteParams<typeof vestingBudgetAbi, 'setAuthorized'>} [params]
|
|
652
|
-
* @returns {Promise<void>}
|
|
653
|
-
*/
|
|
654
|
-
setAuthorized(addresses: Address[], allowed: boolean[], params?: WriteParams<typeof vestingBudgetAbi, 'setAuthorized'>): Promise<void>;
|
|
655
|
-
/**
|
|
656
|
-
* Set the authorized status of the given accounts
|
|
657
|
-
* The mechanism for managing authorization is left to the implementing contract
|
|
658
|
-
*
|
|
659
|
-
* @public
|
|
660
|
-
* @async
|
|
661
|
-
* @param {Address[]} addresses - The accounts to authorize or deauthorize
|
|
662
|
-
* @param {boolean[]} allowed - The authorization status for the given accounts
|
|
663
|
-
* @param {?WriteParams<typeof vestingBudgetAbi, 'setAuthorized'>} [params]
|
|
664
|
-
* @returns {Promise<void>}
|
|
665
|
-
*/
|
|
666
|
-
setAuthorizedRaw(addresses: Address[], allowed: boolean[], params?: WriteParams<typeof vestingBudgetAbi, 'setAuthorized'>): Promise<{
|
|
667
|
-
hash: `0x${string}`;
|
|
668
|
-
result: void;
|
|
669
|
-
}>;
|
|
670
|
-
/**
|
|
671
|
-
* Check if the given account is authorized to use the budget
|
|
672
|
-
*
|
|
673
|
-
* @public
|
|
674
|
-
* @param {Address} account
|
|
675
|
-
* @param {?ReadParams<typeof vestingBudgetAbi, 'isAuthorized'>} [params]
|
|
676
|
-
* @returns {Promise<boolean>} - True if the account is authorized
|
|
677
|
-
*/
|
|
678
|
-
isAuthorized(account: Address, params?: ReadParams<typeof vestingBudgetAbi, 'isAuthorized'>): Promise<boolean>;
|
|
679
823
|
/**
|
|
680
824
|
* Get the end time of the vesting schedule
|
|
681
825
|
*
|
|
682
826
|
* @public
|
|
683
|
-
* @param {?ReadParams
|
|
827
|
+
* @param {?ReadParams} [params]
|
|
684
828
|
* @returns {Promise<bigint>}
|
|
685
829
|
*/
|
|
686
830
|
end(params?: ReadParams<typeof vestingBudgetAbi, 'end'>): Promise<bigint>;
|
|
@@ -689,30 +833,30 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
689
833
|
* This is equal to the sum of the total current balance and the total distributed amount
|
|
690
834
|
*
|
|
691
835
|
* @public
|
|
692
|
-
* @param {Address} asset - The address of the asset (or the zero address for native assets)
|
|
693
|
-
* @param {?ReadParams
|
|
836
|
+
* @param {Address} [asset="0x0000000000000000000000000000000000000000"] - The address of the asset (or the zero address for native assets)
|
|
837
|
+
* @param {?ReadParams} [params]
|
|
694
838
|
* @returns {Promise<bigint>}
|
|
695
839
|
*/
|
|
696
|
-
total(asset
|
|
840
|
+
total(asset?: Address, params?: ReadParams<typeof vestingBudgetAbi, 'total'>): Promise<bigint>;
|
|
697
841
|
/**
|
|
698
842
|
* Get the amount of assets available for distribution from the budget as of the current block timestamp
|
|
699
843
|
* This is equal to the total vested amount minus any already distributed
|
|
700
844
|
*
|
|
701
845
|
* @public
|
|
702
|
-
* @param {Address} asset - The address of the asset (or the zero address for native assets)
|
|
703
|
-
* @param {?ReadParams
|
|
846
|
+
* @param {Address} [asset="0x0000000000000000000000000000000000000000"] - The address of the asset (or the zero address for native assets)
|
|
847
|
+
* @param {?ReadParams} [params]
|
|
704
848
|
* @returns {Promise<bigint>} - The amount of assets currently available for distribution
|
|
705
849
|
*/
|
|
706
|
-
available(asset
|
|
850
|
+
available(asset?: Address, params?: ReadParams<typeof vestingBudgetAbi, 'available'>): Promise<bigint>;
|
|
707
851
|
/**
|
|
708
852
|
* Get the amount of assets that have been distributed from the budget
|
|
709
853
|
*
|
|
710
854
|
* @public
|
|
711
|
-
* @param {Address} asset
|
|
712
|
-
* @param {?ReadParams
|
|
855
|
+
* @param {Address} [asset="0x0000000000000000000000000000000000000000"]
|
|
856
|
+
* @param {?ReadParams} [params]
|
|
713
857
|
* @returns {Promise<bigint>} - The amount of assets distributed
|
|
714
858
|
*/
|
|
715
|
-
distributed(asset
|
|
859
|
+
distributed(asset?: Address, params?: ReadParams<typeof vestingBudgetAbi, 'distributed'>): Promise<bigint>;
|
|
716
860
|
/**
|
|
717
861
|
* @inheritdoc
|
|
718
862
|
*
|
|
@@ -723,4 +867,16 @@ export declare class VestingBudget extends DeployableTarget<VestingBudgetPayload
|
|
|
723
867
|
*/
|
|
724
868
|
buildParameters(_payload?: VestingBudgetPayload, _options?: DeployableOptions): GenericDeployableParams;
|
|
725
869
|
}
|
|
870
|
+
/**
|
|
871
|
+
* Given a {@link VestingBudgetPayload}, properly encode a `VestingBudget.InitPayload` for use with {@link VestingBudget} initialization.
|
|
872
|
+
*
|
|
873
|
+
* @param {VestingBudgetPayload} param0
|
|
874
|
+
* @param {Address} param0.owner - The budget's owner.
|
|
875
|
+
* @param {{}} param0.authorized - List of accounts authorized to use the budget. This list should include a Boost core address to interact with the protocol.
|
|
876
|
+
* @param {bigint} param0.start - The timestamp at which the vesting schedule begins
|
|
877
|
+
* @param {bigint} param0.duration - The duration of the vesting schedule (in seconds)
|
|
878
|
+
* @param {bigint} param0.cliff - The duration of the cliff period (in seconds)
|
|
879
|
+
* @returns {Hex}
|
|
880
|
+
*/
|
|
881
|
+
export declare function prepareVestingBudgetPayload({ owner, authorized, start, duration, cliff, }: VestingBudgetPayload): `0x${string}`;
|
|
726
882
|
//# sourceMappingURL=VestingBudget.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VestingBudget.d.ts","sourceRoot":"","sources":["../../src/Budgets/VestingBudget.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,gBAAgB,EAMjB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"VestingBudget.d.ts","sourceRoot":"","sources":["../../src/Budgets/VestingBudget.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,gBAAgB,EAMjB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAKvB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,uBAAuB,EAAE,CAAC;AACxC;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,UAAU,EAAE,OAAO,EAAE,CAAC;IACtB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,CAC1B,KAAK,SAAS,iBAAiB,CAAC,OAAO,gBAAgB,CAAC,GAAG,iBAAiB,CAC1E,OAAO,gBAAgB,CACxB,IACC,UAAU,CAAC,OAAO,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAc,SAAQ,wBAAwB,CACzD,oBAAoB,EACpB,OAAO,gBAAgB,CACxB;IACC,SAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAoB;IAChD;;;;;;OAMG;IACH,OAAuB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAC3D;;;;;;OAMG;IACH,OAAuB,YAAY,EAAE,YAAY,CAAuB;IAExE;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,OAAO,CAAC;IASlE;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,OAAO,CAAC;IASlE;;;;;;OAMG;IACI,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;IASxE;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,OAAO,CAAC;IASlE;;;;;;;;;;OAUG;IACU,QAAQ,CACnB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;IAK3D;;;;;;;;;;OAUG;IACU,WAAW,CACtB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;;;;IAgB3D;;;;;;;;;;;OAWG;IACU,QAAQ,CACnB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;IAK3D;;;;;;;;;;;OAWG;IACU,WAAW,CACtB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;;;;IAgB3D;;;;;;;;;OASG;IACU,QAAQ,CACnB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;IAK3D;;;;;;;;;OASG;IACU,WAAW,CACtB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;;;;IAgB3D;;;;;;;;OAQG;IACU,aAAa,CACxB,SAAS,EAAE,uBAAuB,EAAE,EACpC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,eAAe,CAAC;IAKhE;;;;;;;;OAQG;IACU,gBAAgB,CAC3B,SAAS,EAAE,uBAAuB,EAAE,EACpC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,eAAe,CAAC;;;;IAgBhE;;;;;;OAMG;IACI,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,KAAK,CAAC;IAS9D;;;;;;;;OAQG;IACI,KAAK,CACV,KAAK,GAAE,OAAqB,EAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,OAAO,CAAC;IAUvD;;;;;;;;OAQG;IACI,SAAS,CACd,KAAK,GAAE,OAAqB,EAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,WAAW,CAAC;IAU3D;;;;;;;OAOG;IACI,WAAW,CAChB,KAAK,GAAE,OAAqB,EAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,aAAa,CAAC;IAU7D;;;;;;;OAOG;IACa,eAAe,CAC7B,QAAQ,CAAC,EAAE,oBAAoB,EAC/B,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,uBAAuB;CAwB3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,KAAK,EACL,UAAU,EACV,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE,oBAAoB,iBAQtB"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@wagmi/core"),i=require("viem"),o=require("viem/actions"),d=require("../errors.cjs"),c=require("../utils.cjs");class h{constructor(e,t){this._config=e,this._address=t}get address(){return this._address}at(e){return this._address=e,this}withConfig(e){return this._config=e,this}assertValidAddress(){const e=this.address;if(!e)throw new d.ContractAddressRequiredError;return e}async getLogs(e){return o.getLogs(this._config.getClient({chainId:e==null?void 0:e.chainId}),{...e,...e!=null&&e.eventName?{event:i.getAbiItem({abi:this.abi,name:e.eventName})}:{},...e!=null&&e.eventNames?{events:e.eventNames.map(t=>i.getAbiItem({abi:this.abi,name:t}))}:{},address:this.assertValidAddress()})}
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@wagmi/core"),i=require("viem"),o=require("viem/actions"),d=require("../errors.cjs"),c=require("../utils.cjs");class h{constructor(e,t){this._config=e,this._address=t}get address(){return this._address}at(e){return this._address=e,this}withConfig(e){return this._config=e,this}assertValidAddress(){const e=this.address;if(!e)throw new d.ContractAddressRequiredError;return e}async getLogs(e){return o.getLogs(this._config.getClient({chainId:e==null?void 0:e.chainId}),{...e,...e!=null&&e.eventName?{event:i.getAbiItem({abi:this.abi,name:e.eventName})}:{},...e!=null&&e.eventNames?{events:e.eventNames.map(t=>i.getAbiItem({abi:this.abi,name:t}))}:{},address:this.assertValidAddress()})}subscribe(e,t){return r.watchContractEvent(this._config,{...t,eventName:t==null?void 0:t.eventName,abi:this.abi,address:this.assertValidAddress(),onLogs:s=>{for(let n of s)e(n)}})}async awaitResult(e,t){return await c.awaitResult(this._config,e,t)}}exports.Contract=h;
|
|
2
|
+
//# sourceMappingURL=Contract.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Contract.cjs","sources":["../../src/Deployable/Contract.ts"],"sourcesContent":["import { type Config, watchContractEvent } from '@wagmi/core';\nimport type { ExtractAbiEvent } from 'abitype';\nimport {\n type Abi,\n type Address,\n type ContractEventName,\n type GetLogsReturnType,\n type WaitForTransactionReceiptParameters,\n type WatchContractEventOnLogsParameter,\n getAbiItem,\n} from 'viem';\nimport { getLogs } from 'viem/actions';\nimport { ContractAddressRequiredError } from '../errors';\nimport {\n type GetLogsParams,\n type HashAndSimulatedResult,\n type WatchParams,\n awaitResult,\n} from '../utils';\n\n/**\n * A basic Contract class to encapsulate configuration and a potential address\n *\n * @export\n * @class Contract\n * @typedef {Contract}\n * @template {Abi} [ContractAbi=[]]\n * @template {ContractEventName<ContractAbi>} [ContractEvent=any]\n */\nexport class Contract<ContractAbi extends Abi> {\n //@ts-expect-error this should always be set by implementing contract\n public readonly abi: ContractAbi;\n /**\n * @see [Wagmi Configuration](https://wagmi.sh/core/api/createConfig)\n * @protected\n * @type {WagmiConfig}\n */\n protected _config: Config;\n /**\n * The internally managed address for this contract\n *\n * @protected\n * @type {(Address | undefined)}\n */\n protected _address: Address | undefined;\n\n /**\n * Creates an instance of Contract.\n *\n * @constructor\n * @param {Config} config\n * @param {(Address | undefined)} address\n */\n constructor(config: Config, address: Address | undefined) {\n this._config = config;\n this._address = address;\n }\n\n /**\n * A getter returning this contract's deployed address, if it exists.\n *\n * @public\n * @readonly\n * @type {Address | undefined}\n */\n public get address() {\n return this._address;\n }\n\n /**\n * Will set this contract's address and return the instance for chaining. Does not verify that provided address is valid.\n *\n * @public\n * @param {Address} address\n * @returns {this}\n */\n public at(address: Address) {\n this._address = address;\n return this;\n }\n\n /**\n * Will set this contract's internal [Wagmi Configuration](https://en.wikipedia.org/wiki/Factorial) and return the instance for chaining.\n *\n * @public\n * @param {Config} config\n * @returns {this}\n */\n public withConfig(config: Config) {\n this._config = config;\n return this;\n }\n\n /**\n * Utility function to validate the existence of an address on this Contract.\n *\n * @public\n * @returns {Address}\n * @throws {@link ContractAddressRequiredError} if no address exists on this Contract instance\n */\n public assertValidAddress() {\n const address = this.address;\n if (!address) throw new ContractAddressRequiredError();\n return address;\n }\n\n /**\n * A typed wrapper for (viem.getLogs)[https://viem.sh/docs/actions/public/getLogs#getlogs].\n * Accepts `eventName` and `eventNames` as optional parameters to narrow the returned log types.\n * @example\n * ```ts\n * const logs = contract.getLogs({ eventName: 'EventName' })\n * const logs = contract.getLogs({ eventNames: ['EventName'] })\n *\n * @public\n * @async\n * @template {ContractEvent} event\n * @template {ExtractAbiEvent<\n * ContractAbi,\n * event\n * >} [abiEvent=ExtractAbiEvent<ContractAbi, event>]\n * @param {?Omit<\n * GetLogsParams<ContractAbi, event, abiEvent, abiEvent[]>,\n * 'event' | 'events'\n * > & {\n * eventName?: event;\n * eventNames?: event[];\n * }} [params]\n * @returns {Promise<GetLogsReturnType<abiEvent, abiEvent[]>>}\n */\n public async getLogs<\n event extends ContractEventName<ContractAbi>,\n const abiEvent extends ExtractAbiEvent<\n ContractAbi,\n event\n > = ExtractAbiEvent<ContractAbi, event>,\n >(\n params?: Omit<\n GetLogsParams<ContractAbi, event, abiEvent, abiEvent[]>,\n 'event' | 'events'\n > & {\n eventName?: event;\n eventNames?: event[];\n },\n ): Promise<GetLogsReturnType<abiEvent, abiEvent[]>> {\n return getLogs(this._config.getClient({ chainId: params?.chainId }), {\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wag\n ...(params as any),\n ...(params?.eventName\n ? {\n event: getAbiItem({\n abi: this.abi,\n name: params.eventName,\n // biome-ignore lint/suspicious/noExplicitAny: awkward abi intersection issue\n } as any),\n }\n : {}),\n ...(params?.eventNames\n ? {\n events: params.eventNames.map((name) =>\n getAbiItem({\n abi: this.abi,\n name,\n // biome-ignore lint/suspicious/noExplicitAny: awkward abi intersection issue\n } as any),\n ),\n }\n : {}),\n address: this.assertValidAddress(),\n });\n }\n\n /**\n * A typed wrapper for `wagmi.watchContractEvent`\n *\n * @public\n * @template {ContractEvent} event\n * @param {(\n * log: WatchContractEventOnLogsParameter<ContractAbi, event, true>[number],\n * ) => unknown} cb\n * @param {?WatchParams<ContractAbi, event> & {\n * eventName?: event;\n * }} [params]\n * @returns {() => void}\n */\n public subscribe<event extends ContractEventName<ContractAbi>>(\n cb: (\n log: WatchContractEventOnLogsParameter<ContractAbi, event, true>[number],\n ) => unknown,\n params?: WatchParams<ContractAbi, event> & {\n eventName?: event;\n },\n ) {\n return watchContractEvent<\n typeof this._config,\n (typeof this._config)['chains'][number]['id'],\n ContractAbi,\n event\n >(this._config, {\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n eventName: params?.eventName,\n abi: this.abi,\n address: this.assertValidAddress(),\n onLogs: (logs) => {\n for (let l of logs) {\n cb(l);\n }\n },\n });\n }\n\n /**\n * @see {@link awaitResult}\n * @protected\n * @async\n * @template [Result=unknown]\n * @param {Promise<HashAndSimulatedResult<Result>>} hashPromise\n * @param {?Omit<WaitForTransactionReceiptParameters, 'hash'>} [waitParams]\n * @returns {Promise<Result>}\n */\n protected async awaitResult<Result = unknown>(\n hashPromise: Promise<HashAndSimulatedResult<Result>>,\n waitParams?: Omit<WaitForTransactionReceiptParameters, 'hash'>,\n ) {\n return await awaitResult(this._config, hashPromise, waitParams);\n }\n}\n"],"names":["Contract","config","address","ContractAddressRequiredError","params","getLogs","getAbiItem","name","cb","watchContractEvent","logs","l","hashPromise","waitParams","awaitResult"],"mappings":"gNA6BO,MAAMA,CAAkC,CAwB7C,YAAYC,EAAgBC,EAA8B,CACxD,KAAK,QAAUD,EACf,KAAK,SAAWC,CAClB,CASA,IAAW,SAAU,CACnB,OAAO,KAAK,QACd,CASO,GAAGA,EAAkB,CAC1B,YAAK,SAAWA,EACT,IACT,CASO,WAAWD,EAAgB,CAChC,YAAK,QAAUA,EACR,IACT,CASO,oBAAqB,CAC1B,MAAMC,EAAU,KAAK,QACrB,GAAI,CAACA,EAAe,MAAA,IAAIC,EAAAA,6BACjB,OAAAD,CACT,CA0BA,MAAa,QAOXE,EAOkD,CAC3C,OAAAC,EAAA,QAAQ,KAAK,QAAQ,UAAU,CAAE,QAASD,GAAA,YAAAA,EAAQ,OAAQ,CAAC,EAAG,CAEnE,GAAIA,EACJ,GAAIA,GAAA,MAAAA,EAAQ,UACR,CACE,MAAOE,EAAAA,WAAW,CAChB,IAAK,KAAK,IACV,KAAMF,EAAO,SAAA,CAEP,CAAA,EAEV,CAAC,EACL,GAAIA,GAAA,MAAAA,EAAQ,WACR,CACE,OAAQA,EAAO,WAAW,IAAKG,GAC7BD,EAAAA,WAAW,CACT,IAAK,KAAK,IACV,KAAAC,CAAA,CAEM,CACV,CAAA,EAEF,CAAC,EACL,QAAS,KAAK,mBAAmB,CAAA,CAClC,CACH,CAeO,UACLC,EAGAJ,EAGA,CACO,OAAAK,EAAA,mBAKL,KAAK,QAAS,CAEd,GAAIL,EACJ,UAAWA,GAAA,YAAAA,EAAQ,UACnB,IAAK,KAAK,IACV,QAAS,KAAK,mBAAmB,EACjC,OAASM,GAAS,CAChB,QAASC,KAAKD,EACZF,EAAGG,CAAC,CAER,CAAA,CACD,CACH,CAWA,MAAgB,YACdC,EACAC,EACA,CACA,OAAO,MAAMC,EAAA,YAAY,KAAK,QAASF,EAAaC,CAAU,CAChE,CACF"}
|
|
@@ -39,7 +39,7 @@ export declare class Contract<ContractAbi extends Abi> {
|
|
|
39
39
|
*
|
|
40
40
|
* @public
|
|
41
41
|
* @readonly
|
|
42
|
-
* @type {
|
|
42
|
+
* @type {Address | undefined}
|
|
43
43
|
*/
|
|
44
44
|
get address(): `0x${string}` | undefined;
|
|
45
45
|
/**
|
|
@@ -98,7 +98,6 @@ export declare class Contract<ContractAbi extends Abi> {
|
|
|
98
98
|
* A typed wrapper for `wagmi.watchContractEvent`
|
|
99
99
|
*
|
|
100
100
|
* @public
|
|
101
|
-
* @async
|
|
102
101
|
* @template {ContractEvent} event
|
|
103
102
|
* @param {(
|
|
104
103
|
* log: WatchContractEventOnLogsParameter<ContractAbi, event, true>[number],
|
|
@@ -106,11 +105,11 @@ export declare class Contract<ContractAbi extends Abi> {
|
|
|
106
105
|
* @param {?WatchParams<ContractAbi, event> & {
|
|
107
106
|
* eventName?: event;
|
|
108
107
|
* }} [params]
|
|
109
|
-
* @returns {
|
|
108
|
+
* @returns {() => void}
|
|
110
109
|
*/
|
|
111
110
|
subscribe<event extends ContractEventName<ContractAbi>>(cb: (log: WatchContractEventOnLogsParameter<ContractAbi, event, true>[number]) => unknown, params?: WatchParams<ContractAbi, event> & {
|
|
112
111
|
eventName?: event;
|
|
113
|
-
}):
|
|
112
|
+
}): () => void;
|
|
114
113
|
/**
|
|
115
114
|
* @see {@link awaitResult}
|
|
116
115
|
* @protected
|
|
@@ -118,7 +117,7 @@ export declare class Contract<ContractAbi extends Abi> {
|
|
|
118
117
|
* @template [Result=unknown]
|
|
119
118
|
* @param {Promise<HashAndSimulatedResult<Result>>} hashPromise
|
|
120
119
|
* @param {?Omit<WaitForTransactionReceiptParameters, 'hash'>} [waitParams]
|
|
121
|
-
* @returns {
|
|
120
|
+
* @returns {Promise<Result>}
|
|
122
121
|
*/
|
|
123
122
|
protected awaitResult<Result = unknown>(hashPromise: Promise<HashAndSimulatedResult<Result>>, waitParams?: Omit<WaitForTransactionReceiptParameters, 'hash'>): Promise<Result>;
|
|
124
123
|
}
|