@towns-labs/generated 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -0
- package/config/deployments.json +179 -0
- package/deployments/alpha/.env +19 -0
- package/deployments/alpha/.env.vite +19 -0
- package/deployments/alpha/base/addresses/accountModules.json +3 -0
- package/deployments/alpha/base/addresses/appRegistry.json +3 -0
- package/deployments/alpha/base/addresses/baseRegistry.json +1 -0
- package/deployments/alpha/base/addresses/l2Registrar.json +3 -0
- package/deployments/alpha/base/addresses/l2Resolver.json +3 -0
- package/deployments/alpha/base/addresses/riverAirdrop.json +3 -0
- package/deployments/alpha/base/addresses/simpleAppBeacon.json +3 -0
- package/deployments/alpha/base/addresses/space.json +1 -0
- package/deployments/alpha/base/addresses/spaceFactory.json +1 -0
- package/deployments/alpha/base/addresses/spaceOwner.json +1 -0
- package/deployments/alpha/base/addresses/subscriptionModule.json +3 -0
- package/deployments/alpha/base/addresses/swapRouter.json +3 -0
- package/deployments/alpha/base/addresses/utils/towns.json +3 -0
- package/deployments/alpha/base/chainId.json +1 -0
- package/deployments/alpha/mainnet/addresses/l1Resolver.json +3 -0
- package/deployments/alpha/mainnet/chainId.json +3 -0
- package/deployments/alpha/river/addresses/riverRegistry.json +1 -0
- package/deployments/alpha/river/chainId.json +1 -0
- package/deployments/beta/.env +16 -0
- package/deployments/beta/.env.vite +16 -0
- package/deployments/beta/base/addresses/accountModules.json +3 -0
- package/deployments/beta/base/addresses/appRegistry.json +3 -0
- package/deployments/beta/base/addresses/baseRegistry.json +3 -0
- package/deployments/beta/base/addresses/riverAirdrop.json +3 -0
- package/deployments/beta/base/addresses/space.json +3 -0
- package/deployments/beta/base/addresses/spaceFactory.json +3 -0
- package/deployments/beta/base/addresses/spaceOwner.json +3 -0
- package/deployments/beta/base/addresses/subscriptionModule.json +3 -0
- package/deployments/beta/base/addresses/swapRouter.json +3 -0
- package/deployments/beta/base/addresses/utils/tieredLogPricingV2.json +3 -0
- package/deployments/beta/base/addresses/utils/tieredLogPricingV3.json +3 -0
- package/deployments/beta/base/addresses/utils/towns.json +3 -0
- package/deployments/beta/base/chainId.json +3 -0
- package/deployments/beta/river/addresses/riverRegistry.json +3 -0
- package/deployments/beta/river/chainId.json +3 -0
- package/deployments/delta/.env +13 -0
- package/deployments/delta/.env.vite +13 -0
- package/deployments/delta/base/addresses/appRegistry.json +3 -0
- package/deployments/delta/base/addresses/baseRegistry.json +3 -0
- package/deployments/delta/base/addresses/riverAirdrop.json +3 -0
- package/deployments/delta/base/addresses/space.json +3 -0
- package/deployments/delta/base/addresses/spaceFactory.json +3 -0
- package/deployments/delta/base/addresses/spaceOwner.json +3 -0
- package/deployments/delta/base/addresses/subscriptionModule.json +3 -0
- package/deployments/delta/base/addresses/swapRouter.json +3 -0
- package/deployments/delta/base/addresses/utils/towns.json +3 -0
- package/deployments/delta/base/chainId.json +3 -0
- package/deployments/delta/river/addresses/riverRegistry.json +3 -0
- package/deployments/delta/river/chainId.json +3 -0
- package/deployments/gamma/.env +19 -0
- package/deployments/gamma/.env.vite +19 -0
- package/deployments/gamma/base/addresses/appRegistry.json +3 -0
- package/deployments/gamma/base/addresses/baseRegistry.json +1 -0
- package/deployments/gamma/base/addresses/riverAirdrop.json +3 -0
- package/deployments/gamma/base/addresses/space.json +1 -0
- package/deployments/gamma/base/addresses/spaceFactory.json +1 -0
- package/deployments/gamma/base/addresses/spaceOwner.json +1 -0
- package/deployments/gamma/base/addresses/subscriptionModule.json +3 -0
- package/deployments/gamma/base/addresses/swapRouter.json +3 -0
- package/deployments/gamma/base/addresses/utils/towns.json +3 -0
- package/deployments/gamma/base/chainId.json +1 -0
- package/deployments/gamma/bnb/addresses/utils/towns.json +3 -0
- package/deployments/gamma/bnb/chainId.json +3 -0
- package/deployments/gamma/river/addresses/riverRegistry.json +1 -0
- package/deployments/gamma/river/chainId.json +1 -0
- package/deployments/gamma/sepolia/addresses/townsMainnet.json +3 -0
- package/deployments/gamma/sepolia/addresses/utils/proxyBatchDelegation.json +3 -0
- package/deployments/gamma/sepolia/addresses/utils/wrappedTowns.json +3 -0
- package/deployments/gamma/sepolia/chainId.json +3 -0
- package/deployments/local_dev/.env +16 -0
- package/deployments/omega/.env +25 -0
- package/deployments/omega/.env.vite +25 -0
- package/deployments/omega/base/addresses/accountModules.json +3 -0
- package/deployments/omega/base/addresses/appRegistry.json +3 -0
- package/deployments/omega/base/addresses/baseRegistry.json +1 -0
- package/deployments/omega/base/addresses/entryPoint.json +3 -0
- package/deployments/omega/base/addresses/riverAirdrop.json +3 -0
- package/deployments/omega/base/addresses/simpleAppBeacon.json +3 -0
- package/deployments/omega/base/addresses/space.json +1 -0
- package/deployments/omega/base/addresses/spaceFactory.json +1 -0
- package/deployments/omega/base/addresses/spaceOwner.json +1 -0
- package/deployments/omega/base/addresses/subscriptionModule.json +3 -0
- package/deployments/omega/base/addresses/swapRouter.json +3 -0
- package/deployments/omega/base/addresses/utils/towns.json +3 -0
- package/deployments/omega/base/chainId.json +1 -0
- package/deployments/omega/bnb/addresses/townsBnb.json +3 -0
- package/deployments/omega/bnb/chainId.json +3 -0
- package/deployments/omega/gnosis/addresses/poapEntitlement.json +3 -0
- package/deployments/omega/gnosis/chainId.json +3 -0
- package/deployments/omega/mainnet/addresses/townsMainnet.json +3 -0
- package/deployments/omega/mainnet/addresses/utils/proxyBatchDelegation.json +3 -0
- package/deployments/omega/mainnet/addresses/wTowns.json +3 -0
- package/deployments/omega/mainnet/chainId.json +3 -0
- package/deployments/omega/mainnet/river.json +3 -0
- package/deployments/omega/river/addresses/riverRegistry.json +1 -0
- package/deployments/omega/river/chainId.json +1 -0
- package/dev/.contracts-hash +1 -0
- package/dev/abis/Architect.abi.json +299 -0
- package/dev/abis/Architect.abi.ts +299 -0
- package/dev/abis/Channels.abi.json +1619 -0
- package/dev/abis/Channels.abi.ts +1619 -0
- package/dev/abis/Diamond.abi.json +244 -0
- package/dev/abis/Diamond.abi.ts +244 -0
- package/dev/abis/DiamondCutFacet.abi.json +314 -0
- package/dev/abis/DiamondCutFacet.abi.ts +314 -0
- package/dev/abis/DropFacet.abi.json +834 -0
- package/dev/abis/DropFacet.abi.ts +834 -0
- package/dev/abis/ERC721A__IERC721ReceiverUpgradeable.abi.json +36 -0
- package/dev/abis/ERC721A__IERC721ReceiverUpgradeable.abi.ts +36 -0
- package/dev/abis/EntitlementsManager.abi.json +1251 -0
- package/dev/abis/EntitlementsManager.abi.ts +1251 -0
- package/dev/abis/GuardianFacet.abi.json +246 -0
- package/dev/abis/GuardianFacet.abi.ts +246 -0
- package/dev/abis/IAppAccount.abi.json +477 -0
- package/dev/abis/IAppAccount.abi.ts +477 -0
- package/dev/abis/IAppAccountBase.abi.json +280 -0
- package/dev/abis/IAppAccountBase.abi.ts +280 -0
- package/dev/abis/IAppFactory.abi.json +317 -0
- package/dev/abis/IAppFactory.abi.ts +317 -0
- package/dev/abis/IAppFactoryBase.abi.json +114 -0
- package/dev/abis/IAppFactoryBase.abi.ts +114 -0
- package/dev/abis/IAppInstaller.abi.json +89 -0
- package/dev/abis/IAppInstaller.abi.ts +89 -0
- package/dev/abis/IAppRegistry.abi.json +634 -0
- package/dev/abis/IAppRegistry.abi.ts +634 -0
- package/dev/abis/IAppRegistryBase.abi.json +287 -0
- package/dev/abis/IAppRegistryBase.abi.ts +287 -0
- package/dev/abis/IBanning.abi.json +141 -0
- package/dev/abis/IBanning.abi.ts +141 -0
- package/dev/abis/IBanningBase.abi.json +83 -0
- package/dev/abis/IBanningBase.abi.ts +83 -0
- package/dev/abis/ICreateSpace.abi.json +724 -0
- package/dev/abis/ICreateSpace.abi.ts +724 -0
- package/dev/abis/ICreateSpaceBase.abi.json +7 -0
- package/dev/abis/ICreateSpaceBase.abi.ts +7 -0
- package/dev/abis/ICrossChainEntitlement.abi.json +56 -0
- package/dev/abis/ICrossChainEntitlement.abi.ts +56 -0
- package/dev/abis/IERC5267.abi.json +51 -0
- package/dev/abis/IERC5267.abi.ts +51 -0
- package/dev/abis/IERC721A.abi.json +422 -0
- package/dev/abis/IERC721A.abi.ts +422 -0
- package/dev/abis/IERC721ABase.abi.json +173 -0
- package/dev/abis/IERC721ABase.abi.ts +173 -0
- package/dev/abis/IERC721AQueryable.abi.json +308 -0
- package/dev/abis/IERC721AQueryable.abi.ts +308 -0
- package/dev/abis/IEntitlementChecker.abi.json +357 -0
- package/dev/abis/IEntitlementChecker.abi.ts +357 -0
- package/dev/abis/IEntitlementCheckerBase.abi.json +168 -0
- package/dev/abis/IEntitlementCheckerBase.abi.ts +168 -0
- package/dev/abis/IEntitlementDataQueryable.abi.json +105 -0
- package/dev/abis/IEntitlementDataQueryable.abi.ts +105 -0
- package/dev/abis/IEntitlementDataQueryableBase.abi.json +1 -0
- package/dev/abis/IEntitlementDataQueryableBase.abi.ts +1 -0
- package/dev/abis/IEntitlementGated.abi.json +209 -0
- package/dev/abis/IEntitlementGated.abi.ts +209 -0
- package/dev/abis/IEntitlementGatedBase.abi.json +71 -0
- package/dev/abis/IEntitlementGatedBase.abi.ts +71 -0
- package/dev/abis/IIdentityRegistry.abi.json +265 -0
- package/dev/abis/IIdentityRegistry.abi.ts +265 -0
- package/dev/abis/IIdentityRegistryBase.abi.json +113 -0
- package/dev/abis/IIdentityRegistryBase.abi.ts +113 -0
- package/dev/abis/IMembershipMetadata.abi.json +28 -0
- package/dev/abis/IMembershipMetadata.abi.ts +28 -0
- package/dev/abis/IMulticall.abi.json +21 -0
- package/dev/abis/IMulticall.abi.ts +21 -0
- package/dev/abis/INodeOperator.abi.json +299 -0
- package/dev/abis/INodeOperator.abi.ts +299 -0
- package/dev/abis/INodeOperatorBase.abi.json +148 -0
- package/dev/abis/INodeOperatorBase.abi.ts +148 -0
- package/dev/abis/IPausable.abi.json +65 -0
- package/dev/abis/IPausable.abi.ts +65 -0
- package/dev/abis/IPausableBase.abi.json +38 -0
- package/dev/abis/IPausableBase.abi.ts +38 -0
- package/dev/abis/IPricingModules.abi.json +127 -0
- package/dev/abis/IPricingModules.abi.ts +127 -0
- package/dev/abis/IPricingModulesBase.abi.json +52 -0
- package/dev/abis/IPricingModulesBase.abi.ts +52 -0
- package/dev/abis/IReputationRegistry.abi.json +440 -0
- package/dev/abis/IReputationRegistry.abi.ts +440 -0
- package/dev/abis/IReputationRegistryBase.abi.json +119 -0
- package/dev/abis/IReputationRegistryBase.abi.ts +119 -0
- package/dev/abis/IReview.abi.json +184 -0
- package/dev/abis/IReview.abi.ts +184 -0
- package/dev/abis/IReviewBase.abi.json +85 -0
- package/dev/abis/IReviewBase.abi.ts +85 -0
- package/dev/abis/IRuleEntitlement.abi.json +448 -0
- package/dev/abis/IRuleEntitlement.abi.ts +448 -0
- package/dev/abis/IRuleEntitlementBase.abi.json +110 -0
- package/dev/abis/IRuleEntitlementBase.abi.ts +110 -0
- package/dev/abis/IRuleEntitlementV2.abi.json +448 -0
- package/dev/abis/IRuleEntitlementV2.abi.ts +448 -0
- package/dev/abis/ISimpleApp.abi.json +276 -0
- package/dev/abis/ISimpleApp.abi.ts +276 -0
- package/dev/abis/ISimpleAppBase.abi.json +170 -0
- package/dev/abis/ISimpleAppBase.abi.ts +170 -0
- package/dev/abis/ISpaceDelegation.abi.json +207 -0
- package/dev/abis/ISpaceDelegation.abi.ts +207 -0
- package/dev/abis/ISpaceDelegationBase.abi.json +93 -0
- package/dev/abis/ISpaceDelegationBase.abi.ts +93 -0
- package/dev/abis/ISwapFacet.abi.json +467 -0
- package/dev/abis/ISwapFacet.abi.ts +467 -0
- package/dev/abis/ISwapFacetBase.abi.json +84 -0
- package/dev/abis/ISwapFacetBase.abi.ts +84 -0
- package/dev/abis/ISwapRouter.abi.json +504 -0
- package/dev/abis/ISwapRouter.abi.ts +504 -0
- package/dev/abis/ISwapRouterBase.abi.json +146 -0
- package/dev/abis/ISwapRouterBase.abi.ts +146 -0
- package/dev/abis/ITipping.abi.json +330 -0
- package/dev/abis/ITipping.abi.ts +330 -0
- package/dev/abis/ITippingBase.abi.json +144 -0
- package/dev/abis/ITippingBase.abi.ts +144 -0
- package/dev/abis/ITownsApp.abi.json +194 -0
- package/dev/abis/ITownsApp.abi.ts +194 -0
- package/dev/abis/ITownsPoints.abi.json +153 -0
- package/dev/abis/ITownsPoints.abi.ts +153 -0
- package/dev/abis/ITownsPointsBase.abi.json +53 -0
- package/dev/abis/ITownsPointsBase.abi.ts +53 -0
- package/dev/abis/ITreasury.abi.json +132 -0
- package/dev/abis/ITreasury.abi.ts +132 -0
- package/dev/abis/MainnetDelegation.abi.json +517 -0
- package/dev/abis/MainnetDelegation.abi.ts +517 -0
- package/dev/abis/Member.abi.json +795 -0
- package/dev/abis/Member.abi.ts +795 -0
- package/dev/abis/MembershipFacet.abi.json +2347 -0
- package/dev/abis/MembershipFacet.abi.ts +2347 -0
- package/dev/abis/MockCrossChainEntitlement.abi.json +98 -0
- package/dev/abis/MockCrossChainEntitlement.abi.ts +98 -0
- package/dev/abis/MockERC721A.abi.json +554 -0
- package/dev/abis/MockERC721A.abi.ts +554 -0
- package/dev/abis/MockEntitlementGated.abi.json +976 -0
- package/dev/abis/MockEntitlementGated.abi.ts +976 -0
- package/dev/abis/MockLegacyArchitect.abi.json +366 -0
- package/dev/abis/MockLegacyArchitect.abi.ts +366 -0
- package/dev/abis/MockRiverRegistry.abi.json +1351 -0
- package/dev/abis/MockRiverRegistry.abi.ts +1351 -0
- package/dev/abis/MockWalletLink.abi.json +472 -0
- package/dev/abis/MockWalletLink.abi.ts +472 -0
- package/dev/abis/MockWalletLinkStorage.abi.json +1 -0
- package/dev/abis/MockWalletLinkStorage.abi.ts +1 -0
- package/dev/abis/NodeRegistry.abi.json +389 -0
- package/dev/abis/NodeRegistry.abi.ts +389 -0
- package/dev/abis/OperatorRegistry.abi.json +193 -0
- package/dev/abis/OperatorRegistry.abi.ts +193 -0
- package/dev/abis/OwnableFacet.abi.json +135 -0
- package/dev/abis/OwnableFacet.abi.ts +135 -0
- package/dev/abis/PlatformRequirementsFacet.abi.json +522 -0
- package/dev/abis/PlatformRequirementsFacet.abi.ts +522 -0
- package/dev/abis/ProxyManager.abi.json +165 -0
- package/dev/abis/ProxyManager.abi.ts +165 -0
- package/dev/abis/RewardsDistributionV2.abi.json +1295 -0
- package/dev/abis/RewardsDistributionV2.abi.ts +1295 -0
- package/dev/abis/Roles.abi.json +1583 -0
- package/dev/abis/Roles.abi.ts +1583 -0
- package/dev/abis/SpaceOwner.abi.json +1136 -0
- package/dev/abis/SpaceOwner.abi.ts +1136 -0
- package/dev/abis/StreamFlags.abi.json +1 -0
- package/dev/abis/StreamFlags.abi.ts +1 -0
- package/dev/abis/StreamRegistry.abi.json +543 -0
- package/dev/abis/StreamRegistry.abi.ts +543 -0
- package/dev/abis/SubscriptionModuleFacet.abi.json +1132 -0
- package/dev/abis/SubscriptionModuleFacet.abi.ts +1132 -0
- package/dev/abis/TokenPausableFacet.abi.json +166 -0
- package/dev/abis/TokenPausableFacet.abi.ts +166 -0
- package/dev/abis/Towns.abi.json +1202 -0
- package/dev/abis/Towns.abi.ts +1202 -0
- package/dev/abis/UserEntitlement.abi.json +331 -0
- package/dev/abis/UserEntitlement.abi.ts +331 -0
- package/dev/abis/WalletLink.abi.json +841 -0
- package/dev/abis/WalletLink.abi.ts +841 -0
- package/dev/typings/Architect.ts +421 -0
- package/dev/typings/Channels.ts +1435 -0
- package/dev/typings/DropFacet.ts +733 -0
- package/dev/typings/ERC721A/IERC721A.ts +596 -0
- package/dev/typings/ERC721A/index.ts +4 -0
- package/dev/typings/EntitlementsManager.ts +1054 -0
- package/dev/typings/GuardianFacet.ts +419 -0
- package/dev/typings/IAppAccount.ts +542 -0
- package/dev/typings/IAppFactory.ts +440 -0
- package/dev/typings/IAppInstaller.ts +239 -0
- package/dev/typings/IAppRegistry.ts +724 -0
- package/dev/typings/IArchitect.ts +275 -0
- package/dev/typings/IBanning.ts +211 -0
- package/dev/typings/IChannel.ts +574 -0
- package/dev/typings/ICreateSpace.ts +505 -0
- package/dev/typings/ICrossChainEntitlement.ts +142 -0
- package/dev/typings/IDiamond.ts +55 -0
- package/dev/typings/IDiamondCut.ts +157 -0
- package/dev/typings/IDropFacet.ts +573 -0
- package/dev/typings/IERC5267.ts +143 -0
- package/dev/typings/IERC721A.ts +596 -0
- package/dev/typings/IERC721AQueryable.ts +346 -0
- package/dev/typings/IEntitlementChecker.ts +533 -0
- package/dev/typings/IEntitlementDataQueryable.ts +198 -0
- package/dev/typings/IEntitlementsManager.ts +399 -0
- package/dev/typings/IIdentityRegistry.ts +418 -0
- package/dev/typings/IMembershipMetadata.ts +125 -0
- package/dev/typings/IMockLegacyArchitect.sol/ILegacyArchitect.ts +294 -0
- package/dev/typings/IMockLegacyArchitect.sol/index.ts +4 -0
- package/dev/typings/IMulticall.ts +98 -0
- package/dev/typings/INodeOperator.ts +457 -0
- package/dev/typings/INodeRegistry.ts +556 -0
- package/dev/typings/IOperatorRegistry.ts +212 -0
- package/dev/typings/IPausable.ts +153 -0
- package/dev/typings/IPricingModules.ts +277 -0
- package/dev/typings/IProxyManager.ts +168 -0
- package/dev/typings/IReputationRegistry.ts +678 -0
- package/dev/typings/IReview.ts +258 -0
- package/dev/typings/IRoles.ts +758 -0
- package/dev/typings/IRuleEntitlement.sol/IRuleEntitlement.ts +452 -0
- package/dev/typings/IRuleEntitlement.sol/IRuleEntitlementV2.ts +452 -0
- package/dev/typings/IRuleEntitlement.sol/index.ts +5 -0
- package/dev/typings/ISimpleApp.ts +437 -0
- package/dev/typings/ISpaceDelegation.ts +371 -0
- package/dev/typings/IStreamRegistry.ts +709 -0
- package/dev/typings/ISwapFacet.ts +495 -0
- package/dev/typings/ISwapRouter.ts +507 -0
- package/dev/typings/ITipping.ts +456 -0
- package/dev/typings/ITownsApp.ts +371 -0
- package/dev/typings/ITownsPoints.ts +291 -0
- package/dev/typings/ITreasury.ts +270 -0
- package/dev/typings/IWalletLink.ts +849 -0
- package/dev/typings/MainnetDelegation.ts +707 -0
- package/dev/typings/Member.ts +1009 -0
- package/dev/typings/MembershipFacet.ts +2164 -0
- package/dev/typings/MockERC721A.ts +771 -0
- package/dev/typings/MockEntitlementGated.ts +734 -0
- package/dev/typings/MockLegacyArchitect.ts +396 -0
- package/dev/typings/NodeRegistry.ts +579 -0
- package/dev/typings/OperatorRegistry.ts +319 -0
- package/dev/typings/OwnableFacet.ts +228 -0
- package/dev/typings/PlatformRequirementsFacet.ts +883 -0
- package/dev/typings/RewardsDistributionV2.ts +1723 -0
- package/dev/typings/Roles.ts +1416 -0
- package/dev/typings/SpaceOwner.ts +1466 -0
- package/dev/typings/StreamRegistry.ts +715 -0
- package/dev/typings/SubscriptionModuleFacet.ts +1450 -0
- package/dev/typings/TokenPausableFacet.ts +252 -0
- package/dev/typings/Towns.ts +1709 -0
- package/dev/typings/UserEntitlement.ts +490 -0
- package/dev/typings/WalletLink.ts +959 -0
- package/dev/typings/apps/ITownsApp.ts +371 -0
- package/dev/typings/apps/index.ts +4 -0
- package/dev/typings/banning/IBanning.ts +211 -0
- package/dev/typings/banning/index.ts +4 -0
- package/dev/typings/base/Towns.ts +1709 -0
- package/dev/typings/base/index.ts +4 -0
- package/dev/typings/channels/IChannel.ts +574 -0
- package/dev/typings/channels/index.ts +4 -0
- package/dev/typings/common.ts +44 -0
- package/dev/typings/cut/IDiamondCut.ts +157 -0
- package/dev/typings/cut/index.ts +4 -0
- package/dev/typings/delegation/ISpaceDelegation.ts +371 -0
- package/dev/typings/delegation/index.ts +4 -0
- package/dev/typings/drop/IDropFacet.ts +573 -0
- package/dev/typings/drop/index.ts +4 -0
- package/dev/typings/entitlements/ICrossChainEntitlement.ts +142 -0
- package/dev/typings/entitlements/IEntitlementsManager.ts +399 -0
- package/dev/typings/entitlements/index.ts +5 -0
- package/dev/typings/extensions/IERC721AQueryable.ts +346 -0
- package/dev/typings/extensions/IEntitlementDataQueryable.ts +198 -0
- package/dev/typings/extensions/index.ts +5 -0
- package/dev/typings/factories/Architect__factory.ts +356 -0
- package/dev/typings/factories/Channels__factory.ts +1676 -0
- package/dev/typings/factories/DropFacet__factory.ts +891 -0
- package/dev/typings/factories/ERC721A/IERC721A__factory.ts +443 -0
- package/dev/typings/factories/ERC721A/index.ts +4 -0
- package/dev/typings/factories/EntitlementsManager__factory.ts +1311 -0
- package/dev/typings/factories/GuardianFacet__factory.ts +303 -0
- package/dev/typings/factories/IAppAccount__factory.ts +498 -0
- package/dev/typings/factories/IAppFactory__factory.ts +338 -0
- package/dev/typings/factories/IAppInstaller__factory.ts +110 -0
- package/dev/typings/factories/IAppRegistry__factory.ts +655 -0
- package/dev/typings/factories/IArchitect__factory.ts +157 -0
- package/dev/typings/factories/IBanning__factory.ts +162 -0
- package/dev/typings/factories/IChannel__factory.ts +380 -0
- package/dev/typings/factories/ICreateSpace__factory.ts +745 -0
- package/dev/typings/factories/ICrossChainEntitlement__factory.ts +84 -0
- package/dev/typings/factories/IDiamondCut__factory.ts +207 -0
- package/dev/typings/factories/IDiamond__factory.ts +28 -0
- package/dev/typings/factories/IDropFacet__factory.ts +666 -0
- package/dev/typings/factories/IERC5267__factory.ts +72 -0
- package/dev/typings/factories/IERC721AQueryable__factory.ts +332 -0
- package/dev/typings/factories/IERC721A__factory.ts +443 -0
- package/dev/typings/factories/IEntitlementChecker__factory.ts +381 -0
- package/dev/typings/factories/IEntitlementDataQueryable__factory.ts +133 -0
- package/dev/typings/factories/IEntitlementsManager__factory.ts +236 -0
- package/dev/typings/factories/IIdentityRegistry__factory.ts +289 -0
- package/dev/typings/factories/IMembershipMetadata__factory.ts +52 -0
- package/dev/typings/factories/IMockLegacyArchitect.sol/ILegacyArchitect__factory.ts +289 -0
- package/dev/typings/factories/IMockLegacyArchitect.sol/index.ts +4 -0
- package/dev/typings/factories/IMulticall__factory.ts +42 -0
- package/dev/typings/factories/INodeOperator__factory.ts +320 -0
- package/dev/typings/factories/INodeRegistry__factory.ts +375 -0
- package/dev/typings/factories/IOperatorRegistry__factory.ts +110 -0
- package/dev/typings/factories/IPausable__factory.ts +86 -0
- package/dev/typings/factories/IPricingModules__factory.ts +151 -0
- package/dev/typings/factories/IProxyManager__factory.ts +79 -0
- package/dev/typings/factories/IReputationRegistry__factory.ts +464 -0
- package/dev/typings/factories/IReview__factory.ts +205 -0
- package/dev/typings/factories/IRoles__factory.ts +552 -0
- package/dev/typings/factories/IRuleEntitlement.sol/IRuleEntitlementV2__factory.ts +472 -0
- package/dev/typings/factories/IRuleEntitlement.sol/IRuleEntitlement__factory.ts +472 -0
- package/dev/typings/factories/IRuleEntitlement.sol/index.ts +5 -0
- package/dev/typings/factories/ISimpleApp__factory.ts +297 -0
- package/dev/typings/factories/ISpaceDelegation__factory.ts +231 -0
- package/dev/typings/factories/IStreamRegistry__factory.ts +567 -0
- package/dev/typings/factories/ISwapFacet__factory.ts +488 -0
- package/dev/typings/factories/ISwapRouter__factory.ts +525 -0
- package/dev/typings/factories/ITipping__factory.ts +351 -0
- package/dev/typings/factories/ITownsApp__factory.ts +215 -0
- package/dev/typings/factories/ITownsPoints__factory.ts +174 -0
- package/dev/typings/factories/ITreasury__factory.ts +153 -0
- package/dev/typings/factories/IWalletLink__factory.ts +739 -0
- package/dev/typings/factories/MainnetDelegation__factory.ts +577 -0
- package/dev/typings/factories/Member__factory.ts +876 -0
- package/dev/typings/factories/MembershipFacet__factory.ts +2407 -0
- package/dev/typings/factories/MockERC721A__factory.ts +611 -0
- package/dev/typings/factories/MockEntitlementGated__factory.ts +1045 -0
- package/dev/typings/factories/MockLegacyArchitect__factory.ts +432 -0
- package/dev/typings/factories/NodeRegistry__factory.ts +446 -0
- package/dev/typings/factories/OperatorRegistry__factory.ts +253 -0
- package/dev/typings/factories/OwnableFacet__factory.ts +192 -0
- package/dev/typings/factories/PlatformRequirementsFacet__factory.ts +586 -0
- package/dev/typings/factories/RewardsDistributionV2__factory.ts +1359 -0
- package/dev/typings/factories/Roles__factory.ts +1635 -0
- package/dev/typings/factories/SpaceOwner__factory.ts +1193 -0
- package/dev/typings/factories/StreamRegistry__factory.ts +603 -0
- package/dev/typings/factories/SubscriptionModuleFacet__factory.ts +1196 -0
- package/dev/typings/factories/TokenPausableFacet__factory.ts +226 -0
- package/dev/typings/factories/Towns__factory.ts +1254 -0
- package/dev/typings/factories/UserEntitlement__factory.ts +391 -0
- package/dev/typings/factories/WalletLink__factory.ts +898 -0
- package/dev/typings/factories/apps/ITownsApp__factory.ts +215 -0
- package/dev/typings/factories/apps/index.ts +4 -0
- package/dev/typings/factories/banning/IBanning__factory.ts +162 -0
- package/dev/typings/factories/banning/index.ts +4 -0
- package/dev/typings/factories/base/Towns__factory.ts +1254 -0
- package/dev/typings/factories/base/index.ts +4 -0
- package/dev/typings/factories/channels/IChannel__factory.ts +380 -0
- package/dev/typings/factories/channels/index.ts +4 -0
- package/dev/typings/factories/cut/IDiamondCut__factory.ts +207 -0
- package/dev/typings/factories/cut/index.ts +4 -0
- package/dev/typings/factories/delegation/ISpaceDelegation__factory.ts +231 -0
- package/dev/typings/factories/delegation/index.ts +4 -0
- package/dev/typings/factories/drop/IDropFacet__factory.ts +666 -0
- package/dev/typings/factories/drop/index.ts +4 -0
- package/dev/typings/factories/entitlements/ICrossChainEntitlement__factory.ts +84 -0
- package/dev/typings/factories/entitlements/IEntitlementsManager__factory.ts +236 -0
- package/dev/typings/factories/entitlements/index.ts +5 -0
- package/dev/typings/factories/extensions/IERC721AQueryable__factory.ts +332 -0
- package/dev/typings/factories/extensions/IEntitlementDataQueryable__factory.ts +133 -0
- package/dev/typings/factories/extensions/index.ts +5 -0
- package/dev/typings/factories/factory/IAppFactory__factory.ts +341 -0
- package/dev/typings/factories/factory/index.ts +4 -0
- package/dev/typings/factories/guardian/GuardianFacet__factory.ts +306 -0
- package/dev/typings/factories/guardian/index.ts +4 -0
- package/dev/typings/factories/index.ts +101 -0
- package/dev/typings/factories/interfaces/IERC5267__factory.ts +72 -0
- package/dev/typings/factories/interfaces/IMulticall__factory.ts +45 -0
- package/dev/typings/factories/interfaces/index.ts +5 -0
- package/dev/typings/factories/mainnet/MainnetDelegation__factory.ts +577 -0
- package/dev/typings/factories/mainnet/Towns__factory.ts +1350 -0
- package/dev/typings/factories/mainnet/index.ts +5 -0
- package/dev/typings/factories/manager/IProxyManager__factory.ts +82 -0
- package/dev/typings/factories/manager/index.ts +4 -0
- package/dev/typings/factories/metadata/IMembershipMetadata__factory.ts +52 -0
- package/dev/typings/factories/metadata/index.ts +4 -0
- package/dev/typings/factories/mocks/MockERC721A__factory.ts +614 -0
- package/dev/typings/factories/mocks/index.ts +4 -0
- package/dev/typings/factories/multichain/Towns__factory.ts +1687 -0
- package/dev/typings/factories/multichain/index.ts +4 -0
- package/dev/typings/factories/operator/INodeOperator__factory.ts +323 -0
- package/dev/typings/factories/operator/IOperatorRegistry__factory.ts +110 -0
- package/dev/typings/factories/operator/index.ts +5 -0
- package/dev/typings/factories/ownable/OwnableFacet__factory.ts +195 -0
- package/dev/typings/factories/ownable/index.ts +4 -0
- package/dev/typings/factories/pausable/IPausable__factory.ts +86 -0
- package/dev/typings/factories/pausable/index.ts +4 -0
- package/dev/typings/factories/points/ITownsPoints__factory.ts +177 -0
- package/dev/typings/factories/points/index.ts +4 -0
- package/dev/typings/factories/pricing/IPricingModules__factory.ts +151 -0
- package/dev/typings/factories/pricing/index.ts +4 -0
- package/dev/typings/factories/requirements/PlatformRequirementsFacet__factory.ts +586 -0
- package/dev/typings/factories/requirements/index.ts +4 -0
- package/dev/typings/factories/roles/IRoles__factory.ts +552 -0
- package/dev/typings/factories/roles/index.ts +4 -0
- package/dev/typings/factories/router/ISwapRouter__factory.ts +528 -0
- package/dev/typings/factories/router/index.ts +4 -0
- package/dev/typings/factories/rule/IRuleEntitlement.sol/IRuleEntitlementV2__factory.ts +472 -0
- package/dev/typings/factories/rule/IRuleEntitlement.sol/IRuleEntitlement__factory.ts +472 -0
- package/dev/typings/factories/rule/IRuleEntitlement.sol/index.ts +5 -0
- package/dev/typings/factories/rule/index.ts +4 -0
- package/dev/typings/factories/src/IDiamond__factory.ts +28 -0
- package/dev/typings/factories/src/index.ts +4 -0
- package/dev/typings/factories/swap/ISwapFacet__factory.ts +488 -0
- package/dev/typings/factories/swap/index.ts +4 -0
- package/dev/typings/factories/token/TokenPausableFacet__factory.ts +226 -0
- package/dev/typings/factories/token/index.ts +4 -0
- package/dev/typings/factories/user/UserEntitlement__factory.ts +391 -0
- package/dev/typings/factories/user/index.ts +4 -0
- package/dev/typings/factories/wallet-link/IWalletLink__factory.ts +742 -0
- package/dev/typings/factories/wallet-link/index.ts +4 -0
- package/dev/typings/factory/IAppFactory.ts +440 -0
- package/dev/typings/factory/index.ts +4 -0
- package/dev/typings/guardian/GuardianFacet.ts +419 -0
- package/dev/typings/guardian/index.ts +4 -0
- package/dev/typings/index.ts +224 -0
- package/dev/typings/interfaces/IERC5267.ts +143 -0
- package/dev/typings/interfaces/IMulticall.ts +98 -0
- package/dev/typings/interfaces/index.ts +5 -0
- package/dev/typings/mainnet/MainnetDelegation.ts +707 -0
- package/dev/typings/mainnet/Towns.ts +1918 -0
- package/dev/typings/mainnet/index.ts +5 -0
- package/dev/typings/manager/IProxyManager.ts +168 -0
- package/dev/typings/manager/index.ts +4 -0
- package/dev/typings/metadata/IMembershipMetadata.ts +125 -0
- package/dev/typings/metadata/index.ts +4 -0
- package/dev/typings/mocks/MockERC721A.ts +771 -0
- package/dev/typings/mocks/index.ts +4 -0
- package/dev/typings/multichain/Towns.ts +1671 -0
- package/dev/typings/multichain/index.ts +4 -0
- package/dev/typings/operator/INodeOperator.ts +457 -0
- package/dev/typings/operator/IOperatorRegistry.ts +212 -0
- package/dev/typings/operator/index.ts +5 -0
- package/dev/typings/ownable/OwnableFacet.ts +228 -0
- package/dev/typings/ownable/index.ts +4 -0
- package/dev/typings/pausable/IPausable.ts +153 -0
- package/dev/typings/pausable/index.ts +4 -0
- package/dev/typings/points/ITownsPoints.ts +291 -0
- package/dev/typings/points/index.ts +4 -0
- package/dev/typings/pricing/IPricingModules.ts +277 -0
- package/dev/typings/pricing/index.ts +4 -0
- package/dev/typings/requirements/PlatformRequirementsFacet.ts +883 -0
- package/dev/typings/requirements/index.ts +4 -0
- package/dev/typings/roles/IRoles.ts +758 -0
- package/dev/typings/roles/index.ts +4 -0
- package/dev/typings/router/ISwapRouter.ts +507 -0
- package/dev/typings/router/index.ts +4 -0
- package/dev/typings/rule/IRuleEntitlement.sol/IRuleEntitlement.ts +452 -0
- package/dev/typings/rule/IRuleEntitlement.sol/IRuleEntitlementV2.ts +452 -0
- package/dev/typings/rule/IRuleEntitlement.sol/index.ts +5 -0
- package/dev/typings/rule/index.ts +5 -0
- package/dev/typings/src/IDiamond.ts +55 -0
- package/dev/typings/src/index.ts +4 -0
- package/dev/typings/swap/ISwapFacet.ts +495 -0
- package/dev/typings/swap/index.ts +4 -0
- package/dev/typings/token/TokenPausableFacet.ts +252 -0
- package/dev/typings/token/index.ts +4 -0
- package/dev/typings/user/UserEntitlement.ts +490 -0
- package/dev/typings/user/index.ts +4 -0
- package/dev/typings/wallet-link/IWalletLink.ts +849 -0
- package/dev/typings/wallet-link/index.ts +4 -0
- package/package.json +37 -0
- package/scripts/build-contract-types.sh +42 -0
- package/scripts/copy-addresses.sh +10 -0
- package/scripts/make-config.js +95 -0
- package/scripts/make-config.sh +6 -0
- package/scripts/prepare.js +176 -0
- package/v3/abis/IERC5267.abi.json +51 -0
- package/v3/abis/IERC5267.abi.ts +51 -0
- package/v3/abis/WalletLink.abi.json +446 -0
- package/v3/abis/WalletLink.abi.ts +446 -0
- package/v3/typings/IERC5267.ts +144 -0
- package/v3/typings/IWalletLink.ts +419 -0
- package/v3/typings/cryptography/IERC5267.ts +144 -0
- package/v3/typings/cryptography/index.ts +4 -0
- package/v3/typings/factories/IERC5267__factory.ts +72 -0
- package/v3/typings/factories/IWalletLink__factory.ts +358 -0
- package/v3/typings/factories/cryptography/IERC5267__factory.ts +72 -0
- package/v3/typings/factories/cryptography/index.ts +4 -0
- package/v3/typings/factories/index.ts +35 -0
- package/v3/typings/index.ts +69 -0
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@towns-labs/generated",
|
|
3
|
+
"version": "2.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "bun ./scripts/prepare.js",
|
|
7
|
+
"build-types": "bash scripts/build-contract-types.sh",
|
|
8
|
+
"make-config": "bun ./scripts/make-config.js"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@ethersproject/abi": "^5.8.0",
|
|
12
|
+
"@ethersproject/providers": "^5.8.0",
|
|
13
|
+
"ethers": "^5.8.0"
|
|
14
|
+
},
|
|
15
|
+
"devDependencies": {
|
|
16
|
+
"@towns-labs/contracts": "^2.0.0",
|
|
17
|
+
"@typechain/ethers-v5": "^11.1.2",
|
|
18
|
+
"typechain": "^8.3.2"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"config/**/*",
|
|
22
|
+
"deployments/**/*",
|
|
23
|
+
"dev/**/*",
|
|
24
|
+
"scripts/**/*",
|
|
25
|
+
"v3/**/*",
|
|
26
|
+
"README.md"
|
|
27
|
+
],
|
|
28
|
+
"imports": {
|
|
29
|
+
"#/dev/*": "./dev/*",
|
|
30
|
+
"#/v3/*": "./v3/*",
|
|
31
|
+
"#/deployments/*": "./deployments/*",
|
|
32
|
+
"#/config/*": "./config/*"
|
|
33
|
+
},
|
|
34
|
+
"publishConfig": {
|
|
35
|
+
"access": "public"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -ueo pipefail
|
|
3
|
+
cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")"
|
|
4
|
+
cd ..
|
|
5
|
+
|
|
6
|
+
# Contracts package is a sibling directory
|
|
7
|
+
CONTRACTS_DIR="../contracts"
|
|
8
|
+
ABI_DIR="./dev/abis"
|
|
9
|
+
TYPINGS_DIR="./dev/typings"
|
|
10
|
+
|
|
11
|
+
# Run forge build in contracts directory (needs foundry.toml)
|
|
12
|
+
(cd "$CONTRACTS_DIR" && forge build)
|
|
13
|
+
|
|
14
|
+
CONTRACT_INTERFACES="(IDiamond|IDiamondCut|IArchitect|Architect|ILegacyArchitect|MockLegacyArchitect|IProxyManager|IPausable|IEntitlementsManager|EntitlementsManager|IChannel|Channels|IRoles|Roles|IMulticall|IRuleEntitlement|IRuleEntitlementV2|IWalletLink|WalletLink|INodeRegistry|NodeRegistry|IOperatorRegistry|OperatorRegistry|IStreamRegistry|StreamRegistry|OwnableFacet|TokenPausableFacet|UserEntitlement|SpaceOwner|MockERC721A|MembershipFacet|IMembershipMetadata|Member|IBanning|IPricingModules|ICrossChainEntitlement|MockEntitlementGated|IERC721AQueryable|IEntitlementDataQueryable|PlatformRequirementsFacet|IERC721A|INodeOperator|ISpaceDelegation|IEntitlementChecker|IERC5267|ICreateSpace|IDropFacet|DropFacet|ITownsPoints|ITipping|IReview|ITreasury|ISwapRouter|ISwapFacet|IAppRegistry|IAppAccount|ISimpleApp|ITownsApp|Towns|RewardsDistributionV2|MainnetDelegation|GuardianFacet|SubscriptionModuleFacet|IAppInstaller|IAppFactory|IIdentityRegistry|IReputationRegistry)"
|
|
15
|
+
|
|
16
|
+
# Clean typings to avoid stale factories/interfaces lingering between runs
|
|
17
|
+
rm -rf "$TYPINGS_DIR"
|
|
18
|
+
bun run typechain --target=ethers-v5 "$CONTRACTS_DIR/out/**/?${CONTRACT_INTERFACES}.json" --out-dir "$TYPINGS_DIR"
|
|
19
|
+
|
|
20
|
+
# Clean abis to avoid stale abi files lingering between runs
|
|
21
|
+
rm -rf "$ABI_DIR"
|
|
22
|
+
mkdir -p "$ABI_DIR"
|
|
23
|
+
cp -a $CONTRACTS_DIR/out/{Diamond,DiamondCutFacet,Architect,MockLegacyArchitect,ProxyManager,IPausable,EntitlementsManager,Channels,Roles,IMulticall,OwnableFacet,WalletLink,MockWalletLink,NodeRegistry,OperatorRegistry,StreamRegistry,TokenPausableFacet,IRuleEntitlement,UserEntitlement,SpaceOwner,MockERC721A,MembershipFacet,IMembershipMetadata,Member,MockRiverRegistry,IBanning,IPricingModules,ICrossChainEntitlement,MockCrossChainEntitlement,MockEntitlementGated,IERC721AQueryable,IEntitlementDataQueryable,PlatformRequirementsFacet,IERC721A,INodeOperator,ISpaceDelegation,IEntitlementChecker,IEntitlementGated,IERC5267,ICreateSpace,DropFacet,ITownsPoints,ITipping,IReview,ITreasury,ISwapRouter,ISwapFacet,IAppRegistry,IAppAccount,ISimpleApp,ITownsApp,Towns,RewardsDistributionV2,MainnetDelegation,GuardianFacet,SubscriptionModuleFacet,IAppInstaller,IAppFactory,IIdentityRegistry,IReputationRegistry}.sol/*.abi.json "$ABI_DIR"
|
|
24
|
+
|
|
25
|
+
# Copy the json abis to TS files for type inference
|
|
26
|
+
for file in $ABI_DIR/*.abi.json; do
|
|
27
|
+
filename=$(basename "$file" .json)
|
|
28
|
+
echo "export default $(cat $file) as const" > $ABI_DIR/$filename.ts
|
|
29
|
+
done
|
|
30
|
+
|
|
31
|
+
# Generate contract hash for this artifact build
|
|
32
|
+
echo "Generating contract hash..."
|
|
33
|
+
SRC_HASH=$(git rev-parse HEAD:$CONTRACTS_DIR/src 2>/dev/null || echo "")
|
|
34
|
+
BUILD_SCRIPT_HASH=$(git rev-parse HEAD:./scripts/build-contract-types.sh 2>/dev/null || echo "")
|
|
35
|
+
|
|
36
|
+
if [ -n "$SRC_HASH" ] && [ -n "$BUILD_SCRIPT_HASH" ]; then
|
|
37
|
+
CONTRACTS_HASH="$SRC_HASH:$BUILD_SCRIPT_HASH"
|
|
38
|
+
echo "$CONTRACTS_HASH" > "./dev/.contracts-hash"
|
|
39
|
+
echo "Contract hash: $CONTRACTS_HASH"
|
|
40
|
+
else
|
|
41
|
+
echo "Warning: Failed to generate contract hash (not in git repo or src not found)"
|
|
42
|
+
fi
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
|
|
4
|
+
const deploymentsOutputFile = 'config/deployments.json';
|
|
5
|
+
const deploymentsSourceDir = 'deployments';
|
|
6
|
+
|
|
7
|
+
// parse deployment folder jsons into a single json object
|
|
8
|
+
function combineJson(dir) {
|
|
9
|
+
const outputData = {};
|
|
10
|
+
const files = fs.readdirSync(dir).filter(file => file.endsWith('.json'));
|
|
11
|
+
const subdirs = fs.readdirSync(dir).filter(subdir => fs.statSync(path.join(dir, subdir)).isDirectory());
|
|
12
|
+
|
|
13
|
+
const dirName = path.basename(dir);
|
|
14
|
+
// console.log(`Processing ${dirName} of ${dir}`);
|
|
15
|
+
|
|
16
|
+
for (const file of files) {
|
|
17
|
+
if (!file.endsWith('.json')) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
const filePath = path.join(dir, file);
|
|
21
|
+
// console.log(`Reading ${filePath}`);
|
|
22
|
+
const fileData = JSON.parse(fs.readFileSync(filePath, 'utf8'));
|
|
23
|
+
const fileName = path.basename(file, '.json');
|
|
24
|
+
// if the file only has one property, just use that property
|
|
25
|
+
if (Object.keys(fileData).length === 1) {
|
|
26
|
+
outputData[fileName] = fileData[Object.keys(fileData)[0]];
|
|
27
|
+
} else {
|
|
28
|
+
outputData[fileName] = fileData;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
for (const subdir of subdirs) {
|
|
33
|
+
const subdirPath = path.join(dir, subdir);
|
|
34
|
+
outputData[subdir] = combineJson(subdirPath);
|
|
35
|
+
}
|
|
36
|
+
return outputData;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// helper for env var readability
|
|
40
|
+
function keyToEnvKey(key) {
|
|
41
|
+
// convert camelCase to snake_case, handling acronyms properly
|
|
42
|
+
return key
|
|
43
|
+
.replace(/([a-z])([A-Z])/g, '$1_$2') // insert _ between lowercase and uppercase
|
|
44
|
+
.replace(/([A-Z])([A-Z][a-z])/g, '$1_$2') // insert _ between acronym and next word
|
|
45
|
+
.toUpperCase();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// convert a json object to a .env file content string
|
|
49
|
+
function convertToEnv(data, prefix = '') {
|
|
50
|
+
// recursively walk nested objects, convert all keys to UPPER SNAKE CASE and values set equal to value,
|
|
51
|
+
let envContent = ''
|
|
52
|
+
for (const key of Object.keys(data)) {
|
|
53
|
+
const value = data[key];
|
|
54
|
+
const envKey = `${prefix}${keyToEnvKey(key)}`;
|
|
55
|
+
if (typeof value === 'object') {
|
|
56
|
+
envContent += convertToEnv(value, `${envKey}_`);
|
|
57
|
+
} else {
|
|
58
|
+
envContent += `${envKey}=${String(value)}\n`;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return envContent;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function makeEnvFile(key, outputData, fileName, keyPrefix = '') {
|
|
65
|
+
const envFile = path.join(deploymentsSourceDir, key, fileName);
|
|
66
|
+
const data = outputData[key];
|
|
67
|
+
const envData = convertToEnv(data, keyPrefix);
|
|
68
|
+
fs.writeFileSync(envFile, `${keyPrefix}RIVER_ENV=${key}\n${envData}`);
|
|
69
|
+
return envFile;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const outputData = combineJson(deploymentsSourceDir);
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
// for each top level key in outputData, write a .env file in the deployments/<key> folder
|
|
76
|
+
// with all keys in the json converted to UPPER SNAKE CASE
|
|
77
|
+
for (const key of Object.keys(outputData)) {
|
|
78
|
+
const files = [
|
|
79
|
+
makeEnvFile(key, outputData, '.env', ''),
|
|
80
|
+
makeEnvFile(key, outputData, '.env.vite', 'VITE_')
|
|
81
|
+
];
|
|
82
|
+
console.log(`Wrote "${key}" env files at ${files.join(', ')}`);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// delete the local_ environments from the outputData
|
|
86
|
+
for (const key of Object.keys(outputData)) {
|
|
87
|
+
if (key.startsWith('local')) {
|
|
88
|
+
delete outputData[key];
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// write a config.json file
|
|
93
|
+
fs.mkdirSync(path.dirname(deploymentsOutputFile), { recursive: true });
|
|
94
|
+
fs.writeFileSync(deploymentsOutputFile, JSON.stringify(outputData, null, 2));
|
|
95
|
+
console.log(`Combined deployments for [${Object.keys(outputData).join(', ')}] JSON written to ${deploymentsOutputFile}`);
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* CONTRACT ARTIFACT MANAGEMENT
|
|
5
|
+
*
|
|
6
|
+
* Strategy: Use checked-in artifacts, fallback to npm download or local generation.
|
|
7
|
+
*
|
|
8
|
+
* 1. Artifacts exist in dev/ → use them (checked into repo)
|
|
9
|
+
* 2. No artifacts → try npm download
|
|
10
|
+
* 3. npm fails → try local generation (requires contracts package)
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { execSync } from 'child_process';
|
|
14
|
+
import { existsSync, mkdirSync } from 'fs';
|
|
15
|
+
import { resolve, dirname } from 'path';
|
|
16
|
+
import { fileURLToPath } from 'url';
|
|
17
|
+
import { createRequire } from 'module';
|
|
18
|
+
|
|
19
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
20
|
+
const packageRoot = resolve(__dirname, '..');
|
|
21
|
+
const contractsDir = resolve(packageRoot, '../contracts');
|
|
22
|
+
const devDir = resolve(packageRoot, 'dev');
|
|
23
|
+
const foundryPath = `${process.env.HOME}/.foundry/bin`;
|
|
24
|
+
|
|
25
|
+
// Get current package version
|
|
26
|
+
function getCurrentVersion() {
|
|
27
|
+
const require = createRequire(import.meta.url);
|
|
28
|
+
const packageJson = require('../package.json');
|
|
29
|
+
return packageJson.version;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Check if generated files already exist
|
|
33
|
+
function generatedFilesExist() {
|
|
34
|
+
return existsSync(resolve(devDir, 'abis')) && existsSync(resolve(devDir, 'typings'));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Download artifacts from npm
|
|
38
|
+
async function downloadArtifactsFromNpm() {
|
|
39
|
+
const currentVersion = getCurrentVersion();
|
|
40
|
+
if (!currentVersion) return false;
|
|
41
|
+
|
|
42
|
+
console.log(`Attempting npm download for version ${currentVersion}...`);
|
|
43
|
+
|
|
44
|
+
const tempDir = resolve(packageRoot, '.temp-download');
|
|
45
|
+
|
|
46
|
+
try {
|
|
47
|
+
if (existsSync(tempDir)) execSync(`rm -rf "${tempDir}"`, { stdio: 'pipe' });
|
|
48
|
+
mkdirSync(tempDir, { recursive: true });
|
|
49
|
+
|
|
50
|
+
execSync(`npm pack @towns-labs/generated@${currentVersion}`, {
|
|
51
|
+
cwd: tempDir, stdio: 'pipe'
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
const files = execSync('ls *.tgz', { cwd: tempDir, encoding: 'utf8' }).trim().split('\n');
|
|
55
|
+
execSync(`tar -xzf "${files[0]}" -C "${tempDir}"`, {
|
|
56
|
+
cwd: tempDir,
|
|
57
|
+
stdio: 'pipe'
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
const extractedDevDir = resolve(tempDir, 'package/dev');
|
|
61
|
+
if (!existsSync(extractedDevDir)) {
|
|
62
|
+
console.log('Downloaded package missing dev/ directory');
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (!existsSync(devDir)) mkdirSync(devDir, { recursive: true });
|
|
67
|
+
execSync(`cp -r "${extractedDevDir}/." "${devDir}/"`, { stdio: 'pipe' });
|
|
68
|
+
|
|
69
|
+
console.log('Successfully downloaded artifacts from npm');
|
|
70
|
+
return true;
|
|
71
|
+
} catch (error) {
|
|
72
|
+
console.log('npm download failed:', error.message);
|
|
73
|
+
return false;
|
|
74
|
+
} finally {
|
|
75
|
+
if (existsSync(tempDir)) execSync(`rm -rf "${tempDir}"`, { stdio: 'pipe' });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Check if Foundry is installed
|
|
80
|
+
function isFoundryInstalled() {
|
|
81
|
+
try {
|
|
82
|
+
execSync('forge --version', { stdio: 'pipe' });
|
|
83
|
+
return true;
|
|
84
|
+
} catch {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Install Foundry if not present
|
|
90
|
+
function installFoundry() {
|
|
91
|
+
console.log('Installing Foundry...');
|
|
92
|
+
try {
|
|
93
|
+
execSync('curl -L https://foundry.paradigm.xyz | bash', { stdio: 'inherit' });
|
|
94
|
+
execSync(`${foundryPath}/foundryup`, { stdio: 'inherit' });
|
|
95
|
+
console.log('Foundry installation completed');
|
|
96
|
+
return true;
|
|
97
|
+
} catch (error) {
|
|
98
|
+
console.log('Foundry installation failed:', error.message);
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// Check if forge build artifacts exist
|
|
104
|
+
function forgeArtifactsExist() {
|
|
105
|
+
const outDir = resolve(contractsDir, 'out');
|
|
106
|
+
if (!existsSync(outDir)) return false;
|
|
107
|
+
|
|
108
|
+
try {
|
|
109
|
+
const result = execSync(`find "${outDir}" -name "*.json" -type f | head -1`, {
|
|
110
|
+
encoding: 'utf8',
|
|
111
|
+
stdio: 'pipe'
|
|
112
|
+
}).trim();
|
|
113
|
+
return result.length > 0;
|
|
114
|
+
} catch {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// Generate contract artifacts (last resort fallback)
|
|
120
|
+
function generateArtifacts() {
|
|
121
|
+
if (!existsSync(contractsDir)) {
|
|
122
|
+
throw new Error('Cannot generate artifacts: contracts package not available and npm download failed');
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (!forgeArtifactsExist()) {
|
|
126
|
+
throw new Error('Cannot generate artifacts: no forge build output in contracts/out/');
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
if (!isFoundryInstalled()) {
|
|
130
|
+
console.log('Foundry not found, attempting installation...');
|
|
131
|
+
if (!installFoundry()) {
|
|
132
|
+
throw new Error('Failed to install Foundry - cannot generate contract artifacts');
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
const buildScript = resolve(packageRoot, 'scripts/build-contract-types.sh');
|
|
137
|
+
if (!existsSync(buildScript)) {
|
|
138
|
+
throw new Error(`Build script not found at ${buildScript}`);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const envWithFoundry = {
|
|
142
|
+
...process.env,
|
|
143
|
+
PATH: `${foundryPath}:${process.env.PATH}`
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
execSync(`bash ${buildScript}`, {
|
|
147
|
+
cwd: packageRoot,
|
|
148
|
+
stdio: 'inherit',
|
|
149
|
+
env: envWithFoundry
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// Main logic
|
|
154
|
+
async function main() {
|
|
155
|
+
// If generated files exist (checked into repo), use them as-is
|
|
156
|
+
if (generatedFilesExist()) {
|
|
157
|
+
console.log('Using checked-in artifacts from dev/');
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// No artifacts found - try npm download
|
|
162
|
+
console.log('No artifacts found, trying npm download...');
|
|
163
|
+
if (await downloadArtifactsFromNpm()) {
|
|
164
|
+
console.log('Using artifacts from npm');
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// npm download failed - try local generation as last resort
|
|
169
|
+
console.log('NPM download failed, attempting local generation...');
|
|
170
|
+
generateArtifacts();
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
main().catch(error => {
|
|
174
|
+
console.error('Preparation failed:', error.message);
|
|
175
|
+
process.exit(1);
|
|
176
|
+
});
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"type": "function",
|
|
4
|
+
"name": "eip712Domain",
|
|
5
|
+
"inputs": [],
|
|
6
|
+
"outputs": [
|
|
7
|
+
{
|
|
8
|
+
"name": "fields",
|
|
9
|
+
"type": "bytes1",
|
|
10
|
+
"internalType": "bytes1"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "name",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"internalType": "string"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "version",
|
|
19
|
+
"type": "string",
|
|
20
|
+
"internalType": "string"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "chainId",
|
|
24
|
+
"type": "uint256",
|
|
25
|
+
"internalType": "uint256"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "verifyingContract",
|
|
29
|
+
"type": "address",
|
|
30
|
+
"internalType": "address"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "salt",
|
|
34
|
+
"type": "bytes32",
|
|
35
|
+
"internalType": "bytes32"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "extensions",
|
|
39
|
+
"type": "uint256[]",
|
|
40
|
+
"internalType": "uint256[]"
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"stateMutability": "view"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "event",
|
|
47
|
+
"name": "EIP712DomainChanged",
|
|
48
|
+
"inputs": [],
|
|
49
|
+
"anonymous": false
|
|
50
|
+
}
|
|
51
|
+
]
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export default [
|
|
2
|
+
{
|
|
3
|
+
"type": "function",
|
|
4
|
+
"name": "eip712Domain",
|
|
5
|
+
"inputs": [],
|
|
6
|
+
"outputs": [
|
|
7
|
+
{
|
|
8
|
+
"name": "fields",
|
|
9
|
+
"type": "bytes1",
|
|
10
|
+
"internalType": "bytes1"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "name",
|
|
14
|
+
"type": "string",
|
|
15
|
+
"internalType": "string"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"name": "version",
|
|
19
|
+
"type": "string",
|
|
20
|
+
"internalType": "string"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "chainId",
|
|
24
|
+
"type": "uint256",
|
|
25
|
+
"internalType": "uint256"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "verifyingContract",
|
|
29
|
+
"type": "address",
|
|
30
|
+
"internalType": "address"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "salt",
|
|
34
|
+
"type": "bytes32",
|
|
35
|
+
"internalType": "bytes32"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "extensions",
|
|
39
|
+
"type": "uint256[]",
|
|
40
|
+
"internalType": "uint256[]"
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"stateMutability": "view"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "event",
|
|
47
|
+
"name": "EIP712DomainChanged",
|
|
48
|
+
"inputs": [],
|
|
49
|
+
"anonymous": false
|
|
50
|
+
}
|
|
51
|
+
] as const
|