@boostxyz/sdk 0.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +7 -0
  3. package/dist/Actions/Action.cjs +1 -0
  4. package/dist/Actions/Action.d.ts +31 -0
  5. package/dist/Actions/Action.d.ts.map +1 -0
  6. package/dist/Actions/Action.js +27 -0
  7. package/dist/Actions/ContractAction.d.ts +327 -0
  8. package/dist/Actions/ContractAction.d.ts.map +1 -0
  9. package/dist/Actions/ERC721MintAction.d.ts +486 -0
  10. package/dist/Actions/ERC721MintAction.d.ts.map +1 -0
  11. package/dist/Actions/EventAction.cjs +1 -0
  12. package/dist/Actions/EventAction.d.ts +433 -0
  13. package/dist/Actions/EventAction.d.ts.map +1 -0
  14. package/dist/Actions/EventAction.js +211 -0
  15. package/dist/AllowLists/AllowList.cjs +1 -0
  16. package/dist/AllowLists/AllowList.d.ts +33 -0
  17. package/dist/AllowLists/AllowList.d.ts.map +1 -0
  18. package/dist/AllowLists/AllowList.js +28 -0
  19. package/dist/AllowLists/SimpleAllowList.cjs +1 -0
  20. package/dist/AllowLists/SimpleAllowList.d.ts +452 -0
  21. package/dist/AllowLists/SimpleAllowList.d.ts.map +1 -0
  22. package/dist/AllowLists/SimpleAllowList.js +138 -0
  23. package/dist/AllowLists/SimpleDenyList.cjs +1 -0
  24. package/dist/AllowLists/SimpleDenyList.d.ts +306 -0
  25. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -0
  26. package/dist/AllowLists/SimpleDenyList.js +202 -0
  27. package/dist/Auth/Auth.cjs +1 -0
  28. package/dist/Auth/Auth.d.ts +10 -0
  29. package/dist/Auth/Auth.d.ts.map +1 -0
  30. package/dist/Auth/Auth.js +4 -0
  31. package/dist/Auth/PassthroughAuth.cjs +1 -0
  32. package/dist/Auth/PassthroughAuth.d.ts +51 -0
  33. package/dist/Auth/PassthroughAuth.d.ts.map +1 -0
  34. package/dist/Auth/PassthroughAuth.js +38 -0
  35. package/dist/Boost.cjs +1 -0
  36. package/dist/Boost.d.ts +142 -0
  37. package/dist/Boost.d.ts.map +1 -0
  38. package/dist/Boost.js +15 -0
  39. package/dist/BoostCore.cjs +2 -0
  40. package/dist/BoostCore.d.ts +460 -0
  41. package/dist/BoostCore.d.ts.map +1 -0
  42. package/dist/BoostCore.js +1105 -0
  43. package/dist/BoostRegistry.cjs +1 -0
  44. package/dist/BoostRegistry.d.ts +229 -0
  45. package/dist/BoostRegistry.d.ts.map +1 -0
  46. package/dist/BoostRegistry.js +250 -0
  47. package/dist/Budgets/Budget.cjs +1 -0
  48. package/dist/Budgets/Budget.d.ts +31 -0
  49. package/dist/Budgets/Budget.d.ts.map +1 -0
  50. package/dist/Budgets/Budget.js +27 -0
  51. package/dist/Budgets/ManagedBudget.cjs +1 -0
  52. package/dist/Budgets/ManagedBudget.d.ts +1065 -0
  53. package/dist/Budgets/ManagedBudget.d.ts.map +1 -0
  54. package/dist/Budgets/ManagedBudget.js +498 -0
  55. package/dist/Budgets/SimpleBudget.d.ts +793 -0
  56. package/dist/Budgets/SimpleBudget.d.ts.map +1 -0
  57. package/dist/Budgets/VestingBudget.d.ts +726 -0
  58. package/dist/Budgets/VestingBudget.d.ts.map +1 -0
  59. package/dist/Deployable/Contract.cjs +1 -0
  60. package/dist/Deployable/Contract.d.ts +125 -0
  61. package/dist/Deployable/Contract.d.ts.map +1 -0
  62. package/dist/Deployable/Contract.js +149 -0
  63. package/dist/Deployable/Deployable.cjs +1 -0
  64. package/dist/Deployable/Deployable.d.ts +155 -0
  65. package/dist/Deployable/Deployable.d.ts.map +1 -0
  66. package/dist/Deployable/Deployable.js +124 -0
  67. package/dist/Deployable/DeployableTarget.cjs +1 -0
  68. package/dist/Deployable/DeployableTarget.d.ts +115 -0
  69. package/dist/Deployable/DeployableTarget.d.ts.map +1 -0
  70. package/dist/Deployable/DeployableTarget.js +128 -0
  71. package/dist/Incentives/AllowListIncentive.cjs +1 -0
  72. package/dist/Incentives/AllowListIncentive.d.ts +483 -0
  73. package/dist/Incentives/AllowListIncentive.d.ts.map +1 -0
  74. package/dist/Incentives/AllowListIncentive.js +188 -0
  75. package/dist/Incentives/CGDAIncentive.cjs +1 -0
  76. package/dist/Incentives/CGDAIncentive.d.ts +560 -0
  77. package/dist/Incentives/CGDAIncentive.d.ts.map +1 -0
  78. package/dist/Incentives/CGDAIncentive.js +249 -0
  79. package/dist/Incentives/ERC1155Incentive.d.ts +652 -0
  80. package/dist/Incentives/ERC1155Incentive.d.ts.map +1 -0
  81. package/dist/Incentives/ERC20Incentive.cjs +1 -0
  82. package/dist/Incentives/ERC20Incentive.d.ts +622 -0
  83. package/dist/Incentives/ERC20Incentive.d.ts.map +1 -0
  84. package/dist/Incentives/ERC20Incentive.js +292 -0
  85. package/dist/Incentives/ERC20VariableIncentive.d.ts +545 -0
  86. package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -0
  87. package/dist/Incentives/Incentive.cjs +1 -0
  88. package/dist/Incentives/Incentive.d.ts +39 -0
  89. package/dist/Incentives/Incentive.d.ts.map +1 -0
  90. package/dist/Incentives/Incentive.js +280 -0
  91. package/dist/Incentives/PointsIncentive.cjs +1 -0
  92. package/dist/Incentives/PointsIncentive.d.ts +615 -0
  93. package/dist/Incentives/PointsIncentive.d.ts.map +1 -0
  94. package/dist/Incentives/PointsIncentive.js +197 -0
  95. package/dist/Validators/SignerValidator.cjs +1 -0
  96. package/dist/Validators/SignerValidator.d.ts +452 -0
  97. package/dist/Validators/SignerValidator.d.ts.map +1 -0
  98. package/dist/Validators/SignerValidator.js +167 -0
  99. package/dist/Validators/Validator.cjs +1 -0
  100. package/dist/Validators/Validator.d.ts +31 -0
  101. package/dist/Validators/Validator.d.ts.map +1 -0
  102. package/dist/Validators/Validator.js +25 -0
  103. package/dist/errors.cjs +1 -0
  104. package/dist/errors.d.ts +257 -0
  105. package/dist/errors.d.ts.map +1 -0
  106. package/dist/errors.js +161 -0
  107. package/dist/generated-BaaleHW-.cjs +2 -0
  108. package/dist/generated-x_abr3Yv.js +6228 -0
  109. package/dist/index.cjs +1 -0
  110. package/dist/index.d.ts +29 -0
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +1355 -0
  113. package/dist/utils.cjs +1 -0
  114. package/dist/utils.d.ts +1454 -0
  115. package/dist/utils.d.ts.map +1 -0
  116. package/dist/utils.js +643 -0
  117. package/package.json +197 -0
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("../generated-BaaleHW-.cjs"),i=require("../Deployable/DeployableTarget.cjs"),c=require("../utils.cjs"),n="0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b612273806100bd5f395ff3fe60806040526004361061013f575f3560e01c8063715018a6116100b5578063c884ef831161006e578063c884ef83146103f1578063db09da121461042d578063dcc59b6f14610469578063f04e283e14610493578063f2fde38b146104af578063fee81cf4146104cb5761013f565b8063715018a6146102f15780638da5cb5b146102fb578063a4d66daf14610325578063a8c62e761461034f578063b30906d414610379578063bb1757cf146103b55761013f565b806328d6183b1161010757806328d6183b146101f357806338d52e0f1461021d578063439fab9114610247578063474f5a441461026f5780634e7165a2146102ab57806354d1f13d146102e75761013f565b806301ffc9a71461014357806307621eca1461017f5780632275aea9146101a9578063228cb733146101bf57806325692962146101e9575b5f80fd5b34801561014e575f80fd5b50610169600480360381019061016491906116eb565b610507565b6040516101769190611730565b60405180910390f35b34801561018a575f80fd5b50610193610580565b6040516101a09190611761565b60405180910390f35b3480156101b4575f80fd5b506101bd610589565b005b3480156101ca575f80fd5b506101d3610756565b6040516101e09190611761565b60405180910390f35b6101f161075c565b005b3480156101fe575f80fd5b506102076107ad565b6040516102149190611789565b60405180910390f35b348015610228575f80fd5b506102316107d4565b60405161023e91906117e1565b60405180910390f35b348015610252575f80fd5b5061026d6004803603810190610268919061185b565b6107f9565b005b34801561027a575f80fd5b506102956004803603810190610290919061185b565b610a2c565b6040516102a29190611730565b60405180910390f35b3480156102b6575f80fd5b506102d160048036038101906102cc919061185b565b610ca7565b6040516102de9190611916565b60405180910390f35b6102ef610dc5565b005b6102f9610dfe565b005b348015610306575f80fd5b5061030f610e11565b60405161031c91906117e1565b60405180910390f35b348015610330575f80fd5b50610339610e39565b6040516103469190611761565b60405180910390f35b34801561035a575f80fd5b50610363610e3f565b60405161037091906119a9565b60405180910390f35b348015610384575f80fd5b5061039f600480360381019061039a91906119ec565b610e52565b6040516103ac91906117e1565b60405180910390f35b3480156103c0575f80fd5b506103db60048036038101906103d69190611a41565b610e8d565b6040516103e89190611730565b60405180910390f35b3480156103fc575f80fd5b5061041760048036038101906104129190611a9e565b61117f565b6040516104249190611730565b60405180910390f35b348015610438575f80fd5b50610453600480360381019061044e9190611a41565b61119c565b6040516104609190611730565b60405180910390f35b348015610474575f80fd5b5061047d6111af565b60405161048a9190611761565b60405180910390f35b6104ad60048036038101906104a89190611a9e565b6111b4565b005b6104c960048036038101906104c49190611a9e565b6111f2565b005b3480156104d6575f80fd5b506104f160048036038101906104ec9190611a9e565b61121b565b6040516104fe9190611761565b60405180910390f35b5f7f8c901437000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610579575061057882611234565b5b9050919050565b5f600154905090565b6105916112ad565b6001808111156105a4576105a3611936565b5b600360149054906101000a900460ff1660018111156105c6576105c5611936565b5b146105fd576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f604051806020016040528042446106159190611af6565b81525090505f6005808054905061062b846112e4565b6106359190611b56565b8154811061064657610645611b86565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506106be8160015460035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112f39092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168360015460405160200161072e93929190611c18565b60405160208183030381529060405260405161074a9190611916565b60405180910390a25050565b60015481565b5f61076561133c565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f8c90143700000000000000000000000000000000000000000000000000000000905090565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610802611346565b905080546003825580156108345760018160011c14303b1061082b5763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f83838101906108459190611d6c565b90505f8160400151148061085c57505f8160600151145b15610893576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6001808111156108a7576108a6611936565b5b826020015160018111156108be576108bd611936565b5b036108cd5781604001516108e2565b816060015182604001516108e19190611d97565b5b90505f61091130845f015173ffffffffffffffffffffffffffffffffffffffff1661136f90919063ffffffff16565b90508181101561095f57825f015181836040517f5c54305e00000000000000000000000000000000000000000000000000000000815260040161095693929190611dd8565b60405180910390fd5b825f015160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260200151600360146101000a81548160ff021916908360018111156109cb576109ca611936565b5b0217905550826040015160018190555082606001516004819055506109ef336113a2565b5050508015610a27576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f610a356112ad565b5f8383810190610a459190611f26565b90505f8160200151806020019051810190610a609190611f81565b9050600180811115610a7557610a74611936565b5b600360149054906101000a900460ff166001811115610a9757610a96611936565b5b03610b1c5760015481141580610aad57505f8054115b15610b10573382604051602001610ac4919061203d565b6040516020818303038152906040526040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610b0792919061205d565b60405180910390fd5b5f600481905550610bb4565b5f60015482610b2b9190611b56565b14610b8e573382604051602001610b42919061203d565b6040516020818303038152906040526040517f4139d81d000000000000000000000000000000000000000000000000000000008152600401610b8592919061205d565b60405180910390fd5b60015481610b9c919061208b565b60045f828254610bac91906120bb565b925050819055505b610c03825f01518260035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112f39092919063ffffffff16565b815f015173ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16845f015184604051602001610c7793929190611c18565b604051602081830303815290604052604051610c939190611916565b60405180910390a260019250505092915050565b60605f8383810190610cb99190611d6c565b90505f600180811115610ccf57610cce611936565b5b82602001516001811115610ce657610ce5611936565b5b03610cf5578160400151610d0a565b81606001518260400151610d099190611d97565b5b9050604051806080016040528060016002811115610d2b57610d2a611936565b5b8152602001835f015173ffffffffffffffffffffffffffffffffffffffff1681526020013073ffffffffffffffffffffffffffffffffffffffff168152602001604051806020016040528084815250604051602001610d8a9190612117565b604051602081830303815290604052815250604051602001610dac91906121d6565b6040516020818303038152906040529250505092915050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b610e066112ad565b610e0f5f611478565b565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b60045481565b600360149054906101000a900460ff1681565b60058181548110610e61575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610e966112ad565b610e9f8461153e565b610ed5576040517f6247a84e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6001811115610ee857610ee7611936565b5b600360149054906101000a900460ff166001811115610f0a57610f09611936565b5b03611065575f80815480929190610f20906121f6565b9190505550600160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550610fc88460015460035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112f39092919063ffffffff16565b8373ffffffffffffffffffffffffffffffffffffffff167f9ad2e7a4af16dceda9cce4274b2f59c328d8c012eb0e15eb5e1e73b7d8f264d360035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168660015460405160200161103893929190611c18565b6040516020818303038152906040526040516110549190611916565b60405180910390a260019050611178565b5f80815480929190611076906121f6565b9190505550600160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600584908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff167ff0abe0f5c6f02112a9a4332e7b091bf49040ffddeedb73785a9b9a0a3ca7f15360405160405180910390a2600190505b9392505050565b6002602052805f5260405f205f915054906101000a900460ff1681565b5f6111a68461153e565b90509392505050565b5f5481565b6111bc6112ad565b63389a75e1600c52805f526020600c2080544211156111e257636f5e88185f526004601cfd5b5f8155506111ef81611478565b50565b6111fa6112ad565b8060601b61120f57637448fbae5f526004601cfd5b61121881611478565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7f5970a689000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806112a657506112a58261159f565b5b9050919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739275433146112e2576382b429005f526004601cfd5b565b5f602082209050808252919050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af13d1560015f51141716611333576390b8ec185f526004601cfd5b5f603452505050565b5f6202a300905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b6113aa611618565b15611422577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278054156113e457630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a350611475565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b611480611618565b156114e5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b821781555061153b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561159857506004545f54105b9050919050565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061161157506116108261161c565b5b9050919050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6116ca81611696565b81146116d4575f80fd5b50565b5f813590506116e5816116c1565b92915050565b5f60208284031215611700576116ff61168e565b5b5f61170d848285016116d7565b91505092915050565b5f8115159050919050565b61172a81611716565b82525050565b5f6020820190506117435f830184611721565b92915050565b5f819050919050565b61175b81611749565b82525050565b5f6020820190506117745f830184611752565b92915050565b61178381611696565b82525050565b5f60208201905061179c5f83018461177a565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6117cb826117a2565b9050919050565b6117db816117c1565b82525050565b5f6020820190506117f45f8301846117d2565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261181b5761181a6117fa565b5b8235905067ffffffffffffffff811115611838576118376117fe565b5b60208301915083600182028301111561185457611853611802565b5b9250929050565b5f80602083850312156118715761187061168e565b5b5f83013567ffffffffffffffff81111561188e5761188d611692565b5b61189a85828601611806565b92509250509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6118e8826118a6565b6118f281856118b0565b93506119028185602086016118c0565b61190b816118ce565b840191505092915050565b5f6020820190508181035f83015261192e81846118de565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6002811061197457611973611936565b5b50565b5f81905061198482611963565b919050565b5f61199382611977565b9050919050565b6119a381611989565b82525050565b5f6020820190506119bc5f83018461199a565b92915050565b6119cb81611749565b81146119d5575f80fd5b50565b5f813590506119e6816119c2565b92915050565b5f60208284031215611a0157611a0061168e565b5b5f611a0e848285016119d8565b91505092915050565b611a20816117c1565b8114611a2a575f80fd5b50565b5f81359050611a3b81611a17565b92915050565b5f805f60408486031215611a5857611a5761168e565b5b5f611a6586828701611a2d565b935050602084013567ffffffffffffffff811115611a8657611a85611692565b5b611a9286828701611806565b92509250509250925092565b5f60208284031215611ab357611ab261168e565b5b5f611ac084828501611a2d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611b0082611749565b9150611b0b83611749565b9250828201905080821115611b2357611b22611ac9565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611b6082611749565b9150611b6b83611749565b925082611b7b57611b7a611b29565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8160601b9050919050565b5f611bc982611bb3565b9050919050565b5f611bda82611bbf565b9050919050565b611bf2611bed826117c1565b611bd0565b82525050565b5f819050919050565b611c12611c0d82611749565b611bf8565b82525050565b5f611c238286611be1565b601482019150611c338285611be1565b601482019150611c438284611c01565b602082019150819050949350505050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611c8e826118ce565b810181811067ffffffffffffffff82111715611cad57611cac611c58565b5b80604052505050565b5f611cbf611685565b9050611ccb8282611c85565b919050565b5f80fd5b60028110611ce0575f80fd5b50565b5f81359050611cf181611cd4565b92915050565b5f60808284031215611d0c57611d0b611c54565b5b611d166080611cb6565b90505f611d2584828501611a2d565b5f830152506020611d3884828501611ce3565b6020830152506040611d4c848285016119d8565b6040830152506060611d60848285016119d8565b60608301525092915050565b5f60808284031215611d8157611d8061168e565b5b5f611d8e84828501611cf7565b91505092915050565b5f611da182611749565b9150611dac83611749565b9250828202611dba81611749565b91508282048414831517611dd157611dd0611ac9565b5b5092915050565b5f606082019050611deb5f8301866117d2565b611df86020830185611752565b611e056040830184611752565b949350505050565b5f80fd5b5f67ffffffffffffffff821115611e2b57611e2a611c58565b5b611e34826118ce565b9050602081019050919050565b828183375f83830152505050565b5f611e61611e5c84611e11565b611cb6565b905082815260208101848484011115611e7d57611e7c611e0d565b5b611e88848285611e41565b509392505050565b5f82601f830112611ea457611ea36117fa565b5b8135611eb4848260208601611e4f565b91505092915050565b5f60408284031215611ed257611ed1611c54565b5b611edc6040611cb6565b90505f611eeb84828501611a2d565b5f83015250602082013567ffffffffffffffff811115611f0e57611f0d611cd0565b5b611f1a84828501611e90565b60208301525092915050565b5f60208284031215611f3b57611f3a61168e565b5b5f82013567ffffffffffffffff811115611f5857611f57611692565b5b611f6484828501611ebd565b91505092915050565b5f81519050611f7b816119c2565b92915050565b5f60208284031215611f9657611f9561168e565b5b5f611fa384828501611f6d565b91505092915050565b611fb5816117c1565b82525050565b5f82825260208201905092915050565b5f611fd5826118a6565b611fdf8185611fbb565b9350611fef8185602086016118c0565b611ff8816118ce565b840191505092915050565b5f604083015f8301516120185f860182611fac565b50602083015184820360208601526120308282611fcb565b9150508091505092915050565b5f6020820190508181035f8301526120558184612003565b905092915050565b5f6040820190506120705f8301856117d2565b818103602083015261208281846118de565b90509392505050565b5f61209582611749565b91506120a083611749565b9250826120b0576120af611b29565b5b828204905092915050565b5f6120c582611749565b91506120d083611749565b92508282039050818111156120e8576120e7611ac9565b5b92915050565b6120f781611749565b82525050565b602082015f8201516121115f8501826120ee565b50505050565b5f60208201905061212a5f8301846120fd565b92915050565b6003811061214157612140611936565b5b50565b5f81905061215182612130565b919050565b5f61216082612144565b9050919050565b61217081612156565b82525050565b5f608083015f83015161218b5f860182612167565b50602083015161219e6020860182611fac565b5060408301516121b16040860182611fac565b50606083015184820360608601526121c98282611fcb565b9150508091505092915050565b5f6020820190508181035f8301526121ee8184612176565b905092915050565b5f61220082611749565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361223257612231611ac9565b5b60018201905091905056fea264697066735822122035b61f4ea2c3b5fd5c3fe652b3fb2ea41d8542dbc6f57a84f75789864bfe9fc564736f6c634300081a0033",s=class s extends i.DeployableTarget{constructor(){super(...arguments),this.abi=b.f}async owner(f){return b.wm(this._config,{address:this.assertValidAddress(),args:[],...f})}async currentReward(f){return b.cm(this._config,{address:this.assertValidAddress(),args:[],...f})}async claims(f){return b.dm(this._config,{address:this.assertValidAddress(),args:[],...f})}async claimed(f,a){return b.ym(this._config,{address:this.assertValidAddress(),args:[f],...a})}async asset(f){return b.lm(this._config,{address:this.assertValidAddress(),...f})}async strategy(f){return b.Nm(this._config,{address:this.assertValidAddress(),...f})}async reward(f){return b.Am(this._config,{address:this.assertValidAddress(),...f})}async limit(f){return b.vm(this._config,{address:this.assertValidAddress(),...f})}async entries(f,a){return b.mm(this._config,{address:this.assertValidAddress(),args:[f],...a})}async claim(f,a){return this.awaitResult(this.claimRaw(f,a))}async claimRaw(f,a){const{request:e,result:d}=await b._m(this._config,{address:this.assertValidAddress(),args:[c.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...a});return{hash:await b.Om(this._config,e),result:d}}async clawback(f,a){return this.awaitResult(this.clawbackRaw(f,a))}async clawbackRaw(f,a){const{request:e,result:d}=await b.Fm(this._config,{address:this.assertValidAddress(),args:[c.prepareClaimPayload(f)],...this.optionallyAttachAccount(),...a});return{hash:await b.Cm(this._config,e),result:d}}async isClaimable(f,a){return b.fm(this._config,{address:this.assertValidAddress(),args:[c.prepareClaimPayload(f)],...a})}async drawRaffle(f){return this.awaitResult(this.drawRaffleRaw(f))}async drawRaffleRaw(f){const{request:a,result:e}=await b.km(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...f});return{hash:await b.Rm(this._config,a),result:e}}buildParameters(f,a){const[e,d]=this.validateDeploymentConfig(f,a);return{abi:b.f,bytecode:n,args:[c.prepareERC20IncentivePayload(e)],...this.optionallyAttachAccount(d.account)}}};s.base="0xDCfbb7767B281Fd2d39fc7c39A9f89dC61E81f0d",s.registryType=c.RegistryType.INCENTIVE;let t=s;exports.erc20IncentiveAbi=b.f;exports.ERC20Incentive=t;
@@ -0,0 +1,622 @@
1
+ import { erc20IncentiveAbi } from '@boostxyz/evm';
2
+ import type { Address, ContractEventName } from 'viem';
3
+ import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
4
+ import { DeployableTarget } from '../Deployable/DeployableTarget';
5
+ import { type ClaimPayload, type ERC20IncentivePayload, type GenericLog, type ReadParams, RegistryType, type StrategyType, type WriteParams } from '../utils';
6
+ export { erc20IncentiveAbi };
7
+ export type { ERC20IncentivePayload };
8
+ /**
9
+ * A generic `viem.Log` event with support for `ERC20Incentive` event types.
10
+ *
11
+ * @export
12
+ * @typedef {ERC20IncentiveLog}
13
+ * @template {ContractEventName<typeof erc20IncentiveAbi>} [event=ContractEventName<
14
+ * typeof erc20IncentiveAbi
15
+ * >]
16
+ */
17
+ export type ERC20IncentiveLog<event extends ContractEventName<typeof erc20IncentiveAbi> = ContractEventName<typeof erc20IncentiveAbi>> = GenericLog<typeof erc20IncentiveAbi, event>;
18
+ /**
19
+ * A simple ERC20 incentive implementation that allows claiming of tokens
20
+ *
21
+ * @export
22
+ * @class ERC20Incentive
23
+ * @typedef {ERC20Incentive}
24
+ * @extends {DeployableTarget<ERC20IncentivePayload>}
25
+ */
26
+ export declare class ERC20Incentive extends DeployableTarget<ERC20IncentivePayload, typeof erc20IncentiveAbi> {
27
+ readonly abi: readonly [{
28
+ readonly type: "constructor";
29
+ readonly inputs: readonly [];
30
+ readonly stateMutability: "nonpayable";
31
+ }, {
32
+ readonly type: "error";
33
+ readonly inputs: readonly [];
34
+ readonly name: "AlreadyInitialized";
35
+ }, {
36
+ readonly type: "error";
37
+ readonly inputs: readonly [];
38
+ readonly name: "ClaimFailed";
39
+ }, {
40
+ readonly type: "error";
41
+ readonly inputs: readonly [{
42
+ readonly name: "caller";
43
+ readonly internalType: "address";
44
+ readonly type: "address";
45
+ }, {
46
+ readonly name: "data";
47
+ readonly internalType: "bytes";
48
+ readonly type: "bytes";
49
+ }];
50
+ readonly name: "ClaimFailed";
51
+ }, {
52
+ readonly type: "error";
53
+ readonly inputs: readonly [];
54
+ readonly name: "CloneAlreadyInitialized";
55
+ }, {
56
+ readonly type: "error";
57
+ readonly inputs: readonly [];
58
+ readonly name: "InitializerNotImplemented";
59
+ }, {
60
+ readonly type: "error";
61
+ readonly inputs: readonly [{
62
+ readonly name: "asset";
63
+ readonly internalType: "address";
64
+ readonly type: "address";
65
+ }, {
66
+ readonly name: "available";
67
+ readonly internalType: "uint256";
68
+ readonly type: "uint256";
69
+ }, {
70
+ readonly name: "required";
71
+ readonly internalType: "uint256";
72
+ readonly type: "uint256";
73
+ }];
74
+ readonly name: "InsufficientFunds";
75
+ }, {
76
+ readonly type: "error";
77
+ readonly inputs: readonly [];
78
+ readonly name: "InvalidInitialization";
79
+ }, {
80
+ readonly type: "error";
81
+ readonly inputs: readonly [];
82
+ readonly name: "InvalidInitialization";
83
+ }, {
84
+ readonly type: "error";
85
+ readonly inputs: readonly [];
86
+ readonly name: "InvalidInitializationData";
87
+ }, {
88
+ readonly type: "error";
89
+ readonly inputs: readonly [];
90
+ readonly name: "NewOwnerIsZeroAddress";
91
+ }, {
92
+ readonly type: "error";
93
+ readonly inputs: readonly [];
94
+ readonly name: "NoHandoverRequest";
95
+ }, {
96
+ readonly type: "error";
97
+ readonly inputs: readonly [];
98
+ readonly name: "NotClaimable";
99
+ }, {
100
+ readonly type: "error";
101
+ readonly inputs: readonly [];
102
+ readonly name: "NotInitializing";
103
+ }, {
104
+ readonly type: "error";
105
+ readonly inputs: readonly [];
106
+ readonly name: "Unauthorized";
107
+ }, {
108
+ readonly type: "error";
109
+ readonly inputs: readonly [];
110
+ readonly name: "Unauthorized";
111
+ }, {
112
+ readonly type: "event";
113
+ readonly anonymous: false;
114
+ readonly inputs: readonly [{
115
+ readonly name: "recipient";
116
+ readonly internalType: "address";
117
+ readonly type: "address";
118
+ readonly indexed: true;
119
+ }, {
120
+ readonly name: "data";
121
+ readonly internalType: "bytes";
122
+ readonly type: "bytes";
123
+ readonly indexed: false;
124
+ }];
125
+ readonly name: "Claimed";
126
+ }, {
127
+ readonly type: "event";
128
+ readonly anonymous: false;
129
+ readonly inputs: readonly [{
130
+ readonly name: "entry";
131
+ readonly internalType: "address";
132
+ readonly type: "address";
133
+ readonly indexed: true;
134
+ }];
135
+ readonly name: "Entry";
136
+ }, {
137
+ readonly type: "event";
138
+ readonly anonymous: false;
139
+ readonly inputs: readonly [{
140
+ readonly name: "version";
141
+ readonly internalType: "uint64";
142
+ readonly type: "uint64";
143
+ readonly indexed: false;
144
+ }];
145
+ readonly name: "Initialized";
146
+ }, {
147
+ readonly type: "event";
148
+ readonly anonymous: false;
149
+ readonly inputs: readonly [{
150
+ readonly name: "pendingOwner";
151
+ readonly internalType: "address";
152
+ readonly type: "address";
153
+ readonly indexed: true;
154
+ }];
155
+ readonly name: "OwnershipHandoverCanceled";
156
+ }, {
157
+ readonly type: "event";
158
+ readonly anonymous: false;
159
+ readonly inputs: readonly [{
160
+ readonly name: "pendingOwner";
161
+ readonly internalType: "address";
162
+ readonly type: "address";
163
+ readonly indexed: true;
164
+ }];
165
+ readonly name: "OwnershipHandoverRequested";
166
+ }, {
167
+ readonly type: "event";
168
+ readonly anonymous: false;
169
+ readonly inputs: readonly [{
170
+ readonly name: "oldOwner";
171
+ readonly internalType: "address";
172
+ readonly type: "address";
173
+ readonly indexed: true;
174
+ }, {
175
+ readonly name: "newOwner";
176
+ readonly internalType: "address";
177
+ readonly type: "address";
178
+ readonly indexed: true;
179
+ }];
180
+ readonly name: "OwnershipTransferred";
181
+ }, {
182
+ readonly type: "function";
183
+ readonly inputs: readonly [];
184
+ readonly name: "asset";
185
+ readonly outputs: readonly [{
186
+ readonly name: "";
187
+ readonly internalType: "address";
188
+ readonly type: "address";
189
+ }];
190
+ readonly stateMutability: "view";
191
+ }, {
192
+ readonly type: "function";
193
+ readonly inputs: readonly [];
194
+ readonly name: "cancelOwnershipHandover";
195
+ readonly outputs: readonly [];
196
+ readonly stateMutability: "payable";
197
+ }, {
198
+ readonly type: "function";
199
+ readonly inputs: readonly [{
200
+ readonly name: "claimTarget";
201
+ readonly internalType: "address";
202
+ readonly type: "address";
203
+ }, {
204
+ readonly name: "";
205
+ readonly internalType: "bytes";
206
+ readonly type: "bytes";
207
+ }];
208
+ readonly name: "claim";
209
+ readonly outputs: readonly [{
210
+ readonly name: "";
211
+ readonly internalType: "bool";
212
+ readonly type: "bool";
213
+ }];
214
+ readonly stateMutability: "nonpayable";
215
+ }, {
216
+ readonly type: "function";
217
+ readonly inputs: readonly [{
218
+ readonly name: "";
219
+ readonly internalType: "address";
220
+ readonly type: "address";
221
+ }];
222
+ readonly name: "claimed";
223
+ readonly outputs: readonly [{
224
+ readonly name: "";
225
+ readonly internalType: "bool";
226
+ readonly type: "bool";
227
+ }];
228
+ readonly stateMutability: "view";
229
+ }, {
230
+ readonly type: "function";
231
+ readonly inputs: readonly [];
232
+ readonly name: "claims";
233
+ readonly outputs: readonly [{
234
+ readonly name: "";
235
+ readonly internalType: "uint256";
236
+ readonly type: "uint256";
237
+ }];
238
+ readonly stateMutability: "view";
239
+ }, {
240
+ readonly type: "function";
241
+ readonly inputs: readonly [{
242
+ readonly name: "data_";
243
+ readonly internalType: "bytes";
244
+ readonly type: "bytes";
245
+ }];
246
+ readonly name: "clawback";
247
+ readonly outputs: readonly [{
248
+ readonly name: "";
249
+ readonly internalType: "bool";
250
+ readonly type: "bool";
251
+ }];
252
+ readonly stateMutability: "nonpayable";
253
+ }, {
254
+ readonly type: "function";
255
+ readonly inputs: readonly [{
256
+ readonly name: "pendingOwner";
257
+ readonly internalType: "address";
258
+ readonly type: "address";
259
+ }];
260
+ readonly name: "completeOwnershipHandover";
261
+ readonly outputs: readonly [];
262
+ readonly stateMutability: "payable";
263
+ }, {
264
+ readonly type: "function";
265
+ readonly inputs: readonly [];
266
+ readonly name: "currentReward";
267
+ readonly outputs: readonly [{
268
+ readonly name: "";
269
+ readonly internalType: "uint256";
270
+ readonly type: "uint256";
271
+ }];
272
+ readonly stateMutability: "view";
273
+ }, {
274
+ readonly type: "function";
275
+ readonly inputs: readonly [];
276
+ readonly name: "drawRaffle";
277
+ readonly outputs: readonly [];
278
+ readonly stateMutability: "nonpayable";
279
+ }, {
280
+ readonly type: "function";
281
+ readonly inputs: readonly [{
282
+ readonly name: "";
283
+ readonly internalType: "uint256";
284
+ readonly type: "uint256";
285
+ }];
286
+ readonly name: "entries";
287
+ readonly outputs: readonly [{
288
+ readonly name: "";
289
+ readonly internalType: "address";
290
+ readonly type: "address";
291
+ }];
292
+ readonly stateMutability: "view";
293
+ }, {
294
+ readonly type: "function";
295
+ readonly inputs: readonly [];
296
+ readonly name: "getComponentInterface";
297
+ readonly outputs: readonly [{
298
+ readonly name: "";
299
+ readonly internalType: "bytes4";
300
+ readonly type: "bytes4";
301
+ }];
302
+ readonly stateMutability: "pure";
303
+ }, {
304
+ readonly type: "function";
305
+ readonly inputs: readonly [{
306
+ readonly name: "data_";
307
+ readonly internalType: "bytes";
308
+ readonly type: "bytes";
309
+ }];
310
+ readonly name: "initialize";
311
+ readonly outputs: readonly [];
312
+ readonly stateMutability: "nonpayable";
313
+ }, {
314
+ readonly type: "function";
315
+ readonly inputs: readonly [{
316
+ readonly name: "claimTarget";
317
+ readonly internalType: "address";
318
+ readonly type: "address";
319
+ }, {
320
+ readonly name: "";
321
+ readonly internalType: "bytes";
322
+ readonly type: "bytes";
323
+ }];
324
+ readonly name: "isClaimable";
325
+ readonly outputs: readonly [{
326
+ readonly name: "";
327
+ readonly internalType: "bool";
328
+ readonly type: "bool";
329
+ }];
330
+ readonly stateMutability: "view";
331
+ }, {
332
+ readonly type: "function";
333
+ readonly inputs: readonly [];
334
+ readonly name: "limit";
335
+ readonly outputs: readonly [{
336
+ readonly name: "";
337
+ readonly internalType: "uint256";
338
+ readonly type: "uint256";
339
+ }];
340
+ readonly stateMutability: "view";
341
+ }, {
342
+ readonly type: "function";
343
+ readonly inputs: readonly [];
344
+ readonly name: "owner";
345
+ readonly outputs: readonly [{
346
+ readonly name: "result";
347
+ readonly internalType: "address";
348
+ readonly type: "address";
349
+ }];
350
+ readonly stateMutability: "view";
351
+ }, {
352
+ readonly type: "function";
353
+ readonly inputs: readonly [{
354
+ readonly name: "pendingOwner";
355
+ readonly internalType: "address";
356
+ readonly type: "address";
357
+ }];
358
+ readonly name: "ownershipHandoverExpiresAt";
359
+ readonly outputs: readonly [{
360
+ readonly name: "result";
361
+ readonly internalType: "uint256";
362
+ readonly type: "uint256";
363
+ }];
364
+ readonly stateMutability: "view";
365
+ }, {
366
+ readonly type: "function";
367
+ readonly inputs: readonly [{
368
+ readonly name: "data_";
369
+ readonly internalType: "bytes";
370
+ readonly type: "bytes";
371
+ }];
372
+ readonly name: "preflight";
373
+ readonly outputs: readonly [{
374
+ readonly name: "budgetData";
375
+ readonly internalType: "bytes";
376
+ readonly type: "bytes";
377
+ }];
378
+ readonly stateMutability: "view";
379
+ }, {
380
+ readonly type: "function";
381
+ readonly inputs: readonly [];
382
+ readonly name: "renounceOwnership";
383
+ readonly outputs: readonly [];
384
+ readonly stateMutability: "payable";
385
+ }, {
386
+ readonly type: "function";
387
+ readonly inputs: readonly [];
388
+ readonly name: "requestOwnershipHandover";
389
+ readonly outputs: readonly [];
390
+ readonly stateMutability: "payable";
391
+ }, {
392
+ readonly type: "function";
393
+ readonly inputs: readonly [];
394
+ readonly name: "reward";
395
+ readonly outputs: readonly [{
396
+ readonly name: "";
397
+ readonly internalType: "uint256";
398
+ readonly type: "uint256";
399
+ }];
400
+ readonly stateMutability: "view";
401
+ }, {
402
+ readonly type: "function";
403
+ readonly inputs: readonly [];
404
+ readonly name: "strategy";
405
+ readonly outputs: readonly [{
406
+ readonly name: "";
407
+ readonly internalType: "enum AERC20Incentive.Strategy";
408
+ readonly type: "uint8";
409
+ }];
410
+ readonly stateMutability: "view";
411
+ }, {
412
+ readonly type: "function";
413
+ readonly inputs: readonly [{
414
+ readonly name: "interfaceId";
415
+ readonly internalType: "bytes4";
416
+ readonly type: "bytes4";
417
+ }];
418
+ readonly name: "supportsInterface";
419
+ readonly outputs: readonly [{
420
+ readonly name: "";
421
+ readonly internalType: "bool";
422
+ readonly type: "bool";
423
+ }];
424
+ readonly stateMutability: "view";
425
+ }, {
426
+ readonly type: "function";
427
+ readonly inputs: readonly [{
428
+ readonly name: "newOwner";
429
+ readonly internalType: "address";
430
+ readonly type: "address";
431
+ }];
432
+ readonly name: "transferOwnership";
433
+ readonly outputs: readonly [];
434
+ readonly stateMutability: "payable";
435
+ }];
436
+ /**
437
+ * @inheritdoc
438
+ *
439
+ * @public
440
+ * @static
441
+ * @type {Address}
442
+ */
443
+ static base: Address;
444
+ /**
445
+ * @inheritdoc
446
+ *
447
+ * @public
448
+ * @static
449
+ * @type {RegistryType}
450
+ */
451
+ static registryType: RegistryType;
452
+ /**
453
+ * The owner of the incentive
454
+ *
455
+ * @public
456
+ * @async
457
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'owner'>} [params]
458
+ * @returns {unknown}
459
+ */
460
+ owner(params?: ReadParams<typeof erc20IncentiveAbi, 'owner'>): Promise<`0x${string}`>;
461
+ /**
462
+ * Calculates the current reward based on the time since the last claim. The reward is calculated based on the time since the last claim, the available budget, and the reward parameters. It increases linearly over time in the absence of claims, with each hour adding `rewardBoost` to the current reward, up to the available budget. For example, if there is one claim in the first hour, then no claims for three hours, the claimable reward would be `initialReward - rewardDecay + (rewardBoost * 3)`
463
+ *
464
+ * @public
465
+ * @async
466
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'currentReward'>} [params]
467
+ * @returns {Promise<bigint>} - The current reward
468
+ */
469
+ currentReward(params?: ReadParams<typeof erc20IncentiveAbi, 'currentReward'>): Promise<bigint>;
470
+ /**
471
+ * The number of claims that have been made
472
+ *
473
+ * @public
474
+ * @async
475
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'claims'>} [params]
476
+ * @returns {Promise<bigint>}
477
+ */
478
+ claims(params?: ReadParams<typeof erc20IncentiveAbi, 'claims'>): Promise<bigint>;
479
+ /**
480
+ * A mapping of address to claim status
481
+ *
482
+ * @public
483
+ * @async
484
+ * @param {Address} address
485
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'claimed'>} [params]
486
+ * @returns {Promise<boolean>}
487
+ */
488
+ claimed(address: Address, params?: ReadParams<typeof erc20IncentiveAbi, 'claimed'>): Promise<boolean>;
489
+ /**
490
+ * The address of the ERC20-like token
491
+ *
492
+ * @public
493
+ * @async
494
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'asset'>} [params]
495
+ * @returns {Promise<Address>}
496
+ */
497
+ asset(params?: ReadParams<typeof erc20IncentiveAbi, 'asset'>): Promise<`0x${string}`>;
498
+ /**
499
+ * The strategy for the incentive (MINT or POOL)
500
+ *
501
+ * @public
502
+ * @async
503
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'strategy'>} [params]
504
+ * @returns {Promise<StrategyType>}
505
+ */
506
+ strategy(params?: ReadParams<typeof erc20IncentiveAbi, 'strategy'>): Promise<StrategyType>;
507
+ /**
508
+ * The reward amount issued for each claim
509
+ *
510
+ * @public
511
+ * @async
512
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'reward'>} [params]
513
+ * @returns {Promise<bigint>}
514
+ */
515
+ reward(params?: ReadParams<typeof erc20IncentiveAbi, 'reward'>): Promise<bigint>;
516
+ /**
517
+ * The limit (max claims, or max entries for raffles)
518
+ *
519
+ * @public
520
+ * @async
521
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'limit'>} [params]
522
+ * @returns {unknown}
523
+ */
524
+ limit(params?: ReadParams<typeof erc20IncentiveAbi, 'limit'>): Promise<bigint>;
525
+ /**
526
+ * The set of addresses that have claimed a slot in the incentive raffle, accessed by bigint index.
527
+ *
528
+ * @public
529
+ * @async
530
+ * @param {bigint} i - Index of address
531
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'entries'>} [params]
532
+ * @returns {Promise<Address>}
533
+ */
534
+ entries(i: bigint, params?: ReadParams<typeof erc20IncentiveAbi, 'entries'>): Promise<`0x${string}`>;
535
+ /**
536
+ * Claim the incentive
537
+ *
538
+ * @public
539
+ * @async
540
+ * @param {ClaimPayload} payload
541
+ * @param {?WriteParams<typeof erc20IncentiveAbi, 'claim'>} [params]
542
+ * @returns {Promise<boolean>} - Returns true if successfully claimed
543
+ */
544
+ claim(payload: ClaimPayload, params?: WriteParams<typeof erc20IncentiveAbi, 'claim'>): Promise<boolean>;
545
+ /**
546
+ * Claim the incentive
547
+ *
548
+ * @public
549
+ * @async
550
+ * @param {ClaimPayload} payload
551
+ * @param {?WriteParams<typeof erc20IncentiveAbi, 'claim'>} [params]
552
+ * @returns {Promise<boolean>} - Returns true if successfully claimed
553
+ */
554
+ claimRaw(payload: ClaimPayload, params?: WriteParams<typeof erc20IncentiveAbi, 'claim'>): Promise<{
555
+ hash: `0x${string}`;
556
+ result: boolean;
557
+ }>;
558
+ /**
559
+ * Clawback assets from the incentive
560
+ *
561
+ * @public
562
+ * @async
563
+ * @param {ClaimPayload} payload
564
+ * @param {?WriteParams<typeof erc20IncentiveAbi, 'clawback'>} [params]
565
+ * @returns {Promise<boolean>} - True if the assets were successfully clawbacked
566
+ */
567
+ clawback(payload: ClaimPayload, params?: WriteParams<typeof erc20IncentiveAbi, 'clawback'>): Promise<boolean>;
568
+ /**
569
+ * Clawback assets from the incentive
570
+ *
571
+ * @public
572
+ * @async
573
+ * @param {ClaimPayload} payload
574
+ * @param {?WriteParams<typeof erc20IncentiveAbi, 'clawback'>} [params]
575
+ * @returns {Promise<boolean>} - True if the assets were successfully clawbacked
576
+ */
577
+ clawbackRaw(payload: ClaimPayload, params?: WriteParams<typeof erc20IncentiveAbi, 'clawback'>): Promise<{
578
+ hash: `0x${string}`;
579
+ result: boolean;
580
+ }>;
581
+ /**
582
+ * Check if an incentive is claimable. For the POOL strategy, the `bytes data` portion of the payload ignored. The recipient must not have already claimed the incentive.
583
+ *
584
+ * @public
585
+ * @async
586
+ * @param {ClaimPayload} payload
587
+ * @param {?ReadParams<typeof erc20IncentiveAbi, 'isClaimable'>} [params]
588
+ * @returns {unknown} = True if the incentive is claimable based on the data payload
589
+ */
590
+ isClaimable(payload: ClaimPayload, params?: ReadParams<typeof erc20IncentiveAbi, 'isClaimable'>): Promise<boolean>;
591
+ /**
592
+ * Draw a winner from the raffle. Only callable by owner. Only valid when the strategy is set to `Strategy.RAFFLE`
593
+ *
594
+ * @public
595
+ * @async
596
+ * @param {?WriteParams<typeof erc20IncentiveAbi, 'drawRaffle'>} [params]
597
+ * @returns {Promise<void>}
598
+ */
599
+ drawRaffle(params?: WriteParams<typeof erc20IncentiveAbi, 'drawRaffle'>): Promise<void>;
600
+ /**
601
+ * Draw a winner from the raffle. Only callable by owner. Only valid when the strategy is set to `Strategy.RAFFLE`
602
+ *
603
+ * @public
604
+ * @async
605
+ * @param {?WriteParams<typeof erc20IncentiveAbi, 'drawRaffle'>} [params]
606
+ * @returns {Promise<void>}
607
+ */
608
+ drawRaffleRaw(params?: WriteParams<typeof erc20IncentiveAbi, 'drawRaffle'>): Promise<{
609
+ hash: `0x${string}`;
610
+ result: void;
611
+ }>;
612
+ /**
613
+ * @inheritdoc
614
+ *
615
+ * @public
616
+ * @param {?ERC20IncentivePayload} [_payload]
617
+ * @param {?DeployableOptions} [_options]
618
+ * @returns {GenericDeployableParams}
619
+ */
620
+ buildParameters(_payload?: ERC20IncentivePayload, _options?: DeployableOptions): GenericDeployableParams;
621
+ }
622
+ //# sourceMappingURL=ERC20Incentive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ERC20Incentive.d.ts","sourceRoot":"","sources":["../../src/Incentives/ERC20Incentive.ts"],"names":[],"mappings":"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"}