@bitsocial/bitsocial-react-hooks 0.1.15 → 0.1.17

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.
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/hooks/actions/actions.ts"],"names":[],"mappings":"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","sourcesContent":["import { useMemo, useRef, useState } from \"react\";\nimport type { Dispatch, SetStateAction } from \"react\";\nimport useAccountsStore from \"../../stores/accounts\";\nimport Logger from \"@pkcprotocol/pkc-logger\";\nconst log = Logger(\"bitsocial-react-hooks:actions:hooks\");\nimport assert from \"assert\";\nimport { useAccount, useAccountId } from \"../accounts\";\n\n/** Wraps a callback to no-op when guard returns false. Exported for coverage. */\nexport function withGuardActive<T extends (...args: any[]) => void>(\n guardActive: () => boolean,\n fn: T,\n): T {\n return ((...args: Parameters<T>) => {\n if (!guardActive()) return;\n return fn(...args);\n }) as T;\n}\n\nconst noop = () => {};\n\n/** For usePublishComment: when abandoned, catch should no-op. Exported for coverage. */\nexport function handlePublishErrorWhenAbandoned(\n activeRequestIdRef: { current: number | undefined },\n requestId: number,\n error: Error,\n setErrors: Dispatch<SetStateAction<Error[]>>,\n onError?: (e: Error) => void,\n): void {\n if (activeRequestIdRef.current !== requestId) return;\n setErrors((errors) => [...errors, error]);\n (onError ?? noop)(error);\n}\n\n/** For usePublishVote catch. Exported for coverage. */\nexport function handlePublishVoteError(\n error: Error,\n setErrors: Dispatch<SetStateAction<Error[]>>,\n onError?: (e: Error) => void,\n): void {\n setErrors((errors) => [...errors, error]);\n (onError ?? noop)(error);\n}\nimport type {\n UseSubscribeOptions,\n UseSubscribeResult,\n UsePublishCommentOptions,\n UsePublishCommentResult,\n UseBlockOptions,\n UseBlockResult,\n UseCreateCommunityOptions,\n UseCreateCommunityResult,\n UseExportCommunityOptions,\n UseExportCommunityResult,\n UsePublishVoteOptions,\n UsePublishVoteResult,\n UsePublishCommentEditOptions,\n UsePublishCommentEditResult,\n UsePublishCommentModerationOptions,\n UsePublishCommentModerationResult,\n UsePublishCommunityEditOptions,\n UsePublishCommunityEditResult,\n Challenge,\n ChallengeVerification,\n Comment,\n CommentEdit,\n CommentModeration,\n CommunityEdit,\n Vote,\n Community,\n CommunityExport,\n} from \"../../types\";\n\ntype PublishChallengeAnswers = (challengeAnswers: string[]) => Promise<void>;\nconst publishChallengeAnswersNotReady: PublishChallengeAnswers = async (challengeAnswers) => {\n throw Error(\n `can't call publishChallengeAnswers() before result.challenge is defined (before the challenge message is received)`,\n );\n};\n\nexport function useSubscribe(options?: UseSubscribeOptions): UseSubscribeResult {\n assert(\n !options || typeof options === \"object\",\n `useSubscribe options argument '${options}' not an object`,\n );\n const { communityAddress, accountName, onError } = options || {};\n const account = useAccount({ accountName });\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const [errors, setErrors] = useState<Error[]>([]);\n let state = \"initializing\";\n let subscribed: boolean | undefined;\n\n // before the account and communityAddress is defined, nothing can happen\n if (account && communityAddress) {\n state = \"ready\";\n subscribed = Boolean(account.subscriptions?.includes(communityAddress));\n }\n\n const subscribe = async () => {\n try {\n await accountsActions.subscribe(communityAddress, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n const unsubscribe = async () => {\n try {\n await accountsActions.unsubscribe(communityAddress, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n subscribed,\n subscribe,\n unsubscribe,\n state,\n error: errors[errors.length - 1],\n errors,\n }),\n [state, subscribed, errors, communityAddress, accountName],\n );\n}\n\nexport function useBlock(options?: UseBlockOptions): UseBlockResult {\n assert(\n !options || typeof options === \"object\",\n `useBlock options argument '${options}' not an object`,\n );\n const { address, cid, accountName, onError } = options || {};\n if (address && cid) {\n throw Error(\n `can't useBlock with both an address '${address}' and cid '${cid}' argument at the same time`,\n );\n }\n const account = useAccount({ accountName });\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const [errors, setErrors] = useState<Error[]>([]);\n let state = \"initializing\";\n let blocked: boolean | undefined;\n\n // before the account and address is defined, nothing can happen\n if (account && (address || cid)) {\n state = \"ready\";\n if (address) {\n blocked = Boolean(account.blockedAddresses[address]);\n }\n if (cid) {\n blocked = Boolean(account.blockedCids[cid]);\n }\n }\n\n const block = async () => {\n try {\n if (cid) {\n await accountsActions.blockCid(cid, accountName);\n } else {\n await accountsActions.blockAddress(address, accountName);\n }\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n const unblock = async () => {\n try {\n if (cid) {\n await accountsActions.unblockCid(cid, accountName);\n } else {\n await accountsActions.unblockAddress(address, accountName);\n }\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n blocked,\n block,\n unblock,\n state,\n error: errors[errors.length - 1],\n errors,\n }),\n [state, blocked, errors, address, accountName],\n );\n}\n\nexport function usePublishComment(options?: UsePublishCommentOptions): UsePublishCommentResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishComment options argument '${options}' not an object`,\n );\n const { accountName, ...publishCommentOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [index, setIndex] = useState<number>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n const indexRef = useRef<number | undefined>(undefined);\n const publishRequestIdRef = useRef(0);\n const activePublishRequestIdRef = useRef<number | undefined>(undefined);\n const guardActive = () => activePublishRequestIdRef.current !== undefined;\n publishCommentOptions._onPendingCommentIndex = withGuardActive(\n guardActive,\n (pendingIndex: number) => {\n indexRef.current = pendingIndex;\n setIndex(pendingIndex);\n },\n );\n\n let initialState = \"initializing\";\n if (accountId && options) initialState = \"ready\";\n\n const originalOnError = publishCommentOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n (originalOnError ?? noop)(error);\n };\n publishCommentOptions.onError = onError;\n\n const originalOnChallenge = publishCommentOptions.onChallenge;\n publishCommentOptions.onChallenge = withGuardActive(\n guardActive,\n async (challenge: Challenge, comment: Comment) => {\n setPublishChallengeAnswers(() => comment?.publishChallengeAnswers.bind(comment));\n setChallenge(challenge);\n (originalOnChallenge ?? noop)(challenge, comment);\n },\n );\n\n const originalOnChallengeVerification = publishCommentOptions.onChallengeVerification;\n publishCommentOptions.onChallengeVerification = withGuardActive(\n guardActive,\n async (challengeVerification: ChallengeVerification, comment: Comment) => {\n setChallengeVerification(challengeVerification);\n (originalOnChallengeVerification ?? noop)(challengeVerification, comment);\n },\n );\n\n publishCommentOptions.onPublishingStateChange = withGuardActive(\n guardActive,\n (publishingState: string) => setPublishingState(publishingState),\n );\n\n const publishComment = async () => {\n const requestId = publishRequestIdRef.current + 1;\n publishRequestIdRef.current = requestId;\n activePublishRequestIdRef.current = requestId;\n try {\n const { index } = await accountsActions.publishComment(publishCommentOptions, accountName);\n if (activePublishRequestIdRef.current !== requestId) {\n return;\n }\n indexRef.current = index;\n setIndex(index);\n } catch (e: any) {\n handlePublishErrorWhenAbandoned(\n activePublishRequestIdRef,\n requestId,\n e,\n setErrors,\n originalOnError,\n );\n }\n };\n\n const abandonPublish = async () => {\n activePublishRequestIdRef.current = undefined;\n const idx = indexRef.current;\n if (idx !== undefined) {\n await accountsActions.deleteComment(idx, accountName);\n }\n indexRef.current = undefined;\n setChallenge(undefined);\n setChallengeVerification(undefined);\n setPublishChallengeAnswers(undefined);\n setIndex(undefined);\n setPublishingState(undefined);\n };\n\n return useMemo(\n () => ({\n index,\n challenge,\n challengeVerification,\n publishComment,\n abandonPublish,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n index,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishVote(options?: UsePublishVoteOptions): UsePublishVoteResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishVote options argument '${options}' not an object`,\n );\n const { accountName, ...publishVoteOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishVoteOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishVoteOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishVoteOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, vote: Vote) => {\n setPublishChallengeAnswers(() => vote?.publishChallengeAnswers.bind(vote));\n setChallenge(challenge);\n (originalOnChallenge ?? (() => {}))(challenge, vote);\n };\n publishVoteOptions.onChallenge = onChallenge;\n\n const originalOnChallengeVerification = publishVoteOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n vote: Vote,\n ) => {\n setChallengeVerification(challengeVerification);\n (originalOnChallengeVerification ?? noop)(challengeVerification, vote);\n };\n publishVoteOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishVoteOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishVote = async () => {\n try {\n await accountsActions.publishVote(publishVoteOptions, accountName);\n } catch (e: any) {\n handlePublishVoteError(e, setErrors, originalOnError);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishVote,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishCommentEdit(\n options?: UsePublishCommentEditOptions,\n): UsePublishCommentEditResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishCommentEdit options argument '${options}' not an object`,\n );\n const { accountName, ...publishCommentEditOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishCommentEditOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishCommentEditOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishCommentEditOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, commentEdit: CommentEdit) => {\n // cannot set a function directly with setState\n setPublishChallengeAnswers(() => commentEdit?.publishChallengeAnswers.bind(commentEdit));\n setChallenge(challenge);\n originalOnChallenge?.(challenge, commentEdit);\n };\n publishCommentEditOptions.onChallenge = onChallenge;\n\n // define onChallengeVerification if not defined\n const originalOnChallengeVerification = publishCommentEditOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n commentEdit: CommentEdit,\n ) => {\n setChallengeVerification(challengeVerification);\n originalOnChallengeVerification?.(challengeVerification, commentEdit);\n };\n publishCommentEditOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishCommentEditOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishCommentEdit = async () => {\n try {\n await accountsActions.publishCommentEdit(publishCommentEditOptions, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n originalOnError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishCommentEdit,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishCommentModeration(\n options?: UsePublishCommentModerationOptions,\n): UsePublishCommentModerationResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishCommentModeration options argument '${options}' not an object`,\n );\n const { accountName, ...publishCommentModerationOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishCommentModerationOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishCommentModerationOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishCommentModerationOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, commentModeration: CommentModeration) => {\n // cannot set a function directly with setState\n setPublishChallengeAnswers(() =>\n commentModeration?.publishChallengeAnswers.bind(commentModeration),\n );\n setChallenge(challenge);\n originalOnChallenge?.(challenge, commentModeration);\n };\n publishCommentModerationOptions.onChallenge = onChallenge;\n\n // define onChallengeVerification if not defined\n const originalOnChallengeVerification = publishCommentModerationOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n commentModeration: CommentModeration,\n ) => {\n setChallengeVerification(challengeVerification);\n originalOnChallengeVerification?.(challengeVerification, commentModeration);\n };\n publishCommentModerationOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishCommentModerationOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishCommentModeration = async () => {\n try {\n await accountsActions.publishCommentModeration(publishCommentModerationOptions, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n originalOnError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishCommentModeration,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishCommunityEdit(\n options?: UsePublishCommunityEditOptions,\n): UsePublishCommunityEditResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishCommunityEdit options argument '${options}' not an object`,\n );\n const { accountName, communityAddress, ...publishCommunityEditOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && communityAddress) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishCommunityEditOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishCommunityEditOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishCommunityEditOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, communityEdit: CommunityEdit) => {\n // cannot set a function directly with setState\n setPublishChallengeAnswers(() => communityEdit?.publishChallengeAnswers.bind(communityEdit));\n setChallenge(challenge);\n originalOnChallenge?.(challenge, communityEdit);\n };\n publishCommunityEditOptions.onChallenge = onChallenge;\n\n // define onChallengeVerification if not defined\n const originalOnChallengeVerification = publishCommunityEditOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n communityEdit: CommunityEdit,\n ) => {\n setChallengeVerification(challengeVerification);\n originalOnChallengeVerification?.(challengeVerification, communityEdit);\n };\n publishCommunityEditOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishCommunityEditOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishCommunityEdit = async () => {\n try {\n await accountsActions.publishCommunityEdit(\n communityAddress,\n publishCommunityEditOptions,\n accountName,\n );\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n originalOnError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishCommunityEdit,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function useCreateCommunity(options?: UseCreateCommunityOptions): UseCreateCommunityResult {\n assert(\n !options || typeof options === \"object\",\n `useCreateCommunity options argument '${options}' not an object`,\n );\n const { accountName, onError, ...createCommunityOptions } = options || {};\n const accountId = useAccountId(accountName);\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const [errors, setErrors] = useState<Error[]>([]);\n const [state, setState] = useState<string>();\n const [createdCommunity, setCreatedCommunity] = useState<Community>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n const createCommunity = async () => {\n try {\n setState(\"creating\");\n const createdCommunity = await accountsActions.createCommunity(\n createCommunityOptions,\n accountName,\n );\n setCreatedCommunity(createdCommunity);\n setState(\"succeeded\");\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n setState(\"failed\");\n onError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n createdCommunity,\n createCommunity,\n state: state || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [state, errors, createdCommunity, options, accountName],\n );\n}\n\nexport function useExportCommunity(options?: UseExportCommunityOptions): UseExportCommunityResult {\n assert(\n !options || typeof options === \"object\",\n `useExportCommunity options argument '${options}' not an object`,\n );\n const { accountName, communityAddress, communityAddresses, onError, ...exportCommunityOptions } =\n options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [exportingState, setExportingState] = useState<string>();\n const [communityExports, setCommunityExports] = useState<CommunityExport[]>([]);\n const targetCommunityAddresses =\n communityAddresses || (communityAddress ? [communityAddress] : undefined);\n const exportContextKey = JSON.stringify([\n accountId || null,\n targetCommunityAddresses || null,\n exportCommunityOptions.includePrivateKey === true,\n exportCommunityOptions.exportPath,\n ]);\n const previousExportContextKeyRef = useRef(exportContextKey);\n const exportContextVersionRef = useRef(0);\n if (previousExportContextKeyRef.current !== exportContextKey) {\n previousExportContextKeyRef.current = exportContextKey;\n exportContextVersionRef.current += 1;\n }\n const [exportingContext, setExportingContext] = useState<{\n key: string;\n version: number;\n }>();\n\n let initialState = \"initializing\";\n if (accountId) {\n initialState = \"ready\";\n }\n const hasCurrentExportState =\n accountId &&\n exportingContext?.key === exportContextKey &&\n exportingContext.version === exportContextVersionRef.current;\n\n const exportCommunity = async () => {\n try {\n setExportingContext({\n key: exportContextKey,\n version: exportContextVersionRef.current,\n });\n setExportingState(\"exporting\");\n const communityExports = await accountsActions.exportCommunity(\n targetCommunityAddresses,\n exportCommunityOptions,\n accountName,\n );\n setCommunityExports(communityExports);\n setExportingState(\"succeeded\");\n } catch (e: any) {\n setExportingState(\"failed\");\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n return {\n communityExports: hasCurrentExportState ? communityExports : [],\n exportCommunity,\n state: hasCurrentExportState ? exportingState! : initialState,\n error: hasCurrentExportState ? errors[errors.length - 1] : undefined,\n errors: hasCurrentExportState ? errors : [],\n };\n}\n"]}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/hooks/actions/actions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,MAAM,MAAM,yBAAyB,CAAC;AAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,qCAAqC,CAAC,CAAC;AAC1D,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvD,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAC7B,WAA0B,EAC1B,EAAK;IAEL,OAAO,CAAC,CAAC,GAAG,IAAmB,EAAE,EAAE;QACjC,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO;QAC3B,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IACrB,CAAC,CAAM,CAAC;AACV,CAAC;AAED,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEtB,wFAAwF;AACxF,MAAM,UAAU,+BAA+B,CAC7C,kBAAmD,EACnD,SAAiB,EACjB,KAAY,EACZ,SAA4C,EAC5C,OAA4B;IAE5B,IAAI,kBAAkB,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO;IACrD,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,sBAAsB,CACpC,KAAY,EACZ,SAA4C,EAC5C,OAA4B;IAE5B,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAgCD,MAAM,+BAA+B,GAA4B,CAAO,gBAAgB,EAAE,EAAE;IAC1F,MAAM,KAAK,CACT,oHAAoH,CACrH,CAAC;AACJ,CAAC,CAAA,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,OAA6B;;IACxD,MAAM,CACJ,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACvC,kCAAkC,OAAO,iBAAiB,CAC3D,CAAC;IACF,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IACjE,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC3E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,EAAE,CAAC,CAAC;IAClD,IAAI,KAAK,GAAG,cAAc,CAAC;IAC3B,IAAI,UAA+B,CAAC;IAEpC,yEAAyE;IACzE,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAChC,KAAK,GAAG,OAAO,CAAC;QAChB,UAAU,GAAG,OAAO,CAAC,MAAA,OAAO,CAAC,aAAa,0CAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,SAAS,GAAG,GAAS,EAAE;QAC3B,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,WAAW,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,UAAU;QACV,SAAS;QACT,WAAW;QACX,KAAK;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM;KACP,CAAC,EACF,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAyB;IAChD,MAAM,CACJ,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACvC,8BAA8B,OAAO,iBAAiB,CACvD,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAC7D,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,MAAM,KAAK,CACT,wCAAwC,OAAO,cAAc,GAAG,6BAA6B,CAC9F,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC3E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,EAAE,CAAC,CAAC;IAClD,IAAI,KAAK,GAAG,cAAc,CAAC;IAC3B,IAAI,OAA4B,CAAC;IAEjC,gEAAgE;IAChE,IAAI,OAAO,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,GAAG,OAAO,CAAC;QAChB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,GAAS,EAAE;QACvB,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,OAAO;QACP,KAAK;QACL,OAAO;QACP,KAAK;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM;KACP,CAAC,EACF,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAkC;IAClE,MAAM,CACJ,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACvC,uCAAuC,OAAO,iBAAiB,CAChE,CAAC;IACF,MAAM,KAA4C,OAAO,IAAI,EAAE,EAAzD,EAAE,WAAW,OAA4C,EAAvC,qBAAqB,cAAvC,eAAyC,CAAgB,CAAC;IAChE,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,EAAU,CAAC;IACjE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAU,CAAC;IAC7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAa,CAAC;IACxD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,EAAyB,CAAC;IAC5F,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,EAA2B,CAAC;IAClG,MAAM,QAAQ,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IACvD,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,yBAAyB,GAAG,MAAM,CAAqB,SAAS,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,yBAAyB,CAAC,OAAO,KAAK,SAAS,CAAC;IAC1E,qBAAqB,CAAC,sBAAsB,GAAG,eAAe,CAC5D,WAAW,EACX,CAAC,YAAoB,EAAE,EAAE;QACvB,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;QAChC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC,CACF,CAAC;IAEF,IAAI,YAAY,GAAG,cAAc,CAAC;IAClC,IAAI,SAAS,IAAI,OAAO;QAAE,YAAY,GAAG,OAAO,CAAC;IAEjD,MAAM,eAAe,GAAG,qBAAqB,CAAC,OAAO,CAAC;IACtD,MAAM,OAAO,GAAG,CAAO,KAAY,EAAE,EAAE;QACrC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1C,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAA,CAAC;IACF,qBAAqB,CAAC,OAAO,GAAG,OAAO,CAAC;IAExC,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,WAAW,CAAC;IAC9D,qBAAqB,CAAC,WAAW,GAAG,eAAe,CACjD,WAAW,EACX,CAAO,SAAoB,EAAE,OAAgB,EAAE,EAAE;QAC/C,0BAA0B,CAAC,GAAG,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACjF,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC,CAAA,CACF,CAAC;IAEF,MAAM,+BAA+B,GAAG,qBAAqB,CAAC,uBAAuB,CAAC;IACtF,qBAAqB,CAAC,uBAAuB,GAAG,eAAe,CAC7D,WAAW,EACX,CAAO,qBAA4C,EAAE,OAAgB,EAAE,EAAE;QACvE,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;QAChD,CAAC,+BAA+B,aAA/B,+BAA+B,cAA/B,+BAA+B,GAAI,IAAI,CAAC,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC,CAAA,CACF,CAAC;IAEF,qBAAqB,CAAC,uBAAuB,GAAG,eAAe,CAC7D,WAAW,EACX,CAAC,eAAuB,EAAE,EAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC,CACjE,CAAC;IAEF,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,GAAG,CAAC,CAAC;QAClD,mBAAmB,CAAC,OAAO,GAAG,SAAS,CAAC;QACxC,yBAAyB,CAAC,OAAO,GAAG,SAAS,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,qBAAqB,EAAE,WAAW,CAAC,CAAC;YAC3F,IAAI,yBAAyB,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACpD,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;YACzB,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,+BAA+B,CAC7B,yBAAyB,EACzB,SAAS,EACT,CAAC,EACD,SAAS,EACT,eAAe,CAChB,CAAC;QACJ,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,yBAAyB,CAAC,OAAO,GAAG,SAAS,CAAC;QAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC7B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,eAAe,CAAC,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACxD,CAAC;QACD,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC;QAC7B,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACtC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC,CAAA,CAAC;IAEF,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,KAAK;QACL,SAAS;QACT,qBAAqB;QACrB,cAAc;QACd,cAAc;QACd,uBAAuB,EAAE,uBAAuB,IAAI,+BAA+B;QACnF,KAAK,EAAE,eAAe,IAAI,YAAY;QACtC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM;KACP,CAAC,EACF;QACE,eAAe;QACf,YAAY;QACZ,MAAM;QACN,KAAK;QACL,SAAS;QACT,qBAAqB;QACrB,OAAO;QACP,WAAW;QACX,uBAAuB;KACxB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAA+B;IAC5D,MAAM,CACJ,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACvC,oCAAoC,OAAO,iBAAiB,CAC7D,CAAC;IACF,MAAM,KAAyC,OAAO,IAAI,EAAE,EAAtD,EAAE,WAAW,OAAyC,EAApC,kBAAkB,cAApC,eAAsC,CAAgB,CAAC;IAC7D,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,EAAU,CAAC;IACjE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAa,CAAC;IACxD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,EAAyB,CAAC;IAC5F,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,EAA2B,CAAC;IAElG,IAAI,YAAY,GAAG,cAAc,CAAC;IAClC,kEAAkE;IAClE,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACzB,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,gCAAgC;IAChC,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC;IACnD,MAAM,OAAO,GAAG,CAAO,KAAY,EAAE,EAAE;QACrC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1C,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAA,CAAC;IACF,kBAAkB,CAAC,OAAO,GAAG,OAAO,CAAC;IAErC,oCAAoC;IACpC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,WAAW,CAAC;IAC3D,MAAM,WAAW,GAAG,CAAO,SAAoB,EAAE,IAAU,EAAE,EAAE;QAC7D,0BAA0B,CAAC,GAAG,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC,CAAA,CAAC;IACF,kBAAkB,CAAC,WAAW,GAAG,WAAW,CAAC;IAE7C,MAAM,+BAA+B,GAAG,kBAAkB,CAAC,uBAAuB,CAAC;IACnF,MAAM,uBAAuB,GAAG,CAC9B,qBAA4C,EAC5C,IAAU,EACV,EAAE;QACF,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;QAChD,CAAC,+BAA+B,aAA/B,+BAA+B,cAA/B,+BAA+B,GAAI,IAAI,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC,CAAA,CAAC;IACF,kBAAkB,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;IAErE,0CAA0C;IAC1C,kBAAkB,CAAC,uBAAuB,GAAG,CAAC,eAAuB,EAAE,EAAE;QACvE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,WAAW,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,sBAAsB,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,SAAS;QACT,qBAAqB;QACrB,WAAW;QACX,uBAAuB,EAAE,uBAAuB,IAAI,+BAA+B;QACnF,KAAK,EAAE,eAAe,IAAI,YAAY;QACtC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM;KACP,CAAC,EACF;QACE,eAAe;QACf,YAAY;QACZ,MAAM;QACN,SAAS;QACT,qBAAqB;QACrB,OAAO;QACP,WAAW;QACX,uBAAuB;KACxB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAsC;IAEtC,MAAM,CACJ,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACvC,2CAA2C,OAAO,iBAAiB,CACpE,CAAC;IACF,MAAM,KAAgD,OAAO,IAAI,EAAE,EAA7D,EAAE,WAAW,OAAgD,EAA3C,yBAAyB,cAA3C,eAA6C,CAAgB,CAAC;IACpE,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,EAAU,CAAC;IACjE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAa,CAAC;IACxD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,EAAyB,CAAC;IAC5F,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,EAA2B,CAAC;IAElG,IAAI,YAAY,GAAG,cAAc,CAAC;IAClC,kEAAkE;IAClE,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACzB,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,gCAAgC;IAChC,MAAM,eAAe,GAAG,yBAAyB,CAAC,OAAO,CAAC;IAC1D,MAAM,OAAO,GAAG,CAAO,KAAY,EAAE,EAAE;QACrC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1C,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAA,CAAC;IACF,yBAAyB,CAAC,OAAO,GAAG,OAAO,CAAC;IAE5C,oCAAoC;IACpC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,WAAW,CAAC;IAClE,MAAM,WAAW,GAAG,CAAO,SAAoB,EAAE,WAAwB,EAAE,EAAE;QAC3E,+CAA+C;QAC/C,0BAA0B,CAAC,GAAG,EAAE,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACzF,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,SAAS,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC,CAAA,CAAC;IACF,yBAAyB,CAAC,WAAW,GAAG,WAAW,CAAC;IAEpD,gDAAgD;IAChD,MAAM,+BAA+B,GAAG,yBAAyB,CAAC,uBAAuB,CAAC;IAC1F,MAAM,uBAAuB,GAAG,CAC9B,qBAA4C,EAC5C,WAAwB,EACxB,EAAE;QACF,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;QAChD,+BAA+B,aAA/B,+BAA+B,uBAA/B,+BAA+B,CAAG,qBAAqB,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC,CAAA,CAAC;IACF,yBAAyB,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;IAE5E,0CAA0C;IAC1C,yBAAyB,CAAC,uBAAuB,GAAG,CAAC,eAAuB,EAAE,EAAE;QAC9E,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAS,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,kBAAkB,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YACtC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,SAAS;QACT,qBAAqB;QACrB,kBAAkB;QAClB,uBAAuB,EAAE,uBAAuB,IAAI,+BAA+B;QACnF,KAAK,EAAE,eAAe,IAAI,YAAY;QACtC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM;KACP,CAAC,EACF;QACE,eAAe;QACf,YAAY;QACZ,MAAM;QACN,SAAS;QACT,qBAAqB;QACrB,OAAO;QACP,WAAW;QACX,uBAAuB;KACxB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAA4C;IAE5C,MAAM,CACJ,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACvC,iDAAiD,OAAO,iBAAiB,CAC1E,CAAC;IACF,MAAM,KAAsD,OAAO,IAAI,EAAE,EAAnE,EAAE,WAAW,OAAsD,EAAjD,+BAA+B,cAAjD,eAAmD,CAAgB,CAAC;IAC1E,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,EAAU,CAAC;IACjE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAa,CAAC;IACxD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,EAAyB,CAAC;IAC5F,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,EAA2B,CAAC;IAElG,IAAI,YAAY,GAAG,cAAc,CAAC;IAClC,kEAAkE;IAClE,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACzB,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,gCAAgC;IAChC,MAAM,eAAe,GAAG,+BAA+B,CAAC,OAAO,CAAC;IAChE,MAAM,OAAO,GAAG,CAAO,KAAY,EAAE,EAAE;QACrC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1C,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAA,CAAC;IACF,+BAA+B,CAAC,OAAO,GAAG,OAAO,CAAC;IAElD,oCAAoC;IACpC,MAAM,mBAAmB,GAAG,+BAA+B,CAAC,WAAW,CAAC;IACxE,MAAM,WAAW,GAAG,CAAO,SAAoB,EAAE,iBAAoC,EAAE,EAAE;QACvF,+CAA+C;QAC/C,0BAA0B,CAAC,GAAG,EAAE,CAC9B,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CACnE,CAAC;QACF,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACtD,CAAC,CAAA,CAAC;IACF,+BAA+B,CAAC,WAAW,GAAG,WAAW,CAAC;IAE1D,gDAAgD;IAChD,MAAM,+BAA+B,GAAG,+BAA+B,CAAC,uBAAuB,CAAC;IAChG,MAAM,uBAAuB,GAAG,CAC9B,qBAA4C,EAC5C,iBAAoC,EACpC,EAAE;QACF,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;QAChD,+BAA+B,aAA/B,+BAA+B,uBAA/B,+BAA+B,CAAG,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;IAC9E,CAAC,CAAA,CAAC;IACF,+BAA+B,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;IAElF,0CAA0C;IAC1C,+BAA+B,CAAC,uBAAuB,GAAG,CAAC,eAAuB,EAAE,EAAE;QACpF,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,GAAS,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,wBAAwB,CAAC,+BAA+B,EAAE,WAAW,CAAC,CAAC;QAC/F,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YACtC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,SAAS;QACT,qBAAqB;QACrB,wBAAwB;QACxB,uBAAuB,EAAE,uBAAuB,IAAI,+BAA+B;QACnF,KAAK,EAAE,eAAe,IAAI,YAAY;QACtC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM;KACP,CAAC,EACF;QACE,eAAe;QACf,YAAY;QACZ,MAAM;QACN,SAAS;QACT,qBAAqB;QACrB,OAAO;QACP,WAAW;QACX,uBAAuB;KACxB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAwC;IAExC,MAAM,CACJ,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACvC,6CAA6C,OAAO,iBAAiB,CACtE,CAAC;IACF,MAAM,KAAoE,OAAO,IAAI,EAAE,EAAjF,EAAE,WAAW,EAAE,gBAAgB,OAAkD,EAA7C,2BAA2B,cAA/D,mCAAiE,CAAgB,CAAC;IACxF,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,EAAU,CAAC;IACjE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAa,CAAC;IACxD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,EAAyB,CAAC;IAC5F,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAAG,QAAQ,EAA2B,CAAC;IAElG,IAAI,YAAY,GAAG,cAAc,CAAC;IAClC,kEAAkE;IAClE,IAAI,SAAS,IAAI,gBAAgB,EAAE,CAAC;QAClC,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,gCAAgC;IAChC,MAAM,eAAe,GAAG,2BAA2B,CAAC,OAAO,CAAC;IAC5D,MAAM,OAAO,GAAG,CAAO,KAAY,EAAE,EAAE;QACrC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1C,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAA,CAAC;IACF,2BAA2B,CAAC,OAAO,GAAG,OAAO,CAAC;IAE9C,oCAAoC;IACpC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,WAAW,CAAC;IACpE,MAAM,WAAW,GAAG,CAAO,SAAoB,EAAE,aAA4B,EAAE,EAAE;QAC/E,+CAA+C;QAC/C,0BAA0B,CAAC,GAAG,EAAE,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7F,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,SAAS,EAAE,aAAa,CAAC,CAAC;IAClD,CAAC,CAAA,CAAC;IACF,2BAA2B,CAAC,WAAW,GAAG,WAAW,CAAC;IAEtD,gDAAgD;IAChD,MAAM,+BAA+B,GAAG,2BAA2B,CAAC,uBAAuB,CAAC;IAC5F,MAAM,uBAAuB,GAAG,CAC9B,qBAA4C,EAC5C,aAA4B,EAC5B,EAAE;QACF,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;QAChD,+BAA+B,aAA/B,+BAA+B,uBAA/B,+BAA+B,CAAG,qBAAqB,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC,CAAA,CAAC;IACF,2BAA2B,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;IAE9E,0CAA0C;IAC1C,2BAA2B,CAAC,uBAAuB,GAAG,CAAC,eAAuB,EAAE,EAAE;QAChF,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,GAAS,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,oBAAoB,CACxC,gBAAgB,EAChB,2BAA2B,EAC3B,WAAW,CACZ,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YACtC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,SAAS;QACT,qBAAqB;QACrB,oBAAoB;QACpB,uBAAuB,EAAE,uBAAuB,IAAI,+BAA+B;QACnF,KAAK,EAAE,eAAe,IAAI,YAAY;QACtC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM;KACP,CAAC,EACF;QACE,eAAe;QACf,YAAY;QACZ,MAAM;QACN,SAAS;QACT,qBAAqB;QACrB,OAAO;QACP,WAAW;QACX,uBAAuB;KACxB,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAmC;IACpE,MAAM,CACJ,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACvC,wCAAwC,OAAO,iBAAiB,CACjE,CAAC;IACF,MAAM,KAAsD,OAAO,IAAI,EAAE,EAAnE,EAAE,WAAW,EAAE,OAAO,OAA6C,EAAxC,sBAAsB,cAAjD,0BAAmD,CAAgB,CAAC;IAC1E,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC3E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,EAAU,CAAC;IAC7C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,EAAa,CAAC;IAEtE,IAAI,YAAY,GAAG,cAAc,CAAC;IAClC,kEAAkE;IAClE,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACzB,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,eAAe,GAAG,GAAS,EAAE;QACjC,IAAI,CAAC;YACH,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrB,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,eAAe,CAC5D,sBAAsB,EACtB,WAAW,CACZ,CAAC;YACF,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YACtC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YACtC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACnB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC;QACL,gBAAgB;QAChB,eAAe;QACf,KAAK,EAAE,KAAK,IAAI,YAAY;QAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM;KACP,CAAC,EACF,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAmC;IACpE,MAAM,CACJ,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EACvC,wCAAwC,OAAO,iBAAiB,CACjE,CAAC;IACF,MAAM,KACJ,OAAO,IAAI,EAAE,EADT,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,OAAO,OACnD,EADwD,sBAAsB,cAAvF,oEAAyF,CAChF,CAAC;IAChB,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAAU,CAAC;IAC/D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAC;IAChF,MAAM,wBAAwB,GAC5B,kBAAkB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;QACtC,SAAS,IAAI,IAAI;QACjB,wBAAwB,IAAI,IAAI;QAChC,sBAAsB,CAAC,iBAAiB,KAAK,IAAI;QACjD,sBAAsB,CAAC,UAAU;KAClC,CAAC,CAAC;IACH,MAAM,2BAA2B,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC7D,MAAM,uBAAuB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,2BAA2B,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;QAC7D,2BAA2B,CAAC,OAAO,GAAG,gBAAgB,CAAC;QACvD,uBAAuB,CAAC,OAAO,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,EAGpD,CAAC;IAEL,IAAI,YAAY,GAAG,cAAc,CAAC;IAClC,IAAI,SAAS,EAAE,CAAC;QACd,YAAY,GAAG,OAAO,CAAC;IACzB,CAAC;IACD,MAAM,qBAAqB,GACzB,SAAS;QACT,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,MAAK,gBAAgB;QAC1C,gBAAgB,CAAC,OAAO,KAAK,uBAAuB,CAAC,OAAO,CAAC;IAE/D,MAAM,eAAe,GAAG,GAAS,EAAE;QACjC,IAAI,CAAC;YACH,mBAAmB,CAAC;gBAClB,GAAG,EAAE,gBAAgB;gBACrB,OAAO,EAAE,uBAAuB,CAAC,OAAO;aACzC,CAAC,CAAC;YACH,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC/B,MAAM,gBAAgB,GAAG,MAAM,eAAe,CAAC,eAAe,CAC5D,wBAAwB,EACxB,sBAAsB,EACtB,WAAW,CACZ,CAAC;YACF,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YACtC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC5B,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAA,CAAC;IAEF,OAAO;QACL,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;QAC/D,eAAe;QACf,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,cAAe,CAAC,CAAC,CAAC,YAAY;QAC7D,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACpE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;KAC5C,CAAC;AACJ,CAAC","sourcesContent":["import { useMemo, useRef, useState } from \"react\";\nimport type { Dispatch, SetStateAction } from \"react\";\nimport useAccountsStore from \"../../stores/accounts\";\nimport Logger from \"@pkcprotocol/pkc-logger\";\nconst log = Logger(\"bitsocial-react-hooks:actions:hooks\");\nimport assert from \"assert\";\nimport { useAccount, useAccountId } from \"../accounts\";\n\n/** Wraps a callback to no-op when guard returns false. Exported for coverage. */\nexport function withGuardActive<T extends (...args: any[]) => void>(\n guardActive: () => boolean,\n fn: T,\n): T {\n return ((...args: Parameters<T>) => {\n if (!guardActive()) return;\n return fn(...args);\n }) as T;\n}\n\nconst noop = () => {};\n\n/** For usePublishComment: when abandoned, catch should no-op. Exported for coverage. */\nexport function handlePublishErrorWhenAbandoned(\n activeRequestIdRef: { current: number | undefined },\n requestId: number,\n error: Error,\n setErrors: Dispatch<SetStateAction<Error[]>>,\n onError?: (e: Error) => void,\n): void {\n if (activeRequestIdRef.current !== requestId) return;\n setErrors((errors) => [...errors, error]);\n (onError ?? noop)(error);\n}\n\n/** For usePublishVote catch. Exported for coverage. */\nexport function handlePublishVoteError(\n error: Error,\n setErrors: Dispatch<SetStateAction<Error[]>>,\n onError?: (e: Error) => void,\n): void {\n setErrors((errors) => [...errors, error]);\n (onError ?? noop)(error);\n}\nimport type {\n UseSubscribeOptions,\n UseSubscribeResult,\n UsePublishCommentOptions,\n UsePublishCommentResult,\n UseBlockOptions,\n UseBlockResult,\n UseCreateCommunityOptions,\n UseCreateCommunityResult,\n UseExportCommunityOptions,\n UseExportCommunityResult,\n UsePublishVoteOptions,\n UsePublishVoteResult,\n UsePublishCommentEditOptions,\n UsePublishCommentEditResult,\n UsePublishCommentModerationOptions,\n UsePublishCommentModerationResult,\n UsePublishCommunityEditOptions,\n UsePublishCommunityEditResult,\n Challenge,\n ChallengeVerification,\n Comment,\n CommentEdit,\n CommentModeration,\n CommunityEdit,\n Vote,\n Community,\n CommunityExport,\n} from \"../../types\";\n\ntype PublishChallengeAnswers = (challengeAnswers?: string[]) => Promise<void>;\nconst publishChallengeAnswersNotReady: PublishChallengeAnswers = async (challengeAnswers) => {\n throw Error(\n `can't call publishChallengeAnswers() before result.challenge is defined (before the challenge message is received)`,\n );\n};\n\nexport function useSubscribe(options?: UseSubscribeOptions): UseSubscribeResult {\n assert(\n !options || typeof options === \"object\",\n `useSubscribe options argument '${options}' not an object`,\n );\n const { communityAddress, accountName, onError } = options || {};\n const account = useAccount({ accountName });\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const [errors, setErrors] = useState<Error[]>([]);\n let state = \"initializing\";\n let subscribed: boolean | undefined;\n\n // before the account and communityAddress is defined, nothing can happen\n if (account && communityAddress) {\n state = \"ready\";\n subscribed = Boolean(account.subscriptions?.includes(communityAddress));\n }\n\n const subscribe = async () => {\n try {\n await accountsActions.subscribe(communityAddress, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n const unsubscribe = async () => {\n try {\n await accountsActions.unsubscribe(communityAddress, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n subscribed,\n subscribe,\n unsubscribe,\n state,\n error: errors[errors.length - 1],\n errors,\n }),\n [state, subscribed, errors, communityAddress, accountName],\n );\n}\n\nexport function useBlock(options?: UseBlockOptions): UseBlockResult {\n assert(\n !options || typeof options === \"object\",\n `useBlock options argument '${options}' not an object`,\n );\n const { address, cid, accountName, onError } = options || {};\n if (address && cid) {\n throw Error(\n `can't useBlock with both an address '${address}' and cid '${cid}' argument at the same time`,\n );\n }\n const account = useAccount({ accountName });\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const [errors, setErrors] = useState<Error[]>([]);\n let state = \"initializing\";\n let blocked: boolean | undefined;\n\n // before the account and address is defined, nothing can happen\n if (account && (address || cid)) {\n state = \"ready\";\n if (address) {\n blocked = Boolean(account.blockedAddresses[address]);\n }\n if (cid) {\n blocked = Boolean(account.blockedCids[cid]);\n }\n }\n\n const block = async () => {\n try {\n if (cid) {\n await accountsActions.blockCid(cid, accountName);\n } else {\n await accountsActions.blockAddress(address, accountName);\n }\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n const unblock = async () => {\n try {\n if (cid) {\n await accountsActions.unblockCid(cid, accountName);\n } else {\n await accountsActions.unblockAddress(address, accountName);\n }\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n blocked,\n block,\n unblock,\n state,\n error: errors[errors.length - 1],\n errors,\n }),\n [state, blocked, errors, address, accountName],\n );\n}\n\nexport function usePublishComment(options?: UsePublishCommentOptions): UsePublishCommentResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishComment options argument '${options}' not an object`,\n );\n const { accountName, ...publishCommentOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [index, setIndex] = useState<number>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n const indexRef = useRef<number | undefined>(undefined);\n const publishRequestIdRef = useRef(0);\n const activePublishRequestIdRef = useRef<number | undefined>(undefined);\n const guardActive = () => activePublishRequestIdRef.current !== undefined;\n publishCommentOptions._onPendingCommentIndex = withGuardActive(\n guardActive,\n (pendingIndex: number) => {\n indexRef.current = pendingIndex;\n setIndex(pendingIndex);\n },\n );\n\n let initialState = \"initializing\";\n if (accountId && options) initialState = \"ready\";\n\n const originalOnError = publishCommentOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n (originalOnError ?? noop)(error);\n };\n publishCommentOptions.onError = onError;\n\n const originalOnChallenge = publishCommentOptions.onChallenge;\n publishCommentOptions.onChallenge = withGuardActive(\n guardActive,\n async (challenge: Challenge, comment: Comment) => {\n setPublishChallengeAnswers(() => comment?.publishChallengeAnswers.bind(comment));\n setChallenge(challenge);\n (originalOnChallenge ?? noop)(challenge, comment);\n },\n );\n\n const originalOnChallengeVerification = publishCommentOptions.onChallengeVerification;\n publishCommentOptions.onChallengeVerification = withGuardActive(\n guardActive,\n async (challengeVerification: ChallengeVerification, comment: Comment) => {\n setChallengeVerification(challengeVerification);\n (originalOnChallengeVerification ?? noop)(challengeVerification, comment);\n },\n );\n\n publishCommentOptions.onPublishingStateChange = withGuardActive(\n guardActive,\n (publishingState: string) => setPublishingState(publishingState),\n );\n\n const publishComment = async () => {\n const requestId = publishRequestIdRef.current + 1;\n publishRequestIdRef.current = requestId;\n activePublishRequestIdRef.current = requestId;\n try {\n const { index } = await accountsActions.publishComment(publishCommentOptions, accountName);\n if (activePublishRequestIdRef.current !== requestId) {\n return;\n }\n indexRef.current = index;\n setIndex(index);\n } catch (e: any) {\n handlePublishErrorWhenAbandoned(\n activePublishRequestIdRef,\n requestId,\n e,\n setErrors,\n originalOnError,\n );\n }\n };\n\n const abandonPublish = async () => {\n activePublishRequestIdRef.current = undefined;\n const idx = indexRef.current;\n if (idx !== undefined) {\n await accountsActions.deleteComment(idx, accountName);\n }\n indexRef.current = undefined;\n setChallenge(undefined);\n setChallengeVerification(undefined);\n setPublishChallengeAnswers(undefined);\n setIndex(undefined);\n setPublishingState(undefined);\n };\n\n return useMemo(\n () => ({\n index,\n challenge,\n challengeVerification,\n publishComment,\n abandonPublish,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n index,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishVote(options?: UsePublishVoteOptions): UsePublishVoteResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishVote options argument '${options}' not an object`,\n );\n const { accountName, ...publishVoteOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishVoteOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishVoteOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishVoteOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, vote: Vote) => {\n setPublishChallengeAnswers(() => vote?.publishChallengeAnswers.bind(vote));\n setChallenge(challenge);\n (originalOnChallenge ?? (() => {}))(challenge, vote);\n };\n publishVoteOptions.onChallenge = onChallenge;\n\n const originalOnChallengeVerification = publishVoteOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n vote: Vote,\n ) => {\n setChallengeVerification(challengeVerification);\n (originalOnChallengeVerification ?? noop)(challengeVerification, vote);\n };\n publishVoteOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishVoteOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishVote = async () => {\n try {\n await accountsActions.publishVote(publishVoteOptions, accountName);\n } catch (e: any) {\n handlePublishVoteError(e, setErrors, originalOnError);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishVote,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishCommentEdit(\n options?: UsePublishCommentEditOptions,\n): UsePublishCommentEditResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishCommentEdit options argument '${options}' not an object`,\n );\n const { accountName, ...publishCommentEditOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishCommentEditOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishCommentEditOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishCommentEditOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, commentEdit: CommentEdit) => {\n // cannot set a function directly with setState\n setPublishChallengeAnswers(() => commentEdit?.publishChallengeAnswers.bind(commentEdit));\n setChallenge(challenge);\n originalOnChallenge?.(challenge, commentEdit);\n };\n publishCommentEditOptions.onChallenge = onChallenge;\n\n // define onChallengeVerification if not defined\n const originalOnChallengeVerification = publishCommentEditOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n commentEdit: CommentEdit,\n ) => {\n setChallengeVerification(challengeVerification);\n originalOnChallengeVerification?.(challengeVerification, commentEdit);\n };\n publishCommentEditOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishCommentEditOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishCommentEdit = async () => {\n try {\n await accountsActions.publishCommentEdit(publishCommentEditOptions, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n originalOnError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishCommentEdit,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishCommentModeration(\n options?: UsePublishCommentModerationOptions,\n): UsePublishCommentModerationResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishCommentModeration options argument '${options}' not an object`,\n );\n const { accountName, ...publishCommentModerationOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishCommentModerationOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishCommentModerationOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishCommentModerationOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, commentModeration: CommentModeration) => {\n // cannot set a function directly with setState\n setPublishChallengeAnswers(() =>\n commentModeration?.publishChallengeAnswers.bind(commentModeration),\n );\n setChallenge(challenge);\n originalOnChallenge?.(challenge, commentModeration);\n };\n publishCommentModerationOptions.onChallenge = onChallenge;\n\n // define onChallengeVerification if not defined\n const originalOnChallengeVerification = publishCommentModerationOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n commentModeration: CommentModeration,\n ) => {\n setChallengeVerification(challengeVerification);\n originalOnChallengeVerification?.(challengeVerification, commentModeration);\n };\n publishCommentModerationOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishCommentModerationOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishCommentModeration = async () => {\n try {\n await accountsActions.publishCommentModeration(publishCommentModerationOptions, accountName);\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n originalOnError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishCommentModeration,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function usePublishCommunityEdit(\n options?: UsePublishCommunityEditOptions,\n): UsePublishCommunityEditResult {\n assert(\n !options || typeof options === \"object\",\n `usePublishCommunityEdit options argument '${options}' not an object`,\n );\n const { accountName, communityAddress, ...publishCommunityEditOptions } = options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [publishingState, setPublishingState] = useState<string>();\n const [challenge, setChallenge] = useState<Challenge>();\n const [challengeVerification, setChallengeVerification] = useState<ChallengeVerification>();\n const [publishChallengeAnswers, setPublishChallengeAnswers] = useState<PublishChallengeAnswers>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && communityAddress) {\n initialState = \"ready\";\n }\n\n // define onError if not defined\n const originalOnError = publishCommunityEditOptions.onError;\n const onError = async (error: Error) => {\n setErrors((errors) => [...errors, error]);\n originalOnError?.(error);\n };\n publishCommunityEditOptions.onError = onError;\n\n // define onChallenge if not defined\n const originalOnChallenge = publishCommunityEditOptions.onChallenge;\n const onChallenge = async (challenge: Challenge, communityEdit: CommunityEdit) => {\n // cannot set a function directly with setState\n setPublishChallengeAnswers(() => communityEdit?.publishChallengeAnswers.bind(communityEdit));\n setChallenge(challenge);\n originalOnChallenge?.(challenge, communityEdit);\n };\n publishCommunityEditOptions.onChallenge = onChallenge;\n\n // define onChallengeVerification if not defined\n const originalOnChallengeVerification = publishCommunityEditOptions.onChallengeVerification;\n const onChallengeVerification = async (\n challengeVerification: ChallengeVerification,\n communityEdit: CommunityEdit,\n ) => {\n setChallengeVerification(challengeVerification);\n originalOnChallengeVerification?.(challengeVerification, communityEdit);\n };\n publishCommunityEditOptions.onChallengeVerification = onChallengeVerification;\n\n // change state on publishing state change\n publishCommunityEditOptions.onPublishingStateChange = (publishingState: string) => {\n setPublishingState(publishingState);\n };\n\n const publishCommunityEdit = async () => {\n try {\n await accountsActions.publishCommunityEdit(\n communityAddress,\n publishCommunityEditOptions,\n accountName,\n );\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n originalOnError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n challenge,\n challengeVerification,\n publishCommunityEdit,\n publishChallengeAnswers: publishChallengeAnswers || publishChallengeAnswersNotReady,\n state: publishingState || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [\n publishingState,\n initialState,\n errors,\n challenge,\n challengeVerification,\n options,\n accountName,\n publishChallengeAnswers,\n ],\n );\n}\n\nexport function useCreateCommunity(options?: UseCreateCommunityOptions): UseCreateCommunityResult {\n assert(\n !options || typeof options === \"object\",\n `useCreateCommunity options argument '${options}' not an object`,\n );\n const { accountName, onError, ...createCommunityOptions } = options || {};\n const accountId = useAccountId(accountName);\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const [errors, setErrors] = useState<Error[]>([]);\n const [state, setState] = useState<string>();\n const [createdCommunity, setCreatedCommunity] = useState<Community>();\n\n let initialState = \"initializing\";\n // before the accountId and options is defined, nothing can happen\n if (accountId && options) {\n initialState = \"ready\";\n }\n\n const createCommunity = async () => {\n try {\n setState(\"creating\");\n const createdCommunity = await accountsActions.createCommunity(\n createCommunityOptions,\n accountName,\n );\n setCreatedCommunity(createdCommunity);\n setState(\"succeeded\");\n } catch (e: any) {\n setErrors((errors) => [...errors, e]);\n setState(\"failed\");\n onError?.(e);\n }\n };\n\n return useMemo(\n () => ({\n createdCommunity,\n createCommunity,\n state: state || initialState,\n error: errors[errors.length - 1],\n errors,\n }),\n [state, errors, createdCommunity, options, accountName],\n );\n}\n\nexport function useExportCommunity(options?: UseExportCommunityOptions): UseExportCommunityResult {\n assert(\n !options || typeof options === \"object\",\n `useExportCommunity options argument '${options}' not an object`,\n );\n const { accountName, communityAddress, communityAddresses, onError, ...exportCommunityOptions } =\n options || {};\n const accountsActions = useAccountsStore((state) => state.accountsActions);\n const accountId = useAccountId(accountName);\n const [errors, setErrors] = useState<Error[]>([]);\n const [exportingState, setExportingState] = useState<string>();\n const [communityExports, setCommunityExports] = useState<CommunityExport[]>([]);\n const targetCommunityAddresses =\n communityAddresses || (communityAddress ? [communityAddress] : undefined);\n const exportContextKey = JSON.stringify([\n accountId || null,\n targetCommunityAddresses || null,\n exportCommunityOptions.includePrivateKey === true,\n exportCommunityOptions.exportPath,\n ]);\n const previousExportContextKeyRef = useRef(exportContextKey);\n const exportContextVersionRef = useRef(0);\n if (previousExportContextKeyRef.current !== exportContextKey) {\n previousExportContextKeyRef.current = exportContextKey;\n exportContextVersionRef.current += 1;\n }\n const [exportingContext, setExportingContext] = useState<{\n key: string;\n version: number;\n }>();\n\n let initialState = \"initializing\";\n if (accountId) {\n initialState = \"ready\";\n }\n const hasCurrentExportState =\n accountId &&\n exportingContext?.key === exportContextKey &&\n exportingContext.version === exportContextVersionRef.current;\n\n const exportCommunity = async () => {\n try {\n setExportingContext({\n key: exportContextKey,\n version: exportContextVersionRef.current,\n });\n setExportingState(\"exporting\");\n const communityExports = await accountsActions.exportCommunity(\n targetCommunityAddresses,\n exportCommunityOptions,\n accountName,\n );\n setCommunityExports(communityExports);\n setExportingState(\"succeeded\");\n } catch (e: any) {\n setExportingState(\"failed\");\n setErrors((errors) => [...errors, e]);\n onError?.(e);\n }\n };\n\n return {\n communityExports: hasCurrentExportState ? communityExports : [],\n exportCommunity,\n state: hasCurrentExportState ? exportingState! : initialState,\n error: hasCurrentExportState ? errors[errors.length - 1] : undefined,\n errors: hasCurrentExportState ? errors : [],\n };\n}\n"]}
@@ -27,5 +27,12 @@ export declare const normalizeOptionsForPkcClient: <T extends Record<string, any
27
27
  export declare const getPkcClientOptions: <T extends Record<string, any> | undefined>(account: any, options: T) => T;
