@boostxyz/sdk 7.8.0 → 8.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 (125) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +1 -1
  3. package/dist/Actions/EventAction.cjs +1 -1
  4. package/dist/Actions/EventAction.cjs.map +1 -1
  5. package/dist/Actions/EventAction.d.ts +4 -4
  6. package/dist/Actions/EventAction.js +97 -97
  7. package/dist/Actions/EventAction.js.map +1 -1
  8. package/dist/{AllowList-DiU7g4Hs.js → AllowList-CWqAYlwr.js} +28 -28
  9. package/dist/{AllowList-DiU7g4Hs.js.map → AllowList-CWqAYlwr.js.map} +1 -1
  10. package/dist/{AllowList-BJ9HQGFs.cjs → AllowList-Lpqz7tn9.cjs} +2 -2
  11. package/dist/{AllowList-BJ9HQGFs.cjs.map → AllowList-Lpqz7tn9.cjs.map} +1 -1
  12. package/dist/AllowLists/AllowList.cjs +1 -1
  13. package/dist/AllowLists/AllowList.js +3 -3
  14. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  15. package/dist/AllowLists/SimpleAllowList.js +8 -8
  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 +106 -23
  23. package/dist/BoostCore.d.ts.map +1 -1
  24. package/dist/BoostCore.js +518 -451
  25. package/dist/BoostCore.js.map +1 -1
  26. package/dist/BoostRegistry.cjs +1 -1
  27. package/dist/BoostRegistry.js +46 -46
  28. package/dist/{Budget-YIhV65cc.js → Budget-BPPXnBAK.js} +36 -36
  29. package/dist/{Budget-YIhV65cc.js.map → Budget-BPPXnBAK.js.map} +1 -1
  30. package/dist/{Budget-D_zhh1rh.cjs → Budget-rZm-AY09.cjs} +2 -2
  31. package/dist/{Budget-D_zhh1rh.cjs.map → Budget-rZm-AY09.cjs.map} +1 -1
  32. package/dist/Budgets/Budget.cjs +1 -1
  33. package/dist/Budgets/Budget.js +2 -2
  34. package/dist/Budgets/ManagedBudget.cjs +1 -1
  35. package/dist/Budgets/ManagedBudget.js +24 -24
  36. package/dist/Deployable/Contract.cjs +1 -1
  37. package/dist/Deployable/Contract.cjs.map +1 -1
  38. package/dist/Deployable/Contract.d.ts +8 -0
  39. package/dist/Deployable/Contract.d.ts.map +1 -1
  40. package/dist/Deployable/Contract.js +14 -4
  41. package/dist/Deployable/Contract.js.map +1 -1
  42. package/dist/Deployable/Deployable.cjs +1 -1
  43. package/dist/Deployable/Deployable.cjs.map +1 -1
  44. package/dist/Deployable/Deployable.d.ts +7 -0
  45. package/dist/Deployable/Deployable.d.ts.map +1 -1
  46. package/dist/Deployable/Deployable.js +13 -4
  47. package/dist/Deployable/Deployable.js.map +1 -1
  48. package/dist/Deployable/DeployableTarget.cjs +1 -1
  49. package/dist/Deployable/DeployableTarget.js +7 -7
  50. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  51. package/dist/Deployable/DeployableTargetWithRBAC.js +16 -16
  52. package/dist/{Incentive-CrnbYN_a.cjs → Incentive-Bse5BKbF.cjs} +2 -2
  53. package/dist/{Incentive-CrnbYN_a.cjs.map → Incentive-Bse5BKbF.cjs.map} +1 -1
  54. package/dist/{Incentive-CeoEla-t.js → Incentive-D1sYPD0W.js} +23 -23
  55. package/dist/{Incentive-CeoEla-t.js.map → Incentive-D1sYPD0W.js.map} +1 -1
  56. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  57. package/dist/Incentives/AllowListIncentive.js +17 -17
  58. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  59. package/dist/Incentives/CGDAIncentive.js +38 -38
  60. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  61. package/dist/Incentives/ERC20Incentive.js +13 -13
  62. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs +1 -1
  63. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs.map +1 -1
  64. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.d.ts +6 -6
  65. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js +22 -22
  66. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js.map +1 -1
  67. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +1 -1
  68. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs.map +1 -1
  69. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.d.ts +6 -6
  70. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +91 -91
  71. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js.map +1 -1
  72. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  73. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -1
  74. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +6 -6
  75. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +9 -9
  76. package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -1
  77. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +1 -1
  78. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs.map +1 -1
  79. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.d.ts +6 -6
  80. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +9 -9
  81. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js.map +1 -1
  82. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  83. package/dist/Incentives/ERC20VariableIncentive.js +12 -12
  84. package/dist/Incentives/Incentive.cjs +1 -1
  85. package/dist/Incentives/Incentive.js +2 -2
  86. package/dist/Incentives/PointsIncentive.cjs +1 -1
  87. package/dist/Incentives/PointsIncentive.js +10 -10
  88. package/dist/{SimpleDenyList-Dr03aOeP.js → SimpleDenyList-BtEUdiAj.js} +14 -14
  89. package/dist/{SimpleDenyList-Dr03aOeP.js.map → SimpleDenyList-BtEUdiAj.js.map} +1 -1
  90. package/dist/{SimpleDenyList-7-VTqfsH.cjs → SimpleDenyList-DEoMIYhE.cjs} +2 -2
  91. package/dist/{SimpleDenyList-7-VTqfsH.cjs.map → SimpleDenyList-DEoMIYhE.cjs.map} +1 -1
  92. package/dist/{Validator-rYW7PMwW.cjs → Validator-DHS4vjSa.cjs} +2 -2
  93. package/dist/{Validator-rYW7PMwW.cjs.map → Validator-DHS4vjSa.cjs.map} +1 -1
  94. package/dist/{Validator-DgvB9wge.js → Validator-Kpvmj9Bs.js} +9 -9
  95. package/dist/{Validator-DgvB9wge.js.map → Validator-Kpvmj9Bs.js.map} +1 -1
  96. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  97. package/dist/Validators/LimitedSignerValidator.js +17 -17
  98. package/dist/Validators/SignerValidator.cjs +1 -1
  99. package/dist/Validators/SignerValidator.js +3 -3
  100. package/dist/Validators/Validator.cjs +1 -1
  101. package/dist/Validators/Validator.js +2 -2
  102. package/dist/{deployments-CHQ30INq.js → deployments-Coa8CGi2.js} +67 -67
  103. package/dist/{deployments-CHQ30INq.js.map → deployments-Coa8CGi2.js.map} +1 -1
  104. package/dist/{deployments-BjBgk03b.cjs → deployments-Dgzcz4Ev.cjs} +2 -2
  105. package/dist/deployments-Dgzcz4Ev.cjs.map +1 -0
  106. package/dist/deployments.json +46 -46
  107. package/dist/generated-BzLYuFx3.cjs +3 -0
  108. package/dist/generated-BzLYuFx3.cjs.map +1 -0
  109. package/dist/{generated-B6mEIx8i.js → generated-D6oDILUw.js} +250 -193
  110. package/dist/generated-D6oDILUw.js.map +1 -0
  111. package/dist/index.cjs +1 -1
  112. package/dist/index.js +16 -16
  113. package/dist/utils.cjs.map +1 -1
  114. package/dist/utils.d.ts.map +1 -1
  115. package/dist/utils.js.map +1 -1
  116. package/package.json +1 -1
  117. package/src/BoostCore.test.ts +34 -23
  118. package/src/BoostCore.ts +124 -26
  119. package/src/Deployable/Contract.ts +11 -0
  120. package/src/Deployable/Deployable.ts +10 -0
  121. package/src/utils.ts +0 -1
  122. package/dist/deployments-BjBgk03b.cjs.map +0 -1
  123. package/dist/generated-B6mEIx8i.js.map +0 -1
  124. package/dist/generated-dd4FN0Fo.cjs +0 -3
  125. package/dist/generated-dd4FN0Fo.cjs.map +0 -1
