@boostxyz/sdk 0.0.0-alpha.13 → 0.0.0-alpha.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +1 -1
  3. package/dist/Actions/ContractAction.d.ts.map +1 -1
  4. package/dist/Actions/ERC721MintAction.d.ts.map +1 -1
  5. package/dist/Actions/EventAction.cjs +1 -1
  6. package/dist/Actions/EventAction.cjs.map +1 -1
  7. package/dist/Actions/EventAction.d.ts.map +1 -1
  8. package/dist/Actions/EventAction.js +68 -63
  9. package/dist/Actions/EventAction.js.map +1 -1
  10. package/dist/AllowLists/AllowList.cjs +1 -1
  11. package/dist/AllowLists/AllowList.js +2 -2
  12. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  13. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
  14. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -1
  15. package/dist/AllowLists/SimpleAllowList.js +10 -11
  16. package/dist/AllowLists/SimpleAllowList.js.map +1 -1
  17. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  18. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -1
  19. package/dist/AllowLists/SimpleDenyList.js +2 -2
  20. package/dist/Auth/PassthroughAuth.cjs +1 -1
  21. package/dist/Auth/PassthroughAuth.js +1 -1
  22. package/dist/Boost.js +10 -22
  23. package/dist/Boost.js.map +1 -1
  24. package/dist/BoostCore.cjs +2 -2
  25. package/dist/BoostCore.cjs.map +1 -1
  26. package/dist/BoostCore.js +90 -76
  27. package/dist/BoostCore.js.map +1 -1
  28. package/dist/BoostRegistry.cjs +1 -1
  29. package/dist/BoostRegistry.cjs.map +1 -1
  30. package/dist/BoostRegistry.js +12 -12
  31. package/dist/Budgets/Budget.cjs +1 -1
  32. package/dist/Budgets/Budget.js +1 -1
  33. package/dist/Budgets/ManagedBudget.cjs +1 -1
  34. package/dist/Budgets/ManagedBudget.cjs.map +1 -1
  35. package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
  36. package/dist/Budgets/ManagedBudget.js +34 -35
  37. package/dist/Budgets/ManagedBudget.js.map +1 -1
  38. package/dist/Budgets/SimpleBudget.d.ts.map +1 -1
  39. package/dist/Budgets/VestingBudget.d.ts.map +1 -1
  40. package/dist/Deployable/Contract.cjs.map +1 -1
  41. package/dist/Deployable/Contract.js +1 -2
  42. package/dist/Deployable/Contract.js.map +1 -1
  43. package/dist/Deployable/Deployable.cjs.map +1 -1
  44. package/dist/Deployable/Deployable.d.ts.map +1 -1
  45. package/dist/Deployable/Deployable.js +2 -4
  46. package/dist/Deployable/Deployable.js.map +1 -1
  47. package/dist/Deployable/DeployableTarget.cjs +1 -1
  48. package/dist/Deployable/DeployableTarget.cjs.map +1 -1
  49. package/dist/Deployable/DeployableTarget.d.ts +1 -1
  50. package/dist/Deployable/DeployableTarget.d.ts.map +1 -1
  51. package/dist/Deployable/DeployableTarget.js +3 -5
  52. package/dist/Deployable/DeployableTarget.js.map +1 -1
  53. package/dist/Incentive-BroOQqVi.cjs +2 -0
  54. package/dist/Incentive-BroOQqVi.cjs.map +1 -0
  55. package/dist/Incentive-CSnbCt3P.js +299 -0
  56. package/dist/Incentive-CSnbCt3P.js.map +1 -0
  57. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  58. package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
  59. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -1
  60. package/dist/Incentives/AllowListIncentive.js +10 -11
  61. package/dist/Incentives/AllowListIncentive.js.map +1 -1
  62. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  63. package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
  64. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -1
  65. package/dist/Incentives/CGDAIncentive.js +10 -11
  66. package/dist/Incentives/CGDAIncentive.js.map +1 -1
  67. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -1
  68. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  69. package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
  70. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -1
  71. package/dist/Incentives/ERC20Incentive.js +18 -19
  72. package/dist/Incentives/ERC20Incentive.js.map +1 -1
  73. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
  74. package/dist/Incentives/Incentive.cjs +1 -1
  75. package/dist/Incentives/Incentive.cjs.map +1 -1
  76. package/dist/Incentives/Incentive.js +16 -300
  77. package/dist/Incentives/Incentive.js.map +1 -1
  78. package/dist/Incentives/PointsIncentive.cjs +1 -1
  79. package/dist/Incentives/PointsIncentive.cjs.map +1 -1
  80. package/dist/Incentives/PointsIncentive.d.ts.map +1 -1
  81. package/dist/Incentives/PointsIncentive.js +8 -9
  82. package/dist/Incentives/PointsIncentive.js.map +1 -1
  83. package/dist/{SimpleDenyList-DeJRKD2D.cjs → SimpleDenyList-CzNNbmmV.cjs} +2 -2
  84. package/dist/SimpleDenyList-CzNNbmmV.cjs.map +1 -0
  85. package/dist/{SimpleDenyList-C21O9Yfi.js → SimpleDenyList-sfskWLfa.js} +9 -10
  86. package/dist/SimpleDenyList-sfskWLfa.js.map +1 -0
  87. package/dist/Validators/SignerValidator.cjs +1 -1
  88. package/dist/Validators/SignerValidator.cjs.map +1 -1
  89. package/dist/Validators/SignerValidator.d.ts.map +1 -1
  90. package/dist/Validators/SignerValidator.js +15 -16
  91. package/dist/Validators/SignerValidator.js.map +1 -1
  92. package/dist/Validators/Validator.cjs +1 -1
  93. package/dist/Validators/Validator.js +1 -1
  94. package/dist/generated-BulULVyy.cjs +3 -0
  95. package/dist/generated-BulULVyy.cjs.map +1 -0
  96. package/dist/{generated-LpgSHrH0.js → generated-CdXG-MpB.js} +367 -351
  97. package/dist/generated-CdXG-MpB.js.map +1 -0
  98. package/dist/index.cjs +1 -1
  99. package/dist/index.d.ts +3 -0
  100. package/dist/index.d.ts.map +1 -1
  101. package/dist/index.js +96 -84
  102. package/dist/index.js.map +1 -1
  103. package/dist/utils.cjs.map +1 -1
  104. package/dist/utils.js.map +1 -1
  105. package/package.json +6 -6
  106. package/src/Actions/Action.test.ts +4 -4
  107. package/src/Actions/ContractAction.test.ts +4 -4
  108. package/src/Actions/ContractAction.ts +1 -3
  109. package/src/Actions/ERC721MintAction.test.ts +4 -4
  110. package/src/Actions/ERC721MintAction.ts +1 -3
  111. package/src/Actions/EventAction.test.ts +80 -83
  112. package/src/Actions/EventAction.ts +3 -2
  113. package/src/AllowLists/AllowList.test.ts +2 -2
  114. package/src/AllowLists/OpenAllowList.test.ts +3 -3
  115. package/src/AllowLists/SimpleAllowList.test.ts +2 -2
  116. package/src/AllowLists/SimpleAllowList.ts +1 -1
  117. package/src/AllowLists/SimpleDenyList.test.ts +2 -2
  118. package/src/AllowLists/SimpleDenyList.ts +0 -1
  119. package/src/Auth/PassthroughAuth.test.ts +1 -1
  120. package/src/BoostCore.test.ts +10 -12
  121. package/src/Budgets/Budget.test.ts +2 -2
  122. package/src/Budgets/ManagedBudget.test.ts +6 -6
  123. package/src/Budgets/ManagedBudget.ts +0 -1
  124. package/src/Budgets/SimpleBudget.test.ts +5 -5
  125. package/src/Budgets/SimpleBudget.ts +1 -3
  126. package/src/Budgets/VestingBudget.test.ts +4 -4
  127. package/src/Budgets/VestingBudget.ts +1 -3
  128. package/src/Deployable/DeployableTarget.ts +2 -2
  129. package/src/Incentives/AllowListIncentive.test.ts +3 -3
  130. package/src/Incentives/AllowListIncentive.ts +0 -1
  131. package/src/Incentives/CGDAIncentive.test.ts +3 -3
  132. package/src/Incentives/CGDAIncentive.ts +0 -1
  133. package/src/Incentives/ERC1155Incentive.test.ts +3 -3
  134. package/src/Incentives/ERC1155Incentive.ts +1 -3
  135. package/src/Incentives/ERC20Incentive.test.ts +3 -3
  136. package/src/Incentives/ERC20Incentive.ts +0 -1
  137. package/src/Incentives/ERC20VariableIncentive.test.ts +3 -3
  138. package/src/Incentives/ERC20VariableIncentive.ts +0 -1
  139. package/src/Incentives/Incentive.test.ts +1 -1
  140. package/src/Incentives/PointsIncentive.test.ts +4 -4
  141. package/src/Incentives/PointsIncentive.ts +0 -1
  142. package/src/Validators/SignerValidator.test.ts +4 -4
  143. package/src/Validators/SignerValidator.ts +0 -1
  144. package/src/Validators/Validator.test.ts +2 -2
  145. package/src/index.ts +3 -0
  146. package/src/utils.test.ts +2 -2
  147. package/dist/SimpleDenyList-C21O9Yfi.js.map +0 -1
  148. package/dist/SimpleDenyList-DeJRKD2D.cjs.map +0 -1
  149. package/dist/generated-LpgSHrH0.js.map +0 -1
  150. package/dist/generated-tq_HLZJ0.cjs +0 -3
  151. package/dist/generated-tq_HLZJ0.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ManagedBudget.d.ts","sourceRoot":"","sources":["../../src/Budgets/ManagedBudget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ManagedBudget.d.ts","sourceRoot":"","sources":["../../src/Budgets/ManagedBudget.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,27 @@