28
28
  export declare const normalizeAccountProtocolConfig: <T extends Record<string, any> | undefined>(account: T, defaultChainProviders?: Record<string, any>) => T;
29
29
  export declare const withProtocolAliases: <T extends Record<string, any>>(account: T, protocolClient?: any, protocolOptions?: any) => T;
30
+ type ChallengeAnswersInput = string[] | {
31
+ challengeAnswers?: string[];
32
+ } | undefined;
33
+ export declare const normalizeChallengeAnswersForPkc: (challengeAnswers: ChallengeAnswersInput) => {
34
+ challengeAnswers: string[];
35
+ };
36
+ export declare const withPublishChallengeAnswersCompat: <T>(publication: T) => T;
30
37
  export * from "./protocol-compat.js";
31
38
  //# sourceMappingURL=pkc-compat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pkc-compat.d.ts","sourceRoot":"","sources":["../../src/lib/pkc-compat.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,2BAA2B,EAE5B,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,iBAAiB,GAAI,SAAS,GAAG,QAAiB,CAAC;AAEhE,eAAO,MAAM,kBAAkB,GAAI,SAAS,GAAG,QAAwB,CAAC;AAExE,eAAO,MAAM,iBAAiB,GAAI,SAAS,GAAG,QAC0B,CAAC;AAEzE,eAAO,MAAM,8BAA8B,GAAI,SAAS,GAAG,QACuC,CAAC;AAEnG,eAAO,MAAM,aAAa,GAAI,gBAAgB,GAAG,QAAiD,CAAC;AAEnG,eAAO,MAAM,iBAAiB,GAAI,SAAS,GAAG,QAAiC,CAAC;AAEhF,eAAO,MAAM,8BAA8B,GAAI,gBAAgB,GAAG,QAG9D,CAAC;AAEL,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAkCF,eAAO,MAAM,kCAAkC,GAC7C,SAAS,GAAG,KACX,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAuBjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,SAAS,GAAG,EAAE,UAAU,MAAM,KAAG,gBAAgB,EAMzF,CAAC;AAYF,KAAK,0BAA0B,GAAG,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE7F,KAAK,wBAAwB,GAAG;IAC9B,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;IACzC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD,CAAC;AAcF,eAAO,MAAM,6BAA6B,GACxC,gBAAgB,wBAAwB,GAAG,SAAS,EACpD,SAAS,2BAA2B,KACnC,OAAO,CAAC,MAAM,CAYhB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EACpF,SAAS,CAAC,KACT,CAgBF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EAC3E,SAAS,GAAG,EACZ,SAAS,CAAC,KACT,CAaF,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EACtF,SAAS,CAAC,EACV,wBAAwB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC1C,CA+BF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/D,SAAS,CAAC,EACV,iBAAiB,GAAG,EACpB,kBAAkB,GAAG,KACpB,CAWF,CAAC;AAEF,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"pkc-compat.d.ts","sourceRoot":"","sources":["../../src/lib/pkc-compat.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,2BAA2B,EAE5B,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,iBAAiB,GAAI,SAAS,GAAG,QAAiB,CAAC;AAEhE,eAAO,MAAM,kBAAkB,GAAI,SAAS,GAAG,QAAwB,CAAC;AAExE,eAAO,MAAM,iBAAiB,GAAI,SAAS,GAAG,QAC0B,CAAC;AAEzE,eAAO,MAAM,8BAA8B,GAAI,SAAS,GAAG,QACuC,CAAC;AAEnG,eAAO,MAAM,aAAa,GAAI,gBAAgB,GAAG,QAAiD,CAAC;AAEnG,eAAO,MAAM,iBAAiB,GAAI,SAAS,GAAG,QAAiC,CAAC;AAEhF,eAAO,MAAM,8BAA8B,GAAI,gBAAgB,GAAG,QAG9D,CAAC;AAEL,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAkCF,eAAO,MAAM,kCAAkC,GAC7C,SAAS,GAAG,KACX,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAuBjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,SAAS,GAAG,EAAE,UAAU,MAAM,KAAG,gBAAgB,EAMzF,CAAC;AAYF,KAAK,0BAA0B,GAAG,CAAC,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE7F,KAAK,wBAAwB,GAAG;IAC9B,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;IACzC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD,CAAC;AAcF,eAAO,MAAM,6BAA6B,GACxC,gBAAgB,wBAAwB,GAAG,SAAS,EACpD,SAAS,2BAA2B,KACnC,OAAO,CAAC,MAAM,CAYhB,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EACpF,SAAS,CAAC,KACT,CAgBF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EAC3E,SAAS,GAAG,EACZ,SAAS,CAAC,KACT,CAaF,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EACtF,SAAS,CAAC,EACV,wBAAwB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC1C,CA+BF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/D,SAAS,CAAC,EACV,iBAAiB,GAAG,EACpB,kBAAkB,GAAG,KACpB,CAWF,CAAC;AAEF,KAAK,qBAAqB,GAAG,MAAM,EAAE,GAAG;IAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,CAAC;AAMpF,eAAO,MAAM,+BAA+B,GAAI,kBAAkB,qBAAqB;;CAIrF,CAAC;AAEH,eAAO,MAAM,iCAAiC,GAAI,CAAC,EAAE,aAAa,CAAC,KAAG,CAgBrE,CAAC;AAEF,cAAc,mBAAmB,CAAC"}
