@boostxyz/sdk 2.0.0-alpha.26 → 2.0.0-alpha.28
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 +7 -7
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +180 -166
- 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 +25 -27
- 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 +101 -18
- package/src/Actions/EventAction.ts +49 -17
- package/src/Incentives/Incentive.ts +3 -2
- package/src/Validators/SignerValidator.ts +7 -12
- 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,10 +1,10 @@
|
|
|
1
|
-
import { y as s, aw as n, ax as o, ay as h, az as l, aA as
|
|
2
|
-
import { zeroHash as
|
|
3
|
-
import { E } from "../deployments-Ccx1MtoK.js";
|
|
4
|
-
import { DeployableTarget as
|
|
1
|
+
import { y as s, aw as n, ax as o, ay as h, az as l, aA as u, aB as w, aC as y, aD as g, aE as m, aF as A, aG as p, aH as T, aI as V, aJ as _, aK as R, aL as C } from "../generated-Dz_g2mFT.js";
|
|
2
|
+
import { zeroHash as x, encodeAbiParameters as D, zeroAddress as P } from "viem";
|
|
3
|
+
import { E as k } from "../deployments-Ccx1MtoK.js";
|
|
4
|
+
import { DeployableTarget as q } from "../Deployable/DeployableTarget.js";
|
|
5
5
|
import { prepareClaimPayload as c } from "../claiming.js";
|
|
6
|
-
import { RegistryType as
|
|
7
|
-
const k = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612ca2806101185f395ff3fe608060405260043610610203575f3560e01c806354d1f13d11610117578063c884ef831161009f578063ec87621c1161006e578063ec87621c14610702578063f04e283e1461072c578063f2fde38b14610748578063fe9fbb8014610764578063fee81cf4146107a057610203565b8063c884ef8314610638578063db09da1214610674578063dcc21361146106b0578063dcc59b6f146106d857610203565b8063a4d66daf116100e6578063a4d66daf14610544578063a8c62e761461056e578063b30906d414610598578063bb1757cf146105d4578063be4994f81461061057610203565b806354d1f13d146104dc578063715018a6146104e657806375b238fc146104f05780638da5cb5b1461051a57610203565b806328d6183b1161019a578063439fab9111610169578063439fab91146103e3578063474f5a441461040b5780634a4ee7b1146104485780634e7165a214610464578063514e62fc146104a057610203565b806328d6183b1461032b5780632de948071461035557806338d52e0f146103915780634359d28a146103bb57610203565b80631cd64df4116101d65780631cd64df4146102a55780632275aea9146102e1578063228cb733146102f7578063256929621461032157610203565b806301ffc9a71461020757806307621eca14610243578063183a4f6e1461026d5780631c10893f14610289575b5f80fd5b348015610212575f80fd5b5061022d60048036038101906102289190611e51565b6107dc565b60405161023a9190611e96565b60405180910390f35b34801561024e575f80fd5b50610257610855565b6040516102649190611ec7565b60405180910390f35b61028760048036038101906102829190611f0a565b61085e565b005b6102a3600480360381019061029e9190611f8f565b61086b565b005b3480156102b0575f80fd5b506102cb60048036038101906102c69190611f8f565b610881565b6040516102d89190611e96565b60405180910390f35b3480156102ec575f80fd5b506102f5610897565b005b348015610302575f80fd5b5061030b610a63565b6040516103189190611ec7565b60405180910390f35b610329610a69565b005b348015610336575f80fd5b5061033f610aba565b60405161034c9190611fdc565b60405180910390f35b348015610360575f80fd5b5061037b60048036038101906103769190611ff5565b610ae1565b6040516103889190611ec7565b60405180910390f35b34801561039c575f80fd5b506103a5610afa565b6040516103b2919061202f565b60405180910390f35b3480156103c6575f80fd5b506103e160048036038101906103dc91906120fe565b610b1d565b005b3480156103ee575f80fd5b50610409600480360381019061040491906121d1565b610c2b565b005b348015610416575f80fd5b50610431600480360381019061042c91906121d1565b610e6b565b60405161043f92919061221c565b60405180910390f35b610462600480360381019061045d9190611f8f565b611105565b005b34801561046f575f80fd5b5061048a600480360381019061048591906121d1565b61111b565b60405161049791906122b3565b60405180910390f35b3480156104ab575f80fd5b506104c660048036038101906104c19190611f8f565b611239565b6040516104d39190611e96565b60405180910390f35b6104e4611250565b005b6104ee611289565b005b3480156104fb575f80fd5b5061050461129c565b6040516105119190611ec7565b60405180910390f35b348015610525575f80fd5b5061052e6112a1565b60405161053b919061202f565b60405180910390f35b34801561054f575f80fd5b506105586112c9565b6040516105659190611ec7565b60405180910390f35b348015610579575f80fd5b506105826112cf565b60405161058f9190612346565b60405180910390f35b3480156105a3575f80fd5b506105be60048036038101906105b99190611f0a565b6112e1565b6040516105cb919061202f565b60405180910390f35b3480156105df575f80fd5b506105fa60048036038101906105f5919061235f565b61131c565b6040516106079190611e96565b60405180910390f35b34801561061b575f80fd5b5061063660048036038101906106319190612411565b61160b565b005b348015610643575f80fd5b5061065e60048036038101906106599190611ff5565b6116c1565b60405161066b9190611e96565b60405180910390f35b34801561067f575f80fd5b5061069a6004803603810190610695919061235f565b6116de565b6040516106a79190611e96565b60405180910390f35b3480156106bb575f80fd5b506106d660048036038101906106d19190612411565b6116f1565b005b3480156106e3575f80fd5b506106ec6117a7565b6040516106f99190611ec7565b60405180910390f35b34801561070d575f80fd5b506107166117ad565b6040516107239190611ec7565b60405180910390f35b61074660048036038101906107419190611ff5565b6117b2565b005b610762600480360381019061075d9190611ff5565b6117f0565b005b34801561076f575f80fd5b5061078a60048036038101906107859190611ff5565b611819565b6040516107979190611e96565b60405180910390f35b3480156107ab575f80fd5b506107c660048036038101906107c19190611ff5565b61186c565b6040516107d39190611ec7565b60405180910390f35b5f7f7cc1d5bb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061084e575061084d82611885565b5b9050919050565b5f600254905090565b61086833826118fe565b50565b61087361190d565b61087d8282611944565b5050565b5f818261088d85610ae1565b1614905092915050565b60016108a281611954565b6001808111156108b5576108b46122d3565b5b60045f9054906101000a900460ff1660018111156108d6576108d56122d3565b5b1461090d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040518060200160405280424461092591906124bc565b81525090505f6006808054905061093b8461197b565b610945919061251c565b815481106109565761095561254c565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109cc816002545f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198a9092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600254604051602001610a3a939291906125de565b604051602081830303815290604052604051610a5691906122b3565b60405180910390a2505050565b60025481565b5f610a726119d3565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f7cc1d5bb00000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002610b28816119dd565b828290508585905014610b67576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610c23575f848483818110610b8857610b8761254c565b5b9050602002016020810190610b9d9190612644565b90506001151581151503610be257610bdd878784818110610bc157610bc061254c565b5b9050602002016020810190610bd69190611ff5565b6001611944565b610c15565b610c14878784818110610bf857610bf761254c565b5b9050602002016020810190610c0d9190611ff5565b60016118fe565b5b508080600101915050610b69565b505050505050565b5f610c34611a12565b90508054600382558015610c665760018160011c14303b10610c5d5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610c77919061279b565b90505f81604001511480610c8e57505f8160600151145b15610cc5576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600180811115610cd957610cd86122d3565b5b82602001516001811115610cf057610cef6122d3565b5b03610cff578160400151610d14565b81606001518260400151610d1391906127c6565b5b90505f610d4330845f015173ffffffffffffffffffffffffffffffffffffffff16611a3b90919063ffffffff16565b905081811015610d9157825f015181836040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610d8893929190612807565b60405180910390fd5b825f01515f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826020015160045f6101000a81548160ff02191690836001811115610dfb57610dfa6122d3565b5b021790555082604001516002819055508260600151600581905550610e1f33611a6e565b610e2e83608001516001611b44565b5050508015610e66576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f80610e7561190d565b5f8484810190610e859190612955565b90505f8160200151806020019051810190610ea091906129b0565b9050600180811115610eb557610eb46122d3565b5b60045f9054906101000a900460ff166001811115610ed657610ed56122d3565b5b03610f5c5760025481141580610eed57505f600154115b15610f50573382604051602001610f049190612a6c565b6040516020818303038152906040526040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610f47929190612a8c565b60405180910390fd5b5f600581905550610ff4565b5f60025482610f6b919061251c565b14610fce573382604051602001610f829190612a6c565b6040516020818303038152906040526040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610fc5929190612a8c565b60405180910390fd5b60025481610fdc9190612aba565b60055f828254610fec9190612aea565b925050819055505b611041825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198a9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f0151846040516020016110b3939291906125de565b6040516020818303038152906040526040516110cf91906122b3565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff169350935050509250929050565b61110d61190d565b61111782826118fe565b5050565b60605f838381019061112d919061279b565b90505f600180811115611143576111426122d3565b5b8260200151600181111561115a576111596122d3565b5b0361116957816040015161117e565b8160600151826040015161117d91906127c6565b5b905060405180608001604052806001600281111561119f5761119e6122d3565b5b8152602001835f015173ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016040518060200160405280848152506040516020016111fe9190612b46565b6040516020818303038152906040528152506040516020016112209190612c05565b6040516020818303038152906040529250505092915050565b5f808261124585610ae1565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b61129161190d565b61129a5f611b85565b565b600281565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60055481565b60045f9054906101000a900460ff1681565b600681815481106112f0575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61132561190d565b61132e84611c4b565b611364576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6001811115611377576113766122d3565b5b60045f9054906101000a900460ff166001811115611398576113976122d3565b5b036114f05760015f8154809291906113af90612c25565b9190505550600160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611455846002545f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198a9092919063ffffffff16565b8373ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866002546040516020016114c3939291906125de565b6040516020818303038152906040526040516114df91906122b3565b60405180910390a260019050611604565b60015f81548092919061150290612c25565b9190505550600160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600684908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff167ff0abe0f5c6f02112a9a4332e7b091bf49040ffddeedb73785a9b9a0a3ca7f15360405160405180910390a2600190505b9392505050565b6002611616816119dd565b828290508585905014611655576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156116b9576116ac8686838181106116785761167761254c565b5b905060200201602081019061168d9190611ff5565b8585848181106116a05761169f61254c565b5b90506020020135611944565b8080600101915050611657565b505050505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f6116e884611c4b565b90509392505050565b60026116fc816119dd565b82829050858590501461173b576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561179f5761179286868381811061175e5761175d61254c565b5b90506020020160208101906117739190611ff5565b8585848181106117865761178561254c565b5b905060200201356118fe565b808060010191505061173d565b505050505050565b60015481565b600181565b6117ba61190d565b63389a75e1600c52805f526020600c2080544211156117e057636f5e88185f526004601cfd5b5f8155506117ed81611b85565b50565b6117f861190d565b8060601b61180d57637448fbae5f526004601cfd5b61181681611b85565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff166118396112a1565b73ffffffffffffffffffffffffffffffffffffffff1614806118655750611864826002600117611239565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806118f757506118f682611cad565b5b9050919050565b61190982825f611d26565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611942576382b429005f526004601cfd5b565b61195082826001611d26565b5050565b638b78c6d8600c52335f52806020600c205416611978576382b429005f526004601cfd5b50565b5f602082209050808252919050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166119ca576390b8ec185f526004601cfd5b5f603452505050565b5f6202a300905090565b638b78c6d819543314611a0f57638b78c6d8600c52335f52806020600c205416611a0e576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b611a76611d7e565b15611aee577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415611ab057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350611b41565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b611b8d611d7e565b15611bf2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550611c48565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611ca65750600554600154105b9050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611d1f5750611d1e82611d82565b5b9050919050565b638b78c6d8600c52825f526020600c20805483811783611d4857848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611e3081611dfc565b8114611e3a575f80fd5b50565b5f81359050611e4b81611e27565b92915050565b5f60208284031215611e6657611e65611df4565b5b5f611e7384828501611e3d565b91505092915050565b5f8115159050919050565b611e9081611e7c565b82525050565b5f602082019050611ea95f830184611e87565b92915050565b5f819050919050565b611ec181611eaf565b82525050565b5f602082019050611eda5f830184611eb8565b92915050565b611ee981611eaf565b8114611ef3575f80fd5b50565b5f81359050611f0481611ee0565b92915050565b5f60208284031215611f1f57611f1e611df4565b5b5f611f2c84828501611ef6565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f5e82611f35565b9050919050565b611f6e81611f54565b8114611f78575f80fd5b50565b5f81359050611f8981611f65565b92915050565b5f8060408385031215611fa557611fa4611df4565b5b5f611fb285828601611f7b565b9250506020611fc385828601611ef6565b9150509250929050565b611fd681611dfc565b82525050565b5f602082019050611fef5f830184611fcd565b92915050565b5f6020828403121561200a57612009611df4565b5b5f61201784828501611f7b565b91505092915050565b61202981611f54565b82525050565b5f6020820190506120425f830184612020565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261206957612068612048565b5b8235905067ffffffffffffffff8111156120865761208561204c565b5b6020830191508360208202830111156120a2576120a1612050565b5b9250929050565b5f8083601f8401126120be576120bd612048565b5b8235905067ffffffffffffffff8111156120db576120da61204c565b5b6020830191508360208202830111156120f7576120f6612050565b5b9250929050565b5f805f806040858703121561211657612115611df4565b5b5f85013567ffffffffffffffff81111561213357612132611df8565b5b61213f87828801612054565b9450945050602085013567ffffffffffffffff81111561216257612161611df8565b5b61216e878288016120a9565b925092505092959194509250565b5f8083601f84011261219157612190612048565b5b8235905067ffffffffffffffff8111156121ae576121ad61204c565b5b6020830191508360018202830111156121ca576121c9612050565b5b9250929050565b5f80602083850312156121e7576121e6611df4565b5b5f83013567ffffffffffffffff81111561220457612203611df8565b5b6122108582860161217c565b92509250509250929050565b5f60408201905061222f5f830185611eb8565b61223c6020830184612020565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61228582612243565b61228f818561224d565b935061229f81856020860161225d565b6122a88161226b565b840191505092915050565b5f6020820190508181035f8301526122cb818461227b565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110612311576123106122d3565b5b50565b5f81905061232182612300565b919050565b5f61233082612314565b9050919050565b61234081612326565b82525050565b5f6020820190506123595f830184612337565b92915050565b5f805f6040848603121561237657612375611df4565b5b5f61238386828701611f7b565b935050602084013567ffffffffffffffff8111156123a4576123a3611df8565b5b6123b08682870161217c565b92509250509250925092565b5f8083601f8401126123d1576123d0612048565b5b8235905067ffffffffffffffff8111156123ee576123ed61204c565b5b60208301915083602082028301111561240a57612409612050565b5b9250929050565b5f805f806040858703121561242957612428611df4565b5b5f85013567ffffffffffffffff81111561244657612445611df8565b5b61245287828801612054565b9450945050602085013567ffffffffffffffff81111561247557612474611df8565b5b612481878288016123bc565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6124c682611eaf565b91506124d183611eaf565b92508282019050808211156124e9576124e861248f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61252682611eaf565b915061253183611eaf565b925082612541576125406124ef565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8160601b9050919050565b5f61258f82612579565b9050919050565b5f6125a082612585565b9050919050565b6125b86125b382611f54565b612596565b82525050565b5f819050919050565b6125d86125d382611eaf565b6125be565b82525050565b5f6125e982866125a7565b6014820191506125f982856125a7565b60148201915061260982846125c7565b602082019150819050949350505050565b61262381611e7c565b811461262d575f80fd5b50565b5f8135905061263e8161261a565b92915050565b5f6020828403121561265957612658611df4565b5b5f61266684828501612630565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6126a98261226b565b810181811067ffffffffffffffff821117156126c8576126c7612673565b5b80604052505050565b5f6126da611deb565b90506126e682826126a0565b919050565b5f80fd5b600281106126fb575f80fd5b50565b5f8135905061270c816126ef565b92915050565b5f60a082840312156127275761272661266f565b5b61273160a06126d1565b90505f61274084828501611f7b565b5f830152506020612753848285016126fe565b602083015250604061276784828501611ef6565b604083015250606061277b84828501611ef6565b606083015250608061278f84828501611f7b565b60808301525092915050565b5f60a082840312156127b0576127af611df4565b5b5f6127bd84828501612712565b91505092915050565b5f6127d082611eaf565b91506127db83611eaf565b92508282026127e981611eaf565b91508282048414831517612800576127ff61248f565b5b5092915050565b5f60608201905061281a5f830186612020565b6128276020830185611eb8565b6128346040830184611eb8565b949350505050565b5f80fd5b5f67ffffffffffffffff82111561285a57612859612673565b5b6128638261226b565b9050602081019050919050565b828183375f83830152505050565b5f61289061288b84612840565b6126d1565b9050828152602081018484840111156128ac576128ab61283c565b5b6128b7848285612870565b509392505050565b5f82601f8301126128d3576128d2612048565b5b81356128e384826020860161287e565b91505092915050565b5f604082840312156129015761290061266f565b5b61290b60406126d1565b90505f61291a84828501611f7b565b5f83015250602082013567ffffffffffffffff81111561293d5761293c6126eb565b5b612949848285016128bf565b60208301525092915050565b5f6020828403121561296a57612969611df4565b5b5f82013567ffffffffffffffff81111561298757612986611df8565b5b612993848285016128ec565b91505092915050565b5f815190506129aa81611ee0565b92915050565b5f602082840312156129c5576129c4611df4565b5b5f6129d28482850161299c565b91505092915050565b6129e481611f54565b82525050565b5f82825260208201905092915050565b5f612a0482612243565b612a0e81856129ea565b9350612a1e81856020860161225d565b612a278161226b565b840191505092915050565b5f604083015f830151612a475f8601826129db565b5060208301518482036020860152612a5f82826129fa565b9150508091505092915050565b5f6020820190508181035f830152612a848184612a32565b905092915050565b5f604082019050612a9f5f830185612020565b8181036020830152612ab1818461227b565b90509392505050565b5f612ac482611eaf565b9150612acf83611eaf565b925082612adf57612ade6124ef565b5b828204905092915050565b5f612af482611eaf565b9150612aff83611eaf565b9250828203905081811115612b1757612b1661248f565b5b92915050565b612b2681611eaf565b82525050565b602082015f820151612b405f850182612b1d565b50505050565b5f602082019050612b595f830184612b2c565b92915050565b60038110612b7057612b6f6122d3565b5b50565b5f819050612b8082612b5f565b919050565b5f612b8f82612b73565b9050919050565b612b9f81612b85565b82525050565b5f608083015f830151612bba5f860182612b96565b506020830151612bcd60208601826129db565b506040830151612be060408601826129db565b5060608301518482036060860152612bf882826129fa565b9150508091505092915050565b5f6020820190508181035f830152612c1d8184612ba5565b905092915050565b5f612c2f82611eaf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c6157612c6061248f565b5b60018201905091905056fea2646970667358221220410c1d04820fa5550ff3aa75a902850d36cca567632e555158b82f613e89f94864736f6c634300081a0033", e = class e extends I {
|
|
6
|
+
import { RegistryType as z } from "../utils.js";
|
|
7
|
+
const E = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612ca2806101185f395ff3fe608060405260043610610203575f3560e01c806354d1f13d11610117578063c884ef831161009f578063ec87621c1161006e578063ec87621c14610702578063f04e283e1461072c578063f2fde38b14610748578063fe9fbb8014610764578063fee81cf4146107a057610203565b8063c884ef8314610638578063db09da1214610674578063dcc21361146106b0578063dcc59b6f146106d857610203565b8063a4d66daf116100e6578063a4d66daf14610544578063a8c62e761461056e578063b30906d414610598578063bb1757cf146105d4578063be4994f81461061057610203565b806354d1f13d146104dc578063715018a6146104e657806375b238fc146104f05780638da5cb5b1461051a57610203565b806328d6183b1161019a578063439fab9111610169578063439fab91146103e3578063474f5a441461040b5780634a4ee7b1146104485780634e7165a214610464578063514e62fc146104a057610203565b806328d6183b1461032b5780632de948071461035557806338d52e0f146103915780634359d28a146103bb57610203565b80631cd64df4116101d65780631cd64df4146102a55780632275aea9146102e1578063228cb733146102f7578063256929621461032157610203565b806301ffc9a71461020757806307621eca14610243578063183a4f6e1461026d5780631c10893f14610289575b5f80fd5b348015610212575f80fd5b5061022d60048036038101906102289190611e51565b6107dc565b60405161023a9190611e96565b60405180910390f35b34801561024e575f80fd5b50610257610855565b6040516102649190611ec7565b60405180910390f35b61028760048036038101906102829190611f0a565b61085e565b005b6102a3600480360381019061029e9190611f8f565b61086b565b005b3480156102b0575f80fd5b506102cb60048036038101906102c69190611f8f565b610881565b6040516102d89190611e96565b60405180910390f35b3480156102ec575f80fd5b506102f5610897565b005b348015610302575f80fd5b5061030b610a63565b6040516103189190611ec7565b60405180910390f35b610329610a69565b005b348015610336575f80fd5b5061033f610aba565b60405161034c9190611fdc565b60405180910390f35b348015610360575f80fd5b5061037b60048036038101906103769190611ff5565b610ae1565b6040516103889190611ec7565b60405180910390f35b34801561039c575f80fd5b506103a5610afa565b6040516103b2919061202f565b60405180910390f35b3480156103c6575f80fd5b506103e160048036038101906103dc91906120fe565b610b1d565b005b3480156103ee575f80fd5b50610409600480360381019061040491906121d1565b610c2b565b005b348015610416575f80fd5b50610431600480360381019061042c91906121d1565b610e6b565b60405161043f92919061221c565b60405180910390f35b610462600480360381019061045d9190611f8f565b611105565b005b34801561046f575f80fd5b5061048a600480360381019061048591906121d1565b61111b565b60405161049791906122b3565b60405180910390f35b3480156104ab575f80fd5b506104c660048036038101906104c19190611f8f565b611239565b6040516104d39190611e96565b60405180910390f35b6104e4611250565b005b6104ee611289565b005b3480156104fb575f80fd5b5061050461129c565b6040516105119190611ec7565b60405180910390f35b348015610525575f80fd5b5061052e6112a1565b60405161053b919061202f565b60405180910390f35b34801561054f575f80fd5b506105586112c9565b6040516105659190611ec7565b60405180910390f35b348015610579575f80fd5b506105826112cf565b60405161058f9190612346565b60405180910390f35b3480156105a3575f80fd5b506105be60048036038101906105b99190611f0a565b6112e1565b6040516105cb919061202f565b60405180910390f35b3480156105df575f80fd5b506105fa60048036038101906105f5919061235f565b61131c565b6040516106079190611e96565b60405180910390f35b34801561061b575f80fd5b5061063660048036038101906106319190612411565b61160b565b005b348015610643575f80fd5b5061065e60048036038101906106599190611ff5565b6116c1565b60405161066b9190611e96565b60405180910390f35b34801561067f575f80fd5b5061069a6004803603810190610695919061235f565b6116de565b6040516106a79190611e96565b60405180910390f35b3480156106bb575f80fd5b506106d660048036038101906106d19190612411565b6116f1565b005b3480156106e3575f80fd5b506106ec6117a7565b6040516106f99190611ec7565b60405180910390f35b34801561070d575f80fd5b506107166117ad565b6040516107239190611ec7565b60405180910390f35b61074660048036038101906107419190611ff5565b6117b2565b005b610762600480360381019061075d9190611ff5565b6117f0565b005b34801561076f575f80fd5b5061078a60048036038101906107859190611ff5565b611819565b6040516107979190611e96565b60405180910390f35b3480156107ab575f80fd5b506107c660048036038101906107c19190611ff5565b61186c565b6040516107d39190611ec7565b60405180910390f35b5f7f7cc1d5bb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061084e575061084d82611885565b5b9050919050565b5f600254905090565b61086833826118fe565b50565b61087361190d565b61087d8282611944565b5050565b5f818261088d85610ae1565b1614905092915050565b60016108a281611954565b6001808111156108b5576108b46122d3565b5b60045f9054906101000a900460ff1660018111156108d6576108d56122d3565b5b1461090d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040518060200160405280424461092591906124bc565b81525090505f6006808054905061093b8461197b565b610945919061251c565b815481106109565761095561254c565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109cc816002545f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198a9092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600254604051602001610a3a939291906125de565b604051602081830303815290604052604051610a5691906122b3565b60405180910390a2505050565b60025481565b5f610a726119d3565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f7cc1d5bb00000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002610b28816119dd565b828290508585905014610b67576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610c23575f848483818110610b8857610b8761254c565b5b9050602002016020810190610b9d9190612644565b90506001151581151503610be257610bdd878784818110610bc157610bc061254c565b5b9050602002016020810190610bd69190611ff5565b6001611944565b610c15565b610c14878784818110610bf857610bf761254c565b5b9050602002016020810190610c0d9190611ff5565b60016118fe565b5b508080600101915050610b69565b505050505050565b5f610c34611a12565b90508054600382558015610c665760018160011c14303b10610c5d5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610c77919061279b565b90505f81604001511480610c8e57505f8160600151145b15610cc5576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600180811115610cd957610cd86122d3565b5b82602001516001811115610cf057610cef6122d3565b5b03610cff578160400151610d14565b81606001518260400151610d1391906127c6565b5b90505f610d4330845f015173ffffffffffffffffffffffffffffffffffffffff16611a3b90919063ffffffff16565b905081811015610d9157825f015181836040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610d8893929190612807565b60405180910390fd5b825f01515f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826020015160045f6101000a81548160ff02191690836001811115610dfb57610dfa6122d3565b5b021790555082604001516002819055508260600151600581905550610e1f33611a6e565b610e2e83608001516001611b44565b5050508015610e66576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f80610e7561190d565b5f8484810190610e859190612955565b90505f8160200151806020019051810190610ea091906129b0565b9050600180811115610eb557610eb46122d3565b5b60045f9054906101000a900460ff166001811115610ed657610ed56122d3565b5b03610f5c5760025481141580610eed57505f600154115b15610f50573382604051602001610f049190612a6c565b6040516020818303038152906040526040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610f47929190612a8c565b60405180910390fd5b5f600581905550610ff4565b5f60025482610f6b919061251c565b14610fce573382604051602001610f829190612a6c565b6040516020818303038152906040526040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610fc5929190612a8c565b60405180910390fd5b60025481610fdc9190612aba565b60055f828254610fec9190612aea565b925050819055505b611041825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198a9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f0151846040516020016110b3939291906125de565b6040516020818303038152906040526040516110cf91906122b3565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff169350935050509250929050565b61110d61190d565b61111782826118fe565b5050565b60605f838381019061112d919061279b565b90505f600180811115611143576111426122d3565b5b8260200151600181111561115a576111596122d3565b5b0361116957816040015161117e565b8160600151826040015161117d91906127c6565b5b905060405180608001604052806001600281111561119f5761119e6122d3565b5b8152602001835f015173ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016040518060200160405280848152506040516020016111fe9190612b46565b6040516020818303038152906040528152506040516020016112209190612c05565b6040516020818303038152906040529250505092915050565b5f808261124585610ae1565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b61129161190d565b61129a5f611b85565b565b600281565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60055481565b60045f9054906101000a900460ff1681565b600681815481106112f0575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61132561190d565b61132e84611c4b565b611364576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6001811115611377576113766122d3565b5b60045f9054906101000a900460ff166001811115611398576113976122d3565b5b036114f05760015f8154809291906113af90612c25565b9190505550600160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611455846002545f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198a9092919063ffffffff16565b8373ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866002546040516020016114c3939291906125de565b6040516020818303038152906040526040516114df91906122b3565b60405180910390a260019050611604565b60015f81548092919061150290612c25565b9190505550600160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600684908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff167ff0abe0f5c6f02112a9a4332e7b091bf49040ffddeedb73785a9b9a0a3ca7f15360405160405180910390a2600190505b9392505050565b6002611616816119dd565b828290508585905014611655576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156116b9576116ac8686838181106116785761167761254c565b5b905060200201602081019061168d9190611ff5565b8585848181106116a05761169f61254c565b5b90506020020135611944565b8080600101915050611657565b505050505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f6116e884611c4b565b90509392505050565b60026116fc816119dd565b82829050858590501461173b576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561179f5761179286868381811061175e5761175d61254c565b5b90506020020160208101906117739190611ff5565b8585848181106117865761178561254c565b5b905060200201356118fe565b808060010191505061173d565b505050505050565b60015481565b600181565b6117ba61190d565b63389a75e1600c52805f526020600c2080544211156117e057636f5e88185f526004601cfd5b5f8155506117ed81611b85565b50565b6117f861190d565b8060601b61180d57637448fbae5f526004601cfd5b61181681611b85565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff166118396112a1565b73ffffffffffffffffffffffffffffffffffffffff1614806118655750611864826002600117611239565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806118f757506118f682611cad565b5b9050919050565b61190982825f611d26565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611942576382b429005f526004601cfd5b565b61195082826001611d26565b5050565b638b78c6d8600c52335f52806020600c205416611978576382b429005f526004601cfd5b50565b5f602082209050808252919050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166119ca576390b8ec185f526004601cfd5b5f603452505050565b5f6202a300905090565b638b78c6d819543314611a0f57638b78c6d8600c52335f52806020600c205416611a0e576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b611a76611d7e565b15611aee577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415611ab057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350611b41565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b611b8d611d7e565b15611bf2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550611c48565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611ca65750600554600154105b9050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611d1f5750611d1e82611d82565b5b9050919050565b638b78c6d8600c52825f526020600c20805483811783611d4857848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611e3081611dfc565b8114611e3a575f80fd5b50565b5f81359050611e4b81611e27565b92915050565b5f60208284031215611e6657611e65611df4565b5b5f611e7384828501611e3d565b91505092915050565b5f8115159050919050565b611e9081611e7c565b82525050565b5f602082019050611ea95f830184611e87565b92915050565b5f819050919050565b611ec181611eaf565b82525050565b5f602082019050611eda5f830184611eb8565b92915050565b611ee981611eaf565b8114611ef3575f80fd5b50565b5f81359050611f0481611ee0565b92915050565b5f60208284031215611f1f57611f1e611df4565b5b5f611f2c84828501611ef6565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f5e82611f35565b9050919050565b611f6e81611f54565b8114611f78575f80fd5b50565b5f81359050611f8981611f65565b92915050565b5f8060408385031215611fa557611fa4611df4565b5b5f611fb285828601611f7b565b9250506020611fc385828601611ef6565b9150509250929050565b611fd681611dfc565b82525050565b5f602082019050611fef5f830184611fcd565b92915050565b5f6020828403121561200a57612009611df4565b5b5f61201784828501611f7b565b91505092915050565b61202981611f54565b82525050565b5f6020820190506120425f830184612020565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261206957612068612048565b5b8235905067ffffffffffffffff8111156120865761208561204c565b5b6020830191508360208202830111156120a2576120a1612050565b5b9250929050565b5f8083601f8401126120be576120bd612048565b5b8235905067ffffffffffffffff8111156120db576120da61204c565b5b6020830191508360208202830111156120f7576120f6612050565b5b9250929050565b5f805f806040858703121561211657612115611df4565b5b5f85013567ffffffffffffffff81111561213357612132611df8565b5b61213f87828801612054565b9450945050602085013567ffffffffffffffff81111561216257612161611df8565b5b61216e878288016120a9565b925092505092959194509250565b5f8083601f84011261219157612190612048565b5b8235905067ffffffffffffffff8111156121ae576121ad61204c565b5b6020830191508360018202830111156121ca576121c9612050565b5b9250929050565b5f80602083850312156121e7576121e6611df4565b5b5f83013567ffffffffffffffff81111561220457612203611df8565b5b6122108582860161217c565b92509250509250929050565b5f60408201905061222f5f830185611eb8565b61223c6020830184612020565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61228582612243565b61228f818561224d565b935061229f81856020860161225d565b6122a88161226b565b840191505092915050565b5f6020820190508181035f8301526122cb818461227b565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110612311576123106122d3565b5b50565b5f81905061232182612300565b919050565b5f61233082612314565b9050919050565b61234081612326565b82525050565b5f6020820190506123595f830184612337565b92915050565b5f805f6040848603121561237657612375611df4565b5b5f61238386828701611f7b565b935050602084013567ffffffffffffffff8111156123a4576123a3611df8565b5b6123b08682870161217c565b92509250509250925092565b5f8083601f8401126123d1576123d0612048565b5b8235905067ffffffffffffffff8111156123ee576123ed61204c565b5b60208301915083602082028301111561240a57612409612050565b5b9250929050565b5f805f806040858703121561242957612428611df4565b5b5f85013567ffffffffffffffff81111561244657612445611df8565b5b61245287828801612054565b9450945050602085013567ffffffffffffffff81111561247557612474611df8565b5b612481878288016123bc565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6124c682611eaf565b91506124d183611eaf565b92508282019050808211156124e9576124e861248f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61252682611eaf565b915061253183611eaf565b925082612541576125406124ef565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8160601b9050919050565b5f61258f82612579565b9050919050565b5f6125a082612585565b9050919050565b6125b86125b382611f54565b612596565b82525050565b5f819050919050565b6125d86125d382611eaf565b6125be565b82525050565b5f6125e982866125a7565b6014820191506125f982856125a7565b60148201915061260982846125c7565b602082019150819050949350505050565b61262381611e7c565b811461262d575f80fd5b50565b5f8135905061263e8161261a565b92915050565b5f6020828403121561265957612658611df4565b5b5f61266684828501612630565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6126a98261226b565b810181811067ffffffffffffffff821117156126c8576126c7612673565b5b80604052505050565b5f6126da611deb565b90506126e682826126a0565b919050565b5f80fd5b600281106126fb575f80fd5b50565b5f8135905061270c816126ef565b92915050565b5f60a082840312156127275761272661266f565b5b61273160a06126d1565b90505f61274084828501611f7b565b5f830152506020612753848285016126fe565b602083015250604061276784828501611ef6565b604083015250606061277b84828501611ef6565b606083015250608061278f84828501611f7b565b60808301525092915050565b5f60a082840312156127b0576127af611df4565b5b5f6127bd84828501612712565b91505092915050565b5f6127d082611eaf565b91506127db83611eaf565b92508282026127e981611eaf565b91508282048414831517612800576127ff61248f565b5b5092915050565b5f60608201905061281a5f830186612020565b6128276020830185611eb8565b6128346040830184611eb8565b949350505050565b5f80fd5b5f67ffffffffffffffff82111561285a57612859612673565b5b6128638261226b565b9050602081019050919050565b828183375f83830152505050565b5f61289061288b84612840565b6126d1565b9050828152602081018484840111156128ac576128ab61283c565b5b6128b7848285612870565b509392505050565b5f82601f8301126128d3576128d2612048565b5b81356128e384826020860161287e565b91505092915050565b5f604082840312156129015761290061266f565b5b61290b60406126d1565b90505f61291a84828501611f7b565b5f83015250602082013567ffffffffffffffff81111561293d5761293c6126eb565b5b612949848285016128bf565b60208301525092915050565b5f6020828403121561296a57612969611df4565b5b5f82013567ffffffffffffffff81111561298757612986611df8565b5b612993848285016128ec565b91505092915050565b5f815190506129aa81611ee0565b92915050565b5f602082840312156129c5576129c4611df4565b5b5f6129d28482850161299c565b91505092915050565b6129e481611f54565b82525050565b5f82825260208201905092915050565b5f612a0482612243565b612a0e81856129ea565b9350612a1e81856020860161225d565b612a278161226b565b840191505092915050565b5f604083015f830151612a475f8601826129db565b5060208301518482036020860152612a5f82826129fa565b9150508091505092915050565b5f6020820190508181035f830152612a848184612a32565b905092915050565b5f604082019050612a9f5f830185612020565b8181036020830152612ab1818461227b565b90509392505050565b5f612ac482611eaf565b9150612acf83611eaf565b925082612adf57612ade6124ef565b5b828204905092915050565b5f612af482611eaf565b9150612aff83611eaf565b9250828203905081811115612b1757612b1661248f565b5b92915050565b612b2681611eaf565b82525050565b602082015f820151612b405f850182612b1d565b50505050565b5f602082019050612b595f830184612b2c565b92915050565b60038110612b7057612b6f6122d3565b5b50565b5f819050612b8082612b5f565b919050565b5f612b8f82612b73565b9050919050565b612b9f81612b85565b82525050565b5f608083015f830151612bba5f860182612b96565b506020830151612bcd60208601826129db565b506040830151612be060408601826129db565b5060608301518482036060860152612bf882826129fa565b9150508091505092915050565b5f6020820190508181035f830152612c1d8184612ba5565b905092915050565b5f612c2f82611eaf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c6157612c6061248f565b5b60018201905091905056fea2646970667358221220410c1d04820fa5550ff3aa75a902850d36cca567632e555158b82f613e89f94864736f6c634300081a0033", e = class e extends q {
|
|
8
8
|
constructor() {
|
|
9
9
|
super(...arguments), this.abi = s;
|
|
10
10
|
}
|
|
@@ -82,7 +82,7 @@ const k = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
82
82
|
* @returns {Promise<Address>}
|
|
83
83
|
*/
|
|
84
84
|
async asset(f) {
|
|
85
|
-
return await
|
|
85
|
+
return await u(this._config, {
|
|
86
86
|
address: this.assertValidAddress(),
|
|
87
87
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
88
88
|
...f
|
|
@@ -97,7 +97,7 @@ const k = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
97
97
|
* @returns {Promise<StrategyType>}
|
|
98
98
|
*/
|
|
99
99
|
strategy(f) {
|
|
100
|
-
return
|
|
100
|
+
return w(this._config, {
|
|
101
101
|
address: this.assertValidAddress(),
|
|
102
102
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
103
103
|
...f
|
|
@@ -172,7 +172,7 @@ const k = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
172
172
|
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - Returns true if successfully claimed
|
|
173
173
|
*/
|
|
174
174
|
async claimRaw(f, b) {
|
|
175
|
-
const { request: a, result: d } = await
|
|
175
|
+
const { request: a, result: d } = await A(
|
|
176
176
|
this._config,
|
|
177
177
|
{
|
|
178
178
|
address: this.assertValidAddress(),
|
|
@@ -182,7 +182,7 @@ const k = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
182
182
|
...b
|
|
183
183
|
}
|
|
184
184
|
);
|
|
185
|
-
return { hash: await
|
|
185
|
+
return { hash: await p(this._config, a), result: d };
|
|
186
186
|
}
|
|
187
187
|
/**
|
|
188
188
|
* Clawback assets from the incentive
|
|
@@ -206,7 +206,7 @@ const k = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
206
206
|
* @returns {Promise<{ hash: `0x${string}`; result: boolean; }>} - True if the assets were successfully clawbacked
|
|
207
207
|
*/
|
|
208
208
|
async clawbackRaw(f, b) {
|
|
209
|
-
const { request: a, result: d } = await
|
|
209
|
+
const { request: a, result: d } = await T(
|
|
210
210
|
this._config,
|
|
211
211
|
{
|
|
212
212
|
address: this.assertValidAddress(),
|
|
@@ -228,7 +228,7 @@ const k = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
228
228
|
* @returns {Promise<boolean>} = True if the incentive is claimable based on the data payload
|
|
229
229
|
*/
|
|
230
230
|
async isClaimable(f, b) {
|
|
231
|
-
return await
|
|
231
|
+
return await _(this._config, {
|
|
232
232
|
address: this.assertValidAddress(),
|
|
233
233
|
args: [c(f)],
|
|
234
234
|
// biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally
|
|
@@ -255,7 +255,7 @@ const k = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
255
255
|
* @returns {Promise<{ hash: `0x${string}`; result: void; }>}
|
|
256
256
|
*/
|
|
257
257
|
async drawRaffleRaw(f) {
|
|
258
|
-
const { request: b, result: a } = await
|
|
258
|
+
const { request: b, result: a } = await R(
|
|
259
259
|
this._config,
|
|
260
260
|
{
|
|
261
261
|
address: this.assertValidAddress(),
|
|
@@ -281,8 +281,8 @@ const k = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
281
281
|
);
|
|
282
282
|
return {
|
|
283
283
|
abi: s,
|
|
284
|
-
bytecode:
|
|
285
|
-
args: [
|
|
284
|
+
bytecode: E,
|
|
285
|
+
args: [I(a)],
|
|
286
286
|
...this.optionallyAttachAccount(d.account)
|
|
287
287
|
};
|
|
288
288
|
}
|
|
@@ -294,22 +294,22 @@ const k = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
294
294
|
* @description This function returns `zeroHash` because ERC20Incentive doesn't use any specific claim data.
|
|
295
295
|
*/
|
|
296
296
|
buildClaimData() {
|
|
297
|
-
return
|
|
297
|
+
return x;
|
|
298
298
|
}
|
|
299
299
|
};
|
|
300
300
|
e.bases = {
|
|
301
301
|
31337: void 0,
|
|
302
|
-
...
|
|
303
|
-
}, e.registryType =
|
|
302
|
+
...k
|
|
303
|
+
}, e.registryType = z.INCENTIVE;
|
|
304
304
|
let t = e;
|
|
305
|
-
function
|
|
305
|
+
function I({
|
|
306
306
|
asset: r,
|
|
307
307
|
strategy: f,
|
|
308
308
|
reward: b,
|
|
309
309
|
limit: a,
|
|
310
|
-
manager: d =
|
|
310
|
+
manager: d = P
|
|
311
311
|
}) {
|
|
312
|
-
return
|
|
312
|
+
return D(
|
|
313
313
|
[
|
|
314
314
|
{ type: "address", name: "asset" },
|
|
315
315
|
{ type: "uint8", name: "strategy" },
|
|
@@ -323,6 +323,6 @@ function z({
|
|
|
323
323
|
export {
|
|
324
324
|
t as ERC20Incentive,
|
|
325
325
|
s as erc20IncentiveAbi,
|
|
326
|
-
|
|
326
|
+
I as prepareERC20IncentivePayload
|
|
327
327
|
};
|
|
328
328
|
//# sourceMappingURL=ERC20Incentive.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../generated-Cqn4wS01.cjs"),E=require("@wagmi/core"),i=require("viem"),m=require("../deployments-DF_6-7hH.cjs"),u=require("../Actions/EventAction.cjs"),d=require("../errors.cjs"),v=require("../utils.cjs"),h=require("./ERC20VariableIncentive.cjs"),T="0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612b11806101185f395ff3fe608060405260043610610203575f3560e01c8063715018a611610117578063d54ad2a11161009f578063ec87621c1161006e578063ec87621c14610707578063f04e283e14610731578063f2fde38b1461074d578063fe9fbb8014610769578063fee81cf4146107a557610203565b8063d54ad2a11461064f578063db09da1214610679578063dcc21361146106b5578063dcc59b6f146106dd57610203565b8063a4d66daf116100e6578063a4d66daf1461055b578063a871ced214610585578063bb1757cf146105af578063be4994f8146105eb578063c884ef831461061357610203565b8063715018a6146104d057806375b238fc146104da57806377548687146105045780638da5cb5b1461053157610203565b80632de948071161019a578063474f5a4411610169578063474f5a44146103f55780634a4ee7b1146104325780634e7165a21461044e578063514e62fc1461048a57806354d1f13d146104c657610203565b80632de948071461033f57806338d52e0f1461037b5780634359d28a146103a5578063439fab91146103cd57610203565b80631cd64df4116101d65780631cd64df4146102a5578063228cb733146102e1578063256929621461030b57806328d6183b1461031557610203565b806301ffc9a71461020757806307621eca14610243578063183a4f6e1461026d5780631c10893f14610289575b5f80fd5b348015610212575f80fd5b5061022d60048036038101906102289190611abd565b6107e1565b60405161023a9190611b02565b60405180910390f35b34801561024e575f80fd5b5061025761085a565b6040516102649190611b33565b60405180910390f35b61028760048036038101906102829190611b76565b610863565b005b6102a3600480360381019061029e9190611bfb565b610870565b005b3480156102b0575f80fd5b506102cb60048036038101906102c69190611bfb565b610886565b6040516102d89190611b02565b60405180910390f35b3480156102ec575f80fd5b506102f561089c565b6040516103029190611b33565b60405180910390f35b6103136108a2565b005b348015610320575f80fd5b506103296108f3565b6040516103369190611c48565b60405180910390f35b34801561034a575f80fd5b5061036560048036038101906103609190611c61565b61091a565b6040516103729190611b33565b60405180910390f35b348015610386575f80fd5b5061038f610933565b60405161039c9190611c9b565b60405180910390f35b3480156103b0575f80fd5b506103cb60048036038101906103c69190611d6a565b610956565b005b3480156103d8575f80fd5b506103f360048036038101906103ee9190611e3d565b610a64565b005b348015610400575f80fd5b5061041b60048036038101906104169190611e3d565b610ccc565b604051610429929190611e88565b60405180910390f35b61044c60048036038101906104479190611bfb565b610e30565b005b348015610459575f80fd5b50610474600480360381019061046f9190611e3d565b610e46565b6040516104819190611f1f565b60405180910390f35b348015610495575f80fd5b506104b060048036038101906104ab9190611bfb565b610f14565b6040516104bd9190611b02565b60405180910390f35b6104ce610f2b565b005b6104d8610f64565b005b3480156104e5575f80fd5b506104ee610f77565b6040516104fb9190611b33565b60405180910390f35b34801561050f575f80fd5b50610518610f7c565b6040516105289493929190611fe5565b60405180910390f35b34801561053c575f80fd5b50610545610fd1565b6040516105529190611c9b565b60405180910390f35b348015610566575f80fd5b5061056f610ff9565b60405161057c9190611b33565b60405180910390f35b348015610590575f80fd5b50610599610fff565b6040516105a691906120b7565b60405180910390f35b3480156105ba575f80fd5b506105d560048036038101906105d091906120d0565b6110ce565b6040516105e29190611b02565b60405180910390f35b3480156105f6575f80fd5b50610611600480360381019061060c9190612182565b6112c2565b005b34801561061e575f80fd5b5061063960048036038101906106349190611c61565b611378565b6040516106469190611b02565b60405180910390f35b34801561065a575f80fd5b50610663611395565b6040516106709190611b33565b60405180910390f35b348015610684575f80fd5b5061069f600480360381019061069a91906120d0565b61139b565b6040516106ac9190611b02565b60405180910390f35b3480156106c0575f80fd5b506106db60048036038101906106d69190612182565b6113ae565b005b3480156106e8575f80fd5b506106f1611464565b6040516106fe9190611b33565b60405180910390f35b348015610712575f80fd5b5061071b61146a565b6040516107289190611b33565b60405180910390f35b61074b60048036038101906107469190611c61565b61146f565b005b61076760048036038101906107629190611c61565b6114ad565b005b348015610774575f80fd5b5061078f600480360381019061078a9190611c61565b6114d6565b60405161079c9190611b02565b60405180910390f35b3480156107b0575f80fd5b506107cb60048036038101906107c69190611c61565b611529565b6040516107d89190611b33565b60405180910390f35b5f7f90318111000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610853575061085282611542565b5b9050919050565b5f600254905090565b61086d33826115bb565b50565b6108786115ca565b6108828282611601565b5050565b5f81826108928561091a565b1614905092915050565b60025481565b5f6108ab611611565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f9031811100000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026109618161161b565b8282905085859050146109a0576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610a5c575f8484838181106109c1576109c0612200565b5b90506020020160208101906109d69190612257565b90506001151581151503610a1b57610a168787848181106109fa576109f9612200565b5b9050602002016020810190610a0f9190611c61565b6001611601565b610a4e565b610a4d878784818110610a3157610a30612200565b5b9050602002016020810190610a469190611c61565b60016115bb565b5b5080806001019150506109a2565b505050505050565b5f610a6d611650565b90508054600382558015610a9f5760018160011c14303b10610a965763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610aa933611679565b5f8383810190610ab99190612463565b90505f815f015190505f826020015190505f836040015190505f846060015190505f8203610b13576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610b3d308673ffffffffffffffffffffffffffffffffffffffff1661174f90919063ffffffff16565b905082811015610b8b57855f015181846040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610b829392919061248e565b60405180910390fd5b845f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600281905550826004819055505f6005819055508160065f820151815f015f6101000a81548160ff02191690836001811115610c0a57610c09611f3f565b5b0217905550602082015181600101556040820151816002015f6101000a81548160ff021916908360ff16021790555060608201518160020160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050610c8c33611679565b5050505050508015610cc7576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610cd981611782565b5f8585810190610ce991906125dc565b90505f8160200151806020019051810190610d049190612637565b90508060045f828254610d17919061268f565b92505081905550610d6b825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117a99092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610ddd93929190612727565b604051602081830303815290604052604051610df99190611f1f565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610e386115ca565b610e4282826115bb565b5050565b60605f808484810190610e59919061279e565b9250509150604051806080016040528060016002811115610e7d57610e7c611f3f565b5b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610ed99190612817565b604051602081830303815290604052815250604051602001610efb919061291e565b6040516020818303038152906040529250505092915050565b5f8082610f208561091a565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610f6c6115ca565b610f755f6117f2565b565b600281565b6006805f015f9054906101000a900460ff1690806001015490806002015f9054906101000a900460ff16908060020160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b611007611a05565b60066040518060800160405290815f82015f9054906101000a900460ff16600181111561103757611036611f3f565b5b600181111561104957611048611f3f565b5b815260200160018201548152602001600282015f9054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905090565b5f6110d76115ca565b5f83838101906110e791906129c3565b90505f81602001518060200190518101906111029190612637565b90505f61110e876118b8565b611144576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6002540361115557819050611179565b670de0b6b3a76400008260025461116c9190612a0a565b6111769190612a78565b90505b6004548160055461118a9190612aa8565b11156111c2576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f8282546111d39190612aa8565b9250508190555061122487825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117a99092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16898460405160200161129093929190612727565b6040516020818303038152906040526040516112ac9190611f1f565b60405180910390a2600193505050509392505050565b60026112cd8161161b565b82829050858590501461130c576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156113705761136386868381811061132f5761132e612200565b5b90506020020160208101906113449190611c61565b85858481811061135757611356612200565b5b90506020020135611601565b808060010191505061130e565b505050505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f6113a5846118b8565b90509392505050565b60026113b98161161b565b8282905085859050146113f8576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561145c5761144f86868381811061141b5761141a612200565b5b90506020020160208101906114309190611c61565b85858481811061144357611442612200565b5b905060200201356115bb565b80806001019150506113fa565b505050505050565b60015481565b600181565b6114776115ca565b63389a75e1600c52805f526020600c20805442111561149d57636f5e88185f526004601cfd5b5f8155506114aa816117f2565b50565b6114b56115ca565b8060601b6114ca57637448fbae5f526004601cfd5b6114d3816117f2565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff166114f6610fd1565b73ffffffffffffffffffffffffffffffffffffffff1614806115225750611521826002600117610f14565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806115b457506115b3826118c7565b5b9050919050565b6115c682825f611940565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146115ff576382b429005f526004601cfd5b565b61160d82826001611940565b5050565b5f6202a300905090565b638b78c6d81954331461164d57638b78c6d8600c52335f52806020600c20541661164c576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611681611998565b156116f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278054156116bb57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35061174c565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b638b78c6d8600c52335f52806020600c2054166117a6576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166117e9576390b8ec185f526004601cfd5b5f603452505050565b6117fa611998565b1561185f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b82178155506118b5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454600554109050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061193957506119388261199c565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361196257848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60405180608001604052805f6001811115611a2357611a22611f3f565b5b81526020015f80191681526020015f60ff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611a9c81611a68565b8114611aa6575f80fd5b50565b5f81359050611ab781611a93565b92915050565b5f60208284031215611ad257611ad1611a60565b5b5f611adf84828501611aa9565b91505092915050565b5f8115159050919050565b611afc81611ae8565b82525050565b5f602082019050611b155f830184611af3565b92915050565b5f819050919050565b611b2d81611b1b565b82525050565b5f602082019050611b465f830184611b24565b92915050565b611b5581611b1b565b8114611b5f575f80fd5b50565b5f81359050611b7081611b4c565b92915050565b5f60208284031215611b8b57611b8a611a60565b5b5f611b9884828501611b62565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611bca82611ba1565b9050919050565b611bda81611bc0565b8114611be4575f80fd5b50565b5f81359050611bf581611bd1565b92915050565b5f8060408385031215611c1157611c10611a60565b5b5f611c1e85828601611be7565b9250506020611c2f85828601611b62565b9150509250929050565b611c4281611a68565b82525050565b5f602082019050611c5b5f830184611c39565b92915050565b5f60208284031215611c7657611c75611a60565b5b5f611c8384828501611be7565b91505092915050565b611c9581611bc0565b82525050565b5f602082019050611cae5f830184611c8c565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611cd557611cd4611cb4565b5b8235905067ffffffffffffffff811115611cf257611cf1611cb8565b5b602083019150836020820283011115611d0e57611d0d611cbc565b5b9250929050565b5f8083601f840112611d2a57611d29611cb4565b5b8235905067ffffffffffffffff811115611d4757611d46611cb8565b5b602083019150836020820283011115611d6357611d62611cbc565b5b9250929050565b5f805f8060408587031215611d8257611d81611a60565b5b5f85013567ffffffffffffffff811115611d9f57611d9e611a64565b5b611dab87828801611cc0565b9450945050602085013567ffffffffffffffff811115611dce57611dcd611a64565b5b611dda87828801611d15565b925092505092959194509250565b5f8083601f840112611dfd57611dfc611cb4565b5b8235905067ffffffffffffffff811115611e1a57611e19611cb8565b5b602083019150836001820283011115611e3657611e35611cbc565b5b9250929050565b5f8060208385031215611e5357611e52611a60565b5b5f83013567ffffffffffffffff811115611e7057611e6f611a64565b5b611e7c85828601611de8565b92509250509250929050565b5f604082019050611e9b5f830185611b24565b611ea86020830184611c8c565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ef182611eaf565b611efb8185611eb9565b9350611f0b818560208601611ec9565b611f1481611ed7565b840191505092915050565b5f6020820190508181035f830152611f378184611ee7565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110611f7d57611f7c611f3f565b5b50565b5f819050611f8d82611f6c565b919050565b5f611f9c82611f80565b9050919050565b611fac81611f92565b82525050565b5f819050919050565b611fc481611fb2565b82525050565b5f60ff82169050919050565b611fdf81611fca565b82525050565b5f608082019050611ff85f830187611fa3565b6120056020830186611fbb565b6120126040830185611fd6565b61201f6060830184611c8c565b95945050505050565b61203181611f92565b82525050565b61204081611fb2565b82525050565b61204f81611fca565b82525050565b61205e81611bc0565b82525050565b608082015f8201516120785f850182612028565b50602082015161208b6020850182612037565b50604082015161209e6040850182612046565b5060608201516120b16060850182612055565b50505050565b5f6080820190506120ca5f830184612064565b92915050565b5f805f604084860312156120e7576120e6611a60565b5b5f6120f486828701611be7565b935050602084013567ffffffffffffffff81111561211557612114611a64565b5b61212186828701611de8565b92509250509250925092565b5f8083601f84011261214257612141611cb4565b5b8235905067ffffffffffffffff81111561215f5761215e611cb8565b5b60208301915083602082028301111561217b5761217a611cbc565b5b9250929050565b5f805f806040858703121561219a57612199611a60565b5b5f85013567ffffffffffffffff8111156121b7576121b6611a64565b5b6121c387828801611cc0565b9450945050602085013567ffffffffffffffff8111156121e6576121e5611a64565b5b6121f28782880161212d565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b61223681611ae8565b8114612240575f80fd5b50565b5f813590506122518161222d565b92915050565b5f6020828403121561226c5761226b611a60565b5b5f61227984828501612243565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122bc82611ed7565b810181811067ffffffffffffffff821117156122db576122da612286565b5b80604052505050565b5f6122ed611a57565b90506122f982826122b3565b919050565b5f80fd5b6002811061230e575f80fd5b50565b5f8135905061231f81612302565b92915050565b61232e81611fb2565b8114612338575f80fd5b50565b5f8135905061234981612325565b92915050565b61235881611fca565b8114612362575f80fd5b50565b5f813590506123738161234f565b92915050565b5f6080828403121561238e5761238d612282565b5b61239860806122e4565b90505f6123a784828501612311565b5f8301525060206123ba8482850161233b565b60208301525060406123ce84828501612365565b60408301525060606123e284828501611be7565b60608301525092915050565b5f60e0828403121561240357612402612282565b5b61240d60806122e4565b90505f61241c84828501611be7565b5f83015250602061242f84828501611b62565b602083015250604061244384828501611b62565b604083015250606061245784828501612379565b60608301525092915050565b5f60e0828403121561247857612477611a60565b5b5f612485848285016123ee565b91505092915050565b5f6060820190506124a15f830186611c8c565b6124ae6020830185611b24565b6124bb6040830184611b24565b949350505050565b5f80fd5b5f67ffffffffffffffff8211156124e1576124e0612286565b5b6124ea82611ed7565b9050602081019050919050565b828183375f83830152505050565b5f612517612512846124c7565b6122e4565b905082815260208101848484011115612533576125326124c3565b5b61253e8482856124f7565b509392505050565b5f82601f83011261255a57612559611cb4565b5b813561256a848260208601612505565b91505092915050565b5f6040828403121561258857612587612282565b5b61259260406122e4565b90505f6125a184828501611be7565b5f83015250602082013567ffffffffffffffff8111156125c4576125c36122fe565b5b6125d084828501612546565b60208301525092915050565b5f602082840312156125f1576125f0611a60565b5b5f82013567ffffffffffffffff81111561260e5761260d611a64565b5b61261a84828501612573565b91505092915050565b5f8151905061263181611b4c565b92915050565b5f6020828403121561264c5761264b611a60565b5b5f61265984828501612623565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61269982611b1b565b91506126a483611b1b565b92508282039050818111156126bc576126bb612662565b5b92915050565b5f8160601b9050919050565b5f6126d8826126c2565b9050919050565b5f6126e9826126ce565b9050919050565b6127016126fc82611bc0565b6126df565b82525050565b5f819050919050565b61272161271c82611b1b565b612707565b82525050565b5f61273282866126f0565b60148201915061274282856126f0565b6014820191506127528284612710565b602082019150819050949350505050565b5f61276d82611ba1565b9050919050565b61277d81612763565b8114612787575f80fd5b50565b5f8135905061279881612774565b92915050565b5f805f606084860312156127b5576127b4611a60565b5b5f6127c28682870161278a565b93505060206127d386828701611b62565b92505060406127e486828701611b62565b9150509250925092565b6127f781611b1b565b82525050565b602082015f8201516128115f8501826127ee565b50505050565b5f60208201905061282a5f8301846127fd565b92915050565b6003811061284157612840611f3f565b5b50565b5f81905061285182612830565b919050565b5f61286082612844565b9050919050565b61287081612856565b82525050565b5f82825260208201905092915050565b5f61289082611eaf565b61289a8185612876565b93506128aa818560208601611ec9565b6128b381611ed7565b840191505092915050565b5f608083015f8301516128d35f860182612867565b5060208301516128e66020860182612055565b5060408301516128f96040860182612055565b50606083015184820360608601526129118282612886565b9150508091505092915050565b5f6020820190508181035f83015261293681846128be565b905092915050565b5f6040828403121561295357612952612282565b5b61295d60406122e4565b90505f82013567ffffffffffffffff81111561297c5761297b6122fe565b5b61298884828501612546565b5f83015250602082013567ffffffffffffffff8111156129ab576129aa6122fe565b5b6129b784828501612546565b60208301525092915050565b5f602082840312156129d8576129d7611a60565b5b5f82013567ffffffffffffffff8111156129f5576129f4611a64565b5b612a018482850161293e565b91505092915050565b5f612a1482611b1b565b9150612a1f83611b1b565b9250828202612a2d81611b1b565b91508282048414831517612a4457612a43612662565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612a8282611b1b565b9150612a8d83611b1b565b925082612a9d57612a9c612a4b565b5b828204905092915050565b5f612ab282611b1b565b9150612abd83611b1b565b9250828201905080821115612ad557612ad4612662565b5b9291505056fea2646970667358221220d7ddad7d632d0c865fa8a80d93a7f20a2015170756e0cd0ee47931e44007e48464736f6c634300081a0033",l=class l extends h.ERC20VariableIncentive{constructor(){super(...arguments),this.abi=o.m}async getIncentiveCriteria(a){try{return await o.zT(this._config,{...a,address:this.assertValidAddress()})}catch(b){throw new d.IncentiveCriteriaNotFoundError(b)}}async getIncentiveScalar({chainId:a,hash:b,knownSignatures:e},s){var p;const f=await this.getIncentiveCriteria(s);if(f.criteriaType===u.SignatureType.EVENT){const c=await E.getTransactionReceipt(this._config,{chainId:a,hash:b});if(f.fieldIndex===v.CheatCodes.GAS_REBATE_INCENTIVE)return c.gasUsed*c.effectiveGasPrice+(c.blobGasUsed??0n)*(c.blobGasPrice??0n);const r=c.logs;if(r.length===0)throw new d.NoMatchingLogsError(`No logs found for event signature ${f.signature}`);try{const n=e[f.signature],t=i.parseEventLogs({abi:[n],logs:r});if(t==null||t.length===0)throw new d.NoMatchingLogsError(`No logs found for event signature ${f.signature}`);const y=((p=t[0])==null?void 0:p.args)[f.fieldIndex];if(y===void 0)throw new d.DecodedArgsError(`Decoded argument at index ${f.fieldIndex} is undefined`);return BigInt(y)}catch(n){throw new d.DecodedArgsError(`Failed to decode event log for signature ${f.signature}: ${n.message}`)}}else if(f.criteriaType===u.SignatureType.FUNC){const c=await E.getTransaction(this._config,{chainId:a,hash:b});try{const r=e[f.signature],t=i.decodeFunctionData({abi:[r],data:c.input}).args[f.fieldIndex];if(t==null)throw new d.DecodedArgsError(`Decoded argument at index ${f.fieldIndex} is undefined`);return BigInt(t)}catch(r){throw new d.DecodedArgsError(`Failed to decode function data for signature ${f.signature}: ${r.message}`)}}else throw new d.InvalidCriteriaTypeError(`Invalid criteria type ${f.criteriaType}`)}buildParameters(a,b){const[e,s]=this.validateDeploymentConfig(a,b);return{abi:o.m,bytecode:T,args:[C(e)],...this.optionallyAttachAccount(s.account)}}};l.bases={31337:void 0,...m.ERC20VariableCriteriaIncentive};let g=l;function w(){return{criteriaType:u.SignatureType.EVENT,signature:i.zeroHash,fieldIndex:v.CheatCodes.GAS_REBATE_INCENTIVE,targetContract:i.zeroAddress}}function C({asset:I,reward:a,limit:b,criteria:e}){return i.encodeAbiParameters([{type:"tuple",name:"initPayloadExtended",components:[{type:"address",name:"asset"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"},{type:"tuple",name:"criteria",components:[{type:"uint8",name:"criteriaType"},{type:"bytes32",name:"signature"},{type:"uint8",name:"fieldIndex"},{type:"address",name:"targetContract"}]}]}],[{asset:I,reward:a,limit:b,criteria:{criteriaType:e.criteriaType,signature:e.signature,fieldIndex:e.fieldIndex,targetContract:e.targetContract}}])}exports.erc20VariableCriteriaIncentiveAbi=o.m;exports.ERC20VariableCriteriaIncentive=g;exports.gasRebateIncentiveCriteria=w;exports.prepareERC20VariableCriteriaIncentivePayload=C;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../generated-BSUMIFi5.cjs"),E=require("@wagmi/core"),i=require("viem"),h=require("../deployments-DF_6-7hH.cjs"),u=require("../Actions/EventAction.cjs"),d=require("../errors.cjs"),v=require("../utils.cjs"),m=require("./ERC20VariableIncentive.cjs"),w="0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612b8a806101185f395ff3fe608060405260043610610203575f3560e01c8063715018a611610117578063d54ad2a11161009f578063ec87621c1161006e578063ec87621c14610707578063f04e283e14610731578063f2fde38b1461074d578063fe9fbb8014610769578063fee81cf4146107a557610203565b8063d54ad2a11461064f578063db09da1214610679578063dcc21361146106b5578063dcc59b6f146106dd57610203565b8063a4d66daf116100e6578063a4d66daf1461055b578063a871ced214610585578063bb1757cf146105af578063be4994f8146105eb578063c884ef831461061357610203565b8063715018a6146104d057806375b238fc146104da57806377548687146105045780638da5cb5b1461053157610203565b80632de948071161019a578063474f5a4411610169578063474f5a44146103f55780634a4ee7b1146104325780634e7165a21461044e578063514e62fc1461048a57806354d1f13d146104c657610203565b80632de948071461033f57806338d52e0f1461037b5780634359d28a146103a5578063439fab91146103cd57610203565b80631cd64df4116101d65780631cd64df4146102a5578063228cb733146102e1578063256929621461030b57806328d6183b1461031557610203565b806301ffc9a71461020757806307621eca14610243578063183a4f6e1461026d5780631c10893f14610289575b5f80fd5b348015610212575f80fd5b5061022d60048036038101906102289190611b36565b6107e1565b60405161023a9190611b7b565b60405180910390f35b34801561024e575f80fd5b5061025761085a565b6040516102649190611bac565b60405180910390f35b61028760048036038101906102829190611bef565b610863565b005b6102a3600480360381019061029e9190611c74565b610870565b005b3480156102b0575f80fd5b506102cb60048036038101906102c69190611c74565b610886565b6040516102d89190611b7b565b60405180910390f35b3480156102ec575f80fd5b506102f561089c565b6040516103029190611bac565b60405180910390f35b6103136108a2565b005b348015610320575f80fd5b506103296108f3565b6040516103369190611cc1565b60405180910390f35b34801561034a575f80fd5b5061036560048036038101906103609190611cda565b61091a565b6040516103729190611bac565b60405180910390f35b348015610386575f80fd5b5061038f610933565b60405161039c9190611d14565b60405180910390f35b3480156103b0575f80fd5b506103cb60048036038101906103c69190611de3565b610956565b005b3480156103d8575f80fd5b506103f360048036038101906103ee9190611eb6565b610a64565b005b348015610400575f80fd5b5061041b60048036038101906104169190611eb6565b610ccc565b604051610429929190611f01565b60405180910390f35b61044c60048036038101906104479190611c74565b610e30565b005b348015610459575f80fd5b50610474600480360381019061046f9190611eb6565b610e46565b6040516104819190611f98565b60405180910390f35b348015610495575f80fd5b506104b060048036038101906104ab9190611c74565b610f14565b6040516104bd9190611b7b565b60405180910390f35b6104ce610f2b565b005b6104d8610f64565b005b3480156104e5575f80fd5b506104ee610f77565b6040516104fb9190611bac565b60405180910390f35b34801561050f575f80fd5b50610518610f7c565b604051610528949392919061205e565b60405180910390f35b34801561053c575f80fd5b50610545610fd1565b6040516105529190611d14565b60405180910390f35b348015610566575f80fd5b5061056f610ff9565b60405161057c9190611bac565b60405180910390f35b348015610590575f80fd5b50610599610fff565b6040516105a69190612130565b60405180910390f35b3480156105ba575f80fd5b506105d560048036038101906105d09190612149565b6110ce565b6040516105e29190611b7b565b60405180910390f35b3480156105f6575f80fd5b50610611600480360381019061060c91906121fb565b6112c2565b005b34801561061e575f80fd5b5061063960048036038101906106349190611cda565b611378565b6040516106469190611b7b565b60405180910390f35b34801561065a575f80fd5b50610663611395565b6040516106709190611bac565b60405180910390f35b348015610684575f80fd5b5061069f600480360381019061069a9190612149565b61139b565b6040516106ac9190611b7b565b60405180910390f35b3480156106c0575f80fd5b506106db60048036038101906106d691906121fb565b6113ae565b005b3480156106e8575f80fd5b506106f1611464565b6040516106fe9190611bac565b60405180910390f35b348015610712575f80fd5b5061071b61146a565b6040516107289190611bac565b60405180910390f35b61074b60048036038101906107469190611cda565b61146f565b005b61076760048036038101906107629190611cda565b6114ad565b005b348015610774575f80fd5b5061078f600480360381019061078a9190611cda565b6114d6565b60405161079c9190611b7b565b60405180910390f35b3480156107b0575f80fd5b506107cb60048036038101906107c69190611cda565b611529565b6040516107d89190611bac565b60405180910390f35b5f7ff60c99c9000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610853575061085282611542565b5b9050919050565b5f600254905090565b61086d33826115bb565b50565b6108786115ca565b6108828282611601565b5050565b5f81826108928561091a565b1614905092915050565b60025481565b5f6108ab611611565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7ff60c99c900000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026109618161161b565b8282905085859050146109a0576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610a5c575f8484838181106109c1576109c0612279565b5b90506020020160208101906109d691906122d0565b90506001151581151503610a1b57610a168787848181106109fa576109f9612279565b5b9050602002016020810190610a0f9190611cda565b6001611601565b610a4e565b610a4d878784818110610a3157610a30612279565b5b9050602002016020810190610a469190611cda565b60016115bb565b5b5080806001019150506109a2565b505050505050565b5f610a6d611650565b90508054600382558015610a9f5760018160011c14303b10610a965763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610aa933611679565b5f8383810190610ab991906124dc565b90505f815f015190505f826020015190505f836040015190505f846060015190505f8203610b13576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610b3d308673ffffffffffffffffffffffffffffffffffffffff1661174f90919063ffffffff16565b905082811015610b8b57855f015181846040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610b8293929190612507565b60405180910390fd5b845f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600281905550826004819055505f6005819055508160065f820151815f015f6101000a81548160ff02191690836001811115610c0a57610c09611fb8565b5b0217905550602082015181600101556040820151816002015f6101000a81548160ff021916908360ff16021790555060608201518160020160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050610c8c33611679565b5050505050508015610cc7576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610cd981611782565b5f8585810190610ce99190612655565b90505f8160200151806020019051810190610d0491906126b0565b90508060045f828254610d179190612708565b92505081905550610d6b825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117a99092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610ddd939291906127a0565b604051602081830303815290604052604051610df99190611f98565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610e386115ca565b610e4282826115bb565b5050565b60605f808484810190610e599190612817565b9250509150604051806080016040528060016002811115610e7d57610e7c611fb8565b5b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610ed99190612890565b604051602081830303815290604052815250604051602001610efb9190612997565b6040516020818303038152906040529250505092915050565b5f8082610f208561091a565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610f6c6115ca565b610f755f6117f2565b565b600281565b6006805f015f9054906101000a900460ff1690806001015490806002015f9054906101000a900460ff16908060020160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b611007611a7e565b60066040518060800160405290815f82015f9054906101000a900460ff16600181111561103757611036611fb8565b5b600181111561104957611048611fb8565b5b815260200160018201548152602001600282015f9054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905090565b5f6110d76115ca565b5f83838101906110e79190612a3c565b90505f816020015180602001905181019061110291906126b0565b90505f61110e876118b8565b611144576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6002540361115557819050611179565b670de0b6b3a76400008260025461116c9190612a83565b6111769190612af1565b90505b6004548160055461118a9190612b21565b11156111c2576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f8282546111d39190612b21565b9250508190555061122487825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117a99092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff168984604051602001611290939291906127a0565b6040516020818303038152906040526040516112ac9190611f98565b60405180910390a2600193505050509392505050565b60026112cd8161161b565b82829050858590501461130c576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156113705761136386868381811061132f5761132e612279565b5b90506020020160208101906113449190611cda565b85858481811061135757611356612279565b5b90506020020135611601565b808060010191505061130e565b505050505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f6113a5846118b8565b90509392505050565b60026113b98161161b565b8282905085859050146113f8576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561145c5761144f86868381811061141b5761141a612279565b5b90506020020160208101906114309190611cda565b85858481811061144357611442612279565b5b905060200201356115bb565b80806001019150506113fa565b505050505050565b60015481565b600181565b6114776115ca565b63389a75e1600c52805f526020600c20805442111561149d57636f5e88185f526004601cfd5b5f8155506114aa816117f2565b50565b6114b56115ca565b8060601b6114ca57637448fbae5f526004601cfd5b6114d3816117f2565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff166114f6610fd1565b73ffffffffffffffffffffffffffffffffffffffff1614806115225750611521826002600117610f14565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f90318111000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806115b457506115b3826118c7565b5b9050919050565b6115c682825f611940565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146115ff576382b429005f526004601cfd5b565b61160d82826001611940565b5050565b5f6202a300905090565b638b78c6d81954331461164d57638b78c6d8600c52335f52806020600c20541661164c576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611681611998565b156116f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278054156116bb57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35061174c565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b638b78c6d8600c52335f52806020600c2054166117a6576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166117e9576390b8ec185f526004601cfd5b5f603452505050565b6117fa611998565b1561185f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b82178155506118b5565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454600554109050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061193957506119388261199c565b5b9050919050565b638b78c6d8600c52825f526020600c2080548381178361196257848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611a0e5750611a0d82611a15565b5b9050919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60405180608001604052805f6001811115611a9c57611a9b611fb8565b5b81526020015f80191681526020015f60ff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611b1581611ae1565b8114611b1f575f80fd5b50565b5f81359050611b3081611b0c565b92915050565b5f60208284031215611b4b57611b4a611ad9565b5b5f611b5884828501611b22565b91505092915050565b5f8115159050919050565b611b7581611b61565b82525050565b5f602082019050611b8e5f830184611b6c565b92915050565b5f819050919050565b611ba681611b94565b82525050565b5f602082019050611bbf5f830184611b9d565b92915050565b611bce81611b94565b8114611bd8575f80fd5b50565b5f81359050611be981611bc5565b92915050565b5f60208284031215611c0457611c03611ad9565b5b5f611c1184828501611bdb565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611c4382611c1a565b9050919050565b611c5381611c39565b8114611c5d575f80fd5b50565b5f81359050611c6e81611c4a565b92915050565b5f8060408385031215611c8a57611c89611ad9565b5b5f611c9785828601611c60565b9250506020611ca885828601611bdb565b9150509250929050565b611cbb81611ae1565b82525050565b5f602082019050611cd45f830184611cb2565b92915050565b5f60208284031215611cef57611cee611ad9565b5b5f611cfc84828501611c60565b91505092915050565b611d0e81611c39565b82525050565b5f602082019050611d275f830184611d05565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611d4e57611d4d611d2d565b5b8235905067ffffffffffffffff811115611d6b57611d6a611d31565b5b602083019150836020820283011115611d8757611d86611d35565b5b9250929050565b5f8083601f840112611da357611da2611d2d565b5b8235905067ffffffffffffffff811115611dc057611dbf611d31565b5b602083019150836020820283011115611ddc57611ddb611d35565b5b9250929050565b5f805f8060408587031215611dfb57611dfa611ad9565b5b5f85013567ffffffffffffffff811115611e1857611e17611add565b5b611e2487828801611d39565b9450945050602085013567ffffffffffffffff811115611e4757611e46611add565b5b611e5387828801611d8e565b925092505092959194509250565b5f8083601f840112611e7657611e75611d2d565b5b8235905067ffffffffffffffff811115611e9357611e92611d31565b5b602083019150836001820283011115611eaf57611eae611d35565b5b9250929050565b5f8060208385031215611ecc57611ecb611ad9565b5b5f83013567ffffffffffffffff811115611ee957611ee8611add565b5b611ef585828601611e61565b92509250509250929050565b5f604082019050611f145f830185611b9d565b611f216020830184611d05565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f6a82611f28565b611f748185611f32565b9350611f84818560208601611f42565b611f8d81611f50565b840191505092915050565b5f6020820190508181035f830152611fb08184611f60565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110611ff657611ff5611fb8565b5b50565b5f81905061200682611fe5565b919050565b5f61201582611ff9565b9050919050565b6120258161200b565b82525050565b5f819050919050565b61203d8161202b565b82525050565b5f60ff82169050919050565b61205881612043565b82525050565b5f6080820190506120715f83018761201c565b61207e6020830186612034565b61208b604083018561204f565b6120986060830184611d05565b95945050505050565b6120aa8161200b565b82525050565b6120b98161202b565b82525050565b6120c881612043565b82525050565b6120d781611c39565b82525050565b608082015f8201516120f15f8501826120a1565b50602082015161210460208501826120b0565b50604082015161211760408501826120bf565b50606082015161212a60608501826120ce565b50505050565b5f6080820190506121435f8301846120dd565b92915050565b5f805f604084860312156121605761215f611ad9565b5b5f61216d86828701611c60565b935050602084013567ffffffffffffffff81111561218e5761218d611add565b5b61219a86828701611e61565b92509250509250925092565b5f8083601f8401126121bb576121ba611d2d565b5b8235905067ffffffffffffffff8111156121d8576121d7611d31565b5b6020830191508360208202830111156121f4576121f3611d35565b5b9250929050565b5f805f806040858703121561221357612212611ad9565b5b5f85013567ffffffffffffffff8111156122305761222f611add565b5b61223c87828801611d39565b9450945050602085013567ffffffffffffffff81111561225f5761225e611add565b5b61226b878288016121a6565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6122af81611b61565b81146122b9575f80fd5b50565b5f813590506122ca816122a6565b92915050565b5f602082840312156122e5576122e4611ad9565b5b5f6122f2848285016122bc565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61233582611f50565b810181811067ffffffffffffffff82111715612354576123536122ff565b5b80604052505050565b5f612366611ad0565b9050612372828261232c565b919050565b5f80fd5b60028110612387575f80fd5b50565b5f813590506123988161237b565b92915050565b6123a78161202b565b81146123b1575f80fd5b50565b5f813590506123c28161239e565b92915050565b6123d181612043565b81146123db575f80fd5b50565b5f813590506123ec816123c8565b92915050565b5f60808284031215612407576124066122fb565b5b612411608061235d565b90505f6124208482850161238a565b5f830152506020612433848285016123b4565b6020830152506040612447848285016123de565b604083015250606061245b84828501611c60565b60608301525092915050565b5f60e0828403121561247c5761247b6122fb565b5b612486608061235d565b90505f61249584828501611c60565b5f8301525060206124a884828501611bdb565b60208301525060406124bc84828501611bdb565b60408301525060606124d0848285016123f2565b60608301525092915050565b5f60e082840312156124f1576124f0611ad9565b5b5f6124fe84828501612467565b91505092915050565b5f60608201905061251a5f830186611d05565b6125276020830185611b9d565b6125346040830184611b9d565b949350505050565b5f80fd5b5f67ffffffffffffffff82111561255a576125596122ff565b5b61256382611f50565b9050602081019050919050565b828183375f83830152505050565b5f61259061258b84612540565b61235d565b9050828152602081018484840111156125ac576125ab61253c565b5b6125b7848285612570565b509392505050565b5f82601f8301126125d3576125d2611d2d565b5b81356125e384826020860161257e565b91505092915050565b5f60408284031215612601576126006122fb565b5b61260b604061235d565b90505f61261a84828501611c60565b5f83015250602082013567ffffffffffffffff81111561263d5761263c612377565b5b612649848285016125bf565b60208301525092915050565b5f6020828403121561266a57612669611ad9565b5b5f82013567ffffffffffffffff81111561268757612686611add565b5b612693848285016125ec565b91505092915050565b5f815190506126aa81611bc5565b92915050565b5f602082840312156126c5576126c4611ad9565b5b5f6126d28482850161269c565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61271282611b94565b915061271d83611b94565b9250828203905081811115612735576127346126db565b5b92915050565b5f8160601b9050919050565b5f6127518261273b565b9050919050565b5f61276282612747565b9050919050565b61277a61277582611c39565b612758565b82525050565b5f819050919050565b61279a61279582611b94565b612780565b82525050565b5f6127ab8286612769565b6014820191506127bb8285612769565b6014820191506127cb8284612789565b602082019150819050949350505050565b5f6127e682611c1a565b9050919050565b6127f6816127dc565b8114612800575f80fd5b50565b5f81359050612811816127ed565b92915050565b5f805f6060848603121561282e5761282d611ad9565b5b5f61283b86828701612803565b935050602061284c86828701611bdb565b925050604061285d86828701611bdb565b9150509250925092565b61287081611b94565b82525050565b602082015f82015161288a5f850182612867565b50505050565b5f6020820190506128a35f830184612876565b92915050565b600381106128ba576128b9611fb8565b5b50565b5f8190506128ca826128a9565b919050565b5f6128d9826128bd565b9050919050565b6128e9816128cf565b82525050565b5f82825260208201905092915050565b5f61290982611f28565b61291381856128ef565b9350612923818560208601611f42565b61292c81611f50565b840191505092915050565b5f608083015f83015161294c5f8601826128e0565b50602083015161295f60208601826120ce565b50604083015161297260408601826120ce565b506060830151848203606086015261298a82826128ff565b9150508091505092915050565b5f6020820190508181035f8301526129af8184612937565b905092915050565b5f604082840312156129cc576129cb6122fb565b5b6129d6604061235d565b90505f82013567ffffffffffffffff8111156129f5576129f4612377565b5b612a01848285016125bf565b5f83015250602082013567ffffffffffffffff811115612a2457612a23612377565b5b612a30848285016125bf565b60208301525092915050565b5f60208284031215612a5157612a50611ad9565b5b5f82013567ffffffffffffffff811115612a6e57612a6d611add565b5b612a7a848285016129b7565b91505092915050565b5f612a8d82611b94565b9150612a9883611b94565b9250828202612aa681611b94565b91508282048414831517612abd57612abc6126db565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612afb82611b94565b9150612b0683611b94565b925082612b1657612b15612ac4565b5b828204905092915050565b5f612b2b82611b94565b9150612b3683611b94565b9250828201905080821115612b4e57612b4d6126db565b5b9291505056fea2646970667358221220457c071126566a0e3303f013a5ec378938c30fd38fe414171da94970b6b1579d64736f6c634300081a0033",l=class l extends m.ERC20VariableIncentive{constructor(){super(...arguments),this.abi=o.b}async getIncentiveCriteria(a){try{return await o.LA(this._config,{...a,address:this.assertValidAddress()})}catch(b){throw new d.IncentiveCriteriaNotFoundError(b)}}async getIncentiveScalar({chainId:a,hash:b,knownSignatures:e},s){var p;const f=await this.getIncentiveCriteria(s);if(f.criteriaType===u.SignatureType.EVENT){const c=await E.getTransactionReceipt(this._config,{chainId:a,hash:b});if(f.fieldIndex===v.CheatCodes.GAS_REBATE_INCENTIVE)return c.gasUsed*c.effectiveGasPrice+(c.blobGasUsed??0n)*(c.blobGasPrice??0n);const r=c.logs;if(r.length===0)throw new d.NoMatchingLogsError(`No logs found for event signature ${f.signature}`);try{const n=e[f.signature],t=i.parseEventLogs({abi:[n],logs:r});if(t==null||t.length===0)throw new d.NoMatchingLogsError(`No logs found for event signature ${f.signature}`);const y=((p=t[0])==null?void 0:p.args)[f.fieldIndex];if(y===void 0)throw new d.DecodedArgsError(`Decoded argument at index ${f.fieldIndex} is undefined`);return BigInt(y)}catch(n){throw new d.DecodedArgsError(`Failed to decode event log for signature ${f.signature}: ${n.message}`)}}else if(f.criteriaType===u.SignatureType.FUNC){const c=await E.getTransaction(this._config,{chainId:a,hash:b});try{const r=e[f.signature],t=i.decodeFunctionData({abi:[r],data:c.input}).args[f.fieldIndex];if(t==null)throw new d.DecodedArgsError(`Decoded argument at index ${f.fieldIndex} is undefined`);return BigInt(t)}catch(r){throw new d.DecodedArgsError(`Failed to decode function data for signature ${f.signature}: ${r.message}`)}}else throw new d.InvalidCriteriaTypeError(`Invalid criteria type ${f.criteriaType}`)}buildParameters(a,b){const[e,s]=this.validateDeploymentConfig(a,b);return{abi:o.b,bytecode:w,args:[C(e)],...this.optionallyAttachAccount(s.account)}}};l.bases={31337:void 0,...h.ERC20VariableCriteriaIncentive};let g=l;function T(){return{criteriaType:u.SignatureType.EVENT,signature:i.zeroHash,fieldIndex:v.CheatCodes.GAS_REBATE_INCENTIVE,targetContract:i.zeroAddress}}function C({asset:I,reward:a,limit:b,criteria:e}){return i.encodeAbiParameters([{type:"tuple",name:"initPayloadExtended",components:[{type:"address",name:"asset"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"},{type:"tuple",name:"criteria",components:[{type:"uint8",name:"criteriaType"},{type:"bytes32",name:"signature"},{type:"uint8",name:"fieldIndex"},{type:"address",name:"targetContract"}]}]}],[{asset:I,reward:a,limit:b,criteria:{criteriaType:e.criteriaType,signature:e.signature,fieldIndex:e.fieldIndex,targetContract:e.targetContract}}])}exports.erc20VariableCriteriaIncentiveAbi=o.b;exports.ERC20VariableCriteriaIncentive=g;exports.gasRebateIncentiveCriteria=T;exports.prepareERC20VariableCriteriaIncentivePayload=C;
|
|
2
2
|
//# sourceMappingURL=ERC20VariableCriteriaIncentive.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ERC20VariableCriteriaIncentive.cjs","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":"i7sBA4GaA,EAAN,MAAMA,UAAuCC,EAAAA,sBAGlD,CAHK,aAAA,CAAA,MAAA,GAAA,SAAA,EAKL,KAAyB,IAAMC,GAAA,CAwB/B,MAAa,qBACXC,EAI4B,CACxB,GAAA,CAUK,OARL,MAAMC,EAAA,GACJ,KAAK,QACL,CACE,GAAGD,EACH,QAAS,KAAK,mBAAmB,CACnC,CAAA,QAIGE,EAAG,CACJ,MAAA,IAAIC,EAAAA,+BAA+BD,CAAU,CACrD,CACF,CAUA,MAAa,mBACX,CAAE,QAAAE,EAAS,KAAAC,EAAM,gBAAAC,CAAA,EACjBN,EAIiB,OACjB,MAAMO,EAAW,MAAM,KAAK,qBAAqBP,CAAM,EACnD,GAAAO,EAAS,eAAiBC,EAAA,cAAc,MAAO,CACjD,MAAMC,EAAqB,MAAMC,wBAAsB,KAAK,QAAS,CACnE,QAAAN,EACA,KAAAC,CAAA,CACD,EACG,GAAAE,EAAS,aAAeI,EAAA,WAAW,qBAK9B,OAHLF,EAAmB,QAAUA,EAAmB,mBAC/CA,EAAmB,aAAe,KAChCA,EAAmB,cAAgB,IAG1C,MAAMG,EAAOH,EAAmB,KAE5B,GAAAG,EAAK,SAAW,EAClB,MAAM,IAAIC,EAAA,oBACR,qCAAqCN,EAAS,SAAS,EAAA,EAKvD,GAAA,CAEI,MAAAO,EAAWR,EAAgBC,EAAS,SAAS,EAC7CQ,EAAgBC,EAAAA,eAAe,CACnC,IAAK,CAACF,CAAQ,EACd,KAAAF,CAAA,CACD,EACD,GAAIG,GAAiB,MAAaA,EAAc,SAAW,EACzD,MAAM,IAAIF,EAAA,oBACR,qCAAqCN,EAAS,SAAS,EAAA,EAG3D,MAAMU,IAAeC,EAAAH,EAAc,CAAC,IAAf,YAAAG,EAAkB,MACrCX,EAAS,UACX,EAEA,GAAIU,IAAgB,OAClB,MAAM,IAAIE,EAAA,iBACR,6BAA6BZ,EAAS,UAAU,eAAA,EAGpD,OAAO,OAAOU,CAAW,QAClBf,EAAG,CACV,MAAM,IAAIiB,EAAA,iBACR,4CAA4CZ,EAAS,SAAS,KAAML,EAAY,OAAO,EAAA,CAE3F,CACS,SAAAK,EAAS,eAAiBC,EAAAA,cAAc,KAAM,CAEvD,MAAMY,EAAc,MAAMC,iBAAe,KAAK,QAAS,CACrD,QAAAjB,EACA,KAAAC,CAAA,CACD,EACG,GAAA,CAEI,MAAAiB,EAAOhB,EAAgBC,EAAS,SAAS,EAKzCU,EAJkBM,EAAAA,mBAAmB,CACzC,IAAK,CAACD,CAAI,EACV,KAAMF,EAAY,KAAA,CACnB,EACmC,KAAKb,EAAS,UAAU,EACxD,GAA6BU,GAAgB,KAC/C,MAAM,IAAIE,EAAA,iBACR,6BAA6BZ,EAAS,UAAU,eAAA,EAGpD,OAAO,OAAOU,CAAW,QAClBf,EAAG,CACV,MAAM,IAAIiB,EAAA,iBACR,gDAAgDZ,EAAS,SAAS,KAAML,EAAY,OAAO,EAAA,CAE/F,CAAA,KAEA,OAAM,IAAIsB,EAAA,yBACR,yBAAyBjB,EAAS,YAAY,EAAA,CAGpD,CAUgB,gBACdkB,EACAC,EACyB,CACzB,KAAM,CAACC,EAASC,CAAO,EAAI,KAAK,yBAC9BH,EACAC,CAAA,EAEK,MAAA,CACL,IAAK3B,EAAA,EACL,SAAA8B,EACA,KAAM,CAACC,EAA6CH,CAAO,CAAC,EAC5D,GAAG,KAAK,wBAAwBC,EAAQ,OAAO,CAAA,CAEnD,CACF,EA7JE/B,EAAuB,MAAiC,CACtD,MAAO,OACP,GAAIkC,EAAA,8BAAA,EAfD,IAAMC,EAANnC,EAqMA,SAASoC,GAAgD,CACvD,MAAA,CACL,aAAczB,EAAc,cAAA,MAC5B,UAAW0B,EAAA,SACX,WAAYvB,EAAW,WAAA,qBACvB,eAAgBwB,EAAA,WAAA,CAEpB,CAYO,SAASL,EAA6C,CAC3D,MAAAM,EACA,OAAAC,EACA,MAAAC,EACA,SAAA/B,CACF,EAA0C,CACjC,OAAAgC,EAAA,oBACL,CACE,CACE,KAAM,QACN,KAAM,sBACN,WAAY,CACV,CAAE,KAAM,UAAW,KAAM,OAAQ,EACjC,CAAE,KAAM,UAAW,KAAM,QAAS,EAClC,CAAE,KAAM,UAAW,KAAM,OAAQ,EACjC,CACE,KAAM,QACN,KAAM,WACN,WAAY,CACV,CAAE,KAAM,QAAS,KAAM,cAAe,EACtC,CAAE,KAAM,UAAW,KAAM,WAAY,EACrC,CAAE,KAAM,QAAS,KAAM,YAAa,EACpC,CAAE,KAAM,UAAW,KAAM,gBAAiB,CAC5C,CACF,CACF,CACF,CACF,EACA,CACE,CACE,MAAAH,EACA,OAAAC,EACA,MAAAC,EACA,SAAU,CACR,aAAc/B,EAAS,aACvB,UAAWA,EAAS,UACpB,WAAYA,EAAS,WACrB,eAAgBA,EAAS,cAC3B,CACF,CACF,CAAA,CAEJ"}
|
|
1
|
+
{"version":3,"file":"ERC20VariableCriteriaIncentive.cjs","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":"mqtBA4GaA,EAAN,MAAMA,UAAuCC,EAAAA,sBAGlD,CAHK,aAAA,CAAA,MAAA,GAAA,SAAA,EAKL,KAAyB,IAAMC,GAAA,CAwB/B,MAAa,qBACXC,EAI4B,CACxB,GAAA,CAUK,OARL,MAAMC,EAAA,GACJ,KAAK,QACL,CACE,GAAGD,EACH,QAAS,KAAK,mBAAmB,CACnC,CAAA,QAIGE,EAAG,CACJ,MAAA,IAAIC,EAAAA,+BAA+BD,CAAU,CACrD,CACF,CAUA,MAAa,mBACX,CAAE,QAAAE,EAAS,KAAAC,EAAM,gBAAAC,CAAA,EACjBN,EAIiB,OACjB,MAAMO,EAAW,MAAM,KAAK,qBAAqBP,CAAM,EACnD,GAAAO,EAAS,eAAiBC,EAAA,cAAc,MAAO,CACjD,MAAMC,EAAqB,MAAMC,wBAAsB,KAAK,QAAS,CACnE,QAAAN,EACA,KAAAC,CAAA,CACD,EACG,GAAAE,EAAS,aAAeI,EAAA,WAAW,qBAK9B,OAHLF,EAAmB,QAAUA,EAAmB,mBAC/CA,EAAmB,aAAe,KAChCA,EAAmB,cAAgB,IAG1C,MAAMG,EAAOH,EAAmB,KAE5B,GAAAG,EAAK,SAAW,EAClB,MAAM,IAAIC,EAAA,oBACR,qCAAqCN,EAAS,SAAS,EAAA,EAKvD,GAAA,CAEI,MAAAO,EAAWR,EAAgBC,EAAS,SAAS,EAC7CQ,EAAgBC,EAAAA,eAAe,CACnC,IAAK,CAACF,CAAQ,EACd,KAAAF,CAAA,CACD,EACD,GAAIG,GAAiB,MAAaA,EAAc,SAAW,EACzD,MAAM,IAAIF,EAAA,oBACR,qCAAqCN,EAAS,SAAS,EAAA,EAG3D,MAAMU,IAAeC,EAAAH,EAAc,CAAC,IAAf,YAAAG,EAAkB,MACrCX,EAAS,UACX,EAEA,GAAIU,IAAgB,OAClB,MAAM,IAAIE,EAAA,iBACR,6BAA6BZ,EAAS,UAAU,eAAA,EAGpD,OAAO,OAAOU,CAAW,QAClBf,EAAG,CACV,MAAM,IAAIiB,EAAA,iBACR,4CAA4CZ,EAAS,SAAS,KAAML,EAAY,OAAO,EAAA,CAE3F,CACS,SAAAK,EAAS,eAAiBC,EAAAA,cAAc,KAAM,CAEvD,MAAMY,EAAc,MAAMC,iBAAe,KAAK,QAAS,CACrD,QAAAjB,EACA,KAAAC,CAAA,CACD,EACG,GAAA,CAEI,MAAAiB,EAAOhB,EAAgBC,EAAS,SAAS,EAKzCU,EAJkBM,EAAAA,mBAAmB,CACzC,IAAK,CAACD,CAAI,EACV,KAAMF,EAAY,KAAA,CACnB,EACmC,KAAKb,EAAS,UAAU,EACxD,GAA6BU,GAAgB,KAC/C,MAAM,IAAIE,EAAA,iBACR,6BAA6BZ,EAAS,UAAU,eAAA,EAGpD,OAAO,OAAOU,CAAW,QAClBf,EAAG,CACV,MAAM,IAAIiB,EAAA,iBACR,gDAAgDZ,EAAS,SAAS,KAAML,EAAY,OAAO,EAAA,CAE/F,CAAA,KAEA,OAAM,IAAIsB,EAAA,yBACR,yBAAyBjB,EAAS,YAAY,EAAA,CAGpD,CAUgB,gBACdkB,EACAC,EACyB,CACzB,KAAM,CAACC,EAASC,CAAO,EAAI,KAAK,yBAC9BH,EACAC,CAAA,EAEK,MAAA,CACL,IAAK3B,EAAA,EACL,SAAA8B,EACA,KAAM,CAACC,EAA6CH,CAAO,CAAC,EAC5D,GAAG,KAAK,wBAAwBC,EAAQ,OAAO,CAAA,CAEnD,CACF,EA7JE/B,EAAuB,MAAiC,CACtD,MAAO,OACP,GAAIkC,EAAA,8BAAA,EAfD,IAAMC,EAANnC,EAqMA,SAASoC,GAAgD,CACvD,MAAA,CACL,aAAczB,EAAc,cAAA,MAC5B,UAAW0B,EAAA,SACX,WAAYvB,EAAW,WAAA,qBACvB,eAAgBwB,EAAA,WAAA,CAEpB,CAYO,SAASL,EAA6C,CAC3D,MAAAM,EACA,OAAAC,EACA,MAAAC,EACA,SAAA/B,CACF,EAA0C,CACjC,OAAAgC,EAAA,oBACL,CACE,CACE,KAAM,QACN,KAAM,sBACN,WAAY,CACV,CAAE,KAAM,UAAW,KAAM,OAAQ,EACjC,CAAE,KAAM,UAAW,KAAM,QAAS,EAClC,CAAE,KAAM,UAAW,KAAM,OAAQ,EACjC,CACE,KAAM,QACN,KAAM,WACN,WAAY,CACV,CAAE,KAAM,QAAS,KAAM,cAAe,EACtC,CAAE,KAAM,UAAW,KAAM,WAAY,EACrC,CAAE,KAAM,QAAS,KAAM,YAAa,EACpC,CAAE,KAAM,UAAW,KAAM,gBAAiB,CAC5C,CACF,CACF,CACF,CACF,EACA,CACE,CACE,MAAAH,EACA,OAAAC,EACA,MAAAC,EACA,SAAU,CACR,aAAc/B,EAAS,aACvB,UAAWA,EAAS,UACpB,WAAYA,EAAS,WACrB,eAAgBA,EAAS,cAC3B,CACF,CACF,CAAA,CAEJ"}
|
|
@@ -348,7 +348,7 @@ export declare class ERC20VariableCriteriaIncentive extends ERC20VariableIncenti
|
|
|
348
348
|
readonly name: "getIncentiveCriteria";
|
|
349
349
|
readonly outputs: readonly [{
|
|
350
350
|
readonly name: "";
|
|
351
|
-
readonly internalType: "struct
|
|
351
|
+
readonly internalType: "struct AERC20VariableCriteriaIncentive.IncentiveCriteria";
|
|
352
352
|
readonly type: "tuple";
|
|
353
353
|
readonly components: readonly [{
|
|
354
354
|
readonly name: "criteriaType";
|