@boostxyz/sdk 2.0.0-alpha.25 → 2.0.0-alpha.27
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 +8 -8
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.cjs.map +1 -1
- package/dist/Actions/EventAction.d.ts +6 -7
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +99 -95
- package/dist/Actions/EventAction.js.map +1 -1
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.js +5 -5
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.js +6 -6
- 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 +1 -1
- package/dist/BoostCore.cjs +2 -2
- package/dist/BoostCore.js +33 -33
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.js +12 -12
- 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 +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.js +21 -21
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.js +9 -9
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.js +6 -6
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.js +22 -22
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js +20 -20
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -1
- package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableIncentive.js +16 -16
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.cjs.map +1 -1
- package/dist/Incentives/Incentive.d.ts +3 -3
- package/dist/Incentives/Incentive.d.ts.map +1 -1
- package/dist/Incentives/Incentive.js +30 -30
- package/dist/Incentives/Incentive.js.map +1 -1
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.js +11 -11
- package/dist/{SimpleDenyList-D0cyVUVv.js → SimpleDenyList-7BojkCuF.js} +12 -12
- package/dist/{SimpleDenyList-D0cyVUVv.js.map → SimpleDenyList-7BojkCuF.js.map} +1 -1
- package/dist/{SimpleDenyList-BdlpZdDz.cjs → SimpleDenyList-DqM-Bczx.cjs} +2 -2
- package/dist/{SimpleDenyList-BdlpZdDz.cjs.map → SimpleDenyList-DqM-Bczx.cjs.map} +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs +1 -1
- package/dist/Validators/LimitedSignerValidator.js +10 -10
- package/dist/Validators/SignerValidator.cjs +1 -1
- package/dist/Validators/SignerValidator.cjs.map +1 -1
- package/dist/Validators/SignerValidator.d.ts.map +1 -1
- package/dist/Validators/SignerValidator.js +35 -39
- package/dist/Validators/SignerValidator.js.map +1 -1
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.js +6 -6
- package/dist/componentInterfaces-BJ_XfE8j.cjs +2 -0
- package/dist/componentInterfaces-BJ_XfE8j.cjs.map +1 -0
- package/dist/componentInterfaces-DBJaFhsl.js +15 -0
- package/dist/componentInterfaces-DBJaFhsl.js.map +1 -0
- package/dist/{generated-Cqn4wS01.cjs → generated-BSUMIFi5.cjs} +3 -3
- package/dist/generated-BSUMIFi5.cjs.map +1 -0
- package/dist/{generated-BAKNSOjJ.js → generated-Dz_g2mFT.js} +217 -217
- package/dist/generated-Dz_g2mFT.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +25 -25
- package/package.json +1 -1
- package/src/Actions/EventAction.test.ts +1 -1
- package/src/Actions/EventAction.ts +20 -17
- package/src/Incentives/Incentive.ts +3 -2
- package/src/Validators/SignerValidator.ts +7 -13
- package/dist/componentInterfaces-DRI_dQ-P.cjs +0 -2
- package/dist/componentInterfaces-DRI_dQ-P.cjs.map +0 -1
- package/dist/componentInterfaces-bIVo8eyA.js +0 -14
- package/dist/componentInterfaces-bIVo8eyA.js.map +0 -1
- package/dist/generated-BAKNSOjJ.js.map +0 -1
- package/dist/generated-Cqn4wS01.cjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { b as l, aM as I } from "../generated-Dz_g2mFT.js";
|
|
2
2
|
import { getTransactionReceipt as v, getTransaction as w } from "@wagmi/core";
|
|
3
3
|
import { parseEventLogs as E, decodeFunctionData as C, encodeAbiParameters as T, zeroHash as x, zeroAddress as A } from "viem";
|
|
4
4
|
import { b as N } from "../deployments-Ccx1MtoK.js";
|
|
@@ -6,7 +6,7 @@ import { SignatureType as o } from "../Actions/EventAction.js";
|
|
|
6
6
|
import { IncentiveCriteriaNotFoundError as $, NoMatchingLogsError as p, DecodedArgsError as r, InvalidCriteriaTypeError as V } from "../errors.js";
|
|
7
7
|
import { CheatCodes as y } from "../utils.js";
|
|
8
8
|
import { ERC20VariableIncentive as F } from "./ERC20VariableIncentive.js";
|
|
9
|
-
const P = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612b11806101185f395ff3fe608060405260043610610203575f3560e01c8063715018a611610117578063d54ad2a11161009f578063ec87621c1161006e578063ec87621c14610707578063f04e283e14610731578063f2fde38b1461074d578063fe9fbb8014610769578063fee81cf4146107a557610203565b8063d54ad2a11461064f578063db09da1214610679578063dcc21361146106b5578063dcc59b6f146106dd57610203565b8063a4d66daf116100e6578063a4d66daf1461055b578063a871ced214610585578063bb1757cf146105af578063be4994f8146105eb578063c884ef831461061357610203565b8063715018a6146104d057806375b238fc146104da57806377548687146105045780638da5cb5b1461053157610203565b80632de948071161019a578063474f5a4411610169578063474f5a44146103f55780634a4ee7b1146104325780634e7165a21461044e578063514e62fc1461048a57806354d1f13d146104c657610203565b80632de948071461033f57806338d52e0f1461037b5780634359d28a146103a5578063439fab91146103cd57610203565b80631cd64df4116101d65780631cd64df4146102a5578063228cb733146102e1578063256929621461030b57806328d6183b1461031557610203565b806301ffc9a71461020757806307621eca14610243578063183a4f6e1461026d5780631c10893f14610289575b5f80fd5b348015610212575f80fd5b5061022d60048036038101906102289190611abd565b6107e1565b60405161023a9190611b02565b60405180910390f35b34801561024e575f80fd5b5061025761085a565b6040516102649190611b33565b60405180910390f35b61028760048036038101906102829190611b76565b610863565b005b6102a3600480360381019061029e9190611bfb565b610870565b005b3480156102b0575f80fd5b506102cb60048036038101906102c69190611bfb565b610886565b6040516102d89190611b02565b60405180910390f35b3480156102ec575f80fd5b506102f561089c565b6040516103029190611b33565b60405180910390f35b6103136108a2565b005b348015610320575f80fd5b506103296108f3565b6040516103369190611c48565b60405180910390f35b34801561034a575f80fd5b5061036560048036038101906103609190611c61565b61091a565b6040516103729190611b33565b60405180910390f35b348015610386575f80fd5b5061038f610933565b60405161039c9190611c9b565b60405180910390f35b3480156103b0575f80fd5b506103cb60048036038101906103c69190611d6a565b610956565b005b3480156103d8575f80fd5b506103f360048036038101906103ee9190611e3d565b610a64565b005b348015610400575f80fd5b5061041b60048036038101906104169190611e3d565b610ccc565b604051610429929190611e88565b60405180910390f35b61044c60048036038101906104479190611bfb565b610e30565b005b348015610459575f80fd5b50610474600480360381019061046f9190611e3d565b610e46565b6040516104819190611f1f565b60405180910390f35b348015610495575f80fd5b506104b060048036038101906104ab9190611bfb565b610f14565b6040516104bd9190611b02565b60405180910390f35b6104ce610f2b565b005b6104d8610f64565b005b3480156104e5575f80fd5b506104ee610f77565b6040516104fb9190611b33565b60405180910390f35b34801561050f575f80fd5b50610518610f7c565b6040516105289493929190611fe5565b60405180910390f35b34801561053c575f80fd5b50610545610fd1565b6040516105529190611c9b565b60405180910390f35b348015610566575f80fd5b5061056f610ff9565b60405161057c9190611b33565b60405180910390f35b348015610590575f80fd5b50610599610fff565b6040516105a691906120b7565b60405180910390f35b3480156105ba575f80fd5b506105d560048036038101906105d091906120d0565b6110ce565b6040516105e29190611b02565b60405180910390f35b3480156105f6575f80fd5b50610611600480360381019061060c9190612182565b6112c2565b005b34801561061e575f80fd5b5061063960048036038101906106349190611c61565b611378565b6040516106469190611b02565b60405180910390f35b34801561065a575f80fd5b50610663611395565b6040516106709190611b33565b60405180910390f35b348015610684575f80fd5b5061069f600480360381019061069a91906120d0565b61139b565b6040516106ac9190611b02565b60405180910390f35b3480156106c0575f80fd5b506106db60048036038101906106d69190612182565b6113ae565b005b3480156106e8575f80fd5b506106f1611464565b6040516106fe9190611b33565b60405180910390f35b348015610712575f80fd5b5061071b61146a565b6040516107289190611b33565b60405180910390f35b61074b60048036038101906107469190611c61565b61146f565b005b61076760048036038101906107629190611c61565b6114ad565b005b348015610774575f80fd5b5061078f600480360381019061078a9190611c61565b6114d6565b60405161079c9190611b02565b60405180910390f35b3480156107b0575f80fd5b506107cb60048036038101906107c69190611c61565b611529565b6040516107d89190611b33565b60405180910390f35b5f7f90318111000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610853575061085282611542565b5b9050919050565b5f600254905090565b61086d33826115bb565b50565b6108786115ca565b6108828282611601565b5050565b5f81826108928561091a565b1614905092915050565b60025481565b5f6108ab611611565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f9031811100000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026109618161161b565b8282905085859050146109a0576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610a5c575f8484838181106109c1576109c0612200565b5b90506020020160208101906109d69190612257565b90506001151581151503610a1b57610a168787848181106109fa576109f9612200565b5b9050602002016020810190610a0f9190611c61565b6001611601565b610a4e565b610a4d878784818110610a3157610a30612200565b5b9050602002016020810190610a469190611c61565b60016115bb565b5b5080806001019150506109a2565b505050505050565b5f610a6d611650565b90508054600382558015610a9f5760018160011c14303b10610a965763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610aa933611679565b5f8383810190610ab99190612463565b90505f815f015190505f826020015190505f836040015190505f846060015190505f8203610b13576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610b3d308673ffffffffffffffffffffffffffffffffffffffff1661174f90919063ffffffff16565b905082811015610b8b57855f015181846040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610b829392919061248e565b60405180910390fd5b845f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600281905550826004819055505f6005819055508160065f820151815f015f6101000a81548160ff02191690836001811115610c0a57610c09611f3f565b5b0217905550602082015181600101556040820151816002015f6101000a81548160ff021916908360ff16021790555060608201518160020160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050610c8c33611679565b5050505050508015610cc7576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610cd981611782565b5f8585810190610ce991906125dc565b90505f8160200151806020019051810190610d049190612637565b90508060045f828254610d17919061268f565b92505081905550610d6b825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117a99092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610ddd93929190612727565b604051602081830303815290604052604051610df99190611f1f565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610e386115ca565b610e4282826115bb565b5050565b60605f808484810190610e59919061279e565b9250509150604051806080016040528060016002811115610e7d57610e7c611f3f565b5b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610ed99190612817565b604051602081830303815290604052815250604051602001610efb919061291e565b6040516020818303038152906040529250505092915050565b5f8082610f208561091a565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610f6c6115ca565b610f755f6117f2565b565b600281565b6006805f015f9054906101000a900460ff1690806001015490806002015f9054906101000a900460ff16908060020160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b611007611a05565b60066040518060800160405290815f82015f9054906101000a900460ff16600181111561103757611036611f3f565b5b600181111561104957611048611f3f565b5b815260200160018201548152602001600282015f9054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905090565b5f6110d76115ca565b5f83838101906110e791906129c3565b90505f81602001518060200190518101906111029190612637565b90505f61110e876118b8565b611144576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6002540361115557819050611179565b670de0b6b3a76400008260025461116c9190612a0a565b6111769190612a78565b90505b6004548160055461118a9190612aa8565b11156111c2576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f8282546111d39190612aa8565b9250508190555061122487825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117a99092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16898460405160200161129093929190612727565b6040516020818303038152906040526040516112ac9190611f1f565b60405180910390a2600193505050509392505050565b60026112cd8161161b565b82829050858590501461130c576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156113705761136386868381811061132f5761132e612200565b5b90506020020160208101906113449190611c61565b85858481811061135757611356612200565b5b90506020020135611601565b808060010191505061130e565b505050505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f6113a5846118b8565b90509392505050565b60026113b98161161b565b8282905085859050146113f8576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561145c5761144f86868381811061141b5761141a612200565b5b90506020020160208101906114309190611c61565b85858481811061144357611442612200565b5b905060200201356115bb565b80806001019150506113fa565b505050505050565b60015481565b600181565b6114776115ca565b63389a75e1600c52805f526020600c20805442111561149d57636f5e88185f526004601cfd5b5f8155506114aa816117f2565b50565b6114b56115ca565b8060601b6114ca57637448fbae5f526004601cfd5b6114d3816117f2565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff166114f6610fd1565b73ffffffffffffffffffffffffffffffffffffffff1614806115225750611521826002600117610f14565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806115b457506115b3826118c7565b5b9050919050565b6115c682825f611940565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146115ff576382b429005f526004601cfd5b565b61160d82826001611940565b5050565b5f6202a300905090565b638b78c6d81954331461164d57638b78c6d8600c52335f52806020600c20541661164c576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611681611998565b156116f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278054156116bb57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35061174c565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b638b78c6d8600c52335f52806020600c2054166117a6576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166117e9576390b8ec185f526004601cfd5b5f603452505050565b6117fa611998565b1561185f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b82178155506118b5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454600554109050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061193957506119388261199c565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361196257848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60405180608001604052805f6001811115611a2357611a22611f3f565b5b81526020015f80191681526020015f60ff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a9c81611a68565b8114611aa6575f80fd5b50565b5f81359050611ab781611a93565b92915050565b5f60208284031215611ad257611ad1611a60565b5b5f611adf84828501611aa9565b91505092915050565b5f8115159050919050565b611afc81611ae8565b82525050565b5f602082019050611b155f830184611af3565b92915050565b5f819050919050565b611b2d81611b1b565b82525050565b5f602082019050611b465f830184611b24565b92915050565b611b5581611b1b565b8114611b5f575f80fd5b50565b5f81359050611b7081611b4c565b92915050565b5f60208284031215611b8b57611b8a611a60565b5b5f611b9884828501611b62565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611bca82611ba1565b9050919050565b611bda81611bc0565b8114611be4575f80fd5b50565b5f81359050611bf581611bd1565b92915050565b5f8060408385031215611c1157611c10611a60565b5b5f611c1e85828601611be7565b9250506020611c2f85828601611b62565b9150509250929050565b611c4281611a68565b82525050565b5f602082019050611c5b5f830184611c39565b92915050565b5f60208284031215611c7657611c75611a60565b5b5f611c8384828501611be7565b91505092915050565b611c9581611bc0565b82525050565b5f602082019050611cae5f830184611c8c565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611cd557611cd4611cb4565b5b8235905067ffffffffffffffff811115611cf257611cf1611cb8565b5b602083019150836020820283011115611d0e57611d0d611cbc565b5b9250929050565b5f8083601f840112611d2a57611d29611cb4565b5b8235905067ffffffffffffffff811115611d4757611d46611cb8565b5b602083019150836020820283011115611d6357611d62611cbc565b5b9250929050565b5f805f8060408587031215611d8257611d81611a60565b5b5f85013567ffffffffffffffff811115611d9f57611d9e611a64565b5b611dab87828801611cc0565b9450945050602085013567ffffffffffffffff811115611dce57611dcd611a64565b5b611dda87828801611d15565b925092505092959194509250565b5f8083601f840112611dfd57611dfc611cb4565b5b8235905067ffffffffffffffff811115611e1a57611e19611cb8565b5b602083019150836001820283011115611e3657611e35611cbc565b5b9250929050565b5f8060208385031215611e5357611e52611a60565b5b5f83013567ffffffffffffffff811115611e7057611e6f611a64565b5b611e7c85828601611de8565b92509250509250929050565b5f604082019050611e9b5f830185611b24565b611ea86020830184611c8c565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ef182611eaf565b611efb8185611eb9565b9350611f0b818560208601611ec9565b611f1481611ed7565b840191505092915050565b5f6020820190508181035f830152611f378184611ee7565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110611f7d57611f7c611f3f565b5b50565b5f819050611f8d82611f6c565b919050565b5f611f9c82611f80565b9050919050565b611fac81611f92565b82525050565b5f819050919050565b611fc481611fb2565b82525050565b5f60ff82169050919050565b611fdf81611fca565b82525050565b5f608082019050611ff85f830187611fa3565b6120056020830186611fbb565b6120126040830185611fd6565b61201f6060830184611c8c565b95945050505050565b61203181611f92565b82525050565b61204081611fb2565b82525050565b61204f81611fca565b82525050565b61205e81611bc0565b82525050565b608082015f8201516120785f850182612028565b50602082015161208b6020850182612037565b50604082015161209e6040850182612046565b5060608201516120b16060850182612055565b50505050565b5f6080820190506120ca5f830184612064565b92915050565b5f805f604084860312156120e7576120e6611a60565b5b5f6120f486828701611be7565b935050602084013567ffffffffffffffff81111561211557612114611a64565b5b61212186828701611de8565b92509250509250925092565b5f8083601f84011261214257612141611cb4565b5b8235905067ffffffffffffffff81111561215f5761215e611cb8565b5b60208301915083602082028301111561217b5761217a611cbc565b5b9250929050565b5f805f806040858703121561219a57612199611a60565b5b5f85013567ffffffffffffffff8111156121b7576121b6611a64565b5b6121c387828801611cc0565b9450945050602085013567ffffffffffffffff8111156121e6576121e5611a64565b5b6121f28782880161212d565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b61223681611ae8565b8114612240575f80fd5b50565b5f813590506122518161222d565b92915050565b5f6020828403121561226c5761226b611a60565b5b5f61227984828501612243565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122bc82611ed7565b810181811067ffffffffffffffff821117156122db576122da612286565b5b80604052505050565b5f6122ed611a57565b90506122f982826122b3565b919050565b5f80fd5b6002811061230e575f80fd5b50565b5f8135905061231f81612302565b92915050565b61232e81611fb2565b8114612338575f80fd5b50565b5f8135905061234981612325565b92915050565b61235881611fca565b8114612362575f80fd5b50565b5f813590506123738161234f565b92915050565b5f6080828403121561238e5761238d612282565b5b61239860806122e4565b90505f6123a784828501612311565b5f8301525060206123ba8482850161233b565b60208301525060406123ce84828501612365565b60408301525060606123e284828501611be7565b60608301525092915050565b5f60e0828403121561240357612402612282565b5b61240d60806122e4565b90505f61241c84828501611be7565b5f83015250602061242f84828501611b62565b602083015250604061244384828501611b62565b604083015250606061245784828501612379565b60608301525092915050565b5f60e0828403121561247857612477611a60565b5b5f612485848285016123ee565b91505092915050565b5f6060820190506124a15f830186611c8c565b6124ae6020830185611b24565b6124bb6040830184611b24565b949350505050565b5f80fd5b5f67ffffffffffffffff8211156124e1576124e0612286565b5b6124ea82611ed7565b9050602081019050919050565b828183375f83830152505050565b5f612517612512846124c7565b6122e4565b905082815260208101848484011115612533576125326124c3565b5b61253e8482856124f7565b509392505050565b5f82601f83011261255a57612559611cb4565b5b813561256a848260208601612505565b91505092915050565b5f6040828403121561258857612587612282565b5b61259260406122e4565b90505f6125a184828501611be7565b5f83015250602082013567ffffffffffffffff8111156125c4576125c36122fe565b5b6125d084828501612546565b60208301525092915050565b5f602082840312156125f1576125f0611a60565b5b5f82013567ffffffffffffffff81111561260e5761260d611a64565b5b61261a84828501612573565b91505092915050565b5f8151905061263181611b4c565b92915050565b5f6020828403121561264c5761264b611a60565b5b5f61265984828501612623565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61269982611b1b565b91506126a483611b1b565b92508282039050818111156126bc576126bb612662565b5b92915050565b5f8160601b9050919050565b5f6126d8826126c2565b9050919050565b5f6126e9826126ce565b9050919050565b6127016126fc82611bc0565b6126df565b82525050565b5f819050919050565b61272161271c82611b1b565b612707565b82525050565b5f61273282866126f0565b60148201915061274282856126f0565b6014820191506127528284612710565b602082019150819050949350505050565b5f61276d82611ba1565b9050919050565b61277d81612763565b8114612787575f80fd5b50565b5f8135905061279881612774565b92915050565b5f805f606084860312156127b5576127b4611a60565b5b5f6127c28682870161278a565b93505060206127d386828701611b62565b92505060406127e486828701611b62565b9150509250925092565b6127f781611b1b565b82525050565b602082015f8201516128115f8501826127ee565b50505050565b5f60208201905061282a5f8301846127fd565b92915050565b6003811061284157612840611f3f565b5b50565b5f81905061285182612830565b919050565b5f61286082612844565b9050919050565b61287081612856565b82525050565b5f82825260208201905092915050565b5f61289082611eaf565b61289a8185612876565b93506128aa818560208601611ec9565b6128b381611ed7565b840191505092915050565b5f608083015f8301516128d35f860182612867565b5060208301516128e66020860182612055565b5060408301516128f96040860182612055565b50606083015184820360608601526129118282612886565b9150508091505092915050565b5f6020820190508181035f83015261293681846128be565b905092915050565b5f6040828403121561295357612952612282565b5b61295d60406122e4565b90505f82013567ffffffffffffffff81111561297c5761297b6122fe565b5b61298884828501612546565b5f83015250602082013567ffffffffffffffff8111156129ab576129aa6122fe565b5b6129b784828501612546565b60208301525092915050565b5f602082840312156129d8576129d7611a60565b5b5f82013567ffffffffffffffff8111156129f5576129f4611a64565b5b612a018482850161293e565b91505092915050565b5f612a1482611b1b565b9150612a1f83611b1b565b9250828202612a2d81611b1b565b91508282048414831517612a4457612a43612662565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612a8282611b1b565b9150612a8d83611b1b565b925082612a9d57612a9c612a4b565b5b828204905092915050565b5f612ab282611b1b565b9150612abd83611b1b565b9250828201905080821115612ad557612ad4612662565b5b9291505056fea2646970667358221220d7ddad7d632d0c865fa8a80d93a7f20a2015170756e0cd0ee47931e44007e48464736f6c634300081a0033", s = class s extends F {
|
|
9
|
+
const P = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612b8a806101185f395ff3fe608060405260043610610203575f3560e01c8063715018a611610117578063d54ad2a11161009f578063ec87621c1161006e578063ec87621c14610707578063f04e283e14610731578063f2fde38b1461074d578063fe9fbb8014610769578063fee81cf4146107a557610203565b8063d54ad2a11461064f578063db09da1214610679578063dcc21361146106b5578063dcc59b6f146106dd57610203565b8063a4d66daf116100e6578063a4d66daf1461055b578063a871ced214610585578063bb1757cf146105af578063be4994f8146105eb578063c884ef831461061357610203565b8063715018a6146104d057806375b238fc146104da57806377548687146105045780638da5cb5b1461053157610203565b80632de948071161019a578063474f5a4411610169578063474f5a44146103f55780634a4ee7b1146104325780634e7165a21461044e578063514e62fc1461048a57806354d1f13d146104c657610203565b80632de948071461033f57806338d52e0f1461037b5780634359d28a146103a5578063439fab91146103cd57610203565b80631cd64df4116101d65780631cd64df4146102a5578063228cb733146102e1578063256929621461030b57806328d6183b1461031557610203565b806301ffc9a71461020757806307621eca14610243578063183a4f6e1461026d5780631c10893f14610289575b5f80fd5b348015610212575f80fd5b5061022d60048036038101906102289190611b36565b6107e1565b60405161023a9190611b7b565b60405180910390f35b34801561024e575f80fd5b5061025761085a565b6040516102649190611bac565b60405180910390f35b61028760048036038101906102829190611bef565b610863565b005b6102a3600480360381019061029e9190611c74565b610870565b005b3480156102b0575f80fd5b506102cb60048036038101906102c69190611c74565b610886565b6040516102d89190611b7b565b60405180910390f35b3480156102ec575f80fd5b506102f561089c565b6040516103029190611bac565b60405180910390f35b6103136108a2565b005b348015610320575f80fd5b506103296108f3565b6040516103369190611cc1565b60405180910390f35b34801561034a575f80fd5b5061036560048036038101906103609190611cda565b61091a565b6040516103729190611bac565b60405180910390f35b348015610386575f80fd5b5061038f610933565b60405161039c9190611d14565b60405180910390f35b3480156103b0575f80fd5b506103cb60048036038101906103c69190611de3565b610956565b005b3480156103d8575f80fd5b506103f360048036038101906103ee9190611eb6565b610a64565b005b348015610400575f80fd5b5061041b60048036038101906104169190611eb6565b610ccc565b604051610429929190611f01565b60405180910390f35b61044c60048036038101906104479190611c74565b610e30565b005b348015610459575f80fd5b50610474600480360381019061046f9190611eb6565b610e46565b6040516104819190611f98565b60405180910390f35b348015610495575f80fd5b506104b060048036038101906104ab9190611c74565b610f14565b6040516104bd9190611b7b565b60405180910390f35b6104ce610f2b565b005b6104d8610f64565b005b3480156104e5575f80fd5b506104ee610f77565b6040516104fb9190611bac565b60405180910390f35b34801561050f575f80fd5b50610518610f7c565b604051610528949392919061205e565b60405180910390f35b34801561053c575f80fd5b50610545610fd1565b6040516105529190611d14565b60405180910390f35b348015610566575f80fd5b5061056f610ff9565b60405161057c9190611bac565b60405180910390f35b348015610590575f80fd5b50610599610fff565b6040516105a69190612130565b60405180910390f35b3480156105ba575f80fd5b506105d560048036038101906105d09190612149565b6110ce565b6040516105e29190611b7b565b60405180910390f35b3480156105f6575f80fd5b50610611600480360381019061060c91906121fb565b6112c2565b005b34801561061e575f80fd5b5061063960048036038101906106349190611cda565b611378565b6040516106469190611b7b565b60405180910390f35b34801561065a575f80fd5b50610663611395565b6040516106709190611bac565b60405180910390f35b348015610684575f80fd5b5061069f600480360381019061069a9190612149565b61139b565b6040516106ac9190611b7b565b60405180910390f35b3480156106c0575f80fd5b506106db60048036038101906106d691906121fb565b6113ae565b005b3480156106e8575f80fd5b506106f1611464565b6040516106fe9190611bac565b60405180910390f35b348015610712575f80fd5b5061071b61146a565b6040516107289190611bac565b60405180910390f35b61074b60048036038101906107469190611cda565b61146f565b005b61076760048036038101906107629190611cda565b6114ad565b005b348015610774575f80fd5b5061078f600480360381019061078a9190611cda565b6114d6565b60405161079c9190611b7b565b60405180910390f35b3480156107b0575f80fd5b506107cb60048036038101906107c69190611cda565b611529565b6040516107d89190611bac565b60405180910390f35b5f7ff60c99c9000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610853575061085282611542565b5b9050919050565b5f600254905090565b61086d33826115bb565b50565b6108786115ca565b6108828282611601565b5050565b5f81826108928561091a565b1614905092915050565b60025481565b5f6108ab611611565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7ff60c99c900000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026109618161161b565b8282905085859050146109a0576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610a5c575f8484838181106109c1576109c0612279565b5b90506020020160208101906109d691906122d0565b90506001151581151503610a1b57610a168787848181106109fa576109f9612279565b5b9050602002016020810190610a0f9190611cda565b6001611601565b610a4e565b610a4d878784818110610a3157610a30612279565b5b9050602002016020810190610a469190611cda565b60016115bb565b5b5080806001019150506109a2565b505050505050565b5f610a6d611650565b90508054600382558015610a9f5760018160011c14303b10610a965763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610aa933611679565b5f8383810190610ab991906124dc565b90505f815f015190505f826020015190505f836040015190505f846060015190505f8203610b13576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610b3d308673ffffffffffffffffffffffffffffffffffffffff1661174f90919063ffffffff16565b905082811015610b8b57855f015181846040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610b8293929190612507565b60405180910390fd5b845f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600281905550826004819055505f6005819055508160065f820151815f015f6101000a81548160ff02191690836001811115610c0a57610c09611fb8565b5b0217905550602082015181600101556040820151816002015f6101000a81548160ff021916908360ff16021790555060608201518160020160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050610c8c33611679565b5050505050508015610cc7576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610cd981611782565b5f8585810190610ce99190612655565b90505f8160200151806020019051810190610d0491906126b0565b90508060045f828254610d179190612708565b92505081905550610d6b825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117a99092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610ddd939291906127a0565b604051602081830303815290604052604051610df99190611f98565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610e386115ca565b610e4282826115bb565b5050565b60605f808484810190610e599190612817565b9250509150604051806080016040528060016002811115610e7d57610e7c611fb8565b5b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610ed99190612890565b604051602081830303815290604052815250604051602001610efb9190612997565b6040516020818303038152906040529250505092915050565b5f8082610f208561091a565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610f6c6115ca565b610f755f6117f2565b565b600281565b6006805f015f9054906101000a900460ff1690806001015490806002015f9054906101000a900460ff16908060020160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b611007611a7e565b60066040518060800160405290815f82015f9054906101000a900460ff16600181111561103757611036611fb8565b5b600181111561104957611048611fb8565b5b815260200160018201548152602001600282015f9054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905090565b5f6110d76115ca565b5f83838101906110e79190612a3c565b90505f816020015180602001905181019061110291906126b0565b90505f61110e876118b8565b611144576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6002540361115557819050611179565b670de0b6b3a76400008260025461116c9190612a83565b6111769190612af1565b90505b6004548160055461118a9190612b21565b11156111c2576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f8282546111d39190612b21565b9250508190555061122487825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117a99092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff168984604051602001611290939291906127a0565b6040516020818303038152906040526040516112ac9190611f98565b60405180910390a2600193505050509392505050565b60026112cd8161161b565b82829050858590501461130c576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156113705761136386868381811061132f5761132e612279565b5b90506020020160208101906113449190611cda565b85858481811061135757611356612279565b5b90506020020135611601565b808060010191505061130e565b505050505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f6113a5846118b8565b90509392505050565b60026113b98161161b565b8282905085859050146113f8576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561145c5761144f86868381811061141b5761141a612279565b5b90506020020160208101906114309190611cda565b85858481811061144357611442612279565b5b905060200201356115bb565b80806001019150506113fa565b505050505050565b60015481565b600181565b6114776115ca565b63389a75e1600c52805f526020600c20805442111561149d57636f5e88185f526004601cfd5b5f8155506114aa816117f2565b50565b6114b56115ca565b8060601b6114ca57637448fbae5f526004601cfd5b6114d3816117f2565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff166114f6610fd1565b73ffffffffffffffffffffffffffffffffffffffff1614806115225750611521826002600117610f14565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f90318111000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806115b457506115b3826118c7565b5b9050919050565b6115c682825f611940565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146115ff576382b429005f526004601cfd5b565b61160d82826001611940565b5050565b5f6202a300905090565b638b78c6d81954331461164d57638b78c6d8600c52335f52806020600c20541661164c576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611681611998565b156116f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278054156116bb57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35061174c565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b638b78c6d8600c52335f52806020600c2054166117a6576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166117e9576390b8ec185f526004601cfd5b5f603452505050565b6117fa611998565b1561185f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b82178155506118b5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454600554109050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061193957506119388261199c565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361196257848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611a0e5750611a0d82611a15565b5b9050919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60405180608001604052805f6001811115611a9c57611a9b611fb8565b5b81526020015f80191681526020015f60ff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611b1581611ae1565b8114611b1f575f80fd5b50565b5f81359050611b3081611b0c565b92915050565b5f60208284031215611b4b57611b4a611ad9565b5b5f611b5884828501611b22565b91505092915050565b5f8115159050919050565b611b7581611b61565b82525050565b5f602082019050611b8e5f830184611b6c565b92915050565b5f819050919050565b611ba681611b94565b82525050565b5f602082019050611bbf5f830184611b9d565b92915050565b611bce81611b94565b8114611bd8575f80fd5b50565b5f81359050611be981611bc5565b92915050565b5f60208284031215611c0457611c03611ad9565b5b5f611c1184828501611bdb565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611c4382611c1a565b9050919050565b611c5381611c39565b8114611c5d575f80fd5b50565b5f81359050611c6e81611c4a565b92915050565b5f8060408385031215611c8a57611c89611ad9565b5b5f611c9785828601611c60565b9250506020611ca885828601611bdb565b9150509250929050565b611cbb81611ae1565b82525050565b5f602082019050611cd45f830184611cb2565b92915050565b5f60208284031215611cef57611cee611ad9565b5b5f611cfc84828501611c60565b91505092915050565b611d0e81611c39565b82525050565b5f602082019050611d275f830184611d05565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611d4e57611d4d611d2d565b5b8235905067ffffffffffffffff811115611d6b57611d6a611d31565b5b602083019150836020820283011115611d8757611d86611d35565b5b9250929050565b5f8083601f840112611da357611da2611d2d565b5b8235905067ffffffffffffffff811115611dc057611dbf611d31565b5b602083019150836020820283011115611ddc57611ddb611d35565b5b9250929050565b5f805f8060408587031215611dfb57611dfa611ad9565b5b5f85013567ffffffffffffffff811115611e1857611e17611add565b5b611e2487828801611d39565b9450945050602085013567ffffffffffffffff811115611e4757611e46611add565b5b611e5387828801611d8e565b925092505092959194509250565b5f8083601f840112611e7657611e75611d2d565b5b8235905067ffffffffffffffff811115611e9357611e92611d31565b5b602083019150836001820283011115611eaf57611eae611d35565b5b9250929050565b5f8060208385031215611ecc57611ecb611ad9565b5b5f83013567ffffffffffffffff811115611ee957611ee8611add565b5b611ef585828601611e61565b92509250509250929050565b5f604082019050611f145f830185611b9d565b611f216020830184611d05565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f6a82611f28565b611f748185611f32565b9350611f84818560208601611f42565b611f8d81611f50565b840191505092915050565b5f6020820190508181035f830152611fb08184611f60565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110611ff657611ff5611fb8565b5b50565b5f81905061200682611fe5565b919050565b5f61201582611ff9565b9050919050565b6120258161200b565b82525050565b5f819050919050565b61203d8161202b565b82525050565b5f60ff82169050919050565b61205881612043565b82525050565b5f6080820190506120715f83018761201c565b61207e6020830186612034565b61208b604083018561204f565b6120986060830184611d05565b95945050505050565b6120aa8161200b565b82525050565b6120b98161202b565b82525050565b6120c881612043565b82525050565b6120d781611c39565b82525050565b608082015f8201516120f15f8501826120a1565b50602082015161210460208501826120b0565b50604082015161211760408501826120bf565b50606082015161212a60608501826120ce565b50505050565b5f6080820190506121435f8301846120dd565b92915050565b5f805f604084860312156121605761215f611ad9565b5b5f61216d86828701611c60565b935050602084013567ffffffffffffffff81111561218e5761218d611add565b5b61219a86828701611e61565b92509250509250925092565b5f8083601f8401126121bb576121ba611d2d565b5b8235905067ffffffffffffffff8111156121d8576121d7611d31565b5b6020830191508360208202830111156121f4576121f3611d35565b5b9250929050565b5f805f806040858703121561221357612212611ad9565b5b5f85013567ffffffffffffffff8111156122305761222f611add565b5b61223c87828801611d39565b9450945050602085013567ffffffffffffffff81111561225f5761225e611add565b5b61226b878288016121a6565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6122af81611b61565b81146122b9575f80fd5b50565b5f813590506122ca816122a6565b92915050565b5f602082840312156122e5576122e4611ad9565b5b5f6122f2848285016122bc565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61233582611f50565b810181811067ffffffffffffffff82111715612354576123536122ff565b5b80604052505050565b5f612366611ad0565b9050612372828261232c565b919050565b5f80fd5b60028110612387575f80fd5b50565b5f813590506123988161237b565b92915050565b6123a78161202b565b81146123b1575f80fd5b50565b5f813590506123c28161239e565b92915050565b6123d181612043565b81146123db575f80fd5b50565b5f813590506123ec816123c8565b92915050565b5f60808284031215612407576124066122fb565b5b612411608061235d565b90505f6124208482850161238a565b5f830152506020612433848285016123b4565b6020830152506040612447848285016123de565b604083015250606061245b84828501611c60565b60608301525092915050565b5f60e0828403121561247c5761247b6122fb565b5b612486608061235d565b90505f61249584828501611c60565b5f8301525060206124a884828501611bdb565b60208301525060406124bc84828501611bdb565b60408301525060606124d0848285016123f2565b60608301525092915050565b5f60e082840312156124f1576124f0611ad9565b5b5f6124fe84828501612467565b91505092915050565b5f60608201905061251a5f830186611d05565b6125276020830185611b9d565b6125346040830184611b9d565b949350505050565b5f80fd5b5f67ffffffffffffffff82111561255a576125596122ff565b5b61256382611f50565b9050602081019050919050565b828183375f83830152505050565b5f61259061258b84612540565b61235d565b9050828152602081018484840111156125ac576125ab61253c565b5b6125b7848285612570565b509392505050565b5f82601f8301126125d3576125d2611d2d565b5b81356125e384826020860161257e565b91505092915050565b5f60408284031215612601576126006122fb565b5b61260b604061235d565b90505f61261a84828501611c60565b5f83015250602082013567ffffffffffffffff81111561263d5761263c612377565b5b612649848285016125bf565b60208301525092915050565b5f6020828403121561266a57612669611ad9565b5b5f82013567ffffffffffffffff81111561268757612686611add565b5b612693848285016125ec565b91505092915050565b5f815190506126aa81611bc5565b92915050565b5f602082840312156126c5576126c4611ad9565b5b5f6126d28482850161269c565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61271282611b94565b915061271d83611b94565b9250828203905081811115612735576127346126db565b5b92915050565b5f8160601b9050919050565b5f6127518261273b565b9050919050565b5f61276282612747565b9050919050565b61277a61277582611c39565b612758565b82525050565b5f819050919050565b61279a61279582611b94565b612780565b82525050565b5f6127ab8286612769565b6014820191506127bb8285612769565b6014820191506127cb8284612789565b602082019150819050949350505050565b5f6127e682611c1a565b9050919050565b6127f6816127dc565b8114612800575f80fd5b50565b5f81359050612811816127ed565b92915050565b5f805f6060848603121561282e5761282d611ad9565b5b5f61283b86828701612803565b935050602061284c86828701611bdb565b925050604061285d86828701611bdb565b9150509250925092565b61287081611b94565b82525050565b602082015f82015161288a5f850182612867565b50505050565b5f6020820190506128a35f830184612876565b92915050565b600381106128ba576128b9611fb8565b5b50565b5f8190506128ca826128a9565b919050565b5f6128d9826128bd565b9050919050565b6128e9816128cf565b82525050565b5f82825260208201905092915050565b5f61290982611f28565b61291381856128ef565b9350612923818560208601611f42565b61292c81611f50565b840191505092915050565b5f608083015f83015161294c5f8601826128e0565b50602083015161295f60208601826120ce565b50604083015161297260408601826120ce565b506060830151848203606086015261298a82826128ff565b9150508091505092915050565b5f6020820190508181035f8301526129af8184612937565b905092915050565b5f604082840312156129cc576129cb6122fb565b5b6129d6604061235d565b90505f82013567ffffffffffffffff8111156129f5576129f4612377565b5b612a01848285016125bf565b5f83015250602082013567ffffffffffffffff811115612a2457612a23612377565b5b612a30848285016125bf565b60208301525092915050565b5f60208284031215612a5157612a50611ad9565b5b5f82013567ffffffffffffffff811115612a6e57612a6d611add565b5b612a7a848285016129b7565b91505092915050565b5f612a8d82611b94565b9150612a9883611b94565b9250828202612aa681611b94565b91508282048414831517612abd57612abc6126db565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612afb82611b94565b9150612b0683611b94565b925082612b1657612b15612ac4565b5b828204905092915050565b5f612b2b82611b94565b9150612b3683611b94565b9250828201905080821115612b4e57612b4d6126db565b5b9291505056fea2646970667358221220457c071126566a0e3303f013a5ec378938c30fd38fe414171da94970b6b1579d64736f6c634300081a0033", s = class s extends F {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments), this.abi = l;
|
|
12
12
|
}
|
|
@@ -20,12 +20,12 @@ const P = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
20
20
|
* @returns {Promise<IncentiveCriteria>} Incentive criteria structure
|
|
21
21
|
* @throws {IncentiveCriteriaNotFoundError}
|
|
22
22
|
*/
|
|
23
|
-
async getIncentiveCriteria(
|
|
23
|
+
async getIncentiveCriteria(e) {
|
|
24
24
|
try {
|
|
25
25
|
return await I(
|
|
26
26
|
this._config,
|
|
27
27
|
{
|
|
28
|
-
...
|
|
28
|
+
...e,
|
|
29
29
|
address: this.assertValidAddress()
|
|
30
30
|
}
|
|
31
31
|
);
|
|
@@ -41,12 +41,12 @@ const P = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
41
41
|
* @returns {Promise<bigint>}
|
|
42
42
|
* @throws {InvalidCriteriaTypeError | NoMatchingLogsError | DecodedArgsError}
|
|
43
43
|
*/
|
|
44
|
-
async getIncentiveScalar({ chainId:
|
|
44
|
+
async getIncentiveScalar({ chainId: e, hash: b, knownSignatures: a }, i) {
|
|
45
45
|
var u;
|
|
46
46
|
const f = await this.getIncentiveCriteria(i);
|
|
47
47
|
if (f.criteriaType === o.EVENT) {
|
|
48
48
|
const d = await v(this._config, {
|
|
49
|
-
chainId:
|
|
49
|
+
chainId: e,
|
|
50
50
|
hash: b
|
|
51
51
|
});
|
|
52
52
|
if (f.fieldIndex === y.GAS_REBATE_INCENTIVE)
|
|
@@ -58,7 +58,7 @@ const P = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
58
58
|
`No logs found for event signature ${f.signature}`
|
|
59
59
|
);
|
|
60
60
|
try {
|
|
61
|
-
const n =
|
|
61
|
+
const n = a[f.signature], c = E({
|
|
62
62
|
abi: [n],
|
|
63
63
|
logs: t
|
|
64
64
|
});
|
|
@@ -79,11 +79,11 @@ const P = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
79
79
|
}
|
|
80
80
|
} else if (f.criteriaType === o.FUNC) {
|
|
81
81
|
const d = await w(this._config, {
|
|
82
|
-
chainId:
|
|
82
|
+
chainId: e,
|
|
83
83
|
hash: b
|
|
84
84
|
});
|
|
85
85
|
try {
|
|
86
|
-
const t =
|
|
86
|
+
const t = a[f.signature], c = C({
|
|
87
87
|
abi: [t],
|
|
88
88
|
data: d.input
|
|
89
89
|
}).args[f.fieldIndex];
|
|
@@ -110,15 +110,15 @@ const P = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
110
110
|
* @param {?DeployableOptions} [_options]
|
|
111
111
|
* @returns {GenericDeployableParams}
|
|
112
112
|
*/
|
|
113
|
-
buildParameters(
|
|
114
|
-
const [
|
|
115
|
-
|
|
113
|
+
buildParameters(e, b) {
|
|
114
|
+
const [a, i] = this.validateDeploymentConfig(
|
|
115
|
+
e,
|
|
116
116
|
b
|
|
117
117
|
);
|
|
118
118
|
return {
|
|
119
119
|
abi: l,
|
|
120
120
|
bytecode: P,
|
|
121
|
-
args: [R(
|
|
121
|
+
args: [R(a)],
|
|
122
122
|
...this.optionallyAttachAccount(i.account)
|
|
123
123
|
};
|
|
124
124
|
}
|
|
@@ -138,9 +138,9 @@ function M() {
|
|
|
138
138
|
}
|
|
139
139
|
function R({
|
|
140
140
|
asset: h,
|
|
141
|
-
reward:
|
|
141
|
+
reward: e,
|
|
142
142
|
limit: b,
|
|
143
|
-
criteria:
|
|
143
|
+
criteria: a
|
|
144
144
|
}) {
|
|
145
145
|
return T(
|
|
146
146
|
[
|
|
@@ -167,13 +167,13 @@ function R({
|
|
|
167
167
|
[
|
|
168
168
|
{
|
|
169
169
|
asset: h,
|
|
170
|
-
reward:
|
|
170
|
+
reward: e,
|
|
171
171
|
limit: b,
|
|
172
172
|
criteria: {
|
|
173
|
-
criteriaType:
|
|
174
|
-
signature:
|
|
175
|
-
fieldIndex:
|
|
176
|
-
targetContract:
|
|
173
|
+
criteriaType: a.criteriaType,
|
|
174
|
+
signature: a.signature,
|
|
175
|
+
fieldIndex: a.fieldIndex,
|
|
176
|
+
targetContract: a.targetContract
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
179
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ERC20VariableCriteriaIncentive.js","sources":["../../src/Incentives/ERC20VariableCriteriaIncentive.ts"],"sourcesContent":["import {\n erc20VariableCriteriaIncentiveAbi,\n readErc20VariableCriteriaIncentiveGetIncentiveCriteria,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/incentives/ERC20VariableCriteriaIncentive.sol/ERC20VariableCriteriaIncentive.json';\nimport { getTransaction, getTransactionReceipt } from '@wagmi/core';\nimport {\n type AbiEvent,\n type AbiFunction,\n type Address,\n type Hex,\n decodeFunctionData,\n encodeAbiParameters,\n parseEventLogs,\n zeroAddress,\n zeroHash,\n} from 'viem';\nimport { ERC20VariableCriteriaIncentive as ERC20VariableCriteriaIncentiveBases } from '../../dist/deployments.json';\nimport { SignatureType } from '../Actions/EventAction';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport {\n DecodedArgsError,\n IncentiveCriteriaNotFoundError,\n InvalidCriteriaTypeError,\n NoMatchingLogsError,\n} from '../errors';\nimport { CheatCodes, type ReadParams } from '../utils';\nimport { ERC20VariableIncentive } from './ERC20VariableIncentive';\n\nexport { erc20VariableCriteriaIncentiveAbi };\n\nexport interface ERC20VariableCriteriaIncentivePayload {\n /**\n * The address of the incentivized asset.\n *\n * @type {Address}\n */\n asset: Address;\n /**\n * The amount of the asset to distribute as reward.\n *\n * @type {bigint}\n */\n reward: bigint;\n /**\n * The total spending limit of the asset that will be distributed.\n *\n * @type {bigint}\n */\n limit: bigint;\n /**\n * The criteria for the incentive that determines how the reward is distributed.\n *\n * @type {IncentiveCriteria}\n */\n criteria: IncentiveCriteria;\n}\n\nexport interface IncentiveCriteria {\n /**\n * The type of criteria used, either function signature or event signature.\n *\n * @type {SignatureType}\n */\n criteriaType: SignatureType;\n /**\n * The function or event signature used for criteria matching.\n *\n * @type {Hex}\n */\n signature: Hex;\n /**\n * The index of the field from where the scalar value is extracted.\n *\n * @type {number}\n */\n fieldIndex: number;\n /**\n * The address of the contract where the event/function is called/emitted.\n *\n * @type {Address}\n */\n targetContract: Address;\n}\n\nexport interface ReadIncentiveCriteriaParams\n extends ReadParams<\n typeof erc20VariableCriteriaIncentiveAbi,\n 'getIncentiveCriteria'\n > {}\n\nexport interface GetIncentiveScalarParams {\n chainId: number;\n hash: Hex;\n knownSignatures: Record<Hex, AbiFunction | AbiEvent>;\n}\n\n/**\n * Extended ERC20 Variable Criteria Incentive class that fetches incentive criteria and scalar\n *\n * @export\n * @class ERC20VariableCriteriaIncentive\n * @typedef {ERC20VariableCriteriaIncentive}\n * @extends {ERC20VariableIncentive<ERC20VariableCriteriaIncentivePayload, typeof erc20VariableCriteriaIncentiveAbi>}\n */\nexport class ERC20VariableCriteriaIncentive extends ERC20VariableIncentive<\n ERC20VariableCriteriaIncentivePayload,\n typeof erc20VariableCriteriaIncentiveAbi\n> {\n //@ts-expect-error instantiated correctly\n public override readonly abi = erc20VariableCriteriaIncentiveAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n 31337: import.meta.env.VITE_ERC20_VARIABLE_CRITERIA_INCENTIVE_BASE,\n ...(ERC20VariableCriteriaIncentiveBases as Record<number, Address>),\n };\n\n /**\n *Functions from the ERC20VariableIncentive contract\n */\n\n /**\n * Fetches the IncentiveCriteria struct from the contract\n *\n * @param {?ReadParams} [params]\n * @returns {Promise<IncentiveCriteria>} Incentive criteria structure\n * @throws {IncentiveCriteriaNotFoundError}\n */\n public async getIncentiveCriteria(\n params?: ReadParams<\n typeof erc20VariableCriteriaIncentiveAbi,\n 'getIncentiveCriteria'\n >,\n ): Promise<IncentiveCriteria> {\n try {\n const criteria =\n await readErc20VariableCriteriaIncentiveGetIncentiveCriteria(\n this._config,\n {\n ...params,\n address: this.assertValidAddress(),\n },\n );\n\n return criteria;\n } catch (e) {\n throw new IncentiveCriteriaNotFoundError(e as Error);\n }\n }\n\n /**\n * Fetches the incentive scalar from a transaction hash\n *\n * @param {GetIncentiveScalarParams} params\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n * @throws {InvalidCriteriaTypeError | NoMatchingLogsError | DecodedArgsError}\n */\n public async getIncentiveScalar(\n { chainId, hash, knownSignatures }: GetIncentiveScalarParams,\n params?: ReadParams<\n typeof erc20VariableCriteriaIncentiveAbi,\n 'getIncentiveCriteria'\n >,\n ): Promise<bigint> {\n const criteria = await this.getIncentiveCriteria(params);\n if (criteria.criteriaType === SignatureType.EVENT) {\n const transactionReceipt = await getTransactionReceipt(this._config, {\n chainId,\n hash,\n });\n if (criteria.fieldIndex === CheatCodes.GAS_REBATE_INCENTIVE) {\n const totalCost =\n transactionReceipt.gasUsed * transactionReceipt.effectiveGasPrice + // Normal gas cost\n (transactionReceipt.blobGasUsed ?? 0n) *\n (transactionReceipt.blobGasPrice ?? 0n); // Blob gas cost - account for potential undefined values\n return totalCost;\n }\n const logs = transactionReceipt.logs;\n\n if (logs.length === 0) {\n throw new NoMatchingLogsError(\n `No logs found for event signature ${criteria.signature}`,\n );\n }\n\n // Decode the event log\n try {\n // Decode function data\n const eventAbi = knownSignatures[criteria.signature] as AbiEvent;\n const decodedEvents = parseEventLogs({\n abi: [eventAbi],\n logs,\n });\n if (decodedEvents == undefined || decodedEvents.length === 0) {\n throw new NoMatchingLogsError(\n `No logs found for event signature ${criteria.signature}`,\n );\n }\n const scalarValue = (decodedEvents[0]?.args as string[])[\n criteria.fieldIndex\n ];\n\n if (scalarValue === undefined) {\n throw new DecodedArgsError(\n `Decoded argument at index ${criteria.fieldIndex} is undefined`,\n );\n }\n return BigInt(scalarValue);\n } catch (e) {\n throw new DecodedArgsError(\n `Failed to decode event log for signature ${criteria.signature}: ${(e as Error).message}`,\n );\n }\n } else if (criteria.criteriaType === SignatureType.FUNC) {\n // Fetch the transaction data\n const transaction = await getTransaction(this._config, {\n chainId,\n hash,\n });\n try {\n // Decode function data\n const func = knownSignatures[criteria.signature] as AbiFunction;\n const decodedFunction = decodeFunctionData({\n abi: [func],\n data: transaction.input,\n });\n const scalarValue = decodedFunction.args[criteria.fieldIndex] as string;\n if (scalarValue === undefined || scalarValue === null) {\n throw new DecodedArgsError(\n `Decoded argument at index ${criteria.fieldIndex} is undefined`,\n );\n }\n return BigInt(scalarValue);\n } catch (e) {\n throw new DecodedArgsError(\n `Failed to decode function data for signature ${criteria.signature}: ${(e as Error).message}`,\n );\n }\n } else {\n throw new InvalidCriteriaTypeError(\n `Invalid criteria type ${criteria.criteriaType}`,\n );\n }\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?ERC20VariableCriteriaIncentivePayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: ERC20VariableCriteriaIncentivePayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: erc20VariableCriteriaIncentiveAbi,\n bytecode: bytecode as Hex,\n args: [prepareERC20VariableCriteriaIncentivePayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Creates an IncentiveCriteria object representing a gas rebate incentive.\n * This object defines a variable incentive criteria where the criteria will be the gas spent.\n *\n * The criteria uses a signatureType of EVENT, with a special `fieldIndex` of 255 (using CheatCodes enum), which indicates\n * that the entire gas cost of the transaction will be used as the scalar value. If you don't want to\n * rebate the entire gas cost, you can use a reward value on the incentive..\n *\n * - `criteriaType`: EVENT, indicating it's based on event logs.\n * - `signature`: A zeroed signature (0x0000...0000), matching any event.\n * - `fieldIndex`: 255, indicating the use of transaction gas cost using CheatCodes enum.\n * - `targetContract`: A zeroed address (0x0000...0000), applicable to any contract.\n *\n * @returns {IncentiveCriteria} Returns an IncentiveCriteria object for a gas rebate.\n *\n * @example\n * const incentive = gasRebateIncentiveCriteria();\n * const actionPayload = {\n * criteria: incentive,\n * asset: \"0xAssetAddress\",\n * reward: 0, // Set to zero to rebate the entire gas cost\n * limit: BigInt(1000) // This is the total spend limit for the incentive\n * };\n * deployIncentive(actionPayload);\n */\nexport function gasRebateIncentiveCriteria(): IncentiveCriteria {\n return {\n criteriaType: SignatureType.EVENT,\n signature: zeroHash,\n fieldIndex: CheatCodes.GAS_REBATE_INCENTIVE,\n targetContract: zeroAddress,\n };\n}\n\n/**\n *\n *\n * @param {InitPayloadExtended} param0\n * @param {Address} param0.asset - The address of the ERC20 asset to incentivize.\n * @param {bigint} param0.reward - The reward amount to distribute per action.\n * @param {bigint} param0.limit - The total limit of the asset distribution.\n * @param {IncentiveCriteria} param0.criteria - The incentive criteria for reward distribution.\n * @returns {Hex}\n */\nexport function prepareERC20VariableCriteriaIncentivePayload({\n asset,\n reward,\n limit,\n criteria,\n}: ERC20VariableCriteriaIncentivePayload) {\n return encodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'initPayloadExtended',\n components: [\n { type: 'address', name: 'asset' },\n { type: 'uint256', name: 'reward' },\n { type: 'uint256', name: 'limit' },\n {\n type: 'tuple',\n name: 'criteria',\n components: [\n { type: 'uint8', name: 'criteriaType' },\n { type: 'bytes32', name: 'signature' },\n { type: 'uint8', name: 'fieldIndex' },\n { type: 'address', name: 'targetContract' },\n ],\n },\n ],\n },\n ],\n [\n {\n asset: asset,\n reward: reward,\n limit: limit,\n criteria: {\n criteriaType: criteria.criteriaType,\n signature: criteria.signature,\n fieldIndex: criteria.fieldIndex,\n targetContract: criteria.targetContract,\n },\n },\n ],\n );\n}\n"],"names":["_ERC20VariableCriteriaIncentive","ERC20VariableIncentive","erc20VariableCriteriaIncentiveAbi","params","readErc20VariableCriteriaIncentiveGetIncentiveCriteria","e","IncentiveCriteriaNotFoundError","chainId","hash","knownSignatures","criteria","SignatureType","transactionReceipt","getTransactionReceipt","CheatCodes","logs","NoMatchingLogsError","eventAbi","decodedEvents","parseEventLogs","scalarValue","_a","DecodedArgsError","transaction","getTransaction","func","decodeFunctionData","InvalidCriteriaTypeError","_payload","_options","payload","options","bytecode","prepareERC20VariableCriteriaIncentivePayload","ERC20VariableCriteriaIncentiveBases","ERC20VariableCriteriaIncentive","gasRebateIncentiveCriteria","zeroHash","zeroAddress","asset","reward","limit","encodeAbiParameters"],"mappings":";;;;;;;;kmsBA4GaA,IAAN,MAAMA,UAAuCC,EAGlD;AAAA,EAHK,cAAA;AAAA,UAAA,GAAA,SAAA,GAKL,KAAyB,MAAMC;AAAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwB/B,MAAa,qBACXC,GAI4B;AACxB,QAAA;AAUK,aARL,MAAMC;AAAAA,QACJ,KAAK;AAAA,QACL;AAAA,UACE,GAAGD;AAAA,UACH,SAAS,KAAK,mBAAmB;AAAA,QACnC;AAAA,MAAA;AAAA,aAIGE,GAAG;AACJ,YAAA,IAAIC,EAA+BD,CAAU;AAAA,IACrD;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,mBACX,EAAE,SAAAE,GAAS,MAAAC,GAAM,iBAAAC,EAAA,GACjBN,GAIiB;;AACjB,UAAMO,IAAW,MAAM,KAAK,qBAAqBP,CAAM;AACnD,QAAAO,EAAS,iBAAiBC,EAAc,OAAO;AACjD,YAAMC,IAAqB,MAAMC,EAAsB,KAAK,SAAS;AAAA,QACnE,SAAAN;AAAA,QACA,MAAAC;AAAA,MAAA,CACD;AACG,UAAAE,EAAS,eAAeI,EAAW;AAK9B,eAHLF,EAAmB,UAAUA,EAAmB;AAAA,SAC/CA,EAAmB,eAAe,OAChCA,EAAmB,gBAAgB;AAG1C,YAAMG,IAAOH,EAAmB;AAE5B,UAAAG,EAAK,WAAW;AAClB,cAAM,IAAIC;AAAA,UACR,qCAAqCN,EAAS,SAAS;AAAA,QAAA;AAKvD,UAAA;AAEI,cAAAO,IAAWR,EAAgBC,EAAS,SAAS,GAC7CQ,IAAgBC,EAAe;AAAA,UACnC,KAAK,CAACF,CAAQ;AAAA,UACd,MAAAF;AAAA,QAAA,CACD;AACD,YAAIG,KAAiB,QAAaA,EAAc,WAAW;AACzD,gBAAM,IAAIF;AAAA,YACR,qCAAqCN,EAAS,SAAS;AAAA,UAAA;AAG3D,cAAMU,MAAeC,IAAAH,EAAc,CAAC,MAAf,gBAAAG,EAAkB,MACrCX,EAAS,UACX;AAEA,YAAIU,MAAgB;AAClB,gBAAM,IAAIE;AAAA,YACR,6BAA6BZ,EAAS,UAAU;AAAA,UAAA;AAGpD,eAAO,OAAOU,CAAW;AAAA,eAClBf,GAAG;AACV,cAAM,IAAIiB;AAAA,UACR,4CAA4CZ,EAAS,SAAS,KAAML,EAAY,OAAO;AAAA,QAAA;AAAA,MAE3F;AAAA,IACS,WAAAK,EAAS,iBAAiBC,EAAc,MAAM;AAEvD,YAAMY,IAAc,MAAMC,EAAe,KAAK,SAAS;AAAA,QACrD,SAAAjB;AAAA,QACA,MAAAC;AAAA,MAAA,CACD;AACG,UAAA;AAEI,cAAAiB,IAAOhB,EAAgBC,EAAS,SAAS,GAKzCU,IAJkBM,EAAmB;AAAA,UACzC,KAAK,CAACD,CAAI;AAAA,UACV,MAAMF,EAAY;AAAA,QAAA,CACnB,EACmC,KAAKb,EAAS,UAAU;AACxD,YAA6BU,KAAgB;AAC/C,gBAAM,IAAIE;AAAA,YACR,6BAA6BZ,EAAS,UAAU;AAAA,UAAA;AAGpD,eAAO,OAAOU,CAAW;AAAA,eAClBf,GAAG;AACV,cAAM,IAAIiB;AAAA,UACR,gDAAgDZ,EAAS,SAAS,KAAML,EAAY,OAAO;AAAA,QAAA;AAAA,MAE/F;AAAA,IAAA;AAEA,YAAM,IAAIsB;AAAA,QACR,yBAAyBjB,EAAS,YAAY;AAAA,MAAA;AAAA,EAGpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUgB,gBACdkB,GACAC,GACyB;AACzB,UAAM,CAACC,GAASC,CAAO,IAAI,KAAK;AAAA,MAC9BH;AAAA,MACAC;AAAA,IAAA;AAEK,WAAA;AAAA,MACL,KAAK3B;AAAAA,MACL,UAAA8B;AAAA,MACA,MAAM,CAACC,EAA6CH,CAAO,CAAC;AAAA,MAC5D,GAAG,KAAK,wBAAwBC,EAAQ,OAAO;AAAA,IAAA;AAAA,EAEnD;AACF;AA7JE/B,EAAuB,QAAiC;AAAA,EACtD,OAAO;AAAA,EACP,GAAIkC;AAAA;AAfD,IAAMC,IAANnC;AAqMA,SAASoC,IAAgD;AACvD,SAAA;AAAA,IACL,cAAczB,EAAc;AAAA,IAC5B,WAAW0B;AAAA,IACX,YAAYvB,EAAW;AAAA,IACvB,gBAAgBwB;AAAA,EAAA;AAEpB;AAYO,SAASL,EAA6C;AAAA,EAC3D,OAAAM;AAAA,EACA,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAA/B;AACF,GAA0C;AACjC,SAAAgC;AAAA,IACL;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,YAAY;AAAA,UACV,EAAE,MAAM,WAAW,MAAM,QAAQ;AAAA,UACjC,EAAE,MAAM,WAAW,MAAM,SAAS;AAAA,UAClC,EAAE,MAAM,WAAW,MAAM,QAAQ;AAAA,UACjC;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,YAAY;AAAA,cACV,EAAE,MAAM,SAAS,MAAM,eAAe;AAAA,cACtC,EAAE,MAAM,WAAW,MAAM,YAAY;AAAA,cACrC,EAAE,MAAM,SAAS,MAAM,aAAa;AAAA,cACpC,EAAE,MAAM,WAAW,MAAM,iBAAiB;AAAA,YAC5C;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,QACE,OAAAH;AAAA,QACA,QAAAC;AAAA,QACA,OAAAC;AAAA,QACA,UAAU;AAAA,UACR,cAAc/B,EAAS;AAAA,UACvB,WAAWA,EAAS;AAAA,UACpB,YAAYA,EAAS;AAAA,UACrB,gBAAgBA,EAAS;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EAAA;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"ERC20VariableCriteriaIncentive.js","sources":["../../src/Incentives/ERC20VariableCriteriaIncentive.ts"],"sourcesContent":["import {\n erc20VariableCriteriaIncentiveAbi,\n readErc20VariableCriteriaIncentiveGetIncentiveCriteria,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/incentives/ERC20VariableCriteriaIncentive.sol/ERC20VariableCriteriaIncentive.json';\nimport { getTransaction, getTransactionReceipt } from '@wagmi/core';\nimport {\n type AbiEvent,\n type AbiFunction,\n type Address,\n type Hex,\n decodeFunctionData,\n encodeAbiParameters,\n parseEventLogs,\n zeroAddress,\n zeroHash,\n} from 'viem';\nimport { ERC20VariableCriteriaIncentive as ERC20VariableCriteriaIncentiveBases } from '../../dist/deployments.json';\nimport { SignatureType } from '../Actions/EventAction';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport {\n DecodedArgsError,\n IncentiveCriteriaNotFoundError,\n InvalidCriteriaTypeError,\n NoMatchingLogsError,\n} from '../errors';\nimport { CheatCodes, type ReadParams } from '../utils';\nimport { ERC20VariableIncentive } from './ERC20VariableIncentive';\n\nexport { erc20VariableCriteriaIncentiveAbi };\n\nexport interface ERC20VariableCriteriaIncentivePayload {\n /**\n * The address of the incentivized asset.\n *\n * @type {Address}\n */\n asset: Address;\n /**\n * The amount of the asset to distribute as reward.\n *\n * @type {bigint}\n */\n reward: bigint;\n /**\n * The total spending limit of the asset that will be distributed.\n *\n * @type {bigint}\n */\n limit: bigint;\n /**\n * The criteria for the incentive that determines how the reward is distributed.\n *\n * @type {IncentiveCriteria}\n */\n criteria: IncentiveCriteria;\n}\n\nexport interface IncentiveCriteria {\n /**\n * The type of criteria used, either function signature or event signature.\n *\n * @type {SignatureType}\n */\n criteriaType: SignatureType;\n /**\n * The function or event signature used for criteria matching.\n *\n * @type {Hex}\n */\n signature: Hex;\n /**\n * The index of the field from where the scalar value is extracted.\n *\n * @type {number}\n */\n fieldIndex: number;\n /**\n * The address of the contract where the event/function is called/emitted.\n *\n * @type {Address}\n */\n targetContract: Address;\n}\n\nexport interface ReadIncentiveCriteriaParams\n extends ReadParams<\n typeof erc20VariableCriteriaIncentiveAbi,\n 'getIncentiveCriteria'\n > {}\n\nexport interface GetIncentiveScalarParams {\n chainId: number;\n hash: Hex;\n knownSignatures: Record<Hex, AbiFunction | AbiEvent>;\n}\n\n/**\n * Extended ERC20 Variable Criteria Incentive class that fetches incentive criteria and scalar\n *\n * @export\n * @class ERC20VariableCriteriaIncentive\n * @typedef {ERC20VariableCriteriaIncentive}\n * @extends {ERC20VariableIncentive<ERC20VariableCriteriaIncentivePayload, typeof erc20VariableCriteriaIncentiveAbi>}\n */\nexport class ERC20VariableCriteriaIncentive extends ERC20VariableIncentive<\n ERC20VariableCriteriaIncentivePayload,\n typeof erc20VariableCriteriaIncentiveAbi\n> {\n //@ts-expect-error instantiated correctly\n public override readonly abi = erc20VariableCriteriaIncentiveAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Record<number, Address>}\n */\n public static override bases: Record<number, Address> = {\n 31337: import.meta.env.VITE_ERC20_VARIABLE_CRITERIA_INCENTIVE_BASE,\n ...(ERC20VariableCriteriaIncentiveBases as Record<number, Address>),\n };\n\n /**\n *Functions from the ERC20VariableIncentive contract\n */\n\n /**\n * Fetches the IncentiveCriteria struct from the contract\n *\n * @param {?ReadParams} [params]\n * @returns {Promise<IncentiveCriteria>} Incentive criteria structure\n * @throws {IncentiveCriteriaNotFoundError}\n */\n public async getIncentiveCriteria(\n params?: ReadParams<\n typeof erc20VariableCriteriaIncentiveAbi,\n 'getIncentiveCriteria'\n >,\n ): Promise<IncentiveCriteria> {\n try {\n const criteria =\n await readErc20VariableCriteriaIncentiveGetIncentiveCriteria(\n this._config,\n {\n ...params,\n address: this.assertValidAddress(),\n },\n );\n\n return criteria;\n } catch (e) {\n throw new IncentiveCriteriaNotFoundError(e as Error);\n }\n }\n\n /**\n * Fetches the incentive scalar from a transaction hash\n *\n * @param {GetIncentiveScalarParams} params\n * @param {?ReadParams} [params]\n * @returns {Promise<bigint>}\n * @throws {InvalidCriteriaTypeError | NoMatchingLogsError | DecodedArgsError}\n */\n public async getIncentiveScalar(\n { chainId, hash, knownSignatures }: GetIncentiveScalarParams,\n params?: ReadParams<\n typeof erc20VariableCriteriaIncentiveAbi,\n 'getIncentiveCriteria'\n >,\n ): Promise<bigint> {\n const criteria = await this.getIncentiveCriteria(params);\n if (criteria.criteriaType === SignatureType.EVENT) {\n const transactionReceipt = await getTransactionReceipt(this._config, {\n chainId,\n hash,\n });\n if (criteria.fieldIndex === CheatCodes.GAS_REBATE_INCENTIVE) {\n const totalCost =\n transactionReceipt.gasUsed * transactionReceipt.effectiveGasPrice + // Normal gas cost\n (transactionReceipt.blobGasUsed ?? 0n) *\n (transactionReceipt.blobGasPrice ?? 0n); // Blob gas cost - account for potential undefined values\n return totalCost;\n }\n const logs = transactionReceipt.logs;\n\n if (logs.length === 0) {\n throw new NoMatchingLogsError(\n `No logs found for event signature ${criteria.signature}`,\n );\n }\n\n // Decode the event log\n try {\n // Decode function data\n const eventAbi = knownSignatures[criteria.signature] as AbiEvent;\n const decodedEvents = parseEventLogs({\n abi: [eventAbi],\n logs,\n });\n if (decodedEvents == undefined || decodedEvents.length === 0) {\n throw new NoMatchingLogsError(\n `No logs found for event signature ${criteria.signature}`,\n );\n }\n const scalarValue = (decodedEvents[0]?.args as string[])[\n criteria.fieldIndex\n ];\n\n if (scalarValue === undefined) {\n throw new DecodedArgsError(\n `Decoded argument at index ${criteria.fieldIndex} is undefined`,\n );\n }\n return BigInt(scalarValue);\n } catch (e) {\n throw new DecodedArgsError(\n `Failed to decode event log for signature ${criteria.signature}: ${(e as Error).message}`,\n );\n }\n } else if (criteria.criteriaType === SignatureType.FUNC) {\n // Fetch the transaction data\n const transaction = await getTransaction(this._config, {\n chainId,\n hash,\n });\n try {\n // Decode function data\n const func = knownSignatures[criteria.signature] as AbiFunction;\n const decodedFunction = decodeFunctionData({\n abi: [func],\n data: transaction.input,\n });\n const scalarValue = decodedFunction.args[criteria.fieldIndex] as string;\n if (scalarValue === undefined || scalarValue === null) {\n throw new DecodedArgsError(\n `Decoded argument at index ${criteria.fieldIndex} is undefined`,\n );\n }\n return BigInt(scalarValue);\n } catch (e) {\n throw new DecodedArgsError(\n `Failed to decode function data for signature ${criteria.signature}: ${(e as Error).message}`,\n );\n }\n } else {\n throw new InvalidCriteriaTypeError(\n `Invalid criteria type ${criteria.criteriaType}`,\n );\n }\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?ERC20VariableCriteriaIncentivePayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: ERC20VariableCriteriaIncentivePayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n return {\n abi: erc20VariableCriteriaIncentiveAbi,\n bytecode: bytecode as Hex,\n args: [prepareERC20VariableCriteriaIncentivePayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Creates an IncentiveCriteria object representing a gas rebate incentive.\n * This object defines a variable incentive criteria where the criteria will be the gas spent.\n *\n * The criteria uses a signatureType of EVENT, with a special `fieldIndex` of 255 (using CheatCodes enum), which indicates\n * that the entire gas cost of the transaction will be used as the scalar value. If you don't want to\n * rebate the entire gas cost, you can use a reward value on the incentive..\n *\n * - `criteriaType`: EVENT, indicating it's based on event logs.\n * - `signature`: A zeroed signature (0x0000...0000), matching any event.\n * - `fieldIndex`: 255, indicating the use of transaction gas cost using CheatCodes enum.\n * - `targetContract`: A zeroed address (0x0000...0000), applicable to any contract.\n *\n * @returns {IncentiveCriteria} Returns an IncentiveCriteria object for a gas rebate.\n *\n * @example\n * const incentive = gasRebateIncentiveCriteria();\n * const actionPayload = {\n * criteria: incentive,\n * asset: \"0xAssetAddress\",\n * reward: 0, // Set to zero to rebate the entire gas cost\n * limit: BigInt(1000) // This is the total spend limit for the incentive\n * };\n * deployIncentive(actionPayload);\n */\nexport function gasRebateIncentiveCriteria(): IncentiveCriteria {\n return {\n criteriaType: SignatureType.EVENT,\n signature: zeroHash,\n fieldIndex: CheatCodes.GAS_REBATE_INCENTIVE,\n targetContract: zeroAddress,\n };\n}\n\n/**\n *\n *\n * @param {InitPayloadExtended} param0\n * @param {Address} param0.asset - The address of the ERC20 asset to incentivize.\n * @param {bigint} param0.reward - The reward amount to distribute per action.\n * @param {bigint} param0.limit - The total limit of the asset distribution.\n * @param {IncentiveCriteria} param0.criteria - The incentive criteria for reward distribution.\n * @returns {Hex}\n */\nexport function prepareERC20VariableCriteriaIncentivePayload({\n asset,\n reward,\n limit,\n criteria,\n}: ERC20VariableCriteriaIncentivePayload) {\n return encodeAbiParameters(\n [\n {\n type: 'tuple',\n name: 'initPayloadExtended',\n components: [\n { type: 'address', name: 'asset' },\n { type: 'uint256', name: 'reward' },\n { type: 'uint256', name: 'limit' },\n {\n type: 'tuple',\n name: 'criteria',\n components: [\n { type: 'uint8', name: 'criteriaType' },\n { type: 'bytes32', name: 'signature' },\n { type: 'uint8', name: 'fieldIndex' },\n { type: 'address', name: 'targetContract' },\n ],\n },\n ],\n },\n ],\n [\n {\n asset: asset,\n reward: reward,\n limit: limit,\n criteria: {\n criteriaType: criteria.criteriaType,\n signature: criteria.signature,\n fieldIndex: criteria.fieldIndex,\n targetContract: criteria.targetContract,\n },\n },\n ],\n );\n}\n"],"names":["_ERC20VariableCriteriaIncentive","ERC20VariableIncentive","erc20VariableCriteriaIncentiveAbi","params","readErc20VariableCriteriaIncentiveGetIncentiveCriteria","e","IncentiveCriteriaNotFoundError","chainId","hash","knownSignatures","criteria","SignatureType","transactionReceipt","getTransactionReceipt","CheatCodes","logs","NoMatchingLogsError","eventAbi","decodedEvents","parseEventLogs","scalarValue","_a","DecodedArgsError","transaction","getTransaction","func","decodeFunctionData","InvalidCriteriaTypeError","_payload","_options","payload","options","bytecode","prepareERC20VariableCriteriaIncentivePayload","ERC20VariableCriteriaIncentiveBases","ERC20VariableCriteriaIncentive","gasRebateIncentiveCriteria","zeroHash","zeroAddress","asset","reward","limit","encodeAbiParameters"],"mappings":";;;;;;;;o1sBA4GaA,IAAN,MAAMA,UAAuCC,EAGlD;AAAA,EAHK,cAAA;AAAA,UAAA,GAAA,SAAA,GAKL,KAAyB,MAAMC;AAAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwB/B,MAAa,qBACXC,GAI4B;AACxB,QAAA;AAUK,aARL,MAAMC;AAAAA,QACJ,KAAK;AAAA,QACL;AAAA,UACE,GAAGD;AAAA,UACH,SAAS,KAAK,mBAAmB;AAAA,QACnC;AAAA,MAAA;AAAA,aAIGE,GAAG;AACJ,YAAA,IAAIC,EAA+BD,CAAU;AAAA,IACrD;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAa,mBACX,EAAE,SAAAE,GAAS,MAAAC,GAAM,iBAAAC,EAAA,GACjBN,GAIiB;;AACjB,UAAMO,IAAW,MAAM,KAAK,qBAAqBP,CAAM;AACnD,QAAAO,EAAS,iBAAiBC,EAAc,OAAO;AACjD,YAAMC,IAAqB,MAAMC,EAAsB,KAAK,SAAS;AAAA,QACnE,SAAAN;AAAA,QACA,MAAAC;AAAA,MAAA,CACD;AACG,UAAAE,EAAS,eAAeI,EAAW;AAK9B,eAHLF,EAAmB,UAAUA,EAAmB;AAAA,SAC/CA,EAAmB,eAAe,OAChCA,EAAmB,gBAAgB;AAG1C,YAAMG,IAAOH,EAAmB;AAE5B,UAAAG,EAAK,WAAW;AAClB,cAAM,IAAIC;AAAA,UACR,qCAAqCN,EAAS,SAAS;AAAA,QAAA;AAKvD,UAAA;AAEI,cAAAO,IAAWR,EAAgBC,EAAS,SAAS,GAC7CQ,IAAgBC,EAAe;AAAA,UACnC,KAAK,CAACF,CAAQ;AAAA,UACd,MAAAF;AAAA,QAAA,CACD;AACD,YAAIG,KAAiB,QAAaA,EAAc,WAAW;AACzD,gBAAM,IAAIF;AAAA,YACR,qCAAqCN,EAAS,SAAS;AAAA,UAAA;AAG3D,cAAMU,MAAeC,IAAAH,EAAc,CAAC,MAAf,gBAAAG,EAAkB,MACrCX,EAAS,UACX;AAEA,YAAIU,MAAgB;AAClB,gBAAM,IAAIE;AAAA,YACR,6BAA6BZ,EAAS,UAAU;AAAA,UAAA;AAGpD,eAAO,OAAOU,CAAW;AAAA,eAClBf,GAAG;AACV,cAAM,IAAIiB;AAAA,UACR,4CAA4CZ,EAAS,SAAS,KAAML,EAAY,OAAO;AAAA,QAAA;AAAA,MAE3F;AAAA,IACS,WAAAK,EAAS,iBAAiBC,EAAc,MAAM;AAEvD,YAAMY,IAAc,MAAMC,EAAe,KAAK,SAAS;AAAA,QACrD,SAAAjB;AAAA,QACA,MAAAC;AAAA,MAAA,CACD;AACG,UAAA;AAEI,cAAAiB,IAAOhB,EAAgBC,EAAS,SAAS,GAKzCU,IAJkBM,EAAmB;AAAA,UACzC,KAAK,CAACD,CAAI;AAAA,UACV,MAAMF,EAAY;AAAA,QAAA,CACnB,EACmC,KAAKb,EAAS,UAAU;AACxD,YAA6BU,KAAgB;AAC/C,gBAAM,IAAIE;AAAA,YACR,6BAA6BZ,EAAS,UAAU;AAAA,UAAA;AAGpD,eAAO,OAAOU,CAAW;AAAA,eAClBf,GAAG;AACV,cAAM,IAAIiB;AAAA,UACR,gDAAgDZ,EAAS,SAAS,KAAML,EAAY,OAAO;AAAA,QAAA;AAAA,MAE/F;AAAA,IAAA;AAEA,YAAM,IAAIsB;AAAA,QACR,yBAAyBjB,EAAS,YAAY;AAAA,MAAA;AAAA,EAGpD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUgB,gBACdkB,GACAC,GACyB;AACzB,UAAM,CAACC,GAASC,CAAO,IAAI,KAAK;AAAA,MAC9BH;AAAA,MACAC;AAAA,IAAA;AAEK,WAAA;AAAA,MACL,KAAK3B;AAAAA,MACL,UAAA8B;AAAA,MACA,MAAM,CAACC,EAA6CH,CAAO,CAAC;AAAA,MAC5D,GAAG,KAAK,wBAAwBC,EAAQ,OAAO;AAAA,IAAA;AAAA,EAEnD;AACF;AA7JE/B,EAAuB,QAAiC;AAAA,EACtD,OAAO;AAAA,EACP,GAAIkC;AAAA;AAfD,IAAMC,IAANnC;AAqMA,SAASoC,IAAgD;AACvD,SAAA;AAAA,IACL,cAAczB,EAAc;AAAA,IAC5B,WAAW0B;AAAA,IACX,YAAYvB,EAAW;AAAA,IACvB,gBAAgBwB;AAAA,EAAA;AAEpB;AAYO,SAASL,EAA6C;AAAA,EAC3D,OAAAM;AAAA,EACA,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAA/B;AACF,GAA0C;AACjC,SAAAgC;AAAA,IACL;AAAA,MACE;AAAA,QACE,MAAM;AAAA,QACN,MAAM;AAAA,QACN,YAAY;AAAA,UACV,EAAE,MAAM,WAAW,MAAM,QAAQ;AAAA,UACjC,EAAE,MAAM,WAAW,MAAM,SAAS;AAAA,UAClC,EAAE,MAAM,WAAW,MAAM,QAAQ;AAAA,UACjC;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,YAAY;AAAA,cACV,EAAE,MAAM,SAAS,MAAM,eAAe;AAAA,cACtC,EAAE,MAAM,WAAW,MAAM,YAAY;AAAA,cACrC,EAAE,MAAM,SAAS,MAAM,aAAa;AAAA,cACpC,EAAE,MAAM,WAAW,MAAM,iBAAiB;AAAA,YAC5C;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,QACE,OAAAH;AAAA,QACA,QAAAC;AAAA,QACA,OAAAC;AAAA,QACA,UAAU;AAAA,UACR,cAAc/B,EAAS;AAAA,UACvB,WAAWA,EAAS;AAAA,UACpB,YAAYA,EAAS;AAAA,UACrB,gBAAgBA,EAAS;AAAA,QAC3B;AAAA,MACF;AAAA,IACF;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../generated-Cqn4wS01.cjs"),r=require("viem"),o=require("../deployments-DF_6-7hH.cjs"),u=require("../Deployable/DeployableTarget.cjs"),s=require("../claiming.cjs"),h=require("../utils.cjs"),y="0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b61266f806101185f395ff3fe6080604052600436106101ed575f3560e01c806354d1f13d1161010c578063d54ad2a11161009f578063ec87621c1161006e578063ec87621c1461069a578063f04e283e146106c4578063f2fde38b146106e0578063fe9fbb80146106fc578063fee81cf414610738576101ed565b8063d54ad2a1146105e2578063db09da121461060c578063dcc2136114610648578063dcc59b6f14610670576101ed565b8063a4d66daf116100db578063a4d66daf14610518578063bb1757cf14610542578063be4994f81461057e578063c884ef83146105a6576101ed565b806354d1f13d146104b0578063715018a6146104ba57806375b238fc146104c45780638da5cb5b146104ee576101ed565b80632de9480711610184578063474f5a4411610153578063474f5a44146103df5780634a4ee7b11461041c5780634e7165a214610438578063514e62fc14610474576101ed565b80632de948071461032957806338d52e0f146103655780634359d28a1461038f578063439fab91146103b7576101ed565b80631cd64df4116101c05780631cd64df41461028f578063228cb733146102cb57806325692962146102f557806328d6183b146102ff576101ed565b806301ffc9a7146101f157806307621eca1461022d578063183a4f6e146102575780631c10893f14610273575b5f80fd5b3480156101fc575f80fd5b5061021760048036038101906102129190611870565b610774565b60405161022491906118b5565b60405180910390f35b348015610238575f80fd5b506102416107ed565b60405161024e91906118e6565b60405180910390f35b610271600480360381019061026c9190611929565b6107f6565b005b61028d600480360381019061028891906119ae565b610803565b005b34801561029a575f80fd5b506102b560048036038101906102b091906119ae565b610819565b6040516102c291906118b5565b60405180910390f35b3480156102d6575f80fd5b506102df61082f565b6040516102ec91906118e6565b60405180910390f35b6102fd610835565b005b34801561030a575f80fd5b50610313610886565b60405161032091906119fb565b60405180910390f35b348015610334575f80fd5b5061034f600480360381019061034a9190611a14565b6108ad565b60405161035c91906118e6565b60405180910390f35b348015610370575f80fd5b506103796108c6565b6040516103869190611a4e565b60405180910390f35b34801561039a575f80fd5b506103b560048036038101906103b09190611b1d565b6108e9565b005b3480156103c2575f80fd5b506103dd60048036038101906103d89190611bf0565b6109f7565b005b3480156103ea575f80fd5b5061040560048036038101906104009190611bf0565b610bb4565b604051610413929190611c3b565b60405180910390f35b610436600480360381019061043191906119ae565b610d18565b005b348015610443575f80fd5b5061045e60048036038101906104599190611bf0565b610d2e565b60405161046b9190611cd2565b60405180910390f35b34801561047f575f80fd5b5061049a600480360381019061049591906119ae565b610dfc565b6040516104a791906118b5565b60405180910390f35b6104b8610e13565b005b6104c2610e4c565b005b3480156104cf575f80fd5b506104d8610e5f565b6040516104e591906118e6565b60405180910390f35b3480156104f9575f80fd5b50610502610e64565b60405161050f9190611a4e565b60405180910390f35b348015610523575f80fd5b5061052c610e8c565b60405161053991906118e6565b60405180910390f35b34801561054d575f80fd5b5061056860048036038101906105639190611cf2565b610e92565b60405161057591906118b5565b60405180910390f35b348015610589575f80fd5b506105a4600480360381019061059f9190611da4565b611086565b005b3480156105b1575f80fd5b506105cc60048036038101906105c79190611a14565b61113c565b6040516105d991906118b5565b60405180910390f35b3480156105ed575f80fd5b506105f6611159565b60405161060391906118e6565b60405180910390f35b348015610617575f80fd5b50610632600480360381019061062d9190611cf2565b61115f565b60405161063f91906118b5565b60405180910390f35b348015610653575f80fd5b5061066e60048036038101906106699190611da4565b611172565b005b34801561067b575f80fd5b50610684611228565b60405161069191906118e6565b60405180910390f35b3480156106a5575f80fd5b506106ae61122e565b6040516106bb91906118e6565b60405180910390f35b6106de60048036038101906106d99190611a14565b611233565b005b6106fa60048036038101906106f59190611a14565b611271565b005b348015610707575f80fd5b50610722600480360381019061071d9190611a14565b61129a565b60405161072f91906118b5565b60405180910390f35b348015610743575f80fd5b5061075e60048036038101906107599190611a14565b6112ed565b60405161076b91906118e6565b60405180910390f35b5f7f90318111000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107e657506107e582611306565b5b9050919050565b5f600254905090565b610800338261137f565b50565b61080b61138e565b61081582826113c5565b5050565b5f8182610825856108ad565b1614905092915050565b60025481565b5f61083e6113d5565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f9031811100000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026108f4816113df565b828290508585905014610933576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156109ef575f84848381811061095457610953611e22565b5b90506020020160208101906109699190611e79565b905060011515811515036109ae576109a987878481811061098d5761098c611e22565b5b90506020020160208101906109a29190611a14565b60016113c5565b6109e1565b6109e08787848181106109c4576109c3611e22565b5b90506020020160208101906109d99190611a14565b600161137f565b5b508080600101915050610935565b505050505050565b5f610a00611414565b90508054600382558015610a325760018160011c14303b10610a295763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610a439190611f85565b90505f815f015190505f826020015190505f836040015190505f8103610a95576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610abf308573ffffffffffffffffffffffffffffffffffffffff1661143d90919063ffffffff16565b905081811015610b0d57845f015181836040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610b0493929190611fb0565b60405180910390fd5b835f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600281905550816004819055505f600581905550610b6a33611470565b610b75336001611546565b50505050508015610baf576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610bc181611587565b5f8585810190610bd191906120fe565b90505f8160200151806020019051810190610bec9190612159565b90508060045f828254610bff91906121b1565b92505081905550610c53825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115ae9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610cc593929190612249565b604051602081830303815290604052604051610ce19190611cd2565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610d2061138e565b610d2a828261137f565b5050565b60605f808484810190610d4191906122c0565b9250509150604051806080016040528060016002811115610d6557610d64612310565b5b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610dc19190612366565b604051602081830303815290604052815250604051602001610de3919061247c565b6040516020818303038152906040529250505092915050565b5f8082610e08856108ad565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610e5461138e565b610e5d5f6115f7565b565b600281565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b5f610e9b61138e565b5f8383810190610eab9190612521565b90505f8160200151806020019051810190610ec69190612159565b90505f610ed2876116bd565b610f08576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60025403610f1957819050610f3d565b670de0b6b3a764000082600254610f309190612568565b610f3a91906125d6565b90505b60045481600554610f4e9190612606565b1115610f86576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f828254610f979190612606565b92505081905550610fe887825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115ae9092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16898460405160200161105493929190612249565b6040516020818303038152906040526040516110709190611cd2565b60405180910390a2600193505050509392505050565b6002611091816113df565b8282905085859050146110d0576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015611134576111278686838181106110f3576110f2611e22565b5b90506020020160208101906111089190611a14565b85858481811061111b5761111a611e22565b5b905060200201356113c5565b80806001019150506110d2565b505050505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f611169846116bd565b90509392505050565b600261117d816113df565b8282905085859050146111bc576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015611220576112138686838181106111df576111de611e22565b5b90506020020160208101906111f49190611a14565b85858481811061120757611206611e22565b5b9050602002013561137f565b80806001019150506111be565b505050505050565b60015481565b600181565b61123b61138e565b63389a75e1600c52805f526020600c20805442111561126157636f5e88185f526004601cfd5b5f81555061126e816115f7565b50565b61127961138e565b8060601b61128e57637448fbae5f526004601cfd5b611297816115f7565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff166112ba610e64565b73ffffffffffffffffffffffffffffffffffffffff1614806112e657506112e5826002600117610dfc565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806113785750611377826116cc565b5b9050919050565b61138a82825f611745565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146113c3576382b429005f526004601cfd5b565b6113d182826001611745565b5050565b5f6202a300905090565b638b78c6d81954331461141157638b78c6d8600c52335f52806020600c205416611410576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b61147861179d565b156114f0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278054156114b257630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350611543565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b638b78c6d8600c52335f52806020600c2054166115ab576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166115ee576390b8ec185f526004601cfd5b5f603452505050565b6115ff61179d565b15611664577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b82178155506116ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454600554109050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061173e575061173d826117a1565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361176757848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61184f8161181b565b8114611859575f80fd5b50565b5f8135905061186a81611846565b92915050565b5f6020828403121561188557611884611813565b5b5f6118928482850161185c565b91505092915050565b5f8115159050919050565b6118af8161189b565b82525050565b5f6020820190506118c85f8301846118a6565b92915050565b5f819050919050565b6118e0816118ce565b82525050565b5f6020820190506118f95f8301846118d7565b92915050565b611908816118ce565b8114611912575f80fd5b50565b5f81359050611923816118ff565b92915050565b5f6020828403121561193e5761193d611813565b5b5f61194b84828501611915565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61197d82611954565b9050919050565b61198d81611973565b8114611997575f80fd5b50565b5f813590506119a881611984565b92915050565b5f80604083850312156119c4576119c3611813565b5b5f6119d18582860161199a565b92505060206119e285828601611915565b9150509250929050565b6119f58161181b565b82525050565b5f602082019050611a0e5f8301846119ec565b92915050565b5f60208284031215611a2957611a28611813565b5b5f611a368482850161199a565b91505092915050565b611a4881611973565b82525050565b5f602082019050611a615f830184611a3f565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611a8857611a87611a67565b5b8235905067ffffffffffffffff811115611aa557611aa4611a6b565b5b602083019150836020820283011115611ac157611ac0611a6f565b5b9250929050565b5f8083601f840112611add57611adc611a67565b5b8235905067ffffffffffffffff811115611afa57611af9611a6b565b5b602083019150836020820283011115611b1657611b15611a6f565b5b9250929050565b5f805f8060408587031215611b3557611b34611813565b5b5f85013567ffffffffffffffff811115611b5257611b51611817565b5b611b5e87828801611a73565b9450945050602085013567ffffffffffffffff811115611b8157611b80611817565b5b611b8d87828801611ac8565b925092505092959194509250565b5f8083601f840112611bb057611baf611a67565b5b8235905067ffffffffffffffff811115611bcd57611bcc611a6b565b5b602083019150836001820283011115611be957611be8611a6f565b5b9250929050565b5f8060208385031215611c0657611c05611813565b5b5f83013567ffffffffffffffff811115611c2357611c22611817565b5b611c2f85828601611b9b565b92509250509250929050565b5f604082019050611c4e5f8301856118d7565b611c5b6020830184611a3f565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ca482611c62565b611cae8185611c6c565b9350611cbe818560208601611c7c565b611cc781611c8a565b840191505092915050565b5f6020820190508181035f830152611cea8184611c9a565b905092915050565b5f805f60408486031215611d0957611d08611813565b5b5f611d168682870161199a565b935050602084013567ffffffffffffffff811115611d3757611d36611817565b5b611d4386828701611b9b565b92509250509250925092565b5f8083601f840112611d6457611d63611a67565b5b8235905067ffffffffffffffff811115611d8157611d80611a6b565b5b602083019150836020820283011115611d9d57611d9c611a6f565b5b9250929050565b5f805f8060408587031215611dbc57611dbb611813565b5b5f85013567ffffffffffffffff811115611dd957611dd8611817565b5b611de587828801611a73565b9450945050602085013567ffffffffffffffff811115611e0857611e07611817565b5b611e1487828801611d4f565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b611e588161189b565b8114611e62575f80fd5b50565b5f81359050611e7381611e4f565b92915050565b5f60208284031215611e8e57611e8d611813565b5b5f611e9b84828501611e65565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611ede82611c8a565b810181811067ffffffffffffffff82111715611efd57611efc611ea8565b5b80604052505050565b5f611f0f61180a565b9050611f1b8282611ed5565b919050565b5f80fd5b5f60608284031215611f3957611f38611ea4565b5b611f436060611f06565b90505f611f528482850161199a565b5f830152506020611f6584828501611915565b6020830152506040611f7984828501611915565b60408301525092915050565b5f60608284031215611f9a57611f99611813565b5b5f611fa784828501611f24565b91505092915050565b5f606082019050611fc35f830186611a3f565b611fd060208301856118d7565b611fdd60408301846118d7565b949350505050565b5f80fd5b5f67ffffffffffffffff82111561200357612002611ea8565b5b61200c82611c8a565b9050602081019050919050565b828183375f83830152505050565b5f61203961203484611fe9565b611f06565b90508281526020810184848401111561205557612054611fe5565b5b612060848285612019565b509392505050565b5f82601f83011261207c5761207b611a67565b5b813561208c848260208601612027565b91505092915050565b5f604082840312156120aa576120a9611ea4565b5b6120b46040611f06565b90505f6120c38482850161199a565b5f83015250602082013567ffffffffffffffff8111156120e6576120e5611f20565b5b6120f284828501612068565b60208301525092915050565b5f6020828403121561211357612112611813565b5b5f82013567ffffffffffffffff8111156121305761212f611817565b5b61213c84828501612095565b91505092915050565b5f81519050612153816118ff565b92915050565b5f6020828403121561216e5761216d611813565b5b5f61217b84828501612145565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6121bb826118ce565b91506121c6836118ce565b92508282039050818111156121de576121dd612184565b5b92915050565b5f8160601b9050919050565b5f6121fa826121e4565b9050919050565b5f61220b826121f0565b9050919050565b61222361221e82611973565b612201565b82525050565b5f819050919050565b61224361223e826118ce565b612229565b82525050565b5f6122548286612212565b6014820191506122648285612212565b6014820191506122748284612232565b602082019150819050949350505050565b5f61228f82611954565b9050919050565b61229f81612285565b81146122a9575f80fd5b50565b5f813590506122ba81612296565b92915050565b5f805f606084860312156122d7576122d6611813565b5b5f6122e4868287016122ac565b93505060206122f586828701611915565b925050604061230686828701611915565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b612346816118ce565b82525050565b602082015f8201516123605f85018261233d565b50505050565b5f6020820190506123795f83018461234c565b92915050565b600381106123905761238f612310565b5b50565b5f8190506123a08261237f565b919050565b5f6123af82612393565b9050919050565b6123bf816123a5565b82525050565b6123ce81611973565b82525050565b5f82825260208201905092915050565b5f6123ee82611c62565b6123f881856123d4565b9350612408818560208601611c7c565b61241181611c8a565b840191505092915050565b5f608083015f8301516124315f8601826123b6565b50602083015161244460208601826123c5565b50604083015161245760408601826123c5565b506060830151848203606086015261246f82826123e4565b9150508091505092915050565b5f6020820190508181035f830152612494818461241c565b905092915050565b5f604082840312156124b1576124b0611ea4565b5b6124bb6040611f06565b90505f82013567ffffffffffffffff8111156124da576124d9611f20565b5b6124e684828501612068565b5f83015250602082013567ffffffffffffffff81111561250957612508611f20565b5b61251584828501612068565b60208301525092915050565b5f6020828403121561253657612535611813565b5b5f82013567ffffffffffffffff81111561255357612552611817565b5b61255f8482850161249c565b91505092915050565b5f612572826118ce565b915061257d836118ce565b925082820261258b816118ce565b915082820484148315176125a2576125a1612184565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6125e0826118ce565b91506125eb836118ce565b9250826125fb576125fa6125a9565b5b828204905092915050565b5f612610826118ce565b915061261b836118ce565b925082820190508082111561263357612632612184565b5b9291505056fea264697066735822122001c61f5a4b759daaab547f837f7360c758d89bd449e1e380bb437bafdcf9cf6364736f6c634300081a0033",c=class c extends u.DeployableTarget{constructor(){super(...arguments),this.abi=b.f}async owner(f){return await b.FA(this._config,{address:this.assertValidAddress(),args:[],...f})}async totalClaimed(f){return await b.jA(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return await b.xA(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return await b.BA(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,a){return await b.HA(this._config,{address:this.assertValidAddress(),args:[f],...a})}async asset(f){return await b.zA(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return await b.GA(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return await b.DA(this._config,{address:this.assertValidAddress(),...f})}async claim(f,a){return await this.awaitResult(this.claimRaw(f,a))}async claimRaw(f,a){const{request:e,result:d}=await b.lI(this._config,{address:this.assertValidAddress(),args:[s.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...a});return{hash:await b.WA(this._config,e),result:d}}async clawback(f,a){return await this.awaitResult(this.clawbackRaw(f,a))}async clawbackRaw(f,a){const{request:e,result:d}=await b.yI(this._config,{address:this.assertValidAddress(),args:[s.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...a});return{hash:await b.JA(this._config,e),result:d}}async isClaimable(f,a){return await b._A(this._config,{address:this.assertValidAddress(),args:[s.prepareClaimPayload(f)],...a})}buildClaimData(f){return r.encodeAbiParameters([{type:"uint256",name:"rewardAmount"}],[f])}buildParameters(f,a){const[e,d]=this.validateDeploymentConfig(f,a);return{abi:b.f,bytecode:y,args:[i(e)],...this.optionallyAttachAccount(d.account)}}};c.bases={31337:void 0,...o.ERC20VariableIncentive},c.registryType=h.RegistryType.INCENTIVE;let t=c;function i({asset:n,reward:f,limit:a}){return r.encodeAbiParameters([{type:"address",name:"asset"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"}],[n,f,a])}exports.erc20VariableIncentiveAbi=b.f;exports.ERC20VariableIncentive=t;exports.prepareERC20VariableIncentivePayload=i;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../generated-BSUMIFi5.cjs"),r=require("viem"),o=require("../deployments-DF_6-7hH.cjs"),u=require("../Deployable/DeployableTarget.cjs"),s=require("../claiming.cjs"),h=require("../utils.cjs"),y="0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b61266f806101185f395ff3fe6080604052600436106101ed575f3560e01c806354d1f13d1161010c578063d54ad2a11161009f578063ec87621c1161006e578063ec87621c1461069a578063f04e283e146106c4578063f2fde38b146106e0578063fe9fbb80146106fc578063fee81cf414610738576101ed565b8063d54ad2a1146105e2578063db09da121461060c578063dcc2136114610648578063dcc59b6f14610670576101ed565b8063a4d66daf116100db578063a4d66daf14610518578063bb1757cf14610542578063be4994f81461057e578063c884ef83146105a6576101ed565b806354d1f13d146104b0578063715018a6146104ba57806375b238fc146104c45780638da5cb5b146104ee576101ed565b80632de9480711610184578063474f5a4411610153578063474f5a44146103df5780634a4ee7b11461041c5780634e7165a214610438578063514e62fc14610474576101ed565b80632de948071461032957806338d52e0f146103655780634359d28a1461038f578063439fab91146103b7576101ed565b80631cd64df4116101c05780631cd64df41461028f578063228cb733146102cb57806325692962146102f557806328d6183b146102ff576101ed565b806301ffc9a7146101f157806307621eca1461022d578063183a4f6e146102575780631c10893f14610273575b5f80fd5b3480156101fc575f80fd5b5061021760048036038101906102129190611870565b610774565b60405161022491906118b5565b60405180910390f35b348015610238575f80fd5b506102416107ed565b60405161024e91906118e6565b60405180910390f35b610271600480360381019061026c9190611929565b6107f6565b005b61028d600480360381019061028891906119ae565b610803565b005b34801561029a575f80fd5b506102b560048036038101906102b091906119ae565b610819565b6040516102c291906118b5565b60405180910390f35b3480156102d6575f80fd5b506102df61082f565b6040516102ec91906118e6565b60405180910390f35b6102fd610835565b005b34801561030a575f80fd5b50610313610886565b60405161032091906119fb565b60405180910390f35b348015610334575f80fd5b5061034f600480360381019061034a9190611a14565b6108ad565b60405161035c91906118e6565b60405180910390f35b348015610370575f80fd5b506103796108c6565b6040516103869190611a4e565b60405180910390f35b34801561039a575f80fd5b506103b560048036038101906103b09190611b1d565b6108e9565b005b3480156103c2575f80fd5b506103dd60048036038101906103d89190611bf0565b6109f7565b005b3480156103ea575f80fd5b5061040560048036038101906104009190611bf0565b610bb4565b604051610413929190611c3b565b60405180910390f35b610436600480360381019061043191906119ae565b610d18565b005b348015610443575f80fd5b5061045e60048036038101906104599190611bf0565b610d2e565b60405161046b9190611cd2565b60405180910390f35b34801561047f575f80fd5b5061049a600480360381019061049591906119ae565b610dfc565b6040516104a791906118b5565b60405180910390f35b6104b8610e13565b005b6104c2610e4c565b005b3480156104cf575f80fd5b506104d8610e5f565b6040516104e591906118e6565b60405180910390f35b3480156104f9575f80fd5b50610502610e64565b60405161050f9190611a4e565b60405180910390f35b348015610523575f80fd5b5061052c610e8c565b60405161053991906118e6565b60405180910390f35b34801561054d575f80fd5b5061056860048036038101906105639190611cf2565b610e92565b60405161057591906118b5565b60405180910390f35b348015610589575f80fd5b506105a4600480360381019061059f9190611da4565b611086565b005b3480156105b1575f80fd5b506105cc60048036038101906105c79190611a14565b61113c565b6040516105d991906118b5565b60405180910390f35b3480156105ed575f80fd5b506105f6611159565b60405161060391906118e6565b60405180910390f35b348015610617575f80fd5b50610632600480360381019061062d9190611cf2565b61115f565b60405161063f91906118b5565b60405180910390f35b348015610653575f80fd5b5061066e60048036038101906106699190611da4565b611172565b005b34801561067b575f80fd5b50610684611228565b60405161069191906118e6565b60405180910390f35b3480156106a5575f80fd5b506106ae61122e565b6040516106bb91906118e6565b60405180910390f35b6106de60048036038101906106d99190611a14565b611233565b005b6106fa60048036038101906106f59190611a14565b611271565b005b348015610707575f80fd5b50610722600480360381019061071d9190611a14565b61129a565b60405161072f91906118b5565b60405180910390f35b348015610743575f80fd5b5061075e60048036038101906107599190611a14565b6112ed565b60405161076b91906118e6565b60405180910390f35b5f7f90318111000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107e657506107e582611306565b5b9050919050565b5f600254905090565b610800338261137f565b50565b61080b61138e565b61081582826113c5565b5050565b5f8182610825856108ad565b1614905092915050565b60025481565b5f61083e6113d5565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f9031811100000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026108f4816113df565b828290508585905014610933576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156109ef575f84848381811061095457610953611e22565b5b90506020020160208101906109699190611e79565b905060011515811515036109ae576109a987878481811061098d5761098c611e22565b5b90506020020160208101906109a29190611a14565b60016113c5565b6109e1565b6109e08787848181106109c4576109c3611e22565b5b90506020020160208101906109d99190611a14565b600161137f565b5b508080600101915050610935565b505050505050565b5f610a00611414565b90508054600382558015610a325760018160011c14303b10610a295763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610a439190611f85565b90505f815f015190505f826020015190505f836040015190505f8103610a95576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610abf308573ffffffffffffffffffffffffffffffffffffffff1661143d90919063ffffffff16565b905081811015610b0d57845f015181836040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610b0493929190611fb0565b60405180910390fd5b835f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600281905550816004819055505f600581905550610b6a33611470565b610b75336001611546565b50505050508015610baf576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610bc181611587565b5f8585810190610bd191906120fe565b90505f8160200151806020019051810190610bec9190612159565b90508060045f828254610bff91906121b1565b92505081905550610c53825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115ae9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610cc593929190612249565b604051602081830303815290604052604051610ce19190611cd2565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610d2061138e565b610d2a828261137f565b5050565b60605f808484810190610d4191906122c0565b9250509150604051806080016040528060016002811115610d6557610d64612310565b5b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610dc19190612366565b604051602081830303815290604052815250604051602001610de3919061247c565b6040516020818303038152906040529250505092915050565b5f8082610e08856108ad565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610e5461138e565b610e5d5f6115f7565b565b600281565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b5f610e9b61138e565b5f8383810190610eab9190612521565b90505f8160200151806020019051810190610ec69190612159565b90505f610ed2876116bd565b610f08576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60025403610f1957819050610f3d565b670de0b6b3a764000082600254610f309190612568565b610f3a91906125d6565b90505b60045481600554610f4e9190612606565b1115610f86576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f828254610f979190612606565b92505081905550610fe887825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115ae9092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16898460405160200161105493929190612249565b6040516020818303038152906040526040516110709190611cd2565b60405180910390a2600193505050509392505050565b6002611091816113df565b8282905085859050146110d0576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015611134576111278686838181106110f3576110f2611e22565b5b90506020020160208101906111089190611a14565b85858481811061111b5761111a611e22565b5b905060200201356113c5565b80806001019150506110d2565b505050505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f611169846116bd565b90509392505050565b600261117d816113df565b8282905085859050146111bc576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015611220576112138686838181106111df576111de611e22565b5b90506020020160208101906111f49190611a14565b85858481811061120757611206611e22565b5b9050602002013561137f565b80806001019150506111be565b505050505050565b60015481565b600181565b61123b61138e565b63389a75e1600c52805f526020600c20805442111561126157636f5e88185f526004601cfd5b5f81555061126e816115f7565b50565b61127961138e565b8060601b61128e57637448fbae5f526004601cfd5b611297816115f7565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff166112ba610e64565b73ffffffffffffffffffffffffffffffffffffffff1614806112e657506112e5826002600117610dfc565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806113785750611377826116cc565b5b9050919050565b61138a82825f611745565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146113c3576382b429005f526004601cfd5b565b6113d182826001611745565b5050565b5f6202a300905090565b638b78c6d81954331461141157638b78c6d8600c52335f52806020600c205416611410576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b61147861179d565b156114f0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278054156114b257630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350611543565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b638b78c6d8600c52335f52806020600c2054166115ab576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166115ee576390b8ec185f526004601cfd5b5f603452505050565b6115ff61179d565b15611664577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b82178155506116ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454600554109050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061173e575061173d826117a1565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361176757848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61184f8161181b565b8114611859575f80fd5b50565b5f8135905061186a81611846565b92915050565b5f6020828403121561188557611884611813565b5b5f6118928482850161185c565b91505092915050565b5f8115159050919050565b6118af8161189b565b82525050565b5f6020820190506118c85f8301846118a6565b92915050565b5f819050919050565b6118e0816118ce565b82525050565b5f6020820190506118f95f8301846118d7565b92915050565b611908816118ce565b8114611912575f80fd5b50565b5f81359050611923816118ff565b92915050565b5f6020828403121561193e5761193d611813565b5b5f61194b84828501611915565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61197d82611954565b9050919050565b61198d81611973565b8114611997575f80fd5b50565b5f813590506119a881611984565b92915050565b5f80604083850312156119c4576119c3611813565b5b5f6119d18582860161199a565b92505060206119e285828601611915565b9150509250929050565b6119f58161181b565b82525050565b5f602082019050611a0e5f8301846119ec565b92915050565b5f60208284031215611a2957611a28611813565b5b5f611a368482850161199a565b91505092915050565b611a4881611973565b82525050565b5f602082019050611a615f830184611a3f565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611a8857611a87611a67565b5b8235905067ffffffffffffffff811115611aa557611aa4611a6b565b5b602083019150836020820283011115611ac157611ac0611a6f565b5b9250929050565b5f8083601f840112611add57611adc611a67565b5b8235905067ffffffffffffffff811115611afa57611af9611a6b565b5b602083019150836020820283011115611b1657611b15611a6f565b5b9250929050565b5f805f8060408587031215611b3557611b34611813565b5b5f85013567ffffffffffffffff811115611b5257611b51611817565b5b611b5e87828801611a73565b9450945050602085013567ffffffffffffffff811115611b8157611b80611817565b5b611b8d87828801611ac8565b925092505092959194509250565b5f8083601f840112611bb057611baf611a67565b5b8235905067ffffffffffffffff811115611bcd57611bcc611a6b565b5b602083019150836001820283011115611be957611be8611a6f565b5b9250929050565b5f8060208385031215611c0657611c05611813565b5b5f83013567ffffffffffffffff811115611c2357611c22611817565b5b611c2f85828601611b9b565b92509250509250929050565b5f604082019050611c4e5f8301856118d7565b611c5b6020830184611a3f565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ca482611c62565b611cae8185611c6c565b9350611cbe818560208601611c7c565b611cc781611c8a565b840191505092915050565b5f6020820190508181035f830152611cea8184611c9a565b905092915050565b5f805f60408486031215611d0957611d08611813565b5b5f611d168682870161199a565b935050602084013567ffffffffffffffff811115611d3757611d36611817565b5b611d4386828701611b9b565b92509250509250925092565b5f8083601f840112611d6457611d63611a67565b5b8235905067ffffffffffffffff811115611d8157611d80611a6b565b5b602083019150836020820283011115611d9d57611d9c611a6f565b5b9250929050565b5f805f8060408587031215611dbc57611dbb611813565b5b5f85013567ffffffffffffffff811115611dd957611dd8611817565b5b611de587828801611a73565b9450945050602085013567ffffffffffffffff811115611e0857611e07611817565b5b611e1487828801611d4f565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b611e588161189b565b8114611e62575f80fd5b50565b5f81359050611e7381611e4f565b92915050565b5f60208284031215611e8e57611e8d611813565b5b5f611e9b84828501611e65565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611ede82611c8a565b810181811067ffffffffffffffff82111715611efd57611efc611ea8565b5b80604052505050565b5f611f0f61180a565b9050611f1b8282611ed5565b919050565b5f80fd5b5f60608284031215611f3957611f38611ea4565b5b611f436060611f06565b90505f611f528482850161199a565b5f830152506020611f6584828501611915565b6020830152506040611f7984828501611915565b60408301525092915050565b5f60608284031215611f9a57611f99611813565b5b5f611fa784828501611f24565b91505092915050565b5f606082019050611fc35f830186611a3f565b611fd060208301856118d7565b611fdd60408301846118d7565b949350505050565b5f80fd5b5f67ffffffffffffffff82111561200357612002611ea8565b5b61200c82611c8a565b9050602081019050919050565b828183375f83830152505050565b5f61203961203484611fe9565b611f06565b90508281526020810184848401111561205557612054611fe5565b5b612060848285612019565b509392505050565b5f82601f83011261207c5761207b611a67565b5b813561208c848260208601612027565b91505092915050565b5f604082840312156120aa576120a9611ea4565b5b6120b46040611f06565b90505f6120c38482850161199a565b5f83015250602082013567ffffffffffffffff8111156120e6576120e5611f20565b5b6120f284828501612068565b60208301525092915050565b5f6020828403121561211357612112611813565b5b5f82013567ffffffffffffffff8111156121305761212f611817565b5b61213c84828501612095565b91505092915050565b5f81519050612153816118ff565b92915050565b5f6020828403121561216e5761216d611813565b5b5f61217b84828501612145565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6121bb826118ce565b91506121c6836118ce565b92508282039050818111156121de576121dd612184565b5b92915050565b5f8160601b9050919050565b5f6121fa826121e4565b9050919050565b5f61220b826121f0565b9050919050565b61222361221e82611973565b612201565b82525050565b5f819050919050565b61224361223e826118ce565b612229565b82525050565b5f6122548286612212565b6014820191506122648285612212565b6014820191506122748284612232565b602082019150819050949350505050565b5f61228f82611954565b9050919050565b61229f81612285565b81146122a9575f80fd5b50565b5f813590506122ba81612296565b92915050565b5f805f606084860312156122d7576122d6611813565b5b5f6122e4868287016122ac565b93505060206122f586828701611915565b925050604061230686828701611915565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b612346816118ce565b82525050565b602082015f8201516123605f85018261233d565b50505050565b5f6020820190506123795f83018461234c565b92915050565b600381106123905761238f612310565b5b50565b5f8190506123a08261237f565b919050565b5f6123af82612393565b9050919050565b6123bf816123a5565b82525050565b6123ce81611973565b82525050565b5f82825260208201905092915050565b5f6123ee82611c62565b6123f881856123d4565b9350612408818560208601611c7c565b61241181611c8a565b840191505092915050565b5f608083015f8301516124315f8601826123b6565b50602083015161244460208601826123c5565b50604083015161245760408601826123c5565b506060830151848203606086015261246f82826123e4565b9150508091505092915050565b5f6020820190508181035f830152612494818461241c565b905092915050565b5f604082840312156124b1576124b0611ea4565b5b6124bb6040611f06565b90505f82013567ffffffffffffffff8111156124da576124d9611f20565b5b6124e684828501612068565b5f83015250602082013567ffffffffffffffff81111561250957612508611f20565b5b61251584828501612068565b60208301525092915050565b5f6020828403121561253657612535611813565b5b5f82013567ffffffffffffffff81111561255357612552611817565b5b61255f8482850161249c565b91505092915050565b5f612572826118ce565b915061257d836118ce565b925082820261258b816118ce565b915082820484148315176125a2576125a1612184565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6125e0826118ce565b91506125eb836118ce565b9250826125fb576125fa6125a9565b5b828204905092915050565b5f612610826118ce565b915061261b836118ce565b925082820190508082111561263357612632612184565b5b9291505056fea264697066735822122001c61f5a4b759daaab547f837f7360c758d89bd449e1e380bb437bafdcf9cf6364736f6c634300081a0033",c=class c extends u.DeployableTarget{constructor(){super(...arguments),this.abi=b.v}async owner(f){return await b.jI(this._config,{address:this.assertValidAddress(),args:[],...f})}async totalClaimed(f){return await b.XI(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return await b.DI(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return await b._I(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,a){return await b.kI(this._config,{address:this.assertValidAddress(),args:[f],...a})}async asset(f){return await b.LI(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return await b.WI(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return await b.ZI(this._config,{address:this.assertValidAddress(),...f})}async claim(f,a){return await this.awaitResult(this.claimRaw(f,a))}async claimRaw(f,a){const{request:e,result:d}=await b.f2(this._config,{address:this.assertValidAddress(),args:[s.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...a});return{hash:await b.t2(this._config,e),result:d}}async clawback(f,a){return await this.awaitResult(this.clawbackRaw(f,a))}async clawbackRaw(f,a){const{request:e,result:d}=await b.v2(this._config,{address:this.assertValidAddress(),args:[s.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...a});return{hash:await b.n2(this._config,e),result:d}}async isClaimable(f,a){return await b.UI(this._config,{address:this.assertValidAddress(),args:[s.prepareClaimPayload(f)],...a})}buildClaimData(f){return r.encodeAbiParameters([{type:"uint256",name:"rewardAmount"}],[f])}buildParameters(f,a){const[e,d]=this.validateDeploymentConfig(f,a);return{abi:b.v,bytecode:y,args:[i(e)],...this.optionallyAttachAccount(d.account)}}};c.bases={31337:void 0,...o.ERC20VariableIncentive},c.registryType=h.RegistryType.INCENTIVE;let t=c;function i({asset:n,reward:f,limit:a}){return r.encodeAbiParameters([{type:"address",name:"asset"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"}],[n,f,a])}exports.erc20VariableIncentiveAbi=b.v;exports.ERC20VariableIncentive=t;exports.prepareERC20VariableIncentivePayload=i;
|
|
2
2
|
//# sourceMappingURL=ERC20VariableIncentive.cjs.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { v as s, aN as o, aO as l, aP as h, aQ as u, aR as m, aS as y, aT as w, aU as g, aV as p, aW as A, aX as V, aY as _, aZ as I } from "../generated-Dz_g2mFT.js";
|
|
2
2
|
import { encodeAbiParameters as r } from "viem";
|
|
3
|
-
import { c as
|
|
4
|
-
import { DeployableTarget as
|
|
3
|
+
import { c as R } from "../deployments-Ccx1MtoK.js";
|
|
4
|
+
import { DeployableTarget as C } from "../Deployable/DeployableTarget.js";
|
|
5
5
|
import { prepareClaimPayload as c } from "../claiming.js";
|
|
6
|
-
import { RegistryType as
|
|
7
|
-
const x = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b61266f806101185f395ff3fe6080604052600436106101ed575f3560e01c806354d1f13d1161010c578063d54ad2a11161009f578063ec87621c1161006e578063ec87621c1461069a578063f04e283e146106c4578063f2fde38b146106e0578063fe9fbb80146106fc578063fee81cf414610738576101ed565b8063d54ad2a1146105e2578063db09da121461060c578063dcc2136114610648578063dcc59b6f14610670576101ed565b8063a4d66daf116100db578063a4d66daf14610518578063bb1757cf14610542578063be4994f81461057e578063c884ef83146105a6576101ed565b806354d1f13d146104b0578063715018a6146104ba57806375b238fc146104c45780638da5cb5b146104ee576101ed565b80632de9480711610184578063474f5a4411610153578063474f5a44146103df5780634a4ee7b11461041c5780634e7165a214610438578063514e62fc14610474576101ed565b80632de948071461032957806338d52e0f146103655780634359d28a1461038f578063439fab91146103b7576101ed565b80631cd64df4116101c05780631cd64df41461028f578063228cb733146102cb57806325692962146102f557806328d6183b146102ff576101ed565b806301ffc9a7146101f157806307621eca1461022d578063183a4f6e146102575780631c10893f14610273575b5f80fd5b3480156101fc575f80fd5b5061021760048036038101906102129190611870565b610774565b60405161022491906118b5565b60405180910390f35b348015610238575f80fd5b506102416107ed565b60405161024e91906118e6565b60405180910390f35b610271600480360381019061026c9190611929565b6107f6565b005b61028d600480360381019061028891906119ae565b610803565b005b34801561029a575f80fd5b506102b560048036038101906102b091906119ae565b610819565b6040516102c291906118b5565b60405180910390f35b3480156102d6575f80fd5b506102df61082f565b6040516102ec91906118e6565b60405180910390f35b6102fd610835565b005b34801561030a575f80fd5b50610313610886565b60405161032091906119fb565b60405180910390f35b348015610334575f80fd5b5061034f600480360381019061034a9190611a14565b6108ad565b60405161035c91906118e6565b60405180910390f35b348015610370575f80fd5b506103796108c6565b6040516103869190611a4e565b60405180910390f35b34801561039a575f80fd5b506103b560048036038101906103b09190611b1d565b6108e9565b005b3480156103c2575f80fd5b506103dd60048036038101906103d89190611bf0565b6109f7565b005b3480156103ea575f80fd5b5061040560048036038101906104009190611bf0565b610bb4565b604051610413929190611c3b565b60405180910390f35b610436600480360381019061043191906119ae565b610d18565b005b348015610443575f80fd5b5061045e60048036038101906104599190611bf0565b610d2e565b60405161046b9190611cd2565b60405180910390f35b34801561047f575f80fd5b5061049a600480360381019061049591906119ae565b610dfc565b6040516104a791906118b5565b60405180910390f35b6104b8610e13565b005b6104c2610e4c565b005b3480156104cf575f80fd5b506104d8610e5f565b6040516104e591906118e6565b60405180910390f35b3480156104f9575f80fd5b50610502610e64565b60405161050f9190611a4e565b60405180910390f35b348015610523575f80fd5b5061052c610e8c565b60405161053991906118e6565b60405180910390f35b34801561054d575f80fd5b5061056860048036038101906105639190611cf2565b610e92565b60405161057591906118b5565b60405180910390f35b348015610589575f80fd5b506105a4600480360381019061059f9190611da4565b611086565b005b3480156105b1575f80fd5b506105cc60048036038101906105c79190611a14565b61113c565b6040516105d991906118b5565b60405180910390f35b3480156105ed575f80fd5b506105f6611159565b60405161060391906118e6565b60405180910390f35b348015610617575f80fd5b50610632600480360381019061062d9190611cf2565b61115f565b60405161063f91906118b5565b60405180910390f35b348015610653575f80fd5b5061066e60048036038101906106699190611da4565b611172565b005b34801561067b575f80fd5b50610684611228565b60405161069191906118e6565b60405180910390f35b3480156106a5575f80fd5b506106ae61122e565b6040516106bb91906118e6565b60405180910390f35b6106de60048036038101906106d99190611a14565b611233565b005b6106fa60048036038101906106f59190611a14565b611271565b005b348015610707575f80fd5b50610722600480360381019061071d9190611a14565b61129a565b60405161072f91906118b5565b60405180910390f35b348015610743575f80fd5b5061075e60048036038101906107599190611a14565b6112ed565b60405161076b91906118e6565b60405180910390f35b5f7f90318111000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107e657506107e582611306565b5b9050919050565b5f600254905090565b610800338261137f565b50565b61080b61138e565b61081582826113c5565b5050565b5f8182610825856108ad565b1614905092915050565b60025481565b5f61083e6113d5565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f9031811100000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026108f4816113df565b828290508585905014610933576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156109ef575f84848381811061095457610953611e22565b5b90506020020160208101906109699190611e79565b905060011515811515036109ae576109a987878481811061098d5761098c611e22565b5b90506020020160208101906109a29190611a14565b60016113c5565b6109e1565b6109e08787848181106109c4576109c3611e22565b5b90506020020160208101906109d99190611a14565b600161137f565b5b508080600101915050610935565b505050505050565b5f610a00611414565b90508054600382558015610a325760018160011c14303b10610a295763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610a439190611f85565b90505f815f015190505f826020015190505f836040015190505f8103610a95576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610abf308573ffffffffffffffffffffffffffffffffffffffff1661143d90919063ffffffff16565b905081811015610b0d57845f015181836040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610b0493929190611fb0565b60405180910390fd5b835f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600281905550816004819055505f600581905550610b6a33611470565b610b75336001611546565b50505050508015610baf576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610bc181611587565b5f8585810190610bd191906120fe565b90505f8160200151806020019051810190610bec9190612159565b90508060045f828254610bff91906121b1565b92505081905550610c53825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115ae9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610cc593929190612249565b604051602081830303815290604052604051610ce19190611cd2565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610d2061138e565b610d2a828261137f565b5050565b60605f808484810190610d4191906122c0565b9250509150604051806080016040528060016002811115610d6557610d64612310565b5b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610dc19190612366565b604051602081830303815290604052815250604051602001610de3919061247c565b6040516020818303038152906040529250505092915050565b5f8082610e08856108ad565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610e5461138e565b610e5d5f6115f7565b565b600281565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b5f610e9b61138e565b5f8383810190610eab9190612521565b90505f8160200151806020019051810190610ec69190612159565b90505f610ed2876116bd565b610f08576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60025403610f1957819050610f3d565b670de0b6b3a764000082600254610f309190612568565b610f3a91906125d6565b90505b60045481600554610f4e9190612606565b1115610f86576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f828254610f979190612606565b92505081905550610fe887825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115ae9092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16898460405160200161105493929190612249565b6040516020818303038152906040526040516110709190611cd2565b60405180910390a2600193505050509392505050565b6002611091816113df565b8282905085859050146110d0576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015611134576111278686838181106110f3576110f2611e22565b5b90506020020160208101906111089190611a14565b85858481811061111b5761111a611e22565b5b905060200201356113c5565b80806001019150506110d2565b505050505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f611169846116bd565b90509392505050565b600261117d816113df565b8282905085859050146111bc576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015611220576112138686838181106111df576111de611e22565b5b90506020020160208101906111f49190611a14565b85858481811061120757611206611e22565b5b9050602002013561137f565b80806001019150506111be565b505050505050565b60015481565b600181565b61123b61138e565b63389a75e1600c52805f526020600c20805442111561126157636f5e88185f526004601cfd5b5f81555061126e816115f7565b50565b61127961138e565b8060601b61128e57637448fbae5f526004601cfd5b611297816115f7565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff166112ba610e64565b73ffffffffffffffffffffffffffffffffffffffff1614806112e657506112e5826002600117610dfc565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806113785750611377826116cc565b5b9050919050565b61138a82825f611745565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146113c3576382b429005f526004601cfd5b565b6113d182826001611745565b5050565b5f6202a300905090565b638b78c6d81954331461141157638b78c6d8600c52335f52806020600c205416611410576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b61147861179d565b156114f0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278054156114b257630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350611543565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b638b78c6d8600c52335f52806020600c2054166115ab576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166115ee576390b8ec185f526004601cfd5b5f603452505050565b6115ff61179d565b15611664577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b82178155506116ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454600554109050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061173e575061173d826117a1565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361176757848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61184f8161181b565b8114611859575f80fd5b50565b5f8135905061186a81611846565b92915050565b5f6020828403121561188557611884611813565b5b5f6118928482850161185c565b91505092915050565b5f8115159050919050565b6118af8161189b565b82525050565b5f6020820190506118c85f8301846118a6565b92915050565b5f819050919050565b6118e0816118ce565b82525050565b5f6020820190506118f95f8301846118d7565b92915050565b611908816118ce565b8114611912575f80fd5b50565b5f81359050611923816118ff565b92915050565b5f6020828403121561193e5761193d611813565b5b5f61194b84828501611915565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61197d82611954565b9050919050565b61198d81611973565b8114611997575f80fd5b50565b5f813590506119a881611984565b92915050565b5f80604083850312156119c4576119c3611813565b5b5f6119d18582860161199a565b92505060206119e285828601611915565b9150509250929050565b6119f58161181b565b82525050565b5f602082019050611a0e5f8301846119ec565b92915050565b5f60208284031215611a2957611a28611813565b5b5f611a368482850161199a565b91505092915050565b611a4881611973565b82525050565b5f602082019050611a615f830184611a3f565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611a8857611a87611a67565b5b8235905067ffffffffffffffff811115611aa557611aa4611a6b565b5b602083019150836020820283011115611ac157611ac0611a6f565b5b9250929050565b5f8083601f840112611add57611adc611a67565b5b8235905067ffffffffffffffff811115611afa57611af9611a6b565b5b602083019150836020820283011115611b1657611b15611a6f565b5b9250929050565b5f805f8060408587031215611b3557611b34611813565b5b5f85013567ffffffffffffffff811115611b5257611b51611817565b5b611b5e87828801611a73565b9450945050602085013567ffffffffffffffff811115611b8157611b80611817565b5b611b8d87828801611ac8565b925092505092959194509250565b5f8083601f840112611bb057611baf611a67565b5b8235905067ffffffffffffffff811115611bcd57611bcc611a6b565b5b602083019150836001820283011115611be957611be8611a6f565b5b9250929050565b5f8060208385031215611c0657611c05611813565b5b5f83013567ffffffffffffffff811115611c2357611c22611817565b5b611c2f85828601611b9b565b92509250509250929050565b5f604082019050611c4e5f8301856118d7565b611c5b6020830184611a3f565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ca482611c62565b611cae8185611c6c565b9350611cbe818560208601611c7c565b611cc781611c8a565b840191505092915050565b5f6020820190508181035f830152611cea8184611c9a565b905092915050565b5f805f60408486031215611d0957611d08611813565b5b5f611d168682870161199a565b935050602084013567ffffffffffffffff811115611d3757611d36611817565b5b611d4386828701611b9b565b92509250509250925092565b5f8083601f840112611d6457611d63611a67565b5b8235905067ffffffffffffffff811115611d8157611d80611a6b565b5b602083019150836020820283011115611d9d57611d9c611a6f565b5b9250929050565b5f805f8060408587031215611dbc57611dbb611813565b5b5f85013567ffffffffffffffff811115611dd957611dd8611817565b5b611de587828801611a73565b9450945050602085013567ffffffffffffffff811115611e0857611e07611817565b5b611e1487828801611d4f565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b611e588161189b565b8114611e62575f80fd5b50565b5f81359050611e7381611e4f565b92915050565b5f60208284031215611e8e57611e8d611813565b5b5f611e9b84828501611e65565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611ede82611c8a565b810181811067ffffffffffffffff82111715611efd57611efc611ea8565b5b80604052505050565b5f611f0f61180a565b9050611f1b8282611ed5565b919050565b5f80fd5b5f60608284031215611f3957611f38611ea4565b5b611f436060611f06565b90505f611f528482850161199a565b5f830152506020611f6584828501611915565b6020830152506040611f7984828501611915565b60408301525092915050565b5f60608284031215611f9a57611f99611813565b5b5f611fa784828501611f24565b91505092915050565b5f606082019050611fc35f830186611a3f565b611fd060208301856118d7565b611fdd60408301846118d7565b949350505050565b5f80fd5b5f67ffffffffffffffff82111561200357612002611ea8565b5b61200c82611c8a565b9050602081019050919050565b828183375f83830152505050565b5f61203961203484611fe9565b611f06565b90508281526020810184848401111561205557612054611fe5565b5b612060848285612019565b509392505050565b5f82601f83011261207c5761207b611a67565b5b813561208c848260208601612027565b91505092915050565b5f604082840312156120aa576120a9611ea4565b5b6120b46040611f06565b90505f6120c38482850161199a565b5f83015250602082013567ffffffffffffffff8111156120e6576120e5611f20565b5b6120f284828501612068565b60208301525092915050565b5f6020828403121561211357612112611813565b5b5f82013567ffffffffffffffff8111156121305761212f611817565b5b61213c84828501612095565b91505092915050565b5f81519050612153816118ff565b92915050565b5f6020828403121561216e5761216d611813565b5b5f61217b84828501612145565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6121bb826118ce565b91506121c6836118ce565b92508282039050818111156121de576121dd612184565b5b92915050565b5f8160601b9050919050565b5f6121fa826121e4565b9050919050565b5f61220b826121f0565b9050919050565b61222361221e82611973565b612201565b82525050565b5f819050919050565b61224361223e826118ce565b612229565b82525050565b5f6122548286612212565b6014820191506122648285612212565b6014820191506122748284612232565b602082019150819050949350505050565b5f61228f82611954565b9050919050565b61229f81612285565b81146122a9575f80fd5b50565b5f813590506122ba81612296565b92915050565b5f805f606084860312156122d7576122d6611813565b5b5f6122e4868287016122ac565b93505060206122f586828701611915565b925050604061230686828701611915565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b612346816118ce565b82525050565b602082015f8201516123605f85018261233d565b50505050565b5f6020820190506123795f83018461234c565b92915050565b600381106123905761238f612310565b5b50565b5f8190506123a08261237f565b919050565b5f6123af82612393565b9050919050565b6123bf816123a5565b82525050565b6123ce81611973565b82525050565b5f82825260208201905092915050565b5f6123ee82611c62565b6123f881856123d4565b9350612408818560208601611c7c565b61241181611c8a565b840191505092915050565b5f608083015f8301516124315f8601826123b6565b50602083015161244460208601826123c5565b50604083015161245760408601826123c5565b506060830151848203606086015261246f82826123e4565b9150508091505092915050565b5f6020820190508181035f830152612494818461241c565b905092915050565b5f604082840312156124b1576124b0611ea4565b5b6124bb6040611f06565b90505f82013567ffffffffffffffff8111156124da576124d9611f20565b5b6124e684828501612068565b5f83015250602082013567ffffffffffffffff81111561250957612508611f20565b5b61251584828501612068565b60208301525092915050565b5f6020828403121561253657612535611813565b5b5f82013567ffffffffffffffff81111561255357612552611817565b5b61255f8482850161249c565b91505092915050565b5f612572826118ce565b915061257d836118ce565b925082820261258b816118ce565b915082820484148315176125a2576125a1612184565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6125e0826118ce565b91506125eb836118ce565b9250826125fb576125fa6125a9565b5b828204905092915050565b5f612610826118ce565b915061261b836118ce565b925082820190508082111561263357612632612184565b5b9291505056fea264697066735822122001c61f5a4b759daaab547f837f7360c758d89bd449e1e380bb437bafdcf9cf6364736f6c634300081a0033", d = class d extends P {
|
|
6
|
+
import { RegistryType as P } from "../utils.js";
|
|
7
|
+
const T = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b61266f806101185f395ff3fe6080604052600436106101ed575f3560e01c806354d1f13d1161010c578063d54ad2a11161009f578063ec87621c1161006e578063ec87621c1461069a578063f04e283e146106c4578063f2fde38b146106e0578063fe9fbb80146106fc578063fee81cf414610738576101ed565b8063d54ad2a1146105e2578063db09da121461060c578063dcc2136114610648578063dcc59b6f14610670576101ed565b8063a4d66daf116100db578063a4d66daf14610518578063bb1757cf14610542578063be4994f81461057e578063c884ef83146105a6576101ed565b806354d1f13d146104b0578063715018a6146104ba57806375b238fc146104c45780638da5cb5b146104ee576101ed565b80632de9480711610184578063474f5a4411610153578063474f5a44146103df5780634a4ee7b11461041c5780634e7165a214610438578063514e62fc14610474576101ed565b80632de948071461032957806338d52e0f146103655780634359d28a1461038f578063439fab91146103b7576101ed565b80631cd64df4116101c05780631cd64df41461028f578063228cb733146102cb57806325692962146102f557806328d6183b146102ff576101ed565b806301ffc9a7146101f157806307621eca1461022d578063183a4f6e146102575780631c10893f14610273575b5f80fd5b3480156101fc575f80fd5b5061021760048036038101906102129190611870565b610774565b60405161022491906118b5565b60405180910390f35b348015610238575f80fd5b506102416107ed565b60405161024e91906118e6565b60405180910390f35b610271600480360381019061026c9190611929565b6107f6565b005b61028d600480360381019061028891906119ae565b610803565b005b34801561029a575f80fd5b506102b560048036038101906102b091906119ae565b610819565b6040516102c291906118b5565b60405180910390f35b3480156102d6575f80fd5b506102df61082f565b6040516102ec91906118e6565b60405180910390f35b6102fd610835565b005b34801561030a575f80fd5b50610313610886565b60405161032091906119fb565b60405180910390f35b348015610334575f80fd5b5061034f600480360381019061034a9190611a14565b6108ad565b60405161035c91906118e6565b60405180910390f35b348015610370575f80fd5b506103796108c6565b6040516103869190611a4e565b60405180910390f35b34801561039a575f80fd5b506103b560048036038101906103b09190611b1d565b6108e9565b005b3480156103c2575f80fd5b506103dd60048036038101906103d89190611bf0565b6109f7565b005b3480156103ea575f80fd5b5061040560048036038101906104009190611bf0565b610bb4565b604051610413929190611c3b565b60405180910390f35b610436600480360381019061043191906119ae565b610d18565b005b348015610443575f80fd5b5061045e60048036038101906104599190611bf0565b610d2e565b60405161046b9190611cd2565b60405180910390f35b34801561047f575f80fd5b5061049a600480360381019061049591906119ae565b610dfc565b6040516104a791906118b5565b60405180910390f35b6104b8610e13565b005b6104c2610e4c565b005b3480156104cf575f80fd5b506104d8610e5f565b6040516104e591906118e6565b60405180910390f35b3480156104f9575f80fd5b50610502610e64565b60405161050f9190611a4e565b60405180910390f35b348015610523575f80fd5b5061052c610e8c565b60405161053991906118e6565b60405180910390f35b34801561054d575f80fd5b5061056860048036038101906105639190611cf2565b610e92565b60405161057591906118b5565b60405180910390f35b348015610589575f80fd5b506105a4600480360381019061059f9190611da4565b611086565b005b3480156105b1575f80fd5b506105cc60048036038101906105c79190611a14565b61113c565b6040516105d991906118b5565b60405180910390f35b3480156105ed575f80fd5b506105f6611159565b60405161060391906118e6565b60405180910390f35b348015610617575f80fd5b50610632600480360381019061062d9190611cf2565b61115f565b60405161063f91906118b5565b60405180910390f35b348015610653575f80fd5b5061066e60048036038101906106699190611da4565b611172565b005b34801561067b575f80fd5b50610684611228565b60405161069191906118e6565b60405180910390f35b3480156106a5575f80fd5b506106ae61122e565b6040516106bb91906118e6565b60405180910390f35b6106de60048036038101906106d99190611a14565b611233565b005b6106fa60048036038101906106f59190611a14565b611271565b005b348015610707575f80fd5b50610722600480360381019061071d9190611a14565b61129a565b60405161072f91906118b5565b60405180910390f35b348015610743575f80fd5b5061075e60048036038101906107599190611a14565b6112ed565b60405161076b91906118e6565b60405180910390f35b5f7f90318111000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107e657506107e582611306565b5b9050919050565b5f600254905090565b610800338261137f565b50565b61080b61138e565b61081582826113c5565b5050565b5f8182610825856108ad565b1614905092915050565b60025481565b5f61083e6113d5565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f9031811100000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026108f4816113df565b828290508585905014610933576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156109ef575f84848381811061095457610953611e22565b5b90506020020160208101906109699190611e79565b905060011515811515036109ae576109a987878481811061098d5761098c611e22565b5b90506020020160208101906109a29190611a14565b60016113c5565b6109e1565b6109e08787848181106109c4576109c3611e22565b5b90506020020160208101906109d99190611a14565b600161137f565b5b508080600101915050610935565b505050505050565b5f610a00611414565b90508054600382558015610a325760018160011c14303b10610a295763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610a439190611f85565b90505f815f015190505f826020015190505f836040015190505f8103610a95576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610abf308573ffffffffffffffffffffffffffffffffffffffff1661143d90919063ffffffff16565b905081811015610b0d57845f015181836040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610b0493929190611fb0565b60405180910390fd5b835f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600281905550816004819055505f600581905550610b6a33611470565b610b75336001611546565b50505050508015610baf576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610bc181611587565b5f8585810190610bd191906120fe565b90505f8160200151806020019051810190610bec9190612159565b90508060045f828254610bff91906121b1565b92505081905550610c53825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115ae9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610cc593929190612249565b604051602081830303815290604052604051610ce19190611cd2565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610d2061138e565b610d2a828261137f565b5050565b60605f808484810190610d4191906122c0565b9250509150604051806080016040528060016002811115610d6557610d64612310565b5b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610dc19190612366565b604051602081830303815290604052815250604051602001610de3919061247c565b6040516020818303038152906040529250505092915050565b5f8082610e08856108ad565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610e5461138e565b610e5d5f6115f7565b565b600281565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b5f610e9b61138e565b5f8383810190610eab9190612521565b90505f8160200151806020019051810190610ec69190612159565b90505f610ed2876116bd565b610f08576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60025403610f1957819050610f3d565b670de0b6b3a764000082600254610f309190612568565b610f3a91906125d6565b90505b60045481600554610f4e9190612606565b1115610f86576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f828254610f979190612606565b92505081905550610fe887825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115ae9092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16898460405160200161105493929190612249565b6040516020818303038152906040526040516110709190611cd2565b60405180910390a2600193505050509392505050565b6002611091816113df565b8282905085859050146110d0576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015611134576111278686838181106110f3576110f2611e22565b5b90506020020160208101906111089190611a14565b85858481811061111b5761111a611e22565b5b905060200201356113c5565b80806001019150506110d2565b505050505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f611169846116bd565b90509392505050565b600261117d816113df565b8282905085859050146111bc576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015611220576112138686838181106111df576111de611e22565b5b90506020020160208101906111f49190611a14565b85858481811061120757611206611e22565b5b9050602002013561137f565b80806001019150506111be565b505050505050565b60015481565b600181565b61123b61138e565b63389a75e1600c52805f526020600c20805442111561126157636f5e88185f526004601cfd5b5f81555061126e816115f7565b50565b61127961138e565b8060601b61128e57637448fbae5f526004601cfd5b611297816115f7565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff166112ba610e64565b73ffffffffffffffffffffffffffffffffffffffff1614806112e657506112e5826002600117610dfc565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806113785750611377826116cc565b5b9050919050565b61138a82825f611745565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146113c3576382b429005f526004601cfd5b565b6113d182826001611745565b5050565b5f6202a300905090565b638b78c6d81954331461141157638b78c6d8600c52335f52806020600c205416611410576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b61147861179d565b156114f0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278054156114b257630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350611543565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b638b78c6d8600c52335f52806020600c2054166115ab576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166115ee576390b8ec185f526004601cfd5b5f603452505050565b6115ff61179d565b15611664577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b82178155506116ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454600554109050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061173e575061173d826117a1565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361176757848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61184f8161181b565b8114611859575f80fd5b50565b5f8135905061186a81611846565b92915050565b5f6020828403121561188557611884611813565b5b5f6118928482850161185c565b91505092915050565b5f8115159050919050565b6118af8161189b565b82525050565b5f6020820190506118c85f8301846118a6565b92915050565b5f819050919050565b6118e0816118ce565b82525050565b5f6020820190506118f95f8301846118d7565b92915050565b611908816118ce565b8114611912575f80fd5b50565b5f81359050611923816118ff565b92915050565b5f6020828403121561193e5761193d611813565b5b5f61194b84828501611915565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61197d82611954565b9050919050565b61198d81611973565b8114611997575f80fd5b50565b5f813590506119a881611984565b92915050565b5f80604083850312156119c4576119c3611813565b5b5f6119d18582860161199a565b92505060206119e285828601611915565b9150509250929050565b6119f58161181b565b82525050565b5f602082019050611a0e5f8301846119ec565b92915050565b5f60208284031215611a2957611a28611813565b5b5f611a368482850161199a565b91505092915050565b611a4881611973565b82525050565b5f602082019050611a615f830184611a3f565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611a8857611a87611a67565b5b8235905067ffffffffffffffff811115611aa557611aa4611a6b565b5b602083019150836020820283011115611ac157611ac0611a6f565b5b9250929050565b5f8083601f840112611add57611adc611a67565b5b8235905067ffffffffffffffff811115611afa57611af9611a6b565b5b602083019150836020820283011115611b1657611b15611a6f565b5b9250929050565b5f805f8060408587031215611b3557611b34611813565b5b5f85013567ffffffffffffffff811115611b5257611b51611817565b5b611b5e87828801611a73565b9450945050602085013567ffffffffffffffff811115611b8157611b80611817565b5b611b8d87828801611ac8565b925092505092959194509250565b5f8083601f840112611bb057611baf611a67565b5b8235905067ffffffffffffffff811115611bcd57611bcc611a6b565b5b602083019150836001820283011115611be957611be8611a6f565b5b9250929050565b5f8060208385031215611c0657611c05611813565b5b5f83013567ffffffffffffffff811115611c2357611c22611817565b5b611c2f85828601611b9b565b92509250509250929050565b5f604082019050611c4e5f8301856118d7565b611c5b6020830184611a3f565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ca482611c62565b611cae8185611c6c565b9350611cbe818560208601611c7c565b611cc781611c8a565b840191505092915050565b5f6020820190508181035f830152611cea8184611c9a565b905092915050565b5f805f60408486031215611d0957611d08611813565b5b5f611d168682870161199a565b935050602084013567ffffffffffffffff811115611d3757611d36611817565b5b611d4386828701611b9b565b92509250509250925092565b5f8083601f840112611d6457611d63611a67565b5b8235905067ffffffffffffffff811115611d8157611d80611a6b565b5b602083019150836020820283011115611d9d57611d9c611a6f565b5b9250929050565b5f805f8060408587031215611dbc57611dbb611813565b5b5f85013567ffffffffffffffff811115611dd957611dd8611817565b5b611de587828801611a73565b9450945050602085013567ffffffffffffffff811115611e0857611e07611817565b5b611e1487828801611d4f565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b611e588161189b565b8114611e62575f80fd5b50565b5f81359050611e7381611e4f565b92915050565b5f60208284031215611e8e57611e8d611813565b5b5f611e9b84828501611e65565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611ede82611c8a565b810181811067ffffffffffffffff82111715611efd57611efc611ea8565b5b80604052505050565b5f611f0f61180a565b9050611f1b8282611ed5565b919050565b5f80fd5b5f60608284031215611f3957611f38611ea4565b5b611f436060611f06565b90505f611f528482850161199a565b5f830152506020611f6584828501611915565b6020830152506040611f7984828501611915565b60408301525092915050565b5f60608284031215611f9a57611f99611813565b5b5f611fa784828501611f24565b91505092915050565b5f606082019050611fc35f830186611a3f565b611fd060208301856118d7565b611fdd60408301846118d7565b949350505050565b5f80fd5b5f67ffffffffffffffff82111561200357612002611ea8565b5b61200c82611c8a565b9050602081019050919050565b828183375f83830152505050565b5f61203961203484611fe9565b611f06565b90508281526020810184848401111561205557612054611fe5565b5b612060848285612019565b509392505050565b5f82601f83011261207c5761207b611a67565b5b813561208c848260208601612027565b91505092915050565b5f604082840312156120aa576120a9611ea4565b5b6120b46040611f06565b90505f6120c38482850161199a565b5f83015250602082013567ffffffffffffffff8111156120e6576120e5611f20565b5b6120f284828501612068565b60208301525092915050565b5f6020828403121561211357612112611813565b5b5f82013567ffffffffffffffff8111156121305761212f611817565b5b61213c84828501612095565b91505092915050565b5f81519050612153816118ff565b92915050565b5f6020828403121561216e5761216d611813565b5b5f61217b84828501612145565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6121bb826118ce565b91506121c6836118ce565b92508282039050818111156121de576121dd612184565b5b92915050565b5f8160601b9050919050565b5f6121fa826121e4565b9050919050565b5f61220b826121f0565b9050919050565b61222361221e82611973565b612201565b82525050565b5f819050919050565b61224361223e826118ce565b612229565b82525050565b5f6122548286612212565b6014820191506122648285612212565b6014820191506122748284612232565b602082019150819050949350505050565b5f61228f82611954565b9050919050565b61229f81612285565b81146122a9575f80fd5b50565b5f813590506122ba81612296565b92915050565b5f805f606084860312156122d7576122d6611813565b5b5f6122e4868287016122ac565b93505060206122f586828701611915565b925050604061230686828701611915565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b612346816118ce565b82525050565b602082015f8201516123605f85018261233d565b50505050565b5f6020820190506123795f83018461234c565b92915050565b600381106123905761238f612310565b5b50565b5f8190506123a08261237f565b919050565b5f6123af82612393565b9050919050565b6123bf816123a5565b82525050565b6123ce81611973565b82525050565b5f82825260208201905092915050565b5f6123ee82611c62565b6123f881856123d4565b9350612408818560208601611c7c565b61241181611c8a565b840191505092915050565b5f608083015f8301516124315f8601826123b6565b50602083015161244460208601826123c5565b50604083015161245760408601826123c5565b506060830151848203606086015261246f82826123e4565b9150508091505092915050565b5f6020820190508181035f830152612494818461241c565b905092915050565b5f604082840312156124b1576124b0611ea4565b5b6124bb6040611f06565b90505f82013567ffffffffffffffff8111156124da576124d9611f20565b5b6124e684828501612068565b5f83015250602082013567ffffffffffffffff81111561250957612508611f20565b5b61251584828501612068565b60208301525092915050565b5f6020828403121561253657612535611813565b5b5f82013567ffffffffffffffff81111561255357612552611817565b5b61255f8482850161249c565b91505092915050565b5f612572826118ce565b915061257d836118ce565b925082820261258b816118ce565b915082820484148315176125a2576125a1612184565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6125e0826118ce565b91506125eb836118ce565b9250826125fb576125fa6125a9565b5b828204905092915050565b5f612610826118ce565b915061261b836118ce565b925082820190508082111561263357612632612184565b5b9291505056fea264697066735822122001c61f5a4b759daaab547f837f7360c758d89bd449e1e380bb437bafdcf9cf6364736f6c634300081a0033", d = class d extends C {
|
|
8
8
|
constructor() {
|
|
9
9
|
super(...arguments), this.abi = s;
|
|
10
10
|
}
|
|
@@ -113,7 +113,7 @@ const x = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
113
113
|
* @returns {Promise<bigint>}
|
|
114
114
|
*/
|
|
115
115
|
async reward(f) {
|
|
116
|
-
return await
|
|
116
|
+
return await w(this._config, {
|
|
117
117
|
address: this.assertValidAddress(),
|
|
118
118
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
119
119
|
...f
|
|
@@ -128,7 +128,7 @@ const x = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
128
128
|
* @returns {Promise<bigint>}
|
|
129
129
|
*/
|
|
130
130
|
async limit(f) {
|
|
131
|
-
return await
|
|
131
|
+
return await g(this._config, {
|
|
132
132
|
address: this.assertValidAddress(),
|
|
133
133
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
134
134
|
...f
|
|
@@ -156,7 +156,7 @@ const x = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
156
156
|
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - Returns true if successfully claimed
|
|
157
157
|
*/
|
|
158
158
|
async claimRaw(f, b) {
|
|
159
|
-
const { request: a, result: e } = await
|
|
159
|
+
const { request: a, result: e } = await p(
|
|
160
160
|
this._config,
|
|
161
161
|
{
|
|
162
162
|
address: this.assertValidAddress(),
|
|
@@ -166,7 +166,7 @@ const x = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
166
166
|
...b
|
|
167
167
|
}
|
|
168
168
|
);
|
|
169
|
-
return { hash: await
|
|
169
|
+
return { hash: await A(this._config, a), result: e };
|
|
170
170
|
}
|
|
171
171
|
/**
|
|
172
172
|
* Clawback assets from the incentive
|
|
@@ -215,7 +215,7 @@ const x = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
215
215
|
* @returns {Promise<boolean>} = True if the incentive is claimable based on the data payload
|
|
216
216
|
*/
|
|
217
217
|
async isClaimable(f, b) {
|
|
218
|
-
return await
|
|
218
|
+
return await I(this._config, {
|
|
219
219
|
address: this.assertValidAddress(),
|
|
220
220
|
args: [c(f)],
|
|
221
221
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
@@ -251,9 +251,9 @@ const x = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
251
251
|
);
|
|
252
252
|
return {
|
|
253
253
|
abi: s,
|
|
254
|
-
bytecode:
|
|
254
|
+
bytecode: T,
|
|
255
255
|
args: [
|
|
256
|
-
|
|
256
|
+
k(
|
|
257
257
|
a
|
|
258
258
|
)
|
|
259
259
|
],
|
|
@@ -263,10 +263,10 @@ const x = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
263
263
|
};
|
|
264
264
|
d.bases = {
|
|
265
265
|
31337: void 0,
|
|
266
|
-
...
|
|
267
|
-
}, d.registryType =
|
|
266
|
+
...R
|
|
267
|
+
}, d.registryType = P.INCENTIVE;
|
|
268
268
|
let t = d;
|
|
269
|
-
function
|
|
269
|
+
function k({
|
|
270
270
|
asset: i,
|
|
271
271
|
reward: f,
|
|
272
272
|
limit: b
|
|
@@ -283,6 +283,6 @@ function D({
|
|
|
283
283
|
export {
|
|
284
284
|
t as ERC20VariableIncentive,
|
|
285
285
|
s as erc20VariableIncentiveAbi,
|
|
286
|
-
|
|
286
|
+
k as prepareERC20VariableIncentivePayload
|
|
287
287
|
};
|
|
288
288
|
//# sourceMappingURL=ERC20VariableIncentive.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../generated-BSUMIFi5.cjs"),e=require("../componentInterfaces-BJ_XfE8j.cjs"),A=require("@wagmi/core"),u=require("../errors.cjs"),o=require("./AllowListIncentive.cjs"),a=require("./CGDAIncentive.cjs"),I=require("./ERC20Incentive.cjs"),v=require("./ERC20VariableCriteriaIncentive.cjs"),C=require("./ERC20VariableIncentive.cjs"),s=require("./PointsIncentive.cjs"),n={[e.APointsIncentive]:s.PointsIncentive,[e.AERC20Incentive]:I.ERC20Incentive,[e.AAllowListIncentive]:o.AllowListIncentive,[e.ACGDAIncentive]:a.CGDAIncentive,[e.AERC20VariableIncentive]:C.ERC20VariableIncentive,[e.AERC20VariableCriteriaIncentive]:v.ERC20VariableCriteriaIncentive};async function E(t,i){const r=await A.readContract(t.config,{abi:l.J,functionName:"getComponentInterface",address:i}),c=n[r];if(!c)throw new u.InvalidComponentInterfaceError(Object.keys(n),r);return new c(t,i)}exports.AllowListIncentive=o.AllowListIncentive;exports.CGDAIncentive=a.CGDAIncentive;exports.ERC20Incentive=I.ERC20Incentive;exports.ERC20VariableCriteriaIncentive=v.ERC20VariableCriteriaIncentive;exports.ERC20VariableIncentive=C.ERC20VariableIncentive;exports.PointsIncentive=s.PointsIncentive;exports.IncentiveByComponentInterface=n;exports.incentiveFromAddress=E;
|
|
2
2
|
//# sourceMappingURL=Incentive.cjs.map
|