@@ -147,5 +147,23 @@ export const withProtocolAliases = (account, protocolClient, protocolOptions) =>
147
147
  }
148
148
  return nextAccount;
149
149
  };
150
+ const publishChallengeAnswersCompatMarker = Symbol.for("bitsocial-react-hooks.publishChallengeAnswersCompat");
151
+ export const normalizeChallengeAnswersForPkc = (challengeAnswers) => ({
152
+ challengeAnswers: Array.isArray(challengeAnswers)
153
+ ? challengeAnswers
154
+ : (challengeAnswers === null || challengeAnswers === void 0 ? void 0 : challengeAnswers.challengeAnswers) || [],
155
+ });
156
+ export const withPublishChallengeAnswersCompat = (publication) => {
157
+ const target = publication;
158
+ if (!target ||
159
+ typeof target.publishChallengeAnswers !== "function" ||
160
+ target[publishChallengeAnswersCompatMarker]) {
161
+ return publication;
162
+ }
163
+ const publishChallengeAnswers = target.publishChallengeAnswers.bind(publication);
164
+ target.publishChallengeAnswers = (challengeAnswers) => publishChallengeAnswers(normalizeChallengeAnswersForPkc(challengeAnswers));
165
+ target[publishChallengeAnswersCompatMarker] = true;
166
+ return publication;
167
+ };
150
168
  export * from "./protocol-compat.js";
