@peeramid-labs/sdk 2.1.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -0
- package/cli/abis/AccessControl.js +232 -0
- package/cli/abis/AccessControl.js.map +1 -0
- package/cli/abis/AccessControlDefaultAdminRules.js +460 -0
- package/cli/abis/AccessControlDefaultAdminRules.js.map +1 -0
- package/cli/abis/ArguableVotingTournament.js +187 -0
- package/cli/abis/ArguableVotingTournament.js.map +1 -0
- package/cli/abis/Checkpoints.js +12 -0
- package/cli/abis/Checkpoints.js.map +1 -0
- package/cli/abis/CloneDistribution.js +102 -0
- package/cli/abis/CloneDistribution.js.map +1 -0
- package/cli/abis/Clones.js +12 -0
- package/cli/abis/Clones.js.map +1 -0
- package/cli/abis/CodeHashDistribution.js +159 -0
- package/cli/abis/CodeHashDistribution.js.map +1 -0
- package/cli/abis/CodeIndex.js +74 -0
- package/cli/abis/CodeIndex.js.map +1 -0
- package/cli/abis/ContextUpgradeable.js +30 -0
- package/cli/abis/ContextUpgradeable.js.map +1 -0
- package/cli/abis/DAODistributor.js +1351 -0
- package/cli/abis/DAODistributor.js.map +1 -0
- package/cli/abis/Diamond.js +92 -0
- package/cli/abis/Diamond.js.map +1 -0
- package/cli/abis/DiamondClonable.js +103 -0
- package/cli/abis/DiamondClonable.js.map +1 -0
- package/cli/abis/DiamondCutFacet.js +89 -0
- package/cli/abis/DiamondCutFacet.js.map +1 -0
- package/cli/abis/DiamondDistribution.js +118 -0
- package/cli/abis/DiamondDistribution.js.map +1 -0
- package/cli/abis/DiamondInit.js +14 -0
- package/cli/abis/DiamondInit.js.map +1 -0
- package/cli/abis/DiamondLoupeFacet.js +102 -0
- package/cli/abis/DiamondLoupeFacet.js.map +1 -0
- package/cli/abis/DistributableGovernanceERC20.js +917 -0
- package/cli/abis/DistributableGovernanceERC20.js.map +1 -0
- package/cli/abis/Distributor.js +801 -0
- package/cli/abis/Distributor.js.map +1 -0
- package/cli/abis/ECDSA.js +34 -0
- package/cli/abis/ECDSA.js.map +1 -0
- package/cli/abis/EIP712InspectorFacet.js +58 -0
- package/cli/abis/EIP712InspectorFacet.js.map +1 -0
- package/cli/abis/EIP712Upgradeable.js +79 -0
- package/cli/abis/EIP712Upgradeable.js.map +1 -0
- package/cli/abis/ERC1155.js +421 -0
- package/cli/abis/ERC1155.js.map +1 -0
- package/cli/abis/ERC1155Burnable.js +467 -0
- package/cli/abis/ERC1155Burnable.js.map +1 -0
- package/cli/abis/ERC1155BurnableUpgradeable.js +490 -0
- package/cli/abis/ERC1155BurnableUpgradeable.js.map +1 -0
- package/cli/abis/ERC1155Upgradeable.js +444 -0
- package/cli/abis/ERC1155Upgradeable.js.map +1 -0
- package/cli/abis/ERC165.js +26 -0
- package/cli/abis/ERC165.js.map +1 -0
- package/cli/abis/ERC165Upgradeable.js +49 -0
- package/cli/abis/ERC165Upgradeable.js.map +1 -0
- package/cli/abis/ERC20.js +315 -0
- package/cli/abis/ERC20.js.map +1 -0
- package/cli/abis/ERC20Burnable.js +346 -0
- package/cli/abis/ERC20Burnable.js.map +1 -0
- package/cli/abis/ERC20Upgradeable.js +338 -0
- package/cli/abis/ERC20Upgradeable.js.map +1 -0
- package/cli/abis/ERC20VotesUpgradeable.js +781 -0
- package/cli/abis/ERC20VotesUpgradeable.js.map +1 -0
- package/cli/abis/ERC721.js +440 -0
- package/cli/abis/ERC721.js.map +1 -0
- package/cli/abis/ERC721Burnable.js +453 -0
- package/cli/abis/ERC721Burnable.js.map +1 -0
- package/cli/abis/IAccessControl.js +200 -0
- package/cli/abis/IAccessControl.js.map +1 -0
- package/cli/abis/IAccessControlDefaultAdminRules.js +399 -0
- package/cli/abis/IAccessControlDefaultAdminRules.js.map +1 -0
- package/cli/abis/ICodeIndex.js +74 -0
- package/cli/abis/ICodeIndex.js.map +1 -0
- package/cli/abis/IContractURI.js +20 -0
- package/cli/abis/IContractURI.js.map +1 -0
- package/cli/abis/IDAOFactory.js +89 -0
- package/cli/abis/IDAOFactory.js.map +1 -0
- package/cli/abis/IDiamondCut.js +47 -0
- package/cli/abis/IDiamondCut.js.map +1 -0
- package/cli/abis/IDiamondLoupe.js +83 -0
- package/cli/abis/IDiamondLoupe.js.map +1 -0
- package/cli/abis/IDistribution.js +91 -0
- package/cli/abis/IDistribution.js.map +1 -0
- package/cli/abis/IDistributor.js +627 -0
- package/cli/abis/IDistributor.js.map +1 -0
- package/cli/abis/IERC1155.js +300 -0
- package/cli/abis/IERC1155.js.map +1 -0
- package/cli/abis/IERC1155Errors.js +109 -0
- package/cli/abis/IERC1155Errors.js.map +1 -0
- package/cli/abis/IERC1155MetadataURI.js +319 -0
- package/cli/abis/IERC1155MetadataURI.js.map +1 -0
- package/cli/abis/IERC1155Receiver.js +85 -0
- package/cli/abis/IERC1155Receiver.js.map +1 -0
- package/cli/abis/IERC1271.js +31 -0
- package/cli/abis/IERC1271.js.map +1 -0
- package/cli/abis/IERC165.js +26 -0
- package/cli/abis/IERC165.js.map +1 -0
- package/cli/abis/IERC173.js +33 -0
- package/cli/abis/IERC173.js.map +1 -0
- package/cli/abis/IERC20.js +190 -0
- package/cli/abis/IERC20.js.map +1 -0
- package/cli/abis/IERC20Errors.js +93 -0
- package/cli/abis/IERC20Errors.js.map +1 -0
- package/cli/abis/IERC20Metadata.js +229 -0
- package/cli/abis/IERC20Metadata.js.map +1 -0
- package/cli/abis/IERC20MintableUpgradeable.js +25 -0
- package/cli/abis/IERC20MintableUpgradeable.js.map +1 -0
- package/cli/abis/IERC5267.js +56 -0
- package/cli/abis/IERC5267.js.map +1 -0
- package/cli/abis/IERC5313.js +20 -0
- package/cli/abis/IERC5313.js.map +1 -0
- package/cli/abis/IERC5805.js +226 -0
- package/cli/abis/IERC5805.js.map +1 -0
- package/cli/abis/IERC6372.js +33 -0
- package/cli/abis/IERC6372.js.map +1 -0
- package/cli/abis/IERC721.js +292 -0
- package/cli/abis/IERC721.js.map +1 -0
- package/cli/abis/IERC721Errors.js +110 -0
- package/cli/abis/IERC721Errors.js.map +1 -0
- package/cli/abis/IERC721Metadata.js +337 -0
- package/cli/abis/IERC721Metadata.js.map +1 -0
- package/cli/abis/IERC721Receiver.js +41 -0
- package/cli/abis/IERC721Receiver.js.map +1 -0
- package/cli/abis/IERC7746.js +84 -0
- package/cli/abis/IERC7746.js.map +1 -0
- package/cli/abis/IErrors.js +23 -0
- package/cli/abis/IErrors.js.map +1 -0
- package/cli/abis/IInitializer.js +75 -0
- package/cli/abis/IInitializer.js.map +1 -0
- package/cli/abis/IInstaller.js +506 -0
- package/cli/abis/IInstaller.js.map +1 -0
- package/cli/abis/ILockableERC1155.js +464 -0
- package/cli/abis/ILockableERC1155.js.map +1 -0
- package/cli/abis/IMultipass.js +1263 -0
- package/cli/abis/IMultipass.js.map +1 -0
- package/cli/abis/IPluginRepo.js +114 -0
- package/cli/abis/IPluginRepo.js.map +1 -0
- package/cli/abis/IRankToken.js +533 -0
- package/cli/abis/IRankToken.js.map +1 -0
- package/cli/abis/IRankifyInstance.js +147 -0
- package/cli/abis/IRankifyInstance.js.map +1 -0
- package/cli/abis/IRepository.js +343 -0
- package/cli/abis/IRepository.js.map +1 -0
- package/cli/abis/IVotes.js +200 -0
- package/cli/abis/IVotes.js.map +1 -0
- package/cli/abis/Initializable.js +30 -0
- package/cli/abis/Initializable.js.map +1 -0
- package/cli/abis/InitializedDiamondDistribution.js +107 -0
- package/cli/abis/InitializedDiamondDistribution.js.map +1 -0
- package/cli/abis/Installer.js +506 -0
- package/cli/abis/Installer.js.map +1 -0
- package/cli/abis/InstallerClonable.js +542 -0
- package/cli/abis/InstallerClonable.js.map +1 -0
- package/cli/abis/LatestVersionDistribution.js +136 -0
- package/cli/abis/LatestVersionDistribution.js.map +1 -0
- package/cli/abis/LibDiamond.js +79 -0
- package/cli/abis/LibDiamond.js.map +1 -0
- package/cli/abis/LibSemver.js +18 -0
- package/cli/abis/LibSemver.js.map +1 -0
- package/cli/abis/LockableERC1155.js +631 -0
- package/cli/abis/LockableERC1155.js.map +1 -0
- package/cli/abis/MAODistribution.js +285 -0
- package/cli/abis/MAODistribution.js.map +1 -0
- package/cli/abis/Math.js +12 -0
- package/cli/abis/Math.js.map +1 -0
- package/cli/abis/MiddlewareProxy.js +39 -0
- package/cli/abis/MiddlewareProxy.js.map +1 -0
- package/cli/abis/MockCloneDistribution.js +107 -0
- package/cli/abis/MockCloneDistribution.js.map +1 -0
- package/cli/abis/MockDiamondInitialize.js +33 -0
- package/cli/abis/MockDiamondInitialize.js.map +1 -0
- package/cli/abis/MockERC1155.js +636 -0
- package/cli/abis/MockERC1155.js.map +1 -0
- package/cli/abis/MockERC20.js +336 -0
- package/cli/abis/MockERC20.js.map +1 -0
- package/cli/abis/MockERC721.js +620 -0
- package/cli/abis/MockERC721.js.map +1 -0
- package/cli/abis/MockInstaller.js +596 -0
- package/cli/abis/MockInstaller.js.map +1 -0
- package/cli/abis/MockTokenizedDistributor.js +1351 -0
- package/cli/abis/MockTokenizedDistributor.js.map +1 -0
- package/cli/abis/MockVendingMachine.js +404 -0
- package/cli/abis/MockVendingMachine.js.map +1 -0
- package/cli/abis/Multipass.js +1461 -0
- package/cli/abis/Multipass.js.map +1 -0
- package/cli/abis/NoncesUpgradeable.js +65 -0
- package/cli/abis/NoncesUpgradeable.js.map +1 -0
- package/cli/abis/Ownable.js +81 -0
- package/cli/abis/Ownable.js.map +1 -0
- package/cli/abis/OwnableDistributor.js +886 -0
- package/cli/abis/OwnableDistributor.js.map +1 -0
- package/cli/abis/OwnableRepository.js +566 -0
- package/cli/abis/OwnableRepository.js.map +1 -0
- package/cli/abis/OwnableUpgradeable.js +104 -0
- package/cli/abis/OwnableUpgradeable.js.map +1 -0
- package/cli/abis/OwnershipFacet.js +52 -0
- package/cli/abis/OwnershipFacet.js.map +1 -0
- package/cli/abis/RankToken.js +783 -0
- package/cli/abis/RankToken.js.map +1 -0
- package/cli/abis/Rankify.js +449 -0
- package/cli/abis/Rankify.js.map +1 -0
- package/cli/abis/RankifyDiamondInstance.js +2032 -0
- package/cli/abis/RankifyDiamondInstance.js.map +1 -0
- package/cli/abis/RankifyInstanceEventMock.js +332 -0
- package/cli/abis/RankifyInstanceEventMock.js.map +1 -0
- package/cli/abis/RankifyInstanceGameMastersFacet.js +319 -0
- package/cli/abis/RankifyInstanceGameMastersFacet.js.map +1 -0
- package/cli/abis/RankifyInstanceInit.js +80 -0
- package/cli/abis/RankifyInstanceInit.js.map +1 -0
- package/cli/abis/RankifyInstanceMainFacet.js +987 -0
- package/cli/abis/RankifyInstanceMainFacet.js.map +1 -0
- package/cli/abis/RankifyInstanceRequirementsFacet.js +549 -0
- package/cli/abis/RankifyInstanceRequirementsFacet.js.map +1 -0
- package/cli/abis/ReentrancyGuard.js +12 -0
- package/cli/abis/ReentrancyGuard.js.map +1 -0
- package/cli/abis/ReentrancyGuardUpgradeable.js +35 -0
- package/cli/abis/ReentrancyGuardUpgradeable.js.map +1 -0
- package/cli/abis/Repo.js +566 -0
- package/cli/abis/Repo.js.map +1 -0
- package/cli/abis/Repository.js +471 -0
- package/cli/abis/Repository.js.map +1 -0
- package/cli/abis/SafeCast.js +61 -0
- package/cli/abis/SafeCast.js.map +1 -0
- package/cli/abis/SimpleAccessManager.js +224 -0
- package/cli/abis/SimpleAccessManager.js.map +1 -0
- package/cli/abis/Strings.js +23 -0
- package/cli/abis/Strings.js.map +1 -0
- package/cli/abis/Test1Facet.js +179 -0
- package/cli/abis/Test1Facet.js.map +1 -0
- package/cli/abis/Test2Facet.js +147 -0
- package/cli/abis/Test2Facet.js.map +1 -0
- package/cli/abis/TestFacet.js +33 -0
- package/cli/abis/TestFacet.js.map +1 -0
- package/cli/abis/TokenizedDistributor.js +878 -0
- package/cli/abis/TokenizedDistributor.js.map +1 -0
- package/cli/abis/VotesUpgradeable.js +402 -0
- package/cli/abis/VotesUpgradeable.js.map +1 -0
- package/cli/abis/index.js +484 -0
- package/cli/abis/index.js.map +1 -0
- package/cli/cli/client.js +57 -0
- package/cli/cli/client.js.map +1 -0
- package/cli/cli/commands/distributions/add.js +96 -0
- package/cli/cli/commands/distributions/add.js.map +1 -0
- package/cli/cli/commands/distributions/index.js +11 -0
- package/cli/cli/commands/distributions/index.js.map +1 -0
- package/cli/cli/commands/distributions/list.js +42 -0
- package/cli/cli/commands/distributions/list.js.map +1 -0
- package/cli/cli/commands/fellowship/create.js +130 -0
- package/cli/cli/commands/fellowship/create.js.map +1 -0
- package/cli/cli/commands/fellowship/index.js +11 -0
- package/cli/cli/commands/fellowship/index.js.map +1 -0
- package/cli/cli/commands/fellowship/metadata.js +42 -0
- package/cli/cli/commands/fellowship/metadata.js.map +1 -0
- package/cli/cli/commands/instances/index.js +7 -0
- package/cli/cli/commands/instances/index.js.map +1 -0
- package/cli/cli/commands/instances/list.js +50 -0
- package/cli/cli/commands/instances/list.js.map +1 -0
- package/cli/cli/commands/multipass/contract.js +178 -0
- package/cli/cli/commands/multipass/contract.js.map +1 -0
- package/cli/cli/commands/multipass/domain.js +512 -0
- package/cli/cli/commands/multipass/domain.js.map +1 -0
- package/cli/cli/commands/multipass/domains.js +141 -0
- package/cli/cli/commands/multipass/domains.js.map +1 -0
- package/cli/cli/commands/multipass/index.js +20 -0
- package/cli/cli/commands/multipass/index.js.map +1 -0
- package/cli/cli/commands/multipass/owner.js +320 -0
- package/cli/cli/commands/multipass/owner.js.map +1 -0
- package/cli/cli/index.js +20 -0
- package/cli/cli/index.js.map +1 -0
- package/cli/eds/Distributor.js +76 -0
- package/cli/eds/Distributor.js.map +1 -0
- package/cli/index.js +50 -0
- package/cli/index.js.map +1 -0
- package/cli/multipass/MultipassBase.js +307 -0
- package/cli/multipass/MultipassBase.js.map +1 -0
- package/cli/multipass/Owner.js +214 -0
- package/cli/multipass/Owner.js.map +1 -0
- package/cli/multipass/Registrar.js +77 -0
- package/cli/multipass/Registrar.js.map +1 -0
- package/cli/rankify/GameMaster.js +372 -0
- package/cli/rankify/GameMaster.js.map +1 -0
- package/cli/rankify/InstanceBase.js +432 -0
- package/cli/rankify/InstanceBase.js.map +1 -0
- package/cli/rankify/MAODistributor.js +278 -0
- package/cli/rankify/MAODistributor.js.map +1 -0
- package/cli/rankify/Player.js +175 -0
- package/cli/rankify/Player.js.map +1 -0
- package/cli/rankify/RankToken.js +109 -0
- package/cli/rankify/RankToken.js.map +1 -0
- package/cli/types/contracts.js +3 -0
- package/cli/types/contracts.js.map +1 -0
- package/cli/types.js +30 -0
- package/cli/types.js.map +1 -0
- package/cli/utils/ApiError.js +21 -0
- package/cli/utils/ApiError.js.map +1 -0
- package/cli/utils/artifacts.js +51 -0
- package/cli/utils/artifacts.js.map +1 -0
- package/cli/utils/chainMapping.js +16 -0
- package/cli/utils/chainMapping.js.map +1 -0
- package/cli/utils/index.js +35 -0
- package/cli/utils/index.js.map +1 -0
- package/docs/classes/MAODistributorClient.md +89 -43
- package/docs/classes/Multipass.md +148 -0
- package/docs/classes/MultipassBase.md +120 -0
- package/docs/classes/RankTokenClient.md +34 -0
- package/docs/docs/classes/MAODistributorClient.md +89 -43
- package/docs/docs/classes/Multipass.md +148 -0
- package/docs/docs/classes/MultipassBase.md +120 -0
- package/docs/docs/classes/RankTokenClient.md +34 -0
- package/docs/docs/enums/CONTENT_STORAGE.md +27 -0
- package/docs/docs/enums/SUBMISSION_TYPES.md +41 -0
- package/docs/docs/index.md +135 -2
- package/docs/enums/CONTENT_STORAGE.md +27 -0
- package/docs/enums/SUBMISSION_TYPES.md +41 -0
- package/docs/index.md +135 -2
- package/lib.commonjs/eds/Distributor.d.ts +5 -1
- package/lib.commonjs/eds/Distributor.d.ts.map +1 -1
- package/lib.commonjs/eds/Distributor.js +14 -2
- package/lib.commonjs/eds/Distributor.js.map +1 -1
- package/lib.commonjs/multipass/MultipassBase.d.ts +1185 -2
- package/lib.commonjs/multipass/MultipassBase.d.ts.map +1 -1
- package/lib.commonjs/multipass/MultipassBase.js +168 -1
- package/lib.commonjs/multipass/MultipassBase.js.map +1 -1
- package/lib.commonjs/multipass/Owner.d.ts +137 -0
- package/lib.commonjs/multipass/Owner.d.ts.map +1 -0
- package/lib.commonjs/multipass/Owner.js +214 -0
- package/lib.commonjs/multipass/Owner.js.map +1 -0
- package/lib.commonjs/multipass/Registrar.d.ts +3 -2
- package/lib.commonjs/multipass/Registrar.d.ts.map +1 -1
- package/lib.commonjs/multipass/Registrar.js +3 -3
- package/lib.commonjs/multipass/Registrar.js.map +1 -1
- package/lib.commonjs/rankify/MAODistributor.d.ts +1042 -2
- package/lib.commonjs/rankify/MAODistributor.d.ts.map +1 -1
- package/lib.commonjs/rankify/MAODistributor.js +146 -33
- package/lib.commonjs/rankify/MAODistributor.js.map +1 -1
- package/lib.commonjs/rankify/Player.js +7 -7
- package/lib.commonjs/rankify/Player.js.map +1 -1
- package/lib.commonjs/rankify/RankToken.d.ts +3 -0
- package/lib.commonjs/rankify/RankToken.d.ts.map +1 -1
- package/lib.commonjs/rankify/RankToken.js +74 -0
- package/lib.commonjs/rankify/RankToken.js.map +1 -1
- package/lib.commonjs/types/contracts.d.ts +0 -6
- package/lib.commonjs/types/contracts.d.ts.map +1 -1
- package/lib.commonjs/types/contracts.js +0 -16
- package/lib.commonjs/types/contracts.js.map +1 -1
- package/lib.commonjs/types.d.ts +113 -2
- package/lib.commonjs/types.d.ts.map +1 -1
- package/lib.commonjs/types.js +15 -1
- package/lib.commonjs/types.js.map +1 -1
- package/lib.commonjs/utils/artifacts.d.ts +3 -1
- package/lib.commonjs/utils/artifacts.d.ts.map +1 -1
- package/lib.commonjs/utils/artifacts.js +3 -1
- package/lib.commonjs/utils/artifacts.js.map +1 -1
- package/lib.commonjs/utils/index.d.ts +7 -0
- package/lib.commonjs/utils/index.d.ts.map +1 -1
- package/lib.commonjs/utils/index.js +16 -0
- package/lib.commonjs/utils/index.js.map +1 -1
- package/lib.esm/eds/Distributor.d.ts +5 -1
- package/lib.esm/eds/Distributor.d.ts.map +1 -1
- package/lib.esm/eds/Distributor.js +14 -2
- package/lib.esm/eds/Distributor.js.map +1 -1
- package/lib.esm/multipass/MultipassBase.d.ts +1185 -2
- package/lib.esm/multipass/MultipassBase.d.ts.map +1 -1
- package/lib.esm/multipass/MultipassBase.js +168 -1
- package/lib.esm/multipass/MultipassBase.js.map +1 -1
- package/lib.esm/multipass/Owner.d.ts +137 -0
- package/lib.esm/multipass/Owner.d.ts.map +1 -0
- package/lib.esm/multipass/Owner.js +208 -0
- package/lib.esm/multipass/Owner.js.map +1 -0
- package/lib.esm/multipass/Registrar.d.ts +3 -2
- package/lib.esm/multipass/Registrar.d.ts.map +1 -1
- package/lib.esm/multipass/Registrar.js +3 -3
- package/lib.esm/multipass/Registrar.js.map +1 -1
- package/lib.esm/rankify/MAODistributor.d.ts +1042 -2
- package/lib.esm/rankify/MAODistributor.d.ts.map +1 -1
- package/lib.esm/rankify/MAODistributor.js +144 -31
- package/lib.esm/rankify/MAODistributor.js.map +1 -1
- package/lib.esm/rankify/Player.js +7 -7
- package/lib.esm/rankify/Player.js.map +1 -1
- package/lib.esm/rankify/RankToken.d.ts +3 -0
- package/lib.esm/rankify/RankToken.d.ts.map +1 -1
- package/lib.esm/rankify/RankToken.js +74 -0
- package/lib.esm/rankify/RankToken.js.map +1 -1
- package/lib.esm/types/contracts.d.ts +0 -6
- package/lib.esm/types/contracts.d.ts.map +1 -1
- package/lib.esm/types/contracts.js +1 -14
- package/lib.esm/types/contracts.js.map +1 -1
- package/lib.esm/types.d.ts +113 -2
- package/lib.esm/types.d.ts.map +1 -1
- package/lib.esm/types.js +14 -0
- package/lib.esm/types.js.map +1 -1
- package/lib.esm/utils/artifacts.d.ts +3 -1
- package/lib.esm/utils/artifacts.d.ts.map +1 -1
- package/lib.esm/utils/artifacts.js +3 -1
- package/lib.esm/utils/artifacts.js.map +1 -1
- package/lib.esm/utils/index.d.ts +7 -0
- package/lib.esm/utils/index.d.ts.map +1 -1
- package/lib.esm/utils/index.js +14 -0
- package/lib.esm/utils/index.js.map +1 -1
- package/package.json +16 -6
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.addCommand = void 0;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
const MAODistributor_1 = require("../../../rankify/MAODistributor");
|
|
11
|
+
const client_1 = require("../../client");
|
|
12
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
13
|
+
const utils_1 = require("../../../utils");
|
|
14
|
+
// Helper to pad string to 32 bytes, similar to ethers.utils.formatBytes32String
|
|
15
|
+
function formatBytes32String(text) {
|
|
16
|
+
const buffer = Buffer.from(text.slice(0, 31), "utf8");
|
|
17
|
+
const paddedBuffer = Buffer.alloc(32);
|
|
18
|
+
buffer.copy(paddedBuffer);
|
|
19
|
+
return `0x${paddedBuffer.toString("hex")}`;
|
|
20
|
+
}
|
|
21
|
+
exports.addCommand = new commander_1.Command("add")
|
|
22
|
+
.description("Add a new distribution")
|
|
23
|
+
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
24
|
+
.action(async (options) => {
|
|
25
|
+
const spinner = (0, ora_1.default)("Initializing clients...").start();
|
|
26
|
+
try {
|
|
27
|
+
const publicClient = (0, client_1.createPublic)(options.rpc);
|
|
28
|
+
const walletClient = await (0, client_1.createWallet)(options.rpc, options.key);
|
|
29
|
+
const chainId = Number(await publicClient.getChainId());
|
|
30
|
+
const maoDistributor = new MAODistributor_1.MAODistributorClient(chainId, {
|
|
31
|
+
publicClient,
|
|
32
|
+
walletClient,
|
|
33
|
+
});
|
|
34
|
+
spinner.stop();
|
|
35
|
+
// Use provided name, env var, or default
|
|
36
|
+
let name = options.name;
|
|
37
|
+
if (!name) {
|
|
38
|
+
const defaultName = process.env.DEFAULT_DISTRIBUTION_NAME ?? "MAO Distribution";
|
|
39
|
+
const response = await inquirer_1.default.prompt([
|
|
40
|
+
{
|
|
41
|
+
type: "input",
|
|
42
|
+
name: "name",
|
|
43
|
+
message: "Enter distribution name:",
|
|
44
|
+
default: defaultName,
|
|
45
|
+
validate: (input) => {
|
|
46
|
+
if (!input.trim())
|
|
47
|
+
return "Name cannot be empty";
|
|
48
|
+
return true;
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
]);
|
|
52
|
+
name = response.name;
|
|
53
|
+
}
|
|
54
|
+
let distributionAddress = options.address;
|
|
55
|
+
if (!options.address) {
|
|
56
|
+
const response = await inquirer_1.default.prompt([
|
|
57
|
+
{
|
|
58
|
+
type: "input",
|
|
59
|
+
name: "address",
|
|
60
|
+
message: "Input distribution address to add to the distributor contract",
|
|
61
|
+
default: (0, utils_1.getArtifact)(chainId, "DAODistributor").address,
|
|
62
|
+
validate: (input) => {
|
|
63
|
+
if (!input.trim())
|
|
64
|
+
return "Address cannot be empty";
|
|
65
|
+
return true;
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
]);
|
|
69
|
+
distributionAddress = response.address;
|
|
70
|
+
}
|
|
71
|
+
// Format name as bytes32
|
|
72
|
+
const nameBytes = formatBytes32String(name);
|
|
73
|
+
spinner.start("Adding distribution...");
|
|
74
|
+
if (!walletClient.chain)
|
|
75
|
+
throw new Error("Chain not found");
|
|
76
|
+
const { receipt, distributionAddedEvent } = await maoDistributor.addNamedDistribution(walletClient.chain, nameBytes, distributionAddress, options.initializer || "0x0000000000000000000000000000000000000000");
|
|
77
|
+
spinner.succeed("Distribution added successfully!");
|
|
78
|
+
console.log(chalk_1.default.green(`\nTransaction hash: ${receipt.transactionHash}`));
|
|
79
|
+
console.log(chalk_1.default.green(`Distribution ID: ${distributionAddedEvent.args.distribution} (${distributionAddedEvent.args.id})`));
|
|
80
|
+
// Verify the distribution was added
|
|
81
|
+
const distributions = await maoDistributor.getDistributions();
|
|
82
|
+
const added = distributions.some((d) => d === nameBytes);
|
|
83
|
+
if (added) {
|
|
84
|
+
console.log(chalk_1.default.green("\nDistribution verified in the list!"));
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
console.log(chalk_1.default.yellow("\nWarning: Distribution was added but not found in the list. It may take a few blocks to appear."));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
spinner.fail("Failed to add distribution");
|
|
92
|
+
console.error(chalk_1.default.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
|
|
93
|
+
process.exit(1);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
//# sourceMappingURL=add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../../src/cli/commands/distributions/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.distributionsCommand = void 0;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
const list_1 = require("./list");
|
|
6
|
+
const add_1 = require("./add");
|
|
7
|
+
exports.distributionsCommand = new commander_1.Command("distributions")
|
|
8
|
+
.description("Manage distributions")
|
|
9
|
+
.addCommand(list_1.listCommand)
|
|
10
|
+
.addCommand(add_1.addCommand);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/distributions/index.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,iCAAqC;AACrC,+BAAmC;AAEtB,QAAA,oBAAoB,GAAG,IAAI,mBAAO,CAAC,eAAe,CAAC;KAC7D,WAAW,CAAC,sBAAsB,CAAC;KACnC,UAAU,CAAC,kBAAW,CAAC;KACvB,UAAU,CAAC,gBAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.listCommand = void 0;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
const MAODistributor_1 = require("../../../rankify/MAODistributor");
|
|
11
|
+
const client_1 = require("../../client");
|
|
12
|
+
exports.listCommand = new commander_1.Command("list")
|
|
13
|
+
.description("List all distributions")
|
|
14
|
+
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
15
|
+
.action(async (options) => {
|
|
16
|
+
const spinner = (0, ora_1.default)("Initializing client...").start();
|
|
17
|
+
try {
|
|
18
|
+
const publicClient = (0, client_1.createPublic)(options.rpc);
|
|
19
|
+
const chainId = Number(await publicClient.getChainId());
|
|
20
|
+
const maoDistributor = new MAODistributor_1.MAODistributorClient(chainId, {
|
|
21
|
+
publicClient,
|
|
22
|
+
});
|
|
23
|
+
spinner.text = "Fetching distributions...";
|
|
24
|
+
const distributions = await maoDistributor.getDistributions();
|
|
25
|
+
if (distributions.length === 0) {
|
|
26
|
+
spinner.info("No distributions found");
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
spinner.succeed(`Found ${distributions.length} distribution(s)`);
|
|
30
|
+
console.log("\nDistributions:");
|
|
31
|
+
distributions.forEach((distribution, index) => {
|
|
32
|
+
console.log(chalk_1.default.blue(`\nDistribution #${index + 1}:`));
|
|
33
|
+
console.log(chalk_1.default.green(`ID: ${distribution}`));
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
spinner.fail("Failed to list distributions");
|
|
38
|
+
console.error(chalk_1.default.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/cli/commands/distributions/list.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AACtB,oEAAuE;AACvE,yCAA4C;AAE/B,QAAA,WAAW,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,iBAAiB,EAAE,8EAA8E,CAAC;KACzG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,qBAAY,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;QAExD,MAAM,cAAc,GAAG,IAAI,qCAAoB,CAAC,OAAO,EAAE;YACvD,YAAY;SACb,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,GAAG,2BAA2B,CAAC;QAC3C,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,gBAAgB,EAAE,CAAC;QAE9D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,SAAS,aAAa,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAEjE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,EAAE;YAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createFellowshipCommand = void 0;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
10
|
+
const ora_1 = __importDefault(require("ora"));
|
|
11
|
+
const MAODistributor_1 = require("../../../rankify/MAODistributor");
|
|
12
|
+
const client_1 = require("../../client");
|
|
13
|
+
const chainMapping_1 = require("../../../utils/chainMapping");
|
|
14
|
+
exports.createFellowshipCommand = new commander_1.Command("create")
|
|
15
|
+
.description("Create a new Fellowship")
|
|
16
|
+
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
17
|
+
.option("-k, --key <privateKey>", "Private key for signing transactions. If not provided, PRIVATE_KEY environment variable will be used")
|
|
18
|
+
.option("-n, --dist-name <name>", "Distributors package name")
|
|
19
|
+
.action(async (options) => {
|
|
20
|
+
const spinner = (0, ora_1.default)("Initializing clients...").start();
|
|
21
|
+
try {
|
|
22
|
+
const publicClient = (0, client_1.createPublic)(options.rpc);
|
|
23
|
+
const walletClient = await (0, client_1.createWallet)(options.rpc, options.key);
|
|
24
|
+
const chainId = Number(await publicClient.getChainId());
|
|
25
|
+
const maoDistributor = new MAODistributor_1.MAODistributorClient(chainId, {
|
|
26
|
+
publicClient,
|
|
27
|
+
walletClient,
|
|
28
|
+
});
|
|
29
|
+
spinner.text = "Please provide fellowship details...";
|
|
30
|
+
spinner.stop();
|
|
31
|
+
const { tokenName, tokenSymbol, principalCost, timeConstant, metadata, rankTokenUri } = await inquirer_1.default.prompt([
|
|
32
|
+
{
|
|
33
|
+
type: "input",
|
|
34
|
+
name: "tokenName",
|
|
35
|
+
message: "Enter token name:",
|
|
36
|
+
default: "Fellowship Token",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
type: "input",
|
|
40
|
+
name: "tokenSymbol",
|
|
41
|
+
message: "Enter token symbol:",
|
|
42
|
+
default: "FLSHP",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
type: "input",
|
|
46
|
+
name: "principalCost",
|
|
47
|
+
message: "Enter principal cost (in wei):",
|
|
48
|
+
default: "1000000000000000000", // 1 ETH
|
|
49
|
+
validate: (input) => {
|
|
50
|
+
try {
|
|
51
|
+
BigInt(input);
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
return "Please enter a valid number";
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
type: "input",
|
|
61
|
+
name: "timeConstant",
|
|
62
|
+
message: "Enter time constant (in seconds):",
|
|
63
|
+
default: "604800", // 1 week
|
|
64
|
+
validate: (input) => {
|
|
65
|
+
const num = parseInt(input);
|
|
66
|
+
return !isNaN(num) && num > 0 ? true : "Please enter a valid number greater than 0";
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
type: "input",
|
|
71
|
+
name: "metadata",
|
|
72
|
+
message: "Enter metadata URI:",
|
|
73
|
+
default: "ipfs://your-metadata-uri",
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: "input",
|
|
77
|
+
name: "rankTokenUri",
|
|
78
|
+
message: "Enter rank token URI:",
|
|
79
|
+
default: "ipfs://your-rank-token-uri",
|
|
80
|
+
},
|
|
81
|
+
]);
|
|
82
|
+
spinner.start("Creating fellowship...");
|
|
83
|
+
const args = [
|
|
84
|
+
{
|
|
85
|
+
tokenSettings: {
|
|
86
|
+
tokenName,
|
|
87
|
+
tokenSymbol,
|
|
88
|
+
},
|
|
89
|
+
rankifySettings: {
|
|
90
|
+
principalCost: BigInt(principalCost),
|
|
91
|
+
principalTimeConstant: BigInt(timeConstant),
|
|
92
|
+
metadata,
|
|
93
|
+
rankTokenURI: rankTokenUri,
|
|
94
|
+
rankTokenContractURI: metadata, // Using same URI for contract metadata
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
];
|
|
98
|
+
const chain = {
|
|
99
|
+
id: chainId,
|
|
100
|
+
name: chainMapping_1.chainToPath[chainId.toString()],
|
|
101
|
+
nativeCurrency: {
|
|
102
|
+
name: "Ether",
|
|
103
|
+
symbol: "ETH",
|
|
104
|
+
decimals: 18,
|
|
105
|
+
},
|
|
106
|
+
rpcUrls: {
|
|
107
|
+
default: {
|
|
108
|
+
http: [options.rpc || process.env.RPC_URL],
|
|
109
|
+
},
|
|
110
|
+
public: {
|
|
111
|
+
http: [options.rpc || process.env.RPC_URL],
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
const contracts = await maoDistributor.instantiate(args, options.distName, chain);
|
|
116
|
+
spinner.succeed("Fellowship created successfully!");
|
|
117
|
+
console.log("\nDeployed Contracts:");
|
|
118
|
+
console.log(chalk_1.default.green(`Rank Token: ${contracts.rankToken.address}`));
|
|
119
|
+
console.log(chalk_1.default.green(`Instance: ${contracts.instance.address}`));
|
|
120
|
+
console.log(chalk_1.default.green(`Governance Token: ${contracts.govtToken.address}`));
|
|
121
|
+
console.log(chalk_1.default.green(`Governance Access Manager: ${contracts.govTokenAccessManager.address}`));
|
|
122
|
+
console.log(chalk_1.default.green(`ACID Access Manager: ${contracts.ACIDAccessManager.address}`));
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
spinner.fail("Failed to create fellowship");
|
|
126
|
+
console.error(chalk_1.default.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/cli/commands/fellowship/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fellowshipsCommand = void 0;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
const create_1 = require("./create");
|
|
6
|
+
const metadata_1 = require("./metadata");
|
|
7
|
+
exports.fellowshipsCommand = new commander_1.Command("fellowship")
|
|
8
|
+
.description("Manage fellowship")
|
|
9
|
+
.addCommand(create_1.createFellowshipCommand)
|
|
10
|
+
.addCommand(metadata_1.getMetadataCommand);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/fellowship/index.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,qCAAmD;AACnD,yCAAgD;AAEnC,QAAA,kBAAkB,GAAG,IAAI,mBAAO,CAAC,YAAY,CAAC;KACxD,WAAW,CAAC,mBAAmB,CAAC;KAChC,UAAU,CAAC,gCAAuB,CAAC;KACnC,UAAU,CAAC,6BAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getMetadataCommand = void 0;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
const RankToken_1 = __importDefault(require("../../../rankify/RankToken"));
|
|
11
|
+
const client_1 = require("../../client");
|
|
12
|
+
exports.getMetadataCommand = new commander_1.Command("metadata")
|
|
13
|
+
.description("Get metadata for a RankToken")
|
|
14
|
+
.argument("<address>", "The RankToken contract address")
|
|
15
|
+
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
16
|
+
.option("-i, --ipfs-gateway <url>", "IPFS gateway URL. If not provided, IPFS_GATEWAY environment variable will be used")
|
|
17
|
+
.action(async (address, options) => {
|
|
18
|
+
const spinner = (0, ora_1.default)("Initializing client...").start();
|
|
19
|
+
try {
|
|
20
|
+
const publicClient = (0, client_1.createPublic)(options.rpc);
|
|
21
|
+
const chainId = await publicClient.getChainId();
|
|
22
|
+
spinner.text = "Fetching metadata...";
|
|
23
|
+
const rankToken = new RankToken_1.default({
|
|
24
|
+
address,
|
|
25
|
+
chainId,
|
|
26
|
+
publicClient,
|
|
27
|
+
});
|
|
28
|
+
const ipfsGateway = options.ipfsGateway || process.env.IPFS_GATEWAY;
|
|
29
|
+
if (!ipfsGateway)
|
|
30
|
+
throw new Error("IPFS gateway URL is not provided");
|
|
31
|
+
const metadata = await rankToken.getMetadata(ipfsGateway);
|
|
32
|
+
spinner.succeed("Metadata fetched successfully");
|
|
33
|
+
console.log("\nMetadata:");
|
|
34
|
+
console.log(JSON.stringify(metadata, null, 2));
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
spinner.fail("Operation failed");
|
|
38
|
+
console.error(chalk_1.default.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../../../src/cli/commands/fellowship/metadata.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AAEtB,2EAAyD;AACzD,yCAA4C;AAE/B,QAAA,kBAAkB,GAAG,IAAI,mBAAO,CAAC,UAAU,CAAC;KACtD,WAAW,CAAC,8BAA8B,CAAC;KAC3C,QAAQ,CAAC,WAAW,EAAE,gCAAgC,CAAC;KACvD,MAAM,CAAC,iBAAiB,EAAE,8EAA8E,CAAC;KACzG,MAAM,CACL,0BAA0B,EAC1B,mFAAmF,CACpF;KACA,MAAM,CAAC,KAAK,EAAE,OAAgB,EAAE,OAAO,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,qBAAY,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAChD,OAAO,CAAC,IAAI,GAAG,sBAAsB,CAAC;QAEtC,MAAM,SAAS,GAAG,IAAI,mBAAe,CAAC;YACpC,OAAO;YACP,OAAO;YACP,YAAY;SACb,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACpE,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEtE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1D,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAEjD,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.instancesCommand = void 0;
|
|
4
|
+
const commander_1 = require("commander");
|
|
5
|
+
const list_1 = require("./list");
|
|
6
|
+
exports.instancesCommand = new commander_1.Command("instances").description("Manage instances").addCommand(list_1.listCommand);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/instances/index.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,iCAAqC;AAExB,QAAA,gBAAgB,GAAG,IAAI,mBAAO,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.listCommand = void 0;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
const MAODistributor_1 = require("../../../rankify/MAODistributor");
|
|
11
|
+
const client_1 = require("../../client");
|
|
12
|
+
const utils_1 = require("../../../utils");
|
|
13
|
+
exports.listCommand = new commander_1.Command("list")
|
|
14
|
+
.description("List all registered instances")
|
|
15
|
+
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
16
|
+
.action(async (options) => {
|
|
17
|
+
const spinner = (0, ora_1.default)("Initializing client...").start();
|
|
18
|
+
try {
|
|
19
|
+
const publicClient = (0, client_1.createPublic)(options.rpc);
|
|
20
|
+
const chainId = Number(await publicClient.getChainId());
|
|
21
|
+
const maoDistributor = new MAODistributor_1.MAODistributorClient(chainId, {
|
|
22
|
+
publicClient,
|
|
23
|
+
});
|
|
24
|
+
spinner.text = "Fetching instances...";
|
|
25
|
+
const distributions = await maoDistributor.getDistributions();
|
|
26
|
+
const instancePromises = distributions.map((d) => maoDistributor.getInstances(d));
|
|
27
|
+
const instanceArrays = await Promise.all(instancePromises);
|
|
28
|
+
const instances = instanceArrays.flat().map((i) => (0, utils_1.parseInstantiated)(i.addresses));
|
|
29
|
+
if (instances.length === 0) {
|
|
30
|
+
spinner.info("No instances found");
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
spinner.succeed(`Found ${instances.length} instance(s)`);
|
|
34
|
+
console.log("\nInstances:");
|
|
35
|
+
instanceArrays.flat().forEach((instance, index) => {
|
|
36
|
+
console.log(chalk_1.default.blue(`\nInstance #${instance.newInstanceId.toString()}:`));
|
|
37
|
+
console.log(chalk_1.default.green("Gov Token:"), instances[index].govToken);
|
|
38
|
+
console.log(chalk_1.default.green("Gov Token Access Manager:"), instances[index].govTokenAccessManager);
|
|
39
|
+
console.log(chalk_1.default.green("ACID Instance:"), instances[index].ACIDInstance);
|
|
40
|
+
console.log(chalk_1.default.green("ACID Access Manager:"), instances[index].ACIDAccessManager);
|
|
41
|
+
console.log(chalk_1.default.green("Rank Token:"), instances[index].rankToken);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
spinner.fail("Failed to list instances");
|
|
46
|
+
console.error(chalk_1.default.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/cli/commands/instances/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const commander_1 = require("commander");
|
|
7
|
+
const MultipassBase_1 = __importDefault(require("../../../multipass/MultipassBase"));
|
|
8
|
+
const viem_1 = require("viem");
|
|
9
|
+
const ora_1 = __importDefault(require("ora"));
|
|
10
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
11
|
+
const client_1 = require("../../client");
|
|
12
|
+
const Multipass_1 = require("../../../abis/Multipass");
|
|
13
|
+
const chainMapping_1 = require("../../../utils/chainMapping");
|
|
14
|
+
const contractCommand = new commander_1.Command("contract");
|
|
15
|
+
// Initialize the public client
|
|
16
|
+
contractCommand
|
|
17
|
+
.command("state")
|
|
18
|
+
.description("Get total number of domains in the contract")
|
|
19
|
+
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
20
|
+
.action(async (options) => {
|
|
21
|
+
const spinner = (0, ora_1.default)("Initializing client...").start();
|
|
22
|
+
const rpcUrl = options.rpc || process.env.RPC_URL;
|
|
23
|
+
if (!rpcUrl) {
|
|
24
|
+
spinner.fail("RPC URL is required");
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
const publicClient = (0, viem_1.createPublicClient)({
|
|
28
|
+
transport: (0, viem_1.http)(rpcUrl),
|
|
29
|
+
});
|
|
30
|
+
const chainId = await publicClient.getChainId();
|
|
31
|
+
spinner.stop();
|
|
32
|
+
const multipass = new MultipassBase_1.default({
|
|
33
|
+
chainId,
|
|
34
|
+
publicClient,
|
|
35
|
+
});
|
|
36
|
+
const state = await multipass.getContractState();
|
|
37
|
+
console.log("Total number of domains:", state.toString());
|
|
38
|
+
});
|
|
39
|
+
contractCommand
|
|
40
|
+
.command("owner")
|
|
41
|
+
.description("Get the current owner of the contract")
|
|
42
|
+
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
43
|
+
.action(async (options) => {
|
|
44
|
+
const spinner = (0, ora_1.default)("Fetching owner...").start();
|
|
45
|
+
const rpcUrl = options.rpc || process.env.RPC_URL;
|
|
46
|
+
if (!rpcUrl) {
|
|
47
|
+
spinner.fail("RPC URL is required");
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
const publicClient = (0, viem_1.createPublicClient)({
|
|
51
|
+
transport: (0, viem_1.http)(rpcUrl),
|
|
52
|
+
});
|
|
53
|
+
const chainId = await publicClient.getChainId();
|
|
54
|
+
spinner.stop();
|
|
55
|
+
const multipass = new MultipassBase_1.default({
|
|
56
|
+
chainId,
|
|
57
|
+
publicClient,
|
|
58
|
+
});
|
|
59
|
+
const owner = await multipass.publicClient.readContract({
|
|
60
|
+
address: multipass.getContractAddress(),
|
|
61
|
+
abi: Multipass_1.MultipassAbi,
|
|
62
|
+
functionName: "owner",
|
|
63
|
+
args: [],
|
|
64
|
+
});
|
|
65
|
+
console.log("Contract Owner:", owner);
|
|
66
|
+
});
|
|
67
|
+
contractCommand
|
|
68
|
+
.command("eip712-domain")
|
|
69
|
+
.description("Get the EIP712 domain details")
|
|
70
|
+
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
71
|
+
.action(async (options) => {
|
|
72
|
+
const spinner = (0, ora_1.default)("Fetching EIP712 domain...").start();
|
|
73
|
+
const rpcUrl = options.rpc || process.env.RPC_URL;
|
|
74
|
+
if (!rpcUrl) {
|
|
75
|
+
spinner.fail("RPC URL is required");
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
const publicClient = (0, viem_1.createPublicClient)({
|
|
79
|
+
transport: (0, viem_1.http)(rpcUrl),
|
|
80
|
+
});
|
|
81
|
+
const chainId = await publicClient.getChainId();
|
|
82
|
+
spinner.stop();
|
|
83
|
+
const multipass = new MultipassBase_1.default({
|
|
84
|
+
chainId,
|
|
85
|
+
publicClient,
|
|
86
|
+
});
|
|
87
|
+
const eip712Domain = await multipass.publicClient.readContract({
|
|
88
|
+
address: multipass.getContractAddress(),
|
|
89
|
+
abi: Multipass_1.MultipassAbi,
|
|
90
|
+
functionName: "eip712Domain",
|
|
91
|
+
args: [],
|
|
92
|
+
});
|
|
93
|
+
console.log("EIP712 Domain:", eip712Domain);
|
|
94
|
+
});
|
|
95
|
+
contractCommand
|
|
96
|
+
.command("supports-interface")
|
|
97
|
+
.description("Check if a specific interface is supported")
|
|
98
|
+
.argument("<interfaceId>", "Interface ID to check")
|
|
99
|
+
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
100
|
+
.action(async (interfaceId, options) => {
|
|
101
|
+
const spinner = (0, ora_1.default)("Checking interface support...").start();
|
|
102
|
+
const rpcUrl = options.rpc || process.env.RPC_URL;
|
|
103
|
+
if (!rpcUrl) {
|
|
104
|
+
spinner.fail("RPC URL is required");
|
|
105
|
+
process.exit(1);
|
|
106
|
+
}
|
|
107
|
+
const publicClient = (0, viem_1.createPublicClient)({
|
|
108
|
+
transport: (0, viem_1.http)(rpcUrl),
|
|
109
|
+
});
|
|
110
|
+
const chainId = await publicClient.getChainId();
|
|
111
|
+
spinner.stop();
|
|
112
|
+
const multipass = new MultipassBase_1.default({
|
|
113
|
+
chainId,
|
|
114
|
+
publicClient,
|
|
115
|
+
});
|
|
116
|
+
const isSupported = await multipass.publicClient.readContract({
|
|
117
|
+
address: multipass.getContractAddress(),
|
|
118
|
+
abi: Multipass_1.MultipassAbi,
|
|
119
|
+
functionName: "supportsInterface",
|
|
120
|
+
args: [interfaceId],
|
|
121
|
+
});
|
|
122
|
+
console.log(`Interface ${interfaceId} supported:`, isSupported);
|
|
123
|
+
});
|
|
124
|
+
contractCommand
|
|
125
|
+
.command("transfer")
|
|
126
|
+
.description("Transfer contract ownership to a new address")
|
|
127
|
+
.argument("<newOwner>", "New owner's address")
|
|
128
|
+
.option("-r, --rpc <url>", "RPC endpoint URL. If not provided, RPC_URL environment variable will be used")
|
|
129
|
+
.option("-k, --key <privateKey>", "Private key for signing transactions. If not provided, PRIVATE_KEY environment variable will be used")
|
|
130
|
+
.action(async (newOwner, options) => {
|
|
131
|
+
const spinner = (0, ora_1.default)("Transferring ownership...").start();
|
|
132
|
+
try {
|
|
133
|
+
const publicClient = (0, client_1.createPublic)(options.rpc);
|
|
134
|
+
const walletClient = await (0, client_1.createWallet)(options.rpc, options.key);
|
|
135
|
+
const chainId = Number(await publicClient.getChainId());
|
|
136
|
+
if (!walletClient.account) {
|
|
137
|
+
throw new Error("No account found");
|
|
138
|
+
}
|
|
139
|
+
const multipass = new MultipassBase_1.default({
|
|
140
|
+
chainId,
|
|
141
|
+
publicClient,
|
|
142
|
+
});
|
|
143
|
+
const chain = {
|
|
144
|
+
id: chainId,
|
|
145
|
+
name: chainMapping_1.chainToPath[chainId.toString()],
|
|
146
|
+
nativeCurrency: {
|
|
147
|
+
name: "Ether",
|
|
148
|
+
symbol: "ETH",
|
|
149
|
+
decimals: 18,
|
|
150
|
+
},
|
|
151
|
+
rpcUrls: {
|
|
152
|
+
default: {
|
|
153
|
+
http: [options.rpc || process.env.RPC_URL],
|
|
154
|
+
},
|
|
155
|
+
public: {
|
|
156
|
+
http: [options.rpc || process.env.RPC_URL],
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
};
|
|
160
|
+
const tx = await walletClient.writeContract({
|
|
161
|
+
address: multipass.getContractAddress(),
|
|
162
|
+
abi: Multipass_1.MultipassAbi,
|
|
163
|
+
functionName: "transferOwnership",
|
|
164
|
+
args: [newOwner],
|
|
165
|
+
account: walletClient.account,
|
|
166
|
+
chain,
|
|
167
|
+
});
|
|
168
|
+
spinner.succeed("Ownership transferred successfully!");
|
|
169
|
+
console.log(chalk_1.default.green("Transaction hash:"), tx);
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
spinner.fail("Ownership transfer failed");
|
|
173
|
+
console.error(chalk_1.default.red(`Error: ${error instanceof Error ? error.message : String(error)}`));
|
|
174
|
+
process.exit(1);
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
exports.default = contractCommand;
|
|
178
|
+
//# sourceMappingURL=contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../../src/cli/commands/multipass/contract.ts"],"names":[],"mappings":";;;;;AAAA,yCAAoC;AACpC,qFAA6D;AAC7D,+BAA4D;AAC5D,8CAAsB;AACtB,kDAA0B;AAC1B,yCAA0D;AAC1D,uDAAuD;AACvD,8DAA0D;AAE1D,MAAM,eAAe,GAAG,IAAI,mBAAO,CAAC,UAAU,CAAC,CAAC;AAEhD,+BAA+B;AAE/B,eAAe;KACZ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,iBAAiB,EAAE,8EAA8E,CAAC;KACzG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;IAChD,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,MAAM,SAAS,GAAG,IAAI,uBAAa,CAAC;QAClC,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEL,eAAe;KACZ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,iBAAiB,EAAE,8EAA8E,CAAC;KACzG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;IAChD,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,MAAM,SAAS,GAAG,IAAI,uBAAa,CAAC;QAClC,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC;QACtD,OAAO,EAAE,SAAS,CAAC,kBAAkB,EAAE;QACvC,GAAG,EAAE,wBAAY;QACjB,YAAY,EAAE,OAAO;QACrB,IAAI,EAAE,EAAE;KACT,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEL,eAAe;KACZ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,iBAAiB,EAAE,8EAA8E,CAAC;KACzG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;IAChD,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,MAAM,SAAS,GAAG,IAAI,uBAAa,CAAC;QAClC,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC;QAC7D,OAAO,EAAE,SAAS,CAAC,kBAAkB,EAAE;QACvC,GAAG,EAAE,wBAAY;QACjB,YAAY,EAAE,cAAc;QAC5B,IAAI,EAAE,EAAE;KACT,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEL,eAAe;KACZ,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,4CAA4C,CAAC;KACzD,QAAQ,CAAC,eAAe,EAAE,uBAAuB,CAAC;KAClD,MAAM,CAAC,iBAAiB,EAAE,8EAA8E,CAAC;KACzG,MAAM,CAAC,KAAK,EAAE,WAAgB,EAAE,OAAO,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAClD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;QACtC,SAAS,EAAE,IAAA,WAAI,EAAC,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;IAChD,OAAO,CAAC,IAAI,EAAE,CAAC;IACf,MAAM,SAAS,GAAG,IAAI,uBAAa,CAAC;QAClC,OAAO;QACP,YAAY;KACb,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC;QAC5D,OAAO,EAAE,SAAS,CAAC,kBAAkB,EAAE;QACvC,GAAG,EAAE,wBAAY;QACjB,YAAY,EAAE,mBAAmB;QACjC,IAAI,EAAE,CAAC,WAAW,CAAC;KACpB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,aAAa,WAAW,aAAa,EAAE,WAAW,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEL,eAAe;KACZ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,8CAA8C,CAAC;KAC3D,QAAQ,CAAC,YAAY,EAAE,qBAAqB,CAAC;KAC7C,MAAM,CAAC,iBAAiB,EAAE,8EAA8E,CAAC;KACzG,MAAM,CACL,wBAAwB,EACxB,sGAAsG,CACvG;KACA,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAO,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,qBAAY,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,IAAA,qBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;QAExD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,uBAAa,CAAC;YAClC,OAAO;YACP,YAAY;SACb,CAAC,CAAC;QACH,MAAM,KAAK,GAAU;YACnB,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,0BAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,cAAc,EAAE;gBACd,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,EAAE;aACb;YACD,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAQ,CAAC;iBAC5C;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,OAAQ,CAAC;iBAC5C;aACF;SACF,CAAC;QACF,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,aAAa,CAAC;YAC1C,OAAO,EAAE,SAAS,CAAC,kBAAkB,EAAE;YACvC,GAAG,EAAE,wBAAY;YACjB,YAAY,EAAE,mBAAmB;YACjC,IAAI,EAAE,CAAC,QAAyB,CAAC;YACjC,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,KAAK;SACN,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,kBAAe,eAAe,CAAC"}
|