1
- import { p as o, Y as l, F as u, t as w, n as A, q as g, P as y, s as p, u as R, w as m, J as _, x as V, U as T, y as P, Q as D, B as E, C as q, O as v, E as k, D as C, V as F, G as B, H as z } from "../generated-LpgSHrH0.js";
2
- import { getAccount as N } from "@wagmi/core";
3
- import { zeroAddress as t, encodeAbiParameters as x, parseAbiParameters as G } from "viem";
4
- import { M } from "../deployments-BvFcK_eR.js";
5
- import { DeployableTarget as U } from "../Deployable/DeployableTarget.js";
6
- import { DeployableUnknownOwnerProvidedError as O, UnknownTransferPayloadSupplied as I } from "../errors.js";
7
- import { prepareFungibleTransfer as J, prepareERC1155Transfer as Q } from "../transfers.js";
8
- import { RegistryType as S } from "../utils.js";
9
- const Y = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6134c9806100bd5f395ff3fe608060405260043610610207575f3560e01c806361400c9911610117578063ec87621c1161009f578063f8724aba1161006e578063f8724aba1461076e578063f9a802c3146107aa578063fa4ca9b1146107e6578063fe9fbb8014610822578063fee81cf41461085e5761020e565b8063ec87621c146106d0578063f04e283e146106fa578063f23a6e6114610716578063f2fde38b146107525761020e565b806380fd6005116100e657806380fd6005146105de5780638da5cb5b14610606578063bc197c8114610630578063d2514e841461066c578063e6670829146106a85761020e565b806361400c9914610532578063715018a61461056e57806375b238fc14610578578063774c33ab146105a25761020e565b80634359d28a1161019a5780634a4ee7b1116101695780634a4ee7b114610464578063514e62fc1461048057806354d1f13d146104bc578063578bcf35146104c65780635aef467a146105025761020e565b80634359d28a1461039c578063439fab91146103c4578063451cc191146103ec578063474f5a44146104285761020e565b80631cd64df4116101d65780631cd64df4146102f0578063256929621461032c57806328d6183b146103365780632de94807146103605761020e565b806301ffc9a71461024057806310098ad51461027c578063183a4f6e146102b85780631c10893f146102d45761020e565b3661020e57005b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b34801561024b575f80fd5b50610266600480360381019061026191906124b2565b61089a565b60405161027391906124f7565b60405180910390f35b348015610287575f80fd5b506102a2600480360381019061029d919061256a565b6109e3565b6040516102af91906125ad565b60405180910390f35b6102d260048036038101906102cd91906125f0565b610a4e565b005b6102ee60048036038101906102e9919061261b565b610a5b565b005b3480156102fb575f80fd5b506103166004803603810190610311919061261b565b610a71565b60405161032391906124f7565b60405180910390f35b610334610a87565b005b348015610341575f80fd5b5061034a610ad8565b6040516103579190612668565b60405180910390f35b34801561036b575f80fd5b506103866004803603810190610381919061256a565b610aff565b60405161039391906125ad565b60405180910390f35b3480156103a7575f80fd5b506103c260048036038101906103bd9190612737565b610b18565b005b3480156103cf575f80fd5b506103ea60048036038101906103e5919061280a565b610c26565b005b3480156103f7575f80fd5b50610412600480360381019061040d919061280a565b610d1e565b60405161041f91906125ad565b60405180910390f35b348015610433575f80fd5b5061044e6004803603810190610449919061280a565b610d25565b60405161045b91906124f7565b60405180910390f35b61047e6004803603810190610479919061261b565b610f0f565b005b34801561048b575f80fd5b506104a660048036038101906104a1919061261b565b610f25565b6040516104b391906124f7565b60405180910390f35b6104c4610f3c565b005b3480156104d1575f80fd5b506104ec60048036038101906104e7919061256a565b610f75565b6040516104f991906125ad565b60405180910390f35b61051c6004803603810190610517919061280a565b610fba565b60405161052991906124f7565b60405180910390f35b34801561053d575f80fd5b50610558600480360381019061055391906128aa565b61132a565b60405161056591906124f7565b60405180910390f35b61057661138e565b005b348015610583575f80fd5b5061058c6113a1565b60405161059991906125ad565b60405180910390f35b3480156105ad575f80fd5b506105c860048036038101906105c3919061261b565b6113a6565b6040516105d591906125ad565b60405180910390f35b3480156105e9575f80fd5b5061060460048036038101906105ff919061294a565b6113fc565b005b348015610611575f80fd5b5061061a6114b2565b60405161062791906129d7565b60405180910390f35b34801561063b575f80fd5b50610656600480360381019061065191906129f0565b6114da565b6040516106639190612668565b60405180910390f35b348015610677575f80fd5b50610692600480360381019061068d919061256a565b6114f1565b60405161069f91906125ad565b60405180910390f35b3480156106b3575f80fd5b506106ce60048036038101906106c9919061294a565b611549565b005b3480156106db575f80fd5b506106e46115ff565b6040516106f191906125ad565b60405180910390f35b610714600480360381019061070f919061256a565b611604565b005b348015610721575f80fd5b5061073c60048036038101906107379190612ac7565b611642565b6040516107499190612668565b60405180910390f35b61076c6004803603810190610767919061256a565b611657565b005b348015610779575f80fd5b50610794600480360381019061078f919061261b565b611680565b6040516107a191906125ad565b60405180910390f35b3480156107b5575f80fd5b506107d060048036038101906107cb919061261b565b611702565b6040516107dd91906125ad565b60405180910390f35b3480156107f1575f80fd5b5061080c6004803603810190610807919061280a565b6117db565b60405161081991906124f7565b60405180910390f35b34801561082d575f80fd5b506108486004803603810190610843919061256a565b611a57565b60405161085591906124f7565b60405180910390f35b348015610869575f80fd5b50610884600480360381019061087f919061256a565b611aaa565b60405161089191906125ad565b60405180910390f35b5f7fa0109882000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061096457507f4e2312e0000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109cc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109dc57506109db82611ac3565b5b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610a4557610a40308373ffffffffffffffffffffffffffffffffffffffff16611b3c90919063ffffffff16565b610a47565b475b9050919050565b610a583382611b6f565b50565b610a63611b7e565b610a6d8282611bb5565b5050565b5f8182610a7d85610aff565b1614905092915050565b5f610a90611bc5565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7fa010988200000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b6002610b2381611bcf565b828290508585905014610b62576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610c1e575f848483818110610b8357610b82612b5d565b5b9050602002016020810190610b989190612bb4565b90506001151581151503610bdd57610bd8878784818110610bbc57610bbb612b5d565b5b9050602002016020810190610bd1919061256a565b6001611bb5565b610c10565b610c0f878784818110610bf357610bf2612b5d565b5b9050602002016020810190610c08919061256a565b6001611b6f565b5b508080600101915050610b64565b505050505050565b5f610c2f611c04565b90508054600382558015610c615760018160011c14303b10610c585763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610c729190612e88565b9050610c80815f0151611c2d565b5f5b816020015151811015610ce257610cd582602001518281518110610ca957610ca8612b5d565b5b602002602001015183604001518381518110610cc857610cc7612b5d565b5b6020026020010151611d03565b8080600101915050610c82565b50508015610d19576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f92915050565b5f6002610d3181611bcf565b5f8484810190610d419190613033565b90505f6002811115610d5657610d5561307a565b5b815f01516002811115610d6c57610d6b61307a565b5b1480610d9f575060016002811115610d8757610d8661307a565b5b815f01516002811115610d9d57610d9c61307a565b5b145b15610df8575f8160600151806020019051810190610dbd91906130f4565b9050610df2826020015183604001515f845f015114610ddf57835f0151610ded565b610dec85602001516109e3565b5b611d44565b50610f02565b600280811115610e0b57610e0a61307a565b5b815f01516002811115610e2157610e2061307a565b5b03610ef8575f8160600151806020019051810190610e3f9190613218565b9050610ef282602001518360400151835f01515f856020015114610e67578460200151610ee8565b856020015173ffffffffffffffffffffffffffffffffffffffff1662fdd58e30875f01516040518363ffffffff1660e01b8152600401610ea892919061325f565b602060405180830381865afa158015610ec3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee79190613286565b5b8560400151611f5c565b50610f01565b5f925050610f08565b5b60019250505b5092915050565b610f17611b7e565b610f218282611b6f565b5050565b5f8082610f3185610aff565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f808383810190610fcb9190613033565b90505f6002811115610fe057610fdf61307a565b5b815f01516002811115610ff657610ff561307a565b5b0361106c575f816060015180602001905181019061101491906130f4565b9050805f01513414611066578160200151815f01516040517fcece04c500000000000000000000000000000000000000000000000000000000815260040161105d92919061325f565b60405180910390fd5b5061131e565b600160028111156110805761107f61307a565b5b815f015160028111156110965761109561307a565b5b03611171575f81606001518060200190518101906110b491906130f4565b90506110ee826040015130835f0151856020015173ffffffffffffffffffffffffffffffffffffffff16612188909392919063ffffffff16565b805f015161111f30846020015173ffffffffffffffffffffffffffffffffffffffff16611b3c90919063ffffffff16565b101561116b578160200151815f01516040517fcece04c500000000000000000000000000000000000000000000000000000000815260040161116292919061325f565b60405180910390fd5b5061131d565b6002808111156111845761118361307a565b5b815f0151600281111561119a5761119961307a565b5b03611313575f81606001518060200190518101906111b89190613218565b9050816020015173ffffffffffffffffffffffffffffffffffffffff1663f242432a836040015130845f0151856020015186604001516040518663ffffffff1660e01b815260040161120e959493929190613303565b5f604051808303815f87803b158015611225575f80fd5b505af1158015611237573d5f803e3d5ffd5b505050508060200151826020015173ffffffffffffffffffffffffffffffffffffffff1662fdd58e30845f01516040518363ffffffff1660e01b815260040161128192919061325f565b602060405180830381865afa15801561129c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c09190613286565b101561130d57816020015181602001516040517fcece04c500000000000000000000000000000000000000000000000000000000815260040161130492919061325f565b60405180910390fd5b5061131c565b5f915050611324565b5b5b60019150505b92915050565b5f805f90505b838390508110156113825761136884848381811061135157611350612b5d565b5b90506020028101906113639190613367565b6117db565b611375575f915050611388565b8080600101915050611330565b50600190505b92915050565b611396611b7e565b61139f5f6121e2565b565b600281565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b600261140781611bcf565b828290508585905014611446576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156114aa5761149d86868381811061146957611468612b5d565b5b905060200201602081019061147e919061256a565b85858481811061149157611490612b5d565b5b90506020020135611b6f565b8080600101915050611448565b505050505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b5f63bc197c8160e01b905098975050505050505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611538836109e3565b61154291906133f6565b9050919050565b600261155481611bcf565b828290508585905014611593576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156115f7576115ea8686838181106115b6576115b5612b5d565b5b90506020020160208101906115cb919061256a565b8585848181106115de576115dd612b5d565b5b90506020020135611bb5565b8080600101915050611595565b505050505050565b600181565b61160c611b7e565b63389a75e1600c52805f526020600c20805442111561163257636f5e88185f526004601cfd5b5f81555061163f816121e2565b50565b5f63f23a6e6160e01b90509695505050505050565b61165f611b7e565b8060601b61167457637448fbae5f526004601cfd5b61167d816121e2565b50565b5f8273ffffffffffffffffffffffffffffffffffffffff1662fdd58e30846040518363ffffffff1660e01b81526004016116bb92919061325f565b602060405180830381865afa1580156116d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116fa9190613286565b905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20548373ffffffffffffffffffffffffffffffffffffffff1662fdd58e30856040518363ffffffff1660e01b815260040161178a92919061325f565b602060405180830381865afa1580156117a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c99190613286565b6117d391906133f6565b905092915050565b5f60016002176117ea81611bcf565b5f84848101906117fa9190613033565b9050600160028111156118105761180f61307a565b5b815f015160028111156118265761182561307a565b5b148061185857505f60028111156118405761183f61307a565b5b815f015160028111156118565761185561307a565b5b145b156118f8575f816060015180602001905181019061187691906130f4565b90505f61188683602001516109e3565b905080825f015111156118db57826020015181835f01516040517f5c54305e0000000000000000000000000000000000000000000000000000000081526004016118d293929190613429565b60405180910390fd5b6118f183602001518460400151845f0151611d44565b5050611a4a565b60028081111561190b5761190a61307a565b5b815f015160028111156119215761192061307a565b5b03611a40575f816060015180602001905181019061193f9190613218565b90505f826020015173ffffffffffffffffffffffffffffffffffffffff1662fdd58e30845f01516040518363ffffffff1660e01b815260040161198392919061325f565b602060405180830381865afa15801561199e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119c29190613286565b90508082602001511115611a195782602001518183602001516040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401611a1093929190613429565b60405180910390fd5b611a3983602001518460400151845f015185602001518660400151611f5c565b5050611a49565b5f925050611a50565b5b60019250505b5092915050565b5f8173ffffffffffffffffffffffffffffffffffffffff16611a776114b2565b73ffffffffffffffffffffffffffffffffffffffff161480611aa35750611aa2826002600117610f25565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fea5ad34e000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611b355750611b34826122a8565b5b9050919050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b611b7a82825f612321565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611bb3576382b429005f526004601cfd5b565b611bc182826001612321565b5050565b5f6202a300905090565b638b78c6d819543314611c0157638b78c6d8600c52335f52806020600c205416611c00576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611c35612379565b15611cad577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415611c6f57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350611d00565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b3068929eee149b4bd212685403611d625763ab143c065f526004601cfd5b3068929eee149b4bd21268555f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611de2578282826040517fbf182be8000000000000000000000000000000000000000000000000000000008152600401611dd99392919061345e565b60405180910390fd5b611deb836109e3565b811115611e3b5782611dfc846109e3565b826040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401611e3293929190613429565b60405180910390fd5b805f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611e8691906133f6565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ecf57611eca828261237d565b611efb565b611efa82828573ffffffffffffffffffffffffffffffffffffffff1661239a9092919063ffffffff16565b5b8273ffffffffffffffffffffffffffffffffffffffff167fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd435428383604051611f4392919061325f565b60405180910390a23868929eee149b4bd2126855505050565b3068929eee149b4bd212685403611f7a5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611ffa578484836040517fbf182be8000000000000000000000000000000000000000000000000000000008152600401611ff19392919061345e565b60405180910390fd5b6120048584611680565b82111561205557846120168685611680565b836040517f5c54305e00000000000000000000000000000000000000000000000000000000815260040161204c93929190613429565b60405180910390fd5b8160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f8282546120b091906133f6565b925050819055508473ffffffffffffffffffffffffffffffffffffffff1663f242432a30868686866040518663ffffffff1660e01b81526004016120f8959493929190613303565b5f604051808303815f87803b15801561210f575f80fd5b505af1158015612121573d5f803e3d5ffd5b505050508473ffffffffffffffffffffffffffffffffffffffff167fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd43542858460405161216d92919061325f565b60405180910390a23868929eee149b4bd21268555050505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af13d1560015f511417166121d357637939f4245f526004601cfd5b5f606052806040525050505050565b6121ea612379565b1561224f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b82178155506122a5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061231a5750612319826123e3565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361234357848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f385f3884865af16123965763b12d13eb5f526004601cfd5b5050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166123da576390b8ec185f526004601cfd5b5f603452505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124918161245d565b811461249b575f80fd5b50565b5f813590506124ac81612488565b92915050565b5f602082840312156124c7576124c6612455565b5b5f6124d48482850161249e565b91505092915050565b5f8115159050919050565b6124f1816124dd565b82525050565b5f60208201905061250a5f8301846124e8565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61253982612510565b9050919050565b6125498161252f565b8114612553575f80fd5b50565b5f8135905061256481612540565b92915050565b5f6020828403121561257f5761257e612455565b5b5f61258c84828501612556565b91505092915050565b5f819050919050565b6125a781612595565b82525050565b5f6020820190506125c05f83018461259e565b92915050565b6125cf81612595565b81146125d9575f80fd5b50565b5f813590506125ea816125c6565b92915050565b5f6020828403121561260557612604612455565b5b5f612612848285016125dc565b91505092915050565b5f806040838503121561263157612630612455565b5b5f61263e85828601612556565b925050602061264f858286016125dc565b9150509250929050565b6126628161245d565b82525050565b5f60208201905061267b5f830184612659565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126126a2576126a1612681565b5b8235905067ffffffffffffffff8111156126bf576126be612685565b5b6020830191508360208202830111156126db576126da612689565b5b9250929050565b5f8083601f8401126126f7576126f6612681565b5b8235905067ffffffffffffffff81111561271457612713612685565b5b6020830191508360208202830111156127305761272f612689565b5b9250929050565b5f805f806040858703121561274f5761274e612455565b5b5f85013567ffffffffffffffff81111561276c5761276b612459565b5b6127788782880161268d565b9450945050602085013567ffffffffffffffff81111561279b5761279a612459565b5b6127a7878288016126e2565b925092505092959194509250565b5f8083601f8401126127ca576127c9612681565b5b8235905067ffffffffffffffff8111156127e7576127e6612685565b5b60208301915083600182028301111561280357612802612689565b5b9250929050565b5f80602083850312156128205761281f612455565b5b5f83013567ffffffffffffffff81111561283d5761283c612459565b5b612849858286016127b5565b92509250509250929050565b5f8083601f84011261286a57612869612681565b5b8235905067ffffffffffffffff81111561288757612886612685565b5b6020830191508360208202830111156128a3576128a2612689565b5b9250929050565b5f80602083850312156128c0576128bf612455565b5b5f83013567ffffffffffffffff8111156128dd576128dc612459565b5b6128e985828601612855565b92509250509250929050565b5f8083601f84011261290a57612909612681565b5b8235905067ffffffffffffffff81111561292757612926612685565b5b60208301915083602082028301111561294357612942612689565b5b9250929050565b5f805f806040858703121561296257612961612455565b5b5f85013567ffffffffffffffff81111561297f5761297e612459565b5b61298b8782880161268d565b9450945050602085013567ffffffffffffffff8111156129ae576129ad612459565b5b6129ba878288016128f5565b925092505092959194509250565b6129d18161252f565b82525050565b5f6020820190506129ea5f8301846129c8565b92915050565b5f805f805f805f8060a0898b031215612a0c57612a0b612455565b5b5f612a198b828c01612556565b9850506020612a2a8b828c01612556565b975050604089013567ffffffffffffffff811115612a4b57612a4a612459565b5b612a578b828c016128f5565b9650965050606089013567ffffffffffffffff811115612a7a57612a79612459565b5b612a868b828c016128f5565b9450945050608089013567ffffffffffffffff811115612aa957612aa8612459565b5b612ab58b828c016127b5565b92509250509295985092959890939650565b5f805f805f8060a08789031215612ae157612ae0612455565b5b5f612aee89828a01612556565b9650506020612aff89828a01612556565b9550506040612b1089828a016125dc565b9450506060612b2189828a016125dc565b935050608087013567ffffffffffffffff811115612b4257612b41612459565b5b612b4e89828a016127b5565b92509250509295509295509295565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b612b93816124dd565b8114612b9d575f80fd5b50565b5f81359050612bae81612b8a565b92915050565b5f60208284031215612bc957612bc8612455565b5b5f612bd684828501612ba0565b91505092915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612c2982612be3565b810181811067ffffffffffffffff82111715612c4857612c47612bf3565b5b80604052505050565b5f612c5a61244c565b9050612c668282612c20565b919050565b5f80fd5b5f67ffffffffffffffff821115612c8957612c88612bf3565b5b602082029050602081019050919050565b5f612cac612ca784612c6f565b612c51565b90508083825260208201905060208402830185811115612ccf57612cce612689565b5b835b81811015612cf85780612ce48882612556565b845260208401935050602081019050612cd1565b5050509392505050565b5f82601f830112612d1657612d15612681565b5b8135612d26848260208601612c9a565b91505092915050565b5f67ffffffffffffffff821115612d4957612d48612bf3565b5b602082029050602081019050919050565b5f612d6c612d6784612d2f565b612c51565b90508083825260208201905060208402830185811115612d8f57612d8e612689565b5b835b81811015612db85780612da488826125dc565b845260208401935050602081019050612d91565b5050509392505050565b5f82601f830112612dd657612dd5612681565b5b8135612de6848260208601612d5a565b91505092915050565b5f60608284031215612e0457612e03612bdf565b5b612e0e6060612c51565b90505f612e1d84828501612556565b5f83015250602082013567ffffffffffffffff811115612e4057612e3f612c6b565b5b612e4c84828501612d02565b602083015250604082013567ffffffffffffffff811115612e7057612e6f612c6b565b5b612e7c84828501612dc2565b60408301525092915050565b5f60208284031215612e9d57612e9c612455565b5b5f82013567ffffffffffffffff811115612eba57612eb9612459565b5b612ec684828501612def565b91505092915050565b60038110612edb575f80fd5b50565b5f81359050612eec81612ecf565b92915050565b5f80fd5b5f67ffffffffffffffff821115612f1057612f0f612bf3565b5b612f1982612be3565b9050602081019050919050565b828183375f83830152505050565b5f612f46612f4184612ef6565b612c51565b905082815260208101848484011115612f6257612f61612ef2565b5b612f6d848285612f26565b509392505050565b5f82601f830112612f8957612f88612681565b5b8135612f99848260208601612f34565b91505092915050565b5f60808284031215612fb757612fb6612bdf565b5b612fc16080612c51565b90505f612fd084828501612ede565b5f830152506020612fe384828501612556565b6020830152506040612ff784828501612556565b604083015250606082013567ffffffffffffffff81111561301b5761301a612c6b565b5b61302784828501612f75565b60608301525092915050565b5f6020828403121561304857613047612455565b5b5f82013567ffffffffffffffff81111561306557613064612459565b5b61307184828501612fa2565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f815190506130b5816125c6565b92915050565b5f602082840312156130d0576130cf612bdf565b5b6130da6020612c51565b90505f6130e9848285016130a7565b5f8301525092915050565b5f6020828403121561310957613108612455565b5b5f613116848285016130bb565b91505092915050565b8281835e5f83830152505050565b5f61313f61313a84612ef6565b612c51565b90508281526020810184848401111561315b5761315a612ef2565b5b61316684828561311f565b509392505050565b5f82601f83011261318257613181612681565b5b815161319284826020860161312d565b91505092915050565b5f606082840312156131b0576131af612bdf565b5b6131ba6060612c51565b90505f6131c9848285016130a7565b5f8301525060206131dc848285016130a7565b602083015250604082015167ffffffffffffffff811115613200576131ff612c6b565b5b61320c8482850161316e565b60408301525092915050565b5f6020828403121561322d5761322c612455565b5b5f82015167ffffffffffffffff81111561324a57613249612459565b5b6132568482850161319b565b91505092915050565b5f6040820190506132725f8301856129c8565b61327f602083018461259e565b9392505050565b5f6020828403121561329b5761329a612455565b5b5f6132a8848285016130a7565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f6132d5826132b1565b6132df81856132bb565b93506132ef81856020860161311f565b6132f881612be3565b840191505092915050565b5f60a0820190506133165f8301886129c8565b61332360208301876129c8565b613330604083018661259e565b61333d606083018561259e565b818103608083015261334f81846132cb565b90509695505050505050565b5f80fd5b5f80fd5b5f80fd5b5f80833560016020038436030381126133835761338261335b565b5b80840192508235915067ffffffffffffffff8211156133a5576133a461335f565b5b6020830192506001820236038313156133c1576133c0613363565b5b509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61340082612595565b915061340b83612595565b9250828201905080821115613423576134226133c9565b5b92915050565b5f60608201905061343c5f8301866129c8565b613449602083018561259e565b613456604083018461259e565b949350505050565b5f6060820190506134715f8301866129c8565b61347e60208301856129c8565b61348b604083018461259e565b94935050505056fea2646970667358221220c1bfb1478642fd79fec67a73804426335fe572337323b77d0ae5af9397dc0e4c64736f6c634300081a0033";
1
+ import { p as o, n as l, L as u, q as w, D as A, s as g, t as y, u as p, U as R, x as m, K as _, y as T, G as V, B as q, J as v, H as D, E, C as P, R as k, F as z, _ as G, I as M, O as N } from "../generated-CdXG-MpB.js";
2
+ import { getAccount as x } from "@wagmi/core";
3
+ import { zeroAddress as t, encodeAbiParameters as C, parseAbiParameters as U } from "viem";
4
+ import { M as B } from "../deployments-BvFcK_eR.js";
5
+ import { DeployableTarget as F } from "../Deployable/DeployableTarget.js";
6
+ import { DeployableUnknownOwnerProvidedError as I, UnknownTransferPayloadSupplied as O } from "../errors.js";
7
+ import { prepareFungibleTransfer as H, prepareERC1155Transfer as J } from "../transfers.js";
8
+ import { RegistryType as K } from "../utils.js";
9
+ const L = "0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6134c9806100bd5f395ff3fe608060405260043610610207575f3560e01c806361400c9911610117578063ec87621c1161009f578063f8724aba1161006e578063f8724aba1461076e578063f9a802c3146107aa578063fa4ca9b1146107e6578063fe9fbb8014610822578063fee81cf41461085e5761020e565b8063ec87621c146106d0578063f04e283e146106fa578063f23a6e6114610716578063f2fde38b146107525761020e565b806380fd6005116100e657806380fd6005146105de5780638da5cb5b14610606578063bc197c8114610630578063d2514e841461066c578063e6670829146106a85761020e565b806361400c9914610532578063715018a61461056e57806375b238fc14610578578063774c33ab146105a25761020e565b80634359d28a1161019a5780634a4ee7b1116101695780634a4ee7b114610464578063514e62fc1461048057806354d1f13d146104bc578063578bcf35146104c65780635aef467a146105025761020e565b80634359d28a1461039c578063439fab91146103c4578063451cc191146103ec578063474f5a44146104285761020e565b80631cd64df4116101d65780631cd64df4146102f0578063256929621461032c57806328d6183b146103365780632de94807146103605761020e565b806301ffc9a71461024057806310098ad51461027c578063183a4f6e146102b85780631c10893f146102d45761020e565b3661020e57005b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b34801561024b575f80fd5b50610266600480360381019061026191906124b2565b61089a565b60405161027391906124f7565b60405180910390f35b348015610287575f80fd5b506102a2600480360381019061029d919061256a565b6109e3565b6040516102af91906125ad565b60405180910390f35b6102d260048036038101906102cd91906125f0565b610a4e565b005b6102ee60048036038101906102e9919061261b565b610a5b565b005b3480156102fb575f80fd5b506103166004803603810190610311919061261b565b610a71565b60405161032391906124f7565b60405180910390f35b610334610a87565b005b348015610341575f80fd5b5061034a610ad8565b6040516103579190612668565b60405180910390f35b34801561036b575f80fd5b506103866004803603810190610381919061256a565b610aff565b60405161039391906125ad565b60405180910390f35b3480156103a7575f80fd5b506103c260048036038101906103bd9190612737565b610b18565b005b3480156103cf575f80fd5b506103ea60048036038101906103e5919061280a565b610c26565b005b3480156103f7575f80fd5b50610412600480360381019061040d919061280a565b610d1e565b60405161041f91906125ad565b60405180910390f35b348015610433575f80fd5b5061044e6004803603810190610449919061280a565b610d25565b60405161045b91906124f7565b60405180910390f35b61047e6004803603810190610479919061261b565b610f0f565b005b34801561048b575f80fd5b506104a660048036038101906104a1919061261b565b610f25565b6040516104b391906124f7565b60405180910390f35b6104c4610f3c565b005b3480156104d1575f80fd5b506104ec60048036038101906104e7919061256a565b610f75565b6040516104f991906125ad565b60405180910390f35b61051c6004803603810190610517919061280a565b610fba565b60405161052991906124f7565b60405180910390f35b34801561053d575f80fd5b50610558600480360381019061055391906128aa565b61132a565b60405161056591906124f7565b60405180910390f35b61057661138e565b005b348015610583575f80fd5b5061058c6113a1565b60405161059991906125ad565b60405180910390f35b3480156105ad575f80fd5b506105c860048036038101906105c3919061261b565b6113a6565b6040516105d591906125ad565b60405180910390f35b3480156105e9575f80fd5b5061060460048036038101906105ff919061294a565b6113fc565b005b348015610611575f80fd5b5061061a6114b2565b60405161062791906129d7565b60405180910390f35b34801561063b575f80fd5b50610656600480360381019061065191906129f0565b6114da565b6040516106639190612668565b60405180910390f35b348015610677575f80fd5b50610692600480360381019061068d919061256a565b6114f1565b60405161069f91906125ad565b60405180910390f35b3480156106b3575f80fd5b506106ce60048036038101906106c9919061294a565b611549565b005b3480156106db575f80fd5b506106e46115ff565b6040516106f191906125ad565b60405180910390f35b610714600480360381019061070f919061256a565b611604565b005b348015610721575f80fd5b5061073c60048036038101906107379190612ac7565b611642565b6040516107499190612668565b60405180910390f35b61076c6004803603810190610767919061256a565b611657565b005b348015610779575f80fd5b50610794600480360381019061078f919061261b565b611680565b6040516107a191906125ad565b60405180910390f35b3480156107b5575f80fd5b506107d060048036038101906107cb919061261b565b611702565b6040516107dd91906125ad565b60405180910390f35b3480156107f1575f80fd5b5061080c6004803603810190610807919061280a565b6117db565b60405161081991906124f7565b60405180910390f35b34801561082d575f80fd5b506108486004803603810190610843919061256a565b611a57565b60405161085591906124f7565b60405180910390f35b348015610869575f80fd5b50610884600480360381019061087f919061256a565b611aaa565b60405161089191906125ad565b60405180910390f35b5f7fa0109882000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061096457507f4e2312e0000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109cc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109dc57506109db82611ac3565b5b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610a4557610a40308373ffffffffffffffffffffffffffffffffffffffff16611b3c90919063ffffffff16565b610a47565b475b9050919050565b610a583382611b6f565b50565b610a63611b7e565b610a6d8282611bb5565b5050565b5f8182610a7d85610aff565b1614905092915050565b5f610a90611bc5565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7fa010988200000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b6002610b2381611bcf565b828290508585905014610b62576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610c1e575f848483818110610b8357610b82612b5d565b5b9050602002016020810190610b989190612bb4565b90506001151581151503610bdd57610bd8878784818110610bbc57610bbb612b5d565b5b9050602002016020810190610bd1919061256a565b6001611bb5565b610c10565b610c0f878784818110610bf357610bf2612b5d565b5b9050602002016020810190610c08919061256a565b6001611b6f565b5b508080600101915050610b64565b505050505050565b5f610c2f611c04565b90508054600382558015610c615760018160011c14303b10610c585763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610c729190612e88565b9050610c80815f0151611c2d565b5f5b816020015151811015610ce257610cd582602001518281518110610ca957610ca8612b5d565b5b602002602001015183604001518381518110610cc857610cc7612b5d565b5b6020026020010151611d03565b8080600101915050610c82565b50508015610d19576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f92915050565b5f6002610d3181611bcf565b5f8484810190610d419190613033565b90505f6002811115610d5657610d5561307a565b5b815f01516002811115610d6c57610d6b61307a565b5b1480610d9f575060016002811115610d8757610d8661307a565b5b815f01516002811115610d9d57610d9c61307a565b5b145b15610df8575f8160600151806020019051810190610dbd91906130f4565b9050610df2826020015183604001515f845f015114610ddf57835f0151610ded565b610dec85602001516109e3565b5b611d44565b50610f02565b600280811115610e0b57610e0a61307a565b5b815f01516002811115610e2157610e2061307a565b5b03610ef8575f8160600151806020019051810190610e3f9190613218565b9050610ef282602001518360400151835f01515f856020015114610e67578460200151610ee8565b856020015173ffffffffffffffffffffffffffffffffffffffff1662fdd58e30875f01516040518363ffffffff1660e01b8152600401610ea892919061325f565b602060405180830381865afa158015610ec3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ee79190613286565b5b8560400151611f5c565b50610f01565b5f925050610f08565b5b60019250505b5092915050565b610f17611b7e565b610f218282611b6f565b5050565b5f8082610f3185610aff565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f808383810190610fcb9190613033565b90505f6002811115610fe057610fdf61307a565b5b815f01516002811115610ff657610ff561307a565b5b0361106c575f816060015180602001905181019061101491906130f4565b9050805f01513414611066578160200151815f01516040517fcece04c500000000000000000000000000000000000000000000000000000000815260040161105d92919061325f565b60405180910390fd5b5061131e565b600160028111156110805761107f61307a565b5b815f015160028111156110965761109561307a565b5b03611171575f81606001518060200190518101906110b491906130f4565b90506110ee826040015130835f0151856020015173ffffffffffffffffffffffffffffffffffffffff16612188909392919063ffffffff16565b805f015161111f30846020015173ffffffffffffffffffffffffffffffffffffffff16611b3c90919063ffffffff16565b101561116b578160200151815f01516040517fcece04c500000000000000000000000000000000000000000000000000000000815260040161116292919061325f565b60405180910390fd5b5061131d565b6002808111156111845761118361307a565b5b815f0151600281111561119a5761119961307a565b5b03611313575f81606001518060200190518101906111b89190613218565b9050816020015173ffffffffffffffffffffffffffffffffffffffff1663f242432a836040015130845f0151856020015186604001516040518663ffffffff1660e01b815260040161120e959493929190613303565b5f604051808303815f87803b158015611225575f80fd5b505af1158015611237573d5f803e3d5ffd5b505050508060200151826020015173ffffffffffffffffffffffffffffffffffffffff1662fdd58e30845f01516040518363ffffffff1660e01b815260040161128192919061325f565b602060405180830381865afa15801561129c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c09190613286565b101561130d57816020015181602001516040517fcece04c500000000000000000000000000000000000000000000000000000000815260040161130492919061325f565b60405180910390fd5b5061131c565b5f915050611324565b5b5b60019150505b92915050565b5f805f90505b838390508110156113825761136884848381811061135157611350612b5d565b5b90506020028101906113639190613367565b6117db565b611375575f915050611388565b8080600101915050611330565b50600190505b92915050565b611396611b7e565b61139f5f6121e2565b565b600281565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b600261140781611bcf565b828290508585905014611446576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156114aa5761149d86868381811061146957611468612b5d565b5b905060200201602081019061147e919061256a565b85858481811061149157611490612b5d565b5b90506020020135611b6f565b8080600101915050611448565b505050505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b5f63bc197c8160e01b905098975050505050505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611538836109e3565b61154291906133f6565b9050919050565b600261155481611bcf565b828290508585905014611593576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156115f7576115ea8686838181106115b6576115b5612b5d565b5b90506020020160208101906115cb919061256a565b8585848181106115de576115dd612b5d565b5b90506020020135611bb5565b8080600101915050611595565b505050505050565b600181565b61160c611b7e565b63389a75e1600c52805f526020600c20805442111561163257636f5e88185f526004601cfd5b5f81555061163f816121e2565b50565b5f63f23a6e6160e01b90509695505050505050565b61165f611b7e565b8060601b61167457637448fbae5f526004601cfd5b61167d816121e2565b50565b5f8273ffffffffffffffffffffffffffffffffffffffff1662fdd58e30846040518363ffffffff1660e01b81526004016116bb92919061325f565b602060405180830381865afa1580156116d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116fa9190613286565b905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20548373ffffffffffffffffffffffffffffffffffffffff1662fdd58e30856040518363ffffffff1660e01b815260040161178a92919061325f565b602060405180830381865afa1580156117a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c99190613286565b6117d391906133f6565b905092915050565b5f60016002176117ea81611bcf565b5f84848101906117fa9190613033565b9050600160028111156118105761180f61307a565b5b815f015160028111156118265761182561307a565b5b148061185857505f60028111156118405761183f61307a565b5b815f015160028111156118565761185561307a565b5b145b156118f8575f816060015180602001905181019061187691906130f4565b90505f61188683602001516109e3565b905080825f015111156118db57826020015181835f01516040517f5c54305e0000000000000000000000000000000000000000000000000000000081526004016118d293929190613429565b60405180910390fd5b6118f183602001518460400151845f0151611d44565b5050611a4a565b60028081111561190b5761190a61307a565b5b815f015160028111156119215761192061307a565b5b03611a40575f816060015180602001905181019061193f9190613218565b90505f826020015173ffffffffffffffffffffffffffffffffffffffff1662fdd58e30845f01516040518363ffffffff1660e01b815260040161198392919061325f565b602060405180830381865afa15801561199e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119c29190613286565b90508082602001511115611a195782602001518183602001516040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401611a1093929190613429565b60405180910390fd5b611a3983602001518460400151845f015185602001518660400151611f5c565b5050611a49565b5f925050611a50565b5b60019250505b5092915050565b5f8173ffffffffffffffffffffffffffffffffffffffff16611a776114b2565b73ffffffffffffffffffffffffffffffffffffffff161480611aa35750611aa2826002600117610f25565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fea5ad34e000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611b355750611b34826122a8565b5b9050919050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b611b7a82825f612321565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611bb3576382b429005f526004601cfd5b565b611bc182826001612321565b5050565b5f6202a300905090565b638b78c6d819543314611c0157638b78c6d8600c52335f52806020600c205416611c00576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611c35612379565b15611cad577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415611c6f57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350611d00565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b3068929eee149b4bd212685403611d625763ab143c065f526004601cfd5b3068929eee149b4bd21268555f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611de2578282826040517fbf182be8000000000000000000000000000000000000000000000000000000008152600401611dd99392919061345e565b60405180910390fd5b611deb836109e3565b811115611e3b5782611dfc846109e3565b826040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401611e3293929190613429565b60405180910390fd5b805f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611e8691906133f6565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ecf57611eca828261237d565b611efb565b611efa82828573ffffffffffffffffffffffffffffffffffffffff1661239a9092919063ffffffff16565b5b8273ffffffffffffffffffffffffffffffffffffffff167fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd435428383604051611f4392919061325f565b60405180910390a23868929eee149b4bd2126855505050565b3068929eee149b4bd212685403611f7a5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611ffa578484836040517fbf182be8000000000000000000000000000000000000000000000000000000008152600401611ff19392919061345e565b60405180910390fd5b6120048584611680565b82111561205557846120168685611680565b836040517f5c54305e00000000000000000000000000000000000000000000000000000000815260040161204c93929190613429565b60405180910390fd5b8160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8581526020019081526020015f205f8282546120b091906133f6565b925050819055508473ffffffffffffffffffffffffffffffffffffffff1663f242432a30868686866040518663ffffffff1660e01b81526004016120f8959493929190613303565b5f604051808303815f87803b15801561210f575f80fd5b505af1158015612121573d5f803e3d5ffd5b505050508473ffffffffffffffffffffffffffffffffffffffff167fad4a9acf26d8bba7a8cf1a41160d59be042ee554578e256c98d2ab74cdd43542858460405161216d92919061325f565b60405180910390a23868929eee149b4bd21268555050505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af13d1560015f511417166121d357637939f4245f526004601cfd5b5f606052806040525050505050565b6121ea612379565b1561224f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b82178155506122a5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061231a5750612319826123e3565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361234357848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f385f3884865af16123965763b12d13eb5f526004601cfd5b5050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166123da576390b8ec185f526004601cfd5b5f603452505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124918161245d565b811461249b575f80fd5b50565b5f813590506124ac81612488565b92915050565b5f602082840312156124c7576124c6612455565b5b5f6124d48482850161249e565b91505092915050565b5f8115159050919050565b6124f1816124dd565b82525050565b5f60208201905061250a5f8301846124e8565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61253982612510565b9050919050565b6125498161252f565b8114612553575f80fd5b50565b5f8135905061256481612540565b92915050565b5f6020828403121561257f5761257e612455565b5b5f61258c84828501612556565b91505092915050565b5f819050919050565b6125a781612595565b82525050565b5f6020820190506125c05f83018461259e565b92915050565b6125cf81612595565b81146125d9575f80fd5b50565b5f813590506125ea816125c6565b92915050565b5f6020828403121561260557612604612455565b5b5f612612848285016125dc565b91505092915050565b5f806040838503121561263157612630612455565b5b5f61263e85828601612556565b925050602061264f858286016125dc565b9150509250929050565b6126628161245d565b82525050565b5f60208201905061267b5f830184612659565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126126a2576126a1612681565b5b8235905067ffffffffffffffff8111156126bf576126be612685565b5b6020830191508360208202830111156126db576126da612689565b5b9250929050565b5f8083601f8401126126f7576126f6612681565b5b8235905067ffffffffffffffff81111561271457612713612685565b5b6020830191508360208202830111156127305761272f612689565b5b9250929050565b5f805f806040858703121561274f5761274e612455565b5b5f85013567ffffffffffffffff81111561276c5761276b612459565b5b6127788782880161268d565b9450945050602085013567ffffffffffffffff81111561279b5761279a612459565b5b6127a7878288016126e2565b925092505092959194509250565b5f8083601f8401126127ca576127c9612681565b5b8235905067ffffffffffffffff8111156127e7576127e6612685565b5b60208301915083600182028301111561280357612802612689565b5b9250929050565b5f80602083850312156128205761281f612455565b5b5f83013567ffffffffffffffff81111561283d5761283c612459565b5b612849858286016127b5565b92509250509250929050565b5f8083601f84011261286a57612869612681565b5b8235905067ffffffffffffffff81111561288757612886612685565b5b6020830191508360208202830111156128a3576128a2612689565b5b9250929050565b5f80602083850312156128c0576128bf612455565b5b5f83013567ffffffffffffffff8111156128dd576128dc612459565b5b6128e985828601612855565b92509250509250929050565b5f8083601f84011261290a57612909612681565b5b8235905067ffffffffffffffff81111561292757612926612685565b5b60208301915083602082028301111561294357612942612689565b5b9250929050565b5f805f806040858703121561296257612961612455565b5b5f85013567ffffffffffffffff81111561297f5761297e612459565b5b61298b8782880161268d565b9450945050602085013567ffffffffffffffff8111156129ae576129ad612459565b5b6129ba878288016128f5565b925092505092959194509250565b6129d18161252f565b82525050565b5f6020820190506129ea5f8301846129c8565b92915050565b5f805f805f805f8060a0898b031215612a0c57612a0b612455565b5b5f612a198b828c01612556565b9850506020612a2a8b828c01612556565b975050604089013567ffffffffffffffff811115612a4b57612a4a612459565b5b612a578b828c016128f5565b9650965050606089013567ffffffffffffffff811115612a7a57612a79612459565b5b612a868b828c016128f5565b9450945050608089013567ffffffffffffffff811115612aa957612aa8612459565b5b612ab58b828c016127b5565b92509250509295985092959890939650565b5f805f805f8060a08789031215612ae157612ae0612455565b5b5f612aee89828a01612556565b9650506020612aff89828a01612556565b9550506040612b1089828a016125dc565b9450506060612b2189828a016125dc565b935050608087013567ffffffffffffffff811115612b4257612b41612459565b5b612b4e89828a016127b5565b92509250509295509295509295565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b612b93816124dd565b8114612b9d575f80fd5b50565b5f81359050612bae81612b8a565b92915050565b5f60208284031215612bc957612bc8612455565b5b5f612bd684828501612ba0565b91505092915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612c2982612be3565b810181811067ffffffffffffffff82111715612c4857612c47612bf3565b5b80604052505050565b5f612c5a61244c565b9050612c668282612c20565b919050565b5f80fd5b5f67ffffffffffffffff821115612c8957612c88612bf3565b5b602082029050602081019050919050565b5f612cac612ca784612c6f565b612c51565b90508083825260208201905060208402830185811115612ccf57612cce612689565b5b835b81811015612cf85780612ce48882612556565b845260208401935050602081019050612cd1565b5050509392505050565b5f82601f830112612d1657612d15612681565b5b8135612d26848260208601612c9a565b91505092915050565b5f67ffffffffffffffff821115612d4957612d48612bf3565b5b602082029050602081019050919050565b5f612d6c612d6784612d2f565b612c51565b90508083825260208201905060208402830185811115612d8f57612d8e612689565b5b835b81811015612db85780612da488826125dc565b845260208401935050602081019050612d91565b5050509392505050565b5f82601f830112612dd657612dd5612681565b5b8135612de6848260208601612d5a565b91505092915050565b5f60608284031215612e0457612e03612bdf565b5b612e0e6060612c51565b90505f612e1d84828501612556565b5f83015250602082013567ffffffffffffffff811115612e4057612e3f612c6b565b5b612e4c84828501612d02565b602083015250604082013567ffffffffffffffff811115612e7057612e6f612c6b565b5b612e7c84828501612dc2565b60408301525092915050565b5f60208284031215612e9d57612e9c612455565b5b5f82013567ffffffffffffffff811115612eba57612eb9612459565b5b612ec684828501612def565b91505092915050565b60038110612edb575f80fd5b50565b5f81359050612eec81612ecf565b92915050565b5f80fd5b5f67ffffffffffffffff821115612f1057612f0f612bf3565b5b612f1982612be3565b9050602081019050919050565b828183375f83830152505050565b5f612f46612f4184612ef6565b612c51565b905082815260208101848484011115612f6257612f61612ef2565b5b612f6d848285612f26565b509392505050565b5f82601f830112612f8957612f88612681565b5b8135612f99848260208601612f34565b91505092915050565b5f60808284031215612fb757612fb6612bdf565b5b612fc16080612c51565b90505f612fd084828501612ede565b5f830152506020612fe384828501612556565b6020830152506040612ff784828501612556565b604083015250606082013567ffffffffffffffff81111561301b5761301a612c6b565b5b61302784828501612f75565b60608301525092915050565b5f6020828403121561304857613047612455565b5b5f82013567ffffffffffffffff81111561306557613064612459565b5b61307184828501612fa2565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f815190506130b5816125c6565b92915050565b5f602082840312156130d0576130cf612bdf565b5b6130da6020612c51565b90505f6130e9848285016130a7565b5f8301525092915050565b5f6020828403121561310957613108612455565b5b5f613116848285016130bb565b91505092915050565b8281835e5f83830152505050565b5f61313f61313a84612ef6565b612c51565b90508281526020810184848401111561315b5761315a612ef2565b5b61316684828561311f565b509392505050565b5f82601f83011261318257613181612681565b5b815161319284826020860161312d565b91505092915050565b5f606082840312156131b0576131af612bdf565b5b6131ba6060612c51565b90505f6131c9848285016130a7565b5f8301525060206131dc848285016130a7565b602083015250604082015167ffffffffffffffff811115613200576131ff612c6b565b5b61320c8482850161316e565b60408301525092915050565b5f6020828403121561322d5761322c612455565b5b5f82015167ffffffffffffffff81111561324a57613249612459565b5b6132568482850161319b565b91505092915050565b5f6040820190506132725f8301856129c8565b61327f602083018461259e565b9392505050565b5f6020828403121561329b5761329a612455565b5b5f6132a8848285016130a7565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f6132d5826132b1565b6132df81856132bb565b93506132ef81856020860161311f565b6132f881612be3565b840191505092915050565b5f60a0820190506133165f8301886129c8565b61332360208301876129c8565b613330604083018661259e565b61333d606083018561259e565b818103608083015261334f81846132cb565b90509695505050505050565b5f80fd5b5f80fd5b5f80fd5b5f80833560016020038436030381126133835761338261335b565b5b80840192508235915067ffffffffffffffff8211156133a5576133a461335f565b5b6020830192506001820236038313156133c1576133c0613363565b5b509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61340082612595565b915061340b83612595565b9250828201905080821115613423576134226133c9565b5b92915050565b5f60608201905061343c5f8301866129c8565b613449602083018561259e565b613456604083018461259e565b949350505050565b5f6060820190506134715f8301866129c8565b61347e60208301856129c8565b61348b604083018461259e565b94935050505056fea2646970667358221220c1bfb1478642fd79fec67a73804426335fe572337323b77d0ae5af9397dc0e4c64736f6c634300081a0033";
10
10
  var n = /* @__PURE__ */ ((d) => (d[d.MANAGER = 1n] = "MANAGER", d[d.ADMIN = 2n] = "ADMIN", d))(n || {});
