@boostxyz/sdk 0.0.0-alpha.17 → 0.0.0-alpha.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Actions/Action.cjs +1 -1
- package/dist/Actions/Action.cjs.map +1 -1
- package/dist/Actions/Action.js +13 -13
- package/dist/Actions/ContractAction.d.ts +9 -9
- package/dist/Actions/ContractAction.d.ts.map +1 -1
- package/dist/Actions/ERC721MintAction.d.ts +12 -12
- package/dist/Actions/ERC721MintAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.cjs.map +1 -1
- package/dist/Actions/EventAction.d.ts +32 -49
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +13 -962
- package/dist/Actions/EventAction.js.map +1 -1
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.js +3 -3
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
- package/dist/AllowLists/SimpleAllowList.d.ts +5 -5
- package/dist/AllowLists/SimpleAllowList.js +24 -24
- package/dist/AllowLists/SimpleAllowList.js.map +1 -1
- package/dist/AllowLists/SimpleDenyList.cjs +1 -1
- package/dist/AllowLists/SimpleDenyList.d.ts +6 -6
- package/dist/AllowLists/SimpleDenyList.js +3 -3
- package/dist/Auth/PassthroughAuth.cjs +1 -1
- package/dist/Auth/PassthroughAuth.js +1 -1
- package/dist/Boost.cjs.map +1 -1
- package/dist/Boost.d.ts +18 -0
- package/dist/Boost.d.ts.map +1 -1
- package/dist/Boost.js.map +1 -1
- package/dist/BoostCore-BiPwp6SR.cjs +3 -0
- package/dist/BoostCore-BiPwp6SR.cjs.map +1 -0
- package/dist/BoostCore-C00iqvks.js +1477 -0
- package/dist/BoostCore-C00iqvks.js.map +1 -0
- package/dist/BoostCore.cjs +1 -2
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.d.ts +80 -35
- package/dist/BoostCore.d.ts.map +1 -1
- package/dist/BoostCore.js +29 -1273
- package/dist/BoostCore.js.map +1 -1
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.cjs.map +1 -1
- package/dist/BoostRegistry.d.ts +18 -18
- package/dist/BoostRegistry.js +28 -28
- package/dist/BoostRegistry.js.map +1 -1
- package/dist/Budgets/Budget.cjs +1 -1
- package/dist/Budgets/Budget.js +2 -2
- package/dist/Budgets/ManagedBudget.cjs +1 -1
- package/dist/Budgets/ManagedBudget.cjs.map +1 -1
- package/dist/Budgets/ManagedBudget.d.ts +18 -18
- package/dist/Budgets/ManagedBudget.js +48 -48
- package/dist/Budgets/ManagedBudget.js.map +1 -1
- package/dist/Budgets/VestingBudget.d.ts +23 -23
- package/dist/Deployable/Contract.cjs +1 -1
- package/dist/Deployable/Contract.cjs.map +1 -1
- package/dist/Deployable/Contract.d.ts +4 -5
- package/dist/Deployable/Contract.d.ts.map +1 -1
- package/dist/Deployable/Contract.js +4 -5
- package/dist/Deployable/Contract.js.map +1 -1
- package/dist/Deployable/Deployable.cjs.map +1 -1
- package/dist/Deployable/Deployable.d.ts +1 -1
- package/dist/Deployable/Deployable.js +1 -1
- package/dist/Deployable/Deployable.js.map +1 -1
- package/dist/Deployable/DeployableTarget.cjs +1 -1
- package/dist/Deployable/DeployableTarget.cjs.map +1 -1
- package/dist/Deployable/DeployableTarget.d.ts +5 -5
- package/dist/Deployable/DeployableTarget.js +10 -10
- package/dist/Deployable/DeployableTarget.js.map +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.cjs.map +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.d.ts +15 -15
- package/dist/Deployable/DeployableTargetWithRBAC.js +32 -32
- package/dist/Deployable/DeployableTargetWithRBAC.js.map +1 -1
- package/dist/EventAction-BO5WI_5s.js +1355 -0
- package/dist/EventAction-BO5WI_5s.js.map +1 -0
- package/dist/EventAction-DBDRaG4A.cjs +2 -0
- package/dist/EventAction-DBDRaG4A.cjs.map +1 -0
- package/dist/{Incentive-DJf-vdyL.js → Incentive-CF7kaz_9.js} +61 -62
- package/dist/Incentive-CF7kaz_9.js.map +1 -0
- package/dist/{Incentive-DNwROd1r.cjs → Incentive-Djnzseoj.cjs} +2 -2
- package/dist/Incentive-Djnzseoj.cjs.map +1 -0
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
- package/dist/Incentives/AllowListIncentive.d.ts +12 -12
- package/dist/Incentives/AllowListIncentive.js +19 -19
- package/dist/Incentives/AllowListIncentive.js.map +1 -1
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
- package/dist/Incentives/CGDAIncentive.d.ts +15 -15
- package/dist/Incentives/CGDAIncentive.js +18 -18
- package/dist/Incentives/CGDAIncentive.js.map +1 -1
- package/dist/Incentives/ERC1155Incentive.d.ts +30 -30
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
- package/dist/Incentives/ERC20Incentive.d.ts +23 -23
- package/dist/Incentives/ERC20Incentive.js +25 -25
- package/dist/Incentives/ERC20Incentive.js.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +523 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -0
- package/dist/Incentives/ERC20VariableIncentive.d.ts +19 -19
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.d.ts +3 -3
- package/dist/Incentives/Incentive.d.ts.map +1 -1
- package/dist/Incentives/Incentive.js +3 -3
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.cjs.map +1 -1
- package/dist/Incentives/PointsIncentive.d.ts +14 -14
- package/dist/Incentives/PointsIncentive.js +21 -21
- package/dist/Incentives/PointsIncentive.js.map +1 -1
- package/dist/{SimpleDenyList-DMlUkmAn.cjs → SimpleDenyList-BwfNjRsg.cjs} +2 -2
- package/dist/SimpleDenyList-BwfNjRsg.cjs.map +1 -0
- package/dist/{SimpleDenyList-DvUvmOeE.js → SimpleDenyList-D9i4rw_F.js} +9 -9
- package/dist/SimpleDenyList-D9i4rw_F.js.map +1 -0
- package/dist/Validators/SignerValidator.cjs +1 -1
- package/dist/Validators/SignerValidator.cjs.map +1 -1
- package/dist/Validators/SignerValidator.d.ts +14 -14
- package/dist/Validators/SignerValidator.js +19 -19
- package/dist/Validators/SignerValidator.js.map +1 -1
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.cjs.map +1 -1
- package/dist/Validators/Validator.d.ts +1 -1
- package/dist/Validators/Validator.js +6 -6
- package/dist/Validators/Validator.js.map +1 -1
- package/dist/claiming.cjs.map +1 -1
- package/dist/claiming.d.ts +1 -1
- package/dist/claiming.js.map +1 -1
- package/dist/componentInterfaces-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 +15 -12
- package/dist/errors.cjs +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts +132 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +122 -36
- package/dist/errors.js.map +1 -1
- package/dist/generated-B0tk-c9b.cjs +3 -0
- package/dist/generated-B0tk-c9b.cjs.map +1 -0
- package/dist/{generated-C_7Jx3YG.js → generated-B8VWObPa.js} +631 -343
- package/dist/generated-B8VWObPa.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +133 -125
- package/dist/transfers.cjs.map +1 -1
- package/dist/transfers.d.ts +1 -1
- package/dist/transfers.js.map +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +5 -5
- package/src/Actions/ContractAction.ts +9 -10
- package/src/Actions/ERC721MintAction.ts +12 -13
- package/src/Actions/EventAction.test.ts +45 -54
- package/src/Actions/EventAction.ts +100 -100
- package/src/AllowLists/SimpleAllowList.ts +5 -5
- package/src/AllowLists/SimpleDenyList.ts +6 -6
- package/src/Boost.ts +19 -0
- package/src/BoostCore.test.ts +117 -1
- package/src/BoostCore.ts +113 -54
- package/src/BoostRegistry.ts +18 -18
- package/src/Budgets/ManagedBudget.ts +18 -18
- package/src/Budgets/VestingBudget.ts +23 -23
- package/src/Deployable/Contract.ts +4 -5
- package/src/Deployable/Deployable.ts +1 -1
- package/src/Deployable/DeployableTarget.ts +5 -5
- package/src/Deployable/DeployableTargetWithRBAC.ts +15 -15
- package/src/Incentives/AllowListIncentive.ts +12 -12
- package/src/Incentives/CGDAIncentive.ts +15 -15
- package/src/Incentives/ERC1155Incentive.ts +26 -26
- package/src/Incentives/ERC20Incentive.ts +23 -23
- package/src/Incentives/ERC20VariableCriteriaIncentive.test.ts +184 -0
- package/src/Incentives/ERC20VariableCriteriaIncentive.ts +309 -0
- package/src/Incentives/ERC20VariableIncentive.ts +19 -19
- package/src/Incentives/Incentive.ts +6 -5
- package/src/Incentives/PointsIncentive.test.ts +21 -21
- package/src/Incentives/PointsIncentive.ts +14 -14
- package/src/Validators/SignerValidator.ts +14 -14
- package/src/Validators/Validator.ts +1 -1
- package/src/claiming.ts +1 -1
- package/src/errors.ts +165 -0
- package/src/index.ts +1 -0
- package/src/transfers.ts +1 -1
- package/src/utils.ts +1 -1
- package/dist/Incentive-DJf-vdyL.js.map +0 -1
- package/dist/Incentive-DNwROd1r.cjs.map +0 -1
- package/dist/SimpleDenyList-DMlUkmAn.cjs.map +0 -1
- package/dist/SimpleDenyList-DvUvmOeE.js.map +0 -1
- package/dist/componentInterfaces-BPVR_Ykd.js +0 -13
- package/dist/componentInterfaces-BPVR_Ykd.js.map +0 -1
- package/dist/componentInterfaces-BfppSIl4.cjs +0 -2
- package/dist/componentInterfaces-BfppSIl4.cjs.map +0 -1
- package/dist/deployments-BvFcK_eR.js +0 -40
- package/dist/deployments-BvFcK_eR.js.map +0 -1
- package/dist/deployments-Ho4PnGCS.cjs +0 -2
- package/dist/deployments-Ho4PnGCS.cjs.map +0 -1
- package/dist/generated-CMQ6ZC2_.cjs +0 -3
- package/dist/generated-CMQ6ZC2_.cjs.map +0 -1
- package/dist/generated-C_7Jx3YG.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedBudget.cjs","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 {*}\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<typeof managedBudgetAbi, 'allocate'>} [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<typeof managedBudgetAbi, 'allocate'>} [params]\n * @returns {Promise<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<typeof managedBudgetAbi, 'clawback'>} [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<typeof managedBudgetAbi, 'clawback'>} [params]\n * @returns {Promise<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<typeof managedBudgetAbi, 'disburse'>} [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<typeof managedBudgetAbi, 'disburse'>} [params]\n * @returns {Promise<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<typeof managedBudgetAbi, 'disburseBatch'>} [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<typeof managedBudgetAbi, 'disburseBatch'>} [params]\n * @returns {Promise<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<typeof managedBudgetAbi, 'owner'>} [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<typeof managedBudgetAbi, 'total'>} [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<typeof managedBudgetAbi, 'available'>} [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<typeof managedBudgetAbi, 'distributed'>} [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 {*}\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
|
+
{"version":3,"file":"ManagedBudget.cjs","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":"+s2BAkGY,IAAAA,GAAAA,IAEVA,EAAAA,EAAA,QAAU,EAAV,EAAA,UAEAA,EAAAA,EAAA,MAAQ,EAAR,EAAA,QAJUA,IAAAA,GAAA,CAAA,CAAA,EA6BL,SAASC,EACdC,EACqC,CACrC,OAAQA,EAAoC,UAAY,MAC1D,CASO,SAASC,EACdD,EACoC,CACpC,OAAQA,EAAoC,UAAY,MAC1D,CAUO,SAASE,EACdF,EACA,CACI,GAAAD,EAAmBC,CAAQ,EAC7B,OAAOG,EAAAA,wBAAwBH,CAAQ,EAErC,GAAAC,EAAyBD,CAAQ,EACnC,OAAOI,EAAAA,uBAAuBJ,CAAQ,EAElC,MAAA,IAAIK,EAAAA,+BAA+BL,CAAQ,CACnD,CAWO,MAAMM,EAAN,MAAMA,UAAsBC,EAAAA,wBAGjC,CAHK,aAAA,CAAA,MAAA,GAAA,SAAA,EAWL,KAAyB,IAAMC,GAAA,CA+B/B,MAAa,SACXR,EACAS,EACA,CACA,OAAO,MAAM,KAAK,YAAY,KAAK,YAAYT,EAAUS,CAAM,CAAC,CAClE,CAaA,MAAa,YACXT,EACAS,EACA,CACA,KAAM,CAAE,QAAAC,EAAS,OAAAC,CAAO,EAAI,MAAMC,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACV,EAAgBF,CAAQ,CAAC,EAChC,GAAG,KAAK,wBAAwB,EAEhC,GAAIS,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMI,EAA2B,GAAA,KAAK,QAASH,CAAO,EACpD,OAAAC,EACjB,CAcA,MAAa,SACXX,EACAS,EACA,CACA,OAAO,MAAM,KAAK,YAAY,KAAK,YAAYT,EAAUS,CAAM,CAAC,CAClE,CAcA,MAAa,YACXT,EACAS,EACA,CACA,KAAM,CAAE,QAAAC,EAAS,OAAAC,CAAO,EAAI,MAAMG,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACZ,EAAgBF,CAAQ,CAAC,EAChC,GAAG,KAAK,wBAAwB,EAEhC,GAAIS,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMM,EAA2B,GAAA,KAAK,QAASL,CAAO,EACpD,OAAAC,EACjB,CAYA,MAAa,SACXX,EACAS,EACA,CACA,OAAO,MAAM,KAAK,YAAY,KAAK,YAAYT,EAAUS,CAAM,CAAC,CAClE,CAYA,MAAa,YACXT,EACAS,EACA,CACA,KAAM,CAAE,QAAAC,EAAS,OAAAC,CAAO,EAAI,MAAMK,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACd,EAAgBF,CAAQ,CAAC,EAChC,GAAG,KAAK,wBAAwB,EAEhC,GAAIS,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMQ,EAA2B,GAAA,KAAK,QAASP,CAAO,EACpD,OAAAC,EACjB,CAWA,MAAa,cACXO,EACAT,EACA,CACA,OAAO,MAAM,KAAK,YAAY,KAAK,iBAAiBS,EAAWT,CAAM,CAAC,CACxE,CAWA,MAAa,iBACXS,EACAT,EACA,CACA,KAAM,CAAE,QAAAC,EAAS,OAAAC,CAAO,EAAI,MAAMQ,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACD,EAAU,IAAIhB,CAAe,CAAC,EACrC,GAAG,KAAK,wBAAwB,EAEhC,GAAIO,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMW,EAAgC,GAAA,KAAK,QAASV,CAAO,EACzD,OAAAC,EACjB,CASO,MAAMF,EAAuD,CAC3D,OAAAY,EAAA,GAAuB,KAAK,QAAS,CAC1C,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAAC,EAEP,GAAIZ,CAAA,CACL,CACH,CAYO,MACLa,EAAiBC,cACjBC,EACAf,EACA,CACO,OAAAgB,EAAA,GAAuB,KAAK,QAAS,CAC1C,QAAS,KAAK,mBAAmB,EACjC,KAAMD,EAAU,CAACF,EAAOE,CAAO,EAAI,CAACF,CAAK,EAEzC,GAAIb,CAAA,CACL,CACH,CAYO,UACLa,EAAiBC,cACjBC,EACAf,EACA,CACO,OAAAiB,EAAA,GAA2B,KAAK,QAAS,CAC9C,QAAS,KAAK,mBAAmB,EACjC,KAAMF,EAAU,CAACF,EAAOE,CAAO,EAAI,CAACF,CAAK,EAEzC,GAAIb,CAAA,CACL,CACH,CAYO,YACLa,EAAiBC,cACjBC,EACAf,EACA,CACO,OAAAkB,EAAA,GAA6B,KAAK,QAAS,CAChD,QAAS,KAAK,mBAAmB,EACjC,KAAMH,EAAU,CAACF,EAAOE,CAAO,EAAI,CAACF,CAAK,EAEzC,GAAIb,CAAA,CACL,CACH,CAUgB,gBACdmB,EACAC,EACyB,OACzB,KAAM,CAACC,EAASC,CAAO,EAAI,KAAK,yBAC9BH,EACAC,CAAA,EAEF,GAAI,CAACC,EAAQ,OAASA,EAAQ,QAAUP,EAAAA,YAAa,CACnD,MAAMS,EAAQD,EAAQ,QAClBA,EAAQ,QAAQ,QAChBA,EAAQ,OACNE,EAAA,WAAWF,EAAQ,MAAM,EAAE,SAC3BG,EAAA,KAAK,WAAL,YAAAA,EAAe,QACrB,GAAIF,EACFF,EAAQ,MAAQE,MAEhB,OAAM,IAAIG,EAAoC,mCAElD,CACO,MAAA,CACL,IAAK3B,EAAA,EACL,SAAA4B,EACA,KAAM,CAACC,EAA4BP,CAAO,CAAC,EAC3C,GAAG,KAAK,wBAAwBC,EAAQ,OAAO,CAAA,CAEnD,CACF,EA5TEzB,EAAuB,MAAiC,CACtD,GAAIgC,EAAA,aAAA,EASNhC,EAAuB,aAA6BiC,EAAa,aAAA,OA7B5D,IAAMC,EAANlC,EA0VA,MAAM+B,EAA8B,CAAC,CAC1C,MAAAL,EACA,WAAAS,EACA,MAAAC,CACF,IACSC,EAAA,oBACLC,qBAAmB,CACjB,+BACA,uFAAA,CACD,EACD,CAAC,CAAE,MAAAZ,EAAO,WAAAS,EAAY,MAAAC,EAA0C,CAAA"}
|
|
@@ -77,7 +77,7 @@ export declare function isERC1155TransferPayload(transfer: FungibleTransferPaylo
|
|
|
77
77
|
*
|
|
78
78
|
* @export
|
|
79
79
|
* @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
|
|
80
|
-
* @returns {
|
|
80
|
+
* @returns {Hex}
|
|
81
81
|
* @throws {@link UnknownTransferPayloadSupplied}
|
|
82
82
|
*/
|
|
83
83
|
export declare function prepareTransfer(transfer: FungibleTransferPayload | ERC1155TransferPayload): `0x${string}`;
|
|
@@ -795,7 +795,7 @@ export declare class ManagedBudget extends DeployableTargetWithRBAC<ManagedBudge
|
|
|
795
795
|
* @public
|
|
796
796
|
* @async
|
|
797
797
|
* @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
|
|
798
|
-
* @param {?WriteParams
|
|
798
|
+
* @param {?WriteParams} [params]
|
|
799
799
|
* @returns {Promise<boolean>} - True if the allocation was successful
|
|
800
800
|
*/
|
|
801
801
|
allocate(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof managedBudgetAbi, 'allocate'>): Promise<boolean>;
|
|
@@ -807,8 +807,8 @@ export declare class ManagedBudget extends DeployableTargetWithRBAC<ManagedBudge
|
|
|
807
807
|
* @public
|
|
808
808
|
* @async
|
|
809
809
|
* @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
|
|
810
|
-
* @param {?WriteParams
|
|
811
|
-
* @returns {Promise<boolean>} - True if the allocation was successful
|
|
810
|
+
* @param {?WriteParams} [params]
|
|
811
|
+
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the allocation was successful
|
|
812
812
|
*/
|
|
813
813
|
allocateRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof managedBudgetAbi, 'allocate'>): Promise<{
|
|
814
814
|
hash: `0x${string}`;
|
|
@@ -823,7 +823,7 @@ export declare class ManagedBudget extends DeployableTargetWithRBAC<ManagedBudge
|
|
|
823
823
|
* @public
|
|
824
824
|
* @async
|
|
825
825
|
* @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
|
|
826
|
-
* @param {?WriteParams
|
|
826
|
+
* @param {?WriteParams} [params]
|
|
827
827
|
* @returns {Promise<boolean>} - True if the request was successful
|
|
828
828
|
*/
|
|
829
829
|
clawback(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof managedBudgetAbi, 'clawback'>): Promise<boolean>;
|
|
@@ -836,8 +836,8 @@ export declare class ManagedBudget extends DeployableTargetWithRBAC<ManagedBudge
|
|
|
836
836
|
* @public
|
|
837
837
|
* @async
|
|
838
838
|
* @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
|
|
839
|
-
* @param {?WriteParams
|
|
840
|
-
* @returns {Promise<boolean>} - True if the request was successful
|
|
839
|
+
* @param {?WriteParams} [params]
|
|
840
|
+
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the request was successful
|
|
841
841
|
*/
|
|
842
842
|
clawbackRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof managedBudgetAbi, 'clawback'>): Promise<{
|
|
843
843
|
hash: `0x${string}`;
|
|
@@ -850,7 +850,7 @@ export declare class ManagedBudget extends DeployableTargetWithRBAC<ManagedBudge
|
|
|
850
850
|
* @public
|
|
851
851
|
* @async
|
|
852
852
|
* @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
|
|
853
|
-
* @param {?WriteParams
|
|
853
|
+
* @param {?WriteParams} [params]
|
|
854
854
|
* @returns {Promise<boolean>} - True if the disbursement was successful
|
|
855
855
|
*/
|
|
856
856
|
disburse(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof managedBudgetAbi, 'disburse'>): Promise<boolean>;
|
|
@@ -861,8 +861,8 @@ export declare class ManagedBudget extends DeployableTargetWithRBAC<ManagedBudge
|
|
|
861
861
|
* @public
|
|
862
862
|
* @async
|
|
863
863
|
* @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
|
|
864
|
-
* @param {?WriteParams
|
|
865
|
-
* @returns {Promise<boolean>} - True if the disbursement was successful
|
|
864
|
+
* @param {?WriteParams} [params]
|
|
865
|
+
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the disbursement was successful
|
|
866
866
|
*/
|
|
867
867
|
disburseRaw(transfer: FungibleTransferPayload | ERC1155TransferPayload, params?: WriteParams<typeof managedBudgetAbi, 'disburse'>): Promise<{
|
|
868
868
|
hash: `0x${string}`;
|
|
@@ -874,7 +874,7 @@ export declare class ManagedBudget extends DeployableTargetWithRBAC<ManagedBudge
|
|
|
874
874
|
* @public
|
|
875
875
|
* @async
|
|
876
876
|
* @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers
|
|
877
|
-
* @param {?WriteParams
|
|
877
|
+
* @param {?WriteParams} [params]
|
|
878
878
|
* @returns {Promise<boolean>} - True if all disbursements were successful
|
|
879
879
|
*/
|
|
880
880
|
disburseBatch(transfers: Array<FungibleTransferPayload | ERC1155TransferPayload>, params?: WriteParams<typeof managedBudgetAbi, 'disburseBatch'>): Promise<boolean>;
|
|
@@ -884,8 +884,8 @@ export declare class ManagedBudget extends DeployableTargetWithRBAC<ManagedBudge
|
|
|
884
884
|
* @public
|
|
885
885
|
* @async
|
|
886
886
|
* @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers
|
|
887
|
-
* @param {?WriteParams
|
|
888
|
-
* @returns {Promise<boolean>} - True if all disbursements were successful
|
|
887
|
+
* @param {?WriteParams} [params]
|
|
888
|
+
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if all disbursements were successful
|
|
889
889
|
*/
|
|
890
890
|
disburseBatchRaw(transfers: Array<FungibleTransferPayload | ERC1155TransferPayload>, params?: WriteParams<typeof managedBudgetAbi, 'disburseBatch'>): Promise<{
|
|
891
891
|
hash: `0x${string}`;
|
|
@@ -895,7 +895,7 @@ export declare class ManagedBudget extends DeployableTargetWithRBAC<ManagedBudge
|
|
|
895
895
|
* Get the owner of the budget
|
|
896
896
|
*
|
|
897
897
|
* @public
|
|
898
|
-
* @param {?ReadParams
|
|
898
|
+
* @param {?ReadParams} [params]
|
|
899
899
|
* @returns {Promise<Address>}
|
|
900
900
|
*/
|
|
901
901
|
owner(params?: ReadParams<typeof managedBudgetAbi, 'owner'>): Promise<`0x${string}`>;
|
|
@@ -906,7 +906,7 @@ export declare class ManagedBudget extends DeployableTargetWithRBAC<ManagedBudge
|
|
|
906
906
|
* @public
|
|
907
907
|
* @param {Address} [asset="0x0000000000000000000000000000000000000000"] - The address of the asset
|
|
908
908
|
* @param {?(bigint | undefined)} [tokenId] - The ID of the token
|
|
909
|
-
* @param {?ReadParams
|
|
909
|
+
* @param {?ReadParams} [params]
|
|
910
910
|
* @returns {Promise<bigint>} - The total amount of assets
|
|
911
911
|
*/
|
|
912
912
|
total(asset?: Address, tokenId?: bigint | undefined, params?: ReadParams<typeof managedBudgetAbi, 'total'>): Promise<never>;
|
|
@@ -917,7 +917,7 @@ export declare class ManagedBudget extends DeployableTargetWithRBAC<ManagedBudge
|
|
|
917
917
|
* @public
|
|
918
918
|
* @param {Address} [asset="0x0000000000000000000000000000000000000000"]
|
|
919
919
|
* @param {?(bigint | undefined)} [tokenId]
|
|
920
|
-
* @param {?ReadParams
|
|
920
|
+
* @param {?ReadParams} [params]
|
|
921
921
|
* @returns {Promise<bigint>} - The amount of assets available
|
|
922
922
|
*/
|
|
923
923
|
available(asset?: Address, tokenId?: bigint | undefined, params?: ReadParams<typeof managedBudgetAbi, 'available'>): Promise<never>;
|
|
@@ -928,7 +928,7 @@ export declare class ManagedBudget extends DeployableTargetWithRBAC<ManagedBudge
|
|
|
928
928
|
* @public
|
|
929
929
|
* @param {Address} [asset="0x0000000000000000000000000000000000000000"]
|
|
930
930
|
* @param {?(bigint | undefined)} [tokenId]
|
|
931
|
-
* @param {?ReadParams
|
|
931
|
+
* @param {?ReadParams} [params]
|
|
932
932
|
* @returns {Promise<bigint>} - The amount of assets distributed
|
|
933
933
|
*/
|
|
934
934
|
distributed(asset?: Address, tokenId?: bigint | undefined, params?: ReadParams<typeof managedBudgetAbi, 'distributed'>): Promise<never>;
|
|
@@ -949,7 +949,7 @@ export declare class ManagedBudget extends DeployableTargetWithRBAC<ManagedBudge
|
|
|
949
949
|
* @param {Address} param0.owner - The budget's owner
|
|
950
950
|
* @param {{}} param0.authorized - List of accounts authorized to use the budget. This list should include a Boost core address to interact with the protocol.
|
|
951
951
|
* @param {{}} param0.roles - List of roles to assign to the corresponding account by index.
|
|
952
|
-
* @returns {
|
|
952
|
+
* @returns {Hex}
|
|
953
953
|
*/
|
|
954
954
|
export declare const prepareManagedBudgetPayload: ({ owner, authorized, roles, }: ManagedBudgetPayload) => `0x${string}`;
|
|
955
955
|
//# sourceMappingURL=ManagedBudget.d.ts.map
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { l as n,
|
|
2
|
-
import { getAccount as
|
|
3
|
-
import { zeroAddress as s, encodeAbiParameters as
|
|
4
|
-
import { M as
|
|
5
|
-
import { DeployableTargetWithRBAC as
|
|
6
|
-
import { DeployableUnknownOwnerProvidedError as
|
|
7
|
-
import { prepareFungibleTransfer as
|
|
8
|
-
import { RegistryType as
|
|
9
|
-
const C = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6134f9806100bd5f395ff3fe608060405260043610610207575f3560e01c806361400c9911610117578063ec87621c1161009f578063f8724aba1161006e578063f8724aba1461076e578063f9a802c3146107aa578063fa4ca9b1146107e6578063fe9fbb8014610822578063fee81cf41461085e5761020e565b8063ec87621c146106d0578063f04e283e146106fa578063f23a6e6114610716578063f2fde38b146107525761020e565b806380fd6005116100e657806380fd6005146105de5780638da5cb5b14610606578063bc197c8114610630578063d2514e841461066c578063e6670829146106a85761020e565b806361400c9914610532578063715018a61461056e57806375b238fc14610578578063774c33ab146105a25761020e565b80634359d28a1161019a5780634a4ee7b1116101695780634a4ee7b114610464578063514e62fc1461048057806354d1f13d146104bc578063578bcf35146104c65780635aef467a146105025761020e565b80634359d28a1461039c578063439fab91146103c4578063451cc191146103ec578063474f5a44146104285761020e565b80631cd64df4116101d65780631cd64df4146102f0578063256929621461032c57806328d6183b146103365780632de94807146103605761020e565b806301ffc9a71461024057806310098ad51461027c578063183a4f6e146102b85780631c10893f146102d45761020e565b3661020e57005b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b34801561024b575f80fd5b50610266600480360381019061026191906124e2565b61089a565b6040516102739190612527565b60405180910390f35b348015610287575f80fd5b506102a2600480360381019061029d919061259a565b6109e3565b6040516102af91906125dd565b60405180910390f35b6102d260048036038101906102cd9190612620565b610a4e565b005b6102ee60048036038101906102e9919061264b565b610a5b565b005b3480156102fb575f80fd5b506103166004803603810190610311919061264b565b610a71565b6040516103239190612527565b60405180910390f35b610334610a87565b005b348015610341575f80fd5b5061034a610ad8565b6040516103579190612698565b60405180910390f35b34801561036b575f80fd5b506103866004803603810190610381919061259a565b610aff565b60405161039391906125dd565b60405180910390f35b3480156103a7575f80fd5b506103c260048036038101906103bd9190612767565b610b18565b005b3480156103cf575f80fd5b506103ea60048036038101906103e5919061283a565b610c26565b005b3480156103f7575f80fd5b50610412600480360381019061040d919061283a565b610d1e565b60405161041f91906125dd565b60405180910390f35b348015610433575f80fd5b5061044e6004803603810190610449919061283a565b610d25565b60405161045b9190612527565b60405180910390f35b61047e6004803603810190610479919061264b565b610f0f565b005b34801561048b575f80fd5b506104a660048036038101906104a1919061264b565b610f25565b6040516104b39190612527565b60405180910390f35b6104c4610f3c565b005b3480156104d1575f80fd5b506104ec60048036038101906104e7919061259a565b610f75565b6040516104f991906125dd565b60405180910390f35b61051c6004803603810190610517919061283a565b610fba565b6040516105299190612527565b60405180910390f35b34801561053d575f80fd5b50610558600480360381019061055391906128da565b61132a565b6040516105659190612527565b60405180910390f35b61057661138e565b005b348015610583575f80fd5b5061058c6113a1565b60405161059991906125dd565b60405180910390f35b3480156105ad575f80fd5b506105c860048036038101906105c3919061264b565b6113a6565b6040516105d591906125dd565b60405180910390f35b3480156105e9575f80fd5b5061060460048036038101906105ff919061297a565b6113fc565b005b348015610611575f80fd5b5061061a6114b2565b6040516106279190612a07565b60405180910390f35b34801561063b575f80fd5b5061065660048036038101906106519190612a20565b6114da565b6040516106639190612698565b60405180910390f35b348015610677575f80fd5b50610692600480360381019061068d919061259a565b6114f1565b60405161069f91906125dd565b60405180910390f35b3480156106b3575f80fd5b506106ce60048036038101906106c9919061297a565b611549565b005b3480156106db575f80fd5b506106e46115ff565b6040516106f191906125dd565b60405180910390f35b610714600480360381019061070f919061259a565b611604565b005b348015610721575f80fd5b5061073c60048036038101906107379190612af7565b611642565b6040516107499190612698565b60405180910390f35b61076c6004803603810190610767919061259a565b611657565b005b348015610779575f80fd5b50610794600480360381019061078f919061264b565b611680565b6040516107a191906125dd565b60405180910390f35b3480156107b5575f80fd5b506107d060048036038101906107cb919061264b565b611702565b6040516107dd91906125dd565b60405180910390f35b3480156107f1575f80fd5b5061080c6004803603810190610807919061283a565b6117db565b6040516108199190612527565b60405180910390f35b34801561082d575f80fd5b506108486004803603810190610843919061259a565b611a87565b6040516108559190612527565b60405180910390f35b348015610869575f80fd5b50610884600480360381019061087f919061259a565b611ada565b60405161089191906125dd565b60405180910390f35b5f7f5fbfaa4e000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061096457507f4e2312e0000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109cc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109dc57506109db82611af3565b5b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610a4557610a40308373ffffffffffffffffffffffffffffffffffffffff16611b6c90919063ffffffff16565b610a47565b475b9050919050565b610a583382611b9f565b50565b610a63611bae565b610a6d8282611be5565b5050565b5f8182610a7d85610aff565b1614905092915050565b5f610a90611bf5565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f5fbfaa4e00000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b6002610b2381611bff565b828290508585905014610b62576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610c1e575f848483818110610b8357610b82612b8d565b5b9050602002016020810190610b989190612be4565b90506001151581151503610bdd57610bd8878784818110610bbc57610bbb612b8d565b5b9050602002016020810190610bd1919061259a565b6001611be5565b610c10565b610c0f878784818110610bf357610bf2612b8d565b5b9050602002016020810190610c08919061259a565b6001611b9f565b5b508080600101915050610b64565b505050505050565b5f610c2f611c34565b90508054600382558015610c615760018160011c14303b10610c585763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610c729190612eb8565b9050610c80815f0151611c5d565b5f5b816020015151811015610ce257610cd582602001518281518110610ca957610ca8612b8d565b5b602002602001015183604001518381518110610cc857610cc7612b8d565b5b6020026020010151611d33565b8080600101915050610c82565b50508015610d19576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f92915050565b5f6002610d3181611bff565b5f8484810190610d419190613063565b90505f6002811115610d5657610d556130aa565b5b815f01516002811115610d6c57610d6b6130aa565b5b1480610d9f575060016002811115610d8757610d866130aa565b5b815f01516002811115610d9d57610d9c6130aa565b5b145b15610df8575f8160600151806020019051810190610dbd9190613124565b9050610df2826020015183604001515f845f015114610ddf57835f0151610ded565b610dec85602001516109e3565b5b611d74565b50610f02565b600280811115610e0b57610e0a6130aa565b5b815f01516002811115610e2157610e206130aa565b5b03610ef8575f8160600151806020019051810190610e3f9190613248565b9050610ef282602001518360400151835f01515f856020015114610e67578460200151610ee8565b856020015173ffffffffffffffffffffffffffffffffffffffff1662fdd58e30875f01516040518363ffffffff1660e01b8152600401610ea892919061328f565b602060405180830381865afa158015610ec3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee791906132b6565b5b8560400151611f8c565b50610f01565b5f925050610f08565b5b60019250505b5092915050565b610f17611bae565b610f218282611b9f565b5050565b5f8082610f3185610aff565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f808383810190610fcb9190613063565b90505f6002811115610fe057610fdf6130aa565b5b815f01516002811115610ff657610ff56130aa565b5b0361106c575f81606001518060200190518101906110149190613124565b9050805f01513414611066578160200151815f01516040517fcece04c500000000000000000000000000000000000000000000000000000000815260040161105d92919061328f565b60405180910390fd5b5061131e565b600160028111156110805761107f6130aa565b5b815f01516002811115611096576110956130aa565b5b03611171575f81606001518060200190518101906110b49190613124565b90506110ee826040015130835f0151856020015173ffffffffffffffffffffffffffffffffffffffff166121b8909392919063ffffffff16565b805f015161111f30846020015173ffffffffffffffffffffffffffffffffffffffff16611b6c90919063ffffffff16565b101561116b578160200151815f01516040517fcece04c500000000000000000000000000000000000000000000000000000000815260040161116292919061328f565b60405180910390fd5b5061131d565b600280811115611184576111836130aa565b5b815f0151600281111561119a576111996130aa565b5b03611313575f81606001518060200190518101906111b89190613248565b9050816020015173ffffffffffffffffffffffffffffffffffffffff1663f242432a836040015130845f0151856020015186604001516040518663ffffffff1660e01b815260040161120e959493929190613333565b5f604051808303815f87803b158015611225575f80fd5b505af1158015611237573d5f803e3d5ffd5b505050508060200151826020015173ffffffffffffffffffffffffffffffffffffffff1662fdd58e30845f01516040518363ffffffff1660e01b815260040161128192919061328f565b602060405180830381865afa15801561129c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c091906132b6565b101561130d57816020015181602001516040517fcece04c500000000000000000000000000000000000000000000000000000000815260040161130492919061328f565b60405180910390fd5b5061131c565b5f915050611324565b5b5b60019150505b92915050565b5f805f90505b838390508110156113825761136884848381811061135157611350612b8d565b5b90506020028101906113639190613397565b6117db565b611375575f915050611388565b8080600101915050611330565b50600190505b92915050565b611396611bae565b61139f5f612212565b565b600281565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b600261140781611bff565b828290508585905014611446576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156114aa5761149d86868381811061146957611468612b8d565b5b905060200201602081019061147e919061259a565b85858481811061149157611490612b8d565b5b90506020020135611b9f565b8080600101915050611448565b505050505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b5f63bc197c8160e01b905098975050505050505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611538836109e3565b6115429190613426565b9050919050565b600261155481611bff565b828290508585905014611593576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156115f7576115ea8686838181106115b6576115b5612b8d565b5b90506020020160208101906115cb919061259a565b8585848181106115de576115dd612b8d565b5b90506020020135611be5565b8080600101915050611595565b505050505050565b600181565b61160c611bae565b63389a75e1600c52805f526020600c20805442111561163257636f5e88185f526004601cfd5b5f81555061163f81612212565b50565b5f63f23a6e6160e01b90509695505050505050565b61165f611bae565b8060601b61167457637448fbae5f526004601cfd5b61167d81612212565b50565b5f8273ffffffffffffffffffffffffffffffffffffffff1662fdd58e30846040518363ffffffff1660e01b81526004016116bb92919061328f565b602060405180830381865afa1580156116d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116fa91906132b6565b905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20548373ffffffffffffffffffffffffffffffffffffffff1662fdd58e30856040518363ffffffff1660e01b815260040161178a92919061328f565b602060405180830381865afa1580156117a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c991906132b6565b6117d39190613426565b905092915050565b5f6117e533611a87565b61181b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838381019061182b9190613063565b905060016002811115611841576118406130aa565b5b815f01516002811115611857576118566130aa565b5b148061188957505f6002811115611871576118706130aa565b5b815f01516002811115611887576118866130aa565b5b145b15611929575f81606001518060200190518101906118a79190613124565b90505f6118b783602001516109e3565b905080825f0151111561190c57826020015181835f01516040517f5c54305e00000000000000000000000000000000000000000000000000000000815260040161190393929190613459565b60405180910390fd5b61192283602001518460400151845f0151611d74565b5050611a7b565b60028081111561193c5761193b6130aa565b5b815f01516002811115611952576119516130aa565b5b03611a71575f81606001518060200190518101906119709190613248565b90505f826020015173ffffffffffffffffffffffffffffffffffffffff1662fdd58e30845f01516040518363ffffffff1660e01b81526004016119b492919061328f565b602060405180830381865afa1580156119cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f391906132b6565b90508082602001511115611a4a5782602001518183602001516040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401611a4193929190613459565b60405180910390fd5b611a6a83602001518460400151845f015185602001518660400151611f8c565b5050611a7a565b5f915050611a81565b5b60019150505b92915050565b5f8173ffffffffffffffffffffffffffffffffffffffff16611aa76114b2565b73ffffffffffffffffffffffffffffffffffffffff161480611ad35750611ad2826002600117610f25565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f579cba44000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611b655750611b64826122d8565b5b9050919050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b611baa82825f612351565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611be3576382b429005f526004601cfd5b565b611bf182826001612351565b5050565b5f6202a300905090565b638b78c6d819543314611c3157638b78c6d8600c52335f52806020600c205416611c30576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611c656123a9565b15611cdd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415611c9f57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350611d30565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b3068929eee149b4bd212685403611d925763ab143c065f526004601cfd5b3068929eee149b4bd21268555f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e12578282826040517fbf182be8000000000000000000000000000000000000000000000000000000008152600401611e099392919061348e565b60405180910390fd5b611e1b836109e3565b811115611e6b5782611e2c846109e3565b826040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401611e6293929190613459565b60405180910390fd5b805f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611eb69190613426565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611eff57611efa82826123ad565b611f2b565b611f2a82828573ffffffffffffffffffffffffffffffffffffffff166123ca9092919063ffffffff16565b5b8273ffffffffffffffffffffffffffffffffffffffff167fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd435428383604051611f7392919061328f565b60405180910390a23868929eee149b4bd2126855505050565b3068929eee149b4bd212685403611faa5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361202a578484836040517fbf182be80000000000000000000000000000000000000000000000000000000081526004016120219392919061348e565b60405180910390fd5b6120348584611680565b82111561208557846120468685611680565b836040517f5c54305e00000000000000000000000000000000000000000000000000000000815260040161207c93929190613459565b60405180910390fd5b8160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f8282546120e09190613426565b925050819055508473ffffffffffffffffffffffffffffffffffffffff1663f242432a30868686866040518663ffffffff1660e01b8152600401612128959493929190613333565b5f604051808303815f87803b15801561213f575f80fd5b505af1158015612151573d5f803e3d5ffd5b505050508473ffffffffffffffffffffffffffffffffffffffff167fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd43542858460405161219d92919061328f565b60405180910390a23868929eee149b4bd21268555050505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af13d1560015f5114171661220357637939f4245f526004601cfd5b5f606052806040525050505050565b61221a6123a9565b1561227f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b82178155506122d5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061234a575061234982612413565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361237357848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f385f3884865af16123c65763b12d13eb5f526004601cfd5b5050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f5114171661240a576390b8ec185f526004601cfd5b5f603452505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124c18161248d565b81146124cb575f80fd5b50565b5f813590506124dc816124b8565b92915050565b5f602082840312156124f7576124f6612485565b5b5f612504848285016124ce565b91505092915050565b5f8115159050919050565b6125218161250d565b82525050565b5f60208201905061253a5f830184612518565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61256982612540565b9050919050565b6125798161255f565b8114612583575f80fd5b50565b5f8135905061259481612570565b92915050565b5f602082840312156125af576125ae612485565b5b5f6125bc84828501612586565b91505092915050565b5f819050919050565b6125d7816125c5565b82525050565b5f6020820190506125f05f8301846125ce565b92915050565b6125ff816125c5565b8114612609575f80fd5b50565b5f8135905061261a816125f6565b92915050565b5f6020828403121561263557612634612485565b5b5f6126428482850161260c565b91505092915050565b5f806040838503121561266157612660612485565b5b5f61266e85828601612586565b925050602061267f8582860161260c565b9150509250929050565b6126928161248d565b82525050565b5f6020820190506126ab5f830184612689565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126126d2576126d16126b1565b5b8235905067ffffffffffffffff8111156126ef576126ee6126b5565b5b60208301915083602082028301111561270b5761270a6126b9565b5b9250929050565b5f8083601f840112612727576127266126b1565b5b8235905067ffffffffffffffff811115612744576127436126b5565b5b6020830191508360208202830111156127605761275f6126b9565b5b9250929050565b5f805f806040858703121561277f5761277e612485565b5b5f85013567ffffffffffffffff81111561279c5761279b612489565b5b6127a8878288016126bd565b9450945050602085013567ffffffffffffffff8111156127cb576127ca612489565b5b6127d787828801612712565b925092505092959194509250565b5f8083601f8401126127fa576127f96126b1565b5b8235905067ffffffffffffffff811115612817576128166126b5565b5b602083019150836001820283011115612833576128326126b9565b5b9250929050565b5f80602083850312156128505761284f612485565b5b5f83013567ffffffffffffffff81111561286d5761286c612489565b5b612879858286016127e5565b92509250509250929050565b5f8083601f84011261289a576128996126b1565b5b8235905067ffffffffffffffff8111156128b7576128b66126b5565b5b6020830191508360208202830111156128d3576128d26126b9565b5b9250929050565b5f80602083850312156128f0576128ef612485565b5b5f83013567ffffffffffffffff81111561290d5761290c612489565b5b61291985828601612885565b92509250509250929050565b5f8083601f84011261293a576129396126b1565b5b8235905067ffffffffffffffff811115612957576129566126b5565b5b602083019150836020820283011115612973576129726126b9565b5b9250929050565b5f805f806040858703121561299257612991612485565b5b5f85013567ffffffffffffffff8111156129af576129ae612489565b5b6129bb878288016126bd565b9450945050602085013567ffffffffffffffff8111156129de576129dd612489565b5b6129ea87828801612925565b925092505092959194509250565b612a018161255f565b82525050565b5f602082019050612a1a5f8301846129f8565b92915050565b5f805f805f805f8060a0898b031215612a3c57612a3b612485565b5b5f612a498b828c01612586565b9850506020612a5a8b828c01612586565b975050604089013567ffffffffffffffff811115612a7b57612a7a612489565b5b612a878b828c01612925565b9650965050606089013567ffffffffffffffff811115612aaa57612aa9612489565b5b612ab68b828c01612925565b9450945050608089013567ffffffffffffffff811115612ad957612ad8612489565b5b612ae58b828c016127e5565b92509250509295985092959890939650565b5f805f805f8060a08789031215612b1157612b10612485565b5b5f612b1e89828a01612586565b9650506020612b2f89828a01612586565b9550506040612b4089828a0161260c565b9450506060612b5189828a0161260c565b935050608087013567ffffffffffffffff811115612b7257612b71612489565b5b612b7e89828a016127e5565b92509250509295509295509295565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b612bc38161250d565b8114612bcd575f80fd5b50565b5f81359050612bde81612bba565b92915050565b5f60208284031215612bf957612bf8612485565b5b5f612c0684828501612bd0565b91505092915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612c5982612c13565b810181811067ffffffffffffffff82111715612c7857612c77612c23565b5b80604052505050565b5f612c8a61247c565b9050612c968282612c50565b919050565b5f80fd5b5f67ffffffffffffffff821115612cb957612cb8612c23565b5b602082029050602081019050919050565b5f612cdc612cd784612c9f565b612c81565b90508083825260208201905060208402830185811115612cff57612cfe6126b9565b5b835b81811015612d285780612d148882612586565b845260208401935050602081019050612d01565b5050509392505050565b5f82601f830112612d4657612d456126b1565b5b8135612d56848260208601612cca565b91505092915050565b5f67ffffffffffffffff821115612d7957612d78612c23565b5b602082029050602081019050919050565b5f612d9c612d9784612d5f565b612c81565b90508083825260208201905060208402830185811115612dbf57612dbe6126b9565b5b835b81811015612de85780612dd4888261260c565b845260208401935050602081019050612dc1565b5050509392505050565b5f82601f830112612e0657612e056126b1565b5b8135612e16848260208601612d8a565b91505092915050565b5f60608284031215612e3457612e33612c0f565b5b612e3e6060612c81565b90505f612e4d84828501612586565b5f83015250602082013567ffffffffffffffff811115612e7057612e6f612c9b565b5b612e7c84828501612d32565b602083015250604082013567ffffffffffffffff811115612ea057612e9f612c9b565b5b612eac84828501612df2565b60408301525092915050565b5f60208284031215612ecd57612ecc612485565b5b5f82013567ffffffffffffffff811115612eea57612ee9612489565b5b612ef684828501612e1f565b91505092915050565b60038110612f0b575f80fd5b50565b5f81359050612f1c81612eff565b92915050565b5f80fd5b5f67ffffffffffffffff821115612f4057612f3f612c23565b5b612f4982612c13565b9050602081019050919050565b828183375f83830152505050565b5f612f76612f7184612f26565b612c81565b905082815260208101848484011115612f9257612f91612f22565b5b612f9d848285612f56565b509392505050565b5f82601f830112612fb957612fb86126b1565b5b8135612fc9848260208601612f64565b91505092915050565b5f60808284031215612fe757612fe6612c0f565b5b612ff16080612c81565b90505f61300084828501612f0e565b5f83015250602061301384828501612586565b602083015250604061302784828501612586565b604083015250606082013567ffffffffffffffff81111561304b5761304a612c9b565b5b61305784828501612fa5565b60608301525092915050565b5f6020828403121561307857613077612485565b5b5f82013567ffffffffffffffff81111561309557613094612489565b5b6130a184828501612fd2565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f815190506130e5816125f6565b92915050565b5f60208284031215613100576130ff612c0f565b5b61310a6020612c81565b90505f613119848285016130d7565b5f8301525092915050565b5f6020828403121561313957613138612485565b5b5f613146848285016130eb565b91505092915050565b8281835e5f83830152505050565b5f61316f61316a84612f26565b612c81565b90508281526020810184848401111561318b5761318a612f22565b5b61319684828561314f565b509392505050565b5f82601f8301126131b2576131b16126b1565b5b81516131c284826020860161315d565b91505092915050565b5f606082840312156131e0576131df612c0f565b5b6131ea6060612c81565b90505f6131f9848285016130d7565b5f83015250602061320c848285016130d7565b602083015250604082015167ffffffffffffffff8111156132305761322f612c9b565b5b61323c8482850161319e565b60408301525092915050565b5f6020828403121561325d5761325c612485565b5b5f82015167ffffffffffffffff81111561327a57613279612489565b5b613286848285016131cb565b91505092915050565b5f6040820190506132a25f8301856129f8565b6132af60208301846125ce565b9392505050565b5f602082840312156132cb576132ca612485565b5b5f6132d8848285016130d7565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f613305826132e1565b61330f81856132eb565b935061331f81856020860161314f565b61332881612c13565b840191505092915050565b5f60a0820190506133465f8301886129f8565b61335360208301876129f8565b61336060408301866125ce565b61336d60608301856125ce565b818103608083015261337f81846132fb565b90509695505050505050565b5f80fd5b5f80fd5b5f80fd5b5f80833560016020038436030381126133b3576133b261338b565b5b80840192508235915067ffffffffffffffff8211156133d5576133d461338f565b5b6020830192506001820236038313156133f1576133f0613393565b5b509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613430826125c5565b915061343b836125c5565b9250828201905080821115613453576134526133f9565b5b92915050565b5f60608201905061346c5f8301866129f8565b61347960208301856125ce565b61348660408301846125ce565b949350505050565b5f6060820190506134a15f8301866129f8565b6134ae60208301856129f8565b6134bb60408301846125ce565b94935050505056fea264697066735822122002aa387fd160d74375244245e3688cdd2d2c3bbcef136751d0f55672ab7bce1d64736f6c634300081a0033";
|
|
10
|
-
var
|
|
1
|
+
import { l as n, G as h, H as u, J as l, K as w, L as p, N as g, Z as A, P as y, Q as m, S as R, U as I, V as _ } from "../generated-B8VWObPa.js";
|
|
2
|
+
import { getAccount as P } from "@wagmi/core";
|
|
3
|
+
import { zeroAddress as s, encodeAbiParameters as T, parseAbiParameters as V } from "viem";
|
|
4
|
+
import { M as E } from "../deployments-BM42vImE.js";
|
|
5
|
+
import { DeployableTargetWithRBAC as v } from "../Deployable/DeployableTargetWithRBAC.js";
|
|
6
|
+
import { DeployableUnknownOwnerProvidedError as D, UnknownTransferPayloadSupplied as q } from "../errors.js";
|
|
7
|
+
import { prepareFungibleTransfer as C, prepareERC1155Transfer as G } from "../transfers.js";
|
|
8
|
+
import { RegistryType as N } from "../utils.js";
|
|
9
|
+
const k = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6134f9806100bd5f395ff3fe608060405260043610610207575f3560e01c806361400c9911610117578063ec87621c1161009f578063f8724aba1161006e578063f8724aba1461076e578063f9a802c3146107aa578063fa4ca9b1146107e6578063fe9fbb8014610822578063fee81cf41461085e5761020e565b8063ec87621c146106d0578063f04e283e146106fa578063f23a6e6114610716578063f2fde38b146107525761020e565b806380fd6005116100e657806380fd6005146105de5780638da5cb5b14610606578063bc197c8114610630578063d2514e841461066c578063e6670829146106a85761020e565b806361400c9914610532578063715018a61461056e57806375b238fc14610578578063774c33ab146105a25761020e565b80634359d28a1161019a5780634a4ee7b1116101695780634a4ee7b114610464578063514e62fc1461048057806354d1f13d146104bc578063578bcf35146104c65780635aef467a146105025761020e565b80634359d28a1461039c578063439fab91146103c4578063451cc191146103ec578063474f5a44146104285761020e565b80631cd64df4116101d65780631cd64df4146102f0578063256929621461032c57806328d6183b146103365780632de94807146103605761020e565b806301ffc9a71461024057806310098ad51461027c578063183a4f6e146102b85780631c10893f146102d45761020e565b3661020e57005b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b34801561024b575f80fd5b50610266600480360381019061026191906124e2565b61089a565b6040516102739190612527565b60405180910390f35b348015610287575f80fd5b506102a2600480360381019061029d919061259a565b6109e3565b6040516102af91906125dd565b60405180910390f35b6102d260048036038101906102cd9190612620565b610a4e565b005b6102ee60048036038101906102e9919061264b565b610a5b565b005b3480156102fb575f80fd5b506103166004803603810190610311919061264b565b610a71565b6040516103239190612527565b60405180910390f35b610334610a87565b005b348015610341575f80fd5b5061034a610ad8565b6040516103579190612698565b60405180910390f35b34801561036b575f80fd5b506103866004803603810190610381919061259a565b610aff565b60405161039391906125dd565b60405180910390f35b3480156103a7575f80fd5b506103c260048036038101906103bd9190612767565b610b18565b005b3480156103cf575f80fd5b506103ea60048036038101906103e5919061283a565b610c26565b005b3480156103f7575f80fd5b50610412600480360381019061040d919061283a565b610d1e565b60405161041f91906125dd565b60405180910390f35b348015610433575f80fd5b5061044e6004803603810190610449919061283a565b610d25565b60405161045b9190612527565b60405180910390f35b61047e6004803603810190610479919061264b565b610f0f565b005b34801561048b575f80fd5b506104a660048036038101906104a1919061264b565b610f25565b6040516104b39190612527565b60405180910390f35b6104c4610f3c565b005b3480156104d1575f80fd5b506104ec60048036038101906104e7919061259a565b610f75565b6040516104f991906125dd565b60405180910390f35b61051c6004803603810190610517919061283a565b610fba565b6040516105299190612527565b60405180910390f35b34801561053d575f80fd5b50610558600480360381019061055391906128da565b61132a565b6040516105659190612527565b60405180910390f35b61057661138e565b005b348015610583575f80fd5b5061058c6113a1565b60405161059991906125dd565b60405180910390f35b3480156105ad575f80fd5b506105c860048036038101906105c3919061264b565b6113a6565b6040516105d591906125dd565b60405180910390f35b3480156105e9575f80fd5b5061060460048036038101906105ff919061297a565b6113fc565b005b348015610611575f80fd5b5061061a6114b2565b6040516106279190612a07565b60405180910390f35b34801561063b575f80fd5b5061065660048036038101906106519190612a20565b6114da565b6040516106639190612698565b60405180910390f35b348015610677575f80fd5b50610692600480360381019061068d919061259a565b6114f1565b60405161069f91906125dd565b60405180910390f35b3480156106b3575f80fd5b506106ce60048036038101906106c9919061297a565b611549565b005b3480156106db575f80fd5b506106e46115ff565b6040516106f191906125dd565b60405180910390f35b610714600480360381019061070f919061259a565b611604565b005b348015610721575f80fd5b5061073c60048036038101906107379190612af7565b611642565b6040516107499190612698565b60405180910390f35b61076c6004803603810190610767919061259a565b611657565b005b348015610779575f80fd5b50610794600480360381019061078f919061264b565b611680565b6040516107a191906125dd565b60405180910390f35b3480156107b5575f80fd5b506107d060048036038101906107cb919061264b565b611702565b6040516107dd91906125dd565b60405180910390f35b3480156107f1575f80fd5b5061080c6004803603810190610807919061283a565b6117db565b6040516108199190612527565b60405180910390f35b34801561082d575f80fd5b506108486004803603810190610843919061259a565b611a87565b6040516108559190612527565b60405180910390f35b348015610869575f80fd5b50610884600480360381019061087f919061259a565b611ada565b60405161089191906125dd565b60405180910390f35b5f7f5fbfaa4e000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061096457507f4e2312e0000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109cc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109dc57506109db82611af3565b5b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610a4557610a40308373ffffffffffffffffffffffffffffffffffffffff16611b6c90919063ffffffff16565b610a47565b475b9050919050565b610a583382611b9f565b50565b610a63611bae565b610a6d8282611be5565b5050565b5f8182610a7d85610aff565b1614905092915050565b5f610a90611bf5565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f5fbfaa4e00000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b6002610b2381611bff565b828290508585905014610b62576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610c1e575f848483818110610b8357610b82612b8d565b5b9050602002016020810190610b989190612be4565b90506001151581151503610bdd57610bd8878784818110610bbc57610bbb612b8d565b5b9050602002016020810190610bd1919061259a565b6001611be5565b610c10565b610c0f878784818110610bf357610bf2612b8d565b5b9050602002016020810190610c08919061259a565b6001611b9f565b5b508080600101915050610b64565b505050505050565b5f610c2f611c34565b90508054600382558015610c615760018160011c14303b10610c585763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610c729190612eb8565b9050610c80815f0151611c5d565b5f5b816020015151811015610ce257610cd582602001518281518110610ca957610ca8612b8d565b5b602002602001015183604001518381518110610cc857610cc7612b8d565b5b6020026020010151611d33565b8080600101915050610c82565b50508015610d19576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f92915050565b5f6002610d3181611bff565b5f8484810190610d419190613063565b90505f6002811115610d5657610d556130aa565b5b815f01516002811115610d6c57610d6b6130aa565b5b1480610d9f575060016002811115610d8757610d866130aa565b5b815f01516002811115610d9d57610d9c6130aa565b5b145b15610df8575f8160600151806020019051810190610dbd9190613124565b9050610df2826020015183604001515f845f015114610ddf57835f0151610ded565b610dec85602001516109e3565b5b611d74565b50610f02565b600280811115610e0b57610e0a6130aa565b5b815f01516002811115610e2157610e206130aa565b5b03610ef8575f8160600151806020019051810190610e3f9190613248565b9050610ef282602001518360400151835f01515f856020015114610e67578460200151610ee8565b856020015173ffffffffffffffffffffffffffffffffffffffff1662fdd58e30875f01516040518363ffffffff1660e01b8152600401610ea892919061328f565b602060405180830381865afa158015610ec3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee791906132b6565b5b8560400151611f8c565b50610f01565b5f925050610f08565b5b60019250505b5092915050565b610f17611bae565b610f218282611b9f565b5050565b5f8082610f3185610aff565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f808383810190610fcb9190613063565b90505f6002811115610fe057610fdf6130aa565b5b815f01516002811115610ff657610ff56130aa565b5b0361106c575f81606001518060200190518101906110149190613124565b9050805f01513414611066578160200151815f01516040517fcece04c500000000000000000000000000000000000000000000000000000000815260040161105d92919061328f565b60405180910390fd5b5061131e565b600160028111156110805761107f6130aa565b5b815f01516002811115611096576110956130aa565b5b03611171575f81606001518060200190518101906110b49190613124565b90506110ee826040015130835f0151856020015173ffffffffffffffffffffffffffffffffffffffff166121b8909392919063ffffffff16565b805f015161111f30846020015173ffffffffffffffffffffffffffffffffffffffff16611b6c90919063ffffffff16565b101561116b578160200151815f01516040517fcece04c500000000000000000000000000000000000000000000000000000000815260040161116292919061328f565b60405180910390fd5b5061131d565b600280811115611184576111836130aa565b5b815f0151600281111561119a576111996130aa565b5b03611313575f81606001518060200190518101906111b89190613248565b9050816020015173ffffffffffffffffffffffffffffffffffffffff1663f242432a836040015130845f0151856020015186604001516040518663ffffffff1660e01b815260040161120e959493929190613333565b5f604051808303815f87803b158015611225575f80fd5b505af1158015611237573d5f803e3d5ffd5b505050508060200151826020015173ffffffffffffffffffffffffffffffffffffffff1662fdd58e30845f01516040518363ffffffff1660e01b815260040161128192919061328f565b602060405180830381865afa15801561129c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c091906132b6565b101561130d57816020015181602001516040517fcece04c500000000000000000000000000000000000000000000000000000000815260040161130492919061328f565b60405180910390fd5b5061131c565b5f915050611324565b5b5b60019150505b92915050565b5f805f90505b838390508110156113825761136884848381811061135157611350612b8d565b5b90506020028101906113639190613397565b6117db565b611375575f915050611388565b8080600101915050611330565b50600190505b92915050565b611396611bae565b61139f5f612212565b565b600281565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b600261140781611bff565b828290508585905014611446576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156114aa5761149d86868381811061146957611468612b8d565b5b905060200201602081019061147e919061259a565b85858481811061149157611490612b8d565b5b90506020020135611b9f565b8080600101915050611448565b505050505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b5f63bc197c8160e01b905098975050505050505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611538836109e3565b6115429190613426565b9050919050565b600261155481611bff565b828290508585905014611593576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156115f7576115ea8686838181106115b6576115b5612b8d565b5b90506020020160208101906115cb919061259a565b8585848181106115de576115dd612b8d565b5b90506020020135611be5565b8080600101915050611595565b505050505050565b600181565b61160c611bae565b63389a75e1600c52805f526020600c20805442111561163257636f5e88185f526004601cfd5b5f81555061163f81612212565b50565b5f63f23a6e6160e01b90509695505050505050565b61165f611bae565b8060601b61167457637448fbae5f526004601cfd5b61167d81612212565b50565b5f8273ffffffffffffffffffffffffffffffffffffffff1662fdd58e30846040518363ffffffff1660e01b81526004016116bb92919061328f565b602060405180830381865afa1580156116d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116fa91906132b6565b905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20548373ffffffffffffffffffffffffffffffffffffffff1662fdd58e30856040518363ffffffff1660e01b815260040161178a92919061328f565b602060405180830381865afa1580156117a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c991906132b6565b6117d39190613426565b905092915050565b5f6117e533611a87565b61181b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838381019061182b9190613063565b905060016002811115611841576118406130aa565b5b815f01516002811115611857576118566130aa565b5b148061188957505f6002811115611871576118706130aa565b5b815f01516002811115611887576118866130aa565b5b145b15611929575f81606001518060200190518101906118a79190613124565b90505f6118b783602001516109e3565b905080825f0151111561190c57826020015181835f01516040517f5c54305e00000000000000000000000000000000000000000000000000000000815260040161190393929190613459565b60405180910390fd5b61192283602001518460400151845f0151611d74565b5050611a7b565b60028081111561193c5761193b6130aa565b5b815f01516002811115611952576119516130aa565b5b03611a71575f81606001518060200190518101906119709190613248565b90505f826020015173ffffffffffffffffffffffffffffffffffffffff1662fdd58e30845f01516040518363ffffffff1660e01b81526004016119b492919061328f565b602060405180830381865afa1580156119cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f391906132b6565b90508082602001511115611a4a5782602001518183602001516040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401611a4193929190613459565b60405180910390fd5b611a6a83602001518460400151845f015185602001518660400151611f8c565b5050611a7a565b5f915050611a81565b5b60019150505b92915050565b5f8173ffffffffffffffffffffffffffffffffffffffff16611aa76114b2565b73ffffffffffffffffffffffffffffffffffffffff161480611ad35750611ad2826002600117610f25565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f579cba44000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611b655750611b64826122d8565b5b9050919050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b611baa82825f612351565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611be3576382b429005f526004601cfd5b565b611bf182826001612351565b5050565b5f6202a300905090565b638b78c6d819543314611c3157638b78c6d8600c52335f52806020600c205416611c30576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611c656123a9565b15611cdd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415611c9f57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350611d30565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b3068929eee149b4bd212685403611d925763ab143c065f526004601cfd5b3068929eee149b4bd21268555f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e12578282826040517fbf182be8000000000000000000000000000000000000000000000000000000008152600401611e099392919061348e565b60405180910390fd5b611e1b836109e3565b811115611e6b5782611e2c846109e3565b826040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401611e6293929190613459565b60405180910390fd5b805f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611eb69190613426565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611eff57611efa82826123ad565b611f2b565b611f2a82828573ffffffffffffffffffffffffffffffffffffffff166123ca9092919063ffffffff16565b5b8273ffffffffffffffffffffffffffffffffffffffff167fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd435428383604051611f7392919061328f565b60405180910390a23868929eee149b4bd2126855505050565b3068929eee149b4bd212685403611faa5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361202a578484836040517fbf182be80000000000000000000000000000000000000000000000000000000081526004016120219392919061348e565b60405180910390fd5b6120348584611680565b82111561208557846120468685611680565b836040517f5c54305e00000000000000000000000000000000000000000000000000000000815260040161207c93929190613459565b60405180910390fd5b8160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f8282546120e09190613426565b925050819055508473ffffffffffffffffffffffffffffffffffffffff1663f242432a30868686866040518663ffffffff1660e01b8152600401612128959493929190613333565b5f604051808303815f87803b15801561213f575f80fd5b505af1158015612151573d5f803e3d5ffd5b505050508473ffffffffffffffffffffffffffffffffffffffff167fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd43542858460405161219d92919061328f565b60405180910390a23868929eee149b4bd21268555050505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af13d1560015f5114171661220357637939f4245f526004601cfd5b5f606052806040525050505050565b61221a6123a9565b1561227f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b82178155506122d5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061234a575061234982612413565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361237357848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f385f3884865af16123c65763b12d13eb5f526004601cfd5b5050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f5114171661240a576390b8ec185f526004601cfd5b5f603452505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124c18161248d565b81146124cb575f80fd5b50565b5f813590506124dc816124b8565b92915050565b5f602082840312156124f7576124f6612485565b5b5f612504848285016124ce565b91505092915050565b5f8115159050919050565b6125218161250d565b82525050565b5f60208201905061253a5f830184612518565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61256982612540565b9050919050565b6125798161255f565b8114612583575f80fd5b50565b5f8135905061259481612570565b92915050565b5f602082840312156125af576125ae612485565b5b5f6125bc84828501612586565b91505092915050565b5f819050919050565b6125d7816125c5565b82525050565b5f6020820190506125f05f8301846125ce565b92915050565b6125ff816125c5565b8114612609575f80fd5b50565b5f8135905061261a816125f6565b92915050565b5f6020828403121561263557612634612485565b5b5f6126428482850161260c565b91505092915050565b5f806040838503121561266157612660612485565b5b5f61266e85828601612586565b925050602061267f8582860161260c565b9150509250929050565b6126928161248d565b82525050565b5f6020820190506126ab5f830184612689565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126126d2576126d16126b1565b5b8235905067ffffffffffffffff8111156126ef576126ee6126b5565b5b60208301915083602082028301111561270b5761270a6126b9565b5b9250929050565b5f8083601f840112612727576127266126b1565b5b8235905067ffffffffffffffff811115612744576127436126b5565b5b6020830191508360208202830111156127605761275f6126b9565b5b9250929050565b5f805f806040858703121561277f5761277e612485565b5b5f85013567ffffffffffffffff81111561279c5761279b612489565b5b6127a8878288016126bd565b9450945050602085013567ffffffffffffffff8111156127cb576127ca612489565b5b6127d787828801612712565b925092505092959194509250565b5f8083601f8401126127fa576127f96126b1565b5b8235905067ffffffffffffffff811115612817576128166126b5565b5b602083019150836001820283011115612833576128326126b9565b5b9250929050565b5f80602083850312156128505761284f612485565b5b5f83013567ffffffffffffffff81111561286d5761286c612489565b5b612879858286016127e5565b92509250509250929050565b5f8083601f84011261289a576128996126b1565b5b8235905067ffffffffffffffff8111156128b7576128b66126b5565b5b6020830191508360208202830111156128d3576128d26126b9565b5b9250929050565b5f80602083850312156128f0576128ef612485565b5b5f83013567ffffffffffffffff81111561290d5761290c612489565b5b61291985828601612885565b92509250509250929050565b5f8083601f84011261293a576129396126b1565b5b8235905067ffffffffffffffff811115612957576129566126b5565b5b602083019150836020820283011115612973576129726126b9565b5b9250929050565b5f805f806040858703121561299257612991612485565b5b5f85013567ffffffffffffffff8111156129af576129ae612489565b5b6129bb878288016126bd565b9450945050602085013567ffffffffffffffff8111156129de576129dd612489565b5b6129ea87828801612925565b925092505092959194509250565b612a018161255f565b82525050565b5f602082019050612a1a5f8301846129f8565b92915050565b5f805f805f805f8060a0898b031215612a3c57612a3b612485565b5b5f612a498b828c01612586565b9850506020612a5a8b828c01612586565b975050604089013567ffffffffffffffff811115612a7b57612a7a612489565b5b612a878b828c01612925565b9650965050606089013567ffffffffffffffff811115612aaa57612aa9612489565b5b612ab68b828c01612925565b9450945050608089013567ffffffffffffffff811115612ad957612ad8612489565b5b612ae58b828c016127e5565b92509250509295985092959890939650565b5f805f805f8060a08789031215612b1157612b10612485565b5b5f612b1e89828a01612586565b9650506020612b2f89828a01612586565b9550506040612b4089828a0161260c565b9450506060612b5189828a0161260c565b935050608087013567ffffffffffffffff811115612b7257612b71612489565b5b612b7e89828a016127e5565b92509250509295509295509295565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b612bc38161250d565b8114612bcd575f80fd5b50565b5f81359050612bde81612bba565b92915050565b5f60208284031215612bf957612bf8612485565b5b5f612c0684828501612bd0565b91505092915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612c5982612c13565b810181811067ffffffffffffffff82111715612c7857612c77612c23565b5b80604052505050565b5f612c8a61247c565b9050612c968282612c50565b919050565b5f80fd5b5f67ffffffffffffffff821115612cb957612cb8612c23565b5b602082029050602081019050919050565b5f612cdc612cd784612c9f565b612c81565b90508083825260208201905060208402830185811115612cff57612cfe6126b9565b5b835b81811015612d285780612d148882612586565b845260208401935050602081019050612d01565b5050509392505050565b5f82601f830112612d4657612d456126b1565b5b8135612d56848260208601612cca565b91505092915050565b5f67ffffffffffffffff821115612d7957612d78612c23565b5b602082029050602081019050919050565b5f612d9c612d9784612d5f565b612c81565b90508083825260208201905060208402830185811115612dbf57612dbe6126b9565b5b835b81811015612de85780612dd4888261260c565b845260208401935050602081019050612dc1565b5050509392505050565b5f82601f830112612e0657612e056126b1565b5b8135612e16848260208601612d8a565b91505092915050565b5f60608284031215612e3457612e33612c0f565b5b612e3e6060612c81565b90505f612e4d84828501612586565b5f83015250602082013567ffffffffffffffff811115612e7057612e6f612c9b565b5b612e7c84828501612d32565b602083015250604082013567ffffffffffffffff811115612ea057612e9f612c9b565b5b612eac84828501612df2565b60408301525092915050565b5f60208284031215612ecd57612ecc612485565b5b5f82013567ffffffffffffffff811115612eea57612ee9612489565b5b612ef684828501612e1f565b91505092915050565b60038110612f0b575f80fd5b50565b5f81359050612f1c81612eff565b92915050565b5f80fd5b5f67ffffffffffffffff821115612f4057612f3f612c23565b5b612f4982612c13565b9050602081019050919050565b828183375f83830152505050565b5f612f76612f7184612f26565b612c81565b905082815260208101848484011115612f9257612f91612f22565b5b612f9d848285612f56565b509392505050565b5f82601f830112612fb957612fb86126b1565b5b8135612fc9848260208601612f64565b91505092915050565b5f60808284031215612fe757612fe6612c0f565b5b612ff16080612c81565b90505f61300084828501612f0e565b5f83015250602061301384828501612586565b602083015250604061302784828501612586565b604083015250606082013567ffffffffffffffff81111561304b5761304a612c9b565b5b61305784828501612fa5565b60608301525092915050565b5f6020828403121561307857613077612485565b5b5f82013567ffffffffffffffff81111561309557613094612489565b5b6130a184828501612fd2565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f815190506130e5816125f6565b92915050565b5f60208284031215613100576130ff612c0f565b5b61310a6020612c81565b90505f613119848285016130d7565b5f8301525092915050565b5f6020828403121561313957613138612485565b5b5f613146848285016130eb565b91505092915050565b8281835e5f83830152505050565b5f61316f61316a84612f26565b612c81565b90508281526020810184848401111561318b5761318a612f22565b5b61319684828561314f565b509392505050565b5f82601f8301126131b2576131b16126b1565b5b81516131c284826020860161315d565b91505092915050565b5f606082840312156131e0576131df612c0f565b5b6131ea6060612c81565b90505f6131f9848285016130d7565b5f83015250602061320c848285016130d7565b602083015250604082015167ffffffffffffffff8111156132305761322f612c9b565b5b61323c8482850161319e565b60408301525092915050565b5f6020828403121561325d5761325c612485565b5b5f82015167ffffffffffffffff81111561327a57613279612489565b5b613286848285016131cb565b91505092915050565b5f6040820190506132a25f8301856129f8565b6132af60208301846125ce565b9392505050565b5f602082840312156132cb576132ca612485565b5b5f6132d8848285016130d7565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f613305826132e1565b61330f81856132eb565b935061331f81856020860161314f565b61332881612c13565b840191505092915050565b5f60a0820190506133465f8301886129f8565b61335360208301876129f8565b61336060408301866125ce565b61336d60608301856125ce565b818103608083015261337f81846132fb565b90509695505050505050565b5f80fd5b5f80fd5b5f80fd5b5f80833560016020038436030381126133b3576133b261338b565b5b80840192508235915067ffffffffffffffff8211156133d5576133d461338f565b5b6020830192506001820236038313156133f1576133f0613393565b5b509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613430826125c5565b915061343b836125c5565b9250828201905080821115613453576134526133f9565b5b92915050565b5f60608201905061346c5f8301866129f8565b61347960208301856125ce565b61348660408301846125ce565b949350505050565b5f6060820190506134a15f8301866129f8565b6134ae60208301856129f8565b6134bb60408301846125ce565b94935050505056fea264697066735822122002aa387fd160d74375244245e3688cdd2d2c3bbcef136751d0f55672ab7bce1d64736f6c634300081a0033";
|
|
10
|
+
var B = /* @__PURE__ */ ((d) => (d[d.MANAGER = 1n] = "MANAGER", d[d.ADMIN = 2n] = "ADMIN", d))(B || {});
|
|
11
11
|
function M(d) {
|
|
12
12
|
return d.tokenId === void 0;
|
|
13
13
|
}
|
|
14
|
-
function
|
|
14
|
+
function U(d) {
|
|
15
15
|
return d.tokenId !== void 0;
|
|
16
16
|
}
|
|
17
17
|
function t(d) {
|
|
18
18
|
if (M(d))
|
|
19
|
-
return
|
|
20
|
-
if (
|
|
21
|
-
return
|
|
19
|
+
return C(d);
|
|
20
|
+
if (U(d))
|
|
21
|
+
return G(d);
|
|
22
22
|
throw new q(d);
|
|
23
23
|
}
|
|
24
|
-
const r = class r extends
|
|
24
|
+
const r = class r extends v {
|
|
25
25
|
constructor() {
|
|
26
26
|
super(...arguments), this.abi = n;
|
|
27
27
|
}
|
|
@@ -33,7 +33,7 @@ const r = class r extends D {
|
|
|
33
33
|
* @public
|
|
34
34
|
* @async
|
|
35
35
|
* @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
|
|
36
|
-
* @param {?WriteParams
|
|
36
|
+
* @param {?WriteParams} [params]
|
|
37
37
|
* @returns {Promise<boolean>} - True if the allocation was successful
|
|
38
38
|
*/
|
|
39
39
|
async allocate(f, b) {
|
|
@@ -47,8 +47,8 @@ const r = class r extends D {
|
|
|
47
47
|
* @public
|
|
48
48
|
* @async
|
|
49
49
|
* @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
|
|
50
|
-
* @param {?WriteParams
|
|
51
|
-
* @returns {Promise<boolean>} - True if the allocation was successful
|
|
50
|
+
* @param {?WriteParams} [params]
|
|
51
|
+
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the allocation was successful
|
|
52
52
|
*/
|
|
53
53
|
async allocateRaw(f, b) {
|
|
54
54
|
const { request: a, result: e } = await h(
|
|
@@ -72,7 +72,7 @@ const r = class r extends D {
|
|
|
72
72
|
* @public
|
|
73
73
|
* @async
|
|
74
74
|
* @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
|
|
75
|
-
* @param {?WriteParams
|
|
75
|
+
* @param {?WriteParams} [params]
|
|
76
76
|
* @returns {Promise<boolean>} - True if the request was successful
|
|
77
77
|
*/
|
|
78
78
|
async clawback(f, b) {
|
|
@@ -87,8 +87,8 @@ const r = class r extends D {
|
|
|
87
87
|
* @public
|
|
88
88
|
* @async
|
|
89
89
|
* @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
|
|
90
|
-
* @param {?WriteParams
|
|
91
|
-
* @returns {Promise<boolean>} - True if the request was successful
|
|
90
|
+
* @param {?WriteParams} [params]
|
|
91
|
+
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the request was successful
|
|
92
92
|
*/
|
|
93
93
|
async clawbackRaw(f, b) {
|
|
94
94
|
const { request: a, result: e } = await l(
|
|
@@ -110,7 +110,7 @@ const r = class r extends D {
|
|
|
110
110
|
* @public
|
|
111
111
|
* @async
|
|
112
112
|
* @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
|
|
113
|
-
* @param {?WriteParams
|
|
113
|
+
* @param {?WriteParams} [params]
|
|
114
114
|
* @returns {Promise<boolean>} - True if the disbursement was successful
|
|
115
115
|
*/
|
|
116
116
|
async disburse(f, b) {
|
|
@@ -123,11 +123,11 @@ const r = class r extends D {
|
|
|
123
123
|
* @public
|
|
124
124
|
* @async
|
|
125
125
|
* @param {(FungibleTransferPayload | ERC1155TransferPayload)} transfer
|
|
126
|
-
* @param {?WriteParams
|
|
127
|
-
* @returns {Promise<boolean>} - True if the disbursement was successful
|
|
126
|
+
* @param {?WriteParams} [params]
|
|
127
|
+
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the disbursement was successful
|
|
128
128
|
*/
|
|
129
129
|
async disburseRaw(f, b) {
|
|
130
|
-
const { request: a, result: e } = await
|
|
130
|
+
const { request: a, result: e } = await p(
|
|
131
131
|
this._config,
|
|
132
132
|
{
|
|
133
133
|
address: this.assertValidAddress(),
|
|
@@ -137,7 +137,7 @@ const r = class r extends D {
|
|
|
137
137
|
...b
|
|
138
138
|
}
|
|
139
139
|
);
|
|
140
|
-
return { hash: await
|
|
140
|
+
return { hash: await g(this._config, a), result: e };
|
|
141
141
|
}
|
|
142
142
|
/**
|
|
143
143
|
* Disburses assets from the budget to multiple recipients
|
|
@@ -145,7 +145,7 @@ const r = class r extends D {
|
|
|
145
145
|
* @public
|
|
146
146
|
* @async
|
|
147
147
|
* @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers
|
|
148
|
-
* @param {?WriteParams
|
|
148
|
+
* @param {?WriteParams} [params]
|
|
149
149
|
* @returns {Promise<boolean>} - True if all disbursements were successful
|
|
150
150
|
*/
|
|
151
151
|
async disburseBatch(f, b) {
|
|
@@ -157,11 +157,11 @@ const r = class r extends D {
|
|
|
157
157
|
* @public
|
|
158
158
|
* @async
|
|
159
159
|
* @param {Array<FungibleTransferPayload | ERC1155TransferPayload>} transfers
|
|
160
|
-
* @param {?WriteParams
|
|
161
|
-
* @returns {Promise<boolean>} - True if all disbursements were successful
|
|
160
|
+
* @param {?WriteParams} [params]
|
|
161
|
+
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if all disbursements were successful
|
|
162
162
|
*/
|
|
163
163
|
async disburseBatchRaw(f, b) {
|
|
164
|
-
const { request: a, result: e } = await
|
|
164
|
+
const { request: a, result: e } = await A(
|
|
165
165
|
this._config,
|
|
166
166
|
{
|
|
167
167
|
address: this.assertValidAddress(),
|
|
@@ -177,7 +177,7 @@ const r = class r extends D {
|
|
|
177
177
|
* Get the owner of the budget
|
|
178
178
|
*
|
|
179
179
|
* @public
|
|
180
|
-
* @param {?ReadParams
|
|
180
|
+
* @param {?ReadParams} [params]
|
|
181
181
|
* @returns {Promise<Address>}
|
|
182
182
|
*/
|
|
183
183
|
owner(f) {
|
|
@@ -195,7 +195,7 @@ const r = class r extends D {
|
|
|
195
195
|
* @public
|
|
196
196
|
* @param {Address} [asset="0x0000000000000000000000000000000000000000"] - The address of the asset
|
|
197
197
|
* @param {?(bigint | undefined)} [tokenId] - The ID of the token
|
|
198
|
-
* @param {?ReadParams
|
|
198
|
+
* @param {?ReadParams} [params]
|
|
199
199
|
* @returns {Promise<bigint>} - The total amount of assets
|
|
200
200
|
*/
|
|
201
201
|
total(f = s, b, a) {
|
|
@@ -213,11 +213,11 @@ const r = class r extends D {
|
|
|
213
213
|
* @public
|
|
214
214
|
* @param {Address} [asset="0x0000000000000000000000000000000000000000"]
|
|
215
215
|
* @param {?(bigint | undefined)} [tokenId]
|
|
216
|
-
* @param {?ReadParams
|
|
216
|
+
* @param {?ReadParams} [params]
|
|
217
217
|
* @returns {Promise<bigint>} - The amount of assets available
|
|
218
218
|
*/
|
|
219
219
|
available(f = s, b, a) {
|
|
220
|
-
return
|
|
220
|
+
return I(this._config, {
|
|
221
221
|
address: this.assertValidAddress(),
|
|
222
222
|
args: b ? [f, b] : [f],
|
|
223
223
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
@@ -231,11 +231,11 @@ const r = class r extends D {
|
|
|
231
231
|
* @public
|
|
232
232
|
* @param {Address} [asset="0x0000000000000000000000000000000000000000"]
|
|
233
233
|
* @param {?(bigint | undefined)} [tokenId]
|
|
234
|
-
* @param {?ReadParams
|
|
234
|
+
* @param {?ReadParams} [params]
|
|
235
235
|
* @returns {Promise<bigint>} - The amount of assets distributed
|
|
236
236
|
*/
|
|
237
237
|
distributed(f = s, b, a) {
|
|
238
|
-
return
|
|
238
|
+
return _(this._config, {
|
|
239
239
|
address: this.assertValidAddress(),
|
|
240
240
|
args: b ? [f, b] : [f],
|
|
241
241
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
@@ -257,30 +257,30 @@ const r = class r extends D {
|
|
|
257
257
|
b
|
|
258
258
|
);
|
|
259
259
|
if (!a.owner || a.owner === s) {
|
|
260
|
-
const i = e.account ? e.account.address : e.config ?
|
|
260
|
+
const i = e.account ? e.account.address : e.config ? P(e.config).address : (c = this._account) == null ? void 0 : c.address;
|
|
261
261
|
if (i)
|
|
262
262
|
a.owner = i;
|
|
263
263
|
else
|
|
264
|
-
throw new
|
|
264
|
+
throw new D();
|
|
265
265
|
}
|
|
266
266
|
return {
|
|
267
267
|
abi: n,
|
|
268
|
-
bytecode:
|
|
269
|
-
args: [
|
|
268
|
+
bytecode: k,
|
|
269
|
+
args: [x(a)],
|
|
270
270
|
...this.optionallyAttachAccount(e.account)
|
|
271
271
|
};
|
|
272
272
|
}
|
|
273
273
|
};
|
|
274
274
|
r.bases = {
|
|
275
|
-
...
|
|
276
|
-
}, r.registryType =
|
|
275
|
+
...E
|
|
276
|
+
}, r.registryType = N.BUDGET;
|
|
277
277
|
let o = r;
|
|
278
|
-
const
|
|
278
|
+
const x = ({
|
|
279
279
|
owner: d,
|
|
280
280
|
authorized: f,
|
|
281
281
|
roles: b
|
|
282
|
-
}) =>
|
|
283
|
-
|
|
282
|
+
}) => T(
|
|
283
|
+
V([
|
|
284
284
|
"ManagedBudgetPayload payload",
|
|
285
285
|
"struct ManagedBudgetPayload { address owner; address[] authorized; uint256[] roles; }"
|
|
286
286
|
]),
|
|
@@ -288,11 +288,11 @@ const F = ({
|
|
|
288
288
|
);
|
|
289
289
|
export {
|
|
290
290
|
o as ManagedBudget,
|
|
291
|
-
|
|
292
|
-
|
|
291
|
+
B as ManagedBudgetRoles,
|
|
292
|
+
U as isERC1155TransferPayload,
|
|
293
293
|
M as isFungibleTransfer,
|
|
294
294
|
n as managedBudgetAbi,
|
|
295
|
-
|
|
295
|
+
x as prepareManagedBudgetPayload,
|
|
296
296
|
t as prepareTransfer
|
|
297
297
|
};
|
|
298
298
|
//# sourceMappingURL=ManagedBudget.js.map
|