@boostxyz/sdk 7.3.0 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/Actions/EventAction.cjs +1 -1
  2. package/dist/Actions/EventAction.js +1 -1
  3. package/dist/AllowLists/AllowList.cjs +1 -1
  4. package/dist/AllowLists/AllowList.js +1 -1
  5. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  6. package/dist/AllowLists/SimpleAllowList.js +1 -1
  7. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  8. package/dist/AllowLists/SimpleDenyList.js +2 -2
  9. package/dist/BoostCore.cjs +1 -1
  10. package/dist/BoostCore.js +4 -4
  11. package/dist/BoostRegistry.cjs +1 -1
  12. package/dist/BoostRegistry.js +1 -1
  13. package/dist/{Budget-uGKa2qzz.cjs → Budget-CBvRK5Ia.cjs} +2 -2
  14. package/dist/{Budget-uGKa2qzz.cjs.map → Budget-CBvRK5Ia.cjs.map} +1 -1
  15. package/dist/{Budget-B-grnRq9.js → Budget-DlN8SRIG.js} +2 -2
  16. package/dist/{Budget-B-grnRq9.js.map → Budget-DlN8SRIG.js.map} +1 -1
  17. package/dist/Budgets/Budget.cjs +1 -1
  18. package/dist/Budgets/Budget.js +1 -1
  19. package/dist/Budgets/ManagedBudget.cjs +1 -1
  20. package/dist/Budgets/ManagedBudget.js +1 -1
  21. package/dist/{Incentive-Dufx0ZjH.cjs → Incentive-CoOu1lA8.cjs} +2 -2
  22. package/dist/{Incentive-Dufx0ZjH.cjs.map → Incentive-CoOu1lA8.cjs.map} +1 -1
  23. package/dist/{Incentive-Bz_g-nID.js → Incentive-OiTBMgKz.js} +2 -2
  24. package/dist/{Incentive-Bz_g-nID.js.map → Incentive-OiTBMgKz.js.map} +1 -1
  25. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  26. package/dist/Incentives/AllowListIncentive.js +2 -2
  27. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  28. package/dist/Incentives/CGDAIncentive.js +1 -1
  29. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  30. package/dist/Incentives/ERC20Incentive.js +1 -1
  31. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.cjs +1 -1
  32. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.js +1 -1
  33. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.cjs +1 -1
  34. package/dist/Incentives/ERC20PeggedVariableCriteriaIncentiveV2.js +1 -1
  35. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  36. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +1 -1
  37. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.cjs +1 -1
  38. package/dist/Incentives/ERC20VariableCriteriaIncentiveV2.js +1 -1
  39. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  40. package/dist/Incentives/ERC20VariableIncentive.js +1 -1
  41. package/dist/Incentives/Incentive.cjs +1 -1
  42. package/dist/Incentives/Incentive.js +1 -1
  43. package/dist/Incentives/PointsIncentive.cjs +1 -1
  44. package/dist/Incentives/PointsIncentive.js +1 -1
  45. package/dist/{SimpleDenyList-B2YDJ_gk.cjs → SimpleDenyList-DMTx64jC.cjs} +2 -2
  46. package/dist/{SimpleDenyList-B2YDJ_gk.cjs.map → SimpleDenyList-DMTx64jC.cjs.map} +1 -1
  47. package/dist/{SimpleDenyList-BlLgvhjE.js → SimpleDenyList-DWaW4ZEU.js} +2 -2
  48. package/dist/{SimpleDenyList-BlLgvhjE.js.map → SimpleDenyList-DWaW4ZEU.js.map} +1 -1
  49. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  50. package/dist/Validators/LimitedSignerValidator.js +1 -1
  51. package/dist/Validators/SignerValidator.cjs +1 -1
  52. package/dist/Validators/SignerValidator.js +1 -1
  53. package/dist/{deployments-DKtAq6BT.js → deployments-CW15LXS5.js} +29 -9
  54. package/dist/{deployments-DKtAq6BT.js.map → deployments-CW15LXS5.js.map} +1 -1
  55. package/dist/deployments-DKScOGTf.cjs +2 -0
  56. package/dist/deployments-DKScOGTf.cjs.map +1 -0
  57. package/dist/deployments.json +21 -0
  58. package/dist/index.cjs +1 -1
  59. package/dist/index.js +3 -3
  60. package/package.json +1 -1
  61. package/dist/deployments-Dk-Z1L2X.cjs +0 -2
  62. package/dist/deployments-Dk-Z1L2X.cjs.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../generated-C_JEoLDO.cjs"),t=require("viem"),y=require("../deployments-Dk-Z1L2X.cjs"),u=require("../Deployable/DeployableTarget.cjs"),c=require("../claiming.cjs"),g=require("../utils.cjs"),w="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b612149806100895f395ff3fe608060405260043610610243575f3560e01c806354d1f13d11610131578063c884ef83116100ac578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b14610677578063fe9fbb801461068a578063fee81cf4146106a9575f80fd5b8063ec87621c14610650578063f04e283e14610664575f80fd5b8063c884ef83146105cf578063db09da12146105fd578063dcc213611461061c578063dcc59b6f1461063b575f80fd5b8063a4d66daf11610101578063b30906d4116100e7578063b30906d414610572578063bb1757cf14610591578063be4994f8146105b0575f80fd5b8063a4d66daf14610537578063a8c62e761461054c575f80fd5b806354d1f13d146104fb578063715018a61461050357806375b238fc1461050b5780638da5cb5b1461051f575f80fd5b80632de94807116101c1578063439fab91116101915780634a4ee7b1116101775780634a4ee7b1146104875780634e7165a21461049a578063514e62fc146104c6575f80fd5b8063439fab911461041f578063474f5a441461043e575f80fd5b80632de948071461035f57806330db555f1461039057806338d52e0f146103af5780634359d28a14610400575f80fd5b80631cd64df411610216578063228cb733116101fc578063228cb73314610309578063256929621461031d57806328d6183b14610325575f80fd5b80631cd64df4146102c05780632275aea9146102f5575f80fd5b806301ffc9a71461024757806307621eca1461027b578063183a4f6e146102985780631c10893f146102ad575b5f80fd5b348015610252575f80fd5b506102666102613660046119ee565b6106da565b60405190151581526020015b60405180910390f35b348015610286575f80fd5b505f545b604051908152602001610272565b6102ab6102a6366004611a2d565b610735565b005b6102ab6102bb366004611a6c565b610742565b3480156102cb575f80fd5b506102666102da366004611a6c565b638b78c6d8600c9081525f9290925260209091205481161490565b348015610300575f80fd5b506102ab610758565b348015610314575f80fd5b5061028a5f5481565b6102ab6108d7565b348015610330575f80fd5b506040517f7cc1d5bb000000000000000000000000000000000000000000000000000000008152602001610272565b34801561036a575f80fd5b5061028a610379366004611a94565b638b78c6d8600c9081525f91909152602090205490565b34801561039b575f80fd5b506102ab6103aa366004611a2d565b610924565b3480156103ba575f80fd5b506004546103db9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610272565b34801561040b575f80fd5b506102ab61041a366004611af5565b610a83565b34801561042a575f80fd5b506102ab610439366004611b9f565b610b7d565b348015610449575f80fd5b5061045d610458366004611b9f565b610e4a565b6040805192835273ffffffffffffffffffffffffffffffffffffffff909116602083015201610272565b6102ab610495366004611a6c565b61104d565b3480156104a5575f80fd5b506104b96104b4366004611b9f565b61105f565b6040516102729190611c0c565b3480156104d1575f80fd5b506102666104e0366004611a6c565b638b78c6d8600c9081525f9290925260209091205416151590565b6102ab61112f565b6102ab611168565b348015610516575f80fd5b5061028a600281565b34801561052a575f80fd5b50638b78c6d819546103db565b348015610542575f80fd5b5061028a60065481565b348015610557575f80fd5b506002546105659060ff1681565b6040516102729190611c5f565b34801561057d575f80fd5b506103db61058c366004611a2d565b61117b565b34801561059c575f80fd5b506102666105ab366004611c6d565b6111b0565b3480156105bb575f80fd5b506102ab6105ca366004611af5565b611421565b3480156105da575f80fd5b506102666105e9366004611a94565b60016020525f908152604090205460ff1681565b348015610608575f80fd5b50610266610617366004611c6d565b6114bf565b348015610627575f80fd5b506102ab610636366004611af5565b6114d1565b348015610646575f80fd5b5061028a60055481565b34801561065b575f80fd5b5061028a600181565b6102ab610672366004611a94565b61156f565b6102ab610685366004611a94565b6115a9565b348015610695575f80fd5b506102666106a4366004611a94565b6115cf565b3480156106b4575f80fd5b5061028a6106c3366004611a94565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7cc1d5bb00000000000000000000000000000000000000000000000000000000148061072f575061072f8261162e565b92915050565b61073f3382611683565b50565b61074a61168e565b61075482826116a8565b5050565b6001610763816116b4565b600160025460ff16600181111561077c5761077c611c1e565b146107b3576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051806020016040528042446107cb9190611ce9565b905260038054602083208084529293505f926107e79190611d29565b815481106107f7576107f7611d3c565b5f918252602082200154905460045473ffffffffffffffffffffffffffffffffffffffff928316935061082d92169083906116d8565b6004545f546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b811660208301529284901b9092166034830152604882015273ffffffffffffffffffffffffffffffffffffffff8216907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f19818403018152908290526108ca91611c0c565b60405180910390a2505050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b600161092f8161172b565b815f03610968576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045461098d9073ffffffffffffffffffffffffffffffffffffffff1633308561175c565b600160025460ff1660018111156109a6576109a6611c1e565b036109dd576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546109e99083611d29565b15610a20576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8054610a2d9084611d69565b90508060065f828254610a409190611ce9565b909155505060408051338152602081018590527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a1505050565b6002610a8e8161172b565b838214610ac7576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b75575f848483818110610ae457610ae4611d3c565b9050602002016020810190610af99190611d7c565b9050801515600103610b3b57610b36878784818110610b1a57610b1a611d3c565b9050602002016020810190610b2f9190611a94565b60016116a8565b610b6c565b610b6c878784818110610b5057610b50611d3c565b9050602002016020810190610b659190611a94565b6001611683565b50600101610ac9565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bce5760018160011c14303b10610bc55763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610bdc83850185611e22565b905080604001515f1480610bf257506060810151155b15610c29576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600182602001516001811115610c4257610c42611c1e565b03610c51578160400151610c65565b81606001518260400151610c659190611ea7565b82519091505f90610c8c9073ffffffffffffffffffffffffffffffffffffffff16306117be565b905081811015610cf65782516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260248101829052604481018390526064015b60405180910390fd5b8251600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556020830151600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115610d7a57610d7a611c1e565b021790555060408301515f556060830151600655610d97336117f1565b610da683608001516001611839565b825f015173ffffffffffffffffffffffffffffffffffffffff167fe83379cf1b79044fa1d0063e68012349f4f5fb730e6a875bdc9d463747ecd0858460200151856040015186606001518760800151604051610e059493929190611ebe565b60405180910390a25050508015610e45576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610e578161172b565b5f610e6485870187611efd565b90505f8160200151806020019051810190610e7f9190611fd4565b9050600160025460ff166001811115610e9a57610e9a611c1e565b03610f11575f5481141580610eb057505f600554115b15610f08573382604051602001610ec79190611feb565b60408051601f19818403018152908290527f4139d81d000000000000000000000000000000000000000000000000000000008252610ced9291600401612025565b5f600655610f56565b5f54610f1d9082611d29565b15610f34573382604051602001610ec79190611feb565b5f54610f409082611d69565b60065f828254610f509190612053565b90915550505b8151600454610f7e9173ffffffffffffffffffffffffffffffffffffffff90911690836116d8565b81516004546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f198184030181529082905261101e91611c0c565b60405180910390a260045490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b61105561168e565b6107548282611683565b60605f61106e83850185611e22565b90505f60018260200151600181111561108957611089611c1e565b036110985781604001516110ac565b816060015182604001516110ac9190611ea7565b6040805160808101825260018152845173ffffffffffffffffffffffffffffffffffffffff16602080830191909152308284015282518082018452849052825180820185905283518082038301815290840184526060830152915192935061111692909101612066565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b61117061168e565b6111795f61187a565b565b6003818154811061118a575f80fd5b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b5f6111b961168e565b6111c2846118c4565b6111f8576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60025460ff16600181111561121057611210611c1e565b036113375760058054905f611224836120dc565b909155505073ffffffffffffffffffffffffffffffffffffffff8085165f908152600160208190526040822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790555460045461128a92169086906116d8565b6004545f546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b811660208301529287901b9092166034830152604882015273ffffffffffffffffffffffffffffffffffffffff8516907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f198184030181529082905261132791611c0c565b60405180910390a250600161141a565b60058054905f611346836120dc565b909155505073ffffffffffffffffffffffffffffffffffffffff84165f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560038054928301815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517ff0abe0f5c6f02112a9a4332e7b091bf49040ffddeedb73785a9b9a0a3ca7f1539190a25060015b9392505050565b600261142c8161172b565b838214611465576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b75576114b786868381811061148457611484611d3c565b90506020020160208101906114999190611a94565b8585848181106114ab576114ab611d3c565b905060200201356116a8565b600101611467565b5f6114c9846118c4565b949350505050565b60026114dc8161172b565b838214611515576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b755761156786868381811061153457611534611d3c565b90506020020160208101906115499190611a94565b85858481811061155b5761155b611d3c565b90506020020135611683565b600101611517565b61157761168e565b63389a75e1600c52805f526020600c20805442111561159d57636f5e88185f526004601cfd5b5f905561073f8161187a565b6115b161168e565b8060601b6115c657637448fbae5f526004601cfd5b61073f8161187a565b5f8173ffffffffffffffffffffffffffffffffffffffff166115f4638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff16148061072f5750638b78c6d8600c9081525f8390526020902054600316151561072f565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa921670500000000000000000000000000000000000000000000000000000000148061072f575061072f82611901565b61075482825f611997565b638b78c6d819543314611179576382b429005f526004601cfd5b61075482826001611997565b638b78c6d8600c52335f52806020600c20541661073f576382b429005f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661172157803d853b151710611721576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d81954331461073f57638b78c6d8600c52335f52806020600c20541661073f576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166117b057803d873b1517106117b057637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526001602052604081205460ff1615801561072f57506006546005541092915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061072f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461072f565b638b78c6d8600c52825f526020600c208054838117836119b8575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f602082840312156119fe575f80fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461141a575f80fd5b5f60208284031215611a3d575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611a67575f80fd5b919050565b5f8060408385031215611a7d575f80fd5b611a8683611a44565b946020939093013593505050565b5f60208284031215611aa4575f80fd5b61141a82611a44565b5f8083601f840112611abd575f80fd5b50813567ffffffffffffffff811115611ad4575f80fd5b6020830191508360208260051b8501011115611aee575f80fd5b9250929050565b5f805f8060408587031215611b08575f80fd5b843567ffffffffffffffff811115611b1e575f80fd5b611b2a87828801611aad565b909550935050602085013567ffffffffffffffff811115611b49575f80fd5b611b5587828801611aad565b95989497509550505050565b5f8083601f840112611b71575f80fd5b50813567ffffffffffffffff811115611b88575f80fd5b602083019150836020828501011115611aee575f80fd5b5f8060208385031215611bb0575f80fd5b823567ffffffffffffffff811115611bc6575f80fd5b611bd285828601611b61565b90969095509350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61141a6020830184611bde565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110611c5b57611c5b611c1e565b9052565b6020810161072f8284611c4b565b5f805f60408486031215611c7f575f80fd5b611c8884611a44565b9250602084013567ffffffffffffffff811115611ca3575f80fd5b611caf86828701611b61565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561072f5761072f611cbc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82611d3757611d37611cfc565b500690565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82611d7757611d77611cfc565b500490565b5f60208284031215611d8c575f80fd5b8135801515811461141a575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040805190810167ffffffffffffffff81118282101715611deb57611deb611d9b565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e1a57611e1a611d9b565b604052919050565b5f60a0828403128015611e33575f80fd5b5060405160a0810167ffffffffffffffff81118282101715611e5757611e57611d9b565b604052611e6383611a44565b8152602083013560028110611e76575f80fd5b60208201526040838101359082015260608084013590820152611e9b60808401611a44565b60808201529392505050565b808202811582820484141761072f5761072f611cbc565b60808101611ecc8287611c4b565b84602083015283604083015273ffffffffffffffffffffffffffffffffffffffff8316606083015295945050505050565b5f60208284031215611f0d575f80fd5b813567ffffffffffffffff811115611f23575f80fd5b820160408185031215611f34575f80fd5b611f3c611dc8565b611f4582611a44565b8152602082013567ffffffffffffffff811115611f60575f80fd5b80830192505084601f830112611f74575f80fd5b813567ffffffffffffffff811115611f8e57611f8e611d9b565b611fa16020601f19601f84011601611df1565b818152866020838601011115611fb5575f80fd5b816020850160208301375f602092820183015290820152949350505050565b5f60208284031215611fe4575f80fd5b5051919050565b6020815273ffffffffffffffffffffffffffffffffffffffff82511660208201525f60208301516040808401526114c96060840182611bde565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f6114c96040830184611bde565b8181038181111561072f5761072f611cbc565b602081525f82516003811061207d5761207d611c1e565b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff604084015116606083015260608301516080808401526114c960a0840182611bde565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361210c5761210c611cbc565b506001019056fea26469706673582212209def68a22e935c7af91e946bb2187abd14944a4cd3b455abbdb234120eea61b564736f6c634300081a0033",i=class i extends u.DeployableTarget{constructor(){super(...arguments),this.abi=a.T}async owner(f){return await a.AM(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return await a.mM(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return await a.cM(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,b){return await a.dM(this._config,{address:this.assertValidAddress(),args:[f],...b})}async asset(f){return await a.yM(this._config,{address:this.assertValidAddress(),...f})}strategy(f){return a.CM(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return await a.MM(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return await a.IM(this._config,{address:this.assertValidAddress(),...f})}async entries(f,b){return await a.bM(this._config,{address:this.assertValidAddress(),args:[f],...b})}async claim(f,b){return await this.awaitResult(this.claimRaw(f,b))}async claimRaw(f,b){const{request:e,result:d}=await a.$M(this._config,{address:this.assertValidAddress(),args:[c.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a.zM(this._config,e),result:d}}async clawback(f,b){return await this.awaitResult(this.clawbackRaw(f,b))}async clawbackRaw(f,b){const{request:e,result:d}=await a.QM(this._config,{address:this.assertValidAddress(),args:[c.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a.BM(this._config,e),result:d}}async isClaimable(f,b){return await a.gM(this._config,{address:this.assertValidAddress(),args:[f.target,f.data],...b})}async drawRaffle(f){return await this.awaitResult(this.drawRaffleRaw(f))}async drawRaffleRaw(f){const{request:b,result:e}=await a.KM(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...f});return{hash:await a.xM(this._config,b),result:e}}async getTotalBudget(f){var s,l,o;if(((s=this.payload)==null?void 0:s.strategy)!==void 0&&((l=this.payload)==null?void 0:l.limit)!==void 0&&((o=this.payload)==null?void 0:o.reward)!==void 0)return this.payload.strategy===c.StrategyType.POOL?this.payload.limit*this.payload.reward:this.payload.reward;const[b,e,d]=await Promise.all([this.strategy(f),this.limit(f),this.reward(f)]);return b===c.StrategyType.POOL?e*d:d}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[b,e]=await Promise.all([this.claims(f),this.limit(f)]);return e-b}buildParameters(f,b){const[e,d]=this.validateDeploymentConfig(f,b);return{abi:a.T,bytecode:w,args:[n(e)],...this.optionallyAttachAccount(d.account)}}buildClawbackData(f){return t.encodeAbiParameters([{type:"uint256"}],[f])}async getTopupPayload(f){var d;const e={asset:await this.asset()||t.zeroAddress,strategy:c.StrategyType.POOL,reward:1n,limit:f,manager:((d=this.payload)==null?void 0:d.manager)||t.zeroAddress};return n(e)}buildClaimData(){return t.zeroHash}};i.bases={31337:void 0,...y.ERC20Incentive},i.registryType=g.RegistryType.INCENTIVE;let r=i;function n({asset:h,strategy:f,reward:b,limit:e,manager:d=t.zeroAddress}){return t.encodeAbiParameters([{type:"address",name:"asset"},{type:"uint8",name:"strategy"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"},{type:"address",name:"manager"}],[h,f,b,e===0n&&f===c.StrategyType.RAFFLE?1n:e,d])}exports.erc20IncentiveAbi=a.T;exports.ERC20Incentive=r;exports.prepareERC20IncentivePayload=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../generated-C_JEoLDO.cjs"),t=require("viem"),y=require("../deployments-DKScOGTf.cjs"),u=require("../Deployable/DeployableTarget.cjs"),c=require("../claiming.cjs"),g=require("../utils.cjs"),w="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b612149806100895f395ff3fe608060405260043610610243575f3560e01c806354d1f13d11610131578063c884ef83116100ac578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b14610677578063fe9fbb801461068a578063fee81cf4146106a9575f80fd5b8063ec87621c14610650578063f04e283e14610664575f80fd5b8063c884ef83146105cf578063db09da12146105fd578063dcc213611461061c578063dcc59b6f1461063b575f80fd5b8063a4d66daf11610101578063b30906d4116100e7578063b30906d414610572578063bb1757cf14610591578063be4994f8146105b0575f80fd5b8063a4d66daf14610537578063a8c62e761461054c575f80fd5b806354d1f13d146104fb578063715018a61461050357806375b238fc1461050b5780638da5cb5b1461051f575f80fd5b80632de94807116101c1578063439fab91116101915780634a4ee7b1116101775780634a4ee7b1146104875780634e7165a21461049a578063514e62fc146104c6575f80fd5b8063439fab911461041f578063474f5a441461043e575f80fd5b80632de948071461035f57806330db555f1461039057806338d52e0f146103af5780634359d28a14610400575f80fd5b80631cd64df411610216578063228cb733116101fc578063228cb73314610309578063256929621461031d57806328d6183b14610325575f80fd5b80631cd64df4146102c05780632275aea9146102f5575f80fd5b806301ffc9a71461024757806307621eca1461027b578063183a4f6e146102985780631c10893f146102ad575b5f80fd5b348015610252575f80fd5b506102666102613660046119ee565b6106da565b60405190151581526020015b60405180910390f35b348015610286575f80fd5b505f545b604051908152602001610272565b6102ab6102a6366004611a2d565b610735565b005b6102ab6102bb366004611a6c565b610742565b3480156102cb575f80fd5b506102666102da366004611a6c565b638b78c6d8600c9081525f9290925260209091205481161490565b348015610300575f80fd5b506102ab610758565b348015610314575f80fd5b5061028a5f5481565b6102ab6108d7565b348015610330575f80fd5b506040517f7cc1d5bb000000000000000000000000000000000000000000000000000000008152602001610272565b34801561036a575f80fd5b5061028a610379366004611a94565b638b78c6d8600c9081525f91909152602090205490565b34801561039b575f80fd5b506102ab6103aa366004611a2d565b610924565b3480156103ba575f80fd5b506004546103db9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610272565b34801561040b575f80fd5b506102ab61041a366004611af5565b610a83565b34801561042a575f80fd5b506102ab610439366004611b9f565b610b7d565b348015610449575f80fd5b5061045d610458366004611b9f565b610e4a565b6040805192835273ffffffffffffffffffffffffffffffffffffffff909116602083015201610272565b6102ab610495366004611a6c565b61104d565b3480156104a5575f80fd5b506104b96104b4366004611b9f565b61105f565b6040516102729190611c0c565b3480156104d1575f80fd5b506102666104e0366004611a6c565b638b78c6d8600c9081525f9290925260209091205416151590565b6102ab61112f565b6102ab611168565b348015610516575f80fd5b5061028a600281565b34801561052a575f80fd5b50638b78c6d819546103db565b348015610542575f80fd5b5061028a60065481565b348015610557575f80fd5b506002546105659060ff1681565b6040516102729190611c5f565b34801561057d575f80fd5b506103db61058c366004611a2d565b61117b565b34801561059c575f80fd5b506102666105ab366004611c6d565b6111b0565b3480156105bb575f80fd5b506102ab6105ca366004611af5565b611421565b3480156105da575f80fd5b506102666105e9366004611a94565b60016020525f908152604090205460ff1681565b348015610608575f80fd5b50610266610617366004611c6d565b6114bf565b348015610627575f80fd5b506102ab610636366004611af5565b6114d1565b348015610646575f80fd5b5061028a60055481565b34801561065b575f80fd5b5061028a600181565b6102ab610672366004611a94565b61156f565b6102ab610685366004611a94565b6115a9565b348015610695575f80fd5b506102666106a4366004611a94565b6115cf565b3480156106b4575f80fd5b5061028a6106c3366004611a94565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7cc1d5bb00000000000000000000000000000000000000000000000000000000148061072f575061072f8261162e565b92915050565b61073f3382611683565b50565b61074a61168e565b61075482826116a8565b5050565b6001610763816116b4565b600160025460ff16600181111561077c5761077c611c1e565b146107b3576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051806020016040528042446107cb9190611ce9565b905260038054602083208084529293505f926107e79190611d29565b815481106107f7576107f7611d3c565b5f918252602082200154905460045473ffffffffffffffffffffffffffffffffffffffff928316935061082d92169083906116d8565b6004545f546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b811660208301529284901b9092166034830152604882015273ffffffffffffffffffffffffffffffffffffffff8216907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f19818403018152908290526108ca91611c0c565b60405180910390a2505050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b600161092f8161172b565b815f03610968576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045461098d9073ffffffffffffffffffffffffffffffffffffffff1633308561175c565b600160025460ff1660018111156109a6576109a6611c1e565b036109dd576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546109e99083611d29565b15610a20576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8054610a2d9084611d69565b90508060065f828254610a409190611ce9565b909155505060408051338152602081018590527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a1505050565b6002610a8e8161172b565b838214610ac7576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b75575f848483818110610ae457610ae4611d3c565b9050602002016020810190610af99190611d7c565b9050801515600103610b3b57610b36878784818110610b1a57610b1a611d3c565b9050602002016020810190610b2f9190611a94565b60016116a8565b610b6c565b610b6c878784818110610b5057610b50611d3c565b9050602002016020810190610b659190611a94565b6001611683565b50600101610ac9565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610bce5760018160011c14303b10610bc55763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610bdc83850185611e22565b905080604001515f1480610bf257506060810151155b15610c29576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600182602001516001811115610c4257610c42611c1e565b03610c51578160400151610c65565b81606001518260400151610c659190611ea7565b82519091505f90610c8c9073ffffffffffffffffffffffffffffffffffffffff16306117be565b905081811015610cf65782516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260248101829052604481018390526064015b60405180910390fd5b8251600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790556020830151600280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115610d7a57610d7a611c1e565b021790555060408301515f556060830151600655610d97336117f1565b610da683608001516001611839565b825f015173ffffffffffffffffffffffffffffffffffffffff167fe83379cf1b79044fa1d0063e68012349f4f5fb730e6a875bdc9d463747ecd0858460200151856040015186606001518760800151604051610e059493929190611ebe565b60405180910390a25050508015610e45576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610e578161172b565b5f610e6485870187611efd565b90505f8160200151806020019051810190610e7f9190611fd4565b9050600160025460ff166001811115610e9a57610e9a611c1e565b03610f11575f5481141580610eb057505f600554115b15610f08573382604051602001610ec79190611feb565b60408051601f19818403018152908290527f4139d81d000000000000000000000000000000000000000000000000000000008252610ced9291600401612025565b5f600655610f56565b5f54610f1d9082611d29565b15610f34573382604051602001610ec79190611feb565b5f54610f409082611d69565b60065f828254610f509190612053565b90915550505b8151600454610f7e9173ffffffffffffffffffffffffffffffffffffffff90911690836116d8565b81516004546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f198184030181529082905261101e91611c0c565b60405180910390a260045490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b61105561168e565b6107548282611683565b60605f61106e83850185611e22565b90505f60018260200151600181111561108957611089611c1e565b036110985781604001516110ac565b816060015182604001516110ac9190611ea7565b6040805160808101825260018152845173ffffffffffffffffffffffffffffffffffffffff16602080830191909152308284015282518082018452849052825180820185905283518082038301815290840184526060830152915192935061111692909101612066565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b61117061168e565b6111795f61187a565b565b6003818154811061118a575f80fd5b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b5f6111b961168e565b6111c2846118c4565b6111f8576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60025460ff16600181111561121057611210611c1e565b036113375760058054905f611224836120dc565b909155505073ffffffffffffffffffffffffffffffffffffffff8085165f908152600160208190526040822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690911790555460045461128a92169086906116d8565b6004545f546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b811660208301529287901b9092166034830152604882015273ffffffffffffffffffffffffffffffffffffffff8516907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d39060680160408051601f198184030181529082905261132791611c0c565b60405180910390a250600161141a565b60058054905f611346836120dc565b909155505073ffffffffffffffffffffffffffffffffffffffff84165f81815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168317905560038054928301815583527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b90910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517ff0abe0f5c6f02112a9a4332e7b091bf49040ffddeedb73785a9b9a0a3ca7f1539190a25060015b9392505050565b600261142c8161172b565b838214611465576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b75576114b786868381811061148457611484611d3c565b90506020020160208101906114999190611a94565b8585848181106114ab576114ab611d3c565b905060200201356116a8565b600101611467565b5f6114c9846118c4565b949350505050565b60026114dc8161172b565b838214611515576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610b755761156786868381811061153457611534611d3c565b90506020020160208101906115499190611a94565b85858481811061155b5761155b611d3c565b90506020020135611683565b600101611517565b61157761168e565b63389a75e1600c52805f526020600c20805442111561159d57636f5e88185f526004601cfd5b5f905561073f8161187a565b6115b161168e565b8060601b6115c657637448fbae5f526004601cfd5b61073f8161187a565b5f8173ffffffffffffffffffffffffffffffffffffffff166115f4638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff16148061072f5750638b78c6d8600c9081525f8390526020902054600316151561072f565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa921670500000000000000000000000000000000000000000000000000000000148061072f575061072f82611901565b61075482825f611997565b638b78c6d819543314611179576382b429005f526004601cfd5b61075482826001611997565b638b78c6d8600c52335f52806020600c20541661073f576382b429005f526004601cfd5b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661172157803d853b151710611721576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d81954331461073f57638b78c6d8600c52335f52806020600c20541661073f576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f5114166117b057803d873b1517106117b057637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526001602052604081205460ff1615801561072f57506006546005541092915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061072f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461072f565b638b78c6d8600c52825f526020600c208054838117836119b8575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f602082840312156119fe575f80fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461141a575f80fd5b5f60208284031215611a3d575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611a67575f80fd5b919050565b5f8060408385031215611a7d575f80fd5b611a8683611a44565b946020939093013593505050565b5f60208284031215611aa4575f80fd5b61141a82611a44565b5f8083601f840112611abd575f80fd5b50813567ffffffffffffffff811115611ad4575f80fd5b6020830191508360208260051b8501011115611aee575f80fd5b9250929050565b5f805f8060408587031215611b08575f80fd5b843567ffffffffffffffff811115611b1e575f80fd5b611b2a87828801611aad565b909550935050602085013567ffffffffffffffff811115611b49575f80fd5b611b5587828801611aad565b95989497509550505050565b5f8083601f840112611b71575f80fd5b50813567ffffffffffffffff811115611b88575f80fd5b602083019150836020828501011115611aee575f80fd5b5f8060208385031215611bb0575f80fd5b823567ffffffffffffffff811115611bc6575f80fd5b611bd285828601611b61565b90969095509350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61141a6020830184611bde565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110611c5b57611c5b611c1e565b9052565b6020810161072f8284611c4b565b5f805f60408486031215611c7f575f80fd5b611c8884611a44565b9250602084013567ffffffffffffffff811115611ca3575f80fd5b611caf86828701611b61565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561072f5761072f611cbc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f82611d3757611d37611cfc565b500690565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82611d7757611d77611cfc565b500490565b5f60208284031215611d8c575f80fd5b8135801515811461141a575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040805190810167ffffffffffffffff81118282101715611deb57611deb611d9b565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e1a57611e1a611d9b565b604052919050565b5f60a0828403128015611e33575f80fd5b5060405160a0810167ffffffffffffffff81118282101715611e5757611e57611d9b565b604052611e6383611a44565b8152602083013560028110611e76575f80fd5b60208201526040838101359082015260608084013590820152611e9b60808401611a44565b60808201529392505050565b808202811582820484141761072f5761072f611cbc565b60808101611ecc8287611c4b565b84602083015283604083015273ffffffffffffffffffffffffffffffffffffffff8316606083015295945050505050565b5f60208284031215611f0d575f80fd5b813567ffffffffffffffff811115611f23575f80fd5b820160408185031215611f34575f80fd5b611f3c611dc8565b611f4582611a44565b8152602082013567ffffffffffffffff811115611f60575f80fd5b80830192505084601f830112611f74575f80fd5b813567ffffffffffffffff811115611f8e57611f8e611d9b565b611fa16020601f19601f84011601611df1565b818152866020838601011115611fb5575f80fd5b816020850160208301375f602092820183015290820152949350505050565b5f60208284031215611fe4575f80fd5b5051919050565b6020815273ffffffffffffffffffffffffffffffffffffffff82511660208201525f60208301516040808401526114c96060840182611bde565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201525f6114c96040830184611bde565b8181038181111561072f5761072f611cbc565b602081525f82516003811061207d5761207d611c1e565b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff604084015116606083015260608301516080808401526114c960a0840182611bde565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361210c5761210c611cbc565b506001019056fea26469706673582212209def68a22e935c7af91e946bb2187abd14944a4cd3b455abbdb234120eea61b564736f6c634300081a0033",i=class i extends u.DeployableTarget{constructor(){super(...arguments),this.abi=a.T}async owner(f){return await a.AM(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return await a.mM(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return await a.cM(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,b){return await a.dM(this._config,{address:this.assertValidAddress(),args:[f],...b})}async asset(f){return await a.yM(this._config,{address:this.assertValidAddress(),...f})}strategy(f){return a.CM(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return await a.MM(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return await a.IM(this._config,{address:this.assertValidAddress(),...f})}async entries(f,b){return await a.bM(this._config,{address:this.assertValidAddress(),args:[f],...b})}async claim(f,b){return await this.awaitResult(this.claimRaw(f,b))}async claimRaw(f,b){const{request:e,result:d}=await a.$M(this._config,{address:this.assertValidAddress(),args:[c.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a.zM(this._config,e),result:d}}async clawback(f,b){return await this.awaitResult(this.clawbackRaw(f,b))}async clawbackRaw(f,b){const{request:e,result:d}=await a.QM(this._config,{address:this.assertValidAddress(),args:[c.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...b});return{hash:await a.BM(this._config,e),result:d}}async isClaimable(f,b){return await a.gM(this._config,{address:this.assertValidAddress(),args:[f.target,f.data],...b})}async drawRaffle(f){return await this.awaitResult(this.drawRaffleRaw(f))}async drawRaffleRaw(f){const{request:b,result:e}=await a.KM(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...f});return{hash:await a.xM(this._config,b),result:e}}async getTotalBudget(f){var s,l,o;if(((s=this.payload)==null?void 0:s.strategy)!==void 0&&((l=this.payload)==null?void 0:l.limit)!==void 0&&((o=this.payload)==null?void 0:o.reward)!==void 0)return this.payload.strategy===c.StrategyType.POOL?this.payload.limit*this.payload.reward:this.payload.reward;const[b,e,d]=await Promise.all([this.strategy(f),this.limit(f),this.reward(f)]);return b===c.StrategyType.POOL?e*d:d}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[b,e]=await Promise.all([this.claims(f),this.limit(f)]);return e-b}buildParameters(f,b){const[e,d]=this.validateDeploymentConfig(f,b);return{abi:a.T,bytecode:w,args:[n(e)],...this.optionallyAttachAccount(d.account)}}buildClawbackData(f){return t.encodeAbiParameters([{type:"uint256"}],[f])}async getTopupPayload(f){var d;const e={asset:await this.asset()||t.zeroAddress,strategy:c.StrategyType.POOL,reward:1n,limit:f,manager:((d=this.payload)==null?void 0:d.manager)||t.zeroAddress};return n(e)}buildClaimData(){return t.zeroHash}};i.bases={31337:void 0,...y.ERC20Incentive},i.registryType=g.RegistryType.INCENTIVE;let r=i;function n({asset:h,strategy:f,reward:b,limit:e,manager:d=t.zeroAddress}){return t.encodeAbiParameters([{type:"address",name:"asset"},{type:"uint8",name:"strategy"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"},{type:"address",name:"manager"}],[h,f,b,e===0n&&f===c.StrategyType.RAFFLE?1n:e,d])}exports.erc20IncentiveAbi=a.T;exports.ERC20Incentive=r;exports.prepareERC20IncentivePayload=n;