11
- function H(d) {
11
+ function S(d) {
12
12
  return d.tokenId === void 0;
13
13
  }
14
14
  function $(d) {
15
15
  return d.tokenId !== void 0;
16
16
  }
17
17
  function r(d) {
18
- if (H(d))
19
- return J(d);
18
+ if (S(d))
19
+ return H(d);
20
20
  if ($(d))
21
- return Q(d);
22
- throw new I(d);
21
+ return J(d);
22
+ throw new O(d);
23
23
  }
24
- const i = class i extends U {
24
+ const i = class i extends F {
25
25
  constructor() {
26
26
  super(...arguments), this.abi = o;
27
27
  }
@@ -245,7 +245,7 @@ const i = class i extends U {
245
245
  * @returns {unknown}
246
246
  */
247
247
  async grantRolesRaw(f, b, a) {
248
- const { request: e, result: c } = await V(
248
+ const { request: e, result: c } = await T(
249
249
  this._config,
250
250
  {
251
251
  address: this.assertValidAddress(),
@@ -255,7 +255,7 @@ const i = class i extends U {
255
255
  ...a
256
256
  }
257
257
  );
258
- return { hash: await T(
258
+ return { hash: await V(
259
259
  this._config,
260
260
  // biome-ignore lint/suspicious/noExplicitAny: negligible low level lack of type intersection
261
261
  e
@@ -294,7 +294,7 @@ const i = class i extends U {
294
294
  * @returns {unknown}
295
295
  */
296
296
  async revokeRolesRaw(f, b, a) {
297
- const { request: e, result: c } = await P(
297
+ const { request: e, result: c } = await q(
298
298
  this._config,
299
299
  {
300
300
  address: this.assertValidAddress(),
@@ -304,7 +304,7 @@ const i = class i extends U {
304
304
  ...a
305
305
  }
306
306
  );
307
- return { hash: await D(
307
+ return { hash: await v(
308
308
  this._config,
309
309
  // biome-ignore lint/suspicious/noExplicitAny: negligible low level lack of type intersection
310
310
  e
@@ -321,7 +321,7 @@ const i = class i extends U {
321
321
  * @returns {Promise<Array<ManagedBudgetRoles>>}
322
322
  */
323
323
  async rolesOf(f, b) {
324
- const a = await E(this._config, {
324
+ const a = await D(this._config, {
325
325
  address: this.assertValidAddress(),
326
326
  args: [f],
327
327
  ...this.optionallyAttachAccount(),
@@ -348,7 +348,7 @@ const i = class i extends U {
348
348
  * @returns {Promise<boolean>}
349
349
  */
350
350
  hasAnyRole(f, b, a) {
351
- return q(this._config, {
351
+ return E(this._config, {
352
352
  address: this.assertValidAddress(),
353
353
  args: [f, b],
354
354
  ...this.optionallyAttachAccount(),
@@ -370,7 +370,7 @@ const i = class i extends U {
370
370
  * @returns {*}
371
371
  */
372
372
  hasAllRoles(f, b, a) {
373
- return v(this._config, {
373
+ return P(this._config, {
374
374
  address: this.assertValidAddress(),
375
375
  args: [f, b],
376
376
  ...this.optionallyAttachAccount(),
@@ -403,7 +403,7 @@ const i = class i extends U {
403
403
  * @returns {Promise<Address>}
404
404
  */
405
405
  owner(f) {
406
- return C(this._config, {
406
+ return z(this._config, {
407
407
  address: this.assertValidAddress(),
408
408
  args: [],
409
409
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -421,7 +421,7 @@ const i = class i extends U {
421
421
  * @returns {Promise<bigint>} - The total amount of assets
422
422
  */
423
423
  total(f = t, b, a) {
424
- return F(this._config, {
424
+ return G(this._config, {
425
425
  address: this.assertValidAddress(),
426
426
  args: b ? [f, b] : [f],
427
427
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -439,7 +439,7 @@ const i = class i extends U {
439
439
  * @returns {Promise<bigint>} - The amount of assets available
440
440
  */
441
441
  available(f = t, b, a) {
442
- return B(this._config, {
442
+ return M(this._config, {
443
443
  address: this.assertValidAddress(),
444
444
  args: b ? [f, b] : [f],
445
445
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -457,7 +457,7 @@ const i = class i extends U {
457
457
  * @returns {Promise<bigint>} - The amount of assets distributed
458
458
  */
459
459
  distributed(f = t, b, a) {
460
- return z(this._config, {
460
+ return N(this._config, {
461
461
  address: this.assertValidAddress(),
462
462
  args: b ? [f, b] : [f],
463
463
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -479,31 +479,30 @@ const i = class i extends U {
479
479
  b
480
480
  );
481
481
  if (!a.owner || a.owner === t) {
482
- const s = e.account ? e.account.address : e.config ? N(e.config).address : (c = this._account) == null ? void 0 : c.address;
482
+ const s = e.account ? e.account.address : e.config ? x(e.config).address : (c = this._account) == null ? void 0 : c.address;
483
483
  if (s)
484
484
  a.owner = s;
485
485
  else
486
- throw new O();
486
+ throw new I();
487
487
  }
488
488
  return {
489
489
  abi: o,
490
- bytecode: Y,
490
+ bytecode: L,
491
491
  args: [j(a)],
492
492
  ...this.optionallyAttachAccount(e.account)
493
493
  };
494
494
  }
495
495
  };
496
496
  i.bases = {
497
- ...M,
498
- 31337: "0xC7091Ca16F98C661F3B64b4fA0D85ffFFE93f5BD"
499
- }, i.registryType = S.BUDGET;
497
+ ...B
498
+ }, i.registryType = K.BUDGET;
500
499
  let h = i;
501
500
  const j = ({
502
501
  owner: d,
503
502
  authorized: f,
504
503
  roles: b
505
- }) => x(
506
- G([
504
+ }) => C(
505
+ U([
507
506
  "ManagedBudgetPayload payload",
508
507
  "struct ManagedBudgetPayload { address owner; address[] authorized; uint256[] roles; }"
509
508
  ]),
@@ -513,7 +512,7 @@ export {
513
512
  h as ManagedBudget,
514
513
  n as ManagedBudgetRoles,
515
514
  $ as isERC1155TransferPayload,
516
- H as isFungibleTransfer,
515
+ S as isFungibleTransfer,
517
516
  o as managedBudgetAbi,
518
517
  j as prepareManagedBudgetPayload,
519
518
  r as prepareTransfer
@@ -1 +1 @@
1
- {"version":3,"file":"ManagedBudget.js","sources":["../../src/Budgets/ManagedBudget.ts"],"sourcesContent":["import {\n managedBudgetAbi,\n readManagedBudgetAvailable,\n readManagedBudgetDistributed,\n readManagedBudgetHasAllRoles,\n readManagedBudgetHasAnyRole,\n readManagedBudgetIsAuthorized,\n readManagedBudgetOwner,\n readManagedBudgetRolesOf,\n readManagedBudgetTotal,\n simulateManagedBudgetAllocate,\n simulateManagedBudgetClawback,\n simulateManagedBudgetDisburse,\n simulateManagedBudgetDisburseBatch,\n simulateManagedBudgetGrantRoles,\n simulateManagedBudgetRevokeRoles,\n simulateManagedBudgetSetAuthorized,\n writeManagedBudgetAllocate,\n writeManagedBudgetClawback,\n writeManagedBudgetDisburse,\n writeManagedBudgetDisburseBatch,\n writeManagedBudgetGrantRoles,\n writeManagedBudgetRevokeRoles,\n writeManagedBudgetSetAuthorized,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/budgets/ManagedBudget.sol/ManagedBudget.json';\nimport { getAccount } from '@wagmi/core';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n parseAbiParameters,\n zeroAddress,\n} from 'viem';\nimport { ManagedBudget as ManagedBudgetBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport {\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 {DeployableTarget<ManagedBudgetPayload>}\n */\nexport class ManagedBudget extends DeployableTarget<\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 31337: import.meta.env.VITE_MANAGED_BUDGET_BASE,\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 * Set the authorized status of the given accounts\n * The mechanism for managing authorization is left to the implementing contract\n *\n * @public\n * @async\n * @param {Address[]} addresses - The accounts to authorize or deauthorize\n * @param {boolean[]} allowed - The authorization status for the given accounts\n * @param {?WriteParams<typeof managedBudgetAbi, 'setAuthorized'>} [params]\n * @returns {Promise<void>}\n */\n public async setAuthorized(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof managedBudgetAbi, 'setAuthorized'>,\n ) {\n return await this.awaitResult(\n this.setAuthorizedRaw(addresses, allowed, params),\n );\n }\n\n /**\n * Set the authorized status of the given accounts\n * The mechanism for managing authorization is left to the implementing contract\n *\n * @public\n * @async\n * @param {Address[]} addresses - The accounts to authorize or deauthorize\n * @param {boolean[]} allowed - The authorization status for the given accounts\n * @param {?WriteParams<typeof managedBudgetAbi, 'setAuthorized'>} [params]\n * @returns {Promise<void>}\n */\n public async setAuthorizedRaw(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof managedBudgetAbi, 'setAuthorized'>,\n ) {\n const { request, result } = await simulateManagedBudgetSetAuthorized(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, allowed],\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 writeManagedBudgetSetAuthorized(this._config, request);\n return { hash, result };\n }\n\n /**\n * Grant many accounts permissions on the budget.\n *\n * @example\n * ```ts\n * await budget.grantRoles(['0xfoo', '0xbar], [ManagedBudgetRoles.MANAGER, ManagedBudgetRoles.ADMIN])\n * ```\n * @public\n * @async\n * @param {Address[]} addresses\n * @param {ManagedBudgetRoles[]} roles\n * @param {?WriteParams<typeof managedBudgetAbi, 'grantRoles'>} [params]\n * @returns {unknown}\n */\n public async grantRoles(\n addresses: Address[],\n roles: ManagedBudgetRoles[],\n params?: WriteParams<typeof managedBudgetAbi, 'grantRoles'>,\n ) {\n return await this.awaitResult(this.grantRolesRaw(addresses, roles, params));\n }\n\n /**\n * Grant many accounts permissions on the budget.\n *\n * @example\n * ```ts\n * await budget.grantRoles(['0xfoo', '0xbar], [ManagedBudgetRoles.MANAGER, ManagedBudgetRoles.ADMIN])\n *\n * @public\n * @async\n * @param {Address[]} addresses\n * @param {ManagedBudgetRoles[]} roles\n * @param {?WriteParams<typeof managedBudgetAbi, 'grantRoles'>} [params]\n * @returns {unknown}\n */\n public async grantRolesRaw(\n addresses: Address[],\n roles: ManagedBudgetRoles[],\n params?: WriteParams<typeof managedBudgetAbi, 'grantRoles'>,\n ) {\n const { request, result } = await simulateManagedBudgetGrantRoles(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, roles],\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 writeManagedBudgetGrantRoles(\n this._config,\n // biome-ignore lint/suspicious/noExplicitAny: negligible low level lack of type intersection\n request as any,\n );\n return { hash, result };\n }\n\n /**\n * Revoke many accounts' permissions on the budget.\n *\n * @example\n * ```ts\n * await budget.revokeRoles(['0xfoo', '0xbar], [ManagedBudgetRoles.MANAGER, ManagedBudgetRoles.ADMIN])\n *\n * @public\n * @async\n * @param {Address[]} addresses\n * @param {ManagedBudgetRoles[]} roles\n * @param {?WriteParams<typeof managedBudgetAbi, 'revokeRoles'>} [params]\n * @returns {unknown}\n */\n public async revokeRoles(\n addresses: Address[],\n roles: ManagedBudgetRoles[],\n params?: WriteParams<typeof managedBudgetAbi, 'revokeRoles'>,\n ) {\n return await this.awaitResult(\n this.revokeRolesRaw(addresses, roles, params),\n );\n }\n\n /**\n * Revoke many accounts' permissions on the budget.\n *\n * @example\n * ```ts\n * await budget.revokeRoles(['0xfoo', '0xbar], [ManagedBudgetRoles.MANAGER, ManagedBudgetRoles.ADMIN])\n * @public\n * @async\n * @param {Address[]} addresses\n * @param {ManagedBudgetRoles[]} roles\n * @param {?WriteParams<typeof managedBudgetAbi, 'revokeRoles'>} [params]\n * @returns {unknown}\n */\n public async revokeRolesRaw(\n addresses: Address[],\n roles: ManagedBudgetRoles[],\n params?: WriteParams<typeof managedBudgetAbi, 'revokeRoles'>,\n ) {\n const { request, result } = await simulateManagedBudgetRevokeRoles(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, roles],\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 writeManagedBudgetRevokeRoles(\n this._config,\n // biome-ignore lint/suspicious/noExplicitAny: negligible low level lack of type intersection\n request as any,\n );\n return { hash, result };\n }\n\n /**\n * Return an array of the roles assigned to the given account.\n * @example\n * ```ts\n * (await budget.rolesOf(0xfoo)).includes(ManagedBudgetRoles.ADMIN)\n * @public\n * @param {Address} account\n * @param {?ReadParams<typeof managedBudgetAbi, 'rolesOf'>} [params]\n * @returns {Promise<Array<ManagedBudgetRoles>>}\n */\n public async rolesOf(\n account: Address,\n params?: ReadParams<typeof managedBudgetAbi, 'rolesOf'>,\n ) {\n const roles = await readManagedBudgetRolesOf(this._config, {\n address: this.assertValidAddress(),\n args: [account],\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 return (\n [\n ManagedBudgetRoles.MANAGER,\n ManagedBudgetRoles.ADMIN,\n ] as unknown as Array<bigint>\n ).filter(\n (role) => (roles & role) === role,\n ) as unknown as ManagedBudgetRoles[];\n }\n\n /**\n * Returns whether given account has any of the provided roles bitmap.\n *\n * @example\n * ```ts\n * await budget.hasAnyRole(0xfoo, ManagedBudgetRoles.ADMIN | ManagedBudgetRoles.MANAGER)\n * @public\n * @param {Address} account\n * @param {ManagedBudgetRoles} roles\n * @param {?ReadParams<typeof managedBudgetAbi, 'hasAnyRole'>} [params]\n * @returns {Promise<boolean>}\n */\n public hasAnyRole(\n account: Address,\n roles: ManagedBudgetRoles,\n params?: ReadParams<typeof managedBudgetAbi, 'hasAnyRole'>,\n ) {\n return readManagedBudgetHasAnyRole(this._config, {\n address: this.assertValidAddress(),\n args: [account, roles],\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\n /**\n * Returns whether given account has all of the provided roles bitmap.\n *\n * @example\n * ```ts\n * await budget.hasAllRoles(0xfoo, ManagedBudgetRoles.ADMIN & ManagedBudgetRoles.MANAGER)\n *\n * @public\n * @param {Address} account\n * @param {ManagedBudgetRoles} roles\n * @param {?ReadParams<typeof managedBudgetAbi, 'hasAllRoles'>} [params]\n * @returns {*}\n */\n public hasAllRoles(\n account: Address,\n roles: ManagedBudgetRoles,\n params?: ReadParams<typeof managedBudgetAbi, 'hasAllRoles'>,\n ) {\n return readManagedBudgetHasAllRoles(this._config, {\n address: this.assertValidAddress(),\n args: [account, roles],\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\n /**\n * Check if the given account is authorized to use the budget\n *\n * @public\n * @param {Address} account\n * @param {?ReadParams<typeof managedBudgetAbi, 'isAuthorized'>} [params]\n * @returns {Promise<boolean>} - True if the account is authorized\n */\n public isAuthorized(\n account: Address,\n params?: ReadParams<typeof managedBudgetAbi, 'isAuthorized'>,\n ) {\n return readManagedBudgetIsAuthorized(this._config, {\n address: this.assertValidAddress(),\n args: [account],\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\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","DeployableTarget","managedBudgetAbi","params","request","result","simulateManagedBudgetAllocate","writeManagedBudgetAllocate","simulateManagedBudgetClawback","writeManagedBudgetClawback","simulateManagedBudgetDisburse","writeManagedBudgetDisburse","transfers","simulateManagedBudgetDisburseBatch","writeManagedBudgetDisburseBatch","addresses","allowed","simulateManagedBudgetSetAuthorized","writeManagedBudgetSetAuthorized","roles","simulateManagedBudgetGrantRoles","writeManagedBudgetGrantRoles","simulateManagedBudgetRevokeRoles","writeManagedBudgetRevokeRoles","account","readManagedBudgetRolesOf","role","readManagedBudgetHasAnyRole","readManagedBudgetHasAllRoles","readManagedBudgetIsAuthorized","readManagedBudgetOwner","asset","zeroAddress","tokenId","readManagedBudgetTotal","readManagedBudgetAvailable","readManagedBudgetDistributed","_payload","_options","payload","options","owner","getAccount","_a","DeployableUnknownOwnerProvidedError","bytecode","prepareManagedBudgetPayload","ManagedBudgetBases","RegistryType","ManagedBudget","authorized","encodeAbiParameters","parseAbiParameters"],"mappings":"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"}
1
+ {"version":3,"file":"ManagedBudget.js","sources":["../../src/Budgets/ManagedBudget.ts"],"sourcesContent":["import {\n managedBudgetAbi,\n readManagedBudgetAvailable,\n readManagedBudgetDistributed,\n readManagedBudgetHasAllRoles,\n readManagedBudgetHasAnyRole,\n readManagedBudgetIsAuthorized,\n readManagedBudgetOwner,\n readManagedBudgetRolesOf,\n readManagedBudgetTotal,\n simulateManagedBudgetAllocate,\n simulateManagedBudgetClawback,\n simulateManagedBudgetDisburse,\n simulateManagedBudgetDisburseBatch,\n simulateManagedBudgetGrantRoles,\n simulateManagedBudgetRevokeRoles,\n simulateManagedBudgetSetAuthorized,\n writeManagedBudgetAllocate,\n writeManagedBudgetClawback,\n writeManagedBudgetDisburse,\n writeManagedBudgetDisburseBatch,\n writeManagedBudgetGrantRoles,\n writeManagedBudgetRevokeRoles,\n writeManagedBudgetSetAuthorized,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/budgets/ManagedBudget.sol/ManagedBudget.json';\nimport { getAccount } from '@wagmi/core';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n parseAbiParameters,\n zeroAddress,\n} from 'viem';\nimport { ManagedBudget as ManagedBudgetBases } from '../../dist/deployments.json';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport {\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 {DeployableTarget<ManagedBudgetPayload>}\n */\nexport class ManagedBudget extends DeployableTarget<\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 * Set the authorized status of the given accounts\n * The mechanism for managing authorization is left to the implementing contract\n *\n * @public\n * @async\n * @param {Address[]} addresses - The accounts to authorize or deauthorize\n * @param {boolean[]} allowed - The authorization status for the given accounts\n * @param {?WriteParams<typeof managedBudgetAbi, 'setAuthorized'>} [params]\n * @returns {Promise<void>}\n */\n public async setAuthorized(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof managedBudgetAbi, 'setAuthorized'>,\n ) {\n return await this.awaitResult(\n this.setAuthorizedRaw(addresses, allowed, params),\n );\n }\n\n /**\n * Set the authorized status of the given accounts\n * The mechanism for managing authorization is left to the implementing contract\n *\n * @public\n * @async\n * @param {Address[]} addresses - The accounts to authorize or deauthorize\n * @param {boolean[]} allowed - The authorization status for the given accounts\n * @param {?WriteParams<typeof managedBudgetAbi, 'setAuthorized'>} [params]\n * @returns {Promise<void>}\n */\n public async setAuthorizedRaw(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof managedBudgetAbi, 'setAuthorized'>,\n ) {\n const { request, result } = await simulateManagedBudgetSetAuthorized(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, allowed],\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 writeManagedBudgetSetAuthorized(this._config, request);\n return { hash, result };\n }\n\n /**\n * Grant many accounts permissions on the budget.\n *\n * @example\n * ```ts\n * await budget.grantRoles(['0xfoo', '0xbar], [ManagedBudgetRoles.MANAGER, ManagedBudgetRoles.ADMIN])\n * ```\n * @public\n * @async\n * @param {Address[]} addresses\n * @param {ManagedBudgetRoles[]} roles\n * @param {?WriteParams<typeof managedBudgetAbi, 'grantRoles'>} [params]\n * @returns {unknown}\n */\n public async grantRoles(\n addresses: Address[],\n roles: ManagedBudgetRoles[],\n params?: WriteParams<typeof managedBudgetAbi, 'grantRoles'>,\n ) {\n return await this.awaitResult(this.grantRolesRaw(addresses, roles, params));\n }\n\n /**\n * Grant many accounts permissions on the budget.\n *\n * @example\n * ```ts\n * await budget.grantRoles(['0xfoo', '0xbar], [ManagedBudgetRoles.MANAGER, ManagedBudgetRoles.ADMIN])\n *\n * @public\n * @async\n * @param {Address[]} addresses\n * @param {ManagedBudgetRoles[]} roles\n * @param {?WriteParams<typeof managedBudgetAbi, 'grantRoles'>} [params]\n * @returns {unknown}\n */\n public async grantRolesRaw(\n addresses: Address[],\n roles: ManagedBudgetRoles[],\n params?: WriteParams<typeof managedBudgetAbi, 'grantRoles'>,\n ) {\n const { request, result } = await simulateManagedBudgetGrantRoles(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, roles],\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 writeManagedBudgetGrantRoles(\n this._config,\n // biome-ignore lint/suspicious/noExplicitAny: negligible low level lack of type intersection\n request as any,\n );\n return { hash, result };\n }\n\n /**\n * Revoke many accounts' permissions on the budget.\n *\n * @example\n * ```ts\n * await budget.revokeRoles(['0xfoo', '0xbar], [ManagedBudgetRoles.MANAGER, ManagedBudgetRoles.ADMIN])\n *\n * @public\n * @async\n * @param {Address[]} addresses\n * @param {ManagedBudgetRoles[]} roles\n * @param {?WriteParams<typeof managedBudgetAbi, 'revokeRoles'>} [params]\n * @returns {unknown}\n */\n public async revokeRoles(\n addresses: Address[],\n roles: ManagedBudgetRoles[],\n params?: WriteParams<typeof managedBudgetAbi, 'revokeRoles'>,\n ) {\n return await this.awaitResult(\n this.revokeRolesRaw(addresses, roles, params),\n );\n }\n\n /**\n * Revoke many accounts' permissions on the budget.\n *\n * @example\n * ```ts\n * await budget.revokeRoles(['0xfoo', '0xbar], [ManagedBudgetRoles.MANAGER, ManagedBudgetRoles.ADMIN])\n * @public\n * @async\n * @param {Address[]} addresses\n * @param {ManagedBudgetRoles[]} roles\n * @param {?WriteParams<typeof managedBudgetAbi, 'revokeRoles'>} [params]\n * @returns {unknown}\n */\n public async revokeRolesRaw(\n addresses: Address[],\n roles: ManagedBudgetRoles[],\n params?: WriteParams<typeof managedBudgetAbi, 'revokeRoles'>,\n ) {\n const { request, result } = await simulateManagedBudgetRevokeRoles(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, roles],\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 writeManagedBudgetRevokeRoles(\n this._config,\n // biome-ignore lint/suspicious/noExplicitAny: negligible low level lack of type intersection\n request as any,\n );\n return { hash, result };\n }\n\n /**\n * Return an array of the roles assigned to the given account.\n * @example\n * ```ts\n * (await budget.rolesOf(0xfoo)).includes(ManagedBudgetRoles.ADMIN)\n * @public\n * @param {Address} account\n * @param {?ReadParams<typeof managedBudgetAbi, 'rolesOf'>} [params]\n * @returns {Promise<Array<ManagedBudgetRoles>>}\n */\n public async rolesOf(\n account: Address,\n params?: ReadParams<typeof managedBudgetAbi, 'rolesOf'>,\n ) {\n const roles = await readManagedBudgetRolesOf(this._config, {\n address: this.assertValidAddress(),\n args: [account],\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 return (\n [\n ManagedBudgetRoles.MANAGER,\n ManagedBudgetRoles.ADMIN,\n ] as unknown as Array<bigint>\n ).filter(\n (role) => (roles & role) === role,\n ) as unknown as ManagedBudgetRoles[];\n }\n\n /**\n * Returns whether given account has any of the provided roles bitmap.\n *\n * @example\n * ```ts\n * await budget.hasAnyRole(0xfoo, ManagedBudgetRoles.ADMIN | ManagedBudgetRoles.MANAGER)\n * @public\n * @param {Address} account\n * @param {ManagedBudgetRoles} roles\n * @param {?ReadParams<typeof managedBudgetAbi, 'hasAnyRole'>} [params]\n * @returns {Promise<boolean>}\n */\n public hasAnyRole(\n account: Address,\n roles: ManagedBudgetRoles,\n params?: ReadParams<typeof managedBudgetAbi, 'hasAnyRole'>,\n ) {\n return readManagedBudgetHasAnyRole(this._config, {\n address: this.assertValidAddress(),\n args: [account, roles],\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\n /**\n * Returns whether given account has all of the provided roles bitmap.\n *\n * @example\n * ```ts\n * await budget.hasAllRoles(0xfoo, ManagedBudgetRoles.ADMIN & ManagedBudgetRoles.MANAGER)\n *\n * @public\n * @param {Address} account\n * @param {ManagedBudgetRoles} roles\n * @param {?ReadParams<typeof managedBudgetAbi, 'hasAllRoles'>} [params]\n * @returns {*}\n */\n public hasAllRoles(\n account: Address,\n roles: ManagedBudgetRoles,\n params?: ReadParams<typeof managedBudgetAbi, 'hasAllRoles'>,\n ) {\n return readManagedBudgetHasAllRoles(this._config, {\n address: this.assertValidAddress(),\n args: [account, roles],\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\n /**\n * Check if the given account is authorized to use the budget\n *\n * @public\n * @param {Address} account\n * @param {?ReadParams<typeof managedBudgetAbi, 'isAuthorized'>} [params]\n * @returns {Promise<boolean>} - True if the account is authorized\n */\n public isAuthorized(\n account: Address,\n params?: ReadParams<typeof managedBudgetAbi, 'isAuthorized'>,\n ) {\n return readManagedBudgetIsAuthorized(this._config, {\n address: this.assertValidAddress(),\n args: [account],\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\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","DeployableTarget","managedBudgetAbi","params","request","result","simulateManagedBudgetAllocate","writeManagedBudgetAllocate","simulateManagedBudgetClawback","writeManagedBudgetClawback","simulateManagedBudgetDisburse","writeManagedBudgetDisburse","transfers","simulateManagedBudgetDisburseBatch","writeManagedBudgetDisburseBatch","addresses","allowed","simulateManagedBudgetSetAuthorized","writeManagedBudgetSetAuthorized","roles","simulateManagedBudgetGrantRoles","writeManagedBudgetGrantRoles","simulateManagedBudgetRevokeRoles","writeManagedBudgetRevokeRoles","account","readManagedBudgetRolesOf","role","readManagedBudgetHasAnyRole","readManagedBudgetHasAllRoles","readManagedBudgetIsAuthorized","readManagedBudgetOwner","asset","zeroAddress","tokenId","readManagedBudgetTotal","readManagedBudgetAvailable","readManagedBudgetDistributed","_payload","_options","payload","options","owner","getAccount","_a","DeployableUnknownOwnerProvidedError","bytecode","prepareManagedBudgetPayload","ManagedBudgetBases","RegistryType","ManagedBudget","authorized","encodeAbiParameters","parseAbiParameters"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleBudget.d.ts","sourceRoot":"","sources":["../../src/Budgets/SimpleBudget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SimpleBudget.d.ts","sourceRoot":"","sources":["../../src/Budgets/SimpleBudget.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"VestingBudget.d.ts","sourceRoot":"","sources":["../../src/Budgets/VestingBudget.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,gBAAgB,EAMjB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAKvB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,YAAY,EAAE,uBAAuB,EAAE,CAAC;AACxC;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,UAAU,EAAE,OAAO,EAAE,CAAC;IACtB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,CAC1B,KAAK,SAAS,iBAAiB,CAAC,OAAO,gBAAgB,CAAC,GAAG,iBAAiB,CAC1E,OAAO,gBAAgB,CACxB,IACC,UAAU,CAAC,OAAO,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAc,SAAQ,gBAAgB,CACjD,oBAAoB,EACpB,OAAO,gBAAgB,CACxB;IACC,SAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAoB;IAChD;;;;;;OAMG;IACH,OAAuB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEnD;IACF;;;;;;OAMG;IACH,OAAuB,YAAY,EAAE,YAAY,CAAuB;IAExE;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,OAAO,CAAC;IASlE;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,OAAO,CAAC;IASlE;;;;;;OAMG;IACI,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;IASxE;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,OAAO,CAAC;IASlE;;;;;;;;;;OAUG;IACU,QAAQ,CACnB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;IAK3D;;;;;;;;;;OAUG;IACU,WAAW,CACtB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;;;;IAgB3D;;;;;;;;;;;OAWG;IACU,QAAQ,CACnB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;IAK3D;;;;;;;;;;;OAWG;IACU,WAAW,CACtB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;;;;IAgB3D;;;;;;;;;OASG;IACU,QAAQ,CACnB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;IAK3D;;;;;;;;;OASG;IACU,WAAW,CACtB,QAAQ,EAAE,uBAAuB,EACjC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC;;;;IAgB3D;;;;;;;;OAQG;IACU,aAAa,CACxB,SAAS,EAAE,uBAAuB,EAAE,EACpC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,eAAe,CAAC;IAKhE;;;;;;;;OAQG;IACU,gBAAgB,CAC3B,SAAS,EAAE,uBAAuB,EAAE,EACpC,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,eAAe,CAAC;;;;IAgBhE;;;;;;;;;;OAUG;IACU,aAAa,CACxB,SAAS,EAAE,OAAO,EAAE,EACpB,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,eAAe,CAAC;IAOhE;;;;;;;;;;OAUG;IACU,gBAAgB,CAC3B,SAAS,EAAE,OAAO,EAAE,EACpB,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,gBAAgB,EAAE,eAAe,CAAC;;;;IAgBhE;;;;;;;OAOG;IACI,YAAY,CACjB,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,cAAc,CAAC;IAU9D;;;;;;OAMG;IACI,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,KAAK,CAAC;IAS9D;;;;;;;;OAQG;IACI,KAAK,CACV,KAAK,GAAE,OAAqB,EAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,OAAO,CAAC;IAUvD;;;;;;;;OAQG;IACI,SAAS,CACd,KAAK,GAAE,OAAqB,EAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,WAAW,CAAC;IAU3D;;;;;;;OAOG;IACI,WAAW,CAChB,KAAK,GAAE,OAAqB,EAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,EAAE,aAAa,CAAC;IAU7D;;;;;;;OAOG;IACa,eAAe,CAC7B,QAAQ,CAAC,EAAE,oBAAoB,EAC/B,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,uBAAuB;CAwB3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,KAAK,EACL,UAAU,EACV,KAAK,EACL,QAAQ,EACR,KAAK,GACN,EAAE,oBAAoB,iBAQtB"}
1
+ {"version":3,"file":"VestingBudget.d.ts","sourceRoot":"","sources":["../../src/Budgets/VestingBudget.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Contract.cjs","sources":["../../src/Deployable/Contract.ts"],"sourcesContent":["import { type Config, watchContractEvent } from '@wagmi/core';\nimport type { ExtractAbiEvent } from 'abitype';\nimport {\n type Abi,\n type Address,\n type ContractEventName,\n type GetLogsReturnType,\n type WaitForTransactionReceiptParameters,\n type WatchContractEventOnLogsParameter,\n getAbiItem,\n} from 'viem';\nimport { getLogs } from 'viem/actions';\nimport { ContractAddressRequiredError } from '../errors';\nimport {\n type GetLogsParams,\n type HashAndSimulatedResult,\n type WatchParams,\n awaitResult,\n} from '../utils';\n\n/**\n * A basic Contract class to encapsulate configuration and a potential address\n *\n * @export\n * @class Contract\n * @typedef {Contract}\n * @template {Abi} [ContractAbi=[]]\n * @template {ContractEventName<ContractAbi>} [ContractEvent=any]\n */\nexport class Contract<ContractAbi extends Abi> {\n //@ts-expect-error this should always be set by implementing contract\n public readonly abi: ContractAbi;\n /**\n * @see [Wagmi Configuration](https://wagmi.sh/core/api/createConfig)\n * @protected\n * @type {WagmiConfig}\n */\n protected _config: Config;\n /**\n * The internally managed address for this contract\n *\n * @protected\n * @type {(Address | undefined)}\n */\n protected _address: Address | undefined;\n\n /**\n * Creates an instance of Contract.\n *\n * @constructor\n * @param {Config} config\n * @param {(Address | undefined)} address\n */\n constructor(config: Config, address: Address | undefined) {\n this._config = config;\n this._address = address;\n }\n\n /**\n * A getter returning this contract's deployed address, if it exists.\n *\n * @public\n * @readonly\n * @type {*}\n */\n public get address() {\n return this._address;\n }\n\n /**\n * Will set this contract's address and return the instance for chaining. Does not verify that provided address is valid.\n *\n * @public\n * @param {Address} address\n * @returns {this}\n */\n public at(address: Address) {\n this._address = address;\n return this;\n }\n\n /**\n * Will set this contract's internal [Wagmi Configuration](https://en.wikipedia.org/wiki/Factorial) and return the instance for chaining.\n *\n * @public\n * @param {Config} config\n * @returns {this}\n */\n public withConfig(config: Config) {\n this._config = config;\n return this;\n }\n\n /**\n * Utility function to validate the existence of an address on this Contract.\n *\n * @public\n * @returns {Address}\n * @throws {@link ContractAddressRequiredError} if no address exists on this Contract instance\n */\n public assertValidAddress() {\n const address = this.address;\n if (!address) throw new ContractAddressRequiredError();\n return address;\n }\n\n /**\n * A typed wrapper for (viem.getLogs)[https://viem.sh/docs/actions/public/getLogs#getlogs].\n * Accepts `eventName` and `eventNames` as optional parameters to narrow the returned log types.\n * @example\n * ```ts\n * const logs = contract.getLogs({ eventName: 'EventName' })\n * const logs = contract.getLogs({ eventNames: ['EventName'] })\n *\n * @public\n * @async\n * @template {ContractEvent} event\n * @template {ExtractAbiEvent<\n * ContractAbi,\n * event\n * >} [abiEvent=ExtractAbiEvent<ContractAbi, event>]\n * @param {?Omit<\n * GetLogsParams<ContractAbi, event, abiEvent, abiEvent[]>,\n * 'event' | 'events'\n * > & {\n * eventName?: event;\n * eventNames?: event[];\n * }} [params]\n * @returns {Promise<GetLogsReturnType<abiEvent, abiEvent[]>>}\n */\n public async getLogs<\n event extends ContractEventName<ContractAbi>,\n const abiEvent extends ExtractAbiEvent<\n ContractAbi,\n event\n > = ExtractAbiEvent<ContractAbi, event>,\n >(\n params?: Omit<\n GetLogsParams<ContractAbi, event, abiEvent, abiEvent[]>,\n 'event' | 'events'\n > & {\n eventName?: event;\n eventNames?: event[];\n },\n ): Promise<GetLogsReturnType<abiEvent, abiEvent[]>> {\n return getLogs(this._config.getClient({ chainId: params?.chainId }), {\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wag\n ...(params as any),\n ...(params?.eventName\n ? {\n event: getAbiItem({\n abi: this.abi,\n name: params.eventName,\n // biome-ignore lint/suspicious/noExplicitAny: awkward abi intersection issue\n } as any),\n }\n : {}),\n ...(params?.eventNames\n ? {\n events: params.eventNames.map((name) =>\n getAbiItem({\n abi: this.abi,\n name,\n // biome-ignore lint/suspicious/noExplicitAny: awkward abi intersection issue\n } as any),\n ),\n }\n : {}),\n address: this.assertValidAddress(),\n });\n }\n\n /**\n * A typed wrapper for `wagmi.watchContractEvent`\n *\n * @public\n * @async\n * @template {ContractEvent} event\n * @param {(\n * log: WatchContractEventOnLogsParameter<ContractAbi, event, true>[number],\n * ) => unknown} cb\n * @param {?WatchParams<ContractAbi, event> & {\n * eventName?: event;\n * }} [params]\n * @returns {unknown, params?: any) => unknown}\n */\n public async subscribe<event extends ContractEventName<ContractAbi>>(\n cb: (\n log: WatchContractEventOnLogsParameter<ContractAbi, event, true>[number],\n ) => unknown,\n params?: WatchParams<ContractAbi, event> & {\n eventName?: event;\n },\n ) {\n return watchContractEvent<\n typeof this._config,\n (typeof this._config)['chains'][number]['id'],\n ContractAbi,\n event\n >(this._config, {\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n eventName: params?.eventName,\n abi: this.abi,\n address: this.assertValidAddress(),\n onLogs: (logs) => {\n for (let l of logs) {\n cb(l);\n }\n },\n });\n }\n\n /**\n * @see {@link awaitResult}\n * @protected\n * @async\n * @template [Result=unknown]\n * @param {Promise<HashAndSimulatedResult<Result>>} hashPromise\n * @param {?Omit<WaitForTransactionReceiptParameters, 'hash'>} [waitParams]\n * @returns {unknown}\n */\n protected async awaitResult<Result = unknown>(\n hashPromise: Promise<HashAndSimulatedResult<Result>>,\n waitParams?: Omit<WaitForTransactionReceiptParameters, 'hash'>,\n ) {\n return await awaitResult(this._config, hashPromise, waitParams);\n }\n}\n"],"names":["Contract","config","address","ContractAddressRequiredError","params","getLogs","getAbiItem","name","cb","watchContractEvent","logs","l","hashPromise","waitParams","awaitResult"],"mappings":"gNA6BO,MAAMA,CAAkC,CAwB7C,YAAYC,EAAgBC,EAA8B,CACxD,KAAK,QAAUD,EACf,KAAK,SAAWC,CAClB,CASA,IAAW,SAAU,CACnB,OAAO,KAAK,QACd,CASO,GAAGA,EAAkB,CAC1B,YAAK,SAAWA,EACT,IACT,CASO,WAAWD,EAAgB,CAChC,YAAK,QAAUA,EACR,IACT,CASO,oBAAqB,CAC1B,MAAMC,EAAU,KAAK,QACrB,GAAI,CAACA,EAAS,MAAM,IAAIC,EAA6B,6BAC9C,OAAAD,CACT,CA0BA,MAAa,QAOXE,EAOkD,CAC3C,OAAAC,EAAA,QAAQ,KAAK,QAAQ,UAAU,CAAE,QAASD,GAAA,YAAAA,EAAQ,OAAQ,CAAC,EAAG,CAEnE,GAAIA,EACJ,GAAIA,GAAA,MAAAA,EAAQ,UACR,CACE,MAAOE,EAAAA,WAAW,CAChB,IAAK,KAAK,IACV,KAAMF,EAAO,SAAA,CAEP,CAAA,EAEV,CAAC,EACL,GAAIA,GAAA,MAAAA,EAAQ,WACR,CACE,OAAQA,EAAO,WAAW,IAAKG,GAC7BD,EAAAA,WAAW,CACT,IAAK,KAAK,IACV,KAAAC,CAAA,CAEM,CACV,CAAA,EAEF,CAAC,EACL,QAAS,KAAK,mBAAmB,CAAA,CAClC,CACH,CAgBA,MAAa,UACXC,EAGAJ,EAGA,CACO,OAAAK,EAAA,mBAKL,KAAK,QAAS,CAEd,GAAIL,EACJ,UAAWA,GAAA,YAAAA,EAAQ,UACnB,IAAK,KAAK,IACV,QAAS,KAAK,mBAAmB,EACjC,OAASM,GAAS,CAChB,QAASC,KAAKD,EACZF,EAAGG,CAAC,CAER,CAAA,CACD,CACH,CAWA,MAAgB,YACdC,EACAC,EACA,CACA,OAAO,MAAMC,EAAA,YAAY,KAAK,QAASF,EAAaC,CAAU,CAChE,CACF"}
1
+ {"version":3,"file":"Contract.cjs","sources":["../../src/Deployable/Contract.ts"],"sourcesContent":["import { type Config, watchContractEvent } from '@wagmi/core';\nimport type { ExtractAbiEvent } from 'abitype';\nimport {\n type Abi,\n type Address,\n type ContractEventName,\n type GetLogsReturnType,\n type WaitForTransactionReceiptParameters,\n type WatchContractEventOnLogsParameter,\n getAbiItem,\n} from 'viem';\nimport { getLogs } from 'viem/actions';\nimport { ContractAddressRequiredError } from '../errors';\nimport {\n type GetLogsParams,\n type HashAndSimulatedResult,\n type WatchParams,\n awaitResult,\n} from '../utils';\n\n/**\n * A basic Contract class to encapsulate configuration and a potential address\n *\n * @export\n * @class Contract\n * @typedef {Contract}\n * @template {Abi} [ContractAbi=[]]\n * @template {ContractEventName<ContractAbi>} [ContractEvent=any]\n */\nexport class Contract<ContractAbi extends Abi> {\n //@ts-expect-error this should always be set by implementing contract\n public readonly abi: ContractAbi;\n /**\n * @see [Wagmi Configuration](https://wagmi.sh/core/api/createConfig)\n * @protected\n * @type {WagmiConfig}\n */\n protected _config: Config;\n /**\n * The internally managed address for this contract\n *\n * @protected\n * @type {(Address | undefined)}\n */\n protected _address: Address | undefined;\n\n /**\n * Creates an instance of Contract.\n *\n * @constructor\n * @param {Config} config\n * @param {(Address | undefined)} address\n */\n constructor(config: Config, address: Address | undefined) {\n this._config = config;\n this._address = address;\n }\n\n /**\n * A getter returning this contract's deployed address, if it exists.\n *\n * @public\n * @readonly\n * @type {*}\n */\n public get address() {\n return this._address;\n }\n\n /**\n * Will set this contract's address and return the instance for chaining. Does not verify that provided address is valid.\n *\n * @public\n * @param {Address} address\n * @returns {this}\n */\n public at(address: Address) {\n this._address = address;\n return this;\n }\n\n /**\n * Will set this contract's internal [Wagmi Configuration](https://en.wikipedia.org/wiki/Factorial) and return the instance for chaining.\n *\n * @public\n * @param {Config} config\n * @returns {this}\n */\n public withConfig(config: Config) {\n this._config = config;\n return this;\n }\n\n /**\n * Utility function to validate the existence of an address on this Contract.\n *\n * @public\n * @returns {Address}\n * @throws {@link ContractAddressRequiredError} if no address exists on this Contract instance\n */\n public assertValidAddress() {\n const address = this.address;\n if (!address) throw new ContractAddressRequiredError();\n return address;\n }\n\n /**\n * A typed wrapper for (viem.getLogs)[https://viem.sh/docs/actions/public/getLogs#getlogs].\n * Accepts `eventName` and `eventNames` as optional parameters to narrow the returned log types.\n * @example\n * ```ts\n * const logs = contract.getLogs({ eventName: 'EventName' })\n * const logs = contract.getLogs({ eventNames: ['EventName'] })\n *\n * @public\n * @async\n * @template {ContractEvent} event\n * @template {ExtractAbiEvent<\n * ContractAbi,\n * event\n * >} [abiEvent=ExtractAbiEvent<ContractAbi, event>]\n * @param {?Omit<\n * GetLogsParams<ContractAbi, event, abiEvent, abiEvent[]>,\n * 'event' | 'events'\n * > & {\n * eventName?: event;\n * eventNames?: event[];\n * }} [params]\n * @returns {Promise<GetLogsReturnType<abiEvent, abiEvent[]>>}\n */\n public async getLogs<\n event extends ContractEventName<ContractAbi>,\n const abiEvent extends ExtractAbiEvent<\n ContractAbi,\n event\n > = ExtractAbiEvent<ContractAbi, event>,\n >(\n params?: Omit<\n GetLogsParams<ContractAbi, event, abiEvent, abiEvent[]>,\n 'event' | 'events'\n > & {\n eventName?: event;\n eventNames?: event[];\n },\n ): Promise<GetLogsReturnType<abiEvent, abiEvent[]>> {\n return getLogs(this._config.getClient({ chainId: params?.chainId }), {\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wag\n ...(params as any),\n ...(params?.eventName\n ? {\n event: getAbiItem({\n abi: this.abi,\n name: params.eventName,\n // biome-ignore lint/suspicious/noExplicitAny: awkward abi intersection issue\n } as any),\n }\n : {}),\n ...(params?.eventNames\n ? {\n events: params.eventNames.map((name) =>\n getAbiItem({\n abi: this.abi,\n name,\n // biome-ignore lint/suspicious/noExplicitAny: awkward abi intersection issue\n } as any),\n ),\n }\n : {}),\n address: this.assertValidAddress(),\n });\n }\n\n /**\n * A typed wrapper for `wagmi.watchContractEvent`\n *\n * @public\n * @async\n * @template {ContractEvent} event\n * @param {(\n * log: WatchContractEventOnLogsParameter<ContractAbi, event, true>[number],\n * ) => unknown} cb\n * @param {?WatchParams<ContractAbi, event> & {\n * eventName?: event;\n * }} [params]\n * @returns {unknown, params?: any) => unknown}\n */\n public async subscribe<event extends ContractEventName<ContractAbi>>(\n cb: (\n log: WatchContractEventOnLogsParameter<ContractAbi, event, true>[number],\n ) => unknown,\n params?: WatchParams<ContractAbi, event> & {\n eventName?: event;\n },\n ) {\n return watchContractEvent<\n typeof this._config,\n (typeof this._config)['chains'][number]['id'],\n ContractAbi,\n event\n >(this._config, {\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n eventName: params?.eventName,\n abi: this.abi,\n address: this.assertValidAddress(),\n onLogs: (logs) => {\n for (let l of logs) {\n cb(l);\n }\n },\n });\n }\n\n /**\n * @see {@link awaitResult}\n * @protected\n * @async\n * @template [Result=unknown]\n * @param {Promise<HashAndSimulatedResult<Result>>} hashPromise\n * @param {?Omit<WaitForTransactionReceiptParameters, 'hash'>} [waitParams]\n * @returns {unknown}\n */\n protected async awaitResult<Result = unknown>(\n hashPromise: Promise<HashAndSimulatedResult<Result>>,\n waitParams?: Omit<WaitForTransactionReceiptParameters, 'hash'>,\n ) {\n return await awaitResult(this._config, hashPromise, waitParams);\n }\n}\n"],"names":["Contract","config","address","ContractAddressRequiredError","params","getLogs","getAbiItem","name","cb","watchContractEvent","logs","l","hashPromise","waitParams","awaitResult"],"mappings":"gNA6BO,MAAMA,CAAkC,CAwB7C,YAAYC,EAAgBC,EAA8B,CACxD,KAAK,QAAUD,EACf,KAAK,SAAWC,CAClB,CASA,IAAW,SAAU,CACnB,OAAO,KAAK,QACd,CASO,GAAGA,EAAkB,CAC1B,YAAK,SAAWA,EACT,IACT,CASO,WAAWD,EAAgB,CAChC,YAAK,QAAUA,EACR,IACT,CASO,oBAAqB,CAC1B,MAAMC,EAAU,KAAK,QACrB,GAAI,CAACA,EAAe,MAAA,IAAIC,EAAAA,6BACjB,OAAAD,CACT,CA0BA,MAAa,QAOXE,EAOkD,CAC3C,OAAAC,EAAA,QAAQ,KAAK,QAAQ,UAAU,CAAE,QAASD,GAAA,YAAAA,EAAQ,OAAQ,CAAC,EAAG,CAEnE,GAAIA,EACJ,GAAIA,GAAA,MAAAA,EAAQ,UACR,CACE,MAAOE,EAAAA,WAAW,CAChB,IAAK,KAAK,IACV,KAAMF,EAAO,SAAA,CAEP,CAAA,EAEV,CAAC,EACL,GAAIA,GAAA,MAAAA,EAAQ,WACR,CACE,OAAQA,EAAO,WAAW,IAAKG,GAC7BD,EAAAA,WAAW,CACT,IAAK,KAAK,IACV,KAAAC,CAAA,CAEM,CACV,CAAA,EAEF,CAAC,EACL,QAAS,KAAK,mBAAmB,CAAA,CAClC,CACH,CAgBA,MAAa,UACXC,EAGAJ,EAGA,CACO,OAAAK,EAAA,mBAKL,KAAK,QAAS,CAEd,GAAIL,EACJ,UAAWA,GAAA,YAAAA,EAAQ,UACnB,IAAK,KAAK,IACV,QAAS,KAAK,mBAAmB,EACjC,OAASM,GAAS,CAChB,QAASC,KAAKD,EACZF,EAAGG,CAAC,CAER,CAAA,CACD,CACH,CAWA,MAAgB,YACdC,EACAC,EACA,CACA,OAAO,MAAMC,EAAA,YAAY,KAAK,QAASF,EAAaC,CAAU,CAChE,CACF"}