package/dist/BoostCore.js CHANGED
@@ -1,41 +1,41 @@
1
- import { a as A, dn as K, dp as X, b as x, dq as Y, dr as Q, ds as f0, dt as e0, du as t0, dv as a0, dw as b0, dx as d0, dy as c0, dz as n0, dA as s0, dB as i0, dC as o0, dD as r0, dE as u0, dF as h0, dG as l0, dH as g0, dI as w0, dJ as v0, dK as m0, dL as C0, dM as I0 } from "./generated-B6mEIx8i.js";
2
- import { waitForTransactionReceipt as V, getAccount as A0, getChains as y0, getTransactionReceipt as B0 } from "@wagmi/core";
3
- import { createClient as P0, custom as E0, zeroAddress as C, parseEventLogs as _, zeroHash as w, keccak256 as F0, encodePacked as _0 } from "viem";
4
- import { l as p0 } from "./deployments-CHQ30INq.js";
5
- import { actionFromAddress as R0 } from "./Actions/Action.js";
6
- import { EventAction as D0 } from "./Actions/EventAction.js";
7
- import { b as V0, a as S0, O as T0 } from "./AllowList-DiU7g4Hs.js";
8
- import { SimpleAllowList as L0 } from "./AllowLists/SimpleAllowList.js";
9
- import { S as O0 } from "./SimpleDenyList-Dr03aOeP.js";
10
- import { PassthroughAuth as N0 } from "./Auth/PassthroughAuth.js";
11
- import { prepareBoostPayload as P, Boost as p } from "./Boost.js";
12
- import { T as $, b as M0, M as x0, a as $0 } from "./Budget-YIhV65cc.js";
13
- import { prepareTransfer as R, ManagedBudget as z0 } from "./Budgets/ManagedBudget.js";
14
- import { Deployable as j0 } from "./Deployable/Deployable.js";
15
- import { Roles as S } from "./Deployable/DeployableTargetWithRBAC.js";
16
- import { AllowListIncentive as q0 } from "./Incentives/AllowListIncentive.js";
17
- import { CGDAIncentive as W0 } from "./Incentives/CGDAIncentive.js";
18
- import { ERC20Incentive as G0 } from "./Incentives/ERC20Incentive.js";
19
- import { i as k0, E as U0 } from "./Incentive-CeoEla-t.js";
20
- import { ERC20PeggedVariableCriteriaIncentiveV2 as H0 } from "./Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js";
21
- import { ERC20VariableCriteriaIncentiveV2 as Z0 } from "./Incentives/ERC20VariableCriteriaIncentiveV2.js";
22
- import { PointsIncentive as J0 } from "./Incentives/PointsIncentive.js";
23
- import { LimitedSignerValidator as K0 } from "./Validators/LimitedSignerValidator.js";
24
- import { v as X0, P as Y0, B as z } from "./Validator-DgvB9wge.js";
25
- import { SignerValidator as Q0 } from "./Validators/SignerValidator.js";
26
- import { BoostCoreNoIdentifierEmitted as T, DeployableUnknownOwnerProvidedError as f1, InvalidProtocolChainIdError as e1, BudgetMustAuthorizeBoostCore as t1, MustInitializeBudgetError as a1, IncentiveNotCloneableError as b1, BoostNotFoundError as d1 } from "./errors.js";
27
- import { assertValidAddressByChainId as h } from "./utils.js";
28
- import { simulateContract as c1, writeContract as n1 } from "viem/actions";
29
- import { parseAccount as s1, getAddress as i1 } from "viem/utils";
30
- import { ERC20VariableIncentive as o1 } from "./Incentives/ERC20VariableIncentive.js";
31
- const r1 = "0x608060405260048054607d60a31b600160a01b600160e01b0319909116179055600580546001600160401b0319166103e817905534801561003e575f80fd5b50604051614fbc380380614fbc83398101604081905261005d916100e8565b61006681610098565b50600180546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055610132565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a35b50565b6001600160a01b03811681146100d1575f80fd5b5f805f606084860312156100fa575f80fd5b8351610105816100d4565b6020850151909350610116816100d4565b6040850151909250610127816100d4565b809150509250925092565b614e7d8061013f5f395ff3fe6080604052600436106101d0575f3560e01c80637b103999116100fd578063dd7dc9a911610092578063f04e283e11610062578063f04e283e14610551578063f2fde38b14610564578063fee81cf414610577578063fefceca9146105a8575f80fd5b8063dd7dc9a9146104b7578063dd98558c146104d7578063e21ff73114610513578063eccc19a614610532575f80fd5b8063b0e21e8a116100cd578063b0e21e8a14610413578063caa1647b14610464578063d5137b5214610483578063d73792a9146104a2575f80fd5b80637b1039991461038f5780638da5cb5b146103ae5780638fe4f523146103e1578063a92647dc146103f4575f80fd5b806343bc42d3116101735780635edb9eb0116101435780635edb9eb0146103385780635f32c23e14610355578063715018a614610374578063730f9c571461037c575f80fd5b806343bc42d3146102d357806346877b1a146102f25780635045b8661461031157806354d1f13d14610330575f80fd5b8063219f71f0116101ae578063219f71f0146102495780632569296214610268578063346339d51461027057806339a51be51461029c575f80fd5b806313c8e2de146101d457806316614282146102095780631fa2acdc1461022a575b5f80fd5b3480156101df575f80fd5b506101f36101ee366004613e9a565b61060b565b6040516102009190613ef4565b60405180910390f35b348015610214575f80fd5b50610228610223366004613ff2565b610740565b005b348015610235575f80fd5b50610228610244366004614055565b610eb3565b348015610254575f80fd5b506102286102633660046140bb565b611628565b61022861166a565b34801561027b575f80fd5b5061028f61028a366004613e9a565b6116b7565b6040516102009190614143565b3480156102a7575f80fd5b506003546102bb906001600160a01b031681565b6040516001600160a01b039091168152602001610200565b3480156102de575f80fd5b506102286102ed3660046141a1565b61176c565b3480156102fd575f80fd5b5061022861030c3660046140bb565b6117c7565b34801561031c575f80fd5b506004546102bb906001600160a01b031681565b610228611809565b348015610343575f80fd5b505f545b604051908152602001610200565b348015610360575f80fd5b5061022861036f3660046141bc565b611842565b6102286119db565b61022861038a3660046141dc565b6119ee565b34801561039a575f80fd5b506001546102bb906001600160a01b031681565b3480156103b9575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927546102bb565b6102286103ef366004614253565b611e55565b3480156103ff575f80fd5b506002546102bb906001600160a01b031681565b34801561041e575f80fd5b5060045461044b9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610200565b34801561046f575f80fd5b5061022861047e3660046141a1565b611e6a565b34801561048e575f80fd5b506102bb61049d3660046142b8565b611ef2565b3480156104ad575f80fd5b5061044b61271081565b3480156104c2575f80fd5b5060055461044b9067ffffffffffffffff1681565b3480156104e2575f80fd5b506104f66104f1366004614302565b61211e565b604080519283526001600160a01b03909116602083015201610200565b34801561051e575f80fd5b506101f361052d36600461434f565b61257a565b34801561053d575f80fd5b5061022861054c3660046140bb565b612dab565b61022861055f3660046140bb565b612ded565b6102286105723660046140bb565b612e2a565b348015610582575f80fd5b506103476105913660046140bb565b63389a75e1600c9081525f91909152602090205490565b3480156105b3575f80fd5b506105fa6105c2366004613e9a565b60066020525f9081526040902080546001820154600283015460039093015460ff8316936101009093046001600160a01b0316929085565b60405161020095949392919061438e565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e08101919091525f828154811061065c5761065c6143c7565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b039081168452600182015481168486015260028201548116848401526003820154166060840152600481018054835181870281018701909452808452939491936080860193928301828280156106ff57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116106e1575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b031660609091015292915050565b3068929eee149b4bd21268540361075e5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061077d5761077d6143c7565b905f5260205f20906008020190505f8160040185815481106107a1576107a16143c7565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a2906107f6908890889060040161441d565b5f60405180830381865afa158015610810573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526108379190810190614577565b905080515f03610873576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8180602001905181019061088891906145b4565b90505f8080806001855160028111156108a3576108a36140dd565b14806108c057505f855160028111156108be576108be6140dd565b145b15610924575f85606001518060200190518101906108de919061465c565b805160058b0154909650909150612710906109039067ffffffffffffffff16876146cb565b61090d91906146e2565b9350610919848661471a565b9081905291506109da565b600285516002811115610939576109396140dd565b036109a8575f8560600151806020019051810190610957919061472d565b602081015160058b01549096509091506127109061097f9067ffffffffffffffff16876146cb565b61098991906146e2565b9350610995848661471a565b60208201819052905190925090506109da565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6109e58d8d612e50565b5f8181526006602052604081206001810180549394509092879290610a0b90849061471a565b909155505085159150610e99905057600185516002811115610a2f57610a2f6140dd565b1480610a4c57505f85516002811115610a4a57610a4a6140dd565b145b15610c6b5760208501516040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490526001600160a01b038216906323b872dd906064016020604051808303815f875af1158015610abf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae391906147ba565b506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820187905282169063095ea7b3906044016020604051808303815f875af1158015610b49573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6d91906147ba565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038916906330db555f906024015f604051808303815f87803b158015610bc6575f80fd5b505af1158015610bd8573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015610c40573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c6491906147ba565b5050610e59565b60208501516040517ff242432a000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526064810184905260a060848201525f60a48201526001600160a01b0382169063f242432a9060c4015f604051808303815f87803b158015610ce8575f80fd5b505af1158015610cfa573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152600160248301528416925063a22cb46591506044015f604051808303815f87803b158015610d5e575f80fd5b505af1158015610d70573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018890526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b158015610dcc575f80fd5b505af1158015610dde573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b158015610e41575f80fd5b505af1158015610e53573d5f803e3d5ffd5b50505050505b604080518581526020810185905233918d918f917f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f31876910160405180910390a45b50505050505050503868929eee149b4bd212685550505050565b3068929eee149b4bd212685403610ed15763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808681548110610ef057610ef06143c7565b905f5260205f20906008020190505f816004018681548110610f1457610f146143c7565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a290610f69908990899060040161441d565b5f60405180830381865afa158015610f83573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610faa9190810190614577565b905080515f03610fe6576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81806020019051810190610ffb91906145b4565b90505f6001600160a01b038616156110135785611022565b60038501546001600160a01b03165b905061102d81612e7f565b5f8080600185516002811115611045576110456140dd565b148061106257505f85516002811115611060576110606140dd565b145b156110e9575f8560600151806020019051810190611080919061465c565b805160058b0154909550909150612710906110a59067ffffffffffffffff16866146cb565b6110af91906146e2565b92506110bb838561471a565b8082526040805160208101839052919350015b60408051601f19818403018152919052606087015250611174565b6002855160028111156110fe576110fe6140dd565b036109a8575f856060015180602001905181019061111c919061472d565b602081015160058b0154909550909150612710906111449067ffffffffffffffff16866146cb565b61114e91906146e2565b925061115a838561471a565b60208083018290526040519193506110ce91839101614803565b30604080870191909152515f9061118f908790602001614831565b60408051601f19818403018152908290527ffa4ca9b100000000000000000000000000000000000000000000000000000000825291506001600160a01b0386169063fa4ca9b1906111e4908490600401614882565b6020604051808303815f875af1158015611200573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061122491906147ba565b61125a576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6112658f8f612e50565b5f818152600660205260408120600181018054939450909287929061128b90849061471a565b90915550508515925061160d915050576001855160028111156112b0576112b06140dd565b14806112cd57505f855160028111156112cb576112cb6140dd565b145b1561145e5760208501516040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820186905282169063095ea7b3906044016020604051808303815f875af115801561133c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061136091906147ba565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b038916906330db555f906024015f604051808303815f87803b1580156113b9575f80fd5b505af11580156113cb573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015611433573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145791906147ba565b50506115be565b60208501516040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526001602483015282169063a22cb465906044015f604051808303815f87803b1580156114c3575f80fd5b505af11580156114d5573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018790526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b158015611531575f80fd5b505af1158015611543573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b1580156115a6575f80fd5b505af11580156115b8573d5f803e3d5ffd5b50505050505b336001600160a01b03168c8e7f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f318768686604051611604929190918252602082015260400190565b60405180910390a45b50505050505050503868929eee149b4bd21268555050505050565b611630612f5e565b600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6116ee6040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b5f8281526006602052604090819020815160a081019092528054829060ff16600281111561171e5761171e6140dd565b600281111561172f5761172f6140dd565b8152815461010090046001600160a01b03166020820152600182015460408201526002820154606082015260039091015460809091015292915050565b611774612f5e565b6004805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6117cf612f5e565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b3068929eee149b4bd2126854036118605763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6118778383612e50565b5f81815260066020526040812081549293509181908690811061189c5761189c6143c7565b905f5260205f20906008020160040184815481106118bc576118bc6143c7565b5f918252602082200154600284015460018501546001600160a01b039092169350906118eb90612710906146cb565b6118f591906146e2565b90505f6119028484612f93565b9050818111156119c6575f6119178383614894565b90505f61271067ffffffffffffffff1686600201548361193791906146cb565b61194191906146e2565b905061194d86826130e1565b808660010154106119765780866001015f82825461196b9190614894565b9091555061197d9050565b5f60018701555b6003546040518281526001600160a01b039091169089908b907f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b179060200160405180910390a450505b50505050503868929eee149b4bd21268555050565b6119e3612f5e565b6119ec5f61321d565b565b3068929eee149b4bd212685403611a0c5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110611a2b57611a2b6143c7565b905f5260205f20906008020190505f611a448888612e50565b5f81815260066020526040812060048501805493945090928a908110611a6c57611a6c6143c7565b5f9182526020909120015460028501546040517fe3f756de0000000000000000000000000000000000000000000000000000000081526001600160a01b03928316935091169063e3f756de90611aca9088908b908b906004016148a7565b602060405180830381865afa158015611ae5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b0991906147ba565b611b3f576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018401546040517f703b69000000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063703b6900903490611b94908e908e908b908e908e906004016148d2565b60206040518083038185885af1158015611bb0573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611bd591906147ba565b611c0b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81545f9061010090046001600160a01b0316611c27575f611c31565b611c318383612f93565b6040517fbb1757cf0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0383169063bb1757cf90611c7d9089908c908c906004016148a7565b6020604051808303815f875af1158015611c99573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cbd91906147ba565b611d02578588886040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401611cf9939291906148a7565b60405180910390fd5b82545f9061010090046001600160a01b0316611d1e575f611d28565b611d288484612f93565b90505f818311611d38575f611d42565b611d428284614894565b90505f61271067ffffffffffffffff16866002015483611d6291906146cb565b611d6c91906146e2565b90508015611df257611d7e86826130e1565b80866001015f828254611d919190614894565b9250508190555060035f9054906101000a90046001600160a01b03166001600160a01b03168d8f7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051611de991815260200190565b60405180910390a45b886001600160a01b03168d8f7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478f8f8f604051611e31939291906148a7565b60405180910390a450505050505050503868929eee149b4bd2126855505050505050565b611e638585858585336119ee565b5050505050565b611e72612f5e565b61271067ffffffffffffffff821610611eb7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff92909216919091179055565b5f3068929eee149b4bd212685403611f115763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808481548110611f3057611f306143c7565b5f918252602090912060089091020160078101549091506001600160a01b03163314611f88576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003810154611f9f906001600160a01b0316612e7f565b6004808201805491549091905f906001600160a01b0316611fc0575f612052565b6004546040516001600160a01b039091169063c7f1ecff90611fe8908a908a9060200161490b565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016120139190614882565b602060405180830381865afa15801561202e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061205291906149c2565b905061208861206087614a2a565b600386015460058701546001600160a01b039091169067ffffffffffffffff16848b87613275565b83546001810185555f858152602080822090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03851690811790915560405191825292975084918a917f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae910160405180910390a4505050503868929eee149b4bd212685592915050565b5f803068929eee149b4bd21268540361213e5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061215d5761215d6143c7565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b0390811684526001820154811684860152600282015481168484015260038201541660608401526004810180548351818702810187019094528084529394919360808601939283018282801561220057602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116121e2575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b039081166060928301529082015191925016331461227d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6122888686612e50565b5f8181526006602052604081209192506122a4898b018b614a93565b90505f81602001518060200190518101906122bf9190614b30565b90505f61271067ffffffffffffffff168460020154836122df91906146cb565b6122e991906146e2565b90508015612457576001845460ff166002811115612309576123096140dd565b148061232957505f845460ff166002811115612327576123276140dd565b145b15612351578251845461234c916101009091046001600160a01b03169083613615565b61240e565b6002845460ff166002811115612369576123696140dd565b0361240e578354835160038601546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b1580156123f7575f80fd5b505af1158015612409573d5f803e3d5ffd5b505050505b825f01516001600160a01b0316898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b178460405161244e91815260200190565b60405180910390a45b5f8087608001518b8151811061246f5761246f6143c7565b60200260200101516001600160a01b031663474f5a44866040516020016124969190614b47565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016124c19190614882565b60408051808303815f875af11580156124dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125009190614b74565b91509150815f0361254357338e8e6040517f9ecd71a9000000000000000000000000000000000000000000000000000000008152600401611cf9939291906148a7565b82866001015f8282546125569190614894565b90915550503868929eee149b4bd2126855909d909c509a5050505050505050505050565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e081019190915260025433906001600160a01b03161580159061265757506002546040517ffe9fbb800000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063fe9fbb8090602401602060405180830381865afa158015612631573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061265591906147ba565b155b1561268e576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd2126854036126ac5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6126f785858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061366892505050565b80602001905181019061270a9190614c9c565b9050612718815f0151612e7f565b5f805460018101825590805260e082015160089091027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56a810180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b039485161790915583517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566830180549092169084161790556004547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563909101911661281c5760a0820151600454612817919074010000000000000000000000000000000000000000900467ffffffffffffffff16614dc7565b6128b4565b60a0820151600480546040517fb1539a6b0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163b1539a6b9161286b918b918b910161441d565b602060405180830381865afa158015612886573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128aa9190614de7565b6128b49190614dc7565b6005820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905560c08201516006820155602082015161292b907fe6715795000000000000000000000000000000000000000000000000000000009060016136fb565b81547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03919091161781556060820151612990907fe2089f79000000000000000000000000000000000000000000000000000000009060016136fb565b6002820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039283161790556004545f91166129d6575f612a5f565b600480546040517fc7f1ecff0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163c7f1ecff91612a20918b918b910161441d565b602060405180830381865afa158015612a3b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a5f91906149c2565b608084015184516005850154929350612a829267ffffffffffffffff168461371c565b8051612a98916004850191602090910190613e0b565b506040830151602001516001600160a01b031615612ae557612ae07f5912b89c00000000000000000000000000000000000000000000000000000000846040015160016136fb565b612b9d565b81546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201526001600160a01b03909116906301ffc9a790602401602060405180830381865afa158015612b63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b8791906147ba565b612b91575f612b9d565b81546001600160a01b03165b6001830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03929092169182179055612c34576040517fe1c444480000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201525f6024820152604401611cf9565b815460078301545f546001600160a01b039283169290911690612c5990600190614894565b6004850154600186015460028701546003880154604080519485526001600160a01b03938416602086015291831684830152919091166060830152517f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd9181900360800190a4604080516101008101825283546001600160a01b03908116825260018501548116602080840191909152600286015482168385015260038601549091166060830152600485018054845181840281018401909552808552929386936080860193919291830182828015612d5957602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311612d3b575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b03166060909101523868929eee149b4bd2126855979650505050505050565b612db3612f5e565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b612df5612f5e565b63389a75e1600c52805f526020600c208054421115612e1b57636f5e88185f526004601cfd5b5f9055612e278161321d565b50565b612e32612f5e565b8060601b612e4757637448fbae5f526004601cfd5b612e278161321d565b604080516020808201859052818301849052825180830384018152606090920190925280519101205b92915050565b612ea97fe49cedd7000000000000000000000000000000000000000000000000000000008261384e565b6040517ffe9fbb800000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382169063fe9fbb8090602401602060405180830381865afa158015612f04573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f2891906147ba565b612e27576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146119ec576382b429005f526004601cfd5b5f6001835460ff166002811115612fac57612fac6140dd565b1480612fcc57505f835460ff166002811115612fca57612fca6140dd565b145b156130635782546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152610100909204909116906370a08231906024015b602060405180830381865afa158015613038573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061305c9190614b30565b9050612e79565b6002835460ff16600281111561307b5761307b6140dd565b036130d957825460038401546040517efdd58e0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526024820192909252610100909204169062fdd58e9060440161301d565b505f92915050565b6001825460ff1660028111156130f9576130f96140dd565b148061311957505f825460ff166002811115613117576131176140dd565b145b1561315c57600354825461313f916001600160a01b036101009092048216911683613615565b81546131589061010090046001600160a01b031661396c565b5050565b6002825460ff166002811115613174576131746140dd565b0361315857815460038054908401546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b158015613203575f80fd5b505af1158015613215573d5f803e3d5ffd5b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f80876040015190506132ac7fa921670500000000000000000000000000000000000000000000000000000000896020015161384e565b875161331b5760208801516040517fe1c444480000000000000000000000000000000000000000000000000000000081527fa92167050000000000000000000000000000000000000000000000000000000060048201526001600160a01b039091166024820152604401611cf9565b6133467fa921670500000000000000000000000000000000000000000000000000000000895f6136fb565b91505f826001600160a01b0316634e7165a2836040518263ffffffff1660e01b81526004016133759190614882565b5f60405180830381865afa15801561338f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526133b69190810190614577565b905080515f14613597575f806133cc838a613a28565b6040517ffa4ca9b100000000000000000000000000000000000000000000000000000000815291935091506001600160a01b038b169063fa4ca9b190613416908590600401614882565b6020604051808303815f875af1158015613432573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061345691906147ba565b61348c576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffa4ca9b10000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063fa4ca9b1906134d1908690600401614882565b6020604051808303815f875af11580156134ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061351191906147ba565b613547576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8380602001905181019061355c91906145b4565b905061359388886001600160a01b038c1661357b57836020015161357d565b8b5b858e67ffffffffffffffff16865f01518b613bc1565b5050505b6040517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0384169063439fab91906135dc908590600401614882565b5f604051808303815f87803b1580156135f3575f80fd5b505af1158015613605573d5f803e3d5ffd5b5050505050509695505050505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661365e57803d853b15171061365e576390b8ec185f526004601cfd5b505f603452505050565b60608151156136f65760405190506020810160048301805184518501811983525b808610156136e0576001860195508551601f1a806136d1576001870196508651601f1a5f198652607f81116136c057600181013687375b607f16949094016001019350613689565b80855350600184019350613689565b509052601f198282030182525f81526020016040525b919050565b5f61370a84846020015161384e565b6137148383613cfd565b949350505050565b5f80546060919061372f90600190614894565b9050855167ffffffffffffffff81111561374b5761374b614430565b604051908082528060200260200182016040528015613774578160200160208202803683370190505b5091505f5b8651811015613844576137a9878281518110613797576137976143c7565b60200260200101518787878686613275565b8382815181106137bb576137bb6143c7565b60200260200101906001600160a01b031690816001600160a01b0316815250508281815181106137ed576137ed6143c7565b60200260200101516001600160a01b031681837f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae6001604051613834911515815260200190565b60405180910390a4600101613779565b5050949350505050565b6001600160a01b038116158061390257506040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa1580156138dc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061390091906147ba565b155b15613158576040517fe1c444480000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b0382166024820152604401611cf9565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156139c9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139ed9190614b30565b90505f81118015613a09575060055467ffffffffffffffff1681105b1561315857600354613158906001600160a01b03848116911683613615565b60605f8084806020019051810190613a4091906145b4565b905083600182516002811115613a5857613a586140dd565b1480613a7557505f82516002811115613a7357613a736140dd565b145b15613b23575f8260600151806020019051810190613a93919061465c565b80519091505f9061271090613ab39067ffffffffffffffff8616906146cb565b613abd91906146e2565b6040805160208082018352838252825190810184905292935091015b60408051601f198184030181529181526060870191909152308682015251613b05908690602001614831565b60405160208183030381529060405282965096505050505050613bba565b600282516002811115613b3857613b386140dd565b036109a8575f8260600151806020019051810190613b56919061472d565b90505f61271067ffffffffffffffff168367ffffffffffffffff168360200151613b8091906146cb565b613b8a91906146e2565b604080516060810182528451815260208082018490528583015182840152915192935091613ad991839101614803565b9250929050565b5f6002836002811115613bd657613bd66140dd565b03613bf35781806020019051810190613bef9190614e02565b5090505b5f6040518060a00160405280856002811115613c1157613c116140dd565b8152602001886001600160a01b031681526020018781526020018681526020018381525090508060065f613c458c8c612e50565b815260208101919091526040015f208151815482907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115613c9057613c906140dd565b0217905550602082015181546001600160a01b03909116610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9091161781556040820151600182015560608201516002820155608090910151600390910155505050505050505050565b81515f90613d0f578260200151613d25565b613d2583602001516001600160a01b0316613db4565b83519091508015613d335750815b15612e795760408084015190517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0383169163439fab9191613d819190600401614882565b5f604051808303815f87803b158015613d98575f80fd5b505af1158015613daa573d5f803e3d5ffd5b5050505092915050565b5f612e795f835f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f0905080613e015763301164255f526004601cfd5b5f60215292915050565b828054828255905f5260205f20908101928215613e76579160200282015b82811115613e7657825182547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909116178255602090920191600190910190613e29565b50613e82929150613e86565b5090565b5b80821115613e82575f8155600101613e87565b5f60208284031215613eaa575f80fd5b5035919050565b5f8151808452602084019350602083015f5b82811015613eea5781516001600160a01b0316865260209586019590910190600101613ec3565b5093949350505050565b602081526001600160a01b0382511660208201525f6020830151613f2360408401826001600160a01b03169052565b5060408301516001600160a01b03811660608401525060608301516001600160a01b038116608084015250608083015161010060a0840152613f69610120840182613eb1565b905060a0840151613f8660c085018267ffffffffffffffff169052565b5060c084015160e084015260e0840151613fac6101008501826001600160a01b03169052565b509392505050565b5f8083601f840112613fc4575f80fd5b50813567ffffffffffffffff811115613fdb575f80fd5b602083019150836020828501011115613bba575f80fd5b5f805f8060608587031215614005575f80fd5b8435935060208501359250604085013567ffffffffffffffff811115614029575f80fd5b61403587828801613fb4565b95989497509550505050565b6001600160a01b0381168114612e27575f80fd5b5f805f805f60808688031215614069575f80fd5b8535945060208601359350604086013567ffffffffffffffff81111561408d575f80fd5b61409988828901613fb4565b90945092505060608601356140ad81614041565b809150509295509295909350565b5f602082840312156140cb575f80fd5b81356140d681614041565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6003811061413f577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b5f60a08201905061415582845161410a565b6001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015292915050565b67ffffffffffffffff81168114612e27575f80fd5b5f602082840312156141b1575f80fd5b81356140d68161418c565b5f80604083850312156141cd575f80fd5b50508035926020909101359150565b5f805f805f8060a087890312156141f1575f80fd5b8635955060208701359450604087013561420a81614041565b9350606087013567ffffffffffffffff811115614225575f80fd5b61423189828a01613fb4565b909450925050608087013561424581614041565b809150509295509295509295565b5f805f805f60808688031215614267575f80fd5b8535945060208601359350604086013561428081614041565b9250606086013567ffffffffffffffff81111561429b575f80fd5b6142a788828901613fb4565b969995985093965092949392505050565b5f80604083850312156142c9575f80fd5b82359150602083013567ffffffffffffffff8111156142e6575f80fd5b8301606081860312156142f7575f80fd5b809150509250929050565b5f805f8060608587031215614315575f80fd5b843567ffffffffffffffff81111561432b575f80fd5b61433787828801613fb4565b90989097506020870135966040013595509350505050565b5f8060208385031215614360575f80fd5b823567ffffffffffffffff811115614376575f80fd5b61438285828601613fb4565b90969095509350505050565b60a0810161439c828861410a565b6001600160a01b03861660208301528460408301528360608301528260808301529695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b81835281816020850137505f602082840101525f6020601f19601f840116840101905092915050565b602081525f6137146020830184866143f4565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff8111828210171561448057614480614430565b60405290565b6040516060810167ffffffffffffffff8111828210171561448057614480614430565b604051610100810167ffffffffffffffff8111828210171561448057614480614430565b604051601f8201601f1916810167ffffffffffffffff811182821017156144f6576144f6614430565b604052919050565b5f67ffffffffffffffff82111561451757614517614430565b50601f01601f191660200190565b5f82601f830112614534575f80fd5b8151614547614542826144fe565b6144cd565b81815284602083860101111561455b575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215614587575f80fd5b815167ffffffffffffffff81111561459d575f80fd5b61371484828501614525565b80516136f681614041565b5f602082840312156145c4575f80fd5b815167ffffffffffffffff8111156145da575f80fd5b8201608081850312156145eb575f80fd5b6145f361445d565b815160038110614601575f80fd5b8152602082015161461181614041565b6020820152604082015161462481614041565b6040820152606082015167ffffffffffffffff811115614642575f80fd5b61464e86828501614525565b606083015250949350505050565b5f602082840312801561466d575f80fd5b506040516020810167ffffffffffffffff8111828210171561469157614691614430565b6040529151825250919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082028115828204841417612e7957612e7961469e565b5f82614715577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b80820180821115612e7957612e7961469e565b5f6020828403121561473d575f80fd5b815167ffffffffffffffff811115614753575f80fd5b820160608185031215614764575f80fd5b61476c614486565b8151815260208083015190820152604082015167ffffffffffffffff811115614793575f80fd5b61479f86828501614525565b604083015250949350505050565b8015158114612e27575f80fd5b5f602082840312156147ca575f80fd5b81516140d6816147ad565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6020815281516020820152602082015160408201525f604083015160608084015261371460808401826147d5565b6020815261484360208201835161410a565b6001600160a01b0360208301511660408201526001600160a01b0360408301511660608201525f606083015160808084015261371460a08401826147d5565b602081525f6140d660208301846147d5565b81810381811115612e7957612e7961469e565b6001600160a01b0384168152604060208201525f6148c96040830184866143f4565b95945050505050565b8581528460208201526001600160a01b0384166040820152608060608201525f6149006080830184866143f4565b979650505050505050565b828152604060208201525f8235614921816147ad565b15156040830152602083013561493681614041565b6001600160a01b031660608301526040830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614979575f80fd5b830160208101903567ffffffffffffffff811115614995575f80fd5b8036038213156149a3575f80fd5b606060808501526149b860a0850182846143f4565b9695505050505050565b5f602082840312156149d2575f80fd5b81516140d681614041565b5f82601f8301126149ec575f80fd5b81356149fa614542826144fe565b818152846020838601011115614a0e575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60608236031215614a3a575f80fd5b614a42614486565b8235614a4d816147ad565b81526020830135614a5d81614041565b6020820152604083013567ffffffffffffffff811115614a7b575f80fd5b614a87368286016149dd565b60408301525092915050565b5f60208284031215614aa3575f80fd5b813567ffffffffffffffff811115614ab9575f80fd5b820160408185031215614aca575f80fd5b6040805190810167ffffffffffffffff81118282101715614aed57614aed614430565b6040528135614afb81614041565b8152602082013567ffffffffffffffff811115614b16575f80fd5b614b22868285016149dd565b602083015250949350505050565b5f60208284031215614b40575f80fd5b5051919050565b602081526001600160a01b0382511660208201525f602083015160408084015261371460608401826147d5565b5f8060408385031215614b85575f80fd5b825160208401519092506142f781614041565b5f60608284031215614ba8575f80fd5b614bb0614486565b90508151614bbd816147ad565b81526020820151614bcd81614041565b6020820152604082015167ffffffffffffffff811115614beb575f80fd5b614a8784828501614525565b5f82601f830112614c06575f80fd5b815167ffffffffffffffff811115614c2057614c20614430565b8060051b614c30602082016144cd565b91825260208185018101929081019086841115614c4b575f80fd5b6020860192505b838310156149b857825167ffffffffffffffff811115614c70575f80fd5b614c7f886020838a0101614b98565b83525060209283019290910190614c52565b80516136f68161418c565b5f60208284031215614cac575f80fd5b815167ffffffffffffffff811115614cc2575f80fd5b82016101008185031215614cd4575f80fd5b614cdc6144a9565b614ce5826145a9565b8152602082015167ffffffffffffffff811115614d00575f80fd5b614d0c86828501614b98565b602083015250604082015167ffffffffffffffff811115614d2b575f80fd5b614d3786828501614b98565b604083015250606082015167ffffffffffffffff811115614d56575f80fd5b614d6286828501614b98565b606083015250608082015167ffffffffffffffff811115614d81575f80fd5b614d8d86828501614bf7565b608083015250614d9f60a08301614c91565b60a082015260c08281015190820152614dba60e083016145a9565b60e0820152949350505050565b67ffffffffffffffff8181168382160190811115612e7957612e7961469e565b5f60208284031215614df7575f80fd5b81516140d68161418c565b5f8060408385031215614e13575f80fd5b8251602084015190925067ffffffffffffffff811115614e31575f80fd5b614e3d85828601614525565b915050925092905056fea26469706673582212208286ae56352689fb64c76c3bbaaa898df87482cd394c79c101f009e07f87c00c64736f6c634300081a0033";
32
- function W(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((c) => c.id === (e == null ? void 0 : e.chainId)), d = n.state.status;
34
- switch (d) {
1
+ import { y as v, dn as Q, dp as f0, f as M, dq as e0, dr as a0, ds as t0, dt as b0, du as c0, dv as d0, dw as n0, dx as s0, dy as i0, dz as o0, dA as r0, dB as u0, dC as h0, dD as l0, dE as g0, dF as w0, dG as y0, dH as m0, dI as v0, dJ as A0, dK as C0, dL as I0, dM as B0 } from "./generated-D6oDILUw.js";
2
+ import { waitForTransactionReceipt as V, getAccount as P0, getChains as p0, getTransactionReceipt as E0, deployContract as $ } from "@wagmi/core";
3
+ import { createClient as _0, custom as F0, zeroAddress as A, parseEventLogs as _, zeroHash as w, keccak256 as R0, encodePacked as D0, encodeFunctionData as V0, encodeDeployData as T0 } from "viem";
4
+ import { l as S0 } from "./deployments-Coa8CGi2.js";
5
+ import { actionFromAddress as N0 } from "./Actions/Action.js";
6
+ import { EventAction as L0 } from "./Actions/EventAction.js";
7
+ import { b as O0, a as x0, O as M0 } from "./AllowList-CWqAYlwr.js";
8
+ import { SimpleAllowList as $0 } from "./AllowLists/SimpleAllowList.js";
9
+ import { S as z0 } from "./SimpleDenyList-BtEUdiAj.js";
10
+ import { PassthroughAuth as j0 } from "./Auth/PassthroughAuth.js";
11
+ import { prepareBoostPayload as P, Boost as F } from "./Boost.js";
12
+ import { T as z, b as W0, M as q0, a as G0 } from "./Budget-BPPXnBAK.js";
13
+ import { prepareTransfer as R, ManagedBudget as k0 } from "./Budgets/ManagedBudget.js";
14
+ import { Deployable as U0 } from "./Deployable/Deployable.js";
15
+ import { Roles as T } from "./Deployable/DeployableTargetWithRBAC.js";
16
+ import { AllowListIncentive as H0 } 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 K0, E as X0 } from "./Incentive-D1sYPD0W.js";
20
+ import { ERC20PeggedVariableCriteriaIncentiveV2 as Y0 } from "./Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js";
21
+ import { ERC20VariableCriteriaIncentiveV2 as Q0 } from "./Incentives/ERC20VariableCriteriaIncentiveV2.js";
22
+ import { PointsIncentive as f1 } from "./Incentives/PointsIncentive.js";
23
+ import { LimitedSignerValidator as e1 } from "./Validators/LimitedSignerValidator.js";
24
+ import { v as a1, P as t1, B as j } from "./Validator-Kpvmj9Bs.js";
25
+ import { SignerValidator as b1 } from "./Validators/SignerValidator.js";
26
+ import { BoostCoreNoIdentifierEmitted as S, DeployableUnknownOwnerProvidedError as c1, InvalidProtocolChainIdError as d1, BudgetMustAuthorizeBoostCore as n1, MustInitializeBudgetError as s1, IncentiveNotCloneableError as i1, BoostNotFoundError as o1 } from "./errors.js";
27
+ import { assertValidAddressByChainId as l, getDeployedContractAddress as W } from "./utils.js";
28
+ import { simulateContract as r1, writeContract as u1 } from "viem/actions";
29
+ import { parseAccount as h1, getAddress as l1 } from "viem/utils";
30
+ import { ERC20VariableIncentive as g1 } from "./Incentives/ERC20VariableIncentive.js";
31
+ const q = "0x60a0604052306080523480156012575f80fd5b506019601d565b6080565b63409feecd1980546001811615603a5763f92ee8a95f526004601cfd5b6001600160401b03808260011c14607b578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6080516153f361009f5f395f81816132b201526132e901526153f35ff3fe608060405260043610610229575f3560e01c8063730f9c5711610131578063d73792a9116100ac578063eccc19a61161007c578063f2fde38b11610062578063f2fde38b14610652578063fee81cf414610665578063fefceca914610696575f80fd5b8063eccc19a614610620578063f04e283e1461063f575f80fd5b8063d73792a914610590578063dd7dc9a9146105a5578063dd98558c146105c5578063e21ff73114610601575f80fd5b8063a92647dc11610101578063c0c53b8b116100e7578063c0c53b8b14610533578063caa1647b14610552578063d5137b5214610571575f80fd5b8063a92647dc146104c3578063b0e21e8a146104e2575f80fd5b8063730f9c571461044b5780637b1039991461045e5780638da5cb5b1461047d5780638fe4f523146104b0575f80fd5b806346877b1a116101c157806354d1f13d116101915780635edb9eb0116101775780635edb9eb0146104115780635f32c23e14610424578063715018a614610443575f80fd5b806354d1f13d146103be57806354fd4d50146103c6575f80fd5b806346877b1a1461034b5780634f1ef2861461036a5780635045b8661461037d57806352d1902d1461039c575f80fd5b806325692962116101fc57806325692962146102c1578063346339d5146102c957806339a51be5146102f557806343bc42d31461032c575f80fd5b806313c8e2de1461022d57806316614282146102625780631fa2acdc14610283578063219f71f0146102a2575b5f80fd5b348015610238575f80fd5b5061024c610247366004614377565b6106f9565b60405161025991906143d1565b60405180910390f35b34801561026d575f80fd5b5061028161027c3660046144cf565b61082e565b005b34801561028e575f80fd5b5061028161029d366004614532565b610fa1565b3480156102ad575f80fd5b506102816102bc366004614598565b611716565b610281611758565b3480156102d4575f80fd5b506102e86102e3366004614377565b6117a5565b6040516102599190614620565b348015610300575f80fd5b50600354610314906001600160a01b031681565b6040516001600160a01b039091168152602001610259565b348015610337575f80fd5b5061028161034636600461467e565b61185a565b348015610356575f80fd5b50610281610365366004614598565b6118b5565b610281610378366004614699565b6118f7565b348015610388575f80fd5b50600454610314906001600160a01b031681565b3480156103a7575f80fd5b506103b06119ac565b604051908152602001610259565b6102816119da565b3480156103d1575f80fd5b50604080518082018252600581527f312e302e30000000000000000000000000000000000000000000000000000000602082015290516102599190614718565b34801561041c575f80fd5b505f546103b0565b34801561042f575f80fd5b5061028161043e36600461472a565b611a13565b610281611bac565b61028161045936600461474a565b611bbf565b348015610469575f80fd5b50600154610314906001600160a01b031681565b348015610488575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610314565b6102816104be3660046147c1565b612026565b3480156104ce575f80fd5b50600254610314906001600160a01b031681565b3480156104ed575f80fd5b5060045461051a9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610259565b34801561053e575f80fd5b5061028161054d366004614826565b61203b565b34801561055d575f80fd5b5061028161056c36600461467e565b612186565b34801561057c575f80fd5b5061031461058b36600461486e565b61220e565b34801561059b575f80fd5b5061051a61271081565b3480156105b0575f80fd5b5060055461051a9067ffffffffffffffff1681565b3480156105d0575f80fd5b506105e46105df3660046148b8565b61243a565b604080519283526001600160a01b03909116602083015201610259565b34801561060c575f80fd5b5061024c61061b366004614905565b612896565b34801561062b575f80fd5b5061028161063a366004614598565b6130c7565b61028161064d366004614598565b613109565b610281610660366004614598565b613146565b348015610670575f80fd5b506103b061067f366004614598565b63389a75e1600c9081525f91909152602090205490565b3480156106a1575f80fd5b506106e86106b0366004614377565b60066020525f9081526040902080546001820154600283015460039093015460ff8316936101009093046001600160a01b0316929085565b604051610259959493929190614944565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e08101919091525f828154811061074a5761074a61497d565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b039081168452600182015481168486015260028201548116848401526003820154166060840152600481018054835181870281018701909452808452939491936080860193928301828280156107ed57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116107cf575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b031660609091015292915050565b3068929eee149b4bd21268540361084c5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061086b5761086b61497d565b905f5260205f20906008020190505f81600401858154811061088f5761088f61497d565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a2906108e490889088906004016149d3565b5f60405180830381865afa1580156108fe573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109259190810190614b2d565b905080515f03610961576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818060200190518101906109769190614b6a565b90505f808080600185516002811115610991576109916145ba565b14806109ae57505f855160028111156109ac576109ac6145ba565b145b15610a12575f85606001518060200190518101906109cc9190614c12565b805160058b0154909650909150612710906109f19067ffffffffffffffff1687614c81565b6109fb9190614c98565b9350610a078486614cd0565b908190529150610ac8565b600285516002811115610a2757610a276145ba565b03610a96575f8560600151806020019051810190610a459190614ce3565b602081015160058b015490965090915061271090610a6d9067ffffffffffffffff1687614c81565b610a779190614c98565b9350610a838486614cd0565b6020820181905290519092509050610ac8565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610ad38d8d61316c565b5f8181526006602052604081206001810180549394509092879290610af9908490614cd0565b909155505085159150610f87905057600185516002811115610b1d57610b1d6145ba565b1480610b3a57505f85516002811115610b3857610b386145ba565b145b15610d595760208501516040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490526001600160a01b038216906323b872dd906064016020604051808303815f875af1158015610bad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd19190614d70565b506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820187905282169063095ea7b3906044016020604051808303815f875af1158015610c37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c5b9190614d70565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038916906330db555f906024015f604051808303815f87803b158015610cb4575f80fd5b505af1158015610cc6573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015610d2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d529190614d70565b5050610f47565b60208501516040517ff242432a000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526064810184905260a060848201525f60a48201526001600160a01b0382169063f242432a9060c4015f604051808303815f87803b158015610dd6575f80fd5b505af1158015610de8573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152600160248301528416925063a22cb46591506044015f604051808303815f87803b158015610e4c575f80fd5b505af1158015610e5e573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018890526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b158015610eba575f80fd5b505af1158015610ecc573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b158015610f2f575f80fd5b505af1158015610f41573d5f803e3d5ffd5b50505050505b604080518581526020810185905233918d918f917f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f31876910160405180910390a45b50505050505050503868929eee149b4bd212685550505050565b3068929eee149b4bd212685403610fbf5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808681548110610fde57610fde61497d565b905f5260205f20906008020190505f8160040186815481106110025761100261497d565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a29061105790899089906004016149d3565b5f60405180830381865afa158015611071573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526110989190810190614b2d565b905080515f036110d4576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818060200190518101906110e99190614b6a565b90505f6001600160a01b038616156111015785611110565b60038501546001600160a01b03165b905061111b8161319b565b5f8080600185516002811115611133576111336145ba565b148061115057505f8551600281111561114e5761114e6145ba565b145b156111d7575f856060015180602001905181019061116e9190614c12565b805160058b0154909550909150612710906111939067ffffffffffffffff1686614c81565b61119d9190614c98565b92506111a98385614cd0565b8082526040805160208101839052919350015b60408051601f19818403018152919052606087015250611262565b6002855160028111156111ec576111ec6145ba565b03610a96575f856060015180602001905181019061120a9190614ce3565b602081015160058b0154909550909150612710906112329067ffffffffffffffff1686614c81565b61123c9190614c98565b92506112488385614cd0565b60208083018290526040519193506111bc91839101614d8b565b30604080870191909152515f9061127d908790602001614db9565b60408051601f19818403018152908290527ffa4ca9b100000000000000000000000000000000000000000000000000000000825291506001600160a01b0386169063fa4ca9b1906112d2908490600401614718565b6020604051808303815f875af11580156112ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113129190614d70565b611348576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6113538f8f61316c565b5f8181526006602052604081206001810180549394509092879290611379908490614cd0565b9091555050851592506116fb9150505760018551600281111561139e5761139e6145ba565b14806113bb57505f855160028111156113b9576113b96145ba565b145b1561154c5760208501516040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820186905282169063095ea7b3906044016020604051808303815f875af115801561142a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144e9190614d70565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b038916906330db555f906024015f604051808303815f87803b1580156114a7575f80fd5b505af11580156114b9573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015611521573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115459190614d70565b50506116ac565b60208501516040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526001602483015282169063a22cb465906044015f604051808303815f87803b1580156115b1575f80fd5b505af11580156115c3573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018790526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b15801561161f575f80fd5b505af1158015611631573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b158015611694575f80fd5b505af11580156116a6573d5f803e3d5ffd5b50505050505b336001600160a01b03168c8e7f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f3187686866040516116f2929190918252602082015260400190565b60405180910390a45b50505050505050503868929eee149b4bd21268555050505050565b61171e61327a565b600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6117dc6040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b5f8281526006602052604090819020815160a081019092528054829060ff16600281111561180c5761180c6145ba565b600281111561181d5761181d6145ba565b8152815461010090046001600160a01b03166020820152600182015460408201526002820154606082015260039091015460809091015292915050565b61186261327a565b6004805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6118bd61327a565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6118ff6132af565b611908836132de565b8260601b60601c92503d5f526352d1902d6001527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80602060016004601d885afa511461195d576355299b496001526004601dfd5b837fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a283905580156119a757604051818382375f388383875af46119a5573d5f823e3d81fd5b505b505050565b5f6119b56132e6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b3068929eee149b4bd212685403611a315763ab143c065f526004601cfd5b3068929eee149b4bd21268555f611a48838361316c565b5f818152600660205260408120815492935091819086908110611a6d57611a6d61497d565b905f5260205f2090600802016004018481548110611a8d57611a8d61497d565b5f918252602082200154600284015460018501546001600160a01b03909216935090611abc9061271090614c81565b611ac69190614c98565b90505f611ad38484613315565b905081811115611b97575f611ae88383614e0a565b90505f61271067ffffffffffffffff16866002015483611b089190614c81565b611b129190614c98565b9050611b1e8682613463565b80866001015410611b475780866001015f828254611b3c9190614e0a565b90915550611b4e9050565b5f60018701555b6003546040518281526001600160a01b039091169089908b907f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b179060200160405180910390a450505b50505050503868929eee149b4bd21268555050565b611bb461327a565b611bbd5f61359f565b565b3068929eee149b4bd212685403611bdd5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110611bfc57611bfc61497d565b905f5260205f20906008020190505f611c15888861316c565b5f81815260066020526040812060048501805493945090928a908110611c3d57611c3d61497d565b5f9182526020909120015460028501546040517fe3f756de0000000000000000000000000000000000000000000000000000000081526001600160a01b03928316935091169063e3f756de90611c9b9088908b908b90600401614e1d565b602060405180830381865afa158015611cb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cda9190614d70565b611d10576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018401546040517f703b69000000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063703b6900903490611d65908e908e908b908e908e90600401614e48565b60206040518083038185885af1158015611d81573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611da69190614d70565b611ddc576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81545f9061010090046001600160a01b0316611df8575f611e02565b611e028383613315565b6040517fbb1757cf0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0383169063bb1757cf90611e4e9089908c908c90600401614e1d565b6020604051808303815f875af1158015611e6a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e8e9190614d70565b611ed3578588886040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401611eca93929190614e1d565b60405180910390fd5b82545f9061010090046001600160a01b0316611eef575f611ef9565b611ef98484613315565b90505f818311611f09575f611f13565b611f138284614e0a565b90505f61271067ffffffffffffffff16866002015483611f339190614c81565b611f3d9190614c98565b90508015611fc357611f4f8682613463565b80866001015f828254611f629190614e0a565b9250508190555060035f9054906101000a90046001600160a01b03166001600160a01b03168d8f7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051611fba91815260200190565b60405180910390a45b886001600160a01b03168d8f7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478f8f8f60405161200293929190614e1d565b60405180910390a450505050505050503868929eee149b4bd2126855505050505050565b612034858585858533611bbf565b5050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf601132805460038255801561208c5760018160011c14303b106120835763f92ee8a95f526004601cfd5b818160ff1b1b91505b50612096826135f7565b600180546001600160a01b038087167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556003805492861692909116919091179055600480547503e800000000000000000000000000000000000000007fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909116179055600580547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166103e817905580156119a5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a150505050565b61218e61327a565b61271067ffffffffffffffff8216106121d3576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff92909216919091179055565b5f3068929eee149b4bd21268540361222d5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80848154811061224c5761224c61497d565b5f918252602090912060089091020160078101549091506001600160a01b031633146122a4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038101546122bb906001600160a01b031661319b565b6004808201805491549091905f906001600160a01b03166122dc575f61236e565b6004546040516001600160a01b039091169063c7f1ecff90612304908a908a90602001614e81565b6040516020818303038152906040526040518263ffffffff1660e01b815260040161232f9190614718565b602060405180830381865afa15801561234a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236e9190614f38565b90506123a461237c87614fa0565b600386015460058701546001600160a01b039091169067ffffffffffffffff16848b8761364d565b83546001810185555f858152602080822090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03851690811790915560405191825292975084918a917f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae910160405180910390a4505050503868929eee149b4bd212685592915050565b5f803068929eee149b4bd21268540361245a5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f8085815481106124795761247961497d565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b0390811684526001820154811684860152600282015481168484015260038201541660608401526004810180548351818702810187019094528084529394919360808601939283018282801561251c57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116124fe575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b0390811660609283015290820151919250163314612599576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6125a4868661316c565b5f8181526006602052604081209192506125c0898b018b615009565b90505f81602001518060200190518101906125db91906150a6565b90505f61271067ffffffffffffffff168460020154836125fb9190614c81565b6126059190614c98565b90508015612773576001845460ff166002811115612625576126256145ba565b148061264557505f845460ff166002811115612643576126436145ba565b145b1561266d5782518454612668916101009091046001600160a01b031690836139ed565b61272a565b6002845460ff166002811115612685576126856145ba565b0361272a578354835160038601546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b158015612713575f80fd5b505af1158015612725573d5f803e3d5ffd5b505050505b825f01516001600160a01b0316898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b178460405161276a91815260200190565b60405180910390a45b5f8087608001518b8151811061278b5761278b61497d565b60200260200101516001600160a01b031663474f5a44866040516020016127b291906150bd565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016127dd9190614718565b60408051808303815f875af11580156127f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061281c91906150ea565b91509150815f0361285f57338e8e6040517f9ecd71a9000000000000000000000000000000000000000000000000000000008152600401611eca93929190614e1d565b82866001015f8282546128729190614e0a565b90915550503868929eee149b4bd2126855909d909c509a5050505050505050505050565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e081019190915260025433906001600160a01b03161580159061297357506002546040517ffe9fbb800000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063fe9fbb8090602401602060405180830381865afa15801561294d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129719190614d70565b155b156129aa576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd2126854036129c85763ab143c065f526004601cfd5b3068929eee149b4bd21268555f612a1385858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250613a4092505050565b806020019051810190612a269190615212565b9050612a34815f015161319b565b5f805460018101825590805260e082015160089091027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56a810180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b039485161790915583517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566830180549092169084161790556004547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639091019116612b385760a0820151600454612b33919074010000000000000000000000000000000000000000900467ffffffffffffffff1661533d565b612bd0565b60a0820151600480546040517fb1539a6b0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163b1539a6b91612b87918b918b91016149d3565b602060405180830381865afa158015612ba2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bc6919061535d565b612bd0919061533d565b6005820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905560c082015160068201556020820151612c47907fe671579500000000000000000000000000000000000000000000000000000000906001613bcb565b81547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03919091161781556060820151612cac907fe2089f7900000000000000000000000000000000000000000000000000000000906001613bcb565b6002820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039283161790556004545f9116612cf2575f612d7b565b600480546040517fc7f1ecff0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163c7f1ecff91612d3c918b918b91016149d3565b602060405180830381865afa158015612d57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7b9190614f38565b608084015184516005850154929350612d9e9267ffffffffffffffff1684613bec565b8051612db49160048501916020909101906142e8565b506040830151602001516001600160a01b031615612e0157612dfc7f5912b89c0000000000000000000000000000000000000000000000000000000084604001516001613bcb565b612eb9565b81546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201526001600160a01b03909116906301ffc9a790602401602060405180830381865afa158015612e7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ea39190614d70565b612ead575f612eb9565b81546001600160a01b03165b6001830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03929092169182179055612f50576040517fe1c444480000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201525f6024820152604401611eca565b815460078301545f546001600160a01b039283169290911690612f7590600190614e0a565b6004850154600186015460028701546003880154604080519485526001600160a01b03938416602086015291831684830152919091166060830152517f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd9181900360800190a4604080516101008101825283546001600160a01b0390811682526001850154811660208084019190915260028601548216838501526003860154909116606083015260048501805484518184028101840190955280855292938693608086019391929183018282801561307557602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311613057575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b03166060909101523868929eee149b4bd2126855979650505050505050565b6130cf61327a565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b61311161327a565b63389a75e1600c52805f526020600c20805442111561313757636f5e88185f526004601cfd5b5f90556131438161359f565b50565b61314e61327a565b8060601b61316357637448fbae5f526004601cfd5b6131438161359f565b604080516020808201859052818301849052825180830384018152606090920190925280519101205b92915050565b6131c57fe49cedd70000000000000000000000000000000000000000000000000000000082613d1e565b6040517ffe9fbb800000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382169063fe9fbb8090602401602060405180830381865afa158015613220573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132449190614d70565b613143576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611bbd576382b429005f526004601cfd5b307f000000000000000000000000000000000000000000000000000000000000000003611bbd57611bbd613e3c565b61314361327a565b307f000000000000000000000000000000000000000000000000000000000000000014611bbd57611bbd613e3c565b5f6001835460ff16600281111561332e5761332e6145ba565b148061334e57505f835460ff16600281111561334c5761334c6145ba565b145b156133e55782546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152610100909204909116906370a08231906024015b602060405180830381865afa1580156133ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133de91906150a6565b9050613195565b6002835460ff1660028111156133fd576133fd6145ba565b0361345b57825460038401546040517efdd58e0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526024820192909252610100909204169062fdd58e9060440161339f565b505f92915050565b6001825460ff16600281111561347b5761347b6145ba565b148061349b57505f825460ff166002811115613499576134996145ba565b145b156134de5760035482546134c1916001600160a01b0361010090920482169116836139ed565b81546134da9061010090046001600160a01b0316613e49565b5050565b6002825460ff1660028111156134f6576134f66145ba565b036134da57815460038054908401546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b158015613585575f80fd5b505af1158015613597573d5f803e3d5ffd5b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b6001600160a01b03167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b5f80876040015190506136847fa9216705000000000000000000000000000000000000000000000000000000008960200151613d1e565b87516136f35760208801516040517fe1c444480000000000000000000000000000000000000000000000000000000081527fa92167050000000000000000000000000000000000000000000000000000000060048201526001600160a01b039091166024820152604401611eca565b61371e7fa921670500000000000000000000000000000000000000000000000000000000895f613bcb565b91505f826001600160a01b0316634e7165a2836040518263ffffffff1660e01b815260040161374d9190614718565b5f60405180830381865afa158015613767573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261378e9190810190614b2d565b905080515f1461396f575f806137a4838a613f05565b6040517ffa4ca9b100000000000000000000000000000000000000000000000000000000815291935091506001600160a01b038b169063fa4ca9b1906137ee908590600401614718565b6020604051808303815f875af115801561380a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061382e9190614d70565b613864576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffa4ca9b10000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063fa4ca9b1906138a9908690600401614718565b6020604051808303815f875af11580156138c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138e99190614d70565b61391f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838060200190518101906139349190614b6a565b905061396b88886001600160a01b038c16613953578360200151613955565b8b5b858e67ffffffffffffffff16865f01518b61409e565b5050505b6040517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0384169063439fab91906139b4908590600401614718565b5f604051808303815f87803b1580156139cb575f80fd5b505af11580156139dd573d5f803e3d5ffd5b5050505050509695505050505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416613a3657803d853b151710613a36576390b8ec185f526004601cfd5b505f603452505050565b6060815115613bc6576040519050600482018051835184602001017f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6020850183198552866020015b8051805f1a613b1e57600190811a0160808111613ac1576002820191508036843791820191848210613abb5750613bac565b50613a89565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83529182017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80019160029190910190848210613abb5750613bac565b80835283811684011783171980157fc0c8c8d0c8e8d0d8c8e8e0e8d0d8e0f0c8d0e8d0e0e0d8f0d0d0e0d8f8f8f8f8601f6f8421084210842108cc6318c6db6d54be660204081020408185821060071b86811c67ffffffffffffffff1060061b1795861c0260181a1c161a90911860031c019182019101838110613a895783811115613bac57838103820391505b509290935250601f198382030183525f8152602001604052505b919050565b5f613bda848460200151613d1e565b613be483836141da565b949350505050565b5f805460609190613bff90600190614e0a565b9050855167ffffffffffffffff811115613c1b57613c1b6149e6565b604051908082528060200260200182016040528015613c44578160200160208202803683370190505b5091505f5b8651811015613d1457613c79878281518110613c6757613c6761497d565b6020026020010151878787868661364d565b838281518110613c8b57613c8b61497d565b60200260200101906001600160a01b031690816001600160a01b031681525050828181518110613cbd57613cbd61497d565b60200260200101516001600160a01b031681837f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae6001604051613d04911515815260200190565b60405180910390a4600101613c49565b5050949350505050565b6001600160a01b0381161580613dd257506040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015613dac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613dd09190614d70565b155b156134da576040517fe1c444480000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b0382166024820152604401611eca565b639f03a0265f526004601cfd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015613ea6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613eca91906150a6565b90505f81118015613ee6575060055467ffffffffffffffff1681105b156134da576003546134da906001600160a01b038481169116836139ed565b60605f8084806020019051810190613f1d9190614b6a565b905083600182516002811115613f3557613f356145ba565b1480613f5257505f82516002811115613f5057613f506145ba565b145b15614000575f8260600151806020019051810190613f709190614c12565b80519091505f9061271090613f909067ffffffffffffffff861690614c81565b613f9a9190614c98565b6040805160208082018352838252825190810184905292935091015b60408051601f198184030181529181526060870191909152308682015251613fe2908690602001614db9565b60405160208183030381529060405282965096505050505050614097565b600282516002811115614015576140156145ba565b03610a96575f82606001518060200190518101906140339190614ce3565b90505f61271067ffffffffffffffff168367ffffffffffffffff16836020015161405d9190614c81565b6140679190614c98565b604080516060810182528451815260208082018490528583015182840152915192935091613fb691839101614d8b565b9250929050565b5f60028360028111156140b3576140b36145ba565b036140d057818060200190518101906140cc9190615378565b5090505b5f6040518060a001604052808560028111156140ee576140ee6145ba565b8152602001886001600160a01b031681526020018781526020018681526020018381525090508060065f6141228c8c61316c565b815260208101919091526040015f208151815482907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600281111561416d5761416d6145ba565b0217905550602082015181546001600160a01b03909116610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9091161781556040820151600182015560608201516002820155608090910151600390910155505050505050505050565b81515f906141ec578260200151614202565b61420283602001516001600160a01b0316614291565b835190915080156142105750815b156131955760408084015190517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0383169163439fab919161425e9190600401614718565b5f604051808303815f87803b158015614275575f80fd5b505af1158015614287573d5f803e3d5ffd5b5050505092915050565b5f6131955f835f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f09050806142de5763301164255f526004601cfd5b5f60215292915050565b828054828255905f5260205f20908101928215614353579160200282015b8281111561435357825182547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909116178255602090920191600190910190614306565b5061435f929150614363565b5090565b5b8082111561435f575f8155600101614364565b5f60208284031215614387575f80fd5b5035919050565b5f8151808452602084019350602083015f5b828110156143c75781516001600160a01b03168652602095860195909101906001016143a0565b5093949350505050565b602081526001600160a01b0382511660208201525f602083015161440060408401826001600160a01b03169052565b5060408301516001600160a01b03811660608401525060608301516001600160a01b038116608084015250608083015161010060a084015261444661012084018261438e565b905060a084015161446360c085018267ffffffffffffffff169052565b5060c084015160e084015260e08401516144896101008501826001600160a01b03169052565b509392505050565b5f8083601f8401126144a1575f80fd5b50813567ffffffffffffffff8111156144b8575f80fd5b602083019150836020828501011115614097575f80fd5b5f805f80606085870312156144e2575f80fd5b8435935060208501359250604085013567ffffffffffffffff811115614506575f80fd5b61451287828801614491565b95989497509550505050565b6001600160a01b0381168114613143575f80fd5b5f805f805f60808688031215614546575f80fd5b8535945060208601359350604086013567ffffffffffffffff81111561456a575f80fd5b61457688828901614491565b909450925050606086013561458a8161451e565b809150509295509295909350565b5f602082840312156145a8575f80fd5b81356145b38161451e565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6003811061461c577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b5f60a0820190506146328284516145e7565b6001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015292915050565b67ffffffffffffffff81168114613143575f80fd5b5f6020828403121561468e575f80fd5b81356145b381614669565b5f805f604084860312156146ab575f80fd5b83356146b68161451e565b9250602084013567ffffffffffffffff8111156146d1575f80fd5b6146dd86828701614491565b9497909650939450505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6145b360208301846146ea565b5f806040838503121561473b575f80fd5b50508035926020909101359150565b5f805f805f8060a0878903121561475f575f80fd5b863595506020870135945060408701356147788161451e565b9350606087013567ffffffffffffffff811115614793575f80fd5b61479f89828a01614491565b90945092505060808701356147b38161451e565b809150509295509295509295565b5f805f805f608086880312156147d5575f80fd5b853594506020860135935060408601356147ee8161451e565b9250606086013567ffffffffffffffff811115614809575f80fd5b61481588828901614491565b969995985093965092949392505050565b5f805f60608486031215614838575f80fd5b83356148438161451e565b925060208401356148538161451e565b915060408401356148638161451e565b809150509250925092565b5f806040838503121561487f575f80fd5b82359150602083013567ffffffffffffffff81111561489c575f80fd5b8301606081860312156148ad575f80fd5b809150509250929050565b5f805f80606085870312156148cb575f80fd5b843567ffffffffffffffff8111156148e1575f80fd5b6148ed87828801614491565b90989097506020870135966040013595509350505050565b5f8060208385031215614916575f80fd5b823567ffffffffffffffff81111561492c575f80fd5b61493885828601614491565b90969095509350505050565b60a0810161495282886145e7565b6001600160a01b03861660208301528460408301528360608301528260808301529695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b81835281816020850137505f602082840101525f6020601f19601f840116840101905092915050565b602081525f613be46020830184866149aa565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715614a3657614a366149e6565b60405290565b6040516060810167ffffffffffffffff81118282101715614a3657614a366149e6565b604051610100810167ffffffffffffffff81118282101715614a3657614a366149e6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614aac57614aac6149e6565b604052919050565b5f67ffffffffffffffff821115614acd57614acd6149e6565b50601f01601f191660200190565b5f82601f830112614aea575f80fd5b8151614afd614af882614ab4565b614a83565b818152846020838601011115614b11575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215614b3d575f80fd5b815167ffffffffffffffff811115614b53575f80fd5b613be484828501614adb565b8051613bc68161451e565b5f60208284031215614b7a575f80fd5b815167ffffffffffffffff811115614b90575f80fd5b820160808185031215614ba1575f80fd5b614ba9614a13565b815160038110614bb7575f80fd5b81526020820151614bc78161451e565b60208201526040820151614bda8161451e565b6040820152606082015167ffffffffffffffff811115614bf8575f80fd5b614c0486828501614adb565b606083015250949350505050565b5f6020828403128015614c23575f80fd5b506040516020810167ffffffffffffffff81118282101715614c4757614c476149e6565b6040529151825250919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808202811582820484141761319557613195614c54565b5f82614ccb577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b8082018082111561319557613195614c54565b5f60208284031215614cf3575f80fd5b815167ffffffffffffffff811115614d09575f80fd5b820160608185031215614d1a575f80fd5b614d22614a3c565b8151815260208083015190820152604082015167ffffffffffffffff811115614d49575f80fd5b614d5586828501614adb565b604083015250949350505050565b8015158114613143575f80fd5b5f60208284031215614d80575f80fd5b81516145b381614d63565b6020815281516020820152602082015160408201525f6040830151606080840152613be460808401826146ea565b60208152614dcb6020820183516145e7565b6001600160a01b0360208301511660408201526001600160a01b0360408301511660608201525f6060830151608080840152613be460a08401826146ea565b8181038181111561319557613195614c54565b6001600160a01b0384168152604060208201525f614e3f6040830184866149aa565b95945050505050565b8581528460208201526001600160a01b0384166040820152608060608201525f614e766080830184866149aa565b979650505050505050565b828152604060208201525f8235614e9781614d63565b151560408301526020830135614eac8161451e565b6001600160a01b031660608301526040830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614eef575f80fd5b830160208101903567ffffffffffffffff811115614f0b575f80fd5b803603821315614f19575f80fd5b60606080850152614f2e60a0850182846149aa565b9695505050505050565b5f60208284031215614f48575f80fd5b81516145b38161451e565b5f82601f830112614f62575f80fd5b8135614f70614af882614ab4565b818152846020838601011115614f84575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60608236031215614fb0575f80fd5b614fb8614a3c565b8235614fc381614d63565b81526020830135614fd38161451e565b6020820152604083013567ffffffffffffffff811115614ff1575f80fd5b614ffd36828601614f53565b60408301525092915050565b5f60208284031215615019575f80fd5b813567ffffffffffffffff81111561502f575f80fd5b820160408185031215615040575f80fd5b6040805190810167ffffffffffffffff81118282101715615063576150636149e6565b60405281356150718161451e565b8152602082013567ffffffffffffffff81111561508c575f80fd5b61509886828501614f53565b602083015250949350505050565b5f602082840312156150b6575f80fd5b5051919050565b602081526001600160a01b0382511660208201525f6020830151604080840152613be460608401826146ea565b5f80604083850312156150fb575f80fd5b825160208401519092506148ad8161451e565b5f6060828403121561511e575f80fd5b615126614a3c565b9050815161513381614d63565b815260208201516151438161451e565b6020820152604082015167ffffffffffffffff811115615161575f80fd5b614ffd84828501614adb565b5f82601f83011261517c575f80fd5b815167ffffffffffffffff811115615196576151966149e6565b8060051b6151a660208201614a83565b918252602081850181019290810190868411156151c1575f80fd5b6020860192505b83831015614f2e57825167ffffffffffffffff8111156151e6575f80fd5b6151f5886020838a010161510e565b835250602092830192909101906151c8565b8051613bc681614669565b5f60208284031215615222575f80fd5b815167ffffffffffffffff811115615238575f80fd5b8201610100818503121561524a575f80fd5b615252614a5f565b61525b82614b5f565b8152602082015167ffffffffffffffff811115615276575f80fd5b6152828682850161510e565b602083015250604082015167ffffffffffffffff8111156152a1575f80fd5b6152ad8682850161510e565b604083015250606082015167ffffffffffffffff8111156152cc575f80fd5b6152d88682850161510e565b606083015250608082015167ffffffffffffffff8111156152f7575f80fd5b6153038682850161516d565b60808301525061531560a08301615207565b60a082015260c0828101519082015261533060e08301614b5f565b60e0820152949350505050565b67ffffffffffffffff818116838216019081111561319557613195614c54565b5f6020828403121561536d575f80fd5b81516145b381614669565b5f8060408385031215615389575f80fd5b8251602084015190925067ffffffffffffffff8111156153a7575f80fd5b6153b385828601614adb565b915050925092905056fea264697066735822122081438b59615fe3a94ba762252425a044dcc524f7ed824e6c8650e5837ed9178164736f6c634300081a0033";
32
+ function U(n) {
33
+ const f = n.state.current, e = n.state.connections.get(f), a = e == null ? void 0 : e.accounts, t = a == null ? void 0 : a[0], b = n.chains.find((d) => d.id === (e == null ? void 0 : e.chainId)), c = n.state.status;
34
+ switch (c) {
35
35
  case "connected":
36
36
  return {
37
- address: a,
38
- addresses: t,
37
+ address: t,
38
+ addresses: a,
39
39
  chain: b,
40
40
  chainId: e == null ? void 0 : e.chainId,
41
41
  connector: e == null ? void 0 : e.connector,
@@ -43,25 +43,25 @@ function W(n) {
43
43
  isConnecting: !1,
44
44
  isDisconnected: !1,
45
45
  isReconnecting: !1,
46
- status: d
46
+ status: c
47
47
  };
48
48
  case "reconnecting":
49
49
  return {
50
- address: a,
51
- addresses: t,
50
+ address: t,
51
+ addresses: a,
52
52
  chain: b,
53
53
  chainId: e == null ? void 0 : e.chainId,
54
54
  connector: e == null ? void 0 : e.connector,
55
- isConnected: !!a,
55
+ isConnected: !!t,
56
56
  isConnecting: !1,
57
57
  isDisconnected: !1,
58
58
  isReconnecting: !0,
59
- status: d
59
+ status: c
60
60
  };
61
61
  case "connecting":
62
62
  return {
63
- address: a,
64
- addresses: t,
63
+ address: t,
64
+ addresses: a,
65
65
  chain: b,
66
66
  chainId: e == null ? void 0 : e.chainId,
67
67
  connector: e == null ? void 0 : e.connector,
@@ -69,7 +69,7 @@ function W(n) {
69
69
  isConnecting: !0,
70
70
  isDisconnected: !1,
71
71
  isReconnecting: !1,
72
- status: d
72
+ status: c
73
73
  };
74
74
  case "disconnected":
75
75
  return {
@@ -82,32 +82,32 @@ function W(n) {
82
82
  isConnecting: !1,
83
83
  isDisconnected: !0,
84
84
  isReconnecting: !1,
85
- status: d
85
+ status: c
86
86
  };
87
87
  }
88
88
  }
89
- function u1(n) {
89
+ function w1(n) {
90
90
  return n.state.chainId;
91
91
  }
92
- function G(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);
92
+ function H(n, f, e) {
93
+ const a = n[f.name];
94
+ if (typeof a == "function")
95
+ return a;
96
+ const t = n[e];
97
+ return typeof t == "function" ? t : (b) => f(n, b);
98
98
  }
99
- const h1 = "2.13.8", l1 = () => `@wagmi/core@${h1}`;
100
- var k = 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
- }, D, U;
105
- class y extends Error {
99
+ const y1 = "2.13.8", m1 = () => `@wagmi/core@${y1}`;
100
+ var Z = function(n, f, e, a) {
101
+ if (e === "a" && !a) throw new TypeError("Private accessor was defined without a getter");
102
+ if (typeof f == "function" ? n !== f || !a : !f.has(n)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
103
+ return e === "m" ? a : e === "a" ? a.call(n) : a ? a.value : f.get(n);
104
+ }, D, J;
105
+ class I extends Error {
106
106
  get docsBaseUrl() {
107
107
  return "https://wagmi.sh/core";
108
108
  }
109
109
  get version() {
110
- return l1();
110
+ return m1();
111
111
  }
112
112
  constructor(f, e = {}) {
113
113
  var b;
@@ -137,27 +137,27 @@ class y extends Error {
137
137
  writable: !0,
138
138
  value: "WagmiCoreError"
139
139
  });
140
- const t = e.cause instanceof y ? e.cause.details : (b = e.cause) != null && b.message ? e.cause.message : e.details, a = e.cause instanceof y && e.cause.docsPath || e.docsPath;
140
+ const a = e.cause instanceof I ? e.cause.details : (b = e.cause) != null && b.message ? e.cause.message : e.details, t = e.cause instanceof I && e.cause.docsPath || e.docsPath;
141
141
  this.message = [
142
142
  f || "An error occurred.",
143
143
  "",
144
144
  ...e.metaMessages ? [...e.metaMessages, ""] : [],
145
- ...a ? [
146
- `Docs: ${this.docsBaseUrl}${a}.html${e.docsSlug ? `#${e.docsSlug}` : ""}`
145
+ ...t ? [
146
+ `Docs: ${this.docsBaseUrl}${t}.html${e.docsSlug ? `#${e.docsSlug}` : ""}`
147
147
  ] : [],
148
- ...t ? [`Details: ${t}`] : [],
148
+ ...a ? [`Details: ${a}`] : [],
149
149
  `Version: ${this.version}`
150
150
  ].join(`
151
- `), e.cause && (this.cause = e.cause), this.details = t, this.docsPath = a, this.metaMessages = e.metaMessages, this.shortMessage = f;
151
+ `), e.cause && (this.cause = e.cause), this.details = a, this.docsPath = t, this.metaMessages = e.metaMessages, this.shortMessage = f;
152
152
  }
153
153
  walk(f) {
154
- return k(this, D, "m", U).call(this, this, f);
154
+ return Z(this, D, "m", J).call(this, this, f);
155
155
  }
156
156
  }
157
- D = /* @__PURE__ */ new WeakSet(), U = function n(f, e) {
158
- return e != null && e(f) ? f : f.cause ? k(this, D, "m", n).call(this, f.cause, e) : f;
157
+ D = /* @__PURE__ */ new WeakSet(), J = function n(f, e) {
158
+ return e != null && e(f) ? f : f.cause ? Z(this, D, "m", n).call(this, f.cause, e) : f;
159
159
  };
160
- class g1 extends y {
160
+ class v1 extends I {
161
161
  constructor() {
162
162
  super("Connector not connected."), Object.defineProperty(this, "name", {
163
163
  enumerable: !0,
@@ -167,7 +167,7 @@ class g1 extends y {
167
167
  });
168
168
  }
169
169
  }
170
- class w1 extends y {
170
+ class A1 extends I {
171
171
  constructor({ address: f, connector: e }) {
172
172
  super(`Account "${f}" not found for connector "${e.name}".`), Object.defineProperty(this, "name", {
173
173
  enumerable: !0,
@@ -177,7 +177,7 @@ class w1 extends y {
177
177
  });
178
178
  }
179
179
  }
180
- class v1 extends y {
180
+ class C1 extends I {
181
181
  constructor({ connectionChainId: f, connectorChainId: e }) {
182
182
  super(`The current chain of the connector (id: ${e}) does not match the connection's chain (id: ${f}).`, {
183
183
  metaMessages: [
@@ -192,7 +192,7 @@ class v1 extends y {
192
192
  });
193
193
  }
194
194
  }
195
- class m1 extends y {
195
+ class I1 extends I {
196
196
  constructor({ connector: f }) {
197
197
  super(`Connector "${f.name}" unavailable while reconnecting.`, {
198
198
  details: [
@@ -208,113 +208,110 @@ class m1 extends y {
208
208
  });
209
209
  }
210
210
  }
211
- async function H(n, f = {}) {
211
+ async function K(n, f = {}) {
212
212
  let e;
213
213
  if (f.connector) {
214
214
  const { connector: i } = f;
215
215
  if (n.state.status === "reconnecting" && !i.getAccounts && !i.getChainId)
216
- throw new m1({ connector: i });
217
- const [l, g] = await Promise.all([
216
+ throw new I1({ connector: i });
217
+ const [h, g] = await Promise.all([
218
218
  i.getAccounts(),
219
219
  i.getChainId()
220
220
  ]);
221
221
  e = {
222
- accounts: l,
222
+ accounts: h,
223
223
  chainId: g,
224
224
  connector: i
225
225
  };
226
226
  } else
227
227
  e = n.state.connections.get(n.state.current);
228
228
  if (!e)
229
- throw new g1();
230
- const t = f.chainId ?? e.chainId, a = await e.connector.getChainId();
231
- if (a !== e.chainId)
232
- throw new v1({
229
+ throw new v1();
230
+ const a = f.chainId ?? e.chainId, t = await e.connector.getChainId();
231
+ if (t !== e.chainId)
232
+ throw new C1({
233
233
  connectionChainId: e.chainId,
234
- connectorChainId: a
234
+ connectorChainId: t
235
235
  });
236
236
  const b = e.connector;
237
237
  if (b.getClient)
238
- return b.getClient({ chainId: t });
239
- const d = s1(f.account ?? e.accounts[0]);
240
- if (d.address = i1(d.address), f.account && !e.accounts.some((i) => i.toLowerCase() === d.address.toLowerCase()))
241
- throw new w1({
242
- address: d.address,
238
+ return b.getClient({ chainId: a });
239
+ const c = h1(f.account ?? e.accounts[0]);
240
+ if (c.address = l1(c.address), f.account && !e.accounts.some((i) => i.toLowerCase() === c.address.toLowerCase()))
241
+ throw new A1({
242
+ address: c.address,
243
243
  connector: b
244
244
  });
245
- const c = n.chains.find((i) => i.id === t), s = await e.connector.getProvider({ chainId: t });
246
- return P0({
247
- account: d,
248
- chain: c,
245
+ const d = n.chains.find((i) => i.id === a), s = await e.connector.getProvider({ chainId: a });
246
+ return _0({
247
+ account: c,
248
+ chain: d,
249
249
  name: "Connector Client",
250
- transport: (i) => E0(s)({ ...i, retryCount: 0 })
250
+ transport: (i) => F0(s)({ ...i, retryCount: 0 })
251
251
  });
252
252
  }
253
- async function C1(n, f) {
254
- const { abi: e, chainId: t, connector: a, ...b } = f;
255
- let d;
256
- f.account ? d = f.account : d = (await H(n, {
257
- chainId: t,
258
- connector: a
253
+ async function B1(n, f) {
254
+ const { abi: e, chainId: a, connector: t, ...b } = f;
255
+ let c;
256
+ f.account ? c = f.account : c = (await K(n, {
257
+ chainId: a,
258
+ connector: t
259
259
  })).account;
260
- const c = n.getClient({ chainId: t }), s = G(c, c1, "simulateContract"), { result: i, request: l } = await s({ ...b, abi: e, account: d });
260
+ const d = n.getClient({ chainId: a }), s = H(d, r1, "simulateContract"), { result: i, request: h } = await s({ ...b, abi: e, account: c });
261
261
  return {
262
- chainId: c.chain.id,
262
+ chainId: d.chain.id,
263
263
  result: i,
264
- request: { __mode: "prepared", ...l, chainId: t }
264
+ request: { __mode: "prepared", ...h, chainId: a }
265
265
  };
266
266
  }
267
- async function j(n, f) {
268
- const { account: e, chainId: t, connector: a, __mode: b, ...d } = f;
269
- let c;
270
- typeof e == "object" && e.type === "local" ? c = n.getClient({ chainId: t }) : c = await H(n, { account: e, chainId: t, connector: a });
271
- const { connector: s } = W(n);
267
+ async function G(n, f) {
268
+ const { account: e, chainId: a, connector: t, __mode: b, ...c } = f;
269
+ let d;
270
+ typeof e == "object" && e.type === "local" ? d = n.getClient({ chainId: a }) : d = await K(n, { account: e, chainId: a, connector: t });
271
+ const { connector: s } = U(n);
272
272
  let i;
273
273
  if (b === "prepared" || s != null && s.supportsSimulation)
274
- i = d;
274
+ i = c;
275
275
  else {
276
- const { request: o } = await C1(n, {
277
- ...d,
276
+ const { request: o } = await B1(n, {
277
+ ...c,
278
278
  account: e,
279
- chainId: t
279
+ chainId: a
280
280
  });
281
281
  i = o;
282
282
  }
283
- return await G(c, n1, "writeContract")({
283
+ return await H(d, u1, "writeContract")({
284
284
  ...i,
285
285
  ...e ? { account: e } : {},
286
- chain: t ? { id: t } : null
286
+ chain: a ? { id: a } : null
287
287
  });
288
288
  }
289
- function L(n) {
289
+ function N(n) {
290
290
  return n.address !== void 0 && typeof n.address == "object" ? (f, e) => {
291
- var d;
292
- const t = u1(f), a = W(f);
291
+ var c;
292
+ const a = w1(f), t = U(f);
293
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, j(f, {
294
+ return e.chainId ? b = e.chainId : e.account && e.account === t.address || e.account === void 0 ? b = t.chainId : b = a, G(f, {
295
295
  ...e,
296
296
  ...n.functionName ? { functionName: n.functionName } : {},
297
- address: b ? (d = n.address) == null ? void 0 : d[b] : void 0,
297
+ address: b ? (c = n.address) == null ? void 0 : c[b] : void 0,
298
298
  abi: n.abi
299
299
  });
300
- } : (f, e) => j(f, {
300
+ } : (f, e) => G(f, {
301
301
  ...e,
302
302
  ...n.address ? { address: n.address } : {},
303
303
  ...n.functionName ? { functionName: n.functionName } : {},
304
304
  abi: n.abi
305
305
  });
306
306
  }
307
- const O = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1, VITE_BOOST_MAINNET_SIGNER_EOA: "0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480", VITE_BOOST_TESTNET_SIGNER_EOA: "0xd63167e9db11B108940b2E8236581F961f33f396" }, F = 10000n, N = {
308
- ...O != null && O.VITE_BOOST_CORE_ADDRESS ? { 31337: void 0 } : {},
309
- ...p0
310
- }, Y1 = N[11155111] || C;
311
- function I1(n) {
307
+ const L = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1, VITE_BOOST_MAINNET_SIGNER_EOA: "0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480", VITE_BOOST_TESTNET_SIGNER_EOA: "0xd63167e9db11B108940b2E8236581F961f33f396" }, E = 10000n, O = {
308
+ ...L != null && L.VITE_BOOST_CORE_ADDRESS ? { 31337: void 0 } : {},
309
+ ...S0
310
+ }, e5 = O[11155111] || A;
311
+ function P1(n) {
312
312
  return n.address;
313
313
  }
314
- function A1(n) {
315
- return n.registryAddress && n.protocolFeeReceiver && n.owner;
316
- }
317
- const M = class M extends j0 {
314
+ const x = class x extends U0 {
318
315
  /**
319
316
  * A getter that will return Boost core's static addresses by numerical chain ID
320
317
  *
@@ -334,23 +331,17 @@ const M = class M extends j0 {
334
331
  * @param {?Account} [param0.account]
335
332
  * @param {({ address?: Address; } | { registryAddress: Address; protocolFeeReceiver: Address; owner: Address; })} param0....options
336
333
  */
337
- constructor({ config: f, account: e, ...t }) {
338
- if (I1(t) && t.address)
339
- super({ account: e, config: f }, t.address);
340
- else if (A1(t))
341
- super({ account: e, config: f }, [
342
- t.registryAddress,
343
- t.protocolFeeReceiver,
344
- t.owner
345
- ]);
334
+ constructor({ config: f, account: e, ...a }) {
335
+ if (P1(a) && a.address)
336
+ super({ account: e, config: f }, a.address);
346
337
  else {
347
- const { address: a } = h(
338
+ const { address: t } = l(
348
339
  f,
349
- N
340
+ O
350
341
  );
351
- super({ account: e, config: f }, a);
342
+ super({ account: e, config: f }, t);
352
343
  }
353
- this.abi = A;
344
+ this.abi = v;
354
345
  }
355
346
  /**
356
347
  * Create a new Boost.
@@ -362,46 +353,46 @@ const M = class M extends j0 {
362
353
  * @returns {Promise<Boost>}
363
354
  */
364
355
  async createBoost(f, e) {
365
- const [t, a] = this.validateDeploymentConfig(f), b = e == null ? void 0 : e.chainId, { chainId: d, address: c } = h(
366
- a.config,
356
+ const [a, t] = this.validateDeploymentConfig(f), b = e == null ? void 0 : e.chainId, { chainId: c, address: d } = l(
357
+ t.config,
367
358
  this.addresses,
368
359
  b
369
- ), s = L({
370
- abi: A,
360
+ ), s = N({
361
+ abi: v,
371
362
  functionName: "createBoost",
372
- address: c
363
+ address: d
373
364
  }), i = await this.prepareCreateBoostPayload(
374
- c,
375
365
  d,
376
- t,
377
- a
378
- ), l = await s(a.config, {
379
- ...this.optionallyAttachAccount(a.account),
366
+ c,
367
+ a,
368
+ t
369
+ ), h = await s(t.config, {
370
+ ...this.optionallyAttachAccount(t.account),
380
371
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
381
372
  ...e,
382
- chainId: d,
373
+ chainId: c,
383
374
  args: [P(i)]
384
- }), g = await V(a.config, {
385
- hash: l
375
+ }), g = await V(t.config, {
376
+ hash: h
386
377
  }), o = _({
387
- abi: A,
378
+ abi: v,
388
379
  eventName: "BoostCreated",
389
380
  logs: g.logs
390
381
  }).at(0);
391
382
  let r = 0n;
392
- if (!o) throw new T();
383
+ if (!o) throw new S();
393
384
  r = o == null ? void 0 : o.args.boostId;
394
385
  const u = await this.readBoost(r);
395
- return new p({
386
+ return new F({
396
387
  id: r,
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) => (
388
+ budget: a.budget.at(u.budget),
389
+ action: a.action.at(u.action),
390
+ validator: a.validator.at(u.validator),
391
+ allowList: a.allowList.at(u.allowList),
392
+ incentives: a.incentives.map(
393
+ (m, y) => (
403
394
  // biome-ignore lint/style/noNonNullAssertion: this will never be undefined
404
- m.at(u.incentives.at(v))
395
+ m.at(u.incentives.at(y))
405
396
  )
406
397
  ),
407
398
  protocolFee: u.protocolFee,
@@ -419,11 +410,11 @@ const M = class M extends j0 {
419
410
  * @returns {Promise<HashAndSimulatedResult>}
420
411
  */
421
412
  async createBoostRaw(f, e) {
422
- const { request: t, result: a } = await this.simulateCreateBoost(
413
+ const { request: a, result: t } = await this.simulateCreateBoost(
423
414
  f,
424
415
  e
425
416
  );
426
- return { hash: await K(this._config, t), result: a };
417
+ return { hash: await Q(this._config, a), result: t };
427
418
  }
428
419
  /**
429
420
  * Returns a simulated Boost creation.
@@ -435,22 +426,22 @@ const M = class M extends j0 {
435
426
  * @returns {Promise<SimulateContractReturnType>}
436
427
  */
437
428
  async simulateCreateBoost(f, e) {
438
- const [t, a] = this.validateDeploymentConfig(f), b = e == null ? void 0 : e.chainId, { chainId: d, address: c } = h(
439
- a.config,
429
+ const [a, t] = this.validateDeploymentConfig(f), b = e == null ? void 0 : e.chainId, { chainId: c, address: d } = l(
430
+ t.config,
440
431
  this.addresses,
441
432
  b
442
433
  ), s = await this.prepareCreateBoostPayload(
443
- c,
444
434
  d,
445
- t,
446
- a
435
+ c,
436
+ a,
437
+ t
447
438
  );
448
- return await X(this._config, {
439
+ return await f0(this._config, {
449
440
  ...this.optionallyAttachAccount(),
450
441
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
451
442
  ...e,
452
- address: c,
453
- chainId: d,
443
+ address: d,
444
+ chainId: c,
454
445
  args: [P(s)]
455
446
  });
456
447
  }
@@ -465,61 +456,61 @@ const M = class M extends j0 {
465
456
  * @param {?WriteParams} [params]
466
457
  * @returns {Promise<Boost>}
467
458
  */
468
- async createBoostWithTransparentBudget(f, e, t, a) {
469
- const [b, d] = this.validateDeploymentConfig({
470
- ...t,
459
+ async createBoostWithTransparentBudget(f, e, a, t) {
460
+ const [b, c] = this.validateDeploymentConfig({
461
+ ...a,
471
462
  budget: this.TransparentBudget(
472
463
  typeof f == "string" ? f : f.assertValidAddress()
473
464
  )
474
- }), c = a == null ? void 0 : a.chainId, { chainId: s, address: i } = h(
475
- d.config,
465
+ }), d = t == null ? void 0 : t.chainId, { chainId: s, address: i } = l(
466
+ c.config,
476
467
  this.addresses,
477
- c
478
- ), l = L({
479
- abi: x,
468
+ d
469
+ ), h = N({
470
+ abi: M,
480
471
  functionName: "createBoost",
481
472
  address: typeof f == "string" ? f : f.assertValidAddress()
482
473
  }), g = await this.prepareCreateBoostPayload(
483
474
  i,
484
475
  s,
485
476
  b,
486
- d
487
- ), o = await l(d.config, {
488
- ...this.optionallyAttachAccount(d.account),
477
+ c
478
+ ), o = await h(c.config, {
479
+ ...this.optionallyAttachAccount(c.account),
489
480
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
490
- ...a,
481
+ ...t,
491
482
  chainId: s,
492
483
  args: [
493
484
  e.map(R),
494
485
  i,
495
486
  P(g)
496
487
  ]
497
- }), r = await V(d.config, {
488
+ }), r = await V(c.config, {
498
489
  hash: o
499
490
  }), u = _({
500
- abi: A,
491
+ abi: v,
501
492
  eventName: "BoostCreated",
502
493
  logs: r.logs
503
494
  }).at(0);
504
495
  let m = 0n;
505
- if (!u) throw new T();
496
+ if (!u) throw new S();
506
497
  m = u == null ? void 0 : u.args.boostId;
507
- const v = await this.readBoost(m);
508
- return new p({
498
+ const y = await this.readBoost(m);
499
+ return new F({
509
500
  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),
501
+ budget: b.budget.at(y.budget),
502
+ action: b.action.at(y.action),
503
+ validator: b.validator.at(y.validator),
504
+ allowList: b.allowList.at(y.allowList),
514
505
  incentives: b.incentives.map(
515
- (B, E) => (
506
+ (B, p) => (
516
507
  // biome-ignore lint/style/noNonNullAssertion: this will never be undefined
517
- B.at(v.incentives.at(E))
508
+ B.at(y.incentives.at(p))
518
509
  )
519
510
  ),
520
- protocolFee: v.protocolFee,
521
- maxParticipants: v.maxParticipants,
522
- owner: v.owner
511
+ protocolFee: y.protocolFee,
512
+ maxParticipants: y.maxParticipants,
513
+ owner: y.owner
523
514
  });
524
515
  }
525
516
  /**
@@ -533,14 +524,14 @@ const M = class M extends j0 {
533
524
  * @param {?WriteParams} [params]
534
525
  * @returns {Promise<HashAndSimulatedResult>}
535
526
  */
536
- async createBoostWithTransparentBudgetRaw(f, e, t, a) {
537
- const { request: b, result: d } = await this.simulateCreateBoostWithTransparentBudget(
527
+ async createBoostWithTransparentBudgetRaw(f, e, a, t) {
528
+ const { request: b, result: c } = await this.simulateCreateBoostWithTransparentBudget(
538
529
  f,
539
530
  e,
540
- t,
541
- a
531
+ a,
532
+ t
542
533
  );
543
- return { hash: await Y(this._config, b), result: d };
534
+ return { hash: await e0(this._config, b), result: c };
544
535
  }
545
536
  /**
546
537
  * Returns a simulated Boost creation using a transparent budget
@@ -553,32 +544,32 @@ const M = class M extends j0 {
553
544
  * @param {?WriteParams} [params]
554
545
  * @returns {Promise<SimulateContractReturnType>}
555
546
  */
556
- async simulateCreateBoostWithTransparentBudget(f, e, t, a) {
557
- const [b, d] = this.validateDeploymentConfig({
558
- ...t,
547
+ async simulateCreateBoostWithTransparentBudget(f, e, a, t) {
548
+ const [b, c] = this.validateDeploymentConfig({
549
+ ...a,
559
550
  budget: this.TransparentBudget(
560
551
  typeof f == "string" ? f : f.assertValidAddress()
561
552
  )
562
- }), c = a == null ? void 0 : a.chainId, { chainId: s, address: i } = h(
563
- d.config,
553
+ }), d = t == null ? void 0 : t.chainId, { chainId: s, address: i } = l(
554
+ c.config,
564
555
  this.addresses,
565
- c
566
- ), l = await this.prepareCreateBoostPayload(
556
+ d
557
+ ), h = await this.prepareCreateBoostPayload(
567
558
  i,
568
559
  s,
569
560
  b,
570
- d
561
+ c
571
562
  );
572
- return await Q(this._config, {
563
+ return await a0(this._config, {
573
564
  ...this.optionallyAttachAccount(),
574
565
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
575
- ...a,
566
+ ...t,
576
567
  address: typeof f == "string" ? f : f.assertValidAddress(),
577
568
  chainId: s,
578
569
  args: [
579
570
  e.map(R),
580
571
  i,
581
- P(l)
572
+ P(h)
582
573
  ]
583
574
  });
584
575
  }
@@ -596,18 +587,18 @@ const M = class M extends j0 {
596
587
  * @param {?WriteParams} [params]
597
588
  * @returns {Promise<Boost>}
598
589
  */
599
- async createBoostWithPermit2(f, e, t, a, b, d, c) {
590
+ async createBoostWithPermit2(f, e, a, t, b, c, d) {
600
591
  const [s, i] = this.validateDeploymentConfig({
601
- ...t,
592
+ ...a,
602
593
  budget: this.TransparentBudget(
603
594
  typeof f == "string" ? f : f.assertValidAddress()
604
595
  )
605
- }), l = c == null ? void 0 : c.chainId, { chainId: g, address: o } = h(
596
+ }), h = d == null ? void 0 : d.chainId, { chainId: g, address: o } = l(
606
597
  i.config,
607
598
  this.addresses,
608
- l
609
- ), r = L({
610
- abi: x,
599
+ h
600
+ ), r = N({
601
+ abi: M,
611
602
  functionName: "createBoostWithPermit2",
612
603
  address: typeof f == "string" ? f : f.assertValidAddress()
613
604
  }), u = await this.prepareCreateBoostPayload(
@@ -618,42 +609,42 @@ const M = class M extends j0 {
618
609
  ), m = await r(i.config, {
619
610
  ...this.optionallyAttachAccount(i.account),
620
611
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
621
- ...c,
612
+ ...d,
622
613
  chainId: g,
623
614
  args: [
624
615
  e.map(R),
625
616
  o,
626
617
  P(u),
627
- a,
618
+ t,
628
619
  b,
629
- d
620
+ c
630
621
  ]
631
- }), v = await V(i.config, {
622
+ }), y = await V(i.config, {
632
623
  hash: m
633
624
  }), B = _({
634
- abi: A,
625
+ abi: v,
635
626
  eventName: "BoostCreated",
636
- logs: v.logs
627
+ logs: y.logs
637
628
  }).at(0);
638
- let E = 0n;
639
- if (!B) throw new T();
640
- E = B == null ? void 0 : B.args.boostId;
641
- const I = await this.readBoost(E);
642
- return new p({
643
- id: E,
644
- budget: s.budget.at(I.budget),
645
- action: s.action.at(I.action),
646
- validator: s.validator.at(I.validator),
647
- allowList: s.allowList.at(I.allowList),
629
+ let p = 0n;
630
+ if (!B) throw new S();
631
+ p = B == null ? void 0 : B.args.boostId;
632
+ const C = await this.readBoost(p);
633
+ return new F({
634
+ id: p,
635
+ budget: s.budget.at(C.budget),
636
+ action: s.action.at(C.action),
637
+ validator: s.validator.at(C.validator),
638
+ allowList: s.allowList.at(C.allowList),
648
639
  incentives: s.incentives.map(
649
- (Z, J) => (
640
+ (X, Y) => (
650
641
  // biome-ignore lint/style/noNonNullAssertion: this will never be undefined
651
- Z.at(I.incentives.at(J))
642
+ X.at(C.incentives.at(Y))
652
643
  )
653
644
  ),
654
- protocolFee: I.protocolFee,
655
- maxParticipants: I.maxParticipants,
656
- owner: I.owner
645
+ protocolFee: C.protocolFee,
646
+ maxParticipants: C.maxParticipants,
647
+ owner: C.owner
657
648
  });
658
649
  }
659
650
  /**
@@ -670,17 +661,17 @@ const M = class M extends j0 {
670
661
  * @param {?WriteParams} [params]
671
662
  * @returns {Promise<HashAndSimulatedResult>}
672
663
  */
673
- async createBoostWithPermit2Raw(f, e, t, a, b, d, c) {
664
+ async createBoostWithPermit2Raw(f, e, a, t, b, c, d) {
674
665
  const { request: s, result: i } = await this.simulateCreateBoostWithPermit2(
675
666
  f,
676
667
  e,
677
- t,
678
668
  a,
669
+ t,
679
670
  b,
680
- d,
681
- c
671
+ c,
672
+ d
682
673
  );
683
- return { hash: await f0(
674
+ return { hash: await t0(
684
675
  this._config,
685
676
  s
686
677
  ), result: i };
@@ -699,152 +690,152 @@ const M = class M extends j0 {
699
690
  * @param {?WriteParams} [params]
700
691
  * @returns {Promise<SimulateContractReturnType>}
701
692
  */
702
- async simulateCreateBoostWithPermit2(f, e, t, a, b, d, c) {
693
+ async simulateCreateBoostWithPermit2(f, e, a, t, b, c, d) {
703
694
  const [s, i] = this.validateDeploymentConfig({
704
- ...t,
695
+ ...a,
705
696
  budget: this.TransparentBudget(
706
697
  typeof f == "string" ? f : f.assertValidAddress()
707
698
  )
708
- }), l = c == null ? void 0 : c.chainId, { chainId: g, address: o } = h(
699
+ }), h = d == null ? void 0 : d.chainId, { chainId: g, address: o } = l(
709
700
  i.config,
710
701
  this.addresses,
711
- l
702
+ h
712
703
  ), r = await this.prepareCreateBoostPayload(
713
704
  o,
714
705
  g,
715
706
  s,
716
707
  i
717
708
  );
718
- return await e0(this._config, {
709
+ return await b0(this._config, {
719
710
  ...this.optionallyAttachAccount(),
720
711
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
721
- ...c,
712
+ ...d,
722
713
  address: typeof f == "string" ? f : f.assertValidAddress(),
723
714
  chainId: g,
724
715
  args: [
725
716
  e.map(R),
726
717
  o,
727
718
  P(r),
728
- a,
719
+ t,
729
720
  b,
730
- d
721
+ c
731
722
  ]
732
723
  });
733
724
  }
734
725
  // This function mutates payload, which isn't awesome but it's fine
735
- async prepareCreateBoostPayload(f, e, t, a) {
726
+ async prepareCreateBoostPayload(f, e, a, t) {
736
727
  var g;
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 f1();
739
- if (!t.validator) {
740
- const r = y0(a.config).filter(
741
- (v) => !!this.addresses[v.id] && v.id === e
728
+ if (!a.owner && (a.owner = ((g = this._account) == null ? void 0 : g.address) || P0(t.config).address || A, a.owner === A))
729
+ throw new c1();
730
+ if (!a.validator) {
731
+ const r = p0(t.config).filter(
732
+ (y) => !!this.addresses[y.id] && y.id === e
742
733
  ).at(0);
743
734
  if (!r)
744
- throw new e1(
735
+ throw new d1(
745
736
  e,
746
737
  Object.keys(this.addresses).map(Number)
747
738
  );
748
739
  const m = [
749
- r.testnet || r.id === 31337 ? z.TESTNET : z.MAINNET
740
+ r.testnet || r.id === 31337 ? j.TESTNET : j.MAINNET
750
741
  ];
751
- r.id === 31337 && m.push("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"), t.validator = this.LimitedSignerValidator({
742
+ r.id === 31337 && m.push("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"), a.validator = this.LimitedSignerValidator({
752
743
  signers: m,
753
744
  validatorCaller: f,
754
745
  maxClaimCount: 1
755
746
  });
756
747
  }
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 t1(f);
748
+ let b = A;
749
+ if (a.budget.address) {
750
+ if (b = a.budget.address, !(a.budget instanceof z) && !await a.budget.isAuthorized(f))
751
+ throw new n1(f);
761
752
  } else
762
- throw new a1();
763
- let d = {
764
- instance: C,
753
+ throw new s1();
754
+ let c = {
755
+ instance: A,
765
756
  isBase: !0,
766
757
  parameters: w
767
758
  };
768
- if (t.action.address) {
769
- const o = t.action.isBase;
770
- d = {
759
+ if (a.action.address) {
760
+ const o = a.action.isBase;
761
+ c = {
771
762
  isBase: o,
772
- instance: t.action.address,
773
- parameters: o ? t.action.buildParameters(void 0, a).args.at(0) || w : w
763
+ instance: a.action.address,
764
+ parameters: o ? a.action.buildParameters(void 0, t).args.at(0) || w : w
774
765
  };
775
766
  } else
776
- d.parameters = t.action.buildParameters(void 0, a).args.at(0) || w, d.instance = h(
777
- a.config,
778
- t.action.bases,
767
+ c.parameters = a.action.buildParameters(void 0, t).args.at(0) || w, c.instance = l(
768
+ t.config,
769
+ a.action.bases,
779
770
  e
780
771
  ).address;
781
- let c = {
782
- instance: C,
772
+ let d = {
773
+ instance: A,
783
774
  isBase: !0,
784
775
  parameters: w
785
776
  };
786
- if (t.validator.address) {
787
- const o = t.validator.isBase;
788
- c = {
777
+ if (a.validator.address) {
778
+ const o = a.validator.isBase;
779
+ d = {
789
780
  isBase: o,
790
- instance: t.validator.address,
791
- parameters: o ? t.validator.buildParameters(void 0, a).args.at(0) || w : w
781
+ instance: a.validator.address,
782
+ parameters: o ? a.validator.buildParameters(void 0, t).args.at(0) || w : w
792
783
  };
793
784
  } else
794
- c.parameters = t.validator.buildParameters(void 0, a).args.at(0) || w, c.instance = h(
795
- a.config,
796
- t.validator.bases,
785
+ d.parameters = a.validator.buildParameters(void 0, t).args.at(0) || w, d.instance = l(
786
+ t.config,
787
+ a.validator.bases,
797
788
  e
798
789
  ).address;
799
790
  let s = {
800
- instance: C,
791
+ instance: A,
801
792
  isBase: !0,
802
793
  parameters: w
803
794
  };
804
- if (t.allowList || (t.allowList = this.OpenAllowList()), t.allowList.address) {
805
- const o = t.allowList.isBase;
795
+ if (a.allowList || (a.allowList = this.OpenAllowList()), a.allowList.address) {
796
+ const o = a.allowList.isBase;
806
797
  s = {
807
798
  isBase: o,
808
- instance: t.allowList.address,
799
+ instance: a.allowList.address,
809
800
  parameters: o ? w : w
810
801
  };
811
802
  } else
812
- s.parameters = t.allowList.buildParameters(void 0, a).args.at(0) || w, s.instance = h(
813
- a.config,
814
- t.allowList.bases,
803
+ s.parameters = a.allowList.buildParameters(void 0, t).args.at(0) || w, s.instance = l(
804
+ t.config,
805
+ a.allowList.bases,
815
806
  e
816
807
  ).address;
817
- const i = t.incentives.map(() => ({
818
- instance: C,
808
+ const i = a.incentives.map(() => ({
809
+ instance: A,
819
810
  isBase: !0,
820
811
  parameters: w
821
812
  }));
822
- for (let o = 0; o < t.incentives.length; o++) {
823
- const r = t.incentives.at(o);
813
+ for (let o = 0; o < a.incentives.length; o++) {
814
+ const r = a.incentives.at(o);
824
815
  if (r.address) {
825
816
  const u = r.isBase;
826
- if (!u) throw new b1(r);
817
+ if (!u) throw new i1(r);
827
818
  i[o] = {
828
819
  isBase: u,
829
820
  instance: r.address,
830
- parameters: u ? r.buildParameters(void 0, a).args.at(0) || w : w
821
+ parameters: u ? r.buildParameters(void 0, t).args.at(0) || w : w
831
822
  };
832
823
  } else
833
- i[o].parameters = r.buildParameters(void 0, a).args.at(0) || w, i[o].instance = h(
834
- a.config,
824
+ i[o].parameters = r.buildParameters(void 0, t).args.at(0) || w, i[o].instance = l(
825
+ t.config,
835
826
  r.bases,
836
827
  e
837
828
  ).address;
838
829
  }
839
830
  return {
840
831
  budget: b,
841
- action: d,
842
- validator: c,
832
+ action: c,
833
+ validator: d,
843
834
  allowList: s,
844
835
  incentives: i,
845
- protocolFee: t.protocolFee || 0n,
846
- maxParticipants: t.maxParticipants || 0n,
847
- owner: t.owner
836
+ protocolFee: a.protocolFee || 0n,
837
+ maxParticipants: a.maxParticipants || 0n,
838
+ owner: a.owner
848
839
  };
849
840
  }
850
841
  /**
@@ -859,9 +850,9 @@ const M = class M extends j0 {
859
850
  * @param {?WriteParams} [params]
860
851
  * @returns {Promise<void>}
861
852
  */
862
- async claimIncentive(f, e, t, a, b) {
853
+ async claimIncentive(f, e, a, t, b) {
863
854
  return await this.awaitResult(
864
- this.claimIncentiveRaw(f, e, t, a, b)
855
+ this.claimIncentiveRaw(f, e, a, t, b)
865
856
  );
866
857
  }
867
858
  /**
@@ -876,22 +867,22 @@ const M = class M extends j0 {
876
867
  * @param {?WriteParams} [params]
877
868
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
878
869
  */
879
- async claimIncentiveRaw(f, e, t, a, b) {
880
- const { request: d, result: c } = await t0(
870
+ async claimIncentiveRaw(f, e, a, t, b) {
871
+ const { request: c, result: d } = await c0(
881
872
  this._config,
882
873
  {
883
- ...h(
874
+ ...l(
884
875
  this._config,
885
876
  this.addresses,
886
877
  b == null ? void 0 : b.chainId
887
878
  ),
888
- args: [f, e, t, a],
879
+ args: [f, e, a, t],
889
880
  ...this.optionallyAttachAccount(),
890
881
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
891
882
  ...b
892
883
  }
893
884
  );
894
- return { hash: await a0(this._config, d), result: c };
885
+ return { hash: await d0(this._config, c), result: d };
895
886
  }
896
887
  /**
897
888
  * Claims one incentive for a given `Boost` on behalf of another user by `boostId` and `incentiveId`
@@ -906,15 +897,15 @@ const M = class M extends j0 {
906
897
  * @param {?WriteParams} [params]
907
898
  * @returns {Promise<void>}
908
899
  */
909
- async claimIncentiveFor(f, e, t, a, b, d) {
900
+ async claimIncentiveFor(f, e, a, t, b, c) {
910
901
  return await this.awaitResult(
911
902
  this.claimIncentiveForRaw(
912
903
  f,
913
904
  e,
914
- t,
915
905
  a,
906
+ t,
916
907
  b,
917
- d
908
+ c
918
909
  )
919
910
  );
920
911
  }
@@ -931,22 +922,22 @@ const M = class M extends j0 {
931
922
  * @param {?WriteParams} [params]
932
923
  * @returns {Promise<{ hash: Hex; result: void; }>}
933
924
  */
934
- async claimIncentiveForRaw(f, e, t, a, b, d) {
935
- const { request: c, result: s } = await b0(
925
+ async claimIncentiveForRaw(f, e, a, t, b, c) {
926
+ const { request: d, result: s } = await n0(
936
927
  this._config,
937
928
  {
938
- ...h(
929
+ ...l(
939
930
  this._config,
940
931
  this.addresses,
941
- d == null ? void 0 : d.chainId
932
+ c == null ? void 0 : c.chainId
942
933
  ),
943
- args: [f, e, t, a, b],
934
+ args: [f, e, a, t, b],
944
935
  ...this.optionallyAttachAccount(),
945
936
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
946
- ...d
937
+ ...c
947
938
  }
948
939
  );
949
- return { hash: await d0(this._config, c), result: s };
940
+ return { hash: await s0(this._config, d), result: s };
950
941
  }
951
942
  /**
952
943
  * Get a Boost by index, will return the raw on chain representation of a Boost.
@@ -959,22 +950,22 @@ const M = class M extends j0 {
959
950
  * @throws {@link BoostNotFoundError}
960
951
  */
961
952
  async readBoost(f, e) {
962
- var t;
953
+ var a;
963
954
  try {
964
- let a;
965
- return typeof f == "string" ? a = BigInt(f) : a = f, await c0(this._config, {
966
- ...h(
955
+ let t;
956
+ return typeof f == "string" ? t = BigInt(f) : t = f, await i0(this._config, {
957
+ ...l(
967
958
  this._config,
968
959
  this.addresses,
969
960
  e == null ? void 0 : e.chainId
970
961
  ),
971
- args: [a],
962
+ args: [t],
972
963
  ...this.optionallyAttachAccount(),
973
964
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
974
965
  ...e
975
966
  });
976
- } catch (a) {
977
- throw (t = a == null ? void 0 : a.message) != null && t.includes("bounds") ? new d1(String(f)) : a;
967
+ } catch (t) {
968
+ throw (a = t == null ? void 0 : t.message) != null && a.includes("bounds") ? new o1(String(f)) : t;
978
969
  }
979
970
  }
980
971
  /**
@@ -988,32 +979,32 @@ const M = class M extends j0 {
988
979
  * @throws {@link BoostNotFoundError}
989
980
  */
990
981
  async getBoost(f, e) {
991
- let t;
992
- typeof f == "string" ? t = BigInt(f) : t = f;
993
- const { protocolFee: a, maxParticipants: b, owner: d, ...c } = await this.readBoost(t, e), s = {
982
+ let a;
983
+ typeof f == "string" ? a = BigInt(f) : a = f;
984
+ const { protocolFee: t, maxParticipants: b, owner: c, ...d } = await this.readBoost(a, e), s = {
994
985
  config: this._config,
995
986
  account: this._account
996
- }, [i, l, g, o, r] = await Promise.all([
997
- R0(s, c.action, e),
998
- M0(s, c.budget, e),
999
- X0(s, c.validator, e),
1000
- V0(s, c.allowList, e),
987
+ }, [i, h, g, o, r] = await Promise.all([
988
+ N0(s, d.action, e),
989
+ W0(s, d.budget, e),
990
+ a1(s, d.validator, e),
991
+ O0(s, d.allowList, e),
1001
992
  Promise.all(
1002
- c.incentives.map(
1003
- (u) => k0(s, u, e)
993
+ d.incentives.map(
994
+ (u) => K0(s, u, e)
1004
995
  )
1005
996
  )
1006
997
  ]);
1007
- return new p({
1008
- id: t,
998
+ return new F({
999
+ id: a,
1009
1000
  action: i,
1010
- budget: l,
1001
+ budget: h,
1011
1002
  validator: g,
1012
1003
  allowList: o,
1013
1004
  incentives: r,
1014
- protocolFee: a,
1005
+ protocolFee: t,
1015
1006
  maxParticipants: b,
1016
- owner: d
1007
+ owner: c
1017
1008
  });
1018
1009
  }
1019
1010
  /**
@@ -1025,8 +1016,8 @@ const M = class M extends j0 {
1025
1016
  * @returns {Promise<bigint>}
1026
1017
  */
1027
1018
  async getBoostCount(f) {
1028
- return await n0(this._config, {
1029
- ...h(
1019
+ return await o0(this._config, {
1020
+ ...l(
1030
1021
  this._config,
1031
1022
  this.addresses,
1032
1023
  f == null ? void 0 : f.chainId
@@ -1048,9 +1039,9 @@ const M = class M extends j0 {
1048
1039
  * @returns {Promise<boolean>}
1049
1040
  */
1050
1041
  async isAuthorized(f, e) {
1051
- const t = await this.createBoostAuth(e);
1052
- return s0(this._config, {
1053
- address: t,
1042
+ const a = await this.createBoostAuth(e);
1043
+ return r0(this._config, {
1044
+ address: a,
1054
1045
  args: [f],
1055
1046
  ...this.optionallyAttachAccount(),
1056
1047
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
@@ -1066,8 +1057,8 @@ const M = class M extends j0 {
1066
1057
  * @returns {Promise<Address>}
1067
1058
  */
1068
1059
  async createBoostAuth(f) {
1069
- return await i0(this._config, {
1070
- ...h(
1060
+ return await u0(this._config, {
1061
+ ...l(
1071
1062
  this._config,
1072
1063
  this.addresses,
1073
1064
  f == null ? void 0 : f.chainId
@@ -1104,10 +1095,10 @@ const M = class M extends j0 {
1104
1095
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
1105
1096
  */
1106
1097
  async setCreateBoostAuthRaw(f, e) {
1107
- const { request: t, result: a } = await o0(
1098
+ const { request: a, result: t } = await h0(
1108
1099
  this._config,
1109
1100
  {
1110
- ...h(
1101
+ ...l(
1111
1102
  this._config,
1112
1103
  this.addresses,
1113
1104
  e == null ? void 0 : e.chainId
@@ -1118,7 +1109,7 @@ const M = class M extends j0 {
1118
1109
  ...e
1119
1110
  }
1120
1111
  );
1121
- return { hash: await r0(this._config, t), result: a };
1112
+ return { hash: await l0(this._config, a), result: t };
1122
1113
  }
1123
1114
  /**
1124
1115
  * Get the protocol fee.
@@ -1129,8 +1120,8 @@ const M = class M extends j0 {
1129
1120
  * @returns {unknown}
1130
1121
  */
1131
1122
  async protocolFee(f) {
1132
- return await u0(this._config, {
1133
- ...h(
1123
+ return await g0(this._config, {
1124
+ ...l(
1134
1125
  this._config,
1135
1126
  this.addresses,
1136
1127
  f == null ? void 0 : f.chainId
@@ -1150,8 +1141,8 @@ const M = class M extends j0 {
1150
1141
  * @returns {Promise<Address>}
1151
1142
  */
1152
1143
  async protocolFeeReceiver(f) {
1153
- return await h0(this._config, {
1154
- ...h(
1144
+ return await w0(this._config, {
1145
+ ...l(
1155
1146
  this._config,
1156
1147
  this.addresses,
1157
1148
  f == null ? void 0 : f.chainId
@@ -1188,10 +1179,10 @@ const M = class M extends j0 {
1188
1179
  * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
1189
1180
  */
1190
1181
  async setProcolFeeReceiverRaw(f, e) {
1191
- const { request: t, result: a } = await l0(
1182
+ const { request: a, result: t } = await y0(
1192
1183
  this._config,
1193
1184
  {
1194
- ...h(
1185
+ ...l(
1195
1186
  this._config,
1196
1187
  this.addresses,
1197
1188
  e == null ? void 0 : e.chainId
@@ -1202,10 +1193,10 @@ const M = class M extends j0 {
1202
1193
  ...e
1203
1194
  }
1204
1195
  );
1205
- return { hash: await g0(
1196
+ return { hash: await m0(
1206
1197
  this._config,
1207
- t
1208
- ), result: a };
1198
+ a
1199
+ ), result: t };
1209
1200
  }
1210
1201
  /**
1211
1202
  * Get the incentives fees information for a given Boost ID and Incentive ID.
@@ -1217,20 +1208,20 @@ const M = class M extends j0 {
1217
1208
  * @param {?ReadParams} [params]
1218
1209
  * @returns {Promise<IncentiveDisbursalInfo>}
1219
1210
  */
1220
- async getIncentiveFeesInfo(f, e, t) {
1221
- const a = F0(
1222
- _0(["uint256", "uint256"], [f, e])
1211
+ async getIncentiveFeesInfo(f, e, a) {
1212
+ const t = R0(
1213
+ D0(["uint256", "uint256"], [f, e])
1223
1214
  );
1224
- return await w0(this._config, {
1225
- ...h(
1215
+ return await v0(this._config, {
1216
+ ...l(
1226
1217
  this._config,
1227
1218
  this.addresses,
1228
- t == null ? void 0 : t.chainId
1219
+ a == null ? void 0 : a.chainId
1229
1220
  ),
1230
- args: [a],
1221
+ args: [t],
1231
1222
  ...this.optionallyAttachAccount(),
1232
1223
  // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
1233
- ...t
1224
+ ...a
1234
1225
  });
1235
1226
  }
1236
1227
  /**
@@ -1257,13 +1248,13 @@ const M = class M extends j0 {
1257
1248
  * ```
1258
1249
  */
1259
1250
  async getClaimFromTransaction(f) {
1260
- var a;
1261
- const e = await B0(this._config, f);
1262
- return (a = _({
1263
- abi: A,
1251
+ var t;
1252
+ const e = await E0(this._config, f);
1253
+ return (t = _({
1254
+ abi: v,
1264
1255
  eventName: "BoostClaimed",
1265
1256
  logs: e.logs
1266
- }).at(0)) == null ? void 0 : a.args;
1257
+ }).at(0)) == null ? void 0 : t.args;
1267
1258
  }
1268
1259
  /**
1269
1260
  * Calculate the protocol fee for ERC20 or ETH assets for a given amount. Fees are collected when initializing new incentives, or clawing back from incentives.
@@ -1289,8 +1280,8 @@ const M = class M extends j0 {
1289
1280
  * @returns {Promise<void>}
1290
1281
  */
1291
1282
  async calculateProtocolFee(f, e) {
1292
- const t = await this.protocolFee(e);
1293
- return f * t / F;
1283
+ const a = await this.protocolFee(e);
1284
+ return f * a / E;
1294
1285
  }
1295
1286
  /**
1296
1287
  * Bound {@link PassthroughAuth} constructor that reuses the same configuration as the Boost Core instance.
@@ -1304,7 +1295,7 @@ const M = class M extends j0 {
1304
1295
  * @returns {PassthroughAuth}
1305
1296
  */
1306
1297
  PassthroughAuth(f) {
1307
- return new N0(
1298
+ return new j0(
1308
1299
  { config: this._config, account: this._account },
1309
1300
  f
1310
1301
  );
@@ -1340,7 +1331,7 @@ const M = class M extends j0 {
1340
1331
  * const action = new EventAction({ config: core._config, account: core._account }, '0x')
1341
1332
  */
1342
1333
  EventAction(f, e) {
1343
- return new D0(
1334
+ return new L0(
1344
1335
  { config: this._config, account: this._account },
1345
1336
  f,
1346
1337
  e
@@ -1380,7 +1371,7 @@ const M = class M extends j0 {
1380
1371
  * @returns {OpenAllowList}
1381
1372
  */
1382
1373
  OpenAllowList(f) {
1383
- return new S0(
1374
+ return new x0(
1384
1375
  { config: this._config, account: this._account },
1385
1376
  void 0,
1386
1377
  f
@@ -1399,7 +1390,7 @@ const M = class M extends j0 {
1399
1390
  * @returns {SimpleAllowList}
1400
1391
  */
1401
1392
  SimpleAllowList(f, e) {
1402
- return new L0(
1393
+ return new $0(
1403
1394
  { config: this._config, account: this._account },
1404
1395
  f,
1405
1396
  e
@@ -1418,7 +1409,7 @@ const M = class M extends j0 {
1418
1409
  * @returns {SimpleDenyList}
1419
1410
  */
1420
1411
  SimpleDenyList(f, e) {
1421
- return new O0(
1412
+ return new z0(
1422
1413
  { config: this._config, account: this._account },
1423
1414
  f,
1424
1415
  e
@@ -1437,7 +1428,7 @@ const M = class M extends j0 {
1437
1428
  * @returns {OffchainAccessList}
1438
1429
  */
1439
1430
  OffchainAccessList(f, e) {
1440
- return new T0(
1431
+ return new M0(
1441
1432
  { config: this._config, account: this._account },
1442
1433
  f,
1443
1434
  e
@@ -1472,7 +1463,7 @@ const M = class M extends j0 {
1472
1463
  * @returns {ManagedBudget}
1473
1464
  */
1474
1465
  ManagedBudget(f) {
1475
- return typeof f != "string" && !f.authorized.includes(this.assertValidAddress()) && (f.authorized = [this.assertValidAddress(), ...f.authorized], f.roles = [S.MANAGER, ...f.roles]), new z0(
1466
+ return typeof f != "string" && !f.authorized.includes(this.assertValidAddress()) && (f.authorized = [this.assertValidAddress(), ...f.authorized], f.roles = [T.MANAGER, ...f.roles]), new k0(
1476
1467
  { config: this._config, account: this._account },
1477
1468
  f
1478
1469
  );
@@ -1490,7 +1481,7 @@ const M = class M extends j0 {
1490
1481
  * @returns {ManagedBudgetWithFees}
1491
1482
  */
1492
1483
  ManagedBudgetWithFees(f) {
1493
- return typeof f != "string" && !f.authorized.includes(this.assertValidAddress()) && (f.authorized = [this.assertValidAddress(), ...f.authorized], f.roles = [S.MANAGER, ...f.roles]), new x0(
1484
+ return typeof f != "string" && !f.authorized.includes(this.assertValidAddress()) && (f.authorized = [this.assertValidAddress(), ...f.authorized], f.roles = [T.MANAGER, ...f.roles]), new q0(
1494
1485
  { config: this._config, account: this._account },
1495
1486
  f
1496
1487
  );
@@ -1508,7 +1499,7 @@ const M = class M extends j0 {
1508
1499
  * @returns {ManagedBudgetWithFeesV2}
1509
1500
  */
1510
1501
  ManagedBudgetWithFeesV2(f) {
1511
- return typeof f != "string" && !f.authorized.includes(this.assertValidAddress()) && (f.authorized = [this.assertValidAddress(), ...f.authorized], f.roles = [S.MANAGER, ...f.roles]), new $0(
1502
+ return typeof f != "string" && !f.authorized.includes(this.assertValidAddress()) && (f.authorized = [this.assertValidAddress(), ...f.authorized], f.roles = [T.MANAGER, ...f.roles]), new G0(
1512
1503
  { config: this._config, account: this._account },
1513
1504
  f
1514
1505
  );
@@ -1542,7 +1533,7 @@ const M = class M extends j0 {
1542
1533
  * @returns {TransparentBudget}
1543
1534
  */
1544
1535
  TransparentBudget(f) {
1545
- return new $(
1536
+ return new z(
1546
1537
  { config: this._config, account: this._account },
1547
1538
  f
1548
1539
  );
@@ -1576,7 +1567,7 @@ const M = class M extends j0 {
1576
1567
  * @returns {VestingBudget}
1577
1568
  */
1578
1569
  AllowListIncentive(f) {
1579
- return new q0(
1570
+ return new H0(
1580
1571
  { config: this._config, account: this._account },
1581
1572
  f
1582
1573
  );
@@ -1593,7 +1584,7 @@ const M = class M extends j0 {
1593
1584
  * @returns {CGDAIncentive}
1594
1585
  */
1595
1586
  CGDAIncentive(f) {
1596
- return new W0(
1587
+ return new Z0(
1597
1588
  { config: this._config, account: this._account },
1598
1589
  f
1599
1590
  );
@@ -1610,7 +1601,7 @@ const M = class M extends j0 {
1610
1601
  * @returns {ERC20Incentive}
1611
1602
  */
1612
1603
  ERC20Incentive(f) {
1613
- return new G0(
1604
+ return new J0(
1614
1605
  { config: this._config, account: this._account },
1615
1606
  f
1616
1607
  );
@@ -1627,7 +1618,7 @@ const M = class M extends j0 {
1627
1618
  * @returns {ERC20PeggedIncentive}
1628
1619
  */
1629
1620
  ERC20PeggedIncentive(f) {
1630
- return new U0(
1621
+ return new X0(
1631
1622
  { config: this._config, account: this._account },
1632
1623
  f
1633
1624
  );
@@ -1663,7 +1654,7 @@ const M = class M extends j0 {
1663
1654
  * @returns {PointsIncentive}
1664
1655
  */
1665
1656
  PointsIncentive(f) {
1666
- return new J0(
1657
+ return new f1(
1667
1658
  { config: this._config, account: this._account },
1668
1659
  f
1669
1660
  );
@@ -1681,7 +1672,7 @@ const M = class M extends j0 {
1681
1672
  * @returns {SignerValidator}
1682
1673
  */
1683
1674
  SignerValidator(f, e) {
1684
- return new Q0(
1675
+ return new b1(
1685
1676
  { config: this._config, account: this._account },
1686
1677
  f,
1687
1678
  e
@@ -1700,7 +1691,7 @@ const M = class M extends j0 {
1700
1691
  * @returns {LimitedSignerValidator}
1701
1692
  */
1702
1693
  LimitedSignerValidator(f, e) {
1703
- return new K0(
1694
+ return new e1(
1704
1695
  { config: this._config, account: this._account },
1705
1696
  f,
1706
1697
  e
@@ -1719,7 +1710,7 @@ const M = class M extends j0 {
1719
1710
  * @returns {PayableLimitedSignerValidator}
1720
1711
  */
1721
1712
  PayableLimitedSignerValidator(f, e) {
1722
- return new Y0(
1713
+ return new t1(
1723
1714
  { config: this._config, account: this._account },
1724
1715
  f,
1725
1716
  e ?? !1
@@ -1738,7 +1729,7 @@ const M = class M extends j0 {
1738
1729
  * @returns {ERC20VariableCrtieriaIncentiveV2}
1739
1730
  * */
1740
1731
  ERC20VariableCriteriaIncentiveV2(f, e) {
1741
- return new Z0(
1732
+ return new Q0(
1742
1733
  { config: this._config, account: this._account },
1743
1734
  f,
1744
1735
  e
@@ -1757,7 +1748,7 @@ const M = class M extends j0 {
1757
1748
  * @returns {ERC20PeggedVariableCriteriaIncentiveV2}
1758
1749
  * */
1759
1750
  ERC20PeggedVariableCriteriaIncentiveV2(f, e) {
1760
- return new H0(
1751
+ return new Y0(
1761
1752
  { config: this._config, account: this._account },
1762
1753
  f,
1763
1754
  e
@@ -1776,7 +1767,7 @@ const M = class M extends j0 {
1776
1767
  * @returns {ERC20VariableIncentive}
1777
1768
  */
1778
1769
  ERC20VariableIncentive(f, e) {
1779
- return new o1(
1770
+ return new g1(
1780
1771
  { config: this._config, account: this._account },
1781
1772
  f,
1782
1773
  e
@@ -1786,22 +1777,98 @@ const M = class M extends j0 {
1786
1777
  * @inheritdoc
1787
1778
  *
1788
1779
  * @public
1789
- * @param {?[Address, Address, Address]} [_payload]
1780
+ * @param {?[]} [_payload]
1790
1781
  * @param {?DeployableOptions} [_options]
1791
1782
  * @returns {GenericDeployableParams}
1792
1783
  */
1793
1784
  buildParameters(f, e) {
1794
- const [t, a] = this.validateDeploymentConfig(
1785
+ const [a, t] = this.validateDeploymentConfig(
1795
1786
  f,
1796
1787
  e
1797
1788
  );
1798
1789
  return {
1799
- abi: A,
1800
- bytecode: r1,
1801
- args: t,
1802
- ...this.optionallyAttachAccount(a.account)
1790
+ abi: v,
1791
+ bytecode: q,
1792
+ args: [],
1793
+ // UUPS constructor should have no arguments - uses initializer instead
1794
+ ...this.optionallyAttachAccount(t.account)
1803
1795
  };
1804
1796
  }
1797
+ /**
1798
+ * Override the deploy method to handle UUPS proxy deployment with initialization
1799
+ *
1800
+ * @protected
1801
+ * @async
1802
+ * @param {?[]} [_payload]
1803
+ * @param {?DeployableOptions} [_options]
1804
+ * @param {?Omit<WaitForTransactionReceiptParameters, 'hash'>} [waitParams]
1805
+ * @returns {Promise<this>}
1806
+ */
1807
+ async deploy(f, e, a) {
1808
+ var b;
1809
+ const t = f || this._payload;
1810
+ if (t && typeof t == "object" && "registryAddress" in t) {
1811
+ const c = t, d = e || {
1812
+ config: this._config,
1813
+ account: this._account
1814
+ }, s = await W(
1815
+ d.config,
1816
+ $(d.config, {
1817
+ abi: v,
1818
+ bytecode: q,
1819
+ args: [],
1820
+ // UUPS constructor has no arguments
1821
+ ...this.optionallyAttachAccount(d.account)
1822
+ }),
1823
+ a
1824
+ ), i = V0({
1825
+ abi: v,
1826
+ functionName: "initialize",
1827
+ args: [
1828
+ c.registryAddress,
1829
+ c.protocolFeeReceiver,
1830
+ c.owner
1831
+ ]
1832
+ }), h = [
1833
+ {
1834
+ type: "constructor",
1835
+ inputs: [
1836
+ {
1837
+ name: "implementation",
1838
+ type: "address",
1839
+ internalType: "address"
1840
+ },
1841
+ {
1842
+ name: "_data",
1843
+ type: "bytes",
1844
+ internalType: "bytes"
1845
+ }
1846
+ ],
1847
+ stateMutability: "payable"
1848
+ }
1849
+ ], o = await W(
1850
+ d.config,
1851
+ $(d.config, {
1852
+ abi: h,
1853
+ bytecode: T0({
1854
+ abi: h,
1855
+ bytecode: "0x60806040526040516103dc3803806103dc8339810160408190526100229161023b565b61002c8282610033565b5050610320565b61003c82610091565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561008557610080828261010c565b505050565b61008d61017f565b5050565b806001600160a01b03163b5f036100cb57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b031684604051610128919061030a565b5f60405180830381855af49150503d805f8114610160576040519150601f19603f3d011682016040523d82523d5f602084013e610165565b606091505b5090925090506101768583836101a0565b95945050505050565b341561019e5760405163b398979f60e01b815260040160405180910390fd5b565b6060826101b5576101b0826101ff565b6101f8565b81511580156101cc57506001600160a01b0384163b155b156101f557604051639996b31560e01b81526001600160a01b03851660048201526024016100c2565b50805b9392505050565b80511561020e57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561024c575f80fd5b82516001600160a01b0381168114610262575f80fd5b60208401519092506001600160401b0381111561027d575f80fd5b8301601f8101851361028d575f80fd5b80516001600160401b038111156102a6576102a6610227565b604051601f8201601f19908116603f011681016001600160401b03811182821017156102d4576102d4610227565b6040528181528282016020018710156102eb575f80fd5b8160208401602083015e5f602083830101528093505050509250929050565b5f82518060208501845e5f920191825250919050565b60b08061032c5f395ff3fe6080604052600a600c565b005b60186014601a565b605d565b565b5f60587f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b365f80375f80365f845af43d5f803e8080156076573d5ff35b3d5ffdfea2646970667358221220f563f31c0aa14bad619f09897012e95da451776c4af1ecde8d7624c84200077664736f6c634300081a0033",
1856
+ args: [s, i]
1857
+ }),
1858
+ args: [s, i],
1859
+ ...this.optionallyAttachAccount(d.account)
1860
+ }),
1861
+ a
1862
+ );
1863
+ this._address = o;
1864
+ const r = (b = d.config.getClient().chain) == null ? void 0 : b.id;
1865
+ r ? this.constructor.addresses[r] = o : console.log(
1866
+ "WARNING: No chain ID found, cannot update addresses object"
1867
+ );
1868
+ } else
1869
+ await super.deploy(f, e, a);
1870
+ return this;
1871
+ }
1805
1872
  /**
1806
1873
  * Prepares and executes a top-up from a Budget, specifying the net top-up amount
1807
1874
  * that should land in the incentive (the protocol fee is added automatically).
@@ -1815,21 +1882,21 @@ const M = class M extends j0 {
1815
1882
  * @param {?WriteParams} [params] Additional transaction overrides
1816
1883
  * @returns {Promise<{ hash: Hex; result: void }>} The transaction hash and simulation result
1817
1884
  */
1818
- async topupIncentiveFromBudgetPreFee(f, e, t, a, b) {
1819
- const d = await this.getBoost(f, b);
1820
- if (e >= d.incentives.length)
1885
+ async topupIncentiveFromBudgetPreFee(f, e, a, t, b) {
1886
+ const c = await this.getBoost(f, b);
1887
+ if (e >= c.incentives.length)
1821
1888
  throw new Error(`Incentive ID ${e} out of range`);
1822
- const c = d.incentives[Number(e)];
1823
- if (!c)
1889
+ const d = c.incentives[Number(e)];
1890
+ if (!d)
1824
1891
  throw new Error(`Incentive with ID ${e} not found`);
1825
- const s = await c.getTopupPayload(t);
1826
- if (!(t > 0))
1892
+ const s = await d.getTopupPayload(a);
1893
+ if (!(a > 0))
1827
1894
  throw new Error("Top-up amount must be greater than zero");
1828
1895
  return await this.topupIncentiveFromBudgetRaw(
1829
1896
  f,
1830
1897
  e,
1831
1898
  s,
1832
- a,
1899
+ t,
1833
1900
  b
1834
1901
  );
1835
1902
  }
@@ -1848,13 +1915,13 @@ const M = class M extends j0 {
1848
1915
  * @param {?WriteParams} [params] Additional transaction overrides
1849
1916
  * @returns {Promise<{ hash: Hex; result: void }>}
1850
1917
  */
1851
- async topupIncentiveFromBudgetPostFee(f, e, t, a, b) {
1852
- const d = await this.protocolFee(b), c = t * F / (F + d);
1918
+ async topupIncentiveFromBudgetPostFee(f, e, a, t, b) {
1919
+ const c = await this.protocolFee(b), d = a * E / (E + c);
1853
1920
  return this.topupIncentiveFromBudgetPreFee(
1854
1921
  f,
1855
1922
  e,
1856
- c,
1857
- a,
1923
+ d,
1924
+ t,
1858
1925
  b
1859
1926
  );
1860
1927
  }
@@ -1870,21 +1937,21 @@ const M = class M extends j0 {
1870
1937
  * @param {?WriteParams} [params]
1871
1938
  * @returns {Promise<{ hash: Hex; result: void }>}
1872
1939
  */
1873
- async topupIncentiveFromSenderPreFee(f, e, t, a) {
1874
- const b = await this.getBoost(f, a);
1940
+ async topupIncentiveFromSenderPreFee(f, e, a, t) {
1941
+ const b = await this.getBoost(f, t);
1875
1942
  if (e >= b.incentives.length)
1876
1943
  throw new Error(`Incentive ID ${e} out of range`);
1877
- const d = b.incentives[Number(e)];
1878
- if (!d)
1944
+ const c = b.incentives[Number(e)];
1945
+ if (!c)
1879
1946
  throw new Error(`Incentive with ID ${e} not found`);
1880
- if (!(t > 0))
1947
+ if (!(a > 0))
1881
1948
  throw new Error("Top-up amount must be greater than zero");
1882
- const c = await d.getTopupPayload(t);
1949
+ const d = await c.getTopupPayload(a);
1883
1950
  return await this.topupIncentiveFromSenderRaw(
1884
1951
  f,
1885
1952
  e,
1886
- c,
1887
- a
1953
+ d,
1954
+ t
1888
1955
  );
1889
1956
  }
1890
1957
  /**
@@ -1901,13 +1968,13 @@ const M = class M extends j0 {
1901
1968
  * @param {?WriteParams} [params]
1902
1969
  * @returns {Promise<{ hash: Hex; result: void }>}
1903
1970
  */
1904
- async topupIncentiveFromSenderPostFee(f, e, t, a) {
1905
- const b = await this.protocolFee(a), d = t * F / (F + b);
1971
+ async topupIncentiveFromSenderPostFee(f, e, a, t) {
1972
+ const b = await this.protocolFee(t), c = a * E / (E + b);
1906
1973
  return this.topupIncentiveFromSenderPreFee(
1907
1974
  f,
1908
1975
  e,
1909
- d,
1910
- a
1976
+ c,
1977
+ t
1911
1978
  );
1912
1979
  }
1913
1980
  /**
@@ -1921,20 +1988,20 @@ const M = class M extends j0 {
1921
1988
  * @param {?WriteParams} [params]
1922
1989
  * @returns {Promise<{ hash: Hex; result: void }>}
1923
1990
  */
1924
- async topupIncentiveFromSenderRaw(f, e, t, a) {
1925
- const { request: b, result: d } = await v0(
1991
+ async topupIncentiveFromSenderRaw(f, e, a, t) {
1992
+ const { request: b, result: c } = await A0(
1926
1993
  this._config,
1927
1994
  {
1928
1995
  ...this.optionallyAttachAccount(),
1929
- ...a,
1996
+ ...t,
1930
1997
  address: this.assertValidAddress(),
1931
- args: [f, e, t]
1998
+ args: [f, e, a]
1932
1999
  }
1933
2000
  );
1934
- return { hash: await m0(
2001
+ return { hash: await C0(
1935
2002
  this._config,
1936
2003
  b
1937
- ), result: d };
2004
+ ), result: c };
1938
2005
  }
1939
2006
  /**
1940
2007
  * A lower-level function that actually calls `topupIncentiveFromBudget` on-chain,
@@ -1949,29 +2016,29 @@ const M = class M extends j0 {
1949
2016
  * @param {?WriteParams} [params]
1950
2017
  * @returns {Promise<{ hash: Hex; result: void }>}
1951
2018
  */
1952
- async topupIncentiveFromBudgetRaw(f, e, t, a, b) {
1953
- const { request: d, result: c } = await C0(
2019
+ async topupIncentiveFromBudgetRaw(f, e, a, t, b) {
2020
+ const { request: c, result: d } = await I0(
1954
2021
  this._config,
1955
2022
  {
1956
2023
  ...this.optionallyAttachAccount(),
1957
2024
  ...b,
1958
2025
  address: this.assertValidAddress(),
1959
- args: [f, e, t, a ?? C]
2026
+ args: [f, e, a, t ?? A]
1960
2027
  }
1961
2028
  );
1962
- return { hash: await I0(
2029
+ return { hash: await B0(
1963
2030
  this._config,
1964
- d
1965
- ), result: c };
2031
+ c
2032
+ ), result: d };
1966
2033
  }
1967
2034
  };
1968
- M.addresses = N;
1969
- let q = M;
2035
+ x.addresses = O;
2036
+ let k = x;
1970
2037
  export {
1971
- Y1 as BOOST_CORE_ADDRESS,
1972
- N as BOOST_CORE_ADDRESSES,
1973
- q as BoostCore,
1974
- F as FEE_DENOMINATOR,
1975
- A as boostCoreAbi
2038
+ e5 as BOOST_CORE_ADDRESS,
2039
+ O as BOOST_CORE_ADDRESSES,
2040
+ k as BoostCore,
2041
+ E as FEE_DENOMINATOR,
2042
+ v as boostCoreAbi
1976
2043
  };
1977
2044
  //# sourceMappingURL=BoostCore.js.map