@boostxyz/sdk 1.1.0-alpha.24 → 2.0.0-alpha.26

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 (134) hide show
  1. package/dist/Actions/Action.cjs +1 -1
  2. package/dist/Actions/Action.js +7 -7
  3. package/dist/Actions/EventAction.cjs +1 -1
  4. package/dist/Actions/EventAction.cjs.map +1 -1
  5. package/dist/Actions/EventAction.d.ts +7 -7
  6. package/dist/Actions/EventAction.d.ts.map +1 -1
  7. package/dist/Actions/EventAction.js +153 -152
  8. package/dist/Actions/EventAction.js.map +1 -1
  9. package/dist/AllowLists/AllowList.cjs +1 -1
  10. package/dist/AllowLists/AllowList.js +10 -10
  11. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  12. package/dist/AllowLists/SimpleAllowList.js +10 -10
  13. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  14. package/dist/AllowLists/SimpleDenyList.js +3 -3
  15. package/dist/Auth/PassthroughAuth.cjs +1 -1
  16. package/dist/Auth/PassthroughAuth.js +1 -1
  17. package/dist/BoostCore.cjs +2 -1
  18. package/dist/BoostCore.cjs.map +1 -1
  19. package/dist/BoostCore.d.ts +564 -1
  20. package/dist/BoostCore.d.ts.map +1 -1
  21. package/dist/BoostCore.js +1322 -29
  22. package/dist/BoostCore.js.map +1 -1
  23. package/dist/BoostRegistry.cjs +1 -1
  24. package/dist/BoostRegistry.js +27 -27
  25. package/dist/Budgets/Budget.cjs +1 -1
  26. package/dist/Budgets/Budget.js +2 -2
  27. package/dist/Budgets/ManagedBudget.cjs +1 -1
  28. package/dist/Budgets/ManagedBudget.js +23 -23
  29. package/dist/Deployable/DeployableTarget.cjs +1 -1
  30. package/dist/Deployable/DeployableTarget.js +1 -1
  31. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  32. package/dist/Deployable/DeployableTargetWithRBAC.js +23 -23
  33. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  34. package/dist/Incentives/AllowListIncentive.js +8 -8
  35. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  36. package/dist/Incentives/CGDAIncentive.js +12 -12
  37. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  38. package/dist/Incentives/ERC20Incentive.js +16 -16
  39. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +2 -0
  40. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -0
  41. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +42 -15
  42. package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -1
  43. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +188 -0
  44. package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -0
  45. package/dist/Incentives/ERC20VariableIncentive.cjs +2 -0
  46. package/dist/Incentives/ERC20VariableIncentive.cjs.map +1 -0
  47. package/dist/Incentives/ERC20VariableIncentive.d.ts +7 -5
  48. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
  49. package/dist/{Incentive-rM5nKznp.js → Incentives/ERC20VariableIncentive.js} +42 -67
  50. package/dist/Incentives/ERC20VariableIncentive.js.map +1 -0
  51. package/dist/Incentives/Incentive.cjs +1 -1
  52. package/dist/Incentives/Incentive.cjs.map +1 -1
  53. package/dist/Incentives/Incentive.d.ts +552 -3
  54. package/dist/Incentives/Incentive.d.ts.map +1 -1
  55. package/dist/Incentives/Incentive.js +40 -16
  56. package/dist/Incentives/Incentive.js.map +1 -1
  57. package/dist/Incentives/PointsIncentive.cjs +1 -1
  58. package/dist/Incentives/PointsIncentive.js +8 -8
  59. package/dist/{SimpleDenyList-DNj5qDWM.cjs → SimpleDenyList-BdlpZdDz.cjs} +2 -2
  60. package/dist/{SimpleDenyList-DNj5qDWM.cjs.map → SimpleDenyList-BdlpZdDz.cjs.map} +1 -1
  61. package/dist/{SimpleDenyList-BDXpY74P.js → SimpleDenyList-D0cyVUVv.js} +16 -16
  62. package/dist/{SimpleDenyList-BDXpY74P.js.map → SimpleDenyList-D0cyVUVv.js.map} +1 -1
  63. package/dist/Validators/LimitedSignerValidator.cjs +2 -0
  64. package/dist/Validators/LimitedSignerValidator.cjs.map +1 -0
  65. package/dist/Validators/LimitedSignerValidator.d.ts +806 -0
  66. package/dist/Validators/LimitedSignerValidator.d.ts.map +1 -0
  67. package/dist/Validators/LimitedSignerValidator.js +299 -0
  68. package/dist/Validators/LimitedSignerValidator.js.map +1 -0
  69. package/dist/Validators/SignerValidator.cjs +1 -1
  70. package/dist/Validators/SignerValidator.cjs.map +1 -1
  71. package/dist/Validators/SignerValidator.d.ts +2 -2
  72. package/dist/Validators/SignerValidator.d.ts.map +1 -1
  73. package/dist/Validators/SignerValidator.js +39 -41
  74. package/dist/Validators/SignerValidator.js.map +1 -1
  75. package/dist/Validators/Validator.cjs +1 -1
  76. package/dist/Validators/Validator.cjs.map +1 -1
  77. package/dist/Validators/Validator.d.ts +22 -2
  78. package/dist/Validators/Validator.d.ts.map +1 -1
  79. package/dist/Validators/Validator.js +26 -17
  80. package/dist/Validators/Validator.js.map +1 -1
  81. package/dist/{componentInterfaces-BBCFkrZv.js → componentInterfaces-bIVo8eyA.js} +9 -9
  82. package/dist/componentInterfaces-bIVo8eyA.js.map +1 -0
  83. package/dist/{deployments-fJsWblwS.js → deployments-Ccx1MtoK.js} +5 -5
  84. package/dist/deployments-Ccx1MtoK.js.map +1 -0
  85. package/dist/{generated-CsNyWPKA.js → generated-BAKNSOjJ.js} +661 -381
  86. package/dist/generated-BAKNSOjJ.js.map +1 -0
  87. package/dist/generated-Cqn4wS01.cjs +3 -0
  88. package/dist/generated-Cqn4wS01.cjs.map +1 -0
  89. package/dist/index.cjs +1 -1
  90. package/dist/index.d.ts +1 -0
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +150 -138
  93. package/dist/index.js.map +1 -1
  94. package/dist/utils.cjs +1 -1
  95. package/dist/utils.cjs.map +1 -1
  96. package/dist/utils.d.ts +10 -0
  97. package/dist/utils.d.ts.map +1 -1
  98. package/dist/utils.js +27 -26
  99. package/dist/utils.js.map +1 -1
  100. package/package.json +21 -5
  101. package/src/Actions/EventAction.ts +29 -27
  102. package/src/BoostCore.test.ts +3 -3
  103. package/src/BoostCore.ts +51 -5
  104. package/src/Incentives/AllowListIncentive.test.ts +19 -21
  105. package/src/Incentives/CGDAIncentive.test.ts +20 -22
  106. package/src/Incentives/ERC1155Incentive.test.ts +14 -15
  107. package/src/Incentives/ERC20Incentive.test.ts +17 -19
  108. package/src/Incentives/ERC20VariableCriteriaIncentive.test.ts +62 -10
  109. package/src/Incentives/ERC20VariableCriteriaIncentive.ts +79 -37
  110. package/src/Incentives/ERC20VariableIncentive.test.ts +16 -18
  111. package/src/Incentives/ERC20VariableIncentive.ts +16 -8
  112. package/src/Incentives/Incentive.ts +4 -1
  113. package/src/Incentives/PointsIncentive.test.ts +3 -5
  114. package/src/Validators/LimitedSignerValidator.test.ts +223 -0
  115. package/src/Validators/LimitedSignerValidator.ts +707 -0
  116. package/src/Validators/SignerValidator.test.ts +21 -22
  117. package/src/Validators/SignerValidator.ts +3 -4
  118. package/src/Validators/Validator.test.ts +7 -1
  119. package/src/Validators/Validator.ts +30 -3
  120. package/src/index.test.ts +2 -0
  121. package/src/index.ts +1 -0
  122. package/src/utils.ts +11 -0
  123. package/dist/BoostCore-Btl5BdAs.cjs +0 -3
  124. package/dist/BoostCore-Btl5BdAs.cjs.map +0 -1
  125. package/dist/BoostCore-CD56zbYX.js +0 -2641
  126. package/dist/BoostCore-CD56zbYX.js.map +0 -1
  127. package/dist/Incentive-CcnOIc8L.cjs +0 -2
  128. package/dist/Incentive-CcnOIc8L.cjs.map +0 -1
  129. package/dist/Incentive-rM5nKznp.js.map +0 -1
  130. package/dist/componentInterfaces-BBCFkrZv.js.map +0 -1
  131. package/dist/deployments-fJsWblwS.js.map +0 -1
  132. package/dist/generated-CsNyWPKA.js.map +0 -1
  133. package/dist/generated-DHerxf1y.cjs +0 -3
  134. package/dist/generated-DHerxf1y.cjs.map +0 -1
