@boostxyz/sdk 8.0.0-canary.1 → 8.0.0-canary.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Actions/Action.cjs +1 -1
- package/dist/Actions/Action.js +1 -1
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.cjs.map +1 -1
- package/dist/Actions/EventAction.d.ts +19 -0
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +209 -204
- package/dist/Actions/EventAction.js.map +1 -1
- package/dist/{AllowList-NPDlllP6.js → AllowList-DQf-8HQC.js} +30 -30
- package/dist/{AllowList-NPDlllP6.js.map → AllowList-DQf-8HQC.js.map} +1 -1
- package/dist/{AllowList-BacG3oLt.cjs → AllowList-DaX239DR.cjs} +2 -2
- package/dist/{AllowList-BacG3oLt.cjs.map → AllowList-DaX239DR.cjs.map} +1 -1
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.js +3 -3
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.js +3 -3
- package/dist/AllowLists/SimpleDenyList.cjs +1 -1
- package/dist/AllowLists/SimpleDenyList.js +2 -2
- package/dist/Auth/PassthroughAuth.cjs +1 -1
- package/dist/Auth/PassthroughAuth.js +2 -2
- package/dist/BoostCore.cjs +2 -2
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.d.ts +35 -0
- package/dist/BoostCore.d.ts.map +1 -1
- package/dist/BoostCore.js +75 -75
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.js +12 -12
- package/dist/{Budget-Dq0K1LVM.js → Budget-LnAQ_Slw.js} +40 -40
- package/dist/{Budget-Dq0K1LVM.js.map → Budget-LnAQ_Slw.js.map} +1 -1
- package/dist/{Budget-Gk2p5v0g.cjs → Budget-WIB8IJoM.cjs} +2 -2
- package/dist/{Budget-Gk2p5v0g.cjs.map → Budget-WIB8IJoM.cjs.map} +1 -1
- package/dist/Budgets/Budget.cjs +1 -1
- package/dist/Budgets/Budget.js +2 -2
- package/dist/Budgets/ManagedBudget.cjs +1 -1
- package/dist/Budgets/ManagedBudget.js +25 -25
- package/dist/Deployable/DeployableTarget.cjs +1 -1
- package/dist/Deployable/DeployableTarget.js +3 -3
- package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.js +21 -21
- package/dist/{Incentive-DupDIsTS.js → Incentive-D_IBex5V.js} +22 -22
- package/dist/{Incentive-DupDIsTS.js.map → Incentive-D_IBex5V.js.map} +1 -1
- package/dist/{Incentive-YiX6zKm1.cjs → Incentive-gT7z-4v3.cjs} +2 -2
- package/dist/{Incentive-YiX6zKm1.cjs.map → Incentive-gT7z-4v3.cjs.map} +1 -1
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.js +12 -12
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.js +43 -43
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.js +15 -15
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs +1 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js +35 -35
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +1 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs.map +1 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.d.ts.map +1 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +146 -161
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js +6 -6
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.d.ts.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +103 -118
- package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js.map +1 -1
- package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableIncentive.js +8 -8
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.js +2 -2
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.js +15 -15
- package/dist/{SimpleDenyList-DyKqIWYL.js → SimpleDenyList-CtdXM49y.js} +6 -6
- package/dist/{SimpleDenyList-DyKqIWYL.js.map → SimpleDenyList-CtdXM49y.js.map} +1 -1
- package/dist/{SimpleDenyList-DMdld3JN.cjs → SimpleDenyList-D5AoBdVi.cjs} +2 -2
- package/dist/{SimpleDenyList-DMdld3JN.cjs.map → SimpleDenyList-D5AoBdVi.cjs.map} +1 -1
- package/dist/{Validator-vn0kQ3Wu.js → Validator-BEUqV28V.js} +27 -27
- package/dist/{Validator-vn0kQ3Wu.js.map → Validator-BEUqV28V.js.map} +1 -1
- package/dist/{Validator-BwPDBcxh.cjs → Validator-FxcxYKhR.cjs} +2 -2
- package/dist/{Validator-BwPDBcxh.cjs.map → Validator-FxcxYKhR.cjs.map} +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs +1 -1
- package/dist/Validators/LimitedSignerValidator.js +3 -3
- package/dist/Validators/SignerValidator.cjs +1 -1
- package/dist/Validators/SignerValidator.js +7 -7
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.js +2 -2
- package/dist/generated-Cf82M-QP.cjs +3 -0
- package/dist/generated-Cf82M-QP.cjs.map +1 -0
- package/dist/{generated-D6oDILUw.js → generated-krkFnwbV.js} +290 -247
- package/dist/generated-krkFnwbV.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +165 -164
- package/package.json +1 -1
- package/src/Actions/EventAction.test.ts +100 -71
- package/src/Actions/EventAction.ts +57 -30
- package/src/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.ts +13 -41
- package/src/Incentives/ERC20VariableCriteriaIncentiveV2.ts +13 -41
- package/dist/generated-BzLYuFx3.cjs +0 -3
- package/dist/generated-BzLYuFx3.cjs.map +0 -1
- package/dist/generated-D6oDILUw.js.map +0 -1
package/dist/BoostCore.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { l as v, dn as Z, dp as f0, v as M, dq as e0, dr as a0, ds as t0, dt as b0, du as c0, dv as d0, dw as n0, dx as s0, dy as i0, dz as o0, dA as r0, dB as u0, dC as h0, dD as l0, dE as g0, dF as w0, dG as y0, dH as m0, dI as v0, dJ as C0, dK as A0, dL as I0, dM as B0 } from "./generated-krkFnwbV.js";
|
|
2
2
|
import { waitForTransactionReceipt as V, getAccount as P0, getChains as p0, getTransactionReceipt as E0, deployContract as $ } from "@wagmi/core";
|
|
3
|
-
import { createClient as _0, custom as F0, zeroAddress as
|
|
4
|
-
import { l as
|
|
5
|
-
import { actionFromAddress as
|
|
3
|
+
import { createClient as _0, custom as F0, zeroAddress as C, parseEventLogs as _, zeroHash as w, keccak256 as R0, encodePacked as D0, encodeFunctionData as V0, encodeDeployData as T0 } from "viem";
|
|
4
|
+
import { l as N0 } from "./deployments-Dw5Suk_D.js";
|
|
5
|
+
import { actionFromAddress as S0 } from "./Actions/Action.js";
|
|
6
6
|
import { EventAction as L0 } from "./Actions/EventAction.js";
|
|
7
|
-
import { b as O0, a as x0, O as M0 } from "./AllowList-
|
|
7
|
+
import { b as O0, a as x0, O as M0 } from "./AllowList-DQf-8HQC.js";
|
|
8
8
|
import { SimpleAllowList as $0 } from "./AllowLists/SimpleAllowList.js";
|
|
9
|
-
import { S as
|
|
10
|
-
import { PassthroughAuth as
|
|
9
|
+
import { S as j0 } from "./SimpleDenyList-CtdXM49y.js";
|
|
10
|
+
import { PassthroughAuth as z0 } from "./Auth/PassthroughAuth.js";
|
|
11
11
|
import { prepareBoostPayload as P, Boost as F } from "./Boost.js";
|
|
12
|
-
import { T as
|
|
12
|
+
import { T as j, b as W0, M as q0, a as G0 } from "./Budget-LnAQ_Slw.js";
|
|
13
13
|
import { prepareTransfer as R, ManagedBudget as k0 } from "./Budgets/ManagedBudget.js";
|
|
14
|
-
import { Deployable as
|
|
14
|
+
import { Deployable as H0 } from "./Deployable/Deployable.js";
|
|
15
15
|
import { Roles as T } from "./Deployable/DeployableTargetWithRBAC.js";
|
|
16
|
-
import { AllowListIncentive as
|
|
17
|
-
import { CGDAIncentive as
|
|
16
|
+
import { AllowListIncentive as U0 } from "./Incentives/AllowListIncentive.js";
|
|
17
|
+
import { CGDAIncentive as K0 } from "./Incentives/CGDAIncentive.js";
|
|
18
18
|
import { ERC20Incentive as J0 } from "./Incentives/ERC20Incentive.js";
|
|
19
|
-
import { i as
|
|
20
|
-
import { ERC20PeggedVariableCriteriaIncentiveV2 as
|
|
21
|
-
import { ERC20VariableCriteriaIncentiveV2 as
|
|
19
|
+
import { i as Y0, E as Q0 } from "./Incentive-D_IBex5V.js";
|
|
20
|
+
import { ERC20PeggedVariableCriteriaIncentiveV2 as X0 } from "./Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js";
|
|
21
|
+
import { ERC20VariableCriteriaIncentiveV2 as Z0 } from "./Incentives/ERC20VariableCriteriaIncentiveV2.js";
|
|
22
22
|
import { PointsIncentive as f1 } from "./Incentives/PointsIncentive.js";
|
|
23
23
|
import { LimitedSignerValidator as e1 } from "./Validators/LimitedSignerValidator.js";
|
|
24
|
-
import { v as a1, P as t1, B as
|
|
24
|
+
import { v as a1, P as t1, B as z } from "./Validator-BEUqV28V.js";
|
|
25
25
|
import { SignerValidator as b1 } from "./Validators/SignerValidator.js";
|
|
26
|
-
import { BoostCoreNoIdentifierEmitted as
|
|
26
|
+
import { BoostCoreNoIdentifierEmitted as N, DeployableUnknownOwnerProvidedError as c1, InvalidProtocolChainIdError as d1, BudgetMustAuthorizeBoostCore as n1, MustInitializeBudgetError as s1, IncentiveNotCloneableError as i1, BoostNotFoundError as o1 } from "./errors.js";
|
|
27
27
|
import { assertValidAddressByChainId as l, getDeployedContractAddress as W } from "./utils.js";
|
|
28
28
|
import { simulateContract as r1, writeContract as u1 } from "viem/actions";
|
|
29
29
|
import { parseAccount as h1, getAddress as l1 } from "viem/utils";
|
|
30
30
|
import { ERC20VariableIncentive as g1 } from "./Incentives/ERC20VariableIncentive.js";
|
|
31
|
-
const q = "0x60a0604052306080523480156012575f80fd5b506019601d565b6080565b63409feecd1980546001811615603a5763f92ee8a95f526004601cfd5b6001600160401b03808260011c14607b578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6080516153f361009f5f395f81816132b201526132e901526153f35ff3fe608060405260043610610229575f3560e01c8063730f9c5711610131578063d73792a9116100ac578063eccc19a61161007c578063f2fde38b11610062578063f2fde38b14610652578063fee81cf414610665578063fefceca914610696575f80fd5b8063eccc19a614610620578063f04e283e1461063f575f80fd5b8063d73792a914610590578063dd7dc9a9146105a5578063dd98558c146105c5578063e21ff73114610601575f80fd5b8063a92647dc11610101578063c0c53b8b116100e7578063c0c53b8b14610533578063caa1647b14610552578063d5137b5214610571575f80fd5b8063a92647dc146104c3578063b0e21e8a146104e2575f80fd5b8063730f9c571461044b5780637b1039991461045e5780638da5cb5b1461047d5780638fe4f523146104b0575f80fd5b806346877b1a116101c157806354d1f13d116101915780635edb9eb0116101775780635edb9eb0146104115780635f32c23e14610424578063715018a614610443575f80fd5b806354d1f13d146103be57806354fd4d50146103c6575f80fd5b806346877b1a1461034b5780634f1ef2861461036a5780635045b8661461037d57806352d1902d1461039c575f80fd5b806325692962116101fc57806325692962146102c1578063346339d5146102c957806339a51be5146102f557806343bc42d31461032c575f80fd5b806313c8e2de1461022d57806316614282146102625780631fa2acdc14610283578063219f71f0146102a2575b5f80fd5b348015610238575f80fd5b5061024c610247366004614377565b6106f9565b60405161025991906143d1565b60405180910390f35b34801561026d575f80fd5b5061028161027c3660046144cf565b61082e565b005b34801561028e575f80fd5b5061028161029d366004614532565b610fa1565b3480156102ad575f80fd5b506102816102bc366004614598565b611716565b610281611758565b3480156102d4575f80fd5b506102e86102e3366004614377565b6117a5565b6040516102599190614620565b348015610300575f80fd5b50600354610314906001600160a01b031681565b6040516001600160a01b039091168152602001610259565b348015610337575f80fd5b5061028161034636600461467e565b61185a565b348015610356575f80fd5b50610281610365366004614598565b6118b5565b610281610378366004614699565b6118f7565b348015610388575f80fd5b50600454610314906001600160a01b031681565b3480156103a7575f80fd5b506103b06119ac565b604051908152602001610259565b6102816119da565b3480156103d1575f80fd5b50604080518082018252600581527f312e302e30000000000000000000000000000000000000000000000000000000602082015290516102599190614718565b34801561041c575f80fd5b505f546103b0565b34801561042f575f80fd5b5061028161043e36600461472a565b611a13565b610281611bac565b61028161045936600461474a565b611bbf565b348015610469575f80fd5b50600154610314906001600160a01b031681565b348015610488575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610314565b6102816104be3660046147c1565b612026565b3480156104ce575f80fd5b50600254610314906001600160a01b031681565b3480156104ed575f80fd5b5060045461051a9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610259565b34801561053e575f80fd5b5061028161054d366004614826565b61203b565b34801561055d575f80fd5b5061028161056c36600461467e565b612186565b34801561057c575f80fd5b5061031461058b36600461486e565b61220e565b34801561059b575f80fd5b5061051a61271081565b3480156105b0575f80fd5b5060055461051a9067ffffffffffffffff1681565b3480156105d0575f80fd5b506105e46105df3660046148b8565b61243a565b604080519283526001600160a01b03909116602083015201610259565b34801561060c575f80fd5b5061024c61061b366004614905565b612896565b34801561062b575f80fd5b5061028161063a366004614598565b6130c7565b61028161064d366004614598565b613109565b610281610660366004614598565b613146565b348015610670575f80fd5b506103b061067f366004614598565b63389a75e1600c9081525f91909152602090205490565b3480156106a1575f80fd5b506106e86106b0366004614377565b60066020525f9081526040902080546001820154600283015460039093015460ff8316936101009093046001600160a01b0316929085565b604051610259959493929190614944565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e08101919091525f828154811061074a5761074a61497d565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b039081168452600182015481168486015260028201548116848401526003820154166060840152600481018054835181870281018701909452808452939491936080860193928301828280156107ed57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116107cf575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b031660609091015292915050565b3068929eee149b4bd21268540361084c5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061086b5761086b61497d565b905f5260205f20906008020190505f81600401858154811061088f5761088f61497d565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a2906108e490889088906004016149d3565b5f60405180830381865afa1580156108fe573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109259190810190614b2d565b905080515f03610961576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818060200190518101906109769190614b6a565b90505f808080600185516002811115610991576109916145ba565b14806109ae57505f855160028111156109ac576109ac6145ba565b145b15610a12575f85606001518060200190518101906109cc9190614c12565b805160058b0154909650909150612710906109f19067ffffffffffffffff1687614c81565b6109fb9190614c98565b9350610a078486614cd0565b908190529150610ac8565b600285516002811115610a2757610a276145ba565b03610a96575f8560600151806020019051810190610a459190614ce3565b602081015160058b015490965090915061271090610a6d9067ffffffffffffffff1687614c81565b610a779190614c98565b9350610a838486614cd0565b6020820181905290519092509050610ac8565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610ad38d8d61316c565b5f8181526006602052604081206001810180549394509092879290610af9908490614cd0565b909155505085159150610f87905057600185516002811115610b1d57610b1d6145ba565b1480610b3a57505f85516002811115610b3857610b386145ba565b145b15610d595760208501516040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490526001600160a01b038216906323b872dd906064016020604051808303815f875af1158015610bad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd19190614d70565b506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820187905282169063095ea7b3906044016020604051808303815f875af1158015610c37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c5b9190614d70565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038916906330db555f906024015f604051808303815f87803b158015610cb4575f80fd5b505af1158015610cc6573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015610d2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d529190614d70565b5050610f47565b60208501516040517ff242432a000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526064810184905260a060848201525f60a48201526001600160a01b0382169063f242432a9060c4015f604051808303815f87803b158015610dd6575f80fd5b505af1158015610de8573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152600160248301528416925063a22cb46591506044015f604051808303815f87803b158015610e4c575f80fd5b505af1158015610e5e573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018890526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b158015610eba575f80fd5b505af1158015610ecc573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b158015610f2f575f80fd5b505af1158015610f41573d5f803e3d5ffd5b50505050505b604080518581526020810185905233918d918f917f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f31876910160405180910390a45b50505050505050503868929eee149b4bd212685550505050565b3068929eee149b4bd212685403610fbf5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808681548110610fde57610fde61497d565b905f5260205f20906008020190505f8160040186815481106110025761100261497d565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a29061105790899089906004016149d3565b5f60405180830381865afa158015611071573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526110989190810190614b2d565b905080515f036110d4576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818060200190518101906110e99190614b6a565b90505f6001600160a01b038616156111015785611110565b60038501546001600160a01b03165b905061111b8161319b565b5f8080600185516002811115611133576111336145ba565b148061115057505f8551600281111561114e5761114e6145ba565b145b156111d7575f856060015180602001905181019061116e9190614c12565b805160058b0154909550909150612710906111939067ffffffffffffffff1686614c81565b61119d9190614c98565b92506111a98385614cd0565b8082526040805160208101839052919350015b60408051601f19818403018152919052606087015250611262565b6002855160028111156111ec576111ec6145ba565b03610a96575f856060015180602001905181019061120a9190614ce3565b602081015160058b0154909550909150612710906112329067ffffffffffffffff1686614c81565b61123c9190614c98565b92506112488385614cd0565b60208083018290526040519193506111bc91839101614d8b565b30604080870191909152515f9061127d908790602001614db9565b60408051601f19818403018152908290527ffa4ca9b100000000000000000000000000000000000000000000000000000000825291506001600160a01b0386169063fa4ca9b1906112d2908490600401614718565b6020604051808303815f875af11580156112ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113129190614d70565b611348576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6113538f8f61316c565b5f8181526006602052604081206001810180549394509092879290611379908490614cd0565b9091555050851592506116fb9150505760018551600281111561139e5761139e6145ba565b14806113bb57505f855160028111156113b9576113b96145ba565b145b1561154c5760208501516040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820186905282169063095ea7b3906044016020604051808303815f875af115801561142a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144e9190614d70565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b038916906330db555f906024015f604051808303815f87803b1580156114a7575f80fd5b505af11580156114b9573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015611521573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115459190614d70565b50506116ac565b60208501516040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526001602483015282169063a22cb465906044015f604051808303815f87803b1580156115b1575f80fd5b505af11580156115c3573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018790526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b15801561161f575f80fd5b505af1158015611631573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b158015611694575f80fd5b505af11580156116a6573d5f803e3d5ffd5b50505050505b336001600160a01b03168c8e7f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f3187686866040516116f2929190918252602082015260400190565b60405180910390a45b50505050505050503868929eee149b4bd21268555050505050565b61171e61327a565b600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6117dc6040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b5f8281526006602052604090819020815160a081019092528054829060ff16600281111561180c5761180c6145ba565b600281111561181d5761181d6145ba565b8152815461010090046001600160a01b03166020820152600182015460408201526002820154606082015260039091015460809091015292915050565b61186261327a565b6004805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6118bd61327a565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6118ff6132af565b611908836132de565b8260601b60601c92503d5f526352d1902d6001527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80602060016004601d885afa511461195d576355299b496001526004601dfd5b837fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a283905580156119a757604051818382375f388383875af46119a5573d5f823e3d81fd5b505b505050565b5f6119b56132e6565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b3068929eee149b4bd212685403611a315763ab143c065f526004601cfd5b3068929eee149b4bd21268555f611a48838361316c565b5f818152600660205260408120815492935091819086908110611a6d57611a6d61497d565b905f5260205f2090600802016004018481548110611a8d57611a8d61497d565b5f918252602082200154600284015460018501546001600160a01b03909216935090611abc9061271090614c81565b611ac69190614c98565b90505f611ad38484613315565b905081811115611b97575f611ae88383614e0a565b90505f61271067ffffffffffffffff16866002015483611b089190614c81565b611b129190614c98565b9050611b1e8682613463565b80866001015410611b475780866001015f828254611b3c9190614e0a565b90915550611b4e9050565b5f60018701555b6003546040518281526001600160a01b039091169089908b907f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b179060200160405180910390a450505b50505050503868929eee149b4bd21268555050565b611bb461327a565b611bbd5f61359f565b565b3068929eee149b4bd212685403611bdd5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110611bfc57611bfc61497d565b905f5260205f20906008020190505f611c15888861316c565b5f81815260066020526040812060048501805493945090928a908110611c3d57611c3d61497d565b5f9182526020909120015460028501546040517fe3f756de0000000000000000000000000000000000000000000000000000000081526001600160a01b03928316935091169063e3f756de90611c9b9088908b908b90600401614e1d565b602060405180830381865afa158015611cb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cda9190614d70565b611d10576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018401546040517f703b69000000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063703b6900903490611d65908e908e908b908e908e90600401614e48565b60206040518083038185885af1158015611d81573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611da69190614d70565b611ddc576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81545f9061010090046001600160a01b0316611df8575f611e02565b611e028383613315565b6040517fbb1757cf0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0383169063bb1757cf90611e4e9089908c908c90600401614e1d565b6020604051808303815f875af1158015611e6a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e8e9190614d70565b611ed3578588886040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401611eca93929190614e1d565b60405180910390fd5b82545f9061010090046001600160a01b0316611eef575f611ef9565b611ef98484613315565b90505f818311611f09575f611f13565b611f138284614e0a565b90505f61271067ffffffffffffffff16866002015483611f339190614c81565b611f3d9190614c98565b90508015611fc357611f4f8682613463565b80866001015f828254611f629190614e0a565b9250508190555060035f9054906101000a90046001600160a01b03166001600160a01b03168d8f7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051611fba91815260200190565b60405180910390a45b886001600160a01b03168d8f7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478f8f8f60405161200293929190614e1d565b60405180910390a450505050505050503868929eee149b4bd2126855505050505050565b612034858585858533611bbf565b5050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf601132805460038255801561208c5760018160011c14303b106120835763f92ee8a95f526004601cfd5b818160ff1b1b91505b50612096826135f7565b600180546001600160a01b038087167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556003805492861692909116919091179055600480547503e800000000000000000000000000000000000000007fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909116179055600580547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166103e817905580156119a5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a150505050565b61218e61327a565b61271067ffffffffffffffff8216106121d3576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff92909216919091179055565b5f3068929eee149b4bd21268540361222d5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80848154811061224c5761224c61497d565b5f918252602090912060089091020160078101549091506001600160a01b031633146122a4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038101546122bb906001600160a01b031661319b565b6004808201805491549091905f906001600160a01b03166122dc575f61236e565b6004546040516001600160a01b039091169063c7f1ecff90612304908a908a90602001614e81565b6040516020818303038152906040526040518263ffffffff1660e01b815260040161232f9190614718565b602060405180830381865afa15801561234a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236e9190614f38565b90506123a461237c87614fa0565b600386015460058701546001600160a01b039091169067ffffffffffffffff16848b8761364d565b83546001810185555f858152602080822090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03851690811790915560405191825292975084918a917f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae910160405180910390a4505050503868929eee149b4bd212685592915050565b5f803068929eee149b4bd21268540361245a5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f8085815481106124795761247961497d565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b0390811684526001820154811684860152600282015481168484015260038201541660608401526004810180548351818702810187019094528084529394919360808601939283018282801561251c57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116124fe575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b0390811660609283015290820151919250163314612599576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6125a4868661316c565b5f8181526006602052604081209192506125c0898b018b615009565b90505f81602001518060200190518101906125db91906150a6565b90505f61271067ffffffffffffffff168460020154836125fb9190614c81565b6126059190614c98565b90508015612773576001845460ff166002811115612625576126256145ba565b148061264557505f845460ff166002811115612643576126436145ba565b145b1561266d5782518454612668916101009091046001600160a01b031690836139ed565b61272a565b6002845460ff166002811115612685576126856145ba565b0361272a578354835160038601546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b158015612713575f80fd5b505af1158015612725573d5f803e3d5ffd5b505050505b825f01516001600160a01b0316898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b178460405161276a91815260200190565b60405180910390a45b5f8087608001518b8151811061278b5761278b61497d565b60200260200101516001600160a01b031663474f5a44866040516020016127b291906150bd565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016127dd9190614718565b60408051808303815f875af11580156127f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061281c91906150ea565b91509150815f0361285f57338e8e6040517f9ecd71a9000000000000000000000000000000000000000000000000000000008152600401611eca93929190614e1d565b82866001015f8282546128729190614e0a565b90915550503868929eee149b4bd2126855909d909c509a5050505050505050505050565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e081019190915260025433906001600160a01b03161580159061297357506002546040517ffe9fbb800000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063fe9fbb8090602401602060405180830381865afa15801561294d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129719190614d70565b155b156129aa576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd2126854036129c85763ab143c065f526004601cfd5b3068929eee149b4bd21268555f612a1385858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250613a4092505050565b806020019051810190612a269190615212565b9050612a34815f015161319b565b5f805460018101825590805260e082015160089091027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56a810180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b039485161790915583517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566830180549092169084161790556004547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639091019116612b385760a0820151600454612b33919074010000000000000000000000000000000000000000900467ffffffffffffffff1661533d565b612bd0565b60a0820151600480546040517fb1539a6b0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163b1539a6b91612b87918b918b91016149d3565b602060405180830381865afa158015612ba2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612bc6919061535d565b612bd0919061533d565b6005820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905560c082015160068201556020820151612c47907fe671579500000000000000000000000000000000000000000000000000000000906001613bcb565b81547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03919091161781556060820151612cac907fe2089f7900000000000000000000000000000000000000000000000000000000906001613bcb565b6002820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039283161790556004545f9116612cf2575f612d7b565b600480546040517fc7f1ecff0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163c7f1ecff91612d3c918b918b91016149d3565b602060405180830381865afa158015612d57573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7b9190614f38565b608084015184516005850154929350612d9e9267ffffffffffffffff1684613bec565b8051612db49160048501916020909101906142e8565b506040830151602001516001600160a01b031615612e0157612dfc7f5912b89c0000000000000000000000000000000000000000000000000000000084604001516001613bcb565b612eb9565b81546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201526001600160a01b03909116906301ffc9a790602401602060405180830381865afa158015612e7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ea39190614d70565b612ead575f612eb9565b81546001600160a01b03165b6001830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03929092169182179055612f50576040517fe1c444480000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201525f6024820152604401611eca565b815460078301545f546001600160a01b039283169290911690612f7590600190614e0a565b6004850154600186015460028701546003880154604080519485526001600160a01b03938416602086015291831684830152919091166060830152517f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd9181900360800190a4604080516101008101825283546001600160a01b0390811682526001850154811660208084019190915260028601548216838501526003860154909116606083015260048501805484518184028101840190955280855292938693608086019391929183018282801561307557602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311613057575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b03166060909101523868929eee149b4bd2126855979650505050505050565b6130cf61327a565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b61311161327a565b63389a75e1600c52805f526020600c20805442111561313757636f5e88185f526004601cfd5b5f90556131438161359f565b50565b61314e61327a565b8060601b61316357637448fbae5f526004601cfd5b6131438161359f565b604080516020808201859052818301849052825180830384018152606090920190925280519101205b92915050565b6131c57fe49cedd70000000000000000000000000000000000000000000000000000000082613d1e565b6040517ffe9fbb800000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382169063fe9fbb8090602401602060405180830381865afa158015613220573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132449190614d70565b613143576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611bbd576382b429005f526004601cfd5b307f000000000000000000000000000000000000000000000000000000000000000003611bbd57611bbd613e3c565b61314361327a565b307f000000000000000000000000000000000000000000000000000000000000000014611bbd57611bbd613e3c565b5f6001835460ff16600281111561332e5761332e6145ba565b148061334e57505f835460ff16600281111561334c5761334c6145ba565b145b156133e55782546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152610100909204909116906370a08231906024015b602060405180830381865afa1580156133ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133de91906150a6565b9050613195565b6002835460ff1660028111156133fd576133fd6145ba565b0361345b57825460038401546040517efdd58e0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526024820192909252610100909204169062fdd58e9060440161339f565b505f92915050565b6001825460ff16600281111561347b5761347b6145ba565b148061349b57505f825460ff166002811115613499576134996145ba565b145b156134de5760035482546134c1916001600160a01b0361010090920482169116836139ed565b81546134da9061010090046001600160a01b0316613e49565b5050565b6002825460ff1660028111156134f6576134f66145ba565b036134da57815460038054908401546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b158015613585575f80fd5b505af1158015613597573d5f803e3d5ffd5b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b6001600160a01b03167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b5f80876040015190506136847fa9216705000000000000000000000000000000000000000000000000000000008960200151613d1e565b87516136f35760208801516040517fe1c444480000000000000000000000000000000000000000000000000000000081527fa92167050000000000000000000000000000000000000000000000000000000060048201526001600160a01b039091166024820152604401611eca565b61371e7fa921670500000000000000000000000000000000000000000000000000000000895f613bcb565b91505f826001600160a01b0316634e7165a2836040518263ffffffff1660e01b815260040161374d9190614718565b5f60405180830381865afa158015613767573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261378e9190810190614b2d565b905080515f1461396f575f806137a4838a613f05565b6040517ffa4ca9b100000000000000000000000000000000000000000000000000000000815291935091506001600160a01b038b169063fa4ca9b1906137ee908590600401614718565b6020604051808303815f875af115801561380a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061382e9190614d70565b613864576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffa4ca9b10000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063fa4ca9b1906138a9908690600401614718565b6020604051808303815f875af11580156138c5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138e99190614d70565b61391f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838060200190518101906139349190614b6a565b905061396b88886001600160a01b038c16613953578360200151613955565b8b5b858e67ffffffffffffffff16865f01518b61409e565b5050505b6040517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0384169063439fab91906139b4908590600401614718565b5f604051808303815f87803b1580156139cb575f80fd5b505af11580156139dd573d5f803e3d5ffd5b5050505050509695505050505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416613a3657803d853b151710613a36576390b8ec185f526004601cfd5b505f603452505050565b6060815115613bc6576040519050600482018051835184602001017f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6020850183198552866020015b8051805f1a613b1e57600190811a0160808111613ac1576002820191508036843791820191848210613abb5750613bac565b50613a89565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83529182017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80019160029190910190848210613abb5750613bac565b80835283811684011783171980157fc0c8c8d0c8e8d0d8c8e8e0e8d0d8e0f0c8d0e8d0e0e0d8f0d0d0e0d8f8f8f8f8601f6f8421084210842108cc6318c6db6d54be660204081020408185821060071b86811c67ffffffffffffffff1060061b1795861c0260181a1c161a90911860031c019182019101838110613a895783811115613bac57838103820391505b509290935250601f198382030183525f8152602001604052505b919050565b5f613bda848460200151613d1e565b613be483836141da565b949350505050565b5f805460609190613bff90600190614e0a565b9050855167ffffffffffffffff811115613c1b57613c1b6149e6565b604051908082528060200260200182016040528015613c44578160200160208202803683370190505b5091505f5b8651811015613d1457613c79878281518110613c6757613c6761497d565b6020026020010151878787868661364d565b838281518110613c8b57613c8b61497d565b60200260200101906001600160a01b031690816001600160a01b031681525050828181518110613cbd57613cbd61497d565b60200260200101516001600160a01b031681837f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae6001604051613d04911515815260200190565b60405180910390a4600101613c49565b5050949350505050565b6001600160a01b0381161580613dd257506040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015613dac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613dd09190614d70565b155b156134da576040517fe1c444480000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b0382166024820152604401611eca565b639f03a0265f526004601cfd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015613ea6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613eca91906150a6565b90505f81118015613ee6575060055467ffffffffffffffff1681105b156134da576003546134da906001600160a01b038481169116836139ed565b60605f8084806020019051810190613f1d9190614b6a565b905083600182516002811115613f3557613f356145ba565b1480613f5257505f82516002811115613f5057613f506145ba565b145b15614000575f8260600151806020019051810190613f709190614c12565b80519091505f9061271090613f909067ffffffffffffffff861690614c81565b613f9a9190614c98565b6040805160208082018352838252825190810184905292935091015b60408051601f198184030181529181526060870191909152308682015251613fe2908690602001614db9565b60405160208183030381529060405282965096505050505050614097565b600282516002811115614015576140156145ba565b03610a96575f82606001518060200190518101906140339190614ce3565b90505f61271067ffffffffffffffff168367ffffffffffffffff16836020015161405d9190614c81565b6140679190614c98565b604080516060810182528451815260208082018490528583015182840152915192935091613fb691839101614d8b565b9250929050565b5f60028360028111156140b3576140b36145ba565b036140d057818060200190518101906140cc9190615378565b5090505b5f6040518060a001604052808560028111156140ee576140ee6145ba565b8152602001886001600160a01b031681526020018781526020018681526020018381525090508060065f6141228c8c61316c565b815260208101919091526040015f208151815482907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600183600281111561416d5761416d6145ba565b0217905550602082015181546001600160a01b03909116610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9091161781556040820151600182015560608201516002820155608090910151600390910155505050505050505050565b81515f906141ec578260200151614202565b61420283602001516001600160a01b0316614291565b835190915080156142105750815b156131955760408084015190517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0383169163439fab919161425e9190600401614718565b5f604051808303815f87803b158015614275575f80fd5b505af1158015614287573d5f803e3d5ffd5b5050505092915050565b5f6131955f835f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f09050806142de5763301164255f526004601cfd5b5f60215292915050565b828054828255905f5260205f20908101928215614353579160200282015b8281111561435357825182547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909116178255602090920191600190910190614306565b5061435f929150614363565b5090565b5b8082111561435f575f8155600101614364565b5f60208284031215614387575f80fd5b5035919050565b5f8151808452602084019350602083015f5b828110156143c75781516001600160a01b03168652602095860195909101906001016143a0565b5093949350505050565b602081526001600160a01b0382511660208201525f602083015161440060408401826001600160a01b03169052565b5060408301516001600160a01b03811660608401525060608301516001600160a01b038116608084015250608083015161010060a084015261444661012084018261438e565b905060a084015161446360c085018267ffffffffffffffff169052565b5060c084015160e084015260e08401516144896101008501826001600160a01b03169052565b509392505050565b5f8083601f8401126144a1575f80fd5b50813567ffffffffffffffff8111156144b8575f80fd5b602083019150836020828501011115614097575f80fd5b5f805f80606085870312156144e2575f80fd5b8435935060208501359250604085013567ffffffffffffffff811115614506575f80fd5b61451287828801614491565b95989497509550505050565b6001600160a01b0381168114613143575f80fd5b5f805f805f60808688031215614546575f80fd5b8535945060208601359350604086013567ffffffffffffffff81111561456a575f80fd5b61457688828901614491565b909450925050606086013561458a8161451e565b809150509295509295909350565b5f602082840312156145a8575f80fd5b81356145b38161451e565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6003811061461c577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b5f60a0820190506146328284516145e7565b6001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015292915050565b67ffffffffffffffff81168114613143575f80fd5b5f6020828403121561468e575f80fd5b81356145b381614669565b5f805f604084860312156146ab575f80fd5b83356146b68161451e565b9250602084013567ffffffffffffffff8111156146d1575f80fd5b6146dd86828701614491565b9497909650939450505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6145b360208301846146ea565b5f806040838503121561473b575f80fd5b50508035926020909101359150565b5f805f805f8060a0878903121561475f575f80fd5b863595506020870135945060408701356147788161451e565b9350606087013567ffffffffffffffff811115614793575f80fd5b61479f89828a01614491565b90945092505060808701356147b38161451e565b809150509295509295509295565b5f805f805f608086880312156147d5575f80fd5b853594506020860135935060408601356147ee8161451e565b9250606086013567ffffffffffffffff811115614809575f80fd5b61481588828901614491565b969995985093965092949392505050565b5f805f60608486031215614838575f80fd5b83356148438161451e565b925060208401356148538161451e565b915060408401356148638161451e565b809150509250925092565b5f806040838503121561487f575f80fd5b82359150602083013567ffffffffffffffff81111561489c575f80fd5b8301606081860312156148ad575f80fd5b809150509250929050565b5f805f80606085870312156148cb575f80fd5b843567ffffffffffffffff8111156148e1575f80fd5b6148ed87828801614491565b90989097506020870135966040013595509350505050565b5f8060208385031215614916575f80fd5b823567ffffffffffffffff81111561492c575f80fd5b61493885828601614491565b90969095509350505050565b60a0810161495282886145e7565b6001600160a01b03861660208301528460408301528360608301528260808301529695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b81835281816020850137505f602082840101525f6020601f19601f840116840101905092915050565b602081525f613be46020830184866149aa565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715614a3657614a366149e6565b60405290565b6040516060810167ffffffffffffffff81118282101715614a3657614a366149e6565b604051610100810167ffffffffffffffff81118282101715614a3657614a366149e6565b604051601f8201601f1916810167ffffffffffffffff81118282101715614aac57614aac6149e6565b604052919050565b5f67ffffffffffffffff821115614acd57614acd6149e6565b50601f01601f191660200190565b5f82601f830112614aea575f80fd5b8151614afd614af882614ab4565b614a83565b818152846020838601011115614b11575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215614b3d575f80fd5b815167ffffffffffffffff811115614b53575f80fd5b613be484828501614adb565b8051613bc68161451e565b5f60208284031215614b7a575f80fd5b815167ffffffffffffffff811115614b90575f80fd5b820160808185031215614ba1575f80fd5b614ba9614a13565b815160038110614bb7575f80fd5b81526020820151614bc78161451e565b60208201526040820151614bda8161451e565b6040820152606082015167ffffffffffffffff811115614bf8575f80fd5b614c0486828501614adb565b606083015250949350505050565b5f6020828403128015614c23575f80fd5b506040516020810167ffffffffffffffff81118282101715614c4757614c476149e6565b6040529151825250919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808202811582820484141761319557613195614c54565b5f82614ccb577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b8082018082111561319557613195614c54565b5f60208284031215614cf3575f80fd5b815167ffffffffffffffff811115614d09575f80fd5b820160608185031215614d1a575f80fd5b614d22614a3c565b8151815260208083015190820152604082015167ffffffffffffffff811115614d49575f80fd5b614d5586828501614adb565b604083015250949350505050565b8015158114613143575f80fd5b5f60208284031215614d80575f80fd5b81516145b381614d63565b6020815281516020820152602082015160408201525f6040830151606080840152613be460808401826146ea565b60208152614dcb6020820183516145e7565b6001600160a01b0360208301511660408201526001600160a01b0360408301511660608201525f6060830151608080840152613be460a08401826146ea565b8181038181111561319557613195614c54565b6001600160a01b0384168152604060208201525f614e3f6040830184866149aa565b95945050505050565b8581528460208201526001600160a01b0384166040820152608060608201525f614e766080830184866149aa565b979650505050505050565b828152604060208201525f8235614e9781614d63565b151560408301526020830135614eac8161451e565b6001600160a01b031660608301526040830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614eef575f80fd5b830160208101903567ffffffffffffffff811115614f0b575f80fd5b803603821315614f19575f80fd5b60606080850152614f2e60a0850182846149aa565b9695505050505050565b5f60208284031215614f48575f80fd5b81516145b38161451e565b5f82601f830112614f62575f80fd5b8135614f70614af882614ab4565b818152846020838601011115614f84575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60608236031215614fb0575f80fd5b614fb8614a3c565b8235614fc381614d63565b81526020830135614fd38161451e565b6020820152604083013567ffffffffffffffff811115614ff1575f80fd5b614ffd36828601614f53565b60408301525092915050565b5f60208284031215615019575f80fd5b813567ffffffffffffffff81111561502f575f80fd5b820160408185031215615040575f80fd5b6040805190810167ffffffffffffffff81118282101715615063576150636149e6565b60405281356150718161451e565b8152602082013567ffffffffffffffff81111561508c575f80fd5b61509886828501614f53565b602083015250949350505050565b5f602082840312156150b6575f80fd5b5051919050565b602081526001600160a01b0382511660208201525f6020830151604080840152613be460608401826146ea565b5f80604083850312156150fb575f80fd5b825160208401519092506148ad8161451e565b5f6060828403121561511e575f80fd5b615126614a3c565b9050815161513381614d63565b815260208201516151438161451e565b6020820152604082015167ffffffffffffffff811115615161575f80fd5b614ffd84828501614adb565b5f82601f83011261517c575f80fd5b815167ffffffffffffffff811115615196576151966149e6565b8060051b6151a660208201614a83565b918252602081850181019290810190868411156151c1575f80fd5b6020860192505b83831015614f2e57825167ffffffffffffffff8111156151e6575f80fd5b6151f5886020838a010161510e565b835250602092830192909101906151c8565b8051613bc681614669565b5f60208284031215615222575f80fd5b815167ffffffffffffffff811115615238575f80fd5b8201610100818503121561524a575f80fd5b615252614a5f565b61525b82614b5f565b8152602082015167ffffffffffffffff811115615276575f80fd5b6152828682850161510e565b602083015250604082015167ffffffffffffffff8111156152a1575f80fd5b6152ad8682850161510e565b604083015250606082015167ffffffffffffffff8111156152cc575f80fd5b6152d88682850161510e565b606083015250608082015167ffffffffffffffff8111156152f7575f80fd5b6153038682850161516d565b60808301525061531560a08301615207565b60a082015260c0828101519082015261533060e08301614b5f565b60e0820152949350505050565b67ffffffffffffffff818116838216019081111561319557613195614c54565b5f6020828403121561536d575f80fd5b81516145b381614669565b5f8060408385031215615389575f80fd5b8251602084015190925067ffffffffffffffff8111156153a7575f80fd5b6153b385828601614adb565b915050925092905056fea264697066735822122081438b59615fe3a94ba762252425a044dcc524f7ed824e6c8650e5837ed9178164736f6c634300081a0033";
|
|
32
|
-
function
|
|
31
|
+
const q = "0x60a0604052306080523480156012575f80fd5b506019601d565b6080565b63409feecd1980546001811615603a5763f92ee8a95f526004601cfd5b6001600160401b03808260011c14607b578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b60805161544961009f5f395f8181613308015261333f01526154495ff3fe608060405260043610610229575f3560e01c8063730f9c5711610131578063d73792a9116100ac578063eccc19a61161007c578063f2fde38b11610062578063f2fde38b14610652578063fee81cf414610665578063fefceca914610696575f80fd5b8063eccc19a614610620578063f04e283e1461063f575f80fd5b8063d73792a914610590578063dd7dc9a9146105a5578063dd98558c146105c5578063e21ff73114610601575f80fd5b8063a92647dc11610101578063c0c53b8b116100e7578063c0c53b8b14610533578063caa1647b14610552578063d5137b5214610571575f80fd5b8063a92647dc146104c3578063b0e21e8a146104e2575f80fd5b8063730f9c571461044b5780637b1039991461045e5780638da5cb5b1461047d5780638fe4f523146104b0575f80fd5b806346877b1a116101c157806354d1f13d116101915780635edb9eb0116101775780635edb9eb0146104115780635f32c23e14610424578063715018a614610443575f80fd5b806354d1f13d146103be57806354fd4d50146103c6575f80fd5b806346877b1a1461034b5780634f1ef2861461036a5780635045b8661461037d57806352d1902d1461039c575f80fd5b806325692962116101fc57806325692962146102c1578063346339d5146102c957806339a51be5146102f557806343bc42d31461032c575f80fd5b806313c8e2de1461022d57806316614282146102625780631fa2acdc14610283578063219f71f0146102a2575b5f80fd5b348015610238575f80fd5b5061024c6102473660046143cd565b6106f9565b6040516102599190614427565b60405180910390f35b34801561026d575f80fd5b5061028161027c366004614525565b61082e565b005b34801561028e575f80fd5b5061028161029d366004614588565b610fa1565b3480156102ad575f80fd5b506102816102bc3660046145ee565b611716565b610281611758565b3480156102d4575f80fd5b506102e86102e33660046143cd565b6117a5565b6040516102599190614676565b348015610300575f80fd5b50600354610314906001600160a01b031681565b6040516001600160a01b039091168152602001610259565b348015610337575f80fd5b506102816103463660046146d4565b61185a565b348015610356575f80fd5b506102816103653660046145ee565b6118b5565b6102816103783660046146ef565b6118f7565b348015610388575f80fd5b50600454610314906001600160a01b031681565b3480156103a7575f80fd5b506103b06119ac565b604051908152602001610259565b6102816119da565b3480156103d1575f80fd5b50604080518082018252600581527f312e312e3000000000000000000000000000000000000000000000000000000060208201529051610259919061476e565b34801561041c575f80fd5b505f546103b0565b34801561042f575f80fd5b5061028161043e366004614780565b611a13565b610281611bac565b6102816104593660046147a0565b611bbf565b348015610469575f80fd5b50600154610314906001600160a01b031681565b348015610488575f80fd5b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754610314565b6102816104be366004614817565b612026565b3480156104ce575f80fd5b50600254610314906001600160a01b031681565b3480156104ed575f80fd5b5060045461051a9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610259565b34801561053e575f80fd5b5061028161054d36600461487c565b61203b565b34801561055d575f80fd5b5061028161056c3660046146d4565b612186565b34801561057c575f80fd5b5061031461058b3660046148c4565b61220e565b34801561059b575f80fd5b5061051a61271081565b3480156105b0575f80fd5b5060055461051a9067ffffffffffffffff1681565b3480156105d0575f80fd5b506105e46105df36600461490e565b61243a565b604080519283526001600160a01b03909116602083015201610259565b34801561060c575f80fd5b5061024c61061b36600461495b565b6128ec565b34801561062b575f80fd5b5061028161063a3660046145ee565b61311d565b61028161064d3660046145ee565b61315f565b6102816106603660046145ee565b61319c565b348015610670575f80fd5b506103b061067f3660046145ee565b63389a75e1600c9081525f91909152602090205490565b3480156106a1575f80fd5b506106e86106b03660046143cd565b60066020525f9081526040902080546001820154600283015460039093015460ff8316936101009093046001600160a01b0316929085565b60405161025995949392919061499a565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e08101919091525f828154811061074a5761074a6149d3565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b039081168452600182015481168486015260028201548116848401526003820154166060840152600481018054835181870281018701909452808452939491936080860193928301828280156107ed57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116107cf575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b031660609091015292915050565b3068929eee149b4bd21268540361084c5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80858154811061086b5761086b6149d3565b905f5260205f20906008020190505f81600401858154811061088f5761088f6149d3565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a2906108e49088908890600401614a29565b5f60405180830381865afa1580156108fe573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109259190810190614b83565b905080515f03610961576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818060200190518101906109769190614bc0565b90505f80808060018551600281111561099157610991614610565b14806109ae57505f855160028111156109ac576109ac614610565b145b15610a12575f85606001518060200190518101906109cc9190614c68565b805160058b0154909650909150612710906109f19067ffffffffffffffff1687614cd7565b6109fb9190614cee565b9350610a078486614d26565b908190529150610ac8565b600285516002811115610a2757610a27614610565b03610a96575f8560600151806020019051810190610a459190614d39565b602081015160058b015490965090915061271090610a6d9067ffffffffffffffff1687614cd7565b610a779190614cee565b9350610a838486614d26565b6020820181905290519092509050610ac8565b6040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610ad38d8d6131c2565b5f8181526006602052604081206001810180549394509092879290610af9908490614d26565b909155505085159150610f87905057600185516002811115610b1d57610b1d614610565b1480610b3a57505f85516002811115610b3857610b38614610565b145b15610d595760208501516040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490526001600160a01b038216906323b872dd906064016020604051808303815f875af1158015610bad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd19190614dc6565b506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820187905282169063095ea7b3906044016020604051808303815f875af1158015610c37573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c5b9190614dc6565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038916906330db555f906024015f604051808303815f87803b158015610cb4575f80fd5b505af1158015610cc6573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015610d2e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d529190614dc6565b5050610f47565b60208501516040517ff242432a000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018390526064810184905260a060848201525f60a48201526001600160a01b0382169063f242432a9060c4015f604051808303815f87803b158015610dd6575f80fd5b505af1158015610de8573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152600160248301528416925063a22cb46591506044015f604051808303815f87803b158015610e4c575f80fd5b505af1158015610e5e573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018890526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b158015610eba575f80fd5b505af1158015610ecc573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b158015610f2f575f80fd5b505af1158015610f41573d5f803e3d5ffd5b50505050505b604080518581526020810185905233918d918f917f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f31876910160405180910390a45b50505050505050503868929eee149b4bd212685550505050565b3068929eee149b4bd212685403610fbf5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808681548110610fde57610fde6149d3565b905f5260205f20906008020190505f816004018681548110611002576110026149d3565b5f9182526020822001546040517f4e7165a20000000000000000000000000000000000000000000000000000000081526001600160a01b0390911692508290634e7165a2906110579089908990600401614a29565b5f60405180830381865afa158015611071573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526110989190810190614b83565b905080515f036110d4576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818060200190518101906110e99190614bc0565b90505f6001600160a01b038616156111015785611110565b60038501546001600160a01b03165b905061111b816131f1565b5f808060018551600281111561113357611133614610565b148061115057505f8551600281111561114e5761114e614610565b145b156111d7575f856060015180602001905181019061116e9190614c68565b805160058b0154909550909150612710906111939067ffffffffffffffff1686614cd7565b61119d9190614cee565b92506111a98385614d26565b8082526040805160208101839052919350015b60408051601f19818403018152919052606087015250611262565b6002855160028111156111ec576111ec614610565b03610a96575f856060015180602001905181019061120a9190614d39565b602081015160058b0154909550909150612710906112329067ffffffffffffffff1686614cd7565b61123c9190614cee565b92506112488385614d26565b60208083018290526040519193506111bc91839101614de1565b30604080870191909152515f9061127d908790602001614e0f565b60408051601f19818403018152908290527ffa4ca9b100000000000000000000000000000000000000000000000000000000825291506001600160a01b0386169063fa4ca9b1906112d290849060040161476e565b6020604051808303815f875af11580156112ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113129190614dc6565b611348576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6113538f8f6131c2565b5f8181526006602052604081206001810180549394509092879290611379908490614d26565b9091555050851592506116fb9150505760018551600281111561139e5761139e614610565b14806113bb57505f855160028111156113b9576113b9614610565b145b1561154c5760208501516040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526024820186905282169063095ea7b3906044016020604051808303815f875af115801561142a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144e9190614dc6565b506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b038916906330db555f906024015f604051808303815f87803b1580156114a7575f80fd5b505af11580156114b9573d5f803e3d5ffd5b50506040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063095ea7b391506044016020604051808303815f875af1158015611521573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115459190614dc6565b50506116ac565b60208501516040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301526001602483015282169063a22cb465906044015f604051808303815f87803b1580156115b1575f80fd5b505af11580156115c3573d5f803e3d5ffd5b50506040517f30db555f000000000000000000000000000000000000000000000000000000008152600481018790526001600160a01b038b1692506330db555f91506024015f604051808303815f87803b15801561161f575f80fd5b505af1158015611631573d5f803e3d5ffd5b50506040517fa22cb4650000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301525f60248301528416925063a22cb46591506044015f604051808303815f87803b158015611694575f80fd5b505af11580156116a6573d5f803e3d5ffd5b50505050505b336001600160a01b03168c8e7f2ad351412a5089670d592612b17f248e8526b92879399b24b35421b4c8f3187686866040516116f2929190918252602082015260400190565b60405180910390a45b50505050505050503868929eee149b4bd21268555050505050565b61171e6132d0565b600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6117dc6040805160a08101909152805f81526020015f6001600160a01b031681526020015f81526020015f81526020015f81525090565b5f8281526006602052604090819020815160a081019092528054829060ff16600281111561180c5761180c614610565b600281111561181d5761181d614610565b8152815461010090046001600160a01b03166020820152600182015460408201526002820154606082015260039091015460809091015292915050565b6118626132d0565b6004805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6118bd6132d0565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6118ff613305565b61190883613334565b8260601b60601c92503d5f526352d1902d6001527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80602060016004601d885afa511461195d576355299b496001526004601dfd5b837fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f38a283905580156119a757604051818382375f388383875af46119a5573d5f823e3d81fd5b505b505050565b5f6119b561333c565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b3068929eee149b4bd212685403611a315763ab143c065f526004601cfd5b3068929eee149b4bd21268555f611a4883836131c2565b5f818152600660205260408120815492935091819086908110611a6d57611a6d6149d3565b905f5260205f2090600802016004018481548110611a8d57611a8d6149d3565b5f918252602082200154600284015460018501546001600160a01b03909216935090611abc9061271090614cd7565b611ac69190614cee565b90505f611ad3848461336b565b905081811115611b97575f611ae88383614e60565b90505f61271067ffffffffffffffff16866002015483611b089190614cd7565b611b129190614cee565b9050611b1e86826134b9565b80866001015410611b475780866001015f828254611b3c9190614e60565b90915550611b4e9050565b5f60018701555b6003546040518281526001600160a01b039091169089908b907f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b179060200160405180910390a450505b50505050503868929eee149b4bd21268555050565b611bb46132d0565b611bbd5f6135f5565b565b3068929eee149b4bd212685403611bdd5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808781548110611bfc57611bfc6149d3565b905f5260205f20906008020190505f611c1588886131c2565b5f81815260066020526040812060048501805493945090928a908110611c3d57611c3d6149d3565b5f9182526020909120015460028501546040517fe3f756de0000000000000000000000000000000000000000000000000000000081526001600160a01b03928316935091169063e3f756de90611c9b9088908b908b90600401614e73565b602060405180830381865afa158015611cb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cda9190614dc6565b611d10576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018401546040517f703b69000000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063703b6900903490611d65908e908e908b908e908e90600401614e9e565b60206040518083038185885af1158015611d81573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611da69190614dc6565b611ddc576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81545f9061010090046001600160a01b0316611df8575f611e02565b611e02838361336b565b6040517fbb1757cf0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0383169063bb1757cf90611e4e9089908c908c90600401614e73565b6020604051808303815f875af1158015611e6a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e8e9190614dc6565b611ed3578588886040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401611eca93929190614e73565b60405180910390fd5b82545f9061010090046001600160a01b0316611eef575f611ef9565b611ef9848461336b565b90505f818311611f09575f611f13565b611f138284614e60565b90505f61271067ffffffffffffffff16866002015483611f339190614cd7565b611f3d9190614cee565b90508015611fc357611f4f86826134b9565b80866001015f828254611f629190614e60565b9250508190555060035f9054906101000a90046001600160a01b03166001600160a01b03168d8f7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b1784604051611fba91815260200190565b60405180910390a45b886001600160a01b03168d8f7f0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b2595478f8f8f60405161200293929190614e73565b60405180910390a450505050505050503868929eee149b4bd2126855505050505050565b612034858585858533611bbf565b5050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf601132805460038255801561208c5760018160011c14303b106120835763f92ee8a95f526004601cfd5b818160ff1b1b91505b506120968261364d565b600180546001600160a01b038087167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179092556003805492861692909116919091179055600480547503e800000000000000000000000000000000000000007fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909116179055600580547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166103e817905580156119a5576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a150505050565b61218e6132d0565b61271067ffffffffffffffff8216106121d3576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff92909216919091179055565b5f3068929eee149b4bd21268540361222d5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f80848154811061224c5761224c6149d3565b5f918252602090912060089091020160078101549091506001600160a01b031633146122a4576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038101546122bb906001600160a01b03166131f1565b6004808201805491549091905f906001600160a01b03166122dc575f61236e565b6004546040516001600160a01b039091169063c7f1ecff90612304908a908a90602001614ed7565b6040516020818303038152906040526040518263ffffffff1660e01b815260040161232f919061476e565b602060405180830381865afa15801561234a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061236e9190614f8e565b90506123a461237c87614ff6565b600386015460058701546001600160a01b039091169067ffffffffffffffff16848b876136a3565b83546001810185555f858152602080822090920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03851690811790915560405191825292975084918a917f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae910160405180910390a4505050503868929eee149b4bd212685592915050565b5f803068929eee149b4bd21268540361245a5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f808581548110612479576124796149d3565b5f9182526020918290206040805161010081018252600890930290910180546001600160a01b0390811684526001820154811684860152600282015481168484015260038201541660608401526004810180548351818702810187019094528084529394919360808601939283018282801561251c57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116124fe575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b0390811660609283015290820151919250163314612599576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6125a486866131c2565b5f8181526006602052604081209192506125c0898b018b61505f565b90505f81602001518060200190518101906125db91906150fc565b90505f61271067ffffffffffffffff168460020154836125fb9190614cd7565b6126059190614cee565b90508015612773576001845460ff16600281111561262557612625614610565b148061264557505f845460ff16600281111561264357612643614610565b145b1561266d5782518454612668916101009091046001600160a01b03169083613a43565b61272a565b6002845460ff16600281111561268557612685614610565b0361272a578354835160038601546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b158015612713575f80fd5b505af1158015612725573d5f803e3d5ffd5b505050505b825f01516001600160a01b0316898b7f42ca2b02f2bdb76fff6e99ea9a7b4d9767b45bdd42d6be831eeb9f3d5cb20b178460405161276a91815260200190565b60405180910390a45b5f8087608001518b8151811061278b5761278b6149d3565b60200260200101516001600160a01b031663474f5a44866040516020016127b29190615113565b6040516020818303038152906040526040518263ffffffff1660e01b81526004016127dd919061476e565b60408051808303815f875af11580156127f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061281c9190615140565b91509150815f0361285f57338e8e6040517f9ecd71a9000000000000000000000000000000000000000000000000000000008152600401611eca93929190614e73565b82866001015f8282546128729190614e60565b90915550508451604080518d8152602081018590526001600160a01b038481169282019290925291169033908e907f344fdf618273ad01bc14c75053d2c1dd67bb9384ba92c2d44a3c58c55306a2ec9060600160405180910390a43868929eee149b4bd2126855909d909c509a5050505050505050505050565b60408051610100810182525f808252602082018190529181018290526060808201839052608082015260a0810182905260c0810182905260e081019190915260025433906001600160a01b0316158015906129c957506002546040517ffe9fbb800000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301529091169063fe9fbb8090602401602060405180830381865afa1580156129a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129c79190614dc6565b155b15612a00576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3068929eee149b4bd212685403612a1e5763ab143c065f526004601cfd5b3068929eee149b4bd21268555f612a6985858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250613a9692505050565b806020019051810190612a7c9190615268565b9050612a8a815f01516131f1565b5f805460018101825590805260e082015160089091027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56a810180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081166001600160a01b039485161790915583517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e566830180549092169084161790556004547f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639091019116612b8e5760a0820151600454612b89919074010000000000000000000000000000000000000000900467ffffffffffffffff16615393565b612c26565b60a0820151600480546040517fb1539a6b0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163b1539a6b91612bdd918b918b9101614a29565b602060405180830381865afa158015612bf8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c1c91906153b3565b612c269190615393565b6005820180547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9290921691909117905560c082015160068201556020820151612c9d907fe671579500000000000000000000000000000000000000000000000000000000906001613c21565b81547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03919091161781556060820151612d02907fe2089f7900000000000000000000000000000000000000000000000000000000906001613c21565b6002820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039283161790556004545f9116612d48575f612dd1565b600480546040517fc7f1ecff0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169163c7f1ecff91612d92918b918b9101614a29565b602060405180830381865afa158015612dad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd19190614f8e565b608084015184516005850154929350612df49267ffffffffffffffff1684613c42565b8051612e0a91600485019160209091019061433e565b506040830151602001516001600160a01b031615612e5757612e527f5912b89c0000000000000000000000000000000000000000000000000000000084604001516001613c21565b612f0f565b81546040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201526001600160a01b03909116906301ffc9a790602401602060405180830381865afa158015612ed5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ef99190614dc6565b612f03575f612f0f565b81546001600160a01b03165b6001830180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03929092169182179055612fa6576040517fe1c444480000000000000000000000000000000000000000000000000000000081527f5912b89c0000000000000000000000000000000000000000000000000000000060048201525f6024820152604401611eca565b815460078301545f546001600160a01b039283169290911690612fcb90600190614e60565b6004850154600186015460028701546003880154604080519485526001600160a01b03938416602086015291831684830152919091166060830152517f116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd9181900360800190a4604080516101008101825283546001600160a01b039081168252600185015481166020808401919091526002860154821683850152600386015490911660608301526004850180548451818402810184019095528085529293869360808601939192918301828280156130cb57602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116130ad575b5050509183525050600582015467ffffffffffffffff166020820152600682015460408201526007909101546001600160a01b03166060909101523868929eee149b4bd2126855979650505050505050565b6131256132d0565b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6131676132d0565b63389a75e1600c52805f526020600c20805442111561318d57636f5e88185f526004601cfd5b5f9055613199816135f5565b50565b6131a46132d0565b8060601b6131b957637448fbae5f526004601cfd5b613199816135f5565b604080516020808201859052818301849052825180830384018152606090920190925280519101205b92915050565b61321b7fe49cedd70000000000000000000000000000000000000000000000000000000082613d74565b6040517ffe9fbb800000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b0382169063fe9fbb8090602401602060405180830381865afa158015613276573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061329a9190614dc6565b613199576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611bbd576382b429005f526004601cfd5b307f000000000000000000000000000000000000000000000000000000000000000003611bbd57611bbd613e92565b6131996132d0565b307f000000000000000000000000000000000000000000000000000000000000000014611bbd57611bbd613e92565b5f6001835460ff16600281111561338457613384614610565b14806133a457505f835460ff1660028111156133a2576133a2614610565b145b1561343b5782546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152610100909204909116906370a08231906024015b602060405180830381865afa158015613410573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061343491906150fc565b90506131eb565b6002835460ff16600281111561345357613453614610565b036134b157825460038401546040517efdd58e0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526024820192909252610100909204169062fdd58e906044016133f5565b505f92915050565b6001825460ff1660028111156134d1576134d1614610565b14806134f157505f825460ff1660028111156134ef576134ef614610565b145b15613534576003548254613517916001600160a01b036101009092048216911683613a43565b81546135309061010090046001600160a01b0316613e9f565b5050565b6002825460ff16600281111561354c5761354c614610565b0361353057815460038054908401546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03928316602482015260448101919091526064810184905260a060848201525f60a4820152610100909204169063f242432a9060c4015f604051808303815f87803b1580156135db575f80fd5b505af11580156135ed573d5f803e3d5ffd5b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b6001600160a01b03167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b5f80876040015190506136da7fa9216705000000000000000000000000000000000000000000000000000000008960200151613d74565b87516137495760208801516040517fe1c444480000000000000000000000000000000000000000000000000000000081527fa92167050000000000000000000000000000000000000000000000000000000060048201526001600160a01b039091166024820152604401611eca565b6137747fa921670500000000000000000000000000000000000000000000000000000000895f613c21565b91505f826001600160a01b0316634e7165a2836040518263ffffffff1660e01b81526004016137a3919061476e565b5f60405180830381865afa1580156137bd573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526137e49190810190614b83565b905080515f146139c5575f806137fa838a613f5b565b6040517ffa4ca9b100000000000000000000000000000000000000000000000000000000815291935091506001600160a01b038b169063fa4ca9b19061384490859060040161476e565b6020604051808303815f875af1158015613860573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138849190614dc6565b6138ba576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffa4ca9b10000000000000000000000000000000000000000000000000000000081526001600160a01b038b169063fa4ca9b1906138ff90869060040161476e565b6020604051808303815f875af115801561391b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061393f9190614dc6565b613975576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8380602001905181019061398a9190614bc0565b90506139c188886001600160a01b038c166139a95783602001516139ab565b8b5b858e67ffffffffffffffff16865f01518b6140f4565b5050505b6040517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0384169063439fab9190613a0a90859060040161476e565b5f604051808303815f87803b158015613a21575f80fd5b505af1158015613a33573d5f803e3d5ffd5b5050505050509695505050505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416613a8c57803d853b151710613a8c576390b8ec185f526004601cfd5b505f603452505050565b6060815115613c1c576040519050600482018051835184602001017f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f6020850183198552866020015b8051805f1a613b7457600190811a0160808111613b17576002820191508036843791820191848210613b115750613c02565b50613adf565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83529182017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80019160029190910190848210613b115750613c02565b80835283811684011783171980157fc0c8c8d0c8e8d0d8c8e8e0e8d0d8e0f0c8d0e8d0e0e0d8f0d0d0e0d8f8f8f8f8601f6f8421084210842108cc6318c6db6d54be660204081020408185821060071b86811c67ffffffffffffffff1060061b1795861c0260181a1c161a90911860031c019182019101838110613adf5783811115613c0257838103820391505b509290935250601f198382030183525f8152602001604052505b919050565b5f613c30848460200151613d74565b613c3a8383614230565b949350505050565b5f805460609190613c5590600190614e60565b9050855167ffffffffffffffff811115613c7157613c71614a3c565b604051908082528060200260200182016040528015613c9a578160200160208202803683370190505b5091505f5b8651811015613d6a57613ccf878281518110613cbd57613cbd6149d3565b602002602001015187878786866136a3565b838281518110613ce157613ce16149d3565b60200260200101906001600160a01b031690816001600160a01b031681525050828181518110613d1357613d136149d3565b60200260200101516001600160a01b031681837f500ae5072ea307af9f1d7b29f92e0379b973527e56e000e5445b7b9f5fbb09ae6001604051613d5a911515815260200190565b60405180910390a4600101613c9f565b5050949350505050565b6001600160a01b0381161580613e2857506040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015613e02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613e269190614dc6565b155b15613530576040517fe1c444480000000000000000000000000000000000000000000000000000000081527fffffffff00000000000000000000000000000000000000000000000000000000831660048201526001600160a01b0382166024820152604401611eca565b639f03a0265f526004601cfd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015613efc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f2091906150fc565b90505f81118015613f3c575060055467ffffffffffffffff1681105b1561353057600354613530906001600160a01b03848116911683613a43565b60605f8084806020019051810190613f739190614bc0565b905083600182516002811115613f8b57613f8b614610565b1480613fa857505f82516002811115613fa657613fa6614610565b145b15614056575f8260600151806020019051810190613fc69190614c68565b80519091505f9061271090613fe69067ffffffffffffffff861690614cd7565b613ff09190614cee565b6040805160208082018352838252825190810184905292935091015b60408051601f198184030181529181526060870191909152308682015251614038908690602001614e0f565b604051602081830303815290604052829650965050505050506140ed565b60028251600281111561406b5761406b614610565b03610a96575f82606001518060200190518101906140899190614d39565b90505f61271067ffffffffffffffff168367ffffffffffffffff1683602001516140b39190614cd7565b6140bd9190614cee565b60408051606081018252845181526020808201849052858301518284015291519293509161400c91839101614de1565b9250929050565b5f600283600281111561410957614109614610565b03614126578180602001905181019061412291906153ce565b5090505b5f6040518060a0016040528085600281111561414457614144614610565b8152602001886001600160a01b031681526020018781526020018681526020018381525090508060065f6141788c8c6131c2565b815260208101919091526040015f208151815482907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018360028111156141c3576141c3614610565b0217905550602082015181546001600160a01b03909116610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9091161781556040820151600182015560608201516002820155608090910151600390910155505050505050505050565b81515f90614242578260200151614258565b61425883602001516001600160a01b03166142e7565b835190915080156142665750815b156131eb5760408084015190517f439fab910000000000000000000000000000000000000000000000000000000081526001600160a01b0383169163439fab91916142b4919060040161476e565b5f604051808303815f87803b1580156142cb575f80fd5b505af11580156142dd573d5f803e3d5ffd5b5050505092915050565b5f6131eb5f835f6c5af43d3d93803e602a57fd5bf36021528160145273602c3d8160093d39f33d3d3d3d363d3d37363d735f526035600c84f09050806143345763301164255f526004601cfd5b5f60215292915050565b828054828255905f5260205f209081019282156143a9579160200282015b828111156143a957825182547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0390911617825560209092019160019091019061435c565b506143b59291506143b9565b5090565b5b808211156143b5575f81556001016143ba565b5f602082840312156143dd575f80fd5b5035919050565b5f8151808452602084019350602083015f5b8281101561441d5781516001600160a01b03168652602095860195909101906001016143f6565b5093949350505050565b602081526001600160a01b0382511660208201525f602083015161445660408401826001600160a01b03169052565b5060408301516001600160a01b03811660608401525060608301516001600160a01b038116608084015250608083015161010060a084015261449c6101208401826143e4565b905060a08401516144b960c085018267ffffffffffffffff169052565b5060c084015160e084015260e08401516144df6101008501826001600160a01b03169052565b509392505050565b5f8083601f8401126144f7575f80fd5b50813567ffffffffffffffff81111561450e575f80fd5b6020830191508360208285010111156140ed575f80fd5b5f805f8060608587031215614538575f80fd5b8435935060208501359250604085013567ffffffffffffffff81111561455c575f80fd5b614568878288016144e7565b95989497509550505050565b6001600160a01b0381168114613199575f80fd5b5f805f805f6080868803121561459c575f80fd5b8535945060208601359350604086013567ffffffffffffffff8111156145c0575f80fd5b6145cc888289016144e7565b90945092505060608601356145e081614574565b809150509295509295909350565b5f602082840312156145fe575f80fd5b813561460981614574565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60038110614672577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9052565b5f60a08201905061468882845161463d565b6001600160a01b03602084015116602083015260408301516040830152606083015160608301526080830151608083015292915050565b67ffffffffffffffff81168114613199575f80fd5b5f602082840312156146e4575f80fd5b8135614609816146bf565b5f805f60408486031215614701575f80fd5b833561470c81614574565b9250602084013567ffffffffffffffff811115614727575f80fd5b614733868287016144e7565b9497909650939450505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6146096020830184614740565b5f8060408385031215614791575f80fd5b50508035926020909101359150565b5f805f805f8060a087890312156147b5575f80fd5b863595506020870135945060408701356147ce81614574565b9350606087013567ffffffffffffffff8111156147e9575f80fd5b6147f589828a016144e7565b909450925050608087013561480981614574565b809150509295509295509295565b5f805f805f6080868803121561482b575f80fd5b8535945060208601359350604086013561484481614574565b9250606086013567ffffffffffffffff81111561485f575f80fd5b61486b888289016144e7565b969995985093965092949392505050565b5f805f6060848603121561488e575f80fd5b833561489981614574565b925060208401356148a981614574565b915060408401356148b981614574565b809150509250925092565b5f80604083850312156148d5575f80fd5b82359150602083013567ffffffffffffffff8111156148f2575f80fd5b830160608186031215614903575f80fd5b809150509250929050565b5f805f8060608587031215614921575f80fd5b843567ffffffffffffffff811115614937575f80fd5b614943878288016144e7565b90989097506020870135966040013595509350505050565b5f806020838503121561496c575f80fd5b823567ffffffffffffffff811115614982575f80fd5b61498e858286016144e7565b90969095509350505050565b60a081016149a8828861463d565b6001600160a01b03861660208301528460408301528360608301528260808301529695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b81835281816020850137505f602082840101525f6020601f19601f840116840101905092915050565b602081525f613c3a602083018486614a00565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff81118282101715614a8c57614a8c614a3c565b60405290565b6040516060810167ffffffffffffffff81118282101715614a8c57614a8c614a3c565b604051610100810167ffffffffffffffff81118282101715614a8c57614a8c614a3c565b604051601f8201601f1916810167ffffffffffffffff81118282101715614b0257614b02614a3c565b604052919050565b5f67ffffffffffffffff821115614b2357614b23614a3c565b50601f01601f191660200190565b5f82601f830112614b40575f80fd5b8151614b53614b4e82614b0a565b614ad9565b818152846020838601011115614b67575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215614b93575f80fd5b815167ffffffffffffffff811115614ba9575f80fd5b613c3a84828501614b31565b8051613c1c81614574565b5f60208284031215614bd0575f80fd5b815167ffffffffffffffff811115614be6575f80fd5b820160808185031215614bf7575f80fd5b614bff614a69565b815160038110614c0d575f80fd5b81526020820151614c1d81614574565b60208201526040820151614c3081614574565b6040820152606082015167ffffffffffffffff811115614c4e575f80fd5b614c5a86828501614b31565b606083015250949350505050565b5f6020828403128015614c79575f80fd5b506040516020810167ffffffffffffffff81118282101715614c9d57614c9d614a3c565b6040529151825250919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b80820281158282048414176131eb576131eb614caa565b5f82614d21577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b808201808211156131eb576131eb614caa565b5f60208284031215614d49575f80fd5b815167ffffffffffffffff811115614d5f575f80fd5b820160608185031215614d70575f80fd5b614d78614a92565b8151815260208083015190820152604082015167ffffffffffffffff811115614d9f575f80fd5b614dab86828501614b31565b604083015250949350505050565b8015158114613199575f80fd5b5f60208284031215614dd6575f80fd5b815161460981614db9565b6020815281516020820152602082015160408201525f6040830151606080840152613c3a6080840182614740565b60208152614e2160208201835161463d565b6001600160a01b0360208301511660408201526001600160a01b0360408301511660608201525f6060830151608080840152613c3a60a0840182614740565b818103818111156131eb576131eb614caa565b6001600160a01b0384168152604060208201525f614e95604083018486614a00565b95945050505050565b8581528460208201526001600160a01b0384166040820152608060608201525f614ecc608083018486614a00565b979650505050505050565b828152604060208201525f8235614eed81614db9565b151560408301526020830135614f0281614574565b6001600160a01b031660608301526040830135368490037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112614f45575f80fd5b830160208101903567ffffffffffffffff811115614f61575f80fd5b803603821315614f6f575f80fd5b60606080850152614f8460a085018284614a00565b9695505050505050565b5f60208284031215614f9e575f80fd5b815161460981614574565b5f82601f830112614fb8575f80fd5b8135614fc6614b4e82614b0a565b818152846020838601011115614fda575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60608236031215615006575f80fd5b61500e614a92565b823561501981614db9565b8152602083013561502981614574565b6020820152604083013567ffffffffffffffff811115615047575f80fd5b61505336828601614fa9565b60408301525092915050565b5f6020828403121561506f575f80fd5b813567ffffffffffffffff811115615085575f80fd5b820160408185031215615096575f80fd5b6040805190810167ffffffffffffffff811182821017156150b9576150b9614a3c565b60405281356150c781614574565b8152602082013567ffffffffffffffff8111156150e2575f80fd5b6150ee86828501614fa9565b602083015250949350505050565b5f6020828403121561510c575f80fd5b5051919050565b602081526001600160a01b0382511660208201525f6020830151604080840152613c3a6060840182614740565b5f8060408385031215615151575f80fd5b8251602084015190925061490381614574565b5f60608284031215615174575f80fd5b61517c614a92565b9050815161518981614db9565b8152602082015161519981614574565b6020820152604082015167ffffffffffffffff8111156151b7575f80fd5b61505384828501614b31565b5f82601f8301126151d2575f80fd5b815167ffffffffffffffff8111156151ec576151ec614a3c565b8060051b6151fc60208201614ad9565b91825260208185018101929081019086841115615217575f80fd5b6020860192505b83831015614f8457825167ffffffffffffffff81111561523c575f80fd5b61524b886020838a0101615164565b8352506020928301929091019061521e565b8051613c1c816146bf565b5f60208284031215615278575f80fd5b815167ffffffffffffffff81111561528e575f80fd5b820161010081850312156152a0575f80fd5b6152a8614ab5565b6152b182614bb5565b8152602082015167ffffffffffffffff8111156152cc575f80fd5b6152d886828501615164565b602083015250604082015167ffffffffffffffff8111156152f7575f80fd5b61530386828501615164565b604083015250606082015167ffffffffffffffff811115615322575f80fd5b61532e86828501615164565b606083015250608082015167ffffffffffffffff81111561534d575f80fd5b615359868285016151c3565b60808301525061536b60a0830161525d565b60a082015260c0828101519082015261538660e08301614bb5565b60e0820152949350505050565b67ffffffffffffffff81811683821601908111156131eb576131eb614caa565b5f602082840312156153c3575f80fd5b8151614609816146bf565b5f80604083850312156153df575f80fd5b8251602084015190925067ffffffffffffffff8111156153fd575f80fd5b61540985828601614b31565b915050925092905056fea2646970667358221220449bdc210b62ec7ba330e75d29b52774de2d9db8e414cd288c78517e229fb98a64736f6c634300081a0033";
|
|
32
|
+
function H(n) {
|
|
33
33
|
const f = n.state.current, e = n.state.connections.get(f), a = e == null ? void 0 : e.accounts, t = a == null ? void 0 : a[0], b = n.chains.find((d) => d.id === (e == null ? void 0 : e.chainId)), c = n.state.status;
|
|
34
34
|
switch (c) {
|
|
35
35
|
case "connected":
|
|
@@ -89,7 +89,7 @@ function U(n) {
|
|
|
89
89
|
function w1(n) {
|
|
90
90
|
return n.state.chainId;
|
|
91
91
|
}
|
|
92
|
-
function
|
|
92
|
+
function U(n, f, e) {
|
|
93
93
|
const a = n[f.name];
|
|
94
94
|
if (typeof a == "function")
|
|
95
95
|
return a;
|
|
@@ -97,7 +97,7 @@ function H(n, f, e) {
|
|
|
97
97
|
return typeof t == "function" ? t : (b) => f(n, b);
|
|
98
98
|
}
|
|
99
99
|
const y1 = "2.13.8", m1 = () => `@wagmi/core@${y1}`;
|
|
100
|
-
var
|
|
100
|
+
var K = function(n, f, e, a) {
|
|
101
101
|
if (e === "a" && !a) throw new TypeError("Private accessor was defined without a getter");
|
|
102
102
|
if (typeof f == "function" ? n !== f || !a : !f.has(n)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
103
103
|
return e === "m" ? a : e === "a" ? a.call(n) : a ? a.value : f.get(n);
|
|
@@ -151,11 +151,11 @@ class I extends Error {
|
|
|
151
151
|
`), e.cause && (this.cause = e.cause), this.details = a, this.docsPath = t, this.metaMessages = e.metaMessages, this.shortMessage = f;
|
|
152
152
|
}
|
|
153
153
|
walk(f) {
|
|
154
|
-
return
|
|
154
|
+
return K(this, D, "m", J).call(this, this, f);
|
|
155
155
|
}
|
|
156
156
|
}
|
|
157
157
|
D = /* @__PURE__ */ new WeakSet(), J = function n(f, e) {
|
|
158
|
-
return e != null && e(f) ? f : f.cause ?
|
|
158
|
+
return e != null && e(f) ? f : f.cause ? K(this, D, "m", n).call(this, f.cause, e) : f;
|
|
159
159
|
};
|
|
160
160
|
class v1 extends I {
|
|
161
161
|
constructor() {
|
|
@@ -167,7 +167,7 @@ class v1 extends I {
|
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
-
class
|
|
170
|
+
class C1 extends I {
|
|
171
171
|
constructor({ address: f, connector: e }) {
|
|
172
172
|
super(`Account "${f}" not found for connector "${e.name}".`), Object.defineProperty(this, "name", {
|
|
173
173
|
enumerable: !0,
|
|
@@ -177,7 +177,7 @@ class A1 extends I {
|
|
|
177
177
|
});
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
|
-
class
|
|
180
|
+
class A1 extends I {
|
|
181
181
|
constructor({ connectionChainId: f, connectorChainId: e }) {
|
|
182
182
|
super(`The current chain of the connector (id: ${e}) does not match the connection's chain (id: ${f}).`, {
|
|
183
183
|
metaMessages: [
|
|
@@ -208,7 +208,7 @@ class I1 extends I {
|
|
|
208
208
|
});
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
|
-
async function
|
|
211
|
+
async function Y(n, f = {}) {
|
|
212
212
|
let e;
|
|
213
213
|
if (f.connector) {
|
|
214
214
|
const { connector: i } = f;
|
|
@@ -229,7 +229,7 @@ async function K(n, f = {}) {
|
|
|
229
229
|
throw new v1();
|
|
230
230
|
const a = f.chainId ?? e.chainId, t = await e.connector.getChainId();
|
|
231
231
|
if (t !== e.chainId)
|
|
232
|
-
throw new
|
|
232
|
+
throw new A1({
|
|
233
233
|
connectionChainId: e.chainId,
|
|
234
234
|
connectorChainId: t
|
|
235
235
|
});
|
|
@@ -238,7 +238,7 @@ async function K(n, f = {}) {
|
|
|
238
238
|
return b.getClient({ chainId: a });
|
|
239
239
|
const c = h1(f.account ?? e.accounts[0]);
|
|
240
240
|
if (c.address = l1(c.address), f.account && !e.accounts.some((i) => i.toLowerCase() === c.address.toLowerCase()))
|
|
241
|
-
throw new
|
|
241
|
+
throw new C1({
|
|
242
242
|
address: c.address,
|
|
243
243
|
connector: b
|
|
244
244
|
});
|
|
@@ -253,11 +253,11 @@ async function K(n, f = {}) {
|
|
|
253
253
|
async function B1(n, f) {
|
|
254
254
|
const { abi: e, chainId: a, connector: t, ...b } = f;
|
|
255
255
|
let c;
|
|
256
|
-
f.account ? c = f.account : c = (await
|
|
256
|
+
f.account ? c = f.account : c = (await Y(n, {
|
|
257
257
|
chainId: a,
|
|
258
258
|
connector: t
|
|
259
259
|
})).account;
|
|
260
|
-
const d = n.getClient({ chainId: a }), s =
|
|
260
|
+
const d = n.getClient({ chainId: a }), s = U(d, r1, "simulateContract"), { result: i, request: h } = await s({ ...b, abi: e, account: c });
|
|
261
261
|
return {
|
|
262
262
|
chainId: d.chain.id,
|
|
263
263
|
result: i,
|
|
@@ -267,8 +267,8 @@ async function B1(n, f) {
|
|
|
267
267
|
async function G(n, f) {
|
|
268
268
|
const { account: e, chainId: a, connector: t, __mode: b, ...c } = f;
|
|
269
269
|
let d;
|
|
270
|
-
typeof e == "object" && e.type === "local" ? d = n.getClient({ chainId: a }) : d = await
|
|
271
|
-
const { connector: s } =
|
|
270
|
+
typeof e == "object" && e.type === "local" ? d = n.getClient({ chainId: a }) : d = await Y(n, { account: e, chainId: a, connector: t });
|
|
271
|
+
const { connector: s } = H(n);
|
|
272
272
|
let i;
|
|
273
273
|
if (b === "prepared" || s != null && s.supportsSimulation)
|
|
274
274
|
i = c;
|
|
@@ -280,16 +280,16 @@ async function G(n, f) {
|
|
|
280
280
|
});
|
|
281
281
|
i = o;
|
|
282
282
|
}
|
|
283
|
-
return await
|
|
283
|
+
return await U(d, u1, "writeContract")({
|
|
284
284
|
...i,
|
|
285
285
|
...e ? { account: e } : {},
|
|
286
286
|
chain: a ? { id: a } : null
|
|
287
287
|
});
|
|
288
288
|
}
|
|
289
|
-
function
|
|
289
|
+
function S(n) {
|
|
290
290
|
return n.address !== void 0 && typeof n.address == "object" ? (f, e) => {
|
|
291
291
|
var c;
|
|
292
|
-
const a = w1(f), t =
|
|
292
|
+
const a = w1(f), t = H(f);
|
|
293
293
|
let b;
|
|
294
294
|
return e.chainId ? b = e.chainId : e.account && e.account === t.address || e.account === void 0 ? b = t.chainId : b = a, G(f, {
|
|
295
295
|
...e,
|
|
@@ -306,12 +306,12 @@ function N(n) {
|
|
|
306
306
|
}
|
|
307
307
|
const L = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1, VITE_BOOST_MAINNET_SIGNER_EOA: "0xCBD0C302040bC803B4B2EDaF21Be0e49Deff5480", VITE_BOOST_TESTNET_SIGNER_EOA: "0xd63167e9db11B108940b2E8236581F961f33f396" }, E = 10000n, O = {
|
|
308
308
|
...L != null && L.VITE_BOOST_CORE_ADDRESS ? { 31337: void 0 } : {},
|
|
309
|
-
...
|
|
310
|
-
}, e5 = O[11155111] ||
|
|
309
|
+
...N0
|
|
310
|
+
}, e5 = O[11155111] || C;
|
|
311
311
|
function P1(n) {
|
|
312
312
|
return n.address;
|
|
313
313
|
}
|
|
314
|
-
const x = class x extends
|
|
314
|
+
const x = class x extends H0 {
|
|
315
315
|
/**
|
|
316
316
|
* A getter that will return Boost core's static addresses by numerical chain ID
|
|
317
317
|
*
|
|
@@ -357,7 +357,7 @@ const x = class x extends U0 {
|
|
|
357
357
|
t.config,
|
|
358
358
|
this.addresses,
|
|
359
359
|
b
|
|
360
|
-
), s =
|
|
360
|
+
), s = S({
|
|
361
361
|
abi: v,
|
|
362
362
|
functionName: "createBoost",
|
|
363
363
|
address: d
|
|
@@ -380,7 +380,7 @@ const x = class x extends U0 {
|
|
|
380
380
|
logs: g.logs
|
|
381
381
|
}).at(0);
|
|
382
382
|
let r = 0n;
|
|
383
|
-
if (!o) throw new
|
|
383
|
+
if (!o) throw new N();
|
|
384
384
|
r = o == null ? void 0 : o.args.boostId;
|
|
385
385
|
const u = await this.readBoost(r);
|
|
386
386
|
return new F({
|
|
@@ -414,7 +414,7 @@ const x = class x extends U0 {
|
|
|
414
414
|
f,
|
|
415
415
|
e
|
|
416
416
|
);
|
|
417
|
-
return { hash: await
|
|
417
|
+
return { hash: await Z(this._config, a), result: t };
|
|
418
418
|
}
|
|
419
419
|
/**
|
|
420
420
|
* Returns a simulated Boost creation.
|
|
@@ -466,7 +466,7 @@ const x = class x extends U0 {
|
|
|
466
466
|
c.config,
|
|
467
467
|
this.addresses,
|
|
468
468
|
d
|
|
469
|
-
), h =
|
|
469
|
+
), h = S({
|
|
470
470
|
abi: M,
|
|
471
471
|
functionName: "createBoost",
|
|
472
472
|
address: typeof f == "string" ? f : f.assertValidAddress()
|
|
@@ -493,7 +493,7 @@ const x = class x extends U0 {
|
|
|
493
493
|
logs: r.logs
|
|
494
494
|
}).at(0);
|
|
495
495
|
let m = 0n;
|
|
496
|
-
if (!u) throw new
|
|
496
|
+
if (!u) throw new N();
|
|
497
497
|
m = u == null ? void 0 : u.args.boostId;
|
|
498
498
|
const y = await this.readBoost(m);
|
|
499
499
|
return new F({
|
|
@@ -597,7 +597,7 @@ const x = class x extends U0 {
|
|
|
597
597
|
i.config,
|
|
598
598
|
this.addresses,
|
|
599
599
|
h
|
|
600
|
-
), r =
|
|
600
|
+
), r = S({
|
|
601
601
|
abi: M,
|
|
602
602
|
functionName: "createBoostWithPermit2",
|
|
603
603
|
address: typeof f == "string" ? f : f.assertValidAddress()
|
|
@@ -627,24 +627,24 @@ const x = class x extends U0 {
|
|
|
627
627
|
logs: y.logs
|
|
628
628
|
}).at(0);
|
|
629
629
|
let p = 0n;
|
|
630
|
-
if (!B) throw new
|
|
630
|
+
if (!B) throw new N();
|
|
631
631
|
p = B == null ? void 0 : B.args.boostId;
|
|
632
|
-
const
|
|
632
|
+
const A = await this.readBoost(p);
|
|
633
633
|
return new F({
|
|
634
634
|
id: p,
|
|
635
|
-
budget: s.budget.at(
|
|
636
|
-
action: s.action.at(
|
|
637
|
-
validator: s.validator.at(
|
|
638
|
-
allowList: s.allowList.at(
|
|
635
|
+
budget: s.budget.at(A.budget),
|
|
636
|
+
action: s.action.at(A.action),
|
|
637
|
+
validator: s.validator.at(A.validator),
|
|
638
|
+
allowList: s.allowList.at(A.allowList),
|
|
639
639
|
incentives: s.incentives.map(
|
|
640
|
-
(
|
|
640
|
+
(Q, X) => (
|
|
641
641
|
// biome-ignore lint/style/noNonNullAssertion: this will never be undefined
|
|
642
|
-
|
|
642
|
+
Q.at(A.incentives.at(X))
|
|
643
643
|
)
|
|
644
644
|
),
|
|
645
|
-
protocolFee:
|
|
646
|
-
maxParticipants:
|
|
647
|
-
owner:
|
|
645
|
+
protocolFee: A.protocolFee,
|
|
646
|
+
maxParticipants: A.maxParticipants,
|
|
647
|
+
owner: A.owner
|
|
648
648
|
});
|
|
649
649
|
}
|
|
650
650
|
/**
|
|
@@ -725,7 +725,7 @@ const x = class x extends U0 {
|
|
|
725
725
|
// This function mutates payload, which isn't awesome but it's fine
|
|
726
726
|
async prepareCreateBoostPayload(f, e, a, t) {
|
|
727
727
|
var g;
|
|
728
|
-
if (!a.owner && (a.owner = ((g = this._account) == null ? void 0 : g.address) || P0(t.config).address ||
|
|
728
|
+
if (!a.owner && (a.owner = ((g = this._account) == null ? void 0 : g.address) || P0(t.config).address || C, a.owner === C))
|
|
729
729
|
throw new c1();
|
|
730
730
|
if (!a.validator) {
|
|
731
731
|
const r = p0(t.config).filter(
|
|
@@ -737,7 +737,7 @@ const x = class x extends U0 {
|
|
|
737
737
|
Object.keys(this.addresses).map(Number)
|
|
738
738
|
);
|
|
739
739
|
const m = [
|
|
740
|
-
r.testnet || r.id === 31337 ?
|
|
740
|
+
r.testnet || r.id === 31337 ? z.TESTNET : z.MAINNET
|
|
741
741
|
];
|
|
742
742
|
r.id === 31337 && m.push("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"), a.validator = this.LimitedSignerValidator({
|
|
743
743
|
signers: m,
|
|
@@ -745,14 +745,14 @@ const x = class x extends U0 {
|
|
|
745
745
|
maxClaimCount: 1
|
|
746
746
|
});
|
|
747
747
|
}
|
|
748
|
-
let b =
|
|
748
|
+
let b = C;
|
|
749
749
|
if (a.budget.address) {
|
|
750
|
-
if (b = a.budget.address, !(a.budget instanceof
|
|
750
|
+
if (b = a.budget.address, !(a.budget instanceof j) && !await a.budget.isAuthorized(f))
|
|
751
751
|
throw new n1(f);
|
|
752
752
|
} else
|
|
753
753
|
throw new s1();
|
|
754
754
|
let c = {
|
|
755
|
-
instance:
|
|
755
|
+
instance: C,
|
|
756
756
|
isBase: !0,
|
|
757
757
|
parameters: w
|
|
758
758
|
};
|
|
@@ -770,7 +770,7 @@ const x = class x extends U0 {
|
|
|
770
770
|
e
|
|
771
771
|
).address;
|
|
772
772
|
let d = {
|
|
773
|
-
instance:
|
|
773
|
+
instance: C,
|
|
774
774
|
isBase: !0,
|
|
775
775
|
parameters: w
|
|
776
776
|
};
|
|
@@ -788,7 +788,7 @@ const x = class x extends U0 {
|
|
|
788
788
|
e
|
|
789
789
|
).address;
|
|
790
790
|
let s = {
|
|
791
|
-
instance:
|
|
791
|
+
instance: C,
|
|
792
792
|
isBase: !0,
|
|
793
793
|
parameters: w
|
|
794
794
|
};
|
|
@@ -806,7 +806,7 @@ const x = class x extends U0 {
|
|
|
806
806
|
e
|
|
807
807
|
).address;
|
|
808
808
|
const i = a.incentives.map(() => ({
|
|
809
|
-
instance:
|
|
809
|
+
instance: C,
|
|
810
810
|
isBase: !0,
|
|
811
811
|
parameters: w
|
|
812
812
|
}));
|
|
@@ -985,13 +985,13 @@ const x = class x extends U0 {
|
|
|
985
985
|
config: this._config,
|
|
986
986
|
account: this._account
|
|
987
987
|
}, [i, h, g, o, r] = await Promise.all([
|
|
988
|
-
|
|
988
|
+
S0(s, d.action, e),
|
|
989
989
|
W0(s, d.budget, e),
|
|
990
990
|
a1(s, d.validator, e),
|
|
991
991
|
O0(s, d.allowList, e),
|
|
992
992
|
Promise.all(
|
|
993
993
|
d.incentives.map(
|
|
994
|
-
(u) =>
|
|
994
|
+
(u) => Y0(s, u, e)
|
|
995
995
|
)
|
|
996
996
|
)
|
|
997
997
|
]);
|
|
@@ -1295,7 +1295,7 @@ const x = class x extends U0 {
|
|
|
1295
1295
|
* @returns {PassthroughAuth}
|
|
1296
1296
|
*/
|
|
1297
1297
|
PassthroughAuth(f) {
|
|
1298
|
-
return new
|
|
1298
|
+
return new z0(
|
|
1299
1299
|
{ config: this._config, account: this._account },
|
|
1300
1300
|
f
|
|
1301
1301
|
);
|
|
@@ -1409,7 +1409,7 @@ const x = class x extends U0 {
|
|
|
1409
1409
|
* @returns {SimpleDenyList}
|
|
1410
1410
|
*/
|
|
1411
1411
|
SimpleDenyList(f, e) {
|
|
1412
|
-
return new
|
|
1412
|
+
return new j0(
|
|
1413
1413
|
{ config: this._config, account: this._account },
|
|
1414
1414
|
f,
|
|
1415
1415
|
e
|
|
@@ -1533,7 +1533,7 @@ const x = class x extends U0 {
|
|
|
1533
1533
|
* @returns {TransparentBudget}
|
|
1534
1534
|
*/
|
|
1535
1535
|
TransparentBudget(f) {
|
|
1536
|
-
return new
|
|
1536
|
+
return new j(
|
|
1537
1537
|
{ config: this._config, account: this._account },
|
|
1538
1538
|
f
|
|
1539
1539
|
);
|
|
@@ -1567,7 +1567,7 @@ const x = class x extends U0 {
|
|
|
1567
1567
|
* @returns {VestingBudget}
|
|
1568
1568
|
*/
|
|
1569
1569
|
AllowListIncentive(f) {
|
|
1570
|
-
return new
|
|
1570
|
+
return new U0(
|
|
1571
1571
|
{ config: this._config, account: this._account },
|
|
1572
1572
|
f
|
|
1573
1573
|
);
|
|
@@ -1584,7 +1584,7 @@ const x = class x extends U0 {
|
|
|
1584
1584
|
* @returns {CGDAIncentive}
|
|
1585
1585
|
*/
|
|
1586
1586
|
CGDAIncentive(f) {
|
|
1587
|
-
return new
|
|
1587
|
+
return new K0(
|
|
1588
1588
|
{ config: this._config, account: this._account },
|
|
1589
1589
|
f
|
|
1590
1590
|
);
|
|
@@ -1618,7 +1618,7 @@ const x = class x extends U0 {
|
|
|
1618
1618
|
* @returns {ERC20PeggedIncentive}
|
|
1619
1619
|
*/
|
|
1620
1620
|
ERC20PeggedIncentive(f) {
|
|
1621
|
-
return new
|
|
1621
|
+
return new Q0(
|
|
1622
1622
|
{ config: this._config, account: this._account },
|
|
1623
1623
|
f
|
|
1624
1624
|
);
|
|
@@ -1729,7 +1729,7 @@ const x = class x extends U0 {
|
|
|
1729
1729
|
* @returns {ERC20VariableCrtieriaIncentiveV2}
|
|
1730
1730
|
* */
|
|
1731
1731
|
ERC20VariableCriteriaIncentiveV2(f, e) {
|
|
1732
|
-
return new
|
|
1732
|
+
return new Z0(
|
|
1733
1733
|
{ config: this._config, account: this._account },
|
|
1734
1734
|
f,
|
|
1735
1735
|
e
|
|
@@ -1748,7 +1748,7 @@ const x = class x extends U0 {
|
|
|
1748
1748
|
* @returns {ERC20PeggedVariableCriteriaIncentiveV2}
|
|
1749
1749
|
* */
|
|
1750
1750
|
ERC20PeggedVariableCriteriaIncentiveV2(f, e) {
|
|
1751
|
-
return new
|
|
1751
|
+
return new X0(
|
|
1752
1752
|
{ config: this._config, account: this._account },
|
|
1753
1753
|
f,
|
|
1754
1754
|
e
|
|
@@ -1989,7 +1989,7 @@ const x = class x extends U0 {
|
|
|
1989
1989
|
* @returns {Promise<{ hash: Hex; result: void }>}
|
|
1990
1990
|
*/
|
|
1991
1991
|
async topupIncentiveFromSenderRaw(f, e, a, t) {
|
|
1992
|
-
const { request: b, result: c } = await
|
|
1992
|
+
const { request: b, result: c } = await C0(
|
|
1993
1993
|
this._config,
|
|
1994
1994
|
{
|
|
1995
1995
|
...this.optionallyAttachAccount(),
|
|
@@ -1998,7 +1998,7 @@ const x = class x extends U0 {
|
|
|
1998
1998
|
args: [f, e, a]
|
|
1999
1999
|
}
|
|
2000
2000
|
);
|
|
2001
|
-
return { hash: await
|
|
2001
|
+
return { hash: await A0(
|
|
2002
2002
|
this._config,
|
|
2003
2003
|
b
|
|
2004
2004
|
), result: c };
|
|
@@ -2023,7 +2023,7 @@ const x = class x extends U0 {
|
|
|
2023
2023
|
...this.optionallyAttachAccount(),
|
|
2024
2024
|
...b,
|
|
2025
2025
|
address: this.assertValidAddress(),
|
|
2026
|
-
args: [f, e, a, t ??
|
|
2026
|
+
args: [f, e, a, t ?? C]
|
|
2027
2027
|
}
|
|
2028
2028
|
);
|
|
2029
2029
|
return { hash: await B0(
|