2
2
  //# sourceMappingURL=ERC20Incentive.cjs.map
@@ -1,6 +1,6 @@
1
1
  import { T as n, aQ as g, aR as w, aS as m, aT as p, aU as A, aV as M, aW as R, aX as V, aY as _, aZ as P, a_ as C, a$ as T, b0 as O, b1 as k, b2 as v, b3 as x } from "../generated-CINzoGbl.js";
2
2
  import { encodeAbiParameters as y, zeroAddress as t, zeroHash as D } from "viem";
3
- import { E as L } from "../deployments-DKtAq6BT.js";
3
+ import { E as L } from "../deployments-CW15LXS5.js";
4
4
  import { DeployableTarget as q } from "../Deployable/DeployableTarget.js";
5
5
  import { prepareClaimPayload as o, StrategyType as c } from "../claiming.js";
6
6
  import { RegistryType as z } from "../utils.js";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../generated-C_JEoLDO.cjs"),m=require("@wagmi/core"),s=require("viem"),R=require("../deployments-Dk-Z1L2X.cjs"),p=require("../Actions/EventAction.cjs"),v=require("../Deployable/DeployableTarget.cjs"),w=require("../claiming.cjs"),r=require("../errors.cjs"),A=require("../utils.cjs"),D="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6121b3806100895f395ff3fe6080604052600436106102ab575f3560e01c8063715018a611610165578063c884ef83116100c6578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b1461078d578063fe9fbb80146107a0578063fee81cf4146107bf575f80fd5b8063ec87621c14610766578063f04e283e1461077a575f80fd5b8063db09da12116100ac578063db09da1214610713578063dcc2136114610732578063dcc59b6f14610751575f80fd5b8063c884ef83146106d0578063d54ad2a1146106fe575f80fd5b8063a4d66daf1161011b578063bb1757cf11610101578063bb1757cf1461067e578063be4994f81461069d578063c213f3f9146106bc575f80fd5b8063a4d66daf14610648578063a871ced21461065d575f80fd5b8063775486871161014b57806377548687146105b45780638da5cb5b146106065780639214fa4d1461061e575f80fd5b8063715018a61461059857806375b238fc146105a0575f80fd5b806330db555f1161020f5780634a4ee7b1116101c5578063514e62fc116101ab578063514e62fc14610546578063547d18641461057b57806354d1f13d14610590575f80fd5b80634a4ee7b1146105075780634e7165a21461051a575f80fd5b80634359d28a116101f55780634359d28a14610480578063439fab911461049f578063474f5a44146104be575f80fd5b806330db555f1461043557806338d52e0f14610454575f80fd5b80631f1cb62b11610264578063256929621161024a57806325692962146103c257806328d6183b146103ca5780632de9480714610404575f80fd5b80631f1cb62b1461035d578063228cb733146103ae575f80fd5b8063183a4f6e11610294578063183a4f6e146103005780631c10893f146103155780631cd64df414610328575f80fd5b806301ffc9a7146102af57806307621eca146102e3575b5f80fd5b3480156102ba575f80fd5b506102ce6102c93660046118fe565b6107f0565b60405190151581526020015b60405180910390f35b3480156102ee575f80fd5b505f545b6040519081526020016102da565b61031361030e366004611944565b61084b565b005b610313610323366004611983565b610858565b348015610333575f80fd5b506102ce610342366004611983565b638b78c6d8600c9081525f9290925260209091205481161490565b348015610368575f80fd5b50600a546103899073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102da565b3480156103b9575f80fd5b506102f25f5481565b61031361086e565b3480156103d5575f80fd5b506040517ff60c99c90000000000000000000000000000000000000000000000000000000081526020016102da565b34801561040f575f80fd5b506102f261041e3660046119ab565b638b78c6d8600c9081525f91909152602090205490565b348015610440575f80fd5b5061031361044f366004611944565b6108bb565b34801561045f575f80fd5b506006546103899073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048b575f80fd5b5061031361049a366004611a0c565b610977565b3480156104aa575f80fd5b506103136104b9366004611ab6565b610a71565b3480156104c9575f80fd5b506104dd6104d8366004611ab6565b610da1565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016102da565b610313610515366004611983565b610f03565b348015610525575f80fd5b50610539610534366004611ab6565b610f15565b6040516102da9190611b41565b348015610551575f80fd5b506102ce610560366004611983565b638b78c6d8600c9081525f9290925260209091205416151590565b348015610586575f80fd5b506102f260025481565b610313610faf565b610313610fe8565b3480156105ab575f80fd5b506102f2600281565b3480156105bf575f80fd5b506003546004546005546105f69260ff908116929190811690610100900473ffffffffffffffffffffffffffffffffffffffff1684565b6040516102da9493929190611b94565b348015610611575f80fd5b50638b78c6d81954610389565b348015610629575f80fd5b50600a5473ffffffffffffffffffffffffffffffffffffffff16610389565b348015610653575f80fd5b506102f260085481565b348015610668575f80fd5b50610671610ffb565b6040516102da9190611c1c565b348015610689575f80fd5b506102ce610698366004611c2a565b611095565b3480156106a8575f80fd5b506103136106b7366004611a0c565b6112c2565b3480156106c7575f80fd5b50600b546102f2565b3480156106db575f80fd5b506102ce6106ea3660046119ab565b60016020525f908152604090205460ff1681565b348015610709575f80fd5b506102f260095481565b34801561071e575f80fd5b506102ce61072d366004611c2a565b611360565b34801561073d575f80fd5b5061031361074c366004611a0c565b6113d3565b34801561075c575f80fd5b506102f260075481565b348015610771575f80fd5b506102f2600181565b6103136107883660046119ab565b611471565b61031361079b3660046119ab565b6114ab565b3480156107ab575f80fd5b506102ce6107ba3660046119ab565b6114d1565b3480156107ca575f80fd5b506102f26107d93660046119ab565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167ff60c99c9000000000000000000000000000000000000000000000000000000001480610845575061084582611530565b92915050565b6108553382611585565b50565b610860611590565b61086a82826115aa565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60016108c6816115b6565b815f036108ff576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546109249073ffffffffffffffffffffffffffffffffffffffff163330856115e7565b8160085f8282546109359190611ca6565b909155505060408051338152602081018490527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a15050565b6002610982816115b6565b8382146109bb576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610a69575f8484838181106109d8576109d8611cb9565b90506020020160208101906109ed9190611ce6565b9050801515600103610a2f57610a2a878784818110610a0e57610a0e611cb9565b9050602002016020810190610a2391906119ab565b60016115aa565b610a60565b610a60878784818110610a4457610a44611cb9565b9050602002016020810190610a5991906119ab565b6001611585565b506001016109bd565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610ac25760018160011c14303b10610ab95763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610ad083850185611da1565b905080606001515f03610b0f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015181515f90610b389073ffffffffffffffffffffffffffffffffffffffff1630611649565b905081811015610ba15782516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018290526044810183905260640160405180910390fd5b60c083015183516006805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556020860151600a805491909316911617905560408401515f55606084015160085560a0840151600b5580516003805483929082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115610c5557610c55611b53565b02179055506020820151600182015560408201516002909101805460609093015173ffffffffffffffffffffffffffffffffffffffff16610100027fffffffffffffffffffffff00000000000000000000000000000000000000000090931660ff90921691909117919091179055610ccc3361167c565b610cdb846080015160016116c4565b836020015173ffffffffffffffffffffffffffffffffffffffff16845f015173ffffffffffffffffffffffffffffffffffffffff167fdc505a50c6f2c816d981a377c8177e2604d8302821a502bc9f742e0748f338428660400151876060015188608001518960a001518a60c00151604051610d5b959493929190611e9a565b60405180910390a3505050508015610d9c576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610dae816115b6565b5f610dbb85870187611f8c565b90505f8160200151806020019051810190610dd69190612009565b90508060085f828254610de99190612020565b90915550508151600654610e169173ffffffffffffffffffffffffffffffffffffffff9091169083611705565b81516006546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610ed491611b41565b60405180910390a260065490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610f0b611590565b61086a8282611585565b60605f610f2483850185611da1565b6060818101516040805160808101825260018152845173ffffffffffffffffffffffffffffffffffffffff16602080830191909152308284015282518082018452849052825180820185905283518082038301815290840184529482019490945290519394509092610f969201612033565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610ff0611590565b610ff95f611758565b565b604080516080810182525f808252602082018190529181018290526060810191909152604080516080810190915260038054829060ff16600181111561104357611043611b53565b600181111561105457611054611b53565b81526001820154602082015260029091015460ff81166040830152610100900473ffffffffffffffffffffffffffffffffffffffff16606090910152919050565b5f61109e611590565b5f6110ab838501856120b1565b90505f81602001518060200190518101906110c69190612009565b90505f80545f036110d85750806110fb565b670de0b6b3a7640000825f546110ee919061212e565b6110f89190612145565b90505b600b541580159061110d5750600b5481115b156111175750600b545b611120816117a2565b611156576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600854816009546111679190611ca6565b111561119f576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060095f8282546111b09190611ca6565b92505081905550600160075f8282546111c99190611ca6565b90915550506006546111f29073ffffffffffffffffffffffffffffffffffffffff168883611705565b6006546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529189901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8816907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526112ad91611b41565b60405180910390a25060019695505050505050565b60026112cd816115b6565b838214611306576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610a695761135886868381811061132557611325611cb9565b905060200201602081019061133a91906119ab565b85858481811061134c5761134c611cb9565b905060200201356115aa565b600101611308565b5f808061136f848601866120b1565b90505f816020015180602001905181019061138a9190612009565b90505f545f0361139c578092506113bf565b670de0b6b3a7640000815f546113b2919061212e565b6113bc9190612145565b92505b6113c8836117a2565b979650505050505050565b60026113de816115b6565b838214611417576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610a695761146986868381811061143657611436611cb9565b905060200201602081019061144b91906119ab565b85858481811061145d5761145d611cb9565b90506020020135611585565b600101611419565b611479611590565b63389a75e1600c52805f526020600c20805442111561149f57636f5e88185f526004601cfd5b5f905561085581611758565b6114b3611590565b8060601b6114c857637448fbae5f526004601cfd5b61085581611758565b5f8173ffffffffffffffffffffffffffffffffffffffff166114f6638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806108455750638b78c6d8600c9081525f83905260209020546003161515610845565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f565863380000000000000000000000000000000000000000000000000000000014806108455750610845826117bc565b61086a82825f611811565b638b78c6d819543314610ff9576382b429005f526004601cfd5b61086a82826001611811565b638b78c6d81954331461085557638b78c6d8600c52335f52806020600c205416610855576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f51141661163b57803d873b15171061163b57637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661174e57803d853b15171061174e576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f600854826009546117b49190611ca6565b111592915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa9216705000000000000000000000000000000000000000000000000000000001480610845575061084582611868565b638b78c6d8600c52825f526020600c20805483811783611832575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061084557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610845565b5f6020828403121561190e575f80fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461193d575f80fd5b9392505050565b5f60208284031215611954575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461197e575f80fd5b919050565b5f8060408385031215611994575f80fd5b61199d8361195b565b946020939093013593505050565b5f602082840312156119bb575f80fd5b61193d8261195b565b5f8083601f8401126119d4575f80fd5b50813567ffffffffffffffff8111156119eb575f80fd5b6020830191508360208260051b8501011115611a05575f80fd5b9250929050565b5f805f8060408587031215611a1f575f80fd5b843567ffffffffffffffff811115611a35575f80fd5b611a41878288016119c4565b909550935050602085013567ffffffffffffffff811115611a60575f80fd5b611a6c878288016119c4565b95989497509550505050565b5f8083601f840112611a88575f80fd5b50813567ffffffffffffffff811115611a9f575f80fd5b602083019150836020828501011115611a05575f80fd5b5f8060208385031215611ac7575f80fd5b823567ffffffffffffffff811115611add575f80fd5b611ae985828601611a78565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61193d6020830184611af5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110611b9057611b90611b53565b9052565b60808101611ba28287611b80565b84602083015260ff8416604083015273ffffffffffffffffffffffffffffffffffffffff8316606083015295945050505050565b611be1828251611b80565b6020810151602083015260ff604082015116604083015273ffffffffffffffffffffffffffffffffffffffff60608201511660608301525050565b608081016108458284611bd6565b5f805f60408486031215611c3c575f80fd5b611c458461195b565b9250602084013567ffffffffffffffff811115611c60575f80fd5b611c6c86828701611a78565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561084557610845611c79565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611cf6575f80fd5b8135801515811461193d575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160e0810167ffffffffffffffff81118282101715611d5557611d55611d05565b60405290565b6040516080810167ffffffffffffffff81118282101715611d5557611d55611d05565b6040805190810167ffffffffffffffff81118282101715611d5557611d55611d05565b5f81830361014081128015611db4575f80fd5b50611dbd611d32565b611dc68461195b565b8152611dd46020850161195b565b60208201526040848101359082015260608085013590820152611df96080850161195b565b60808281019190915260a085810135908301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4083011215611e39575f80fd5b611e41611d5b565b915060c084013560028110611e54575f80fd5b825260e0840135602083015261010084013560ff81168114611e74575f80fd5b6040830152611e86610120850161195b565b606083015260c08101919091529392505050565b8581526020810185905273ffffffffffffffffffffffffffffffffffffffff84166040820152606081018390526101008101611ed96080830184611bd6565b9695505050505050565b5f82601f830112611ef2575f80fd5b813567ffffffffffffffff811115611f0c57611f0c611d05565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff81118282101715611f5957611f59611d05565b604052818152838201602001851015611f70575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215611f9c575f80fd5b813567ffffffffffffffff811115611fb2575f80fd5b820160408185031215611fc3575f80fd5b611fcb611d7e565b611fd48261195b565b8152602082013567ffffffffffffffff811115611fef575f80fd5b611ffb86828501611ee3565b602083015250949350505050565b5f60208284031215612019575f80fd5b5051919050565b8181038181111561084557610845611c79565b602081525f82516003811061204a5761204a611b53565b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff604084015116606083015260608301516080808401526120a960a0840182611af5565b949350505050565b5f602082840312156120c1575f80fd5b813567ffffffffffffffff8111156120d7575f80fd5b8201604081850312156120e8575f80fd5b6120f0611d7e565b813567ffffffffffffffff811115612106575f80fd5b61211286828501611ee3565b825250602082013567ffffffffffffffff811115611fef575f80fd5b808202811582820484141761084557610845611c79565b5f82612178577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056fea264697066735822122098c803dd4f42edf25288bd3c5b3e7bf9935c3d848f118a09f85d1ebc21194d1164736f6c634300081a0033",g=class g extends v.DeployableTarget{constructor(){super(...arguments),this.abi=c.y}async owner(f){return await c.ZR(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return await c.FR(this._config,{address:this.assertValidAddress(),args:[],...f})}async getMaxReward(f){return await c.SR(this._config,{...f,address:this.assertValidAddress()})}async getIncentiveScalar({chainId:f,hash:e,knownSignatures:b},d){var t;const a=await this.getIncentiveCriteria(d);if(a.criteriaType===p.SignatureType.EVENT){const i=await m.getTransactionReceipt(this._config,{chainId:f,hash:e});if(a.fieldIndex===A.CheatCodes.GAS_REBATE_INCENTIVE)return i.gasUsed*i.effectiveGasPrice+(i.blobGasUsed??0n)*(i.blobGasPrice??0n);const o=i.logs;if(o.length===0)throw new r.NoMatchingLogsError(`No logs found for event signature ${a.signature}`);try{const l=b[a.signature],n=s.parseEventLogs({abi:[l],logs:o});if(n==null||n.length===0)throw new r.NoMatchingLogsError(`No logs found for event signature ${a.signature}`);const h=((t=n[0])==null?void 0:t.args)[a.fieldIndex];if(h===void 0)throw new r.DecodedArgsError(`Decoded argument at index ${a.fieldIndex} is undefined`);return BigInt(h)}catch(l){throw new r.DecodedArgsError(`Failed to decode event log for signature ${a.signature}: ${l.message}`)}}else if(a.criteriaType===p.SignatureType.FUNC){const i=await m.getTransaction(this._config,{chainId:f,hash:e});try{const o=b[a.signature],n=s.decodeFunctionData({abi:[o],data:i.input}).args[a.fieldIndex];if(n==null)throw new r.DecodedArgsError(`Decoded argument at index ${a.fieldIndex} is undefined`);return BigInt(n)}catch(o){throw new r.DecodedArgsError(`Failed to decode function data for signature ${a.signature}: ${o.message}`)}}else throw new r.InvalidCriteriaTypeError(`Invalid criteria type ${a.criteriaType}`)}async claims(f){return await c.xR(this._config,{address:this.assertValidAddress(),args:[],...f})}async totalClaimed(f){return await c.eC(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,e){return await c.HR(this._config,{address:this.assertValidAddress(),args:[f],...e})}async asset(f){return await c.BR(this._config,{address:this.assertValidAddress(),...f})}async peg(f){return await c.$R(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return await c.JR(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return await c.UR(this._config,{address:this.assertValidAddress(),...f})}async claim(f,e){return await this.awaitResult(this.claimRaw(f,e))}async claimRaw(f,e){const{request:b,result:d}=await c.wC(this._config,{address:this.assertValidAddress(),args:[w.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...e});return{hash:await c.aC(this._config,b),result:d}}async clawback(f,e){return await this.awaitResult(this.clawbackRaw(f,e))}async clawbackRaw(f,e){const{request:b,result:d}=await c.gC(this._config,{address:this.assertValidAddress(),args:[w.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...e});return{hash:await c.iC(this._config,b),result:d}}async isClaimable(f,e){return await c.GR(this._config,{address:this.assertValidAddress(),args:[f.target,f.data],...e})}async getPeg(f){return await c._R(this._config,{address:this.assertValidAddress(),args:[],...f})}async getTotalBudget(f){return await this.limit(f)}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[e,b]=await Promise.all([this.totalClaimed(f),this.limit(f)]);return b-e}async getIncentiveCriteria(f){try{return await c.PR(this._config,{...f,address:this.assertValidAddress()})}catch(e){throw new r.IncentiveCriteriaNotFoundError(e)}}async getTopupPayload(f){var e,b,d,a,t;return y({asset:await this.asset()??s.zeroAddress,peg:((e=this.payload)==null?void 0:e.peg)??s.zeroAddress,reward:((b=this.payload)==null?void 0:b.reward)??0n,limit:f,maxReward:((d=this.payload)==null?void 0:d.maxReward)??0n,manager:((a=this.payload)==null?void 0:a.manager)??s.zeroAddress,criteria:((t=this.payload)==null?void 0:t.criteria)??{criteriaType:0,signature:s.zeroHash,fieldIndex:0,targetContract:s.zeroAddress}})}buildParameters(f,e){const[b,d]=this.validateDeploymentConfig(f,e);return{abi:c.y,bytecode:D,args:[y(b)],...this.optionallyAttachAccount(d.account)}}buildClawbackData(f){return s.encodeAbiParameters([{type:"uint256"}],[f])}buildClaimData(f){return s.encodeAbiParameters([{type:"uint256",name:"signedAmount"}],[f])}async decodeClaimData(f){const e=s.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],f),b=s.decodeAbiParameters([{type:"uint256"}],e[0].incentiveData)[0];let d=b;const[a,t]=await Promise.all([this.reward(),this.getMaxReward()]);return a===0n||(d=a*b/s.parseEther("1"),t!==0n&&d>t&&(d=t)),d}decodeClaimDataWithRewardDetails(f,e,b){const d=s.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],f),a=s.decodeAbiParameters([{type:"uint256"}],d[0].incentiveData)[0];let t=a;return e===0n||(t=e*a/s.parseEther("1"),b!==0n&&t>b&&(t=b)),t}};g.bases={31337:void 0,...R.ERC20PeggedVariableCriteriaIncentive},g.registryType=A.RegistryType.INCENTIVE;let u=g;function y({asset:C,peg:f,reward:e,limit:b,maxReward:d=0n,manager:a=s.zeroAddress,criteria:t}){return s.encodeAbiParameters([{type:"tuple",name:"initPayloadExtended",components:[{type:"address",name:"asset"},{type:"address",name:"peg"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"},{type:"address",name:"manager"},{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:C,peg:f,reward:e,limit:b,manager:a,maxReward:d,criteria:{criteriaType:t.criteriaType,signature:t.signature,fieldIndex:t.fieldIndex,targetContract:t.targetContract}}])}exports.erc20PeggedVariableCriteriaIncentiveAbi=c.y;exports.ERC20PeggedVariableCriteriaIncentive=u;exports.prepareERC20PeggedVariableCriteriaIncentivePayload=y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../generated-C_JEoLDO.cjs"),m=require("@wagmi/core"),s=require("viem"),R=require("../deployments-DKScOGTf.cjs"),p=require("../Actions/EventAction.cjs"),v=require("../Deployable/DeployableTarget.cjs"),w=require("../claiming.cjs"),r=require("../errors.cjs"),A=require("../utils.cjs"),D="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6121b3806100895f395ff3fe6080604052600436106102ab575f3560e01c8063715018a611610165578063c884ef83116100c6578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b1461078d578063fe9fbb80146107a0578063fee81cf4146107bf575f80fd5b8063ec87621c14610766578063f04e283e1461077a575f80fd5b8063db09da12116100ac578063db09da1214610713578063dcc2136114610732578063dcc59b6f14610751575f80fd5b8063c884ef83146106d0578063d54ad2a1146106fe575f80fd5b8063a4d66daf1161011b578063bb1757cf11610101578063bb1757cf1461067e578063be4994f81461069d578063c213f3f9146106bc575f80fd5b8063a4d66daf14610648578063a871ced21461065d575f80fd5b8063775486871161014b57806377548687146105b45780638da5cb5b146106065780639214fa4d1461061e575f80fd5b8063715018a61461059857806375b238fc146105a0575f80fd5b806330db555f1161020f5780634a4ee7b1116101c5578063514e62fc116101ab578063514e62fc14610546578063547d18641461057b57806354d1f13d14610590575f80fd5b80634a4ee7b1146105075780634e7165a21461051a575f80fd5b80634359d28a116101f55780634359d28a14610480578063439fab911461049f578063474f5a44146104be575f80fd5b806330db555f1461043557806338d52e0f14610454575f80fd5b80631f1cb62b11610264578063256929621161024a57806325692962146103c257806328d6183b146103ca5780632de9480714610404575f80fd5b80631f1cb62b1461035d578063228cb733146103ae575f80fd5b8063183a4f6e11610294578063183a4f6e146103005780631c10893f146103155780631cd64df414610328575f80fd5b806301ffc9a7146102af57806307621eca146102e3575b5f80fd5b3480156102ba575f80fd5b506102ce6102c93660046118fe565b6107f0565b60405190151581526020015b60405180910390f35b3480156102ee575f80fd5b505f545b6040519081526020016102da565b61031361030e366004611944565b61084b565b005b610313610323366004611983565b610858565b348015610333575f80fd5b506102ce610342366004611983565b638b78c6d8600c9081525f9290925260209091205481161490565b348015610368575f80fd5b50600a546103899073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102da565b3480156103b9575f80fd5b506102f25f5481565b61031361086e565b3480156103d5575f80fd5b506040517ff60c99c90000000000000000000000000000000000000000000000000000000081526020016102da565b34801561040f575f80fd5b506102f261041e3660046119ab565b638b78c6d8600c9081525f91909152602090205490565b348015610440575f80fd5b5061031361044f366004611944565b6108bb565b34801561045f575f80fd5b506006546103899073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048b575f80fd5b5061031361049a366004611a0c565b610977565b3480156104aa575f80fd5b506103136104b9366004611ab6565b610a71565b3480156104c9575f80fd5b506104dd6104d8366004611ab6565b610da1565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016102da565b610313610515366004611983565b610f03565b348015610525575f80fd5b50610539610534366004611ab6565b610f15565b6040516102da9190611b41565b348015610551575f80fd5b506102ce610560366004611983565b638b78c6d8600c9081525f9290925260209091205416151590565b348015610586575f80fd5b506102f260025481565b610313610faf565b610313610fe8565b3480156105ab575f80fd5b506102f2600281565b3480156105bf575f80fd5b506003546004546005546105f69260ff908116929190811690610100900473ffffffffffffffffffffffffffffffffffffffff1684565b6040516102da9493929190611b94565b348015610611575f80fd5b50638b78c6d81954610389565b348015610629575f80fd5b50600a5473ffffffffffffffffffffffffffffffffffffffff16610389565b348015610653575f80fd5b506102f260085481565b348015610668575f80fd5b50610671610ffb565b6040516102da9190611c1c565b348015610689575f80fd5b506102ce610698366004611c2a565b611095565b3480156106a8575f80fd5b506103136106b7366004611a0c565b6112c2565b3480156106c7575f80fd5b50600b546102f2565b3480156106db575f80fd5b506102ce6106ea3660046119ab565b60016020525f908152604090205460ff1681565b348015610709575f80fd5b506102f260095481565b34801561071e575f80fd5b506102ce61072d366004611c2a565b611360565b34801561073d575f80fd5b5061031361074c366004611a0c565b6113d3565b34801561075c575f80fd5b506102f260075481565b348015610771575f80fd5b506102f2600181565b6103136107883660046119ab565b611471565b61031361079b3660046119ab565b6114ab565b3480156107ab575f80fd5b506102ce6107ba3660046119ab565b6114d1565b3480156107ca575f80fd5b506102f26107d93660046119ab565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167ff60c99c9000000000000000000000000000000000000000000000000000000001480610845575061084582611530565b92915050565b6108553382611585565b50565b610860611590565b61086a82826115aa565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60016108c6816115b6565b815f036108ff576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546109249073ffffffffffffffffffffffffffffffffffffffff163330856115e7565b8160085f8282546109359190611ca6565b909155505060408051338152602081018490527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a15050565b6002610982816115b6565b8382146109bb576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610a69575f8484838181106109d8576109d8611cb9565b90506020020160208101906109ed9190611ce6565b9050801515600103610a2f57610a2a878784818110610a0e57610a0e611cb9565b9050602002016020810190610a2391906119ab565b60016115aa565b610a60565b610a60878784818110610a4457610a44611cb9565b9050602002016020810190610a5991906119ab565b6001611585565b506001016109bd565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610ac25760018160011c14303b10610ab95763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610ad083850185611da1565b905080606001515f03610b0f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015181515f90610b389073ffffffffffffffffffffffffffffffffffffffff1630611649565b905081811015610ba15782516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018290526044810183905260640160405180910390fd5b60c083015183516006805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556020860151600a805491909316911617905560408401515f55606084015160085560a0840151600b5580516003805483929082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115610c5557610c55611b53565b02179055506020820151600182015560408201516002909101805460609093015173ffffffffffffffffffffffffffffffffffffffff16610100027fffffffffffffffffffffff00000000000000000000000000000000000000000090931660ff90921691909117919091179055610ccc3361167c565b610cdb846080015160016116c4565b836020015173ffffffffffffffffffffffffffffffffffffffff16845f015173ffffffffffffffffffffffffffffffffffffffff167fdc505a50c6f2c816d981a377c8177e2604d8302821a502bc9f742e0748f338428660400151876060015188608001518960a001518a60c00151604051610d5b959493929190611e9a565b60405180910390a3505050508015610d9c576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610dae816115b6565b5f610dbb85870187611f8c565b90505f8160200151806020019051810190610dd69190612009565b90508060085f828254610de99190612020565b90915550508151600654610e169173ffffffffffffffffffffffffffffffffffffffff9091169083611705565b81516006546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610ed491611b41565b60405180910390a260065490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610f0b611590565b61086a8282611585565b60605f610f2483850185611da1565b6060818101516040805160808101825260018152845173ffffffffffffffffffffffffffffffffffffffff16602080830191909152308284015282518082018452849052825180820185905283518082038301815290840184529482019490945290519394509092610f969201612033565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610ff0611590565b610ff95f611758565b565b604080516080810182525f808252602082018190529181018290526060810191909152604080516080810190915260038054829060ff16600181111561104357611043611b53565b600181111561105457611054611b53565b81526001820154602082015260029091015460ff81166040830152610100900473ffffffffffffffffffffffffffffffffffffffff16606090910152919050565b5f61109e611590565b5f6110ab838501856120b1565b90505f81602001518060200190518101906110c69190612009565b90505f80545f036110d85750806110fb565b670de0b6b3a7640000825f546110ee919061212e565b6110f89190612145565b90505b600b541580159061110d5750600b5481115b156111175750600b545b611120816117a2565b611156576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600854816009546111679190611ca6565b111561119f576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060095f8282546111b09190611ca6565b92505081905550600160075f8282546111c99190611ca6565b90915550506006546111f29073ffffffffffffffffffffffffffffffffffffffff168883611705565b6006546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529189901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8816907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526112ad91611b41565b60405180910390a25060019695505050505050565b60026112cd816115b6565b838214611306576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610a695761135886868381811061132557611325611cb9565b905060200201602081019061133a91906119ab565b85858481811061134c5761134c611cb9565b905060200201356115aa565b600101611308565b5f808061136f848601866120b1565b90505f816020015180602001905181019061138a9190612009565b90505f545f0361139c578092506113bf565b670de0b6b3a7640000815f546113b2919061212e565b6113bc9190612145565b92505b6113c8836117a2565b979650505050505050565b60026113de816115b6565b838214611417576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610a695761146986868381811061143657611436611cb9565b905060200201602081019061144b91906119ab565b85858481811061145d5761145d611cb9565b90506020020135611585565b600101611419565b611479611590565b63389a75e1600c52805f526020600c20805442111561149f57636f5e88185f526004601cfd5b5f905561085581611758565b6114b3611590565b8060601b6114c857637448fbae5f526004601cfd5b61085581611758565b5f8173ffffffffffffffffffffffffffffffffffffffff166114f6638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806108455750638b78c6d8600c9081525f83905260209020546003161515610845565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f565863380000000000000000000000000000000000000000000000000000000014806108455750610845826117bc565b61086a82825f611811565b638b78c6d819543314610ff9576382b429005f526004601cfd5b61086a82826001611811565b638b78c6d81954331461085557638b78c6d8600c52335f52806020600c205416610855576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f51141661163b57803d873b15171061163b57637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661174e57803d853b15171061174e576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f600854826009546117b49190611ca6565b111592915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa9216705000000000000000000000000000000000000000000000000000000001480610845575061084582611868565b638b78c6d8600c52825f526020600c20805483811783611832575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061084557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610845565b5f6020828403121561190e575f80fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461193d575f80fd5b9392505050565b5f60208284031215611954575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461197e575f80fd5b919050565b5f8060408385031215611994575f80fd5b61199d8361195b565b946020939093013593505050565b5f602082840312156119bb575f80fd5b61193d8261195b565b5f8083601f8401126119d4575f80fd5b50813567ffffffffffffffff8111156119eb575f80fd5b6020830191508360208260051b8501011115611a05575f80fd5b9250929050565b5f805f8060408587031215611a1f575f80fd5b843567ffffffffffffffff811115611a35575f80fd5b611a41878288016119c4565b909550935050602085013567ffffffffffffffff811115611a60575f80fd5b611a6c878288016119c4565b95989497509550505050565b5f8083601f840112611a88575f80fd5b50813567ffffffffffffffff811115611a9f575f80fd5b602083019150836020828501011115611a05575f80fd5b5f8060208385031215611ac7575f80fd5b823567ffffffffffffffff811115611add575f80fd5b611ae985828601611a78565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61193d6020830184611af5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110611b9057611b90611b53565b9052565b60808101611ba28287611b80565b84602083015260ff8416604083015273ffffffffffffffffffffffffffffffffffffffff8316606083015295945050505050565b611be1828251611b80565b6020810151602083015260ff604082015116604083015273ffffffffffffffffffffffffffffffffffffffff60608201511660608301525050565b608081016108458284611bd6565b5f805f60408486031215611c3c575f80fd5b611c458461195b565b9250602084013567ffffffffffffffff811115611c60575f80fd5b611c6c86828701611a78565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561084557610845611c79565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611cf6575f80fd5b8135801515811461193d575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160e0810167ffffffffffffffff81118282101715611d5557611d55611d05565b60405290565b6040516080810167ffffffffffffffff81118282101715611d5557611d55611d05565b6040805190810167ffffffffffffffff81118282101715611d5557611d55611d05565b5f81830361014081128015611db4575f80fd5b50611dbd611d32565b611dc68461195b565b8152611dd46020850161195b565b60208201526040848101359082015260608085013590820152611df96080850161195b565b60808281019190915260a085810135908301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4083011215611e39575f80fd5b611e41611d5b565b915060c084013560028110611e54575f80fd5b825260e0840135602083015261010084013560ff81168114611e74575f80fd5b6040830152611e86610120850161195b565b606083015260c08101919091529392505050565b8581526020810185905273ffffffffffffffffffffffffffffffffffffffff84166040820152606081018390526101008101611ed96080830184611bd6565b9695505050505050565b5f82601f830112611ef2575f80fd5b813567ffffffffffffffff811115611f0c57611f0c611d05565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff81118282101715611f5957611f59611d05565b604052818152838201602001851015611f70575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215611f9c575f80fd5b813567ffffffffffffffff811115611fb2575f80fd5b820160408185031215611fc3575f80fd5b611fcb611d7e565b611fd48261195b565b8152602082013567ffffffffffffffff811115611fef575f80fd5b611ffb86828501611ee3565b602083015250949350505050565b5f60208284031215612019575f80fd5b5051919050565b8181038181111561084557610845611c79565b602081525f82516003811061204a5761204a611b53565b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff604084015116606083015260608301516080808401526120a960a0840182611af5565b949350505050565b5f602082840312156120c1575f80fd5b813567ffffffffffffffff8111156120d7575f80fd5b8201604081850312156120e8575f80fd5b6120f0611d7e565b813567ffffffffffffffff811115612106575f80fd5b61211286828501611ee3565b825250602082013567ffffffffffffffff811115611fef575f80fd5b808202811582820484141761084557610845611c79565b5f82612178577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056fea264697066735822122098c803dd4f42edf25288bd3c5b3e7bf9935c3d848f118a09f85d1ebc21194d1164736f6c634300081a0033",g=class g extends v.DeployableTarget{constructor(){super(...arguments),this.abi=c.y}async owner(f){return await c.ZR(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return await c.FR(this._config,{address:this.assertValidAddress(),args:[],...f})}async getMaxReward(f){return await c.SR(this._config,{...f,address:this.assertValidAddress()})}async getIncentiveScalar({chainId:f,hash:e,knownSignatures:b},d){var t;const a=await this.getIncentiveCriteria(d);if(a.criteriaType===p.SignatureType.EVENT){const i=await m.getTransactionReceipt(this._config,{chainId:f,hash:e});if(a.fieldIndex===A.CheatCodes.GAS_REBATE_INCENTIVE)return i.gasUsed*i.effectiveGasPrice+(i.blobGasUsed??0n)*(i.blobGasPrice??0n);const o=i.logs;if(o.length===0)throw new r.NoMatchingLogsError(`No logs found for event signature ${a.signature}`);try{const l=b[a.signature],n=s.parseEventLogs({abi:[l],logs:o});if(n==null||n.length===0)throw new r.NoMatchingLogsError(`No logs found for event signature ${a.signature}`);const h=((t=n[0])==null?void 0:t.args)[a.fieldIndex];if(h===void 0)throw new r.DecodedArgsError(`Decoded argument at index ${a.fieldIndex} is undefined`);return BigInt(h)}catch(l){throw new r.DecodedArgsError(`Failed to decode event log for signature ${a.signature}: ${l.message}`)}}else if(a.criteriaType===p.SignatureType.FUNC){const i=await m.getTransaction(this._config,{chainId:f,hash:e});try{const o=b[a.signature],n=s.decodeFunctionData({abi:[o],data:i.input}).args[a.fieldIndex];if(n==null)throw new r.DecodedArgsError(`Decoded argument at index ${a.fieldIndex} is undefined`);return BigInt(n)}catch(o){throw new r.DecodedArgsError(`Failed to decode function data for signature ${a.signature}: ${o.message}`)}}else throw new r.InvalidCriteriaTypeError(`Invalid criteria type ${a.criteriaType}`)}async claims(f){return await c.xR(this._config,{address:this.assertValidAddress(),args:[],...f})}async totalClaimed(f){return await c.eC(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,e){return await c.HR(this._config,{address:this.assertValidAddress(),args:[f],...e})}async asset(f){return await c.BR(this._config,{address:this.assertValidAddress(),...f})}async peg(f){return await c.$R(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return await c.JR(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return await c.UR(this._config,{address:this.assertValidAddress(),...f})}async claim(f,e){return await this.awaitResult(this.claimRaw(f,e))}async claimRaw(f,e){const{request:b,result:d}=await c.wC(this._config,{address:this.assertValidAddress(),args:[w.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...e});return{hash:await c.aC(this._config,b),result:d}}async clawback(f,e){return await this.awaitResult(this.clawbackRaw(f,e))}async clawbackRaw(f,e){const{request:b,result:d}=await c.gC(this._config,{address:this.assertValidAddress(),args:[w.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...e});return{hash:await c.iC(this._config,b),result:d}}async isClaimable(f,e){return await c.GR(this._config,{address:this.assertValidAddress(),args:[f.target,f.data],...e})}async getPeg(f){return await c._R(this._config,{address:this.assertValidAddress(),args:[],...f})}async getTotalBudget(f){return await this.limit(f)}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[e,b]=await Promise.all([this.totalClaimed(f),this.limit(f)]);return b-e}async getIncentiveCriteria(f){try{return await c.PR(this._config,{...f,address:this.assertValidAddress()})}catch(e){throw new r.IncentiveCriteriaNotFoundError(e)}}async getTopupPayload(f){var e,b,d,a,t;return y({asset:await this.asset()??s.zeroAddress,peg:((e=this.payload)==null?void 0:e.peg)??s.zeroAddress,reward:((b=this.payload)==null?void 0:b.reward)??0n,limit:f,maxReward:((d=this.payload)==null?void 0:d.maxReward)??0n,manager:((a=this.payload)==null?void 0:a.manager)??s.zeroAddress,criteria:((t=this.payload)==null?void 0:t.criteria)??{criteriaType:0,signature:s.zeroHash,fieldIndex:0,targetContract:s.zeroAddress}})}buildParameters(f,e){const[b,d]=this.validateDeploymentConfig(f,e);return{abi:c.y,bytecode:D,args:[y(b)],...this.optionallyAttachAccount(d.account)}}buildClawbackData(f){return s.encodeAbiParameters([{type:"uint256"}],[f])}buildClaimData(f){return s.encodeAbiParameters([{type:"uint256",name:"signedAmount"}],[f])}async decodeClaimData(f){const e=s.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],f),b=s.decodeAbiParameters([{type:"uint256"}],e[0].incentiveData)[0];let d=b;const[a,t]=await Promise.all([this.reward(),this.getMaxReward()]);return a===0n||(d=a*b/s.parseEther("1"),t!==0n&&d>t&&(d=t)),d}decodeClaimDataWithRewardDetails(f,e,b){const d=s.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],f),a=s.decodeAbiParameters([{type:"uint256"}],d[0].incentiveData)[0];let t=a;return e===0n||(t=e*a/s.parseEther("1"),b!==0n&&t>b&&(t=b)),t}};g.bases={31337:void 0,...R.ERC20PeggedVariableCriteriaIncentive},g.registryType=A.RegistryType.INCENTIVE;let u=g;function y({asset:C,peg:f,reward:e,limit:b,maxReward:d=0n,manager:a=s.zeroAddress,criteria:t}){return s.encodeAbiParameters([{type:"tuple",name:"initPayloadExtended",components:[{type:"address",name:"asset"},{type:"address",name:"peg"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"},{type:"address",name:"manager"},{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:C,peg:f,reward:e,limit:b,manager:a,maxReward:d,criteria:{criteriaType:t.criteriaType,signature:t.signature,fieldIndex:t.fieldIndex,targetContract:t.targetContract}}])}exports.erc20PeggedVariableCriteriaIncentiveAbi=c.y;exports.ERC20PeggedVariableCriteriaIncentive=u;exports.prepareERC20PeggedVariableCriteriaIncentivePayload=y;
