@towns-protocol/generated 0.0.219 → 0.0.221

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 (72) hide show
  1. package/dev/abis/Architect.json +1 -0
  2. package/dev/abis/Channels.json +1 -0
  3. package/dev/abis/Diamond.json +1 -0
  4. package/dev/abis/DiamondCutFacet.json +1 -0
  5. package/dev/abis/DropFacet.json +1 -0
  6. package/dev/abis/ERC721A__IERC721ReceiverUpgradeable.json +1 -0
  7. package/dev/abis/EntitlementsManager.json +1 -0
  8. package/dev/abis/IBanning.json +1 -0
  9. package/dev/abis/IBanningBase.json +1 -0
  10. package/dev/abis/ICreateSpace.json +1 -0
  11. package/dev/abis/ICrossChainEntitlement.json +1 -0
  12. package/dev/abis/IERC5267.json +1 -0
  13. package/dev/abis/IERC721A.json +1 -0
  14. package/dev/abis/IERC721ABase.json +1 -0
  15. package/dev/abis/IERC721AQueryable.json +1 -0
  16. package/dev/abis/IEntitlementChecker.json +1 -0
  17. package/dev/abis/IEntitlementCheckerBase.json +1 -0
  18. package/dev/abis/IEntitlementDataQueryable.json +1 -0
  19. package/dev/abis/IEntitlementDataQueryableBase.json +1 -0
  20. package/dev/abis/IEntitlementGated.json +1 -0
  21. package/dev/abis/IEntitlementGatedBase.json +1 -0
  22. package/dev/abis/IMembershipMetadata.json +1 -0
  23. package/dev/abis/IMulticall.json +1 -0
  24. package/dev/abis/INodeOperator.json +1 -0
  25. package/dev/abis/INodeOperatorBase.json +1 -0
  26. package/dev/abis/IPausable.json +1 -0
  27. package/dev/abis/IPausableBase.json +1 -0
  28. package/dev/abis/IPricingModules.json +1 -0
  29. package/dev/abis/IPricingModulesBase.json +1 -0
  30. package/dev/abis/IReview.json +1 -0
  31. package/dev/abis/IReviewBase.json +1 -0
  32. package/dev/abis/IRuleEntitlement.json +1 -0
  33. package/dev/abis/IRuleEntitlementBase.json +1 -0
  34. package/dev/abis/IRuleEntitlementV2.json +1 -0
  35. package/dev/abis/ISpaceDelegation.json +1 -0
  36. package/dev/abis/ISpaceDelegationBase.json +1 -0
  37. package/dev/abis/ISwapFacet.json +1 -0
  38. package/dev/abis/ISwapFacetBase.json +1 -0
  39. package/dev/abis/ISwapRouter.json +1 -0
  40. package/dev/abis/ISwapRouterBase.json +1 -0
  41. package/dev/abis/ITipping.json +1 -0
  42. package/dev/abis/ITippingBase.json +1 -0
  43. package/dev/abis/ITownsPoints.json +1 -0
  44. package/dev/abis/ITownsPointsBase.json +1 -0
  45. package/dev/abis/ITreasury.json +1 -0
  46. package/dev/abis/Member.json +1 -0
  47. package/dev/abis/MembershipFacet.abi.json +13 -0
  48. package/dev/abis/MembershipFacet.abi.ts +13 -0
  49. package/dev/abis/MembershipFacet.json +1 -0
  50. package/dev/abis/MockCrossChainEntitlement.json +1 -0
  51. package/dev/abis/MockERC721A.json +1 -0
  52. package/dev/abis/MockEntitlementGated.json +1 -0
  53. package/dev/abis/MockLegacyArchitect.json +1 -0
  54. package/dev/abis/MockRiverRegistry.json +1 -0
  55. package/dev/abis/MockWalletLink.json +1 -0
  56. package/dev/abis/MockWalletLinkStorage.json +1 -0
  57. package/dev/abis/NodeRegistry.json +1 -0
  58. package/dev/abis/OperatorRegistry.json +1 -0
  59. package/dev/abis/OwnableFacet.json +1 -0
  60. package/dev/abis/PlatformRequirementsFacet.json +1 -0
  61. package/dev/abis/PrepayFacet.json +1 -0
  62. package/dev/abis/ProxyManager.json +1 -0
  63. package/dev/abis/Roles.json +1 -0
  64. package/dev/abis/SpaceOwner.json +1 -0
  65. package/dev/abis/StreamFlags.json +1 -0
  66. package/dev/abis/StreamRegistry.json +1 -0
  67. package/dev/abis/TokenPausableFacet.json +1 -0
  68. package/dev/abis/UserEntitlement.json +1 -0
  69. package/dev/abis/WalletLink.json +1 -0
  70. package/dev/typings/MembershipFacet.ts +35 -0
  71. package/dev/typings/factories/MembershipFacet__factory.ts +14 -1
  72. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"addSpaceDelegation","inputs":[{"name":"space","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getSpaceDelegation","inputs":[{"name":"space","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getSpaceDelegationsByOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"getSpaceFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getTotalDelegation","inputs":[{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mainnetDelegation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeSpaceDelegation","inputs":[{"name":"space","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"riverToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setMainnetDelegation","inputs":[{"name":"mainnetDelegation_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRiverToken","inputs":[{"name":"riverToken","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSpaceFactory","inputs":[{"name":"spaceFactory","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStakeRequirement","inputs":[{"name":"stakeRequirement_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stakeRequirement","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"MainnetDelegationChanged","inputs":[{"name":"mainnetDelegation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RiverTokenChanged","inputs":[{"name":"riverToken","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceDelegatedToOperator","inputs":[{"name":"space","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceFactoryChanged","inputs":[{"name":"spaceFactory","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakeRequirementChanged","inputs":[{"name":"stakeRequirement","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"SpaceDelegation__AlreadyDelegated","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"SpaceDelegation__AlreadyRegistered","inputs":[]},{"type":"error","name":"SpaceDelegation__InvalidAddress","inputs":[]},{"type":"error","name":"SpaceDelegation__InvalidOperator","inputs":[]},{"type":"error","name":"SpaceDelegation__InvalidSpace","inputs":[]},{"type":"error","name":"SpaceDelegation__InvalidStakeRequirement","inputs":[]},{"type":"error","name":"SpaceDelegation__InvalidStatusTransition","inputs":[]},{"type":"error","name":"SpaceDelegation__NotEnoughStake","inputs":[]},{"type":"error","name":"SpaceDelegation__NotRegistered","inputs":[]},{"type":"error","name":"SpaceDelegation__NotTransferable","inputs":[]},{"type":"error","name":"SpaceDelegation__StatusNotChanged","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addSpaceDelegation(address,address)":"af338e53","getSpaceDelegation(address)":"5fd864a6","getSpaceDelegationsByOperator(address)":"1e7f6864","getSpaceFactory()":"79dda585","getTotalDelegation(address)":"fc5e7e09","mainnetDelegation()":"624f03ea","removeSpaceDelegation(address)":"f04efb8e","riverToken()":"7beac451","setMainnetDelegation(address)":"16014886","setRiverToken(address)":"0d6f24c0","setSpaceFactory(address)":"da43f3d6","setStakeRequirement(uint256)":"4f09e304","stakeRequirement()":"b6f9bbb9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"SpaceDelegation__AlreadyDelegated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__AlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__InvalidOperator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__InvalidSpace\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__InvalidStakeRequirement\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__InvalidStatusTransition\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__NotEnoughStake\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__NotRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__NotTransferable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__StatusNotChanged\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"mainnetDelegation\",\"type\":\"address\"}],\"name\":\"MainnetDelegationChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"riverToken\",\"type\":\"address\"}],\"name\":\"RiverTokenChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"SpaceDelegatedToOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spaceFactory\",\"type\":\"address\"}],\"name\":\"SpaceFactoryChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"stakeRequirement\",\"type\":\"uint256\"}],\"name\":\"StakeRequirementChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"addSpaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"}],\"name\":\"getSpaceDelegation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"getSpaceDelegationsByOperator\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSpaceFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"getTotalDelegation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"mainnetDelegation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"}],\"name\":\"removeSpaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"riverToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"mainnetDelegation_\",\"type\":\"address\"}],\"name\":\"setMainnetDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"riverToken\",\"type\":\"address\"}],\"name\":\"setRiverToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spaceFactory\",\"type\":\"address\"}],\"name\":\"setSpaceFactory\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stakeRequirement_\",\"type\":\"uint256\"}],\"name\":\"setStakeRequirement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakeRequirement\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addSpaceDelegation(address,address)\":{\"params\":{\"operator\":\"The address of the operator\",\"space\":\"The address of the space\"}},\"getSpaceDelegation(address)\":{\"params\":{\"space\":\"The address of the space\"},\"returns\":{\"_0\":\"The address of the operator delegated to the space\"}},\"getSpaceDelegationsByOperator(address)\":{\"params\":{\"operator\":\"The address of the operator\"},\"returns\":{\"_0\":\"An array of space addresses delegated to the operator\"}},\"getSpaceFactory()\":{\"returns\":{\"_0\":\"The address of the space factory\"}},\"getTotalDelegation(address)\":{\"params\":{\"operator\":\"The address of the operator\"},\"returns\":{\"_0\":\"The total amount delegated to the operator\"}},\"mainnetDelegation()\":{\"returns\":{\"_0\":\"The address of the mainnet delegation contract\"}},\"removeSpaceDelegation(address)\":{\"params\":{\"space\":\"The address of the space\"}},\"riverToken()\":{\"returns\":{\"_0\":\"The address of the River token contract\"}},\"setMainnetDelegation(address)\":{\"params\":{\"mainnetDelegation_\":\"The address of the mainnet delegation contract\"}},\"setRiverToken(address)\":{\"params\":{\"riverToken\":\"The address of the River token contract\"}},\"setSpaceFactory(address)\":{\"params\":{\"spaceFactory\":\"The address of the space factory\"}},\"setStakeRequirement(uint256)\":{\"params\":{\"stakeRequirement_\":\"The new stake requirement amount\"}},\"stakeRequirement()\":{\"returns\":{\"_0\":\"The stake requirement amount\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addSpaceDelegation(address,address)\":{\"notice\":\"Adds a space delegation to an operator\"},\"getSpaceDelegation(address)\":{\"notice\":\"Gets the operator address for a given space\"},\"getSpaceDelegationsByOperator(address)\":{\"notice\":\"Gets all spaces delegated to a specific operator\"},\"getSpaceFactory()\":{\"notice\":\"Gets the address of the space factory\"},\"getTotalDelegation(address)\":{\"notice\":\"Gets the total delegation for a specific operator\"},\"mainnetDelegation()\":{\"notice\":\"Gets the address of the mainnet delegation contract\"},\"removeSpaceDelegation(address)\":{\"notice\":\"Removes a space delegation from an operator\"},\"riverToken()\":{\"notice\":\"Gets the address of the River token\"},\"setMainnetDelegation(address)\":{\"notice\":\"Sets the address of the mainnet delegation contract\"},\"setRiverToken(address)\":{\"notice\":\"Sets the address of the River token\"},\"setSpaceFactory(address)\":{\"notice\":\"Sets the address of the space factory\"},\"setStakeRequirement(uint256)\":{\"notice\":\"Sets the stake requirement for delegation\"},\"stakeRequirement()\":{\"notice\":\"Gets the stake requirement for delegation\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/base/registry/facets/delegation/ISpaceDelegation.sol\":\"ISpaceDelegation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":4194303},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@solidity/=node_modules/crypto-lib/src/\",\":@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"src/base/registry/facets/delegation/ISpaceDelegation.sol\":{\"keccak256\":\"0x7544e6175042252a624142e917345bc3c0b03bebf05833106fdd6d0039068908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa56cafa029ea21176314c55b5f83e2c9e8af753e0c308e16f9f9a22ed37062\",\"dweb:/ipfs/Qmf6ZgX4hoBNtbwav8XTbyFTnaRUs22NF2bHKYKcRJVwCx\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"type":"error","name":"SpaceDelegation__AlreadyDelegated"},{"inputs":[],"type":"error","name":"SpaceDelegation__AlreadyRegistered"},{"inputs":[],"type":"error","name":"SpaceDelegation__InvalidAddress"},{"inputs":[],"type":"error","name":"SpaceDelegation__InvalidOperator"},{"inputs":[],"type":"error","name":"SpaceDelegation__InvalidSpace"},{"inputs":[],"type":"error","name":"SpaceDelegation__InvalidStakeRequirement"},{"inputs":[],"type":"error","name":"SpaceDelegation__InvalidStatusTransition"},{"inputs":[],"type":"error","name":"SpaceDelegation__NotEnoughStake"},{"inputs":[],"type":"error","name":"SpaceDelegation__NotRegistered"},{"inputs":[],"type":"error","name":"SpaceDelegation__NotTransferable"},{"inputs":[],"type":"error","name":"SpaceDelegation__StatusNotChanged"},{"inputs":[{"internalType":"address","name":"mainnetDelegation","type":"address","indexed":true}],"type":"event","name":"MainnetDelegationChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"riverToken","type":"address","indexed":true}],"type":"event","name":"RiverTokenChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"space","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true}],"type":"event","name":"SpaceDelegatedToOperator","anonymous":false},{"inputs":[{"internalType":"address","name":"spaceFactory","type":"address","indexed":true}],"type":"event","name":"SpaceFactoryChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"stakeRequirement","type":"uint256","indexed":false}],"type":"event","name":"StakeRequirementChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"space","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addSpaceDelegation"},{"inputs":[{"internalType":"address","name":"space","type":"address"}],"stateMutability":"view","type":"function","name":"getSpaceDelegation","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"getSpaceDelegationsByOperator","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSpaceFactory","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"getTotalDelegation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"mainnetDelegation","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"space","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeSpaceDelegation"},{"inputs":[],"stateMutability":"view","type":"function","name":"riverToken","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"mainnetDelegation_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setMainnetDelegation"},{"inputs":[{"internalType":"address","name":"riverToken","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRiverToken"},{"inputs":[{"internalType":"address","name":"spaceFactory","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSpaceFactory"},{"inputs":[{"internalType":"uint256","name":"stakeRequirement_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setStakeRequirement"},{"inputs":[],"stateMutability":"view","type":"function","name":"stakeRequirement","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"addSpaceDelegation(address,address)":{"params":{"operator":"The address of the operator","space":"The address of the space"}},"getSpaceDelegation(address)":{"params":{"space":"The address of the space"},"returns":{"_0":"The address of the operator delegated to the space"}},"getSpaceDelegationsByOperator(address)":{"params":{"operator":"The address of the operator"},"returns":{"_0":"An array of space addresses delegated to the operator"}},"getSpaceFactory()":{"returns":{"_0":"The address of the space factory"}},"getTotalDelegation(address)":{"params":{"operator":"The address of the operator"},"returns":{"_0":"The total amount delegated to the operator"}},"mainnetDelegation()":{"returns":{"_0":"The address of the mainnet delegation contract"}},"removeSpaceDelegation(address)":{"params":{"space":"The address of the space"}},"riverToken()":{"returns":{"_0":"The address of the River token contract"}},"setMainnetDelegation(address)":{"params":{"mainnetDelegation_":"The address of the mainnet delegation contract"}},"setRiverToken(address)":{"params":{"riverToken":"The address of the River token contract"}},"setSpaceFactory(address)":{"params":{"spaceFactory":"The address of the space factory"}},"setStakeRequirement(uint256)":{"params":{"stakeRequirement_":"The new stake requirement amount"}},"stakeRequirement()":{"returns":{"_0":"The stake requirement amount"}}},"version":1},"userdoc":{"kind":"user","methods":{"addSpaceDelegation(address,address)":{"notice":"Adds a space delegation to an operator"},"getSpaceDelegation(address)":{"notice":"Gets the operator address for a given space"},"getSpaceDelegationsByOperator(address)":{"notice":"Gets all spaces delegated to a specific operator"},"getSpaceFactory()":{"notice":"Gets the address of the space factory"},"getTotalDelegation(address)":{"notice":"Gets the total delegation for a specific operator"},"mainnetDelegation()":{"notice":"Gets the address of the mainnet delegation contract"},"removeSpaceDelegation(address)":{"notice":"Removes a space delegation from an operator"},"riverToken()":{"notice":"Gets the address of the River token"},"setMainnetDelegation(address)":{"notice":"Sets the address of the mainnet delegation contract"},"setRiverToken(address)":{"notice":"Sets the address of the River token"},"setSpaceFactory(address)":{"notice":"Sets the address of the space factory"},"setStakeRequirement(uint256)":{"notice":"Sets the stake requirement for delegation"},"stakeRequirement()":{"notice":"Gets the stake requirement for delegation"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@solidity/=node_modules/crypto-lib/src/","@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":4194303},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"src/base/registry/facets/delegation/ISpaceDelegation.sol":"ISpaceDelegation"},"evmVersion":"cancun","libraries":{}},"sources":{"src/base/registry/facets/delegation/ISpaceDelegation.sol":{"keccak256":"0x7544e6175042252a624142e917345bc3c0b03bebf05833106fdd6d0039068908","urls":["bzz-raw://0fa56cafa029ea21176314c55b5f83e2c9e8af753e0c308e16f9f9a22ed37062","dweb:/ipfs/Qmf6ZgX4hoBNtbwav8XTbyFTnaRUs22NF2bHKYKcRJVwCx"],"license":"MIT"}},"version":1},"id":354}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"event","name":"MainnetDelegationChanged","inputs":[{"name":"mainnetDelegation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RiverTokenChanged","inputs":[{"name":"riverToken","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceDelegatedToOperator","inputs":[{"name":"space","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SpaceFactoryChanged","inputs":[{"name":"spaceFactory","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakeRequirementChanged","inputs":[{"name":"stakeRequirement","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"SpaceDelegation__AlreadyDelegated","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"SpaceDelegation__AlreadyRegistered","inputs":[]},{"type":"error","name":"SpaceDelegation__InvalidAddress","inputs":[]},{"type":"error","name":"SpaceDelegation__InvalidOperator","inputs":[]},{"type":"error","name":"SpaceDelegation__InvalidSpace","inputs":[]},{"type":"error","name":"SpaceDelegation__InvalidStakeRequirement","inputs":[]},{"type":"error","name":"SpaceDelegation__InvalidStatusTransition","inputs":[]},{"type":"error","name":"SpaceDelegation__NotEnoughStake","inputs":[]},{"type":"error","name":"SpaceDelegation__NotRegistered","inputs":[]},{"type":"error","name":"SpaceDelegation__NotTransferable","inputs":[]},{"type":"error","name":"SpaceDelegation__StatusNotChanged","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"SpaceDelegation__AlreadyDelegated\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__AlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__InvalidAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__InvalidOperator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__InvalidSpace\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__InvalidStakeRequirement\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__InvalidStatusTransition\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__NotEnoughStake\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__NotRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__NotTransferable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SpaceDelegation__StatusNotChanged\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"mainnetDelegation\",\"type\":\"address\"}],\"name\":\"MainnetDelegationChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"riverToken\",\"type\":\"address\"}],\"name\":\"RiverTokenChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"SpaceDelegatedToOperator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spaceFactory\",\"type\":\"address\"}],\"name\":\"SpaceFactoryChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"stakeRequirement\",\"type\":\"uint256\"}],\"name\":\"StakeRequirementChanged\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/base/registry/facets/delegation/ISpaceDelegation.sol\":\"ISpaceDelegationBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":4194303},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@solidity/=node_modules/crypto-lib/src/\",\":@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"src/base/registry/facets/delegation/ISpaceDelegation.sol\":{\"keccak256\":\"0x7544e6175042252a624142e917345bc3c0b03bebf05833106fdd6d0039068908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0fa56cafa029ea21176314c55b5f83e2c9e8af753e0c308e16f9f9a22ed37062\",\"dweb:/ipfs/Qmf6ZgX4hoBNtbwav8XTbyFTnaRUs22NF2bHKYKcRJVwCx\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"type":"error","name":"SpaceDelegation__AlreadyDelegated"},{"inputs":[],"type":"error","name":"SpaceDelegation__AlreadyRegistered"},{"inputs":[],"type":"error","name":"SpaceDelegation__InvalidAddress"},{"inputs":[],"type":"error","name":"SpaceDelegation__InvalidOperator"},{"inputs":[],"type":"error","name":"SpaceDelegation__InvalidSpace"},{"inputs":[],"type":"error","name":"SpaceDelegation__InvalidStakeRequirement"},{"inputs":[],"type":"error","name":"SpaceDelegation__InvalidStatusTransition"},{"inputs":[],"type":"error","name":"SpaceDelegation__NotEnoughStake"},{"inputs":[],"type":"error","name":"SpaceDelegation__NotRegistered"},{"inputs":[],"type":"error","name":"SpaceDelegation__NotTransferable"},{"inputs":[],"type":"error","name":"SpaceDelegation__StatusNotChanged"},{"inputs":[{"internalType":"address","name":"mainnetDelegation","type":"address","indexed":true}],"type":"event","name":"MainnetDelegationChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"riverToken","type":"address","indexed":true}],"type":"event","name":"RiverTokenChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"space","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true}],"type":"event","name":"SpaceDelegatedToOperator","anonymous":false},{"inputs":[{"internalType":"address","name":"spaceFactory","type":"address","indexed":true}],"type":"event","name":"SpaceFactoryChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"stakeRequirement","type":"uint256","indexed":false}],"type":"event","name":"StakeRequirementChanged","anonymous":false}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@solidity/=node_modules/crypto-lib/src/","@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":4194303},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"src/base/registry/facets/delegation/ISpaceDelegation.sol":"ISpaceDelegationBase"},"evmVersion":"cancun","libraries":{}},"sources":{"src/base/registry/facets/delegation/ISpaceDelegation.sol":{"keccak256":"0x7544e6175042252a624142e917345bc3c0b03bebf05833106fdd6d0039068908","urls":["bzz-raw://0fa56cafa029ea21176314c55b5f83e2c9e8af753e0c308e16f9f9a22ed37062","dweb:/ipfs/Qmf6ZgX4hoBNtbwav8XTbyFTnaRUs22NF2bHKYKcRJVwCx"],"license":"MIT"}},"version":1},"id":354}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"executeSwap","inputs":[{"name":"params","type":"tuple","internalType":"struct ISwapRouterBase.ExactInputParams","components":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"},{"name":"minAmountOut","type":"uint256","internalType":"uint256"},{"name":"recipient","type":"address","internalType":"address"}]},{"name":"routerParams","type":"tuple","internalType":"struct ISwapRouterBase.RouterParams","components":[{"name":"router","type":"address","internalType":"address"},{"name":"approveTarget","type":"address","internalType":"address"},{"name":"swapData","type":"bytes","internalType":"bytes"}]},{"name":"poster","type":"address","internalType":"address"}],"outputs":[{"name":"amountOut","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"getSwapFees","inputs":[],"outputs":[{"name":"treasuryBps","type":"uint16","internalType":"uint16"},{"name":"posterBps","type":"uint16","internalType":"uint16"},{"name":"collectPosterFeeToSpace","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getSwapRouter","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setSwapFeeConfig","inputs":[{"name":"posterFeeBps","type":"uint16","internalType":"uint16"},{"name":"collectPosterFeeToSpace","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"FeeDistribution","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"treasury","type":"address","indexed":true,"internalType":"address"},{"name":"poster","type":"address","indexed":true,"internalType":"address"},{"name":"treasuryAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"posterAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Swap","inputs":[{"name":"router","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"tokenIn","type":"address","indexed":false,"internalType":"address"},{"name":"tokenOut","type":"address","indexed":false,"internalType":"address"},{"name":"amountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOut","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SwapExecuted","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"tokenIn","type":"address","indexed":true,"internalType":"address"},{"name":"tokenOut","type":"address","indexed":true,"internalType":"address"},{"name":"amountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOut","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"poster","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SwapFeeConfigUpdated","inputs":[{"name":"posterFeeBps","type":"uint16","indexed":false,"internalType":"uint16"},{"name":"collectPosterFeeToSpace","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SwapRouterInitialized","inputs":[{"name":"spaceFactory","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"SwapFacet__SwapFailed","inputs":[]},{"type":"error","name":"SwapFacet__SwapRouterNotSet","inputs":[]},{"type":"error","name":"SwapFacet__TotalFeeTooHigh","inputs":[]},{"type":"error","name":"SwapRouter__InsufficientOutput","inputs":[]},{"type":"error","name":"SwapRouter__InvalidAmount","inputs":[]},{"type":"error","name":"SwapRouter__InvalidRouter","inputs":[]},{"type":"error","name":"SwapRouter__UnexpectedETH","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"executeSwap((address,address,uint256,uint256,address),(address,address,bytes),address)":"e73dfd5d","getSwapFees()":"c91bbba5","getSwapRouter()":"725c9c49","setSwapFeeConfig(uint16,bool)":"d1e8507f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"SwapFacet__SwapFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapFacet__SwapRouterNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapFacet__TotalFeeTooHigh\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapRouter__InsufficientOutput\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapRouter__InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapRouter__InvalidRouter\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapRouter__UnexpectedETH\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"poster\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"treasuryAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"posterAmount\",\"type\":\"uint256\"}],\"name\":\"FeeDistribution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"poster\",\"type\":\"address\"}],\"name\":\"SwapExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"posterFeeBps\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"collectPosterFeeToSpace\",\"type\":\"bool\"}],\"name\":\"SwapFeeConfigUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"spaceFactory\",\"type\":\"address\"}],\"name\":\"SwapRouterInitialized\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minAmountOut\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"struct ISwapRouterBase.ExactInputParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"approveTarget\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"swapData\",\"type\":\"bytes\"}],\"internalType\":\"struct ISwapRouterBase.RouterParams\",\"name\":\"routerParams\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"poster\",\"type\":\"address\"}],\"name\":\"executeSwap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSwapFees\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"treasuryBps\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"posterBps\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"collectPosterFeeToSpace\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSwapRouter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"posterFeeBps\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"collectPosterFeeToSpace\",\"type\":\"bool\"}],\"name\":\"setSwapFeeConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"FeeDistribution(address,address,address,uint256,uint256)\":{\"params\":{\"poster\":\"The address receiving the poster fee (if any)\",\"posterAmount\":\"The amount of tokens sent to the poster\",\"token\":\"The token in which fees are paid\",\"treasury\":\"The address receiving the treasury fee\",\"treasuryAmount\":\"The amount of tokens sent to the treasury\"}},\"Swap(address,address,address,address,uint256,uint256,address)\":{\"params\":{\"amountIn\":\"The amount of input tokens sold\",\"amountOut\":\"The amount of output tokens received\",\"caller\":\"The address that initiated the swap\",\"recipient\":\"The address that received the output tokens\",\"router\":\"The address of the router used\",\"tokenIn\":\"The input token\",\"tokenOut\":\"The output token\"}},\"SwapExecuted(address,address,address,uint256,uint256,address)\":{\"params\":{\"amountIn\":\"The amount of input tokens sold\",\"amountOut\":\"The amount of output tokens received\",\"poster\":\"The address that posted this swap opportunity\",\"recipient\":\"The address that received the output tokens\",\"tokenIn\":\"The input token\",\"tokenOut\":\"The output token\"}},\"SwapFeeConfigUpdated(uint16,bool)\":{\"params\":{\"collectPosterFeeToSpace\":\"Whether the poster fee is collected to the space\",\"posterFeeBps\":\"Poster fee in basis points\"}},\"SwapRouterInitialized(address)\":{\"params\":{\"spaceFactory\":\"The address of the space factory\"}}},\"kind\":\"dev\",\"methods\":{\"executeSwap((address,address,uint256,uint256,address),(address,address,bytes),address)\":{\"params\":{\"params\":\"The parameters for the swap\",\"poster\":\"The address that posted this swap opportunity\",\"routerParams\":\"The router parameters for the swap\"},\"returns\":{\"amountOut\":\"The amount of tokenOut received\"}},\"getSwapFees()\":{\"returns\":{\"collectPosterFeeToSpace\":\"Whether the poster fee is collected to the space\",\"posterBps\":\"Poster fee in basis points (space specific)\",\"treasuryBps\":\"Treasury fee in basis points (from protocol config)\"}},\"getSwapRouter()\":{\"returns\":{\"_0\":\"The address of the swap router\"}},\"setSwapFeeConfig(uint16,bool)\":{\"params\":{\"collectPosterFeeToSpace\":\"Whether to collect the poster fee to the space instead of the poster\",\"posterFeeBps\":\"Poster fee in basis points\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"SwapFacet__SwapFailed()\":[{\"notice\":\"Error thrown when a swap execution fails\"}],\"SwapFacet__SwapRouterNotSet()\":[{\"notice\":\"Error thrown when the swap router address is not set\"}],\"SwapFacet__TotalFeeTooHigh()\":[{\"notice\":\"Error thrown when the total fee exceeds the maximum allowed\"}],\"SwapRouter__InsufficientOutput()\":[{\"notice\":\"Error thrown when the output amount is less than the minimum expected\"}],\"SwapRouter__InvalidAmount()\":[{\"notice\":\"Error thrown when an invalid amount is provided\"}],\"SwapRouter__InvalidRouter()\":[{\"notice\":\"Error thrown when an invalid router is specified\"}],\"SwapRouter__UnexpectedETH()\":[{\"notice\":\"Error thrown when ETH is sent but not expected (tokenIn is not the native token)\"}]},\"events\":{\"FeeDistribution(address,address,address,uint256,uint256)\":{\"notice\":\"Emitted when fees are distributed after a swap\"},\"Swap(address,address,address,address,uint256,uint256,address)\":{\"notice\":\"Emitted when a swap is successfully executed\"},\"SwapExecuted(address,address,address,uint256,uint256,address)\":{\"notice\":\"Emitted when a swap is successfully executed through the space\"},\"SwapFeeConfigUpdated(uint16,bool)\":{\"notice\":\"Emitted when swap fee configuration is updated\"},\"SwapRouterInitialized(address)\":{\"notice\":\"Emitted when the SwapRouter is initialized\"}},\"kind\":\"user\",\"methods\":{\"executeSwap((address,address,uint256,uint256,address),(address,address,bytes),address)\":{\"notice\":\"Execute a swap within the space context\"},\"getSwapFees()\":{\"notice\":\"Get the swap fees for this space\"},\"getSwapRouter()\":{\"notice\":\"Get the current swap router address\"},\"setSwapFeeConfig(uint16,bool)\":{\"notice\":\"Set the swap fee configuration for this space\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/spaces/facets/swap/ISwapFacet.sol\":\"ISwapFacet\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":4194303},\"remappings\":[\":@erc6900/reference-implementation/=node_modules/@erc6900/reference-implementation/src/\",\":@eth-infinitism/account-abstraction/=node_modules/account-abstraction/contracts/\",\":@ethereum-attestation-service/eas-contracts/=node_modules/@ethereum-attestation-service/eas-contracts/contracts/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@solidity/=node_modules/crypto-lib/src/\",\":@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/\",\":hardhat/=node_modules/@ethereum-attestation-service/eas-contracts/node_modules/hardhat/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"src/router/ISwapRouter.sol\":{\"keccak256\":\"0x93ff6e8518ae98ca1af5ac4895e181fe3265121348d68421e8f66513c7cf0c61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e62f01885bec42707085b9fdbb0395bb185998cb67ec2744362cc6b5e8104fa\",\"dweb:/ipfs/QmaQf5Lhq65JUXhsP3kagJtavg1iMBmQzXvZKoQNDGyqpS\"]},\"src/spaces/facets/swap/ISwapFacet.sol\":{\"keccak256\":\"0xe76ed063f8052330b998f14748303392250400524f10250cdb2c64d29b7df31c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://722a8d7a3705fd2cc0e02a11633b64eb2108be8ef42da9cd38301f2968e6519f\",\"dweb:/ipfs/QmcZN6AooARkiNYQbo8umMD8XZ4uPabKgynZpiH36u9KoN\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"SwapFacet__SwapFailed"},{"inputs":[],"type":"error","name":"SwapFacet__SwapRouterNotSet"},{"inputs":[],"type":"error","name":"SwapFacet__TotalFeeTooHigh"},{"inputs":[],"type":"error","name":"SwapRouter__InsufficientOutput"},{"inputs":[],"type":"error","name":"SwapRouter__InvalidAmount"},{"inputs":[],"type":"error","name":"SwapRouter__InvalidRouter"},{"inputs":[],"type":"error","name":"SwapRouter__UnexpectedETH"},{"inputs":[{"internalType":"address","name":"token","type":"address","indexed":true},{"internalType":"address","name":"treasury","type":"address","indexed":true},{"internalType":"address","name":"poster","type":"address","indexed":true},{"internalType":"uint256","name":"treasuryAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"posterAmount","type":"uint256","indexed":false}],"type":"event","name":"FeeDistribution","anonymous":false},{"inputs":[{"internalType":"address","name":"router","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"address","name":"tokenIn","type":"address","indexed":false},{"internalType":"address","name":"tokenOut","type":"address","indexed":false},{"internalType":"uint256","name":"amountIn","type":"uint256","indexed":false},{"internalType":"uint256","name":"amountOut","type":"uint256","indexed":false},{"internalType":"address","name":"recipient","type":"address","indexed":false}],"type":"event","name":"Swap","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"address","name":"tokenIn","type":"address","indexed":true},{"internalType":"address","name":"tokenOut","type":"address","indexed":true},{"internalType":"uint256","name":"amountIn","type":"uint256","indexed":false},{"internalType":"uint256","name":"amountOut","type":"uint256","indexed":false},{"internalType":"address","name":"poster","type":"address","indexed":false}],"type":"event","name":"SwapExecuted","anonymous":false},{"inputs":[{"internalType":"uint16","name":"posterFeeBps","type":"uint16","indexed":false},{"internalType":"bool","name":"collectPosterFeeToSpace","type":"bool","indexed":false}],"type":"event","name":"SwapFeeConfigUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"spaceFactory","type":"address","indexed":false}],"type":"event","name":"SwapRouterInitialized","anonymous":false},{"inputs":[{"internalType":"struct ISwapRouterBase.ExactInputParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"minAmountOut","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}]},{"internalType":"struct ISwapRouterBase.RouterParams","name":"routerParams","type":"tuple","components":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address","name":"approveTarget","type":"address"},{"internalType":"bytes","name":"swapData","type":"bytes"}]},{"internalType":"address","name":"poster","type":"address"}],"stateMutability":"payable","type":"function","name":"executeSwap","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSwapFees","outputs":[{"internalType":"uint16","name":"treasuryBps","type":"uint16"},{"internalType":"uint16","name":"posterBps","type":"uint16"},{"internalType":"bool","name":"collectPosterFeeToSpace","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSwapRouter","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint16","name":"posterFeeBps","type":"uint16"},{"internalType":"bool","name":"collectPosterFeeToSpace","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setSwapFeeConfig"}],"devdoc":{"kind":"dev","methods":{"executeSwap((address,address,uint256,uint256,address),(address,address,bytes),address)":{"params":{"params":"The parameters for the swap","poster":"The address that posted this swap opportunity","routerParams":"The router parameters for the swap"},"returns":{"amountOut":"The amount of tokenOut received"}},"getSwapFees()":{"returns":{"collectPosterFeeToSpace":"Whether the poster fee is collected to the space","posterBps":"Poster fee in basis points (space specific)","treasuryBps":"Treasury fee in basis points (from protocol config)"}},"getSwapRouter()":{"returns":{"_0":"The address of the swap router"}},"setSwapFeeConfig(uint16,bool)":{"params":{"collectPosterFeeToSpace":"Whether to collect the poster fee to the space instead of the poster","posterFeeBps":"Poster fee in basis points"}}},"version":1},"userdoc":{"kind":"user","methods":{"executeSwap((address,address,uint256,uint256,address),(address,address,bytes),address)":{"notice":"Execute a swap within the space context"},"getSwapFees()":{"notice":"Get the swap fees for this space"},"getSwapRouter()":{"notice":"Get the current swap router address"},"setSwapFeeConfig(uint16,bool)":{"notice":"Set the swap fee configuration for this space"}},"version":1}},"settings":{"remappings":["@erc6900/reference-implementation/=node_modules/@erc6900/reference-implementation/src/","@eth-infinitism/account-abstraction/=node_modules/account-abstraction/contracts/","@ethereum-attestation-service/eas-contracts/=node_modules/@ethereum-attestation-service/eas-contracts/contracts/","@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@solidity/=node_modules/crypto-lib/src/","@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/","hardhat/=node_modules/@ethereum-attestation-service/eas-contracts/node_modules/hardhat/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":4194303},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"src/spaces/facets/swap/ISwapFacet.sol":"ISwapFacet"},"evmVersion":"cancun","libraries":{}},"sources":{"src/router/ISwapRouter.sol":{"keccak256":"0x93ff6e8518ae98ca1af5ac4895e181fe3265121348d68421e8f66513c7cf0c61","urls":["bzz-raw://5e62f01885bec42707085b9fdbb0395bb185998cb67ec2744362cc6b5e8104fa","dweb:/ipfs/QmaQf5Lhq65JUXhsP3kagJtavg1iMBmQzXvZKoQNDGyqpS"],"license":"MIT"},"src/spaces/facets/swap/ISwapFacet.sol":{"keccak256":"0xe76ed063f8052330b998f14748303392250400524f10250cdb2c64d29b7df31c","urls":["bzz-raw://722a8d7a3705fd2cc0e02a11633b64eb2108be8ef42da9cd38301f2968e6519f","dweb:/ipfs/QmcZN6AooARkiNYQbo8umMD8XZ4uPabKgynZpiH36u9KoN"],"license":"MIT"}},"version":1},"id":491}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"event","name":"SwapExecuted","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"tokenIn","type":"address","indexed":true,"internalType":"address"},{"name":"tokenOut","type":"address","indexed":true,"internalType":"address"},{"name":"amountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOut","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"poster","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SwapFeeConfigUpdated","inputs":[{"name":"posterFeeBps","type":"uint16","indexed":false,"internalType":"uint16"},{"name":"collectPosterFeeToSpace","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"error","name":"SwapFacet__SwapFailed","inputs":[]},{"type":"error","name":"SwapFacet__SwapRouterNotSet","inputs":[]},{"type":"error","name":"SwapFacet__TotalFeeTooHigh","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"SwapFacet__SwapFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapFacet__SwapRouterNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapFacet__TotalFeeTooHigh\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"poster\",\"type\":\"address\"}],\"name\":\"SwapExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"posterFeeBps\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"collectPosterFeeToSpace\",\"type\":\"bool\"}],\"name\":\"SwapFeeConfigUpdated\",\"type\":\"event\"}],\"devdoc\":{\"events\":{\"SwapExecuted(address,address,address,uint256,uint256,address)\":{\"params\":{\"amountIn\":\"The amount of input tokens sold\",\"amountOut\":\"The amount of output tokens received\",\"poster\":\"The address that posted this swap opportunity\",\"recipient\":\"The address that received the output tokens\",\"tokenIn\":\"The input token\",\"tokenOut\":\"The output token\"}},\"SwapFeeConfigUpdated(uint16,bool)\":{\"params\":{\"collectPosterFeeToSpace\":\"Whether the poster fee is collected to the space\",\"posterFeeBps\":\"Poster fee in basis points\"}}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"SwapFacet__SwapFailed()\":[{\"notice\":\"Error thrown when a swap execution fails\"}],\"SwapFacet__SwapRouterNotSet()\":[{\"notice\":\"Error thrown when the swap router address is not set\"}],\"SwapFacet__TotalFeeTooHigh()\":[{\"notice\":\"Error thrown when the total fee exceeds the maximum allowed\"}]},\"events\":{\"SwapExecuted(address,address,address,uint256,uint256,address)\":{\"notice\":\"Emitted when a swap is successfully executed through the space\"},\"SwapFeeConfigUpdated(uint16,bool)\":{\"notice\":\"Emitted when swap fee configuration is updated\"}},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/spaces/facets/swap/ISwapFacet.sol\":\"ISwapFacetBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":4194303},\"remappings\":[\":@erc6900/reference-implementation/=node_modules/@erc6900/reference-implementation/src/\",\":@eth-infinitism/account-abstraction/=node_modules/account-abstraction/contracts/\",\":@ethereum-attestation-service/eas-contracts/=node_modules/@ethereum-attestation-service/eas-contracts/contracts/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@solidity/=node_modules/crypto-lib/src/\",\":@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/\",\":hardhat/=node_modules/@ethereum-attestation-service/eas-contracts/node_modules/hardhat/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"src/router/ISwapRouter.sol\":{\"keccak256\":\"0x93ff6e8518ae98ca1af5ac4895e181fe3265121348d68421e8f66513c7cf0c61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e62f01885bec42707085b9fdbb0395bb185998cb67ec2744362cc6b5e8104fa\",\"dweb:/ipfs/QmaQf5Lhq65JUXhsP3kagJtavg1iMBmQzXvZKoQNDGyqpS\"]},\"src/spaces/facets/swap/ISwapFacet.sol\":{\"keccak256\":\"0xe76ed063f8052330b998f14748303392250400524f10250cdb2c64d29b7df31c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://722a8d7a3705fd2cc0e02a11633b64eb2108be8ef42da9cd38301f2968e6519f\",\"dweb:/ipfs/QmcZN6AooARkiNYQbo8umMD8XZ4uPabKgynZpiH36u9KoN\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"SwapFacet__SwapFailed"},{"inputs":[],"type":"error","name":"SwapFacet__SwapRouterNotSet"},{"inputs":[],"type":"error","name":"SwapFacet__TotalFeeTooHigh"},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"address","name":"tokenIn","type":"address","indexed":true},{"internalType":"address","name":"tokenOut","type":"address","indexed":true},{"internalType":"uint256","name":"amountIn","type":"uint256","indexed":false},{"internalType":"uint256","name":"amountOut","type":"uint256","indexed":false},{"internalType":"address","name":"poster","type":"address","indexed":false}],"type":"event","name":"SwapExecuted","anonymous":false},{"inputs":[{"internalType":"uint16","name":"posterFeeBps","type":"uint16","indexed":false},{"internalType":"bool","name":"collectPosterFeeToSpace","type":"bool","indexed":false}],"type":"event","name":"SwapFeeConfigUpdated","anonymous":false}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@erc6900/reference-implementation/=node_modules/@erc6900/reference-implementation/src/","@eth-infinitism/account-abstraction/=node_modules/account-abstraction/contracts/","@ethereum-attestation-service/eas-contracts/=node_modules/@ethereum-attestation-service/eas-contracts/contracts/","@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@solidity/=node_modules/crypto-lib/src/","@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/","hardhat/=node_modules/@ethereum-attestation-service/eas-contracts/node_modules/hardhat/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":4194303},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"src/spaces/facets/swap/ISwapFacet.sol":"ISwapFacetBase"},"evmVersion":"cancun","libraries":{}},"sources":{"src/router/ISwapRouter.sol":{"keccak256":"0x93ff6e8518ae98ca1af5ac4895e181fe3265121348d68421e8f66513c7cf0c61","urls":["bzz-raw://5e62f01885bec42707085b9fdbb0395bb185998cb67ec2744362cc6b5e8104fa","dweb:/ipfs/QmaQf5Lhq65JUXhsP3kagJtavg1iMBmQzXvZKoQNDGyqpS"],"license":"MIT"},"src/spaces/facets/swap/ISwapFacet.sol":{"keccak256":"0xe76ed063f8052330b998f14748303392250400524f10250cdb2c64d29b7df31c","urls":["bzz-raw://722a8d7a3705fd2cc0e02a11633b64eb2108be8ef42da9cd38301f2968e6519f","dweb:/ipfs/QmcZN6AooARkiNYQbo8umMD8XZ4uPabKgynZpiH36u9KoN"],"license":"MIT"}},"version":1},"id":491}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"executeSwap","inputs":[{"name":"params","type":"tuple","internalType":"struct ISwapRouterBase.ExactInputParams","components":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"amountIn","type":"uint256","internalType":"uint256"},{"name":"minAmountOut","type":"uint256","internalType":"uint256"},{"name":"recipient","type":"address","internalType":"address"}]},{"name":"routerParams","type":"tuple","internalType":"struct ISwapRouterBase.RouterParams","components":[{"name":"router","type":"address","internalType":"address"},{"name":"approveTarget","type":"address","internalType":"address"},{"name":"swapData","type":"bytes","internalType":"bytes"}]},{"name":"poster","type":"address","internalType":"address"}],"outputs":[{"name":"amountOut","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"event","name":"FeeDistribution","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"treasury","type":"address","indexed":true,"internalType":"address"},{"name":"poster","type":"address","indexed":true,"internalType":"address"},{"name":"treasuryAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"posterAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Swap","inputs":[{"name":"router","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"tokenIn","type":"address","indexed":false,"internalType":"address"},{"name":"tokenOut","type":"address","indexed":false,"internalType":"address"},{"name":"amountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOut","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SwapRouterInitialized","inputs":[{"name":"spaceFactory","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"SwapRouter__InsufficientOutput","inputs":[]},{"type":"error","name":"SwapRouter__InvalidAmount","inputs":[]},{"type":"error","name":"SwapRouter__InvalidRouter","inputs":[]},{"type":"error","name":"SwapRouter__UnexpectedETH","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"executeSwap((address,address,uint256,uint256,address),(address,address,bytes),address)":"e73dfd5d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"SwapRouter__InsufficientOutput\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapRouter__InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapRouter__InvalidRouter\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapRouter__UnexpectedETH\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"poster\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"treasuryAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"posterAmount\",\"type\":\"uint256\"}],\"name\":\"FeeDistribution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"spaceFactory\",\"type\":\"address\"}],\"name\":\"SwapRouterInitialized\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minAmountOut\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"internalType\":\"struct ISwapRouterBase.ExactInputParams\",\"name\":\"params\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"approveTarget\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"swapData\",\"type\":\"bytes\"}],\"internalType\":\"struct ISwapRouterBase.RouterParams\",\"name\":\"routerParams\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"poster\",\"type\":\"address\"}],\"name\":\"executeSwap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"FeeDistribution(address,address,address,uint256,uint256)\":{\"params\":{\"poster\":\"The address receiving the poster fee (if any)\",\"posterAmount\":\"The amount of tokens sent to the poster\",\"token\":\"The token in which fees are paid\",\"treasury\":\"The address receiving the treasury fee\",\"treasuryAmount\":\"The amount of tokens sent to the treasury\"}},\"Swap(address,address,address,address,uint256,uint256,address)\":{\"params\":{\"amountIn\":\"The amount of input tokens sold\",\"amountOut\":\"The amount of output tokens received\",\"caller\":\"The address that initiated the swap\",\"recipient\":\"The address that received the output tokens\",\"router\":\"The address of the router used\",\"tokenIn\":\"The input token\",\"tokenOut\":\"The output token\"}},\"SwapRouterInitialized(address)\":{\"params\":{\"spaceFactory\":\"The address of the space factory\"}}},\"kind\":\"dev\",\"methods\":{\"executeSwap((address,address,uint256,uint256,address),(address,address,bytes),address)\":{\"params\":{\"params\":\"The parameters for the swap tokenIn The token being sold tokenOut The token being bought amountIn The amount of tokenIn to swap minAmountOut The minimum amount of tokenOut to receive recipient The address to receive the output tokens\",\"poster\":\"The address that posted this swap opportunity\",\"routerParams\":\"The router parameters for the swap router The address of the router to use approveTarget The address to approve the token transfer swapData The calldata to execute on the router\"},\"returns\":{\"amountOut\":\"The amount of tokenOut received\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"SwapRouter__InsufficientOutput()\":[{\"notice\":\"Error thrown when the output amount is less than the minimum expected\"}],\"SwapRouter__InvalidAmount()\":[{\"notice\":\"Error thrown when an invalid amount is provided\"}],\"SwapRouter__InvalidRouter()\":[{\"notice\":\"Error thrown when an invalid router is specified\"}],\"SwapRouter__UnexpectedETH()\":[{\"notice\":\"Error thrown when ETH is sent but not expected (tokenIn is not the native token)\"}]},\"events\":{\"FeeDistribution(address,address,address,uint256,uint256)\":{\"notice\":\"Emitted when fees are distributed after a swap\"},\"Swap(address,address,address,address,uint256,uint256,address)\":{\"notice\":\"Emitted when a swap is successfully executed\"},\"SwapRouterInitialized(address)\":{\"notice\":\"Emitted when the SwapRouter is initialized\"}},\"kind\":\"user\",\"methods\":{\"executeSwap((address,address,uint256,uint256,address),(address,address,bytes),address)\":{\"notice\":\"Executes a swap through a whitelisted router\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/router/ISwapRouter.sol\":\"ISwapRouter\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":4194303},\"remappings\":[\":@erc6900/reference-implementation/=node_modules/@erc6900/reference-implementation/src/\",\":@eth-infinitism/account-abstraction/=node_modules/account-abstraction/contracts/\",\":@ethereum-attestation-service/eas-contracts/=node_modules/@ethereum-attestation-service/eas-contracts/contracts/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@solidity/=node_modules/crypto-lib/src/\",\":@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/\",\":hardhat/=node_modules/@ethereum-attestation-service/eas-contracts/node_modules/hardhat/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"src/router/ISwapRouter.sol\":{\"keccak256\":\"0x93ff6e8518ae98ca1af5ac4895e181fe3265121348d68421e8f66513c7cf0c61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e62f01885bec42707085b9fdbb0395bb185998cb67ec2744362cc6b5e8104fa\",\"dweb:/ipfs/QmaQf5Lhq65JUXhsP3kagJtavg1iMBmQzXvZKoQNDGyqpS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"SwapRouter__InsufficientOutput"},{"inputs":[],"type":"error","name":"SwapRouter__InvalidAmount"},{"inputs":[],"type":"error","name":"SwapRouter__InvalidRouter"},{"inputs":[],"type":"error","name":"SwapRouter__UnexpectedETH"},{"inputs":[{"internalType":"address","name":"token","type":"address","indexed":true},{"internalType":"address","name":"treasury","type":"address","indexed":true},{"internalType":"address","name":"poster","type":"address","indexed":true},{"internalType":"uint256","name":"treasuryAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"posterAmount","type":"uint256","indexed":false}],"type":"event","name":"FeeDistribution","anonymous":false},{"inputs":[{"internalType":"address","name":"router","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"address","name":"tokenIn","type":"address","indexed":false},{"internalType":"address","name":"tokenOut","type":"address","indexed":false},{"internalType":"uint256","name":"amountIn","type":"uint256","indexed":false},{"internalType":"uint256","name":"amountOut","type":"uint256","indexed":false},{"internalType":"address","name":"recipient","type":"address","indexed":false}],"type":"event","name":"Swap","anonymous":false},{"inputs":[{"internalType":"address","name":"spaceFactory","type":"address","indexed":false}],"type":"event","name":"SwapRouterInitialized","anonymous":false},{"inputs":[{"internalType":"struct ISwapRouterBase.ExactInputParams","name":"params","type":"tuple","components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"minAmountOut","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}]},{"internalType":"struct ISwapRouterBase.RouterParams","name":"routerParams","type":"tuple","components":[{"internalType":"address","name":"router","type":"address"},{"internalType":"address","name":"approveTarget","type":"address"},{"internalType":"bytes","name":"swapData","type":"bytes"}]},{"internalType":"address","name":"poster","type":"address"}],"stateMutability":"payable","type":"function","name":"executeSwap","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"executeSwap((address,address,uint256,uint256,address),(address,address,bytes),address)":{"params":{"params":"The parameters for the swap tokenIn The token being sold tokenOut The token being bought amountIn The amount of tokenIn to swap minAmountOut The minimum amount of tokenOut to receive recipient The address to receive the output tokens","poster":"The address that posted this swap opportunity","routerParams":"The router parameters for the swap router The address of the router to use approveTarget The address to approve the token transfer swapData The calldata to execute on the router"},"returns":{"amountOut":"The amount of tokenOut received"}}},"version":1},"userdoc":{"kind":"user","methods":{"executeSwap((address,address,uint256,uint256,address),(address,address,bytes),address)":{"notice":"Executes a swap through a whitelisted router"}},"version":1}},"settings":{"remappings":["@erc6900/reference-implementation/=node_modules/@erc6900/reference-implementation/src/","@eth-infinitism/account-abstraction/=node_modules/account-abstraction/contracts/","@ethereum-attestation-service/eas-contracts/=node_modules/@ethereum-attestation-service/eas-contracts/contracts/","@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@solidity/=node_modules/crypto-lib/src/","@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/","hardhat/=node_modules/@ethereum-attestation-service/eas-contracts/node_modules/hardhat/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":4194303},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"src/router/ISwapRouter.sol":"ISwapRouter"},"evmVersion":"cancun","libraries":{}},"sources":{"src/router/ISwapRouter.sol":{"keccak256":"0x93ff6e8518ae98ca1af5ac4895e181fe3265121348d68421e8f66513c7cf0c61","urls":["bzz-raw://5e62f01885bec42707085b9fdbb0395bb185998cb67ec2744362cc6b5e8104fa","dweb:/ipfs/QmaQf5Lhq65JUXhsP3kagJtavg1iMBmQzXvZKoQNDGyqpS"],"license":"MIT"}},"version":1},"id":412}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"event","name":"FeeDistribution","inputs":[{"name":"token","type":"address","indexed":true,"internalType":"address"},{"name":"treasury","type":"address","indexed":true,"internalType":"address"},{"name":"poster","type":"address","indexed":true,"internalType":"address"},{"name":"treasuryAmount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"posterAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Swap","inputs":[{"name":"router","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":true,"internalType":"address"},{"name":"tokenIn","type":"address","indexed":false,"internalType":"address"},{"name":"tokenOut","type":"address","indexed":false,"internalType":"address"},{"name":"amountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOut","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SwapRouterInitialized","inputs":[{"name":"spaceFactory","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"SwapRouter__InsufficientOutput","inputs":[]},{"type":"error","name":"SwapRouter__InvalidAmount","inputs":[]},{"type":"error","name":"SwapRouter__InvalidRouter","inputs":[]},{"type":"error","name":"SwapRouter__UnexpectedETH","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"SwapRouter__InsufficientOutput\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapRouter__InvalidAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapRouter__InvalidRouter\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SwapRouter__UnexpectedETH\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"treasury\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"poster\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"treasuryAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"posterAmount\",\"type\":\"uint256\"}],\"name\":\"FeeDistribution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"spaceFactory\",\"type\":\"address\"}],\"name\":\"SwapRouterInitialized\",\"type\":\"event\"}],\"devdoc\":{\"events\":{\"FeeDistribution(address,address,address,uint256,uint256)\":{\"params\":{\"poster\":\"The address receiving the poster fee (if any)\",\"posterAmount\":\"The amount of tokens sent to the poster\",\"token\":\"The token in which fees are paid\",\"treasury\":\"The address receiving the treasury fee\",\"treasuryAmount\":\"The amount of tokens sent to the treasury\"}},\"Swap(address,address,address,address,uint256,uint256,address)\":{\"params\":{\"amountIn\":\"The amount of input tokens sold\",\"amountOut\":\"The amount of output tokens received\",\"caller\":\"The address that initiated the swap\",\"recipient\":\"The address that received the output tokens\",\"router\":\"The address of the router used\",\"tokenIn\":\"The input token\",\"tokenOut\":\"The output token\"}},\"SwapRouterInitialized(address)\":{\"params\":{\"spaceFactory\":\"The address of the space factory\"}}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"SwapRouter__InsufficientOutput()\":[{\"notice\":\"Error thrown when the output amount is less than the minimum expected\"}],\"SwapRouter__InvalidAmount()\":[{\"notice\":\"Error thrown when an invalid amount is provided\"}],\"SwapRouter__InvalidRouter()\":[{\"notice\":\"Error thrown when an invalid router is specified\"}],\"SwapRouter__UnexpectedETH()\":[{\"notice\":\"Error thrown when ETH is sent but not expected (tokenIn is not the native token)\"}]},\"events\":{\"FeeDistribution(address,address,address,uint256,uint256)\":{\"notice\":\"Emitted when fees are distributed after a swap\"},\"Swap(address,address,address,address,uint256,uint256,address)\":{\"notice\":\"Emitted when a swap is successfully executed\"},\"SwapRouterInitialized(address)\":{\"notice\":\"Emitted when the SwapRouter is initialized\"}},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/router/ISwapRouter.sol\":\"ISwapRouterBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":4194303},\"remappings\":[\":@erc6900/reference-implementation/=node_modules/@erc6900/reference-implementation/src/\",\":@eth-infinitism/account-abstraction/=node_modules/account-abstraction/contracts/\",\":@ethereum-attestation-service/eas-contracts/=node_modules/@ethereum-attestation-service/eas-contracts/contracts/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@solidity/=node_modules/crypto-lib/src/\",\":@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/\",\":hardhat/=node_modules/@ethereum-attestation-service/eas-contracts/node_modules/hardhat/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"src/router/ISwapRouter.sol\":{\"keccak256\":\"0x93ff6e8518ae98ca1af5ac4895e181fe3265121348d68421e8f66513c7cf0c61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e62f01885bec42707085b9fdbb0395bb185998cb67ec2744362cc6b5e8104fa\",\"dweb:/ipfs/QmaQf5Lhq65JUXhsP3kagJtavg1iMBmQzXvZKoQNDGyqpS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"SwapRouter__InsufficientOutput"},{"inputs":[],"type":"error","name":"SwapRouter__InvalidAmount"},{"inputs":[],"type":"error","name":"SwapRouter__InvalidRouter"},{"inputs":[],"type":"error","name":"SwapRouter__UnexpectedETH"},{"inputs":[{"internalType":"address","name":"token","type":"address","indexed":true},{"internalType":"address","name":"treasury","type":"address","indexed":true},{"internalType":"address","name":"poster","type":"address","indexed":true},{"internalType":"uint256","name":"treasuryAmount","type":"uint256","indexed":false},{"internalType":"uint256","name":"posterAmount","type":"uint256","indexed":false}],"type":"event","name":"FeeDistribution","anonymous":false},{"inputs":[{"internalType":"address","name":"router","type":"address","indexed":true},{"internalType":"address","name":"caller","type":"address","indexed":true},{"internalType":"address","name":"tokenIn","type":"address","indexed":false},{"internalType":"address","name":"tokenOut","type":"address","indexed":false},{"internalType":"uint256","name":"amountIn","type":"uint256","indexed":false},{"internalType":"uint256","name":"amountOut","type":"uint256","indexed":false},{"internalType":"address","name":"recipient","type":"address","indexed":false}],"type":"event","name":"Swap","anonymous":false},{"inputs":[{"internalType":"address","name":"spaceFactory","type":"address","indexed":false}],"type":"event","name":"SwapRouterInitialized","anonymous":false}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@erc6900/reference-implementation/=node_modules/@erc6900/reference-implementation/src/","@eth-infinitism/account-abstraction/=node_modules/account-abstraction/contracts/","@ethereum-attestation-service/eas-contracts/=node_modules/@ethereum-attestation-service/eas-contracts/contracts/","@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@solidity/=node_modules/crypto-lib/src/","@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/","hardhat/=node_modules/@ethereum-attestation-service/eas-contracts/node_modules/hardhat/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":4194303},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"src/router/ISwapRouter.sol":"ISwapRouterBase"},"evmVersion":"cancun","libraries":{}},"sources":{"src/router/ISwapRouter.sol":{"keccak256":"0x93ff6e8518ae98ca1af5ac4895e181fe3265121348d68421e8f66513c7cf0c61","urls":["bzz-raw://5e62f01885bec42707085b9fdbb0395bb185998cb67ec2744362cc6b5e8104fa","dweb:/ipfs/QmaQf5Lhq65JUXhsP3kagJtavg1iMBmQzXvZKoQNDGyqpS"],"license":"MIT"}},"version":1},"id":412}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"tip","inputs":[{"name":"tipRequest","type":"tuple","internalType":"struct ITippingBase.TipRequest","components":[{"name":"receiver","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"currency","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"messageId","type":"bytes32","internalType":"bytes32"},{"name":"channelId","type":"bytes32","internalType":"bytes32"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"tipAmountByCurrency","inputs":[{"name":"currency","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"tippingCurrencies","inputs":[],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"tipsByCurrencyAndTokenId","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"currency","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalTipsByCurrency","inputs":[{"name":"currency","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Tip","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"currency","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":false,"internalType":"address"},{"name":"receiver","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"messageId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"channelId","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"error","name":"AmountIsZero","inputs":[]},{"type":"error","name":"CannotTipSelf","inputs":[]},{"type":"error","name":"CurrencyIsZero","inputs":[]},{"type":"error","name":"ReceiverIsNotMember","inputs":[]},{"type":"error","name":"TokenDoesNotExist","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"tip((address,uint256,address,uint256,bytes32,bytes32))":"c46be00e","tipAmountByCurrency(address)":"0a7bb41b","tippingCurrencies()":"6e7ef3fa","tipsByCurrencyAndTokenId(uint256,address)":"568922a6","totalTipsByCurrency(address)":"e4177d0b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AmountIsZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotTipSelf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CurrencyIsZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReceiverIsNotMember\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenDoesNotExist\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"messageId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"Tip\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"messageId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"internalType\":\"struct ITippingBase.TipRequest\",\"name\":\"tipRequest\",\"type\":\"tuple\"}],\"name\":\"tip\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"tipAmountByCurrency\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tippingCurrencies\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"tipsByCurrencyAndTokenId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"totalTipsByCurrency\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"tip((address,uint256,address,uint256,bytes32,bytes32))\":{\"details\":\"Requires sender and receiver to be members of the spaceRequires amount > 0 and valid currency addressEmits Tip event\",\"params\":{\"tipRequest\":\"The tip request containing token ID, currency, amount, message ID and channel ID\"}},\"tipAmountByCurrency(address)\":{\"params\":{\"currency\":\"The currency address to get tips for\"},\"returns\":{\"_0\":\"The total amount of tips received in the specified currency\"}},\"tippingCurrencies()\":{\"returns\":{\"_0\":\"An array of currency addresses\"}},\"tipsByCurrencyAndTokenId(uint256,address)\":{\"params\":{\"currency\":\"The currency address to get tips in\",\"tokenId\":\"The token ID to get tips for\"},\"returns\":{\"_0\":\"The total amount of tips received in the specified currency\"}},\"totalTipsByCurrency(address)\":{\"params\":{\"currency\":\"The currency address to get tips for\"},\"returns\":{\"_0\":\"The total number of tips received in the specified currency\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"tip((address,uint256,address,uint256,bytes32,bytes32))\":{\"notice\":\"Sends a tip to a space member\"},\"tipAmountByCurrency(address)\":{\"notice\":\"Gets the total amount of tips received in a specific currency\"},\"tippingCurrencies()\":{\"notice\":\"Gets the list of currencies that have been tipped to the space\"},\"tipsByCurrencyAndTokenId(uint256,address)\":{\"notice\":\"Gets the total tips received for a token ID in a specific currency\"},\"totalTipsByCurrency(address)\":{\"notice\":\"Gets the total number of tips received in a specific currency\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/spaces/facets/tipping/ITipping.sol\":\"ITipping\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":4194303},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@solidity/=node_modules/crypto-lib/src/\",\":@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"src/spaces/facets/tipping/ITipping.sol\":{\"keccak256\":\"0xb381c74f089c97a6b8d68ec67198ea749d8709be98eaf4f4c3f36b8205d10f3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db6fef50d8e11192bf8a81d8dff6fd53fa234e781b5a481c7da4b56e3c90f3e6\",\"dweb:/ipfs/QmY5ZMxYiUKE6eDYqj4jDBb3qyVykx7MaRdUKKaDuaExTZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AmountIsZero"},{"inputs":[],"type":"error","name":"CannotTipSelf"},{"inputs":[],"type":"error","name":"CurrencyIsZero"},{"inputs":[],"type":"error","name":"ReceiverIsNotMember"},{"inputs":[],"type":"error","name":"TokenDoesNotExist"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"currency","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":false},{"internalType":"address","name":"receiver","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes32","name":"messageId","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":false}],"type":"event","name":"Tip","anonymous":false},{"inputs":[{"internalType":"struct ITippingBase.TipRequest","name":"tipRequest","type":"tuple","components":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"messageId","type":"bytes32"},{"internalType":"bytes32","name":"channelId","type":"bytes32"}]}],"stateMutability":"payable","type":"function","name":"tip"},{"inputs":[{"internalType":"address","name":"currency","type":"address"}],"stateMutability":"view","type":"function","name":"tipAmountByCurrency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"tippingCurrencies","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"currency","type":"address"}],"stateMutability":"view","type":"function","name":"tipsByCurrencyAndTokenId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"currency","type":"address"}],"stateMutability":"view","type":"function","name":"totalTipsByCurrency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"tip((address,uint256,address,uint256,bytes32,bytes32))":{"details":"Requires sender and receiver to be members of the spaceRequires amount > 0 and valid currency addressEmits Tip event","params":{"tipRequest":"The tip request containing token ID, currency, amount, message ID and channel ID"}},"tipAmountByCurrency(address)":{"params":{"currency":"The currency address to get tips for"},"returns":{"_0":"The total amount of tips received in the specified currency"}},"tippingCurrencies()":{"returns":{"_0":"An array of currency addresses"}},"tipsByCurrencyAndTokenId(uint256,address)":{"params":{"currency":"The currency address to get tips in","tokenId":"The token ID to get tips for"},"returns":{"_0":"The total amount of tips received in the specified currency"}},"totalTipsByCurrency(address)":{"params":{"currency":"The currency address to get tips for"},"returns":{"_0":"The total number of tips received in the specified currency"}}},"version":1},"userdoc":{"kind":"user","methods":{"tip((address,uint256,address,uint256,bytes32,bytes32))":{"notice":"Sends a tip to a space member"},"tipAmountByCurrency(address)":{"notice":"Gets the total amount of tips received in a specific currency"},"tippingCurrencies()":{"notice":"Gets the list of currencies that have been tipped to the space"},"tipsByCurrencyAndTokenId(uint256,address)":{"notice":"Gets the total tips received for a token ID in a specific currency"},"totalTipsByCurrency(address)":{"notice":"Gets the total number of tips received in a specific currency"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@solidity/=node_modules/crypto-lib/src/","@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":4194303},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"src/spaces/facets/tipping/ITipping.sol":"ITipping"},"evmVersion":"cancun","libraries":{}},"sources":{"src/spaces/facets/tipping/ITipping.sol":{"keccak256":"0xb381c74f089c97a6b8d68ec67198ea749d8709be98eaf4f4c3f36b8205d10f3e","urls":["bzz-raw://db6fef50d8e11192bf8a81d8dff6fd53fa234e781b5a481c7da4b56e3c90f3e6","dweb:/ipfs/QmY5ZMxYiUKE6eDYqj4jDBb3qyVykx7MaRdUKKaDuaExTZ"],"license":"MIT"}},"version":1},"id":530}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"event","name":"Tip","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"currency","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":false,"internalType":"address"},{"name":"receiver","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"messageId","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"channelId","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"error","name":"AmountIsZero","inputs":[]},{"type":"error","name":"CannotTipSelf","inputs":[]},{"type":"error","name":"CurrencyIsZero","inputs":[]},{"type":"error","name":"ReceiverIsNotMember","inputs":[]},{"type":"error","name":"TokenDoesNotExist","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AmountIsZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CannotTipSelf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CurrencyIsZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReceiverIsNotMember\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TokenDoesNotExist\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"messageId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"}],\"name\":\"Tip\",\"type\":\"event\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/spaces/facets/tipping/ITipping.sol\":\"ITippingBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":4194303},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@solidity/=node_modules/crypto-lib/src/\",\":@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"src/spaces/facets/tipping/ITipping.sol\":{\"keccak256\":\"0xb381c74f089c97a6b8d68ec67198ea749d8709be98eaf4f4c3f36b8205d10f3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db6fef50d8e11192bf8a81d8dff6fd53fa234e781b5a481c7da4b56e3c90f3e6\",\"dweb:/ipfs/QmY5ZMxYiUKE6eDYqj4jDBb3qyVykx7MaRdUKKaDuaExTZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AmountIsZero"},{"inputs":[],"type":"error","name":"CannotTipSelf"},{"inputs":[],"type":"error","name":"CurrencyIsZero"},{"inputs":[],"type":"error","name":"ReceiverIsNotMember"},{"inputs":[],"type":"error","name":"TokenDoesNotExist"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"address","name":"currency","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":false},{"internalType":"address","name":"receiver","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes32","name":"messageId","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"channelId","type":"bytes32","indexed":false}],"type":"event","name":"Tip","anonymous":false}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@solidity/=node_modules/crypto-lib/src/","@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":4194303},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"src/spaces/facets/tipping/ITipping.sol":"ITippingBase"},"evmVersion":"cancun","libraries":{}},"sources":{"src/spaces/facets/tipping/ITipping.sol":{"keccak256":"0xb381c74f089c97a6b8d68ec67198ea749d8709be98eaf4f4c3f36b8205d10f3e","urls":["bzz-raw://db6fef50d8e11192bf8a81d8dff6fd53fa234e781b5a481c7da4b56e3c90f3e6","dweb:/ipfs/QmY5ZMxYiUKE6eDYqj4jDBb3qyVykx7MaRdUKKaDuaExTZ"],"license":"MIT"}},"version":1},"id":530}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"batchMintPoints","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"checkIn","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCurrentStreak","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLastCheckIn","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPoints","inputs":[{"name":"action","type":"uint8","internalType":"enum ITownsPointsBase.Action"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"CheckedIn","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"points","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"streak","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"lastCheckIn","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"TownsPoints__CheckInPeriodNotPassed","inputs":[]},{"type":"error","name":"TownsPoints__InvalidArrayLength","inputs":[]},{"type":"error","name":"TownsPoints__InvalidCallData","inputs":[]},{"type":"error","name":"TownsPoints__InvalidSpace","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"batchMintPoints(bytes)":"21620ba3","checkIn()":"183ff085","getCurrentStreak(address)":"42c6703a","getLastCheckIn(address)":"40195c85","getPoints(uint8,bytes)":"dc69fdde","mint(address,uint256)":"40c10f19"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"TownsPoints__CheckInPeriodNotPassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TownsPoints__InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TownsPoints__InvalidCallData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TownsPoints__InvalidSpace\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"points\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"streak\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastCheckIn\",\"type\":\"uint256\"}],\"name\":\"CheckedIn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"batchMintPoints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"checkIn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getCurrentStreak\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getLastCheckIn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ITownsPointsBase.Action\",\"name\":\"action\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"getPoints\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"CheckedIn(address,uint256,uint256,uint256)\":{\"params\":{\"lastCheckIn\":\"The timestamp when this check-in occurred\",\"points\":\"The number of points awarded for this check-in\",\"streak\":\"The user's current check-in streak after this check-in\",\"user\":\"The address of the user who checked in\"}}},\"kind\":\"dev\",\"methods\":{\"batchMintPoints(bytes)\":{\"details\":\"Only callable by the owner\",\"params\":{\"data\":\"The abi-encoded array of addresses and values to mint\"}},\"checkIn()\":{\"details\":\"Users must wait at least 24 hours between check-insIf a user checks in within 48 hours of their last check-in, their streak continuesOtherwise, their streak resets to 1\"},\"getCurrentStreak(address)\":{\"params\":{\"user\":\"The address of the user to query\"},\"returns\":{\"_0\":\"The current streak count for the user\"}},\"getLastCheckIn(address)\":{\"params\":{\"user\":\"The address of the user to query\"},\"returns\":{\"_0\":\"The timestamp of the user's last check-in, 0 if never checked in\"}},\"getPoints(uint8,bytes)\":{\"params\":{\"action\":\"The action to get the points from\",\"data\":\"The data of the action\"}},\"mint(address,uint256)\":{\"details\":\"Only spaces can mint points\",\"params\":{\"to\":\"The address to mint the points to\",\"value\":\"The amount of points to mint\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"TownsPoints__CheckInPeriodNotPassed()\":[{\"notice\":\"Error thrown when a user attempts to check in too soon after their last check-in\"}],\"TownsPoints__InvalidArrayLength()\":[{\"notice\":\"Error thrown when the array length is invalid\"}],\"TownsPoints__InvalidCallData()\":[{\"notice\":\"Error thrown when the call data is invalid\"}],\"TownsPoints__InvalidSpace()\":[{\"notice\":\"Error thrown when the space is invalid\"}]},\"events\":{\"CheckedIn(address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a user successfully checks in and receives points\"}},\"kind\":\"user\",\"methods\":{\"batchMintPoints(bytes)\":{\"notice\":\"Batch mint points to multiple users\"},\"checkIn()\":{\"notice\":\"Allows a user to check in and earn points based on their streak\"},\"getCurrentStreak(address)\":{\"notice\":\"Gets the current check-in streak for a user\"},\"getLastCheckIn(address)\":{\"notice\":\"Gets the timestamp of the user's last check-in\"},\"getPoints(uint8,bytes)\":{\"notice\":\"Get the points from an eligible action\"},\"mint(address,uint256)\":{\"notice\":\"Mint points to a user\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/airdrop/points/ITownsPoints.sol\":\"ITownsPoints\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":4194303},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@solidity/=node_modules/crypto-lib/src/\",\":@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"src/airdrop/points/ITownsPoints.sol\":{\"keccak256\":\"0xa372c7071ccf4f28ff4118f504f13e2bb9830a5ebfbe58ebeaa5564d1f8ec84e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cee9758ef05327e2fcaf703d8222b45fc163523402064e8aac87f78f720b463b\",\"dweb:/ipfs/QmaNfkCParoCw78s1QaiKMAbrTVhv6rf9m5zthFEUR2k1S\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"TownsPoints__CheckInPeriodNotPassed"},{"inputs":[],"type":"error","name":"TownsPoints__InvalidArrayLength"},{"inputs":[],"type":"error","name":"TownsPoints__InvalidCallData"},{"inputs":[],"type":"error","name":"TownsPoints__InvalidSpace"},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true},{"internalType":"uint256","name":"points","type":"uint256","indexed":false},{"internalType":"uint256","name":"streak","type":"uint256","indexed":false},{"internalType":"uint256","name":"lastCheckIn","type":"uint256","indexed":false}],"type":"event","name":"CheckedIn","anonymous":false},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"batchMintPoints"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"checkIn"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"getCurrentStreak","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"getLastCheckIn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum ITownsPointsBase.Action","name":"action","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"view","type":"function","name":"getPoints","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"}],"devdoc":{"kind":"dev","methods":{"batchMintPoints(bytes)":{"details":"Only callable by the owner","params":{"data":"The abi-encoded array of addresses and values to mint"}},"checkIn()":{"details":"Users must wait at least 24 hours between check-insIf a user checks in within 48 hours of their last check-in, their streak continuesOtherwise, their streak resets to 1"},"getCurrentStreak(address)":{"params":{"user":"The address of the user to query"},"returns":{"_0":"The current streak count for the user"}},"getLastCheckIn(address)":{"params":{"user":"The address of the user to query"},"returns":{"_0":"The timestamp of the user's last check-in, 0 if never checked in"}},"getPoints(uint8,bytes)":{"params":{"action":"The action to get the points from","data":"The data of the action"}},"mint(address,uint256)":{"details":"Only spaces can mint points","params":{"to":"The address to mint the points to","value":"The amount of points to mint"}}},"version":1},"userdoc":{"kind":"user","methods":{"batchMintPoints(bytes)":{"notice":"Batch mint points to multiple users"},"checkIn()":{"notice":"Allows a user to check in and earn points based on their streak"},"getCurrentStreak(address)":{"notice":"Gets the current check-in streak for a user"},"getLastCheckIn(address)":{"notice":"Gets the timestamp of the user's last check-in"},"getPoints(uint8,bytes)":{"notice":"Get the points from an eligible action"},"mint(address,uint256)":{"notice":"Mint points to a user"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@solidity/=node_modules/crypto-lib/src/","@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":4194303},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"src/airdrop/points/ITownsPoints.sol":"ITownsPoints"},"evmVersion":"cancun","libraries":{}},"sources":{"src/airdrop/points/ITownsPoints.sol":{"keccak256":"0xa372c7071ccf4f28ff4118f504f13e2bb9830a5ebfbe58ebeaa5564d1f8ec84e","urls":["bzz-raw://cee9758ef05327e2fcaf703d8222b45fc163523402064e8aac87f78f720b463b","dweb:/ipfs/QmaNfkCParoCw78s1QaiKMAbrTVhv6rf9m5zthFEUR2k1S"],"license":"MIT"}},"version":1},"id":348}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"event","name":"CheckedIn","inputs":[{"name":"user","type":"address","indexed":true,"internalType":"address"},{"name":"points","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"streak","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"lastCheckIn","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"TownsPoints__CheckInPeriodNotPassed","inputs":[]},{"type":"error","name":"TownsPoints__InvalidArrayLength","inputs":[]},{"type":"error","name":"TownsPoints__InvalidCallData","inputs":[]},{"type":"error","name":"TownsPoints__InvalidSpace","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"TownsPoints__CheckInPeriodNotPassed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TownsPoints__InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TownsPoints__InvalidCallData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TownsPoints__InvalidSpace\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"points\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"streak\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastCheckIn\",\"type\":\"uint256\"}],\"name\":\"CheckedIn\",\"type\":\"event\"}],\"devdoc\":{\"events\":{\"CheckedIn(address,uint256,uint256,uint256)\":{\"params\":{\"lastCheckIn\":\"The timestamp when this check-in occurred\",\"points\":\"The number of points awarded for this check-in\",\"streak\":\"The user's current check-in streak after this check-in\",\"user\":\"The address of the user who checked in\"}}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"errors\":{\"TownsPoints__CheckInPeriodNotPassed()\":[{\"notice\":\"Error thrown when a user attempts to check in too soon after their last check-in\"}],\"TownsPoints__InvalidArrayLength()\":[{\"notice\":\"Error thrown when the array length is invalid\"}],\"TownsPoints__InvalidCallData()\":[{\"notice\":\"Error thrown when the call data is invalid\"}],\"TownsPoints__InvalidSpace()\":[{\"notice\":\"Error thrown when the space is invalid\"}]},\"events\":{\"CheckedIn(address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a user successfully checks in and receives points\"}},\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/airdrop/points/ITownsPoints.sol\":\"ITownsPointsBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":4194303},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@solidity/=node_modules/crypto-lib/src/\",\":@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"src/airdrop/points/ITownsPoints.sol\":{\"keccak256\":\"0xa372c7071ccf4f28ff4118f504f13e2bb9830a5ebfbe58ebeaa5564d1f8ec84e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cee9758ef05327e2fcaf703d8222b45fc163523402064e8aac87f78f720b463b\",\"dweb:/ipfs/QmaNfkCParoCw78s1QaiKMAbrTVhv6rf9m5zthFEUR2k1S\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"TownsPoints__CheckInPeriodNotPassed"},{"inputs":[],"type":"error","name":"TownsPoints__InvalidArrayLength"},{"inputs":[],"type":"error","name":"TownsPoints__InvalidCallData"},{"inputs":[],"type":"error","name":"TownsPoints__InvalidSpace"},{"inputs":[{"internalType":"address","name":"user","type":"address","indexed":true},{"internalType":"uint256","name":"points","type":"uint256","indexed":false},{"internalType":"uint256","name":"streak","type":"uint256","indexed":false},{"internalType":"uint256","name":"lastCheckIn","type":"uint256","indexed":false}],"type":"event","name":"CheckedIn","anonymous":false}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@solidity/=node_modules/crypto-lib/src/","@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":4194303},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"src/airdrop/points/ITownsPoints.sol":"ITownsPointsBase"},"evmVersion":"cancun","libraries":{}},"sources":{"src/airdrop/points/ITownsPoints.sol":{"keccak256":"0xa372c7071ccf4f28ff4118f504f13e2bb9830a5ebfbe58ebeaa5564d1f8ec84e","urls":["bzz-raw://cee9758ef05327e2fcaf703d8222b45fc163523402064e8aac87f78f720b463b","dweb:/ipfs/QmaNfkCParoCw78s1QaiKMAbrTVhv6rf9m5zthFEUR2k1S"],"license":"MIT"}},"version":1},"id":348}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"onERC1155BatchReceived","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"ids","type":"uint256[]","internalType":"uint256[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"onERC1155Received","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"onERC721Received","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"from","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","withdraw(address)":"51cff8d9"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"Implements the IERC1155Receiver interface to safely receive multiple ERC1155 tokens\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the tokens\",\"ids\":\"An array containing ids of each token being transferred\",\"operator\":\"The address which called the `safeBatchTransferFrom` function\",\"values\":\"An array containing amounts of each token being transferred\"},\"returns\":{\"_0\":\"bytes4 `bytes4(keccak256(\\\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\\\"))`\"}},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"Implements the IERC1155Receiver interface to safely receive ERC1155 tokens\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"id\":\"The ID of the token being transferred\",\"operator\":\"The address which called the `safeTransferFrom` function\",\"value\":\"The amount of tokens being transferred\"},\"returns\":{\"_0\":\"bytes4 `bytes4(keccak256(\\\"onERC1155Received(address,address,uint256,uint256,bytes)\\\"))`\"}},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Implements the IERC721Receiver interface to safely receive ERC721 tokens\",\"params\":{\"data\":\"Additional data with no specified format\",\"from\":\"The address which previously owned the token\",\"operator\":\"The address which called `safeTransferFrom` function\",\"tokenId\":\"The NFT identifier which is being transferred\"},\"returns\":{\"_0\":\"bytes4 `bytes4(keccak256(\\\"onERC721Received(address,address,uint256,bytes)\\\"))`\"}},\"withdraw(address)\":{\"details\":\"Can only be called by the owner of the contract. Will revert if account is zero address or if balance is 0\",\"params\":{\"account\":\"The address to withdraw funds to\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"notice\":\"Handle the receipt of multiple ERC1155 tokens\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"notice\":\"Handle the receipt of a single ERC1155 token\"},\"onERC721Received(address,address,uint256,bytes)\":{\"notice\":\"Handle the receipt of a single ERC721 token\"},\"withdraw(address)\":{\"notice\":\"Withdraw funds from the treasury to a specified account\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/spaces/facets/treasury/ITreasury.sol\":\"ITreasury\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":4194303},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/math/=node_modules/@prb/math/src/\",\":@prb/test/=node_modules/@prb/test/src/\",\":@solidity/=node_modules/crypto-lib/src/\",\":@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/\",\":account-abstraction/=node_modules/account-abstraction/contracts/\",\":crypto-lib/=node_modules/crypto-lib/src/\",\":forge-std/=node_modules/forge-std/src/\",\":hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/\",\":solady/=node_modules/solady/src/\"]},\"sources\":{\"src/spaces/facets/treasury/ITreasury.sol\":{\"keccak256\":\"0x0e64aaeca2531a5d257fde19402aea968f8dbf1b5eec98a9722fb304a7becd94\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb40b3b3ce67fb97584d35af0f85a151114c5ddee881608fd71decf1d756cff9\",\"dweb:/ipfs/QmWrbLTDL6xHppQQFWNru87uoTbjCdGiZmaviZ178hcBmK\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdraw"}],"devdoc":{"kind":"dev","methods":{"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":{"details":"Implements the IERC1155Receiver interface to safely receive multiple ERC1155 tokens","params":{"data":"Additional data with no specified format","from":"The address which previously owned the tokens","ids":"An array containing ids of each token being transferred","operator":"The address which called the `safeBatchTransferFrom` function","values":"An array containing amounts of each token being transferred"},"returns":{"_0":"bytes4 `bytes4(keccak256(\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\"))`"}},"onERC1155Received(address,address,uint256,uint256,bytes)":{"details":"Implements the IERC1155Receiver interface to safely receive ERC1155 tokens","params":{"data":"Additional data with no specified format","from":"The address which previously owned the token","id":"The ID of the token being transferred","operator":"The address which called the `safeTransferFrom` function","value":"The amount of tokens being transferred"},"returns":{"_0":"bytes4 `bytes4(keccak256(\"onERC1155Received(address,address,uint256,uint256,bytes)\"))`"}},"onERC721Received(address,address,uint256,bytes)":{"details":"Implements the IERC721Receiver interface to safely receive ERC721 tokens","params":{"data":"Additional data with no specified format","from":"The address which previously owned the token","operator":"The address which called `safeTransferFrom` function","tokenId":"The NFT identifier which is being transferred"},"returns":{"_0":"bytes4 `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`"}},"withdraw(address)":{"details":"Can only be called by the owner of the contract. Will revert if account is zero address or if balance is 0","params":{"account":"The address to withdraw funds to"}}},"version":1},"userdoc":{"kind":"user","methods":{"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":{"notice":"Handle the receipt of multiple ERC1155 tokens"},"onERC1155Received(address,address,uint256,uint256,bytes)":{"notice":"Handle the receipt of a single ERC1155 token"},"onERC721Received(address,address,uint256,bytes)":{"notice":"Handle the receipt of a single ERC721 token"},"withdraw(address)":{"notice":"Withdraw funds from the treasury to a specified account"}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@prb/math/=node_modules/@prb/math/src/","@prb/test/=node_modules/@prb/test/src/","@solidity/=node_modules/crypto-lib/src/","@towns-protocol/diamond/=node_modules/@towns-protocol/diamond/","account-abstraction/=node_modules/account-abstraction/contracts/","crypto-lib/=node_modules/crypto-lib/src/","forge-std/=node_modules/forge-std/src/","hardhat-deploy/=node_modules/account-abstraction/node_modules/hardhat-deploy/","solady/=node_modules/solady/src/"],"optimizer":{"enabled":true,"runs":4194303},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"src/spaces/facets/treasury/ITreasury.sol":"ITreasury"},"evmVersion":"cancun","libraries":{}},"sources":{"src/spaces/facets/treasury/ITreasury.sol":{"keccak256":"0x0e64aaeca2531a5d257fde19402aea968f8dbf1b5eec98a9722fb304a7becd94","urls":["bzz-raw://bb40b3b3ce67fb97584d35af0f85a151114c5ddee881608fd71decf1d756cff9","dweb:/ipfs/QmWrbLTDL6xHppQQFWNru87uoTbjCdGiZmaviZ178hcBmK"],"license":"MIT"}},"version":1},"id":533}