@@ -1,2641 +0,0 @@
1
- import { bi as E, bj as U, T as x, bk as X, bl as Z, bm as G, bn as W, bo as H, bp as K, bq as J, br as Q, bs as Y, bt as f0, bu as e0, bv as b0, bw as t0, bx as a0, by as d0 } from "./generated-CsNyWPKA.js";
2
- import { getTransaction as n0, getTransactionReceipt as L, waitForTransactionReceipt as c0, getAccount as s0 } from "@wagmi/core";
3
- import { createClient as i0, custom as r0, parseEventLogs as C, decodeFunctionData as o0, encodeAbiParameters as N, parseEther as u0, zeroAddress as m, zeroHash as o } from "viem";
4
- import { e as y0, f as l0 } from "./deployments-fJsWblwS.js";
5
- import { actionFromAddress as p0 } from "./Actions/Action.js";
6
- import { SignatureType as T, EventAction as h0 } from "./Actions/EventAction.js";
7
- import { allowListFromAddress as m0, OpenAllowList as g0 } from "./AllowLists/AllowList.js";
8
- import { SimpleAllowList as x0 } from "./AllowLists/SimpleAllowList.js";
9
- import { S as w0 } from "./SimpleDenyList-BDXpY74P.js";
10
- import { PassthroughAuth as v0 } from "./Auth/PassthroughAuth.js";
11
- import { prepareBoostPayload as _, Boost as F } from "./Boost.js";
12
- import { budgetFromAddress as C0 } from "./Budgets/Budget.js";
13
- import { ManagedBudget as I0 } from "./Budgets/ManagedBudget.js";
14
- import { Deployable as A0 } from "./Deployable/Deployable.js";
15
- import { AllowListIncentive as P0 } from "./Incentives/AllowListIncentive.js";
16
- import { CGDAIncentive as R0 } from "./Incentives/CGDAIncentive.js";
17
- import { ERC20Incentive as B0 } from "./Incentives/ERC20Incentive.js";
18
- import { DeployableTarget as E0 } from "./Deployable/DeployableTarget.js";
19
- import { IncentiveCriteriaNotFoundError as T0, NoMatchingLogsError as M, DecodedArgsError as w, InvalidCriteriaTypeError as _0, BoostCoreNoIdentifierEmitted as F0, DeployableUnknownOwnerProvidedError as M0, BudgetMustAuthorizeBoostCore as S0, MustInitializeBudgetError as D0, IncentiveNotCloneableError as L0, BoostNotFoundError as N0 } from "./errors.js";
20
- import { i as $0, E as V0 } from "./Incentive-rM5nKznp.js";
21
- import { PointsIncentive as O0 } from "./Incentives/PointsIncentive.js";
22
- import { SignerValidator as q0 } from "./Validators/SignerValidator.js";
23
- import { validatorFromAddress as j0 } from "./Validators/Validator.js";
24
- import { assertValidAddressByChainId as u } from "./utils.js";
25
- import { simulateContract as k0, writeContract as z0 } from "viem/actions";
26
- import { parseAccount as U0, getAddress as X0 } from "viem/utils";
27
- const Z0 = "0x60806040526103e8600360146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555034801561003a575f80fd5b50604051615301380380615301833981810160405281019061005c919061026b565b61006b336100f260201b60201c565b8160015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506102a9565b6101006101ce60201b60201c565b15610178577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561013a57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506101cb565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f90565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6101ff826101d6565b9050919050565b5f610210826101f5565b9050919050565b61022081610206565b811461022a575f80fd5b50565b5f8151905061023b81610217565b92915050565b61024a816101f5565b8114610254575f80fd5b50565b5f8151905061026581610241565b92915050565b5f8060408385031215610281576102806101d2565b5b5f61028e8582860161022d565b925050602061029f85828601610257565b9150509250929050565b61504b806102b65f395ff3fe60806040526004361061014a575f3560e01c80637b103999116100b5578063dd98558c1161006e578063dd98558c146103fa578063e21ff73114610437578063eccc19a614610473578063f04e283e1461049b578063f2fde38b146104b7578063fee81cf4146104d35761014a565b80637b1039991461030c5780638da5cb5b146103365780638fe4f52314610360578063a92647dc1461037c578063b0e21e8a146103a6578063d73792a9146103d05761014a565b806354d1f13d1161010757806354d1f13d1461024a5780635edb9eb0146102545780635f32c23e1461027e57806360777795146102a6578063715018a6146102e6578063730f9c57146102f05761014a565b80630250e72b1461014e57806313c8e2de1461018a57806325692962146101c657806339a51be5146101d057806343bc42d3146101fa57806346877b1a14610222575b5f80fd5b348015610159575f80fd5b50610174600480360381019061016f91906137f5565b61050f565b6040516101819190613950565b60405180910390f35b348015610195575f80fd5b506101b060048036038101906101ab9190613993565b6105e6565b6040516101bd9190613c21565b60405180910390f35b6101ce61088e565b005b3480156101db575f80fd5b506101e46108df565b6040516101f19190613c50565b60405180910390f35b348015610205575f80fd5b50610220600480360381019061021b9190613c93565b610904565b005b34801561022d575f80fd5b5061024860048036038101906102439190613ce8565b610938565b005b610252610983565b005b34801561025f575f80fd5b506102686109bc565b6040516102759190613d22565b60405180910390f35b348015610289575f80fd5b506102a4600480360381019061029f9190613d3b565b6109c7565b005b3480156102b1575f80fd5b506102cc60048036038101906102c791906137f5565b610b53565b6040516102dd959493929190613d88565b60405180910390f35b6102ee610bb0565b005b61030a60048036038101906103059190613e3a565b610bc3565b005b348015610317575f80fd5b50610320611104565b60405161032d9190613ef0565b60405180910390f35b348015610341575f80fd5b5061034a611129565b6040516103579190613c50565b60405180910390f35b61037a60048036038101906103759190613f09565b611151565b005b348015610387575f80fd5b50610390611166565b60405161039d9190613fad565b60405180910390f35b3480156103b1575f80fd5b506103ba61118b565b6040516103c79190613fd5565b60405180910390f35b3480156103db575f80fd5b506103e46111a5565b6040516103f19190613fd5565b60405180910390f35b348015610405575f80fd5b50610420600480360381019061041b9190613fee565b6111ab565b60405161042e92919061405f565b60405180910390f35b348015610442575f80fd5b5061045d60048036038101906104589190614086565b6118af565b60405161046a9190613c21565b60405180910390f35b34801561047e575f80fd5b5061049960048036038101906104949190613ce8565b61229d565b005b6104b560048036038101906104b09190613ce8565b6122e8565b005b6104d160048036038101906104cc9190613ce8565b612326565b005b3480156104de575f80fd5b506104f960048036038101906104f49190613ce8565b61234f565b6040516105069190613d22565b60405180910390f35b610517613607565b60045f8381526020019081526020015f206040518060a00160405290815f82015f9054906101000a900460ff16600281111561055657610555613820565b5b600281111561056857610567613820565b5b81526020015f820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152602001600282015481526020016003820154815250509050919050565b6105ee613659565b5f8281548110610601576106006140d1565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482018054806020026020016040519081016040528092919081815260200182805480156107ee57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116107a5575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050919050565b5f610897612368565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61090c612372565b80600360146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b610940612372565b8060035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b5f8080549050905090565b3068929eee149b4bd2126854036109e55763ab143c065f526004601cfd5b3068929eee149b4bd21268555f6109fc83836123a9565b90505f60045f8381526020019081526020015f2090505f816002015461271067ffffffffffffffff168360010154610a34919061412b565b610a3e9190614199565b90505f610a4a836123db565b905081811115610b3f575f8282610a6191906141c9565b90505f61271067ffffffffffffffff16856002015483610a81919061412b565b610a8b9190614199565b9050610a9785826125e1565b80856001015410610ac15780856001015f828254610ab591906141c9565b92505081905550610acb565b5f85600101819055505b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1687897f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051610b349190613d22565b60405180910390a450505b505050503868929eee149b4bd21268555050565b6004602052805f5260405f205f91509050805f015f9054906101000a900460ff1690805f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154908060030154905085565b610bb8612372565b610bc15f6127c2565b565b3068929eee149b4bd212685403610be15763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110610c0157610c006140d1565b5b905f5260205f20906008020190505f610c1a88886123a9565b90505f60045f8381526020019081526020015f209050826002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3f756de8588886040518463ffffffff1660e01b8152600401610c9093929190614256565b602060405180830381865afa158015610cab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ccf91906142bb565b610d05576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663703b69008a8a878a8a6040518663ffffffff1660e01b8152600401610d699594939291906142e6565b6020604051808303815f875af1158015610d85573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da991906142bb565b610ddf576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16825f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610e3c575f610e46565b610e45826123db565b5b9050836004018981548110610e5e57610e5d6140d1565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb1757cf8689896040518463ffffffff1660e01b8152600401610ec293929190614256565b6020604051808303815f875af1158015610ede573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0291906142bb565b610f47578487876040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610f3e93929190614256565b60405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff16835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610fa4575f610fae565b610fad836123db565b5b90505f818311610fbe575f610fcb565b8183610fca91906141c9565b5b90505f61271067ffffffffffffffff16856002015483610feb919061412b565b610ff59190614199565b90505f8111156110955761100985826125e1565b80856001015f82825461101c91906141c9565b9250508190555060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168c8e7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b178460405161108c9190613d22565b60405180910390a45b8773ffffffffffffffffffffffffffffffffffffffff168c8e7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478e8e8e6040516110e193929190614256565b60405180910390a4505050505050503868929eee149b4bd2126855505050505050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b61115f858585858533610bc3565b5050505050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360149054906101000a900467ffffffffffffffff1681565b61271081565b5f803068929eee149b4bd2126854036111cb5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f8085815481106111eb576111ea6140d1565b5b905f5260205f209060080201604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482018054806020026020016040519081016040528092919081815260200182805480156113d857602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161138f575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250509050806060015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114dc576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6114e786866123a9565b90505f60045f8381526020019081526020015f2090505f898981019061150d91906144bd565b90505f81602001518060200190518101906115289190614518565b90505f61271067ffffffffffffffff16846002015483611548919061412b565b6115529190614199565b90505f81111561176f57600160028111156115705761156f613820565b5b845f015f9054906101000a900460ff16600281111561159257611591613820565b5b14806115d057505f60028111156115ac576115ab613820565b5b845f015f9054906101000a900460ff1660028111156115ce576115cd613820565b5b145b1561162b57611626835f015182865f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128889092919063ffffffff16565b6116fd565b60028081111561163e5761163d613820565b5b845f015f9054906101000a900460ff1660028111156116605761165f613820565b5b036116fc57835f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a30855f01518760030154856040518563ffffffff1660e01b81526004016116ce9493929190614566565b5f604051808303815f87803b1580156116e5575f80fd5b505af11580156116f7573d5f803e3d5ffd5b505050505b5b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b17846040516117669190613d22565b60405180910390a45b5f8087608001518b81518110611788576117876140d1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663474f5a44866040516020016117bc9190614656565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016117e791906146ae565b60408051808303815f875af1158015611802573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182691906146e2565b915091505f820361187257338e8e6040517f9ecd71a900000000000000000000000000000000000000000000000000000000815260040161186993929190614256565b60405180910390fd5b82866001015f82825461188591906141c9565b9250508190555081819950995050505050505050503868929eee149b4bd212685594509492505050565b6118b7613659565b335f73ffffffffffffffffffffffffffffffffffffffff1660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156119ab575060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80826040518263ffffffff1660e01b815260040161196a9190613c50565b602060405180830381865afa158015611985573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119a991906142bb565b155b156119e2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd212685403611a005763ab143c065f526004601cfd5b3068929eee149b4bd21268555f611a5985858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050506128d1565b806020019051810190611a6c9190614a80565b9050611a7a815f015161296a565b5f8060018160018154018082558091505003905f5260205f20906008020190508160e00151816007015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550815f0151816003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160a00151600360149054906101000a900467ffffffffffffffff16611b4b9190614ac7565b816005015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055508160c001518160060181905550611bb17fe67157950000000000000000000000000000000000000000000000000000000083602001516001612a45565b815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611c217fe2089f790000000000000000000000000000000000000000000000000000000083606001516001612a45565b816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611c738260800151835f0151612a67565b816004019080519060200190611c8a92919061370f565b505f73ffffffffffffffffffffffffffffffffffffffff1682604001516020015173ffffffffffffffffffffffffffffffffffffffff1614611cfb57611cf67f5912b89c0000000000000000000000000000000000000000000000000000000083604001516001612a45565b611de4565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166301ffc9a77f5912b89c000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401611d769190614b3c565b602060405180830381865afa158015611d91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611db591906142bb565b611dbf575f611de3565b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b5b816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff16816001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611eda577f5912b89c000000000000000000000000000000000000000000000000000000005f6040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401611ed1929190614b55565b60405180910390fd5b805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816007015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660015f80549050611f5e91906141c9565b7f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd8460040180549050856001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866002015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16876003015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516120039493929190614b7c565b60405180910390a480604051806101000160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600482018054806020026020016040519081016040528092919081815260200182805480156121ed57602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116121a4575b50505050508152602001600582015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160068201548152602001600782015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050935050503868929eee149b4bd21268555092915050565b6122a5612372565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6122f0612372565b63389a75e1600c52805f526020600c20805442111561231657636f5e88185f526004601cfd5b5f815550612323816127c2565b50565b61232e612372565b8060601b61234357637448fbae5f526004601cfd5b61234c816127c2565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f6202a300905090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146123a7576382b429005f526004601cfd5b565b5f82826040516020016123bd929190614bdf565b60405160208183030381529060405280519060200120905092915050565b5f600160028111156123f0576123ef613820565b5b825f015f9054906101000a900460ff16600281111561241257612411613820565b5b148061245057505f600281111561242c5761242b613820565b5b825f015f9054906101000a900460ff16600281111561244e5761244d613820565b5b145b156124f757815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016124b19190613c50565b602060405180830381865afa1580156124cc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124f09190614518565b90506125dc565b60028081111561250a57612509613820565b5b825f015f9054906101000a900460ff16600281111561252c5761252b613820565b5b036125d857815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1662fdd58e3084600301546040518363ffffffff1660e01b8152600401612592929190614c0a565b602060405180830381865afa1580156125ad573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125d19190614518565b90506125dc565b5f90505b919050565b600160028111156125f5576125f4613820565b5b825f015f9054906101000a900460ff16600281111561261757612616613820565b5b148061265557505f600281111561263157612630613820565b5b825f015f9054906101000a900460ff16600281111561265357612652613820565b5b145b156126ce576126c960035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682845f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128889092919063ffffffff16565b6127be565b6002808111156126e1576126e0613820565b5b825f015f9054906101000a900460ff16600281111561270357612702613820565b5b036127bd57815f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f242432a3060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560030154856040518563ffffffff1660e01b815260040161278f9493929190614566565b5f604051808303815f87803b1580156127a6575f80fd5b505af11580156127b8573d5f803e3d5ffd5b505050505b5b5050565b6127ca612f75565b1561282f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550612885565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166128c8576390b8ec185f526004601cfd5b5f603452505050565b60608151156129655760405190506020810160048301805184518501811983525b8086101561294b576001860195508551601f1a8061293b576001870196508651601f1a5f198652607f811161292957600181013887395b6001607f821601860195505050612946565b808553600185019450505b6128f2565b81835260208501840385525f845260208401604052505050505b919050565b6129947fe49cedd70000000000000000000000000000000000000000000000000000000082612f79565b8073ffffffffffffffffffffffffffffffffffffffff1663fe9fbb80336040518263ffffffff1660e01b81526004016129cd9190613c50565b602060405180830381865afa1580156129e8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a0c91906142bb565b612a42576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b5f612a54848460200151612f79565b612a5e8383613070565b90509392505050565b6060825167ffffffffffffffff811115612a8457612a83614336565b5b604051908082528060200260200182016040528015612ab25781602001602082028036833780820191505090505b5090505f5b8351811015612f6e57612b087fa921670500000000000000000000000000000000000000000000000000000000858381518110612af757612af66140d1565b5b602002602001015160200151612f79565b838181518110612b1b57612b1a6140d1565b5b60200260200101515f0151612ba7577fa921670500000000000000000000000000000000000000000000000000000000848281518110612b5e57612b5d6140d1565b5b6020026020010151602001516040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401612b9e929190614b55565b60405180910390fd5b612bec7fa921670500000000000000000000000000000000000000000000000000000000858381518110612bde57612bdd6140d1565b5b60200260200101515f612a45565b828281518110612bff57612bfe6140d1565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f828281518110612c4d57612c4c6140d1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16634e7165a2868481518110612c8357612c826140d1565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401612cab91906146ae565b5f60405180830381865afa158015612cc5573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f82011682018060405250810190612ced9190614c31565b90505f815114612ec2575f80612d028361312c565b915091508573ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1836040518263ffffffff1660e01b8152600401612d3f91906146ae565b6020604051808303815f875af1158015612d5b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7f91906142bb565b612db5576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1663fa4ca9b1846040518263ffffffff1660e01b8152600401612dee91906146ae565b6020604051808303815f875af1158015612e0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e2e91906142bb565b612e64576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f83806020019051810190612e799190614d2c565b9050612ebe60015f80549050612e8f91906141c9565b86836020015185855f01518d8b81518110612ead57612eac6140d1565b5b602002602001015160400151613428565b5050505b828281518110612ed557612ed46140d1565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663439fab91868481518110612f0b57612f0a6140d1565b5b6020026020010151604001516040518263ffffffff1660e01b8152600401612f3391906146ae565b5f604051808303815f87803b158015612f4a575f80fd5b505af1158015612f5c573d5f803e3d5ffd5b50505050508080600101915050612ab7565b5092915050565b5f90565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16148061302857508073ffffffffffffffffffffffffffffffffffffffff166301ffc9a7836040518263ffffffff1660e01b8152600401612fe79190614b3c565b602060405180830381865afa158015613002573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061302691906142bb565b155b1561306c5781816040517fe1c44448000000000000000000000000000000000000000000000000000000008152600401613063929190614b55565b60405180910390fd5b5050565b5f825f01516130835782602001516130a7565b6130a6836020015173ffffffffffffffffffffffffffffffffffffffff166135a4565b5b9050825f015180156130b65750815b15613126578073ffffffffffffffffffffffffffffffffffffffff1663439fab9184604001516040518263ffffffff1660e01b81526004016130f891906146ae565b5f604051808303815f87803b15801561310f575f80fd5b505af1158015613121573d5f803e3d5ffd5b505050505b92915050565b60605f80838060200190518101906131449190614d2c565b90506001600281111561315a57613159613820565b5b815f015160028111156131705761316f613820565b5b14806131a257505f600281111561318a57613189613820565b5b815f015160028111156131a05761319f613820565b5b145b156132ab575f81606001518060200190518101906131c09190614dac565b90505f61271067ffffffffffffffff16600360149054906101000a900467ffffffffffffffff1667ffffffffffffffff16835f01516131ff919061412b565b6132099190614199565b90505f60405180602001604052808381525090508060405160200161322e9190614df1565b604051602081830303815290604052846060018190525030846040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508360405160200161328e9190614e6a565b604051602081830303815290604052829550955050505050613423565b6002808111156132be576132bd613820565b5b815f015160028111156132d4576132d3613820565b5b036133f1575f81606001518060200190518101906132f29190614f07565b90505f61271067ffffffffffffffff16600360149054906101000a900467ffffffffffffffff1667ffffffffffffffff168360200151613332919061412b565b61333c9190614199565b90505f6040518060600160405280845f0151815260200183815260200184604001518152509050806040516020016133749190614f9b565b604051602081830303815290604052846060018190525030846040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050836040516020016133d49190614e6a565b604051602081830303815290604052829550955050505050613423565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b915091565b60605f60028081111561343e5761343d613820565b5b84600281111561345157613450613820565b5b03613474578280602001905181019061346a9190614fbb565b5080915050613478565b8291505b5f6040518060a0016040528086600281111561349757613496613820565b5b81526020018873ffffffffffffffffffffffffffffffffffffffff168152602001878152602001600360149054906101000a900467ffffffffffffffff1667ffffffffffffffff1681526020018381525090508060045f6134f88c8c6123a9565b81526020019081526020015f205f820151815f015f6101000a81548160ff0219169083600281111561352d5761352c613820565b5b02179055506020820151815f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600101556060820151816002015560808201518160030155905050505050505050505050565b5f6135af5f836135b6565b9050919050565b5f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f09050806135fd5763301164255f526004601cfd5b5f60215292915050565b6040518060a001604052805f600281111561362557613624613820565b5b81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81525090565b6040518061010001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff168152602001606081526020015f67ffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b828054828255905f5260205f20908101928215613785579160200282015b82811115613784578251825f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019061372d565b5b5090506137929190613796565b5090565b5b808211156137ad575f815f905550600101613797565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b6137d4816137c2565b81146137de575f80fd5b50565b5f813590506137ef816137cb565b92915050565b5f6020828403121561380a576138096137ba565b5b5f613817848285016137e1565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6003811061385e5761385d613820565b5b50565b5f81905061386e8261384d565b919050565b5f61387d82613861565b9050919050565b61388d81613873565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6138bc82613893565b9050919050565b6138cc816138b2565b82525050565b5f819050919050565b6138e4816138d2565b82525050565b60a082015f8201516138fe5f850182613884565b50602082015161391160208501826138c3565b50604082015161392460408501826138db565b50606082015161393760608501826138db565b50608082015161394a60808501826138db565b50505050565b5f60a0820190506139635f8301846138ea565b92915050565b613972816138d2565b811461397c575f80fd5b50565b5f8135905061398d81613969565b92915050565b5f602082840312156139a8576139a76137ba565b5b5f6139b58482850161397f565b91505092915050565b5f819050919050565b5f6139e16139dc6139d784613893565b6139be565b613893565b9050919050565b5f6139f2826139c7565b9050919050565b5f613a03826139e8565b9050919050565b613a13816139f9565b82525050565b5f613a23826139e8565b9050919050565b613a3381613a19565b82525050565b5f613a43826139e8565b9050919050565b613a5381613a39565b82525050565b5f613a63826139c7565b9050919050565b5f613a7482613a59565b9050919050565b613a8481613a6a565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f613abd826139e8565b9050919050565b613acd81613ab3565b82525050565b5f613ade8383613ac4565b60208301905092915050565b5f602082019050919050565b5f613b0082613a8a565b613b0a8185613a94565b9350613b1583613aa4565b805f5b83811015613b45578151613b2c8882613ad3565b9750613b3783613aea565b925050600181019050613b18565b5085935050505092915050565b5f67ffffffffffffffff82169050919050565b613b6e81613b52565b82525050565b5f61010083015f830151613b8a5f860182613a0a565b506020830151613b9d6020860182613a2a565b506040830151613bb06040860182613a4a565b506060830151613bc36060860182613a7b565b5060808301518482036080860152613bdb8282613af6565b91505060a0830151613bf060a0860182613b65565b5060c0830151613c0360c08601826138db565b5060e0830151613c1660e08601826138c3565b508091505092915050565b5f6020820190508181035f830152613c398184613b74565b905092915050565b613c4a816138b2565b82525050565b5f602082019050613c635f830184613c41565b92915050565b613c7281613b52565b8114613c7c575f80fd5b50565b5f81359050613c8d81613c69565b92915050565b5f60208284031215613ca857613ca76137ba565b5b5f613cb584828501613c7f565b91505092915050565b613cc7816138b2565b8114613cd1575f80fd5b50565b5f81359050613ce281613cbe565b92915050565b5f60208284031215613cfd57613cfc6137ba565b5b5f613d0a84828501613cd4565b91505092915050565b613d1c816138d2565b82525050565b5f602082019050613d355f830184613d13565b92915050565b5f8060408385031215613d5157613d506137ba565b5b5f613d5e8582860161397f565b9250506020613d6f8582860161397f565b9150509250929050565b613d8281613873565b82525050565b5f60a082019050613d9b5f830188613d79565b613da86020830187613c41565b613db56040830186613d13565b613dc26060830185613d13565b613dcf6080830184613d13565b9695505050505050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112613dfa57613df9613dd9565b5b8235905067ffffffffffffffff811115613e1757613e16613ddd565b5b602083019150836001820283011115613e3357613e32613de1565b5b9250929050565b5f805f805f8060a08789031215613e5457613e536137ba565b5b5f613e6189828a0161397f565b9650506020613e7289828a0161397f565b9550506040613e8389828a01613cd4565b945050606087013567ffffffffffffffff811115613ea457613ea36137be565b5b613eb089828a01613de5565b93509350506080613ec389828a01613cd4565b9150509295509295509295565b5f613eda826139e8565b9050919050565b613eea81613ed0565b82525050565b5f602082019050613f035f830184613ee1565b92915050565b5f805f805f60808688031215613f2257613f216137ba565b5b5f613f2f8882890161397f565b9550506020613f408882890161397f565b9450506040613f5188828901613cd4565b935050606086013567ffffffffffffffff811115613f7257613f716137be565b5b613f7e88828901613de5565b92509250509295509295909350565b5f613f97826139e8565b9050919050565b613fa781613f8d565b82525050565b5f602082019050613fc05f830184613f9e565b92915050565b613fcf81613b52565b82525050565b5f602082019050613fe85f830184613fc6565b92915050565b5f805f8060608587031215614006576140056137ba565b5b5f85013567ffffffffffffffff811115614023576140226137be565b5b61402f87828801613de5565b945094505060206140428782880161397f565b92505060406140538782880161397f565b91505092959194509250565b5f6040820190506140725f830185613d13565b61407f6020830184613c41565b9392505050565b5f806020838503121561409c5761409b6137ba565b5b5f83013567ffffffffffffffff8111156140b9576140b86137be565b5b6140c585828601613de5565b92509250509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614135826138d2565b9150614140836138d2565b925082820261414e816138d2565b91508282048414831517614165576141646140fe565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6141a3826138d2565b91506141ae836138d2565b9250826141be576141bd61416c565b5b828204905092915050565b5f6141d3826138d2565b91506141de836138d2565b92508282039050818111156141f6576141f56140fe565b5b92915050565b5f82825260208201905092915050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f61423583856141fc565b935061424283858461420c565b61424b8361421a565b840190509392505050565b5f6040820190506142695f830186613c41565b818103602083015261427c81848661422a565b9050949350505050565b5f8115159050919050565b61429a81614286565b81146142a4575f80fd5b50565b5f815190506142b581614291565b92915050565b5f602082840312156142d0576142cf6137ba565b5b5f6142dd848285016142a7565b91505092915050565b5f6080820190506142f95f830188613d13565b6143066020830187613d13565b6143136040830186613c41565b818103606083015261432681848661422a565b90509695505050505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61436c8261421a565b810181811067ffffffffffffffff8211171561438b5761438a614336565b5b80604052505050565b5f61439d6137b1565b90506143a98282614363565b919050565b5f80fd5b5f80fd5b5f67ffffffffffffffff8211156143d0576143cf614336565b5b6143d98261421a565b9050602081019050919050565b5f6143f86143f3846143b6565b614394565b905082815260208101848484011115614414576144136143b2565b5b61441f84828561420c565b509392505050565b5f82601f83011261443b5761443a613dd9565b5b813561444b8482602086016143e6565b91505092915050565b5f6040828403121561446957614468614332565b5b6144736040614394565b90505f61448284828501613cd4565b5f83015250602082013567ffffffffffffffff8111156144a5576144a46143ae565b5b6144b184828501614427565b60208301525092915050565b5f602082840312156144d2576144d16137ba565b5b5f82013567ffffffffffffffff8111156144ef576144ee6137be565b5b6144fb84828501614454565b91505092915050565b5f8151905061451281613969565b92915050565b5f6020828403121561452d5761452c6137ba565b5b5f61453a84828501614504565b91505092915050565b50565b5f6145515f836141fc565b915061455c82614543565b5f82019050919050565b5f60a0820190506145795f830187613c41565b6145866020830186613c41565b6145936040830185613d13565b6145a06060830184613d13565b81810360808301526145b181614546565b905095945050505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6145ee826145bc565b6145f881856145c6565b93506146088185602086016145d6565b6146118161421a565b840191505092915050565b5f604083015f8301516146315f8601826138c3565b506020830151848203602086015261464982826145e4565b9150508091505092915050565b5f6020820190508181035f83015261466e818461461c565b905092915050565b5f614680826145bc565b61468a81856141fc565b935061469a8185602086016145d6565b6146a38161421a565b840191505092915050565b5f6020820190508181035f8301526146c68184614676565b905092915050565b5f815190506146dc81613cbe565b92915050565b5f80604083850312156146f8576146f76137ba565b5b5f61470585828601614504565b9250506020614716858286016146ce565b9150509250929050565b5f61472a82613893565b9050919050565b5f61473b82614720565b9050919050565b61474b81614731565b8114614755575f80fd5b50565b5f8151905061476681614742565b92915050565b5f61477e614779846143b6565b614394565b90508281526020810184848401111561479a576147996143b2565b5b6147a58482856145d6565b509392505050565b5f82601f8301126147c1576147c0613dd9565b5b81516147d184826020860161476c565b91505092915050565b5f606082840312156147ef576147ee614332565b5b6147f96060614394565b90505f614808848285016142a7565b5f83015250602061481b848285016146ce565b602083015250604082015167ffffffffffffffff81111561483f5761483e6143ae565b5b61484b848285016147ad565b60408301525092915050565b5f67ffffffffffffffff82111561487157614870614336565b5b602082029050602081019050919050565b5f61489461488f84614857565b614394565b905080838252602082019050602084028301858111156148b7576148b6613de1565b5b835b818110156148fe57805167ffffffffffffffff8111156148dc576148db613dd9565b5b8086016148e989826147da565b855260208501945050506020810190506148b9565b5050509392505050565b5f82601f83011261491c5761491b613dd9565b5b815161492c848260208601614882565b91505092915050565b5f8151905061494381613c69565b92915050565b5f610100828403121561495f5761495e614332565b5b61496a610100614394565b90505f61497984828501614758565b5f83015250602082015167ffffffffffffffff81111561499c5761499b6143ae565b5b6149a8848285016147da565b602083015250604082015167ffffffffffffffff8111156149cc576149cb6143ae565b5b6149d8848285016147da565b604083015250606082015167ffffffffffffffff8111156149fc576149fb6143ae565b5b614a08848285016147da565b606083015250608082015167ffffffffffffffff811115614a2c57614a2b6143ae565b5b614a3884828501614908565b60808301525060a0614a4c84828501614935565b60a08301525060c0614a6084828501614504565b60c08301525060e0614a74848285016146ce565b60e08301525092915050565b5f60208284031215614a9557614a946137ba565b5b5f82015167ffffffffffffffff811115614ab257614ab16137be565b5b614abe84828501614949565b91505092915050565b5f614ad182613b52565b9150614adc83613b52565b9250828201905067ffffffffffffffff811115614afc57614afb6140fe565b5b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614b3681614b02565b82525050565b5f602082019050614b4f5f830184614b2d565b92915050565b5f604082019050614b685f830185614b2d565b614b756020830184613c41565b9392505050565b5f608082019050614b8f5f830187613d13565b614b9c6020830186613c41565b614ba96040830185613c41565b614bb66060830184613c41565b95945050505050565b5f819050919050565b614bd9614bd4826138d2565b614bbf565b82525050565b5f614bea8285614bc8565b602082019150614bfa8284614bc8565b6020820191508190509392505050565b5f604082019050614c1d5f830185613c41565b614c2a6020830184613d13565b9392505050565b5f60208284031215614c4657614c456137ba565b5b5f82015167ffffffffffffffff811115614c6357614c626137be565b5b614c6f848285016147ad565b91505092915050565b60038110614c84575f80fd5b50565b5f81519050614c9581614c78565b92915050565b5f60808284031215614cb057614caf614332565b5b614cba6080614394565b90505f614cc984828501614c87565b5f830152506020614cdc848285016146ce565b6020830152506040614cf0848285016146ce565b604083015250606082015167ffffffffffffffff811115614d1457614d136143ae565b5b614d20848285016147ad565b60608301525092915050565b5f60208284031215614d4157614d406137ba565b5b5f82015167ffffffffffffffff811115614d5e57614d5d6137be565b5b614d6a84828501614c9b565b91505092915050565b5f60208284031215614d8857614d87614332565b5b614d926020614394565b90505f614da184828501614504565b5f8301525092915050565b5f60208284031215614dc157614dc06137ba565b5b5f614dce84828501614d73565b91505092915050565b602082015f820151614deb5f8501826138db565b50505050565b5f602082019050614e045f830184614dd7565b92915050565b5f608083015f830151614e1f5f860182613884565b506020830151614e3260208601826138c3565b506040830151614e4560408601826138c3565b5060608301518482036060860152614e5d82826145e4565b9150508091505092915050565b5f6020820190508181035f830152614e828184614e0a565b905092915050565b5f60608284031215614e9f57614e9e614332565b5b614ea96060614394565b90505f614eb884828501614504565b5f830152506020614ecb84828501614504565b602083015250604082015167ffffffffffffffff811115614eef57614eee6143ae565b5b614efb848285016147ad565b60408301525092915050565b5f60208284031215614f1c57614f1b6137ba565b5b5f82015167ffffffffffffffff811115614f3957614f386137be565b5b614f4584828501614e8a565b91505092915050565b5f606083015f830151614f635f8601826138db565b506020830151614f7660208601826138db565b5060408301518482036040860152614f8e82826145e4565b9150508091505092915050565b5f6020820190508181035f830152614fb38184614f4e565b905092915050565b5f8060408385031215614fd157614fd06137ba565b5b5f614fde85828601614504565b925050602083015167ffffffffffffffff811115614fff57614ffe6137be565b5b61500b858286016147ad565b915050925092905056fea2646970667358221220904c8f9d3e483d6c82a064bbe349f76b3e492e71ff0ca1e3b9a15fa154e6509464736f6c634300081a0033";
28
- function $(a) {
29
- const e = a.state.current, f = a.state.connections.get(e), b = f == null ? void 0 : f.accounts, t = b == null ? void 0 : b[0], d = a.chains.find((c) => c.id === (f == null ? void 0 : f.chainId)), n = a.state.status;
30
- switch (n) {
31
- case "connected":
32
- return {
33
- address: t,
34
- addresses: b,
35
- chain: d,
36
- chainId: f == null ? void 0 : f.chainId,
37
- connector: f == null ? void 0 : f.connector,
38
- isConnected: !0,
39
- isConnecting: !1,
40
- isDisconnected: !1,
41
- isReconnecting: !1,
42
- status: n
43
- };
44
- case "reconnecting":
45
- return {
46
- address: t,
47
- addresses: b,
48
- chain: d,
49
- chainId: f == null ? void 0 : f.chainId,
50
- connector: f == null ? void 0 : f.connector,
51
- isConnected: !!t,
52
- isConnecting: !1,
53
- isDisconnected: !1,
54
- isReconnecting: !0,
55
- status: n
56
- };
57
- case "connecting":
58
- return {
59
- address: t,
60
- addresses: b,
61
- chain: d,
62
- chainId: f == null ? void 0 : f.chainId,
63
- connector: f == null ? void 0 : f.connector,
64
- isConnected: !1,
65
- isConnecting: !0,
66
- isDisconnected: !1,
67
- isReconnecting: !1,
68
- status: n
69
- };
70
- case "disconnected":
71
- return {
72
- address: void 0,
73
- addresses: void 0,
74
- chain: void 0,
75
- chainId: void 0,
76
- connector: void 0,
77
- isConnected: !1,
78
- isConnecting: !1,
79
- isDisconnected: !0,
80
- isReconnecting: !1,
81
- status: n
82
- };
83
- }
84
- }
85
- function G0(a) {
86
- return a.state.chainId;
87
- }
88
- function V(a, e, f) {
89
- const b = a[e.name];
90
- if (typeof b == "function")
91
- return b;
92
- const t = a[f];
93
- return typeof t == "function" ? t : (d) => e(a, d);
94
- }
95
- const W0 = "2.13.8", H0 = () => `@wagmi/core@${W0}`;
96
- var O = function(a, e, f, b) {
97
- if (f === "a" && !b) throw new TypeError("Private accessor was defined without a getter");
98
- if (typeof e == "function" ? a !== e || !b : !e.has(a)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
99
- return f === "m" ? b : f === "a" ? b.call(a) : b ? b.value : e.get(a);
100
- }, v, q;
101
- class g extends Error {
102
- get docsBaseUrl() {
103
- return "https://wagmi.sh/core";
104
- }
105
- get version() {
106
- return H0();
107
- }
108
- constructor(e, f = {}) {
109
- var d;
110
- super(), v.add(this), Object.defineProperty(this, "details", {
111
- enumerable: !0,
112
- configurable: !0,
113
- writable: !0,
114
- value: void 0
115
- }), Object.defineProperty(this, "docsPath", {
116
- enumerable: !0,
117
- configurable: !0,
118
- writable: !0,
119
- value: void 0
120
- }), Object.defineProperty(this, "metaMessages", {
121
- enumerable: !0,
122
- configurable: !0,
123
- writable: !0,
124
- value: void 0
125
- }), Object.defineProperty(this, "shortMessage", {
126
- enumerable: !0,
127
- configurable: !0,
128
- writable: !0,
129
- value: void 0
130
- }), Object.defineProperty(this, "name", {
131
- enumerable: !0,
132
- configurable: !0,
133
- writable: !0,
134
- value: "WagmiCoreError"
135
- });
136
- const b = f.cause instanceof g ? f.cause.details : (d = f.cause) != null && d.message ? f.cause.message : f.details, t = f.cause instanceof g && f.cause.docsPath || f.docsPath;
137
- this.message = [
138
- e || "An error occurred.",
139
- "",
140
- ...f.metaMessages ? [...f.metaMessages, ""] : [],
141
- ...t ? [
142
- `Docs: ${this.docsBaseUrl}${t}.html${f.docsSlug ? `#${f.docsSlug}` : ""}`
143
- ] : [],
144
- ...b ? [`Details: ${b}`] : [],
145
- `Version: ${this.version}`
146
- ].join(`
147
- `), f.cause && (this.cause = f.cause), this.details = b, this.docsPath = t, this.metaMessages = f.metaMessages, this.shortMessage = e;
148
- }
149
- walk(e) {
150
- return O(this, v, "m", q).call(this, this, e);
151
- }
152
- }
153
- v = /* @__PURE__ */ new WeakSet(), q = function a(e, f) {
154
- return f != null && f(e) ? e : e.cause ? O(this, v, "m", a).call(this, e.cause, f) : e;
155
- };
156
- class K0 extends g {
157
- constructor() {
158
- super("Connector not connected."), Object.defineProperty(this, "name", {
159
- enumerable: !0,
160
- configurable: !0,
161
- writable: !0,
162
- value: "ConnectorNotConnectedError"
163
- });
164
- }
165
- }
166
- class J0 extends g {
167
- constructor({ address: e, connector: f }) {
168
- super(`Account "${e}" not found for connector "${f.name}".`), Object.defineProperty(this, "name", {
169
- enumerable: !0,
170
- configurable: !0,
171
- writable: !0,
172
- value: "ConnectorAccountNotFoundError"
173
- });
174
- }
175
- }
176
- class Q0 extends g {
177
- constructor({ connectionChainId: e, connectorChainId: f }) {
178
- super(`The current chain of the connector (id: ${f}) does not match the connection's chain (id: ${e}).`, {
179
- metaMessages: [
180
- `Current Chain ID: ${f}`,
181
- `Expected Chain ID: ${e}`
182
- ]
183
- }), Object.defineProperty(this, "name", {
184
- enumerable: !0,
185
- configurable: !0,
186
- writable: !0,
187
- value: "ConnectorChainMismatchError"
188
- });
189
- }
190
- }
191
- class Y0 extends g {
192
- constructor({ connector: e }) {
193
- super(`Connector "${e.name}" unavailable while reconnecting.`, {
194
- details: [
195
- "During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uuid`.",
196
- "All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.",
197
- "This error commonly occurs for connectors that asynchronously inject after reconnection has already started."
198
- ].join(" ")
199
- }), Object.defineProperty(this, "name", {
200
- enumerable: !0,
201
- configurable: !0,
202
- writable: !0,
203
- value: "ConnectorUnavailableReconnectingError"
204
- });
205
- }
206
- }
207
- async function j(a, e = {}) {
208
- let f;
209
- if (e.connector) {
210
- const { connector: s } = e;
211
- if (a.state.status === "reconnecting" && !s.getAccounts && !s.getChainId)
212
- throw new Y0({ connector: s });
213
- const [p, h] = await Promise.all([
214
- s.getAccounts(),
215
- s.getChainId()
216
- ]);
217
- f = {
218
- accounts: p,
219
- chainId: h,
220
- connector: s
221
- };
222
- } else
223
- f = a.state.connections.get(a.state.current);
224
- if (!f)
225
- throw new K0();
226
- const b = e.chainId ?? f.chainId, t = await f.connector.getChainId();
227
- if (t !== f.chainId)
228
- throw new Q0({
229
- connectionChainId: f.chainId,
230
- connectorChainId: t
231
- });
232
- const d = f.connector;
233
- if (d.getClient)
234
- return d.getClient({ chainId: b });
235
- const n = U0(e.account ?? f.accounts[0]);
236
- if (n.address = X0(n.address), e.account && !f.accounts.some((s) => s.toLowerCase() === n.address.toLowerCase()))
237
- throw new J0({
238
- address: n.address,
239
- connector: d
240
- });
241
- const c = a.chains.find((s) => s.id === b), i = await f.connector.getProvider({ chainId: b });
242
- return i0({
243
- account: n,
244
- chain: c,
245
- name: "Connector Client",
246
- transport: (s) => r0(i)({ ...s, retryCount: 0 })
247
- });
248
- }
249
- async function ff(a, e) {
250
- const { abi: f, chainId: b, connector: t, ...d } = e;
251
- let n;
252
- e.account ? n = e.account : n = (await j(a, {
253
- chainId: b,
254
- connector: t
255
- })).account;
256
- const c = a.getClient({ chainId: b }), i = V(c, k0, "simulateContract"), { result: s, request: p } = await i({ ...d, abi: f, account: n });
257
- return {
258
- chainId: c.chain.id,
259
- result: s,
260
- request: { __mode: "prepared", ...p, chainId: b }
261
- };
262
- }
263
- async function S(a, e) {
264
- const { account: f, chainId: b, connector: t, __mode: d, ...n } = e;
265
- let c;
266
- typeof f == "object" && f.type === "local" ? c = a.getClient({ chainId: b }) : c = await j(a, { account: f, chainId: b, connector: t });
267
- const { connector: i } = $(a);
268
- let s;
269
- if (d === "prepared" || i != null && i.supportsSimulation)
270
- s = n;
271
- else {
272
- const { request: r } = await ff(a, {
273
- ...n,
274
- account: f,
275
- chainId: b
276
- });
277
- s = r;
278
- }
279
- return await V(c, z0, "writeContract")({
280
- ...s,
281
- ...f ? { account: f } : {},
282
- chain: b ? { id: b } : null
283
- });
284
- }
285
- function ef(a) {
286
- return a.address !== void 0 && typeof a.address == "object" ? (e, f) => {
287
- var n;
288
- const b = G0(e), t = $(e);
289
- let d;
290
- return f.chainId ? d = f.chainId : f.account && f.account === t.address || f.account === void 0 ? d = t.chainId : d = b, S(e, {
291
- ...f,
292
- ...a.functionName ? { functionName: a.functionName } : {},
293
- address: d ? (n = a.address) == null ? void 0 : n[d] : void 0,
294
- abi: a.abi
295
- });
296
- } : (e, f) => S(e, {
297
- ...f,
298
- ...a.address ? { address: a.address } : {},
299
- ...a.functionName ? { functionName: a.functionName } : {},
300
- abi: a.abi
301
- });
302
- }
303
- const bf = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612b11806101185f395ff3fe608060405260043610610203575f3560e01c8063715018a611610117578063d54ad2a11161009f578063ec87621c1161006e578063ec87621c14610707578063f04e283e14610731578063f2fde38b1461074d578063fe9fbb8014610769578063fee81cf4146107a557610203565b8063d54ad2a11461064f578063db09da1214610679578063dcc21361146106b5578063dcc59b6f146106dd57610203565b8063a4d66daf116100e6578063a4d66daf1461055b578063a871ced214610585578063bb1757cf146105af578063be4994f8146105eb578063c884ef831461061357610203565b8063715018a6146104d057806375b238fc146104da57806377548687146105045780638da5cb5b1461053157610203565b80632de948071161019a578063474f5a4411610169578063474f5a44146103f55780634a4ee7b1146104325780634e7165a21461044e578063514e62fc1461048a57806354d1f13d146104c657610203565b80632de948071461033f57806338d52e0f1461037b5780634359d28a146103a5578063439fab91146103cd57610203565b80631cd64df4116101d65780631cd64df4146102a5578063228cb733146102e1578063256929621461030b57806328d6183b1461031557610203565b806301ffc9a71461020757806307621eca14610243578063183a4f6e1461026d5780631c10893f14610289575b5f80fd5b348015610212575f80fd5b5061022d60048036038101906102289190611abd565b6107e1565b60405161023a9190611b02565b60405180910390f35b34801561024e575f80fd5b5061025761085a565b6040516102649190611b33565b60405180910390f35b61028760048036038101906102829190611b76565b610863565b005b6102a3600480360381019061029e9190611bfb565b610870565b005b3480156102b0575f80fd5b506102cb60048036038101906102c69190611bfb565b610886565b6040516102d89190611b02565b60405180910390f35b3480156102ec575f80fd5b506102f561089c565b6040516103029190611b33565b60405180910390f35b6103136108a2565b005b348015610320575f80fd5b506103296108f3565b6040516103369190611c48565b60405180910390f35b34801561034a575f80fd5b5061036560048036038101906103609190611c61565b61091a565b6040516103729190611b33565b60405180910390f35b348015610386575f80fd5b5061038f610933565b60405161039c9190611c9b565b60405180910390f35b3480156103b0575f80fd5b506103cb60048036038101906103c69190611d6a565b610956565b005b3480156103d8575f80fd5b506103f360048036038101906103ee9190611e3d565b610a64565b005b348015610400575f80fd5b5061041b60048036038101906104169190611e3d565b610ccc565b604051610429929190611e88565b60405180910390f35b61044c60048036038101906104479190611bfb565b610e30565b005b348015610459575f80fd5b50610474600480360381019061046f9190611e3d565b610e46565b6040516104819190611f1f565b60405180910390f35b348015610495575f80fd5b506104b060048036038101906104ab9190611bfb565b610f14565b6040516104bd9190611b02565b60405180910390f35b6104ce610f2b565b005b6104d8610f64565b005b3480156104e5575f80fd5b506104ee610f77565b6040516104fb9190611b33565b60405180910390f35b34801561050f575f80fd5b50610518610f7c565b6040516105289493929190611fe5565b60405180910390f35b34801561053c575f80fd5b50610545610fd1565b6040516105529190611c9b565b60405180910390f35b348015610566575f80fd5b5061056f610ff9565b60405161057c9190611b33565b60405180910390f35b348015610590575f80fd5b50610599610fff565b6040516105a691906120b7565b60405180910390f35b3480156105ba575f80fd5b506105d560048036038101906105d091906120d0565b6110ce565b6040516105e29190611b02565b60405180910390f35b3480156105f6575f80fd5b50610611600480360381019061060c9190612182565b6112c2565b005b34801561061e575f80fd5b5061063960048036038101906106349190611c61565b611378565b6040516106469190611b02565b60405180910390f35b34801561065a575f80fd5b50610663611395565b6040516106709190611b33565b60405180910390f35b348015610684575f80fd5b5061069f600480360381019061069a91906120d0565b61139b565b6040516106ac9190611b02565b60405180910390f35b3480156106c0575f80fd5b506106db60048036038101906106d69190612182565b6113ae565b005b3480156106e8575f80fd5b506106f1611464565b6040516106fe9190611b33565b60405180910390f35b348015610712575f80fd5b5061071b61146a565b6040516107289190611b33565b60405180910390f35b61074b60048036038101906107469190611c61565b61146f565b005b61076760048036038101906107629190611c61565b6114ad565b005b348015610774575f80fd5b5061078f600480360381019061078a9190611c61565b6114d6565b60405161079c9190611b02565b60405180910390f35b3480156107b0575f80fd5b506107cb60048036038101906107c69190611c61565b611529565b6040516107d89190611b33565b60405180910390f35b5f7f90318111000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610853575061085282611542565b5b9050919050565b5f600254905090565b61086d33826115bb565b50565b6108786115ca565b6108828282611601565b5050565b5f81826108928561091a565b1614905092915050565b60025481565b5f6108ab611611565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f9031811100000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026109618161161b565b8282905085859050146109a0576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610a5c575f8484838181106109c1576109c0612200565b5b90506020020160208101906109d69190612257565b90506001151581151503610a1b57610a168787848181106109fa576109f9612200565b5b9050602002016020810190610a0f9190611c61565b6001611601565b610a4e565b610a4d878784818110610a3157610a30612200565b5b9050602002016020810190610a469190611c61565b60016115bb565b5b5080806001019150506109a2565b505050505050565b5f610a6d611650565b90508054600382558015610a9f5760018160011c14303b10610a965763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610aa933611679565b5f8383810190610ab99190612463565b90505f815f015190505f826020015190505f836040015190505f846060015190505f8203610b13576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610b3d308673ffffffffffffffffffffffffffffffffffffffff1661174f90919063ffffffff16565b905082811015610b8b57855f015181846040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610b829392919061248e565b60405180910390fd5b845f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600281905550826004819055505f6005819055508160065f820151815f015f6101000a81548160ff02191690836001811115610c0a57610c09611f3f565b5b0217905550602082015181600101556040820151816002015f6101000a81548160ff021916908360ff16021790555060608201518160020160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050610c8c33611679565b5050505050508015610cc7576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610cd981611782565b5f8585810190610ce991906125dc565b90505f8160200151806020019051810190610d049190612637565b90508060045f828254610d17919061268f565b92505081905550610d6b825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117a99092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610ddd93929190612727565b604051602081830303815290604052604051610df99190611f1f565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610e386115ca565b610e4282826115bb565b5050565b60605f808484810190610e59919061279e565b9250509150604051806080016040528060016002811115610e7d57610e7c611f3f565b5b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610ed99190612817565b604051602081830303815290604052815250604051602001610efb919061291e565b6040516020818303038152906040529250505092915050565b5f8082610f208561091a565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610f6c6115ca565b610f755f6117f2565b565b600281565b6006805f015f9054906101000a900460ff1690806001015490806002015f9054906101000a900460ff16908060020160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b611007611a05565b60066040518060800160405290815f82015f9054906101000a900460ff16600181111561103757611036611f3f565b5b600181111561104957611048611f3f565b5b815260200160018201548152602001600282015f9054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905090565b5f6110d76115ca565b5f83838101906110e791906129c3565b90505f81602001518060200190518101906111029190612637565b90505f61110e876118b8565b611144576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6002540361115557819050611179565b670de0b6b3a76400008260025461116c9190612a0a565b6111769190612a78565b90505b6004548160055461118a9190612aa8565b11156111c2576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f8282546111d39190612aa8565b9250508190555061122487825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117a99092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16898460405160200161129093929190612727565b6040516020818303038152906040526040516112ac9190611f1f565b60405180910390a2600193505050509392505050565b60026112cd8161161b565b82829050858590501461130c576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156113705761136386868381811061132f5761132e612200565b5b90506020020160208101906113449190611c61565b85858481811061135757611356612200565b5b90506020020135611601565b808060010191505061130e565b505050505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f6113a5846118b8565b90509392505050565b60026113b98161161b565b8282905085859050146113f8576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561145c5761144f86868381811061141b5761141a612200565b5b90506020020160208101906114309190611c61565b85858481811061144357611442612200565b5b905060200201356115bb565b80806001019150506113fa565b505050505050565b60015481565b600181565b6114776115ca565b63389a75e1600c52805f526020600c20805442111561149d57636f5e88185f526004601cfd5b5f8155506114aa816117f2565b50565b6114b56115ca565b8060601b6114ca57637448fbae5f526004601cfd5b6114d3816117f2565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff166114f6610fd1565b73ffffffffffffffffffffffffffffffffffffffff1614806115225750611521826002600117610f14565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806115b457506115b3826118c7565b5b9050919050565b6115c682825f611940565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146115ff576382b429005f526004601cfd5b565b61160d82826001611940565b5050565b5f6202a300905090565b638b78c6d81954331461164d57638b78c6d8600c52335f52806020600c20541661164c576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611681611998565b156116f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278054156116bb57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35061174c565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b638b78c6d8600c52335f52806020600c2054166117a6576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166117e9576390b8ec185f526004601cfd5b5f603452505050565b6117fa611998565b1561185f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b82178155506118b5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454600554109050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061193957506119388261199c565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361196257848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60405180608001604052805f6001811115611a2357611a22611f3f565b5b81526020015f80191681526020015f60ff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a9c81611a68565b8114611aa6575f80fd5b50565b5f81359050611ab781611a93565b92915050565b5f60208284031215611ad257611ad1611a60565b5b5f611adf84828501611aa9565b91505092915050565b5f8115159050919050565b611afc81611ae8565b82525050565b5f602082019050611b155f830184611af3565b92915050565b5f819050919050565b611b2d81611b1b565b82525050565b5f602082019050611b465f830184611b24565b92915050565b611b5581611b1b565b8114611b5f575f80fd5b50565b5f81359050611b7081611b4c565b92915050565b5f60208284031215611b8b57611b8a611a60565b5b5f611b9884828501611b62565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611bca82611ba1565b9050919050565b611bda81611bc0565b8114611be4575f80fd5b50565b5f81359050611bf581611bd1565b92915050565b5f8060408385031215611c1157611c10611a60565b5b5f611c1e85828601611be7565b9250506020611c2f85828601611b62565b9150509250929050565b611c4281611a68565b82525050565b5f602082019050611c5b5f830184611c39565b92915050565b5f60208284031215611c7657611c75611a60565b5b5f611c8384828501611be7565b91505092915050565b611c9581611bc0565b82525050565b5f602082019050611cae5f830184611c8c565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611cd557611cd4611cb4565b5b8235905067ffffffffffffffff811115611cf257611cf1611cb8565b5b602083019150836020820283011115611d0e57611d0d611cbc565b5b9250929050565b5f8083601f840112611d2a57611d29611cb4565b5b8235905067ffffffffffffffff811115611d4757611d46611cb8565b5b602083019150836020820283011115611d6357611d62611cbc565b5b9250929050565b5f805f8060408587031215611d8257611d81611a60565b5b5f85013567ffffffffffffffff811115611d9f57611d9e611a64565b5b611dab87828801611cc0565b9450945050602085013567ffffffffffffffff811115611dce57611dcd611a64565b5b611dda87828801611d15565b925092505092959194509250565b5f8083601f840112611dfd57611dfc611cb4565b5b8235905067ffffffffffffffff811115611e1a57611e19611cb8565b5b602083019150836001820283011115611e3657611e35611cbc565b5b9250929050565b5f8060208385031215611e5357611e52611a60565b5b5f83013567ffffffffffffffff811115611e7057611e6f611a64565b5b611e7c85828601611de8565b92509250509250929050565b5f604082019050611e9b5f830185611b24565b611ea86020830184611c8c565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ef182611eaf565b611efb8185611eb9565b9350611f0b818560208601611ec9565b611f1481611ed7565b840191505092915050565b5f6020820190508181035f830152611f378184611ee7565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110611f7d57611f7c611f3f565b5b50565b5f819050611f8d82611f6c565b919050565b5f611f9c82611f80565b9050919050565b611fac81611f92565b82525050565b5f819050919050565b611fc481611fb2565b82525050565b5f60ff82169050919050565b611fdf81611fca565b82525050565b5f608082019050611ff85f830187611fa3565b6120056020830186611fbb565b6120126040830185611fd6565b61201f6060830184611c8c565b95945050505050565b61203181611f92565b82525050565b61204081611fb2565b82525050565b61204f81611fca565b82525050565b61205e81611bc0565b82525050565b608082015f8201516120785f850182612028565b50602082015161208b6020850182612037565b50604082015161209e6040850182612046565b5060608201516120b16060850182612055565b50505050565b5f6080820190506120ca5f830184612064565b92915050565b5f805f604084860312156120e7576120e6611a60565b5b5f6120f486828701611be7565b935050602084013567ffffffffffffffff81111561211557612114611a64565b5b61212186828701611de8565b92509250509250925092565b5f8083601f84011261214257612141611cb4565b5b8235905067ffffffffffffffff81111561215f5761215e611cb8565b5b60208301915083602082028301111561217b5761217a611cbc565b5b9250929050565b5f805f806040858703121561219a57612199611a60565b5b5f85013567ffffffffffffffff8111156121b7576121b6611a64565b5b6121c387828801611cc0565b9450945050602085013567ffffffffffffffff8111156121e6576121e5611a64565b5b6121f28782880161212d565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b61223681611ae8565b8114612240575f80fd5b50565b5f813590506122518161222d565b92915050565b5f6020828403121561226c5761226b611a60565b5b5f61227984828501612243565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122bc82611ed7565b810181811067ffffffffffffffff821117156122db576122da612286565b5b80604052505050565b5f6122ed611a57565b90506122f982826122b3565b919050565b5f80fd5b6002811061230e575f80fd5b50565b5f8135905061231f81612302565b92915050565b61232e81611fb2565b8114612338575f80fd5b50565b5f8135905061234981612325565b92915050565b61235881611fca565b8114612362575f80fd5b50565b5f813590506123738161234f565b92915050565b5f6080828403121561238e5761238d612282565b5b61239860806122e4565b90505f6123a784828501612311565b5f8301525060206123ba8482850161233b565b60208301525060406123ce84828501612365565b60408301525060606123e284828501611be7565b60608301525092915050565b5f60e0828403121561240357612402612282565b5b61240d60806122e4565b90505f61241c84828501611be7565b5f83015250602061242f84828501611b62565b602083015250604061244384828501611b62565b604083015250606061245784828501612379565b60608301525092915050565b5f60e0828403121561247857612477611a60565b5b5f612485848285016123ee565b91505092915050565b5f6060820190506124a15f830186611c8c565b6124ae6020830185611b24565b6124bb6040830184611b24565b949350505050565b5f80fd5b5f67ffffffffffffffff8211156124e1576124e0612286565b5b6124ea82611ed7565b9050602081019050919050565b828183375f83830152505050565b5f612517612512846124c7565b6122e4565b905082815260208101848484011115612533576125326124c3565b5b61253e8482856124f7565b509392505050565b5f82601f83011261255a57612559611cb4565b5b813561256a848260208601612505565b91505092915050565b5f6040828403121561258857612587612282565b5b61259260406122e4565b90505f6125a184828501611be7565b5f83015250602082013567ffffffffffffffff8111156125c4576125c36122fe565b5b6125d084828501612546565b60208301525092915050565b5f602082840312156125f1576125f0611a60565b5b5f82013567ffffffffffffffff81111561260e5761260d611a64565b5b61261a84828501612573565b91505092915050565b5f8151905061263181611b4c565b92915050565b5f6020828403121561264c5761264b611a60565b5b5f61265984828501612623565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61269982611b1b565b91506126a483611b1b565b92508282039050818111156126bc576126bb612662565b5b92915050565b5f8160601b9050919050565b5f6126d8826126c2565b9050919050565b5f6126e9826126ce565b9050919050565b6127016126fc82611bc0565b6126df565b82525050565b5f819050919050565b61272161271c82611b1b565b612707565b82525050565b5f61273282866126f0565b60148201915061274282856126f0565b6014820191506127528284612710565b602082019150819050949350505050565b5f61276d82611ba1565b9050919050565b61277d81612763565b8114612787575f80fd5b50565b5f8135905061279881612774565b92915050565b5f805f606084860312156127b5576127b4611a60565b5b5f6127c28682870161278a565b93505060206127d386828701611b62565b92505060406127e486828701611b62565b9150509250925092565b6127f781611b1b565b82525050565b602082015f8201516128115f8501826127ee565b50505050565b5f60208201905061282a5f8301846127fd565b92915050565b6003811061284157612840611f3f565b5b50565b5f81905061285182612830565b919050565b5f61286082612844565b9050919050565b61287081612856565b82525050565b5f82825260208201905092915050565b5f61289082611eaf565b61289a8185612876565b93506128aa818560208601611ec9565b6128b381611ed7565b840191505092915050565b5f608083015f8301516128d35f860182612867565b5060208301516128e66020860182612055565b5060408301516128f96040860182612055565b50606083015184820360608601526129118282612886565b9150508091505092915050565b5f6020820190508181035f83015261293681846128be565b905092915050565b5f6040828403121561295357612952612282565b5b61295d60406122e4565b90505f82013567ffffffffffffffff81111561297c5761297b6122fe565b5b61298884828501612546565b5f83015250602082013567ffffffffffffffff8111156129ab576129aa6122fe565b5b6129b784828501612546565b60208301525092915050565b5f602082840312156129d8576129d7611a60565b5b5f82013567ffffffffffffffff8111156129f5576129f4611a64565b5b612a018482850161293e565b91505092915050565b5f612a1482611b1b565b9150612a1f83611b1b565b9250828202612a2d81611b1b565b91508282048414831517612a4457612a43612662565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612a8282611b1b565b9150612a8d83611b1b565b925082612a9d57612a9c612a4b565b5b828204905092915050565b5f612ab282611b1b565b9150612abd83611b1b565b9250828201905080821115612ad557612ad4612662565b5b9291505056fea264697066735822122088f94b42df208a46ce42b778ca64ec72184f49c28f9e1521dea9b44eb0201ee864736f6c634300081a0033", tf = {
304
- "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": {
305
- name: "Transfer",
306
- type: "event",
307
- inputs: [
308
- {
309
- type: "address",
310
- indexed: !0
311
- },
312
- {
313
- type: "address",
314
- indexed: !0
315
- },
316
- {
317
- type: "uint256",
318
- indexed: !0
319
- }
320
- ]
321
- },
322
- "Transfer(address indexed,address indexed,uint256 indexed)": {
323
- name: "Transfer",
324
- type: "event",
325
- inputs: [
326
- {
327
- type: "address",
328
- indexed: !0
329
- },
330
- {
331
- type: "address",
332
- indexed: !0
333
- },
334
- {
335
- type: "uint256",
336
- indexed: !0
337
- }
338
- ]
339
- },
340
- "0xb362243af1e2070d7d5bf8d713f2e0fab64203f1b71462afbe20572909788c5e": {
341
- name: "Purchased",
342
- type: "event",
343
- inputs: [
344
- {
345
- type: "address",
346
- indexed: !0
347
- },
348
- {
349
- type: "address",
350
- indexed: !0
351
- },
352
- {
353
- type: "uint256",
354
- indexed: !0
355
- },
356
- {
357
- type: "uint256"
358
- },
359
- {
360
- type: "uint256"
361
- }
362
- ]
363
- },
364
- "Purchased(address indexed,address indexed,uint256 indexed,uint256,uint256)": {
365
- name: "Purchased",
366
- type: "event",
367
- inputs: [
368
- {
369
- type: "address",
370
- indexed: !0
371
- },
372
- {
373
- type: "address",
374
- indexed: !0
375
- },
376
- {
377
- type: "uint256",
378
- indexed: !0
379
- },
380
- {
381
- type: "uint256"
382
- },
383
- {
384
- type: "uint256"
385
- }
386
- ]
387
- },
388
- "0x69e37f151eb98a09618ddaa80c8cfaf1ce5996867c489f45b555b412271ebf27": {
389
- name: "NameRegistered",
390
- type: "event",
391
- inputs: [
392
- {
393
- type: "string"
394
- },
395
- {
396
- type: "bytes32"
397
- },
398
- {
399
- type: "address"
400
- },
401
- {
402
- type: "uint256"
403
- },
404
- {
405
- type: "uint256"
406
- },
407
- {
408
- type: "uint256"
409
- }
410
- ]
411
- },
412
- "NameRegistered(string,bytes32,address,uint256,uint256,uint256)": {
413
- name: "NameRegistered",
414
- type: "event",
415
- inputs: [
416
- {
417
- type: "string"
418
- },
419
- {
420
- type: "bytes32"
421
- },
422
- {
423
- type: "address"
424
- },
425
- {
426
- type: "uint256"
427
- },
428
- {
429
- type: "uint256"
430
- },
431
- {
432
- type: "uint256"
433
- }
434
- ]
435
- },
436
- "0x3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f": {
437
- name: "DelegateChanged",
438
- type: "event",
439
- inputs: [
440
- {
441
- type: "address",
442
- indexed: !0
443
- },
444
- {
445
- type: "address",
446
- indexed: !0
447
- },
448
- {
449
- type: "address",
450
- indexed: !0
451
- }
452
- ]
453
- },
454
- "DelegateChanged(address indexed,address indexed,address indexed)": {
455
- name: "DelegateChanged",
456
- type: "event",
457
- inputs: [
458
- {
459
- type: "address",
460
- indexed: !0
461
- },
462
- {
463
- type: "address",
464
- indexed: !0
465
- },
466
- {
467
- type: "address",
468
- indexed: !0
469
- }
470
- ]
471
- },
472
- "0xe00361d207b252a464323eb23d45d42583e391f2031acdd2e9fa36efddd43cb0": {
473
- name: "SwappedV3",
474
- type: "event",
475
- inputs: [
476
- {
477
- type: "bytes16"
478
- },
479
- {
480
- type: "address"
481
- },
482
- {
483
- type: "uint256"
484
- },
485
- {
486
- type: "address"
487
- },
488
- {
489
- type: "address",
490
- indexed: !0
491
- },
492
- {
493
- type: "address",
494
- indexed: !0
495
- },
496
- {
497
- type: "address",
498
- indexed: !0
499
- },
500
- {
501
- type: "uint256"
502
- },
503
- {
504
- type: "uint256"
505
- },
506
- {
507
- type: "uint256"
508
- }
509
- ]
510
- },
511
- "SwappedV3(bytes16,address,uint256,address,address indexed,address indexed,address indexed,uint256,uint256,uint256)": {
512
- name: "SwappedV3",
513
- type: "event",
514
- inputs: [
515
- {
516
- type: "bytes16"
517
- },
518
- {
519
- type: "address"
520
- },
521
- {
522
- type: "uint256"
523
- },
524
- {
525
- type: "address"
526
- },
527
- {
528
- type: "address",
529
- indexed: !0
530
- },
531
- {
532
- type: "address",
533
- indexed: !0
534
- },
535
- {
536
- type: "address",
537
- indexed: !0
538
- },
539
- {
540
- type: "uint256"
541
- },
542
- {
543
- type: "uint256"
544
- },
545
- {
546
- type: "uint256"
547
- }
548
- ]
549
- },
550
- "0xb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4": {
551
- name: "VoteCast",
552
- type: "event",
553
- inputs: [
554
- {
555
- type: "address",
556
- indexed: !0
557
- },
558
- {
559
- type: "uint256"
560
- },
561
- {
562
- type: "uint8"
563
- },
564
- {
565
- type: "uint256"
566
- },
567
- {
568
- type: "string"
569
- }
570
- ]
571
- },
572
- "VoteCast(address indexed,uint256,uint8,uint256,string)": {
573
- name: "VoteCast",
574
- type: "event",
575
- inputs: [
576
- {
577
- type: "address",
578
- indexed: !0
579
- },
580
- {
581
- type: "uint256"
582
- },
583
- {
584
- type: "uint8"
585
- },
586
- {
587
- type: "uint256"
588
- },
589
- {
590
- type: "string"
591
- }
592
- ]
593
- },
594
- "0x7ac572687bf4e66a8514fc2ec464fc2644c78bcb1d80a225fc51a33e0ee38bfa": {
595
- name: "Minted",
596
- type: "event",
597
- inputs: [
598
- {
599
- type: "uint8"
600
- },
601
- {
602
- type: "address"
603
- },
604
- {
605
- type: "uint256"
606
- },
607
- {
608
- type: "uint256"
609
- }
610
- ]
611
- },
612
- "Minted(uint8,address,uint256,uint256)": {
613
- name: "Minted",
614
- type: "event",
615
- inputs: [
616
- {
617
- type: "uint8"
618
- },
619
- {
620
- type: "address"
621
- },
622
- {
623
- type: "uint256"
624
- },
625
- {
626
- type: "uint256"
627
- }
628
- ]
629
- },
630
- "0x2a29f7402bd32f0e4bbe17d44be064f7f64d96ee174ed7cb27936d869bf9a888": {
631
- name: "Minted",
632
- type: "event",
633
- inputs: [
634
- {
635
- type: "address",
636
- indexed: !0
637
- },
638
- {
639
- type: "uint8"
640
- },
641
- {
642
- type: "uint8"
643
- },
644
- {
645
- type: "address",
646
- indexed: !0
647
- },
648
- {
649
- type: "tuple",
650
- components: [
651
- {
652
- type: "uint32"
653
- },
654
- {
655
- type: "uint256"
656
- },
657
- {
658
- type: "address"
659
- },
660
- {
661
- type: "uint32"
662
- },
663
- {
664
- type: "uint32"
665
- },
666
- {
667
- type: "uint32"
668
- },
669
- {
670
- type: "address"
671
- },
672
- {
673
- type: "bool"
674
- },
675
- {
676
- type: "uint256"
677
- },
678
- {
679
- type: "uint256"
680
- },
681
- {
682
- type: "uint256"
683
- },
684
- {
685
- type: "uint256"
686
- },
687
- {
688
- type: "uint256"
689
- }
690
- ]
691
- },
692
- {
693
- type: "uint256",
694
- indexed: !0
695
- }
696
- ]
697
- },
698
- "Minted(address indexed,uint8,uint8,address indexed,(uint32,uint256,address,uint32,uint32,uint32,address,bool,uint256,uint256,uint256,uint256,uint256),uint256 indexed)": {
699
- name: "Minted",
700
- type: "event",
701
- inputs: [
702
- {
703
- type: "address",
704
- indexed: !0
705
- },
706
- {
707
- type: "uint8"
708
- },
709
- {
710
- type: "uint8"
711
- },
712
- {
713
- type: "address",
714
- indexed: !0
715
- },
716
- {
717
- type: "tuple",
718
- components: [
719
- {
720
- type: "uint32"
721
- },
722
- {
723
- type: "uint256"
724
- },
725
- {
726
- type: "address"
727
- },
728
- {
729
- type: "uint32"
730
- },
731
- {
732
- type: "uint32"
733
- },
734
- {
735
- type: "uint32"
736
- },
737
- {
738
- type: "address"
739
- },
740
- {
741
- type: "bool"
742
- },
743
- {
744
- type: "uint256"
745
- },
746
- {
747
- type: "uint256"
748
- },
749
- {
750
- type: "uint256"
751
- },
752
- {
753
- type: "uint256"
754
- },
755
- {
756
- type: "uint256"
757
- }
758
- ]
759
- },
760
- {
761
- type: "uint256",
762
- indexed: !0
763
- }
764
- ]
765
- },
766
- "0xc773e203af3f3079b18c21f98bb8d8ccd2fea097d631d448df89de4edbe7a2a8": {
767
- name: "ZoraTimedSaleStrategyRewards",
768
- type: "event",
769
- inputs: [
770
- {
771
- type: "address",
772
- indexed: !0
773
- },
774
- {
775
- type: "uint256",
776
- indexed: !0
777
- },
778
- {
779
- type: "address"
780
- },
781
- {
782
- type: "uint256"
783
- },
784
- {
785
- type: "address"
786
- },
787
- {
788
- type: "uint256"
789
- },
790
- {
791
- type: "address"
792
- },
793
- {
794
- type: "uint256"
795
- },
796
- {
797
- type: "address"
798
- },
799
- {
800
- type: "uint256"
801
- },
802
- {
803
- type: "address"
804
- },
805
- {
806
- type: "uint256"
807
- }
808
- ]
809
- },
810
- "ZoraTimedSaleStrategyRewards(address indexed,uint256 indexed,address,uint256,address,uint256,address,uint256,address,uint256,address,uint256)": {
811
- name: "ZoraTimedSaleStrategyRewards",
812
- type: "event",
813
- inputs: [
814
- {
815
- type: "address",
816
- indexed: !0
817
- },
818
- {
819
- type: "uint256",
820
- indexed: !0
821
- },
822
- {
823
- type: "address"
824
- },
825
- {
826
- type: "uint256"
827
- },
828
- {
829
- type: "address"
830
- },
831
- {
832
- type: "uint256"
833
- },
834
- {
835
- type: "address"
836
- },
837
- {
838
- type: "uint256"
839
- },
840
- {
841
- type: "address"
842
- },
843
- {
844
- type: "uint256"
845
- },
846
- {
847
- type: "address"
848
- },
849
- {
850
- type: "uint256"
851
- }
852
- ]
853
- },
854
- "0x883a883a9ea847654d33471b1e5fb2dea76a2cfc86a6cc7da6c14102800e4d0b": {
855
- name: "InfoIndexed",
856
- type: "event",
857
- inputs: [
858
- {
859
- type: "address",
860
- indexed: !0
861
- },
862
- {
863
- type: "string",
864
- indexed: !0
865
- }
866
- ]
867
- },
868
- "InfoIndexed(address indexed,string indexed)": {
869
- name: "InfoIndexed",
870
- type: "event",
871
- inputs: [
872
- {
873
- type: "address",
874
- indexed: !0
875
- },
876
- {
877
- type: "string",
878
- indexed: !0
879
- }
880
- ]
881
- },
882
- "0xe46343e36b0721f173bdc76b8f25c08b04f417df09c27e1e83ba1980007fef8c": {
883
- name: "Info",
884
- type: "event",
885
- inputs: [
886
- {
887
- type: "address"
888
- },
889
- {
890
- type: "string"
891
- }
892
- ]
893
- },
894
- "Info(address,string)": {
895
- name: "Info",
896
- type: "event",
897
- inputs: [
898
- {
899
- type: "address"
900
- },
901
- {
902
- type: "string"
903
- }
904
- ]
905
- }
906
- }, af = {
907
- "Transfer(address indexed,address indexed,uint256 indexed)": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
908
- "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": "Transfer(address indexed,address indexed,uint256 indexed)",
909
- "Purchased(address indexed,address indexed,uint256 indexed,uint256,uint256)": "0xb362243af1e2070d7d5bf8d713f2e0fab64203f1b71462afbe20572909788c5e",
910
- "0xb362243af1e2070d7d5bf8d713f2e0fab64203f1b71462afbe20572909788c5e": "Purchased(address indexed,address indexed,uint256 indexed,uint256,uint256)",
911
- "NameRegistered(string,bytes32,address,uint256,uint256,uint256)": "0x69e37f151eb98a09618ddaa80c8cfaf1ce5996867c489f45b555b412271ebf27",
912
- "0x69e37f151eb98a09618ddaa80c8cfaf1ce5996867c489f45b555b412271ebf27": "NameRegistered(string,bytes32,address,uint256,uint256,uint256)",
913
- "DelegateChanged(address indexed,address indexed,address indexed)": "0x3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f",
914
- "0x3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f": "DelegateChanged(address indexed,address indexed,address indexed)",
915
- "SwappedV3(bytes16,address,uint256,address,address indexed,address indexed,address indexed,uint256,uint256,uint256)": "0xe00361d207b252a464323eb23d45d42583e391f2031acdd2e9fa36efddd43cb0",
916
- "0xe00361d207b252a464323eb23d45d42583e391f2031acdd2e9fa36efddd43cb0": "SwappedV3(bytes16,address,uint256,address,address indexed,address indexed,address indexed,uint256,uint256,uint256)",
917
- "VoteCast(address indexed,uint256,uint8,uint256,string)": "0xb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4",
918
- "0xb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4": "VoteCast(address indexed,uint256,uint8,uint256,string)",
919
- "Minted(uint8,address,uint256,uint256)": "0x7ac572687bf4e66a8514fc2ec464fc2644c78bcb1d80a225fc51a33e0ee38bfa",
920
- "0x7ac572687bf4e66a8514fc2ec464fc2644c78bcb1d80a225fc51a33e0ee38bfa": "Minted(uint8,address,uint256,uint256)",
921
- "Minted(address indexed,uint8,uint8,address indexed,(uint32,uint256,address,uint32,uint32,uint32,address,bool,uint256,uint256,uint256,uint256,uint256),uint256 indexed)": "0x2a29f7402bd32f0e4bbe17d44be064f7f64d96ee174ed7cb27936d869bf9a888",
922
- "0x2a29f7402bd32f0e4bbe17d44be064f7f64d96ee174ed7cb27936d869bf9a888": "Minted(address indexed,uint8,uint8,address indexed,(uint32,uint256,address,uint32,uint32,uint32,address,bool,uint256,uint256,uint256,uint256,uint256),uint256 indexed)",
923
- "ZoraTimedSaleStrategyRewards(address indexed,uint256 indexed,address,uint256,address,uint256,address,uint256,address,uint256,address,uint256)": "0xc773e203af3f3079b18c21f98bb8d8ccd2fea097d631d448df89de4edbe7a2a8",
924
- "0xc773e203af3f3079b18c21f98bb8d8ccd2fea097d631d448df89de4edbe7a2a8": "ZoraTimedSaleStrategyRewards(address indexed,uint256 indexed,address,uint256,address,uint256,address,uint256,address,uint256,address,uint256)",
925
- "InfoIndexed(address indexed,string indexed)": "0x883a883a9ea847654d33471b1e5fb2dea76a2cfc86a6cc7da6c14102800e4d0b",
926
- "0x883a883a9ea847654d33471b1e5fb2dea76a2cfc86a6cc7da6c14102800e4d0b": "InfoIndexed(address indexed,string indexed)",
927
- "Info(address,string)": "0xe46343e36b0721f173bdc76b8f25c08b04f417df09c27e1e83ba1980007fef8c",
928
- "0xe46343e36b0721f173bdc76b8f25c08b04f417df09c27e1e83ba1980007fef8c": "Info(address,string)"
929
- }, df = {
930
- abi: tf,
931
- selectors: af
932
- }, nf = {
933
- "0x0000000000000000000000000000000000000000000000000000000040c10f19": {
934
- name: "mint",
935
- type: "function",
936
- stateMutability: "nonpayable",
937
- inputs: [
938
- {
939
- type: "address",
940
- name: "to"
941
- },
942
- {
943
- type: "uint256",
944
- name: "amount"
945
- }
946
- ],
947
- outputs: []
948
- },
949
- "mint(address to, uint256 amount)": {
950
- name: "mint",
951
- type: "function",
952
- stateMutability: "nonpayable",
953
- inputs: [
954
- {
955
- type: "address",
956
- name: "to"
957
- },
958
- {
959
- type: "uint256",
960
- name: "amount"
961
- }
962
- ],
963
- outputs: []
964
- },
965
- "0x00000000000000000000000000000000000000000000000000000000a836f32f": {
966
- name: "mint",
967
- type: "function",
968
- stateMutability: "nonpayable",
969
- inputs: [
970
- {
971
- type: "address",
972
- name: "mintTo"
973
- },
974
- {
975
- type: "uint256",
976
- name: "quantity"
977
- },
978
- {
979
- type: "address",
980
- name: "collection"
981
- },
982
- {
983
- type: "uint256",
984
- name: "tokenId"
985
- },
986
- {
987
- type: "address",
988
- name: "mintReferral"
989
- },
990
- {
991
- type: "string",
992
- name: "comment"
993
- }
994
- ],
995
- outputs: []
996
- },
997
- "mint(address mintTo,uint256 quantity,address collection,uint256 tokenId,address mintReferral,string comment)": {
998
- name: "mint",
999
- type: "function",
1000
- stateMutability: "nonpayable",
1001
- inputs: [
1002
- {
1003
- type: "address",
1004
- name: "mintTo"
1005
- },
1006
- {
1007
- type: "uint256",
1008
- name: "quantity"
1009
- },
1010
- {
1011
- type: "address",
1012
- name: "collection"
1013
- },
1014
- {
1015
- type: "uint256",
1016
- name: "tokenId"
1017
- },
1018
- {
1019
- type: "address",
1020
- name: "mintReferral"
1021
- },
1022
- {
1023
- type: "string",
1024
- name: "comment"
1025
- }
1026
- ],
1027
- outputs: []
1028
- },
1029
- "0x0000000000000000000000000000000000000000000000000000000017d304b0": {
1030
- name: "mintPayable",
1031
- type: "function",
1032
- stateMutability: "nonpayable",
1033
- inputs: [
1034
- {
1035
- type: "address",
1036
- name: "to"
1037
- },
1038
- {
1039
- type: "uint256",
1040
- name: "amount"
1041
- }
1042
- ],
1043
- outputs: []
1044
- },
1045
- "mintPayable(address to, uint256 amount)": {
1046
- name: "mintPayable",
1047
- type: "function",
1048
- stateMutability: "nonpayable",
1049
- inputs: [
1050
- {
1051
- type: "address",
1052
- name: "to"
1053
- },
1054
- {
1055
- type: "uint256",
1056
- name: "amount"
1057
- }
1058
- ],
1059
- outputs: []
1060
- },
1061
- "0x0000000000000000000000000000000000000000000000000000000024856bc3": {
1062
- name: "execute",
1063
- type: "function",
1064
- stateMutability: "nonpayable",
1065
- inputs: [
1066
- {
1067
- type: "bytes",
1068
- name: "commands"
1069
- },
1070
- {
1071
- type: "bytes[]",
1072
- name: "inputs"
1073
- }
1074
- ],
1075
- outputs: []
1076
- },
1077
- "execute(bytes commands,bytes[] inputs)": {
1078
- name: "execute",
1079
- type: "function",
1080
- stateMutability: "nonpayable",
1081
- inputs: [
1082
- {
1083
- type: "bytes",
1084
- name: "commands"
1085
- },
1086
- {
1087
- type: "bytes[]",
1088
- name: "inputs"
1089
- }
1090
- ],
1091
- outputs: []
1092
- },
1093
- "0x0000000000000000000000000000000000000000000000000000000074694a2b": {
1094
- name: "register",
1095
- type: "function",
1096
- stateMutability: "nonpayable",
1097
- inputs: [
1098
- {
1099
- type: "string",
1100
- name: "name"
1101
- },
1102
- {
1103
- type: "address",
1104
- name: "owner"
1105
- },
1106
- {
1107
- type: "uint256",
1108
- name: "duration"
1109
- },
1110
- {
1111
- type: "bytes32",
1112
- name: "secret"
1113
- },
1114
- {
1115
- type: "address",
1116
- name: "resolver"
1117
- },
1118
- {
1119
- type: "bytes[]",
1120
- name: "data"
1121
- },
1122
- {
1123
- type: "bool",
1124
- name: "reverseRecord"
1125
- },
1126
- {
1127
- type: "uint16",
1128
- name: "ownerControlledFuses"
1129
- }
1130
- ],
1131
- outputs: []
1132
- },
1133
- "register(string name,address owner,uint256 duration,bytes32 secret,address resolver,bytes[] data,bool reverseRecord,uint16 ownerControlledFuses)": {
1134
- name: "register",
1135
- type: "function",
1136
- stateMutability: "nonpayable",
1137
- inputs: [
1138
- {
1139
- type: "string",
1140
- name: "name"
1141
- },
1142
- {
1143
- type: "address",
1144
- name: "owner"
1145
- },
1146
- {
1147
- type: "uint256",
1148
- name: "duration"
1149
- },
1150
- {
1151
- type: "bytes32",
1152
- name: "secret"
1153
- },
1154
- {
1155
- type: "address",
1156
- name: "resolver"
1157
- },
1158
- {
1159
- type: "bytes[]",
1160
- name: "data"
1161
- },
1162
- {
1163
- type: "bool",
1164
- name: "reverseRecord"
1165
- },
1166
- {
1167
- type: "uint16",
1168
- name: "ownerControlledFuses"
1169
- }
1170
- ],
1171
- outputs: []
1172
- },
1173
- "0x00000000000000000000000000000000000000000000000000000000eb9019d4": {
1174
- name: "getVotes",
1175
- type: "function",
1176
- stateMutability: "view",
1177
- inputs: [
1178
- {
1179
- type: "address",
1180
- name: "account"
1181
- },
1182
- {
1183
- type: "uint256",
1184
- name: "blockNumber"
1185
- }
1186
- ],
1187
- outputs: [
1188
- {
1189
- type: "uint256"
1190
- }
1191
- ]
1192
- },
1193
- "getVotes(address account, uint256 blockNumber) view returns (uint256)": {
1194
- name: "getVotes",
1195
- type: "function",
1196
- stateMutability: "view",
1197
- inputs: [
1198
- {
1199
- type: "address",
1200
- name: "account"
1201
- },
1202
- {
1203
- type: "uint256",
1204
- name: "blockNumber"
1205
- }
1206
- ],
1207
- outputs: [
1208
- {
1209
- type: "uint256"
1210
- }
1211
- ]
1212
- },
1213
- "0x0000000000000000000000000000000000000000000000000000000023b872dd": {
1214
- name: "transferFrom",
1215
- type: "function",
1216
- stateMutability: "nonpayable",
1217
- inputs: [
1218
- {
1219
- type: "address"
1220
- },
1221
- {
1222
- type: "address"
1223
- },
1224
- {
1225
- type: "uint256"
1226
- }
1227
- ],
1228
- outputs: []
1229
- },
1230
- "transferFrom(address,address,uint256)": {
1231
- name: "transferFrom",
1232
- type: "function",
1233
- stateMutability: "nonpayable",
1234
- inputs: [
1235
- {
1236
- type: "address"
1237
- },
1238
- {
1239
- type: "address"
1240
- },
1241
- {
1242
- type: "uint256"
1243
- }
1244
- ],
1245
- outputs: []
1246
- },
1247
- "0x000000000000000000000000000000000000000000000000000000004a04a1c9": {
1248
- name: "mintTo",
1249
- type: "function",
1250
- stateMutability: "nonpayable",
1251
- inputs: [
1252
- {
1253
- type: "tuple",
1254
- components: [
1255
- {
1256
- type: "address"
1257
- },
1258
- {
1259
- type: "uint8"
1260
- },
1261
- {
1262
- type: "uint8"
1263
- },
1264
- {
1265
- type: "address"
1266
- },
1267
- {
1268
- type: "uint32"
1269
- },
1270
- {
1271
- type: "address"
1272
- },
1273
- {
1274
- type: "uint32"
1275
- },
1276
- {
1277
- type: "bytes32[]"
1278
- },
1279
- {
1280
- type: "uint96"
1281
- },
1282
- {
1283
- type: "uint32"
1284
- },
1285
- {
1286
- type: "uint32"
1287
- },
1288
- {
1289
- type: "uint32"
1290
- },
1291
- {
1292
- type: "bytes"
1293
- },
1294
- {
1295
- type: "address"
1296
- },
1297
- {
1298
- type: "bytes32[]"
1299
- },
1300
- {
1301
- type: "uint256"
1302
- }
1303
- ]
1304
- }
1305
- ],
1306
- outputs: []
1307
- },
1308
- "mintTo((address,uint8,uint8,address,uint32,address,uint32,bytes32[],uint96,uint32,uint32,uint32,bytes,address,bytes32[],uint256))": {
1309
- name: "mintTo",
1310
- type: "function",
1311
- stateMutability: "nonpayable",
1312
- inputs: [
1313
- {
1314
- type: "tuple",
1315
- components: [
1316
- {
1317
- type: "address"
1318
- },
1319
- {
1320
- type: "uint8"
1321
- },
1322
- {
1323
- type: "uint8"
1324
- },
1325
- {
1326
- type: "address"
1327
- },
1328
- {
1329
- type: "uint32"
1330
- },
1331
- {
1332
- type: "address"
1333
- },
1334
- {
1335
- type: "uint32"
1336
- },
1337
- {
1338
- type: "bytes32[]"
1339
- },
1340
- {
1341
- type: "uint96"
1342
- },
1343
- {
1344
- type: "uint32"
1345
- },
1346
- {
1347
- type: "uint32"
1348
- },
1349
- {
1350
- type: "uint32"
1351
- },
1352
- {
1353
- type: "bytes"
1354
- },
1355
- {
1356
- type: "address"
1357
- },
1358
- {
1359
- type: "bytes32[]"
1360
- },
1361
- {
1362
- type: "uint256"
1363
- }
1364
- ]
1365
- }
1366
- ],
1367
- outputs: []
1368
- },
1369
- "0x00000000000000000000000000000000000000000000000000000000b3836da9": {
1370
- name: "buy1155",
1371
- type: "function",
1372
- stateMutability: "nonpayable",
1373
- inputs: [
1374
- {
1375
- type: "address",
1376
- name: "erc20zAddress"
1377
- },
1378
- {
1379
- type: "uint256",
1380
- name: "num1155ToBuy"
1381
- },
1382
- {
1383
- type: "address",
1384
- name: "recipient"
1385
- },
1386
- {
1387
- type: "address",
1388
- name: "excessRefundRecipient"
1389
- },
1390
- {
1391
- type: "uint256",
1392
- name: "maxEthToSpend"
1393
- },
1394
- {
1395
- type: "uint160",
1396
- name: "sqrtPriceLimitX96"
1397
- }
1398
- ],
1399
- outputs: []
1400
- },
1401
- "buy1155(address erc20zAddress, uint256 num1155ToBuy, address recipient, address excessRefundRecipient, uint256 maxEthToSpend, uint160 sqrtPriceLimitX96)": {
1402
- name: "buy1155",
1403
- type: "function",
1404
- stateMutability: "nonpayable",
1405
- inputs: [
1406
- {
1407
- type: "address",
1408
- name: "erc20zAddress"
1409
- },
1410
- {
1411
- type: "uint256",
1412
- name: "num1155ToBuy"
1413
- },
1414
- {
1415
- type: "address",
1416
- name: "recipient"
1417
- },
1418
- {
1419
- type: "address",
1420
- name: "excessRefundRecipient"
1421
- },
1422
- {
1423
- type: "uint256",
1424
- name: "maxEthToSpend"
1425
- },
1426
- {
1427
- type: "uint160",
1428
- name: "sqrtPriceLimitX96"
1429
- }
1430
- ],
1431
- outputs: []
1432
- },
1433
- "0x000000000000000000000000000000000000000000000000000000006a627842": {
1434
- name: "mint",
1435
- type: "function",
1436
- stateMutability: "nonpayable",
1437
- inputs: [
1438
- {
1439
- type: "address"
1440
- }
1441
- ],
1442
- outputs: []
1443
- },
1444
- "mint(address)": {
1445
- name: "mint",
1446
- type: "function",
1447
- stateMutability: "nonpayable",
1448
- inputs: [
1449
- {
1450
- type: "address"
1451
- }
1452
- ],
1453
- outputs: []
1454
- }
1455
- }, cf = {
1456
- "mint(address to, uint256 amount)": "0x0000000000000000000000000000000000000000000000000000000040c10f19",
1457
- "0x0000000000000000000000000000000000000000000000000000000040c10f19": "mint(address to, uint256 amount)",
1458
- "mint(address mintTo,uint256 quantity,address collection,uint256 tokenId,address mintReferral,string comment)": "0x00000000000000000000000000000000000000000000000000000000a836f32f",
1459
- "0x00000000000000000000000000000000000000000000000000000000a836f32f": "mint(address mintTo,uint256 quantity,address collection,uint256 tokenId,address mintReferral,string comment)",
1460
- "mintPayable(address to, uint256 amount)": "0x0000000000000000000000000000000000000000000000000000000017d304b0",
1461
- "0x0000000000000000000000000000000000000000000000000000000017d304b0": "mintPayable(address to, uint256 amount)",
1462
- "execute(bytes commands,bytes[] inputs)": "0x0000000000000000000000000000000000000000000000000000000024856bc3",
1463
- "0x0000000000000000000000000000000000000000000000000000000024856bc3": "execute(bytes commands,bytes[] inputs)",
1464
- "register(string name,address owner,uint256 duration,bytes32 secret,address resolver,bytes[] data,bool reverseRecord,uint16 ownerControlledFuses)": "0x0000000000000000000000000000000000000000000000000000000074694a2b",
1465
- "0x0000000000000000000000000000000000000000000000000000000074694a2b": "register(string name,address owner,uint256 duration,bytes32 secret,address resolver,bytes[] data,bool reverseRecord,uint16 ownerControlledFuses)",
1466
- "getVotes(address account, uint256 blockNumber) view returns (uint256)": "0x00000000000000000000000000000000000000000000000000000000eb9019d4",
1467
- "0x00000000000000000000000000000000000000000000000000000000eb9019d4": "getVotes(address account, uint256 blockNumber) view returns (uint256)",
1468
- "transferFrom(address,address,uint256)": "0x0000000000000000000000000000000000000000000000000000000023b872dd",
1469
- "0x0000000000000000000000000000000000000000000000000000000023b872dd": "transferFrom(address,address,uint256)",
1470
- "mintTo((address,uint8,uint8,address,uint32,address,uint32,bytes32[],uint96,uint32,uint32,uint32,bytes,address,bytes32[],uint256))": "0x000000000000000000000000000000000000000000000000000000004a04a1c9",
1471
- "0x000000000000000000000000000000000000000000000000000000004a04a1c9": "mintTo((address,uint8,uint8,address,uint32,address,uint32,bytes32[],uint96,uint32,uint32,uint32,bytes,address,bytes32[],uint256))",
1472
- "buy1155(address erc20zAddress, uint256 num1155ToBuy, address recipient, address excessRefundRecipient, uint256 maxEthToSpend, uint160 sqrtPriceLimitX96)": "0x00000000000000000000000000000000000000000000000000000000b3836da9",
1473
- "0x00000000000000000000000000000000000000000000000000000000b3836da9": "buy1155(address erc20zAddress, uint256 num1155ToBuy, address recipient, address excessRefundRecipient, uint256 maxEthToSpend, uint160 sqrtPriceLimitX96)",
1474
- "mint(address)": "0x000000000000000000000000000000000000000000000000000000006a627842",
1475
- "0x000000000000000000000000000000000000000000000000000000006a627842": "mint(address)"
1476
- }, sf = {
1477
- abi: nf,
1478
- selectors: cf
1479
- }, P = class P extends E0 {
1480
- constructor() {
1481
- super(...arguments), this.abi = E;
1482
- }
1483
- /**
1484
- *Functions from the ERC20VariableIncentive contract
1485
- */
1486
- /**
1487
- * Fetches the IncentiveCriteria struct from the contract
1488
- *
1489
- * @returns {Promise<IncentiveCriteria>} Incentive criteria structure
1490
- * @throws {IncentiveCriteriaNotFoundError}
1491
- */
1492
- async getIncentiveCriteria() {
1493
- try {
1494
- return await U(
1495
- this._config,
1496
- {
1497
- address: this.assertValidAddress()
1498
- }
1499
- );
1500
- } catch (e) {
1501
- throw new T0(e);
1502
- }
1503
- }
1504
- /**
1505
- * Fetches the incentive scalar from a transaction hash
1506
- *
1507
- * @param {GetIncentiveScalarParams} params
1508
- * @returns {Promise<bigint>}
1509
- * @throws {InvalidCriteriaTypeError | NoMatchingLogsError | DecodedArgsError}
1510
- */
1511
- async getIncentiveScalar({
1512
- hash: e
1513
- }) {
1514
- var t;
1515
- const f = await this.getIncentiveCriteria(), b = await n0(this._config, {
1516
- hash: e
1517
- });
1518
- if (f.criteriaType === T.EVENT) {
1519
- const n = (await L(this._config, {
1520
- hash: e
1521
- })).logs;
1522
- if (n.length === 0)
1523
- throw new M(
1524
- `No logs found for event signature ${f.signature}`
1525
- );
1526
- try {
1527
- const c = df.abi[f.signature], i = C({
1528
- abi: [c],
1529
- logs: n
1530
- });
1531
- if (i == null || i.length === 0)
1532
- throw new M(
1533
- `No logs found for event signature ${f.signature}`
1534
- );
1535
- const s = ((t = i[0]) == null ? void 0 : t.args)[f.fieldIndex];
1536
- if (s === void 0)
1537
- throw new w(
1538
- `Decoded argument at index ${f.fieldIndex} is undefined`
1539
- );
1540
- return BigInt(s);
1541
- } catch (c) {
1542
- throw new w(
1543
- `Failed to decode event log for signature ${f.signature}: ${c.message}`
1544
- );
1545
- }
1546
- } else if (f.criteriaType === T.FUNC)
1547
- try {
1548
- const d = sf.abi[f.signature], c = o0({
1549
- abi: [d],
1550
- data: b.input
1551
- }).args[f.fieldIndex];
1552
- if (c == null)
1553
- throw new w(
1554
- `Decoded argument at index ${f.fieldIndex} is undefined`
1555
- );
1556
- return BigInt(c);
1557
- } catch (d) {
1558
- throw new w(
1559
- `Failed to decode function data for signature ${f.signature}: ${d.message}`
1560
- );
1561
- }
1562
- else
1563
- throw new _0(
1564
- `Invalid criteria type ${f.criteriaType}`
1565
- );
1566
- }
1567
- /**
1568
- * @inheritdoc
1569
- *
1570
- * @public
1571
- * @param {?ERC20VariableCriteriaIncentivePayload} [_payload]
1572
- * @param {?DeployableOptions} [_options]
1573
- * @returns {GenericDeployableParams}
1574
- */
1575
- buildParameters(e, f) {
1576
- const [b, t] = this.validateDeploymentConfig(
1577
- e,
1578
- f
1579
- );
1580
- return {
1581
- abi: E,
1582
- bytecode: bf,
1583
- args: [rf(b)],
1584
- ...this.optionallyAttachAccount(t.account)
1585
- };
1586
- }
1587
- /**
1588
- * Builds the claim data for the ERC20VariableCriteriaIncentive.
1589
- *
1590
- * @public
1591
- * @param {bigint} rewardAmount
1592
- * @returns {Hex} Returns the encoded claim data
1593
- * @description This function returns the encoded claim data for the ERC20VariableCriteriaIncentive.
1594
- */
1595
- buildClaimData(e) {
1596
- return N(
1597
- [{ type: "uint256", name: "rewardAmount" }],
1598
- [e]
1599
- );
1600
- }
1601
- };
1602
- P.bases = {
1603
- 31337: void 0,
1604
- ...y0
1605
- };
1606
- let I = P;
1607
- function rf({
1608
- asset: a,
1609
- reward: e,
1610
- limit: f,
1611
- criteria: b
1612
- }) {
1613
- return N(
1614
- [
1615
- {
1616
- type: "tuple",
1617
- name: "initPayloadExtended",
1618
- components: [
1619
- { type: "address", name: "asset" },
1620
- { type: "uint256", name: "reward" },
1621
- { type: "uint256", name: "limit" },
1622
- {
1623
- type: "tuple",
1624
- name: "criteria",
1625
- components: [
1626
- { type: "uint8", name: "criteriaType" },
1627
- { type: "bytes32", name: "signature" },
1628
- { type: "uint8", name: "fieldIndex" },
1629
- { type: "address", name: "targetContract" }
1630
- ]
1631
- }
1632
- ]
1633
- }
1634
- ],
1635
- [
1636
- {
1637
- asset: a,
1638
- reward: e,
1639
- limit: f,
1640
- criteria: {
1641
- criteriaType: b.criteriaType,
1642
- signature: b.signature,
1643
- fieldIndex: b.fieldIndex,
1644
- targetContract: b.targetContract
1645
- }
1646
- }
1647
- ]
1648
- );
1649
- }
1650
- const Of = u0("0.000075"), A = {
1651
- 31337: void 0,
1652
- ...l0
1653
- }, qf = A[11155111] || m;
1654
- function of(a) {
1655
- return a.address;
1656
- }
1657
- function uf(a) {
1658
- return a.registryAddress && a.protocolFeeReceiver;
1659
- }
1660
- const R = class R extends A0 {
1661
- /**
1662
- * A getter that will return Boost core's static addresses by numerical chain ID
1663
- *
1664
- * @public
1665
- * @readonly
1666
- * @type {Record<number, Address>}
1667
- */
1668
- get addresses() {
1669
- return this.constructor.addresses;
1670
- }
1671
- /**
1672
- * Creates an instance of BoostCore.
1673
- *
1674
- * @constructor
1675
- * @param {BoostCoreConfig} param0
1676
- * @param {Config} param0.config
1677
- * @param {?Account} [param0.account]
1678
- * @param {({ address?: Address; } | { registryAddress: Address; protocolFeeReceiver: Address; })} param0....options
1679
- */
1680
- constructor({ config: e, account: f, ...b }) {
1681
- if (of(b) && b.address)
1682
- super({ account: f, config: e }, b.address);
1683
- else if (uf(b))
1684
- super({ account: f, config: e }, [
1685
- b.registryAddress,
1686
- b.protocolFeeReceiver
1687
- ]);
1688
- else {
1689
- const { address: t } = u(
1690
- e,
1691
- A
1692
- );
1693
- super({ account: f, config: e }, t);
1694
- }
1695
- this.abi = x;
1696
- }
1697
- /**
1698
- * Create a new Boost.
1699
- *
1700
- * @public
1701
- * @async
1702
- * @param {CreateBoostPayload} _boostPayload
1703
- * @param {?DeployableOptions} [_params]
1704
- * @returns {Promise<Boost>}
1705
- */
1706
- async createBoost(e, f) {
1707
- var B;
1708
- const [b, t] = this.validateDeploymentConfig(e, f), d = ((B = f == null ? void 0 : f.chain) == null ? void 0 : B.id) || (f == null ? void 0 : f.chainId), { chainId: n, address: c } = u(
1709
- t.config,
1710
- this.addresses,
1711
- d
1712
- ), i = ef({
1713
- abi: x,
1714
- functionName: "createBoost",
1715
- address: c
1716
- }), s = await this.prepareCreateBoostPayload(
1717
- c,
1718
- n,
1719
- b,
1720
- t
1721
- );
1722
- console.log(s);
1723
- const p = await i(t.config, {
1724
- ...this.optionallyAttachAccount(t.account),
1725
- // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
1726
- ...f,
1727
- chainId: n,
1728
- args: [_(s)]
1729
- }), h = await c0(t.config, {
1730
- hash: p
1731
- }), r = C({
1732
- abi: x,
1733
- eventName: "BoostCreated",
1734
- logs: h.logs
1735
- }).at(0);
1736
- let l = 0n;
1737
- if (!r) throw new F0();
1738
- l = r == null ? void 0 : r.args.boostId;
1739
- const y = await this.readBoost(l);
1740
- return new F({
1741
- id: l,
1742
- budget: b.budget.at(y.budget),
1743
- action: b.action.at(y.action),
1744
- validator: b.validator.at(y.validator),
1745
- allowList: b.allowList.at(y.allowList),
1746
- incentives: b.incentives.map(
1747
- (k, z) => (
1748
- // biome-ignore lint/style/noNonNullAssertion: this will never be undefined
1749
- k.at(y.incentives.at(z))
1750
- )
1751
- ),
1752
- protocolFee: y.protocolFee,
1753
- maxParticipants: y.maxParticipants,
1754
- owner: y.owner
1755
- });
1756
- }
1757
- /**
1758
- * Returns a simulated Boost creation.
1759
- *
1760
- * @public
1761
- * @async
1762
- * @param {CreateBoostPayload} _boostPayload
1763
- * @param {?DeployableOptions} [_params]
1764
- * @returns {Promise<SimulateContractReturnType>}
1765
- */
1766
- async simulateCreateBoost(e, f) {
1767
- var s;
1768
- const [b, t] = this.validateDeploymentConfig(e, f), d = ((s = f == null ? void 0 : f.chain) == null ? void 0 : s.id) || (f == null ? void 0 : f.chainId), { chainId: n, address: c } = u(
1769
- t.config,
1770
- this.addresses,
1771
- d
1772
- ), i = await this.prepareCreateBoostPayload(
1773
- c,
1774
- n,
1775
- b,
1776
- t
1777
- );
1778
- return await X(this._config, {
1779
- ...this.optionallyAttachAccount(),
1780
- // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
1781
- ...f,
1782
- address: c,
1783
- chainId: n,
1784
- args: [_(i)]
1785
- });
1786
- }
1787
- // This function mutates payload, which isn't awesome but it's fine
1788
- async prepareCreateBoostPayload(e, f, b, t) {
1789
- var h;
1790
- if (!b.owner && (b.owner = ((h = this._account) == null ? void 0 : h.address) || s0(t.config).address || m, b.owner === m))
1791
- throw new M0();
1792
- b.validator || (b.validator = this.SignerValidator({
1793
- signers: [b.owner],
1794
- validatorCaller: e
1795
- }));
1796
- let d = m;
1797
- if (b.budget.address) {
1798
- if (d = b.budget.address, !await b.budget.isAuthorized(e))
1799
- throw new S0(e);
1800
- } else
1801
- throw new D0();
1802
- let n = {
1803
- instance: m,
1804
- isBase: !0,
1805
- parameters: o
1806
- };
1807
- if (b.action.address) {
1808
- const r = b.action.isBase;
1809
- n = {
1810
- isBase: r,
1811
- instance: b.action.address,
1812
- parameters: r ? b.action.buildParameters(void 0, t).args.at(0) || o : o
1813
- };
1814
- } else
1815
- n.parameters = b.action.buildParameters(void 0, t).args.at(0) || o, n.instance = u(
1816
- t.config,
1817
- b.action.bases,
1818
- f
1819
- ).address;
1820
- let c = {
1821
- instance: m,
1822
- isBase: !0,
1823
- parameters: o
1824
- };
1825
- if (b.validator.address) {
1826
- const r = b.validator.isBase;
1827
- c = {
1828
- isBase: r,
1829
- instance: b.validator.address,
1830
- parameters: r ? b.validator.buildParameters(void 0, t).args.at(0) || o : o
1831
- };
1832
- } else
1833
- c.parameters = b.validator.buildParameters(void 0, t).args.at(0) || o, c.instance = u(
1834
- t.config,
1835
- b.validator.bases,
1836
- f
1837
- ).address;
1838
- let i = {
1839
- instance: m,
1840
- isBase: !0,
1841
- parameters: o
1842
- };
1843
- if (b.allowList || (b.allowList = this.OpenAllowList()), b.allowList.address) {
1844
- const r = b.allowList.isBase;
1845
- i = {
1846
- isBase: r,
1847
- instance: b.allowList.address,
1848
- parameters: r ? o : o
1849
- };
1850
- } else
1851
- i.parameters = b.allowList.buildParameters(void 0, t).args.at(0) || o, i.instance = u(
1852
- t.config,
1853
- b.allowList.bases,
1854
- f
1855
- ).address;
1856
- const s = b.incentives.map(() => ({
1857
- instance: m,
1858
- isBase: !0,
1859
- parameters: o
1860
- }));
1861
- for (let r = 0; r < b.incentives.length; r++) {
1862
- const l = b.incentives.at(r);
1863
- if (l.address) {
1864
- const y = l.isBase;
1865
- if (!y) throw new L0(l);
1866
- s[r] = {
1867
- isBase: y,
1868
- instance: l.address,
1869
- parameters: y ? l.buildParameters(void 0, t).args.at(0) || o : o
1870
- };
1871
- } else
1872
- s[r].parameters = l.buildParameters(void 0, t).args.at(0) || o, s[r].instance = u(
1873
- t.config,
1874
- l.bases,
1875
- f
1876
- ).address;
1877
- }
1878
- return {
1879
- budget: d,
1880
- action: n,
1881
- validator: c,
1882
- allowList: i,
1883
- incentives: s,
1884
- protocolFee: b.protocolFee || 0n,
1885
- maxParticipants: b.maxParticipants || 0n,
1886
- owner: b.owner
1887
- };
1888
- }
1889
- /**
1890
- * Claims one incentive from a given `Boost` by `boostId` and `incentiveId`
1891
- *
1892
- * @public
1893
- * @async
1894
- * @param {bigint} boostId
1895
- * @param {bigint} incentiveId
1896
- * @param {Address} address
1897
- * @param {Hex} data
1898
- * @param {?WriteParams} [params]
1899
- * @returns {Promise<void>}
1900
- */
1901
- async claimIncentive(e, f, b, t, d) {
1902
- return await this.awaitResult(
1903
- this.claimIncentiveRaw(e, f, b, t, d)
1904
- );
1905
- }
1906
- /**
1907
- * Claim an incentive for a Boost
1908
- *
1909
- * @public
1910
- * @async
1911
- * @param {bigint} boostId - The ID of the Boost
1912
- * @param {bigint} incentiveId - The ID of the Incentive
1913
- * @param {Address} referrer - The address of the referrer (if any)
1914
- * @param {Hex} data- The data for the claim
1915
- * @param {?WriteParams} [params]
1916
- * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
1917
- */
1918
- async claimIncentiveRaw(e, f, b, t, d) {
1919
- var s;
1920
- const { request: n, result: c } = await Z(
1921
- this._config,
1922
- {
1923
- ...u(
1924
- this._config,
1925
- this.addresses,
1926
- ((s = d == null ? void 0 : d.chain) == null ? void 0 : s.id) || (d == null ? void 0 : d.chainId)
1927
- ),
1928
- args: [e, f, b, t],
1929
- ...this.optionallyAttachAccount(),
1930
- // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
1931
- ...d
1932
- }
1933
- );
1934
- return { hash: await G(this._config, n), result: c };
1935
- }
1936
- /**
1937
- * Claims one incentive for a given `Boost` on behalf of another user by `boostId` and `incentiveId`
1938
- *
1939
- * @public
1940
- * @async
1941
- * @param {bigint} boostId
1942
- * @param {bigint} incentiveId
1943
- * @param {Address} referrer
1944
- * @param {Hex} data
1945
- * @param {Address} claimant
1946
- * @param {?WriteParams} [params]
1947
- * @returns {Promise<void>}
1948
- */
1949
- async claimIncentiveFor(e, f, b, t, d, n) {
1950
- return await this.awaitResult(
1951
- this.claimIncentiveForRaw(
1952
- e,
1953
- f,
1954
- b,
1955
- t,
1956
- d,
1957
- n
1958
- )
1959
- );
1960
- }
1961
- /**
1962
- * Claim an incentive for a Boost on behalf of another user
1963
- *
1964
- * @public
1965
- * @async
1966
- * @param {bigint} boostId - The ID of the Boost
1967
- * @param {bigint} incentiveId - The ID of the Incentive
1968
- * @param {Address} referrer - The address of the referrer (if any)
1969
- * @param {Hex} data - The data for the claim
1970
- * @param {Address} claimant - The address of the user eligible for the incentive payout
1971
- * @param {?WriteParams} [params]
1972
- * @returns {Promise<{ hash: Hex; result: void; }>}
1973
- */
1974
- async claimIncentiveForRaw(e, f, b, t, d, n) {
1975
- var p;
1976
- const { request: c, result: i } = await W(
1977
- this._config,
1978
- {
1979
- ...u(
1980
- this._config,
1981
- this.addresses,
1982
- ((p = n == null ? void 0 : n.chain) == null ? void 0 : p.id) || (n == null ? void 0 : n.chainId)
1983
- ),
1984
- args: [e, f, b, t, d],
1985
- ...this.optionallyAttachAccount(),
1986
- // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
1987
- ...n
1988
- }
1989
- );
1990
- return { hash: await H(this._config, c), result: i };
1991
- }
1992
- /**
1993
- * Get a Boost by index, will return the raw on chain representation of a Boost.
1994
- *
1995
- * @public
1996
- * @async
1997
- * @param {bigint | string} id
1998
- * @param {?ReadParams} [params]
1999
- * @returns {Promise<RawBoost>}
2000
- * @throws {@link BoostNotFoundError}
2001
- */
2002
- async readBoost(e, f) {
2003
- var b;
2004
- try {
2005
- let t;
2006
- return typeof e == "string" ? t = BigInt(e) : t = e, await K(this._config, {
2007
- ...u(
2008
- this._config,
2009
- this.addresses,
2010
- f == null ? void 0 : f.chainId
2011
- ),
2012
- args: [t],
2013
- ...this.optionallyAttachAccount(),
2014
- // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
2015
- ...f
2016
- });
2017
- } catch (t) {
2018
- throw (b = t == null ? void 0 : t.message) != null && b.includes("bounds") ? new N0(String(e)) : t;
2019
- }
2020
- }
2021
- /**
2022
- * Get a Boost by index, will return a new {@link Boost} with correct target implementations instantiated, ie `(await core.getBoost(0n)).allowList instanceof SimpleAllowList` vs `SimpleDenyList`
2023
- *
2024
- * @public
2025
- * @async
2026
- * @param {(string | bigint)} _id
2027
- * @param {?ReadParams} [params]
2028
- * @returns {Promise<Boost>}
2029
- * @throws {@link BoostNotFoundError}
2030
- */
2031
- async getBoost(e, f) {
2032
- let b;
2033
- typeof e == "string" ? b = BigInt(e) : b = e;
2034
- const { protocolFee: t, maxParticipants: d, owner: n, ...c } = await this.readBoost(b, f), i = {
2035
- config: this._config,
2036
- account: this._account
2037
- }, [s, p, h, r, l] = await Promise.all([
2038
- p0(i, c.action),
2039
- C0(i, c.budget),
2040
- j0(i, c.validator),
2041
- m0(i, c.allowList),
2042
- Promise.all(
2043
- c.incentives.map(
2044
- (y) => $0(i, y)
2045
- )
2046
- )
2047
- ]);
2048
- return new F({
2049
- id: b,
2050
- action: s,
2051
- budget: p,
2052
- validator: h,
2053
- allowList: r,
2054
- incentives: l,
2055
- protocolFee: t,
2056
- maxParticipants: d,
2057
- owner: n
2058
- });
2059
- }
2060
- /**
2061
- * Retrieve the total number of deployed Boosts
2062
- *
2063
- * @public
2064
- * @async
2065
- * @param {?ReadParams} [params]
2066
- * @returns {Promise<bigint>}
2067
- */
2068
- async getBoostCount(e) {
2069
- return await J(this._config, {
2070
- ...u(
2071
- this._config,
2072
- this.addresses,
2073
- e == null ? void 0 : e.chainId
2074
- ),
2075
- args: [],
2076
- ...this.optionallyAttachAccount(),
2077
- // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
2078
- ...e
2079
- });
2080
- }
2081
- /**
2082
- * Checks if an address is authorized
2083
- *
2084
- * @public
2085
- * @async
2086
- * @param {Address} address
2087
- * @param {?ReadParams &
2088
- * ReadParams<typeof iAuthAbi, 'isAuthorized'>} [params]
2089
- * @returns {Promise<boolean>}
2090
- */
2091
- async isAuthorized(e, f) {
2092
- const b = await this.createBoostAuth(f);
2093
- return Q(this._config, {
2094
- address: b,
2095
- args: [e],
2096
- ...this.optionallyAttachAccount(),
2097
- // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
2098
- ...f
2099
- });
2100
- }
2101
- /**
2102
- * Retrieve the address of the current creation auth provider.
2103
- *
2104
- * @public
2105
- * @async
2106
- * @param {?ReadParams} [params]
2107
- * @returns {Promise<Address>}
2108
- */
2109
- async createBoostAuth(e) {
2110
- return await Y(this._config, {
2111
- ...u(
2112
- this._config,
2113
- this.addresses,
2114
- e == null ? void 0 : e.chainId
2115
- ),
2116
- args: [],
2117
- ...this.optionallyAttachAccount(),
2118
- // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
2119
- ...e
2120
- });
2121
- }
2122
- /**
2123
- * Replace the current auth scheme.
2124
- *
2125
- * @public
2126
- * @async
2127
- * @param {Auth} auth
2128
- * @param {?WriteParams} [params]
2129
- * @returns {Promise<void>}
2130
- */
2131
- async setCreateBoostAuth(e, f) {
2132
- return await this.awaitResult(
2133
- this.setCreateBoostAuthRaw(e.assertValidAddress(), {
2134
- ...f
2135
- })
2136
- );
2137
- }
2138
- /**
2139
- * Set the createBoostAuth address
2140
- *
2141
- * @public
2142
- * @async
2143
- * @param {Address} address
2144
- * @param {?WriteParams} [params]
2145
- * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
2146
- */
2147
- async setCreateBoostAuthRaw(e, f) {
2148
- const { request: b, result: t } = await f0(
2149
- this._config,
2150
- {
2151
- ...u(
2152
- this._config,
2153
- this.addresses,
2154
- f == null ? void 0 : f.chainId
2155
- ),
2156
- args: [e],
2157
- ...this.optionallyAttachAccount(),
2158
- // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
2159
- ...f
2160
- }
2161
- );
2162
- return { hash: await e0(this._config, b), result: t };
2163
- }
2164
- /**
2165
- * Get the protocol fee.
2166
- *
2167
- * @public
2168
- * @async
2169
- * @param {?ReadParams} [params]
2170
- * @returns {unknown}
2171
- */
2172
- async protocolFee(e) {
2173
- return await b0(this._config, {
2174
- ...u(
2175
- this._config,
2176
- this.addresses,
2177
- e == null ? void 0 : e.chainId
2178
- ),
2179
- args: [],
2180
- ...this.optionallyAttachAccount(),
2181
- // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
2182
- ...e
2183
- });
2184
- }
2185
- /**
2186
- * Get the protocol fee receiver.
2187
- *
2188
- * @public
2189
- * @async
2190
- * @param {?ReadParams} [params]
2191
- * @returns {Promise<Address>}
2192
- */
2193
- async protocolFeeReceiver(e) {
2194
- return await t0(this._config, {
2195
- ...u(
2196
- this._config,
2197
- this.addresses,
2198
- e == null ? void 0 : e.chainId
2199
- ),
2200
- args: [],
2201
- ...this.optionallyAttachAccount(),
2202
- // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
2203
- ...e
2204
- });
2205
- }
2206
- /**
2207
- * Set the protocol fee receiver address. This function is only callable by the owner.
2208
- *
2209
- * @public
2210
- * @async
2211
- * @param {Address} address
2212
- * @param {?WriteParams} [params]
2213
- * @returns {Promise<void>}
2214
- */
2215
- async setProcolFeeReceiver(e, f) {
2216
- return await this.awaitResult(
2217
- this.setProcolFeeReceiverRaw(e, {
2218
- ...f
2219
- })
2220
- );
2221
- }
2222
- /**
2223
- * Set the protocol fee receiver address. This function is only callable by the owner.
2224
- *
2225
- * @public
2226
- * @async
2227
- * @param {Address} address
2228
- * @param {?WriteParams} [params]
2229
- * @returns {Promise<{ hash: `0x${string}`; result: void; }>}
2230
- */
2231
- async setProcolFeeReceiverRaw(e, f) {
2232
- const { request: b, result: t } = await a0(
2233
- this._config,
2234
- {
2235
- ...u(
2236
- this._config,
2237
- this.addresses,
2238
- f == null ? void 0 : f.chainId
2239
- ),
2240
- args: [e],
2241
- ...this.optionallyAttachAccount(),
2242
- // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
2243
- ...f
2244
- }
2245
- );
2246
- return { hash: await d0(
2247
- this._config,
2248
- b
2249
- ), result: t };
2250
- }
2251
- /**
2252
- * Retrieves the claim information from a transaction receipt.
2253
- *
2254
- * @param {GetTransactionReceiptParameters} params - The parameters required to get the transaction receipt.
2255
- * @returns {Promise<{ boostId: bigint, incentiveId: bigint, claimer: Address, amount: bigint } | undefined>} The claim information if found, undefined otherwise.
2256
- *
2257
- * @description
2258
- * This method retrieves the transaction receipt using the provided parameters,
2259
- * then parses the logs to find the 'BoostClaimed' event.
2260
- * If found, it returns the arguments of the event, which include the boost ID,
2261
- * incentive ID, claimer address, and claimed amount.
2262
- *
2263
- * @example
2264
- * ```ts
2265
- * const claimInfo = await boostCore.getClaimFromTransaction({
2266
- * hash: '0x...',
2267
- * chainId: 1
2268
- * });
2269
- * if (claimInfo) {
2270
- * console.log(`Boost ${claimInfo.boostId} claimed by ${claimInfo.claimer}`);
2271
- * }
2272
- * ```
2273
- */
2274
- async getClaimFromTransaction(e) {
2275
- var t;
2276
- const f = await L(this._config, e);
2277
- return (t = C({
2278
- abi: x,
2279
- eventName: "BoostClaimed",
2280
- logs: f.logs
2281
- }).at(0)) == null ? void 0 : t.args;
2282
- }
2283
- /**
2284
- * Bound {@link PassthroughAuth} constructor that reuses the same configuration as the Boost Core instance.
2285
- *
2286
- * @example
2287
- * ```ts
2288
- * const auth = core.PassthroughAuth('0x') // is roughly equivalent to
2289
- * const auth = new PassthroughAuth({ config: core._config, account: core._account }, '0x')
2290
- * ```
2291
- * @param {Address} address
2292
- * @returns {PassthroughAuth}
2293
- */
2294
- PassthroughAuth(e) {
2295
- return new v0(
2296
- { config: this._config, account: this._account },
2297
- e
2298
- );
2299
- }
2300
- // /**
2301
- // * Bound {@link ContractAction} constructor that reuses the same configuration as the Boost Core instance.
2302
- // *
2303
- // * @example
2304
- // * ```ts
2305
- // * const action = core.ContractAction('0x') // is roughly equivalent to
2306
- // * const action = new ContractAction({ config: core._config, account: core._account }, '0x')
2307
- // * ```
2308
- // * @param {DeployablePayloadOrAddress<ContractActionPayload>} options
2309
- // * @param {?boolean} [isBase]
2310
- // * @returns {ContractAction}
2311
- // */
2312
- // ContractAction(
2313
- // options: DeployablePayloadOrAddress<ContractActionPayload>,
2314
- // isBase?: boolean,
2315
- // ) {
2316
- // return new ContractAction(
2317
- // { config: this._config, account: this._account },
2318
- // options,
2319
- // isBase,
2320
- // );
2321
- // }
2322
- /**
2323
- * Bound {@link EventAction} constructor that reuses the same configuration as the Boost Core instance.
2324
- *
2325
- * @example
2326
- * ```ts
2327
- * const action = core.EventAction('0x') // is roughly equivalent to
2328
- * const action = new EventAction({ config: core._config, account: core._account }, '0x')
2329
- */
2330
- EventAction(e, f) {
2331
- return new h0(
2332
- { config: this._config, account: this._account },
2333
- e,
2334
- f
2335
- );
2336
- }
2337
- // /**
2338
- // * Bound {@link ERC721MintAction} constructor that reuses the same configuration as the Boost Core instance.
2339
- // *
2340
- // * @example
2341
- // * ```ts
2342
- // * const action = core.ERC721MintAction('0x') // is roughly equivalent to
2343
- // * const action = new ERC721MintAction({ config: core._config, account: core._account }, '0x')
2344
- // * ```
2345
- // * @param {DeployablePayloadOrAddress<ERC721MintActionPayload>} options
2346
- // * @param {?boolean} [isBase]
2347
- // * @returns {ERC721MintAction}
2348
- // */
2349
- // ERC721MintAction(
2350
- // options: DeployablePayloadOrAddress<ERC721MintActionPayload>,
2351
- // isBase?: boolean,
2352
- // ) {
2353
- // return new ERC721MintAction(
2354
- // { config: this._config, account: this._account },
2355
- // options,
2356
- // isBase,
2357
- // );
2358
- // }
2359
- /**
2360
- * Bound {@link OpenAllowList} constructor that reuses the same configuration as the Boost Core instance.
2361
- *
2362
- * @example
2363
- * ```ts
2364
- * const list = core.OpenAllowList('0x') // is roughly equivalent to
2365
- * const list = new OpenAllowList({ config: core._config, account: core._account }, '0x')
2366
- * ```
2367
- * @param {?boolean} [isBase]
2368
- * @returns {OpenAllowList}
2369
- */
2370
- OpenAllowList(e) {
2371
- return new g0(
2372
- { config: this._config, account: this._account },
2373
- void 0,
2374
- e
2375
- );
2376
- }
2377
- /**
2378
- * Bound {@link SimpleAllowList} constructor that reuses the same configuration as the Boost Core instance.
2379
- *
2380
- * @example
2381
- * ```ts
2382
- * const list = core.SimpleAllowList('0x') // is roughly equivalent to
2383
- * const list = new SimpleAllowList({ config: core._config, account: core._account }, '0x')
2384
- * ```
2385
- * @param {DeployablePayloadOrAddress<SimpleAllowListPayload>} options
2386
- * @param {?boolean} [isBase]
2387
- * @returns {SimpleAllowList}
2388
- */
2389
- SimpleAllowList(e, f) {
2390
- return new x0(
2391
- { config: this._config, account: this._account },
2392
- e,
2393
- f
2394
- );
2395
- }
2396
- /**
2397
- * Bound {@link SimpleDenyList} constructor that reuses the same configuration as the Boost Core instance.
2398
- *
2399
- * @example
2400
- * ```ts
2401
- * const list = core.SimpleDenyList('0x') // is roughly equivalent to
2402
- * const list = new SimpleDenyList({ config: core._config, account: core._account }, '0x')
2403
- * ```
2404
- * @param {DeployablePayloadOrAddress<SimpleDenyListPayload>} options
2405
- * @param {?boolean} [isBase]
2406
- * @returns {SimpleDenyList}
2407
- */
2408
- SimpleDenyList(e, f) {
2409
- return new w0(
2410
- { config: this._config, account: this._account },
2411
- e,
2412
- f
2413
- );
2414
- }
2415
- // /**
2416
- // * Bound {@link SimpleBudget} constructor that reuses the same configuration as the Boost Core instance.
2417
- // *
2418
- // * @example
2419
- // * ```ts
2420
- // * const budget = core.SimpleBudget('0x') // is roughly equivalent to
2421
- // * const budget = new SimpleBudget({ config: core._config, account: core._account }, '0x')
2422
- // * ```
2423
- // * @param {DeployablePayloadOrAddress<SimpleBudgetPayload>} options
2424
- // * @returns {SimpleBudget}
2425
- // */
2426
- // SimpleBudget(options: DeployablePayloadOrAddress<SimpleBudgetPayload>) {
2427
- // return new SimpleBudget(
2428
- // { config: this._config, account: this._account },
2429
- // options,
2430
- // );
2431
- // }
2432
- /**
2433
- * Bound {@link ManagedBudget} constructor that reuses the same configuration as the Boost Core instance.
2434
- *
2435
- * @example
2436
- * ```ts
2437
- * const budget = core.ManagedBudget('0x') // is roughly equivalent to
2438
- * const budget = new ManagedBudget({ config: core._config, account: core._account }, '0x')
2439
- * ```
2440
- * @param {DeployablePayloadOrAddress<ManagedBudgetPayload>} options
2441
- * @returns {ManagedBudget}
2442
- */
2443
- ManagedBudget(e) {
2444
- return new I0(
2445
- { config: this._config, account: this._account },
2446
- e
2447
- );
2448
- }
2449
- // /**
2450
- // * Bound {@link VestingBudget} constructor that reuses the same configuration as the Boost Core instance.
2451
- // *
2452
- // * @example
2453
- // * ```ts
2454
- // * const budget = core.VestingBudget('0x') // is roughly equivalent to
2455
- // * const budget = new VestingBudget({ config: core._config, account: core._account }, '0x')
2456
- // * ```
2457
- // * @param {DeployablePayloadOrAddress<VestingBudgetPayload>} options
2458
- // * @returns {VestingBudget}
2459
- // */
2460
- // VestingBudget(options: DeployablePayloadOrAddress<VestingBudgetPayload>) {
2461
- // return new VestingBudget(
2462
- // { config: this._config, account: this._account },
2463
- // options,
2464
- // );
2465
- // }
2466
- /**
2467
- * Bound {@link AllowListIncentive} constructor that reuses the same configuration as the Boost Core instance.
2468
- *
2469
- * @example
2470
- * ```ts
2471
- * const incentive = core.AllowListIncentive({ ... }) // is roughly equivalent to
2472
- * const incentive = new AllowListIncentive({ config: core._config, account: core._account }, { ... })
2473
- * ```
2474
- * @param {DeployablePayloadOrAddress<VestingBudgetPayload>} options
2475
- * @returns {VestingBudget}
2476
- */
2477
- AllowListIncentive(e) {
2478
- return new P0(
2479
- { config: this._config, account: this._account },
2480
- e
2481
- );
2482
- }
2483
- /**
2484
- * Bound {@link CGDAIncentive} constructor that reuses the same configuration as the Boost Core instance.
2485
- *
2486
- * @example
2487
- * ```ts
2488
- * const incentive = core.CGDAIncentive({ ... }) // is roughly equivalent to
2489
- * const incentive = new CGDAIncentive({ config: core._config, account: core._account }, { ... })
2490
- * ```
2491
- * @param {CGDAIncentivePayload} options
2492
- * @returns {CGDAIncentive}
2493
- */
2494
- CGDAIncentive(e) {
2495
- return new R0(
2496
- { config: this._config, account: this._account },
2497
- e
2498
- );
2499
- }
2500
- /**
2501
- * Bound {@link ERC20Incentive} constructor that reuses the same configuration as the Boost Core instance.
2502
- *
2503
- * @example
2504
- * ```ts
2505
- * const incentive = core.ERC20Incentive({ ... }) // is roughly equivalent to
2506
- * const incentive = new ERC20Incentive({ config: core._config, account: core._account }, { ... })
2507
- * ```
2508
- * @param {ERC20IncentivePayload} options
2509
- * @returns {ERC20Incentive}
2510
- */
2511
- ERC20Incentive(e) {
2512
- return new B0(
2513
- { config: this._config, account: this._account },
2514
- e
2515
- );
2516
- }
2517
- // /**
2518
- // * Temporarily disabled until low level ABI encoding bugs are resolved
2519
- // * Bound {@link ERC1155Incentive} constructor that reuses the same configuration as the Boost Core instance.
2520
- // *
2521
- // * @experimental
2522
- // * @example
2523
- // * ```ts
2524
- // * const incentive = core.ERC1155Incentive({ ... }) // is roughly equivalent to
2525
- // * const incentive = new ERC1155Incentive({ config: core._config, account: core._account }, { ... })
2526
- // * ```
2527
- // * @param {ERC1155IncentivePayload} options
2528
- // * @returns {ERC1155Incentive}
2529
- // */
2530
- // ERC1155Incentive(options: ERC1155IncentivePayload) {
2531
- // return new ERC1155Incentive(
2532
- // { config: this._config, account: this._account },
2533
- // options,
2534
- // );
2535
- // }
2536
- /**
2537
- * Bound {@link PointsIncentive} constructor that reuses the same configuration as the Boost Core instance.
2538
- *
2539
- * @example
2540
- * ```ts
2541
- * const incentive = core.PointsIncentive({ ... }) // is roughly equivalent to
2542
- * const incentive = new PointsIncentive({ config: core._config, account: core._account }, { ... })
2543
- * ```
2544
- * @param {PointsIncentivePayload} options
2545
- * @returns {PointsIncentive}
2546
- */
2547
- PointsIncentive(e) {
2548
- return new O0(
2549
- { config: this._config, account: this._account },
2550
- e
2551
- );
2552
- }
2553
- /**
2554
- * Bound {@link SignerValidator} constructor that reuses the same configuration as the Boost Core instance.
2555
- *
2556
- * @example
2557
- * ```ts
2558
- * const validator = core.SignerValidator({ ... }) // is roughly equivalent to
2559
- * const validator = new SignerValidator({ config: core._config, account: core._account }, { ... })
2560
- * ```
2561
- * @param {DeployablePayloadOrAddress<SignerValidatorPayload>} options
2562
- * @param {?boolean} [isBase]
2563
- * @returns {SignerValidator}
2564
- */
2565
- SignerValidator(e, f) {
2566
- return new q0(
2567
- { config: this._config, account: this._account },
2568
- e,
2569
- f
2570
- );
2571
- }
2572
- /**
2573
- * Bound {@link ERC20VariableCriteriaIncentive} constructor that reuses the same configuration as the Boost Core instance.
2574
- *
2575
- * @example
2576
- * ```ts
2577
- * const validator = core.ERC20VariableCrtieriaIncentive({ ... }) // is roughly equivalent to
2578
- * const validator = new ERC20VariableCrtieriaIncentive({ config: core._config, account: core._account }, { ... })
2579
- * ```
2580
- * @param {DeployablePayloadOrAddress<ERC20VariableCrtieriaIncentivePayload>} options
2581
- * @param {?boolean} [isBase]
2582
- * @returns {ERC20VariableCrtieriaIncentive}
2583
- * */
2584
- ERC20VariableCriteriaIncentive(e, f) {
2585
- return new I(
2586
- { config: this._config, account: this._account },
2587
- e,
2588
- f
2589
- );
2590
- }
2591
- /**
2592
- * Bound {@link ERC20VariableIncentive} constructor that reuses the same configuration as the Boost Core instance.
2593
- *
2594
- * @example
2595
- * ```ts
2596
- * const validator = core.ERC20VariableIncentive({ ... }) // is roughly equivalent to
2597
- * const validator = new ERC20VariableIncentive({ config: core._config, account: core._account }, { ... })
2598
- * ```
2599
- * @param {DeployablePayloadOrAddress<ERC20VariableIncentivePayload>} options
2600
- * @param {?boolean} [isBase]
2601
- * @returns {ERC20VariableIncentive}
2602
- */
2603
- ERC20VariableIncentive(e, f) {
2604
- return new V0(
2605
- { config: this._config, account: this._account },
2606
- e,
2607
- f
2608
- );
2609
- }
2610
- /**
2611
- * @inheritdoc
2612
- *
2613
- * @public
2614
- * @param {?[Address, Address]} [_payload]
2615
- * @param {?DeployableOptions} [_options]
2616
- * @returns {GenericDeployableParams}
2617
- */
2618
- buildParameters(e, f) {
2619
- const [b, t] = this.validateDeploymentConfig(
2620
- e,
2621
- f
2622
- );
2623
- return {
2624
- abi: x,
2625
- bytecode: Z0,
2626
- args: b,
2627
- ...this.optionallyAttachAccount(t.account)
2628
- };
2629
- }
2630
- };
2631
- R.addresses = A;
2632
- let D = R;
2633
- export {
2634
- Of as B,
2635
- I as E,
2636
- A as a,
2637
- qf as b,
2638
- D as c,
2639
- rf as p
2640
- };
2641
- //# sourceMappingURL=BoostCore-CD56zbYX.js.map