@boostxyz/sdk 6.1.3 → 7.0.0-canary.0

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 (178) hide show
  1. package/README.md +1 -1
  2. package/dist/Actions/Action.cjs +1 -1
  3. package/dist/Actions/Action.js +4 -4
  4. package/dist/Actions/EventAction.cjs +1 -1
  5. package/dist/Actions/EventAction.cjs.map +1 -1
  6. package/dist/Actions/EventAction.d.ts +10 -0
  7. package/dist/Actions/EventAction.d.ts.map +1 -1
  8. package/dist/Actions/EventAction.js +84 -83
  9. package/dist/Actions/EventAction.js.map +1 -1
  10. package/dist/AllowLists/AllowList.cjs +1 -1
  11. package/dist/AllowLists/AllowList.js +3 -3
  12. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  13. package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
  14. package/dist/AllowLists/SimpleAllowList.js +14 -14
  15. package/dist/AllowLists/SimpleAllowList.js.map +1 -1
  16. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  17. package/dist/AllowLists/SimpleDenyList.js +3 -3
  18. package/dist/Auth/PassthroughAuth.cjs +1 -1
  19. package/dist/Auth/PassthroughAuth.js +1 -1
  20. package/dist/BoostCore.cjs +2 -2
  21. package/dist/BoostCore.cjs.map +1 -1
  22. package/dist/BoostCore.d.ts +1894 -267
  23. package/dist/BoostCore.d.ts.map +1 -1
  24. package/dist/BoostCore.js +808 -497
  25. package/dist/BoostCore.js.map +1 -1
  26. package/dist/BoostRegistry.cjs +1 -1
  27. package/dist/BoostRegistry.js +47 -47
  28. package/dist/Budget-B_kgJGDu.cjs +2 -0
  29. package/dist/Budget-B_kgJGDu.cjs.map +1 -0
  30. package/dist/Budget-Bvi5Qjqp.js +1124 -0
  31. package/dist/Budget-Bvi5Qjqp.js.map +1 -0
  32. package/dist/Budgets/Budget.cjs +1 -1
  33. package/dist/Budgets/Budget.d.ts +5 -4
  34. package/dist/Budgets/Budget.d.ts.map +1 -1
  35. package/dist/Budgets/Budget.js +9 -6
  36. package/dist/Budgets/ManagedBudget.cjs +1 -1
  37. package/dist/Budgets/ManagedBudget.cjs.map +1 -1
  38. package/dist/Budgets/ManagedBudget.d.ts +4 -0
  39. package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
  40. package/dist/Budgets/ManagedBudget.js +25 -25
  41. package/dist/Budgets/ManagedBudgetWithFees.d.ts +4 -0
  42. package/dist/Budgets/ManagedBudgetWithFees.d.ts.map +1 -1
  43. package/dist/Budgets/ManagedBudgetWithFeesV2.d.ts +4 -0
  44. package/dist/Budgets/ManagedBudgetWithFeesV2.d.ts.map +1 -1
  45. package/dist/Budgets/TransparentBudget.d.ts +944 -0
  46. package/dist/Budgets/TransparentBudget.d.ts.map +1 -0
  47. package/dist/Budgets/VestingBudget.d.ts +4 -0
  48. package/dist/Budgets/VestingBudget.d.ts.map +1 -1
  49. package/dist/Deployable/Deployable.cjs.map +1 -1
  50. package/dist/Deployable/Deployable.d.ts +1 -1
  51. package/dist/Deployable/Deployable.d.ts.map +1 -1
  52. package/dist/Deployable/Deployable.js.map +1 -1
  53. package/dist/Deployable/DeployableTarget.cjs +1 -1
  54. package/dist/Deployable/DeployableTarget.js +1 -1
  55. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  56. package/dist/Deployable/DeployableTargetWithRBAC.js +19 -19
  57. package/dist/Incentive-CLKutfnD.js +445 -0
  58. package/dist/Incentive-CLKutfnD.js.map +1 -0
  59. package/dist/Incentive-CLSVNxDz.cjs +2 -0
  60. package/dist/Incentive-CLSVNxDz.cjs.map +1 -0
  61. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  62. package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
  63. package/dist/Incentives/AllowListIncentive.js +9 -9
  64. package/dist/Incentives/AllowListIncentive.js.map +1 -1
  65. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  66. package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
  67. package/dist/Incentives/CGDAIncentive.js +5 -5
  68. package/dist/Incentives/CGDAIncentive.js.map +1 -1
  69. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  70. package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
  71. package/dist/Incentives/ERC20Incentive.js +17 -17
  72. package/dist/Incentives/ERC20Incentive.js.map +1 -1
  73. package/dist/Incentives/ERC20PeggedIncentive.d.ts +1 -1
  74. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +2 -0
  75. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs.map +1 -0
  76. package/dist/Incentives/{ERC20PeggedVariableCriteriaIncentive.d.ts → ERC20PeggedVariableCriteriaIncentiveV2.d.ts} +39 -27
  77. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.d.ts.map +1 -0
  78. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +625 -0
  79. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js.map +1 -0
  80. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +2 -0
  81. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs.map +1 -0
  82. package/dist/Incentives/{ERC20VariableCriteriaIncentive.d.ts → ERC20VariableCriteriaIncentiveV2.d.ts} +42 -13
  83. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.d.ts.map +1 -0
  84. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +242 -0
  85. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js.map +1 -0
  86. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  87. package/dist/Incentives/ERC20VariableIncentive.cjs.map +1 -1
  88. package/dist/Incentives/ERC20VariableIncentive.d.ts +3 -3
  89. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
  90. package/dist/Incentives/ERC20VariableIncentive.js +22 -22
  91. package/dist/Incentives/ERC20VariableIncentive.js.map +1 -1
  92. package/dist/Incentives/Incentive.cjs +1 -1
  93. package/dist/Incentives/Incentive.d.ts +8 -8
  94. package/dist/Incentives/Incentive.d.ts.map +1 -1
  95. package/dist/Incentives/Incentive.js +13 -12
  96. package/dist/Incentives/Incentive.js.map +1 -1
  97. package/dist/Incentives/PointsIncentive.cjs +1 -1
  98. package/dist/Incentives/PointsIncentive.cjs.map +1 -1
  99. package/dist/Incentives/PointsIncentive.js +13 -13
  100. package/dist/Incentives/PointsIncentive.js.map +1 -1
  101. package/dist/SimpleDenyList-C1C_BHkY.js +133 -0
  102. package/dist/{SimpleDenyList-BKfPoTo1.js.map → SimpleDenyList-C1C_BHkY.js.map} +1 -1
  103. package/dist/SimpleDenyList-CWthbyj7.cjs +2 -0
  104. package/dist/{SimpleDenyList-DgjVf7FK.cjs.map → SimpleDenyList-CWthbyj7.cjs.map} +1 -1
  105. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  106. package/dist/Validators/LimitedSignerValidator.cjs.map +1 -1
  107. package/dist/Validators/LimitedSignerValidator.js +18 -18
  108. package/dist/Validators/LimitedSignerValidator.js.map +1 -1
  109. package/dist/Validators/SignerValidator.cjs +1 -1
  110. package/dist/Validators/SignerValidator.cjs.map +1 -1
  111. package/dist/Validators/SignerValidator.js +54 -54
  112. package/dist/Validators/SignerValidator.js.map +1 -1
  113. package/dist/Validators/Validator.cjs +1 -1
  114. package/dist/Validators/Validator.js +2 -2
  115. package/dist/componentInterfaces-BVHB4Fjw.js +21 -0
  116. package/dist/componentInterfaces-BVHB4Fjw.js.map +1 -0
  117. package/dist/componentInterfaces-BqhL-meV.cjs +2 -0
  118. package/dist/componentInterfaces-BqhL-meV.cjs.map +1 -0
  119. package/dist/deployments-D9QxJGrC.cjs +2 -0
  120. package/dist/deployments-D9QxJGrC.cjs.map +1 -0
  121. package/dist/deployments-De8_J7SS.js +120 -0
  122. package/dist/{deployments-W_LUj833.js.map → deployments-De8_J7SS.js.map} +1 -1
  123. package/dist/deployments.json +63 -48
  124. package/dist/{generated-CElkFqkY.js → generated-BJfQ-EBO.js} +1268 -737
  125. package/dist/generated-BJfQ-EBO.js.map +1 -0
  126. package/dist/generated-mJJNq-xb.cjs +3 -0
  127. package/dist/generated-mJJNq-xb.cjs.map +1 -0
  128. package/dist/index.cjs +1 -1
  129. package/dist/index.d.ts +3 -2
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +162 -158
  132. package/dist/index.js.map +1 -1
  133. package/dist/utils.cjs.map +1 -1
  134. package/dist/utils.js.map +1 -1
  135. package/package.json +13 -7
  136. package/src/Actions/EventAction.ts +11 -0
  137. package/src/BoostCore.test.ts +14 -9
  138. package/src/BoostCore.ts +428 -26
  139. package/src/Budgets/Budget.ts +8 -1
  140. package/src/Budgets/TransparentBudget.test.ts +70 -0
  141. package/src/Budgets/TransparentBudget.ts +334 -0
  142. package/src/Deployable/Deployable.ts +1 -1
  143. package/src/Incentives/ERC20PeggedIncentive.ts +1 -1
  144. package/src/Incentives/{ERC20PeggedVariableCriteriaIncentive.test.ts → ERC20PeggedVariableCriteriaIncentiveV2.test.ts} +14 -10
  145. package/src/Incentives/{ERC20PeggedVariableCriteriaIncentive.ts → ERC20PeggedVariableCriteriaIncentiveV2.ts} +122 -100
  146. package/src/Incentives/{ERC20VariableCriteriaIncentive.test.ts → ERC20VariableCriteriaIncentiveV2.test.ts} +18 -13
  147. package/src/Incentives/{ERC20VariableCriteriaIncentive.ts → ERC20VariableCriteriaIncentiveV2.ts} +83 -24
  148. package/src/Incentives/ERC20VariableIncentive.ts +4 -2
  149. package/src/Incentives/Incentive.ts +12 -12
  150. package/src/index.test.ts +2 -2
  151. package/src/index.ts +3 -2
  152. package/src/utils.ts +1 -1
  153. package/dist/Budget-BjfL8dVX.cjs +0 -2
  154. package/dist/Budget-BjfL8dVX.cjs.map +0 -1
  155. package/dist/Budget-DD7IPuDx.js +0 -922
  156. package/dist/Budget-DD7IPuDx.js.map +0 -1
  157. package/dist/Incentive-V1RjH38L.js +0 -1036
  158. package/dist/Incentive-V1RjH38L.js.map +0 -1
  159. package/dist/Incentive-gVTfsnMB.cjs +0 -2
  160. package/dist/Incentive-gVTfsnMB.cjs.map +0 -1
  161. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.d.ts.map +0 -1
  162. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +0 -2
  163. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +0 -1
  164. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +0 -1
  165. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +0 -207
  166. package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +0 -1
  167. package/dist/SimpleDenyList-BKfPoTo1.js +0 -133
  168. package/dist/SimpleDenyList-DgjVf7FK.cjs +0 -2
  169. package/dist/componentInterfaces-CA1UIqWL.js +0 -20
  170. package/dist/componentInterfaces-CA1UIqWL.js.map +0 -1
  171. package/dist/componentInterfaces-aBgBbB7r.cjs +0 -2
  172. package/dist/componentInterfaces-aBgBbB7r.cjs.map +0 -1
  173. package/dist/deployments-CwTZr-cK.cjs +0 -2
  174. package/dist/deployments-CwTZr-cK.cjs.map +0 -1
  175. package/dist/deployments-W_LUj833.js +0 -117
  176. package/dist/generated-BPiHi7W2.cjs +0 -3
  177. package/dist/generated-BPiHi7W2.cjs.map +0 -1
  178. package/dist/generated-CElkFqkY.js.map +0 -1
