@boostxyz/sdk 2.0.0-alpha.28 → 2.0.0-alpha.30
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 +2 -2
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.cjs.map +1 -1
- package/dist/Actions/EventAction.d.ts +3 -1
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +158 -142
- package/dist/Actions/EventAction.js.map +1 -1
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.js +3 -3
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.js +6 -6
- package/dist/AllowLists/SimpleDenyList.cjs +1 -1
- package/dist/AllowLists/SimpleDenyList.js +3 -3
- package/dist/Auth/PassthroughAuth.cjs +1 -1
- package/dist/Auth/PassthroughAuth.js +1 -1
- package/dist/BoostCore.cjs +2 -2
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.js +13 -13
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.js +13 -13
- 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 +13 -13
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.js +10 -10
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.js +10 -10
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.js +16 -16
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +37 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js +69 -50
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -1
- package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableIncentive.js +6 -6
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.js +2 -2
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.js +8 -8
- package/dist/{SimpleDenyList-DqM-Bczx.cjs → SimpleDenyList-DEOJMCvF.cjs} +2 -2
- package/dist/{SimpleDenyList-DqM-Bczx.cjs.map → SimpleDenyList-DEOJMCvF.cjs.map} +1 -1
- package/dist/{SimpleDenyList-7BojkCuF.js → SimpleDenyList-Ddg3_VkW.js} +13 -13
- package/dist/{SimpleDenyList-7BojkCuF.js.map → SimpleDenyList-Ddg3_VkW.js.map} +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs +1 -1
- package/dist/Validators/LimitedSignerValidator.js +2 -2
- package/dist/Validators/SignerValidator.cjs +1 -1
- package/dist/Validators/SignerValidator.js +5 -5
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.js +2 -2
- package/dist/{componentInterfaces-BJ_XfE8j.cjs → componentInterfaces-BQw7DH-m.cjs} +2 -2
- package/dist/componentInterfaces-BQw7DH-m.cjs.map +1 -0
- package/dist/componentInterfaces-C0vuWQlh.js +15 -0
- package/dist/componentInterfaces-C0vuWQlh.js.map +1 -0
- package/dist/deployments-DAmmY7Gs.cjs +2 -0
- package/dist/deployments-DAmmY7Gs.cjs.map +1 -0
- package/dist/deployments-ZfLmhZat.js +56 -0
- package/dist/deployments-ZfLmhZat.js.map +1 -0
- package/dist/deployments.json +28 -28
- package/dist/{generated-Dz_g2mFT.js → generated-BwSyxdrd.js} +231 -213
- package/dist/generated-BwSyxdrd.js.map +1 -0
- package/dist/{generated-BSUMIFi5.cjs → generated-CtPS8IvR.cjs} +3 -3
- package/dist/generated-CtPS8IvR.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +16 -16
- package/package.json +2 -2
- package/src/Actions/EventAction.test.ts +1 -1
- package/src/Actions/EventAction.ts +40 -15
- package/src/BoostCore.test.ts +7 -7
- package/src/Incentives/ERC20VariableCriteriaIncentive.test.ts +3 -0
- package/src/Incentives/ERC20VariableCriteriaIncentive.ts +36 -0
- package/dist/componentInterfaces-BJ_XfE8j.cjs.map +0 -1
- package/dist/componentInterfaces-DBJaFhsl.js +0 -15
- package/dist/componentInterfaces-DBJaFhsl.js.map +0 -1
- package/dist/deployments-Ccx1MtoK.js +0 -56
- package/dist/deployments-Ccx1MtoK.js.map +0 -1
- package/dist/deployments-DF_6-7hH.cjs +0 -2
- package/dist/deployments-DF_6-7hH.cjs.map +0 -1
- package/dist/generated-BSUMIFi5.cjs.map +0 -1
- package/dist/generated-Dz_g2mFT.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { zeroHash as
|
|
3
|
-
import { E as
|
|
4
|
-
import { DeployableTarget as
|
|
1
|
+
import { d 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 p, aG as A, aH as T, aI as V, aJ as R, aK as _, aL as C } from "../generated-BwSyxdrd.js";
|
|
2
|
+
import { zeroHash as P, encodeAbiParameters as k, zeroAddress as x } from "viem";
|
|
3
|
+
import { E as z } from "../deployments-ZfLmhZat.js";
|
|
4
|
+
import { DeployableTarget as D } from "../Deployable/DeployableTarget.js";
|
|
5
5
|
import { prepareClaimPayload as c } from "../claiming.js";
|
|
6
|
-
import { RegistryType as
|
|
7
|
-
const E = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612ca2806101185f395ff3fe608060405260043610610203575f3560e01c806354d1f13d11610117578063c884ef831161009f578063ec87621c1161006e578063ec87621c14610702578063f04e283e1461072c578063f2fde38b14610748578063fe9fbb8014610764578063fee81cf4146107a057610203565b8063c884ef8314610638578063db09da1214610674578063dcc21361146106b0578063dcc59b6f146106d857610203565b8063a4d66daf116100e6578063a4d66daf14610544578063a8c62e761461056e578063b30906d414610598578063bb1757cf146105d4578063be4994f81461061057610203565b806354d1f13d146104dc578063715018a6146104e657806375b238fc146104f05780638da5cb5b1461051a57610203565b806328d6183b1161019a578063439fab9111610169578063439fab91146103e3578063474f5a441461040b5780634a4ee7b1146104485780634e7165a214610464578063514e62fc146104a057610203565b806328d6183b1461032b5780632de948071461035557806338d52e0f146103915780634359d28a146103bb57610203565b80631cd64df4116101d65780631cd64df4146102a55780632275aea9146102e1578063228cb733146102f7578063256929621461032157610203565b806301ffc9a71461020757806307621eca14610243578063183a4f6e1461026d5780631c10893f14610289575b5f80fd5b348015610212575f80fd5b5061022d60048036038101906102289190611e51565b6107dc565b60405161023a9190611e96565b60405180910390f35b34801561024e575f80fd5b50610257610855565b6040516102649190611ec7565b60405180910390f35b61028760048036038101906102829190611f0a565b61085e565b005b6102a3600480360381019061029e9190611f8f565b61086b565b005b3480156102b0575f80fd5b506102cb60048036038101906102c69190611f8f565b610881565b6040516102d89190611e96565b60405180910390f35b3480156102ec575f80fd5b506102f5610897565b005b348015610302575f80fd5b5061030b610a63565b6040516103189190611ec7565b60405180910390f35b610329610a69565b005b348015610336575f80fd5b5061033f610aba565b60405161034c9190611fdc565b60405180910390f35b348015610360575f80fd5b5061037b60048036038101906103769190611ff5565b610ae1565b6040516103889190611ec7565b60405180910390f35b34801561039c575f80fd5b506103a5610afa565b6040516103b2919061202f565b60405180910390f35b3480156103c6575f80fd5b506103e160048036038101906103dc91906120fe565b610b1d565b005b3480156103ee575f80fd5b50610409600480360381019061040491906121d1565b610c2b565b005b348015610416575f80fd5b50610431600480360381019061042c91906121d1565b610e6b565b60405161043f92919061221c565b60405180910390f35b610462600480360381019061045d9190611f8f565b611105565b005b34801561046f575f80fd5b5061048a600480360381019061048591906121d1565b61111b565b60405161049791906122b3565b60405180910390f35b3480156104ab575f80fd5b506104c660048036038101906104c19190611f8f565b611239565b6040516104d39190611e96565b60405180910390f35b6104e4611250565b005b6104ee611289565b005b3480156104fb575f80fd5b5061050461129c565b6040516105119190611ec7565b60405180910390f35b348015610525575f80fd5b5061052e6112a1565b60405161053b919061202f565b60405180910390f35b34801561054f575f80fd5b506105586112c9565b6040516105659190611ec7565b60405180910390f35b348015610579575f80fd5b506105826112cf565b60405161058f9190612346565b60405180910390f35b3480156105a3575f80fd5b506105be60048036038101906105b99190611f0a565b6112e1565b6040516105cb919061202f565b60405180910390f35b3480156105df575f80fd5b506105fa60048036038101906105f5919061235f565b61131c565b6040516106079190611e96565b60405180910390f35b34801561061b575f80fd5b5061063660048036038101906106319190612411565b61160b565b005b348015610643575f80fd5b5061065e60048036038101906106599190611ff5565b6116c1565b60405161066b9190611e96565b60405180910390f35b34801561067f575f80fd5b5061069a6004803603810190610695919061235f565b6116de565b6040516106a79190611e96565b60405180910390f35b3480156106bb575f80fd5b506106d660048036038101906106d19190612411565b6116f1565b005b3480156106e3575f80fd5b506106ec6117a7565b6040516106f99190611ec7565b60405180910390f35b34801561070d575f80fd5b506107166117ad565b6040516107239190611ec7565b60405180910390f35b61074660048036038101906107419190611ff5565b6117b2565b005b610762600480360381019061075d9190611ff5565b6117f0565b005b34801561076f575f80fd5b5061078a60048036038101906107859190611ff5565b611819565b6040516107979190611e96565b60405180910390f35b3480156107ab575f80fd5b506107c660048036038101906107c19190611ff5565b61186c565b6040516107d39190611ec7565b60405180910390f35b5f7f7cc1d5bb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061084e575061084d82611885565b5b9050919050565b5f600254905090565b61086833826118fe565b50565b61087361190d565b61087d8282611944565b5050565b5f818261088d85610ae1565b1614905092915050565b60016108a281611954565b6001808111156108b5576108b46122d3565b5b60045f9054906101000a900460ff1660018111156108d6576108d56122d3565b5b1461090d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040518060200160405280424461092591906124bc565b81525090505f6006808054905061093b8461197b565b610945919061251c565b815481106109565761095561254c565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109cc816002545f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198a9092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600254604051602001610a3a939291906125de565b604051602081830303815290604052604051610a5691906122b3565b60405180910390a2505050565b60025481565b5f610a726119d3565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f7cc1d5bb00000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002610b28816119dd565b828290508585905014610b67576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610c23575f848483818110610b8857610b8761254c565b5b9050602002016020810190610b9d9190612644565b90506001151581151503610be257610bdd878784818110610bc157610bc061254c565b5b9050602002016020810190610bd69190611ff5565b6001611944565b610c15565b610c14878784818110610bf857610bf761254c565b5b9050602002016020810190610c0d9190611ff5565b60016118fe565b5b508080600101915050610b69565b505050505050565b5f610c34611a12565b90508054600382558015610c665760018160011c14303b10610c5d5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610c77919061279b565b90505f81604001511480610c8e57505f8160600151145b15610cc5576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600180811115610cd957610cd86122d3565b5b82602001516001811115610cf057610cef6122d3565b5b03610cff578160400151610d14565b81606001518260400151610d1391906127c6565b5b90505f610d4330845f015173ffffffffffffffffffffffffffffffffffffffff16611a3b90919063ffffffff16565b905081811015610d9157825f015181836040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610d8893929190612807565b60405180910390fd5b825f01515f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826020015160045f6101000a81548160ff02191690836001811115610dfb57610dfa6122d3565b5b021790555082604001516002819055508260600151600581905550610e1f33611a6e565b610e2e83608001516001611b44565b5050508015610e66576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f80610e7561190d565b5f8484810190610e859190612955565b90505f8160200151806020019051810190610ea091906129b0565b9050600180811115610eb557610eb46122d3565b5b60045f9054906101000a900460ff166001811115610ed657610ed56122d3565b5b03610f5c5760025481141580610eed57505f600154115b15610f50573382604051602001610f049190612a6c565b6040516020818303038152906040526040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610f47929190612a8c565b60405180910390fd5b5f600581905550610ff4565b5f60025482610f6b919061251c565b14610fce573382604051602001610f829190612a6c565b6040516020818303038152906040526040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610fc5929190612a8c565b60405180910390fd5b60025481610fdc9190612aba565b60055f828254610fec9190612aea565b925050819055505b611041825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198a9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f0151846040516020016110b3939291906125de565b6040516020818303038152906040526040516110cf91906122b3565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff169350935050509250929050565b61110d61190d565b61111782826118fe565b5050565b60605f838381019061112d919061279b565b90505f600180811115611143576111426122d3565b5b8260200151600181111561115a576111596122d3565b5b0361116957816040015161117e565b8160600151826040015161117d91906127c6565b5b905060405180608001604052806001600281111561119f5761119e6122d3565b5b8152602001835f015173ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016040518060200160405280848152506040516020016111fe9190612b46565b6040516020818303038152906040528152506040516020016112209190612c05565b6040516020818303038152906040529250505092915050565b5f808261124585610ae1565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b61129161190d565b61129a5f611b85565b565b600281565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60055481565b60045f9054906101000a900460ff1681565b600681815481106112f0575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61132561190d565b61132e84611c4b565b611364576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6001811115611377576113766122d3565b5b60045f9054906101000a900460ff166001811115611398576113976122d3565b5b036114f05760015f8154809291906113af90612c25565b9190505550600160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611455846002545f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198a9092919063ffffffff16565b8373ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866002546040516020016114c3939291906125de565b6040516020818303038152906040526040516114df91906122b3565b60405180910390a260019050611604565b60015f81548092919061150290612c25565b9190505550600160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600684908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff167ff0abe0f5c6f02112a9a4332e7b091bf49040ffddeedb73785a9b9a0a3ca7f15360405160405180910390a2600190505b9392505050565b6002611616816119dd565b828290508585905014611655576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156116b9576116ac8686838181106116785761167761254c565b5b905060200201602081019061168d9190611ff5565b8585848181106116a05761169f61254c565b5b90506020020135611944565b8080600101915050611657565b505050505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f6116e884611c4b565b90509392505050565b60026116fc816119dd565b82829050858590501461173b576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561179f5761179286868381811061175e5761175d61254c565b5b90506020020160208101906117739190611ff5565b8585848181106117865761178561254c565b5b905060200201356118fe565b808060010191505061173d565b505050505050565b60015481565b600181565b6117ba61190d565b63389a75e1600c52805f526020600c2080544211156117e057636f5e88185f526004601cfd5b5f8155506117ed81611b85565b50565b6117f861190d565b8060601b61180d57637448fbae5f526004601cfd5b61181681611b85565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff166118396112a1565b73ffffffffffffffffffffffffffffffffffffffff1614806118655750611864826002600117611239565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806118f757506118f682611cad565b5b9050919050565b61190982825f611d26565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611942576382b429005f526004601cfd5b565b61195082826001611d26565b5050565b638b78c6d8600c52335f52806020600c205416611978576382b429005f526004601cfd5b50565b5f602082209050808252919050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166119ca576390b8ec185f526004601cfd5b5f603452505050565b5f6202a300905090565b638b78c6d819543314611a0f57638b78c6d8600c52335f52806020600c205416611a0e576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b611a76611d7e565b15611aee577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415611ab057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350611b41565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b611b8d611d7e565b15611bf2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550611c48565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611ca65750600554600154105b9050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611d1f5750611d1e82611d82565b5b9050919050565b638b78c6d8600c52825f526020600c20805483811783611d4857848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611e3081611dfc565b8114611e3a575f80fd5b50565b5f81359050611e4b81611e27565b92915050565b5f60208284031215611e6657611e65611df4565b5b5f611e7384828501611e3d565b91505092915050565b5f8115159050919050565b611e9081611e7c565b82525050565b5f602082019050611ea95f830184611e87565b92915050565b5f819050919050565b611ec181611eaf565b82525050565b5f602082019050611eda5f830184611eb8565b92915050565b611ee981611eaf565b8114611ef3575f80fd5b50565b5f81359050611f0481611ee0565b92915050565b5f60208284031215611f1f57611f1e611df4565b5b5f611f2c84828501611ef6565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f5e82611f35565b9050919050565b611f6e81611f54565b8114611f78575f80fd5b50565b5f81359050611f8981611f65565b92915050565b5f8060408385031215611fa557611fa4611df4565b5b5f611fb285828601611f7b565b9250506020611fc385828601611ef6565b9150509250929050565b611fd681611dfc565b82525050565b5f602082019050611fef5f830184611fcd565b92915050565b5f6020828403121561200a57612009611df4565b5b5f61201784828501611f7b565b91505092915050565b61202981611f54565b82525050565b5f6020820190506120425f830184612020565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261206957612068612048565b5b8235905067ffffffffffffffff8111156120865761208561204c565b5b6020830191508360208202830111156120a2576120a1612050565b5b9250929050565b5f8083601f8401126120be576120bd612048565b5b8235905067ffffffffffffffff8111156120db576120da61204c565b5b6020830191508360208202830111156120f7576120f6612050565b5b9250929050565b5f805f806040858703121561211657612115611df4565b5b5f85013567ffffffffffffffff81111561213357612132611df8565b5b61213f87828801612054565b9450945050602085013567ffffffffffffffff81111561216257612161611df8565b5b61216e878288016120a9565b925092505092959194509250565b5f8083601f84011261219157612190612048565b5b8235905067ffffffffffffffff8111156121ae576121ad61204c565b5b6020830191508360018202830111156121ca576121c9612050565b5b9250929050565b5f80602083850312156121e7576121e6611df4565b5b5f83013567ffffffffffffffff81111561220457612203611df8565b5b6122108582860161217c565b92509250509250929050565b5f60408201905061222f5f830185611eb8565b61223c6020830184612020565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61228582612243565b61228f818561224d565b935061229f81856020860161225d565b6122a88161226b565b840191505092915050565b5f6020820190508181035f8301526122cb818461227b565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110612311576123106122d3565b5b50565b5f81905061232182612300565b919050565b5f61233082612314565b9050919050565b61234081612326565b82525050565b5f6020820190506123595f830184612337565b92915050565b5f805f6040848603121561237657612375611df4565b5b5f61238386828701611f7b565b935050602084013567ffffffffffffffff8111156123a4576123a3611df8565b5b6123b08682870161217c565b92509250509250925092565b5f8083601f8401126123d1576123d0612048565b5b8235905067ffffffffffffffff8111156123ee576123ed61204c565b5b60208301915083602082028301111561240a57612409612050565b5b9250929050565b5f805f806040858703121561242957612428611df4565b5b5f85013567ffffffffffffffff81111561244657612445611df8565b5b61245287828801612054565b9450945050602085013567ffffffffffffffff81111561247557612474611df8565b5b612481878288016123bc565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6124c682611eaf565b91506124d183611eaf565b92508282019050808211156124e9576124e861248f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61252682611eaf565b915061253183611eaf565b925082612541576125406124ef565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8160601b9050919050565b5f61258f82612579565b9050919050565b5f6125a082612585565b9050919050565b6125b86125b382611f54565b612596565b82525050565b5f819050919050565b6125d86125d382611eaf565b6125be565b82525050565b5f6125e982866125a7565b6014820191506125f982856125a7565b60148201915061260982846125c7565b602082019150819050949350505050565b61262381611e7c565b811461262d575f80fd5b50565b5f8135905061263e8161261a565b92915050565b5f6020828403121561265957612658611df4565b5b5f61266684828501612630565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6126a98261226b565b810181811067ffffffffffffffff821117156126c8576126c7612673565b5b80604052505050565b5f6126da611deb565b90506126e682826126a0565b919050565b5f80fd5b600281106126fb575f80fd5b50565b5f8135905061270c816126ef565b92915050565b5f60a082840312156127275761272661266f565b5b61273160a06126d1565b90505f61274084828501611f7b565b5f830152506020612753848285016126fe565b602083015250604061276784828501611ef6565b604083015250606061277b84828501611ef6565b606083015250608061278f84828501611f7b565b60808301525092915050565b5f60a082840312156127b0576127af611df4565b5b5f6127bd84828501612712565b91505092915050565b5f6127d082611eaf565b91506127db83611eaf565b92508282026127e981611eaf565b91508282048414831517612800576127ff61248f565b5b5092915050565b5f60608201905061281a5f830186612020565b6128276020830185611eb8565b6128346040830184611eb8565b949350505050565b5f80fd5b5f67ffffffffffffffff82111561285a57612859612673565b5b6128638261226b565b9050602081019050919050565b828183375f83830152505050565b5f61289061288b84612840565b6126d1565b9050828152602081018484840111156128ac576128ab61283c565b5b6128b7848285612870565b509392505050565b5f82601f8301126128d3576128d2612048565b5b81356128e384826020860161287e565b91505092915050565b5f604082840312156129015761290061266f565b5b61290b60406126d1565b90505f61291a84828501611f7b565b5f83015250602082013567ffffffffffffffff81111561293d5761293c6126eb565b5b612949848285016128bf565b60208301525092915050565b5f6020828403121561296a57612969611df4565b5b5f82013567ffffffffffffffff81111561298757612986611df8565b5b612993848285016128ec565b91505092915050565b5f815190506129aa81611ee0565b92915050565b5f602082840312156129c5576129c4611df4565b5b5f6129d28482850161299c565b91505092915050565b6129e481611f54565b82525050565b5f82825260208201905092915050565b5f612a0482612243565b612a0e81856129ea565b9350612a1e81856020860161225d565b612a278161226b565b840191505092915050565b5f604083015f830151612a475f8601826129db565b5060208301518482036020860152612a5f82826129fa565b9150508091505092915050565b5f6020820190508181035f830152612a848184612a32565b905092915050565b5f604082019050612a9f5f830185612020565b8181036020830152612ab1818461227b565b90509392505050565b5f612ac482611eaf565b9150612acf83611eaf565b925082612adf57612ade6124ef565b5b828204905092915050565b5f612af482611eaf565b9150612aff83611eaf565b9250828203905081811115612b1757612b1661248f565b5b92915050565b612b2681611eaf565b82525050565b602082015f820151612b405f850182612b1d565b50505050565b5f602082019050612b595f830184612b2c565b92915050565b60038110612b7057612b6f6122d3565b5b50565b5f819050612b8082612b5f565b919050565b5f612b8f82612b73565b9050919050565b612b9f81612b85565b82525050565b5f608083015f830151612bba5f860182612b96565b506020830151612bcd60208601826129db565b506040830151612be060408601826129db565b5060608301518482036060860152612bf882826129fa565b9150508091505092915050565b5f6020820190508181035f830152612c1d8184612ba5565b905092915050565b5f612c2f82611eaf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c6157612c6061248f565b5b60018201905091905056fea2646970667358221220410c1d04820fa5550ff3aa75a902850d36cca567632e555158b82f613e89f94864736f6c634300081a0033", e = class e extends q {
|
|
6
|
+
import { RegistryType as E } from "../utils.js";
|
|
7
|
+
const q = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612ca2806101185f395ff3fe608060405260043610610203575f3560e01c806354d1f13d11610117578063c884ef831161009f578063ec87621c1161006e578063ec87621c14610702578063f04e283e1461072c578063f2fde38b14610748578063fe9fbb8014610764578063fee81cf4146107a057610203565b8063c884ef8314610638578063db09da1214610674578063dcc21361146106b0578063dcc59b6f146106d857610203565b8063a4d66daf116100e6578063a4d66daf14610544578063a8c62e761461056e578063b30906d414610598578063bb1757cf146105d4578063be4994f81461061057610203565b806354d1f13d146104dc578063715018a6146104e657806375b238fc146104f05780638da5cb5b1461051a57610203565b806328d6183b1161019a578063439fab9111610169578063439fab91146103e3578063474f5a441461040b5780634a4ee7b1146104485780634e7165a214610464578063514e62fc146104a057610203565b806328d6183b1461032b5780632de948071461035557806338d52e0f146103915780634359d28a146103bb57610203565b80631cd64df4116101d65780631cd64df4146102a55780632275aea9146102e1578063228cb733146102f7578063256929621461032157610203565b806301ffc9a71461020757806307621eca14610243578063183a4f6e1461026d5780631c10893f14610289575b5f80fd5b348015610212575f80fd5b5061022d60048036038101906102289190611e51565b6107dc565b60405161023a9190611e96565b60405180910390f35b34801561024e575f80fd5b50610257610855565b6040516102649190611ec7565b60405180910390f35b61028760048036038101906102829190611f0a565b61085e565b005b6102a3600480360381019061029e9190611f8f565b61086b565b005b3480156102b0575f80fd5b506102cb60048036038101906102c69190611f8f565b610881565b6040516102d89190611e96565b60405180910390f35b3480156102ec575f80fd5b506102f5610897565b005b348015610302575f80fd5b5061030b610a63565b6040516103189190611ec7565b60405180910390f35b610329610a69565b005b348015610336575f80fd5b5061033f610aba565b60405161034c9190611fdc565b60405180910390f35b348015610360575f80fd5b5061037b60048036038101906103769190611ff5565b610ae1565b6040516103889190611ec7565b60405180910390f35b34801561039c575f80fd5b506103a5610afa565b6040516103b2919061202f565b60405180910390f35b3480156103c6575f80fd5b506103e160048036038101906103dc91906120fe565b610b1d565b005b3480156103ee575f80fd5b50610409600480360381019061040491906121d1565b610c2b565b005b348015610416575f80fd5b50610431600480360381019061042c91906121d1565b610e6b565b60405161043f92919061221c565b60405180910390f35b610462600480360381019061045d9190611f8f565b611105565b005b34801561046f575f80fd5b5061048a600480360381019061048591906121d1565b61111b565b60405161049791906122b3565b60405180910390f35b3480156104ab575f80fd5b506104c660048036038101906104c19190611f8f565b611239565b6040516104d39190611e96565b60405180910390f35b6104e4611250565b005b6104ee611289565b005b3480156104fb575f80fd5b5061050461129c565b6040516105119190611ec7565b60405180910390f35b348015610525575f80fd5b5061052e6112a1565b60405161053b919061202f565b60405180910390f35b34801561054f575f80fd5b506105586112c9565b6040516105659190611ec7565b60405180910390f35b348015610579575f80fd5b506105826112cf565b60405161058f9190612346565b60405180910390f35b3480156105a3575f80fd5b506105be60048036038101906105b99190611f0a565b6112e1565b6040516105cb919061202f565b60405180910390f35b3480156105df575f80fd5b506105fa60048036038101906105f5919061235f565b61131c565b6040516106079190611e96565b60405180910390f35b34801561061b575f80fd5b5061063660048036038101906106319190612411565b61160b565b005b348015610643575f80fd5b5061065e60048036038101906106599190611ff5565b6116c1565b60405161066b9190611e96565b60405180910390f35b34801561067f575f80fd5b5061069a6004803603810190610695919061235f565b6116de565b6040516106a79190611e96565b60405180910390f35b3480156106bb575f80fd5b506106d660048036038101906106d19190612411565b6116f1565b005b3480156106e3575f80fd5b506106ec6117a7565b6040516106f99190611ec7565b60405180910390f35b34801561070d575f80fd5b506107166117ad565b6040516107239190611ec7565b60405180910390f35b61074660048036038101906107419190611ff5565b6117b2565b005b610762600480360381019061075d9190611ff5565b6117f0565b005b34801561076f575f80fd5b5061078a60048036038101906107859190611ff5565b611819565b6040516107979190611e96565b60405180910390f35b3480156107ab575f80fd5b506107c660048036038101906107c19190611ff5565b61186c565b6040516107d39190611ec7565b60405180910390f35b5f7f7cc1d5bb000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061084e575061084d82611885565b5b9050919050565b5f600254905090565b61086833826118fe565b50565b61087361190d565b61087d8282611944565b5050565b5f818261088d85610ae1565b1614905092915050565b60016108a281611954565b6001808111156108b5576108b46122d3565b5b60045f9054906101000a900460ff1660018111156108d6576108d56122d3565b5b1461090d576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6040518060200160405280424461092591906124bc565b81525090505f6006808054905061093b8461197b565b610945919061251c565b815481106109565761095561254c565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506109cc816002545f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198a9092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600254604051602001610a3a939291906125de565b604051602081830303815290604052604051610a5691906122b3565b60405180910390a2505050565b60025481565b5f610a726119d3565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f7cc1d5bb00000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002610b28816119dd565b828290508585905014610b67576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610c23575f848483818110610b8857610b8761254c565b5b9050602002016020810190610b9d9190612644565b90506001151581151503610be257610bdd878784818110610bc157610bc061254c565b5b9050602002016020810190610bd69190611ff5565b6001611944565b610c15565b610c14878784818110610bf857610bf761254c565b5b9050602002016020810190610c0d9190611ff5565b60016118fe565b5b508080600101915050610b69565b505050505050565b5f610c34611a12565b90508054600382558015610c665760018160011c14303b10610c5d5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f8383810190610c77919061279b565b90505f81604001511480610c8e57505f8160600151145b15610cc5576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600180811115610cd957610cd86122d3565b5b82602001516001811115610cf057610cef6122d3565b5b03610cff578160400151610d14565b81606001518260400151610d1391906127c6565b5b90505f610d4330845f015173ffffffffffffffffffffffffffffffffffffffff16611a3b90919063ffffffff16565b905081811015610d9157825f015181836040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610d8893929190612807565b60405180910390fd5b825f01515f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826020015160045f6101000a81548160ff02191690836001811115610dfb57610dfa6122d3565b5b021790555082604001516002819055508260600151600581905550610e1f33611a6e565b610e2e83608001516001611b44565b5050508015610e66576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f80610e7561190d565b5f8484810190610e859190612955565b90505f8160200151806020019051810190610ea091906129b0565b9050600180811115610eb557610eb46122d3565b5b60045f9054906101000a900460ff166001811115610ed657610ed56122d3565b5b03610f5c5760025481141580610eed57505f600154115b15610f50573382604051602001610f049190612a6c565b6040516020818303038152906040526040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610f47929190612a8c565b60405180910390fd5b5f600581905550610ff4565b5f60025482610f6b919061251c565b14610fce573382604051602001610f829190612a6c565b6040516020818303038152906040526040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610fc5929190612a8c565b60405180910390fd5b60025481610fdc9190612aba565b60055f828254610fec9190612aea565b925050819055505b611041825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198a9092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f0151846040516020016110b3939291906125de565b6040516020818303038152906040526040516110cf91906122b3565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff169350935050509250929050565b61110d61190d565b61111782826118fe565b5050565b60605f838381019061112d919061279b565b90505f600180811115611143576111426122d3565b5b8260200151600181111561115a576111596122d3565b5b0361116957816040015161117e565b8160600151826040015161117d91906127c6565b5b905060405180608001604052806001600281111561119f5761119e6122d3565b5b8152602001835f015173ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016040518060200160405280848152506040516020016111fe9190612b46565b6040516020818303038152906040528152506040516020016112209190612c05565b6040516020818303038152906040529250505092915050565b5f808261124585610ae1565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b61129161190d565b61129a5f611b85565b565b600281565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60055481565b60045f9054906101000a900460ff1681565b600681815481106112f0575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61132561190d565b61132e84611c4b565b611364576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6001811115611377576113766122d3565b5b60045f9054906101000a900460ff166001811115611398576113976122d3565b5b036114f05760015f8154809291906113af90612c25565b9190505550600160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611455846002545f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661198a9092919063ffffffff16565b8373ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866002546040516020016114c3939291906125de565b6040516020818303038152906040526040516114df91906122b3565b60405180910390a260019050611604565b60015f81548092919061150290612c25565b9190505550600160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600684908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff167ff0abe0f5c6f02112a9a4332e7b091bf49040ffddeedb73785a9b9a0a3ca7f15360405160405180910390a2600190505b9392505050565b6002611616816119dd565b828290508585905014611655576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b858590508110156116b9576116ac8686838181106116785761167761254c565b5b905060200201602081019061168d9190611ff5565b8585848181106116a05761169f61254c565b5b90506020020135611944565b8080600101915050611657565b505050505050565b6003602052805f5260405f205f915054906101000a900460ff1681565b5f6116e884611c4b565b90509392505050565b60026116fc816119dd565b82829050858590501461173b576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561179f5761179286868381811061175e5761175d61254c565b5b90506020020160208101906117739190611ff5565b8585848181106117865761178561254c565b5b905060200201356118fe565b808060010191505061173d565b505050505050565b60015481565b600181565b6117ba61190d565b63389a75e1600c52805f526020600c2080544211156117e057636f5e88185f526004601cfd5b5f8155506117ed81611b85565b50565b6117f861190d565b8060601b61180d57637448fbae5f526004601cfd5b61181681611b85565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff166118396112a1565b73ffffffffffffffffffffffffffffffffffffffff1614806118655750611864826002600117611239565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806118f757506118f682611cad565b5b9050919050565b61190982825f611d26565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314611942576382b429005f526004601cfd5b565b61195082826001611d26565b5050565b638b78c6d8600c52335f52806020600c205416611978576382b429005f526004601cfd5b50565b5f602082209050808252919050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f511417166119ca576390b8ec185f526004601cfd5b5f603452505050565b5f6202a300905090565b638b78c6d819543314611a0f57638b78c6d8600c52335f52806020600c205416611a0e576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b611a76611d7e565b15611aee577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927805415611ab057630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350611b41565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b611b8d611d7e565b15611bf2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550611c48565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611ca65750600554600154105b9050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611d1f5750611d1e82611d82565b5b9050919050565b638b78c6d8600c52825f526020600c20805483811783611d4857848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611e3081611dfc565b8114611e3a575f80fd5b50565b5f81359050611e4b81611e27565b92915050565b5f60208284031215611e6657611e65611df4565b5b5f611e7384828501611e3d565b91505092915050565b5f8115159050919050565b611e9081611e7c565b82525050565b5f602082019050611ea95f830184611e87565b92915050565b5f819050919050565b611ec181611eaf565b82525050565b5f602082019050611eda5f830184611eb8565b92915050565b611ee981611eaf565b8114611ef3575f80fd5b50565b5f81359050611f0481611ee0565b92915050565b5f60208284031215611f1f57611f1e611df4565b5b5f611f2c84828501611ef6565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f5e82611f35565b9050919050565b611f6e81611f54565b8114611f78575f80fd5b50565b5f81359050611f8981611f65565b92915050565b5f8060408385031215611fa557611fa4611df4565b5b5f611fb285828601611f7b565b9250506020611fc385828601611ef6565b9150509250929050565b611fd681611dfc565b82525050565b5f602082019050611fef5f830184611fcd565b92915050565b5f6020828403121561200a57612009611df4565b5b5f61201784828501611f7b565b91505092915050565b61202981611f54565b82525050565b5f6020820190506120425f830184612020565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261206957612068612048565b5b8235905067ffffffffffffffff8111156120865761208561204c565b5b6020830191508360208202830111156120a2576120a1612050565b5b9250929050565b5f8083601f8401126120be576120bd612048565b5b8235905067ffffffffffffffff8111156120db576120da61204c565b5b6020830191508360208202830111156120f7576120f6612050565b5b9250929050565b5f805f806040858703121561211657612115611df4565b5b5f85013567ffffffffffffffff81111561213357612132611df8565b5b61213f87828801612054565b9450945050602085013567ffffffffffffffff81111561216257612161611df8565b5b61216e878288016120a9565b925092505092959194509250565b5f8083601f84011261219157612190612048565b5b8235905067ffffffffffffffff8111156121ae576121ad61204c565b5b6020830191508360018202830111156121ca576121c9612050565b5b9250929050565b5f80602083850312156121e7576121e6611df4565b5b5f83013567ffffffffffffffff81111561220457612203611df8565b5b6122108582860161217c565b92509250509250929050565b5f60408201905061222f5f830185611eb8565b61223c6020830184612020565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61228582612243565b61228f818561224d565b935061229f81856020860161225d565b6122a88161226b565b840191505092915050565b5f6020820190508181035f8301526122cb818461227b565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110612311576123106122d3565b5b50565b5f81905061232182612300565b919050565b5f61233082612314565b9050919050565b61234081612326565b82525050565b5f6020820190506123595f830184612337565b92915050565b5f805f6040848603121561237657612375611df4565b5b5f61238386828701611f7b565b935050602084013567ffffffffffffffff8111156123a4576123a3611df8565b5b6123b08682870161217c565b92509250509250925092565b5f8083601f8401126123d1576123d0612048565b5b8235905067ffffffffffffffff8111156123ee576123ed61204c565b5b60208301915083602082028301111561240a57612409612050565b5b9250929050565b5f805f806040858703121561242957612428611df4565b5b5f85013567ffffffffffffffff81111561244657612445611df8565b5b61245287828801612054565b9450945050602085013567ffffffffffffffff81111561247557612474611df8565b5b612481878288016123bc565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6124c682611eaf565b91506124d183611eaf565b92508282019050808211156124e9576124e861248f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61252682611eaf565b915061253183611eaf565b925082612541576125406124ef565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8160601b9050919050565b5f61258f82612579565b9050919050565b5f6125a082612585565b9050919050565b6125b86125b382611f54565b612596565b82525050565b5f819050919050565b6125d86125d382611eaf565b6125be565b82525050565b5f6125e982866125a7565b6014820191506125f982856125a7565b60148201915061260982846125c7565b602082019150819050949350505050565b61262381611e7c565b811461262d575f80fd5b50565b5f8135905061263e8161261a565b92915050565b5f6020828403121561265957612658611df4565b5b5f61266684828501612630565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6126a98261226b565b810181811067ffffffffffffffff821117156126c8576126c7612673565b5b80604052505050565b5f6126da611deb565b90506126e682826126a0565b919050565b5f80fd5b600281106126fb575f80fd5b50565b5f8135905061270c816126ef565b92915050565b5f60a082840312156127275761272661266f565b5b61273160a06126d1565b90505f61274084828501611f7b565b5f830152506020612753848285016126fe565b602083015250604061276784828501611ef6565b604083015250606061277b84828501611ef6565b606083015250608061278f84828501611f7b565b60808301525092915050565b5f60a082840312156127b0576127af611df4565b5b5f6127bd84828501612712565b91505092915050565b5f6127d082611eaf565b91506127db83611eaf565b92508282026127e981611eaf565b91508282048414831517612800576127ff61248f565b5b5092915050565b5f60608201905061281a5f830186612020565b6128276020830185611eb8565b6128346040830184611eb8565b949350505050565b5f80fd5b5f67ffffffffffffffff82111561285a57612859612673565b5b6128638261226b565b9050602081019050919050565b828183375f83830152505050565b5f61289061288b84612840565b6126d1565b9050828152602081018484840111156128ac576128ab61283c565b5b6128b7848285612870565b509392505050565b5f82601f8301126128d3576128d2612048565b5b81356128e384826020860161287e565b91505092915050565b5f604082840312156129015761290061266f565b5b61290b60406126d1565b90505f61291a84828501611f7b565b5f83015250602082013567ffffffffffffffff81111561293d5761293c6126eb565b5b612949848285016128bf565b60208301525092915050565b5f6020828403121561296a57612969611df4565b5b5f82013567ffffffffffffffff81111561298757612986611df8565b5b612993848285016128ec565b91505092915050565b5f815190506129aa81611ee0565b92915050565b5f602082840312156129c5576129c4611df4565b5b5f6129d28482850161299c565b91505092915050565b6129e481611f54565b82525050565b5f82825260208201905092915050565b5f612a0482612243565b612a0e81856129ea565b9350612a1e81856020860161225d565b612a278161226b565b840191505092915050565b5f604083015f830151612a475f8601826129db565b5060208301518482036020860152612a5f82826129fa565b9150508091505092915050565b5f6020820190508181035f830152612a848184612a32565b905092915050565b5f604082019050612a9f5f830185612020565b8181036020830152612ab1818461227b565b90509392505050565b5f612ac482611eaf565b9150612acf83611eaf565b925082612adf57612ade6124ef565b5b828204905092915050565b5f612af482611eaf565b9150612aff83611eaf565b9250828203905081811115612b1757612b1661248f565b5b92915050565b612b2681611eaf565b82525050565b602082015f820151612b405f850182612b1d565b50505050565b5f602082019050612b595f830184612b2c565b92915050565b60038110612b7057612b6f6122d3565b5b50565b5f819050612b8082612b5f565b919050565b5f612b8f82612b73565b9050919050565b612b9f81612b85565b82525050565b5f608083015f830151612bba5f860182612b96565b506020830151612bcd60208601826129db565b506040830151612be060408601826129db565b5060608301518482036060860152612bf882826129fa565b9150508091505092915050565b5f6020820190508181035f830152612c1d8184612ba5565b905092915050565b5f612c2f82611eaf565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c6157612c6061248f565b5b60018201905091905056fea2646970667358221220410c1d04820fa5550ff3aa75a902850d36cca567632e555158b82f613e89f94864736f6c634300081a0033", e = class e extends D {
|
|
8
8
|
constructor() {
|
|
9
9
|
super(...arguments), this.abi = s;
|
|
10
10
|
}
|
|
@@ -172,7 +172,7 @@ const E = "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 p(
|
|
176
176
|
this._config,
|
|
177
177
|
{
|
|
178
178
|
address: this.assertValidAddress(),
|
|
@@ -182,7 +182,7 @@ const E = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
182
182
|
...b
|
|
183
183
|
}
|
|
184
184
|
);
|
|
185
|
-
return { hash: await
|
|
185
|
+
return { hash: await A(this._config, a), result: d };
|
|
186
186
|
}
|
|
187
187
|
/**
|
|
188
188
|
* Clawback assets from the incentive
|
|
@@ -228,7 +228,7 @@ const E = "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 R(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 E = "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 _(
|
|
259
259
|
this._config,
|
|
260
260
|
{
|
|
261
261
|
address: this.assertValidAddress(),
|
|
@@ -281,7 +281,7 @@ const E = "0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a815
|
|
|
281
281
|
);
|
|
282
282
|
return {
|
|
283
283
|
abi: s,
|
|
284
|
-
bytecode:
|
|
284
|
+
bytecode: q,
|
|
285
285
|
args: [I(a)],
|
|
286
286
|
...this.optionallyAttachAccount(d.account)
|
|
287
287
|
};
|
|
@@ -294,22 +294,22 @@ const E = "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 P;
|
|
298
298
|
}
|
|
299
299
|
};
|
|
300
300
|
e.bases = {
|
|
301
301
|
31337: void 0,
|
|
302
|
-
...
|
|
303
|
-
}, e.registryType =
|
|
302
|
+
...z
|
|
303
|
+
}, e.registryType = E.INCENTIVE;
|
|
304
304
|
let t = e;
|
|
305
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 = x
|
|
311
311
|
}) {
|
|
312
|
-
return
|
|
312
|
+
return k(
|
|
313
313
|
[
|
|
314
314
|
{ type: "address", name: "asset" },
|
|
315
315
|
{ type: "uint8", name: "strategy" },
|
|
@@ -1,2 +1,2 @@
|
|
|
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;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../generated-CtPS8IvR.cjs"),E=require("@wagmi/core"),o=require("viem"),C=require("../deployments-DAmmY7Gs.cjs"),u=require("../Actions/EventAction.cjs"),d=require("../errors.cjs"),h=require("../utils.cjs"),I=require("./ERC20VariableIncentive.cjs"),w="0x608060405273deaddeaddeaddeaddeaddeaddeaddeaddeaddead5f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015610062575f80fd5b5061007161007660201b60201c565b61010b565b5f6100856100e260201b60201c565b90508054600181161561009f5763f92ee8a95f526004601cfd5b8160c01c808260011c146100dd578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612c47806101185f395ff3fe608060405260043610610219575f3560e01c8063715018a611610122578063c884ef83116100aa578063ec87621c1161006e578063ec87621c14610771578063f04e283e1461079b578063f2fde38b146107b7578063fe9fbb80146107d3578063fee81cf41461080f57610219565b8063c884ef831461067d578063d54ad2a1146106b9578063db09da12146106e3578063dcc213611461071f578063dcc59b6f1461074757610219565b8063a4d66daf116100f1578063a4d66daf1461059b578063a871ced2146105c5578063bb1757cf146105ef578063be4994f81461062b578063c213f3f91461065357610219565b8063715018a61461051057806375b238fc1461051a57806377548687146105445780638da5cb5b1461057157610219565b806338d52e0f116101a55780634a4ee7b1116101745780634a4ee7b1146104485780634e7165a214610464578063514e62fc146104a057806354d1f13d146104dc57806366a78e6c146104e657610219565b806338d52e0f146103915780634359d28a146103bb578063439fab91146103e3578063474f5a441461040b57610219565b80631cd64df4116101ec5780631cd64df4146102bb578063228cb733146102f7578063256929621461032157806328d6183b1461032b5780632de948071461035557610219565b806301ffc9a71461021d57806307621eca14610259578063183a4f6e146102835780631c10893f1461029f575b5f80fd5b348015610228575f80fd5b50610243600480360381019061023e9190611bdd565b61084b565b6040516102509190611c22565b60405180910390f35b348015610264575f80fd5b5061026d6108c4565b60405161027a9190611c53565b60405180910390f35b61029d60048036038101906102989190611c96565b6108cd565b005b6102b960048036038101906102b49190611d1b565b6108da565b005b3480156102c6575f80fd5b506102e160048036038101906102dc9190611d1b565b6108f0565b6040516102ee9190611c22565b60405180910390f35b348015610302575f80fd5b5061030b610906565b6040516103189190611c53565b60405180910390f35b61032961090c565b005b348015610336575f80fd5b5061033f61095d565b60405161034c9190611d68565b60405180910390f35b348015610360575f80fd5b5061037b60048036038101906103769190611d81565b610984565b6040516103889190611c53565b60405180910390f35b34801561039c575f80fd5b506103a561099d565b6040516103b29190611dbb565b60405180910390f35b3480156103c6575f80fd5b506103e160048036038101906103dc9190611e8a565b6109c0565b005b3480156103ee575f80fd5b5061040960048036038101906104049190611f5d565b610ace565b005b348015610416575f80fd5b50610431600480360381019061042c9190611f5d565b610d46565b60405161043f929190611fa8565b60405180910390f35b610462600480360381019061045d9190611d1b565b610eaa565b005b34801561046f575f80fd5b5061048a60048036038101906104859190611f5d565b610ec0565b604051610497919061203f565b60405180910390f35b3480156104ab575f80fd5b506104c660048036038101906104c19190611d1b565b610f8e565b6040516104d39190611c22565b60405180910390f35b6104e4610fa5565b005b3480156104f1575f80fd5b506104fa610fde565b6040516105079190611c53565b60405180910390f35b610518610fe4565b005b348015610525575f80fd5b5061052e610ff7565b60405161053b9190611c53565b60405180910390f35b34801561054f575f80fd5b50610558610ffc565b6040516105689493929190612105565b60405180910390f35b34801561057c575f80fd5b50610585611051565b6040516105929190611dbb565b60405180910390f35b3480156105a6575f80fd5b506105af611079565b6040516105bc9190611c53565b60405180910390f35b3480156105d0575f80fd5b506105d961107f565b6040516105e691906121d7565b60405180910390f35b3480156105fa575f80fd5b50610615600480360381019061061091906121f0565b61114e565b6040516106229190611c22565b60405180910390f35b348015610636575f80fd5b50610651600480360381019061064c91906122a2565b611360565b005b34801561065e575f80fd5b50610667611416565b6040516106749190611c53565b60405180910390f35b348015610688575f80fd5b506106a3600480360381019061069e9190611d81565b61141f565b6040516106b09190611c22565b60405180910390f35b3480156106c4575f80fd5b506106cd61143c565b6040516106da9190611c53565b60405180910390f35b3480156106ee575f80fd5b50610709600480360381019061070491906121f0565b611442565b6040516107169190611c22565b60405180910390f35b34801561072a575f80fd5b50610745600480360381019061074091906122a2565b611455565b005b348015610752575f80fd5b5061075b61150b565b6040516107689190611c53565b60405180910390f35b34801561077c575f80fd5b50610785611511565b6040516107929190611c53565b60405180910390f35b6107b560048036038101906107b09190611d81565b611516565b005b6107d160048036038101906107cc9190611d81565b611554565b005b3480156107de575f80fd5b506107f960048036038101906107f49190611d81565b61157d565b6040516108069190611c22565b60405180910390f35b34801561081a575f80fd5b5061083560048036038101906108309190611d81565b6115d0565b6040516108429190611c53565b60405180910390f35b5f7f52b8e45c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108bd57506108bc826115e9565b5b9050919050565b5f600254905090565b6108d73382611662565b50565b6108e2611671565b6108ec82826116a8565b5050565b5f81826108fc85610984565b1614905092915050565b60025481565b5f6109156116b8565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f52b8e45c00000000000000000000000000000000000000000000000000000000905090565b5f638b78c6d8600c52815f526020600c20549050919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026109cb816116c2565b828290508585905014610a0a576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015610ac6575f848483818110610a2b57610a2a612320565b5b9050602002016020810190610a409190612377565b90506001151581151503610a8557610a80878784818110610a6457610a63612320565b5b9050602002016020810190610a799190611d81565b60016116a8565b610ab8565b610ab7878784818110610a9b57610a9a612320565b5b9050602002016020810190610ab09190611d81565b6001611662565b5b508080600101915050610a0c565b505050505050565b5f610ad76116f7565b90508054600382558015610b095760018160011c14303b10610b005763f92ee8a95f526004601cfd5b818160ff1b1b91505b50610b1333611720565b5f8383810190610b239190612598565b90505f815f015190505f826020015190505f836040015190505f846060015190505f856080015190505f8303610b85576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610baf308773ffffffffffffffffffffffffffffffffffffffff166117f690919063ffffffff16565b905083811015610bfd57865f015181856040517f5c54305e000000000000000000000000000000000000000000000000000000008152600401610bf4939291906125c4565b60405180910390fd5b855f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460028190555083600481905550826006819055505f6005819055508160075f820151815f015f6101000a81548160ff02191690836001811115610c8357610c8261205f565b5b0217905550602082015181600101556040820151816002015f6101000a81548160ff021916908360ff16021790555060608201518160020160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050610d0533611720565b505050505050508015610d41576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610d5381611829565b5f8585810190610d639190612712565b90505f8160200151806020019051810190610d7e919061276d565b90508060045f828254610d9191906127c5565b92505081905550610de5825f0151825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118509092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610e579392919061285d565b604051602081830303815290604052604051610e73919061203f565b60405180910390a2805f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16945094505050509250929050565b610eb2611671565b610ebc8282611662565b5050565b60605f808484810190610ed391906128d4565b9250509150604051806080016040528060016002811115610ef757610ef661205f565b5b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610f53919061294d565b604051602081830303815290604052815250604051602001610f759190612a54565b6040516020818303038152906040529250505092915050565b5f8082610f9a85610984565b161415905092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b60065481565b610fec611671565b610ff55f611899565b565b600281565b6007805f015f9054906101000a900460ff1690806001015490806002015f9054906101000a900460ff16908060020160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b611087611b25565b60076040518060800160405290815f82015f9054906101000a900460ff1660018111156110b7576110b661205f565b5b60018111156110c9576110c861205f565b5b815260200160018201548152602001600282015f9054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525050905090565b5f611157611671565b5f83838101906111679190612af9565b90505f8160200151806020019051810190611182919061276d565b90505f61118e8761195f565b6111c4576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600254036111d5578190506111f9565b670de0b6b3a7640000826002546111ec9190612b40565b6111f69190612bae565b90505b5f6006541415801561120c575060065481115b156112175760065490505b600454816005546112289190612bde565b1115611260576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f8282546112719190612bde565b925050819055506112c287825f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166118509092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d35f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff16898460405160200161132e9392919061285d565b60405160208183030381529060405260405161134a919061203f565b60405180910390a2600193505050509392505050565b600261136b816116c2565b8282905085859050146113aa576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b8585905081101561140e576114018686838181106113cd576113cc612320565b5b90506020020160208101906113e29190611d81565b8585848181106113f5576113f4612320565b5b905060200201356116a8565b80806001019150506113ac565b505050505050565b5f600654905090565b6003602052805f5260405f205f915054906101000a900460ff1681565b60055481565b5f61144c8461195f565b90509392505050565b6002611460816116c2565b82829050858590501461149f576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b85859050811015611503576114f68686838181106114c2576114c1612320565b5b90506020020160208101906114d79190611d81565b8585848181106114ea576114e9612320565b5b90506020020135611662565b80806001019150506114a1565b505050505050565b60015481565b600181565b61151e611671565b63389a75e1600c52805f526020600c20805442111561154457636f5e88185f526004601cfd5b5f81555061155181611899565b50565b61155c611671565b8060601b61157157637448fbae5f526004601cfd5b61157a81611899565b50565b5f8173ffffffffffffffffffffffffffffffffffffffff1661159d611051565b73ffffffffffffffffffffffffffffffffffffffff1614806115c957506115c8826002600117610f8e565b5b9050919050565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f90318111000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061165b575061165a8261196e565b5b9050919050565b61166d82825f6119e7565b5050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146116a6576382b429005f526004601cfd5b565b6116b4828260016119e7565b5050565b5f6202a300905090565b638b78c6d8195433146116f457638b78c6d8600c52335f52806020600c2054166116f3576382b429005f526004601cfd5b5b50565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b611728611a3f565b156117a0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392780541561176257630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3506117f3565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b638b78c6d8600c52335f52806020600c20541661184d576382b429005f526004601cfd5b50565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f51141716611890576390b8ec185f526004601cfd5b5f603452505050565b6118a1611a3f565b15611906577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b821781555061195c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f600454600554109050919050565b5f7fa9216705000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806119e057506119df82611a43565b5b9050919050565b638b78c6d8600c52825f526020600c20805483811783611a0957848216821890505b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f90565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611ab55750611ab482611abc565b5b9050919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60405180608001604052805f6001811115611b4357611b4261205f565b5b81526020015f80191681526020015f60ff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611bbc81611b88565b8114611bc6575f80fd5b50565b5f81359050611bd781611bb3565b92915050565b5f60208284031215611bf257611bf1611b80565b5b5f611bff84828501611bc9565b91505092915050565b5f8115159050919050565b611c1c81611c08565b82525050565b5f602082019050611c355f830184611c13565b92915050565b5f819050919050565b611c4d81611c3b565b82525050565b5f602082019050611c665f830184611c44565b92915050565b611c7581611c3b565b8114611c7f575f80fd5b50565b5f81359050611c9081611c6c565b92915050565b5f60208284031215611cab57611caa611b80565b5b5f611cb884828501611c82565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611cea82611cc1565b9050919050565b611cfa81611ce0565b8114611d04575f80fd5b50565b5f81359050611d1581611cf1565b92915050565b5f8060408385031215611d3157611d30611b80565b5b5f611d3e85828601611d07565b9250506020611d4f85828601611c82565b9150509250929050565b611d6281611b88565b82525050565b5f602082019050611d7b5f830184611d59565b92915050565b5f60208284031215611d9657611d95611b80565b5b5f611da384828501611d07565b91505092915050565b611db581611ce0565b82525050565b5f602082019050611dce5f830184611dac565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611df557611df4611dd4565b5b8235905067ffffffffffffffff811115611e1257611e11611dd8565b5b602083019150836020820283011115611e2e57611e2d611ddc565b5b9250929050565b5f8083601f840112611e4a57611e49611dd4565b5b8235905067ffffffffffffffff811115611e6757611e66611dd8565b5b602083019150836020820283011115611e8357611e82611ddc565b5b9250929050565b5f805f8060408587031215611ea257611ea1611b80565b5b5f85013567ffffffffffffffff811115611ebf57611ebe611b84565b5b611ecb87828801611de0565b9450945050602085013567ffffffffffffffff811115611eee57611eed611b84565b5b611efa87828801611e35565b925092505092959194509250565b5f8083601f840112611f1d57611f1c611dd4565b5b8235905067ffffffffffffffff811115611f3a57611f39611dd8565b5b602083019150836001820283011115611f5657611f55611ddc565b5b9250929050565b5f8060208385031215611f7357611f72611b80565b5b5f83013567ffffffffffffffff811115611f9057611f8f611b84565b5b611f9c85828601611f08565b92509250509250929050565b5f604082019050611fbb5f830185611c44565b611fc86020830184611dac565b9392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61201182611fcf565b61201b8185611fd9565b935061202b818560208601611fe9565b61203481611ff7565b840191505092915050565b5f6020820190508181035f8301526120578184612007565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6002811061209d5761209c61205f565b5b50565b5f8190506120ad8261208c565b919050565b5f6120bc826120a0565b9050919050565b6120cc816120b2565b82525050565b5f819050919050565b6120e4816120d2565b82525050565b5f60ff82169050919050565b6120ff816120ea565b82525050565b5f6080820190506121185f8301876120c3565b61212560208301866120db565b61213260408301856120f6565b61213f6060830184611dac565b95945050505050565b612151816120b2565b82525050565b612160816120d2565b82525050565b61216f816120ea565b82525050565b61217e81611ce0565b82525050565b608082015f8201516121985f850182612148565b5060208201516121ab6020850182612157565b5060408201516121be6040850182612166565b5060608201516121d16060850182612175565b50505050565b5f6080820190506121ea5f830184612184565b92915050565b5f805f6040848603121561220757612206611b80565b5b5f61221486828701611d07565b935050602084013567ffffffffffffffff81111561223557612234611b84565b5b61224186828701611f08565b92509250509250925092565b5f8083601f84011261226257612261611dd4565b5b8235905067ffffffffffffffff81111561227f5761227e611dd8565b5b60208301915083602082028301111561229b5761229a611ddc565b5b9250929050565b5f805f80604085870312156122ba576122b9611b80565b5b5f85013567ffffffffffffffff8111156122d7576122d6611b84565b5b6122e387828801611de0565b9450945050602085013567ffffffffffffffff81111561230657612305611b84565b5b6123128782880161224d565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b61235681611c08565b8114612360575f80fd5b50565b5f813590506123718161234d565b92915050565b5f6020828403121561238c5761238b611b80565b5b5f61239984828501612363565b91505092915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6123dc82611ff7565b810181811067ffffffffffffffff821117156123fb576123fa6123a6565b5b80604052505050565b5f61240d611b77565b905061241982826123d3565b919050565b5f80fd5b6002811061242e575f80fd5b50565b5f8135905061243f81612422565b92915050565b61244e816120d2565b8114612458575f80fd5b50565b5f8135905061246981612445565b92915050565b612478816120ea565b8114612482575f80fd5b50565b5f813590506124938161246f565b92915050565b5f608082840312156124ae576124ad6123a2565b5b6124b86080612404565b90505f6124c784828501612431565b5f8301525060206124da8482850161245b565b60208301525060406124ee84828501612485565b604083015250606061250284828501611d07565b60608301525092915050565b5f6101008284031215612524576125236123a2565b5b61252e60a0612404565b90505f61253d84828501611d07565b5f83015250602061255084828501611c82565b602083015250604061256484828501611c82565b604083015250606061257884828501611c82565b606083015250608061258c84828501612499565b60808301525092915050565b5f61010082840312156125ae576125ad611b80565b5b5f6125bb8482850161250e565b91505092915050565b5f6060820190506125d75f830186611dac565b6125e46020830185611c44565b6125f16040830184611c44565b949350505050565b5f80fd5b5f67ffffffffffffffff821115612617576126166123a6565b5b61262082611ff7565b9050602081019050919050565b828183375f83830152505050565b5f61264d612648846125fd565b612404565b905082815260208101848484011115612669576126686125f9565b5b61267484828561262d565b509392505050565b5f82601f8301126126905761268f611dd4565b5b81356126a084826020860161263b565b91505092915050565b5f604082840312156126be576126bd6123a2565b5b6126c86040612404565b90505f6126d784828501611d07565b5f83015250602082013567ffffffffffffffff8111156126fa576126f961241e565b5b6127068482850161267c565b60208301525092915050565b5f6020828403121561272757612726611b80565b5b5f82013567ffffffffffffffff81111561274457612743611b84565b5b612750848285016126a9565b91505092915050565b5f8151905061276781611c6c565b92915050565b5f6020828403121561278257612781611b80565b5b5f61278f84828501612759565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6127cf82611c3b565b91506127da83611c3b565b92508282039050818111156127f2576127f1612798565b5b92915050565b5f8160601b9050919050565b5f61280e826127f8565b9050919050565b5f61281f82612804565b9050919050565b61283761283282611ce0565b612815565b82525050565b5f819050919050565b61285761285282611c3b565b61283d565b82525050565b5f6128688286612826565b6014820191506128788285612826565b6014820191506128888284612846565b602082019150819050949350505050565b5f6128a382611cc1565b9050919050565b6128b381612899565b81146128bd575f80fd5b50565b5f813590506128ce816128aa565b92915050565b5f805f606084860312156128eb576128ea611b80565b5b5f6128f8868287016128c0565b935050602061290986828701611c82565b925050604061291a86828701611c82565b9150509250925092565b61292d81611c3b565b82525050565b602082015f8201516129475f850182612924565b50505050565b5f6020820190506129605f830184612933565b92915050565b600381106129775761297661205f565b5b50565b5f81905061298782612966565b919050565b5f6129968261297a565b9050919050565b6129a68161298c565b82525050565b5f82825260208201905092915050565b5f6129c682611fcf565b6129d081856129ac565b93506129e0818560208601611fe9565b6129e981611ff7565b840191505092915050565b5f608083015f830151612a095f86018261299d565b506020830151612a1c6020860182612175565b506040830151612a2f6040860182612175565b5060608301518482036060860152612a4782826129bc565b9150508091505092915050565b5f6020820190508181035f830152612a6c81846129f4565b905092915050565b5f60408284031215612a8957612a886123a2565b5b612a936040612404565b90505f82013567ffffffffffffffff811115612ab257612ab161241e565b5b612abe8482850161267c565b5f83015250602082013567ffffffffffffffff811115612ae157612ae061241e565b5b612aed8482850161267c565b60208301525092915050565b5f60208284031215612b0e57612b0d611b80565b5b5f82013567ffffffffffffffff811115612b2b57612b2a611b84565b5b612b3784828501612a74565b91505092915050565b5f612b4a82611c3b565b9150612b5583611c3b565b9250828202612b6381611c3b565b91508282048414831517612b7a57612b79612798565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612bb882611c3b565b9150612bc383611c3b565b925082612bd357612bd2612b81565b5b828204905092915050565b5f612be882611c3b565b9150612bf383611c3b565b9250828201905080821115612c0b57612c0a612798565b5b9291505056fea264697066735822122018691d0d67a8f7162ab215758b57da24181399aca76f384e15724057fc89cdad64736f6c634300081a0033",l=class l extends I.ERC20VariableIncentive{constructor(){super(...arguments),this.abi=s.c}async getIncentiveCriteria(b){try{return await s._A(this._config,{...b,address:this.assertValidAddress()})}catch(e){throw new d.IncentiveCriteriaNotFoundError(e)}}async getMaxReward(b){return await s.DA(this._config,{...b,address:this.assertValidAddress()})}async getIncentiveScalar({chainId:b,hash:e,knownSignatures:r},a){var p;const f=await this.getIncentiveCriteria(a);if(f.criteriaType===u.SignatureType.EVENT){const c=await E.getTransactionReceipt(this._config,{chainId:b,hash:e});if(f.fieldIndex===h.CheatCodes.GAS_REBATE_INCENTIVE)return c.gasUsed*c.effectiveGasPrice+(c.blobGasUsed??0n)*(c.blobGasPrice??0n);const n=c.logs;if(n.length===0)throw new d.NoMatchingLogsError(`No logs found for event signature ${f.signature}`);try{const i=r[f.signature],t=o.parseEventLogs({abi:[i],logs:n});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(i){throw new d.DecodedArgsError(`Failed to decode event log for signature ${f.signature}: ${i.message}`)}}else if(f.criteriaType===u.SignatureType.FUNC){const c=await E.getTransaction(this._config,{chainId:b,hash:e});try{const n=r[f.signature],t=o.decodeFunctionData({abi:[n],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(n){throw new d.DecodedArgsError(`Failed to decode function data for signature ${f.signature}: ${n.message}`)}}else throw new d.InvalidCriteriaTypeError(`Invalid criteria type ${f.criteriaType}`)}buildParameters(b,e){const[r,a]=this.validateDeploymentConfig(b,e);return{abi:s.c,bytecode:w,args:[m(r)],...this.optionallyAttachAccount(a.account)}}};l.bases={31337:void 0,...C.ERC20VariableCriteriaIncentive};let g=l;function T(){return{criteriaType:u.SignatureType.EVENT,signature:o.zeroHash,fieldIndex:h.CheatCodes.GAS_REBATE_INCENTIVE,targetContract:o.zeroAddress}}function m({asset:v,reward:b,limit:e,maxReward:r=0n,criteria:a}){return o.encodeAbiParameters([{type:"tuple",name:"initPayloadExtended",components:[{type:"address",name:"asset"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"},{type:"uint256",name:"maxReward"},{type:"tuple",name:"criteria",components:[{type:"uint8",name:"criteriaType"},{type:"bytes32",name:"signature"},{type:"uint8",name:"fieldIndex"},{type:"address",name:"targetContract"}]}]}],[{asset:v,reward:b,limit:e,maxReward:r,criteria:{criteriaType:a.criteriaType,signature:a.signature,fieldIndex:a.fieldIndex,targetContract:a.targetContract}}])}exports.erc20VariableCriteriaIncentiveAbi=s.c;exports.ERC20VariableCriteriaIncentive=g;exports.gasRebateIncentiveCriteria=T;exports.prepareERC20VariableCriteriaIncentivePayload=m;
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"ERC20VariableCriteriaIncentive.cjs","sources":["../../src/Incentives/ERC20VariableCriteriaIncentive.ts"],"sourcesContent":["import {\n erc20VariableCriteriaIncentiveAbi,\n readErc20VariableCriteriaIncentiveGetIncentiveCriteria,\n readErc20VariableCriteriaIncentiveGetMaxReward,\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 total amount claimable in a single claim or maximum per-action reward.\n *\n * @type {bigint}\n * @optional\n */\n maxReward?: 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 IncentiveCriteria struct from the contract\n *\n * @param {?ReadParams} [params]\n * @returns {Promise<IncentiveCriteria>} Incentive criteria structure\n * @throws {IncentiveCriteriaNotFoundError}\n */\n public async getMaxReward(\n params?: ReadParams<\n typeof erc20VariableCriteriaIncentiveAbi,\n 'getIncentiveCriteria'\n >,\n ): Promise<bigint> {\n const maxReward = await readErc20VariableCriteriaIncentiveGetMaxReward(\n this._config,\n {\n ...params,\n address: this.assertValidAddress(),\n },\n );\n\n return maxReward;\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 {bigint} param0.maxReward - The maximum value claimable from a single completion.\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 maxReward = 0n,\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 { type: 'uint256', name: 'maxReward' },\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 maxReward: maxReward,\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","IncentiveCriteriaNotFoundError","readErc20VariableCriteriaIncentiveGetMaxReward","chainId","hash","knownSignatures","criteria","SignatureType","transactionReceipt","getTransactionReceipt","CheatCodes","logs","NoMatchingLogsError","eventAbi","decodedEvents","parseEventLogs","scalarValue","_a","DecodedArgsError","e","transaction","getTransaction","func","decodeFunctionData","InvalidCriteriaTypeError","_payload","_options","payload","options","bytecode","prepareERC20VariableCriteriaIncentivePayload","ERC20VariableCriteriaIncentiveBases","ERC20VariableCriteriaIncentive","gasRebateIncentiveCriteria","zeroHash","zeroAddress","asset","reward","limit","maxReward","encodeAbiParameters"],"mappings":"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"}
|
|
@@ -24,6 +24,13 @@ export interface ERC20VariableCriteriaIncentivePayload {
|
|
|
24
24
|
* @type {bigint}
|
|
25
25
|
*/
|
|
26
26
|
limit: bigint;
|
|
27
|
+
/**
|
|
28
|
+
* The total amount claimable in a single claim or maximum per-action reward.
|
|
29
|
+
*
|
|
30
|
+
* @type {bigint}
|
|
31
|
+
* @optional
|
|
32
|
+
*/
|
|
33
|
+
maxReward?: bigint;
|
|
27
34
|
/**
|
|
28
35
|
* The criteria for the incentive that determines how the reward is distributed.
|
|
29
36
|
*
|
|
@@ -369,6 +376,16 @@ export declare class ERC20VariableCriteriaIncentive extends ERC20VariableIncenti
|
|
|
369
376
|
}];
|
|
370
377
|
}];
|
|
371
378
|
readonly stateMutability: "view";
|
|
379
|
+
}, {
|
|
380
|
+
readonly type: "function";
|
|
381
|
+
readonly inputs: readonly [];
|
|
382
|
+
readonly name: "getMaxReward";
|
|
383
|
+
readonly outputs: readonly [{
|
|
384
|
+
readonly name: "";
|
|
385
|
+
readonly internalType: "uint256";
|
|
386
|
+
readonly type: "uint256";
|
|
387
|
+
}];
|
|
388
|
+
readonly stateMutability: "view";
|
|
372
389
|
}, {
|
|
373
390
|
readonly type: "function";
|
|
374
391
|
readonly inputs: readonly [{
|
|
@@ -507,6 +524,16 @@ export declare class ERC20VariableCriteriaIncentive extends ERC20VariableIncenti
|
|
|
507
524
|
readonly type: "uint256";
|
|
508
525
|
}];
|
|
509
526
|
readonly stateMutability: "view";
|
|
527
|
+
}, {
|
|
528
|
+
readonly type: "function";
|
|
529
|
+
readonly inputs: readonly [];
|
|
530
|
+
readonly name: "maxReward";
|
|
531
|
+
readonly outputs: readonly [{
|
|
532
|
+
readonly name: "";
|
|
533
|
+
readonly internalType: "uint256";
|
|
534
|
+
readonly type: "uint256";
|
|
535
|
+
}];
|
|
536
|
+
readonly stateMutability: "view";
|
|
510
537
|
}, {
|
|
511
538
|
readonly type: "function";
|
|
512
539
|
readonly inputs: readonly [];
|
|
@@ -687,6 +714,14 @@ export declare class ERC20VariableCriteriaIncentive extends ERC20VariableIncenti
|
|
|
687
714
|
* @throws {IncentiveCriteriaNotFoundError}
|
|
688
715
|
*/
|
|
689
716
|
getIncentiveCriteria(params?: ReadParams<typeof erc20VariableCriteriaIncentiveAbi, 'getIncentiveCriteria'>): Promise<IncentiveCriteria>;
|
|
717
|
+
/**
|
|
718
|
+
* Fetches the IncentiveCriteria struct from the contract
|
|
719
|
+
*
|
|
720
|
+
* @param {?ReadParams} [params]
|
|
721
|
+
* @returns {Promise<IncentiveCriteria>} Incentive criteria structure
|
|
722
|
+
* @throws {IncentiveCriteriaNotFoundError}
|
|
723
|
+
*/
|
|
724
|
+
getMaxReward(params?: ReadParams<typeof erc20VariableCriteriaIncentiveAbi, 'getIncentiveCriteria'>): Promise<bigint>;
|
|
690
725
|
/**
|
|
691
726
|
* Fetches the incentive scalar from a transaction hash
|
|
692
727
|
*
|
|
@@ -739,8 +774,9 @@ export declare function gasRebateIncentiveCriteria(): IncentiveCriteria;
|
|
|
739
774
|
* @param {Address} param0.asset - The address of the ERC20 asset to incentivize.
|
|
740
775
|
* @param {bigint} param0.reward - The reward amount to distribute per action.
|
|
741
776
|
* @param {bigint} param0.limit - The total limit of the asset distribution.
|
|
777
|
+
* @param {bigint} param0.maxReward - The maximum value claimable from a single completion.
|
|
742
778
|
* @param {IncentiveCriteria} param0.criteria - The incentive criteria for reward distribution.
|
|
743
779
|
* @returns {Hex}
|
|
744
780
|
*/
|
|
745
|
-
export declare function prepareERC20VariableCriteriaIncentivePayload({ asset, reward, limit, criteria, }: ERC20VariableCriteriaIncentivePayload): `0x${string}`;
|
|
781
|
+
export declare function prepareERC20VariableCriteriaIncentivePayload({ asset, reward, limit, maxReward, criteria, }: ERC20VariableCriteriaIncentivePayload): `0x${string}`;
|
|
746
782
|
//# sourceMappingURL=ERC20VariableCriteriaIncentive.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ERC20VariableCriteriaIncentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/ERC20VariableCriteriaIncentive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,
|
|
1
|
+
{"version":3,"file":"ERC20VariableCriteriaIncentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/ERC20VariableCriteriaIncentive.ts"],"names":[],"mappings":"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"}
|