151
169
  //# sourceMappingURL=pkc-compat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pkc-compat.js","sourceRoot":"","sources":["../../src/lib/pkc-compat.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from \"assert\";\nimport { BsoResolver } from \"@bitsocial/bso-resolver\";\nimport type {\n PkcResolveAuthorName,\n PkcResolveAuthorNameOptions,\n PkcResolveAuthorNameResult,\n} from \"./pkc-types\";\n\nexport const getProtocolClient = (account: any) => account?.pkc;\n\nexport const getProtocolOptions = (account: any) => account?.pkcOptions;\n\nexport const getChainProviders = (account: any) =>\n account?.chainProviders || getProtocolOptions(account)?.chainProviders;\n\nexport const getNameResolversChainProviders = (account: any) =>\n account?.nameResolversChainProviders || getProtocolOptions(account)?.nameResolversChainProviders;\n\nexport const getRpcClients = (protocolClient: any) => protocolClient?.clients?.pkcRpcClients || {};\n\nexport const getPageRpcClients = (clients: any) => clients?.pkcRpcClients || {};\n\nexport const getProtocolNameResolverClients = (protocolClient: any) =>\n protocolClient?.clients?.nameResolvers ||\n protocolClient?._clientsManager?.clients?.nameResolvers ||\n {};\n\nexport type NameResolverInfo = {\n key: string;\n nameSystem: string;\n chainTicker: string;\n provider: string;\n providerLabel: string;\n};\n\nconst isEthAliasDomain = (address?: string) =>\n typeof address === \"string\" &&\n (address.toLowerCase().endsWith(\".eth\") || address.toLowerCase().endsWith(\".bso\"));\n\nconst isSupportedBsoResolverProvider = (provider: string) =>\n provider === \"viem\" || /^(https?:\\/\\/|wss?:\\/\\/)/i.test(provider);\n\nconst getNameResolverProviderLabel = (provider: string) => {\n try {\n return new URL(provider).hostname;\n } catch (error) {\n return provider;\n }\n};\n\nconst getConfiguredEthNameResolverProviders = (account: any): string[] => {\n const nameResolverUrls = getNameResolversChainProviders(account)?.eth?.urls;\n const chainProviderUrls = getChainProviders(account)?.eth?.urls;\n const urls =\n Array.isArray(nameResolverUrls) && nameResolverUrls.length\n ? nameResolverUrls\n : chainProviderUrls;\n\n if (!Array.isArray(urls)) {\n return [];\n }\n\n return urls.filter(\n (provider): provider is string => typeof provider === \"string\" && provider.length > 0,\n );\n};\n\nexport const getConfiguredNameResolverInfoByKey = (\n account: any,\n): Record<string, NameResolverInfo> => {\n const infoByKey: Record<string, NameResolverInfo> = {};\n\n for (const provider of getConfiguredEthNameResolverProviders(account)) {\n if (!isSupportedBsoResolverProvider(provider)) {\n continue;\n }\n\n const providerLabel = getNameResolverProviderLabel(provider);\n const key = `eth-${providerLabel}`;\n\n if (!infoByKey[key]) {\n infoByKey[key] = {\n key,\n nameSystem: \"eth\",\n chainTicker: \"eth\",\n provider,\n providerLabel,\n };\n }\n }\n\n return infoByKey;\n};\n\nexport const getMatchingNameResolvers = (account: any, address?: string): NameResolverInfo[] => {\n if (!isEthAliasDomain(address)) {\n return [];\n }\n\n return Object.values(getConfiguredNameResolverInfoByKey(account));\n};\n\nconst buildConfiguredNameResolvers = (account: any, dataPath?: string) =>\n Object.values(getConfiguredNameResolverInfoByKey(account)).map(\n (resolverInfo) =>\n new BsoResolver({\n key: resolverInfo.key,\n provider: resolverInfo.provider,\n dataPath,\n }),\n );\n\ntype LegacyResolveAuthorAddress = (options: { address: string }) => Promise<string> | string;\n\ntype AuthorNameProtocolClient = {\n resolveAuthorName?: PkcResolveAuthorName;\n resolveAuthorAddress?: LegacyResolveAuthorAddress;\n};\n\nconst normalizeResolvedAuthorName = (result: PkcResolveAuthorNameResult | string): string => {\n if (typeof result === \"string\") {\n return result;\n }\n\n assert(\n typeof result?.resolvedAuthorName === \"string\",\n \"protocol client resolveAuthorName returned invalid resolvedAuthorName\",\n );\n return result.resolvedAuthorName;\n};\n\nexport const resolveAuthorNameWithProtocol = async (\n protocolClient: AuthorNameProtocolClient | undefined,\n options: PkcResolveAuthorNameOptions,\n): Promise<string> => {\n const resolveAuthorName = protocolClient?.resolveAuthorName;\n if (typeof resolveAuthorName === \"function\") {\n return normalizeResolvedAuthorName(await resolveAuthorName.call(protocolClient, options));\n }\n\n const resolveAuthorAddress = protocolClient?.resolveAuthorAddress;\n assert(\n typeof resolveAuthorAddress === \"function\",\n \"protocol client resolveAuthorName/resolveAuthorAddress missing\",\n );\n return resolveAuthorAddress.call(protocolClient, { address: options.name });\n};\n\nexport const normalizeOptionsForPkcClient = <T extends Record<string, any> | undefined>(\n options: T,\n): T => {\n if (!options) {\n return options;\n }\n\n const normalized: Record<string, any> = { ...options };\n\n if (normalized.resolveAuthorNames == null && normalized.resolveAuthorAddresses != null) {\n normalized.resolveAuthorNames = normalized.resolveAuthorAddresses;\n }\n\n delete normalized.resolveAuthorAddresses;\n delete normalized.chainProviders;\n delete normalized.nameResolversChainProviders;\n\n return normalized as T;\n};\n\nexport const getPkcClientOptions = <T extends Record<string, any> | undefined>(\n account: any,\n options: T,\n): T => {\n const normalized = normalizeOptionsForPkcClient(options);\n\n if (!normalized) {\n return normalized;\n }\n\n const nameResolvers = buildConfiguredNameResolvers(account, normalized.dataPath);\n if (nameResolvers.length) {\n normalized.nameResolvers = nameResolvers;\n }\n\n return normalized as T;\n};\n\nexport const normalizeAccountProtocolConfig = <T extends Record<string, any> | undefined>(\n account: T,\n defaultChainProviders?: Record<string, any>,\n): T => {\n if (!account) {\n return account;\n }\n\n const nextAccount: Record<string, any> = { ...account };\n const protocolOptions =\n nextAccount.pkcOptions && typeof nextAccount.pkcOptions === \"object\"\n ? { ...nextAccount.pkcOptions }\n : nextAccount.pkcOptions;\n\n const chainProviders =\n nextAccount.chainProviders || protocolOptions?.chainProviders || defaultChainProviders;\n if (chainProviders !== undefined) {\n nextAccount.chainProviders = chainProviders;\n }\n\n if (\n nextAccount.nameResolversChainProviders === undefined &&\n protocolOptions?.nameResolversChainProviders !== undefined\n ) {\n nextAccount.nameResolversChainProviders = protocolOptions.nameResolversChainProviders;\n }\n\n if (protocolOptions && typeof protocolOptions === \"object\") {\n delete protocolOptions.chainProviders;\n delete protocolOptions.nameResolversChainProviders;\n nextAccount.pkcOptions = protocolOptions;\n }\n\n return nextAccount as T;\n};\n\nexport const withProtocolAliases = <T extends Record<string, any>>(\n account: T,\n protocolClient?: any,\n protocolOptions?: any,\n): T => {\n const nextAccount: Record<string, any> = { ...account };\n\n if (protocolClient !== undefined) {\n nextAccount.pkc = protocolClient;\n }\n if (protocolOptions !== undefined) {\n nextAccount.pkcOptions = protocolOptions;\n }\n\n return nextAccount as T;\n};\n\nexport * from \"./protocol-compat\";\n"]}