2
2
  //# sourceMappingURL=ERC20PeggedVariableCriteriaIncentive.cjs.map
@@ -1,7 +1,7 @@
1
1
  import { y as h, bl as x, bm as D, bn as I, bo as T, bp as V, bq as _, br as E, bs as P, bt as $, bu as N, bv as B, bw as F, bx as G, by as U, bz as k, bA as q, bB as z } from "../generated-CINzoGbl.js";
2
2
  import { getTransactionReceipt as M, getTransaction as S } from "@wagmi/core";
3
3
  import { parseEventLogs as H, decodeFunctionData as L, zeroAddress as n, zeroHash as J, encodeAbiParameters as g, decodeAbiParameters as o, parseEther as y } from "viem";
4
- import { e as W } from "../deployments-DKtAq6BT.js";
4
+ import { e as W } from "../deployments-CW15LXS5.js";
5
5
  import { SignatureType as p } from "../Actions/EventAction.js";
6
6
  import { DeployableTarget as Z } from "../Deployable/DeployableTarget.js";
7
7
  import { prepareClaimPayload as w } from "../claiming.js";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../generated-C_JEoLDO.cjs"),m=require("@wagmi/core"),r=require("viem"),I=require("../deployments-Dk-Z1L2X.cjs"),n=require("../Actions/EventAction.cjs"),x=require("../Deployable/DeployableTarget.cjs"),C=require("../claiming.cjs"),o=require("../errors.cjs"),v=require("../utils.cjs"),V="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6122ba806100895f395ff3fe6080604052600436106102ab575f3560e01c8063715018a611610165578063c884ef83116100c6578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b146107a9578063fe9fbb80146107bc578063fee81cf4146107db575f80fd5b8063ec87621c14610782578063f04e283e14610796575f80fd5b8063db09da12116100ac578063db09da121461072f578063dcc213611461074e578063dcc59b6f1461076d575f80fd5b8063c884ef83146106ec578063d54ad2a11461071a575f80fd5b8063a4d66daf1161011b578063bb1757cf11610101578063bb1757cf1461069a578063be4994f8146106b9578063c213f3f9146106d8575f80fd5b8063a4d66daf14610664578063a871ced214610679575f80fd5b8063775486871161014b57806377548687146105b45780638da5cb5b146106225780639214fa4d1461063a575f80fd5b8063715018a61461059857806375b238fc146105a0575f80fd5b806330db555f1161020f5780634a4ee7b1116101c5578063514e62fc116101ab578063514e62fc14610546578063547d18641461057b57806354d1f13d14610590575f80fd5b80634a4ee7b1146105075780634e7165a21461051a575f80fd5b80634359d28a116101f55780634359d28a14610480578063439fab911461049f578063474f5a44146104be575f80fd5b806330db555f1461043557806338d52e0f14610454575f80fd5b80631f1cb62b11610264578063256929621161024a57806325692962146103c257806328d6183b146103ca5780632de9480714610404575f80fd5b80631f1cb62b1461035d578063228cb733146103ae575f80fd5b8063183a4f6e11610294578063183a4f6e146103005780631c10893f146103155780631cd64df414610328575f80fd5b806301ffc9a7146102af57806307621eca146102e3575b5f80fd5b3480156102ba575f80fd5b506102ce6102c93660046119c5565b61080c565b60405190151581526020015b60405180910390f35b3480156102ee575f80fd5b505f545b6040519081526020016102da565b61031361030e366004611a0b565b610867565b005b610313610323366004611a4a565b610874565b348015610333575f80fd5b506102ce610342366004611a4a565b638b78c6d8600c9081525f9290925260209091205481161490565b348015610368575f80fd5b50600a546103899073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102da565b3480156103b9575f80fd5b506102f25f5481565b61031361088a565b3480156103d5575f80fd5b506040517ff60c99c90000000000000000000000000000000000000000000000000000000081526020016102da565b34801561040f575f80fd5b506102f261041e366004611a72565b638b78c6d8600c9081525f91909152602090205490565b348015610440575f80fd5b5061031361044f366004611a0b565b6108d7565b34801561045f575f80fd5b506006546103899073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048b575f80fd5b5061031361049a366004611ad3565b610993565b3480156104aa575f80fd5b506103136104b9366004611b7d565b610a8d565b3480156104c9575f80fd5b506104dd6104d8366004611b7d565b610e1c565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016102da565b610313610515366004611a4a565b610f7e565b348015610525575f80fd5b50610539610534366004611b7d565b610f90565b6040516102da9190611c08565b348015610551575f80fd5b506102ce610560366004611a4a565b638b78c6d8600c9081525f9290925260209091205416151590565b348015610586575f80fd5b506102f260025481565b61031361102a565b610313611063565b3480156105ab575f80fd5b506102f2600281565b3480156105bf575f80fd5b506003546004546005546106119260ff90811692918082169173ffffffffffffffffffffffffffffffffffffffff61010083041691750100000000000000000000000000000000000000000090041685565b6040516102da959493929190611c57565b34801561062d575f80fd5b50638b78c6d81954610389565b348015610645575f80fd5b50600a5473ffffffffffffffffffffffffffffffffffffffff16610389565b34801561066f575f80fd5b506102f260085481565b348015610684575f80fd5b5061068d611076565b6040516102da9190611d0a565b3480156106a5575f80fd5b506102ce6106b4366004611d18565b61115c565b3480156106c4575f80fd5b506103136106d3366004611ad3565b611389565b3480156106e3575f80fd5b50600b546102f2565b3480156106f7575f80fd5b506102ce610706366004611a72565b60016020525f908152604090205460ff1681565b348015610725575f80fd5b506102f260095481565b34801561073a575f80fd5b506102ce610749366004611d18565b611427565b348015610759575f80fd5b50610313610768366004611ad3565b61149a565b348015610778575f80fd5b506102f260075481565b34801561078d575f80fd5b506102f2600181565b6103136107a4366004611a72565b611538565b6103136107b7366004611a72565b611572565b3480156107c7575f80fd5b506102ce6107d6366004611a72565b611598565b3480156107e6575f80fd5b506102f26107f5366004611a72565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167ff60c99c90000000000000000000000000000000000000000000000000000000014806108615750610861826115f7565b92915050565b610871338261164c565b50565b61087c611657565b6108868282611671565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60016108e28161167d565b815f0361091b576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546109409073ffffffffffffffffffffffffffffffffffffffff163330856116ae565b8160085f8282546109519190611d94565b909155505060408051338152602081018490527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a15050565b600261099e8161167d565b8382146109d7576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610a85575f8484838181106109f4576109f4611da7565b9050602002016020810190610a099190611dd4565b9050801515600103610a4b57610a46878784818110610a2a57610a2a611da7565b9050602002016020810190610a3f9190611a72565b6001611671565b610a7c565b610a7c878784818110610a6057610a60611da7565b9050602002016020810190610a759190611a72565b600161164c565b506001016109d9565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610ade5760018160011c14303b10610ad55763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610aec83850185611e9b565b905080606001515f03610b2b576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015181515f90610b549073ffffffffffffffffffffffffffffffffffffffff1630611710565b905081811015610bbd5782516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018290526044810183905260640160405180910390fd5b60c083015183516006805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556020860151600a805491909316911617905560408401515f55606084015160085560a0840151600b5580516003805483929082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115610c7157610c71611c1a565b021790555060208201516001808301919091556040830151600283018054606086015173ffffffffffffffffffffffffffffffffffffffff16610100027fffffffffffffffffffffff00000000000000000000000000000000000000000090911660ff90931692909217919091178082556080850151927fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff909116907501000000000000000000000000000000000000000000908490811115610d3657610d36611c1a565b0217905550905050610d4733611743565b610d568460800151600161178b565b836020015173ffffffffffffffffffffffffffffffffffffffff16845f015173ffffffffffffffffffffffffffffffffffffffff167f2610f3b22dbb1fc9e125919ede742dad90b4f3dd49ce0c10118c6ef34410e3c98660400151876060015188608001518960a001518a60c00151604051610dd6959493929190611fa1565b60405180910390a3505050508015610e17576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610e298161167d565b5f610e3685870187612093565b90505f8160200151806020019051810190610e519190612110565b90508060085f828254610e649190612127565b90915550508151600654610e919173ffffffffffffffffffffffffffffffffffffffff90911690836117cc565b81516006546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610f4f91611c08565b60405180910390a260065490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610f86611657565b610886828261164c565b60605f610f9f83850185611e9b565b6060818101516040805160808101825260018152845173ffffffffffffffffffffffffffffffffffffffff16602080830191909152308284015282518082018452849052825180820185905283518082038301815290840184529482019490945290519394509092611011920161213a565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b61106b611657565b6110745f61181f565b565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526040805160a0810190915260038054829060ff1660018111156110c5576110c5611c1a565b60018111156110d6576110d6611c1a565b81526001828101546020830152600283015460ff808216604085015273ffffffffffffffffffffffffffffffffffffffff61010083041660608501526080909301927501000000000000000000000000000000000000000000909104169081111561114357611143611c1a565b600181111561115457611154611c1a565b905250919050565b5f611165611657565b5f611172838501856121b8565b90505f816020015180602001905181019061118d9190612110565b90505f80545f0361119f5750806111c2565b670de0b6b3a7640000825f546111b59190612235565b6111bf919061224c565b90505b600b54158015906111d45750600b5481115b156111de5750600b545b6111e781611869565b61121d576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6008548160095461122e9190611d94565b1115611266576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060095f8282546112779190611d94565b92505081905550600160075f8282546112909190611d94565b90915550506006546112b99073ffffffffffffffffffffffffffffffffffffffff1688836117cc565b6006546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529189901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8816907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261137491611c08565b60405180910390a25060019695505050505050565b60026113948161167d565b8382146113cd576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610a855761141f8686838181106113ec576113ec611da7565b90506020020160208101906114019190611a72565b85858481811061141357611413611da7565b90506020020135611671565b6001016113cf565b5f8080611436848601866121b8565b90505f81602001518060200190518101906114519190612110565b90505f545f0361146357809250611486565b670de0b6b3a7640000815f546114799190612235565b611483919061224c565b92505b61148f83611869565b979650505050505050565b60026114a58161167d565b8382146114de576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610a85576115308686838181106114fd576114fd611da7565b90506020020160208101906115129190611a72565b85858481811061152457611524611da7565b9050602002013561164c565b6001016114e0565b611540611657565b63389a75e1600c52805f526020600c20805442111561156657636f5e88185f526004601cfd5b5f90556108718161181f565b61157a611657565b8060601b61158f57637448fbae5f526004601cfd5b6108718161181f565b5f8173ffffffffffffffffffffffffffffffffffffffff166115bd638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806108615750638b78c6d8600c9081525f83905260209020546003161515610861565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f56586338000000000000000000000000000000000000000000000000000000001480610861575061086182611883565b61088682825f6118d8565b638b78c6d819543314611074576382b429005f526004601cfd5b610886828260016118d8565b638b78c6d81954331461087157638b78c6d8600c52335f52806020600c205416610871576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f51141661170257803d873b15171061170257637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661181557803d853b151710611815576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f6008548260095461187b9190611d94565b111592915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa921670500000000000000000000000000000000000000000000000000000000148061086157506108618261192f565b638b78c6d8600c52825f526020600c208054838117836118f9575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061086157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610861565b5f602082840312156119d5575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611a04575f80fd5b9392505050565b5f60208284031215611a1b575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611a45575f80fd5b919050565b5f8060408385031215611a5b575f80fd5b611a6483611a22565b946020939093013593505050565b5f60208284031215611a82575f80fd5b611a0482611a22565b5f8083601f840112611a9b575f80fd5b50813567ffffffffffffffff811115611ab2575f80fd5b6020830191508360208260051b8501011115611acc575f80fd5b9250929050565b5f805f8060408587031215611ae6575f80fd5b843567ffffffffffffffff811115611afc575f80fd5b611b0887828801611a8b565b909550935050602085013567ffffffffffffffff811115611b27575f80fd5b611b3387828801611a8b565b95989497509550505050565b5f8083601f840112611b4f575f80fd5b50813567ffffffffffffffff811115611b66575f80fd5b602083019150836020828501011115611acc575f80fd5b5f8060208385031215611b8e575f80fd5b823567ffffffffffffffff811115611ba4575f80fd5b611bb085828601611b3f565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f611a046020830184611bbc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6002811061087157610871611c1a565b60a08101611c6487611c47565b86825285602083015260ff8516604083015273ffffffffffffffffffffffffffffffffffffffff84166060830152611c9b83611c47565b8260808301529695505050505050565b8051611cb681611c47565b808352506020810151602083015260ff604082015116604083015273ffffffffffffffffffffffffffffffffffffffff60608201511660608301526080810151611cff81611c47565b806080840152505050565b60a081016108618284611cab565b5f805f60408486031215611d2a575f80fd5b611d3384611a22565b9250602084013567ffffffffffffffff811115611d4e575f80fd5b611d5a86828701611b3f565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561086157610861611d67565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611de4575f80fd5b81358015158114611a04575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160e0810167ffffffffffffffff81118282101715611e4357611e43611df3565b60405290565b60405160a0810167ffffffffffffffff81118282101715611e4357611e43611df3565b6040805190810167ffffffffffffffff81118282101715611e4357611e43611df3565b60028110610871575f80fd5b5f81830361016081128015611eae575f80fd5b50611eb7611e20565b611ec084611a22565b8152611ece60208501611a22565b60208201526040848101359082015260608085013590820152611ef360808501611a22565b608082015260a084810135818301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4083011215611f2f575f80fd5b611f37611e49565b915060c0840135611f4781611e8f565b825260e0840135602083015261010084013560ff81168114611f67575f80fd5b6040830152611f796101208501611a22565b6060830152610140840135611f8d81611e8f565b608083015260c08101919091529392505050565b8581526020810185905273ffffffffffffffffffffffffffffffffffffffff84166040820152606081018390526101208101611fe06080830184611cab565b9695505050505050565b5f82601f830112611ff9575f80fd5b813567ffffffffffffffff81111561201357612013611df3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff8111828210171561206057612060611df3565b604052818152838201602001851015612077575f80fd5b816020850160208301375f918101602001919091529392505050565b5f602082840312156120a3575f80fd5b813567ffffffffffffffff8111156120b9575f80fd5b8201604081850312156120ca575f80fd5b6120d2611e6c565b6120db82611a22565b8152602082013567ffffffffffffffff8111156120f6575f80fd5b61210286828501611fea565b602083015250949350505050565b5f60208284031215612120575f80fd5b5051919050565b8181038181111561086157610861611d67565b602081525f82516003811061215157612151611c1a565b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff604084015116606083015260608301516080808401526121b060a0840182611bbc565b949350505050565b5f602082840312156121c8575f80fd5b813567ffffffffffffffff8111156121de575f80fd5b8201604081850312156121ef575f80fd5b6121f7611e6c565b813567ffffffffffffffff81111561220d575f80fd5b61221986828501611fea565b825250602082013567ffffffffffffffff8111156120f6575f80fd5b808202811582820484141761086157610861611d67565b5f8261227f577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056fea26469706673582212204e4cf647127c9375d9d4d84240a56dd4ae0f1f1727bcc814e7c0f19d99a9cc9664736f6c634300081a0033",p=class p extends x.DeployableTarget{constructor(){super(...arguments),this.abi=t.d}async owner(f){return await t.sO(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return await t.$C(this._config,{address:this.assertValidAddress(),args:[],...f})}async getMaxReward(f){return await t.KC(this._config,{...f,address:this.assertValidAddress()})}async getIncentiveScalar({chainId:f,hash:a,knownSignatures:b,logs:d},s){var A;const e=await this.getIncentiveCriteria(s);if(e.criteriaType===n.SignatureType.EVENT){const y=b[e.signature];if(e.fieldIndex===v.CheatCodes.GAS_REBATE_INCENTIVE){const c=await m.getTransactionReceipt(this._config,{chainId:f,hash:a});return c.gasUsed*c.effectiveGasPrice+(c.blobGasUsed??0n)*(c.blobGasPrice??0n)}if(d&&d.length>0)try{const c=d.filter(i=>i.topics&&i.topics[0]===e.signature).map(i=>n.decodeAndReorderLogArgs(y,i));if(c.length>0)for(const i of c){if(n.isCriteriaFieldIndexTuple(e.fieldIndex))return n.getScalarValueFromTuple(i.args,e.fieldIndex);const g=i.args?i.args[e.fieldIndex]:void 0;if(g!==void 0)return BigInt(g)}}catch(c){throw new o.DecodedArgsError(`An error occurred while extracting scalar from logs: ${c.message}`)}const l=(await m.getTransactionReceipt(this._config,{chainId:f,hash:a})).logs;if(l.length===0)throw new o.NoMatchingLogsError(`No logs found for event signature ${e.signature}`);try{const c=b[e.signature],i=r.parseEventLogs({abi:[c],logs:l});if(i==null||i.length===0)throw new o.NoMatchingLogsError(`No logs found for event signature ${e.signature}`);if(n.isCriteriaFieldIndexTuple(e.fieldIndex))return n.getScalarValueFromTuple((A=i[0])==null?void 0:A.args,e.fieldIndex);const g=i[0]&&i[0].args?i[0].args[e.fieldIndex]:void 0;if(g===void 0)throw new o.DecodedArgsError(`Decoded argument at index ${e.fieldIndex} is undefined`);return BigInt(g)}catch(c){throw new o.DecodedArgsError(`Failed to decode event log for signature ${e.signature}: ${c.message}`)}}else if(e.criteriaType===n.SignatureType.FUNC){const y=await m.getTransaction(this._config,{chainId:f,hash:a});try{const u=b[e.signature],l=r.decodeFunctionData({abi:[u],data:y.input});if(n.isCriteriaFieldIndexTuple(e.fieldIndex))return n.getScalarValueFromTuple(l.args,e.fieldIndex);const c=l.args[e.fieldIndex];if(c==null)throw new o.DecodedArgsError(`Decoded argument at index ${e.fieldIndex} is undefined`);return BigInt(c)}catch(u){throw new o.DecodedArgsError(`Failed to decode function data for signature ${e.signature}: ${u.message}`)}}else throw new o.InvalidCriteriaTypeError(`Invalid criteria type ${e.criteriaType}`)}async claims(f){return await t.jC(this._config,{address:this.assertValidAddress(),args:[],...f})}async totalClaimed(f){return await t.cO(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,a){return await t.ZC(this._config,{address:this.assertValidAddress(),args:[f],...a})}async asset(f){return await t.UC(this._config,{address:this.assertValidAddress(),...f})}async peg(f){return await t.oO(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return await t.uO(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return await t.iO(this._config,{address:this.assertValidAddress(),...f})}async claim(f,a){return await this.awaitResult(this.claimRaw(f,a))}async claimRaw(f,a){const{request:b,result:d}=await t.BO(this._config,{address:this.assertValidAddress(),args:[C.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...a});return{hash:await t.fO(this._config,b),result:d}}async clawback(f,a){return await this.awaitResult(this.clawbackRaw(f,a))}async clawbackRaw(f,a){const{request:b,result:d}=await t.HO(this._config,{address:this.assertValidAddress(),args:[C.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...a});return{hash:await t.vO(this._config,b),result:d}}async isClaimable(f,a){return await t.aO(this._config,{address:this.assertValidAddress(),args:[f.target,f.data],...a})}async getPeg(f){return await t.XC(this._config,{address:this.assertValidAddress(),args:[],...f})}async getTotalBudget(f){return await this.limit(f)}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[a,b]=await Promise.all([this.totalClaimed(f),this.limit(f)]);return b-a}async getIncentiveCriteria(f){try{return await t.JC(this._config,{...f,address:this.assertValidAddress()})}catch(a){throw new o.IncentiveCriteriaNotFoundError(a)}}async getTopupPayload(f){var a,b,d,s,e;return w({asset:await this.asset()??r.zeroAddress,peg:((a=this.payload)==null?void 0:a.peg)??r.zeroAddress,reward:((b=this.payload)==null?void 0:b.reward)??0n,limit:f,maxReward:((d=this.payload)==null?void 0:d.maxReward)??0n,manager:((s=this.payload)==null?void 0:s.manager)??r.zeroAddress,criteria:((e=this.payload)==null?void 0:e.criteria)??{criteriaType:0,signature:r.zeroHash,fieldIndex:0,targetContract:r.zeroAddress,valueType:0}})}buildParameters(f,a){const[b,d]=this.validateDeploymentConfig(f,a);return{abi:t.d,bytecode:V,args:[w(b)],...this.optionallyAttachAccount(d.account)}}buildClawbackData(f){return r.encodeAbiParameters([{type:"uint256"}],[f])}buildClaimData(f){return r.encodeAbiParameters([{type:"uint256",name:"signedAmount"}],[f])}async decodeClaimData(f){const a=r.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],f),b=r.decodeAbiParameters([{type:"uint256"}],a[0].incentiveData)[0];let d=b;const[s,e]=await Promise.all([this.reward(),this.getMaxReward()]);return s===0n||(d=s*b/r.parseEther("1"),e!==0n&&d>e&&(d=e)),d}decodeClaimDataWithRewardDetails(f,a,b){const d=r.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],f),s=r.decodeAbiParameters([{type:"uint256"}],d[0].incentiveData)[0];let e=s;return a===0n||(e=a*s/r.parseEther("1"),b!==0n&&e>b&&(e=b)),e}};p.bases={31337:void 0,...I.ERC20PeggedVariableCriteriaIncentiveV2},p.registryType=v.RegistryType.INCENTIVE;let h=p;function w({asset:T,peg:f,reward:a,limit:b,maxReward:d=0n,manager:s=r.zeroAddress,criteria:e}){return r.encodeAbiParameters([{type:"tuple",name:"initPayloadExtended",components:[{type:"address",name:"asset"},{type:"address",name:"peg"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"},{type:"address",name:"manager"},{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"},{type:"uint8",name:"valueType"}]}]}],[{asset:T,peg:f,reward:a,limit:b,manager:s,maxReward:d,criteria:{criteriaType:e.criteriaType,signature:e.signature,fieldIndex:e.fieldIndex,targetContract:e.targetContract,valueType:e.valueType}}])}exports.erc20PeggedVariableCriteriaIncentiveV2Abi=t.d;exports.ERC20PeggedVariableCriteriaIncentiveV2=h;exports.prepareERC20PeggedVariableCriteriaIncentiveV2Payload=w;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../generated-C_JEoLDO.cjs"),m=require("@wagmi/core"),r=require("viem"),I=require("../deployments-DKScOGTf.cjs"),n=require("../Actions/EventAction.cjs"),x=require("../Deployable/DeployableTarget.cjs"),C=require("../claiming.cjs"),o=require("../errors.cjs"),v=require("../utils.cjs"),V="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6122ba806100895f395ff3fe6080604052600436106102ab575f3560e01c8063715018a611610165578063c884ef83116100c6578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b146107a9578063fe9fbb80146107bc578063fee81cf4146107db575f80fd5b8063ec87621c14610782578063f04e283e14610796575f80fd5b8063db09da12116100ac578063db09da121461072f578063dcc213611461074e578063dcc59b6f1461076d575f80fd5b8063c884ef83146106ec578063d54ad2a11461071a575f80fd5b8063a4d66daf1161011b578063bb1757cf11610101578063bb1757cf1461069a578063be4994f8146106b9578063c213f3f9146106d8575f80fd5b8063a4d66daf14610664578063a871ced214610679575f80fd5b8063775486871161014b57806377548687146105b45780638da5cb5b146106225780639214fa4d1461063a575f80fd5b8063715018a61461059857806375b238fc146105a0575f80fd5b806330db555f1161020f5780634a4ee7b1116101c5578063514e62fc116101ab578063514e62fc14610546578063547d18641461057b57806354d1f13d14610590575f80fd5b80634a4ee7b1146105075780634e7165a21461051a575f80fd5b80634359d28a116101f55780634359d28a14610480578063439fab911461049f578063474f5a44146104be575f80fd5b806330db555f1461043557806338d52e0f14610454575f80fd5b80631f1cb62b11610264578063256929621161024a57806325692962146103c257806328d6183b146103ca5780632de9480714610404575f80fd5b80631f1cb62b1461035d578063228cb733146103ae575f80fd5b8063183a4f6e11610294578063183a4f6e146103005780631c10893f146103155780631cd64df414610328575f80fd5b806301ffc9a7146102af57806307621eca146102e3575b5f80fd5b3480156102ba575f80fd5b506102ce6102c93660046119c5565b61080c565b60405190151581526020015b60405180910390f35b3480156102ee575f80fd5b505f545b6040519081526020016102da565b61031361030e366004611a0b565b610867565b005b610313610323366004611a4a565b610874565b348015610333575f80fd5b506102ce610342366004611a4a565b638b78c6d8600c9081525f9290925260209091205481161490565b348015610368575f80fd5b50600a546103899073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102da565b3480156103b9575f80fd5b506102f25f5481565b61031361088a565b3480156103d5575f80fd5b506040517ff60c99c90000000000000000000000000000000000000000000000000000000081526020016102da565b34801561040f575f80fd5b506102f261041e366004611a72565b638b78c6d8600c9081525f91909152602090205490565b348015610440575f80fd5b5061031361044f366004611a0b565b6108d7565b34801561045f575f80fd5b506006546103899073ffffffffffffffffffffffffffffffffffffffff1681565b34801561048b575f80fd5b5061031361049a366004611ad3565b610993565b3480156104aa575f80fd5b506103136104b9366004611b7d565b610a8d565b3480156104c9575f80fd5b506104dd6104d8366004611b7d565b610e1c565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016102da565b610313610515366004611a4a565b610f7e565b348015610525575f80fd5b50610539610534366004611b7d565b610f90565b6040516102da9190611c08565b348015610551575f80fd5b506102ce610560366004611a4a565b638b78c6d8600c9081525f9290925260209091205416151590565b348015610586575f80fd5b506102f260025481565b61031361102a565b610313611063565b3480156105ab575f80fd5b506102f2600281565b3480156105bf575f80fd5b506003546004546005546106119260ff90811692918082169173ffffffffffffffffffffffffffffffffffffffff61010083041691750100000000000000000000000000000000000000000090041685565b6040516102da959493929190611c57565b34801561062d575f80fd5b50638b78c6d81954610389565b348015610645575f80fd5b50600a5473ffffffffffffffffffffffffffffffffffffffff16610389565b34801561066f575f80fd5b506102f260085481565b348015610684575f80fd5b5061068d611076565b6040516102da9190611d0a565b3480156106a5575f80fd5b506102ce6106b4366004611d18565b61115c565b3480156106c4575f80fd5b506103136106d3366004611ad3565b611389565b3480156106e3575f80fd5b50600b546102f2565b3480156106f7575f80fd5b506102ce610706366004611a72565b60016020525f908152604090205460ff1681565b348015610725575f80fd5b506102f260095481565b34801561073a575f80fd5b506102ce610749366004611d18565b611427565b348015610759575f80fd5b50610313610768366004611ad3565b61149a565b348015610778575f80fd5b506102f260075481565b34801561078d575f80fd5b506102f2600181565b6103136107a4366004611a72565b611538565b6103136107b7366004611a72565b611572565b3480156107c7575f80fd5b506102ce6107d6366004611a72565b611598565b3480156107e6575f80fd5b506102f26107f5366004611a72565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167ff60c99c90000000000000000000000000000000000000000000000000000000014806108615750610861826115f7565b92915050565b610871338261164c565b50565b61087c611657565b6108868282611671565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b60016108e28161167d565b815f0361091b576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546109409073ffffffffffffffffffffffffffffffffffffffff163330856116ae565b8160085f8282546109519190611d94565b909155505060408051338152602081018490527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a15050565b600261099e8161167d565b8382146109d7576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610a85575f8484838181106109f4576109f4611da7565b9050602002016020810190610a099190611dd4565b9050801515600103610a4b57610a46878784818110610a2a57610a2a611da7565b9050602002016020810190610a3f9190611a72565b6001611671565b610a7c565b610a7c878784818110610a6057610a60611da7565b9050602002016020810190610a759190611a72565b600161164c565b506001016109d9565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610ade5760018160011c14303b10610ad55763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610aec83850185611e9b565b905080606001515f03610b2b576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015181515f90610b549073ffffffffffffffffffffffffffffffffffffffff1630611710565b905081811015610bbd5782516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018290526044810183905260640160405180910390fd5b60c083015183516006805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556020860151600a805491909316911617905560408401515f55606084015160085560a0840151600b5580516003805483929082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115610c7157610c71611c1a565b021790555060208201516001808301919091556040830151600283018054606086015173ffffffffffffffffffffffffffffffffffffffff16610100027fffffffffffffffffffffff00000000000000000000000000000000000000000090911660ff90931692909217919091178082556080850151927fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff909116907501000000000000000000000000000000000000000000908490811115610d3657610d36611c1a565b0217905550905050610d4733611743565b610d568460800151600161178b565b836020015173ffffffffffffffffffffffffffffffffffffffff16845f015173ffffffffffffffffffffffffffffffffffffffff167f2610f3b22dbb1fc9e125919ede742dad90b4f3dd49ce0c10118c6ef34410e3c98660400151876060015188608001518960a001518a60c00151604051610dd6959493929190611fa1565b60405180910390a3505050508015610e17576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610e298161167d565b5f610e3685870187612093565b90505f8160200151806020019051810190610e519190612110565b90508060085f828254610e649190612127565b90915550508151600654610e919173ffffffffffffffffffffffffffffffffffffffff90911690836117cc565b81516006546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610f4f91611c08565b60405180910390a260065490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610f86611657565b610886828261164c565b60605f610f9f83850185611e9b565b6060818101516040805160808101825260018152845173ffffffffffffffffffffffffffffffffffffffff16602080830191909152308284015282518082018452849052825180820185905283518082038301815290840184529482019490945290519394509092611011920161213a565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b61106b611657565b6110745f61181f565b565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526040805160a0810190915260038054829060ff1660018111156110c5576110c5611c1a565b60018111156110d6576110d6611c1a565b81526001828101546020830152600283015460ff808216604085015273ffffffffffffffffffffffffffffffffffffffff61010083041660608501526080909301927501000000000000000000000000000000000000000000909104169081111561114357611143611c1a565b600181111561115457611154611c1a565b905250919050565b5f611165611657565b5f611172838501856121b8565b90505f816020015180602001905181019061118d9190612110565b90505f80545f0361119f5750806111c2565b670de0b6b3a7640000825f546111b59190612235565b6111bf919061224c565b90505b600b54158015906111d45750600b5481115b156111de5750600b545b6111e781611869565b61121d576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6008548160095461122e9190611d94565b1115611266576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060095f8282546112779190611d94565b92505081905550600160075f8282546112909190611d94565b90915550506006546112b99073ffffffffffffffffffffffffffffffffffffffff1688836117cc565b6006546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529189901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8816907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261137491611c08565b60405180910390a25060019695505050505050565b60026113948161167d565b8382146113cd576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610a855761141f8686838181106113ec576113ec611da7565b90506020020160208101906114019190611a72565b85858481811061141357611413611da7565b90506020020135611671565b6001016113cf565b5f8080611436848601866121b8565b90505f81602001518060200190518101906114519190612110565b90505f545f0361146357809250611486565b670de0b6b3a7640000815f546114799190612235565b611483919061224c565b92505b61148f83611869565b979650505050505050565b60026114a58161167d565b8382146114de576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b84811015610a85576115308686838181106114fd576114fd611da7565b90506020020160208101906115129190611a72565b85858481811061152457611524611da7565b9050602002013561164c565b6001016114e0565b611540611657565b63389a75e1600c52805f526020600c20805442111561156657636f5e88185f526004601cfd5b5f90556108718161181f565b61157a611657565b8060601b61158f57637448fbae5f526004601cfd5b6108718161181f565b5f8173ffffffffffffffffffffffffffffffffffffffff166115bd638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806108615750638b78c6d8600c9081525f83905260209020546003161515610861565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f56586338000000000000000000000000000000000000000000000000000000001480610861575061086182611883565b61088682825f6118d8565b638b78c6d819543314611074576382b429005f526004601cfd5b610886828260016118d8565b638b78c6d81954331461087157638b78c6d8600c52335f52806020600c205416610871576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f51141661170257803d873b15171061170257637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661181557803d853b151710611815576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f6008548260095461187b9190611d94565b111592915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa921670500000000000000000000000000000000000000000000000000000000148061086157506108618261192f565b638b78c6d8600c52825f526020600c208054838117836118f9575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d00000000000000000000000000000000000000000000000000000000148061086157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610861565b5f602082840312156119d5575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611a04575f80fd5b9392505050565b5f60208284031215611a1b575f80fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611a45575f80fd5b919050565b5f8060408385031215611a5b575f80fd5b611a6483611a22565b946020939093013593505050565b5f60208284031215611a82575f80fd5b611a0482611a22565b5f8083601f840112611a9b575f80fd5b50813567ffffffffffffffff811115611ab2575f80fd5b6020830191508360208260051b8501011115611acc575f80fd5b9250929050565b5f805f8060408587031215611ae6575f80fd5b843567ffffffffffffffff811115611afc575f80fd5b611b0887828801611a8b565b909550935050602085013567ffffffffffffffff811115611b27575f80fd5b611b3387828801611a8b565b95989497509550505050565b5f8083601f840112611b4f575f80fd5b50813567ffffffffffffffff811115611b66575f80fd5b602083019150836020828501011115611acc575f80fd5b5f8060208385031215611b8e575f80fd5b823567ffffffffffffffff811115611ba4575f80fd5b611bb085828601611b3f565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f611a046020830184611bbc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6002811061087157610871611c1a565b60a08101611c6487611c47565b86825285602083015260ff8516604083015273ffffffffffffffffffffffffffffffffffffffff84166060830152611c9b83611c47565b8260808301529695505050505050565b8051611cb681611c47565b808352506020810151602083015260ff604082015116604083015273ffffffffffffffffffffffffffffffffffffffff60608201511660608301526080810151611cff81611c47565b806080840152505050565b60a081016108618284611cab565b5f805f60408486031215611d2a575f80fd5b611d3384611a22565b9250602084013567ffffffffffffffff811115611d4e575f80fd5b611d5a86828701611b3f565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082018082111561086157610861611d67565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611de4575f80fd5b81358015158114611a04575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160e0810167ffffffffffffffff81118282101715611e4357611e43611df3565b60405290565b60405160a0810167ffffffffffffffff81118282101715611e4357611e43611df3565b6040805190810167ffffffffffffffff81118282101715611e4357611e43611df3565b60028110610871575f80fd5b5f81830361016081128015611eae575f80fd5b50611eb7611e20565b611ec084611a22565b8152611ece60208501611a22565b60208201526040848101359082015260608085013590820152611ef360808501611a22565b608082015260a084810135818301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4083011215611f2f575f80fd5b611f37611e49565b915060c0840135611f4781611e8f565b825260e0840135602083015261010084013560ff81168114611f67575f80fd5b6040830152611f796101208501611a22565b6060830152610140840135611f8d81611e8f565b608083015260c08101919091529392505050565b8581526020810185905273ffffffffffffffffffffffffffffffffffffffff84166040820152606081018390526101208101611fe06080830184611cab565b9695505050505050565b5f82601f830112611ff9575f80fd5b813567ffffffffffffffff81111561201357612013611df3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff8111828210171561206057612060611df3565b604052818152838201602001851015612077575f80fd5b816020850160208301375f918101602001919091529392505050565b5f602082840312156120a3575f80fd5b813567ffffffffffffffff8111156120b9575f80fd5b8201604081850312156120ca575f80fd5b6120d2611e6c565b6120db82611a22565b8152602082013567ffffffffffffffff8111156120f6575f80fd5b61210286828501611fea565b602083015250949350505050565b5f60208284031215612120575f80fd5b5051919050565b8181038181111561086157610861611d67565b602081525f82516003811061215157612151611c1a565b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff604084015116606083015260608301516080808401526121b060a0840182611bbc565b949350505050565b5f602082840312156121c8575f80fd5b813567ffffffffffffffff8111156121de575f80fd5b8201604081850312156121ef575f80fd5b6121f7611e6c565b813567ffffffffffffffff81111561220d575f80fd5b61221986828501611fea565b825250602082013567ffffffffffffffff8111156120f6575f80fd5b808202811582820484141761086157610861611d67565b5f8261227f577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056fea26469706673582212204e4cf647127c9375d9d4d84240a56dd4ae0f1f1727bcc814e7c0f19d99a9cc9664736f6c634300081a0033",p=class p extends x.DeployableTarget{constructor(){super(...arguments),this.abi=t.d}async owner(f){return await t.sO(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return await t.$C(this._config,{address:this.assertValidAddress(),args:[],...f})}async getMaxReward(f){return await t.KC(this._config,{...f,address:this.assertValidAddress()})}async getIncentiveScalar({chainId:f,hash:a,knownSignatures:b,logs:d},s){var A;const e=await this.getIncentiveCriteria(s);if(e.criteriaType===n.SignatureType.EVENT){const y=b[e.signature];if(e.fieldIndex===v.CheatCodes.GAS_REBATE_INCENTIVE){const c=await m.getTransactionReceipt(this._config,{chainId:f,hash:a});return c.gasUsed*c.effectiveGasPrice+(c.blobGasUsed??0n)*(c.blobGasPrice??0n)}if(d&&d.length>0)try{const c=d.filter(i=>i.topics&&i.topics[0]===e.signature).map(i=>n.decodeAndReorderLogArgs(y,i));if(c.length>0)for(const i of c){if(n.isCriteriaFieldIndexTuple(e.fieldIndex))return n.getScalarValueFromTuple(i.args,e.fieldIndex);const g=i.args?i.args[e.fieldIndex]:void 0;if(g!==void 0)return BigInt(g)}}catch(c){throw new o.DecodedArgsError(`An error occurred while extracting scalar from logs: ${c.message}`)}const l=(await m.getTransactionReceipt(this._config,{chainId:f,hash:a})).logs;if(l.length===0)throw new o.NoMatchingLogsError(`No logs found for event signature ${e.signature}`);try{const c=b[e.signature],i=r.parseEventLogs({abi:[c],logs:l});if(i==null||i.length===0)throw new o.NoMatchingLogsError(`No logs found for event signature ${e.signature}`);if(n.isCriteriaFieldIndexTuple(e.fieldIndex))return n.getScalarValueFromTuple((A=i[0])==null?void 0:A.args,e.fieldIndex);const g=i[0]&&i[0].args?i[0].args[e.fieldIndex]:void 0;if(g===void 0)throw new o.DecodedArgsError(`Decoded argument at index ${e.fieldIndex} is undefined`);return BigInt(g)}catch(c){throw new o.DecodedArgsError(`Failed to decode event log for signature ${e.signature}: ${c.message}`)}}else if(e.criteriaType===n.SignatureType.FUNC){const y=await m.getTransaction(this._config,{chainId:f,hash:a});try{const u=b[e.signature],l=r.decodeFunctionData({abi:[u],data:y.input});if(n.isCriteriaFieldIndexTuple(e.fieldIndex))return n.getScalarValueFromTuple(l.args,e.fieldIndex);const c=l.args[e.fieldIndex];if(c==null)throw new o.DecodedArgsError(`Decoded argument at index ${e.fieldIndex} is undefined`);return BigInt(c)}catch(u){throw new o.DecodedArgsError(`Failed to decode function data for signature ${e.signature}: ${u.message}`)}}else throw new o.InvalidCriteriaTypeError(`Invalid criteria type ${e.criteriaType}`)}async claims(f){return await t.jC(this._config,{address:this.assertValidAddress(),args:[],...f})}async totalClaimed(f){return await t.cO(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,a){return await t.ZC(this._config,{address:this.assertValidAddress(),args:[f],...a})}async asset(f){return await t.UC(this._config,{address:this.assertValidAddress(),...f})}async peg(f){return await t.oO(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return await t.uO(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return await t.iO(this._config,{address:this.assertValidAddress(),...f})}async claim(f,a){return await this.awaitResult(this.claimRaw(f,a))}async claimRaw(f,a){const{request:b,result:d}=await t.BO(this._config,{address:this.assertValidAddress(),args:[C.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...a});return{hash:await t.fO(this._config,b),result:d}}async clawback(f,a){return await this.awaitResult(this.clawbackRaw(f,a))}async clawbackRaw(f,a){const{request:b,result:d}=await t.HO(this._config,{address:this.assertValidAddress(),args:[C.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...a});return{hash:await t.vO(this._config,b),result:d}}async isClaimable(f,a){return await t.aO(this._config,{address:this.assertValidAddress(),args:[f.target,f.data],...a})}async getPeg(f){return await t.XC(this._config,{address:this.assertValidAddress(),args:[],...f})}async getTotalBudget(f){return await this.limit(f)}async canBeClaimed(f){return await this.getRemainingClaimPotential(f)>0n}async getRemainingClaimPotential(f){const[a,b]=await Promise.all([this.totalClaimed(f),this.limit(f)]);return b-a}async getIncentiveCriteria(f){try{return await t.JC(this._config,{...f,address:this.assertValidAddress()})}catch(a){throw new o.IncentiveCriteriaNotFoundError(a)}}async getTopupPayload(f){var a,b,d,s,e;return w({asset:await this.asset()??r.zeroAddress,peg:((a=this.payload)==null?void 0:a.peg)??r.zeroAddress,reward:((b=this.payload)==null?void 0:b.reward)??0n,limit:f,maxReward:((d=this.payload)==null?void 0:d.maxReward)??0n,manager:((s=this.payload)==null?void 0:s.manager)??r.zeroAddress,criteria:((e=this.payload)==null?void 0:e.criteria)??{criteriaType:0,signature:r.zeroHash,fieldIndex:0,targetContract:r.zeroAddress,valueType:0}})}buildParameters(f,a){const[b,d]=this.validateDeploymentConfig(f,a);return{abi:t.d,bytecode:V,args:[w(b)],...this.optionallyAttachAccount(d.account)}}buildClawbackData(f){return r.encodeAbiParameters([{type:"uint256"}],[f])}buildClaimData(f){return r.encodeAbiParameters([{type:"uint256",name:"signedAmount"}],[f])}async decodeClaimData(f){const a=r.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],f),b=r.decodeAbiParameters([{type:"uint256"}],a[0].incentiveData)[0];let d=b;const[s,e]=await Promise.all([this.reward(),this.getMaxReward()]);return s===0n||(d=s*b/r.parseEther("1"),e!==0n&&d>e&&(d=e)),d}decodeClaimDataWithRewardDetails(f,a,b){const d=r.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],f),s=r.decodeAbiParameters([{type:"uint256"}],d[0].incentiveData)[0];let e=s;return a===0n||(e=a*s/r.parseEther("1"),b!==0n&&e>b&&(e=b)),e}};p.bases={31337:void 0,...I.ERC20PeggedVariableCriteriaIncentiveV2},p.registryType=v.RegistryType.INCENTIVE;let h=p;function w({asset:T,peg:f,reward:a,limit:b,maxReward:d=0n,manager:s=r.zeroAddress,criteria:e}){return r.encodeAbiParameters([{type:"tuple",name:"initPayloadExtended",components:[{type:"address",name:"asset"},{type:"address",name:"peg"},{type:"uint256",name:"reward"},{type:"uint256",name:"limit"},{type:"address",name:"manager"},{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"},{type:"uint8",name:"valueType"}]}]}],[{asset:T,peg:f,reward:a,limit:b,manager:s,maxReward:d,criteria:{criteriaType:e.criteriaType,signature:e.signature,fieldIndex:e.fieldIndex,targetContract:e.targetContract,valueType:e.valueType}}])}exports.erc20PeggedVariableCriteriaIncentiveV2Abi=t.d;exports.ERC20PeggedVariableCriteriaIncentiveV2=h;exports.prepareERC20PeggedVariableCriteriaIncentiveV2Payload=w;
2
2
  //# sourceMappingURL=ERC20PeggedVariableCriteriaIncentiveV2.cjs.map
@@ -1,7 +1,7 @@
1
1
  import { d as C, bC as _, bD as E, bE as P, bF as $, bG as N, bH as O, bI as B, bJ as F, bK as L, bL as G, bM as M, bN as U, bO as H, bP as S, bQ as k, bR as q, bS as z } from "../generated-CINzoGbl.js";
2
2
  import { getTransactionReceipt as A, getTransaction as J } from "@wagmi/core";
3
3
  import { parseEventLogs as K, decodeFunctionData as j, zeroAddress as o, zeroHash as Q, encodeAbiParameters as y, decodeAbiParameters as g, parseEther as v } from "viem";
4
- import { f as W } from "../deployments-DKtAq6BT.js";
4
+ import { f as W } from "../deployments-CW15LXS5.js";
5
5
  import { SignatureType as x, decodeAndReorderLogArgs as X, isCriteriaFieldIndexTuple as p, getScalarValueFromTuple as h } from "../Actions/EventAction.js";
6
6
  import { DeployableTarget as Z } from "../Deployable/DeployableTarget.js";
7
7
  import { prepareClaimPayload as I } from "../claiming.js";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../generated-C_JEoLDO.cjs"),m=require("@wagmi/core"),t=require("viem"),w=require("../deployments-Dk-Z1L2X.cjs"),l=require("../Actions/EventAction.cjs"),c=require("../errors.cjs"),E=require("../utils.cjs"),C=require("./ERC20VariableIncentive.cjs"),I="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6120aa806100895f395ff3fe608060405260043610610277575f3560e01c8063715018a61161014b578063c884ef83116100c6578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b14610703578063fe9fbb8014610716578063fee81cf414610735575f80fd5b8063ec87621c146106dc578063f04e283e146106f0575f80fd5b8063db09da12116100ac578063db09da1214610689578063dcc21361146106a8578063dcc59b6f146106c7575f80fd5b8063c884ef8314610646578063d54ad2a114610674575f80fd5b8063a4d66daf1161011b578063bb1757cf11610101578063bb1757cf146105f4578063be4994f814610613578063c213f3f914610632575f80fd5b8063a4d66daf146105be578063a871ced2146105d3575f80fd5b8063715018a61461053857806375b238fc1461054057806377548687146105545780638da5cb5b146105a6575f80fd5b806330db555f116101f55780634a4ee7b1116101ab578063514e62fc11610191578063514e62fc146104e657806354d1f13d1461051b57806366a78e6c14610523575f80fd5b80634a4ee7b1146104a75780634e7165a2146104ba575f80fd5b80634359d28a116101db5780634359d28a14610420578063439fab911461043f578063474f5a441461045e575f80fd5b806330db555f146103b057806338d52e0f146103cf575f80fd5b80631cd64df41161024a5780632569296211610230578063256929621461033d57806328d6183b146103455780632de948071461037f575f80fd5b80631cd64df4146102f4578063228cb73314610329575f80fd5b806301ffc9a71461027b57806307621eca146102af578063183a4f6e146102cc5780631c10893f146102e1575b5f80fd5b348015610286575f80fd5b5061029a61029536600461180a565b610766565b60405190151581526020015b60405180910390f35b3480156102ba575f80fd5b505f545b6040519081526020016102a6565b6102df6102da366004611850565b6107c1565b005b6102df6102ef366004611888565b6107ce565b3480156102ff575f80fd5b5061029a61030e366004611888565b638b78c6d8600c9081525f9290925260209091205481161490565b348015610334575f80fd5b506102be5f5481565b6102df6107e4565b348015610350575f80fd5b506040517f52b8e45c0000000000000000000000000000000000000000000000000000000081526020016102a6565b34801561038a575f80fd5b506102be6103993660046118b2565b638b78c6d8600c9081525f91909152602090205490565b3480156103bb575f80fd5b506102df6103ca366004611850565b610831565b3480156103da575f80fd5b506003546103fb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102a6565b34801561042b575f80fd5b506102df61043a366004611915565b6108ed565b34801561044a575f80fd5b506102df6104593660046119bf565b6109e7565b348015610469575f80fd5b5061047d6104783660046119bf565b610cd1565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016102a6565b6102df6104b5366004611888565b610e33565b3480156104c5575f80fd5b506104d96104d43660046119bf565b610e45565b6040516102a69190611a4a565b3480156104f1575f80fd5b5061029a610500366004611888565b638b78c6d8600c9081525f9290925260209091205416151590565b6102df610f2e565b34801561052e575f80fd5b506102be60065481565b6102df610f67565b34801561054b575f80fd5b506102be600281565b34801561055f575f80fd5b506007546008546009546105969260ff908116929190811690610100900473ffffffffffffffffffffffffffffffffffffffff1684565b6040516102a69493929190611a9d565b3480156105b1575f80fd5b50638b78c6d819546103fb565b3480156105c9575f80fd5b506102be60025481565b3480156105de575f80fd5b506105e7610f7a565b6040516102a69190611b25565b3480156105ff575f80fd5b5061029a61060e366004611b33565b611014565b34801561061e575f80fd5b506102df61062d366004611915565b611245565b34801561063d575f80fd5b506006546102be565b348015610651575f80fd5b5061029a6106603660046118b2565b60016020525f908152604090205460ff1681565b34801561067f575f80fd5b506102be60055481565b348015610694575f80fd5b5061029a6106a3366004611b33565b6112e3565b3480156106b3575f80fd5b506102df6106c2366004611915565b6112f9565b3480156106d2575f80fd5b506102be60045481565b3480156106e7575f80fd5b506102be600181565b6102df6106fe3660046118b2565b611397565b6102df6107113660046118b2565b6113d1565b348015610721575f80fd5b5061029a6107303660046118b2565b6113f7565b348015610740575f80fd5b506102be61074f3660046118b2565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f52b8e45c0000000000000000000000000000000000000000000000000000000014806107bb57506107bb82611456565b92915050565b6107cb33826114ab565b50565b6107d66114b6565b6107e082826114d0565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b600161083c816114dc565b815f03610875576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035461089a9073ffffffffffffffffffffffffffffffffffffffff1633308561150d565b8160025f8282546108ab9190611bb1565b909155505060408051338152602081018490527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a15050565b60026108f8816114dc565b838214610931576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109df575f84848381811061094e5761094e611bc4565b90506020020160208101906109639190611bf1565b90508015156001036109a5576109a087878481811061098457610984611bc4565b905060200201602081019061099991906118b2565b60016114d0565b6109d6565b6109d68787848181106109ba576109ba611bc4565b90506020020160208101906109cf91906118b2565b60016114ab565b50600101610933565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610a385760018160011c14303b10610a2f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610a4683850185611cac565b805160208201516040830151606084015160808501519495509293919290915f839003610a9f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610ac073ffffffffffffffffffffffffffffffffffffffff87163061156f565b905083811015610b295786516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018290526044810185905260640160405180910390fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88161790555f8581556002859055600684905560055581516007805484929082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115610bba57610bba611a5c565b02179055506020820151600182015560408201516002909101805460609093015173ffffffffffffffffffffffffffffffffffffffff16610100027fffffffffffffffffffffff00000000000000000000000000000000000000000090931660ff90921691909117919091179055610c31336115a2565b610c3c3360016115ea565b8573ffffffffffffffffffffffffffffffffffffffff167f4dfcc2b9ad954a56fe7153ce6568e2d30033d056714ca4acaa4620b12e1a1a2486868686604051610c889493929190611d83565b60405180910390a2505050505050508015610ccc576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610cde816114dc565b5f610ceb85870187611e57565b90505f8160200151806020019051810190610d069190611ed6565b90508060025f828254610d199190611eed565b90915550508151600354610d469173ffffffffffffffffffffffffffffffffffffffff909116908361162b565b81516003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610e0491611a4a565b60405180910390a260035490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610e3b6114b6565b6107e082826114ab565b60605f80610e5584860186611f00565b9250509150604051806080016040528060016002811115610e7857610e78611a5c565b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610ed79151815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152915251610f159190602001611f32565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610f6f6114b6565b610f785f61167e565b565b604080516080810182525f808252602082018190529181018290526060810191909152604080516080810190915260078054829060ff166001811115610fc257610fc2611a5c565b6001811115610fd357610fd3611a5c565b81526001820154602082015260029091015460ff81166040830152610100900473ffffffffffffffffffffffffffffffffffffffff16606090910152919050565b5f61101d6114b6565b5f61102a83850185611fa8565b90505f81602001518060200190518101906110459190611ed6565b90505f6110556002546005541090565b61108b576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f545f0361109a5750806110bd565b670de0b6b3a7640000825f546110b09190612025565b6110ba919061203c565b90505b600654158015906110cf575060065481115b156110d957506006545b600254816005546110ea9190611bb1565b1115611122576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f8282546111339190611bb1565b92505081905550600160045f82825461114c9190611bb1565b90915550506003546111759073ffffffffffffffffffffffffffffffffffffffff16888361162b565b6003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529189901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8816907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261123091611a4a565b60405180910390a25060019695505050505050565b6002611250816114dc565b838214611289576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109df576112db8686838181106112a8576112a8611bc4565b90506020020160208101906112bd91906118b2565b8585848181106112cf576112cf611bc4565b905060200201356114d0565b60010161128b565b5f6112f16002546005541090565b949350505050565b6002611304816114dc565b83821461133d576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109df5761138f86868381811061135c5761135c611bc4565b905060200201602081019061137191906118b2565b85858481811061138357611383611bc4565b905060200201356114ab565b60010161133f565b61139f6114b6565b63389a75e1600c52805f526020600c2080544211156113c557636f5e88185f526004601cfd5b5f90556107cb8161167e565b6113d96114b6565b8060601b6113ee57637448fbae5f526004601cfd5b6107cb8161167e565b5f8173ffffffffffffffffffffffffffffffffffffffff1661141c638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806107bb5750638b78c6d8600c9081525f839052602090205460031615156107bb565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f903181110000000000000000000000000000000000000000000000000000000014806107bb57506107bb826116c8565b6107e082825f61171d565b638b78c6d819543314610f78576382b429005f526004601cfd5b6107e08282600161171d565b638b78c6d8195433146107cb57638b78c6d8600c52335f52806020600c2054166107cb576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f51141661156157803d873b15171061156157637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661167457803d853b151710611674576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa92167050000000000000000000000000000000000000000000000000000000014806107bb57506107bb82611774565b638b78c6d8600c52825f526020600c2080548381178361173e575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d0000000000000000000000000000000000000000000000000000000014806107bb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146107bb565b5f6020828403121561181a575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611849575f80fd5b9392505050565b5f60208284031215611860575f80fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146107cb575f80fd5b5f8060408385031215611899575f80fd5b82356118a481611867565b946020939093013593505050565b5f602082840312156118c2575f80fd5b813561184981611867565b5f8083601f8401126118dd575f80fd5b50813567ffffffffffffffff8111156118f4575f80fd5b6020830191508360208260051b850101111561190e575f80fd5b9250929050565b5f805f8060408587031215611928575f80fd5b843567ffffffffffffffff81111561193e575f80fd5b61194a878288016118cd565b909550935050602085013567ffffffffffffffff811115611969575f80fd5b611975878288016118cd565b95989497509550505050565b5f8083601f840112611991575f80fd5b50813567ffffffffffffffff8111156119a8575f80fd5b60208301915083602082850101111561190e575f80fd5b5f80602083850312156119d0575f80fd5b823567ffffffffffffffff8111156119e6575f80fd5b6119f285828601611981565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61184960208301846119fe565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110611a9957611a99611a5c565b9052565b60808101611aab8287611a89565b84602083015260ff8416604083015273ffffffffffffffffffffffffffffffffffffffff8316606083015295945050505050565b611aea828251611a89565b6020810151602083015260ff604082015116604083015273ffffffffffffffffffffffffffffffffffffffff60608201511660608301525050565b608081016107bb8284611adf565b5f805f60408486031215611b45575f80fd5b8335611b5081611867565b9250602084013567ffffffffffffffff811115611b6b575f80fd5b611b7786828701611981565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156107bb576107bb611b84565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611c01575f80fd5b81358015158114611849575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160a0810167ffffffffffffffff81118282101715611c6057611c60611c10565b60405290565b6040516080810167ffffffffffffffff81118282101715611c6057611c60611c10565b6040805190810167ffffffffffffffff81118282101715611c6057611c60611c10565b5f81830361010081128015611cbf575f80fd5b50611cc8611c3d565b8335611cd381611867565b815260208481013590820152604080850135908201526060808501359082015260807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083011215611d22575f80fd5b611d2a611c66565b9150608084013560028110611d3d575f80fd5b825260a0840135602083015260c084013560ff81168114611d5c575f80fd5b604083015260e0840135611d6f81611867565b606083015260808101919091529392505050565b848152602081018490526040810183905260e08101611da56060830184611adf565b95945050505050565b5f82601f830112611dbd575f80fd5b813567ffffffffffffffff811115611dd757611dd7611c10565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff81118282101715611e2457611e24611c10565b604052818152838201602001851015611e3b575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215611e67575f80fd5b813567ffffffffffffffff811115611e7d575f80fd5b820160408185031215611e8e575f80fd5b611e96611c89565b8135611ea181611867565b8152602082013567ffffffffffffffff811115611ebc575f80fd5b611ec886828501611dae565b602083015250949350505050565b5f60208284031215611ee6575f80fd5b5051919050565b818103818111156107bb576107bb611b84565b5f805f60608486031215611f12575f80fd5b8335611f1d81611867565b95602085013595506040909401359392505050565b602081525f825160038110611f4957611f49611a5c565b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff604084015116606083015260608301516080808401526112f160a08401826119fe565b5f60208284031215611fb8575f80fd5b813567ffffffffffffffff811115611fce575f80fd5b820160408185031215611fdf575f80fd5b611fe7611c89565b813567ffffffffffffffff811115611ffd575f80fd5b61200986828501611dae565b825250602082013567ffffffffffffffff811115611ebc575f80fd5b80820281158282048414176107bb576107bb611b84565b5f8261206f577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056fea264697066735822122002cb02f574ade708d1d5aab7fb7184f2ca850079b21767cde9fb97481599ce8d64736f6c634300081a0033",p=class p extends C.ERC20VariableIncentive{constructor(){super(...arguments),this.abi=u.c}async getIncentiveCriteria(e){try{return await u.uE(this._config,{...e,address:this.assertValidAddress()})}catch(a){throw new c.IncentiveCriteriaNotFoundError(a)}}async decodeClaimData(e){const a=t.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],e),d=t.decodeAbiParameters([{type:"uint256"}],a[0].incentiveData)[0];let b=d;const[f,i]=await Promise.all([this.reward(),this.getMaxReward()]);return f===0n||(b=f*d/t.parseEther("1"),i!==0n&&b>i&&(b=i)),b}async getMaxReward(e){return await u.lE(this._config,{...e,address:this.assertValidAddress()})}async getIncentiveScalar({chainId:e,hash:a,knownSignatures:d},b){var i;const f=await this.getIncentiveCriteria(b);if(f.criteriaType===l.SignatureType.EVENT){const r=await m.getTransactionReceipt(this._config,{chainId:e,hash:a});if(f.fieldIndex===E.CheatCodes.GAS_REBATE_INCENTIVE)return r.gasUsed*r.effectiveGasPrice+(r.blobGasUsed??0n)*(r.blobGasPrice??0n);const s=r.logs;if(s.length===0)throw new c.NoMatchingLogsError(`No logs found for event signature ${f.signature}`);try{const o=d[f.signature],n=t.parseEventLogs({abi:[o],logs:s});if(n==null||n.length===0)throw new c.NoMatchingLogsError(`No logs found for event signature ${f.signature}`);const y=((i=n[0])==null?void 0:i.args)[f.fieldIndex];if(y===void 0)throw new c.DecodedArgsError(`Decoded argument at index ${f.fieldIndex} is undefined`);return BigInt(y)}catch(o){throw new c.DecodedArgsError(`Failed to decode event log for signature ${f.signature}: ${o.message}`)}}else if(f.criteriaType===l.SignatureType.FUNC){const r=await m.getTransaction(this._config,{chainId:e,hash:a});try{const s=d[f.signature],n=t.decodeFunctionData({abi:[s],data:r.input}).args[f.fieldIndex];if(n==null)throw new c.DecodedArgsError(`Decoded argument at index ${f.fieldIndex} is undefined`);return BigInt(n)}catch(s){throw new c.DecodedArgsError(`Failed to decode function data for signature ${f.signature}: ${s.message}`)}}else throw new c.InvalidCriteriaTypeError(`Invalid criteria type ${f.criteriaType}`)}buildParameters(e,a){const[d,b]=this.validateDeploymentConfig(e,a);return{abi:u.c,bytecode:I,args:[h(d)],...this.optionallyAttachAccount(b.account)}}};p.bases={31337:void 0,...w.ERC20VariableCriteriaIncentive};let g=p;function A(){return{criteriaType:l.SignatureType.EVENT,signature:t.zeroHash,fieldIndex:E.CheatCodes.GAS_REBATE_INCENTIVE,targetContract:t.zeroAddress}}function h({asset:v,reward:e,limit:a,maxReward:d=0n,criteria:b}){return t.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:e,limit:a,maxReward:d,criteria:{criteriaType:b.criteriaType,signature:b.signature,fieldIndex:b.fieldIndex,targetContract:b.targetContract}}])}exports.erc20VariableCriteriaIncentiveAbi=u.c;exports.ERC20VariableCriteriaIncentive=g;exports.gasRebateIncentiveCriteria=A;exports.prepareERC20VariableCriteriaIncentivePayload=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../generated-C_JEoLDO.cjs"),m=require("@wagmi/core"),t=require("viem"),w=require("../deployments-DKScOGTf.cjs"),l=require("../Actions/EventAction.cjs"),c=require("../errors.cjs"),E=require("../utils.cjs"),C=require("./ERC20VariableIncentive.cjs"),I="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6120aa806100895f395ff3fe608060405260043610610277575f3560e01c8063715018a61161014b578063c884ef83116100c6578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b14610703578063fe9fbb8014610716578063fee81cf414610735575f80fd5b8063ec87621c146106dc578063f04e283e146106f0575f80fd5b8063db09da12116100ac578063db09da1214610689578063dcc21361146106a8578063dcc59b6f146106c7575f80fd5b8063c884ef8314610646578063d54ad2a114610674575f80fd5b8063a4d66daf1161011b578063bb1757cf11610101578063bb1757cf146105f4578063be4994f814610613578063c213f3f914610632575f80fd5b8063a4d66daf146105be578063a871ced2146105d3575f80fd5b8063715018a61461053857806375b238fc1461054057806377548687146105545780638da5cb5b146105a6575f80fd5b806330db555f116101f55780634a4ee7b1116101ab578063514e62fc11610191578063514e62fc146104e657806354d1f13d1461051b57806366a78e6c14610523575f80fd5b80634a4ee7b1146104a75780634e7165a2146104ba575f80fd5b80634359d28a116101db5780634359d28a14610420578063439fab911461043f578063474f5a441461045e575f80fd5b806330db555f146103b057806338d52e0f146103cf575f80fd5b80631cd64df41161024a5780632569296211610230578063256929621461033d57806328d6183b146103455780632de948071461037f575f80fd5b80631cd64df4146102f4578063228cb73314610329575f80fd5b806301ffc9a71461027b57806307621eca146102af578063183a4f6e146102cc5780631c10893f146102e1575b5f80fd5b348015610286575f80fd5b5061029a61029536600461180a565b610766565b60405190151581526020015b60405180910390f35b3480156102ba575f80fd5b505f545b6040519081526020016102a6565b6102df6102da366004611850565b6107c1565b005b6102df6102ef366004611888565b6107ce565b3480156102ff575f80fd5b5061029a61030e366004611888565b638b78c6d8600c9081525f9290925260209091205481161490565b348015610334575f80fd5b506102be5f5481565b6102df6107e4565b348015610350575f80fd5b506040517f52b8e45c0000000000000000000000000000000000000000000000000000000081526020016102a6565b34801561038a575f80fd5b506102be6103993660046118b2565b638b78c6d8600c9081525f91909152602090205490565b3480156103bb575f80fd5b506102df6103ca366004611850565b610831565b3480156103da575f80fd5b506003546103fb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102a6565b34801561042b575f80fd5b506102df61043a366004611915565b6108ed565b34801561044a575f80fd5b506102df6104593660046119bf565b6109e7565b348015610469575f80fd5b5061047d6104783660046119bf565b610cd1565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016102a6565b6102df6104b5366004611888565b610e33565b3480156104c5575f80fd5b506104d96104d43660046119bf565b610e45565b6040516102a69190611a4a565b3480156104f1575f80fd5b5061029a610500366004611888565b638b78c6d8600c9081525f9290925260209091205416151590565b6102df610f2e565b34801561052e575f80fd5b506102be60065481565b6102df610f67565b34801561054b575f80fd5b506102be600281565b34801561055f575f80fd5b506007546008546009546105969260ff908116929190811690610100900473ffffffffffffffffffffffffffffffffffffffff1684565b6040516102a69493929190611a9d565b3480156105b1575f80fd5b50638b78c6d819546103fb565b3480156105c9575f80fd5b506102be60025481565b3480156105de575f80fd5b506105e7610f7a565b6040516102a69190611b25565b3480156105ff575f80fd5b5061029a61060e366004611b33565b611014565b34801561061e575f80fd5b506102df61062d366004611915565b611245565b34801561063d575f80fd5b506006546102be565b348015610651575f80fd5b5061029a6106603660046118b2565b60016020525f908152604090205460ff1681565b34801561067f575f80fd5b506102be60055481565b348015610694575f80fd5b5061029a6106a3366004611b33565b6112e3565b3480156106b3575f80fd5b506102df6106c2366004611915565b6112f9565b3480156106d2575f80fd5b506102be60045481565b3480156106e7575f80fd5b506102be600181565b6102df6106fe3660046118b2565b611397565b6102df6107113660046118b2565b6113d1565b348015610721575f80fd5b5061029a6107303660046118b2565b6113f7565b348015610740575f80fd5b506102be61074f3660046118b2565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f52b8e45c0000000000000000000000000000000000000000000000000000000014806107bb57506107bb82611456565b92915050565b6107cb33826114ab565b50565b6107d66114b6565b6107e082826114d0565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b600161083c816114dc565b815f03610875576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035461089a9073ffffffffffffffffffffffffffffffffffffffff1633308561150d565b8160025f8282546108ab9190611bb1565b909155505060408051338152602081018490527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a15050565b60026108f8816114dc565b838214610931576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109df575f84848381811061094e5761094e611bc4565b90506020020160208101906109639190611bf1565b90508015156001036109a5576109a087878481811061098457610984611bc4565b905060200201602081019061099991906118b2565b60016114d0565b6109d6565b6109d68787848181106109ba576109ba611bc4565b90506020020160208101906109cf91906118b2565b60016114ab565b50600101610933565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610a385760018160011c14303b10610a2f5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610a4683850185611cac565b805160208201516040830151606084015160808501519495509293919290915f839003610a9f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610ac073ffffffffffffffffffffffffffffffffffffffff87163061156f565b905083811015610b295786516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018290526044810185905260640160405180910390fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88161790555f8581556002859055600684905560055581516007805484929082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115610bba57610bba611a5c565b02179055506020820151600182015560408201516002909101805460609093015173ffffffffffffffffffffffffffffffffffffffff16610100027fffffffffffffffffffffff00000000000000000000000000000000000000000090931660ff90921691909117919091179055610c31336115a2565b610c3c3360016115ea565b8573ffffffffffffffffffffffffffffffffffffffff167f4dfcc2b9ad954a56fe7153ce6568e2d30033d056714ca4acaa4620b12e1a1a2486868686604051610c889493929190611d83565b60405180910390a2505050505050508015610ccc576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610cde816114dc565b5f610ceb85870187611e57565b90505f8160200151806020019051810190610d069190611ed6565b90508060025f828254610d199190611eed565b90915550508151600354610d469173ffffffffffffffffffffffffffffffffffffffff909116908361162b565b81516003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610e0491611a4a565b60405180910390a260035490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610e3b6114b6565b6107e082826114ab565b60605f80610e5584860186611f00565b9250509150604051806080016040528060016002811115610e7857610e78611a5c565b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610ed79151815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152915251610f159190602001611f32565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610f6f6114b6565b610f785f61167e565b565b604080516080810182525f808252602082018190529181018290526060810191909152604080516080810190915260078054829060ff166001811115610fc257610fc2611a5c565b6001811115610fd357610fd3611a5c565b81526001820154602082015260029091015460ff81166040830152610100900473ffffffffffffffffffffffffffffffffffffffff16606090910152919050565b5f61101d6114b6565b5f61102a83850185611fa8565b90505f81602001518060200190518101906110459190611ed6565b90505f6110556002546005541090565b61108b576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f545f0361109a5750806110bd565b670de0b6b3a7640000825f546110b09190612025565b6110ba919061203c565b90505b600654158015906110cf575060065481115b156110d957506006545b600254816005546110ea9190611bb1565b1115611122576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f8282546111339190611bb1565b92505081905550600160045f82825461114c9190611bb1565b90915550506003546111759073ffffffffffffffffffffffffffffffffffffffff16888361162b565b6003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529189901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8816907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261123091611a4a565b60405180910390a25060019695505050505050565b6002611250816114dc565b838214611289576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109df576112db8686838181106112a8576112a8611bc4565b90506020020160208101906112bd91906118b2565b8585848181106112cf576112cf611bc4565b905060200201356114d0565b60010161128b565b5f6112f16002546005541090565b949350505050565b6002611304816114dc565b83821461133d576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109df5761138f86868381811061135c5761135c611bc4565b905060200201602081019061137191906118b2565b85858481811061138357611383611bc4565b905060200201356114ab565b60010161133f565b61139f6114b6565b63389a75e1600c52805f526020600c2080544211156113c557636f5e88185f526004601cfd5b5f90556107cb8161167e565b6113d96114b6565b8060601b6113ee57637448fbae5f526004601cfd5b6107cb8161167e565b5f8173ffffffffffffffffffffffffffffffffffffffff1661141c638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806107bb5750638b78c6d8600c9081525f839052602090205460031615156107bb565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f903181110000000000000000000000000000000000000000000000000000000014806107bb57506107bb826116c8565b6107e082825f61171d565b638b78c6d819543314610f78576382b429005f526004601cfd5b6107e08282600161171d565b638b78c6d8195433146107cb57638b78c6d8600c52335f52806020600c2054166107cb576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f51141661156157803d873b15171061156157637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661167457803d853b151710611674576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa92167050000000000000000000000000000000000000000000000000000000014806107bb57506107bb82611774565b638b78c6d8600c52825f526020600c2080548381178361173e575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d0000000000000000000000000000000000000000000000000000000014806107bb57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146107bb565b5f6020828403121561181a575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611849575f80fd5b9392505050565b5f60208284031215611860575f80fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146107cb575f80fd5b5f8060408385031215611899575f80fd5b82356118a481611867565b946020939093013593505050565b5f602082840312156118c2575f80fd5b813561184981611867565b5f8083601f8401126118dd575f80fd5b50813567ffffffffffffffff8111156118f4575f80fd5b6020830191508360208260051b850101111561190e575f80fd5b9250929050565b5f805f8060408587031215611928575f80fd5b843567ffffffffffffffff81111561193e575f80fd5b61194a878288016118cd565b909550935050602085013567ffffffffffffffff811115611969575f80fd5b611975878288016118cd565b95989497509550505050565b5f8083601f840112611991575f80fd5b50813567ffffffffffffffff8111156119a8575f80fd5b60208301915083602082850101111561190e575f80fd5b5f80602083850312156119d0575f80fd5b823567ffffffffffffffff8111156119e6575f80fd5b6119f285828601611981565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f61184960208301846119fe565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110611a9957611a99611a5c565b9052565b60808101611aab8287611a89565b84602083015260ff8416604083015273ffffffffffffffffffffffffffffffffffffffff8316606083015295945050505050565b611aea828251611a89565b6020810151602083015260ff604082015116604083015273ffffffffffffffffffffffffffffffffffffffff60608201511660608301525050565b608081016107bb8284611adf565b5f805f60408486031215611b45575f80fd5b8335611b5081611867565b9250602084013567ffffffffffffffff811115611b6b575f80fd5b611b7786828701611981565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156107bb576107bb611b84565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611c01575f80fd5b81358015158114611849575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160a0810167ffffffffffffffff81118282101715611c6057611c60611c10565b60405290565b6040516080810167ffffffffffffffff81118282101715611c6057611c60611c10565b6040805190810167ffffffffffffffff81118282101715611c6057611c60611c10565b5f81830361010081128015611cbf575f80fd5b50611cc8611c3d565b8335611cd381611867565b815260208481013590820152604080850135908201526060808501359082015260807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083011215611d22575f80fd5b611d2a611c66565b9150608084013560028110611d3d575f80fd5b825260a0840135602083015260c084013560ff81168114611d5c575f80fd5b604083015260e0840135611d6f81611867565b606083015260808101919091529392505050565b848152602081018490526040810183905260e08101611da56060830184611adf565b95945050505050565b5f82601f830112611dbd575f80fd5b813567ffffffffffffffff811115611dd757611dd7611c10565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff81118282101715611e2457611e24611c10565b604052818152838201602001851015611e3b575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215611e67575f80fd5b813567ffffffffffffffff811115611e7d575f80fd5b820160408185031215611e8e575f80fd5b611e96611c89565b8135611ea181611867565b8152602082013567ffffffffffffffff811115611ebc575f80fd5b611ec886828501611dae565b602083015250949350505050565b5f60208284031215611ee6575f80fd5b5051919050565b818103818111156107bb576107bb611b84565b5f805f60608486031215611f12575f80fd5b8335611f1d81611867565b95602085013595506040909401359392505050565b602081525f825160038110611f4957611f49611a5c565b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff604084015116606083015260608301516080808401526112f160a08401826119fe565b5f60208284031215611fb8575f80fd5b813567ffffffffffffffff811115611fce575f80fd5b820160408185031215611fdf575f80fd5b611fe7611c89565b813567ffffffffffffffff811115611ffd575f80fd5b61200986828501611dae565b825250602082013567ffffffffffffffff811115611ebc575f80fd5b80820281158282048414176107bb576107bb611b84565b5f8261206f577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056fea264697066735822122002cb02f574ade708d1d5aab7fb7184f2ca850079b21767cde9fb97481599ce8d64736f6c634300081a0033",p=class p extends C.ERC20VariableIncentive{constructor(){super(...arguments),this.abi=u.c}async getIncentiveCriteria(e){try{return await u.uE(this._config,{...e,address:this.assertValidAddress()})}catch(a){throw new c.IncentiveCriteriaNotFoundError(a)}}async decodeClaimData(e){const a=t.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],e),d=t.decodeAbiParameters([{type:"uint256"}],a[0].incentiveData)[0];let b=d;const[f,i]=await Promise.all([this.reward(),this.getMaxReward()]);return f===0n||(b=f*d/t.parseEther("1"),i!==0n&&b>i&&(b=i)),b}async getMaxReward(e){return await u.lE(this._config,{...e,address:this.assertValidAddress()})}async getIncentiveScalar({chainId:e,hash:a,knownSignatures:d},b){var i;const f=await this.getIncentiveCriteria(b);if(f.criteriaType===l.SignatureType.EVENT){const r=await m.getTransactionReceipt(this._config,{chainId:e,hash:a});if(f.fieldIndex===E.CheatCodes.GAS_REBATE_INCENTIVE)return r.gasUsed*r.effectiveGasPrice+(r.blobGasUsed??0n)*(r.blobGasPrice??0n);const s=r.logs;if(s.length===0)throw new c.NoMatchingLogsError(`No logs found for event signature ${f.signature}`);try{const o=d[f.signature],n=t.parseEventLogs({abi:[o],logs:s});if(n==null||n.length===0)throw new c.NoMatchingLogsError(`No logs found for event signature ${f.signature}`);const y=((i=n[0])==null?void 0:i.args)[f.fieldIndex];if(y===void 0)throw new c.DecodedArgsError(`Decoded argument at index ${f.fieldIndex} is undefined`);return BigInt(y)}catch(o){throw new c.DecodedArgsError(`Failed to decode event log for signature ${f.signature}: ${o.message}`)}}else if(f.criteriaType===l.SignatureType.FUNC){const r=await m.getTransaction(this._config,{chainId:e,hash:a});try{const s=d[f.signature],n=t.decodeFunctionData({abi:[s],data:r.input}).args[f.fieldIndex];if(n==null)throw new c.DecodedArgsError(`Decoded argument at index ${f.fieldIndex} is undefined`);return BigInt(n)}catch(s){throw new c.DecodedArgsError(`Failed to decode function data for signature ${f.signature}: ${s.message}`)}}else throw new c.InvalidCriteriaTypeError(`Invalid criteria type ${f.criteriaType}`)}buildParameters(e,a){const[d,b]=this.validateDeploymentConfig(e,a);return{abi:u.c,bytecode:I,args:[h(d)],...this.optionallyAttachAccount(b.account)}}};p.bases={31337:void 0,...w.ERC20VariableCriteriaIncentive};let g=p;function A(){return{criteriaType:l.SignatureType.EVENT,signature:t.zeroHash,fieldIndex:E.CheatCodes.GAS_REBATE_INCENTIVE,targetContract:t.zeroAddress}}function h({asset:v,reward:e,limit:a,maxReward:d=0n,criteria:b}){return t.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:e,limit:a,maxReward:d,criteria:{criteriaType:b.criteriaType,signature:b.signature,fieldIndex:b.fieldIndex,targetContract:b.targetContract}}])}exports.erc20VariableCriteriaIncentiveAbi=u.c;exports.ERC20VariableCriteriaIncentive=g;exports.gasRebateIncentiveCriteria=A;exports.prepareERC20VariableCriteriaIncentivePayload=h;
2
2
  //# sourceMappingURL=ERC20VariableCriteriaIncentive.cjs.map
@@ -1,7 +1,7 @@
1
1
  import { c as g, b4 as v, b5 as E } from "../generated-CINzoGbl.js";
2
2
  import { getTransactionReceipt as I, getTransaction as C } from "@wagmi/core";
3
3
  import { decodeAbiParameters as m, parseEther as x, parseEventLogs as T, decodeFunctionData as A, encodeAbiParameters as R, zeroHash as D, zeroAddress as N } from "viem";
4
- import { b as V } from "../deployments-DKtAq6BT.js";
4
+ import { b as V } from "../deployments-CW15LXS5.js";
5
5
  import { SignatureType as s } from "../Actions/EventAction.js";
6
6
  import { IncentiveCriteriaNotFoundError as $, NoMatchingLogsError as p, DecodedArgsError as o, InvalidCriteriaTypeError as P } from "../errors.js";
7
7
  import { CheatCodes as w } from "../utils.js";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../generated-C_JEoLDO.cjs"),y=require("@wagmi/core"),n=require("viem"),T=require("../deployments-Dk-Z1L2X.cjs"),t=require("../Actions/EventAction.cjs"),i=require("../errors.cjs"),h=require("../utils.cjs"),x=require("./ERC20VariableIncentive.cjs"),E="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6121a3806100895f395ff3fe608060405260043610610277575f3560e01c8063715018a61161014b578063c884ef83116100c6578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b1461071f578063fe9fbb8014610732578063fee81cf414610751575f80fd5b8063ec87621c146106f8578063f04e283e1461070c575f80fd5b8063db09da12116100ac578063db09da12146106a5578063dcc21361146106c4578063dcc59b6f146106e3575f80fd5b8063c884ef8314610662578063d54ad2a114610690575f80fd5b8063a4d66daf1161011b578063bb1757cf11610101578063bb1757cf14610610578063be4994f81461062f578063c213f3f91461064e575f80fd5b8063a4d66daf146105da578063a871ced2146105ef575f80fd5b8063715018a61461053857806375b238fc1461054057806377548687146105545780638da5cb5b146105c2575f80fd5b806330db555f116101f55780634a4ee7b1116101ab578063514e62fc11610191578063514e62fc146104e657806354d1f13d1461051b57806366a78e6c14610523575f80fd5b80634a4ee7b1146104a75780634e7165a2146104ba575f80fd5b80634359d28a116101db5780634359d28a14610420578063439fab911461043f578063474f5a441461045e575f80fd5b806330db555f146103b057806338d52e0f146103cf575f80fd5b80631cd64df41161024a5780632569296211610230578063256929621461033d57806328d6183b146103455780632de948071461037f575f80fd5b80631cd64df4146102f4578063228cb73314610329575f80fd5b806301ffc9a71461027b57806307621eca146102af578063183a4f6e146102cc5780631c10893f146102e1575b5f80fd5b348015610286575f80fd5b5061029a6102953660046118d1565b610782565b60405190151581526020015b60405180910390f35b3480156102ba575f80fd5b505f545b6040519081526020016102a6565b6102df6102da366004611917565b6107dd565b005b6102df6102ef36600461194f565b6107ea565b3480156102ff575f80fd5b5061029a61030e36600461194f565b638b78c6d8600c9081525f9290925260209091205481161490565b348015610334575f80fd5b506102be5f5481565b6102df610800565b348015610350575f80fd5b506040517f52b8e45c0000000000000000000000000000000000000000000000000000000081526020016102a6565b34801561038a575f80fd5b506102be610399366004611979565b638b78c6d8600c9081525f91909152602090205490565b3480156103bb575f80fd5b506102df6103ca366004611917565b61084d565b3480156103da575f80fd5b506003546103fb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102a6565b34801561042b575f80fd5b506102df61043a3660046119dc565b610909565b34801561044a575f80fd5b506102df610459366004611a86565b610a03565b348015610469575f80fd5b5061047d610478366004611a86565b610d4c565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016102a6565b6102df6104b536600461194f565b610eae565b3480156104c5575f80fd5b506104d96104d4366004611a86565b610ec0565b6040516102a69190611b11565b3480156104f1575f80fd5b5061029a61050036600461194f565b638b78c6d8600c9081525f9290925260209091205416151590565b6102df610fa9565b34801561052e575f80fd5b506102be60065481565b6102df610fe2565b34801561054b575f80fd5b506102be600281565b34801561055f575f80fd5b506007546008546009546105b19260ff90811692918082169173ffffffffffffffffffffffffffffffffffffffff61010083041691750100000000000000000000000000000000000000000090041685565b6040516102a6959493929190611b60565b3480156105cd575f80fd5b50638b78c6d819546103fb565b3480156105e5575f80fd5b506102be60025481565b3480156105fa575f80fd5b50610603610ff5565b6040516102a69190611c13565b34801561061b575f80fd5b5061029a61062a366004611c21565b6110db565b34801561063a575f80fd5b506102df6106493660046119dc565b61130c565b348015610659575f80fd5b506006546102be565b34801561066d575f80fd5b5061029a61067c366004611979565b60016020525f908152604090205460ff1681565b34801561069b575f80fd5b506102be60055481565b3480156106b0575f80fd5b5061029a6106bf366004611c21565b6113aa565b3480156106cf575f80fd5b506102df6106de3660046119dc565b6113c0565b3480156106ee575f80fd5b506102be60045481565b348015610703575f80fd5b506102be600181565b6102df61071a366004611979565b61145e565b6102df61072d366004611979565b611498565b34801561073d575f80fd5b5061029a61074c366004611979565b6114be565b34801561075c575f80fd5b506102be61076b366004611979565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f52b8e45c0000000000000000000000000000000000000000000000000000000014806107d757506107d78261151d565b92915050565b6107e73382611572565b50565b6107f261157d565b6107fc8282611597565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6001610858816115a3565b815f03610891576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546108b69073ffffffffffffffffffffffffffffffffffffffff163330856115d4565b8160025f8282546108c79190611c9f565b909155505060408051338152602081018490527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a15050565b6002610914816115a3565b83821461094d576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109fb575f84848381811061096a5761096a611cb2565b905060200201602081019061097f9190611cdf565b90508015156001036109c1576109bc8787848181106109a0576109a0611cb2565b90506020020160208101906109b59190611979565b6001611597565b6109f2565b6109f28787848181106109d6576109d6611cb2565b90506020020160208101906109eb9190611979565b6001611572565b5060010161094f565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610a545760018160011c14303b10610a4b5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610a6283850185611d93565b805160208201516040830151606084015160808501519495509293919290915f839003610abb576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610adc73ffffffffffffffffffffffffffffffffffffffff871630611636565b905083811015610b455786516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018290526044810185905260640160405180910390fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88161790555f8581556002859055600684905560055581516007805484929082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115610bd657610bd6611b23565b021790555060208201516001808301919091556040830151600283018054606086015173ffffffffffffffffffffffffffffffffffffffff16610100027fffffffffffffffffffffff00000000000000000000000000000000000000000090911660ff90931692909217919091178082556080850151927fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff909116907501000000000000000000000000000000000000000000908490811115610c9b57610c9b611b23565b0217905550905050610cac33611669565b610cb73360016116b1565b8573ffffffffffffffffffffffffffffffffffffffff167f99f3346dc2b5f4a8773b860bf7951f6bcb1a5ff787cfd080496e347c1ad5807986868686604051610d039493929190611e7b565b60405180910390a2505050505050508015610d47576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610d59816115a3565b5f610d6685870187611f50565b90505f8160200151806020019051810190610d819190611fcf565b90508060025f828254610d949190611fe6565b90915550508151600354610dc19173ffffffffffffffffffffffffffffffffffffffff90911690836116f2565b81516003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610e7f91611b11565b60405180910390a260035490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610eb661157d565b6107fc8282611572565b60605f80610ed084860186611ff9565b9250509150604051806080016040528060016002811115610ef357610ef3611b23565b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610f529151815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152915251610f90919060200161202b565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610fea61157d565b610ff35f611745565b565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526040805160a0810190915260078054829060ff16600181111561104457611044611b23565b600181111561105557611055611b23565b81526001828101546020830152600283015460ff808216604085015273ffffffffffffffffffffffffffffffffffffffff6101008304166060850152608090930192750100000000000000000000000000000000000000000090910416908111156110c2576110c2611b23565b60018111156110d3576110d3611b23565b905250919050565b5f6110e461157d565b5f6110f1838501856120a1565b90505f816020015180602001905181019061110c9190611fcf565b90505f61111c6002546005541090565b611152576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f545f03611161575080611184565b670de0b6b3a7640000825f54611177919061211e565b6111819190612135565b90505b60065415801590611196575060065481115b156111a057506006545b600254816005546111b19190611c9f565b11156111e9576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f8282546111fa9190611c9f565b92505081905550600160045f8282546112139190611c9f565b909155505060035461123c9073ffffffffffffffffffffffffffffffffffffffff1688836116f2565b6003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529189901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8816907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526112f791611b11565b60405180910390a25060019695505050505050565b6002611317816115a3565b838214611350576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109fb576113a286868381811061136f5761136f611cb2565b90506020020160208101906113849190611979565b85858481811061139657611396611cb2565b90506020020135611597565b600101611352565b5f6113b86002546005541090565b949350505050565b60026113cb816115a3565b838214611404576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109fb5761145686868381811061142357611423611cb2565b90506020020160208101906114389190611979565b85858481811061144a5761144a611cb2565b90506020020135611572565b600101611406565b61146661157d565b63389a75e1600c52805f526020600c20805442111561148c57636f5e88185f526004601cfd5b5f90556107e781611745565b6114a061157d565b8060601b6114b557637448fbae5f526004601cfd5b6107e781611745565b5f8173ffffffffffffffffffffffffffffffffffffffff166114e3638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806107d75750638b78c6d8600c9081525f839052602090205460031615156107d7565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f903181110000000000000000000000000000000000000000000000000000000014806107d757506107d78261178f565b6107fc82825f6117e4565b638b78c6d819543314610ff3576382b429005f526004601cfd5b6107fc828260016117e4565b638b78c6d8195433146107e757638b78c6d8600c52335f52806020600c2054166107e7576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f51141661162857803d873b15171061162857637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661173b57803d853b15171061173b576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa92167050000000000000000000000000000000000000000000000000000000014806107d757506107d78261183b565b638b78c6d8600c52825f526020600c20805483811783611805575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d0000000000000000000000000000000000000000000000000000000014806107d757507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146107d7565b5f602082840312156118e1575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611910575f80fd5b9392505050565b5f60208284031215611927575f80fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146107e7575f80fd5b5f8060408385031215611960575f80fd5b823561196b8161192e565b946020939093013593505050565b5f60208284031215611989575f80fd5b81356119108161192e565b5f8083601f8401126119a4575f80fd5b50813567ffffffffffffffff8111156119bb575f80fd5b6020830191508360208260051b85010111156119d5575f80fd5b9250929050565b5f805f80604085870312156119ef575f80fd5b843567ffffffffffffffff811115611a05575f80fd5b611a1187828801611994565b909550935050602085013567ffffffffffffffff811115611a30575f80fd5b611a3c87828801611994565b95989497509550505050565b5f8083601f840112611a58575f80fd5b50813567ffffffffffffffff811115611a6f575f80fd5b6020830191508360208285010111156119d5575f80fd5b5f8060208385031215611a97575f80fd5b823567ffffffffffffffff811115611aad575f80fd5b611ab985828601611a48565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6119106020830184611ac5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600281106107e7576107e7611b23565b60a08101611b6d87611b50565b86825285602083015260ff8516604083015273ffffffffffffffffffffffffffffffffffffffff84166060830152611ba483611b50565b8260808301529695505050505050565b8051611bbf81611b50565b808352506020810151602083015260ff604082015116604083015273ffffffffffffffffffffffffffffffffffffffff60608201511660608301526080810151611c0881611b50565b806080840152505050565b60a081016107d78284611bb4565b5f805f60408486031215611c33575f80fd5b8335611c3e8161192e565b9250602084013567ffffffffffffffff811115611c59575f80fd5b611c6586828701611a48565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156107d7576107d7611c72565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611cef575f80fd5b81358015158114611910575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160a0810167ffffffffffffffff81118282101715611d4e57611d4e611cfe565b60405290565b6040805190810167ffffffffffffffff81118282101715611d4e57611d4e611cfe565b600281106107e7575f80fd5b8035611d8e81611d77565b919050565b5f81830361012081128015611da6575f80fd5b50611daf611d2b565b8335611dba8161192e565b815260208481013590820152604080850135908201526060808501359082015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083011215611e09575f80fd5b611e11611d2b565b91506080840135611e2181611d77565b825260a0840135602083015260c084013560ff81168114611e40575f80fd5b604083015260e0840135611e538161192e565b6060830152611e656101008501611d83565b6080830152816080820152809250505092915050565b84815260208101849052604081018390526101008101611e9e6060830184611bb4565b95945050505050565b5f82601f830112611eb6575f80fd5b813567ffffffffffffffff811115611ed057611ed0611cfe565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff81118282101715611f1d57611f1d611cfe565b604052818152838201602001851015611f34575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215611f60575f80fd5b813567ffffffffffffffff811115611f76575f80fd5b820160408185031215611f87575f80fd5b611f8f611d54565b8135611f9a8161192e565b8152602082013567ffffffffffffffff811115611fb5575f80fd5b611fc186828501611ea7565b602083015250949350505050565b5f60208284031215611fdf575f80fd5b5051919050565b818103818111156107d7576107d7611c72565b5f805f6060848603121561200b575f80fd5b83356120168161192e565b95602085013595506040909401359392505050565b602081525f82516003811061204257612042611b23565b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff604084015116606083015260608301516080808401526113b860a0840182611ac5565b5f602082840312156120b1575f80fd5b813567ffffffffffffffff8111156120c7575f80fd5b8201604081850312156120d8575f80fd5b6120e0611d54565b813567ffffffffffffffff8111156120f6575f80fd5b61210286828501611ea7565b825250602082013567ffffffffffffffff811115611fb5575f80fd5b80820281158282048414176107d7576107d7611c72565b5f82612168577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056fea26469706673582212207116aaa186a239a48bef990e22553b4fb13a51ab4a37e95e74ae15e63a94b2e764736f6c634300081a0033",v=class v extends x.ERC20VariableIncentive{constructor(){super(...arguments),this.abi=l.m}async getIncentiveCriteria(d){try{return await l.IV(this._config,{...d,address:this.assertValidAddress()})}catch(c){throw new i.IncentiveCriteriaNotFoundError(c)}}async decodeClaimData(d){const c=n.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],d),r=n.decodeAbiParameters([{type:"uint256"}],c[0].incentiveData)[0];let e=r;const[u,f]=await Promise.all([this.reward(),this.getMaxReward()]);return u===0n||(e=u*r/n.parseEther("1"),f!==0n&&e>f&&(e=f)),e}async getMaxReward(d){return await l.AV(this._config,{...d,address:this.assertValidAddress()})}async getIncentiveScalar({chainId:d,hash:c,knownSignatures:r,logs:e},u){var I;const f=await this.getIncentiveCriteria(u);if(f.criteriaType===t.SignatureType.EVENT){const p=r[f.signature];if(f.fieldIndex===h.CheatCodes.GAS_REBATE_INCENTIVE){const b=await y.getTransactionReceipt(this._config,{chainId:d,hash:c});return b.gasUsed*b.effectiveGasPrice+(b.blobGasUsed??0n)*(b.blobGasPrice??0n)}if(e&&e.length>0)try{const b=e.filter(a=>a.topics&&a.topics[0]===f.signature).map(a=>t.decodeAndReorderLogArgs(p,a));if(b.length>0)for(const a of b){if(t.isCriteriaFieldIndexTuple(f.fieldIndex))return t.getScalarValueFromTuple(a.args,f.fieldIndex);const o=a.args?a.args[f.fieldIndex]:void 0;if(o!==void 0)return BigInt(o)}}catch(b){throw new i.DecodedArgsError(`An error occurred while extracting scalar from logs: ${b.message}`)}const s=(await y.getTransactionReceipt(this._config,{chainId:d,hash:c})).logs;if(s.length===0)throw new i.NoMatchingLogsError(`No logs found for event signature ${f.signature}`);try{const b=r[f.signature],a=n.parseEventLogs({abi:[b],logs:s});if(a==null||a.length===0)throw new i.NoMatchingLogsError(`No logs found for event signature ${f.signature}`);if(t.isCriteriaFieldIndexTuple(f.fieldIndex))return t.getScalarValueFromTuple((I=a[0])==null?void 0:I.args,f.fieldIndex);const o=a[0]&&a[0].args?a[0].args[f.fieldIndex]:void 0;if(o===void 0)throw new i.DecodedArgsError(`Decoded argument at index ${f.fieldIndex} is undefined`);return BigInt(o)}catch(b){throw new i.DecodedArgsError(`Failed to decode event log for signature ${f.signature}: ${b.message}`)}}else if(f.criteriaType===t.SignatureType.FUNC){const p=await y.getTransaction(this._config,{chainId:d,hash:c});try{const g=r[f.signature],s=n.decodeFunctionData({abi:[g],data:p.input});if(t.isCriteriaFieldIndexTuple(f.fieldIndex))return t.getScalarValueFromTuple(s.args,f.fieldIndex);const b=s.args[f.fieldIndex];if(b==null)throw new i.DecodedArgsError(`Decoded argument at index ${f.fieldIndex} is undefined`);return BigInt(b)}catch(g){throw new i.DecodedArgsError(`Failed to decode function data for signature ${f.signature}: ${g.message}`)}}else throw new i.InvalidCriteriaTypeError(`Invalid criteria type ${f.criteriaType}`)}buildParameters(d,c){const[r,e]=this.validateDeploymentConfig(d,c);return{abi:l.m,bytecode:E,args:[w(r)],...this.optionallyAttachAccount(e.account)}}};v.bases={31337:void 0,...T.ERC20VariableCriteriaIncentiveV2};let m=v;function A(){return{criteriaType:t.SignatureType.EVENT,signature:n.zeroHash,fieldIndex:h.CheatCodes.GAS_REBATE_INCENTIVE,targetContract:n.zeroAddress,valueType:t.ValueType.WAD}}function w({asset:C,reward:d,limit:c,maxReward:r=0n,criteria:e}){return n.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"},{type:"uint8",name:"valueType"}]}]}],[{asset:C,reward:d,limit:c,maxReward:r,criteria:{criteriaType:e.criteriaType,signature:e.signature,fieldIndex:e.fieldIndex,targetContract:e.targetContract,valueType:e.valueType}}])}exports.erc20VariableCriteriaIncentiveV2Abi=l.m;exports.ERC20VariableCriteriaIncentiveV2=m;exports.gasRebateIncentiveCriteriaV2=A;exports.prepareERC20VariableCriteriaIncentiveV2Payload=w;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../generated-C_JEoLDO.cjs"),y=require("@wagmi/core"),n=require("viem"),T=require("../deployments-DKScOGTf.cjs"),t=require("../Actions/EventAction.cjs"),i=require("../errors.cjs"),h=require("../utils.cjs"),x=require("./ERC20VariableIncentive.cjs"),E="0x6080604052348015600e575f80fd5b5060156019565b607c565b63409feecd198054600181161560365763f92ee8a95f526004601cfd5b6001600160401b03808260011c146077578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b6121a3806100895f395ff3fe608060405260043610610277575f3560e01c8063715018a61161014b578063c884ef83116100c6578063ec87621c1161007c578063f2fde38b11610062578063f2fde38b1461071f578063fe9fbb8014610732578063fee81cf414610751575f80fd5b8063ec87621c146106f8578063f04e283e1461070c575f80fd5b8063db09da12116100ac578063db09da12146106a5578063dcc21361146106c4578063dcc59b6f146106e3575f80fd5b8063c884ef8314610662578063d54ad2a114610690575f80fd5b8063a4d66daf1161011b578063bb1757cf11610101578063bb1757cf14610610578063be4994f81461062f578063c213f3f91461064e575f80fd5b8063a4d66daf146105da578063a871ced2146105ef575f80fd5b8063715018a61461053857806375b238fc1461054057806377548687146105545780638da5cb5b146105c2575f80fd5b806330db555f116101f55780634a4ee7b1116101ab578063514e62fc11610191578063514e62fc146104e657806354d1f13d1461051b57806366a78e6c14610523575f80fd5b80634a4ee7b1146104a75780634e7165a2146104ba575f80fd5b80634359d28a116101db5780634359d28a14610420578063439fab911461043f578063474f5a441461045e575f80fd5b806330db555f146103b057806338d52e0f146103cf575f80fd5b80631cd64df41161024a5780632569296211610230578063256929621461033d57806328d6183b146103455780632de948071461037f575f80fd5b80631cd64df4146102f4578063228cb73314610329575f80fd5b806301ffc9a71461027b57806307621eca146102af578063183a4f6e146102cc5780631c10893f146102e1575b5f80fd5b348015610286575f80fd5b5061029a6102953660046118d1565b610782565b60405190151581526020015b60405180910390f35b3480156102ba575f80fd5b505f545b6040519081526020016102a6565b6102df6102da366004611917565b6107dd565b005b6102df6102ef36600461194f565b6107ea565b3480156102ff575f80fd5b5061029a61030e36600461194f565b638b78c6d8600c9081525f9290925260209091205481161490565b348015610334575f80fd5b506102be5f5481565b6102df610800565b348015610350575f80fd5b506040517f52b8e45c0000000000000000000000000000000000000000000000000000000081526020016102a6565b34801561038a575f80fd5b506102be610399366004611979565b638b78c6d8600c9081525f91909152602090205490565b3480156103bb575f80fd5b506102df6103ca366004611917565b61084d565b3480156103da575f80fd5b506003546103fb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102a6565b34801561042b575f80fd5b506102df61043a3660046119dc565b610909565b34801561044a575f80fd5b506102df610459366004611a86565b610a03565b348015610469575f80fd5b5061047d610478366004611a86565b610d4c565b6040805192835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016102a6565b6102df6104b536600461194f565b610eae565b3480156104c5575f80fd5b506104d96104d4366004611a86565b610ec0565b6040516102a69190611b11565b3480156104f1575f80fd5b5061029a61050036600461194f565b638b78c6d8600c9081525f9290925260209091205416151590565b6102df610fa9565b34801561052e575f80fd5b506102be60065481565b6102df610fe2565b34801561054b575f80fd5b506102be600281565b34801561055f575f80fd5b506007546008546009546105b19260ff90811692918082169173ffffffffffffffffffffffffffffffffffffffff61010083041691750100000000000000000000000000000000000000000090041685565b6040516102a6959493929190611b60565b3480156105cd575f80fd5b50638b78c6d819546103fb565b3480156105e5575f80fd5b506102be60025481565b3480156105fa575f80fd5b50610603610ff5565b6040516102a69190611c13565b34801561061b575f80fd5b5061029a61062a366004611c21565b6110db565b34801561063a575f80fd5b506102df6106493660046119dc565b61130c565b348015610659575f80fd5b506006546102be565b34801561066d575f80fd5b5061029a61067c366004611979565b60016020525f908152604090205460ff1681565b34801561069b575f80fd5b506102be60055481565b3480156106b0575f80fd5b5061029a6106bf366004611c21565b6113aa565b3480156106cf575f80fd5b506102df6106de3660046119dc565b6113c0565b3480156106ee575f80fd5b506102be60045481565b348015610703575f80fd5b506102be600181565b6102df61071a366004611979565b61145e565b6102df61072d366004611979565b611498565b34801561073d575f80fd5b5061029a61074c366004611979565b6114be565b34801561075c575f80fd5b506102be61076b366004611979565b63389a75e1600c9081525f91909152602090205490565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f52b8e45c0000000000000000000000000000000000000000000000000000000014806107d757506107d78261151d565b92915050565b6107e73382611572565b50565b6107f261157d565b6107fc8282611597565b5050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b6001610858816115a3565b815f03610891576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003546108b69073ffffffffffffffffffffffffffffffffffffffff163330856115d4565b8160025f8282546108c79190611c9f565b909155505060408051338152602081018490527fa64c2da41decbd538f8629e54c8fa0b7362c9102b691386a0fb6a1797454e9c6910160405180910390a15050565b6002610914816115a3565b83821461094d576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109fb575f84848381811061096a5761096a611cb2565b905060200201602081019061097f9190611cdf565b90508015156001036109c1576109bc8787848181106109a0576109a0611cb2565b90506020020160208101906109b59190611979565b6001611597565b6109f2565b6109f28787848181106109d6576109d6611cb2565b90506020020160208101906109eb9190611979565b6001611572565b5060010161094f565b505050505050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011328054600382558015610a545760018160011c14303b10610a4b5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f610a6283850185611d93565b805160208201516040830151606084015160808501519495509293919290915f839003610abb576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610adc73ffffffffffffffffffffffffffffffffffffffff871630611636565b905083811015610b455786516040517f5c54305e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602481018290526044810185905260640160405180910390fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88161790555f8581556002859055600684905560055581516007805484929082907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115610bd657610bd6611b23565b021790555060208201516001808301919091556040830151600283018054606086015173ffffffffffffffffffffffffffffffffffffffff16610100027fffffffffffffffffffffff00000000000000000000000000000000000000000090911660ff90931692909217919091178082556080850151927fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff909116907501000000000000000000000000000000000000000000908490811115610c9b57610c9b611b23565b0217905550905050610cac33611669565b610cb73360016116b1565b8573ffffffffffffffffffffffffffffffffffffffff167f99f3346dc2b5f4a8773b860bf7951f6bcb1a5ff787cfd080496e347c1ad5807986868686604051610d039493929190611e7b565b60405180910390a2505050505050508015610d47576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f806001610d59816115a3565b5f610d6685870187611f50565b90505f8160200151806020019051810190610d819190611fcf565b90508060025f828254610d949190611fe6565b90915550508151600354610dc19173ffffffffffffffffffffffffffffffffffffffff90911690836116f2565b81516003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529183901b90911660348201526048810183905273ffffffffffffffffffffffffffffffffffffffff909116907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610e7f91611b11565b60405180910390a260035490945073ffffffffffffffffffffffffffffffffffffffff16925050509250929050565b610eb661157d565b6107fc8282611572565b60605f80610ed084860186611ff9565b9250509150604051806080016040528060016002811115610ef357610ef3611b23565b81526020018373ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610f529151815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152915251610f90919060200161202b565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610fea61157d565b610ff35f611745565b565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526040805160a0810190915260078054829060ff16600181111561104457611044611b23565b600181111561105557611055611b23565b81526001828101546020830152600283015460ff808216604085015273ffffffffffffffffffffffffffffffffffffffff6101008304166060850152608090930192750100000000000000000000000000000000000000000090910416908111156110c2576110c2611b23565b60018111156110d3576110d3611b23565b905250919050565b5f6110e461157d565b5f6110f1838501856120a1565b90505f816020015180602001905181019061110c9190611fcf565b90505f61111c6002546005541090565b611152576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f545f03611161575080611184565b670de0b6b3a7640000825f54611177919061211e565b6111819190612135565b90505b60065415801590611196575060065481115b156111a057506006545b600254816005546111b19190611c9f565b11156111e9576040517f360e42e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060055f8282546111fa9190611c9f565b92505081905550600160045f8282546112139190611c9f565b909155505060035461123c9073ffffffffffffffffffffffffffffffffffffffff1688836116f2565b6003546040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606092831b811660208301529189901b90911660348201526048810182905273ffffffffffffffffffffffffffffffffffffffff8816907f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d390606801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526112f791611b11565b60405180910390a25060019695505050505050565b6002611317816115a3565b838214611350576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109fb576113a286868381811061136f5761136f611cb2565b90506020020160208101906113849190611979565b85858481811061139657611396611cb2565b90506020020135611597565b600101611352565b5f6113b86002546005541090565b949350505050565b60026113cb816115a3565b838214611404576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848110156109fb5761145686868381811061142357611423611cb2565b90506020020160208101906114389190611979565b85858481811061144a5761144a611cb2565b90506020020135611572565b600101611406565b61146661157d565b63389a75e1600c52805f526020600c20805442111561148c57636f5e88185f526004601cfd5b5f90556107e781611745565b6114a061157d565b8060601b6114b557637448fbae5f526004601cfd5b6107e781611745565b5f8173ffffffffffffffffffffffffffffffffffffffff166114e3638b78c6d8195490565b73ffffffffffffffffffffffffffffffffffffffff1614806107d75750638b78c6d8600c9081525f839052602090205460031615156107d7565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f903181110000000000000000000000000000000000000000000000000000000014806107d757506107d78261178f565b6107fc82825f6117e4565b638b78c6d819543314610ff3576382b429005f526004601cfd5b6107fc828260016117e4565b638b78c6d8195433146107e757638b78c6d8600c52335f52806020600c2054166107e7576382b429005f526004601cfd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f51141661162857803d873b15171061162857637939f4245f526004601cfd5b505f60605260405250505050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b73ffffffffffffffffffffffffffffffffffffffff16638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b638b78c6d8600c52815f52806020600c205580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a35050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661173b57803d853b15171061173b576390b8ec185f526004601cfd5b505f603452505050565b638b78c6d819805473ffffffffffffffffffffffffffffffffffffffff9092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fa92167050000000000000000000000000000000000000000000000000000000014806107d757506107d78261183b565b638b78c6d8600c52825f526020600c20805483811783611805575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f6ab67a0d0000000000000000000000000000000000000000000000000000000014806107d757507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146107d7565b5f602082840312156118e1575f80fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611910575f80fd5b9392505050565b5f60208284031215611927575f80fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff811681146107e7575f80fd5b5f8060408385031215611960575f80fd5b823561196b8161192e565b946020939093013593505050565b5f60208284031215611989575f80fd5b81356119108161192e565b5f8083601f8401126119a4575f80fd5b50813567ffffffffffffffff8111156119bb575f80fd5b6020830191508360208260051b85010111156119d5575f80fd5b9250929050565b5f805f80604085870312156119ef575f80fd5b843567ffffffffffffffff811115611a05575f80fd5b611a1187828801611994565b909550935050602085013567ffffffffffffffff811115611a30575f80fd5b611a3c87828801611994565b95989497509550505050565b5f8083601f840112611a58575f80fd5b50813567ffffffffffffffff811115611a6f575f80fd5b6020830191508360208285010111156119d5575f80fd5b5f8060208385031215611a97575f80fd5b823567ffffffffffffffff811115611aad575f80fd5b611ab985828601611a48565b90969095509350505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6119106020830184611ac5565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600281106107e7576107e7611b23565b60a08101611b6d87611b50565b86825285602083015260ff8516604083015273ffffffffffffffffffffffffffffffffffffffff84166060830152611ba483611b50565b8260808301529695505050505050565b8051611bbf81611b50565b808352506020810151602083015260ff604082015116604083015273ffffffffffffffffffffffffffffffffffffffff60608201511660608301526080810151611c0881611b50565b806080840152505050565b60a081016107d78284611bb4565b5f805f60408486031215611c33575f80fd5b8335611c3e8161192e565b9250602084013567ffffffffffffffff811115611c59575f80fd5b611c6586828701611a48565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156107d7576107d7611c72565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215611cef575f80fd5b81358015158114611910575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405160a0810167ffffffffffffffff81118282101715611d4e57611d4e611cfe565b60405290565b6040805190810167ffffffffffffffff81118282101715611d4e57611d4e611cfe565b600281106107e7575f80fd5b8035611d8e81611d77565b919050565b5f81830361012081128015611da6575f80fd5b50611daf611d2b565b8335611dba8161192e565b815260208481013590820152604080850135908201526060808501359082015260a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8083011215611e09575f80fd5b611e11611d2b565b91506080840135611e2181611d77565b825260a0840135602083015260c084013560ff81168114611e40575f80fd5b604083015260e0840135611e538161192e565b6060830152611e656101008501611d83565b6080830152816080820152809250505092915050565b84815260208101849052604081018390526101008101611e9e6060830184611bb4565b95945050505050565b5f82601f830112611eb6575f80fd5b813567ffffffffffffffff811115611ed057611ed0611cfe565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810167ffffffffffffffff81118282101715611f1d57611f1d611cfe565b604052818152838201602001851015611f34575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60208284031215611f60575f80fd5b813567ffffffffffffffff811115611f76575f80fd5b820160408185031215611f87575f80fd5b611f8f611d54565b8135611f9a8161192e565b8152602082013567ffffffffffffffff811115611fb5575f80fd5b611fc186828501611ea7565b602083015250949350505050565b5f60208284031215611fdf575f80fd5b5051919050565b818103818111156107d7576107d7611c72565b5f805f6060848603121561200b575f80fd5b83356120168161192e565b95602085013595506040909401359392505050565b602081525f82516003811061204257612042611b23565b8060208401525073ffffffffffffffffffffffffffffffffffffffff602084015116604083015273ffffffffffffffffffffffffffffffffffffffff604084015116606083015260608301516080808401526113b860a0840182611ac5565b5f602082840312156120b1575f80fd5b813567ffffffffffffffff8111156120c7575f80fd5b8201604081850312156120d8575f80fd5b6120e0611d54565b813567ffffffffffffffff8111156120f6575f80fd5b61210286828501611ea7565b825250602082013567ffffffffffffffff811115611fb5575f80fd5b80820281158282048414176107d7576107d7611c72565b5f82612168577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056fea26469706673582212207116aaa186a239a48bef990e22553b4fb13a51ab4a37e95e74ae15e63a94b2e764736f6c634300081a0033",v=class v extends x.ERC20VariableIncentive{constructor(){super(...arguments),this.abi=l.m}async getIncentiveCriteria(d){try{return await l.IV(this._config,{...d,address:this.assertValidAddress()})}catch(c){throw new i.IncentiveCriteriaNotFoundError(c)}}async decodeClaimData(d){const c=n.decodeAbiParameters([{type:"tuple",name:"BoostClaimData",components:[{type:"bytes",name:"validatorData"},{type:"bytes",name:"incentiveData"}]}],d),r=n.decodeAbiParameters([{type:"uint256"}],c[0].incentiveData)[0];let e=r;const[u,f]=await Promise.all([this.reward(),this.getMaxReward()]);return u===0n||(e=u*r/n.parseEther("1"),f!==0n&&e>f&&(e=f)),e}async getMaxReward(d){return await l.AV(this._config,{...d,address:this.assertValidAddress()})}async getIncentiveScalar({chainId:d,hash:c,knownSignatures:r,logs:e},u){var I;const f=await this.getIncentiveCriteria(u);if(f.criteriaType===t.SignatureType.EVENT){const p=r[f.signature];if(f.fieldIndex===h.CheatCodes.GAS_REBATE_INCENTIVE){const b=await y.getTransactionReceipt(this._config,{chainId:d,hash:c});return b.gasUsed*b.effectiveGasPrice+(b.blobGasUsed??0n)*(b.blobGasPrice??0n)}if(e&&e.length>0)try{const b=e.filter(a=>a.topics&&a.topics[0]===f.signature).map(a=>t.decodeAndReorderLogArgs(p,a));if(b.length>0)for(const a of b){if(t.isCriteriaFieldIndexTuple(f.fieldIndex))return t.getScalarValueFromTuple(a.args,f.fieldIndex);const o=a.args?a.args[f.fieldIndex]:void 0;if(o!==void 0)return BigInt(o)}}catch(b){throw new i.DecodedArgsError(`An error occurred while extracting scalar from logs: ${b.message}`)}const s=(await y.getTransactionReceipt(this._config,{chainId:d,hash:c})).logs;if(s.length===0)throw new i.NoMatchingLogsError(`No logs found for event signature ${f.signature}`);try{const b=r[f.signature],a=n.parseEventLogs({abi:[b],logs:s});if(a==null||a.length===0)throw new i.NoMatchingLogsError(`No logs found for event signature ${f.signature}`);if(t.isCriteriaFieldIndexTuple(f.fieldIndex))return t.getScalarValueFromTuple((I=a[0])==null?void 0:I.args,f.fieldIndex);const o=a[0]&&a[0].args?a[0].args[f.fieldIndex]:void 0;if(o===void 0)throw new i.DecodedArgsError(`Decoded argument at index ${f.fieldIndex} is undefined`);return BigInt(o)}catch(b){throw new i.DecodedArgsError(`Failed to decode event log for signature ${f.signature}: ${b.message}`)}}else if(f.criteriaType===t.SignatureType.FUNC){const p=await y.getTransaction(this._config,{chainId:d,hash:c});try{const g=r[f.signature],s=n.decodeFunctionData({abi:[g],data:p.input});if(t.isCriteriaFieldIndexTuple(f.fieldIndex))return t.getScalarValueFromTuple(s.args,f.fieldIndex);const b=s.args[f.fieldIndex];if(b==null)throw new i.DecodedArgsError(`Decoded argument at index ${f.fieldIndex} is undefined`);return BigInt(b)}catch(g){throw new i.DecodedArgsError(`Failed to decode function data for signature ${f.signature}: ${g.message}`)}}else throw new i.InvalidCriteriaTypeError(`Invalid criteria type ${f.criteriaType}`)}buildParameters(d,c){const[r,e]=this.validateDeploymentConfig(d,c);return{abi:l.m,bytecode:E,args:[w(r)],...this.optionallyAttachAccount(e.account)}}};v.bases={31337:void 0,...T.ERC20VariableCriteriaIncentiveV2};let m=v;function A(){return{criteriaType:t.SignatureType.EVENT,signature:n.zeroHash,fieldIndex:h.CheatCodes.GAS_REBATE_INCENTIVE,targetContract:n.zeroAddress,valueType:t.ValueType.WAD}}function w({asset:C,reward:d,limit:c,maxReward:r=0n,criteria:e}){return n.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"},{type:"uint8",name:"valueType"}]}]}],[{asset:C,reward:d,limit:c,maxReward:r,criteria:{criteriaType:e.criteriaType,signature:e.signature,fieldIndex:e.fieldIndex,targetContract:e.targetContract,valueType:e.valueType}}])}exports.erc20VariableCriteriaIncentiveV2Abi=l.m;exports.ERC20VariableCriteriaIncentiveV2=m;exports.gasRebateIncentiveCriteriaV2=A;exports.prepareERC20VariableCriteriaIncentiveV2Payload=w;
2
2
  //# sourceMappingURL=ERC20VariableCriteriaIncentiveV2.cjs.map