UNPKG

@ixily/activ

Version:

Alpha Capture Trade Idea Verification. Blockchain ownership proven trade ideas and strategies.

361 lines 16.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ActivV4Module = void 0; const config_module_1 = require("./config.module"); const contract_module_1 = require("./contract.module"); const crypto_ideas_module_1 = require("./crypto-ideas.module"); const lit_module_1 = require("./lit.module"); const provable_ideas_module_1 = require("./provable-ideas.module"); const strategy_chain_module_1 = require("./strategy-chain.module"); const version_json_1 = require("../../../version.json"); const version_contract_db_json_1 = require("../../../version-contract-db.json"); // temporary const migration_v3_module_1 = require("./migration-v3.module"); const __1 = require("../../"); const contracts_1 = require("../../constants/chunks/contracts"); const query_views_module_1 = require("./query-views.module"); const config = config_module_1.ConfigModule.config; const listContractChains = contract_module_1.ContractModule.listBlockchainNetworks; const listContractsForChain = contract_module_1.ContractModule.listContractsForNetwork; const selectChainContract = contract_module_1.ContractModule.changeToContract; const getBlockchainContract = contract_module_1.ContractModule.getBlockchainContract; const getGateContract = () => contract_module_1.ContractModule.getGate(); const getIdeaByNftId = async (ideaNft, decrypt = true, inflateImages = false, contract) => { contract = contract_module_1.ContractModule.thisOrGet(contract); const key = `getIdeaByNftId_${ideaNft}_${decrypt}`; const { data } = await __1.CacheService.getData({ contract: contract?.gate, key, init: async () => { return provable_ideas_module_1.ProvableIdeasModule.general.getIdeaByNftId(ideaNft, decrypt, inflateImages, contract); }, }); if (migration_v3_module_1.MigrationV3TemporaryModule.isCloseIdea(data)) { await __1.CacheService.updateData({ key, contract: contract?.gate, data, expirationInSeconds: __1.skipExpirationInSeconds, }); } return data; }; const getIdeaMetadataByKeys = async (strategyKey, ideaKey, stageKey, creator, contract) => provable_ideas_module_1.ProvableIdeasModule.general.getIdeaMetadataByKeys(strategyKey, ideaKey, stageKey, creator, contract); const getIdeaNftIdByKeys = async (creator, strategyKey, ideaKey, stageKey, contract) => provable_ideas_module_1.ProvableIdeasModule.general.getIdeaNftIdByKeys(creator, strategyKey, ideaKey, stageKey, contract); const getIdeaByKeys = async (strategyKey, ideaKey, stageKey, creator, contract) => provable_ideas_module_1.ProvableIdeasModule.general.getIdeaByKeys(strategyKey, ideaKey, stageKey, creator, contract); // const listAllStrategies = async (contract?: IContract): Promise<any[]> => // ProvableIdeasModule.general.listAllStrategies(contract) const updateCurrentContractDb = async (contract) => { contract = contract_module_1.ContractModule.thisOrGet(contract); await __1.MessModule.updateContractDb(contract); }; const serveContractsDb = async (chainContracts) => { return __1.MessModule.serveContractsDb(chainContracts); }; const readEvents = async () => provable_ideas_module_1.ProvableIdeasModule.canonical.readEvents(); const listStrategyReferences = async (creator, contract) => provable_ideas_module_1.ProvableIdeasModule.canonical.listStrategyReferences(creator, contract); const getStrategyIdeasCanonical = async (strategyReference, creator, contract) => provable_ideas_module_1.ProvableIdeasModule.canonical.getStrategyIdeasCanonical(strategyReference, creator, contract); // const listCreatorAndStrategyReferences = async ( // creator?: string, // contract?: IContract, // ): Promise<IOrderedReference> => // ProvableIdeasModule.canonical.listCreatorAndStrategyReferences( // creator, // contract, // ) const listStrategyReferencesCanonical = async (creator, contract) => provable_ideas_module_1.ProvableIdeasModule.canonical.listStrategyReferencesCanonical(creator, contract); const listStrategiesDetailsCanonical = async (creator, contract) => provable_ideas_module_1.ProvableIdeasModule.canonical.listStrategiesDetailsCanonical(creator, contract); const listAllIdeasCanonical = async (creator, contract) => provable_ideas_module_1.ProvableIdeasModule.canonical.listIdeasCanonical(creator, contract); // We can proide the creator address to get from the strategies otherwise it defaults to the current user const listStrategiesByCreator = async (creator, contract) => provable_ideas_module_1.ProvableIdeasModule.general.listStrategies(creator, contract); /* const getAllIdeas = async ( creator?: string, contract?: IContract, ): Promise<any[]> => { */ const getMetadataByBlockId = async (blockId, decryptIdea, contract) => provable_ideas_module_1.ProvableIdeasModule.general.getMetadataByBlockId(blockId, decryptIdea, contract); const listStrategyIdeasByCreatorAndReference = async (strategyReference, creator, contract) => { const { data } = await __1.CacheService.getData({ contract: contract?.gate, key: `listIdeas_${strategyReference}`, init: async () => { return provable_ideas_module_1.ProvableIdeasModule.general.listIdeas(strategyReference, creator, contract); }, }); return data; }; const listStrategyIdeasStagesByCreatorAndReference = async (strategyReference, ideaKey, creator, contract) => provable_ideas_module_1.ProvableIdeasModule.general.listStages(strategyReference, ideaKey, creator, contract); const getCurrentStrategyTickers = async (strategyChainOrStrategyKey, creator, contract) => { const { data } = await __1.CacheService.getData({ contract: contract?.gate, key: `getCurrentStrategyTickers_${strategyChainOrStrategyKey?.strategyKey || strategyChainOrStrategyKey}`, init: async () => { return provable_ideas_module_1.ProvableIdeasModule.general.getCurrentStrategyTickers(strategyChainOrStrategyKey, creator, contract); }, }); return data; }; const getStrategyChain = async (strategyKey, creator, contract) => provable_ideas_module_1.ProvableIdeasModule.general.getStrategyChain(strategyKey, creator, contract); const getValidatedStrategyChain = async (strategyKey, creator, contract) => provable_ideas_module_1.ProvableIdeasModule.general.getValidatedStrategyChain(strategyKey, creator, contract); const getStrategyMetadata = async (strategyChain, strategyKey, creator, contract) => { if (strategyChain === undefined) { strategyChain = await getValidatedStrategyChain(strategyKey, creator, contract); } let strategyMetadata = undefined; let reverseSeachIndex = 1; while (strategyMetadata === undefined) { const lastIdea = strategyChain.ideas[strategyChain.ideas.length - reverseSeachIndex]; strategyMetadata = lastIdea.stages[lastIdea.stages.length - 1].ideaStage.strategy; } return strategyMetadata; }; // const getOwnedByNfts = async ( // owner?: string, // contract?: IContract, // ): Promise<any> => ProvableIdeasModule.general.getOwnedByNfts(owner, contract) // // const getCreatedByNfts = async ( // creator?: string, // contract?: IContract, // ): Promise<number[]> => // ProvableIdeasModule.general.getCreatedByNfts(creator, contract) /* * Get all ideas created by a wallet address user * * creator defaults to the caller * * @param {string} creator * @param {number} page * @param {number} limit * @param {Contract} contract * @returns {Promise<any[]>} */ // const getCreatedByIdeas = async ( // page: number = 1, // limit: number = 5, // creator?: string, // contract?: IContract, // ): Promise<IPaging<IOpenSeaMetadata>> => // ProvableIdeasModule.general.getCreatedByIdeas( // creator, // page, // limit, // undefined, // contract, // ) const getMyIdeas = async (page = 1, limit = 5, contract) => provable_ideas_module_1.ProvableIdeasModule.general.getCreatedByIdeas(undefined, page, limit, undefined, contract); // const getMyIdeasByFilter = async ( // page: number = 1, // limit: number = 5, // filterIdeaKind: ITradeIdeaIdeaKind, // contract?: IContract, // ): Promise<IPaging<any>> => // ProvableIdeasModule.general.getCreatedByIdeas( // undefined, // page, // limit, // filterIdeaKind, // contract, // ) /* * Get all ideas owned by a wallet address user * * creator defaults to the caller * * @param {string} creator * @param {number} page * @param {number} limit * @param {Contract} contract * @returns {Promise<any[]>} */ // const getOwnedByIdeas = async ( // page: number = 1, // limit: number = 5, // creator?: string, // contract?: IContract, // ): Promise<IPaging<any>> => // ProvableIdeasModule.general.getOwnedByIdeas( // creator, // page, // limit, // undefined, // contract, // ) const getAllIdeasUserCanSee = async (page = 1, limit = 5, user, contract) => provable_ideas_module_1.ProvableIdeasModule.general.getAllIdeasUserCanSee(user, page, limit, undefined, contract); const getAllMyIdeas = async (page = 1, limit = 5, contract) => provable_ideas_module_1.ProvableIdeasModule.general.getAllIdeasUserCanSee(undefined, page, limit, undefined, contract); // const getAllPublicIdeas = async ( // page: number = 1, // limit: number = 5, // contract?: IContract, // ): Promise<IPaging<any>> => // ProvableIdeasModule.general.getAllPublicClosedIdeas(page, limit, contract) const testPricingAsset = async (request) => __1.PricingModule.testPricingAsset(request); const settings = async (contract) => contract_module_1.ContractModule.getWalletSettings(contract); const supportedChainNetworks = () => contracts_1.ACTIV_AVAILABLE_CHAINS; const getEstimatedCosts = async (newIdea = true, clientInBehalf, contract) => { contract = await contract_module_1.ContractModule.thisOrGet(contract); return __1.OperationalCostModule.getEstimatedCosts(contract, clientInBehalf, newIdea); }; const createPortfolioEntry = provable_ideas_module_1.ProvableIdeasModule?.clientOnly?.createPortfolioEntry; const createPortfolio = provable_ideas_module_1.ProvableIdeasModule?.clientOnly?.createPortfolio; const createIdea = provable_ideas_module_1.ProvableIdeasModule?.clientOnly?.createIdea; const createNormalizedTradeIdea = provable_ideas_module_1.ProvableIdeasModule?.clientOnly?.createNormalizedTradeIdea; const adjustIdea = provable_ideas_module_1.ProvableIdeasModule?.clientOnly?.adjustIdea; const closeIdea = provable_ideas_module_1.ProvableIdeasModule?.clientOnly?.closeIdea; const providerCreateIdea = provable_ideas_module_1.ProvableIdeasModule.providerOnly.providerCreateIdea; const providerCloseIdea = provable_ideas_module_1.ProvableIdeasModule.providerOnly.providerCloseIdea; const providerAdjustIdea = provable_ideas_module_1.ProvableIdeasModule.providerOnly.providerAdjustIdea; const providerCreateFiatMintIdea = provable_ideas_module_1.ProvableIdeasModule.providerOnly.providerCreateFiatMintIdea; const createIdeaFromFiatMint = provable_ideas_module_1.ProvableIdeasModule?.fiatMint?.createIdea; const createNormalizedTradeIdeaFromFiatMint = provable_ideas_module_1.ProvableIdeasModule?.fiatMint?.createNormalizedTradeIdea; const adjustIdeaFromFiatMint = provable_ideas_module_1.ProvableIdeasModule?.fiatMint?.adjustIdea; const closeIdeaFromFiatMint = provable_ideas_module_1.ProvableIdeasModule?.fiatMint?.closeIdea; const getCreatorOfNftIdea = async (nftId, contract) => provable_ideas_module_1.ProvableIdeasModule.general.getCreatorOfNftIdea(nftId, contract); const restoredIdeasWithPagination = crypto_ideas_module_1.CryptoIdeasModule.getRestoredIdeasByNftIdsWithPaginationAndFilter; const restoreIdeaImages = crypto_ideas_module_1.CryptoIdeasModule.restoreImages; const restoreIdeasImages = (ideas) => { return Promise.all(ideas.map((idea) => restoreIdeaImages(idea))); }; const getChronologicalIdeasFromStrategyChain = strategy_chain_module_1.StrategyChainModule.chronologicalIdeasFromChain; const getActiveIdeasFromStrategyChain = strategy_chain_module_1.StrategyChainModule.getActiveIdeasFromChain; const getExistingNftByStrategyRefAndTicker = provable_ideas_module_1.ProvableIdeasModule.general.getExistingNftByStrategyRefAndTicker; const getPricingInfo = (tradeIdea) => provable_ideas_module_1.ProvableIdeasModule.general.getPricingInfo(tradeIdea.pricing, tradeIdea.idea.asset.ticker, tradeIdea.tracker, tradeIdea.devSettings?.croupierUrl); const getVersion = () => { return version_json_1.version; }; const getContractDbVersion = () => { return version_contract_db_json_1.contractDbVersion; }; const giveIdeaAccessTo = (nftId, addresses, contract) => provable_ideas_module_1.ProvableIdeasModule.clientOnly.giveIdeaAccessTo(nftId, addresses, contract); const getIdeaViewers = (nftId, contract) => provable_ideas_module_1.ProvableIdeasModule.general.getIdeaViewers(nftId, contract); const authorizeProvider = (provider, contract) => provable_ideas_module_1.ProvableIdeasModule.clientOnly.authorizeProvider(provider, contract); const revokeProvider = (provider, contract) => provable_ideas_module_1.ProvableIdeasModule.clientOnly.revokeProvider(provider, contract); const authorizeCheck = (provider, contract) => provable_ideas_module_1.ProvableIdeasModule.clientOnly.authorizeCheck(provider, contract); const providerCheck = (client, contract) => provable_ideas_module_1.ProvableIdeasModule.providerOnly.providerCheck(client, contract); const getKeysFromIdea = (tradeIdea) => { return { strategyKey: tradeIdea.strategy.reference, ideaKey: tradeIdea.content.ideaKey, ideaStageKey: tradeIdea.content.ideaStageKey, nftId: tradeIdea.nftId, tradeIdea, }; }; const isValidWalletAddress = (walletAddressList) => { let globalCheck = true; const checkerResponse = {}; for (const wallet of walletAddressList) { if (wallet) { checkerResponse[wallet] = __1.ethers.utils.isAddress(wallet); if (!checkerResponse[wallet]) { globalCheck = false; } } } return { globalCheck, checkerResponse, }; }; const testLitActionsAvailability = lit_module_1.LitModule.testJS; const listNetworks = () => contracts_1.ACTIV_LIVE_CHAINS; // const listExchanges = () => PRICING_PROVIDERS exports.ActivV4Module = { settings, supportedChainNetworks, config, // getEstimatedCosts, // adminCreateIdea, createIdea, createPortfolioEntry, createPortfolio, createNormalizedTradeIdea, adjustIdea, closeIdea, providerCreateIdea, providerCloseIdea, providerAdjustIdea, providerCreateFiatMintIdea, createIdeaFromFiatMint, createNormalizedTradeIdeaFromFiatMint, adjustIdeaFromFiatMint, closeIdeaFromFiatMint, // adminCreateClientTokens, giveIdeaAccessTo, getPricingInfo, getIdeaViewers, // crud // contract // listAllStrategies, // creator of ideas listStrategiesByCreator, listStrategyIdeasByCreatorAndReference, listStrategyIdeasStagesByCreatorAndReference, // getIdeaNftIdByKeys, getIdeaMetadataByKeys, getIdeaByKeys, getIdeaByNftId, // owner of token to ideas // getOwnedByIdeas, // getOwnedByNfts, // getCreatedByIdeas, // getCreatedByNfts, // getMyIdeasByFilter, getExistingNftByStrategyRefAndTicker, getCreatorOfNftIdea, restoredIdeasWithPagination, restoreIdeaImages, restoreIdeasImages, getAllIdeasUserCanSee, getAllMyIdeas, getMyIdeas, // getAllPublicIdeas, getMetadataByBlockId, getKeysFromIdea, testPricingAsset, // adminListStrategies, getStrategyChain, getValidatedStrategyChain, getStrategyMetadata, getChronologicalIdeasFromStrategyChain, getActiveIdeasFromStrategyChain, getCurrentStrategyTickers, // adminGetStrategyChain, // getStrategyIdeas, authorizeProvider, revokeProvider, authorizeCheck, providerCheck, // contract setup listContractChains, listContractsForChain, selectChainContract, getBlockchainContract, getGateContract, testLitActionsAvailability, isValidWalletAddress, listNetworks, // listExchanges, // canonical readEvents, updateCurrentContractDb, serveContractsDb, // listCreatorAndStrategyReferences, listStrategyReferences, getStrategyIdeasCanonical, listStrategyReferencesCanonical, listStrategiesDetailsCanonical, listAllIdeasCanonical, ...migration_v3_module_1.MigrationV3TemporaryModule, getVersion, getContractDbVersion, query: { ...query_views_module_1.QueryViewsModule, }, }; //# sourceMappingURL=activ-v4.module.js.map