package/dist/BoostCore.js CHANGED
@@ -1,43 +1,44 @@
1
- import { g as C, cr as $, cs as z, ct as x, cu as j, cv as q, cw as k, cx as G, cy as W, cz as U, cA as H, cB as J, cC as K, cD as Q, cE as X, cF as Y, cG as Z, cH as f0, cI as e0, cJ as b0, cK as a0, cL as t0 } from "./generated-CElkFqkY.js";
2
- import { waitForTransactionReceipt as c0, getAccount as d0, getChains as n0, getTransactionReceipt as s0 } from "@wagmi/core";
3
- import { createClient as i0, custom as o0, zeroAddress as m, parseEventLogs as F, zeroHash as h, keccak256 as r0, encodePacked as u0 } from "viem";
4
- import { i as h0 } from "./deployments-W_LUj833.js";
5
- import { actionFromAddress as l0 } from "./Actions/Action.js";
6
- import { EventAction as g0 } from "./Actions/EventAction.js";
7
- import { allowListFromAddress as w0, OpenAllowList as m0 } from "./AllowLists/AllowList.js";
8
- import { SimpleAllowList as v0 } from "./AllowLists/SimpleAllowList.js";
9
- import { S as C0 } from "./SimpleDenyList-BKfPoTo1.js";
10
- import { PassthroughAuth as A0 } from "./Auth/PassthroughAuth.js";
11
- import { prepareBoostPayload as R, Boost as T } from "./Boost.js";
12
- import { b as I0, M as y0, a as _0 } from "./Budget-DD7IPuDx.js";
13
- import { ManagedBudget as P0 } from "./Budgets/ManagedBudget.js";
14
- import { Deployable as B0 } from "./Deployable/Deployable.js";
15
- import { Roles as P } from "./Deployable/DeployableTargetWithRBAC.js";
16
- import { AllowListIncentive as E0 } from "./Incentives/AllowListIncentive.js";
17
- import { CGDAIncentive as F0 } from "./Incentives/CGDAIncentive.js";
18
- import { ERC20Incentive as R0 } from "./Incentives/ERC20Incentive.js";
19
- import { i as T0, E as D0, a as L0 } from "./Incentive-V1RjH38L.js";
20
- import { ERC20VariableCriteriaIncentive as S0 } from "./Incentives/ERC20VariableCriteriaIncentive.js";
21
- import { PointsIncentive as N0 } from "./Incentives/PointsIncentive.js";
22
- import { LimitedSignerValidator as p0 } from "./Validators/LimitedSignerValidator.js";
23
- import { SignerValidator as V0 } from "./Validators/SignerValidator.js";
24
- import { validatorFromAddress as M0, BoostValidatorEOA as D } from "./Validators/Validator.js";
25
- import { BoostCoreNoIdentifierEmitted as O0, DeployableUnknownOwnerProvidedError as $0, InvalidProtocolChainIdError as z0, BudgetMustAuthorizeBoostCore as x0, MustInitializeBudgetError as j0, IncentiveNotCloneableError as q0, BoostNotFoundError as k0 } from "./errors.js";
26
- import { assertValidAddressByChainId as u } from "./utils.js";
27
- import { ERC20VariableIncentive as G0 } from "./Incentives/ERC20VariableIncentive.js";
28
- import { simulateContract as W0, writeContract as U0 } from "viem/actions";
29
- import { parseAccount as H0, getAddress as J0 } from "viem/utils";
30
- const K0 = "0x608060405260048054607d60a31b600160a01b600160e01b0319909116179055600580546001600160401b0319166103e817905534801561003e575f80fd5b50604051614fb2380380614fb283398101604081905261005d916100e8565b61006681610098565b50600180546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055610132565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a35b50565b6001600160a01b03811681146100d1575f80fd5b5f805f606084860312156100fa575f80fd5b8351610105816100d4565b6020850151909350610116816100d4565b6040850151909250610127816100d4565b809150509250925092565b614e738061013f5f395ff3fe6080604052600436106101d0575f3560e01c80637b103999116100fd578063dd7dc9a911610092578063f04e283e11610062578063f04e283e14610551578063f2fde38b14610564578063fee81cf414610577578063fefceca9146105a8575f80fd5b8063dd7dc9a9146104b7578063dd98558c146104d7578063e21ff73114610513578063eccc19a614610532575f80fd5b8063b0e21e8a116100cd578063b0e21e8a14610413578063caa1647b14610464578063d5137b5214610483578063d73792a9146104a2575f80fd5b80637b1039991461038f5780638da5cb5b146103ae5780638fe4f523146103e1578063a92647dc146103f4575f80fd5b806343bc42d3116101735780635edb9eb0116101435780635edb9eb0146103385780635f32c23e14610355578063715018a614610374578063730f9c571461037c575f80fd5b806343bc42d3146102d357806346877b1a146102f25780635045b8661461031157806354d1f13d14610330575f80fd5b8063219f71f0116101ae578063219f71f0146102495780632569296214610268578063346339d51461027057806339a51be51461029c575f80fd5b806313c8e2de146101d457806316614282146102095780631fa2acdc1461022a575b5f80fd5b3480156101df575f80fd5b506101f36101ee366004613e90565b61060b565b6040516102009190613eea565b60405180910390f35b348015610214575f80fd5b50610228610223366004613fe8565b610740565b005b348015610235575f80fd5b5061022861024436600461404b565b610eb3565b348015610254575f80fd5b506102286102633660046140b1565b611628565b61022861166a565b34801561027b575f80fd5b5061028f61028a366004613e90565b6116b7565b6040516102009190614139565b3480156102a7575f80fd5b506003546102bb906001600160a01b031681565b6040516001600160a01b039091168152602001610200565b3480156102de575f80fd5b506102286102ed366004614197565b61176c565b3480156102fd575f80fd5b5061022861030c3660046140b1565b6117c7565b34801561031c575f80fd5b506004546102bb906001600160a01b031681565b610228611809565b348015610343575f80fd5b505f545b604051908152602001610200565b348015610360575f80fd5b5061022861036f3660046141b2565b611842565b6102286119db565b61022861038a3660046141d2565b6119ee565b34801561039a575f80fd5b506001546102bb906001600160a01b031681565b3480156103b9575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102bb565b6102286103ef366004614249565b611e55565b3480156103ff575f80fd5b506002546102bb906001600160a01b031681565b34801561041e575f80fd5b5060045461044b9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610200565b34801561046f575f80fd5b5061022861047e366004614197565b611e6a565b34801561048e575f80fd5b506102bb61049d3660046142ae565b611ef2565b3480156104ad575f80fd5b5061044b61271081565b3480156104c2575f80fd5b5060055461044b9067ffffffffffffffff1681565b3480156104e2575f80fd5b506104f66104f13660046142f8565b61211e565b604080519283526001600160a01b03909116602083015201610200565b34801561051e575f80fd5b506101f361052d366004614345565b61257a565b34801561053d575f80fd5b5061022861054c3660046140b1565b612dab565b61022861055f3660046140b1565b612ded565b6102286105723660046140b1565b612e2a565b348015610582575f80fd5b506103476105913660046140b1565b63389a75e1600c9081525f91909152602090205490565b3480156105b3575f80fd5b506105fa6105c2366004613e90565b60066020525f9081526040902080546001820154600283015460039093015460ff8316936101009093046001600160a01b0316929085565b604051610200959493929190614384565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e08101919091525f828154811061065c5761065c6143bd565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b039081168452600182015481168486015260028201548116848401526003820154166060840152600481018054835181870281018701909452808452939491936080860193928301828280156106ff57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116106e1575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b031660609091015292915050565b3068929eee149b4bd21268540361075e5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061077d5761077d6143bd565b905f5260205f20906008020190505f8160040185815481106107a1576107a16143bd565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a2906107f69088908890600401614413565b5f60405180830381865afa158015610810573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610837919081019061456d565b905080515f03610873576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8180602001905181019061088891906145aa565b90505f8080806001855160028111156108a3576108a36140d3565b14806108c057505f855160028111156108be576108be6140d3565b145b15610924575f85606001518060200190518101906108de9190614652565b805160058b0154909650909150612710906109039067ffffffffffffffff16876146c1565b61090d91906146d8565b93506109198486614710565b9081905291506109da565b600285516002811115610939576109396140d3565b036109a8575f85606001518060200190518101906109579190614723565b602081015160058b01549096509091506127109061097f9067ffffffffffffffff16876146c1565b61098991906146d8565b93506109958486614710565b60208201819052905190925090506109da565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6109e58d8d612e50565b5f8181526006602052604081206001810180549394509092879290610a0b908490614710565b909155505085159150610e99905057600185516002811115610a2f57610a2f6140d3565b1480610a4c57505f85516002811115610a4a57610a4a6140d3565b145b15610c6b5760208501516040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490526001600160a01b038216906323b872dd906064016020604051808303815f875af1158015610abf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae391906147b0565b506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820187905282169063095ea7b3906044016020604051808303815f875af1158015610b49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6d91906147b0565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038916906330db555f906024015f604051808303815f87803b158015610bc6575f80fd5b505af1158015610bd8573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015610c40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6491906147b0565b5050610e59565b60208501516040517ff242432a000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526064810184905260a060848201525f60a48201526001600160a01b0382169063f242432a9060c4015f604051808303815f87803b158015610ce8575f80fd5b505af1158015610cfa573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152600160248301528416925063a22cb46591506044015f604051808303815f87803b158015610d5e575f80fd5b505af1158015610d70573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018890526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b158015610dcc575f80fd5b505af1158015610dde573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b158015610e41575f80fd5b505af1158015610e53573d5f803e3d5ffd5b50505050505b604080518581526020810185905233918d918f917f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f31876910160405180910390a45b50505050505050503868929eee149b4bd212685550505050565b3068929eee149b4bd212685403610ed15763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808681548110610ef057610ef06143bd565b905f5260205f20906008020190505f816004018681548110610f1457610f146143bd565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a290610f699089908990600401614413565b5f60405180830381865afa158015610f83573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610faa919081019061456d565b905080515f03610fe6576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81806020019051810190610ffb91906145aa565b90505f6001600160a01b038616156110135785611022565b60038501546001600160a01b03165b905061102d81612e7f565b5f8080600185516002811115611045576110456140d3565b148061106257505f85516002811115611060576110606140d3565b145b156110e9575f85606001518060200190518101906110809190614652565b805160058b0154909550909150612710906110a59067ffffffffffffffff16866146c1565b6110af91906146d8565b92506110bb8385614710565b8082526040805160208101839052919350015b60408051601f19818403018152919052606087015250611174565b6002855160028111156110fe576110fe6140d3565b036109a8575f856060015180602001905181019061111c9190614723565b602081015160058b0154909550909150612710906111449067ffffffffffffffff16866146c1565b61114e91906146d8565b925061115a8385614710565b60208083018290526040519193506110ce918391016147f9565b30604080870191909152515f9061118f908790602001614827565b60408051601f19818403018152908290527ffa4ca9b100000000000000000000000000000000000000000000000000000000825291506001600160a01b0386169063fa4ca9b1906111e4908490600401614878565b6020604051808303815f875af1158015611200573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122491906147b0565b61125a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6112658f8f612e50565b5f818152600660205260408120600181018054939450909287929061128b908490614710565b90915550508515925061160d915050576001855160028111156112b0576112b06140d3565b14806112cd57505f855160028111156112cb576112cb6140d3565b145b1561145e5760208501516040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820186905282169063095ea7b3906044016020604051808303815f875af115801561133c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136091906147b0565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b038916906330db555f906024015f604051808303815f87803b1580156113b9575f80fd5b505af11580156113cb573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015611433573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145791906147b0565b50506115be565b60208501516040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526001602483015282169063a22cb465906044015f604051808303815f87803b1580156114c3575f80fd5b505af11580156114d5573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018790526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b158015611531575f80fd5b505af1158015611543573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b1580156115a6575f80fd5b505af11580156115b8573d5f803e3d5ffd5b50505050505b336001600160a01b03168c8e7f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f318768686604051611604929190918252602082015260400190565b60405180910390a45b50505050505050503868929eee149b4bd21268555050505050565b611630612f5e565b600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6116ee6040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b5f8281526006602052604090819020815160a081019092528054829060ff16600281111561171e5761171e6140d3565b600281111561172f5761172f6140d3565b8152815461010090046001600160a01b03166020820152600182015460408201526002820154606082015260039091015460809091015292915050565b611774612f5e565b6004805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6117cf612f5e565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b3068929eee149b4bd2126854036118605763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6118778383612e50565b5f81815260066020526040812081549293509181908690811061189c5761189c6143bd565b905f5260205f20906008020160040184815481106118bc576118bc6143bd565b5f918252602082200154600284015460018501546001600160a01b039092169350906118eb90612710906146c1565b6118f591906146d8565b90505f6119028484612f93565b9050818111156119c6575f611917838361488a565b90505f61271067ffffffffffffffff1686600201548361193791906146c1565b61194191906146d8565b905061194d86826130e1565b808660010154106119765780866001015f82825461196b919061488a565b9091555061197d9050565b5f60018701555b6003546040518281526001600160a01b039091169089908b907f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b179060200160405180910390a450505b50505050503868929eee149b4bd21268555050565b6119e3612f5e565b6119ec5f61321d565b565b3068929eee149b4bd212685403611a0c5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110611a2b57611a2b6143bd565b905f5260205f20906008020190505f611a448888612e50565b5f81815260066020526040812060048501805493945090928a908110611a6c57611a6c6143bd565b5f9182526020909120015460028501546040517fe3f756de0000000000000000000000000000000000000000000000000000000081526001600160a01b03928316935091169063e3f756de90611aca9088908b908b9060040161489d565b602060405180830381865afa158015611ae5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b0991906147b0565b611b3f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018401546040517f703b69000000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063703b6900903490611b94908e908e908b908e908e906004016148c8565b60206040518083038185885af1158015611bb0573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611bd591906147b0565b611c0b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81545f9061010090046001600160a01b0316611c27575f611c31565b611c318383612f93565b6040517fbb1757cf0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0383169063bb1757cf90611c7d9089908c908c9060040161489d565b6020604051808303815f875af1158015611c99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbd91906147b0565b611d02578588886040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401611cf99392919061489d565b60405180910390fd5b82545f9061010090046001600160a01b0316611d1e575f611d28565b611d288484612f93565b90505f818311611d38575f611d42565b611d42828461488a565b90505f61271067ffffffffffffffff16866002015483611d6291906146c1565b611d6c91906146d8565b90508015611df257611d7e86826130e1565b80866001015f828254611d91919061488a565b9250508190555060035f9054906101000a90046001600160a01b03166001600160a01b03168d8f7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051611de991815260200190565b60405180910390a45b886001600160a01b03168d8f7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478f8f8f604051611e319392919061489d565b60405180910390a450505050505050503868929eee149b4bd2126855505050505050565b611e638585858585336119ee565b5050505050565b611e72612f5e565b61271067ffffffffffffffff821610611eb7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff92909216919091179055565b5f3068929eee149b4bd212685403611f115763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808481548110611f3057611f306143bd565b5f918252602090912060089091020160078101549091506001600160a01b03163314611f88576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003810154611f9f906001600160a01b0316612e7f565b6004808201805491549091905f906001600160a01b0316611fc0575f612052565b6004546040516001600160a01b039091169063c7f1ecff90611fe8908a908a90602001614901565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016120139190614878565b602060405180830381865afa15801561202e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205291906149b8565b905061208861206087614a20565b600386015460058701546001600160a01b039091169067ffffffffffffffff16848b87613275565b83546001810185555f858152602080822090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03851690811790915560405191825292975084918a917f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae910160405180910390a4505050503868929eee149b4bd212685592915050565b5f803068929eee149b4bd21268540361213e5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061215d5761215d6143bd565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b0390811684526001820154811684860152600282015481168484015260038201541660608401526004810180548351818702810187019094528084529394919360808601939283018282801561220057602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116121e2575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b039081166060928301529082015191925016331461227d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6122888686612e50565b5f8181526006602052604081209192506122a4898b018b614a89565b90505f81602001518060200190518101906122bf9190614b26565b90505f61271067ffffffffffffffff168460020154836122df91906146c1565b6122e991906146d8565b90508015612457576001845460ff166002811115612309576123096140d3565b148061232957505f845460ff166002811115612327576123276140d3565b145b15612351578251845461234c916101009091046001600160a01b03169083613615565b61240e565b6002845460ff166002811115612369576123696140d3565b0361240e578354835160038601546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b1580156123f7575f80fd5b505af1158015612409573d5f803e3d5ffd5b505050505b825f01516001600160a01b0316898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b178460405161244e91815260200190565b60405180910390a45b5f8087608001518b8151811061246f5761246f6143bd565b60200260200101516001600160a01b031663474f5a44866040516020016124969190614b3d565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016124c19190614878565b60408051808303815f875af11580156124dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125009190614b6a565b91509150815f0361254357338e8e6040517f9ecd71a9000000000000000000000000000000000000000000000000000000008152600401611cf99392919061489d565b82866001015f828254612556919061488a565b90915550503868929eee149b4bd2126855909d909c509a5050505050505050505050565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e081019190915260025433906001600160a01b03161580159061265757506002546040517ffe9fbb800000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063fe9fbb8090602401602060405180830381865afa158015612631573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061265591906147b0565b155b1561268e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd2126854036126ac5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6126f785858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061365e92505050565b80602001905181019061270a9190614c92565b9050612718815f0151612e7f565b5f805460018101825590805260e082015160089091027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56a810180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b039485161790915583517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566830180549092169084161790556004547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563909101911661281c5760a0820151600454612817919074010000000000000000000000000000000000000000900467ffffffffffffffff16614dbd565b6128b4565b60a0820151600480546040517fb1539a6b0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163b1539a6b9161286b918b918b9101614413565b602060405180830381865afa158015612886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128aa9190614ddd565b6128b49190614dbd565b6005820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905560c08201516006820155602082015161292b907fe6715795000000000000000000000000000000000000000000000000000000009060016136f1565b81547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03919091161781556060820151612990907fe2089f79000000000000000000000000000000000000000000000000000000009060016136f1565b6002820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039283161790556004545f91166129d6575f612a5f565b600480546040517fc7f1ecff0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163c7f1ecff91612a20918b918b9101614413565b602060405180830381865afa158015612a3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5f91906149b8565b608084015184516005850154929350612a829267ffffffffffffffff1684613712565b8051612a98916004850191602090910190613e01565b506040830151602001516001600160a01b031615612ae557612ae07f5912b89c00000000000000000000000000000000000000000000000000000000846040015160016136f1565b612b9d565b81546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201526001600160a01b03909116906301ffc9a790602401602060405180830381865afa158015612b63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b8791906147b0565b612b91575f612b9d565b81546001600160a01b03165b6001830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03929092169182179055612c34576040517fe1c444480000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201525f6024820152604401611cf9565b815460078301545f546001600160a01b039283169290911690612c599060019061488a565b6004850154600186015460028701546003880154604080519485526001600160a01b03938416602086015291831684830152919091166060830152517f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd9181900360800190a4604080516101008101825283546001600160a01b03908116825260018501548116602080840191909152600286015482168385015260038601549091166060830152600485018054845181840281018401909552808552929386936080860193919291830182828015612d5957602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311612d3b575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b03166060909101523868929eee149b4bd2126855979650505050505050565b612db3612f5e565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b612df5612f5e565b63389a75e1600c52805f526020600c208054421115612e1b57636f5e88185f526004601cfd5b5f9055612e278161321d565b50565b612e32612f5e565b8060601b612e4757637448fbae5f526004601cfd5b612e278161321d565b604080516020808201859052818301849052825180830384018152606090920190925280519101205b92915050565b612ea97fe49cedd70000000000000000000000000000000000000000000000000000000082613844565b6040517ffe9fbb800000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382169063fe9fbb8090602401602060405180830381865afa158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f2891906147b0565b612e27576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146119ec576382b429005f526004601cfd5b5f6001835460ff166002811115612fac57612fac6140d3565b1480612fcc57505f835460ff166002811115612fca57612fca6140d3565b145b156130635782546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152610100909204909116906370a08231906024015b602060405180830381865afa158015613038573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061305c9190614b26565b9050612e79565b6002835460ff16600281111561307b5761307b6140d3565b036130d957825460038401546040517efdd58e0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526024820192909252610100909204169062fdd58e9060440161301d565b505f92915050565b6001825460ff1660028111156130f9576130f96140d3565b148061311957505f825460ff166002811115613117576131176140d3565b145b1561315c57600354825461313f916001600160a01b036101009092048216911683613615565b81546131589061010090046001600160a01b0316613962565b5050565b6002825460ff166002811115613174576131746140d3565b0361315857815460038054908401546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b158015613203575f80fd5b505af1158015613215573d5f803e3d5ffd5b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f80876040015190506132ac7fa9216705000000000000000000000000000000000000000000000000000000008960200151613844565b875161331b5760208801516040517fe1c444480000000000000000000000000000000000000000000000000000000081527fa92167050000000000000000000000000000000000000000000000000000000060048201526001600160a01b039091166024820152604401611cf9565b6133467fa921670500000000000000000000000000000000000000000000000000000000895f6136f1565b91505f826001600160a01b0316634e7165a2836040518263ffffffff1660e01b81526004016133759190614878565b5f60405180830381865afa15801561338f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133b6919081019061456d565b905080515f14613597575f806133cc838a613a1e565b6040517ffa4ca9b100000000000000000000000000000000000000000000000000000000815291935091506001600160a01b038b169063fa4ca9b190613416908590600401614878565b6020604051808303815f875af1158015613432573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061345691906147b0565b61348c576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffa4ca9b10000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063fa4ca9b1906134d1908690600401614878565b6020604051808303815f875af11580156134ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061351191906147b0565b613547576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8380602001905181019061355c91906145aa565b905061359388886001600160a01b038c1661357b57836020015161357d565b8b5b858e67ffffffffffffffff16865f01518b613bb7565b5050505b6040517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0384169063439fab91906135dc908590600401614878565b5f604051808303815f87803b1580156135f3575f80fd5b505af1158015613605573d5f803e3d5ffd5b5050505050509695505050505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f51141716613655576390b8ec185f526004601cfd5b5f603452505050565b60608151156136ec5760405190506020810160048301805184518501811983525b808610156136d6576001860195508551601f1a806136c7576001870196508651601f1a5f198652607f81116136b657600181013887395b607f1694909401600101935061367f565b8085535060018401935061367f565b509052601f198282030182525f81526020016040525b919050565b5f613700848460200151613844565b61370a8383613cf3565b949350505050565b5f8054606091906137259060019061488a565b9050855167ffffffffffffffff81111561374157613741614426565b60405190808252806020026020018201604052801561376a578160200160208202803683370190505b5091505f5b865181101561383a5761379f87828151811061378d5761378d6143bd565b60200260200101518787878686613275565b8382815181106137b1576137b16143bd565b60200260200101906001600160a01b031690816001600160a01b0316815250508281815181106137e3576137e36143bd565b60200260200101516001600160a01b031681837f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae600160405161382a911515815260200190565b60405180910390a460010161376f565b5050949350505050565b6001600160a01b03811615806138f857506040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa1580156138d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138f691906147b0565b155b15613158576040517fe1c444480000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b0382166024820152604401611cf9565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156139bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139e39190614b26565b90505f811180156139ff575060055467ffffffffffffffff1681105b1561315857600354613158906001600160a01b03848116911683613615565b60605f8084806020019051810190613a3691906145aa565b905083600182516002811115613a4e57613a4e6140d3565b1480613a6b57505f82516002811115613a6957613a696140d3565b145b15613b19575f8260600151806020019051810190613a899190614652565b80519091505f9061271090613aa99067ffffffffffffffff8616906146c1565b613ab391906146d8565b6040805160208082018352838252825190810184905292935091015b60408051601f198184030181529181526060870191909152308682015251613afb908690602001614827565b60405160208183030381529060405282965096505050505050613bb0565b600282516002811115613b2e57613b2e6140d3565b036109a8575f8260600151806020019051810190613b4c9190614723565b90505f61271067ffffffffffffffff168367ffffffffffffffff168360200151613b7691906146c1565b613b8091906146d8565b604080516060810182528451815260208082018490528583015182840152915192935091613acf918391016147f9565b9250929050565b5f6002836002811115613bcc57613bcc6140d3565b03613be95781806020019051810190613be59190614df8565b5090505b5f6040518060a00160405280856002811115613c0757613c076140d3565b8152602001886001600160a01b031681526020018781526020018681526020018381525090508060065f613c3b8c8c612e50565b815260208101919091526040015f208151815482907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115613c8657613c866140d3565b0217905550602082015181546001600160a01b03909116610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9091161781556040820151600182015560608201516002820155608090910151600390910155505050505050505050565b81515f90613d05578260200151613d1b565b613d1b83602001516001600160a01b0316613daa565b83519091508015613d295750815b15612e795760408084015190517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0383169163439fab9191613d779190600401614878565b5f604051808303815f87803b158015613d8e575f80fd5b505af1158015613da0573d5f803e3d5ffd5b5050505092915050565b5f612e795f835f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f0905080613df75763301164255f526004601cfd5b5f60215292915050565b828054828255905f5260205f20908101928215613e6c579160200282015b82811115613e6c57825182547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909116178255602090920191600190910190613e1f565b50613e78929150613e7c565b5090565b5b80821115613e78575f8155600101613e7d565b5f60208284031215613ea0575f80fd5b5035919050565b5f8151808452602084019350602083015f5b82811015613ee05781516001600160a01b0316865260209586019590910190600101613eb9565b5093949350505050565b602081526001600160a01b0382511660208201525f6020830151613f1960408401826001600160a01b03169052565b5060408301516001600160a01b03811660608401525060608301516001600160a01b038116608084015250608083015161010060a0840152613f5f610120840182613ea7565b905060a0840151613f7c60c085018267ffffffffffffffff169052565b5060c084015160e084015260e0840151613fa26101008501826001600160a01b03169052565b509392505050565b5f8083601f840112613fba575f80fd5b50813567ffffffffffffffff811115613fd1575f80fd5b602083019150836020828501011115613bb0575f80fd5b5f805f8060608587031215613ffb575f80fd5b8435935060208501359250604085013567ffffffffffffffff81111561401f575f80fd5b61402b87828801613faa565b95989497509550505050565b6001600160a01b0381168114612e27575f80fd5b5f805f805f6080868803121561405f575f80fd5b8535945060208601359350604086013567ffffffffffffffff811115614083575f80fd5b61408f88828901613faa565b90945092505060608601356140a381614037565b809150509295509295909350565b5f602082840312156140c1575f80fd5b81356140cc81614037565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60038110614135577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b5f60a08201905061414b828451614100565b6001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015292915050565b67ffffffffffffffff81168114612e27575f80fd5b5f602082840312156141a7575f80fd5b81356140cc81614182565b5f80604083850312156141c3575f80fd5b50508035926020909101359150565b5f805f805f8060a087890312156141e7575f80fd5b8635955060208701359450604087013561420081614037565b9350606087013567ffffffffffffffff81111561421b575f80fd5b61422789828a01613faa565b909450925050608087013561423b81614037565b809150509295509295509295565b5f805f805f6080868803121561425d575f80fd5b8535945060208601359350604086013561427681614037565b9250606086013567ffffffffffffffff811115614291575f80fd5b61429d88828901613faa565b969995985093965092949392505050565b5f80604083850312156142bf575f80fd5b82359150602083013567ffffffffffffffff8111156142dc575f80fd5b8301606081860312156142ed575f80fd5b809150509250929050565b5f805f806060858703121561430b575f80fd5b843567ffffffffffffffff811115614321575f80fd5b61432d87828801613faa565b90989097506020870135966040013595509350505050565b5f8060208385031215614356575f80fd5b823567ffffffffffffffff81111561436c575f80fd5b61437885828601613faa565b90969095509350505050565b60a081016143928288614100565b6001600160a01b03861660208301528460408301528360608301528260808301529695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b81835281816020850137505f602082840101525f6020601f19601f840116840101905092915050565b602081525f61370a6020830184866143ea565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff8111828210171561447657614476614426565b60405290565b6040516060810167ffffffffffffffff8111828210171561447657614476614426565b604051610100810167ffffffffffffffff8111828210171561447657614476614426565b604051601f8201601f1916810167ffffffffffffffff811182821017156144ec576144ec614426565b604052919050565b5f67ffffffffffffffff82111561450d5761450d614426565b50601f01601f191660200190565b5f82601f83011261452a575f80fd5b815161453d614538826144f4565b6144c3565b818152846020838601011115614551575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f6020828403121561457d575f80fd5b815167ffffffffffffffff811115614593575f80fd5b61370a8482850161451b565b80516136ec81614037565b5f602082840312156145ba575f80fd5b815167ffffffffffffffff8111156145d0575f80fd5b8201608081850312156145e1575f80fd5b6145e9614453565b8151600381106145f7575f80fd5b8152602082015161460781614037565b6020820152604082015161461a81614037565b6040820152606082015167ffffffffffffffff811115614638575f80fd5b6146448682850161451b565b606083015250949350505050565b5f6020828403128015614663575f80fd5b506040516020810167ffffffffffffffff8111828210171561468757614687614426565b6040529151825250919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082028115828204841417612e7957612e79614694565b5f8261470b577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b80820180821115612e7957612e79614694565b5f60208284031215614733575f80fd5b815167ffffffffffffffff811115614749575f80fd5b82016060818503121561475a575f80fd5b61476261447c565b8151815260208083015190820152604082015167ffffffffffffffff811115614789575f80fd5b6147958682850161451b565b604083015250949350505050565b8015158114612e27575f80fd5b5f602082840312156147c0575f80fd5b81516140cc816147a3565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6020815281516020820152602082015160408201525f604083015160608084015261370a60808401826147cb565b60208152614839602082018351614100565b6001600160a01b0360208301511660408201526001600160a01b0360408301511660608201525f606083015160808084015261370a60a08401826147cb565b602081525f6140cc60208301846147cb565b81810381811115612e7957612e79614694565b6001600160a01b0384168152604060208201525f6148bf6040830184866143ea565b95945050505050565b8581528460208201526001600160a01b0384166040820152608060608201525f6148f66080830184866143ea565b979650505050505050565b828152604060208201525f8235614917816147a3565b15156040830152602083013561492c81614037565b6001600160a01b031660608301526040830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261496f575f80fd5b830160208101903567ffffffffffffffff81111561498b575f80fd5b803603821315614999575f80fd5b606060808501526149ae60a0850182846143ea565b9695505050505050565b5f602082840312156149c8575f80fd5b81516140cc81614037565b5f82601f8301126149e2575f80fd5b81356149f0614538826144f4565b818152846020838601011115614a04575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60608236031215614a30575f80fd5b614a3861447c565b8235614a43816147a3565b81526020830135614a5381614037565b6020820152604083013567ffffffffffffffff811115614a71575f80fd5b614a7d368286016149d3565b60408301525092915050565b5f60208284031215614a99575f80fd5b813567ffffffffffffffff811115614aaf575f80fd5b820160408185031215614ac0575f80fd5b6040805190810167ffffffffffffffff81118282101715614ae357614ae3614426565b6040528135614af181614037565b8152602082013567ffffffffffffffff811115614b0c575f80fd5b614b18868285016149d3565b602083015250949350505050565b5f60208284031215614b36575f80fd5b5051919050565b602081526001600160a01b0382511660208201525f602083015160408084015261370a60608401826147cb565b5f8060408385031215614b7b575f80fd5b825160208401519092506142ed81614037565b5f60608284031215614b9e575f80fd5b614ba661447c565b90508151614bb3816147a3565b81526020820151614bc381614037565b6020820152604082015167ffffffffffffffff811115614be1575f80fd5b614a7d8482850161451b565b5f82601f830112614bfc575f80fd5b815167ffffffffffffffff811115614c1657614c16614426565b8060051b614c26602082016144c3565b91825260208185018101929081019086841115614c41575f80fd5b6020860192505b838310156149ae57825167ffffffffffffffff811115614c66575f80fd5b614c75886020838a0101614b8e565b83525060209283019290910190614c48565b80516136ec81614182565b5f60208284031215614ca2575f80fd5b815167ffffffffffffffff811115614cb8575f80fd5b82016101008185031215614cca575f80fd5b614cd261449f565b614cdb8261459f565b8152602082015167ffffffffffffffff811115614cf6575f80fd5b614d0286828501614b8e565b602083015250604082015167ffffffffffffffff811115614d21575f80fd5b614d2d86828501614b8e565b604083015250606082015167ffffffffffffffff811115614d4c575f80fd5b614d5886828501614b8e565b606083015250608082015167ffffffffffffffff811115614d77575f80fd5b614d8386828501614bed565b608083015250614d9560a08301614c87565b60a082015260c08281015190820152614db060e0830161459f565b60e0820152949350505050565b67ffffffffffffffff8181168382160190811115612e7957612e79614694565b5f60208284031215614ded575f80fd5b81516140cc81614182565b5f8060408385031215614e09575f80fd5b8251602084015190925067ffffffffffffffff811115614e27575f80fd5b614e338582860161451b565b915050925092905056fea26469706673582212201ae4465621fddb41ff261280bf98c27ad722212d6adbce644afd906f4677503164736f6c634300081a0033";
31
- function N(d) {
32
- const e = d.state.current, f = d.state.connections.get(e), b = f == null ? void 0 : f.accounts, a = b == null ? void 0 : b[0], t = d.chains.find((n) => n.id === (f == null ? void 0 : f.chainId)), c = d.state.status;
1
+ import { h as y, cA as K, cB as Q, c as O, cC as X, cD as Y, cE as Z, cF as f0, cG as e0, cH as t0, cI as a0, cJ as b0, cK as c0, cL as d0, cM as n0, cN as s0, cO as i0, cP as o0, cQ as r0, cR as u0, cS as h0, cT as l0, cU as g0, cV as w0, cW as v0, cX as m0, cY as C0 } from "./generated-BJfQ-EBO.js";
2
+ import { waitForTransactionReceipt as D, getAccount as A0, getChains as y0, getTransactionReceipt as I0 } from "@wagmi/core";
3
+ import { createClient as B0, custom as P0, zeroAddress as C, parseEventLogs as _, zeroHash as w, keccak256 as p0, encodePacked as F0 } from "viem";
4
+ import { i as _0 } from "./deployments-De8_J7SS.js";
5
+ import { actionFromAddress as E0 } from "./Actions/Action.js";
6
+ import { EventAction as R0 } from "./Actions/EventAction.js";
7
+ import { allowListFromAddress as V0, OpenAllowList as D0 } from "./AllowLists/AllowList.js";
8
+ import { SimpleAllowList as L0 } from "./AllowLists/SimpleAllowList.js";
9
+ import { S as N0 } from "./SimpleDenyList-C1C_BHkY.js";
10
+ import { PassthroughAuth as T0 } from "./Auth/PassthroughAuth.js";
11
+ import { prepareBoostPayload as P, Boost as E } from "./Boost.js";
12
+ import { T as $, b as S0, M as M0, a as O0 } from "./Budget-Bvi5Qjqp.js";
13
+ import { prepareTransfer as R, ManagedBudget as $0 } from "./Budgets/ManagedBudget.js";
14
+ import { Deployable as x0 } from "./Deployable/Deployable.js";
15
+ import { Roles as L } from "./Deployable/DeployableTargetWithRBAC.js";
16
+ import { AllowListIncentive as W0 } from "./Incentives/AllowListIncentive.js";
17
+ import { CGDAIncentive as z0 } from "./Incentives/CGDAIncentive.js";
18
+ import { ERC20Incentive as j0 } from "./Incentives/ERC20Incentive.js";
19
+ import { i as q0, E as G0 } from "./Incentive-CLKutfnD.js";
20
+ import { ERC20PeggedVariableCriteriaIncentiveV2 as k0 } from "./Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js";
21
+ import { ERC20VariableCriteriaIncentiveV2 as H0 } from "./Incentives/ERC20VariableCriteriaIncentiveV2.js";
22
+ import { PointsIncentive as U0 } from "./Incentives/PointsIncentive.js";
23
+ import { LimitedSignerValidator as J0 } from "./Validators/LimitedSignerValidator.js";
24
+ import { SignerValidator as K0 } from "./Validators/SignerValidator.js";
25
+ import { validatorFromAddress as Q0, BoostValidatorEOA as x } from "./Validators/Validator.js";
26
+ import { BoostCoreNoIdentifierEmitted as N, DeployableUnknownOwnerProvidedError as X0, InvalidProtocolChainIdError as Y0, BudgetMustAuthorizeBoostCore as Z0, MustInitializeBudgetError as f1, IncentiveNotCloneableError as e1, BoostNotFoundError as t1 } from "./errors.js";
27
+ import { assertValidAddressByChainId as h } from "./utils.js";
28
+ import { simulateContract as a1, writeContract as b1 } from "viem/actions";
29
+ import { parseAccount as c1, getAddress as d1 } from "viem/utils";
30
+ import { ERC20VariableIncentive as n1 } from "./Incentives/ERC20VariableIncentive.js";
31
+ const s1 = "0x608060405260048054607d60a31b600160a01b600160e01b0319909116179055600580546001600160401b0319166103e817905534801561003e575f80fd5b50604051614fbc380380614fbc83398101604081905261005d916100e8565b61006681610098565b50600180546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055610132565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a35b50565b6001600160a01b03811681146100d1575f80fd5b5f805f606084860312156100fa575f80fd5b8351610105816100d4565b6020850151909350610116816100d4565b6040850151909250610127816100d4565b809150509250925092565b614e7d8061013f5f395ff3fe6080604052600436106101d0575f3560e01c80637b103999116100fd578063dd7dc9a911610092578063f04e283e11610062578063f04e283e14610551578063f2fde38b14610564578063fee81cf414610577578063fefceca9146105a8575f80fd5b8063dd7dc9a9146104b7578063dd98558c146104d7578063e21ff73114610513578063eccc19a614610532575f80fd5b8063b0e21e8a116100cd578063b0e21e8a14610413578063caa1647b14610464578063d5137b5214610483578063d73792a9146104a2575f80fd5b80637b1039991461038f5780638da5cb5b146103ae5780638fe4f523146103e1578063a92647dc146103f4575f80fd5b806343bc42d3116101735780635edb9eb0116101435780635edb9eb0146103385780635f32c23e14610355578063715018a614610374578063730f9c571461037c575f80fd5b806343bc42d3146102d357806346877b1a146102f25780635045b8661461031157806354d1f13d14610330575f80fd5b8063219f71f0116101ae578063219f71f0146102495780632569296214610268578063346339d51461027057806339a51be51461029c575f80fd5b806313c8e2de146101d457806316614282146102095780631fa2acdc1461022a575b5f80fd5b3480156101df575f80fd5b506101f36101ee366004613e9a565b61060b565b6040516102009190613ef4565b60405180910390f35b348015610214575f80fd5b50610228610223366004613ff2565b610740565b005b348015610235575f80fd5b50610228610244366004614055565b610eb3565b348015610254575f80fd5b506102286102633660046140bb565b611628565b61022861166a565b34801561027b575f80fd5b5061028f61028a366004613e9a565b6116b7565b6040516102009190614143565b3480156102a7575f80fd5b506003546102bb906001600160a01b031681565b6040516001600160a01b039091168152602001610200565b3480156102de575f80fd5b506102286102ed3660046141a1565b61176c565b3480156102fd575f80fd5b5061022861030c3660046140bb565b6117c7565b34801561031c575f80fd5b506004546102bb906001600160a01b031681565b610228611809565b348015610343575f80fd5b505f545b604051908152602001610200565b348015610360575f80fd5b5061022861036f3660046141bc565b611842565b6102286119db565b61022861038a3660046141dc565b6119ee565b34801561039a575f80fd5b506001546102bb906001600160a01b031681565b3480156103b9575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102bb565b6102286103ef366004614253565b611e55565b3480156103ff575f80fd5b506002546102bb906001600160a01b031681565b34801561041e575f80fd5b5060045461044b9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610200565b34801561046f575f80fd5b5061022861047e3660046141a1565b611e6a565b34801561048e575f80fd5b506102bb61049d3660046142b8565b611ef2565b3480156104ad575f80fd5b5061044b61271081565b3480156104c2575f80fd5b5060055461044b9067ffffffffffffffff1681565b3480156104e2575f80fd5b506104f66104f1366004614302565b61211e565b604080519283526001600160a01b03909116602083015201610200565b34801561051e575f80fd5b506101f361052d36600461434f565b61257a565b34801561053d575f80fd5b5061022861054c3660046140bb565b612dab565b61022861055f3660046140bb565b612ded565b6102286105723660046140bb565b612e2a565b348015610582575f80fd5b506103476105913660046140bb565b63389a75e1600c9081525f91909152602090205490565b3480156105b3575f80fd5b506105fa6105c2366004613e9a565b60066020525f9081526040902080546001820154600283015460039093015460ff8316936101009093046001600160a01b0316929085565b60405161020095949392919061438e565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e08101919091525f828154811061065c5761065c6143c7565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b039081168452600182015481168486015260028201548116848401526003820154166060840152600481018054835181870281018701909452808452939491936080860193928301828280156106ff57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116106e1575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b031660609091015292915050565b3068929eee149b4bd21268540361075e5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061077d5761077d6143c7565b905f5260205f20906008020190505f8160040185815481106107a1576107a16143c7565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a2906107f6908890889060040161441d565b5f60405180830381865afa158015610810573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526108379190810190614577565b905080515f03610873576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8180602001905181019061088891906145b4565b90505f8080806001855160028111156108a3576108a36140dd565b14806108c057505f855160028111156108be576108be6140dd565b145b15610924575f85606001518060200190518101906108de919061465c565b805160058b0154909650909150612710906109039067ffffffffffffffff16876146cb565b61090d91906146e2565b9350610919848661471a565b9081905291506109da565b600285516002811115610939576109396140dd565b036109a8575f8560600151806020019051810190610957919061472d565b602081015160058b01549096509091506127109061097f9067ffffffffffffffff16876146cb565b61098991906146e2565b9350610995848661471a565b60208201819052905190925090506109da565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6109e58d8d612e50565b5f8181526006602052604081206001810180549394509092879290610a0b90849061471a565b909155505085159150610e99905057600185516002811115610a2f57610a2f6140dd565b1480610a4c57505f85516002811115610a4a57610a4a6140dd565b145b15610c6b5760208501516040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490526001600160a01b038216906323b872dd906064016020604051808303815f875af1158015610abf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae391906147ba565b506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820187905282169063095ea7b3906044016020604051808303815f875af1158015610b49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6d91906147ba565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038916906330db555f906024015f604051808303815f87803b158015610bc6575f80fd5b505af1158015610bd8573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015610c40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6491906147ba565b5050610e59565b60208501516040517ff242432a000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526064810184905260a060848201525f60a48201526001600160a01b0382169063f242432a9060c4015f604051808303815f87803b158015610ce8575f80fd5b505af1158015610cfa573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152600160248301528416925063a22cb46591506044015f604051808303815f87803b158015610d5e575f80fd5b505af1158015610d70573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018890526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b158015610dcc575f80fd5b505af1158015610dde573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b158015610e41575f80fd5b505af1158015610e53573d5f803e3d5ffd5b50505050505b604080518581526020810185905233918d918f917f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f31876910160405180910390a45b50505050505050503868929eee149b4bd212685550505050565b3068929eee149b4bd212685403610ed15763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808681548110610ef057610ef06143c7565b905f5260205f20906008020190505f816004018681548110610f1457610f146143c7565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a290610f69908990899060040161441d565b5f60405180830381865afa158015610f83573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610faa9190810190614577565b905080515f03610fe6576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81806020019051810190610ffb91906145b4565b90505f6001600160a01b038616156110135785611022565b60038501546001600160a01b03165b905061102d81612e7f565b5f8080600185516002811115611045576110456140dd565b148061106257505f85516002811115611060576110606140dd565b145b156110e9575f8560600151806020019051810190611080919061465c565b805160058b0154909550909150612710906110a59067ffffffffffffffff16866146cb565b6110af91906146e2565b92506110bb838561471a565b8082526040805160208101839052919350015b60408051601f19818403018152919052606087015250611174565b6002855160028111156110fe576110fe6140dd565b036109a8575f856060015180602001905181019061111c919061472d565b602081015160058b0154909550909150612710906111449067ffffffffffffffff16866146cb565b61114e91906146e2565b925061115a838561471a565b60208083018290526040519193506110ce91839101614803565b30604080870191909152515f9061118f908790602001614831565b60408051601f19818403018152908290527ffa4ca9b100000000000000000000000000000000000000000000000000000000825291506001600160a01b0386169063fa4ca9b1906111e4908490600401614882565b6020604051808303815f875af1158015611200573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122491906147ba565b61125a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6112658f8f612e50565b5f818152600660205260408120600181018054939450909287929061128b90849061471a565b90915550508515925061160d915050576001855160028111156112b0576112b06140dd565b14806112cd57505f855160028111156112cb576112cb6140dd565b145b1561145e5760208501516040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820186905282169063095ea7b3906044016020604051808303815f875af115801561133c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136091906147ba565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b038916906330db555f906024015f604051808303815f87803b1580156113b9575f80fd5b505af11580156113cb573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015611433573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145791906147ba565b50506115be565b60208501516040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526001602483015282169063a22cb465906044015f604051808303815f87803b1580156114c3575f80fd5b505af11580156114d5573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018790526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b158015611531575f80fd5b505af1158015611543573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b1580156115a6575f80fd5b505af11580156115b8573d5f803e3d5ffd5b50505050505b336001600160a01b03168c8e7f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f318768686604051611604929190918252602082015260400190565b60405180910390a45b50505050505050503868929eee149b4bd21268555050505050565b611630612f5e565b600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6116ee6040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b5f8281526006602052604090819020815160a081019092528054829060ff16600281111561171e5761171e6140dd565b600281111561172f5761172f6140dd565b8152815461010090046001600160a01b03166020820152600182015460408201526002820154606082015260039091015460809091015292915050565b611774612f5e565b6004805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6117cf612f5e565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b3068929eee149b4bd2126854036118605763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6118778383612e50565b5f81815260066020526040812081549293509181908690811061189c5761189c6143c7565b905f5260205f20906008020160040184815481106118bc576118bc6143c7565b5f918252602082200154600284015460018501546001600160a01b039092169350906118eb90612710906146cb565b6118f591906146e2565b90505f6119028484612f93565b9050818111156119c6575f6119178383614894565b90505f61271067ffffffffffffffff1686600201548361193791906146cb565b61194191906146e2565b905061194d86826130e1565b808660010154106119765780866001015f82825461196b9190614894565b9091555061197d9050565b5f60018701555b6003546040518281526001600160a01b039091169089908b907f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b179060200160405180910390a450505b50505050503868929eee149b4bd21268555050565b6119e3612f5e565b6119ec5f61321d565b565b3068929eee149b4bd212685403611a0c5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110611a2b57611a2b6143c7565b905f5260205f20906008020190505f611a448888612e50565b5f81815260066020526040812060048501805493945090928a908110611a6c57611a6c6143c7565b5f9182526020909120015460028501546040517fe3f756de0000000000000000000000000000000000000000000000000000000081526001600160a01b03928316935091169063e3f756de90611aca9088908b908b906004016148a7565b602060405180830381865afa158015611ae5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b0991906147ba565b611b3f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018401546040517f703b69000000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063703b6900903490611b94908e908e908b908e908e906004016148d2565b60206040518083038185885af1158015611bb0573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611bd591906147ba565b611c0b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81545f9061010090046001600160a01b0316611c27575f611c31565b611c318383612f93565b6040517fbb1757cf0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0383169063bb1757cf90611c7d9089908c908c906004016148a7565b6020604051808303815f875af1158015611c99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbd91906147ba565b611d02578588886040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401611cf9939291906148a7565b60405180910390fd5b82545f9061010090046001600160a01b0316611d1e575f611d28565b611d288484612f93565b90505f818311611d38575f611d42565b611d428284614894565b90505f61271067ffffffffffffffff16866002015483611d6291906146cb565b611d6c91906146e2565b90508015611df257611d7e86826130e1565b80866001015f828254611d919190614894565b9250508190555060035f9054906101000a90046001600160a01b03166001600160a01b03168d8f7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051611de991815260200190565b60405180910390a45b886001600160a01b03168d8f7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478f8f8f604051611e31939291906148a7565b60405180910390a450505050505050503868929eee149b4bd2126855505050505050565b611e638585858585336119ee565b5050505050565b611e72612f5e565b61271067ffffffffffffffff821610611eb7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff92909216919091179055565b5f3068929eee149b4bd212685403611f115763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808481548110611f3057611f306143c7565b5f918252602090912060089091020160078101549091506001600160a01b03163314611f88576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003810154611f9f906001600160a01b0316612e7f565b6004808201805491549091905f906001600160a01b0316611fc0575f612052565b6004546040516001600160a01b039091169063c7f1ecff90611fe8908a908a9060200161490b565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016120139190614882565b602060405180830381865afa15801561202e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205291906149c2565b905061208861206087614a2a565b600386015460058701546001600160a01b039091169067ffffffffffffffff16848b87613275565b83546001810185555f858152602080822090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03851690811790915560405191825292975084918a917f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae910160405180910390a4505050503868929eee149b4bd212685592915050565b5f803068929eee149b4bd21268540361213e5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061215d5761215d6143c7565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b0390811684526001820154811684860152600282015481168484015260038201541660608401526004810180548351818702810187019094528084529394919360808601939283018282801561220057602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116121e2575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b039081166060928301529082015191925016331461227d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6122888686612e50565b5f8181526006602052604081209192506122a4898b018b614a93565b90505f81602001518060200190518101906122bf9190614b30565b90505f61271067ffffffffffffffff168460020154836122df91906146cb565b6122e991906146e2565b90508015612457576001845460ff166002811115612309576123096140dd565b148061232957505f845460ff166002811115612327576123276140dd565b145b15612351578251845461234c916101009091046001600160a01b03169083613615565b61240e565b6002845460ff166002811115612369576123696140dd565b0361240e578354835160038601546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b1580156123f7575f80fd5b505af1158015612409573d5f803e3d5ffd5b505050505b825f01516001600160a01b0316898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b178460405161244e91815260200190565b60405180910390a45b5f8087608001518b8151811061246f5761246f6143c7565b60200260200101516001600160a01b031663474f5a44866040516020016124969190614b47565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016124c19190614882565b60408051808303815f875af11580156124dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125009190614b74565b91509150815f0361254357338e8e6040517f9ecd71a9000000000000000000000000000000000000000000000000000000008152600401611cf9939291906148a7565b82866001015f8282546125569190614894565b90915550503868929eee149b4bd2126855909d909c509a5050505050505050505050565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e081019190915260025433906001600160a01b03161580159061265757506002546040517ffe9fbb800000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063fe9fbb8090602401602060405180830381865afa158015612631573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061265591906147ba565b155b1561268e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd2126854036126ac5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6126f785858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061366892505050565b80602001905181019061270a9190614c9c565b9050612718815f0151612e7f565b5f805460018101825590805260e082015160089091027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56a810180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b039485161790915583517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566830180549092169084161790556004547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563909101911661281c5760a0820151600454612817919074010000000000000000000000000000000000000000900467ffffffffffffffff16614dc7565b6128b4565b60a0820151600480546040517fb1539a6b0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163b1539a6b9161286b918b918b910161441d565b602060405180830381865afa158015612886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128aa9190614de7565b6128b49190614dc7565b6005820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905560c08201516006820155602082015161292b907fe6715795000000000000000000000000000000000000000000000000000000009060016136fb565b81547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03919091161781556060820151612990907fe2089f79000000000000000000000000000000000000000000000000000000009060016136fb565b6002820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039283161790556004545f91166129d6575f612a5f565b600480546040517fc7f1ecff0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163c7f1ecff91612a20918b918b910161441d565b602060405180830381865afa158015612a3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5f91906149c2565b608084015184516005850154929350612a829267ffffffffffffffff168461371c565b8051612a98916004850191602090910190613e0b565b506040830151602001516001600160a01b031615612ae557612ae07f5912b89c00000000000000000000000000000000000000000000000000000000846040015160016136fb565b612b9d565b81546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201526001600160a01b03909116906301ffc9a790602401602060405180830381865afa158015612b63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b8791906147ba565b612b91575f612b9d565b81546001600160a01b03165b6001830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03929092169182179055612c34576040517fe1c444480000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201525f6024820152604401611cf9565b815460078301545f546001600160a01b039283169290911690612c5990600190614894565b6004850154600186015460028701546003880154604080519485526001600160a01b03938416602086015291831684830152919091166060830152517f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd9181900360800190a4604080516101008101825283546001600160a01b03908116825260018501548116602080840191909152600286015482168385015260038601549091166060830152600485018054845181840281018401909552808552929386936080860193919291830182828015612d5957602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311612d3b575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b03166060909101523868929eee149b4bd2126855979650505050505050565b612db3612f5e565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b612df5612f5e565b63389a75e1600c52805f526020600c208054421115612e1b57636f5e88185f526004601cfd5b5f9055612e278161321d565b50565b612e32612f5e565b8060601b612e4757637448fbae5f526004601cfd5b612e278161321d565b604080516020808201859052818301849052825180830384018152606090920190925280519101205b92915050565b612ea97fe49cedd7000000000000000000000000000000000000000000000000000000008261384e565b6040517ffe9fbb800000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382169063fe9fbb8090602401602060405180830381865afa158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f2891906147ba565b612e27576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146119ec576382b429005f526004601cfd5b5f6001835460ff166002811115612fac57612fac6140dd565b1480612fcc57505f835460ff166002811115612fca57612fca6140dd565b145b156130635782546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152610100909204909116906370a08231906024015b602060405180830381865afa158015613038573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061305c9190614b30565b9050612e79565b6002835460ff16600281111561307b5761307b6140dd565b036130d957825460038401546040517efdd58e0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526024820192909252610100909204169062fdd58e9060440161301d565b505f92915050565b6001825460ff1660028111156130f9576130f96140dd565b148061311957505f825460ff166002811115613117576131176140dd565b145b1561315c57600354825461313f916001600160a01b036101009092048216911683613615565b81546131589061010090046001600160a01b031661396c565b5050565b6002825460ff166002811115613174576131746140dd565b0361315857815460038054908401546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b158015613203575f80fd5b505af1158015613215573d5f803e3d5ffd5b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f80876040015190506132ac7fa921670500000000000000000000000000000000000000000000000000000000896020015161384e565b875161331b5760208801516040517fe1c444480000000000000000000000000000000000000000000000000000000081527fa92167050000000000000000000000000000000000000000000000000000000060048201526001600160a01b039091166024820152604401611cf9565b6133467fa921670500000000000000000000000000000000000000000000000000000000895f6136fb565b91505f826001600160a01b0316634e7165a2836040518263ffffffff1660e01b81526004016133759190614882565b5f60405180830381865afa15801561338f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133b69190810190614577565b905080515f14613597575f806133cc838a613a28565b6040517ffa4ca9b100000000000000000000000000000000000000000000000000000000815291935091506001600160a01b038b169063fa4ca9b190613416908590600401614882565b6020604051808303815f875af1158015613432573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061345691906147ba565b61348c576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffa4ca9b10000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063fa4ca9b1906134d1908690600401614882565b6020604051808303815f875af11580156134ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061351191906147ba565b613547576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8380602001905181019061355c91906145b4565b905061359388886001600160a01b038c1661357b57836020015161357d565b8b5b858e67ffffffffffffffff16865f01518b613bc1565b5050505b6040517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0384169063439fab91906135dc908590600401614882565b5f604051808303815f87803b1580156135f3575f80fd5b505af1158015613605573d5f803e3d5ffd5b5050505050509695505050505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661365e57803d853b15171061365e576390b8ec185f526004601cfd5b505f603452505050565b60608151156136f65760405190506020810160048301805184518501811983525b808610156136e0576001860195508551601f1a806136d1576001870196508651601f1a5f198652607f81116136c057600181013687375b607f16949094016001019350613689565b80855350600184019350613689565b509052601f198282030182525f81526020016040525b919050565b5f61370a84846020015161384e565b6137148383613cfd565b949350505050565b5f80546060919061372f90600190614894565b9050855167ffffffffffffffff81111561374b5761374b614430565b604051908082528060200260200182016040528015613774578160200160208202803683370190505b5091505f5b8651811015613844576137a9878281518110613797576137976143c7565b60200260200101518787878686613275565b8382815181106137bb576137bb6143c7565b60200260200101906001600160a01b031690816001600160a01b0316815250508281815181106137ed576137ed6143c7565b60200260200101516001600160a01b031681837f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae6001604051613834911515815260200190565b60405180910390a4600101613779565b5050949350505050565b6001600160a01b038116158061390257506040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa1580156138dc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061390091906147ba565b155b15613158576040517fe1c444480000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b0382166024820152604401611cf9565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156139c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139ed9190614b30565b90505f81118015613a09575060055467ffffffffffffffff1681105b1561315857600354613158906001600160a01b03848116911683613615565b60605f8084806020019051810190613a4091906145b4565b905083600182516002811115613a5857613a586140dd565b1480613a7557505f82516002811115613a7357613a736140dd565b145b15613b23575f8260600151806020019051810190613a93919061465c565b80519091505f9061271090613ab39067ffffffffffffffff8616906146cb565b613abd91906146e2565b6040805160208082018352838252825190810184905292935091015b60408051601f198184030181529181526060870191909152308682015251613b05908690602001614831565b60405160208183030381529060405282965096505050505050613bba565b600282516002811115613b3857613b386140dd565b036109a8575f8260600151806020019051810190613b56919061472d565b90505f61271067ffffffffffffffff168367ffffffffffffffff168360200151613b8091906146cb565b613b8a91906146e2565b604080516060810182528451815260208082018490528583015182840152915192935091613ad991839101614803565b9250929050565b5f6002836002811115613bd657613bd66140dd565b03613bf35781806020019051810190613bef9190614e02565b5090505b5f6040518060a00160405280856002811115613c1157613c116140dd565b8152602001886001600160a01b031681526020018781526020018681526020018381525090508060065f613c458c8c612e50565b815260208101919091526040015f208151815482907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115613c9057613c906140dd565b0217905550602082015181546001600160a01b03909116610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9091161781556040820151600182015560608201516002820155608090910151600390910155505050505050505050565b81515f90613d0f578260200151613d25565b613d2583602001516001600160a01b0316613db4565b83519091508015613d335750815b15612e795760408084015190517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0383169163439fab9191613d819190600401614882565b5f604051808303815f87803b158015613d98575f80fd5b505af1158015613daa573d5f803e3d5ffd5b5050505092915050565b5f612e795f835f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f0905080613e015763301164255f526004601cfd5b5f60215292915050565b828054828255905f5260205f20908101928215613e76579160200282015b82811115613e7657825182547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909116178255602090920191600190910190613e29565b50613e82929150613e86565b5090565b5b80821115613e82575f8155600101613e87565b5f60208284031215613eaa575f80fd5b5035919050565b5f8151808452602084019350602083015f5b82811015613eea5781516001600160a01b0316865260209586019590910190600101613ec3565b5093949350505050565b602081526001600160a01b0382511660208201525f6020830151613f2360408401826001600160a01b03169052565b5060408301516001600160a01b03811660608401525060608301516001600160a01b038116608084015250608083015161010060a0840152613f69610120840182613eb1565b905060a0840151613f8660c085018267ffffffffffffffff169052565b5060c084015160e084015260e0840151613fac6101008501826001600160a01b03169052565b509392505050565b5f8083601f840112613fc4575f80fd5b50813567ffffffffffffffff811115613fdb575f80fd5b602083019150836020828501011115613bba575f80fd5b5f805f8060608587031215614005575f80fd5b8435935060208501359250604085013567ffffffffffffffff811115614029575f80fd5b61403587828801613fb4565b95989497509550505050565b6001600160a01b0381168114612e27575f80fd5b5f805f805f60808688031215614069575f80fd5b8535945060208601359350604086013567ffffffffffffffff81111561408d575f80fd5b61409988828901613fb4565b90945092505060608601356140ad81614041565b809150509295509295909350565b5f602082840312156140cb575f80fd5b81356140d681614041565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6003811061413f577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b5f60a08201905061415582845161410a565b6001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015292915050565b67ffffffffffffffff81168114612e27575f80fd5b5f602082840312156141b1575f80fd5b81356140d68161418c565b5f80604083850312156141cd575f80fd5b50508035926020909101359150565b5f805f805f8060a087890312156141f1575f80fd5b8635955060208701359450604087013561420a81614041565b9350606087013567ffffffffffffffff811115614225575f80fd5b61423189828a01613fb4565b909450925050608087013561424581614041565b809150509295509295509295565b5f805f805f60808688031215614267575f80fd5b8535945060208601359350604086013561428081614041565b9250606086013567ffffffffffffffff81111561429b575f80fd5b6142a788828901613fb4565b969995985093965092949392505050565b5f80604083850312156142c9575f80fd5b82359150602083013567ffffffffffffffff8111156142e6575f80fd5b8301606081860312156142f7575f80fd5b809150509250929050565b5f805f8060608587031215614315575f80fd5b843567ffffffffffffffff81111561432b575f80fd5b61433787828801613fb4565b90989097506020870135966040013595509350505050565b5f8060208385031215614360575f80fd5b823567ffffffffffffffff811115614376575f80fd5b61438285828601613fb4565b90969095509350505050565b60a0810161439c828861410a565b6001600160a01b03861660208301528460408301528360608301528260808301529695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b81835281816020850137505f602082840101525f6020601f19601f840116840101905092915050565b602081525f6137146020830184866143f4565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff8111828210171561448057614480614430565b60405290565b6040516060810167ffffffffffffffff8111828210171561448057614480614430565b604051610100810167ffffffffffffffff8111828210171561448057614480614430565b604051601f8201601f1916810167ffffffffffffffff811182821017156144f6576144f6614430565b604052919050565b5f67ffffffffffffffff82111561451757614517614430565b50601f01601f191660200190565b5f82601f830112614534575f80fd5b8151614547614542826144fe565b6144cd565b81815284602083860101111561455b575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215614587575f80fd5b815167ffffffffffffffff81111561459d575f80fd5b61371484828501614525565b80516136f681614041565b5f602082840312156145c4575f80fd5b815167ffffffffffffffff8111156145da575f80fd5b8201608081850312156145eb575f80fd5b6145f361445d565b815160038110614601575f80fd5b8152602082015161461181614041565b6020820152604082015161462481614041565b6040820152606082015167ffffffffffffffff811115614642575f80fd5b61464e86828501614525565b606083015250949350505050565b5f602082840312801561466d575f80fd5b506040516020810167ffffffffffffffff8111828210171561469157614691614430565b6040529151825250919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082028115828204841417612e7957612e7961469e565b5f82614715577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b80820180821115612e7957612e7961469e565b5f6020828403121561473d575f80fd5b815167ffffffffffffffff811115614753575f80fd5b820160608185031215614764575f80fd5b61476c614486565b8151815260208083015190820152604082015167ffffffffffffffff811115614793575f80fd5b61479f86828501614525565b604083015250949350505050565b8015158114612e27575f80fd5b5f602082840312156147ca575f80fd5b81516140d6816147ad565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6020815281516020820152602082015160408201525f604083015160608084015261371460808401826147d5565b6020815261484360208201835161410a565b6001600160a01b0360208301511660408201526001600160a01b0360408301511660608201525f606083015160808084015261371460a08401826147d5565b602081525f6140d660208301846147d5565b81810381811115612e7957612e7961469e565b6001600160a01b0384168152604060208201525f6148c96040830184866143f4565b95945050505050565b8581528460208201526001600160a01b0384166040820152608060608201525f6149006080830184866143f4565b979650505050505050565b828152604060208201525f8235614921816147ad565b15156040830152602083013561493681614041565b6001600160a01b031660608301526040830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614979575f80fd5b830160208101903567ffffffffffffffff811115614995575f80fd5b8036038213156149a3575f80fd5b606060808501526149b860a0850182846143f4565b9695505050505050565b5f602082840312156149d2575f80fd5b81516140d681614041565b5f82601f8301126149ec575f80fd5b81356149fa614542826144fe565b818152846020838601011115614a0e575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60608236031215614a3a575f80fd5b614a42614486565b8235614a4d816147ad565b81526020830135614a5d81614041565b6020820152604083013567ffffffffffffffff811115614a7b575f80fd5b614a87368286016149dd565b60408301525092915050565b5f60208284031215614aa3575f80fd5b813567ffffffffffffffff811115614ab9575f80fd5b820160408185031215614aca575f80fd5b6040805190810167ffffffffffffffff81118282101715614aed57614aed614430565b6040528135614afb81614041565b8152602082013567ffffffffffffffff811115614b16575f80fd5b614b22868285016149dd565b602083015250949350505050565b5f60208284031215614b40575f80fd5b5051919050565b602081526001600160a01b0382511660208201525f602083015160408084015261371460608401826147d5565b5f8060408385031215614b85575f80fd5b825160208401519092506142f781614041565b5f60608284031215614ba8575f80fd5b614bb0614486565b90508151614bbd816147ad565b81526020820151614bcd81614041565b6020820152604082015167ffffffffffffffff811115614beb575f80fd5b614a8784828501614525565b5f82601f830112614c06575f80fd5b815167ffffffffffffffff811115614c2057614c20614430565b8060051b614c30602082016144cd565b91825260208185018101929081019086841115614c4b575f80fd5b6020860192505b838310156149b857825167ffffffffffffffff811115614c70575f80fd5b614c7f886020838a0101614b98565b83525060209283019290910190614c52565b80516136f68161418c565b5f60208284031215614cac575f80fd5b815167ffffffffffffffff811115614cc2575f80fd5b82016101008185031215614cd4575f80fd5b614cdc6144a9565b614ce5826145a9565b8152602082015167ffffffffffffffff811115614d00575f80fd5b614d0c86828501614b98565b602083015250604082015167ffffffffffffffff811115614d2b575f80fd5b614d3786828501614b98565b604083015250606082015167ffffffffffffffff811115614d56575f80fd5b614d6286828501614b98565b606083015250608082015167ffffffffffffffff811115614d81575f80fd5b614d8d86828501614bf7565b608083015250614d9f60a08301614c91565b60a082015260c08281015190820152614dba60e083016145a9565b60e0820152949350505050565b67ffffffffffffffff8181168382160190811115612e7957612e7961469e565b5f60208284031215614df7575f80fd5b81516140d68161418c565b5f8060408385031215614e13575f80fd5b8251602084015190925067ffffffffffffffff811115614e31575f80fd5b614e3d85828601614525565b915050925092905056fea26469706673582212208286ae56352689fb64c76c3bbaaa898df87482cd394c79c101f009e07f87c00c64736f6c634300081a0033";
32
+ function j(n) {
33
+ const f = n.state.current, e = n.state.connections.get(f), t = e == null ? void 0 : e.accounts, a = t == null ? void 0 : t[0], b = n.chains.find((d) => d.id === (e == null ? void 0 : e.chainId)), c = n.state.status;
33
34
  switch (c) {
34
35
  case "connected":
35
36
  return {
36
37
  address: a,
37
- addresses: b,
38
- chain: t,
39
- chainId: f == null ? void 0 : f.chainId,
40
- connector: f == null ? void 0 : f.connector,
38
+ addresses: t,
39
+ chain: b,
40
+ chainId: e == null ? void 0 : e.chainId,
41
+ connector: e == null ? void 0 : e.connector,
41
42
  isConnected: !0,
42
43
  isConnecting: !1,
43
44
  isDisconnected: !1,
@@ -47,10 +48,10 @@ function N(d) {
47
48
  case "reconnecting":
48
49
  return {
49
50
  address: a,
50
- addresses: b,
51
- chain: t,
52
- chainId: f == null ? void 0 : f.chainId,
53
- connector: f == null ? void 0 : f.connector,
51
+ addresses: t,
52
+ chain: b,
53
+ chainId: e == null ? void 0 : e.chainId,
54
+ connector: e == null ? void 0 : e.connector,
54
55
  isConnected: !!a,
55
56
  isConnecting: !1,
56
57
  isDisconnected: !1,
@@ -60,10 +61,10 @@ function N(d) {
60
61
  case "connecting":
61
62
  return {
62
63
  address: a,
63
- addresses: b,
64
- chain: t,
65
- chainId: f == null ? void 0 : f.chainId,
66
- connector: f == null ? void 0 : f.connector,
64
+ addresses: t,
65
+ chain: b,
66
+ chainId: e == null ? void 0 : e.chainId,
67
+ connector: e == null ? void 0 : e.connector,
67
68
  isConnected: !1,
68
69
  isConnecting: !0,
69
70
  isDisconnected: !1,
@@ -85,32 +86,32 @@ function N(d) {
85
86
  };
86
87
  }
87
88
  }
88
- function Q0(d) {
89
- return d.state.chainId;
89
+ function i1(n) {
90
+ return n.state.chainId;
90
91
  }
91
- function p(d, e, f) {
92
- const b = d[e.name];
93
- if (typeof b == "function")
94
- return b;
95
- const a = d[f];
96
- return typeof a == "function" ? a : (t) => e(d, t);
92
+ function q(n, f, e) {
93
+ const t = n[f.name];
94
+ if (typeof t == "function")
95
+ return t;
96
+ const a = n[e];
97
+ return typeof a == "function" ? a : (b) => f(n, b);
97
98
  }
98
- const X0 = "2.13.8", Y0 = () => `@wagmi/core@${X0}`;
99
- var V = function(d, e, f, b) {
100
- if (f === "a" && !b) throw new TypeError("Private accessor was defined without a getter");
101
- if (typeof e == "function" ? d !== e || !b : !e.has(d)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
102
- return f === "m" ? b : f === "a" ? b.call(d) : b ? b.value : e.get(d);
103
- }, _, M;
104
- class v extends Error {
99
+ const o1 = "2.13.8", r1 = () => `@wagmi/core@${o1}`;
100
+ var G = function(n, f, e, t) {
101
+ if (e === "a" && !t) throw new TypeError("Private accessor was defined without a getter");
102
+ if (typeof f == "function" ? n !== f || !t : !f.has(n)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
103
+ return e === "m" ? t : e === "a" ? t.call(n) : t ? t.value : f.get(n);
104
+ }, V, k;
105
+ class I extends Error {
105
106
  get docsBaseUrl() {
106
107
  return "https://wagmi.sh/core";
107
108
  }
108
109
  get version() {
109
- return Y0();
110
+ return r1();
110
111
  }
111
- constructor(e, f = {}) {
112
- var t;
113
- super(), _.add(this), Object.defineProperty(this, "details", {
112
+ constructor(f, e = {}) {
113
+ var b;
114
+ super(), V.add(this), Object.defineProperty(this, "details", {
114
115
  enumerable: !0,
115
116
  configurable: !0,
116
117
  writable: !0,
@@ -136,27 +137,27 @@ class v extends Error {
136
137
  writable: !0,
137
138
  value: "WagmiCoreError"
138
139
  });
139
- const b = f.cause instanceof v ? f.cause.details : (t = f.cause) != null && t.message ? f.cause.message : f.details, a = f.cause instanceof v && f.cause.docsPath || f.docsPath;
140
+ const t = e.cause instanceof I ? e.cause.details : (b = e.cause) != null && b.message ? e.cause.message : e.details, a = e.cause instanceof I && e.cause.docsPath || e.docsPath;
140
141
  this.message = [
141
- e || "An error occurred.",
142
+ f || "An error occurred.",
142
143
  "",
143
- ...f.metaMessages ? [...f.metaMessages, ""] : [],
144
+ ...e.metaMessages ? [...e.metaMessages, ""] : [],
144
145
  ...a ? [
145
- `Docs: ${this.docsBaseUrl}${a}.html${f.docsSlug ? `#${f.docsSlug}` : ""}`
146
+ `Docs: ${this.docsBaseUrl}${a}.html${e.docsSlug ? `#${e.docsSlug}` : ""}`
146
147
  ] : [],
147
- ...b ? [`Details: ${b}`] : [],
148
+ ...t ? [`Details: ${t}`] : [],
148
149
  `Version: ${this.version}`
149
150
  ].join(`
150
- `), f.cause && (this.cause = f.cause), this.details = b, this.docsPath = a, this.metaMessages = f.metaMessages, this.shortMessage = e;
151
+ `), e.cause && (this.cause = e.cause), this.details = t, this.docsPath = a, this.metaMessages = e.metaMessages, this.shortMessage = f;
151
152
  }
152
- walk(e) {
153
- return V(this, _, "m", M).call(this, this, e);
153
+ walk(f) {
154
+ return G(this, V, "m", k).call(this, this, f);
154
155
  }
155
156
  }
156
- _ = /* @__PURE__ */ new WeakSet(), M = function d(e, f) {
157
- return f != null && f(e) ? e : e.cause ? V(this, _, "m", d).call(this, e.cause, f) : e;
157
+ V = /* @__PURE__ */ new WeakSet(), k = function n(f, e) {
158
+ return e != null && e(f) ? f : f.cause ? G(this, V, "m", n).call(this, f.cause, e) : f;
158
159
  };
159
- class Z0 extends v {
160
+ class u1 extends I {
160
161
  constructor() {
161
162
  super("Connector not connected."), Object.defineProperty(this, "name", {
162
163
  enumerable: !0,
@@ -166,9 +167,9 @@ class Z0 extends v {
166
167
  });
167
168
  }
168
169
  }
169
- class f1 extends v {
170
- constructor({ address: e, connector: f }) {
171
- super(`Account "${e}" not found for connector "${f.name}".`), Object.defineProperty(this, "name", {
170
+ class h1 extends I {
171
+ constructor({ address: f, connector: e }) {
172
+ super(`Account "${f}" not found for connector "${e.name}".`), Object.defineProperty(this, "name", {
172
173
  enumerable: !0,
173
174
  configurable: !0,
174
175
  writable: !0,
@@ -176,12 +177,12 @@ class f1 extends v {
176
177
  });
177
178
  }
178
179
  }
179
- class e1 extends v {
180
- constructor({ connectionChainId: e, connectorChainId: f }) {
181
- super(`The current chain of the connector (id: ${f}) does not match the connection's chain (id: ${e}).`, {
180
+ class l1 extends I {
181
+ constructor({ connectionChainId: f, connectorChainId: e }) {
182
+ super(`The current chain of the connector (id: ${e}) does not match the connection's chain (id: ${f}).`, {
182
183
  metaMessages: [
183
- `Current Chain ID: ${f}`,
184
- `Expected Chain ID: ${e}`
184
+ `Current Chain ID: ${e}`,
185
+ `Expected Chain ID: ${f}`
185
186
  ]
186
187
  }), Object.defineProperty(this, "name", {
187
188
  enumerable: !0,
@@ -191,9 +192,9 @@ class e1 extends v {
191
192
  });
192
193
  }
193
194
  }
194
- class b1 extends v {
195
- constructor({ connector: e }) {
196
- super(`Connector "${e.name}" unavailable while reconnecting.`, {
195
+ class g1 extends I {
196
+ constructor({ connector: f }) {
197
+ super(`Connector "${f.name}" unavailable while reconnecting.`, {
197
198
  details: [
198
199
  "During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uuid`.",
199
200
  "All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.",
@@ -207,113 +208,113 @@ class b1 extends v {
207
208
  });
208
209
  }
209
210
  }
210
- async function O(d, e = {}) {
211
- let f;
212
- if (e.connector) {
213
- const { connector: i } = e;
214
- if (d.state.status === "reconnecting" && !i.getAccounts && !i.getChainId)
215
- throw new b1({ connector: i });
216
- const [w, g] = await Promise.all([
211
+ async function H(n, f = {}) {
212
+ let e;
213
+ if (f.connector) {
214
+ const { connector: i } = f;
215
+ if (n.state.status === "reconnecting" && !i.getAccounts && !i.getChainId)
216
+ throw new g1({ connector: i });
217
+ const [l, g] = await Promise.all([
217
218
  i.getAccounts(),
218
219
  i.getChainId()
219
220
  ]);
220
- f = {
221
- accounts: w,
221
+ e = {
222
+ accounts: l,
222
223
  chainId: g,
223
224
  connector: i
224
225
  };
225
226
  } else
226
- f = d.state.connections.get(d.state.current);
227
- if (!f)
228
- throw new Z0();
229
- const b = e.chainId ?? f.chainId, a = await f.connector.getChainId();
230
- if (a !== f.chainId)
231
- throw new e1({
232
- connectionChainId: f.chainId,
227
+ e = n.state.connections.get(n.state.current);
228
+ if (!e)
229
+ throw new u1();
230
+ const t = f.chainId ?? e.chainId, a = await e.connector.getChainId();
231
+ if (a !== e.chainId)
232
+ throw new l1({
233
+ connectionChainId: e.chainId,
233
234
  connectorChainId: a
234
235
  });
235
- const t = f.connector;
236
- if (t.getClient)
237
- return t.getClient({ chainId: b });
238
- const c = H0(e.account ?? f.accounts[0]);
239
- if (c.address = J0(c.address), e.account && !f.accounts.some((i) => i.toLowerCase() === c.address.toLowerCase()))
240
- throw new f1({
236
+ const b = e.connector;
237
+ if (b.getClient)
238
+ return b.getClient({ chainId: t });
239
+ const c = c1(f.account ?? e.accounts[0]);
240
+ if (c.address = d1(c.address), f.account && !e.accounts.some((i) => i.toLowerCase() === c.address.toLowerCase()))
241
+ throw new h1({
241
242
  address: c.address,
242
- connector: t
243
+ connector: b
243
244
  });
244
- const n = d.chains.find((i) => i.id === b), s = await f.connector.getProvider({ chainId: b });
245
- return i0({
245
+ const d = n.chains.find((i) => i.id === t), s = await e.connector.getProvider({ chainId: t });
246
+ return B0({
246
247
  account: c,
247
- chain: n,
248
+ chain: d,
248
249
  name: "Connector Client",
249
- transport: (i) => o0(s)({ ...i, retryCount: 0 })
250
+ transport: (i) => P0(s)({ ...i, retryCount: 0 })
250
251
  });
251
252
  }
252
- async function a1(d, e) {
253
- const { abi: f, chainId: b, connector: a, ...t } = e;
253
+ async function w1(n, f) {
254
+ const { abi: e, chainId: t, connector: a, ...b } = f;
254
255
  let c;
255
- e.account ? c = e.account : c = (await O(d, {
256
- chainId: b,
256
+ f.account ? c = f.account : c = (await H(n, {
257
+ chainId: t,
257
258
  connector: a
258
259
  })).account;
259
- const n = d.getClient({ chainId: b }), s = p(n, W0, "simulateContract"), { result: i, request: w } = await s({ ...t, abi: f, account: c });
260
+ const d = n.getClient({ chainId: t }), s = q(d, a1, "simulateContract"), { result: i, request: l } = await s({ ...b, abi: e, account: c });
260
261
  return {
261
- chainId: n.chain.id,
262
+ chainId: d.chain.id,
262
263
  result: i,
263
- request: { __mode: "prepared", ...w, chainId: b }
264
+ request: { __mode: "prepared", ...l, chainId: t }
264
265
  };
265
266
  }
266
- async function L(d, e) {
267
- const { account: f, chainId: b, connector: a, __mode: t, ...c } = e;
268
- let n;
269
- typeof f == "object" && f.type === "local" ? n = d.getClient({ chainId: b }) : n = await O(d, { account: f, chainId: b, connector: a });
270
- const { connector: s } = N(d);
267
+ async function W(n, f) {
268
+ const { account: e, chainId: t, connector: a, __mode: b, ...c } = f;
269
+ let d;
270
+ typeof e == "object" && e.type === "local" ? d = n.getClient({ chainId: t }) : d = await H(n, { account: e, chainId: t, connector: a });
271
+ const { connector: s } = j(n);
271
272
  let i;
272
- if (t === "prepared" || s != null && s.supportsSimulation)
273
+ if (b === "prepared" || s != null && s.supportsSimulation)
273
274
  i = c;
274
275
  else {
275
- const { request: o } = await a1(d, {
276
+ const { request: o } = await w1(n, {
276
277
  ...c,
277
- account: f,
278
- chainId: b
278
+ account: e,
279
+ chainId: t
279
280
  });
280
281
  i = o;
281
282
  }
282
- return await p(n, U0, "writeContract")({
283
+ return await q(d, b1, "writeContract")({
283
284
  ...i,
284
- ...f ? { account: f } : {},
285
- chain: b ? { id: b } : null
285
+ ...e ? { account: e } : {},
286
+ chain: t ? { id: t } : null
286
287
  });
287
288
  }
288
- function t1(d) {
289
- return d.address !== void 0 && typeof d.address == "object" ? (e, f) => {
289
+ function T(n) {
290
+ return n.address !== void 0 && typeof n.address == "object" ? (f, e) => {
290
291
  var c;
291
- const b = Q0(e), a = N(e);
292
- let t;
293
- return f.chainId ? t = f.chainId : f.account && f.account === a.address || f.account === void 0 ? t = a.chainId : t = b, L(e, {
294
- ...f,
295
- ...d.functionName ? { functionName: d.functionName } : {},
296
- address: t ? (c = d.address) == null ? void 0 : c[t] : void 0,
297
- abi: d.abi
292
+ const t = i1(f), a = j(f);
293
+ let b;
294
+ return e.chainId ? b = e.chainId : e.account && e.account === a.address || e.account === void 0 ? b = a.chainId : b = t, W(f, {
295
+ ...e,
296
+ ...n.functionName ? { functionName: n.functionName } : {},
297
+ address: b ? (c = n.address) == null ? void 0 : c[b] : void 0,
298
+ abi: n.abi
298
299
  });
299
- } : (e, f) => L(e, {
300
- ...f,
301
- ...d.address ? { address: d.address } : {},
302
- ...d.functionName ? { functionName: d.functionName } : {},
303
- abi: d.abi
300
+ } : (f, e) => W(f, {
301
+ ...e,
302
+ ...n.address ? { address: n.address } : {},
303
+ ...n.functionName ? { functionName: n.functionName } : {},
304
+ abi: n.abi
304
305
  });
305
306
  }
306
- const A = 10000n, B = {
307
+ const F = 10000n, S = {
307
308
  31337: void 0,
308
- ...h0
309
- }, M1 = B[11155111] || m;
310
- function c1(d) {
311
- return d.address;
309
+ ..._0
310
+ }, K1 = S[11155111] || C;
311
+ function v1(n) {
312
+ return n.address;
312
313
  }
313
- function d1(d) {
314
- return d.registryAddress && d.protocolFeeReceiver && d.owner;
314
+ function m1(n) {
315
+ return n.registryAddress && n.protocolFeeReceiver && n.owner;
315
316
  }
316
- const E = class E extends B0 {
317
+ const M = class M extends x0 {
317
318
  /**
318
319
  * A getter that will return Boost core's static addresses by numerical chain ID
319
320
  *
@@ -333,80 +334,79 @@ const E = class E extends B0 {
333
334
  * @param {?Account} [param0.account]
334
335
  * @param {({ address?: Address; } | { registryAddress: Address; protocolFeeReceiver: Address; owner: Address; })} param0....options
335
336
  */
336
- constructor({ config: e, account: f, ...b }) {
337
- if (c1(b) && b.address)
338
- super({ account: f, config: e }, b.address);
339
- else if (d1(b))
340
- super({ account: f, config: e }, [
341
- b.registryAddress,
342
- b.protocolFeeReceiver,
343
- b.owner
337
+ constructor({ config: f, account: e, ...t }) {
338
+ if (v1(t) && t.address)
339
+ super({ account: e, config: f }, t.address);
340
+ else if (m1(t))
341
+ super({ account: e, config: f }, [
342
+ t.registryAddress,
343
+ t.protocolFeeReceiver,
344
+ t.owner
344
345
  ]);
345
346
  else {
346
- const { address: a } = u(
347
- e,
348
- B
347
+ const { address: a } = h(
348
+ f,
349
+ S
349
350
  );
350
- super({ account: f, config: e }, a);
351
+ super({ account: e, config: f }, a);
351
352
  }
352
- this.abi = C;
353
+ this.abi = y;
353
354
  }
354
355
  /**
355
356
  * Create a new Boost.
356
357
  *
357
- *
358
358
  * @public
359
359
  * @async
360
360
  * @param {CreateBoostPayload} _boostPayload
361
361
  * @param {?WriteParams} [params]
362
362
  * @returns {Promise<Boost>}
363
363
  */
364
- async createBoost(e, f) {
365
- const [b, a] = this.validateDeploymentConfig(e), t = f == null ? void 0 : f.chainId, { chainId: c, address: n } = u(
364
+ async createBoost(f, e) {
365
+ const [t, a] = this.validateDeploymentConfig(f), b = e == null ? void 0 : e.chainId, { chainId: c, address: d } = h(
366
366
  a.config,
367
367
  this.addresses,
368
- t
369
- ), s = t1({
370
- abi: C,
368
+ b
369
+ ), s = T({
370
+ abi: y,
371
371
  functionName: "createBoost",
372
- address: n
372
+ address: d
373
373
  }), i = await this.prepareCreateBoostPayload(
374
- n,
374
+ d,
375
375
  c,
376
- b,
376
+ t,
377
377
  a
378
- ), w = await s(a.config, {
378
+ ), l = await s(a.config, {
379
379
  ...this.optionallyAttachAccount(a.account),
380
380
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
381
- ...f,
381
+ ...e,
382
382
  chainId: c,
383
- args: [R(i)]
384
- }), g = await c0(a.config, {
385
- hash: w
386
- }), o = F({
387
- abi: C,
383
+ args: [P(i)]
384
+ }), g = await D(a.config, {
385
+ hash: l
386
+ }), o = _({
387
+ abi: y,
388
388
  eventName: "BoostCreated",
389
389
  logs: g.logs
390
390
  }).at(0);
391
391
  let r = 0n;
392
- if (!o) throw new O0();
392
+ if (!o) throw new N();
393
393
  r = o == null ? void 0 : o.args.boostId;
394
- const l = await this.readBoost(r);
395
- return new T({
394
+ const u = await this.readBoost(r);
395
+ return new E({
396
396
  id: r,
397
- budget: b.budget.at(l.budget),
398
- action: b.action.at(l.action),
399
- validator: b.validator.at(l.validator),
400
- allowList: b.allowList.at(l.allowList),
401
- incentives: b.incentives.map(
402
- (I, y) => (
397
+ budget: t.budget.at(u.budget),
398
+ action: t.action.at(u.action),
399
+ validator: t.validator.at(u.validator),
400
+ allowList: t.allowList.at(u.allowList),
401
+ incentives: t.incentives.map(
402
+ (m, v) => (
403
403
  // biome-ignore lint/style/noNonNullAssertion: this will never be undefined
404
- I.at(l.incentives.at(y))
404
+ m.at(u.incentives.at(v))
405
405
  )
406
406
  ),
407
- protocolFee: l.protocolFee,
408
- maxParticipants: l.maxParticipants,
409
- owner: l.owner
407
+ protocolFee: u.protocolFee,
408
+ maxParticipants: u.maxParticipants,
409
+ owner: u.owner
410
410
  });
411
411
  }
412
412
  /**
@@ -418,12 +418,12 @@ const E = class E extends B0 {
418
418
  * @param {?WriteParams} [params]
419
419
  * @returns {Promise<HashAndSimulatedResult>}
420
420
  */
421
- async createBoostRaw(e, f) {
422
- const { request: b, result: a } = await this.simulateCreateBoost(
423
- e,
424
- f
421
+ async createBoostRaw(f, e) {
422
+ const { request: t, result: a } = await this.simulateCreateBoost(
423
+ f,
424
+ e
425
425
  );
426
- return { hash: await $(this._config, b), result: a };
426
+ return { hash: await K(this._config, t), result: a };
427
427
  }
428
428
  /**
429
429
  * Returns a simulated Boost creation.
@@ -434,140 +434,417 @@ const E = class E extends B0 {
434
434
  * @param {?WriteParams} [params]
435
435
  * @returns {Promise<SimulateContractReturnType>}
436
436
  */
437
- async simulateCreateBoost(e, f) {
438
- const [b, a] = this.validateDeploymentConfig(e), t = f == null ? void 0 : f.chainId, { chainId: c, address: n } = u(
437
+ async simulateCreateBoost(f, e) {
438
+ const [t, a] = this.validateDeploymentConfig(f), b = e == null ? void 0 : e.chainId, { chainId: c, address: d } = h(
439
439
  a.config,
440
440
  this.addresses,
441
- t
441
+ b
442
442
  ), s = await this.prepareCreateBoostPayload(
443
- n,
443
+ d,
444
444
  c,
445
- b,
445
+ t,
446
446
  a
447
447
  );
448
- return await z(this._config, {
448
+ return await Q(this._config, {
449
449
  ...this.optionallyAttachAccount(),
450
450
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
451
- ...f,
452
- address: n,
451
+ ...e,
452
+ address: d,
453
453
  chainId: c,
454
- args: [R(s)]
454
+ args: [P(s)]
455
+ });
456
+ }
457
+ /**
458
+ * Creates a new Boost with a given TransparentBudget, which transfers assets to the budget on Boost creation.
459
+ *
460
+ * @public
461
+ * @async
462
+ * @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
463
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
464
+ * @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
465
+ * @param {?WriteParams} [params]
466
+ * @returns {Promise<Boost>}
467
+ */
468
+ async createBoostWithTransparentBudget(f, e, t, a) {
469
+ const [b, c] = this.validateDeploymentConfig({
470
+ ...t,
471
+ budget: this.TransparentBudget(
472
+ typeof f == "string" ? f : f.assertValidAddress()
473
+ )
474
+ }), d = a == null ? void 0 : a.chainId, { chainId: s, address: i } = h(
475
+ c.config,
476
+ this.addresses,
477
+ d
478
+ ), l = T({
479
+ abi: O,
480
+ functionName: "createBoost",
481
+ address: typeof f == "string" ? f : f.assertValidAddress()
482
+ }), g = await this.prepareCreateBoostPayload(
483
+ i,
484
+ s,
485
+ b,
486
+ c
487
+ ), o = await l(c.config, {
488
+ ...this.optionallyAttachAccount(c.account),
489
+ // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
490
+ ...a,
491
+ chainId: s,
492
+ args: [
493
+ e.map(R),
494
+ i,
495
+ P(g)
496
+ ]
497
+ }), r = await D(c.config, {
498
+ hash: o
499
+ }), u = _({
500
+ abi: y,
501
+ eventName: "BoostCreated",
502
+ logs: r.logs
503
+ }).at(0);
504
+ let m = 0n;
505
+ if (!u) throw new N();
506
+ m = u == null ? void 0 : u.args.boostId;
507
+ const v = await this.readBoost(m);
508
+ return new E({
509
+ id: m,
510
+ budget: b.budget.at(v.budget),
511
+ action: b.action.at(v.action),
512
+ validator: b.validator.at(v.validator),
513
+ allowList: b.allowList.at(v.allowList),
514
+ incentives: b.incentives.map(
515
+ (B, p) => (
516
+ // biome-ignore lint/style/noNonNullAssertion: this will never be undefined
517
+ B.at(v.incentives.at(p))
518
+ )
519
+ ),
520
+ protocolFee: v.protocolFee,
521
+ maxParticipants: v.maxParticipants,
522
+ owner: v.owner
523
+ });
524
+ }
525
+ /**
526
+ * Returns a transaction hash and simulated Boost creation using a transparent budget
527
+ *
528
+ * @public
529
+ * @async
530
+ * @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
531
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
532
+ * @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
533
+ * @param {?WriteParams} [params]
534
+ * @returns {Promise<HashAndSimulatedResult>}
535
+ */
536
+ async createBoostWithTransparentBudgetRaw(f, e, t, a) {
537
+ const { request: b, result: c } = await this.simulateCreateBoostWithTransparentBudget(
538
+ f,
539
+ e,
540
+ t,
541
+ a
542
+ );
543
+ return { hash: await X(this._config, b), result: c };
544
+ }
545
+ /**
546
+ * Returns a simulated Boost creation using a transparent budget
547
+ *
548
+ * @public
549
+ * @async
550
+ * @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
551
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
552
+ * @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
553
+ * @param {?WriteParams} [params]
554
+ * @returns {Promise<SimulateContractReturnType>}
555
+ */
556
+ async simulateCreateBoostWithTransparentBudget(f, e, t, a) {
557
+ const [b, c] = this.validateDeploymentConfig({
558
+ ...t,
559
+ budget: this.TransparentBudget(
560
+ typeof f == "string" ? f : f.assertValidAddress()
561
+ )
562
+ }), d = a == null ? void 0 : a.chainId, { chainId: s, address: i } = h(
563
+ c.config,
564
+ this.addresses,
565
+ d
566
+ ), l = await this.prepareCreateBoostPayload(
567
+ i,
568
+ s,
569
+ b,
570
+ c
571
+ );
572
+ return await Y(this._config, {
573
+ ...this.optionallyAttachAccount(),
574
+ // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
575
+ ...a,
576
+ address: typeof f == "string" ? f : f.assertValidAddress(),
577
+ chainId: s,
578
+ args: [
579
+ e.map(R),
580
+ i,
581
+ P(l)
582
+ ]
583
+ });
584
+ }
585
+ /**
586
+ * Creates a new Boost with a given a TransparentBudget and Permit2, which transfers assets to the budget on Boost creation.
587
+ *
588
+ * @public
589
+ * @async
590
+ * @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
591
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
592
+ * @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
593
+ * @param {Hex} permit2Signature - The packed signature that was the result of signing the EIP712 hash of `permit`.
594
+ * @param {bigint} nonce - The nonce for the permit2 batch transfer
595
+ * @param {bigint} deadline - The deadline for the permit2 batch transfer
596
+ * @param {?WriteParams} [params]
597
+ * @returns {Promise<Boost>}
598
+ */
599
+ async createBoostWithPermit2(f, e, t, a, b, c, d) {
600
+ const [s, i] = this.validateDeploymentConfig({
601
+ ...t,
602
+ budget: this.TransparentBudget(
603
+ typeof f == "string" ? f : f.assertValidAddress()
604
+ )
605
+ }), l = d == null ? void 0 : d.chainId, { chainId: g, address: o } = h(
606
+ i.config,
607
+ this.addresses,
608
+ l
609
+ ), r = T({
610
+ abi: O,
611
+ functionName: "createBoostWithPermit2",
612
+ address: typeof f == "string" ? f : f.assertValidAddress()
613
+ }), u = await this.prepareCreateBoostPayload(
614
+ o,
615
+ g,
616
+ s,
617
+ i
618
+ ), m = await r(i.config, {
619
+ ...this.optionallyAttachAccount(i.account),
620
+ // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
621
+ ...d,
622
+ chainId: g,
623
+ args: [
624
+ e.map(R),
625
+ o,
626
+ P(u),
627
+ a,
628
+ b,
629
+ c
630
+ ]
631
+ }), v = await D(i.config, {
632
+ hash: m
633
+ }), B = _({
634
+ abi: y,
635
+ eventName: "BoostCreated",
636
+ logs: v.logs
637
+ }).at(0);
638
+ let p = 0n;
639
+ if (!B) throw new N();
640
+ p = B == null ? void 0 : B.args.boostId;
641
+ const A = await this.readBoost(p);
642
+ return new E({
643
+ id: p,
644
+ budget: s.budget.at(A.budget),
645
+ action: s.action.at(A.action),
646
+ validator: s.validator.at(A.validator),
647
+ allowList: s.allowList.at(A.allowList),
648
+ incentives: s.incentives.map(
649
+ (U, J) => (
650
+ // biome-ignore lint/style/noNonNullAssertion: this will never be undefined
651
+ U.at(A.incentives.at(J))
652
+ )
653
+ ),
654
+ protocolFee: A.protocolFee,
655
+ maxParticipants: A.maxParticipants,
656
+ owner: A.owner
657
+ });
658
+ }
659
+ /**
660
+ * Returns a transaction hash and simulated Boost creation using a TransparentBudget and Permit2
661
+ *
662
+ * @public
663
+ * @async
664
+ * @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
665
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
666
+ * @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
667
+ * @param {Hex} permit2Signature - The packed signature that was the result of signing the EIP712 hash of `permit`.
668
+ * @param {bigint} nonce - The nonce for the permit2 batch transfer
669
+ * @param {bigint} deadline - The deadline for the permit2 batch transfer
670
+ * @param {?WriteParams} [params]
671
+ * @returns {Promise<HashAndSimulatedResult>}
672
+ */
673
+ async createBoostWithPermit2Raw(f, e, t, a, b, c, d) {
674
+ const { request: s, result: i } = await this.simulateCreateBoostWithPermit2(
675
+ f,
676
+ e,
677
+ t,
678
+ a,
679
+ b,
680
+ c,
681
+ d
682
+ );
683
+ return { hash: await Z(
684
+ this._config,
685
+ s
686
+ ), result: i };
687
+ }
688
+ /**
689
+ * Returns a simulated Boost creation using a TransparentBudget and Permit2
690
+ *
691
+ * @public
692
+ * @async
693
+ * @param {TransparentBudget | Address} budget - Either an instance of a transparent budget, or the address of a transparent budget
694
+ * @param {(FungibleTransferPayload | ERC1155TransferPayload)[]} allocations - An array of transfers to be allocated to the budget prior to Boost creation
695
+ * @param {Omit<CreateBoostPayload, 'budget'>} _boostPayload - The core Boost configuration sans budget
696
+ * @param {Hex} permit2Signature - The packed signature that was the result of signing the EIP712 hash of `permit`.
697
+ * @param {bigint} nonce - The nonce for the permit2 batch transfer
698
+ * @param {bigint} deadline - The deadline for the permit2 batch transfer
699
+ * @param {?WriteParams} [params]
700
+ * @returns {Promise<SimulateContractReturnType>}
701
+ */
702
+ async simulateCreateBoostWithPermit2(f, e, t, a, b, c, d) {
703
+ const [s, i] = this.validateDeploymentConfig({
704
+ ...t,
705
+ budget: this.TransparentBudget(
706
+ typeof f == "string" ? f : f.assertValidAddress()
707
+ )
708
+ }), l = d == null ? void 0 : d.chainId, { chainId: g, address: o } = h(
709
+ i.config,
710
+ this.addresses,
711
+ l
712
+ ), r = await this.prepareCreateBoostPayload(
713
+ o,
714
+ g,
715
+ s,
716
+ i
717
+ );
718
+ return await f0(this._config, {
719
+ ...this.optionallyAttachAccount(),
720
+ // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
721
+ ...d,
722
+ address: typeof f == "string" ? f : f.assertValidAddress(),
723
+ chainId: g,
724
+ args: [
725
+ e.map(R),
726
+ o,
727
+ P(r),
728
+ a,
729
+ b,
730
+ c
731
+ ]
455
732
  });
456
733
  }
457
734
  // This function mutates payload, which isn't awesome but it's fine
458
- async prepareCreateBoostPayload(e, f, b, a) {
735
+ async prepareCreateBoostPayload(f, e, t, a) {
459
736
  var g;
460
- if (!b.owner && (b.owner = ((g = this._account) == null ? void 0 : g.address) || d0(a.config).address || m, b.owner === m))
461
- throw new $0();
462
- if (!b.validator) {
463
- const r = n0(a.config).filter(
464
- (y) => !!this.addresses[y.id] && y.id === f
737
+ if (!t.owner && (t.owner = ((g = this._account) == null ? void 0 : g.address) || A0(a.config).address || C, t.owner === C))
738
+ throw new X0();
739
+ if (!t.validator) {
740
+ const r = y0(a.config).filter(
741
+ (v) => !!this.addresses[v.id] && v.id === e
465
742
  ).at(0);
466
743
  if (!r)
467
- throw new z0(
468
- f,
744
+ throw new Y0(
745
+ e,
469
746
  Object.keys(this.addresses).map(Number)
470
747
  );
471
- const I = [
472
- r.testnet || r.id === 31337 ? D.TESTNET : D.MAINNET
748
+ const m = [
749
+ r.testnet || r.id === 31337 ? x.TESTNET : x.MAINNET
473
750
  ];
474
- r.id === 31337 && I.push("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"), b.validator = this.LimitedSignerValidator({
475
- signers: I,
476
- validatorCaller: e,
751
+ r.id === 31337 && m.push("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"), t.validator = this.LimitedSignerValidator({
752
+ signers: m,
753
+ validatorCaller: f,
477
754
  maxClaimCount: 1
478
755
  });
479
756
  }
480
- let t = m;
481
- if (b.budget.address) {
482
- if (t = b.budget.address, !await b.budget.isAuthorized(e))
483
- throw new x0(e);
757
+ let b = C;
758
+ if (t.budget.address) {
759
+ if (b = t.budget.address, !(t.budget instanceof $) && !await t.budget.isAuthorized(f))
760
+ throw new Z0(f);
484
761
  } else
485
- throw new j0();
762
+ throw new f1();
486
763
  let c = {
487
- instance: m,
764
+ instance: C,
488
765
  isBase: !0,
489
- parameters: h
766
+ parameters: w
490
767
  };
491
- if (b.action.address) {
492
- const o = b.action.isBase;
768
+ if (t.action.address) {
769
+ const o = t.action.isBase;
493
770
  c = {
494
771
  isBase: o,
495
- instance: b.action.address,
496
- parameters: o ? b.action.buildParameters(void 0, a).args.at(0) || h : h
772
+ instance: t.action.address,
773
+ parameters: o ? t.action.buildParameters(void 0, a).args.at(0) || w : w
497
774
  };
498
775
  } else
499
- c.parameters = b.action.buildParameters(void 0, a).args.at(0) || h, c.instance = u(
776
+ c.parameters = t.action.buildParameters(void 0, a).args.at(0) || w, c.instance = h(
500
777
  a.config,
501
- b.action.bases,
502
- f
778
+ t.action.bases,
779
+ e
503
780
  ).address;
504
- let n = {
505
- instance: m,
781
+ let d = {
782
+ instance: C,
506
783
  isBase: !0,
507
- parameters: h
784
+ parameters: w
508
785
  };
509
- if (b.validator.address) {
510
- const o = b.validator.isBase;
511
- n = {
786
+ if (t.validator.address) {
787
+ const o = t.validator.isBase;
788
+ d = {
512
789
  isBase: o,
513
- instance: b.validator.address,
514
- parameters: o ? b.validator.buildParameters(void 0, a).args.at(0) || h : h
790
+ instance: t.validator.address,
791
+ parameters: o ? t.validator.buildParameters(void 0, a).args.at(0) || w : w
515
792
  };
516
793
  } else
517
- n.parameters = b.validator.buildParameters(void 0, a).args.at(0) || h, n.instance = u(
794
+ d.parameters = t.validator.buildParameters(void 0, a).args.at(0) || w, d.instance = h(
518
795
  a.config,
519
- b.validator.bases,
520
- f
796
+ t.validator.bases,
797
+ e
521
798
  ).address;
522
799
  let s = {
523
- instance: m,
800
+ instance: C,
524
801
  isBase: !0,
525
- parameters: h
802
+ parameters: w
526
803
  };
527
- if (b.allowList || (b.allowList = this.OpenAllowList()), b.allowList.address) {
528
- const o = b.allowList.isBase;
804
+ if (t.allowList || (t.allowList = this.OpenAllowList()), t.allowList.address) {
805
+ const o = t.allowList.isBase;
529
806
  s = {
530
807
  isBase: o,
531
- instance: b.allowList.address,
532
- parameters: o ? h : h
808
+ instance: t.allowList.address,
809
+ parameters: o ? w : w
533
810
  };
534
811
  } else
535
- s.parameters = b.allowList.buildParameters(void 0, a).args.at(0) || h, s.instance = u(
812
+ s.parameters = t.allowList.buildParameters(void 0, a).args.at(0) || w, s.instance = h(
536
813
  a.config,
537
- b.allowList.bases,
538
- f
814
+ t.allowList.bases,
815
+ e
539
816
  ).address;
540
- const i = b.incentives.map(() => ({
541
- instance: m,
817
+ const i = t.incentives.map(() => ({
818
+ instance: C,
542
819
  isBase: !0,
543
- parameters: h
820
+ parameters: w
544
821
  }));
545
- for (let o = 0; o < b.incentives.length; o++) {
546
- const r = b.incentives.at(o);
822
+ for (let o = 0; o < t.incentives.length; o++) {
823
+ const r = t.incentives.at(o);
547
824
  if (r.address) {
548
- const l = r.isBase;
549
- if (!l) throw new q0(r);
825
+ const u = r.isBase;
826
+ if (!u) throw new e1(r);
550
827
  i[o] = {
551
- isBase: l,
828
+ isBase: u,
552
829
  instance: r.address,
553
- parameters: l ? r.buildParameters(void 0, a).args.at(0) || h : h
830
+ parameters: u ? r.buildParameters(void 0, a).args.at(0) || w : w
554
831
  };
555
832
  } else
556
- i[o].parameters = r.buildParameters(void 0, a).args.at(0) || h, i[o].instance = u(
833
+ i[o].parameters = r.buildParameters(void 0, a).args.at(0) || w, i[o].instance = h(
557
834
  a.config,
558
835
  r.bases,
559
- f
836
+ e
560
837
  ).address;
561
838
  }
562
839
  return {
563
- budget: t,
840
+ budget: b,
564
841
  action: c,
565
- validator: n,
842
+ validator: d,
566
843
  allowList: s,
567
844
  incentives: i,
568
- protocolFee: b.protocolFee || 0n,
569
- maxParticipants: b.maxParticipants || 0n,
570
- owner: b.owner
845
+ protocolFee: t.protocolFee || 0n,
846
+ maxParticipants: t.maxParticipants || 0n,
847
+ owner: t.owner
571
848
  };
572
849
  }
573
850
  /**
@@ -582,9 +859,9 @@ const E = class E extends B0 {
582
859
  * @param {?WriteParams} [params]
583
860
  * @returns {Promise<void>}
584
861
  */
585
- async claimIncentive(e, f, b, a, t) {
862
+ async claimIncentive(f, e, t, a, b) {
586
863
  return await this.awaitResult(
587
- this.claimIncentiveRaw(e, f, b, a, t)
864
+ this.claimIncentiveRaw(f, e, t, a, b)
588
865
  );
589
866
  }
590
867
  /**
@@ -599,22 +876,22 @@ const E = class E extends B0 {
599
876
  * @param {?WriteParams} [params]
600
877
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
601
878
  */
602
- async claimIncentiveRaw(e, f, b, a, t) {
603
- const { request: c, result: n } = await x(
879
+ async claimIncentiveRaw(f, e, t, a, b) {
880
+ const { request: c, result: d } = await e0(
604
881
  this._config,
605
882
  {
606
- ...u(
883
+ ...h(
607
884
  this._config,
608
885
  this.addresses,
609
- t == null ? void 0 : t.chainId
886
+ b == null ? void 0 : b.chainId
610
887
  ),
611
- args: [e, f, b, a],
888
+ args: [f, e, t, a],
612
889
  ...this.optionallyAttachAccount(),
613
890
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
614
- ...t
891
+ ...b
615
892
  }
616
893
  );
617
- return { hash: await j(this._config, c), result: n };
894
+ return { hash: await t0(this._config, c), result: d };
618
895
  }
619
896
  /**
620
897
  * Claims one incentive for a given `Boost` on behalf of another user by `boostId` and `incentiveId`
@@ -629,14 +906,14 @@ const E = class E extends B0 {
629
906
  * @param {?WriteParams} [params]
630
907
  * @returns {Promise<void>}
631
908
  */
632
- async claimIncentiveFor(e, f, b, a, t, c) {
909
+ async claimIncentiveFor(f, e, t, a, b, c) {
633
910
  return await this.awaitResult(
634
911
  this.claimIncentiveForRaw(
635
- e,
636
912
  f,
637
- b,
638
- a,
913
+ e,
639
914
  t,
915
+ a,
916
+ b,
640
917
  c
641
918
  )
642
919
  );
@@ -654,22 +931,22 @@ const E = class E extends B0 {
654
931
  * @param {?WriteParams} [params]
655
932
  * @returns {Promise<{ hash: Hex; result: void; }>}
656
933
  */
657
- async claimIncentiveForRaw(e, f, b, a, t, c) {
658
- const { request: n, result: s } = await q(
934
+ async claimIncentiveForRaw(f, e, t, a, b, c) {
935
+ const { request: d, result: s } = await a0(
659
936
  this._config,
660
937
  {
661
- ...u(
938
+ ...h(
662
939
  this._config,
663
940
  this.addresses,
664
941
  c == null ? void 0 : c.chainId
665
942
  ),
666
- args: [e, f, b, a, t],
943
+ args: [f, e, t, a, b],
667
944
  ...this.optionallyAttachAccount(),
668
945
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
669
946
  ...c
670
947
  }
671
948
  );
672
- return { hash: await k(this._config, n), result: s };
949
+ return { hash: await b0(this._config, d), result: s };
673
950
  }
674
951
  /**
675
952
  * Get a Boost by index, will return the raw on chain representation of a Boost.
@@ -681,23 +958,23 @@ const E = class E extends B0 {
681
958
  * @returns {Promise<RawBoost>}
682
959
  * @throws {@link BoostNotFoundError}
683
960
  */
684
- async readBoost(e, f) {
685
- var b;
961
+ async readBoost(f, e) {
962
+ var t;
686
963
  try {
687
964
  let a;
688
- return typeof e == "string" ? a = BigInt(e) : a = e, await G(this._config, {
689
- ...u(
965
+ return typeof f == "string" ? a = BigInt(f) : a = f, await c0(this._config, {
966
+ ...h(
690
967
  this._config,
691
968
  this.addresses,
692
- f == null ? void 0 : f.chainId
969
+ e == null ? void 0 : e.chainId
693
970
  ),
694
971
  args: [a],
695
972
  ...this.optionallyAttachAccount(),
696
973
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
697
- ...f
974
+ ...e
698
975
  });
699
976
  } catch (a) {
700
- throw (b = a == null ? void 0 : a.message) != null && b.includes("bounds") ? new k0(String(e)) : a;
977
+ throw (t = a == null ? void 0 : a.message) != null && t.includes("bounds") ? new t1(String(f)) : a;
701
978
  }
702
979
  }
703
980
  /**
@@ -710,32 +987,32 @@ const E = class E extends B0 {
710
987
  * @returns {Promise<Boost>}
711
988
  * @throws {@link BoostNotFoundError}
712
989
  */
713
- async getBoost(e, f) {
714
- let b;
715
- typeof e == "string" ? b = BigInt(e) : b = e;
716
- const { protocolFee: a, maxParticipants: t, owner: c, ...n } = await this.readBoost(b, f), s = {
990
+ async getBoost(f, e) {
991
+ let t;
992
+ typeof f == "string" ? t = BigInt(f) : t = f;
993
+ const { protocolFee: a, maxParticipants: b, owner: c, ...d } = await this.readBoost(t, e), s = {
717
994
  config: this._config,
718
995
  account: this._account
719
- }, [i, w, g, o, r] = await Promise.all([
720
- l0(s, n.action, f),
721
- I0(s, n.budget, f),
722
- M0(s, n.validator, f),
723
- w0(s, n.allowList, f),
996
+ }, [i, l, g, o, r] = await Promise.all([
997
+ E0(s, d.action, e),
998
+ S0(s, d.budget, e),
999
+ Q0(s, d.validator, e),
1000
+ V0(s, d.allowList, e),
724
1001
  Promise.all(
725
- n.incentives.map(
726
- (l) => T0(s, l, f)
1002
+ d.incentives.map(
1003
+ (u) => q0(s, u, e)
727
1004
  )
728
1005
  )
729
1006
  ]);
730
- return new T({
731
- id: b,
1007
+ return new E({
1008
+ id: t,
732
1009
  action: i,
733
- budget: w,
1010
+ budget: l,
734
1011
  validator: g,
735
1012
  allowList: o,
736
1013
  incentives: r,
737
1014
  protocolFee: a,
738
- maxParticipants: t,
1015
+ maxParticipants: b,
739
1016
  owner: c
740
1017
  });
741
1018
  }
@@ -747,17 +1024,17 @@ const E = class E extends B0 {
747
1024
  * @param {?ReadParams} [params]
748
1025
  * @returns {Promise<bigint>}
749
1026
  */
750
- async getBoostCount(e) {
751
- return await W(this._config, {
752
- ...u(
1027
+ async getBoostCount(f) {
1028
+ return await d0(this._config, {
1029
+ ...h(
753
1030
  this._config,
754
1031
  this.addresses,
755
- e == null ? void 0 : e.chainId
1032
+ f == null ? void 0 : f.chainId
756
1033
  ),
757
1034
  args: [],
758
1035
  ...this.optionallyAttachAccount(),
759
1036
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
760
- ...e
1037
+ ...f
761
1038
  });
762
1039
  }
763
1040
  /**
@@ -770,14 +1047,14 @@ const E = class E extends B0 {
770
1047
  * ReadParams} [params]
771
1048
  * @returns {Promise<boolean>}
772
1049
  */
773
- async isAuthorized(e, f) {
774
- const b = await this.createBoostAuth(f);
775
- return U(this._config, {
776
- address: b,
777
- args: [e],
1050
+ async isAuthorized(f, e) {
1051
+ const t = await this.createBoostAuth(e);
1052
+ return n0(this._config, {
1053
+ address: t,
1054
+ args: [f],
778
1055
  ...this.optionallyAttachAccount(),
779
1056
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
780
- ...f
1057
+ ...e
781
1058
  });
782
1059
  }
783
1060
  /**
@@ -788,17 +1065,17 @@ const E = class E extends B0 {
788
1065
  * @param {?ReadParams} [params]
789
1066
  * @returns {Promise<Address>}
790
1067
  */
791
- async createBoostAuth(e) {
792
- return await H(this._config, {
793
- ...u(
1068
+ async createBoostAuth(f) {
1069
+ return await s0(this._config, {
1070
+ ...h(
794
1071
  this._config,
795
1072
  this.addresses,
796
- e == null ? void 0 : e.chainId
1073
+ f == null ? void 0 : f.chainId
797
1074
  ),
798
1075
  args: [],
799
1076
  ...this.optionallyAttachAccount(),
800
1077
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
801
- ...e
1078
+ ...f
802
1079
  });
803
1080
  }
804
1081
  /**
@@ -810,10 +1087,10 @@ const E = class E extends B0 {
810
1087
  * @param {?WriteParams} [params]
811
1088
  * @returns {Promise<void>}
812
1089
  */
813
- async setCreateBoostAuth(e, f) {
1090
+ async setCreateBoostAuth(f, e) {
814
1091
  return await this.awaitResult(
815
- this.setCreateBoostAuthRaw(e.assertValidAddress(), {
816
- ...f
1092
+ this.setCreateBoostAuthRaw(f.assertValidAddress(), {
1093
+ ...e
817
1094
  })
818
1095
  );
819
1096
  }
@@ -826,22 +1103,22 @@ const E = class E extends B0 {
826
1103
  * @param {?WriteParams} [params]
827
1104
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
828
1105
  */
829
- async setCreateBoostAuthRaw(e, f) {
830
- const { request: b, result: a } = await J(
1106
+ async setCreateBoostAuthRaw(f, e) {
1107
+ const { request: t, result: a } = await i0(
831
1108
  this._config,
832
1109
  {
833
- ...u(
1110
+ ...h(
834
1111
  this._config,
835
1112
  this.addresses,
836
- f == null ? void 0 : f.chainId
1113
+ e == null ? void 0 : e.chainId
837
1114
  ),
838
- args: [e],
1115
+ args: [f],
839
1116
  ...this.optionallyAttachAccount(),
840
1117
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
841
- ...f
1118
+ ...e
842
1119
  }
843
1120
  );
844
- return { hash: await K(this._config, b), result: a };
1121
+ return { hash: await o0(this._config, t), result: a };
845
1122
  }
846
1123
  /**
847
1124
  * Get the protocol fee.
@@ -851,17 +1128,17 @@ const E = class E extends B0 {
851
1128
  * @param {?ReadParams} [params]
852
1129
  * @returns {unknown}
853
1130
  */
854
- async protocolFee(e) {
855
- return await Q(this._config, {
856
- ...u(
1131
+ async protocolFee(f) {
1132
+ return await r0(this._config, {
1133
+ ...h(
857
1134
  this._config,
858
1135
  this.addresses,
859
- e == null ? void 0 : e.chainId
1136
+ f == null ? void 0 : f.chainId
860
1137
  ),
861
1138
  args: [],
862
1139
  ...this.optionallyAttachAccount(),
863
1140
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
864
- ...e
1141
+ ...f
865
1142
  });
866
1143
  }
867
1144
  /**
@@ -872,17 +1149,17 @@ const E = class E extends B0 {
872
1149
  * @param {?ReadParams} [params]
873
1150
  * @returns {Promise<Address>}
874
1151
  */
875
- async protocolFeeReceiver(e) {
876
- return await X(this._config, {
877
- ...u(
1152
+ async protocolFeeReceiver(f) {
1153
+ return await u0(this._config, {
1154
+ ...h(
878
1155
  this._config,
879
1156
  this.addresses,
880
- e == null ? void 0 : e.chainId
1157
+ f == null ? void 0 : f.chainId
881
1158
  ),
882
1159
  args: [],
883
1160
  ...this.optionallyAttachAccount(),
884
1161
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
885
- ...e
1162
+ ...f
886
1163
  });
887
1164
  }
888
1165
  /**
@@ -894,10 +1171,10 @@ const E = class E extends B0 {
894
1171
  * @param {?WriteParams} [params]
895
1172
  * @returns {Promise<void>}
896
1173
  */
897
- async setProcolFeeReceiver(e, f) {
1174
+ async setProcolFeeReceiver(f, e) {
898
1175
  return await this.awaitResult(
899
- this.setProcolFeeReceiverRaw(e, {
900
- ...f
1176
+ this.setProcolFeeReceiverRaw(f, {
1177
+ ...e
901
1178
  })
902
1179
  );
903
1180
  }
@@ -910,24 +1187,24 @@ const E = class E extends B0 {
910
1187
  * @param {?WriteParams} [params]
911
1188
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
912
1189
  */
913
- async setProcolFeeReceiverRaw(e, f) {
914
- const { request: b, result: a } = await Y(
1190
+ async setProcolFeeReceiverRaw(f, e) {
1191
+ const { request: t, result: a } = await h0(
915
1192
  this._config,
916
1193
  {
917
- ...u(
1194
+ ...h(
918
1195
  this._config,
919
1196
  this.addresses,
920
- f == null ? void 0 : f.chainId
1197
+ e == null ? void 0 : e.chainId
921
1198
  ),
922
- args: [e],
1199
+ args: [f],
923
1200
  ...this.optionallyAttachAccount(),
924
1201
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
925
- ...f
1202
+ ...e
926
1203
  }
927
1204
  );
928
- return { hash: await Z(
1205
+ return { hash: await l0(
929
1206
  this._config,
930
- b
1207
+ t
931
1208
  ), result: a };
932
1209
  }
933
1210
  /**
@@ -940,20 +1217,20 @@ const E = class E extends B0 {
940
1217
  * @param {?ReadParams} [params]
941
1218
  * @returns {Promise<IncentiveDisbursalInfo>}
942
1219
  */
943
- async getIncentiveFeesInfo(e, f, b) {
944
- const a = r0(
945
- u0(["uint256", "uint256"], [e, f])
1220
+ async getIncentiveFeesInfo(f, e, t) {
1221
+ const a = p0(
1222
+ F0(["uint256", "uint256"], [f, e])
946
1223
  );
947
- return await f0(this._config, {
948
- ...u(
1224
+ return await g0(this._config, {
1225
+ ...h(
949
1226
  this._config,
950
1227
  this.addresses,
951
- b == null ? void 0 : b.chainId
1228
+ t == null ? void 0 : t.chainId
952
1229
  ),
953
1230
  args: [a],
954
1231
  ...this.optionallyAttachAccount(),
955
1232
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
956
- ...b
1233
+ ...t
957
1234
  });
958
1235
  }
959
1236
  /**
@@ -979,13 +1256,13 @@ const E = class E extends B0 {
979
1256
  * }
980
1257
  * ```
981
1258
  */
982
- async getClaimFromTransaction(e) {
1259
+ async getClaimFromTransaction(f) {
983
1260
  var a;
984
- const f = await s0(this._config, e);
985
- return (a = F({
986
- abi: C,
1261
+ const e = await I0(this._config, f);
1262
+ return (a = _({
1263
+ abi: y,
987
1264
  eventName: "BoostClaimed",
988
- logs: f.logs
1265
+ logs: e.logs
989
1266
  }).at(0)) == null ? void 0 : a.args;
990
1267
  }
991
1268
  /**
@@ -1011,9 +1288,9 @@ const E = class E extends B0 {
1011
1288
  * @param {?ReadParams} [params]
1012
1289
  * @returns {Promise<void>}
1013
1290
  */
1014
- async calculateProtocolFee(e, f) {
1015
- const b = await this.protocolFee(f);
1016
- return e * b / A;
1291
+ async calculateProtocolFee(f, e) {
1292
+ const t = await this.protocolFee(e);
1293
+ return f * t / F;
1017
1294
  }
1018
1295
  /**
1019
1296
  * Bound {@link PassthroughAuth} constructor that reuses the same configuration as the Boost Core instance.
@@ -1026,10 +1303,10 @@ const E = class E extends B0 {
1026
1303
  * @param {Address} address
1027
1304
  * @returns {PassthroughAuth}
1028
1305
  */
1029
- PassthroughAuth(e) {
1030
- return new A0(
1306
+ PassthroughAuth(f) {
1307
+ return new T0(
1031
1308
  { config: this._config, account: this._account },
1032
- e
1309
+ f
1033
1310
  );
1034
1311
  }
1035
1312
  // /**
@@ -1062,11 +1339,11 @@ const E = class E extends B0 {
1062
1339
  * const action = core.EventAction('0x') // is roughly equivalent to
1063
1340
  * const action = new EventAction({ config: core._config, account: core._account }, '0x')
1064
1341
  */
1065
- EventAction(e, f) {
1066
- return new g0(
1342
+ EventAction(f, e) {
1343
+ return new R0(
1067
1344
  { config: this._config, account: this._account },
1068
- e,
1069
- f
1345
+ f,
1346
+ e
1070
1347
  );
1071
1348
  }
1072
1349
  // /**
@@ -1102,11 +1379,11 @@ const E = class E extends B0 {
1102
1379
  * @param {?boolean} [isBase]
1103
1380
  * @returns {OpenAllowList}
1104
1381
  */
1105
- OpenAllowList(e) {
1106
- return new m0(
1382
+ OpenAllowList(f) {
1383
+ return new D0(
1107
1384
  { config: this._config, account: this._account },
1108
1385
  void 0,
1109
- e
1386
+ f
1110
1387
  );
1111
1388
  }
1112
1389
  /**
@@ -1121,11 +1398,11 @@ const E = class E extends B0 {
1121
1398
  * @param {?boolean} [isBase]
1122
1399
  * @returns {SimpleAllowList}
1123
1400
  */
1124
- SimpleAllowList(e, f) {
1125
- return new v0(
1401
+ SimpleAllowList(f, e) {
1402
+ return new L0(
1126
1403
  { config: this._config, account: this._account },
1127
- e,
1128
- f
1404
+ f,
1405
+ e
1129
1406
  );
1130
1407
  }
1131
1408
  /**
@@ -1140,11 +1417,11 @@ const E = class E extends B0 {
1140
1417
  * @param {?boolean} [isBase]
1141
1418
  * @returns {SimpleDenyList}
1142
1419
  */
1143
- SimpleDenyList(e, f) {
1144
- return new C0(
1420
+ SimpleDenyList(f, e) {
1421
+ return new N0(
1145
1422
  { config: this._config, account: this._account },
1146
- e,
1147
- f
1423
+ f,
1424
+ e
1148
1425
  );
1149
1426
  }
1150
1427
  // /**
@@ -1175,10 +1452,10 @@ const E = class E extends B0 {
1175
1452
  * @param {DeployablePayloadOrAddress<ManagedBudgetPayload>} options
1176
1453
  * @returns {ManagedBudget}
1177
1454
  */
1178
- ManagedBudget(e) {
1179
- return typeof e != "string" && !e.authorized.includes(this.assertValidAddress()) && (e.authorized = [this.assertValidAddress(), ...e.authorized], e.roles = [P.MANAGER, ...e.roles]), new P0(
1455
+ ManagedBudget(f) {
1456
+ return typeof f != "string" && !f.authorized.includes(this.assertValidAddress()) && (f.authorized = [this.assertValidAddress(), ...f.authorized], f.roles = [L.MANAGER, ...f.roles]), new $0(
1180
1457
  { config: this._config, account: this._account },
1181
- e
1458
+ f
1182
1459
  );
1183
1460
  }
1184
1461
  /**
@@ -1193,10 +1470,10 @@ const E = class E extends B0 {
1193
1470
  * @param {DeployablePayloadOrAddress<ManagedBudgetWithFeesPayload>} options
1194
1471
  * @returns {ManagedBudgetWithFees}
1195
1472
  */
1196
- ManagedBudgetWithFees(e) {
1197
- return typeof e != "string" && !e.authorized.includes(this.assertValidAddress()) && (e.authorized = [this.assertValidAddress(), ...e.authorized], e.roles = [P.MANAGER, ...e.roles]), new y0(
1473
+ ManagedBudgetWithFees(f) {
1474
+ return typeof f != "string" && !f.authorized.includes(this.assertValidAddress()) && (f.authorized = [this.assertValidAddress(), ...f.authorized], f.roles = [L.MANAGER, ...f.roles]), new M0(
1198
1475
  { config: this._config, account: this._account },
1199
- e
1476
+ f
1200
1477
  );
1201
1478
  }
1202
1479
  /**
@@ -1211,10 +1488,44 @@ const E = class E extends B0 {
1211
1488
  * @param {DeployablePayloadOrAddress<ManagedBudgetWithFeesV2Payload>} options
1212
1489
  * @returns {ManagedBudgetWithFeesV2}
1213
1490
  */
1214
- ManagedBudgetWithFeesV2(e) {
1215
- return typeof e != "string" && !e.authorized.includes(this.assertValidAddress()) && (e.authorized = [this.assertValidAddress(), ...e.authorized], e.roles = [P.MANAGER, ...e.roles]), new _0(
1491
+ ManagedBudgetWithFeesV2(f) {
1492
+ return typeof f != "string" && !f.authorized.includes(this.assertValidAddress()) && (f.authorized = [this.assertValidAddress(), ...f.authorized], f.roles = [L.MANAGER, ...f.roles]), new O0(
1216
1493
  { config: this._config, account: this._account },
1217
- e
1494
+ f
1495
+ );
1496
+ }
1497
+ // /**
1498
+ // * Bound {@link TransparentBudget} constructor that reuses the same configuration as the Boost Core instance.
1499
+ // *
1500
+ // * @example
1501
+ // * ```ts
1502
+ // * const budget = core.TransparentBudget('0x') // is roughly equivalent to
1503
+ // * const budget = new TransparentBudget({ config: core._config, account: core._account }, '0x')
1504
+ // * ```
1505
+ // * @param {DeployablePayloadOrAddress<never>} options
1506
+ // * @returns {TransparentBudget}
1507
+ // */
1508
+ // TransparentBudget(options: DeployablePayloadOrAddress<never>) {
1509
+ // return new TransparentBudget(
1510
+ // { config: this._config, account: this._account },
1511
+ // options,
1512
+ // );
1513
+ // }
1514
+ /**
1515
+ * Bound {@link TransparentBudget} constructor that reuses the same configuration as the Boost Core instance.
1516
+ *
1517
+ * @example
1518
+ * ```ts
1519
+ * const budget = core.TransparentBudget('0x') // is roughly equivalent to
1520
+ * const budget = new TransparentBudget({ config: core._config, account: core._account }, '0x')
1521
+ * ```
1522
+ * @param {DeployablePayloadOrAddress<ManagedBudgetPayload>} options
1523
+ * @returns {TransparentBudget}
1524
+ */
1525
+ TransparentBudget(f) {
1526
+ return new $(
1527
+ { config: this._config, account: this._account },
1528
+ f
1218
1529
  );
1219
1530
  }
1220
1531
  // /**
@@ -1245,10 +1556,10 @@ const E = class E extends B0 {
1245
1556
  * @param {DeployablePayloadOrAddress<VestingBudgetPayload>} options
1246
1557
  * @returns {VestingBudget}
1247
1558
  */
1248
- AllowListIncentive(e) {
1249
- return new E0(
1559
+ AllowListIncentive(f) {
1560
+ return new W0(
1250
1561
  { config: this._config, account: this._account },
1251
- e
1562
+ f
1252
1563
  );
1253
1564
  }
1254
1565
  /**
@@ -1262,10 +1573,10 @@ const E = class E extends B0 {
1262
1573
  * @param {CGDAIncentivePayload} options
1263
1574
  * @returns {CGDAIncentive}
1264
1575
  */
1265
- CGDAIncentive(e) {
1266
- return new F0(
1576
+ CGDAIncentive(f) {
1577
+ return new z0(
1267
1578
  { config: this._config, account: this._account },
1268
- e
1579
+ f
1269
1580
  );
1270
1581
  }
1271
1582
  /**
@@ -1279,10 +1590,10 @@ const E = class E extends B0 {
1279
1590
  * @param {ERC20IncentivePayload} options
1280
1591
  * @returns {ERC20Incentive}
1281
1592
  */
1282
- ERC20Incentive(e) {
1283
- return new R0(
1593
+ ERC20Incentive(f) {
1594
+ return new j0(
1284
1595
  { config: this._config, account: this._account },
1285
- e
1596
+ f
1286
1597
  );
1287
1598
  }
1288
1599
  /**
@@ -1296,10 +1607,10 @@ const E = class E extends B0 {
1296
1607
  * @param {ERC20PeggedIncentivePayload} options
1297
1608
  * @returns {ERC20PeggedIncentive}
1298
1609
  */
1299
- ERC20PeggedIncentive(e) {
1300
- return new D0(
1610
+ ERC20PeggedIncentive(f) {
1611
+ return new G0(
1301
1612
  { config: this._config, account: this._account },
1302
- e
1613
+ f
1303
1614
  );
1304
1615
  }
1305
1616
  // /**
@@ -1332,10 +1643,10 @@ const E = class E extends B0 {
1332
1643
  * @param {PointsIncentivePayload} options
1333
1644
  * @returns {PointsIncentive}
1334
1645
  */
1335
- PointsIncentive(e) {
1336
- return new N0(
1646
+ PointsIncentive(f) {
1647
+ return new U0(
1337
1648
  { config: this._config, account: this._account },
1338
- e
1649
+ f
1339
1650
  );
1340
1651
  }
1341
1652
  /**
@@ -1350,11 +1661,11 @@ const E = class E extends B0 {
1350
1661
  * @param {?boolean} [isBase]
1351
1662
  * @returns {SignerValidator}
1352
1663
  */
1353
- SignerValidator(e, f) {
1354
- return new V0(
1664
+ SignerValidator(f, e) {
1665
+ return new K0(
1355
1666
  { config: this._config, account: this._account },
1356
- e,
1357
- f
1667
+ f,
1668
+ e
1358
1669
  );
1359
1670
  }
1360
1671
  /**
@@ -1369,15 +1680,15 @@ const E = class E extends B0 {
1369
1680
  * @param {?boolean} [isBase]
1370
1681
  * @returns {LimitedSignerValidator}
1371
1682
  */
1372
- LimitedSignerValidator(e, f) {
1373
- return new p0(
1683
+ LimitedSignerValidator(f, e) {
1684
+ return new J0(
1374
1685
  { config: this._config, account: this._account },
1375
- e,
1376
- f
1686
+ f,
1687
+ e
1377
1688
  );
1378
1689
  }
1379
1690
  /**
1380
- * Bound {@link ERC20VariableCriteriaIncentive} constructor that reuses the same configuration as the Boost Core instance.
1691
+ * Bound {@link ERC20VariableCriteriaIncentiveV2} constructor that reuses the same configuration as the Boost Core instance.
1381
1692
  *
1382
1693
  * @example
1383
1694
  * ```ts
@@ -1386,32 +1697,32 @@ const E = class E extends B0 {
1386
1697
  * ```
1387
1698
  * @param {DeployablePayloadOrAddress<ERC20VariableCrtieriaIncentivePayload>} options
1388
1699
  * @param {?boolean} [isBase]
1389
- * @returns {ERC20VariableCrtieriaIncentive}
1700
+ * @returns {ERC20VariableCrtieriaIncentiveV2}
1390
1701
  * */
1391
- ERC20VariableCriteriaIncentive(e, f) {
1392
- return new S0(
1702
+ ERC20VariableCriteriaIncentiveV2(f, e) {
1703
+ return new H0(
1393
1704
  { config: this._config, account: this._account },
1394
- e,
1395
- f
1705
+ f,
1706
+ e
1396
1707
  );
1397
1708
  }
1398
1709
  /**
1399
- * Bound {@link ERC20PeggedVariableCriteriaIncentive} constructor that reuses the same configuration as the Boost Core instance.
1710
+ * Bound {@link ERC20PeggedVariableCriteriaIncentiveV2} constructor that reuses the same configuration as the Boost Core instance.
1400
1711
  *
1401
1712
  * @example
1402
1713
  * ```ts
1403
- * const validator = core.ERC20PeggedVariableCriteriaIncentive({ ... }) // is roughly equivalent to
1404
- * const validator = new ERC20PeggedVariableCriteriaIncentive({ config: core._config, account: core._account }, { ... })
1714
+ * const validator = core.ERC20PeggedVariableCriteriaIncentiveV2({ ... }) // is roughly equivalent to
1715
+ * const validator = new ERC20PeggedVariableCriteriaIncentiveV2({ config: core._config, account: core._account }, { ... })
1405
1716
  * ```
1406
- * @param {DeployablePayloadOrAddress<ERC20PeggedVariableCriteriaIncentive>} options
1717
+ * @param {DeployablePayloadOrAddress<ERC20PeggedVariableCriteriaIncentiveV2>} options
1407
1718
  * @param {?boolean} [isBase]
1408
- * @returns {ERC20PeggedVariableCriteriaIncentive}
1719
+ * @returns {ERC20PeggedVariableCriteriaIncentiveV2}
1409
1720
  * */
1410
- ERC20PeggedVariableCriteriaIncentive(e, f) {
1411
- return new L0(
1721
+ ERC20PeggedVariableCriteriaIncentiveV2(f, e) {
1722
+ return new k0(
1412
1723
  { config: this._config, account: this._account },
1413
- e,
1414
- f
1724
+ f,
1725
+ e
1415
1726
  );
1416
1727
  }
1417
1728
  /**
@@ -1426,11 +1737,11 @@ const E = class E extends B0 {
1426
1737
  * @param {?boolean} [isBase]
1427
1738
  * @returns {ERC20VariableIncentive}
1428
1739
  */
1429
- ERC20VariableIncentive(e, f) {
1430
- return new G0(
1740
+ ERC20VariableIncentive(f, e) {
1741
+ return new n1(
1431
1742
  { config: this._config, account: this._account },
1432
- e,
1433
- f
1743
+ f,
1744
+ e
1434
1745
  );
1435
1746
  }
1436
1747
  /**
@@ -1441,15 +1752,15 @@ const E = class E extends B0 {
1441
1752
  * @param {?DeployableOptions} [_options]
1442
1753
  * @returns {GenericDeployableParams}
1443
1754
  */
1444
- buildParameters(e, f) {
1445
- const [b, a] = this.validateDeploymentConfig(
1446
- e,
1447
- f
1755
+ buildParameters(f, e) {
1756
+ const [t, a] = this.validateDeploymentConfig(
1757
+ f,
1758
+ e
1448
1759
  );
1449
1760
  return {
1450
- abi: C,
1451
- bytecode: K0,
1452
- args: b,
1761
+ abi: y,
1762
+ bytecode: s1,
1763
+ args: t,
1453
1764
  ...this.optionallyAttachAccount(a.account)
1454
1765
  };
1455
1766
  }
@@ -1466,22 +1777,22 @@ const E = class E extends B0 {
1466
1777
  * @param {?WriteParams} [params] Additional transaction overrides
1467
1778
  * @returns {Promise<{ hash: Hex; result: void }>} The transaction hash and simulation result
1468
1779
  */
1469
- async topupIncentiveFromBudgetPreFee(e, f, b, a, t) {
1470
- const c = await this.getBoost(e, t);
1471
- if (f >= c.incentives.length)
1472
- throw new Error(`Incentive ID ${f} out of range`);
1473
- const n = c.incentives[Number(f)];
1474
- if (!n)
1475
- throw new Error(`Incentive with ID ${f} not found`);
1476
- const s = await n.getTopupPayload(b);
1477
- if (!(b > 0))
1780
+ async topupIncentiveFromBudgetPreFee(f, e, t, a, b) {
1781
+ const c = await this.getBoost(f, b);
1782
+ if (e >= c.incentives.length)
1783
+ throw new Error(`Incentive ID ${e} out of range`);
1784
+ const d = c.incentives[Number(e)];
1785
+ if (!d)
1786
+ throw new Error(`Incentive with ID ${e} not found`);
1787
+ const s = await d.getTopupPayload(t);
1788
+ if (!(t > 0))
1478
1789
  throw new Error("Top-up amount must be greater than zero");
1479
1790
  return await this.topupIncentiveFromBudgetRaw(
1480
- e,
1481
1791
  f,
1792
+ e,
1482
1793
  s,
1483
1794
  a,
1484
- t
1795
+ b
1485
1796
  );
1486
1797
  }
1487
1798
  /**
@@ -1499,14 +1810,14 @@ const E = class E extends B0 {
1499
1810
  * @param {?WriteParams} [params] Additional transaction overrides
1500
1811
  * @returns {Promise<{ hash: Hex; result: void }>}
1501
1812
  */
1502
- async topupIncentiveFromBudgetPostFee(e, f, b, a, t) {
1503
- const c = await this.protocolFee(t), n = b * A / (A + c);
1813
+ async topupIncentiveFromBudgetPostFee(f, e, t, a, b) {
1814
+ const c = await this.protocolFee(b), d = t * F / (F + c);
1504
1815
  return this.topupIncentiveFromBudgetPreFee(
1505
- e,
1506
1816
  f,
1507
- n,
1817
+ e,
1818
+ d,
1508
1819
  a,
1509
- t
1820
+ b
1510
1821
  );
1511
1822
  }
1512
1823
  /**
@@ -1521,20 +1832,20 @@ const E = class E extends B0 {
1521
1832
  * @param {?WriteParams} [params]
1522
1833
  * @returns {Promise<{ hash: Hex; result: void }>}
1523
1834
  */
1524
- async topupIncentiveFromSenderPreFee(e, f, b, a) {
1525
- const t = await this.getBoost(e, a);
1526
- if (f >= t.incentives.length)
1527
- throw new Error(`Incentive ID ${f} out of range`);
1528
- const c = t.incentives[Number(f)];
1835
+ async topupIncentiveFromSenderPreFee(f, e, t, a) {
1836
+ const b = await this.getBoost(f, a);
1837
+ if (e >= b.incentives.length)
1838
+ throw new Error(`Incentive ID ${e} out of range`);
1839
+ const c = b.incentives[Number(e)];
1529
1840
  if (!c)
1530
- throw new Error(`Incentive with ID ${f} not found`);
1531
- if (!(b > 0))
1841
+ throw new Error(`Incentive with ID ${e} not found`);
1842
+ if (!(t > 0))
1532
1843
  throw new Error("Top-up amount must be greater than zero");
1533
- const n = await c.getTopupPayload(b);
1844
+ const d = await c.getTopupPayload(t);
1534
1845
  return await this.topupIncentiveFromSenderRaw(
1535
- e,
1536
1846
  f,
1537
- n,
1847
+ e,
1848
+ d,
1538
1849
  a
1539
1850
  );
1540
1851
  }
@@ -1552,11 +1863,11 @@ const E = class E extends B0 {
1552
1863
  * @param {?WriteParams} [params]
1553
1864
  * @returns {Promise<{ hash: Hex; result: void }>}
1554
1865
  */
1555
- async topupIncentiveFromSenderPostFee(e, f, b, a) {
1556
- const t = await this.protocolFee(a), c = b * A / (A + t);
1866
+ async topupIncentiveFromSenderPostFee(f, e, t, a) {
1867
+ const b = await this.protocolFee(a), c = t * F / (F + b);
1557
1868
  return this.topupIncentiveFromSenderPreFee(
1558
- e,
1559
1869
  f,
1870
+ e,
1560
1871
  c,
1561
1872
  a
1562
1873
  );
@@ -1572,19 +1883,19 @@ const E = class E extends B0 {
1572
1883
  * @param {?WriteParams} [params]
1573
1884
  * @returns {Promise<{ hash: Hex; result: void }>}
1574
1885
  */
1575
- async topupIncentiveFromSenderRaw(e, f, b, a) {
1576
- const { request: t, result: c } = await e0(
1886
+ async topupIncentiveFromSenderRaw(f, e, t, a) {
1887
+ const { request: b, result: c } = await w0(
1577
1888
  this._config,
1578
1889
  {
1579
1890
  ...this.optionallyAttachAccount(),
1580
1891
  ...a,
1581
1892
  address: this.assertValidAddress(),
1582
- args: [e, f, b]
1893
+ args: [f, e, t]
1583
1894
  }
1584
1895
  );
1585
- return { hash: await b0(
1896
+ return { hash: await v0(
1586
1897
  this._config,
1587
- t
1898
+ b
1588
1899
  ), result: c };
1589
1900
  }
1590
1901
  /**
@@ -1600,29 +1911,29 @@ const E = class E extends B0 {
1600
1911
  * @param {?WriteParams} [params]
1601
1912
  * @returns {Promise<{ hash: Hex; result: void }>}
1602
1913
  */
1603
- async topupIncentiveFromBudgetRaw(e, f, b, a, t) {
1604
- const { request: c, result: n } = await a0(
1914
+ async topupIncentiveFromBudgetRaw(f, e, t, a, b) {
1915
+ const { request: c, result: d } = await m0(
1605
1916
  this._config,
1606
1917
  {
1607
1918
  ...this.optionallyAttachAccount(),
1608
- ...t,
1919
+ ...b,
1609
1920
  address: this.assertValidAddress(),
1610
- args: [e, f, b, a ?? m]
1921
+ args: [f, e, t, a ?? C]
1611
1922
  }
1612
1923
  );
1613
- return { hash: await t0(
1924
+ return { hash: await C0(
1614
1925
  this._config,
1615
1926
  c
1616
- ), result: n };
1927
+ ), result: d };
1617
1928
  }
1618
1929
  };
1619
- E.addresses = B;
1620
- let S = E;
1930
+ M.addresses = S;
1931
+ let z = M;
1621
1932
  export {
1622
- M1 as BOOST_CORE_ADDRESS,
1623
- B as BOOST_CORE_ADDRESSES,
1624
- S as BoostCore,
1625
- A as FEE_DENOMINATOR,
1626
- C as boostCoreAbi
1933
+ K1 as BOOST_CORE_ADDRESS,
1934
+ S as BOOST_CORE_ADDRESSES,
1935
+ z as BoostCore,
1936
+ F as FEE_DENOMINATOR,
1937
+ y as boostCoreAbi
1627
1938
  };
1628
1939
  //# sourceMappingURL=BoostCore.js.map