1
+ {"version":3,"file":"pkc-compat.js","sourceRoot":"","sources":["../../src/lib/pkc-compat.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAOtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC;AAExE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAY,EAAE,EAAE,WAChD,OAAA,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,MAAI,MAAA,kBAAkB,CAAC,OAAO,CAAC,0CAAE,cAAc,CAAA,CAAA,EAAA,CAAC;AAEzE,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,OAAY,EAAE,EAAE,WAC7D,OAAA,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,2BAA2B,MAAI,MAAA,kBAAkB,CAAC,OAAO,CAAC,0CAAE,2BAA2B,CAAA,CAAA,EAAA,CAAC;AAEnG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,cAAmB,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,0CAAE,aAAa,KAAI,EAAE,CAAA,EAAA,CAAC;AAEnG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAY,EAAE,EAAE,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,KAAI,EAAE,CAAC;AAEhF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,cAAmB,EAAE,EAAE;;IACpE,OAAA,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,0CAAE,aAAa;SACtC,MAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,eAAe,0CAAE,OAAO,0CAAE,aAAa,CAAA;QACvD,EAAE,CAAA;CAAA,CAAC;AAUL,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAE,EAAE,CAC5C,OAAO,OAAO,KAAK,QAAQ;IAC3B,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAErF,MAAM,8BAA8B,GAAG,CAAC,QAAgB,EAAE,EAAE,CAC1D,QAAQ,KAAK,MAAM,IAAI,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEpE,MAAM,4BAA4B,GAAG,CAAC,QAAgB,EAAE,EAAE;IACxD,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,qCAAqC,GAAG,CAAC,OAAY,EAAY,EAAE;;IACvE,MAAM,gBAAgB,GAAG,MAAA,MAAA,8BAA8B,CAAC,OAAO,CAAC,0CAAE,GAAG,0CAAE,IAAI,CAAC;IAC5E,MAAM,iBAAiB,GAAG,MAAA,MAAA,iBAAiB,CAAC,OAAO,CAAC,0CAAE,GAAG,0CAAE,IAAI,CAAC;IAChE,MAAM,IAAI,GACR,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,MAAM;QACxD,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,iBAAiB,CAAC;IAExB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,QAAQ,EAAsB,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CACtF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,OAAY,EACsB,EAAE;IACpC,MAAM,SAAS,GAAqC,EAAE,CAAC;IAEvD,KAAK,MAAM,QAAQ,IAAI,qCAAqC,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,OAAO,aAAa,EAAE,CAAC;QAEnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,SAAS,CAAC,GAAG,CAAC,GAAG;gBACf,GAAG;gBACH,UAAU,EAAE,KAAK;gBACjB,WAAW,EAAE,KAAK;gBAClB,QAAQ;gBACR,aAAa;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAAY,EAAE,OAAgB,EAAsB,EAAE;IAC7F,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,kCAAkC,CAAC,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,OAAY,EAAE,QAAiB,EAAE,EAAE,CACvE,MAAM,CAAC,MAAM,CAAC,kCAAkC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAC5D,CAAC,YAAY,EAAE,EAAE,CACf,IAAI,WAAW,CAAC;IACd,GAAG,EAAE,YAAY,CAAC,GAAG;IACrB,QAAQ,EAAE,YAAY,CAAC,QAAQ;IAC/B,QAAQ;CACT,CAAC,CACL,CAAC;AASJ,MAAM,2BAA2B,GAAG,CAAC,MAA2C,EAAU,EAAE;IAC1F,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CACJ,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,kBAAkB,CAAA,KAAK,QAAQ,EAC9C,uEAAuE,CACxE,CAAC;IACF,OAAO,MAAM,CAAC,kBAAkB,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,cAAoD,EACpD,OAAoC,EACnB,EAAE;IACnB,MAAM,iBAAiB,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,iBAAiB,CAAC;IAC5D,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,CAAC;QAC5C,OAAO,2BAA2B,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,MAAM,oBAAoB,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,oBAAoB,CAAC;IAClE,MAAM,CACJ,OAAO,oBAAoB,KAAK,UAAU,EAC1C,gEAAgE,CACjE,CAAC;IACF,OAAO,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC,CAAA,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,OAAU,EACP,EAAE;IACL,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,UAAU,qBAA6B,OAAO,CAAE,CAAC;IAEvD,IAAI,UAAU,CAAC,kBAAkB,IAAI,IAAI,IAAI,UAAU,CAAC,sBAAsB,IAAI,IAAI,EAAE,CAAC;QACvF,UAAU,CAAC,kBAAkB,GAAG,UAAU,CAAC,sBAAsB,CAAC;IACpE,CAAC;IAED,OAAO,UAAU,CAAC,sBAAsB,CAAC;IACzC,OAAO,UAAU,CAAC,cAAc,CAAC;IACjC,OAAO,UAAU,CAAC,2BAA2B,CAAC;IAE9C,OAAO,UAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAAY,EACZ,OAAU,EACP,EAAE;IACL,MAAM,UAAU,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAEzD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,aAAa,GAAG,4BAA4B,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjF,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QACzB,UAAU,CAAC,aAAa,GAAG,aAAa,CAAC;IAC3C,CAAC;IAED,OAAO,UAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,OAAU,EACV,qBAA2C,EACxC,EAAE;IACL,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,WAAW,qBAA6B,OAAO,CAAE,CAAC;IACxD,MAAM,eAAe,GACnB,WAAW,CAAC,UAAU,IAAI,OAAO,WAAW,CAAC,UAAU,KAAK,QAAQ;QAClE,CAAC,mBAAM,WAAW,CAAC,UAAU,EAC7B,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;IAE7B,MAAM,cAAc,GAClB,WAAW,CAAC,cAAc,KAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,cAAc,CAAA,IAAI,qBAAqB,CAAC;IACzF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,WAAW,CAAC,cAAc,GAAG,cAAc,CAAC;IAC9C,CAAC;IAED,IACE,WAAW,CAAC,2BAA2B,KAAK,SAAS;QACrD,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,2BAA2B,MAAK,SAAS,EAC1D,CAAC;QACD,WAAW,CAAC,2BAA2B,GAAG,eAAe,CAAC,2BAA2B,CAAC;IACxF,CAAC;IAED,IAAI,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,eAAe,CAAC,cAAc,CAAC;QACtC,OAAO,eAAe,CAAC,2BAA2B,CAAC;QACnD,WAAW,CAAC,UAAU,GAAG,eAAe,CAAC;IAC3C,CAAC;IAED,OAAO,WAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAAU,EACV,cAAoB,EACpB,eAAqB,EAClB,EAAE;IACL,MAAM,WAAW,qBAA6B,OAAO,CAAE,CAAC;IAExD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,WAAW,CAAC,GAAG,GAAG,cAAc,CAAC;IACnC,CAAC;IACD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,WAAW,CAAC,UAAU,GAAG,eAAe,CAAC;IAC3C,CAAC;IAED,OAAO,WAAgB,CAAC;AAC1B,CAAC,CAAC;AAIF,MAAM,mCAAmC,GAAG,MAAM,CAAC,GAAG,CACpD,qDAAqD,CACtD,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,gBAAuC,EAAE,EAAE,CAAC,CAAC;IAC3F,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC/C,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,gBAAgB,KAAI,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAI,WAAc,EAAK,EAAE;IACxE,MAAM,MAAM,GAAG,WAAuD,CAAC;IACvE,IACE,CAAC,MAAM;QACP,OAAO,MAAM,CAAC,uBAAuB,KAAK,UAAU;QACpD,MAAM,CAAC,mCAAmC,CAAC,EAC3C,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjF,MAAM,CAAC,uBAAuB,GAAG,CAAC,gBAAwC,EAAE,EAAE,CAC5E,uBAAuB,CAAC,+BAA+B,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC7E,MAAM,CAAC,mCAAmC,CAAC,GAAG,IAAI,CAAC;IAEnD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,cAAc,mBAAmB,CAAC","sourcesContent":["import assert from \"assert\";\nimport { BsoResolver } from \"@bitsocial/bso-resolver\";\nimport type {\n PkcResolveAuthorName,\n PkcResolveAuthorNameOptions,\n PkcResolveAuthorNameResult,\n} from \"./pkc-types\";\n\nexport const getProtocolClient = (account: any) => account?.pkc;\n\nexport const getProtocolOptions = (account: any) => account?.pkcOptions;\n\nexport const getChainProviders = (account: any) =>\n account?.chainProviders || getProtocolOptions(account)?.chainProviders;\n\nexport const getNameResolversChainProviders = (account: any) =>\n account?.nameResolversChainProviders || getProtocolOptions(account)?.nameResolversChainProviders;\n\nexport const getRpcClients = (protocolClient: any) => protocolClient?.clients?.pkcRpcClients || {};\n\nexport const getPageRpcClients = (clients: any) => clients?.pkcRpcClients || {};\n\nexport const getProtocolNameResolverClients = (protocolClient: any) =>\n protocolClient?.clients?.nameResolvers ||\n protocolClient?._clientsManager?.clients?.nameResolvers ||\n {};\n\nexport type NameResolverInfo = {\n key: string;\n nameSystem: string;\n chainTicker: string;\n provider: string;\n providerLabel: string;\n};\n\nconst isEthAliasDomain = (address?: string) =>\n typeof address === \"string\" &&\n (address.toLowerCase().endsWith(\".eth\") || address.toLowerCase().endsWith(\".bso\"));\n\nconst isSupportedBsoResolverProvider = (provider: string) =>\n provider === \"viem\" || /^(https?:\\/\\/|wss?:\\/\\/)/i.test(provider);\n\nconst getNameResolverProviderLabel = (provider: string) => {\n try {\n return new URL(provider).hostname;\n } catch (error) {\n return provider;\n }\n};\n\nconst getConfiguredEthNameResolverProviders = (account: any): string[] => {\n const nameResolverUrls = getNameResolversChainProviders(account)?.eth?.urls;\n const chainProviderUrls = getChainProviders(account)?.eth?.urls;\n const urls =\n Array.isArray(nameResolverUrls) && nameResolverUrls.length\n ? nameResolverUrls\n : chainProviderUrls;\n\n if (!Array.isArray(urls)) {\n return [];\n }\n\n return urls.filter(\n (provider): provider is string => typeof provider === \"string\" && provider.length > 0,\n );\n};\n\nexport const getConfiguredNameResolverInfoByKey = (\n account: any,\n): Record<string, NameResolverInfo> => {\n const infoByKey: Record<string, NameResolverInfo> = {};\n\n for (const provider of getConfiguredEthNameResolverProviders(account)) {\n if (!isSupportedBsoResolverProvider(provider)) {\n continue;\n }\n\n const providerLabel = getNameResolverProviderLabel(provider);\n const key = `eth-${providerLabel}`;\n\n if (!infoByKey[key]) {\n infoByKey[key] = {\n key,\n nameSystem: \"eth\",\n chainTicker: \"eth\",\n provider,\n providerLabel,\n };\n }\n }\n\n return infoByKey;\n};\n\nexport const getMatchingNameResolvers = (account: any, address?: string): NameResolverInfo[] => {\n if (!isEthAliasDomain(address)) {\n return [];\n }\n\n return Object.values(getConfiguredNameResolverInfoByKey(account));\n};\n\nconst buildConfiguredNameResolvers = (account: any, dataPath?: string) =>\n Object.values(getConfiguredNameResolverInfoByKey(account)).map(\n (resolverInfo) =>\n new BsoResolver({\n key: resolverInfo.key,\n provider: resolverInfo.provider,\n dataPath,\n }),\n );\n\ntype LegacyResolveAuthorAddress = (options: { address: string }) => Promise<string> | string;\n\ntype AuthorNameProtocolClient = {\n resolveAuthorName?: PkcResolveAuthorName;\n resolveAuthorAddress?: LegacyResolveAuthorAddress;\n};\n\nconst normalizeResolvedAuthorName = (result: PkcResolveAuthorNameResult | string): string => {\n if (typeof result === \"string\") {\n return result;\n }\n\n assert(\n typeof result?.resolvedAuthorName === \"string\",\n \"protocol client resolveAuthorName returned invalid resolvedAuthorName\",\n );\n return result.resolvedAuthorName;\n};\n\nexport const resolveAuthorNameWithProtocol = async (\n protocolClient: AuthorNameProtocolClient | undefined,\n options: PkcResolveAuthorNameOptions,\n): Promise<string> => {\n const resolveAuthorName = protocolClient?.resolveAuthorName;\n if (typeof resolveAuthorName === \"function\") {\n return normalizeResolvedAuthorName(await resolveAuthorName.call(protocolClient, options));\n }\n\n const resolveAuthorAddress = protocolClient?.resolveAuthorAddress;\n assert(\n typeof resolveAuthorAddress === \"function\",\n \"protocol client resolveAuthorName/resolveAuthorAddress missing\",\n );\n return resolveAuthorAddress.call(protocolClient, { address: options.name });\n};\n\nexport const normalizeOptionsForPkcClient = <T extends Record<string, any> | undefined>(\n options: T,\n): T => {\n if (!options) {\n return options;\n }\n\n const normalized: Record<string, any> = { ...options };\n\n if (normalized.resolveAuthorNames == null && normalized.resolveAuthorAddresses != null) {\n normalized.resolveAuthorNames = normalized.resolveAuthorAddresses;\n }\n\n delete normalized.resolveAuthorAddresses;\n delete normalized.chainProviders;\n delete normalized.nameResolversChainProviders;\n\n return normalized as T;\n};\n\nexport const getPkcClientOptions = <T extends Record<string, any> | undefined>(\n account: any,\n options: T,\n): T => {\n const normalized = normalizeOptionsForPkcClient(options);\n\n if (!normalized) {\n return normalized;\n }\n\n const nameResolvers = buildConfiguredNameResolvers(account, normalized.dataPath);\n if (nameResolvers.length) {\n normalized.nameResolvers = nameResolvers;\n }\n\n return normalized as T;\n};\n\nexport const normalizeAccountProtocolConfig = <T extends Record<string, any> | undefined>(\n account: T,\n defaultChainProviders?: Record<string, any>,\n): T => {\n if (!account) {\n return account;\n }\n\n const nextAccount: Record<string, any> = { ...account };\n const protocolOptions =\n nextAccount.pkcOptions && typeof nextAccount.pkcOptions === \"object\"\n ? { ...nextAccount.pkcOptions }\n : nextAccount.pkcOptions;\n\n const chainProviders =\n nextAccount.chainProviders || protocolOptions?.chainProviders || defaultChainProviders;\n if (chainProviders !== undefined) {\n nextAccount.chainProviders = chainProviders;\n }\n\n if (\n nextAccount.nameResolversChainProviders === undefined &&\n protocolOptions?.nameResolversChainProviders !== undefined\n ) {\n nextAccount.nameResolversChainProviders = protocolOptions.nameResolversChainProviders;\n }\n\n if (protocolOptions && typeof protocolOptions === \"object\") {\n delete protocolOptions.chainProviders;\n delete protocolOptions.nameResolversChainProviders;\n nextAccount.pkcOptions = protocolOptions;\n }\n\n return nextAccount as T;\n};\n\nexport const withProtocolAliases = <T extends Record<string, any>>(\n account: T,\n protocolClient?: any,\n protocolOptions?: any,\n): T => {\n const nextAccount: Record<string, any> = { ...account };\n\n if (protocolClient !== undefined) {\n nextAccount.pkc = protocolClient;\n }\n if (protocolOptions !== undefined) {\n nextAccount.pkcOptions = protocolOptions;\n }\n\n return nextAccount as T;\n};\n\ntype ChallengeAnswersInput = string[] | { challengeAnswers?: string[] } | undefined;\n\nconst publishChallengeAnswersCompatMarker = Symbol.for(\n \"bitsocial-react-hooks.publishChallengeAnswersCompat\",\n);\n\nexport const normalizeChallengeAnswersForPkc = (challengeAnswers: ChallengeAnswersInput) => ({\n challengeAnswers: Array.isArray(challengeAnswers)\n ? challengeAnswers\n : challengeAnswers?.challengeAnswers || [],\n});\n\nexport const withPublishChallengeAnswersCompat = <T>(publication: T): T => {\n const target = publication as Record<string | symbol, any> | undefined;\n if (\n !target ||\n typeof target.publishChallengeAnswers !== \"function\" ||\n target[publishChallengeAnswersCompatMarker]\n ) {\n return publication;\n }\n\n const publishChallengeAnswers = target.publishChallengeAnswers.bind(publication);\n target.publishChallengeAnswers = (challengeAnswers?: ChallengeAnswersInput) =>\n publishChallengeAnswers(normalizeChallengeAnswersForPkc(challengeAnswers));\n target[publishChallengeAnswersCompatMarker] = true;\n\n return publication;\n};\n\nexport * from \"./protocol-compat\";\n"]}
@@ -1062,7 +1062,7 @@ class Publication extends EventEmitter {
1062
1062
  this.emit("challenge", challengeMessage, this);
1063
1063
  });
1064
1064
  }
1065
- publishChallengeAnswers(challengeAnswers) {
1065
+ publishChallengeAnswers(_challengeAnswers) {
1066
1066
  return __awaiter(this, void 0, void 0, function* () {
1067
1067
  yield simulateLoadingTime();
1068
1068
  this.simulateChallengeVerificationEvent();